summaryrefslogtreecommitdiffstats
path: root/abs/core
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2010-10-23 18:17:40 (GMT)
committerJames Meyer <james.meyer@operamail.com>2010-10-23 18:19:39 (GMT)
commitadbcf19958300e9b6598990184c8815b945ba0ee (patch)
treef4283c850ac0ac202c17e78a637ee7ca8147621b /abs/core
parent61a68250df10d29b624650948484898334ff22d0 (diff)
downloadlinhes_pkgbuild-adbcf19958300e9b6598990184c8815b945ba0ee.zip
linhes_pkgbuild-adbcf19958300e9b6598990184c8815b945ba0ee.tar.gz
linhes_pkgbuild-adbcf19958300e9b6598990184c8815b945ba0ee.tar.bz2
Removed old core and extra from repo. Renamed -testing to core/extra. This will setup the base for the testing branch.
Diffstat (limited to 'abs/core')
-rw-r--r--abs/core/LinHES-config/LinHES-release2
-rw-r--r--abs/core/LinHES-config/PKGBUILD7
-rwxr-xr-xabs/core/LinHES-config/checkout_MythVantage.sh8
-rwxr-xr-xabs/core/LinHES-config/mv_install.py4
-rw-r--r--abs/core/alsa-lib/PKGBUILD8
-rw-r--r--abs/core/alsa-lib/python2.5.patch11
-rw-r--r--abs/core/alsa-lib/revert-patch-to-fix-converting-32bit-audio-to-16bit.patch242
-rw-r--r--abs/core/alsa-utils/PKGBUILD20
-rwxr-xr-xabs/core/alsa-utils/alsa4
-rw-r--r--abs/core/alsa-utils/alsaconf.patch15
-rw-r--r--abs/core/apache/PKGBUILD158
-rw-r--r--abs/core/apache/apache.conf.d15
-rw-r--r--abs/core/apache/apachectl-confd.patch15
-rwxr-xr-xabs/core/apache/httpd65
-rw-r--r--abs/core/apache/httpd.install16
-rw-r--r--abs/core/apache/httpd.logrotate1
-rw-r--r--abs/core/apr-util/PKGBUILD17
-rw-r--r--abs/core/apr/PKGBUILD34
-rw-r--r--abs/core/ati-dri/PKGBUILD38
-rw-r--r--abs/core/ati-dri/mesa-7.1-link-shared.patch102
-rw-r--r--abs/core/atk/PKGBUILD14
-rw-r--r--abs/core/aufs-utils/PKGBUILD48
-rw-r--r--abs/core/aufs/PKGBUILD71
-rw-r--r--abs/core/aufs2-util/PKGBUILD25
-rwxr-xr-xabs/core/aufs2-util/create-tarball.sh11
-rw-r--r--abs/core/aufs2/PKGBUILD58
-rw-r--r--abs/core/aufs2/aufs2.install12
-rwxr-xr-xabs/core/aufs2/create-tarball.sh14
-rw-r--r--abs/core/avahi/ChangeLog8
-rw-r--r--abs/core/avahi/PKGBUILD51
-rw-r--r--abs/core/avahi/avahi-daemon-dbus.patch16
-rw-r--r--abs/core/bash/PKGBUILD116
-rw-r--r--abs/core/bash/bash-noinfo.patch12
-rw-r--r--abs/core/bash/enable-system-config-files.patch15
-rw-r--r--abs/core/bash/profile35
-rw-r--r--abs/core/bash/profile.bash18
-rw-r--r--abs/core/bash/system.bashrc31
-rw-r--r--abs/core/bc/PKGBUILD29
-rw-r--r--abs/core/bc/bc-1.06-info-dir-entry.patch11
-rw-r--r--abs/core/bc/bc.install20
-rw-r--r--abs/core/binutils/PKGBUILD88
-rw-r--r--abs/core/binutils/binutils.install13
-rw-r--r--abs/core/cairo/PKGBUILD11
-rw-r--r--abs/core/cloog-ppl/PKGBUILD32
-rw-r--r--abs/core/coreutils/PKGBUILD90
-rw-r--r--abs/core/coreutils/__changelog2
-rw-r--r--abs/core/coreutils/coreutils-6.10-configuration.patch88
-rw-r--r--abs/core/coreutils/coreutils-7.1-cp-recursiveinfloop.patch154
-rw-r--r--abs/core/coreutils/coreutils-7.1-sort-endoffields.patch102
l---------abs/core/coreutils/coreutils-8.5-2-i686.pkg.tar.gz1
-rw-r--r--abs/core/coreutils/coreutils-i18n.patch4065
-rw-r--r--abs/core/coreutils/coreutils-pam.patch241
-rw-r--r--abs/core/coreutils/coreutils-uname.patch30
-rw-r--r--abs/core/coreutils/coreutils.install4
-rw-r--r--abs/core/coreutils/futimes.patch47
-rw-r--r--abs/core/coreutils/su.pam (renamed from abs/core/coreutils/su)0
-rw-r--r--abs/core/cups/PKGBUILD113
-rwxr-xr-xabs/core/cups/cups38
-rw-r--r--abs/core/cups/cups-avahi.patch1088
-rw-r--r--abs/core/cups/cups.install11
-rw-r--r--abs/core/cups/cups.logrotate8
-rw-r--r--abs/core/cups/cups.pam3
-rw-r--r--abs/core/curl/ChangeLog5
-rw-r--r--abs/core/curl/PKGBUILD55
-rw-r--r--abs/core/curl/m4-typo.patch13
-rw-r--r--abs/core/damageproto/PKGBUILD18
-rw-r--r--abs/core/db/PKGBUILD36
-rw-r--r--abs/core/db/db.install30
-rw-r--r--abs/core/dbus-core/PKGBUILD26
-rw-r--r--abs/core/dbus-core/dbus2
-rw-r--r--abs/core/dbus-core/dbus.install19
-rw-r--r--abs/core/dbus-glib/PKGBUILD10
-rw-r--r--abs/core/dbus-python/PKGBUILD18
-rw-r--r--abs/core/dbus/PKGBUILD39
-rw-r--r--abs/core/device-mapper/ChangeLog103
-rw-r--r--abs/core/device-mapper/PKGBUILD82
-rw-r--r--abs/core/device-mapper/device-mapper.rules1
-rw-r--r--abs/core/device-mapper/lvm2_hook25
-rw-r--r--abs/core/device-mapper/lvm2_install30
-rw-r--r--abs/core/dnsutils/PKGBUILD45
-rw-r--r--abs/core/dnsutils/tools-only.patch15
-rw-r--r--abs/core/docutils/PKGBUILD29
-rw-r--r--abs/core/dri2proto/PKGBUILD10
-rw-r--r--abs/core/e2fsprogs/MIT-LICENSE25
-rw-r--r--abs/core/e2fsprogs/PKGBUILD55
-rw-r--r--abs/core/e2fsprogs/e2fsprogs.install23
-rw-r--r--abs/core/eggdbus/PKGBUILD22
-rw-r--r--abs/core/elfutils/PKGBUILD32
-rw-r--r--abs/core/expat/CVE-2009-3560.patch13
-rw-r--r--abs/core/expat/CVE-2009-3720.patch12
-rw-r--r--abs/core/expat/PKGBUILD26
-rw-r--r--abs/core/fbsplash/PKGBUILD103
-rw-r--r--abs/core/fbsplash/__changelog4
-rw-r--r--abs/core/fbsplash/darch.tar.bz2bin1572821 -> 0 bytes
-rw-r--r--abs/core/fbsplash/extra/encrypt_hook.patch24
-rw-r--r--abs/core/fbsplash/fbcondecor.conf6
-rw-r--r--abs/core/fbsplash/fbcondecor.daemon55
-rw-r--r--abs/core/fbsplash/fbsplash-basic.sh201
-rw-r--r--abs/core/fbsplash/fbsplash.bootsteps1
-rw-r--r--abs/core/fbsplash/fbsplash.conf8
-rw-r--r--abs/core/fbsplash/fbsplash.daemon56
-rw-r--r--abs/core/fbsplash/fbsplash.git.patch166
-rw-r--r--abs/core/fbsplash/fbsplash.initcpio_hook102
-rw-r--r--abs/core/fbsplash/fbsplash.initcpio_install117
-rw-r--r--abs/core/fbsplash/fbsplash.inithooks91
-rw-r--r--abs/core/fbsplash/fbsplash.install36
-rw-r--r--abs/core/fbsplash/splash-functions-arch.sh71
-rw-r--r--abs/core/fbsplash/splash-functions.sh618
-rw-r--r--abs/core/fbsplash/splash.conf63
-rw-r--r--abs/core/filesystem/PKGBUILD89
-rw-r--r--abs/core/filesystem/__CHANGELOG2
-rw-r--r--abs/core/filesystem/__changelog2
-rw-r--r--abs/core/filesystem/filesystem.install20
-rw-r--r--abs/core/filesystem/fstab7
-rw-r--r--abs/core/filesystem/group47
-rw-r--r--abs/core/filesystem/gshadow2
-rw-r--r--abs/core/filesystem/ld.so.conf2
-rw-r--r--abs/core/filesystem/nsswitch.conf11
-rw-r--r--abs/core/filesystem/profile3
-rw-r--r--abs/core/filesystem/protocols57
-rw-r--r--abs/core/filesystem/securetty15
-rw-r--r--abs/core/filesystem/services557
-rw-r--r--abs/core/filesystem/shadow14
-rw-r--r--abs/core/fixesproto/PKGBUILD20
-rw-r--r--abs/core/fontconfig/30-urw-aliases.patch13
-rw-r--r--abs/core/fontconfig/PKGBUILD31
-rw-r--r--abs/core/fontconfig/fontconfig.install2
-rw-r--r--abs/core/fontsproto/PKGBUILD18
-rw-r--r--abs/core/freetype2/PKGBUILD31
-rw-r--r--abs/core/gcc-libs/PKGBUILD72
-rw-r--r--abs/core/gcc-libs/buildfix_new_bison.patch22
-rw-r--r--abs/core/gcc-libs/gcc-hash-style-both.patch163
-rw-r--r--abs/core/gcc-libs/gcc_pure64.patch26
-rw-r--r--abs/core/gcc/PKGBUILD248
-rw-r--r--abs/core/gcc/buildfix_new_bison.patch22
-rw-r--r--abs/core/gcc/gcc-ada.install22
-rw-r--r--abs/core/gcc/gcc-fortran.install18
-rw-r--r--abs/core/gcc/gcc-hash-style-both.patch12
-rw-r--r--abs/core/gcc/gcc-java-driver.patch11
-rw-r--r--abs/core/gcc/gcc-libs.install14
-rw-r--r--abs/core/gcc/gcc.install8
-rw-r--r--abs/core/ghostscript/PKGBUILD65
-rw-r--r--abs/core/ghostscript/ghostscript-fPIC.patch8
-rw-r--r--abs/core/ghostscript/ghostscript-pdf2dsc.patch12
-rw-r--r--abs/core/ghostscript/ghostscript-system-jasper.patch26
-rw-r--r--abs/core/ghostscript/ghostscript.install14
-rw-r--r--abs/core/ghostscript/libpng14.patch24
-rw-r--r--abs/core/ghostscript/svn_r10890.patch99
-rw-r--r--abs/core/git/ChangeLog12
-rw-r--r--abs/core/git/PKGBUILD61
-rw-r--r--abs/core/git/git-daemon70
-rw-r--r--abs/core/git/git-daemon.conf4
-rw-r--r--abs/core/glib2/PKGBUILD23
-rw-r--r--abs/core/glibc/ChangeLog39
-rw-r--r--abs/core/glibc/PKGBUILD150
-rw-r--r--abs/core/glibc/fix-makecontext.patch33
-rw-r--r--abs/core/glibc/glibc-2.10-bz4781.patch42
-rw-r--r--abs/core/glibc/glibc-2.10-dont-build-timezone.patch13
-rw-r--r--abs/core/glibc/glibc-__i686.patch13
-rw-r--r--abs/core/glibc/glibc.install131
-rw-r--r--abs/core/glibc/locale.gen438
-rw-r--r--abs/core/gmp/PKGBUILD24
-rw-r--r--abs/core/gmp/gmp.install2
-rw-r--r--abs/core/gnutls/PKGBUILD14
-rw-r--r--abs/core/gnutls/gnutls.install4
-rw-r--r--abs/core/gobject-introspection/PKGBUILD20
-rw-r--r--abs/core/gpm/ChangeLog28
-rw-r--r--abs/core/gpm/PKGBUILD33
-rwxr-xr-xabs/core/gpm/gpm5
-rw-r--r--abs/core/gpm/gpm.conf.d2
-rw-r--r--abs/core/gpm/gpm.install16
-rwxr-xr-xabs/core/gpm/gpm.sh3
-rw-r--r--abs/core/grub-gfx.tar.gzbin0 -> 28009 bytes
-rw-r--r--abs/core/grub-gfx/040_all_grub-0.96-nxstack.patch623
-rw-r--r--abs/core/grub-gfx/05-grub-0.97-initrdaddr.diff16
-rw-r--r--abs/core/grub-gfx/PKGBUILD106
-rw-r--r--abs/core/grub-gfx/ext4.patch263
-rw-r--r--abs/core/grub-gfx/grub-0.97-graphics.patch1293
-rw-r--r--abs/core/grub-gfx/grub-gfx.install46
-rw-r--r--abs/core/grub-gfx/grub-inode-size.patch94
-rw-r--r--abs/core/grub-gfx/i2o.patch45
-rwxr-xr-xabs/core/grub-gfx/install-grub187
-rw-r--r--abs/core/grub-gfx/intelmac.patch67
-rw-r--r--abs/core/grub-gfx/menu.lst47
-rw-r--r--abs/core/grub-gfx/more-raid.patch100
-rw-r--r--abs/core/grub-gfx/special-devices.patch18
-rw-r--r--abs/core/grub-gfx/splash.xpm.gzbin0 -> 4019 bytes
-rw-r--r--abs/core/gtk2/PKGBUILD34
-rw-r--r--abs/core/gtk2/__changelog1
-rw-r--r--abs/core/gtk2/revert_64bit_fix.patch31
-rw-r--r--abs/core/gtk2/xid-collision-debug.patch15
-rw-r--r--abs/core/hal-info/PKGBUILD12
-rw-r--r--abs/core/hal/PKGBUILD104
-rw-r--r--abs/core/hal/dbus-error-init.patch231
-rw-r--r--abs/core/hal/fix-libusb-detection.patch66
-rw-r--r--abs/core/hal/hal-HDAPS-blacklist.patch30
-rw-r--r--abs/core/hal/hal-KVM-evdev.patch36
-rw-r--r--abs/core/hal/hal-remove-dell-killswitch.patch201
-rw-r--r--abs/core/hal/hal-use-at-console.patch45
-rw-r--r--abs/core/hal/hal-xen-unignore-axes.patch39
-rw-r--r--abs/core/hal/hal.install15
-rw-r--r--abs/core/hal/handle-input-touchpad.patch101
-rw-r--r--abs/core/hal/macbook-fix-ioperm.patch41
-rw-r--r--abs/core/hal/path-max.patch31
-rw-r--r--abs/core/heimdal/001_all_heimdal-no_libedit.patch10
-rw-r--r--abs/core/heimdal/002_all_heimal-fPIC.patch12
-rw-r--r--abs/core/heimdal/003_all_heimdal-rxapps.patch22
-rw-r--r--abs/core/heimdal/005_all_heimdal-suid_fix.patch20
-rw-r--r--abs/core/heimdal/012_all_heimdal-berkdb.patch124
-rw-r--r--abs/core/heimdal/013_all_heimdal-pthread-lib.patch11
-rw-r--r--abs/core/heimdal/014_all_heimdal-path.patch50
-rw-r--r--abs/core/heimdal/PKGBUILD96
-rw-r--r--abs/core/iana-etc/Makefile.patch11
-rw-r--r--abs/core/iana-etc/PKGBUILD31
-rw-r--r--abs/core/imagemagick/ChangeLog106
-rw-r--r--abs/core/imagemagick/PKGBUILD93
-rw-r--r--abs/core/imagemagick/add_delegate.patch8
-rw-r--r--abs/core/imagemagick/perlmagick.rpath.patch10
-rw-r--r--abs/core/imlib2/PKGBUILD44
-rw-r--r--abs/core/initscripts/PKGBUILD32
-rw-r--r--abs/core/initscripts/initscripts.install28
-rw-r--r--abs/core/initscripts/rc.shutdown.patch28
-rw-r--r--abs/core/initscripts/rc.sysinit.patch18
-rw-r--r--abs/core/inputproto/PKGBUILD12
-rw-r--r--abs/core/intel-dri/PKGBUILD43
-rw-r--r--abs/core/intel-dri/intel-disable-ttm-warning.patch13
-rw-r--r--abs/core/intel-dri/intel-revert-vbl.patch21
-rw-r--r--abs/core/intel-dri/mesa-7.1-link-shared.patch102
-rw-r--r--abs/core/iproute2/PKGBUILD35
-rw-r--r--abs/core/iproute2/iproute2-fhs.patch57
-rw-r--r--abs/core/iproute2/tc.patch26
-rw-r--r--abs/core/ipw2100-fw/PKGBUILD39
-rw-r--r--abs/core/ipw2200-fw/PKGBUILD45
-rw-r--r--abs/core/iwlwifi-3945-ucode/PKGBUILD28
-rw-r--r--abs/core/iwlwifi-4965-ucode/PKGBUILD26
-rw-r--r--abs/core/jasper/PKGBUILD47
-rw-r--r--abs/core/jasper/jasper-1.900.1-CVE-2008-3520.patch928
-rw-r--r--abs/core/jasper/jasper-1.900.1-CVE-2008-3522.patch14
-rw-r--r--abs/core/jasper/jpc_dec.c.patch18
-rw-r--r--abs/core/jasper/patch-libjasper-stepsizes-overflow.diff14
-rw-r--r--abs/core/kbproto/PKGBUILD17
-rw-r--r--abs/core/kernel-headers/PKGBUILD30
-rw-r--r--abs/core/kernel-headers/netfilter-includes.patch91
-rw-r--r--abs/core/kernel-headers/serial.diff13
-rw-r--r--abs/core/kernel26.orig/PKGBUILD242
-rw-r--r--abs/core/kernel26.orig/config4957
-rw-r--r--abs/core/kernel26.orig/config.x86_644761
-rw-r--r--abs/core/kernel26.orig/coretemp.patch (renamed from abs/core/kernel26/coretemp.patch)0
-rw-r--r--abs/core/kernel26.orig/ext4.patch (renamed from abs/core/kernel26/ext4.patch)0
-rw-r--r--abs/core/kernel26.orig/kernel26.install147
-rw-r--r--abs/core/kernel26.orig/kernel26.preset17
-rw-r--r--abs/core/kernel26.orig/logo_linux_clut224.ppm (renamed from abs/core/kernel26/logo_linux_clut224.ppm)0
-rw-r--r--abs/core/kernel26.orig/logo_linux_mono.pbm (renamed from abs/core/kernel26/logo_linux_mono.pbm)0
-rw-r--r--abs/core/kernel26.orig/logo_linux_vga16.ppm (renamed from abs/core/kernel26/logo_linux_vga16.ppm)0
-rw-r--r--abs/core/kernel26.orig/serial.diff (renamed from abs/core/kernel26/serial.diff)0
-rw-r--r--abs/core/kernel26/PKGBUILD207
-rw-r--r--abs/core/kernel26/config1660
-rw-r--r--abs/core/kernel26/config.arch4955
-rw-r--r--abs/core/kernel26/config.x86_641609
-rw-r--r--abs/core/kernel26/fbcondecor-2.6.34-fix.patch19
-rw-r--r--abs/core/kernel26/kernel26.install27
-rw-r--r--abs/core/kernel26/kernel26.preset2
-rw-r--r--abs/core/klibc-extras/PKGBUILD23
-rw-r--r--abs/core/klibc-kbd/PKGBUILD48
-rw-r--r--abs/core/klibc-kbd/keymap_hook27
-rw-r--r--abs/core/klibc-kbd/keymap_install76
-rw-r--r--abs/core/klibc-kbd/no-exit.patch31
-rw-r--r--abs/core/klibc-kbd/no-fflush.patch14
-rw-r--r--abs/core/klibc-kbd/no-isatty.patch58
-rw-r--r--abs/core/klibc-module-init-tools/PKGBUILD25
-rw-r--r--abs/core/klibc-module-init-tools/fix-modprobe-ignore-path.patch14
-rw-r--r--abs/core/klibc-module-init-tools/makefile.patch54
-rw-r--r--abs/core/klibc-udev/50-udev-default.rules5
-rw-r--r--abs/core/klibc-udev/60-persistent-storage.rules47
-rw-r--r--abs/core/klibc-udev/64-device-mapper.rules4
-rw-r--r--abs/core/klibc-udev/64-md-raid.rules18
-rw-r--r--abs/core/klibc-udev/80-drivers.rules7
-rw-r--r--abs/core/klibc-udev/PKGBUILD59
-rw-r--r--abs/core/klibc-udev/disable-uid-gid-lookup.patch33
-rw-r--r--abs/core/klibc-udev/klibc-remove-revert.patch111
-rwxr-xr-xabs/core/klibc-udev/load-modules.sh51
-rw-r--r--abs/core/klibc-udev/post-107.patch176
-rwxr-xr-xabs/core/klibc-udev/start_udev115
-rw-r--r--abs/core/klibc-udev/udev-fix-klibc-build.patch48
-rw-r--r--abs/core/klibc-udev/udev.rules187
-rw-r--r--abs/core/klibc-udev/udev_hook10
-rw-r--r--abs/core/klibc-udev/udev_install29
-rw-r--r--abs/core/klibc-udev/vol_id-suspend2.patch15
-rw-r--r--abs/core/klibc/PKGBUILD56
-rw-r--r--abs/core/klibc/klibc-2.6.24.patch44
-rw-r--r--abs/core/klibc/klibc-Kbuild.patch80
-rw-r--r--abs/core/klibc/klibc-compile-shared-by-default.patch12
-rw-r--r--abs/core/klibc/klibc-fix-2.6.28-includes.patch12
-rw-r--r--abs/core/klibc/klibc-module-init-tools.patch63
-rw-r--r--abs/core/klibc/klibc-x86_64-fix-io.h.patch28
-rw-r--r--abs/core/klibc/multiple_raid_assembly_fix.patch20
-rw-r--r--abs/core/lcms/PKGBUILD22
-rw-r--r--abs/core/libarchive/PKGBUILD33
-rw-r--r--abs/core/libcups/PKGBUILD33
-rw-r--r--abs/core/libdatrie/PKGBUILD6
-rw-r--r--abs/core/libdownload/PKGBUILD21
-rw-r--r--abs/core/libdownload/largefiles.patch12
-rw-r--r--abs/core/libdrm/COPYING48
-rw-r--r--abs/core/libdrm/PKGBUILD36
-rw-r--r--abs/core/libdrm/libdrm-2.4.21-b803918f3f.patch506
-rw-r--r--abs/core/libdrm/no-pthread-stubs.patch65
-rw-r--r--abs/core/libfetch/Makefile9
-rw-r--r--abs/core/libfetch/PKGBUILD24
l---------abs/core/libfetch/libfetch-2.33-1-i686.pkg.tar.gz1
-rw-r--r--abs/core/libfontenc/PKGBUILD21
-rw-r--r--abs/core/libgcrypt/PKGBUILD31
-rw-r--r--abs/core/libgl/PKGBUILD40
-rw-r--r--abs/core/libgl/mesa-7.1-link-shared.patch102
-rw-r--r--abs/core/libgpg-error/PKGBUILD21
-rw-r--r--abs/core/libjpeg/PKGBUILD15
-rw-r--r--abs/core/libldap/PKGBUILD74
-rw-r--r--abs/core/libldap/ntlm.patch139
-rw-r--r--abs/core/libmpc/PKGBUILD28
-rw-r--r--abs/core/libmpc/libmpc.install20
-rw-r--r--abs/core/libpciaccess/PKGBUILD10
-rw-r--r--abs/core/libpng/PKGBUILD48
-rw-r--r--abs/core/libraw1394/PKGBUILD19
-rw-r--r--abs/core/libraw1394/libraw1394.install18
-rw-r--r--abs/core/libtasn1/PKGBUILD22
-rw-r--r--abs/core/libthai/PKGBUILD10
-rw-r--r--abs/core/libtiff/ChangeLog27
-rw-r--r--abs/core/libtiff/PKGBUILD43
-rw-r--r--abs/core/libtiff/libtiff-CVE-2009-2285.patch22
-rw-r--r--abs/core/libtool/PKGBUILD34
l---------abs/core/libtool/libtool-2.2.10-3-i686.pkg.tar.gz1
-rw-r--r--abs/core/libtool/libtool.install6
-rw-r--r--abs/core/libx11/PKGBUILD24
-rw-r--r--abs/core/libxau/PKGBUILD19
-rw-r--r--abs/core/libxaw/PKGBUILD14
-rw-r--r--abs/core/libxcb/PKGBUILD12
-rw-r--r--abs/core/libxcb/libxcb-1.1-no-pthread-stubs.patch2
-rw-r--r--abs/core/libxdamage/PKGBUILD24
-rw-r--r--abs/core/libxext/PKGBUILD18
-rw-r--r--abs/core/libxfixes/PKGBUILD23
-rw-r--r--abs/core/libxfont/PKGBUILD26
-rw-r--r--abs/core/libxfontcache/LICENSE100
-rw-r--r--abs/core/libxfontcache/PKGBUILD21
-rw-r--r--abs/core/libxft/PKGBUILD14
-rw-r--r--abs/core/libxi/PKGBUILD16
-rw-r--r--abs/core/libxml-perl/PKGBUILD23
-rw-r--r--abs/core/libxml2/PKGBUILD13
-rw-r--r--abs/core/libxt/PKGBUILD19
-rw-r--r--abs/core/libxv/PKGBUILD12
-rw-r--r--abs/core/libxvmc/LICENSE23
-rw-r--r--abs/core/libxvmc/PKGBUILD20
-rw-r--r--abs/core/libxxf86dga/PKGBUILD24
-rw-r--r--abs/core/libxxf86misc/PKGBUILD16
-rw-r--r--abs/core/libxxf86vm/PKGBUILD18
-rw-r--r--abs/core/linhes-scripts/PKGBUILD4
-rwxr-xr-xabs/core/linhes-scripts/removecommercials.sh50
-rw-r--r--abs/core/linux-api-headers/PKGBUILD43
l---------abs/core/linux-api-headers/linux-api-headers-2.6.34-1-i686.pkg.tar.gz1
-rw-r--r--abs/core/linux-api-headers/scsi.patch42
-rw-r--r--abs/core/linux-firmware/PKGBUILD62
-rw-r--r--abs/core/linuxtv-dvb-apps/PKGBUILD2
-rw-r--r--abs/core/lirc-utils/PKGBUILD73
-rw-r--r--abs/core/lirc-utils/irexec.conf5
-rwxr-xr-xabs/core/lirc-utils/irexecd38
-rw-r--r--abs/core/lirc-utils/kernel-2.6.33.patch475
-rw-r--r--abs/core/lirc-utils/lirc.logrotate3
-rw-r--r--abs/core/lirc-utils/lirc_patch270
-rwxr-xr-xabs/core/lirc-utils/lircd12
-rw-r--r--abs/core/lirc-utils/lircd.conf (renamed from abs/core/lirc-utils/lircd.conf.d)0
-rw-r--r--abs/core/lirc/PKGBUILD68
-rw-r--r--abs/core/lirc/kernel-2.6.33.patch475
-rw-r--r--abs/core/lirc/lirc.install6
-rw-r--r--abs/core/lirc_085-utils/PKGBUILD72
-rwxr-xr-xabs/core/lirc_085-utils/hw_commandir.c (renamed from abs/core/lirc/hw_commandir.c)0
-rwxr-xr-xabs/core/lirc_085-utils/hw_commandir.h (renamed from abs/core/lirc/hw_commandir.h)0
-rw-r--r--abs/core/lirc_085-utils/kernel-2.6.26.patch (renamed from abs/core/lirc/kernel-2.6.26.patch)0
-rw-r--r--abs/core/lirc_085-utils/lirc.logrotate8
-rw-r--r--abs/core/lirc_085-utils/lirc_atiusb.patch (renamed from abs/core/lirc/lirc_atiusb.patch)0
-rwxr-xr-xabs/core/lirc_085-utils/lircd43
-rw-r--r--abs/core/lirc_085-utils/lircd.conf.d8
-rwxr-xr-x[-rw-r--r--]abs/core/lirc_085-utils/lircmd (renamed from abs/core/mythtv/stable/mythvideo/mtd)16
-rw-r--r--abs/core/lirc_085/PKGBUILD86
-rw-r--r--abs/core/lirc_085/dvicoIR.rules (renamed from abs/core/lirc/dvicoIR.rules)0
-rwxr-xr-xabs/core/lirc_085/hw_commandir.c (renamed from abs/core/lirc-utils/hw_commandir.c)0
-rwxr-xr-xabs/core/lirc_085/hw_commandir.h (renamed from abs/core/lirc-utils/hw_commandir.h)0
-rw-r--r--abs/core/lirc_085/kernel-2.6.26.patch (renamed from abs/core/lirc-utils/kernel-2.6.26.patch)0
-rw-r--r--abs/core/lirc_085/kernel-2.6.27.patch (renamed from abs/core/lirc/kernel-2.6.27.patch)0
-rw-r--r--abs/core/lirc_085/lirc.fdi (renamed from abs/core/lirc/lirc.fdi)0
-rw-r--r--abs/core/lirc_085/lirc.install (renamed from abs/core/aufs/aufs.install)21
-rw-r--r--abs/core/lirc_085/lirc_atiusb.patch (renamed from abs/core/lirc-utils/lirc_atiusb.patch)0
-rw-r--r--abs/core/lirc_085/lirc_mod_mce.patch (renamed from abs/core/lirc/lirc_mod_mce.patch)0
-rw-r--r--abs/core/local-website/PKGBUILD2
-rw-r--r--abs/core/local-website/htdocs/layout.css29
-rw-r--r--abs/core/local-website/htdocs/style.css227
-rw-r--r--abs/core/lvm2/ChangeLog103
-rw-r--r--abs/core/lvm2/PKGBUILD83
-rw-r--r--abs/core/lvm2/lvm2_hook17
-rw-r--r--abs/core/lvm2/lvm2_install15
-rw-r--r--abs/core/madwifi-utils/PKGBUILD14
-rw-r--r--abs/core/madwifi/PKGBUILD20
-rw-r--r--abs/core/madwifi/kernel-2.6.30.patch14
-rw-r--r--abs/core/madwifi/madwifi-ng.install21
-rwxr-xr-xabs/core/mdadm/mdadm37
-rw-r--r--abs/core/mesa/LICENSE82
-rw-r--r--abs/core/mesa/PKGBUILD188
-rw-r--r--abs/core/mesa/nouveau_class.h9019
-rw-r--r--abs/core/mkinitcpio-busybox/PKGBUILD37
-rw-r--r--abs/core/mkinitcpio-busybox/config922
-rw-r--r--abs/core/mkinitcpio-busybox/loadfont-setfont-optional-psf2-font-support.patch453
-rw-r--r--abs/core/mkinitcpio/PKGBUILD39
-rw-r--r--abs/core/mkinitcpio/mkinitcpio.conf.diff9
-rw-r--r--abs/core/module-init-tools/PKGBUILD56
-rw-r--r--abs/core/module-init-tools/modprobe.conf2
-rw-r--r--abs/core/mpfr/PKGBUILD27
-rw-r--r--abs/core/mpfr/mpfr.install2
-rw-r--r--abs/core/mysql-clients/PKGBUILD37
-rw-r--r--abs/core/mysql-python/PKGBUILD19
-rw-r--r--abs/core/mysql/PKGBUILD153
-rw-r--r--abs/core/mysql/__changelog15
-rw-r--r--abs/core/mysql/my.cnf18
-rw-r--r--abs/core/mysql/mysql-no-clients.patch65
-rw-r--r--abs/core/mysql/mysql.install20
-rwxr-xr-xabs/core/mysql/mysqld67
-rw-r--r--abs/core/mysql/mysqld.conf.d1
-rw-r--r--abs/core/mysql/skip-abi-check.patch13
-rwxr-xr-xabs/core/mythdb-initial/PKGBUILD8
-rwxr-xr-xabs/core/mythdb-initial/mythdb.install6
-rw-r--r--abs/core/mythinstall/PKGBUILD4
-rwxr-xr-xabs/core/mythinstall/checkout_MythVantage.sh2
-rwxr-xr-xabs/core/mythtv/stable-0.23/mythtv/PKGBUILD20
-rw-r--r--abs/core/mythtv/stable/glass-wide/PKGBUILD15
-rw-r--r--abs/core/mythtv/stable/linhes-theme/PKGBUILD17
-rw-r--r--abs/core/mythtv/stable/morethemes/PKGBUILD32
-rw-r--r--abs/core/mythtv/stable/mytharchive/PKGBUILD35
-rw-r--r--abs/core/mythtv/stable/mythbrowser/PKGBUILD33
-rw-r--r--abs/core/mythtv/stable/mythcontrols/PKGBUILD32
-rwxr-xr-xabs/core/mythtv/stable/mythdb-initial/PKGBUILD21
-rw-r--r--abs/core/mythtv/stable/mythdb-initial/__changelog25
-rw-r--r--abs/core/mythtv/stable/mythdb-initial/mc.sql2835
-rwxr-xr-xabs/core/mythtv/stable/mythdb-initial/mythdb.install31
-rwxr-xr-xabs/core/mythtv/stable/mythdb-initial/permissions.sql11
-rw-r--r--abs/core/mythtv/stable/mythflix/PKGBUILD41
-rw-r--r--abs/core/mythtv/stable/mythgallery/PKGBUILD33
-rw-r--r--abs/core/mythtv/stable/mythgame/PKGBUILD32
-rw-r--r--abs/core/mythtv/stable/mythmovies/PKGBUILD33
-rw-r--r--abs/core/mythtv/stable/mythmusic/PKGBUILD35
-rw-r--r--abs/core/mythtv/stable/mythmusic/music_flac.patch293
-rw-r--r--abs/core/mythtv/stable/mythmusic/mythmusic-0.21.patch22
-rw-r--r--abs/core/mythtv/stable/mythnews/PKGBUILD32
-rw-r--r--abs/core/mythtv/stable/mythphone/PKGBUILD32
-rw-r--r--abs/core/mythtv/stable/mythsmolt/PKGBUILD26
-rw-r--r--abs/core/mythtv/stable/mythstream/PKGBUILD35
-rw-r--r--abs/core/mythtv/stable/mythstream/mythstream.diff79
-rw-r--r--abs/core/mythtv/stable/mythstream/mythstream.install23
-rw-r--r--abs/core/mythtv/stable/myththemes/PKGBUILD33
-rw-r--r--abs/core/mythtv/stable/mythtv/2.6.28_dvb_api_version.diff22
-rw-r--r--abs/core/mythtv/stable/mythtv/PKGBUILD98
-rw-r--r--abs/core/mythtv/stable/mythtv/QUICKSTART.archlinux69
-rw-r--r--abs/core/mythtv/stable/mythtv/gnome_screensaver.patch18
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/HOST_SETTINGS.xml94
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/is.xml3
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/library.xml.patch15
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/linhes.xml60
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/mainmenu.xml.patch39
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/mythbackup.xml20
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/mythrestore.xml20
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/optical_menu.xml.patch15
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/original/create_patch.sh5
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/setup.xml111
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/siriusmenu.xml419
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/update.xml20
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/update2.xml26
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/util_menu.xml.patch17
-rw-r--r--abs/core/mythtv/stable/mythtv/menu-xml/xmmenu.xml574
-rw-r--r--abs/core/mythtv/stable/mythtv/mpegpspatch66
-rwxr-xr-xabs/core/mythtv/stable/mythtv/mythbackend38
-rw-r--r--abs/core/mythtv/stable/mythtv/mythbackend.lr9
-rw-r--r--abs/core/mythtv/stable/mythtv/mythfrontend.lr9
-rw-r--r--abs/core/mythtv/stable/mythtv/myththemedmenu.cpp.patch125
-rw-r--r--abs/core/mythtv/stable/mythtv/myththemedmenu.h.patch25
-rw-r--r--abs/core/mythtv/stable/mythtv/mythtv.install55
-rw-r--r--abs/core/mythtv/stable/mythtv/pretty2
-rw-r--r--abs/core/mythtv/stable/mythtv/smolt_jump.patch9
-rw-r--r--abs/core/mythtv/stable/mythvideo/PKGBUILD41
-rw-r--r--abs/core/mythtv/stable/mythvideo/mythvideo-6338-use_tmdb_in_fixes.patch151
-rw-r--r--abs/core/mythtv/stable/mythvideo/mythvideo.install20
-rw-r--r--abs/core/mythtv/stable/mythweather/PKGBUILD32
-rw-r--r--abs/core/mythtv/stable/mythweb/PKGBUILD39
-rw-r--r--abs/core/mythtv/stable/mythweb/mythweb.install13
-rw-r--r--abs/core/mythtv/stable/mythweb/patch/2923-mythweb-gallery-English_GB_lang.diff102
-rw-r--r--abs/core/mythtv/stable/mythweb/patch/icons.tar.gzbin14759 -> 0 bytes
-rw-r--r--abs/core/mythtv/stable/mythweb/patch/mythweb.pl.diff23
-rw-r--r--abs/core/mythtv/stable/mythweb/patch/mythweb_gallery_updated1.diff1657
-rw-r--r--abs/core/mythtv/stable/mythweb/transcoders.patch23
-rw-r--r--abs/core/mythtv/stable/mythweb/wiiweb.tar.bz2bin23648 -> 0 bytes
-rw-r--r--abs/core/mythtv/stable/mythzoneminder/PKGBUILD32
-rw-r--r--abs/core/mythtv/trunk/mythflix/PKGBUILD50
-rw-r--r--abs/core/ndiswrapper-utils/PKGBUILD21
-rw-r--r--abs/core/ndiswrapper/PKGBUILD22
-rw-r--r--abs/core/ndiswrapper/ndiswrapper.install17
-rw-r--r--abs/core/netcfg/PKGBUILD25
-rw-r--r--abs/core/ntfs-3g/25-ntfs-config-write-policy.fdi42
-rw-r--r--abs/core/ntfs-3g/PKGBUILD34
-rw-r--r--abs/core/ntfsprogs/PKGBUILD24
-rwxr-xr-xabs/core/ntp/PKGBUILD97
-rw-r--r--abs/core/ntp/fix-ipv6.patch10
-rw-r--r--abs/core/ntp/ntp-4.2.4-html2man.patch183
-rw-r--r--abs/core/ntp/ntp-4.2.4_p7-nano.patch20
-rwxr-xr-xabs/core/ntp/ntp-client.conf4
-rwxr-xr-xabs/core/ntp/ntp.conf80
-rwxr-xr-xabs/core/ntp/ntpd3
-rw-r--r--abs/core/nvidia-173xx-utils/20-nvidia.conf5
-rw-r--r--abs/core/nvidia-173xx-utils/PKGBUILD22
-rw-r--r--abs/core/nvidia-173xx/PKGBUILD22
-rw-r--r--abs/core/nvidia-173xx/nvidia.install4
-rw-r--r--abs/core/nvidia-96xx-utils/nvidia-96xx.install22
-rw-r--r--abs/core/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch87
-rw-r--r--abs/core/nvidia-96xx/PKGBUILD9
-rw-r--r--abs/core/nvidia-96xx/nvidia-96xx.install22
-rw-r--r--abs/core/nvidia-96xx/nvidia.install4
-rw-r--r--abs/core/nvidia-utils/20-nvidia.conf1
-rw-r--r--abs/core/nvidia-utils/PKGBUILD143
-rw-r--r--abs/core/nvidia-utils/nvidia.install41
-rw-r--r--abs/core/nvidia/NVIDIA_kernel-169.12-2286310.diff637
-rw-r--r--abs/core/nvidia/PKGBUILD37
-rw-r--r--abs/core/nvidia/nvidia.install20
-rw-r--r--abs/core/openssh/PKGBUILD67
-rwxr-xr-xabs/core/openssh/sshd3
-rw-r--r--abs/core/openssh/sshd.patch42
-rw-r--r--abs/core/openssh/sshd_config.diff0
-rw-r--r--abs/core/openssl/PKGBUILD52
-rw-r--r--abs/core/openssl/ca-dir.patch33
-rw-r--r--abs/core/openssl/fix-manpages.patch1887
-rw-r--r--abs/core/openssl/no-rpath.patch11
-rw-r--r--abs/core/pacman-mirrorlist/PKGBUILD26
-rw-r--r--abs/core/pacman-mirrorlist/mirrorlist384
-rw-r--r--abs/core/pacman/PKGBUILD32
-rw-r--r--abs/core/pacman/makepkg.conf10
-rw-r--r--abs/core/pacman/old/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch32
-rw-r--r--abs/core/pacman/old/PKGBUILD74
-rw-r--r--abs/core/pacman/old/makepkg.conf115
-rw-r--r--abs/core/pacman/old/mirrorlist (renamed from abs/core/pacman/mirrorlist)0
-rw-r--r--abs/core/pacman/old/pacman.conf84
-rw-r--r--abs/core/pacman/old/pacman.install53
l---------abs/core/pacman/pacman-3.4.1-1-i686.pkg.tar.gz1
-rw-r--r--abs/core/pacman/pacman.conf9
-rw-r--r--abs/core/pacman/pacman.conf.x86_6484
-rw-r--r--abs/core/pacman/pacman.install10
-rw-r--r--abs/core/pango/PKGBUILD16
-rw-r--r--abs/core/pango/pango.install5
-rw-r--r--abs/core/parted/PKGBUILD37
-rw-r--r--abs/core/parted/__changelog2
-rw-r--r--abs/core/parted/parted-1.7.1-fix-seg.patch13
-rw-r--r--abs/core/parted/parted.install18
-rw-r--r--abs/core/pcre/ChangeLog24
-rw-r--r--abs/core/pcre/PKGBUILD38
-rw-r--r--abs/core/perl-xml-dom/PKGBUILD23
-rw-r--r--abs/core/perlxml/PKGBUILD29
-rw-r--r--abs/core/php/php.install4
-rw-r--r--abs/core/pixman/PKGBUILD10
-rw-r--r--abs/core/pkg-config/PKGBUILD32
-rw-r--r--abs/core/pkg-config/autoconf-2.66.patch12
-rw-r--r--abs/core/pkgconfig/PKGBUILD22
-rw-r--r--abs/core/pm-utils/PKGBUILD38
-rw-r--r--abs/core/ppl/PKGBUILD27
-rw-r--r--abs/core/ppl/ppl-0.10.2-gmp-5.0.patch30
-rw-r--r--abs/core/procinfo-ng/PKGBUILD38
-rw-r--r--abs/core/procinfo/PKGBUILD22
-rw-r--r--abs/core/procinfo/procinfo-19.2.patch325
-rw-r--r--abs/core/python-decorator/LICENSE.txt26
-rw-r--r--abs/core/python-decorator/PKGBUILD29
-rwxr-xr-xabs/core/python-iplib/PKGBUILD5
-rw-r--r--abs/core/python-parted/PKGBUILD11
-rw-r--r--abs/core/python/PKGBUILD36
-rw-r--r--abs/core/python/python-2.6-db-4.8.patch123
-rw-r--r--[-rwxr-xr-x]abs/core/qt/PKGBUILD103
-rw-r--r--abs/core/qt/assistant.desktop2
-rw-r--r--abs/core/qt/ca-certificates.patch25
-rw-r--r--abs/core/qt/designer.desktop2
-rw-r--r--abs/core/qt/linguist.desktop2
-rw-r--r--abs/core/qt/qdoc3.patch25
-rw-r--r--abs/core/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch (renamed from abs/core/qt/QtWebKit_Flash.patch)91
-rw-r--r--abs/core/qt/qt.install11
-rw-r--r--abs/core/qt/qtconfig.desktop2
-rw-r--r--abs/core/readline/PKGBUILD60
-rw-r--r--abs/core/readline/readline.install4
-rw-r--r--abs/core/reiserfsprogs/PKGBUILD32
-rw-r--r--abs/core/rpcbind/PKGBUILD26
-rwxr-xr-xabs/core/rpcbind/rpcbind39
-rw-r--r--abs/core/rsync/ChangeLog20
-rw-r--r--abs/core/rt2500/PKGBUILD33
-rw-r--r--abs/core/rt2500/kernel-2.6.22.patch24125
-rw-r--r--abs/core/rt2500/kernel-2.6.24.patch20
-rw-r--r--abs/core/rt2500/kernel-2.6.27.patch64
-rw-r--r--abs/core/rt2500/rt2500.install26
-rw-r--r--abs/core/rt2x00-rt61-fw/PKGBUILD18
-rw-r--r--abs/core/rt2x00-rt71w-fw/PKGBUILD17
-rwxr-xr-xabs/core/runit-scripts/PKGBUILD5
-rwxr-xr-xabs/core/runit-scripts/fbsplash-runit.sh35
-rwxr-xr-xabs/core/runit-scripts/runitscripts/11
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/mdadm/finish17
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/mysql/run4
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/tty2/run2
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/tty3/run2
-rw-r--r--abs/core/smbclient/PKGBUILD57
-rw-r--r--abs/core/sqlite3/PKGBUILD19
-rw-r--r--abs/core/squashfs-tools/PKGBUILD21
-rw-r--r--abs/core/squashfs-tools/mksquashfs-fix-race.patch23
-rwxr-xr-xabs/core/system-templates/PKGBUILD2
-rw-r--r--abs/core/tiacx-firmware/PKGBUILD22
-rw-r--r--abs/core/tiacx-firmware/tiacx-firmware.install4
-rw-r--r--abs/core/tiacx/PKGBUILD25
-rw-r--r--abs/core/tiacx/acx.install16
-rw-r--r--abs/core/tiacx/kernel-2.6.30.patch16
-rw-r--r--abs/core/tiacx/kernel-2.6.31.patch88
-rw-r--r--abs/core/tiacx/kernel-2.6.33.patch11
-rw-r--r--abs/core/udev/81-arch.rules94
-rw-r--r--abs/core/udev/PKGBUILD149
-rw-r--r--abs/core/udev/__changelog1
-rw-r--r--abs/core/udev/arch-udev-rules.patch172
-rwxr-xr-xabs/core/udev/cdsymlinks.sh11
-rwxr-xr-xabs/core/udev/load-modules.sh12
-rw-r--r--abs/core/udev/logitech-rules.patch14
-rw-r--r--abs/core/udev/mount-usb51
-rw-r--r--abs/core/udev/readme-udev-arch.txt266
-rw-r--r--abs/core/udev/resolve-modalias.c62
-rwxr-xr-xabs/core/udev/start_udev137
-rw-r--r--abs/core/udev/udev-ntfs-3g.patch217
-rw-r--r--abs/core/udev/udev.install23
-rw-r--r--abs/core/udev/udev.rules456
-rw-r--r--abs/core/udev/usb-storage.rules4
-rw-r--r--abs/core/unichrome-dri/PKGBUILD38
-rw-r--r--abs/core/unichrome-dri/mesa-7.1-link-shared.patch102
-rw-r--r--abs/core/unzip/unzip-5.5.2-CVE-2008-0888.patch50
-rw-r--r--abs/core/unzip/unzip-5.50-alt-iconv-v1.2-utf8.patch430
-rw-r--r--abs/core/unzip/unzip542-size-64bit.patch72
-rw-r--r--abs/core/util-linux-ng/PKGBUILD56
-rw-r--r--abs/core/util-linux-ng/cryptoloop-support.patch4649
-rw-r--r--abs/core/util-linux-ng/fix-findmnt.patch24
-rw-r--r--abs/core/util-linux-ng/util-linux-ng-2.14-20080624.diff6826
-rw-r--r--abs/core/util-linux-ng/util-linux-ng-cfdisk.patch57
-rw-r--r--abs/core/util-linux-ng/util-linux-ng-nilfs2.patch276
-rw-r--r--abs/core/util-linux-ng/util-linux-ng.install2
-rw-r--r--abs/core/vdpinfo-71xx/PKGBUILD25
-rwxr-xr-xabs/core/vdpinfo-71xx/vdpinfo2
-rw-r--r--abs/core/vdpinfo-96xx/PKGBUILD25
-rwxr-xr-xabs/core/vdpinfo-96xx/vdpinfo2
-rw-r--r--abs/core/vdpinfo/PKGBUILD35
-rw-r--r--abs/core/wget/PKGBUILD20
l---------abs/core/wget/wget-1.12-2-i686.pkg.tar.gz1
-rw-r--r--abs/core/wget/wget.install20
-rw-r--r--abs/core/wpa_supplicant/PKGBUILD21
-rw-r--r--abs/core/wpa_supplicant/config9
-rw-r--r--abs/core/xcb-proto/PKGBUILD8
-rw-r--r--abs/core/xcb-util/LICENSE267
-rw-r--r--abs/core/xcb-util/PKGBUILD15
-rw-r--r--abs/core/xcursor-themes/LICENSE24
-rw-r--r--abs/core/xcursor-themes/PKGBUILD18
-rw-r--r--abs/core/xextproto/PKGBUILD10
-rw-r--r--abs/core/xf86-input-calcomp/PKGBUILD22
-rw-r--r--abs/core/xf86-input-citron/PKGBUILD24
-rw-r--r--abs/core/xf86-input-digitaledge/PKGBUILD22
-rw-r--r--abs/core/xf86-input-dmc/PKGBUILD22
-rw-r--r--abs/core/xf86-input-dynapro/PKGBUILD22
-rw-r--r--abs/core/xf86-input-elo2300/PKGBUILD22
-rw-r--r--abs/core/xf86-input-evdev/PKGBUILD13
-rw-r--r--abs/core/xf86-input-jamstudio/PKGBUILD22
-rw-r--r--abs/core/xf86-input-magellan/PKGBUILD22
-rw-r--r--abs/core/xf86-input-magictouch/PKGBUILD22
-rw-r--r--abs/core/xf86-input-microtouch/PKGBUILD22
-rw-r--r--abs/core/xf86-input-palmax/PKGBUILD22
-rw-r--r--abs/core/xf86-input-spaceorb/PKGBUILD23
-rw-r--r--abs/core/xf86-input-summa/PKGBUILD22
-rw-r--r--abs/core/xf86-input-tek4957/PKGBUILD22
-rw-r--r--abs/core/xf86-input-ur98/PKGBUILD22
-rw-r--r--abs/core/xf86-video-apm/LICENSE92
-rw-r--r--abs/core/xf86-video-apm/PKGBUILD22
-rw-r--r--abs/core/xf86-video-ark/LICENSE48
-rw-r--r--abs/core/xf86-video-ark/PKGBUILD21
-rw-r--r--abs/core/xf86-video-ati/PKGBUILD27
-rw-r--r--abs/core/xf86-video-chips/LICENSE89
-rw-r--r--abs/core/xf86-video-chips/PKGBUILD26
-rw-r--r--abs/core/xf86-video-cirrus/LICENSE22
-rw-r--r--abs/core/xf86-video-cirrus/PKGBUILD22
-rw-r--r--abs/core/xf86-video-dummy/PKGBUILD21
-rw-r--r--abs/core/xf86-video-fbdev/PKGBUILD18
-rw-r--r--abs/core/xf86-video-geode/PKGBUILD31
-rw-r--r--abs/core/xf86-video-glint/LICENSE84
-rw-r--r--abs/core/xf86-video-glint/PKGBUILD24
-rw-r--r--abs/core/xf86-video-i128/LICENSE23
-rw-r--r--abs/core/xf86-video-i128/PKGBUILD26
-rw-r--r--abs/core/xf86-video-i740/LICENSE47
-rw-r--r--abs/core/xf86-video-i740/PKGBUILD21
-rw-r--r--abs/core/xf86-video-intel/LICENSE440
-rw-r--r--abs/core/xf86-video-intel/PKGBUILD46
-rw-r--r--abs/core/xf86-video-intel/intel-2.11-no-pageflipping.patch33
-rw-r--r--abs/core/xf86-video-mach64/LICENSE209
-rw-r--r--abs/core/xf86-video-mach64/PKGBUILD49
-rw-r--r--abs/core/xf86-video-mga/PKGBUILD52
-rw-r--r--abs/core/xf86-video-neomagic/PKGBUILD19
-rw-r--r--abs/core/xf86-video-nouveau/PKGBUILD41
-rw-r--r--abs/core/xf86-video-nouveau/xf86-video-nouveau.install16
-rw-r--r--abs/core/xf86-video-nv/PKGBUILD23
-rw-r--r--abs/core/xf86-video-openchrome/PKGBUILD32
-rw-r--r--abs/core/xf86-video-openchrome/drm_stdint.patch10
-rw-r--r--abs/core/xf86-video-openchrome/svn-r839.patch1447
-rw-r--r--abs/core/xf86-video-r128/LICENSE219
-rw-r--r--abs/core/xf86-video-r128/PKGBUILD47
-rw-r--r--abs/core/xf86-video-radeonhd/PKGBUILD19
-rw-r--r--abs/core/xf86-video-rendition/PKGBUILD29
-rw-r--r--abs/core/xf86-video-s3/LICENSE25
-rw-r--r--abs/core/xf86-video-s3/PKGBUILD22
-rw-r--r--abs/core/xf86-video-s3virge/LICENSE25
-rw-r--r--abs/core/xf86-video-s3virge/PKGBUILD24
-rw-r--r--abs/core/xf86-video-savage/LICENSE97
-rw-r--r--abs/core/xf86-video-savage/PKGBUILD51
-rw-r--r--abs/core/xf86-video-siliconmotion/PKGBUILD22
-rw-r--r--abs/core/xf86-video-sis/PKGBUILD51
-rw-r--r--abs/core/xf86-video-sisusb/PKGBUILD21
-rw-r--r--abs/core/xf86-video-tdfx/LICENSE160
-rw-r--r--abs/core/xf86-video-tdfx/PKGBUILD47
-rw-r--r--abs/core/xf86-video-trident/PKGBUILD52
-rw-r--r--abs/core/xf86-video-tseng/PKGBUILD23
-rw-r--r--abs/core/xf86-video-unichrome/LICENSE23
-rw-r--r--abs/core/xf86-video-unichrome/PKGBUILD26
-rw-r--r--abs/core/xf86-video-unichrome/drm-include.patch11
-rw-r--r--abs/core/xf86-video-v4l/LICENSE826
-rw-r--r--abs/core/xf86-video-v4l/PKGBUILD19
-rw-r--r--abs/core/xf86-video-vesa/PKGBUILD24
-rw-r--r--abs/core/xf86-video-vga/PKGBUILD29
-rw-r--r--abs/core/xf86-video-vga/pciaccess.patch371
-rw-r--r--abs/core/xf86-video-vmware/LICENSE27
-rw-r--r--abs/core/xf86-video-vmware/PKGBUILD25
-rw-r--r--abs/core/xf86-video-vmware/abi2.patch38
-rw-r--r--abs/core/xf86-video-voodoo/PKGBUILD27
-rw-r--r--abs/core/xf86dgaproto/PKGBUILD23
-rw-r--r--abs/core/xf86driproto/LICENSE50
-rw-r--r--abs/core/xf86driproto/PKGBUILD22
-rw-r--r--abs/core/xf86vidmodeproto/PKGBUILD18
-rw-r--r--abs/core/xfsprogs/PKGBUILD16
-rw-r--r--abs/core/xkeyboard-config/PKGBUILD22
-rwxr-xr-xabs/core/xmltv/PKGBUILD29
-rw-r--r--abs/core/xorg-apps/LICENSE1354
-rw-r--r--abs/core/xorg-apps/PKGBUILD97
-rw-r--r--abs/core/xorg-server-utils/LICENSE.iceauth25
-rw-r--r--abs/core/xorg-server-utils/LICENSE.xcmsdb18
-rw-r--r--abs/core/xorg-server-utils/PKGBUILD90
-rw-r--r--abs/core/xorg-server/10-evdev.conf39
-rw-r--r--abs/core/xorg-server/10-quirks.conf10
-rw-r--r--abs/core/xorg-server/PKGBUILD133
-rw-r--r--abs/core/xorg-server/xorg-server.install29
-rw-r--r--abs/core/xorg-server/xserver-1.7.1-gamma-kdm-fix.patch34
-rw-r--r--abs/core/xorg-server/xserver-1.7.1-libcrypto.patch32
-rw-r--r--abs/core/xorg-server/xvfb-run180
-rw-r--r--abs/core/xorg-server/xvfb-run.1282
-rw-r--r--abs/core/xorg-util-macros/PKGBUILD18
-rw-r--r--abs/core/xorg-utils/LICENSE.xdpyinfo26
-rw-r--r--abs/core/xorg-utils/LICENSE.xfd25
-rw-r--r--abs/core/xorg-utils/LICENSE.xlsfonts22
-rw-r--r--abs/core/xorg-utils/LICENSE.xprop45
-rw-r--r--abs/core/xorg-utils/PKGBUILD60
-rw-r--r--abs/core/xterm/LICENSE73
-rw-r--r--abs/core/xterm/PKGBUILD81
-rw-r--r--abs/core/xz-utils/PKGBUILD30
-rw-r--r--abs/core/xz/PKGBUILD42
l---------abs/core/xz/xz-4.999.9beta-5-i686.pkg.tar.gz1
-rw-r--r--abs/core/zd1211-firmware/PKGBUILD21
-rw-r--r--abs/core/zlib/PKGBUILD36
-rw-r--r--abs/core/zlib/zlib-1.2.5-lfs-decls.patch13
768 files changed, 54485 insertions, 63339 deletions
diff --git a/abs/core/LinHES-config/LinHES-release b/abs/core/LinHES-config/LinHES-release
index 6fc5aed..156ac78 100644
--- a/abs/core/LinHES-config/LinHES-release
+++ b/abs/core/LinHES-config/LinHES-release
@@ -1 +1 @@
-LinHES R6.03.00 (M)
+LinHES R7.00.01 (Punta Gorda)
diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index 655d5c0..ef25620 100644
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-config
pkgver=2.1
-pkgrel=40
+pkgrel=45
conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
pkgdesc="Install and configure your system"
depends=('bc' 'libstatgrab' 'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
@@ -101,8 +101,7 @@ build() {
install -m 0755 issue $startdir/pkg/etc/issue
}
-
-md5sums=('297441b8d85820698c19e7c0ad5a3dfe'
+md5sums=('381de315bceff755c7c5106ee693059f'
'1a4694fcd694b362c339bda781ed0f3e'
'e36da536dd651ef182e7642337889e77'
'3baa23764e1b6bcb2d66d7d859096940'
@@ -114,7 +113,7 @@ md5sums=('297441b8d85820698c19e7c0ad5a3dfe'
'4620f6f498ef4523398635cb0bd59425'
'06188493e5ed79cb501d3c5694dee8ca'
'e459ed069317bccb20351f037a9df3d2'
- 'e519c47ae24fb65799ec57a4a2050653'
+ 'b47f477693ed3e83a0cd951a616e16d1'
'6aff504ed5e860adc1b7317cd0780900'
'55fccb1da0417a896b724f7cfc32dd5a'
'ab2aa42c2947148c2b1cac0ade6d1d55'
diff --git a/abs/core/LinHES-config/checkout_MythVantage.sh b/abs/core/LinHES-config/checkout_MythVantage.sh
index 944b9c6..21f25e5 100755
--- a/abs/core/LinHES-config/checkout_MythVantage.sh
+++ b/abs/core/LinHES-config/checkout_MythVantage.sh
@@ -1,7 +1,7 @@
#!/bin/bash
MYDIR=`pwd`
-MYTHPATH="\/data\/LinHES-PKGBUILD\/abs\/core-testing\/mythtv\/stable\/mythtv\/src\/mythtv-0.21"
-
+#MYTHPATH="\/data\/LinHES-PKGBUILD\/abs\/core-testing\/mythtv\/stable\/mythtv\/src\/mythtv-0.23"
+MYTHPATH="\/data\/LinHES-PKGBUILD\/abs\/core-testing\/mythtv\/stable-0.23\/mythtv\/src\/mythtv"
function setup_links {
rm mythinstall.bin
rm mythbeselect.bin
@@ -44,6 +44,6 @@ echo "INCLUDEPATH += /usr/include/mythtv" >> $MYDIR/src/MythVantage-app/mythbese
echo "INCLUDEPATH += /usr/include/mythtv" >> $MYDIR/src/MythVantage-app/mythinstall/mythinstall.pro
cd $MYDIR/src/MythVantage-app/mythinstall && qmake
make || exit 1
-cd $MYDIR/src/MythVantage-app/mythbeselect && qmake
-make ||exit 1
+#cd $MYDIR/src/MythVantage-app/mythbeselect && qmake
+#make ||exit 1
diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py
index 19295ca..908851b 100755
--- a/abs/core/LinHES-config/mv_install.py
+++ b/abs/core/LinHES-config/mv_install.py
@@ -467,7 +467,7 @@ def copy_it(install_type):
logging.debug( install_type)
if ( install_type == "install"):
logging.info("Transferring system")
- cmd = " unsquashfs -f -d %s /.livesys/medium/system.sqf" %(data_config.MOUNTPOINT)
+ cmd = " unsquashfs -f -d %s /.livesys/medium/larch/system.sqf" %(data_config.MOUNTPOINT)
runcmd(cmd)
#logging.debug(cmd)
#cmdout=commands.getoutput(cmd)
@@ -475,7 +475,7 @@ def copy_it(install_type):
if ( install_type == "upgrade"):
logging.info("Upgrading system")
create_squashlist()
- cmd = " unsquashfs -e %s -f -d %s /.livesys/medium/system.sqf" %(data_config.SQUASHFILE, data_config.MOUNTPOINT)
+ cmd = " unsquashfs -e %s -f -d %s /.livesys/medium/larch/system.sqf" %(data_config.SQUASHFILE, data_config.MOUNTPOINT)
runcmd(cmd)
#logging.debug(cmd)
#cmdout=commands.getoutput(cmd)
diff --git a/abs/core/alsa-lib/PKGBUILD b/abs/core/alsa-lib/PKGBUILD
index 005dd82..9ba2945 100644
--- a/abs/core/alsa-lib/PKGBUILD
+++ b/abs/core/alsa-lib/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 18680 2008-11-08 16:21:16Z tpowa $
+# $Id: PKGBUILD 79040 2010-04-30 05:28:10Z tpowa $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=alsa-lib
-pkgver=1.0.18
-pkgrel=2
+pkgver=1.0.23
+pkgrel=1
pkgdesc="An alternative implementation of Linux sound support"
arch=('i686' 'x86_64')
url="http://www.alsa-project.org"
@@ -20,4 +20,4 @@ build() {
make || return 1
make DESTDIR=$pkgdir install
}
-md5sums=('de60df7541fafe8c6a3397e0f105ff0e')
+md5sums=('f48b50421d8a69d2d806d9c47e534f0d')
diff --git a/abs/core/alsa-lib/python2.5.patch b/abs/core/alsa-lib/python2.5.patch
deleted file mode 100644
index cd0032b..0000000
--- a/abs/core/alsa-lib/python2.5.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- modules/mixer/simple/python.c~ 2007-08-21 17:21:28.000000000 +0200
-+++ modules/mixer/simple/python.c 2007-08-21 17:26:39.000000000 +0200
-@@ -23,7 +23,7 @@
- #include "config.h"
- #include "asoundlib.h"
- #include "mixer_abst.h"
--#include <python/Python.h>
-+#include <python2.5/Python.h>
-
- struct python_priv {
- int py_initialized;
diff --git a/abs/core/alsa-lib/revert-patch-to-fix-converting-32bit-audio-to-16bit.patch b/abs/core/alsa-lib/revert-patch-to-fix-converting-32bit-audio-to-16bit.patch
deleted file mode 100644
index 588272f..0000000
--- a/abs/core/alsa-lib/revert-patch-to-fix-converting-32bit-audio-to-16bit.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-
---- a/src/pcm/plugin_ops.h Mon Jan 09 14:40:08 2006 +0000
-+++ b/src/pcm/plugin_ops.h Fri Mar 09 17:06:23 2007 +0100
-@@ -85,6 +85,8 @@ static inline u_int32_t sx24s(u_int32_t
- #define _put_triple(ptr,val) _put_triple_be(ptr,val)
- #define _put_triple_s(ptr,val) _put_triple_le(ptr,val)
- #endif
-+
-+#define shift_down(val, bits) (((val) + (1 << ((bits) - 1))) >> (bits))
-
- #ifdef COPY_LABELS
- static void *copy_labels[5] = {
-@@ -256,14 +258,14 @@ conv_xxx1_009x: as_u32(dst) = sx24s((u_i
- conv_xxx1_009x: as_u32(dst) = sx24s((u_int32_t)(as_u8c(src) ^ 0x80) << 8); goto CONV_END;
- conv_xxx1_9000: as_u32(dst) = (u_int32_t)(as_u8c(src) ^ 0x80) << 24; goto CONV_END;
- conv_xxx1_0009: as_u32(dst) = (u_int32_t)(as_u8c(src) ^ 0x80); goto CONV_END;
--conv_xx12_xxx1: as_u8(dst) = as_u16c(src) >> 8; goto CONV_END;
-+conv_xx12_xxx1: as_u8(dst) = shift_down(as_u16c(src), 8); goto CONV_END;
- conv_xx12_xx12: as_u16(dst) = as_u16c(src); goto CONV_END;
- conv_xx12_xx21: as_u16(dst) = bswap_16(as_u16c(src)); goto CONV_END;
- conv_xx12_x120: as_u32(dst) = sx24((u_int32_t)as_u16c(src) << 8); goto CONV_END;
- conv_xx12_021x: as_u32(dst) = sx24s((u_int32_t)bswap_16(as_u16c(src)) << 8); goto CONV_END;
- conv_xx12_1200: as_u32(dst) = (u_int32_t)as_u16c(src) << 16; goto CONV_END;
- conv_xx12_0021: as_u32(dst) = (u_int32_t)bswap_16(as_u16c(src)); goto CONV_END;
--conv_xx12_xxx9: as_u8(dst) = (as_u16c(src) >> 8) ^ 0x80; goto CONV_END;
-+conv_xx12_xxx9: as_u8(dst) = shift_down(as_u16c(src), 8) ^ 0x80; goto CONV_END;
- conv_xx12_xx92: as_u16(dst) = as_u16c(src) ^ 0x8000; goto CONV_END;
- conv_xx12_xx29: as_u16(dst) = bswap_16(as_u16c(src)) ^ 0x80; goto CONV_END;
- conv_xx12_x920: as_u32(dst) = sx24((u_int32_t)(as_u16c(src) ^ 0x8000) << 8); goto CONV_END;
-@@ -282,57 +284,57 @@ conv_xx12_01Ax: as_u32(dst) = sx24s((u_i
- conv_xx12_01Ax: as_u32(dst) = sx24s((u_int32_t)(as_u16c(src) ^ 0x80) << 8); goto CONV_END;
- conv_xx12_A100: as_u32(dst) = (u_int32_t)bswap_16(as_u16c(src) ^ 0x80) << 16; goto CONV_END;
- conv_xx12_001A: as_u32(dst) = (u_int32_t)(as_u16c(src) ^ 0x80); goto CONV_END;
--conv_x123_xxx1: as_u8(dst) = as_u32c(src) >> 16; goto CONV_END;
--conv_x123_xx12: as_u16(dst) = as_u32c(src) >> 8; goto CONV_END;
--conv_x123_xx21: as_u16(dst) = bswap_16(as_u32c(src) >> 8); goto CONV_END;
-+conv_x123_xxx1: as_u8(dst) = shift_down(as_u32c(src), 16); goto CONV_END;
-+conv_x123_xx12: as_u16(dst) = shift_down(as_u32c(src), 8); goto CONV_END;
-+conv_x123_xx21: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 8)); goto CONV_END;
- conv_x123_x123: as_u32(dst) = sx24(as_u32c(src)); goto CONV_END;
- conv_x123_321x: as_u32(dst) = sx24s(bswap_32(as_u32c(src))); goto CONV_END;
- conv_x123_1230: as_u32(dst) = as_u32c(src) << 8; goto CONV_END;
--conv_x123_0321: as_u32(dst) = bswap_32(as_u32c(src)) >> 8; goto CONV_END;
--conv_x123_xxx9: as_u8(dst) = (as_u32c(src) >> 16) ^ 0x80; goto CONV_END;
--conv_x123_xx92: as_u16(dst) = (as_u32c(src) >> 8) ^ 0x8000; goto CONV_END;
--conv_x123_xx29: as_u16(dst) = bswap_16(as_u32c(src) >> 8) ^ 0x80; goto CONV_END;
-+conv_x123_0321: as_u32(dst) = shift_down(bswap_32(as_u32c(src)), 8); goto CONV_END;
-+ conv_x123_xxx9: as_u8(dst) = shift_down(as_u32c(src), 16) ^ 0x80; goto CONV_END;
-+conv_x123_xx92: as_u16(dst) = shift_down(as_u32c(src), 8) ^ 0x8000; goto CONV_END;
-+conv_x123_xx29: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 8)) ^ 0x80; goto CONV_END;
- conv_x123_x923: as_u32(dst) = sx24(as_u32c(src) ^ 0x800000); goto CONV_END;
- conv_x123_329x: as_u32(dst) = sx24s(bswap_32(as_u32c(src)) ^ 0x8000); goto CONV_END;
- conv_x123_9230: as_u32(dst) = (as_u32c(src) ^ 0x800000) << 8; goto CONV_END;
--conv_x123_0329: as_u32(dst) = (bswap_32(as_u32c(src)) >> 8) ^ 0x80; goto CONV_END;
--conv_123x_xxx3: as_u8(dst) = (as_u32c(src) >> 8) & 0xff; goto CONV_END;
--conv_123x_xx32: as_u16(dst) = bswap_16(as_u32c(src) >> 8); goto CONV_END;
--conv_123x_xx23: as_u16(dst) = (as_u32c(src) >> 8) & 0xffff; goto CONV_END;
-+conv_x123_0329: as_u32(dst) = shift_down(bswap_32(as_u32c(src)), 8) ^ 0x80; goto CONV_END;
-+conv_123x_xxx3: as_u8(dst) = shift_down(as_u32c(src), 8) & 0xff; goto CONV_END;
-+conv_123x_xx32: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 8)); goto CONV_END;
-+conv_123x_xx23: as_u16(dst) = shift_down(as_u32c(src), 8) & 0xffff; goto CONV_END;
- conv_123x_x321: as_u32(dst) = sx24(bswap_32(as_u32c(src))); goto CONV_END;
- conv_123x_123x: as_u32(dst) = sx24s(as_u32c(src)); goto CONV_END;
- conv_123x_3210: as_u32(dst) = bswap_32(as_u32c(src)) << 8; goto CONV_END;
--conv_123x_0123: as_u32(dst) = as_u32c(src) >> 8; goto CONV_END;
--conv_123x_xxxB: as_u8(dst) = ((as_u32c(src) >> 8) & 0xff) ^ 0x80; goto CONV_END;
--conv_123x_xxB2: as_u16(dst) = bswap_16((as_u32c(src) >> 8) ^ 0x80); goto CONV_END;
--conv_123x_xx2B: as_u16(dst) = ((as_u32c(src) >> 8) & 0xffff) ^ 0x80; goto CONV_END;
-+conv_123x_0123: as_u32(dst) = shift_down(as_u32c(src), 8); goto CONV_END;
-+conv_123x_xxxB: as_u8(dst) = (shift_down(as_u32c(src), 8) & 0xff) ^ 0x80; goto CONV_END;
-+conv_123x_xxB2: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 8) ^ 0x80); goto CONV_END;
-+conv_123x_xx2B: as_u16(dst) = (shift_down(as_u32c(src), 8) & 0xffff) ^ 0x80; goto CONV_END;
- conv_123x_xB21: as_u32(dst) = sx24(bswap_32(as_u32c(src)) ^ 0x800000); goto CONV_END;
- conv_123x_12Bx: as_u32(dst) = sx24s(as_u32c(src) ^ 0x8000); goto CONV_END;
- conv_123x_B210: as_u32(dst) = bswap_32(as_u32c(src) ^ 0x8000) << 8; goto CONV_END;
--conv_123x_012B: as_u32(dst) = (as_u32c(src) >> 8) ^ 0x80; goto CONV_END;
--conv_1234_xxx1: as_u8(dst) = as_u32c(src) >> 24; goto CONV_END;
--conv_1234_xx12: as_u16(dst) = as_u32c(src) >> 16; goto CONV_END;
--conv_1234_xx21: as_u16(dst) = bswap_16(as_u32c(src) >> 16); goto CONV_END;
--conv_1234_x123: as_u32(dst) = sx24(as_u32c(src) >> 8); goto CONV_END;
-+conv_123x_012B: as_u32(dst) = shift_down(as_u32c(src), 8) ^ 0x80; goto CONV_END;
-+conv_1234_xxx1: as_u8(dst) = shift_down(as_u32c(src), 24); goto CONV_END;
-+conv_1234_xx12: as_u16(dst) = shift_down(as_u32c(src), 16); goto CONV_END;
-+conv_1234_xx21: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 16)); goto CONV_END;
-+conv_1234_x123: as_u32(dst) = sx24(shift_down(as_u32c(src), 8)); goto CONV_END;
- conv_1234_321x: as_u32(dst) = sx24s(bswap_32(as_u32c(src)) << 8); goto CONV_END;
- conv_1234_1234: as_u32(dst) = as_u32c(src); goto CONV_END;
- conv_1234_4321: as_u32(dst) = bswap_32(as_u32c(src)); goto CONV_END;
--conv_1234_xxx9: as_u8(dst) = (as_u32c(src) >> 24) ^ 0x80; goto CONV_END;
--conv_1234_xx92: as_u16(dst) = (as_u32c(src) >> 16) ^ 0x8000; goto CONV_END;
--conv_1234_xx29: as_u16(dst) = bswap_16(as_u32c(src) >> 16) ^ 0x80; goto CONV_END;
--conv_1234_x923: as_u32(dst) = sx24((as_u32c(src) >> 8) ^ 0x800000); goto CONV_END;
-+conv_1234_xxx9: as_u8(dst) = shift_down(as_u32c(src), 24) ^ 0x80; goto CONV_END;
-+conv_1234_xx92: as_u16(dst) = shift_down(as_u32c(src), 16) ^ 0x8000; goto CONV_END;
-+conv_1234_xx29: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 16)) ^ 0x80; goto CONV_END;
-+conv_1234_x923: as_u32(dst) = sx24(shift_down(as_u32c(src), 8) ^ 0x800000); goto CONV_END;
- conv_1234_329x: as_u32(dst) = sx24s((bswap_32(as_u32c(src)) ^ 0x80) << 8); goto CONV_END;
- conv_1234_9234: as_u32(dst) = as_u32c(src) ^ 0x80000000; goto CONV_END;
- conv_1234_4329: as_u32(dst) = bswap_32(as_u32c(src)) ^ 0x80; goto CONV_END;
- conv_1234_xxx4: as_u8(dst) = as_u32c(src) & 0xff; goto CONV_END;
- conv_1234_xx43: as_u16(dst) = bswap_16(as_u32c(src)); goto CONV_END;
- conv_1234_xx34: as_u16(dst) = as_u32c(src) & 0xffff; goto CONV_END;
--conv_1234_x432: as_u32(dst) = sx24(bswap_32(as_u32c(src)) >> 8); goto CONV_END;
-+conv_1234_x432: as_u32(dst) = sx24(shift_down(bswap_32(as_u32c(src)), 8)); goto CONV_END;
- conv_1234_234x: as_u32(dst) = sx24s(as_u32c(src) << 8); goto CONV_END;
- conv_1234_xxxC: as_u8(dst) = (as_u32c(src) & 0xff) ^ 0x80; goto CONV_END;
- conv_1234_xxC3: as_u16(dst) = bswap_16(as_u32c(src) ^ 0x80); goto CONV_END;
- conv_1234_xx3C: as_u16(dst) = (as_u32c(src) & 0xffff) ^ 0x80; goto CONV_END;
--conv_1234_xC32: as_u32(dst) = sx24((bswap_32(as_u32c(src)) >> 8) ^ 0x800000); goto CONV_END;
-+conv_1234_xC32: as_u32(dst) = sx24(shift_down(bswap_32(as_u32c(src)), 8) ^ 0x800000); goto CONV_END;
- conv_1234_23Cx: as_u32(dst) = sx24s((as_u32c(src) ^ 0x80) << 8); goto CONV_END;
- conv_1234_C321: as_u32(dst) = bswap_32(as_u32c(src) ^ 0x80); goto CONV_END;
- conv_1234_123C: as_u32(dst) = as_u32c(src) ^ 0x80; goto CONV_END;
-@@ -382,26 +384,26 @@ get16_12_92: sample = as_u16c(src) ^ 0x8
- get16_12_92: sample = as_u16c(src) ^ 0x8000; goto GET16_END;
- get16_12_21: sample = bswap_16(as_u16c(src)); goto GET16_END;
- get16_12_A1: sample = bswap_16(as_u16c(src) ^ 0x80); goto GET16_END;
--get16_0123_12: sample = as_u32c(src) >> 8; goto GET16_END;
--get16_0123_92: sample = (as_u32c(src) >> 8) ^ 0x8000; goto GET16_END;
--get16_1230_32: sample = bswap_16(as_u32c(src) >> 8); goto GET16_END;
--get16_1230_B2: sample = bswap_16((as_u32c(src) >> 8) ^ 0x80); goto GET16_END;
--get16_1234_12: sample = as_u32c(src) >> 16; goto GET16_END;
--get16_1234_92: sample = (as_u32c(src) >> 16) ^ 0x8000; goto GET16_END;
-+get16_0123_12: sample = shift_down(as_u32c(src), 8); goto GET16_END;
-+get16_0123_92: sample = shift_down(as_u32c(src), 8) ^ 0x8000; goto GET16_END;
-+get16_1230_32: sample = bswap_16(shift_down(as_u32c(src), 8)); goto GET16_END;
-+get16_1230_B2: sample = bswap_16(shift_down(as_u32c(src), 8) ^ 0x80); goto GET16_END;
-+get16_1234_12: sample = shift_down(as_u32c(src), 16); goto GET16_END;
-+get16_1234_92: sample = shift_down(as_u32c(src), 16) ^ 0x8000; goto GET16_END;
- get16_1234_43: sample = bswap_16(as_u32c(src)); goto GET16_END;
- get16_1234_C3: sample = bswap_16(as_u32c(src) ^ 0x80); goto GET16_END;
--get16_123_12: sample = _get_triple(src) >> 8; goto GET16_END;
--get16_123_92: sample = (_get_triple(src) >> 8) ^ 0x8000; goto GET16_END;
--get16_123_32: sample = _get_triple_s(src) >> 8; goto GET16_END;
--get16_123_B2: sample = (_get_triple_s(src) >> 8) ^ 0x8000; goto GET16_END;
--get16_123_12_20: sample = _get_triple(src) >> 4; goto GET16_END;
--get16_123_92_20: sample = (_get_triple(src) >> 4) ^ 0x8000; goto GET16_END;
--get16_123_32_20: sample = _get_triple_s(src) >> 4; goto GET16_END;
--get16_123_B2_20: sample = (_get_triple_s(src) >> 4) ^ 0x8000; goto GET16_END;
--get16_123_12_18: sample = _get_triple(src) >> 2; goto GET16_END;
--get16_123_92_18: sample = (_get_triple(src) >> 2) ^ 0x8000; goto GET16_END;
--get16_123_32_18: sample = _get_triple_s(src) >> 2; goto GET16_END;
--get16_123_B2_18: sample = (_get_triple_s(src) >> 2) ^ 0x8000; goto GET16_END;
-+get16_123_12: sample = shift_down(_get_triple(src), 8); goto GET16_END;
-+get16_123_92: sample = shift_down(_get_triple(src), 8) ^ 0x8000; goto GET16_END;
-+get16_123_32: sample = shift_down(_get_triple_s(src), 8); goto GET16_END;
-+get16_123_B2: sample = shift_down(_get_triple_s(src), 8) ^ 0x8000; goto GET16_END;
-+get16_123_12_20: sample = shift_down(_get_triple(src), 4); goto GET16_END;
-+get16_123_92_20: sample = shift_down(_get_triple(src), 4) ^ 0x8000; goto GET16_END;
-+get16_123_32_20: sample = shift_down(_get_triple_s(src), 4); goto GET16_END;
-+get16_123_B2_20: sample = shift_down(_get_triple_s(src), 4) ^ 0x8000; goto GET16_END;
-+get16_123_12_18: sample = shift_down(_get_triple(src), 2); goto GET16_END;
-+get16_123_92_18: sample = shift_down(_get_triple(src), 2) ^ 0x8000; goto GET16_END;
-+get16_123_32_18: sample = shift_down(_get_triple_s(src), 2); goto GET16_END;
-+get16_123_B2_18: sample = shift_down(_get_triple_s(src), 2) ^ 0x8000; goto GET16_END;
- }
- #endif
-
-@@ -429,8 +431,8 @@ static void *put16_labels[4 * 2 * 2] = {
-
- #ifdef PUT16_END
- while (0) {
--put16_12_1: as_u8(dst) = sample >> 8; goto PUT16_END;
--put16_12_9: as_u8(dst) = (sample >> 8) ^ 0x80; goto PUT16_END;
-+put16_12_1: as_u8(dst) = shift_down(sample, 8); goto PUT16_END;
-+put16_12_9: as_u8(dst) = shift_down(sample, 8) ^ 0x80; goto PUT16_END;
- put16_12_12: as_u16(dst) = sample; goto PUT16_END;
- put16_12_92: as_u16(dst) = sample ^ 0x8000; goto PUT16_END;
- put16_12_21: as_u16(dst) = bswap_16(sample); goto PUT16_END;
-@@ -500,8 +502,8 @@ get32_12_A100: sample = (u_int32_t)bswap
- get32_12_A100: sample = (u_int32_t)bswap_16(as_u16c(src) ^ 0x80) << 16; goto GET32_END;
- get32_0123_1230: sample = as_u32c(src) << 8; goto GET32_END;
- get32_0123_9230: sample = (as_u32c(src) << 8) ^ 0x80000000; goto GET32_END;
--get32_1230_3210: sample = bswap_32(as_u32c(src) >> 8); goto GET32_END;
--get32_1230_B210: sample = bswap_32((as_u32c(src) >> 8) ^ 0x80); goto GET32_END;
-+get32_1230_3210: sample = bswap_32(shift_down(as_u32c(src), 8)); goto GET32_END;
-+get32_1230_B210: sample = bswap_32(shift_down(as_u32c(src), 8) ^ 0x80); goto GET32_END;
- get32_1234_1234: sample = as_u32c(src); goto GET32_END;
- get32_1234_9234: sample = as_u32c(src) ^ 0x80000000; goto GET32_END;
- get32_1234_4321: sample = bswap_32(as_u32c(src)); goto GET32_END;
-@@ -568,32 +570,32 @@ static void *put32_labels[4 * 2 * 2 + 4
-
- #ifdef PUT32_END
- while (0) {
--put32_1234_1: as_u8(dst) = sample >> 24; goto PUT32_END;
--put32_1234_9: as_u8(dst) = (sample >> 24) ^ 0x80; goto PUT32_END;
--put32_1234_12: as_u16(dst) = sample >> 16; goto PUT32_END;
--put32_1234_92: as_u16(dst) = (sample >> 16) ^ 0x8000; goto PUT32_END;
--put32_1234_21: as_u16(dst) = bswap_16(sample >> 16); goto PUT32_END;
--put32_1234_29: as_u16(dst) = bswap_16(sample >> 16) ^ 0x80; goto PUT32_END;
--put32_1234_0123: as_u32(dst) = sx24(sample >> 8); goto PUT32_END;
--put32_1234_0923: as_u32(dst) = sx24((sample >> 8) ^ 0x800000); goto PUT32_END;
-+put32_1234_1: as_u8(dst) = shift_down(sample, 24); goto PUT32_END;
-+put32_1234_9: as_u8(dst) = shift_down(sample, 24) ^ 0x80; goto PUT32_END;
-+put32_1234_12: as_u16(dst) = shift_down(sample, 16); goto PUT32_END;
-+put32_1234_92: as_u16(dst) = shift_down(sample, 16) ^ 0x8000; goto PUT32_END;
-+put32_1234_21: as_u16(dst) = bswap_16(shift_down(sample, 16)); goto PUT32_END;
-+put32_1234_29: as_u16(dst) = bswap_16(shift_down(sample, 16)) ^ 0x80; goto PUT32_END;
-+put32_1234_0123: as_u32(dst) = sx24(shift_down(sample, 8)); goto PUT32_END;
-+put32_1234_0923: as_u32(dst) = sx24(shift_down(sample, 8) ^ 0x800000); goto PUT32_END;
- put32_1234_3210: as_u32(dst) = sx24s(bswap_32(sample) << 8); goto PUT32_END;
- put32_1234_3290: as_u32(dst) = sx24s((bswap_32(sample) ^ 0x80) << 8); goto PUT32_END;
- put32_1234_1234: as_u32(dst) = sample; goto PUT32_END;
- put32_1234_9234: as_u32(dst) = sample ^ 0x80000000; goto PUT32_END;
- put32_1234_4321: as_u32(dst) = bswap_32(sample); goto PUT32_END;
- put32_1234_4329: as_u32(dst) = bswap_32(sample) ^ 0x80; goto PUT32_END;
--put32_1234_123: _put_triple(dst, sample >> 8); goto PUT32_END;
--put32_1234_923: _put_triple(dst, (sample ^ 0x80000000) >> 8); goto PUT32_END;
--put32_1234_321: _put_triple_s(dst, sample >> 8); goto PUT32_END;
--put32_1234_329: _put_triple_s(dst, (sample ^ 0x80000000) >> 8); goto PUT32_END;
--put32_1234_123_20: _put_triple(dst, sample >> 12); goto PUT32_END;
--put32_1234_923_20: _put_triple(dst, (sample ^ 0x80000000) >> 12); goto PUT32_END;
--put32_1234_321_20: _put_triple_s(dst, sample >> 12); goto PUT32_END;
--put32_1234_329_20: _put_triple_s(dst, (sample ^ 0x80000000) >> 12); goto PUT32_END;
--put32_1234_123_18: _put_triple(dst, sample >> 14); goto PUT32_END;
--put32_1234_923_18: _put_triple(dst, (sample ^ 0x80000000) >> 14); goto PUT32_END;
--put32_1234_321_18: _put_triple_s(dst, sample >> 14); goto PUT32_END;
--put32_1234_329_18: _put_triple_s(dst, (sample ^ 0x80000000) >> 14); goto PUT32_END;
-+put32_1234_123: _put_triple(dst, shift_down(sample, 8)); goto PUT32_END;
-+put32_1234_923: _put_triple(dst, shift_down(sample ^ 0x80000000, 8)); goto PUT32_END;
-+put32_1234_321: _put_triple_s(dst, shift_down(sample, 8)); goto PUT32_END;
-+put32_1234_329: _put_triple_s(dst, shift_down(sample ^ 0x80000000, 8)); goto PUT32_END;
-+put32_1234_123_20: _put_triple(dst, shift_down(sample, 12)); goto PUT32_END;
-+put32_1234_923_20: _put_triple(dst, shift_down(sample ^ 0x80000000, 12)); goto PUT32_END;
-+put32_1234_321_20: _put_triple_s(dst, shift_down(sample, 12)); goto PUT32_END;
-+put32_1234_329_20: _put_triple_s(dst, shift_down(sample ^ 0x80000000, 12)); goto PUT32_END;
-+put32_1234_123_18: _put_triple(dst, shift_down(sample, 14)); goto PUT32_END;
-+put32_1234_923_18: _put_triple(dst, shift_down(sample ^ 0x80000000, 14)); goto PUT32_END;
-+put32_1234_321_18: _put_triple_s(dst, shift_down(sample, 14)); goto PUT32_END;
-+put32_1234_329_18: _put_triple_s(dst, shift_down(sample ^ 0x80000000, 14)); goto PUT32_END;
- }
- #endif
-
-@@ -1079,3 +1081,4 @@ norms_32_s32s: _norms(src, dst, 32, 1,
- #undef _put_triple_le
- #undef _put_triple_be
-
-+#undef shift_down
-
-
-
-
diff --git a/abs/core/alsa-utils/PKGBUILD b/abs/core/alsa-utils/PKGBUILD
index caa636c..2f6e163 100644
--- a/abs/core/alsa-utils/PKGBUILD
+++ b/abs/core/alsa-utils/PKGBUILD
@@ -1,17 +1,19 @@
-# $Id: PKGBUILD 18682 2008-11-08 16:46:01Z tpowa $
+# $Id: PKGBUILD 79271 2010-05-02 14:42:00Z tpowa $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=alsa-utils
-pkgver=1.0.18
-pkgrel=1
+pkgver=1.0.23
+pkgrel=2
pkgdesc="An alternative implementation of Linux sound support"
arch=('i686' 'x86_64')
url="http://www.alsa-project.org"
#can not use >=$pkgver due to use of letters in alsa-lib update versioning
-depends=("alsa-lib>1.0.17.999" 'dialog' 'pciutils' 'ncurses')
+depends=("alsa-lib>1.0.22.99" 'dialog' 'pciutils' 'ncurses')
makedepends=('xmlto' 'docbook-xsl')
license=('GPL')
-source=(ftp://ftp.alsa-project.org/pub/utils/$pkgname-${pkgver}.tar.bz2 \
- alsa alsaconf.patch alsa.conf.d)
+source=(ftp://ftp.alsa-project.org/pub/utils/$pkgname-${pkgver}.tar.bz2
+ alsa
+ alsaconf.patch
+ alsa.conf.d)
backup=(etc/conf.d/alsa)
build() {
@@ -23,7 +25,7 @@ build() {
install -D -m755 ../alsa $startdir/pkg/etc/rc.d/alsa
install -D -m644 ../alsa.conf.d $startdir/pkg/etc/conf.d/alsa
}
-md5sums=('0a6b26d27cc2adfd591d91d8c155fdb7'
- '9dff78913b13b10e67c4195e90395ed2'
- '538f82650d08e901efea86c5395520df'
+md5sums=('cb0cf46029ac9549cf3a31bff6a4f4e1'
+ '3ef812cae83053d01cd560284efad71f'
+ '62ebef77d5617d0036012cc541dcf23c'
'93089f0d8872078939f76dd2acaebc2b')
diff --git a/abs/core/alsa-utils/alsa b/abs/core/alsa-utils/alsa
index e1d6f28..08f76af 100755
--- a/abs/core/alsa-utils/alsa
+++ b/abs/core/alsa-utils/alsa
@@ -19,13 +19,13 @@ case "$1" in
if [ -e /sys/module/snd_ac97_codec/parameters/power_save \
-a $POWERSAVE -ne 0 ]; then
echo $POWERSAVE > /sys/module/snd_ac97_codec/parameters/power_save
- echo 1 > /dev/dsp
+ [ -c /dev/dsp ] && echo 1 > /dev/dsp
fi
if [ -e /sys/module/snd_hda_intel/parameters/power_save \
-a $POWERSAVE -ne 0 ]; then
echo $POWERSAVE > /sys/module/snd_hda_intel/parameters/power_save
- echo 1 > /dev/dsp
+ [ -c /dev/dsp ] && echo 1 > /dev/dsp
fi
;;
stop)
diff --git a/abs/core/alsa-utils/alsaconf.patch b/abs/core/alsa-utils/alsaconf.patch
index c1d2eb2..ec79fe9 100644
--- a/abs/core/alsa-utils/alsaconf.patch
+++ b/abs/core/alsa-utils/alsaconf.patch
@@ -7,9 +7,9 @@ diff -Naur alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in alsa-utils-1.0.9a/alsacon
distribution="fedora"
+elif test -f /etc/arch-release && grep -q "Arch" /etc/arch-release; then
+ distribution="arch"
+ elif [ -f /etc/slackware-version -o -f /etc/slamd64-version ]; then
+ distribution="slackware"
else
- distribution="unknown"
- fi
@@ -382,6 +384,8 @@
rcalsasound=/etc/rc.d/init.d/alsasound
elif [ -x /etc/init.d/alsa ]; then
@@ -19,3 +19,14 @@ diff -Naur alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in alsa-utils-1.0.9a/alsacon
else
rcalsasound=rcalsasound
fi
+--- alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in 2010-01-03 19:44:08.000000000 +0100
++++ alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in 2010-01-03 19:44:08.000000000 +0100
+@@ -315,7 +315,7 @@
+ 3.[789]*)
+ ;;
+ *)
+- cfgout="/etc/modprobe.d/sound"
++ cfgout="/etc/modprobe.d/sound.conf"
+ cfgoldout=""
+ ;;
+ esac
diff --git a/abs/core/apache/PKGBUILD b/abs/core/apache/PKGBUILD
index 0bd3936..6e570f1 100644
--- a/abs/core/apache/PKGBUILD
+++ b/abs/core/apache/PKGBUILD
@@ -1,68 +1,126 @@
-# $Id: PKGBUILD 4776 2008-07-09 21:51:30Z pierre $
-# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+# $Id: PKGBUILD 87621 2010-08-17 13:13:14Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=apache
-pkgver=2.2.9
-pkgrel=4
-pkgdesc="A high performance Unix-based HTTP server"
+pkgver=2.2.16
+pkgrel=2
+pkgdesc='A high performance Unix-based HTTP server'
arch=('i686' 'x86_64')
options=('!libtool')
url='http://www.apache.org/dist/httpd'
license=('APACHE')
-backup=(etc/httpd/conf/httpd.conf
+backup=(etc/conf.d/apache etc/httpd/conf/httpd.conf
etc/httpd/conf/extra/httpd-{autoindex,dav,default,info,languages}.conf
etc/httpd/conf/extra/httpd-{manual,mpm,multilang-errordoc}.conf
- etc/httpd/conf/extra/httpd-{ssl,userdir,vhosts}.conf)
-depends=('openssl>=0.9.8b' 'zlib' 'apr-util>=1.3.2-2' 'db>=4.7' 'pcre')
-install='httpd.install'
-source=("http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2"
- 'httpd.logrotate' 'httpd' 'arch.layout')
-md5sums=('3afa8137dc1999be695a20b62fdf032b'
- 'f4d627c64024c1b7b95efb5ffbaa625e'
- 'fb6baeced65b7cf5b80083f278adebba'
+ etc/httpd/conf/extra/httpd-{ssl,userdir,vhosts}.conf
+ etc/logrotate.d/httpd)
+depends=('openssl' 'zlib' 'apr-util' 'pcre')
+optdepends=('lynx: apachectl status')
+_itkurl=http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02
+source=(http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2
+ ${_itkurl}/02-rename-prefork-to-itk.patch
+ ${_itkurl}/03-add-mpm-to-build-system.patch
+ ${_itkurl}/04-correct-output-makefile-location.patch
+ ${_itkurl}/05-add-copyright.patch
+ ${_itkurl}/06-hook-just-after-merging-perdir-config.patch
+ ${_itkurl}/07-base-functionality.patch
+ ${_itkurl}/08-max-clients-per-vhost.patch
+ ${_itkurl}/09-capabilities.patch
+ ${_itkurl}/10-nice.patch
+ apachectl-confd.patch
+ apache.conf.d
+ httpd.logrotate
+ httpd
+ arch.layout)
+md5sums=('c8ff2a07c884300bc7766a2e7f662d33'
+ 'db42cfcc18ae1c32aaaff2347e35b79d'
+ '131408ad4dc7b18547b4e062e7e495ab'
+ 'ee488f391054d528547c3a372faa2aa7'
+ 'b202944761b2f0516196488b12504236'
+ '78fa15f8ca3a284b7d71f942e24e47fb'
+ 'd33e39350e987721d50e6fb8e164ab6b'
+ '9f7a8935f9cabc7b46d0052906634cef'
+ '1b28e3363e1b0d05b738a21e7ddd264f'
+ 'd9667fcd2ffecc63e446edd4d6666731'
+ '4ac64df6e019edbe137017cba1ff2f51'
+ '08b3c875f6260644f2f52b4056d656b0'
+ '6382331e9700ed9e8cc78ea51887b537'
+ 'c7e300a287ef7e2e066ac7639536f87e'
'3d659d41276ba3bfcb20c231eb254e0c')
build() {
- cd ${srcdir}/httpd-${pkgver}
+ cd "${srcdir}/httpd-${pkgver}"
+
+ patch -Np0 -i "${srcdir}/apachectl-confd.patch"
# set default user
sed -e 's#User daemon#User http#' \
-e 's#Group daemon#Group http#' \
- -i docs/conf/httpd.conf.in || return 1
+ -i docs/conf/httpd.conf.in
+
+ cat "${srcdir}/arch.layout" >> config.layout
+
+ for mpm in prefork worker itk; do
+ if [ "${mpm}" = "itk" ]; then
+ mkdir -p server/mpm/experimental/itk
+ cp -r server/mpm/prefork/* server/mpm/experimental/itk/
+ mv server/mpm/experimental/itk/prefork.c server/mpm/experimental/itk/itk.c
- cat ${srcdir}/arch.layout >> config.layout
- ./configure --enable-layout=Arch \
- --enable-modules=all \
- --enable-mods-shared=all \
- --enable-so \
- --enable-suexec \
- --with-suexec-caller=http \
- --with-suexec-docroot=/srv/http \
- --with-suexec-logfile=/var/log/httpd/suexec.log \
- --with-suexec-bin=/usr/sbin/suexec \
- --with-suexec-uidmin=99 --with-suexec-gidmin=99 \
- --enable-ldap --enable-authnz-ldap \
- --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache \
- --enable-ssl --with-ssl \
- --enable-deflate --enable-cgid \
- --enable-proxy --enable-proxy-connect \
- --enable-proxy-http --enable-proxy-ftp \
- --enable-dbd \
- --with-apr=/usr/bin/apr-1-config \
- --with-apr-util=/usr/bin/apu-1-config \
- --with-pcre=/usr || return 1
+ patch -Np1 -i "${srcdir}/02-rename-prefork-to-itk.patch"
+ patch -Np1 -i "${srcdir}/03-add-mpm-to-build-system.patch"
+ patch -Np1 -i "${srcdir}/04-correct-output-makefile-location.patch"
+ patch -Np1 -i "${srcdir}/05-add-copyright.patch"
+ patch -Np1 -i "${srcdir}/06-hook-just-after-merging-perdir-config.patch"
+ patch -Np1 -i "${srcdir}/07-base-functionality.patch"
+ patch -Np1 -i "${srcdir}/08-max-clients-per-vhost.patch"
+ patch -Np1 -i "${srcdir}/09-capabilities.patch"
+ patch -Np1 -i "${srcdir}/10-nice.patch"
- make || return 1
+ autoconf
+ fi
+ mkdir build-${mpm}
+ pushd build-${mpm}
+ ../configure --enable-layout=Arch \
+ --enable-modules=all \
+ --enable-mods-shared=all \
+ --enable-so \
+ --enable-suexec \
+ --with-suexec-caller=http \
+ --with-suexec-docroot=/srv/http \
+ --with-suexec-logfile=/var/log/httpd/suexec.log \
+ --with-suexec-bin=/usr/sbin/suexec \
+ --with-suexec-uidmin=99 --with-suexec-gidmin=99 \
+ --enable-ldap --enable-authnz-ldap \
+ --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache \
+ --enable-ssl --with-ssl \
+ --enable-deflate --enable-cgid \
+ --enable-proxy --enable-proxy-connect \
+ --enable-proxy-http --enable-proxy-ftp \
+ --enable-dbd \
+ --with-apr=/usr/bin/apr-1-config \
+ --with-apr-util=/usr/bin/apu-1-config \
+ --with-pcre=/usr \
+ --with-mpm=${mpm}
+ make
+ if [ "${mpm}" = "prefork" ]; then
+ make DESTDIR="${pkgdir}" install
+ else
+ install -m755 httpd "${pkgdir}/usr/sbin/httpd.${mpm}"
+ fi
+ popd
+ done
- make DESTDIR=${pkgdir} install || return 1
- install -D -m755 ${srcdir}/httpd ${pkgdir}/etc/rc.d/httpd
- install -D -m644 ${srcdir}/httpd.logrotate ${pkgdir}/etc/logrotate.d/httpd
+ install -D -m755 "${srcdir}/httpd" "${pkgdir}/etc/rc.d/httpd"
+ install -D -m644 "${srcdir}/httpd.logrotate" "${pkgdir}/etc/logrotate.d/httpd"
+ install -D -m644 "${srcdir}/apache.conf.d" "${pkgdir}/etc/conf.d/apache"
# symlinks for /etc/httpd
- ln -fs /var/log/httpd ${pkgdir}/etc/httpd/logs
- ln -fs /var/run/httpd ${pkgdir}/etc/httpd/run
- ln -fs /usr/lib/httpd/modules ${pkgdir}/etc/httpd/modules
- ln -fs /usr/lib/httpd/build ${pkgdir}/etc/httpd/build
+ ln -fs /var/log/httpd "${pkgdir}/etc/httpd/logs"
+ ln -fs /var/run/httpd "${pkgdir}/etc/httpd/run"
+ ln -fs /usr/lib/httpd/modules "${pkgdir}/etc/httpd/modules"
+ ln -fs /usr/lib/httpd/build "${pkgdir}/etc/httpd/build"
# set sane defaults
sed -e 's#/usr/lib/httpd/modules/#modules/#' \
@@ -71,11 +129,11 @@ build() {
-e 's|#\(Include conf/extra/httpd-languages.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-userdir.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-default.conf\)|\1|' \
- -i ${pkgdir}/etc/httpd/conf/httpd.conf || return 1
+ -i "${pkgdir}/etc/httpd/conf/httpd.conf"
# cleanup
- rm -rf ${pkgdir}/usr/share/httpd/manual
- rm -rf ${pkgdir}/etc/httpd/conf/original
- rm -rf ${pkgdir}/srv/http/*
- rmdir ${pkgdir}/usr/bin
+ rm -rf "${pkgdir}/usr/share/httpd/manual"
+ rm -rf "${pkgdir}/etc/httpd/conf/original"
+ rm -rf "${pkgdir}/srv/"
+ rm -rf "${pkgdir}/usr/bin"
}
diff --git a/abs/core/apache/apache.conf.d b/abs/core/apache/apache.conf.d
new file mode 100644
index 0000000..c6d0ebf
--- /dev/null
+++ b/abs/core/apache/apache.conf.d
@@ -0,0 +1,15 @@
+# Configuration file for the httpd service.
+
+#
+# The default processing model (MPM) is the process-based
+# 'prefork' model. A thread-based model, 'worker', is also
+# available, but does not work with some modules (such as PHP).
+# The service must be stopped before changing this variable.
+#
+#HTTPD=/usr/sbin/httpd.worker
+
+#
+# To pass additional options (for instance, -D definitions) to the
+# httpd binary at startup, set OPTIONS here.
+#
+#OPTIONS=
diff --git a/abs/core/apache/apachectl-confd.patch b/abs/core/apache/apachectl-confd.patch
new file mode 100644
index 0000000..d0f4b69
--- /dev/null
+++ b/abs/core/apache/apachectl-confd.patch
@@ -0,0 +1,15 @@
+--- support/apachectl.in.orig 2010-03-06 18:09:11.000000000 +0100
++++ support/apachectl.in 2010-03-06 18:12:31.000000000 +0100
+@@ -56,6 +56,12 @@
+ # the URL to your server's mod_status status page. If you do not
+ # have one, then status and fullstatus will not work.
+ STATUSURL="http://localhost:@PORT@/server-status"
++
++# Source /etc/conf.d/apache for $HTTPD setting, etc.
++if [ -r /etc/conf.d/apache ]; then
++ . /etc/conf.d/apache
++fi
++
+ #
+ # Set this variable to a command that increases the maximum
+ # number of file descriptors allowed per child process. This is
diff --git a/abs/core/apache/httpd b/abs/core/apache/httpd
index da4de25..6fa9c3c 100755
--- a/abs/core/apache/httpd
+++ b/abs/core/apache/httpd
@@ -1,40 +1,65 @@
#!/bin/bash
-# general config
+daemon_name=httpd
+
. /etc/rc.conf
. /etc/rc.d/functions
+APACHECTL=/usr/sbin/apachectl
+
case "$1" in
start)
- stat_busy "Starting HTTP Daemon"
- /usr/sbin/apachectl start &>/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon httpd
+ stat_busy "Starting Apache Web Server"
+ [ ! -d /var/run/httpd ] && install -d /var/run/httpd
+ if $APACHECTL start >/dev/null ; then
+ add_daemon $daemon_name
stat_done
+ else
+ stat_fail
+ exit 1
fi
;;
+
stop)
- stat_busy "Stopping HTTP Daemon"
- /usr/sbin/apachectl stop &>/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
+ stat_busy "Stopping Apache Web Server"
+ if $APACHECTL stop >/dev/null ; then
+ rm_daemon $daemon_name
+ stat_done
else
- rm_daemon httpd
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ reload)
+ stat_busy "Reloading Apache Web Server"
+ if $APACHECTL graceful >/dev/null ; then
+ add_daemon $daemon_name
stat_done
+ else
+ stat_fail
+ exit 1
fi
;;
+
restart)
- $0 stop
- sleep 3
- $0 start
- ;;
- reload)
- if [ -f /var/run/httpd/httpd.pid ]; then
- status "Reloading HTTP Configuration" kill -HUP `cat /var/run/httpd/httpd.pid`
+ stat_busy "Restarting Apache Web Server"
+ if $APACHECTL restart >/dev/null ; then
+ add_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
fi
;;
+
+ status)
+ stat_busy "Checking Apache Web Server status";
+ ck_status $daemon_name
+ ;;
+
*)
- echo "usage: $0 {start|stop|restart|reload}"
+ echo "usage: $0 {start|stop|reload|restart|status}"
esac
+
+exit 0
diff --git a/abs/core/apache/httpd.install b/abs/core/apache/httpd.install
deleted file mode 100644
index f72141a..0000000
--- a/abs/core/apache/httpd.install
+++ /dev/null
@@ -1,16 +0,0 @@
-post_upgrade() {
- if [ $(vercmp '2.2.8' $2) -ge 0 ]; then
- echo '
- ==> New default DocumentRoot
-
- Apache httpd uses /srv/http as default DocumentRoot.
- You can still use your current DocumentRoot
-
- ==> New default user and group
-
- Instead of "nobody" apache runs as user/group "http" by default now. You might
- want to adjust your httpd.conf according to this change. But you can still
- run httpd as nobody.
- '
- fi
-} \ No newline at end of file
diff --git a/abs/core/apache/httpd.logrotate b/abs/core/apache/httpd.logrotate
index 3f9298c..a723d20 100644
--- a/abs/core/apache/httpd.logrotate
+++ b/abs/core/apache/httpd.logrotate
@@ -1,4 +1,5 @@
/var/log/httpd/*log {
+ missingok
postrotate
/bin/kill -HUP `cat /var/run/httpd/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
diff --git a/abs/core/apr-util/PKGBUILD b/abs/core/apr-util/PKGBUILD
index cce5804..b44720c 100644
--- a/abs/core/apr-util/PKGBUILD
+++ b/abs/core/apr-util/PKGBUILD
@@ -1,24 +1,25 @@
-# $Id: PKGBUILD 4551 2008-07-08 03:25:33Z allan $
+# $Id: PKGBUILD 72241 2010-03-13 20:27:07Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=apr-util
-pkgver=1.3.2
-pkgrel=2
+pkgver=1.3.9
+pkgrel=4
pkgdesc="The Apache Portable Runtime"
arch=('i686' 'x86_64')
url="http://apr.apache.org/"
-depends=('apr>=1.3.2' 'gdbm' 'expat>=2.0' 'db>=4.7' 'libldap')
+depends=('apr>=1.4.2' 'gdbm' 'expat' 'db>=4.8' 'libldap' 'unixodbc')
options=('!libtool')
license=('APACHE')
source=("http://www.apache.org/dist/apr/apr-util-${pkgver}.tar.bz2")
-md5sums=('aa782fb9ced8b59c8e99419d8cdd1981')
+md5sums=('29dd557f7bd891fc2bfdffcfa081db59')
build() {
- cd ${srcdir}/apr-util-${pkgver}
+ cd "${srcdir}/apr-util-${pkgver}"
./configure --prefix=/usr --with-apr=/usr \
--without-pgsql --without-mysql --without-sqlite2 --without-sqlite3 \
- --with-berkeley-db=/usr --with-gdbm=/usr --with-ldap
+ --with-berkeley-db=/usr --with-gdbm=/usr --with-ldap || return 1
make || return 1
- make DESTDIR=${pkgdir} install
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core/apr/PKGBUILD b/abs/core/apr/PKGBUILD
index 561e8e3..b0d3f4d 100644
--- a/abs/core/apr/PKGBUILD
+++ b/abs/core/apr/PKGBUILD
@@ -1,25 +1,31 @@
-# $Id: PKGBUILD 8457 2008-08-11 22:13:07Z pierre $
-# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+# $Id: PKGBUILD 72235 2010-03-13 20:22:25Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=apr
-pkgver=1.3.2
-pkgrel=2
+pkgver=1.4.2
+pkgrel=1
pkgdesc="The Apache Portable Runtime"
arch=('i686' 'x86_64')
url="http://apr.apache.org/"
-depends=('e2fsprogs')
+depends=('util-linux-ng>=2.16')
options=('!libtool')
license=('APACHE')
-source=("http://www.apache.org/dist/apr/apr-${pkgver}.tar.bz2")
-md5sums=('a0631c63640176371dd4a5bf13beeee8')
+source=(http://www.apache.org/dist/apr/apr-${pkgver}.tar.bz2)
+md5sums=('4b00e8f70c067893d075577962656b35')
build() {
- cd ${srcdir}/apr-${pkgver}
+ cd "${srcdir}/apr-${pkgver}"
+ export apr_cv_epoll_create1=no
+ export apr_cv_dup3=no
+ export apr_cv_accept4=no
+ export apr_cv_sock_cloexec=no
- ./configure --prefix=/usr --includedir=/usr/include/apr-1 \
- --with-installbuilddir=/usr/share/apr-1/build \
- --enable-nonportable-atomics \
- --with-devrandom=/dev/urandom
- make || return 1
- make DESTDIR=${pkgdir} install
+ ./configure --prefix=/usr --includedir=/usr/include/apr-1 \
+ --with-installbuilddir=/usr/share/apr-1/build \
+ --enable-nonportable-atomics \
+ --with-devrandom=/dev/urandom || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core/ati-dri/PKGBUILD b/abs/core/ati-dri/PKGBUILD
deleted file mode 100644
index 253f136..0000000
--- a/abs/core/ati-dri/PKGBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# $Id: PKGBUILD 17170 2008-10-26 11:01:19Z andyrtr $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: Alexander Baldeck <alexander@archlinux.org>
-pkgname=ati-dri
-pkgver=7.2
-pkgrel=1
-pkgdesc="DRI drivers for ATI/AMD videochips"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'libgl>=7.2' 'expat>=2.0.1')
-makedepends=('glproto>=1.4.9' 'pkgconfig' 'libxfixes' 'libxdamage' 'libxxf86vm' 'libxext')
-conflicts=('xf86-video-ati<6.9.0-6')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${pkgver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
-
-build() {
- cd "${srcdir}/Mesa-${pkgver}"
- patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=radeon,r200,r300 \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR="${pkgdir}" install || return 1
- rm -f "${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so"
- rm -rf "${pkgdir}/usr/include"
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
-}
diff --git a/abs/core/ati-dri/mesa-7.1-link-shared.patch b/abs/core/ati-dri/mesa-7.1-link-shared.patch
deleted file mode 100644
index 7fdbf14..0000000
--- a/abs/core/ati-dri/mesa-7.1-link-shared.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.dricore mesa-20080814/src/mesa/drivers/dri/Makefile
---- mesa-20080814/src/mesa/drivers/dri/Makefile.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile 2008-08-14 16:18:20.000000000 +1000
-@@ -6,12 +6,17 @@ include $(TOP)/configs/current
-
-
-
--default: $(TOP)/$(LIB_DIR) subdirs
-+default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs
-
-
- $(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
-
-+libdricore.so:
-+ gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc
-+
-+$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so
-+ $(INSTALL) libdricore.so $(TOP)/$(LIB_DIR)
-
- subdirs:
- @for dir in $(DRI_DIRS) ; do \
-@@ -31,12 +36,14 @@ dri.pc: dri.pc.in
- $(pcedit) $< > $@
-
-
--install: dri.pc
-+install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so
- @for dir in $(DRI_DIRS) ; do \
- if [ -d $$dir ] ; then \
- (cd $$dir && $(MAKE) install) || exit 1 ; \
- fi \
- done
-+ $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-+ $(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
- $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \
- $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
-@@ -52,5 +59,6 @@ clean:
- (cd $$dir && $(MAKE) clean) ; \
- fi \
- done
-+ -rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so
- -rm -f common/*.o
- -rm -f *.pc
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore mesa-20080814/src/mesa/drivers/dri/Makefile.template
---- mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile.template 2008-08-14 16:19:37.000000000 +1000
-@@ -1,6 +1,6 @@
- # -*-makefile-*-
-
--MESA_MODULES = $(TOP)/src/mesa/libmesa.a
-+MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so
-
- COMMON_SOURCES = \
- ../common/utils.c \
-@@ -64,7 +64,9 @@ default: symlinks depend $(LIBNAME) $(TO
-
- $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
- $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-- $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
-+ $(OBJECTS) $(WINOBJ) \
-+ -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \
-+ $(DRI_LIB_DEPS)
-
-
- $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
-diff -up mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore mesa-20080814/src/mesa/x86/read_rgba_span_x86.S
---- mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/x86/read_rgba_span_x86.S 2008-08-14 16:16:49.000000000 +1000
-@@ -77,7 +77,6 @@
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_MMX
--.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
- .type _generic_read_RGBA_span_BGRA8888_REV_MMX, @function
- _generic_read_RGBA_span_BGRA8888_REV_MMX:
- pushl %ebx
-@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE:
- pushl %esi
-@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE2:
- pushl %esi
-@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_RGB565_MMX
-- .hidden _generic_read_RGBA_span_RGB565_MMX
- .type _generic_read_RGBA_span_RGB565_MMX, @function
-
- _generic_read_RGBA_span_RGB565_MMX:
diff --git a/abs/core/atk/PKGBUILD b/abs/core/atk/PKGBUILD
index db41418..304d2c8 100644
--- a/abs/core/atk/PKGBUILD
+++ b/abs/core/atk/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 30101 2009-03-16 18:13:31Z jgc $
+# $Id: PKGBUILD 74174 2010-03-30 17:11:38Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=atk
-pkgver=1.26.0
+pkgver=1.30.0
pkgrel=1
pkgdesc="A library providing a set of interfaces for accessibility"
arch=(i686 x86_64)
license=('LGPL')
-depends=('glib2>=2.20.0')
-makedepends=('pkgconfig')
-options=('!libtool' '!docs')
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.26/${pkgname}-${pkgver}.tar.bz2)
+depends=('glib2>=2.24')
+makedepends=('pkgconfig' 'gobject-introspection')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.30/${pkgname}-${pkgver}.tar.bz2)
url='http://www.gtk.org/'
-md5sums=('719229408019c548855673840679f156')
+sha256sums=('92b9b1213cafc68fe9c3806273b968c26423237d7b1f631dd83dc5270b8c268c')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/aufs-utils/PKGBUILD b/abs/core/aufs-utils/PKGBUILD
deleted file mode 100644
index 9db9850..0000000
--- a/abs/core/aufs-utils/PKGBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# $Id: PKGBUILD 22882 2008-12-29 19:41:01Z tpowa $
-# Contributor: Paul Mattal <paul@mattal.com>
-# Maintainer: Paul Mattal <pjmattal@elys.com>
-pkgname=aufs-utils
-pkgver=20081226
-pkgrel=3
-_kernver='2.6.28-LinHES'
-pkgdesc="Another Unionfs Implementation that supports NFS branches"
-arch=('i686' 'x86_64')
-url="http://aufs.sourceforge.net/"
-license=('GPL2')
-depends=('glibc')
-source=(ftp://ftp.archlinux.org/other/aufs/aufs-$pkgver.tar.bz2)
-
-build() {
- cd $srcdir/aufs || return 1
-
- # Fix TMPFS_MAGIC error
- sed 's|-le 26|-le 27|g' -i fs/aufs25/Makefile || return 1
-
- # disable debug, broken in 2.6.28!
- sed -i 's|CONFIG_AUFS_DEBUG = y|CONFIG_AUFS_DEBUG = |' \
- local.mk || return 1
-
- # configure for NFS by:
- # 1) configure local.mk to use FILP and LHASH
- sed -i 's|CONFIG_AUFS_PUT_FILP_PATCH =|CONFIG_AUFS_PUT_FILP_PATCH = y|' \
- local.mk || return 1
- sed -i 's|CONFIG_AUFS_LHASH_PATCH =|CONFIG_AUFS_LHASH_PATCH = y|' \
- local.mk || return 1
- # 2) configure local.mk NOT to use FAKE_DM
- sed -i 's|CONFIG_AUFS_FAKE_DM = y|CONFIG_AUFS_FAKE_DM = |' \
- local.mk || return 1
-
- # build
- make KDIR=/usr/src/linux-$_kernver/ -f local.mk || return 1
-
- # install
- install -D -m755 util/aufind.sh $pkgdir/usr/bin/aufind.sh || return 1
- install -D -m755 util/aulchown $pkgdir/usr/bin/aulchown || return 1
- install -D -m755 util/auplink $pkgdir/usr/bin/auplink || return 1
- install -D -m755 util/mount.aufs $pkgdir/sbin/mount.aufs || return 1
- install -D -m755 util/umount.aufs $pkgdir/sbin/umount.aufs || return 1
- install -D -m644 util/etc_default_aufs $pkgdir/etc/default/aufs || return 1
-}
-
-# vim:set ts=2 sw=2 et:
-md5sums=('e855ed9edc16953028f22cae393690de')
diff --git a/abs/core/aufs/PKGBUILD b/abs/core/aufs/PKGBUILD
deleted file mode 100644
index 3f1e1d0..0000000
--- a/abs/core/aufs/PKGBUILD
+++ /dev/null
@@ -1,71 +0,0 @@
-# $Id: PKGBUILD 22431 2008-12-26 20:13:34Z tpowa $
-# Contributor: Paul Mattal <paul@mattal.com>
-# Maintainer: Paul Mattal <pjmattal@elys.com>
-pkgname=aufs
-pkgver=20081226
-pkgrel=2
-_kernver='2.6.28-LinHES'
-pkgdesc="Another Unionfs Implementation that supports NFS branches"
-arch=('i686' 'x86_64')
-url="http://aufs.sourceforge.net/"
-license=('GPL2')
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'glibc' 'aufs-utils=20081226')
-install=$pkgname.install
-source=(ftp://ftp.archlinux.org/other/aufs/$pkgname-$pkgver.tar.bz2)
-options=(!libtool !makeflags)
-
-build() {
- cd $srcdir/$pkgname || return 1
-
- # Fix TMPFS_MAGIC error
- sed 's|-le 26|-le 27|g' -i fs/aufs25/Makefile || return 1
-
- # use splice functions exported by unionfs kernel patch'
- # - important for loopback fs mounts
- sed -i 's|CONFIG_AUFS_SPLICE_PATCH =|CONFIG_AUFS_SPLICE_PATCH = y|' \
- local.mk || return 1
-
- # this fixes the unionfs patch from hanging aufs
- sed -i 's|CONFIG_AUFS_UNIONFS23_PATCH =|CONFIG_AUFS_UNIONFS23_PATCH = y|' \
- local.mk || return 1
-
- sed -i 's|CONFIG_AUFS_WORKAROUND_FUSE =|CONFIG_AUFS_WORKAROUND_FUSE = y|' \
- local.mk || return 1
-
- sed -i 's|CONFIG_AUFS_BRANCH_MAX_127 = y|CONFIG_AUFS_BRANCH_MAX_127 =|' \
- local.mk || return 1
-
- sed -i 's|CONFIG_AUFS_BRANCH_MAX_1023 =|CONFIG_AUFS_BRANCH_MAX_1023 = y|' \
- local.mk || return 1
-
- # ???
- sed -i 's|.*CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \
- local.mk || return 1
- # disable debug, broken in 2.6.28!
- sed -i 's|CONFIG_AUFS_DEBUG = y|CONFIG_AUFS_DEBUG = |' \
- local.mk || return 1
-
- # configure for NFS by:
- # 1) configure local.mk to use FILP and LHASH
- sed -i 's|CONFIG_AUFS_PUT_FILP_PATCH =|CONFIG_AUFS_PUT_FILP_PATCH = y|' \
- local.mk || return 1
- sed -i 's|CONFIG_AUFS_LHASH_PATCH =|CONFIG_AUFS_LHASH_PATCH = y|' \
- local.mk || return 1
- # 2) configure local.mk NOT to use FAKE_DM
- sed -i 's|CONFIG_AUFS_FAKE_DM = y|CONFIG_AUFS_FAKE_DM = |' \
- local.mk || return 1
-
- # build
- make KDIR=/usr/src/linux-$_kernver/ -f local.mk || return 1
-
- # install
- install -D -m644 fs/aufs25/aufs.ko \
- $startdir/pkg/lib/modules/$_kernver/fs/aufs25/aufs.ko || return 1
-
- # tweak the install script for the right kernel version
- sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
- $startdir/$pkgname.install || return 1
-}
-
-# vim:set ts=2 sw=2 et:
-md5sums=('e855ed9edc16953028f22cae393690de')
diff --git a/abs/core/aufs2-util/PKGBUILD b/abs/core/aufs2-util/PKGBUILD
new file mode 100644
index 0000000..0690bba
--- /dev/null
+++ b/abs/core/aufs2-util/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 80416 2010-05-17 08:02:02Z tpowa $
+# Contributor: Paul Mattal <paul@mattal.com>
+# Maintainer: Paul Mattal <pjmattal@elys.com>
+pkgname=aufs2-util
+pkgver=20100517
+pkgrel=1
+pkgdesc="Another Unionfs Implementation that supports NFS branches"
+arch=('i686' 'x86_64')
+url="http://aufs.sourceforge.net/"
+license=('GPL2')
+depends=('glibc')
+makedepends=('aufs2>=2.6.34_20100517' 'kernel26-headers')
+replaces=('aufs-utils')
+source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make || return 1
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install || return 1
+}
+md5sums=('1541729832ead247953b09dd5cc40883')
diff --git a/abs/core/aufs2-util/create-tarball.sh b/abs/core/aufs2-util/create-tarball.sh
new file mode 100755
index 0000000..dd59212
--- /dev/null
+++ b/abs/core/aufs2-util/create-tarball.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+GITSNAPSHOT=20100517
+# aufs2 (no -xx) for the latest -rc version.
+git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-util.git aufs2-util.git
+cd aufs2-util.git
+#git checkout origin/aufs2${AUFS2VERSION}
+git checkout
+cd ..
+rm -rf aufs2-util-${GITSNAPSHOT}
+cp -a aufs2-util.git aufs2-util-${GITSNAPSHOT}
+tar -czf aufs2-util-${GITSNAPSHOT}.tar.gz --exclude=.git aufs2-util-${GITSNAPSHOT}
diff --git a/abs/core/aufs2/PKGBUILD b/abs/core/aufs2/PKGBUILD
new file mode 100644
index 0000000..21037ef
--- /dev/null
+++ b/abs/core/aufs2/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 80414 2010-05-17 07:59:57Z tpowa $
+# Maintainer: Paul Mattal <pjmattal@elys.com>
+
+pkgname=aufs2
+pkgver=2.6.34_20100517
+pkgrel=1
+#_kernver=${pkgver%_*}-ARCH
+_kernver=2.6.34-LinHES
+pkgdesc="Another Unionfs Implementation"
+arch=('i686' 'x86_64')
+url="http://aufs.sourceforge.net/"
+license=('GPL2')
+depends=('kernel26>=2.6.34' 'kernel26<2.6.35')
+makedepends=('linux-api-headers>=2.6.34' 'linux-api-headers<2.6.35')
+replaces=('aufs')
+install=${pkgname}.install
+source=("ftp://ftp.archlinux.org/other/aufs2/${pkgname}-${pkgver}.tar.gz")
+options=('!makeflags')
+md5sums=('271f07ac41e07cb7c30ff29bee8087fa')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ sed -i 's|CONFIG_AUFS_HNOTIFY =.*|CONFIG_AUFS_HNOTIFY = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_HFSNOTIFY =.*|CONFIG_AUFS_HFSNOTIFY = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_EXPORT =.*|CONFIG_AUFS_EXPORT = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_BDEV_LOOP =.*|CONFIG_AUFS_BDEV_LOOP = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_BR_RAMFS =.*|CONFIG_AUFS_BR_RAMFS = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_DEBUG =.*|CONFIG_AUFS_DEBUG =|' \
+ config.mk || return 1
+ if [ "${CARCH}" = "x86_64" ]; then
+ inot64=" y"
+ else
+ inot64=""
+ fi
+ sed -i "s|CONFIG_AUFS_INO_T_64 =.*|CONFIG_AUFS_INO_T_64 =${inot64}|" \
+ config.mk || return 1
+ # build
+ make KDIR=/usr/src/linux-${_kernver} || return 1
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ install -D -m644 fs/aufs/aufs.ko \
+ $pkgdir/lib/modules/${_kernver}/kernel/fs/aufs/aufs.ko || return 1
+ # tweak the install script for the right kernel version
+ sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
+ $startdir/$pkgname.install || return 1
+ # install include files
+ install -D -m 644 include/linux/aufs_type.h $pkgdir/usr/src/linux-$_kernver/include/linux/aufs_type.h || return 1
+}
+md5sums=('421c5ca3d4d917f92f7c0508a16f8177')
diff --git a/abs/core/aufs2/aufs2.install b/abs/core/aufs2/aufs2.install
new file mode 100644
index 0000000..0f4de97
--- /dev/null
+++ b/abs/core/aufs2/aufs2.install
@@ -0,0 +1,12 @@
+post_install() {
+ KERNEL_VERSION=2.6.34-LinHES
+ depmod $KERNEL_VERSION
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/core/aufs2/create-tarball.sh b/abs/core/aufs2/create-tarball.sh
new file mode 100755
index 0000000..c196c68
--- /dev/null
+++ b/abs/core/aufs2/create-tarball.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+AUFS2VERSION="-34"
+KERNELVERSION=2.6.34
+GITSNAPSHOT=20100517
+# aufs2 (no -xx) for the latest -rc version.
+git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git aufs2-standalone.git
+cd aufs2-standalone.git
+#git checkout origin/aufs2${AUFS2VERSION}
+git checkout origin/aufs2
+#*** apply "aufs2-base.patch" and "aufs2-standalone.patch" to your kernel source files.
+cd ..
+rm -rf aufs2-${KERNELVERSIN}_${GITSNAPSHOT}
+cp -a aufs2-standalone.git aufs2-${KERNELVERSION}_${GITSNAPSHOT}
+tar -czf aufs2-${KERNELVERSION}_${GITSNAPSHOT}.tar.gz --exclude=.git aufs2-${KERNELVERSION}_${GITSNAPSHOT}
diff --git a/abs/core/avahi/ChangeLog b/abs/core/avahi/ChangeLog
index e298fb4..57984a3 100644
--- a/abs/core/avahi/ChangeLog
+++ b/abs/core/avahi/ChangeLog
@@ -1,4 +1,12 @@
+2009-04-23 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 0.6.25
+
+2009-03-21 Eric Belanger <eric@archlinux.org>
+
+ * Added optdepends for avahi-discover (close FS#11250)
+
2009-01-04 Douglas Soares de Andrade <douglas@archlinux.org>
* Updated for i686: 0.6.24
diff --git a/abs/core/avahi/PKGBUILD b/abs/core/avahi/PKGBUILD
index c448d16..f3d15bf 100644
--- a/abs/core/avahi/PKGBUILD
+++ b/abs/core/avahi/PKGBUILD
@@ -1,31 +1,37 @@
-# $Id: PKGBUILD 23159 2009-01-04 04:58:11Z douglas $
-# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
+# $Id: PKGBUILD 70504 2010-02-27 03:24:54Z dgriffiths $
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=avahi
-pkgver=0.6.24
-pkgrel=2
+pkgver=0.6.25
+pkgrel=3
pkgdesc="A multicast/unicast DNS-SD framework"
arch=('i686' 'x86_64')
url="http://www.avahi.org/"
license=('LGPL')
-depends=('dbus>=1.1.20-1' 'libcap' 'libdaemon>=0.11' 'gdbm' 'glib2' 'expat')
-optdepends=('qt3:Qt3 UI support' 'libglade:Avahi-discover-standalone'
- 'nss-mdns:NSS support for mDNS')
+depends=('dbus>=1.1.20-1' 'libcap>=2.16' 'libdaemon>=0.11' 'gdbm' 'glib2' 'expat')
+optdepends=('qt3: Qt3 UI support'
+ 'libglade: avahi-discover-standalone'
+ 'nss-mdns: NSS support for mDNS'
+ 'pygtk: avahi-discover'
+ 'dbus-python: avahi-discover')
makedepends=('mono' 'pygtk' 'gtk-sharp-2' 'dbus-python' 'qt3' 'libglade' 'intltool')
-backup=(etc/avahi/avahi-daemon.conf)
+backup=(etc/avahi/avahi-daemon.conf etc/avahi/services/{sftp-,}ssh.service)
install=avahi.install
conflicts=('howl' 'mdnsresponder')
provides=('howl' 'mdnsresponder')
replaces=('howl' 'mdnsresponder')
options=('!libtool')
-source=(http://www.avahi.org/download/avahi-${pkgver}.tar.gz gnome-nettool.png)
+source=(http://www.avahi.org/download/avahi-${pkgver}.tar.gz gnome-nettool.png avahi-daemon-dbus.patch)
build() {
[ -z "${QTDIR}" ] && . /etc/profile.d/qt3.sh
- export MONO_SHARED_DIR=${startdir}/src/.wabi
+ export MONO_SHARED_DIR=${srcdir}/.wabi
mkdir -p ${MONO_SHARED_DIR}
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ sed -i 's|Requires.private|Requires|' avahi-qt3.pc.in
+
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
@@ -42,23 +48,24 @@ build() {
--with-autoipd-group=avahi
make || return 1
- make DESTDIR=${startdir}/pkg install
+ make DESTDIR=${pkgdir} install
rm -rf ${MONO_SHARED_DIR}
- #fix capability
- sed -i -e 's|$DAEMON -D |modprobe capability > /dev/null 2>\&1 ; $DAEMON -D |' ${startdir}/pkg/etc/rc.d/avahi-daemon
-
- sed -i -e 's/netdev/network/g' ${startdir}/pkg/etc/dbus-1/system.d/avahi-dbus.conf
+ sed -i -e 's/netdev/network/g' ${pkgdir}/etc/dbus-1/system.d/avahi-dbus.conf
# howl and mdnsresponder compatability
- cd ${startdir}/pkg/usr/include
+ cd ${pkgdir}/usr/include
ln -s avahi-compat-libdns_sd/dns_sd.h dns_sd.h
ln -s avahi-compat-howl howl
- cd ${startdir}/pkg/usr/lib/pkgconfig
+ cd ${pkgdir}/usr/lib/pkgconfig
ln -s avahi-compat-howl.pc howl.pc
- mkdir -p ${startdir}/pkg/usr/share/pixmaps
- install -m 644 ${startdir}/src/gnome-nettool.png ${startdir}/pkg/usr/share/pixmaps/gnome-nettool.png
+ mkdir -p ${pkgdir}/usr/share/pixmaps
+ install -m 644 ${srcdir}/gnome-nettool.png ${pkgdir}/usr/share/pixmaps/gnome-nettool.png
+
+ cd ${pkgdir}
+ patch -p0 < ${srcdir}/avahi-daemon-dbus.patch || return 1
}
-md5sums=('068c1d220b07037e64caf87d4a7a0504'
- '42c2905307c7a5dc6ac4b75f4c3d65a3')
+md5sums=('a83155a6e29e3988f07e5eea3287b21e'
+ '42c2905307c7a5dc6ac4b75f4c3d65a3'
+ '0e1f5900b56fcfa1bffddb4f233f539f')
diff --git a/abs/core/avahi/avahi-daemon-dbus.patch b/abs/core/avahi/avahi-daemon-dbus.patch
new file mode 100644
index 0000000..fe82f41
--- /dev/null
+++ b/abs/core/avahi/avahi-daemon-dbus.patch
@@ -0,0 +1,16 @@
+--- etc/rc.d/avahi-daemon 2010-02-26 21:10:30.000000000 -0600
++++ etc/rc.d/avahi-daemon 2010-02-26 21:09:44.000000000 -0600
+@@ -35,8 +35,11 @@
+
+ case "$1" in
+ start)
+- stat_busy "Starting $DESC"
+- $DAEMON -D > /dev/null 2>&1
++ if ck_daemon dbus; then
++ /etc/rc.d/dbus start
++ fi
++ stat_busy "Starting $DESC"
++ modprobe capability > /dev/null 2>&1 ; $DAEMON -D > /dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
diff --git a/abs/core/bash/PKGBUILD b/abs/core/bash/PKGBUILD
index ae1eaba..96c24a1 100644
--- a/abs/core/bash/PKGBUILD
+++ b/abs/core/bash/PKGBUILD
@@ -1,101 +1,69 @@
-# $Id: PKGBUILD 25772 2009-01-28 20:03:08Z aaron $
+# $Id: PKGBUILD 82719 2010-06-16 04:44:35Z allan $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=bash
-_patchlevel=048
-pkgver=3.2.$_patchlevel
-pkgrel=3
+_patchlevel=007 #prepare for some patches
+pkgver=4.1.$_patchlevel
+pkgrel=1
pkgdesc="The GNU Bourne Again shell"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('GPL')
url="http://www.gnu.org/software/bash/bash.html"
groups=('base')
backup=(etc/profile.bash etc/skel/.bashrc etc/skel/.bash_profile)
-depends=('readline>=5.2' 'glibc')
-makedepends=(gzip bison)
+depends=('readline>=6.1' 'glibc')
+makedepends=(gzip)
provides=('sh')
install=bash.install
-source=(http://ftp.gnu.org/gnu/bash/bash-3.2.tar.gz
- profile.bash bashrc)
-for p in $(seq -w 001 $_patchlevel); do
- source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-$p)
-done
+source=(http://ftp.gnu.org/gnu/bash/bash-4.1.tar.gz
+ profile.bash
+ bashrc
+ enable-system-config-files.patch
+ system.bashrc)
+if [ $_patchlevel -gt 000 ]; then
+ for (( p=1; p<=$_patchlevel; p++ )); do
+ source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-4.1-patches/bash41-$(printf "%03d" $p))
+ done
+fi
build() {
- cd ${startdir}/src/${pkgname}-3.2
- for p in ../bash32-*; do
+ cd ${srcdir}/${pkgname}-4.1
+ for p in ../bash41-*; do
+ [ -e "$p" ] || continue
msg "applying patch ${p}"
patch -Np0 -i ${p} || return 1
done
+ patch -Np0 -i $srcdir/enable-system-config-files.patch || return 1
+
./configure --prefix=/usr --with-curses --enable-readline \
--without-bash-malloc --with-installed-readline \
--bindir=/bin --mandir=/usr/share/man --infodir=/usr/share/info
make || return 1
- make DESTDIR=${startdir}/pkg install
+ make DESTDIR=${pkgdir} install
- install -D -m644 ${startdir}/src/profile.bash ${startdir}/pkg/etc/profile.bash
+ install -D -m644 ${srcdir}/profile.bash ${pkgdir}/etc/profile.bash || return 1
+ install -D -m644 ${srcdir}/system.bashrc ${pkgdir}/etc/bash.bashrc || return 1
# for now, bash is our default /bin/sh
- cd ${startdir}/pkg/bin
+ cd ${pkgdir}/bin
ln -s bash sh
- mkdir -p $startdir/pkg/etc/skel/
- install -D -m644 $startdir/src/bashrc $startdir/pkg/etc/skel/.bashrc
- echo ". \$HOME/.bashrc" >$startdir/pkg/etc/skel/.bash_profile
-
- rm -f ${pkgdir}/usr/share/info/dir
- gzip -9 ${pkgdir}/usr/share/info/bash.info
+ mkdir -p ${pkgdir}/etc/skel/
+ install -D -m644 ${srcdir}/bashrc ${pkgdir}/etc/skel/.bashrc
+ echo ". \$HOME/.bashrc" >${pkgdir}/etc/skel/.bash_profile
}
-# wow, that's a lot of md5sums!
-md5sums=('00bfa16d58e034e3c2aa27f390390d30'
- 'c2fae355facefcac8a732cce877da194'
+
+md5sums=('9800d8724815fd84994d9be65ab5e7b8'
+ '17f20ec69535a2f50f2112a8c700630d'
'3d2837e84645eac9bde399b58014bafa'
- 'd8e10c754f477e3f3a581af566b89301'
- 'd38a5288b2f0ea6c9ac76b66cc74ef7d'
- '0b90d37911827d8cb95f3b4353cc225e'
- '8062f3a59631f58d78b180d83759b68a'
- '585b5943fadf0875ced243b245adde58'
- '1d5732e01ea938aeed42f3def131fa4d'
- 'dcd0cc5d801607827f7c851e72b0eabc'
- 'bb3c7dd11198c0ab93d0e960bebf6256'
- '434a6f29b0ca5f1ab784b2437ae8eaed'
- '2efff04dd246fcf63bd4b99f77c9a081'
- '1dd104342f6920dfaf5efb3131e922e0'
- '4f24b696ab78bdfae4f9cb7eb59b835d'
- '7c40addbf1187a26ae1c8373ed383442'
- '28e88c9f8679e99ac590d4a4a8227c56'
- '7c17d29675bd0d49470f162774385f80'
- 'a1edaa98b4449fe2205fa75448b7b105'
- '889ed119bbf9d363660b9a0127f35efa'
- 'a7d3f85fa687d2c1b5a134839f6d395d'
- 'f0399da4007e46fc5820ce25d07425b9'
- 'b76602281c3104d904fd064510fe0c21'
- '923374ae4403c92820f711e62e1d01a5'
- 'c82d3bd14e373878b2a680dce18d1596'
- '987c949a77b4b0ffe4a2597141e77635'
- '5a2b976e761ab83f0fc7daae11451b86'
- '08668dc2825f65eced9cac6b09ce1b45'
- 'f35b2b217f088ff009f956894550d41d'
- 'b5ff2b9610c61290f773c4b02cc1a37d'
- '016f5b56c93404d32aea09385f0fc13e'
- 'a81420626d4d88d0dce2ffac0ac56341'
- '11f91baf970c132949f9072ee93f2ea6'
- 'f6bbc1e8ec0246740731c728ef476191'
- '8180ec936770579bce69f0816c2dd878'
- '3cec33c3711860c4c6b7614afeec7870'
- '7bc6c5b5f38b7027152f8db0458a2e14'
- 'a2db61fe90e39371d0e6cd2285ec9208'
- '95c70c7ae9de5bd3659c86284be7fb76'
- '62b876a3d7cd192cc8db2476fbb6b7b9'
- 'aca3afc341bd3e5a0d8a3b4ca40dbb3f'
- 'e240c34f979b64bcb83c5f6567110bb1'
- '06e6df263398807fa032707fb7b77b5f'
- '373ae081d658dc85bc1058c4759d6669'
- '9c9ebc6bfc33a0215277ee17a276eb5a'
- 'b87fb9ea16a64ca41b6676e9a7eb7a33'
- '07e0229ce5879bfbd26a8146070fd366'
- '1ad07965a8a93f3556ee1ab18b97cde2'
- 'f7b1e19fcad54c2286bc0ed614aad9bf'
- '550690766de770116c34dbdf74e59184'
- '4cc593e7b789b23b37a5397e092d3954')
+ '51725defa4c2dec49c1bc15883e0bee2'
+ '196697769f1667a8a1aed608811129c6'
+ '582dea5671b557f783e18629c2f77b68'
+ '118d465095d4a4706eb1d34696a2666a'
+ '120f7cf039a40d35fe375e59d6f17adc'
+ '336ee037fc2cc1e2350b05097fbdc87c'
+ '9471e666797f0b03eb2175ed752a9550'
+ 'fb80ccd58cb1e34940f3adf4ce6e4a1e'
+ '192a8b161d419a1d0d211169f1d1046e')
+
diff --git a/abs/core/bash/bash-noinfo.patch b/abs/core/bash/bash-noinfo.patch
deleted file mode 100644
index 856ec80..0000000
--- a/abs/core/bash/bash-noinfo.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur bash-3.0-orig/doc/Makefile.in bash-3.0/doc/Makefile.in
---- bash-3.0-orig/doc/Makefile.in 2004-07-27 05:57:48.000000000 -0700
-+++ bash-3.0/doc/Makefile.in 2005-02-11 22:44:49.000000000 -0800
-@@ -220,7 +220,7 @@
- $(SHELL) $(SUPPORT_SRCDIR)/mkinstalldirs $(DESTDIR)$(htmldir) ; \
- fi
-
--install: info installdirs bash.info
-+install: installdirs
- -$(INSTALL_DATA) $(srcdir)/bash.1 $(DESTDIR)$(man1dir)/bash${man1ext}
- -$(INSTALL_DATA) $(srcdir)/bashbug.1 $(DESTDIR)$(man1dir)/bashbug${man1ext}
- # uncomment the next line to install the builtins man page
diff --git a/abs/core/bash/enable-system-config-files.patch b/abs/core/bash/enable-system-config-files.patch
new file mode 100644
index 0000000..5295355
--- /dev/null
+++ b/abs/core/bash/enable-system-config-files.patch
@@ -0,0 +1,15 @@
+--- src/bash-4.0/config-top.h 2009-01-04 11:32:23.000000000 -0800
++++ config-top.h 2009-08-25 08:41:08.000000000 -0700
+@@ -75,10 +75,10 @@
+ #define KSH_COMPATIBLE_SELECT
+
+ /* System-wide .bashrc file for interactive shells. */
+-/* #define SYS_BASHRC "/etc/bash.bashrc" */
++#define SYS_BASHRC "/etc/bash.bashrc"
+
+ /* System-wide .bash_logout for login shells. */
+-/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */
++#define SYS_BASH_LOGOUT "/etc/bash.bash_logout"
+
+ /* Define this to make non-interactive shells begun with argv[0][0] == '-'
+ run the startup files when not in posix mode. */
diff --git a/abs/core/bash/profile b/abs/core/bash/profile
deleted file mode 100644
index ca1d402..0000000
--- a/abs/core/bash/profile
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# /etc/profile
-#
-
-export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/opt/bin"
-
-export MANPATH="/usr/man:/usr/X11R6/man"
-export LESSCHARSET="latin1"
-export INPUTRC="/etc/inputrc"
-export LESS="-R"
-
-export LC_COLLATE="C"
-
-export COLUMNS LINES
-
-export PS1='[\u@\h \W]\$ '
-export PS2='> '
-
-umask 022
-
-if [ "$TERM" = "xterm" -o "$TERM" = "xterm-color" -o "$TERM" = "rxvt" -o "$TERM" = "xterm-xfree86" ]; then
- PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
-fi
-
-# load profiles from /etc/profile.d
-# (to disable a profile, just remove execute permission on it)
-if [ `ls -A1 /etc/profile.d/ | wc -l` -gt 0 ]; then
- for profile in /etc/profile.d/*.sh; do
- if [ -x $profile ]; then
- . $profile
- fi
- done
- unset profile
-fi
-# End of file
diff --git a/abs/core/bash/profile.bash b/abs/core/bash/profile.bash
index 8a7e1aa..d28f069 100644
--- a/abs/core/bash/profile.bash
+++ b/abs/core/bash/profile.bash
@@ -3,23 +3,9 @@
# Global settings for bash shells
#
-PS1='[\u@\h \W]\$ '
-PS2='> '
-PS3='> '
-PS4='+ '
-
-export PS1 PS2 PS3 PS4
-
#In the future we may want to add more ulimit entries here,
# in the offchance that /etc/security/limits.conf is skipped
ulimit -Sc 0 #Don't create core files
-if test "$TERM" = "xterm" -o \
- "$TERM" = "xterm-color" -o \
- "$TERM" = "xterm-256color" -o \
- "$TERM" = "rxvt" -o \
- "$TERM" = "rxvt-unicode" -o \
- "$TERM" = "xterm-xfree86"; then
- PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
- export PROMPT_COMMAND
-fi
+# Source our global bashrc file, to remove duplication of effort
+[ -r /etc/bash.bashrc ] && . /etc/bash.bashrc
diff --git a/abs/core/bash/system.bashrc b/abs/core/bash/system.bashrc
new file mode 100644
index 0000000..5430d6b
--- /dev/null
+++ b/abs/core/bash/system.bashrc
@@ -0,0 +1,31 @@
+#
+# /etc/bash.bashrc
+#
+# This file is the systemwide bashrc file. While most of the
+# environment is preserved when running an interactive shell
+# the PS[1-4] variables, aliases and functions are reset.
+#
+# When running a non-login shell, apply the following settings:
+# - Prompt defaults (PS[1-4], PROMPT_COMMAND)
+# - bash_completion if it exists
+# - source /etc/bash.bashrc.local
+
+PS1='[\u@\h \W]\$ '
+PS2='> '
+PS3='> '
+PS4='+ '
+
+export PS1 PS2 PS3 PS4
+
+if test "$TERM" = "xterm" -o \
+ "$TERM" = "xterm-color" -o \
+ "$TERM" = "xterm-256color" -o \
+ "$TERM" = "rxvt" -o \
+ "$TERM" = "rxvt-unicode" -o \
+ "$TERM" = "xterm-xfree86"; then
+ PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
+ export PROMPT_COMMAND
+fi
+
+[ -r /etc/bash_completion ] && . /etc/bash_completion
+[ -r /etc/bash.bashrc.local ] && . /etc/bash.bashrc.local
diff --git a/abs/core/bc/PKGBUILD b/abs/core/bc/PKGBUILD
index a20e35f..1ecefa1 100644
--- a/abs/core/bc/PKGBUILD
+++ b/abs/core/bc/PKGBUILD
@@ -1,26 +1,31 @@
-# $Id: PKGBUILD 9097 2008-08-17 03:44:40Z allan $
+# $Id: PKGBUILD 58247 2009-11-06 14:41:31Z eric $
# Maintainer: dorphell <dorphell@archlinux.org>
pkgname=bc
pkgver=1.06
-pkgrel=5
+pkgrel=7
pkgdesc="An arbitrary precision calculator language"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/bc/"
license=('GPL')
depends=('readline')
-replaces=(bc-readline)
-conflicts=(bc-readline)
+replaces=('bc-readline')
+conflicts=('bc-readline')
+install=bc.install
source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz
- build-fix.patch)
-md5sums=('d44b5dddebd8a7a7309aea6c36fda117' 'fc7ecbd9e55ef04c6d3a495692626116')
+ build-fix.patch bc-1.06-info-dir-entry.patch)
+md5sums=('d44b5dddebd8a7a7309aea6c36fda117' 'fc7ecbd9e55ef04c6d3a495692626116'\
+ 'b6fe9869830aca0d34badf810fe0cfb3')
+sha1sums=('c8f258a7355b40a485007c40865480349c157292' '3af67c59e2232b9329ff0c1cf49d1a8a1cf87cd7'\
+ 'c15c2a301ba80cf4d3c03a6e164f4e57fa86e4a2')
build() {
CFLAGS="$CFLAGS -O3"
- cd ${startdir}/src/${pkgname}-${pkgver}
- patch -Np1 -i ${startdir}/src/build-fix.patch || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i "${srcdir}/build-fix.patch" || return 1
+ patch -p1 -i "${srcdir}/bc-1.06-info-dir-entry.patch" || return 1
./configure --prefix=/usr --mandir=/usr/share/man \
- --infodir=/usr/share/info --with-readline
+ --infodir=/usr/share/info --with-readline || return 1
make LEX="flex -I" || return 1
- make DESTDIR=${startdir}/pkg install
- rm ${pkgdir}/usr/share/info/dir
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core/bc/bc-1.06-info-dir-entry.patch b/abs/core/bc/bc-1.06-info-dir-entry.patch
new file mode 100644
index 0000000..8c1344c
--- /dev/null
+++ b/abs/core/bc/bc-1.06-info-dir-entry.patch
@@ -0,0 +1,11 @@
+--- bc-1.06/doc/bc.info.info-dir-entry 2000-10-03 20:36:31.000000000 +0200
++++ bc-1.06/doc/bc.info 2003-01-06 14:07:40.000000000 +0100
+@@ -1,5 +1,8 @@
+ This is bc.info, produced by makeinfo version 4.0 from bc.texi.
+
++START-INFO-DIR-ENTRY
++* bc: (bc). Arbritrary precision calculator language.
++END-INFO-DIR-ENTRY
+ 
+ File: bc.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
+
diff --git a/abs/core/bc/bc.install b/abs/core/bc/bc.install
new file mode 100644
index 0000000..e1e2eaa
--- /dev/null
+++ b/abs/core/bc/bc.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(bc.info.gz dc.info.gz)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/core/binutils/PKGBUILD b/abs/core/binutils/PKGBUILD
index 9a8b925..0ec1438 100644
--- a/abs/core/binutils/PKGBUILD
+++ b/abs/core/binutils/PKGBUILD
@@ -1,70 +1,74 @@
-# $Id: PKGBUILD 19325 2008-11-20 11:47:00Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# $Id: PKGBUILD 80784 2010-05-22 08:05:08Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
-# toolchain build order: kernel-headers->glibc->binutils->gcc-libs->gcc->binutils->glibc
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=binutils
-pkgver=2.19
-pkgrel=1
-_date=20081119
+pkgver=2.20.1
+pkgrel=3
+_date=20100521
pkgdesc="A set of programs to assemble and manipulate binary and object files"
arch=('i686' 'x86_64')
-url="http://sources.redhat.com/binutils"
+url="http://www.gnu.org/software/binutils/"
license=('GPL')
groups=('base')
+depends=('glibc>=2.12-1' 'zlib')
options=('!libtool' '!distcc' '!ccache')
-depends=('glibc>=2.9-1' 'texinfo>=4.12-3')
-source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
-md5sums=('4a49694b08ef0e5931dba4813326d062')
install=binutils.install
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
+md5sums=('67053ffd8582e646e171fccd55b2f0f6')
-build() {
- # for cvs checkout
-# mkdir ${startdir}/src/${pkgname}-${_date}
-# cd ${startdir}/src/${pkgname}-${_date}
-# export _TAG=binutils-2_19-branch
-# export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src'
-# cvs -z9 co -r $_TAG binutils || return 1
-# cd src && tar -cvjf ../../../binutils-2.19_${_date}.tar.bz2 *
-# return 1
-
- cd ${startdir}/src
+mksource() {
+ mkdir ${pkgname}-${_date}
+ cd ${pkgname}-${_date}
+ export _TAG=binutils-2_20-branch
+ export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src'
+ cvs -z9 co -r $_TAG binutils || return 1
+ cd src && tar -cvjf ../../binutils-${pkgver}_${_date}.tar.bz2 *
+}
- mkdir build
- cd build
+build() {
+ cd ${srcdir}
+ mkdir build && cd build
CC="gcc -L`pwd`/bfd/.libs/"
if [ "${CARCH}" = "x86_64" ]; then
- ../configure --prefix=/usr --infodir=/usr/share/info --enable-shared --enable-64-bit-bfd --disable-multilib
+ ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-64-bit-bfd --disable-multilib
else
- ../configure --prefix=/usr --infodir=/usr/share/info --enable-shared
+ ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared
fi
+ # fix man files install path
+ sed -i -e "s:mandir \= \/usr\/share:mandir \= ${pkgdir}\/usr\/share:" ${srcdir}/build/Makefile || return 1
# fix info files install path
sed -i -e "s:infodir \= \/usr\/share:infodir \= ${pkgdir}\/usr\/share:" ${srcdir}/build/Makefile || return 1
# This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
make configure-host || return 1
- make tooldir=${startdir}/pkg/usr || return 1
- make prefix=${startdir}/pkg/usr tooldir=${startdir}/pkg/usr install
- install -m 644 ../include/libiberty.h ${startdir}/pkg/usr/include
+ make tooldir=${pkgdir}/usr || return 1
+}
- if [ "${CARCH}" = "x86_64" ]; then
- # Rebuild libiberty.a with -fPIC
- make -C libiberty clean
- make CFLAGS="$CFLAGS -fPIC" -C libiberty
- install -m 644 libiberty/libiberty.a ${startdir}/pkg/usr/lib
- # Rebuild libbfd.a with -fPIC
- make -C bfd clean
- make CFLAGS="$CFLAGS -fPIC" -C bfd
- install -m 644 bfd/libbfd.a ${startdir}/pkg/usr/lib
- fi
+package() {
+ cd ${srcdir}/build
+ make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
+ install -m644 ${srcdir}/include/libiberty.h ${pkgdir}/usr/include
- rm -f ${startdir}/pkg/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
+ # Rebuild libiberty.a with -fPIC
+ make -C libiberty clean
+ make CFLAGS="$CFLAGS -fPIC" -C libiberty
+ install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib
+
+ # Rebuild libbfd.a with -fPIC
+ make -C bfd clean
+ # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
+ make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd
+ install -m644 bfd/libbfd.a ${pkgdir}/usr/lib
+
+ rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
# Remove these symlinks, with binutils prereleases they are not ABI stable.
# Programs should compile static to the .a file.
- rm -f ${startdir}/pkg/usr/lib/lib{bfd,opcodes}.so
-
- rm -f ${pkgdir}/usr/share/info/dir
+ rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so
+ echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so
+ echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so
}
diff --git a/abs/core/binutils/binutils.install b/abs/core/binutils/binutils.install
index a1e762a..51781e7 100644
--- a/abs/core/binutils/binutils.install
+++ b/abs/core/binutils/binutils.install
@@ -1,20 +1,17 @@
infodir=/usr/share/info
filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.info)
-post_install() {
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
-post_upgrade() {
- post_install $1
-}
-
pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/cairo/PKGBUILD b/abs/core/cairo/PKGBUILD
index 4bdb085..2ea6c60 100644
--- a/abs/core/cairo/PKGBUILD
+++ b/abs/core/cairo/PKGBUILD
@@ -1,22 +1,23 @@
-# $Id: PKGBUILD 22041 2008-12-21 12:11:48Z jgc $
+# $Id: PKGBUILD 71210 2010-03-05 15:30:02Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Brice Carpentier <brice@daknet.org>
pkgname=cairo
-pkgver=1.8.6
+pkgver=1.8.10
pkgrel=1
pkgdesc="Cairo vector graphics library"
arch=(i686 x86_64)
license=('LGPL' 'MPL')
url="http://cairographics.org/"
-depends=('libpng>=1.2.33' 'libxrender' 'fontconfig>=2.6.0' 'pixman>=0.12.0' 'xcb-util>=0.3.2')
-makedepends=('pkgconfig')
+depends=('libpng>=1.4.0' 'libxrender' 'fontconfig>=2.8.0' 'pixman>=0.16.6' 'xcb-util>=0.3.6')
+makedepends=('pkgconfig' 'gtk-doc')
options=('!libtool')
source=(http://cairographics.org/releases/${pkgname}-${pkgver}.tar.gz)
-md5sums=('4e64139ef6f668df24450f3b81dd0771')
+sha1sums=('fd5e8ca82ff0e8542ea4c51612cad387f2a49df3')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i -e 's/libpng13/libpng14/g' configure || return 1
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --enable-xcb --disable-static || return 1
make || return 1
diff --git a/abs/core/cloog-ppl/PKGBUILD b/abs/core/cloog-ppl/PKGBUILD
new file mode 100644
index 0000000..56af019
--- /dev/null
+++ b/abs/core/cloog-ppl/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 87235 2010-08-11 12:10:19Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: ezzetabi <ezzetabi at gawab dot com>
+
+pkgname=cloog-ppl
+pkgver=0.15.9
+pkgrel=2
+pkgdesc="Library that generates loops for scanning polyhedra"
+arch=('i686' 'x86_64')
+url="http://www.cloog.org/"
+license=('GPL')
+depends=('ppl>=0.11')
+options=('!libtool')
+source=(ftp://gcc.gnu.org/pub/gcc/infrastructure/${pkgname}-${pkgver}.tar.gz)
+md5sums=('806e001d1b1a6b130069ff6274900af5')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # "Add" ppl-0.11 compatibility
+ sed -i "/ppl_minor_version=/s#10#11#" configure
+
+ ./configure --prefix=/usr --infodir=/usr/share/info \
+ --with-bits=gmp --with-ppl=/usr
+ make
+ make check
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir/ install
+}
diff --git a/abs/core/coreutils/PKGBUILD b/abs/core/coreutils/PKGBUILD
index b8418e9..2c6fab9 100644
--- a/abs/core/coreutils/PKGBUILD
+++ b/abs/core/coreutils/PKGBUILD
@@ -1,73 +1,67 @@
-# $Id: PKGBUILD 29340 2009-03-08 00:18:55Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# $Id: PKGBUILD 82551 2010-06-13 12:07:11Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=coreutils
-pkgver=7.1
-pkgrel=5
+pkgver=8.5
+pkgrel=2
pkgdesc="The basic file, shell and text manipulation utilities of the GNU operating system"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('GPL3')
url="http://www.gnu.org/software/coreutils"
groups=('base')
-depends=('glibc>=2.9-4' 'shadow>=4.1.2.1-2' 'pam>=1.0.3' 'acl>=2.2.47-1' 'gmp>=4.2.4')
-provides=('mktemp')
-conflicts=('mktemp')
-replaces=('sh-utils' 'fileutils' 'textutils' 'mktemp')
+depends=('glibc' 'shadow' 'pam' 'acl' 'gmp>=5.0' 'libcap')
+replaces=('mktemp')
backup=('etc/pam.d/su')
install=${pkgname}.install
-options=('!emptydirs' '!makeflags')
-source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz
- coreutils-i18n.patch
+options=('!emptydirs')
+source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz
coreutils-uname.patch
coreutils-pam.patch
- coreutils-6.10-configuration.patch
- coreutils-7.1-sort-endoffields.patch
- coreutils-7.1-cp-recursiveinfloop.patch
- su)
+ su.pam)
+md5sums=('55170ed640e300f5b81640c6f4641513'
+ 'c4fcca138b6abf6d443d48a6f0cd8833'
+ 'aad79a2aa6d566c375d7bdd1b0767278'
+ 'fa85e5cce5d723275b14365ba71a8aad')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- # added pam patch and i18n patch from fedora cvs
-# patch -Np1 -i ../coreutils-pam.patch || return 1
- patch -Np1 -i ../coreutils-i18n.patch || return 1
- patch -Np1 -i ../coreutils-6.10-configuration.patch || return 1
+ # added su wheel group pam patch (from fedora cvs)
+ patch -Np1 -i ${srcdir}/coreutils-pam.patch
- # from gentoo portage
- patch -Np1 -i ../coreutils-uname.patch || return 1
+ # linux specific uname improvement (from gentoo portage)
+ patch -Np1 -i ${srcdir}/coreutils-uname.patch
- # bugfix patches from fedora
- patch -Np1 -i ../coreutils-7.1-sort-endoffields.patch || return 1
- patch -Np1 -i ../coreutils-7.1-cp-recursiveinfloop.patch || return 1
-
- # only needed if new autoconf 2.62 is used
- sed -i 's/1.10a/1.10.2/' configure.ac || return 1 # aclocal fix
- sed -i 's/dist-xz/dist-lzma/' configure.ac || return 1
autoreconf -v
-
./configure --prefix=/usr \
- --enable-install-program=su \
- --enable-pam ac_cv_func_openat=no || return 1
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
+ --enable-install-program=su \
+ --enable-no-install-program=groups,hostname,kill,uptime \
+ --enable-pam ac_cv_func_openat=no
+ make
+ make check
+}
- rm -f ${pkgdir}/usr/bin/hostname ${pkgdir}/usr/share/man/man1/hostname.1 || return 1
- rm -f ${pkgdir}/usr/bin/uptime ${pkgdir}/usr/share/man/man1/uptime.1 || return 1
- rm -f ${pkgdir}/usr/bin/groups ${pkgdir}/usr/share/man/man1/groups.1 || return 1
- rm -f ${pkgdir}/usr/bin/kill ${pkgdir}/usr/share/man/man1/kill.1|| return 1
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
cd ${pkgdir}/usr/bin
- mkdir -p ${pkgdir}/bin ${pkgdir}/sbin ${pkgdir}/usr/sbin
- mv su date echo false pwd stty true uname cat tr cut readlink ../../bin
- mv dd cp df du ln ls mv rm dir sync vdir chgrp chmod chown ../../bin
- mv mkdir mknod rmdir shred touch mkfifo dircolors install sleep ../../bin
- mv chroot ../sbin
- ln -sf test [
- ln -sf /bin/sleep ${pkgdir}/usr/bin/sleep
- install -D -m644 $startdir/src/su ${pkgdir}/etc/pam.d/su
-
+ install -dm755 ${pkgdir}/{bin,usr/sbin}
+
+ # binaries required by FHS
+ _fhs="cat chgrp chmod chown cp date dd df echo false ln ls \
+ mkdir mknod mv pwd rm rmdir stty su sync true uname"
+ mv ${_fhs} ${pkgdir}/bin
ls -lha ${pkgdir}/bin/su
chmod -v 4555 ${pkgdir}/bin/su
- rm -f ${pkgdir}/usr/share/info/dir
+ # binaries required by various Arch scripts
+ _bin="cut dir dircolors du install mkfifo readlink shred \
+ sleep touch tr vdir"
+ mv ${_bin} ${pkgdir}/bin
+ ln -sf /bin/sleep ${pkgdir}/usr/bin/sleep
+
+ mv chroot ${pkgdir}/usr/sbin
+ install -Dm644 ${srcdir}/su.pam ${pkgdir}/etc/pam.d/su
}
diff --git a/abs/core/coreutils/__changelog b/abs/core/coreutils/__changelog
deleted file mode 100644
index f24cf44..0000000
--- a/abs/core/coreutils/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-removed PAM patch, as it causes su to go bonkers and log you out.
-
diff --git a/abs/core/coreutils/coreutils-6.10-configuration.patch b/abs/core/coreutils/coreutils-6.10-configuration.patch
deleted file mode 100644
index b9bddda..0000000
--- a/abs/core/coreutils/coreutils-6.10-configuration.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-diff -urN coreutils-6.11-orig/tests/mkdir/selinux coreutils-6.11/tests/mkdir/selinux
---- coreutils-6.11-orig/tests/mkdir/selinux 2008-04-19 23:34:23.000000000 +0200
-+++ coreutils-6.11/tests/mkdir/selinux 2008-04-22 13:23:50.000000000 +0200
-@@ -38,6 +28,7 @@
- # successfully, in spite of the invalid context string.
-
- . $srcdir/test-lib.sh
-+require_selinux_
-
- c=invalid-selinux-context
- msg="failed to set default file creation context to \`$c':"
-diff -urNp coreutils-6.11-orig/tests/test-lib.sh coreutils-6.11/tests/test-lib.sh
---- coreutils-6.11-orig/tests/test-lib.sh 2008-04-19 23:34:23.000000000 +0200
-+++ coreutils-6.11/tests/test-lib.sh 2008-04-24 14:18:59.000000000 +0200
-@@ -97,8 +97,8 @@ skip_if_()
-
- require_selinux_()
- {
-- case `ls -Zd .` in
-- '? .'|'unlabeled .')
-+ case `ls --scontext -d . | cut -f1 -d" "` in
-+ '?'|'unlabeled')
- skip_test_ "this system (or maybe just" \
- "the current file system) lacks SELinux support"
- ;;
-diff -urNp coreutils-7.1-orig/gnulib-tests/test-getaddrinfo.c coreutils-7.1/gnulib-tests/test-getaddrinfo.c
---- coreutils-7.1-orig/gnulib-tests/test-getaddrinfo.c 2009-01-27 21:33:19.000000000 +0100
-+++ coreutils-7.1/gnulib-tests/test-getaddrinfo.c 2009-02-25 13:52:59.000000000 +0100
-@@ -36,6 +36,8 @@
- # define dbgprintf if (0) printf
- #endif
-
-+static int skip = 0;
-+
- /* BeOS does not have AF_UNSPEC. */
- #ifndef AF_UNSPEC
- # define AF_UNSPEC 0
-@@ -52,6 +54,9 @@ int simple (char *host, char *service)
- struct addrinfo *ai0, *ai;
- int res;
-
-+ if (skip)
-+ return 0;
-+
- dbgprintf ("Finding %s service %s...\n", host, service);
-
- /* This initializes "hints" but does not use it. Is there a reason
-@@ -72,8 +77,12 @@ int simple (char *host, char *service)
- in-law's farm. */
- if (res == EAI_AGAIN)
- {
-- fprintf (stderr, "skipping getaddrinfo test: no network?\n");
-- return 77;
-+ if (!skip)
-+ {
-+ skip++;
-+ fprintf (stderr, "skipping getaddrinfo test: no network?\n");
-+ return 77;
-+ }
- }
- /* IRIX reports EAI_NONAME for "https". Don't fail the test
- merely because of this. */
-diff -urNp coreutils-7.1-orig/src/ls.c coreutils-7.1/src/ls.c
---- coreutils-7.1-orig/src/ls.c 2009-02-25 13:23:59.000000000 +0100
-+++ coreutils-7.1/src/ls.c 2009-02-25 13:25:20.000000000 +0100
-@@ -38,10 +38,6 @@
- #include <config.h>
- #include <sys/types.h>
-
--#ifdef HAVE_CAP
--# include <sys/capability.h>
--#endif
--
- #if HAVE_TERMIOS_H
- # include <termios.h>
- #endif
-@@ -84,6 +80,10 @@
- #include "system.h"
- #include <fnmatch.h>
-
-+#ifdef HAVE_CAP
-+# include <sys/capability.h>
-+#endif
-+
- #include "acl.h"
- #include "argmatch.h"
- #include "dev-ino.h"
-
diff --git a/abs/core/coreutils/coreutils-7.1-cp-recursiveinfloop.patch b/abs/core/coreutils/coreutils-7.1-cp-recursiveinfloop.patch
deleted file mode 100644
index 963af0b..0000000
--- a/abs/core/coreutils/coreutils-7.1-cp-recursiveinfloop.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-diff -urNp coreutils-7.1-orig/src/copy.c coreutils-7.1/src/copy.c
---- coreutils-7.1-orig/src/copy.c 2009-02-27 12:07:29.000000000 +0100
-+++ coreutils-7.1/src/copy.c 2009-02-27 12:14:29.000000000 +0100
-@@ -104,6 +104,7 @@ static bool copy_internal (char const *s
- struct dir_list *ancestors,
- const struct cp_options *x,
- bool command_line_arg,
-+ bool *first_dir_created_per_command_line_arg,
- bool *copy_into_self,
- bool *rename_succeeded);
- static bool owner_failure_ok (struct cp_options const *x);
-@@ -201,13 +202,16 @@ copy_attr_by_name (char const *src_path,
- DST_NAME_IN is a directory that was created previously in the
- recursion. SRC_SB and ANCESTORS describe SRC_NAME_IN.
- Set *COPY_INTO_SELF if SRC_NAME_IN is a parent of
-+ FIRST_DIR_CREATED_PER_COMMAND_LINE_ARG FIXME
- (or the same as) DST_NAME_IN; otherwise, clear it.
- Return true if successful. */
-
- static bool
- copy_dir (char const *src_name_in, char const *dst_name_in, bool new_dst,
- const struct stat *src_sb, struct dir_list *ancestors,
-- const struct cp_options *x, bool *copy_into_self)
-+ const struct cp_options *x,
-+ bool *first_dir_created_per_command_line_arg,
-+ bool *copy_into_self)
- {
- char *name_space;
- char *namep;
-@@ -237,12 +241,20 @@ copy_dir (char const *src_name_in, char
-
- ok &= copy_internal (src_name, dst_name, new_dst, src_sb->st_dev,
- ancestors, &non_command_line_options, false,
-+ first_dir_created_per_command_line_arg,
- &local_copy_into_self, NULL);
- *copy_into_self |= local_copy_into_self;
-
- free (dst_name);
- free (src_name);
-
-+ /* If we're copying into self, there's no point in continuing,
-+ and in fact, that would even infloop, now that we record only
-+ the first created directory per command line argument. */
-+ if (local_copy_into_self)
-+ break;
-+
-+
- namep += strlen (namep) + 1;
- }
- free (name_space);
-@@ -1125,6 +1137,7 @@ restore_default_fscreatecon_or_die (void
- not known. ANCESTORS points to a linked, null terminated list of
- devices and inodes of parent directories of SRC_NAME. COMMAND_LINE_ARG
- is true iff SRC_NAME was specified on the command line.
-+ FIRST_DIR_CREATED_PER_COMMAND_LINE_ARG is both input and output.
- Set *COPY_INTO_SELF if SRC_NAME is a parent of (or the
- same as) DST_NAME; otherwise, clear it.
- Return true if successful. */
-@@ -1135,6 +1148,7 @@ copy_internal (char const *src_name, cha
- struct dir_list *ancestors,
- const struct cp_options *x,
- bool command_line_arg,
-+ bool *first_dir_created_per_command_line_arg,
- bool *copy_into_self,
- bool *rename_succeeded)
- {
-@@ -1815,11 +1829,15 @@ copy_internal (char const *src_name, cha
- }
- }
-
-- /* Insert the created directory's inode and device
-- numbers into the search structure, so that we can
-- avoid copying it again. */
-- if (!x->hard_link)
-- remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev);
-+ /* Record the created directory's inode and device numbers into
-+ the search structure, so that we can avoid copying it again.
-+ Do this only for the first directory that is created for each
-+ source command line argument. */
-+ if (!*first_dir_created_per_command_line_arg)
-+ {
-+ remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev);
-+ *first_dir_created_per_command_line_arg = true;
-+ }
-
- if (x->verbose)
- emit_verbose (src_name, dst_name, NULL);
-@@ -1840,6 +1858,7 @@ copy_internal (char const *src_name, cha
- in a source directory would cause the containing destination
- directory not to have owner/perms set properly. */
- delayed_ok = copy_dir (src_name, dst_name, new_dst, &src_sb, dir, x,
-+ first_dir_created_per_command_line_arg,
- copy_into_self);
- }
- }
-@@ -2187,8 +2206,11 @@ copy (char const *src_name, char const *
- top_level_src_name = src_name;
- top_level_dst_name = dst_name;
-
-+ bool first_dir_created_per_command_line_arg = false;
- return copy_internal (src_name, dst_name, nonexistent_dst, 0, NULL,
-- options, true, copy_into_self, rename_succeeded);
-+ options, true,
-+ &first_dir_created_per_command_line_arg,
-+ copy_into_self, rename_succeeded);
- }
-
- /* Set *X to the default options for a value of type struct cp_options. */
-diff -urNp coreutils-7.1-orig/tests/cp/into-self coreutils-7.1/tests/cp/into-self
---- coreutils-7.1-orig/tests/cp/into-self 2008-09-18 09:06:57.000000000 +0200
-+++ coreutils-7.1/tests/cp/into-self 2009-02-27 12:16:21.000000000 +0100
-@@ -1,7 +1,7 @@
- #!/bin/sh
- # Confirm that copying a directory into itself gets a proper diagnostic.
-
--# Copyright (C) 2001, 2002, 2004, 2006-2008 Free Software Foundation, Inc.
-+# Copyright (C) 2001, 2002, 2004, 2006-2009 Free Software Foundation, Inc.
-
- # This program is free software: you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -28,15 +28,32 @@ fi
-
- . $srcdir/test-lib.sh
-
--mkdir dir || framework_failure
-+mkdir a dir || framework_failure
-
- fail=0
-
- # This command should exit nonzero.
- cp -R dir dir 2> out && fail=1
-+echo 1 >> out
-+
-+# This should, too. However, with coreutils-7.1 it would infloop.
-+cp -rl dir dir 2>> out && fail=1
-+echo 2 >> out
-+
-+cp -rl a dir dir 2>> out && fail=1
-+echo 3 >> out
-+cp -rl a dir dir 2>> out && fail=1
-+echo 4 >> out
-
- cat > exp <<\EOF
- cp: cannot copy a directory, `dir', into itself, `dir/dir'
-+1
-+cp: cannot copy a directory, `dir', into itself, `dir/dir'
-+2
-+cp: cannot copy a directory, `dir', into itself, `dir/dir'
-+3
-+cp: cannot copy a directory, `dir', into itself, `dir/dir'
-+4
- EOF
- #'
-
diff --git a/abs/core/coreutils/coreutils-7.1-sort-endoffields.patch b/abs/core/coreutils/coreutils-7.1-sort-endoffields.patch
deleted file mode 100644
index 45d1e28..0000000
--- a/abs/core/coreutils/coreutils-7.1-sort-endoffields.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -urNp coreutils-7.1-orig/src/sort.c coreutils-7.1/src/sort.c
---- coreutils-7.1-orig/src/sort.c 2009-02-25 16:15:52.000000000 +0100
-+++ coreutils-7.1/src/sort.c 2009-02-25 16:20:35.000000000 +0100
-@@ -1598,6 +1598,9 @@ limfield_uni (const struct line *line, c
- size_t eword = key->eword, echar = key->echar;
- size_t remaining_bytes;
-
-+ if (echar == 0)
-+ eword++; /* skip all of end field. */
-+
- /* Move PTR past EWORD fields or to one past the last byte on LINE,
- whichever comes first. If there are more than EWORD fields, leave
- PTR pointing at the beginning of the field having zero-based index,
-@@ -1673,19 +1676,22 @@ limfield_uni (const struct line *line, c
- }
- #endif
-
-- /* If we're ignoring leading blanks when computing the End
-- of the field, don't start counting bytes until after skipping
-- past any leading blanks. */
-- if (key->skipeblanks)
-- while (ptr < lim && blanks[to_uchar (*ptr)])
-- ++ptr;
-
-- /* Advance PTR by ECHAR (if possible), but no further than LIM. */
-- remaining_bytes = lim - ptr;
-- if (echar < remaining_bytes)
-- ptr += echar;
-- else
-- ptr = lim;
-+ if (echar != 0) /* We need to skip over a portion of the end field. */
-+ {
-+ if (key->skipeblanks) /* blanks not counted in echar. */
-+ {
-+ while (ptr < lim && blanks[to_uchar (*ptr)])
-+ ++ptr;
-+ }
-+
-+ /* Advance PTR by ECHAR (if possible), but no further than LIM. */
-+ remaining_bytes = lim - ptr;
-+ if (echar < remaining_bytes)
-+ ptr += echar;
-+ else
-+ ptr = lim;
-+ }
-
- return ptr;
- }
-@@ -3736,12 +3742,9 @@ main (int argc, char **argv)
- badfieldspec (optarg, N_("field number is zero"));
- }
- if (*s == '.')
-- s = parse_field_count (s + 1, &key->echar,
-- N_("invalid number after `.'"));
-- else
- {
-- /* `-k 2,3' is equivalent to `+1 -3'. */
-- key->eword++;
-+ s = parse_field_count (s + 1, &key->echar,
-+ N_("invalid number after `.'"));
- }
- s = set_ordering (s, key, bl_end);
- }
-diff -urNp coreutils-7.1-orig/tests/misc/sort coreutils-7.1/tests/misc/sort
---- coreutils-7.1-orig/tests/misc/sort 2009-01-27 22:11:25.000000000 +0100
-+++ coreutils-7.1/tests/misc/sort 2009-02-25 16:21:48.000000000 +0100
-@@ -24,6 +24,10 @@ my $prog = 'sort';
- # Turn off localization of executable's output.
- @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
-
-+my $mb_locale = $ENV{LOCALE_FR_UTF8};
-+! defined $mb_locale || $mb_locale eq 'none'
-+ and $mb_locale = 'C';
-+
- # Since each test is run with a file name and with redirected stdin,
- # the name in the diagnostic is either the file name or "-".
- # Normalize each diagnostic to use '-'.
-@@ -110,6 +114,8 @@ my @Tests =
- ["07b", '-k 2,3', {IN=>"a a b\nz a a\n"}, {OUT=>"z a a\na a b\n"}],
- ["07c", '-k 2,3', {IN=>"y k b\nz k a\n"}, {OUT=>"z k a\ny k b\n"}],
- ["07d", '+1 -3', {IN=>"y k b\nz k a\n"}, {OUT=>"z k a\ny k b\n"}],
-+["07e", '-k 2,3.0', {IN=>"a a b\nz a a\n"}, {OUT=>"z a a\na a b\n"}],
-+
- #
- # report an error for `.' without following char spec
- ["08a", '-k 2.,3', {EXIT=>2},
-@@ -210,6 +216,15 @@ my @Tests =
- # key start and key end.
- ["18e", '-nb -k1.1,1.2', {IN=>" 901\n100\n"}, {OUT=>"100\n 901\n"}],
-
-+# When ignoring leading blanks for end position, ensure blanks from
-+# next field are not included in the sort. I.E. order should not change here.
-+["18f", '-k1,1b', {IN=>"a y\na z\n"}, {OUT=>"a y\na z\n"}],
-+
-+# When ignoring leading blanks for start position, ensure blanks from
-+# next field are not included in the sort. I.E. order should not change here.
-+# This was noticed as an issue on fedora 8 (only in multibyte locales).
-+["18g", '-k1b,1', {IN=>"a y\na z\n"}, {OUT=>"a y\na z\n"},
-+ {ENV => "LC_ALL=$mb_locale"}],
- # This looks odd, but works properly -- 2nd keyspec is never
- # used because all lines are different.
- ["19a", '+0 +1nr', {IN=>"b 2\nb 1\nb 3\n"}, {OUT=>"b 1\nb 2\nb 3\n"}],
diff --git a/abs/core/coreutils/coreutils-8.5-2-i686.pkg.tar.gz b/abs/core/coreutils/coreutils-8.5-2-i686.pkg.tar.gz
new file mode 120000
index 0000000..3eef1a4
--- /dev/null
+++ b/abs/core/coreutils/coreutils-8.5-2-i686.pkg.tar.gz
@@ -0,0 +1 @@
+/data/pkg_repo/packages/coreutils-8.5-2-i686.pkg.tar.gz \ No newline at end of file
diff --git a/abs/core/coreutils/coreutils-i18n.patch b/abs/core/coreutils/coreutils-i18n.patch
deleted file mode 100644
index 626bac0..0000000
--- a/abs/core/coreutils/coreutils-i18n.patch
+++ /dev/null
@@ -1,4065 +0,0 @@
-diff -urN coreutils-6.12-orig/tests/misc/cut coreutils-6.12/tests/misc/cut
---- coreutils-6.12-orig/tests/misc/cut 2008-05-17 08:41:11.000000000 +0200
-+++ coreutils-6.12/tests/misc/cut 2008-06-02 11:13:08.000000000 +0200
-@@ -26,7 +26,7 @@
- my $prog = 'cut';
- my $try = "Try \`$prog --help' for more information.\n";
- my $from_1 = "$prog: fields and positions are numbered from 1\n$try";
--my $inval = "$prog: invalid byte or field list\n$try";
-+my $inval = "$prog: invalid byte, character or field list\n$try";
- my $no_endpoint = "$prog: invalid range with no endpoint: -\n$try";
-
- my @Tests =
-@@ -140,8 +140,8 @@
- ['od-overlap5', '-b1-3,1-4', '--output-d=:', {IN=>"abcde\n"}, {OUT=>"abcd\n"}],
-
- # None of the following invalid ranges provoked an error up to coreutils-6.9.
-- ['inval1', qw(-f 2-0), {IN=>''}, {OUT=>''}, {EXIT=>1},
-- {ERR=>"$prog: invalid decreasing range\n$try"}],
-+ ['inval1', qw(-f 2-0), {IN=>''}, {OUT=>''}, {EXIT=>1},
-+ {ERR=>"$prog: invalid byte, character or field list\n$try"}],
- ['inval2', qw(-f -), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}],
- ['inval3', '-f', '4,-', {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}],
- ['inval4', '-f', '1-2,-', {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}],
---- /dev/null 2007-03-01 09:16:39.219409909 +0000
-+++ coreutils-6.8+/tests/misc/sort-mb-tests 2007-03-01 15:08:24.000000000 +0000
-@@ -0,0 +1,58 @@
-+#! /bin/sh
-+case $# in
-+ 0) xx='../src/sort';;
-+ *) xx="$1";;
-+esac
-+test "$VERBOSE" && echo=echo || echo=:
-+$echo testing program: $xx
-+errors=0
-+test "$srcdir" || srcdir=.
-+test "$VERBOSE" && $xx --version 2> /dev/null
-+
-+export LC_ALL=en_US.UTF-8
-+locale -k LC_CTYPE 2>&1 | grep -q charmap.*UTF-8 || exit 77
-+errors=0
-+
-+$xx -t @ -k2 -n misc/mb1.I > misc/mb1.O
-+code=$?
-+if test $code != 0; then
-+ $echo "Test mb1 failed: $xx return code $code differs from expected value 0" 1>&2
-+ errors=`expr $errors + 1`
-+else
-+ cmp misc/mb1.O $srcdir/misc/mb1.X > /dev/null 2>&1
-+ case $? in
-+ 0) if test "$VERBOSE"; then $echo "passed mb1"; fi;;
-+ 1) $echo "Test mb1 failed: files misc/mb1.O and $srcdir/misc/mb1.X differ" 1>&2
-+ (diff -c misc/mb1.O $srcdir/misc/mb1.X) 2> /dev/null
-+ errors=`expr $errors + 1`;;
-+ 2) $echo "Test mb1 may have failed." 1>&2
-+ $echo The command "cmp misc/mb1.O $srcdir/misc/mb1.X" failed. 1>&2
-+ errors=`expr $errors + 1`;;
-+ esac
-+fi
-+
-+$xx -t @ -k4 -n misc/mb2.I > misc/mb2.O
-+code=$?
-+if test $code != 0; then
-+ $echo "Test mb2 failed: $xx return code $code differs from expected value 0" 1>&2
-+ errors=`expr $errors + 1`
-+else
-+ cmp misc/mb2.O $srcdir/misc/mb2.X > /dev/null 2>&1
-+ case $? in
-+ 0) if test "$VERBOSE"; then $echo "passed mb2"; fi;;
-+ 1) $echo "Test mb2 failed: files misc/mb2.O and $srcdir/misc/mb2.X differ" 1>&2
-+ (diff -c misc/mb2.O $srcdir/misc/mb2.X) 2> /dev/null
-+ errors=`expr $errors + 1`;;
-+ 2) $echo "Test mb2 may have failed." 1>&2
-+ $echo The command "cmp misc/mb2.O $srcdir/misc/mb2.X" failed. 1>&2
-+ errors=`expr $errors + 1`;;
-+ esac
-+fi
-+
-+if test $errors = 0; then
-+ $echo Passed all 113 tests. 1>&2
-+else
-+ $echo Failed $errors tests. 1>&2
-+fi
-+test $errors = 0 || errors=1
-+exit $errors
---- /dev/null 2007-03-01 09:16:39.219409909 +0000
-+++ coreutils-6.8+/tests/misc/mb2.I 2007-03-01 15:08:24.000000000 +0000
-@@ -0,0 +1,4 @@
-+Apple@AA10@@20
-+Banana@AA5@@30
-+Citrus@AA20@@5
-+Cherry@AA30@@10
---- /dev/null 2007-03-01 09:16:39.219409909 +0000
-+++ coreutils-6.8+/tests/misc/mb2.X 2007-03-01 15:08:24.000000000 +0000
-@@ -0,0 +1,4 @@
-+Citrus@AA20@@5
-+Cherry@AA30@@10
-+Apple@AA10@@20
-+Banana@AA5@@30
---- /dev/null 2007-03-01 09:16:39.219409909 +0000
-+++ coreutils-6.8+/tests/misc/mb1.I 2007-03-01 15:08:24.000000000 +0000
-@@ -0,0 +1,4 @@
-+Apple@10
-+Banana@5
-+Citrus@20
-+Cherry@30
---- /dev/null 2007-03-01 09:16:39.219409909 +0000
-+++ coreutils-6.8+/tests/misc/mb1.X 2007-03-01 15:08:24.000000000 +0000
-@@ -0,0 +1,4 @@
-+Banana@5
-+Apple@10
-+Citrus@20
-+Cherry@30
-diff -urN coreutils-6.12-orig/tests/Makefile.am coreutils-6.12/tests/Makefile.am
---- coreutils-6.12-orig/tests/Makefile.am 2008-05-27 13:47:53.000000000 +0200
-+++ coreutils-6.12/tests/Makefile.am 2008-06-02 10:06:03.000000000 +0200
-@@ -192,6 +192,7 @@
- misc/sort \
- misc/sort-compress \
- misc/sort-files0-from \
-+ misc/sort-mb-tests \
- misc/sort-merge \
- misc/sort-rand \
- misc/sort-version \
-@@ -391,6 +392,10 @@
- $(root_tests)
-
- pr_data = \
-+ misc/mb1.X \
-+ misc/mb1.I \
-+ misc/mb2.X \
-+ misc/mb2.I \
- pr/0F \
- pr/0FF \
- pr/0FFnt \
---- coreutils-6.8+/lib/linebuffer.h.i18n 2005-05-14 07:44:24.000000000 +0100
-+++ coreutils-6.8+/lib/linebuffer.h 2007-03-01 15:08:24.000000000 +0000
-@@ -22,6 +22,11 @@
-
- # include <stdio.h>
-
-+/* Get mbstate_t. */
-+# if HAVE_WCHAR_H
-+# include <wchar.h>
-+# endif
-+
- /* A `struct linebuffer' holds a line of text. */
-
- struct linebuffer
-@@ -29,6 +34,9 @@
- size_t size; /* Allocated. */
- size_t length; /* Used. */
- char *buffer;
-+# if HAVE_WCHAR_H
-+ mbstate_t state;
-+# endif
- };
-
- /* Initialize linebuffer LINEBUFFER for use. */
---- coreutils-6.8+/src/expand.c.i18n 2007-01-14 15:41:28.000000000 +0000
-+++ coreutils-6.8+/src/expand.c 2007-03-01 15:08:24.000000000 +0000
-@@ -38,11 +38,28 @@
- #include <stdio.h>
- #include <getopt.h>
- #include <sys/types.h>
-+
-+/* Get mbstate_t, mbrtowc(), wcwidth(). */
-+#if HAVE_WCHAR_H
-+# include <wchar.h>
-+#endif
-+
- #include "system.h"
- #include "error.h"
- #include "quote.h"
- #include "xstrndup.h"
-
-+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
-+ installation; work around this configuration error. */
-+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
-+# define MB_LEN_MAX 16
-+#endif
-+
-+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
-+#if HAVE_MBRTOWC && defined mbstate_t
-+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
-+#endif
-+
- /* The official name of this program (e.g., no `g' prefix). */
- #define PROGRAM_NAME "expand"
-
-@@ -183,6 +200,7 @@
- stops = num_start + len - 1;
- }
- }
-+
- else
- {
- error (0, 0, _("tab size contains invalid character(s): %s"),
-@@ -365,6 +383,142 @@
- }
- }
-
-+#if HAVE_MBRTOWC
-+static void
-+expand_multibyte (void)
-+{
-+ FILE *fp; /* Input strem. */
-+ mbstate_t i_state; /* Current shift state of the input stream. */
-+ mbstate_t i_state_bak; /* Back up the I_STATE. */
-+ mbstate_t o_state; /* Current shift state of the output stream. */
-+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
-+ char *bufpos; /* Next read position of BUF. */
-+ size_t buflen = 0; /* The length of the byte sequence in buf. */
-+ wchar_t wc; /* A gotten wide character. */
-+ size_t mblength; /* The byte size of a multibyte character
-+ which shows as same character as WC. */
-+ int tab_index = 0; /* Index in `tab_list' of next tabstop. */
-+ int column = 0; /* Column on screen of the next char. */
-+ int next_tab_column; /* Column the next tab stop is on. */
-+ int convert = 1; /* If nonzero, perform translations. */
-+
-+ fp = next_file ((FILE *) NULL);
-+ if (fp == NULL)
-+ return;
-+
-+ memset (&o_state, '\0', sizeof(mbstate_t));
-+ memset (&i_state, '\0', sizeof(mbstate_t));
-+
-+ for (;;)
-+ {
-+ /* Refill the buffer BUF. */
-+ if (buflen < MB_LEN_MAX && !feof(fp) && !ferror(fp))
-+ {
-+ memmove (buf, bufpos, buflen);
-+ buflen += fread (buf + buflen, sizeof(char), BUFSIZ, fp);
-+ bufpos = buf;
-+ }
-+
-+ /* No character is left in BUF. */
-+ if (buflen < 1)
-+ {
-+ fp = next_file (fp);
-+
-+ if (fp == NULL)
-+ break; /* No more files. */
-+ else
-+ {
-+ memset (&i_state, '\0', sizeof(mbstate_t));
-+ continue;
-+ }
-+ }
-+
-+ /* Get a wide character. */
-+ i_state_bak = i_state;
-+ mblength = mbrtowc (&wc, bufpos, buflen, &i_state);
-+
-+ switch (mblength)
-+ {
-+ case (size_t)-1: /* illegal byte sequence. */
-+ case (size_t)-2:
-+ mblength = 1;
-+ i_state = i_state_bak;
-+ if (convert)
-+ {
-+ ++column;
-+ if (convert_entire_line == 0)
-+ convert = 0;
-+ }
-+ putchar (*bufpos);
-+ break;
-+
-+ case 0: /* null. */
-+ mblength = 1;
-+ if (convert && convert_entire_line == 0)
-+ convert = 0;
-+ putchar ('\0');
-+ break;
-+
-+ default:
-+ if (wc == L'\n') /* LF. */
-+ {
-+ tab_index = 0;
-+ column = 0;
-+ convert = 1;
-+ putchar ('\n');
-+ }
-+ else if (wc == L'\t' && convert) /* Tab. */
-+ {
-+ if (tab_size == 0)
-+ {
-+ /* Do not let tab_index == first_free_tab;
-+ stop when it is 1 less. */
-+ while (tab_index < first_free_tab - 1
-+ && column >= tab_list[tab_index])
-+ tab_index++;
-+ next_tab_column = tab_list[tab_index];
-+ if (tab_index < first_free_tab - 1)
-+ tab_index++;
-+ if (column >= next_tab_column)
-+ next_tab_column = column + 1;
-+ }
-+ else
-+ next_tab_column = column + tab_size - column % tab_size;
-+
-+ while (column < next_tab_column)
-+ {
-+ putchar (' ');
-+ ++column;
-+ }
-+ }
-+ else /* Others. */
-+ {
-+ if (convert)
-+ {
-+ if (wc == L'\b')
-+ {
-+ if (column > 0)
-+ --column;
-+ }
-+ else
-+ {
-+ int width; /* The width of WC. */
-+
-+ width = wcwidth (wc);
-+ column += (width > 0) ? width : 0;
-+ if (convert_entire_line == 0)
-+ convert = 0;
-+ }
-+ }
-+ fwrite (bufpos, sizeof(char), mblength, stdout);
-+ }
-+ }
-+ buflen -= mblength;
-+ bufpos += mblength;
-+ }
-+}
-+#endif
-+
- int
- main (int argc, char **argv)
- {
-@@ -429,7 +583,12 @@
-
- file_list = (optind < argc ? &argv[optind] : stdin_argv);
-
-- expand ();
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ expand_multibyte ();
-+ else
-+#endif
-+ expand ();
-
- if (have_read_stdin && fclose (stdin) != 0)
- error (EXIT_FAILURE, errno, "-");
---- coreutils-6.8+/src/join.c.i18n 2007-01-14 15:41:28.000000000 +0000
-+++ coreutils-6.8+/src/join.c 2007-03-01 15:08:24.000000000 +0000
-@@ -23,16 +23,30 @@
- #include <sys/types.h>
- #include <getopt.h>
-
-+/* Get mbstate_t, mbrtowc(), mbrtowc(), wcwidth(). */
-+#if HAVE_WCHAR_H
-+# include <wchar.h>
-+#endif
-+
-+/* Get iswblank(), towupper. */
-+#if HAVE_WCTYPE_H
-+# include <wctype.h>
-+#endif
-+
- #include "system.h"
- #include "error.h"
- #include "linebuffer.h"
--#include "memcasecmp.h"
- #include "quote.h"
- #include "stdio--.h"
- #include "xmemcoll.h"
- #include "xstrtol.h"
- #include "argmatch.h"
-
-+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
-+#if HAVE_MBRTOWC && defined mbstate_t
-+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
-+#endif
-+
- /* The official name of this program (e.g., no `g' prefix). */
- #define PROGRAM_NAME "join"
-
-@@ -104,10 +118,12 @@
- /* Last element in `outlist', where a new element can be added. */
- static struct outlist *outlist_end = &outlist_head;
-
--/* Tab character separating fields. If negative, fields are separated
-- by any nonempty string of blanks, otherwise by exactly one
-- tab character whose value (when cast to unsigned char) equals TAB. */
--static int tab = -1;
-+/* Tab character separating fields. If NULL, fields are separated
-+ by any nonempty string of blanks. */
-+static char *tab = NULL;
-+
-+/* The number of bytes used for tab. */
-+static size_t tablen = 0;
-
- /* If nonzero, check that the input is correctly ordered. */
- static enum
-@@ -199,10 +217,11 @@
- if (ptr == lim)
- return;
-
-- if (0 <= tab)
-+ if (tab != NULL)
- {
-+ unsigned char t = tab[0];
- char *sep;
-- for (; (sep = memchr (ptr, tab, lim - ptr)) != NULL; ptr = sep + 1)
-+ for (; (sep = memchr (ptr, t, lim - ptr)) != NULL; ptr = sep + 1)
- extract_field (line, ptr, sep - ptr);
- }
- else
-@@ -229,6 +248,148 @@
- extract_field (line, ptr, lim - ptr);
- }
-
-+#if HAVE_MBRTOWC
-+static void
-+xfields_multibyte (struct line *line)
-+{
-+ char *ptr = line->buf.buffer;
-+ char const *lim = ptr + line->buf.length - 1;
-+ wchar_t wc = 0;
-+ size_t mblength = 1;
-+ mbstate_t state, state_bak;
-+
-+ memset (&state, 0, sizeof (mbstate_t));
-+
-+ if (ptr == lim)
-+ return;
-+
-+ if (tab != NULL)
-+ {
-+ unsigned char t = tab[0];
-+ char *sep = ptr;
-+ for (; ptr < lim; ptr = sep + mblength)
-+ {
-+ sep = ptr;
-+ while (sep < lim)
-+ {
-+ state_bak = state;
-+ mblength = mbrtowc (&wc, sep, lim - sep + 1, &state);
-+
-+ if (mblength == (size_t)-1 || mblength == (size_t)-2)
-+ {
-+ mblength = 1;
-+ state = state_bak;
-+ }
-+ mblength = (mblength < 1) ? 1 : mblength;
-+
-+ if (mblength == tablen && !memcmp (sep, tab, mblength))
-+ break;
-+ else
-+ {
-+ sep += mblength;
-+ continue;
-+ }
-+ }
-+
-+ if (sep == lim)
-+ break;
-+
-+ extract_field (line, ptr, sep - ptr);
-+ }
-+ }
-+ else
-+ {
-+ /* Skip leading blanks before the first field. */
-+ while(ptr < lim)
-+ {
-+ state_bak = state;
-+ mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state);
-+
-+ if (mblength == (size_t)-1 || mblength == (size_t)-2)
-+ {
-+ mblength = 1;
-+ state = state_bak;
-+ break;
-+ }
-+ mblength = (mblength < 1) ? 1 : mblength;
-+
-+ if (!iswblank(wc))
-+ break;
-+ ptr += mblength;
-+ }
-+
-+ do
-+ {
-+ char *sep;
-+ state_bak = state;
-+ mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state);
-+ if (mblength == (size_t)-1 || mblength == (size_t)-2)
-+ {
-+ mblength = 1;
-+ state = state_bak;
-+ break;
-+ }
-+ mblength = (mblength < 1) ? 1 : mblength;
-+
-+ sep = ptr + mblength;
-+ while (sep != lim)
-+ {
-+ state_bak = state;
-+ mblength = mbrtowc (&wc, sep, lim - sep + 1, &state);
-+ if (mblength == (size_t)-1 || mblength == (size_t)-2)
-+ {
-+ mblength = 1;
-+ state = state_bak;
-+ break;
-+ }
-+ mblength = (mblength < 1) ? 1 : mblength;
-+
-+ if (iswblank (wc))
-+ break;
-+
-+ sep += mblength;
-+ }
-+
-+ extract_field (line, ptr, sep - ptr);
-+ if (sep == lim)
-+ return;
-+
-+ state_bak = state;
-+ mblength = mbrtowc (&wc, sep, lim - sep + 1, &state);
-+ if (mblength == (size_t)-1 || mblength == (size_t)-2)
-+ {
-+ mblength = 1;
-+ state = state_bak;
-+ break;
-+ }
-+ mblength = (mblength < 1) ? 1 : mblength;
-+
-+ ptr = sep + mblength;
-+ while (ptr != lim)
-+ {
-+ state_bak = state;
-+ mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state);
-+ if (mblength == (size_t)-1 || mblength == (size_t)-2)
-+ {
-+ mblength = 1;
-+ state = state_bak;
-+ break;
-+ }
-+ mblength = (mblength < 1) ? 1 : mblength;
-+
-+ if (!iswblank (wc))
-+ break;
-+
-+ ptr += mblength;
-+ }
-+ }
-+ while (ptr != lim);
-+ }
-+
-+ extract_field (line, ptr, lim - ptr);
-+}
-+#endif
-+
- static void
- freeline (struct line *line)
- {
-@@ -377,11 +601,18 @@
-
- /* Print the join of LINE1 and LINE2. */
-
-+#define PUT_TAB_CHAR \
-+ do \
-+ { \
-+ (tab != NULL) ? \
-+ fwrite(tab, sizeof(char), tablen, stdout) : putchar (' '); \
-+ } \
-+ while (0)
-+
- static void
- prjoin (struct line const *line1, struct line const *line2)
- {
- const struct outlist *outlist;
-- char output_separator = tab < 0 ? ' ' : tab;
-
- outlist = outlist_head.next;
- if (outlist)
-@@ -397,12 +628,12 @@
- if (o->file == 0)
- {
- if (line1 == &uni_blank)
-- {
-+ {
- line = line2;
- field = join_field_2;
- }
- else
-- {
-+ {
- line = line1;
- field = join_field_1;
- }
-@@ -416,7 +647,7 @@
- o = o->next;
- if (o == NULL)
- break;
-- putchar (output_separator);
-+ PUT_TAB_CHAR;
- }
- putchar ('\n');
- }
-@@ -434,23 +665,23 @@
- prfield (join_field_1, line1);
- for (i = 0; i < join_field_1 && i < line1->nfields; ++i)
- {
-- putchar (output_separator);
-+ PUT_TAB_CHAR;
- prfield (i, line1);
- }
- for (i = join_field_1 + 1; i < line1->nfields; ++i)
- {
-- putchar (output_separator);
-+ PUT_TAB_CHAR;
- prfield (i, line1);
- }
-
- for (i = 0; i < join_field_2 && i < line2->nfields; ++i)
- {
-- putchar (output_separator);
-+ PUT_TAB_CHAR;
- prfield (i, line2);
- }
- for (i = join_field_2 + 1; i < line2->nfields; ++i)
- {
-- putchar (output_separator);
-+ PUT_TAB_CHAR;
- prfield (i, line2);
- }
- putchar ('\n');
-@@ -859,20 +1090,41 @@
-
- case 't':
- {
-- unsigned char newtab = optarg[0];
-- if (! newtab)
-+ char *newtab;
-+ size_t newtablen;
-+ if (! optarg[0])
- error (EXIT_FAILURE, 0, _("empty tab"));
-- if (optarg[1])
-+ newtab = xstrdup (optarg);
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ {
-+ mbstate_t state;
-+
-+ memset (&state, 0, sizeof (mbstate_t));
-+ newtablen = mbrtowc (NULL, newtab,
-+ strnlen (newtab, MB_LEN_MAX),
-+ &state);
-+ if (newtablen == (size_t) 0
-+ || newtablen == (size_t) -1
-+ || newtablen == (size_t) -2)
-+ newtablen = 1;
-+ }
-+ else
-+#endif
-+ newtablen = 1;
-+
-+ if (newtablen == 1 && newtab[1])
-+ {
-+ if (STREQ (newtab, "\\0"))
-+ newtab[0] = '\0';
-+ }
-+ if (tab != NULL && strcmp (tab, newtab))
- {
-- if (STREQ (optarg, "\\0"))
-- newtab = '\0';
-- else
-- error (EXIT_FAILURE, 0, _("multi-character tab %s"),
-- quote (optarg));
-+ free (newtab);
-+ error (EXIT_FAILURE, 0, _("incompatible tabs"));
- }
-- if (0 <= tab && tab != newtab)
-- error (EXIT_FAILURE, 0, _("incompatible tabs"));
- tab = newtab;
-+ tablen = newtablen;
- }
- break;
-
-diff -urNp coreutils-6.11-orig/src/join.c coreutils-6.11/src/join.c
---- coreutils-6.11-orig/src/join.c 2008-04-21 13:44:32.000000000 +0200
-+++ coreutils-6.11/src/join.c 2008-04-21 14:03:22.000000000 +0200
-@@ -324,56 +324,115 @@ keycmp (struct line const *line1, struct
- size_t jf_1, size_t jf_2)
- {
- /* Start of field to compare in each file. */
-- char *beg1;
-- char *beg2;
--
-- size_t len1;
-- size_t len2; /* Length of fields to compare. */
-+ char *beg[2];
-+ char *copy[2];
-+ size_t len[2]; /* Length of fields to compare. */
- int diff;
-+ int i, j;
-
- if (jf_1 < line1->nfields)
- {
-- beg1 = line1->fields[jf_1].beg;
-- len1 = line1->fields[jf_1].len;
-+ beg[0] = line1->fields[jf_1].beg;
-+ len[0] = line1->fields[jf_1].len;
- }
- else
- {
-- beg1 = NULL;
-- len1 = 0;
-+ beg[0] = NULL;
-+ len[0] = 0;
- }
-
- if (jf_2 < line2->nfields)
- {
-- beg2 = line2->fields[jf_2].beg;
-- len2 = line2->fields[jf_2].len;
-+ beg[1] = line2->fields[jf_2].beg;
-+ len[1] = line2->fields[jf_2].len;
- }
- else
- {
-- beg2 = NULL;
-- len2 = 0;
-+ beg[1] = NULL;
-+ len[1] = 0;
- }
-
-- if (len1 == 0)
-- return len2 == 0 ? 0 : -1;
-- if (len2 == 0)
-+ if (len[0] == 0)
-+ return len[1] == 0 ? 0 : -1;
-+ if (len[1] == 0)
- return 1;
-
- if (ignore_case)
- {
-- /* FIXME: ignore_case does not work with NLS (in particular,
-- with multibyte chars). */
-- diff = memcasecmp (beg1, beg2, MIN (len1, len2));
-+#ifdef HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ {
-+ size_t mblength;
-+ wchar_t wc, uwc;
-+ mbstate_t state, state_bak;
-+
-+ memset (&state, '\0', sizeof (mbstate_t));
-+
-+ for (i = 0; i < 2; i++)
-+ {
-+ copy[i] = alloca (len[i] + 1);
-+
-+ for (j = 0; j < MIN (len[0], len[1]);)
-+ {
-+ state_bak = state;
-+ mblength = mbrtowc (&wc, beg[i] + j, len[i] - j, &state);
-+
-+ switch (mblength)
-+ {
-+ case (size_t) -1:
-+ case (size_t) -2:
-+ state = state_bak;
-+ /* Fall through */
-+ case 0:
-+ mblength = 1;
-+ break;
-+
-+ default:
-+ uwc = towupper (wc);
-+
-+ if (uwc != wc)
-+ {
-+ mbstate_t state_wc;
-+
-+ memset (&state_wc, '\0', sizeof (mbstate_t));
-+ wcrtomb (copy[i] + j, uwc, &state_wc);
-+ }
-+ else
-+ memcpy (copy[i] + j, beg[i] + j, mblength);
-+ }
-+ j += mblength;
-+ }
-+ copy[i][j] = '\0';
-+ }
-+ }
-+ else
-+#endif
-+ {
-+ for (i = 0; i < 2; i++)
-+ {
-+ copy[i] = alloca (len[i] + 1);
-+
-+ for (j = 0; j < MIN (len[0], len[1]); j++)
-+ copy[i][j] = toupper (beg[i][j]);
-+
-+ copy[i][j] = '\0';
-+ }
-+ }
- }
- else
- {
-- if (hard_LC_COLLATE)
-- return xmemcoll (beg1, len1, beg2, len2);
-- diff = memcmp (beg1, beg2, MIN (len1, len2));
-+ copy[0] = (unsigned char *) beg[0];
-+ copy[1] = (unsigned char *) beg[1];
- }
-
-+ if (hard_LC_COLLATE)
-+ return xmemcoll ((char *) copy[0], len[0], (char *) copy[1], len[1]);
-+ diff = memcmp (copy[0], copy[1], MIN (len[0], len[1]));
-+
-+
- if (diff)
- return diff;
-- return len1 < len2 ? -1 : len1 != len2;
-+ return len[0] - len[1];
- }
-
- /* Check that successive input lines PREV and CURRENT from input file
---- coreutils-6.8+/src/uniq.c.i18n 2007-01-14 15:41:28.000000000 +0000
-+++ coreutils-6.8+/src/uniq.c 2007-03-01 15:08:24.000000000 +0000
-@@ -23,6 +23,16 @@
- #include <getopt.h>
- #include <sys/types.h>
-
-+/* Get mbstate_t, mbrtowc(). */
-+#if HAVE_WCHAR_H
-+# include <wchar.h>
-+#endif
-+
-+/* Get isw* functions. */
-+#if HAVE_WCTYPE_H
-+# include <wctype.h>
-+#endif
-+
- #include "system.h"
- #include "argmatch.h"
- #include "linebuffer.h"
-@@ -32,7 +42,19 @@
- #include "quote.h"
- #include "xmemcoll.h"
- #include "xstrtol.h"
--#include "memcasecmp.h"
-+#include "xmemcoll.h"
-+
-+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
-+ installation; work around this configuration error. */
-+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
-+# define MB_LEN_MAX 16
-+#endif
-+
-+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
-+#if HAVE_MBRTOWC && defined mbstate_t
-+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
-+#endif
-+
-
- /* The official name of this program (e.g., no `g' prefix). */
- #define PROGRAM_NAME "uniq"
-@@ -109,6 +131,10 @@
- /* Select whether/how to delimit groups of duplicate lines. */
- static enum delimit_method delimit_groups;
-
-+/* Function pointers. */
-+static char *
-+(*find_field) (struct linebuffer *line);
-+
- static struct option const longopts[] =
- {
- {"count", no_argument, NULL, 'c'},
-@@ -198,7 +224,7 @@
- return a pointer to the beginning of the line's field to be compared. */
-
- static char *
--find_field (struct linebuffer const *line)
-+find_field_uni (struct linebuffer *line)
- {
- size_t count;
- char const *lp = line->buffer;
-@@ -219,6 +245,83 @@
- return line->buffer + i;
- }
-
-+#if HAVE_MBRTOWC
-+
-+# define MBCHAR_TO_WCHAR(WC, MBLENGTH, LP, POS, SIZE, STATEP, CONVFAIL) \
-+ do \
-+ { \
-+ mbstate_t state_bak; \
-+ \
-+ CONVFAIL = 0; \
-+ state_bak = *STATEP; \
-+ \
-+ MBLENGTH = mbrtowc (&WC, LP + POS, SIZE - POS, STATEP); \
-+ \
-+ switch (MBLENGTH) \
-+ { \
-+ case (size_t)-2: \
-+ case (size_t)-1: \
-+ *STATEP = state_bak; \
-+ CONVFAIL++; \
-+ /* Fall through */ \
-+ case 0: \
-+ MBLENGTH = 1; \
-+ } \
-+ } \
-+ while (0)
-+
-+static char *
-+find_field_multi (struct linebuffer *line)
-+{
-+ size_t count;
-+ char *lp = line->buffer;
-+ size_t size = line->length - 1;
-+ size_t pos;
-+ size_t mblength;
-+ wchar_t wc;
-+ mbstate_t *statep;
-+ int convfail;
-+
-+ pos = 0;
-+ statep = &(line->state);
-+
-+ /* skip fields. */
-+ for (count = 0; count < skip_fields && pos < size; count++)
-+ {
-+ while (pos < size)
-+ {
-+ MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail);
-+
-+ if (convfail || !iswblank (wc))
-+ {
-+ pos += mblength;
-+ break;
-+ }
-+ pos += mblength;
-+ }
-+
-+ while (pos < size)
-+ {
-+ MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail);
-+
-+ if (!convfail && iswblank (wc))
-+ break;
-+
-+ pos += mblength;
-+ }
-+ }
-+
-+ /* skip fields. */
-+ for (count = 0; count < skip_chars && pos < size; count++)
-+ {
-+ MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail);
-+ pos += mblength;
-+ }
-+
-+ return lp + pos;
-+}
-+#endif
-+
- /* Return false if two strings OLD and NEW match, true if not.
- OLD and NEW point not to the beginnings of the lines
- but rather to the beginnings of the fields to compare.
-@@ -227,6 +330,8 @@
- static bool
- different (char *old, char *new, size_t oldlen, size_t newlen)
- {
-+ char *copy_old, *copy_new;
-+
- if (check_chars < oldlen)
- oldlen = check_chars;
- if (check_chars < newlen)
-@@ -234,14 +339,92 @@
-
- if (ignore_case)
- {
-- /* FIXME: This should invoke strcoll somehow. */
-- return oldlen != newlen || memcasecmp (old, new, oldlen);
-+ size_t i;
-+
-+ copy_old = alloca (oldlen + 1);
-+ copy_new = alloca (oldlen + 1);
-+
-+ for (i = 0; i < oldlen; i++)
-+ {
-+ copy_old[i] = toupper (old[i]);
-+ copy_new[i] = toupper (new[i]);
-+ }
- }
-- else if (hard_LC_COLLATE)
-- return xmemcoll (old, oldlen, new, newlen) != 0;
- else
-- return oldlen != newlen || memcmp (old, new, oldlen);
-+ {
-+ copy_old = (char *)old;
-+ copy_new = (char *)new;
-+ }
-+
-+ return xmemcoll (copy_old, oldlen, copy_new, newlen);
-+}
-+
-+#if HAVE_MBRTOWC
-+static int
-+different_multi (const char *old, const char *new, size_t oldlen, size_t newlen, mbstate_t oldstate, mbstate_t newstate)
-+{
-+ size_t i, j, chars;
-+ const char *str[2];
-+ char *copy[2];
-+ size_t len[2];
-+ mbstate_t state[2];
-+ size_t mblength;
-+ wchar_t wc, uwc;
-+ mbstate_t state_bak;
-+
-+ str[0] = old;
-+ str[1] = new;
-+ len[0] = oldlen;
-+ len[1] = newlen;
-+ state[0] = oldstate;
-+ state[1] = newstate;
-+
-+ for (i = 0; i < 2; i++)
-+ {
-+ copy[i] = alloca (len[i] + 1);
-+
-+ for (j = 0, chars = 0; j < len[i] && chars < check_chars; chars++)
-+ {
-+ state_bak = state[i];
-+ mblength = mbrtowc (&wc, str[i] + j, len[i] - j, &(state[i]));
-+
-+ switch (mblength)
-+ {
-+ case (size_t)-1:
-+ case (size_t)-2:
-+ state[i] = state_bak;
-+ /* Fall through */
-+ case 0:
-+ mblength = 1;
-+ break;
-+
-+ default:
-+ if (ignore_case)
-+ {
-+ uwc = towupper (wc);
-+
-+ if (uwc != wc)
-+ {
-+ mbstate_t state_wc;
-+
-+ memset (&state_wc, '\0', sizeof(mbstate_t));
-+ wcrtomb (copy[i] + j, uwc, &state_wc);
-+ }
-+ else
-+ memcpy (copy[i] + j, str[i] + j, mblength);
-+ }
-+ else
-+ memcpy (copy[i] + j, str[i] + j, mblength);
-+ }
-+ j += mblength;
-+ }
-+ copy[i][j] = '\0';
-+ len[i] = j;
-+ }
-+
-+ return xmemcoll (copy[0], len[0], copy[1], len[1]);
- }
-+#endif
-
- /* Output the line in linebuffer LINE to standard output
- provided that the switches say it should be output.
-@@ -295,15 +478,43 @@
- {
- char *prevfield IF_LINT (= NULL);
- size_t prevlen IF_LINT (= 0);
-+#if HAVE_MBRTOWC
-+ mbstate_t prevstate;
-+
-+ memset (&prevstate, '\0', sizeof (mbstate_t));
-+#endif
-
- while (!feof (stdin))
- {
- char *thisfield;
- size_t thislen;
-+#if HAVE_MBRTOWC
-+ mbstate_t thisstate;
-+#endif
-+
- if (readlinebuffer_delim (thisline, stdin, delimiter) == 0)
- break;
- thisfield = find_field (thisline);
- thislen = thisline->length - 1 - (thisfield - thisline->buffer);
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ {
-+ thisstate = thisline->state;
-+
-+ if (prevline->length == 0 || different_multi
-+ (thisfield, prevfield, thislen, prevlen, thisstate, prevstate))
-+ {
-+ fwrite (thisline->buffer, sizeof (char),
-+ thisline->length, stdout);
-+
-+ SWAP_LINES (prevline, thisline);
-+ prevfield = thisfield;
-+ prevlen = thislen;
-+ prevstate = thisstate;
-+ }
-+ }
-+ else
-+#endif
- if (prevline->length == 0
- || different (thisfield, prevfield, thislen, prevlen))
- {
-@@ -322,17 +533,26 @@
- size_t prevlen;
- uintmax_t match_count = 0;
- bool first_delimiter = true;
-+#if HAVE_MBRTOWC
-+ mbstate_t prevstate;
-+#endif
-
- if (readlinebuffer_delim (prevline, stdin, delimiter) == 0)
- goto closefiles;
- prevfield = find_field (prevline);
- prevlen = prevline->length - 1 - (prevfield - prevline->buffer);
-+#if HAVE_MBRTOWC
-+ prevstate = prevline->state;
-+#endif
-
- while (!feof (stdin))
- {
- bool match;
- char *thisfield;
- size_t thislen;
-+#if HAVE_MBRTOWC
-+ mbstate_t thisstate;
-+#endif
- if (readlinebuffer_delim (thisline, stdin, delimiter) == 0)
- {
- if (ferror (stdin))
-@@ -341,6 +561,15 @@
- }
- thisfield = find_field (thisline);
- thislen = thisline->length - 1 - (thisfield - thisline->buffer);
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ {
-+ thisstate = thisline->state;
-+ match = !different_multi (thisfield, prevfield,
-+ thislen, prevlen, thisstate, prevstate);
-+ }
-+ else
-+#endif
- match = !different (thisfield, prevfield, thislen, prevlen);
- match_count += match;
-
-@@ -373,6 +602,9 @@
- SWAP_LINES (prevline, thisline);
- prevfield = thisfield;
- prevlen = thislen;
-+#if HAVE_MBRTOWC
-+ prevstate = thisstate;
-+#endif
- if (!match)
- match_count = 0;
- }
-@@ -417,6 +649,19 @@
-
- atexit (close_stdout);
-
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ {
-+ find_field = find_field_multi;
-+ }
-+ else
-+#endif
-+ {
-+ find_field = find_field_uni;
-+ }
-+
-+
-+
- skip_chars = 0;
- skip_fields = 0;
- check_chars = SIZE_MAX;
---- coreutils-6.8+/src/fold.c.i18n 2007-02-23 12:01:47.000000000 +0000
-+++ coreutils-6.8+/src/fold.c 2007-03-01 15:08:24.000000000 +0000
-@@ -23,11 +23,33 @@
- #include <getopt.h>
- #include <sys/types.h>
-
-+/* Get mbstate_t, mbrtowc(), wcwidth(). */
-+#if HAVE_WCHAR_H
-+# include <wchar.h>
-+#endif
-+
-+/* Get iswprint(), iswblank(), wcwidth(). */
-+#if HAVE_WCTYPE_H
-+# include <wctype.h>
-+#endif
-+
- #include "system.h"
- #include "error.h"
- #include "quote.h"
- #include "xstrtol.h"
-
-+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
-+ installation; work around this configuration error. */
-+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
-+# undef MB_LEN_MAX
-+# define MB_LEN_MAX 16
-+#endif
-+
-+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
-+#if HAVE_MBRTOWC && defined mbstate_t
-+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
-+#endif
-+
- #define TAB_WIDTH 8
-
- /* The official name of this program (e.g., no `g' prefix). */
-@@ -35,20 +57,41 @@
-
- #define AUTHORS proper_name ("David MacKenzie")
-
-+#define FATAL_ERROR(Message) \
-+ do \
-+ { \
-+ error (0, 0, (Message)); \
-+ usage (2); \
-+ } \
-+ while (0)
-+
-+enum operating_mode
-+{
-+ /* Fold texts by columns that are at the given positions. */
-+ column_mode,
-+
-+ /* Fold texts by bytes that are at the given positions. */
-+ byte_mode,
-+
-+ /* Fold texts by characters that are at the given positions. */
-+ character_mode,
-+};
-+
-+/* The argument shows current mode. (Default: column_mode) */
-+static enum operating_mode operating_mode;
-+
- /* If nonzero, try to break on whitespace. */
- static bool break_spaces;
-
--/* If nonzero, count bytes, not column positions. */
--static bool count_bytes;
--
- /* If nonzero, at least one of the files we read was standard input. */
- static bool have_read_stdin;
-
--static char const shortopts[] = "bsw:0::1::2::3::4::5::6::7::8::9::";
-+static char const shortopts[] = "bcsw:0::1::2::3::4::5::6::7::8::9::";
-
- static struct option const longopts[] =
- {
- {"bytes", no_argument, NULL, 'b'},
-+ {"characters", no_argument, NULL, 'c'},
- {"spaces", no_argument, NULL, 's'},
- {"width", required_argument, NULL, 'w'},
- {GETOPT_HELP_OPTION_DECL},
-@@ -81,6 +124,7 @@
- "), stdout);
- fputs (_("\
- -b, --bytes count bytes rather than columns\n\
-+ -c, --characters count characters rather than columns\n\
- -s, --spaces break at spaces\n\
- -w, --width=WIDTH use WIDTH columns instead of 80\n\
- "), stdout);
-@@ -98,7 +142,7 @@
- static size_t
- adjust_column (size_t column, char c)
- {
-- if (!count_bytes)
-+ if (operating_mode != byte_mode)
- {
- if (c == '\b')
- {
-@@ -121,30 +165,14 @@
- to stdout, with maximum line length WIDTH.
- Return true if successful. */
-
--static bool
--fold_file (char const *filename, size_t width)
-+static void
-+fold_text (FILE *istream, size_t width, int *saved_errno)
- {
-- FILE *istream;
- int c;
- size_t column = 0; /* Screen column where next char will go. */
- size_t offset_out = 0; /* Index in `line_out' for next char. */
- static char *line_out = NULL;
- static size_t allocated_out = 0;
-- int saved_errno;
--
-- if (STREQ (filename, "-"))
-- {
-- istream = stdin;
-- have_read_stdin = true;
-- }
-- else
-- istream = fopen (filename, "r");
--
-- if (istream == NULL)
-- {
-- error (0, errno, "%s", filename);
-- return false;
-- }
-
- while ((c = getc (istream)) != EOF)
- {
-@@ -172,6 +200,15 @@
- bool found_blank = false;
- size_t logical_end = offset_out;
-
-+ /* If LINE_OUT has no wide character,
-+ put a new wide character in LINE_OUT
-+ if column is bigger than width. */
-+ if (offset_out == 0)
-+ {
-+ line_out[offset_out++] = c;
-+ continue;
-+ }
-+
- /* Look for the last blank. */
- while (logical_end)
- {
-@@ -218,11 +255,225 @@
- line_out[offset_out++] = c;
- }
-
-- saved_errno = errno;
-+ *saved_errno = errno;
-+
-+ if (offset_out)
-+ fwrite (line_out, sizeof (char), (size_t) offset_out, stdout);
-+
-+ free(line_out);
-+}
-+
-+#if HAVE_MBRTOWC
-+static void
-+fold_multibyte_text (FILE *istream, size_t width, int *saved_errno)
-+{
-+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
-+ size_t buflen = 0; /* The length of the byte sequence in buf. */
-+ char *bufpos; /* Next read position of BUF. */
-+ wint_t wc; /* A gotten wide character. */
-+ size_t mblength; /* The byte size of a multibyte character which shows
-+ as same character as WC. */
-+ mbstate_t state, state_bak; /* State of the stream. */
-+ int convfail; /* 1, when conversion is failed. Otherwise 0. */
-+
-+ char *line_out = NULL;
-+ size_t offset_out = 0; /* Index in `line_out' for next char. */
-+ size_t allocated_out = 0;
-+
-+ int increment;
-+ size_t column = 0;
-+
-+ size_t last_blank_pos;
-+ size_t last_blank_column;
-+ int is_blank_seen;
-+ int last_blank_increment;
-+ int is_bs_following_last_blank;
-+ size_t bs_following_last_blank_num;
-+ int is_cr_after_last_blank;
-+
-+#define CLEAR_FLAGS \
-+ do \
-+ { \
-+ last_blank_pos = 0; \
-+ last_blank_column = 0; \
-+ is_blank_seen = 0; \
-+ is_bs_following_last_blank = 0; \
-+ bs_following_last_blank_num = 0; \
-+ is_cr_after_last_blank = 0; \
-+ } \
-+ while (0)
-+
-+#define START_NEW_LINE \
-+ do \
-+ { \
-+ putchar ('\n'); \
-+ column = 0; \
-+ offset_out = 0; \
-+ CLEAR_FLAGS; \
-+ } \
-+ while (0)
-+
-+ CLEAR_FLAGS;
-+ memset (&state, '\0', sizeof(mbstate_t));
-+
-+ for (;; bufpos += mblength, buflen -= mblength)
-+ {
-+ if (buflen < MB_LEN_MAX && !feof (istream) && !ferror (istream))
-+ {
-+ memmove (buf, bufpos, buflen);
-+ buflen += fread (buf + buflen, sizeof(char), BUFSIZ, istream);
-+ bufpos = buf;
-+ }
-+
-+ if (buflen < 1)
-+ break;
-+
-+ /* Get a wide character. */
-+ convfail = 0;
-+ state_bak = state;
-+ mblength = mbrtowc ((wchar_t *)&wc, bufpos, buflen, &state);
-+
-+ switch (mblength)
-+ {
-+ case (size_t)-1:
-+ case (size_t)-2:
-+ convfail++;
-+ state = state_bak;
-+ /* Fall through. */
-+
-+ case 0:
-+ mblength = 1;
-+ break;
-+ }
-+
-+rescan:
-+ if (operating_mode == byte_mode) /* byte mode */
-+ increment = mblength;
-+ else if (operating_mode == character_mode) /* character mode */
-+ increment = 1;
-+ else /* column mode */
-+ {
-+ if (convfail)
-+ increment = 1;
-+ else
-+ {
-+ switch (wc)
-+ {
-+ case L'\n':
-+ fwrite (line_out, sizeof(char), offset_out, stdout);
-+ START_NEW_LINE;
-+ continue;
-+
-+ case L'\b':
-+ increment = (column > 0) ? -1 : 0;
-+ break;
-+
-+ case L'\r':
-+ increment = -1 * column;
-+ break;
-+
-+ case L'\t':
-+ increment = 8 - column % 8;
-+ break;
-+
-+ default:
-+ increment = wcwidth (wc);
-+ increment = (increment < 0) ? 0 : increment;
-+ }
-+ }
-+ }
-+
-+ if (column + increment > width && break_spaces && last_blank_pos)
-+ {
-+ fwrite (line_out, sizeof(char), last_blank_pos, stdout);
-+ putchar ('\n');
-+
-+ offset_out = offset_out - last_blank_pos;
-+ column = column - last_blank_column + ((is_cr_after_last_blank)
-+ ? last_blank_increment : bs_following_last_blank_num);
-+ memmove (line_out, line_out + last_blank_pos, offset_out);
-+ CLEAR_FLAGS;
-+ goto rescan;
-+ }
-+
-+ if (column + increment > width && column != 0)
-+ {
-+ fwrite (line_out, sizeof(char), offset_out, stdout);
-+ START_NEW_LINE;
-+ goto rescan;
-+ }
-+
-+ if (allocated_out < offset_out + mblength)
-+ {
-+ allocated_out += 1024;
-+ line_out = xrealloc (line_out, allocated_out);
-+ }
-+
-+ memcpy (line_out + offset_out, bufpos, mblength);
-+ offset_out += mblength;
-+ column += increment;
-+
-+ if (is_blank_seen && !convfail && wc == L'\r')
-+ is_cr_after_last_blank = 1;
-+
-+ if (is_bs_following_last_blank && !convfail && wc == L'\b')
-+ ++bs_following_last_blank_num;
-+ else
-+ is_bs_following_last_blank = 0;
-+
-+ if (break_spaces && !convfail && iswblank (wc))
-+ {
-+ last_blank_pos = offset_out;
-+ last_blank_column = column;
-+ is_blank_seen = 1;
-+ last_blank_increment = increment;
-+ is_bs_following_last_blank = 1;
-+ bs_following_last_blank_num = 0;
-+ is_cr_after_last_blank = 0;
-+ }
-+ }
-+
-+ *saved_errno = errno;
-
- if (offset_out)
- fwrite (line_out, sizeof (char), (size_t) offset_out, stdout);
-
-+ free(line_out);
-+}
-+#endif
-+
-+/* Fold file FILENAME, or standard input if FILENAME is "-",
-+ to stdout, with maximum line length WIDTH.
-+ Return 0 if successful, 1 if an error occurs. */
-+
-+static bool
-+fold_file (char *filename, size_t width)
-+{
-+ FILE *istream;
-+ int saved_errno;
-+
-+ if (STREQ (filename, "-"))
-+ {
-+ istream = stdin;
-+ have_read_stdin = 1;
-+ }
-+ else
-+ istream = fopen (filename, "r");
-+
-+ if (istream == NULL)
-+ {
-+ error (0, errno, "%s", filename);
-+ return 1;
-+ }
-+
-+ /* Define how ISTREAM is being folded. */
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ fold_multibyte_text (istream, width, &saved_errno);
-+ else
-+#endif
-+ fold_text (istream, width, &saved_errno);
-+
- if (ferror (istream))
- {
- error (0, saved_errno, "%s", filename);
-@@ -255,7 +506,8 @@
-
- atexit (close_stdout);
-
-- break_spaces = count_bytes = have_read_stdin = false;
-+ operating_mode = column_mode;
-+ break_spaces = have_read_stdin = false;
-
- while ((optc = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1)
- {
-@@ -264,7 +516,15 @@
- switch (optc)
- {
- case 'b': /* Count bytes rather than columns. */
-- count_bytes = true;
-+ if (operating_mode != column_mode)
-+ FATAL_ERROR (_("only one way of folding may be specified"));
-+ operating_mode = byte_mode;
-+ break;
-+
-+ case 'c':
-+ if (operating_mode != column_mode)
-+ FATAL_ERROR (_("only one way of folding may be specified"));
-+ operating_mode = character_mode;
- break;
-
- case 's': /* Break at word boundaries. */
---- coreutils-6.8+/src/sort.c.i18n 2007-02-24 11:23:23.000000000 +0000
-+++ coreutils-6.8+/src/sort.c 2007-03-01 15:10:57.000000000 +0000
-@@ -23,10 +23,19 @@
-
- #include <config.h>
-
-+#include <assert.h>
- #include <getopt.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <signal.h>
-+#if HAVE_WCHAR_H
-+# include <wchar.h>
-+#endif
-+/* Get isw* functions. */
-+#if HAVE_WCTYPE_H
-+# include <wctype.h>
-+#endif
-+
- #include "system.h"
- #include "argmatch.h"
- #include "error.h"
-@@ -116,14 +125,38 @@
- /* Thousands separator; if -1, then there isn't one. */
- static int thousands_sep;
-
-+static int force_general_numcompare = 0;
-+
- /* Nonzero if the corresponding locales are hard. */
- static bool hard_LC_COLLATE;
--#if HAVE_NL_LANGINFO
-+#if HAVE_LANGINFO_CODESET
- static bool hard_LC_TIME;
- #endif
-
- #define NONZERO(x) ((x) != 0)
-
-+/* get a multibyte character's byte length. */
-+#define GET_BYTELEN_OF_CHAR(LIM, PTR, MBLENGTH, STATE) \
-+ do \
-+ { \
-+ wchar_t wc; \
-+ mbstate_t state_bak; \
-+ \
-+ state_bak = STATE; \
-+ mblength = mbrtowc (&wc, PTR, LIM - PTR, &STATE); \
-+ \
-+ switch (MBLENGTH) \
-+ { \
-+ case (size_t)-1: \
-+ case (size_t)-2: \
-+ STATE = state_bak; \
-+ /* Fall through. */ \
-+ case 0: \
-+ MBLENGTH = 1; \
-+ } \
-+ } \
-+ while (0)
-+
- /* The kind of blanks for '-b' to skip in various options. */
- enum blanktype { bl_start, bl_end, bl_both };
-
-@@ -261,13 +294,11 @@
- they were read if all keys compare equal. */
- static bool stable;
-
--/* If TAB has this value, blanks separate fields. */
--enum { TAB_DEFAULT = CHAR_MAX + 1 };
--
--/* Tab character separating fields. If TAB_DEFAULT, then fields are
-+/* Tab character separating fields. If tab_length is 0, then fields are
- separated by the empty string between a non-blank character and a blank
- character. */
--static int tab = TAB_DEFAULT;
-+static char tab[MB_LEN_MAX + 1];
-+static size_t tab_length = 0;
-
- /* Flag to remove consecutive duplicate lines from the output.
- Only the last of a sequence of equal lines will be output. */
-@@ -639,6 +670,44 @@
- update_proc (pid);
- }
-
-+/* Function pointers. */
-+static void
-+(*inittables) (void);
-+static char *
-+(*begfield) (const struct line*, const struct keyfield *);
-+static char *
-+(*limfield) (const struct line*, const struct keyfield *);
-+static int
-+(*getmonth) (char const *, size_t);
-+static int
-+(*keycompare) (const struct line *, const struct line *);
-+static int
-+(*numcompare) (const char *, const char *);
-+
-+/* Test for white space multibyte character.
-+ Set LENGTH the byte length of investigated multibyte character. */
-+#if HAVE_MBRTOWC
-+static int
-+ismbblank (const char *str, size_t len, size_t *length)
-+{
-+ size_t mblength;
-+ wchar_t wc;
-+ mbstate_t state;
-+
-+ memset (&state, '\0', sizeof(mbstate_t));
-+ mblength = mbrtowc (&wc, str, len, &state);
-+
-+ if (mblength == (size_t)-1 || mblength == (size_t)-2)
-+ {
-+ *length = 1;
-+ return 0;
-+ }
-+
-+ *length = (mblength < 1) ? 1 : mblength;
-+ return iswblank (wc);
-+}
-+#endif
-+
- /* Clean up any remaining temporary files. */
-
- static void
-@@ -978,7 +1047,7 @@
- free (node);
- }
-
--#if HAVE_NL_LANGINFO
-+#if HAVE_LANGINFO_CODESET
-
- static int
- struct_month_cmp (const void *m1, const void *m2)
-@@ -993,7 +1062,7 @@
- /* Initialize the character class tables. */
-
- static void
--inittables (void)
-+inittables_uni (void)
- {
- size_t i;
-
-@@ -1005,7 +1074,7 @@
- fold_toupper[i] = toupper (i);
- }
-
--#if HAVE_NL_LANGINFO
-+#if HAVE_LANGINFO_CODESET
- /* If we're not in the "C" locale, read different names for months. */
- if (hard_LC_TIME)
- {
-@@ -1031,6 +1100,64 @@
- xstrtol_fatal (e, oi, c, long_options, s);
- }
-
-+#if HAVE_MBRTOWC
-+static void
-+inittables_mb (void)
-+{
-+ int i, j, k, l;
-+ char *name, *s;
-+ size_t s_len, mblength;
-+ char mbc[MB_LEN_MAX];
-+ wchar_t wc, pwc;
-+ mbstate_t state_mb, state_wc;
-+
-+ for (i = 0; i < MONTHS_PER_YEAR; i++)
-+ {
-+ s = (char *) nl_langinfo (ABMON_1 + i);
-+ s_len = strlen (s);
-+ monthtab[i].name = name = (char *) xmalloc (s_len + 1);
-+ monthtab[i].val = i + 1;
-+
-+ memset (&state_mb, '\0', sizeof (mbstate_t));
-+ memset (&state_wc, '\0', sizeof (mbstate_t));
-+
-+ for (j = 0; j < s_len;)
-+ {
-+ if (!ismbblank (s + j, s_len - j, &mblength))
-+ break;
-+ j += mblength;
-+ }
-+
-+ for (k = 0; j < s_len;)
-+ {
-+ mblength = mbrtowc (&wc, (s + j), (s_len - j), &state_mb);
-+ assert (mblength != (size_t)-1 && mblength != (size_t)-2);
-+ if (mblength == 0)
-+ break;
-+
-+ pwc = towupper (wc);
-+ if (pwc == wc)
-+ {
-+ memcpy (mbc, s + j, mblength);
-+ j += mblength;
-+ }
-+ else
-+ {
-+ j += mblength;
-+ mblength = wcrtomb (mbc, pwc, &state_wc);
-+ assert (mblength != (size_t)0 && mblength != (size_t)-1);
-+ }
-+
-+ for (l = 0; l < mblength; l++)
-+ name[k++] = mbc[l];
-+ }
-+ name[k] = '\0';
-+ }
-+ qsort ((void *) monthtab, MONTHS_PER_YEAR,
-+ sizeof (struct month), struct_month_cmp);
-+}
-+#endif
-+
- /* Specify the amount of main memory to use when sorting. */
- static void
- specify_sort_size (int oi, char c, char const *s)
-@@ -1241,7 +1368,7 @@
- by KEY in LINE. */
-
- static char *
--begfield (const struct line *line, const struct keyfield *key)
-+begfield_uni (const struct line *line, const struct keyfield *key)
- {
- char *ptr = line->text, *lim = ptr + line->length - 1;
- size_t sword = key->sword;
-@@ -1251,10 +1378,10 @@
- /* The leading field separator itself is included in a field when -t
- is absent. */
-
-- if (tab != TAB_DEFAULT)
-+ if (tab_length)
- while (ptr < lim && sword--)
- {
-- while (ptr < lim && *ptr != tab)
-+ while (ptr < lim && *ptr != tab[0])
- ++ptr;
- if (ptr < lim)
- ++ptr;
-@@ -1282,11 +1409,70 @@
- return ptr;
- }
-
-+#if HAVE_MBRTOWC
-+static char *
-+begfield_mb (const struct line *line, const struct keyfield *key)
-+{
-+ int i;
-+ char *ptr = line->text, *lim = ptr + line->length - 1;
-+ size_t sword = key->sword;
-+ size_t schar = key->schar;
-+ size_t mblength;
-+ mbstate_t state;
-+
-+ memset (&state, '\0', sizeof(mbstate_t));
-+
-+ if (tab_length)
-+ while (ptr < lim && sword--)
-+ {
-+ while (ptr < lim && memcmp (ptr, tab, tab_length) != 0)
-+ {
-+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
-+ ptr += mblength;
-+ }
-+ if (ptr < lim)
-+ {
-+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
-+ ptr += mblength;
-+ }
-+ }
-+ else
-+ while (ptr < lim && sword--)
-+ {
-+ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength))
-+ ptr += mblength;
-+ if (ptr < lim)
-+ {
-+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
-+ ptr += mblength;
-+ }
-+ while (ptr < lim && !ismbblank (ptr, lim - ptr, &mblength))
-+ ptr += mblength;
-+ }
-+
-+ if (key->skipsblanks)
-+ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength))
-+ ptr += mblength;
-+
-+ for (i = 0; i < schar; i++)
-+ {
-+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
-+
-+ if (ptr + mblength > lim)
-+ break;
-+ else
-+ ptr += mblength;
-+ }
-+
-+ return ptr;
-+}
-+#endif
-+
- /* Return the limit of (a pointer to the first character after) the field
- in LINE specified by KEY. */
-
- static char *
--limfield (const struct line *line, const struct keyfield *key)
-+limfield_uni (const struct line *line, const struct keyfield *key)
- {
- char *ptr = line->text, *lim = ptr + line->length - 1;
- size_t eword = key->eword, echar = key->echar;
-@@ -1299,10 +1485,10 @@
- `beginning' is the first character following the delimiting TAB.
- Otherwise, leave PTR pointing at the first `blank' character after
- the preceding field. */
-- if (tab != TAB_DEFAULT)
-+ if (tab_length)
- while (ptr < lim && eword--)
- {
-- while (ptr < lim && *ptr != tab)
-+ while (ptr < lim && *ptr != tab[0])
- ++ptr;
- if (ptr < lim && (eword | echar))
- ++ptr;
-@@ -1348,10 +1534,10 @@
- */
-
- /* Make LIM point to the end of (one byte past) the current field. */
-- if (tab != TAB_DEFAULT)
-+ if (tab_length)
- {
- char *newlim;
-- newlim = memchr (ptr, tab, lim - ptr);
-+ newlim = memchr (ptr, tab[0], lim - ptr);
- if (newlim)
- lim = newlim;
- }
-@@ -1384,6 +1570,113 @@
- return ptr;
- }
-
-+#if HAVE_MBRTOWC
-+static char *
-+limfield_mb (const struct line *line, const struct keyfield *key)
-+{
-+ char *ptr = line->text, *lim = ptr + line->length - 1;
-+ size_t eword = key->eword, echar = key->echar;
-+ int i;
-+ size_t mblength;
-+ mbstate_t state;
-+
-+ if (echar == 0)
-+ eword++; /* skip all of end field. */
-+
-+ memset (&state, '\0', sizeof(mbstate_t));
-+
-+ if (tab_length)
-+ while (ptr < lim && eword--)
-+ {
-+ while (ptr < lim && memcmp (ptr, tab, tab_length) != 0)
-+ {
-+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
-+ ptr += mblength;
-+ }
-+ if (ptr < lim && (eword | echar))
-+ {
-+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
-+ ptr += mblength;
-+ }
-+ }
-+ else
-+ while (ptr < lim && eword--)
-+ {
-+ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength))
-+ ptr += mblength;
-+ if (ptr < lim)
-+ {
-+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
-+ ptr += mblength;
-+ }
-+ while (ptr < lim && !ismbblank (ptr, lim - ptr, &mblength))
-+ ptr += mblength;
-+ }
-+
-+
-+# ifdef POSIX_UNSPECIFIED
-+ /* Make LIM point to the end of (one byte past) the current field. */
-+ if (tab_length)
-+ {
-+ char *newlim, *p;
-+
-+ newlim = NULL;
-+ for (p = ptr; p < lim;)
-+ {
-+ if (memcmp (p, tab, tab_length) == 0)
-+ {
-+ newlim = p;
-+ break;
-+ }
-+
-+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
-+ p += mblength;
-+ }
-+ }
-+ else
-+ {
-+ char *newlim;
-+ newlim = ptr;
-+
-+ while (newlim < lim && ismbblank (newlim, lim - newlim, &mblength))
-+ newlim += mblength;
-+ if (ptr < lim)
-+ {
-+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
-+ ptr += mblength;
-+ }
-+ while (newlim < lim && !ismbblank (newlim, lim - newlim, &mblength))
-+ newlim += mblength;
-+ lim = newlim;
-+ }
-+# endif
-+
-+ if (echar != 0)
-+ {
-+ /* If we're skipping leading blanks, don't start counting characters
-+ * until after skipping past any leading blanks. */
-+ if (key->skipsblanks)
-+ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength))
-+ ptr += mblength;
-+
-+ memset (&state, '\0', sizeof(mbstate_t));
-+
-+ /* Advance PTR by ECHAR (if possible), but no further than LIM. */
-+ for (i = 0; i < echar; i++)
-+ {
-+ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
-+
-+ if (ptr + mblength > lim)
-+ break;
-+ else
-+ ptr += mblength;
-+ }
-+ }
-+
-+ return ptr;
-+}
-+#endif
-+
- /* Fill BUF reading from FP, moving buf->left bytes from the end
- of buf->buf to the beginning first. If EOF is reached and the
- file wasn't terminated by a newline, supply one. Set up BUF's line
-@@ -1466,8 +1753,24 @@
- else
- {
- if (key->skipsblanks)
-- while (blanks[to_uchar (*line_start)])
-- line_start++;
-+ {
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ {
-+ size_t mblength;
-+ mbstate_t state;
-+ memset (&state, '\0', sizeof(mbstate_t));
-+ while (line_start < line->keylim &&
-+ ismbblank (line_start,
-+ line->keylim - line_start,
-+ &mblength))
-+ line_start += mblength;
-+ }
-+ else
-+#endif
-+ while (blanks[to_uchar (*line_start)])
-+ line_start++;
-+ }
- line->keybeg = line_start;
- }
- }
-@@ -1500,7 +1803,7 @@
- hideously fast. */
-
- static int
--numcompare (const char *a, const char *b)
-+numcompare_uni (const char *a, const char *b)
- {
- while (blanks[to_uchar (*a)])
- a++;
-@@ -1510,6 +1813,25 @@
- return strnumcmp (a, b, decimal_point, thousands_sep);
- }
-
-+#if HAVE_MBRTOWC
-+static int
-+numcompare_mb (const char *a, const char *b)
-+{
-+ size_t mblength, len;
-+ len = strlen (a); /* okay for UTF-8 */
-+ while (*a && ismbblank (a, len > MB_CUR_MAX ? MB_CUR_MAX : len, &mblength))
-+ {
-+ a += mblength;
-+ len -= mblength;
-+ }
-+ len = strlen (b); /* okay for UTF-8 */
-+ while (*b && ismbblank (b, len > MB_CUR_MAX ? MB_CUR_MAX : len, &mblength))
-+ b += mblength;
-+
-+ return strnumcmp (a, b, decimal_point, thousands_sep);
-+}
-+#endif /* HAV_EMBRTOWC */
-+
- static int
- general_numcompare (const char *sa, const char *sb)
- {
-@@ -1543,7 +1865,7 @@
- Return 0 if the name in S is not recognized. */
-
- static int
--getmonth (char const *month, size_t len)
-+getmonth_uni (char const *month, size_t len)
- {
- size_t lo = 0;
- size_t hi = MONTHS_PER_YEAR;
-@@ -1698,11 +2020,79 @@
- return diff;
- }
-
-+#if HAVE_MBRTOWC
-+static int
-+getmonth_mb (const char *s, size_t len)
-+{
-+ char *month;
-+ register size_t i;
-+ register int lo = 0, hi = MONTHS_PER_YEAR, result;
-+ char *tmp;
-+ size_t wclength, mblength;
-+ const char **pp;
-+ const wchar_t **wpp;
-+ wchar_t *month_wcs;
-+ mbstate_t state;
-+
-+ while (len > 0 && ismbblank (s, len, &mblength))
-+ {
-+ s += mblength;
-+ len -= mblength;
-+ }
-+
-+ if (len == 0)
-+ return 0;
-+
-+ month = (char *) alloca (len + 1);
-+
-+ tmp = (char *) alloca (len + 1);
-+ memcpy (tmp, s, len);
-+ tmp[len] = '\0';
-+ pp = (const char **)&tmp;
-+ month_wcs = (wchar_t *) alloca ((len + 1) * sizeof (wchar_t));
-+ memset (&state, '\0', sizeof(mbstate_t));
-+
-+ wclength = mbsrtowcs (month_wcs, pp, len + 1, &state);
-+ assert (wclength != (size_t)-1 && *pp == NULL);
-+
-+ for (i = 0; i < wclength; i++)
-+ {
-+ month_wcs[i] = towupper(month_wcs[i]);
-+ if (iswblank (month_wcs[i]))
-+ {
-+ month_wcs[i] = L'\0';
-+ break;
-+ }
-+ }
-+
-+ wpp = (const wchar_t **)&month_wcs;
-+
-+ mblength = wcsrtombs (month, wpp, len + 1, &state);
-+ assert (mblength != (-1) && *wpp == NULL);
-+
-+ do
-+ {
-+ int ix = (lo + hi) / 2;
-+
-+ if (strncmp (month, monthtab[ix].name, strlen (monthtab[ix].name)) < 0)
-+ hi = ix;
-+ else
-+ lo = ix;
-+ }
-+ while (hi - lo > 1);
-+
-+ result = (!strncmp (month, monthtab[lo].name, strlen (monthtab[lo].name))
-+ ? monthtab[lo].val : 0);
-+
-+ return result;
-+}
-+#endif
-+
- /* Compare two lines A and B trying every key in sequence until there
- are no more keys or a difference is found. */
-
- static int
--keycompare (const struct line *a, const struct line *b)
-+keycompare_uni (const struct line *a, const struct line *b)
- {
- struct keyfield const *key = keylist;
-
-@@ -1875,6 +2265,179 @@
- return key->reverse ? -diff : diff;
- }
-
-+#if HAVE_MBRTOWC
-+static int
-+keycompare_mb (const struct line *a, const struct line *b)
-+{
-+ struct keyfield *key = keylist;
-+
-+ /* For the first iteration only, the key positions have been
-+ precomputed for us. */
-+ char *texta = a->keybeg;
-+ char *textb = b->keybeg;
-+ char *lima = a->keylim;
-+ char *limb = b->keylim;
-+
-+ size_t mblength_a, mblength_b;
-+ wchar_t wc_a, wc_b;
-+ mbstate_t state_a, state_b;
-+
-+ int diff;
-+
-+ memset (&state_a, '\0', sizeof(mbstate_t));
-+ memset (&state_b, '\0', sizeof(mbstate_t));
-+
-+ for (;;)
-+ {
-+ unsigned char *translate = (unsigned char *) key->translate;
-+ bool const *ignore = key->ignore;
-+
-+ /* Find the lengths. */
-+ size_t lena = lima <= texta ? 0 : lima - texta;
-+ size_t lenb = limb <= textb ? 0 : limb - textb;
-+
-+ /* Actually compare the fields. */
-+ if (key->random)
-+ diff = compare_random (texta, lena, textb, lenb);
-+ else if (key->numeric | key->general_numeric)
-+ {
-+ char savea = *lima, saveb = *limb;
-+
-+ *lima = *limb = '\0';
-+ if (force_general_numcompare)
-+ diff = general_numcompare (texta, textb);
-+ else
-+ diff = ((key->numeric ? numcompare : general_numcompare)
-+ (texta, textb));
-+ *lima = savea, *limb = saveb;
-+ }
-+ else if (key->month)
-+ diff = getmonth (texta, lena) - getmonth (textb, lenb);
-+ else
-+ {
-+ if (ignore || translate)
-+ {
-+ char *copy_a = (char *) alloca (lena + 1 + lenb + 1);
-+ char *copy_b = copy_a + lena + 1;
-+ size_t new_len_a, new_len_b;
-+ size_t i, j;
-+
-+ /* Ignore and/or translate chars before comparing. */
-+# define IGNORE_CHARS(NEW_LEN, LEN, TEXT, COPY, WC, MBLENGTH, STATE) \
-+ do \
-+ { \
-+ wchar_t uwc; \
-+ char mbc[MB_LEN_MAX]; \
-+ mbstate_t state_wc; \
-+ \
-+ for (NEW_LEN = i = 0; i < LEN;) \
-+ { \
-+ mbstate_t state_bak; \
-+ \
-+ state_bak = STATE; \
-+ MBLENGTH = mbrtowc (&WC, TEXT + i, LEN - i, &STATE); \
-+ \
-+ if (MBLENGTH == (size_t)-2 || MBLENGTH == (size_t)-1 \
-+ || MBLENGTH == 0) \
-+ { \
-+ if (MBLENGTH == (size_t)-2 || MBLENGTH == (size_t)-1) \
-+ STATE = state_bak; \
-+ if (!ignore) \
-+ COPY[NEW_LEN++] = TEXT[i++]; \
-+ continue; \
-+ } \
-+ \
-+ if (ignore) \
-+ { \
-+ if ((ignore == nonprinting && !iswprint (WC)) \
-+ || (ignore == nondictionary \
-+ && !iswalnum (WC) && !iswblank (WC))) \
-+ { \
-+ i += MBLENGTH; \
-+ continue; \
-+ } \
-+ } \
-+ \
-+ if (translate) \
-+ { \
-+ \
-+ uwc = towupper(WC); \
-+ if (WC == uwc) \
-+ { \
-+ memcpy (mbc, TEXT + i, MBLENGTH); \
-+ i += MBLENGTH; \
-+ } \
-+ else \
-+ { \
-+ i += MBLENGTH; \
-+ WC = uwc; \
-+ memset (&state_wc, '\0', sizeof (mbstate_t)); \
-+ \
-+ MBLENGTH = wcrtomb (mbc, WC, &state_wc); \
-+ assert (MBLENGTH != (size_t)-1 && MBLENGTH != 0); \
-+ } \
-+ \
-+ for (j = 0; j < MBLENGTH; j++) \
-+ COPY[NEW_LEN++] = mbc[j]; \
-+ } \
-+ else \
-+ for (j = 0; j < MBLENGTH; j++) \
-+ COPY[NEW_LEN++] = TEXT[i++]; \
-+ } \
-+ COPY[NEW_LEN] = '\0'; \
-+ } \
-+ while (0)
-+ IGNORE_CHARS (new_len_a, lena, texta, copy_a,
-+ wc_a, mblength_a, state_a);
-+ IGNORE_CHARS (new_len_b, lenb, textb, copy_b,
-+ wc_b, mblength_b, state_b);
-+ diff = xmemcoll (copy_a, new_len_a, copy_b, new_len_b);
-+ }
-+ else if (lena == 0)
-+ diff = - NONZERO (lenb);
-+ else if (lenb == 0)
-+ goto greater;
-+ else
-+ diff = xmemcoll (texta, lena, textb, lenb);
-+ }
-+
-+ if (diff)
-+ goto not_equal;
-+
-+ key = key->next;
-+ if (! key)
-+ break;
-+
-+ /* Find the beginning and limit of the next field. */
-+ if (key->eword != -1)
-+ lima = limfield (a, key), limb = limfield (b, key);
-+ else
-+ lima = a->text + a->length - 1, limb = b->text + b->length - 1;
-+
-+ if (key->sword != -1)
-+ texta = begfield (a, key), textb = begfield (b, key);
-+ else
-+ {
-+ texta = a->text, textb = b->text;
-+ if (key->skipsblanks)
-+ {
-+ while (texta < lima && ismbblank (texta, lima - texta, &mblength_a))
-+ texta += mblength_a;
-+ while (textb < limb && ismbblank (textb, limb - textb, &mblength_b))
-+ textb += mblength_b;
-+ }
-+ }
-+ }
-+
-+ return 0;
-+
-+greater:
-+ diff = 1;
-+not_equal:
-+ return key->reverse ? -diff : diff;
-+}
-+#endif
-+
- /* Compare two lines A and B, returning negative, zero, or positive
- depending on whether A compares less than, equal to, or greater than B. */
-
-@@ -2744,7 +3305,7 @@
- initialize_exit_failure (SORT_FAILURE);
-
- hard_LC_COLLATE = hard_locale (LC_COLLATE);
--#if HAVE_NL_LANGINFO
-+#if HAVE_LANGINFO_CODESET
- hard_LC_TIME = hard_locale (LC_TIME);
- #endif
-
-@@ -2765,6 +3326,27 @@
- thousands_sep = -1;
- }
-
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ {
-+ inittables = inittables_mb;
-+ begfield = begfield_mb;
-+ limfield = limfield_mb;
-+ getmonth = getmonth_mb;
-+ keycompare = keycompare_mb;
-+ numcompare = numcompare_mb;
-+ }
-+ else
-+#endif
-+ {
-+ inittables = inittables_uni;
-+ begfield = begfield_uni;
-+ limfield = limfield_uni;
-+ getmonth = getmonth_uni;
-+ keycompare = keycompare_uni;
-+ numcompare = numcompare_uni;
-+ }
-+
- have_read_stdin = false;
- inittables ();
-
-@@ -3015,13 +3597,35 @@
-
- case 't':
- {
-- char newtab = optarg[0];
-- if (! newtab)
-+ char newtab[MB_LEN_MAX + 1];
-+ size_t newtab_length = 1;
-+ strncpy (newtab, optarg, MB_LEN_MAX);
-+ if (! newtab[0])
- error (SORT_FAILURE, 0, _("empty tab"));
-- if (optarg[1])
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ {
-+ wchar_t wc;
-+ mbstate_t state;
-+ size_t i;
-+
-+ memset (&state, '\0', sizeof (mbstate_t));
-+ newtab_length = mbrtowc (&wc, newtab, strnlen (newtab,
-+ MB_LEN_MAX),
-+ &state);
-+ switch (newtab_length)
-+ {
-+ case (size_t) -1:
-+ case (size_t) -2:
-+ case 0:
-+ newtab_length = 1;
-+ }
-+ }
-+#endif
-+ if (newtab_length == 1 && optarg[1])
- {
- if (STREQ (optarg, "\\0"))
-- newtab = '\0';
-+ newtab[0] = '\0';
- else
- {
- /* Provoke with `sort -txx'. Complain about
-@@ -3032,9 +3636,12 @@
- quote (optarg));
- }
- }
-- if (tab != TAB_DEFAULT && tab != newtab)
-+ if (tab_length
-+ && (tab_length != newtab_length
-+ || memcmp (tab, newtab, tab_length) != 0))
- error (SORT_FAILURE, 0, _("incompatible tabs"));
-- tab = newtab;
-+ memcpy (tab, newtab, newtab_length);
-+ tab_length = newtab_length;
- }
- break;
-
---- coreutils-6.8+/src/unexpand.c.i18n 2007-01-14 15:41:28.000000000 +0000
-+++ coreutils-6.8+/src/unexpand.c 2007-03-01 15:08:24.000000000 +0000
-@@ -39,11 +39,28 @@
- #include <stdio.h>
- #include <getopt.h>
- #include <sys/types.h>
-+
-+/* Get mbstate_t, mbrtowc(), wcwidth(). */
-+#if HAVE_WCHAR_H
-+# include <wchar.h>
-+#endif
-+
- #include "system.h"
- #include "error.h"
- #include "quote.h"
- #include "xstrndup.h"
-
-+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
-+ installation; work around this configuration error. */
-+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
-+# define MB_LEN_MAX 16
-+#endif
-+
-+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
-+#if HAVE_MBRTOWC && defined mbstate_t
-+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
-+#endif
-+
- /* The official name of this program (e.g., no `g' prefix). */
- #define PROGRAM_NAME "unexpand"
-
-@@ -110,6 +127,208 @@
- {NULL, 0, NULL, 0}
- };
-
-+static FILE *next_file (FILE *fp);
-+
-+#if HAVE_MBRTOWC
-+static void
-+unexpand_multibyte (void)
-+{
-+ FILE *fp; /* Input stream. */
-+ mbstate_t i_state; /* Current shift state of the input stream. */
-+ mbstate_t i_state_bak; /* Back up the I_STATE. */
-+ mbstate_t o_state; /* Current shift state of the output stream. */
-+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
-+ char *bufpos; /* Next read position of BUF. */
-+ size_t buflen = 0; /* The length of the byte sequence in buf. */
-+ wint_t wc; /* A gotten wide character. */
-+ size_t mblength; /* The byte size of a multibyte character
-+ which shows as same character as WC. */
-+
-+ /* Index in `tab_list' of next tabstop: */
-+ int tab_index = 0; /* For calculating width of pending tabs. */
-+ int print_tab_index = 0; /* For printing as many tabs as possible. */
-+ unsigned int column = 0; /* Column on screen of next char. */
-+ int next_tab_column; /* Column the next tab stop is on. */
-+ int convert = 1; /* If nonzero, perform translations. */
-+ unsigned int pending = 0; /* Pending columns of blanks. */
-+
-+ fp = next_file ((FILE *) NULL);
-+ if (fp == NULL)
-+ return;
-+
-+ memset (&o_state, '\0', sizeof(mbstate_t));
-+ memset (&i_state, '\0', sizeof(mbstate_t));
-+
-+ for (;;)
-+ {
-+ if (buflen < MB_LEN_MAX && !feof(fp) && !ferror(fp))
-+ {
-+ memmove (buf, bufpos, buflen);
-+ buflen += fread (buf + buflen, sizeof(char), BUFSIZ, fp);
-+ bufpos = buf;
-+ }
-+
-+ /* Get a wide character. */
-+ if (buflen < 1)
-+ {
-+ mblength = 1;
-+ wc = WEOF;
-+ }
-+ else
-+ {
-+ i_state_bak = i_state;
-+ mblength = mbrtowc ((wchar_t *)&wc, bufpos, buflen, &i_state);
-+ }
-+
-+ if (mblength == (size_t)-1 || mblength == (size_t)-2)
-+ {
-+ i_state = i_state_bak;
-+ wc = L'\0';
-+ }
-+
-+ if (wc == L' ' && convert && column < INT_MAX)
-+ {
-+ ++pending;
-+ ++column;
-+ }
-+ else if (wc == L'\t' && convert)
-+ {
-+ if (tab_size == 0)
-+ {
-+ /* Do not let tab_index == first_free_tab;
-+ stop when it is 1 less. */
-+ while (tab_index < first_free_tab - 1
-+ && column >= tab_list[tab_index])
-+ tab_index++;
-+ next_tab_column = tab_list[tab_index];
-+ if (tab_index < first_free_tab - 1)
-+ tab_index++;
-+ if (column >= next_tab_column)
-+ {
-+ convert = 0; /* Ran out of tab stops. */
-+ goto flush_pend_mb;
-+ }
-+ }
-+ else
-+ {
-+ next_tab_column = column + tab_size - column % tab_size;
-+ }
-+ pending += next_tab_column - column;
-+ column = next_tab_column;
-+ }
-+ else
-+ {
-+flush_pend_mb:
-+ /* Flush pending spaces. Print as many tabs as possible,
-+ then print the rest as spaces. */
-+ if (pending == 1)
-+ {
-+ putchar (' ');
-+ pending = 0;
-+ }
-+ column -= pending;
-+ while (pending > 0)
-+ {
-+ if (tab_size == 0)
-+ {
-+ /* Do not let print_tab_index == first_free_tab;
-+ stop when it is 1 less. */
-+ while (print_tab_index < first_free_tab - 1
-+ && column >= tab_list[print_tab_index])
-+ print_tab_index++;
-+ next_tab_column = tab_list[print_tab_index];
-+ if (print_tab_index < first_free_tab - 1)
-+ print_tab_index++;
-+ }
-+ else
-+ {
-+ next_tab_column =
-+ column + tab_size - column % tab_size;
-+ }
-+ if (next_tab_column - column <= pending)
-+ {
-+ putchar ('\t');
-+ pending -= next_tab_column - column;
-+ column = next_tab_column;
-+ }
-+ else
-+ {
-+ --print_tab_index;
-+ column += pending;
-+ while (pending != 0)
-+ {
-+ putchar (' ');
-+ pending--;
-+ }
-+ }
-+ }
-+
-+ if (wc == WEOF)
-+ {
-+ fp = next_file (fp);
-+ if (fp == NULL)
-+ break; /* No more files. */
-+ else
-+ {
-+ memset (&i_state, '\0', sizeof(mbstate_t));
-+ continue;
-+ }
-+ }
-+
-+ if (mblength == (size_t)-1 || mblength == (size_t)-2)
-+ {
-+ if (convert)
-+ {
-+ ++column;
-+ if (convert_entire_line == 0)
-+ convert = 0;
-+ }
-+ mblength = 1;
-+ putchar (buf[0]);
-+ }
-+ else if (mblength == 0)
-+ {
-+ if (convert && convert_entire_line == 0)
-+ convert = 0;
-+ mblength = 1;
-+ putchar ('\0');
-+ }
-+ else
-+ {
-+ if (convert)
-+ {
-+ if (wc == L'\b')
-+ {
-+ if (column > 0)
-+ --column;
-+ }
-+ else
-+ {
-+ int width; /* The width of WC. */
-+
-+ width = wcwidth (wc);
-+ column += (width > 0) ? width : 0;
-+ if (convert_entire_line == 0)
-+ convert = 0;
-+ }
-+ }
-+
-+ if (wc == L'\n')
-+ {
-+ tab_index = print_tab_index = 0;
-+ column = pending = 0;
-+ convert = 1;
-+ }
-+ fwrite (bufpos, sizeof(char), mblength, stdout);
-+ }
-+ }
-+ buflen -= mblength;
-+ bufpos += mblength;
-+ }
-+}
-+#endif
-+
-+
- void
- usage (int status)
- {
-@@ -531,7 +750,12 @@
-
- file_list = (optind < argc ? &argv[optind] : stdin_argv);
-
-- unexpand ();
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ unexpand_multibyte ();
-+ else
-+#endif
-+ unexpand ();
-
- if (have_read_stdin && fclose (stdin) != 0)
- error (EXIT_FAILURE, errno, "-");
---- coreutils-6.8+/src/pr.c.i18n 2007-01-14 15:41:28.000000000 +0000
-+++ coreutils-6.8+/src/pr.c 2007-03-01 15:08:24.000000000 +0000
-@@ -313,6 +313,32 @@
-
- #include <getopt.h>
- #include <sys/types.h>
-+
-+/* Get MB_LEN_MAX. */
-+#include <limits.h>
-+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
-+ installation; work around this configuration error. */
-+#if !defined MB_LEN_MAX || MB_LEN_MAX == 1
-+# define MB_LEN_MAX 16
-+#endif
-+
-+/* Get MB_CUR_MAX. */
-+#include <stdlib.h>
-+
-+/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
-+/* Get mbstate_t, mbrtowc(), wcwidth(). */
-+#if HAVE_WCHAR_H
-+# include <wchar.h>
-+#endif
-+
-+/* Get iswprint(). -- for wcwidth(). */
-+#if HAVE_WCTYPE_H
-+# include <wctype.h>
-+#endif
-+#if !defined iswprint && !HAVE_ISWPRINT
-+# define iswprint(wc) 1
-+#endif
-+
- #include "system.h"
- #include "error.h"
- #include "mbswidth.h"
-@@ -324,6 +350,18 @@
- #include "strftime.h"
- #include "xstrtol.h"
-
-+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
-+#if HAVE_MBRTOWC && defined mbstate_t
-+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
-+#endif
-+
-+#ifndef HAVE_DECL_WCWIDTH
-+"this configure-time declaration test was not run"
-+#endif
-+#if !HAVE_DECL_WCWIDTH
-+extern int wcwidth ();
-+#endif
-+
- /* The official name of this program (e.g., no `g' prefix). */
- #define PROGRAM_NAME "pr"
-
-@@ -416,7 +454,20 @@
-
- #define NULLCOL (COLUMN *)0
-
--static int char_to_clump (char c);
-+/* Funtion pointers to switch functions for single byte locale or for
-+ multibyte locale. If multibyte functions do not exist in your sysytem,
-+ these pointers always point the function for single byte locale. */
-+static void (*print_char) (char c);
-+static int (*char_to_clump) (char c);
-+
-+/* Functions for single byte locale. */
-+static void print_char_single (char c);
-+static int char_to_clump_single (char c);
-+
-+/* Functions for multibyte locale. */
-+static void print_char_multi (char c);
-+static int char_to_clump_multi (char c);
-+
- static bool read_line (COLUMN *p);
- static bool print_page (void);
- static bool print_stored (COLUMN *p);
-@@ -426,6 +477,7 @@
- static void pad_across_to (int position);
- static void add_line_number (COLUMN *p);
- static void getoptarg (char *arg, char switch_char, char *character,
-+ int *character_length, int *character_width,
- int *number);
- void usage (int status);
- static void print_files (int number_of_files, char **av);
-@@ -440,7 +492,6 @@
- static void pad_down (int lines);
- static void read_rest_of_line (COLUMN *p);
- static void skip_read (COLUMN *p, int column_number);
--static void print_char (char c);
- static void cleanup (void);
- static void print_sep_string (void);
- static void separator_string (const char *optarg_S);
-@@ -455,7 +506,7 @@
- we store the leftmost columns contiguously in buff.
- To print a line from buff, get the index of the first character
- from line_vector[i], and print up to line_vector[i + 1]. */
--static char *buff;
-+static unsigned char *buff;
-
- /* Index of the position in buff where the next character
- will be stored. */
-@@ -559,7 +610,7 @@
- static bool untabify_input = false;
-
- /* (-e) The input tab character. */
--static char input_tab_char = '\t';
-+static char input_tab_char[MB_LEN_MAX] = "\t";
-
- /* (-e) Tabstops are at chars_per_tab, 2*chars_per_tab, 3*chars_per_tab, ...
- where the leftmost column is 1. */
-@@ -569,7 +620,10 @@
- static bool tabify_output = false;
-
- /* (-i) The output tab character. */
--static char output_tab_char = '\t';
-+static char output_tab_char[MB_LEN_MAX] = "\t";
-+
-+/* (-i) The byte length of output tab character. */
-+static int output_tab_char_length = 1;
-
- /* (-i) The width of the output tab. */
- static int chars_per_output_tab = 8;
-@@ -643,7 +697,13 @@
- static bool numbered_lines = false;
-
- /* (-n) Character which follows each line number. */
--static char number_separator = '\t';
-+static char number_separator[MB_LEN_MAX] = "\t";
-+
-+/* (-n) The byte length of the character which follows each line number. */
-+static int number_separator_length = 1;
-+
-+/* (-n) The character width of the character which follows each line number. */
-+static int number_separator_width = 0;
-
- /* (-n) line counting starts with 1st line of input file (not with 1st
- line of 1st page printed). */
-@@ -696,6 +756,7 @@
- -a|COLUMN|-m is a `space' and with the -J option a `tab'. */
- static char *col_sep_string = (char *) "";
- static int col_sep_length = 0;
-+static int col_sep_width = 0;
- static char *column_separator = (char *) " ";
- static char *line_separator = (char *) "\t";
-
-@@ -852,6 +913,13 @@
- col_sep_length = (int) strlen (optarg_S);
- col_sep_string = xmalloc (col_sep_length + 1);
- strcpy (col_sep_string, optarg_S);
-+
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ col_sep_width = mbswidth (col_sep_string, 0);
-+ else
-+#endif
-+ col_sep_width = col_sep_length;
- }
-
- int
-@@ -877,6 +945,21 @@
-
- atexit (close_stdout);
-
-+/* Define which functions are used, the ones for single byte locale or the ones
-+ for multibyte locale. */
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ {
-+ print_char = print_char_multi;
-+ char_to_clump = char_to_clump_multi;
-+ }
-+ else
-+#endif
-+ {
-+ print_char = print_char_single;
-+ char_to_clump = char_to_clump_single;
-+ }
-+
- n_files = 0;
- file_names = (argc > 1
- ? xmalloc ((argc - 1) * sizeof (char *))
-@@ -949,8 +1032,12 @@
- break;
- case 'e':
- if (optarg)
-- getoptarg (optarg, 'e', &input_tab_char,
-- &chars_per_input_tab);
-+ {
-+ int dummy_length, dummy_width;
-+
-+ getoptarg (optarg, 'e', input_tab_char, &dummy_length,
-+ &dummy_width, &chars_per_input_tab);
-+ }
- /* Could check tab width > 0. */
- untabify_input = true;
- break;
-@@ -963,8 +1050,12 @@
- break;
- case 'i':
- if (optarg)
-- getoptarg (optarg, 'i', &output_tab_char,
-- &chars_per_output_tab);
-+ {
-+ int dummy_width;
-+
-+ getoptarg (optarg, 'i', output_tab_char, &output_tab_char_length,
-+ &dummy_width, &chars_per_output_tab);
-+ }
- /* Could check tab width > 0. */
- tabify_output = true;
- break;
-@@ -991,8 +1082,8 @@
- case 'n':
- numbered_lines = true;
- if (optarg)
-- getoptarg (optarg, 'n', &number_separator,
-- &chars_per_number);
-+ getoptarg (optarg, 'n', number_separator, &number_separator_length,
-+ &number_separator_width, &chars_per_number);
- break;
- case 'N':
- skip_count = false;
-@@ -1031,7 +1122,7 @@
- old_s = false;
- /* Reset an additional input of -s, -S dominates -s */
- col_sep_string = bad_cast ("");
-- col_sep_length = 0;
-+ col_sep_length = col_sep_width = 0;
- use_col_separator = true;
- if (optarg)
- separator_string (optarg);
-@@ -1188,10 +1279,45 @@
- a number. */
-
- static void
--getoptarg (char *arg, char switch_char, char *character, int *number)
-+getoptarg (char *arg, char switch_char, char *character, int *character_length,
-+ int *character_width, int *number)
- {
- if (!ISDIGIT (*arg))
-- *character = *arg++;
-+ {
-+#ifdef HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1) /* for multibyte locale. */
-+ {
-+ wchar_t wc;
-+ size_t mblength;
-+ int width;
-+ mbstate_t state = {'\0'};
-+
-+ mblength = mbrtowc (&wc, arg, strnlen(arg, MB_LEN_MAX), &state);
-+
-+ if (mblength == (size_t)-1 || mblength == (size_t)-2)
-+ {
-+ *character_length = 1;
-+ *character_width = 1;
-+ }
-+ else
-+ {
-+ *character_length = (mblength < 1) ? 1 : mblength;
-+ width = wcwidth (wc);
-+ *character_width = (width < 0) ? 0 : width;
-+ }
-+
-+ strncpy (character, arg, *character_length);
-+ arg += *character_length;
-+ }
-+ else /* for single byte locale. */
-+#endif
-+ {
-+ *character = *arg++;
-+ *character_length = 1;
-+ *character_width = 1;
-+ }
-+ }
-+
- if (*arg)
- {
- long int tmp_long;
-@@ -1256,7 +1382,7 @@
- else
- col_sep_string = column_separator;
-
-- col_sep_length = 1;
-+ col_sep_length = col_sep_width = 1;
- use_col_separator = true;
- }
- /* It's rather pointless to define a TAB separator with column
-@@ -1288,11 +1414,11 @@
- TAB_WIDTH (chars_per_input_tab, chars_per_number); */
-
- /* Estimate chars_per_text without any margin and keep it constant. */
-- if (number_separator == '\t')
-+ if (number_separator[0] == '\t')
- number_width = chars_per_number +
- TAB_WIDTH (chars_per_default_tab, chars_per_number);
- else
-- number_width = chars_per_number + 1;
-+ number_width = chars_per_number + number_separator_width;
-
- /* The number is part of the column width unless we are
- printing files in parallel. */
-@@ -1307,7 +1433,7 @@
- }
-
- chars_per_column = (chars_per_line - chars_used_by_number -
-- (columns - 1) * col_sep_length) / columns;
-+ (columns - 1) * col_sep_width) / columns;
-
- if (chars_per_column < 1)
- error (EXIT_FAILURE, 0, _("page width too narrow"));
-@@ -1432,7 +1558,7 @@
-
- /* Enlarge p->start_position of first column to use the same form of
- padding_not_printed with all columns. */
-- h = h + col_sep_length;
-+ h = h + col_sep_width;
-
- /* This loop takes care of all but the rightmost column. */
-
-@@ -1466,7 +1592,7 @@
- }
- else
- {
-- h = h_next + col_sep_length;
-+ h = h_next + col_sep_width;
- h_next = h + chars_per_column;
- }
- }
-@@ -1756,9 +1882,9 @@
- align_column (COLUMN *p)
- {
- padding_not_printed = p->start_position;
-- if (padding_not_printed - col_sep_length > 0)
-+ if (padding_not_printed - col_sep_width > 0)
- {
-- pad_across_to (padding_not_printed - col_sep_length);
-+ pad_across_to (padding_not_printed - col_sep_width);
- padding_not_printed = ANYWHERE;
- }
-
-@@ -2029,13 +2155,13 @@
- /* May be too generous. */
- buff = X2REALLOC (buff, &buff_allocated);
- }
-- buff[buff_current++] = c;
-+ buff[buff_current++] = (unsigned char) c;
- }
-
- static void
- add_line_number (COLUMN *p)
- {
-- int i;
-+ int i, j;
- char *s;
- int left_cut;
-
-@@ -2058,22 +2184,24 @@
- /* Tabification is assumed for multiple columns, also for n-separators,
- but `default n-separator = TAB' hasn't been given priority over
- equal column_width also specified by POSIX. */
-- if (number_separator == '\t')
-+ if (number_separator[0] == '\t')
- {
- i = number_width - chars_per_number;
- while (i-- > 0)
- (p->char_func) (' ');
- }
- else
-- (p->char_func) (number_separator);
-+ for (j = 0; j < number_separator_length; j++)
-+ (p->char_func) (number_separator[j]);
- }
- else
- /* To comply with POSIX, we avoid any expansion of default TAB
- separator with a single column output. No column_width requirement
- has to be considered. */
- {
-- (p->char_func) (number_separator);
-- if (number_separator == '\t')
-+ for (j = 0; j < number_separator_length; j++)
-+ (p->char_func) (number_separator[j]);
-+ if (number_separator[0] == '\t')
- output_position = POS_AFTER_TAB (chars_per_output_tab,
- output_position);
- }
-@@ -2234,7 +2362,7 @@
- while (goal - h_old > 1
- && (h_new = POS_AFTER_TAB (chars_per_output_tab, h_old)) <= goal)
- {
-- putchar (output_tab_char);
-+ fwrite (output_tab_char, sizeof(char), output_tab_char_length, stdout);
- h_old = h_new;
- }
- while (++h_old <= goal)
-@@ -2254,6 +2382,7 @@
- {
- char *s;
- int l = col_sep_length;
-+ int not_space_flag;
-
- s = col_sep_string;
-
-@@ -2267,6 +2396,7 @@
- {
- for (; separators_not_printed > 0; --separators_not_printed)
- {
-+ not_space_flag = 0;
- while (l-- > 0)
- {
- /* 3 types of sep_strings: spaces only, spaces and chars,
-@@ -2280,12 +2410,15 @@
- }
- else
- {
-+ not_space_flag = 1;
- if (spaces_not_printed > 0)
- print_white_space ();
- putchar (*s++);
-- ++output_position;
- }
- }
-+ if (not_space_flag)
-+ output_position += col_sep_width;
-+
- /* sep_string ends with some spaces */
- if (spaces_not_printed > 0)
- print_white_space ();
-@@ -2313,7 +2446,7 @@
- required number of tabs and spaces. */
-
- static void
--print_char (char c)
-+print_char_single (char c)
- {
- if (tabify_output)
- {
-@@ -2337,6 +2470,74 @@
- putchar (c);
- }
-
-+#ifdef HAVE_MBRTOWC
-+static void
-+print_char_multi (char c)
-+{
-+ static size_t mbc_pos = 0;
-+ static char mbc[MB_LEN_MAX] = {'\0'};
-+ static mbstate_t state = {'\0'};
-+ mbstate_t state_bak;
-+ wchar_t wc;
-+ size_t mblength;
-+ int width;
-+
-+ if (tabify_output)
-+ {
-+ state_bak = state;
-+ mbc[mbc_pos++] = c;
-+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
-+
-+ while (mbc_pos > 0)
-+ {
-+ switch (mblength)
-+ {
-+ case (size_t)-2:
-+ state = state_bak;
-+ return;
-+
-+ case (size_t)-1:
-+ state = state_bak;
-+ ++output_position;
-+ putchar (mbc[0]);
-+ memmove (mbc, mbc + 1, MB_CUR_MAX - 1);
-+ --mbc_pos;
-+ break;
-+
-+ case 0:
-+ mblength = 1;
-+
-+ default:
-+ if (wc == L' ')
-+ {
-+ memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength);
-+ --mbc_pos;
-+ ++spaces_not_printed;
-+ return;
-+ }
-+ else if (spaces_not_printed > 0)
-+ print_white_space ();
-+
-+ /* Nonprintables are assumed to have width 0, except L'\b'. */
-+ if ((width = wcwidth (wc)) < 1)
-+ {
-+ if (wc == L'\b')
-+ --output_position;
-+ }
-+ else
-+ output_position += width;
-+
-+ fwrite (mbc, sizeof(char), mblength, stdout);
-+ memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength);
-+ mbc_pos -= mblength;
-+ }
-+ }
-+ return;
-+ }
-+ putchar (c);
-+}
-+#endif
-+
- /* Skip to page PAGE before printing.
- PAGE may be larger than total number of pages. */
-
-@@ -2517,9 +2718,9 @@
- align_empty_cols = false;
- }
-
-- if (padding_not_printed - col_sep_length > 0)
-+ if (padding_not_printed - col_sep_width > 0)
- {
-- pad_across_to (padding_not_printed - col_sep_length);
-+ pad_across_to (padding_not_printed - col_sep_width);
- padding_not_printed = ANYWHERE;
- }
-
-@@ -2620,9 +2821,9 @@
- }
- }
-
-- if (padding_not_printed - col_sep_length > 0)
-+ if (padding_not_printed - col_sep_width > 0)
- {
-- pad_across_to (padding_not_printed - col_sep_length);
-+ pad_across_to (padding_not_printed - col_sep_width);
- padding_not_printed = ANYWHERE;
- }
-
-@@ -2635,8 +2836,8 @@
- if (spaces_not_printed == 0)
- {
- output_position = p->start_position + end_vector[line];
-- if (p->start_position - col_sep_length == chars_per_margin)
-- output_position -= col_sep_length;
-+ if (p->start_position - col_sep_width == chars_per_margin)
-+ output_position -= col_sep_width;
- }
-
- return true;
-@@ -2655,7 +2856,7 @@
- number of characters is 1.) */
-
- static int
--char_to_clump (char c)
-+char_to_clump_single (char c)
- {
- unsigned char uc = c;
- char *s = clump_buff;
-@@ -2665,10 +2866,10 @@
- int chars;
- int chars_per_c = 8;
-
-- if (c == input_tab_char)
-+ if (c == input_tab_char[0])
- chars_per_c = chars_per_input_tab;
-
-- if (c == input_tab_char || c == '\t')
-+ if (c == input_tab_char[0] || c == '\t')
- {
- width = TAB_WIDTH (chars_per_c, input_position);
-
-@@ -2739,6 +2940,154 @@
- return chars;
- }
-
-+#ifdef HAVE_MBRTOWC
-+static int
-+char_to_clump_multi (char c)
-+{
-+ static size_t mbc_pos = 0;
-+ static char mbc[MB_LEN_MAX] = {'\0'};
-+ static mbstate_t state = {'\0'};
-+ mbstate_t state_bak;
-+ wchar_t wc;
-+ size_t mblength;
-+ int wc_width;
-+ register char *s = clump_buff;
-+ register int i, j;
-+ char esc_buff[4];
-+ int width;
-+ int chars;
-+ int chars_per_c = 8;
-+
-+ state_bak = state;
-+ mbc[mbc_pos++] = c;
-+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
-+
-+ width = 0;
-+ chars = 0;
-+ while (mbc_pos > 0)
-+ {
-+ switch (mblength)
-+ {
-+ case (size_t)-2:
-+ state = state_bak;
-+ return 0;
-+
-+ case (size_t)-1:
-+ state = state_bak;
-+ mblength = 1;
-+
-+ if (use_esc_sequence || use_cntrl_prefix)
-+ {
-+ width = +4;
-+ chars = +4;
-+ *s++ = '\\';
-+ sprintf (esc_buff, "%03o", mbc[0]);
-+ for (i = 0; i <= 2; ++i)
-+ *s++ = (int) esc_buff[i];
-+ }
-+ else
-+ {
-+ width += 1;
-+ chars += 1;
-+ *s++ = mbc[0];
-+ }
-+ break;
-+
-+ case 0:
-+ mblength = 1;
-+ /* Fall through */
-+
-+ default:
-+ if (memcmp (mbc, input_tab_char, mblength) == 0)
-+ chars_per_c = chars_per_input_tab;
-+
-+ if (memcmp (mbc, input_tab_char, mblength) == 0 || c == '\t')
-+ {
-+ int width_inc;
-+
-+ width_inc = TAB_WIDTH (chars_per_c, input_position);
-+ width += width_inc;
-+
-+ if (untabify_input)
-+ {
-+ for (i = width_inc; i; --i)
-+ *s++ = ' ';
-+ chars += width_inc;
-+ }
-+ else
-+ {
-+ for (i = 0; i < mblength; i++)
-+ *s++ = mbc[i];
-+ chars += mblength;
-+ }
-+ }
-+ else if ((wc_width = wcwidth (wc)) < 1)
-+ {
-+ if (use_esc_sequence)
-+ {
-+ for (i = 0; i < mblength; i++)
-+ {
-+ width += 4;
-+ chars += 4;
-+ *s++ = '\\';
-+ sprintf (esc_buff, "%03o", c);
-+ for (j = 0; j <= 2; ++j)
-+ *s++ = (int) esc_buff[j];
-+ }
-+ }
-+ else if (use_cntrl_prefix)
-+ {
-+ if (wc < 0200)
-+ {
-+ width += 2;
-+ chars += 2;
-+ *s++ = '^';
-+ *s++ = wc ^ 0100;
-+ }
-+ else
-+ {
-+ for (i = 0; i < mblength; i++)
-+ {
-+ width += 4;
-+ chars += 4;
-+ *s++ = '\\';
-+ sprintf (esc_buff, "%03o", c);
-+ for (j = 0; j <= 2; ++j)
-+ *s++ = (int) esc_buff[j];
-+ }
-+ }
-+ }
-+ else if (wc == L'\b')
-+ {
-+ width += -1;
-+ chars += 1;
-+ *s++ = c;
-+ }
-+ else
-+ {
-+ width += 0;
-+ chars += mblength;
-+ for (i = 0; i < mblength; i++)
-+ *s++ = mbc[i];
-+ }
-+ }
-+ else
-+ {
-+ width += wc_width;
-+ chars += mblength;
-+ for (i = 0; i < mblength; i++)
-+ *s++ = mbc[i];
-+ }
-+ }
-+ memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength);
-+ mbc_pos -= mblength;
-+ }
-+
-+ input_position += width;
-+ return chars;
-+}
-+#endif
-+
- /* We've just printed some files and need to clean up things before
- looking for more options and printing the next batch of files.
-
---- coreutils-6.8+/src/cut.c.i18n 2007-01-14 15:41:28.000000000 +0000
-+++ coreutils-6.8+/src/cut.c 2007-03-01 15:08:24.000000000 +0000
-@@ -29,6 +29,11 @@
- #include <assert.h>
- #include <getopt.h>
- #include <sys/types.h>
-+
-+/* Get mbstate_t, mbrtowc(). */
-+#if HAVE_WCHAR_H
-+# include <wchar.h>
-+#endif
- #include "system.h"
-
- #include "error.h"
-@@ -37,6 +42,18 @@
- #include "quote.h"
- #include "xstrndup.h"
-
-+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
-+ installation; work around this configuration error. */
-+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
-+# undef MB_LEN_MAX
-+# define MB_LEN_MAX 16
-+#endif
-+
-+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
-+#if HAVE_MBRTOWC && defined mbstate_t
-+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
-+#endif
-+
- /* The official name of this program (e.g., no `g' prefix). */
- #define PROGRAM_NAME "cut"
-
-@@ -67,6 +84,52 @@
- } \
- while (0)
-
-+/* Refill the buffer BUF to get a multibyte character. */
-+#define REFILL_BUFFER(BUF, BUFPOS, BUFLEN, STREAM) \
-+ do \
-+ { \
-+ if (BUFLEN < MB_LEN_MAX && !feof (STREAM) && !ferror (STREAM)) \
-+ { \
-+ memmove (BUF, BUFPOS, BUFLEN); \
-+ BUFLEN += fread (BUF + BUFLEN, sizeof(char), BUFSIZ, STREAM); \
-+ BUFPOS = BUF; \
-+ } \
-+ } \
-+ while (0)
-+
-+/* Get wide character on BUFPOS. BUFPOS is not included after that.
-+ If byte sequence is not valid as a character, CONVFAIL is 1. Otherwise 0. */
-+#define GET_NEXT_WC_FROM_BUFFER(WC, BUFPOS, BUFLEN, MBLENGTH, STATE, CONVFAIL) \
-+ do \
-+ { \
-+ mbstate_t state_bak; \
-+ \
-+ if (BUFLEN < 1) \
-+ { \
-+ WC = WEOF; \
-+ break; \
-+ } \
-+ \
-+ /* Get a wide character. */ \
-+ CONVFAIL = 0; \
-+ state_bak = STATE; \
-+ MBLENGTH = mbrtowc ((wchar_t *)&WC, BUFPOS, BUFLEN, &STATE); \
-+ \
-+ switch (MBLENGTH) \
-+ { \
-+ case (size_t)-1: \
-+ case (size_t)-2: \
-+ CONVFAIL++; \
-+ STATE = state_bak; \
-+ /* Fall througn. */ \
-+ \
-+ case 0: \
-+ MBLENGTH = 1; \
-+ break; \
-+ } \
-+ } \
-+ while (0)
-+
- struct range_pair
- {
- size_t lo;
-@@ -85,7 +148,7 @@
- /* The number of bytes allocated for FIELD_1_BUFFER. */
- static size_t field_1_bufsize;
-
--/* The largest field or byte index used as an endpoint of a closed
-+/* The largest byte, character or field index used as an endpoint of a closed
- or degenerate range specification; this doesn't include the starting
- index of right-open-ended ranges. For example, with either range spec
- `2-5,9-', `2-3,5,9-' this variable would be set to 5. */
-@@ -97,10 +160,11 @@
-
- /* This is a bit vector.
- In byte mode, which bytes to output.
-+ In character mode, which characters to output.
- In field mode, which DELIM-separated fields to output.
-- Both bytes and fields are numbered starting with 1,
-+ Bytes, characters and fields are numbered starting with 1,
- so the zeroth bit of this array is unused.
-- A field or byte K has been selected if
-+ A byte, character or field K has been selected if
- (K <= MAX_RANGE_ENDPOINT and is_printable_field(K))
- || (EOL_RANGE_START > 0 && K >= EOL_RANGE_START). */
- static unsigned char *printable_field;
-@@ -109,9 +173,12 @@
- {
- undefined_mode,
-
-- /* Output characters that are in the given bytes. */
-+ /* Output bytes that are at the given positions. */
- byte_mode,
-
-+ /* Output characters that are at the given positions. */
-+ character_mode,
-+
- /* Output the given delimeter-separated fields. */
- field_mode
- };
-@@ -121,6 +188,13 @@
-
- static enum operating_mode operating_mode;
-
-+/* If nonzero, when in byte mode, don't split multibyte characters. */
-+static int byte_mode_character_aware;
-+
-+/* If nonzero, the function for single byte locale is work
-+ if this program runs on multibyte locale. */
-+static int force_singlebyte_mode;
-+
- /* If true do not output lines containing no delimeter characters.
- Otherwise, all such lines are printed. This option is valid only
- with field mode. */
-@@ -132,6 +206,9 @@
-
- /* The delimeter character for field mode. */
- static unsigned char delim;
-+#if HAVE_WCHAR_H
-+static wchar_t wcdelim;
-+#endif
-
- /* True if the --output-delimiter=STRING option was specified. */
- static bool output_delimiter_specified;
-@@ -205,7 +282,7 @@
- -f, --fields=LIST select only these fields; also print any line\n\
- that contains no delimiter character, unless\n\
- the -s option is specified\n\
-- -n (ignored)\n\
-+ -n with -b: don't split multibyte characters\n\
- "), stdout);
- fputs (_("\
- --complement complement the set of selected bytes, characters\n\
-@@ -362,7 +439,7 @@
- in_digits = false;
- /* Starting a range. */
- if (dash_found)
-- FATAL_ERROR (_("invalid byte or field list"));
-+ FATAL_ERROR (_("invalid byte, character or field list"));
- dash_found = true;
- fieldstr++;
-
-@@ -387,14 +464,16 @@
- if (!rhs_specified)
- {
- /* `n-'. From `initial' to end of line. */
-- eol_range_start = initial;
-+ if (eol_range_start == 0 ||
-+ (eol_range_start != 0 && eol_range_start > initial))
-+ eol_range_start = initial;
- field_found = true;
- }
- else
- {
- /* `m-n' or `-n' (1-n). */
- if (value < initial)
-- FATAL_ERROR (_("invalid decreasing range"));
-+ FATAL_ERROR (_("invalid byte, character or field list"));
-
- /* Is there already a range going to end of line? */
- if (eol_range_start != 0)
-@@ -467,6 +546,9 @@
- if (operating_mode == byte_mode)
- error (0, 0,
- _("byte offset %s is too large"), quote (bad_num));
-+ else if (operating_mode == character_mode)
-+ error (0, 0,
-+ _("character offset %s is too large"), quote (bad_num));
- else
- error (0, 0,
- _("field number %s is too large"), quote (bad_num));
-@@ -477,7 +559,7 @@
- fieldstr++;
- }
- else
-- FATAL_ERROR (_("invalid byte or field list"));
-+ FATAL_ERROR (_("invalid byte, character or field list"));
- }
-
- max_range_endpoint = 0;
-@@ -570,6 +652,63 @@
- }
- }
-
-+#if HAVE_MBRTOWC
-+/* This function is in use for the following case.
-+
-+ 1. Read from the stream STREAM, printing to standard output any selected
-+ characters.
-+
-+ 2. Read from stream STREAM, printing to standard output any selected bytes,
-+ without splitting multibyte characters. */
-+
-+static void
-+cut_characters_or_cut_bytes_no_split (FILE *stream)
-+{
-+ int idx; /* number of bytes or characters in the line so far. */
-+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
-+ char *bufpos; /* Next read position of BUF. */
-+ size_t buflen; /* The length of the byte sequence in buf. */
-+ wint_t wc; /* A gotten wide character. */
-+ size_t mblength; /* The byte size of a multibyte character which shows
-+ as same character as WC. */
-+ mbstate_t state; /* State of the stream. */
-+ int convfail; /* 1, when conversion is failed. Otherwise 0. */
-+
-+ idx = 0;
-+ buflen = 0;
-+ bufpos = buf;
-+ memset (&state, '\0', sizeof(mbstate_t));
-+
-+ while (1)
-+ {
-+ REFILL_BUFFER (buf, bufpos, buflen, stream);
-+
-+ GET_NEXT_WC_FROM_BUFFER (wc, bufpos, buflen, mblength, state, convfail);
-+
-+ if (wc == WEOF)
-+ {
-+ if (idx > 0)
-+ putchar ('\n');
-+ break;
-+ }
-+ else if (wc == L'\n')
-+ {
-+ putchar ('\n');
-+ idx = 0;
-+ }
-+ else
-+ {
-+ idx += (operating_mode == byte_mode) ? mblength : 1;
-+ if (print_kth (idx, NULL))
-+ fwrite (bufpos, mblength, sizeof(char), stdout);
-+ }
-+
-+ buflen -= mblength;
-+ bufpos += mblength;
-+ }
-+}
-+#endif
-+
- /* Read from stream STREAM, printing to standard output any selected fields. */
-
- static void
-@@ -692,13 +831,192 @@
- }
- }
-
-+#if HAVE_MBRTOWC
-+static void
-+cut_fields_mb (FILE *stream)
-+{
-+ int c;
-+ unsigned int field_idx;
-+ int found_any_selected_field;
-+ int buffer_first_field;
-+ int empty_input;
-+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
-+ char *bufpos; /* Next read position of BUF. */
-+ size_t buflen; /* The length of the byte sequence in buf. */
-+ wint_t wc = 0; /* A gotten wide character. */
-+ size_t mblength; /* The byte size of a multibyte character which shows
-+ as same character as WC. */
-+ mbstate_t state; /* State of the stream. */
-+ int convfail; /* 1, when conversion is failed. Otherwise 0. */
-+
-+ found_any_selected_field = 0;
-+ field_idx = 1;
-+ bufpos = buf;
-+ buflen = 0;
-+ memset (&state, '\0', sizeof(mbstate_t));
-+
-+ c = getc (stream);
-+ empty_input = (c == EOF);
-+ if (c != EOF)
-+ ungetc (c, stream);
-+ else
-+ wc = WEOF;
-+
-+ /* To support the semantics of the -s flag, we may have to buffer
-+ all of the first field to determine whether it is `delimited.'
-+ But that is unnecessary if all non-delimited lines must be printed
-+ and the first field has been selected, or if non-delimited lines
-+ must be suppressed and the first field has *not* been selected.
-+ That is because a non-delimited line has exactly one field. */
-+ buffer_first_field = (suppress_non_delimited ^ !print_kth (1, NULL));
-+
-+ while (1)
-+ {
-+ if (field_idx == 1 && buffer_first_field)
-+ {
-+ int len = 0;
-+
-+ while (1)
-+ {
-+ REFILL_BUFFER (buf, bufpos, buflen, stream);
-+
-+ GET_NEXT_WC_FROM_BUFFER
-+ (wc, bufpos, buflen, mblength, state, convfail);
-+
-+ if (wc == WEOF)
-+ break;
-+
-+ field_1_buffer = xrealloc (field_1_buffer, len + mblength);
-+ memcpy (field_1_buffer + len, bufpos, mblength);
-+ len += mblength;
-+ buflen -= mblength;
-+ bufpos += mblength;
-+
-+ if (!convfail && (wc == L'\n' || wc == wcdelim))
-+ break;
-+ }
-+
-+ if (wc == WEOF)
-+ break;
-+
-+ /* If the first field extends to the end of line (it is not
-+ delimited) and we are printing all non-delimited lines,
-+ print this one. */
-+ if (convfail || (!convfail && wc != wcdelim))
-+ {
-+ if (suppress_non_delimited)
-+ {
-+ /* Empty. */
-+ }
-+ else
-+ {
-+ fwrite (field_1_buffer, sizeof (char), len, stdout);
-+ /* Make sure the output line is newline terminated. */
-+ if (convfail || (!convfail && wc != L'\n'))
-+ putchar ('\n');
-+ }
-+ continue;
-+ }
-+
-+ if (print_kth (1, NULL))
-+ {
-+ /* Print the field, but not the trailing delimiter. */
-+ fwrite (field_1_buffer, sizeof (char), len - 1, stdout);
-+ found_any_selected_field = 1;
-+ }
-+ ++field_idx;
-+ }
-+
-+ if (wc != WEOF)
-+ {
-+ if (print_kth (field_idx, NULL))
-+ {
-+ if (found_any_selected_field)
-+ {
-+ fwrite (output_delimiter_string, sizeof (char),
-+ output_delimiter_length, stdout);
-+ }
-+ found_any_selected_field = 1;
-+ }
-+
-+ while (1)
-+ {
-+ REFILL_BUFFER (buf, bufpos, buflen, stream);
-+
-+ GET_NEXT_WC_FROM_BUFFER
-+ (wc, bufpos, buflen, mblength, state, convfail);
-+
-+ if (wc == WEOF)
-+ break;
-+ else if (!convfail && (wc == wcdelim || wc == L'\n'))
-+ {
-+ buflen -= mblength;
-+ bufpos += mblength;
-+ break;
-+ }
-+
-+ if (print_kth (field_idx, NULL))
-+ fwrite (bufpos, mblength, sizeof(char), stdout);
-+
-+ buflen -= mblength;
-+ bufpos += mblength;
-+ }
-+ }
-+
-+ if ((!convfail || wc == L'\n') && buflen < 1)
-+ wc = WEOF;
-+
-+ if (!convfail && wc == wcdelim)
-+ ++field_idx;
-+ else if (wc == WEOF || (!convfail && wc == L'\n'))
-+ {
-+ if (found_any_selected_field
-+ || (!empty_input && !(suppress_non_delimited && field_idx == 1)))
-+ putchar ('\n');
-+ if (wc == WEOF)
-+ break;
-+ field_idx = 1;
-+ found_any_selected_field = 0;
-+ }
-+ }
-+}
-+#endif
-+
- static void
- cut_stream (FILE *stream)
- {
-- if (operating_mode == byte_mode)
-- cut_bytes (stream);
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1 && !force_singlebyte_mode)
-+ {
-+ switch (operating_mode)
-+ {
-+ case byte_mode:
-+ if (byte_mode_character_aware)
-+ cut_characters_or_cut_bytes_no_split (stream);
-+ else
-+ cut_bytes (stream);
-+ break;
-+
-+ case character_mode:
-+ cut_characters_or_cut_bytes_no_split (stream);
-+ break;
-+
-+ case field_mode:
-+ cut_fields_mb (stream);
-+ break;
-+
-+ default:
-+ abort ();
-+ }
-+ }
- else
-- cut_fields (stream);
-+#endif
-+ {
-+ if (operating_mode == field_mode)
-+ cut_fields (stream);
-+ else
-+ cut_bytes (stream);
-+ }
- }
-
- /* Process file FILE to standard output.
-@@ -748,6 +1066,8 @@
- bool ok;
- bool delim_specified = false;
- char *spec_list_string IF_LINT(= NULL);
-+ char mbdelim[MB_LEN_MAX + 1];
-+ size_t delimlen = 0;
-
- initialize_main (&argc, &argv);
- set_program_name (argv[0]);
-@@ -770,7 +1090,6 @@
- switch (optc)
- {
- case 'b':
-- case 'c':
- /* Build the byte list. */
- if (operating_mode != undefined_mode)
- FATAL_ERROR (_("only one type of list may be specified"));
-@@ -778,6 +1097,14 @@
- spec_list_string = optarg;
- break;
-
-+ case 'c':
-+ /* Build the character list. */
-+ if (operating_mode != undefined_mode)
-+ FATAL_ERROR (_("only one type of list may be specified"));
-+ operating_mode = character_mode;
-+ spec_list_string = optarg;
-+ break;
-+
- case 'f':
- /* Build the field list. */
- if (operating_mode != undefined_mode)
-@@ -789,10 +1116,35 @@
- case 'd':
- /* New delimiter. */
- /* Interpret -d '' to mean `use the NUL byte as the delimiter.' */
-- if (optarg[0] != '\0' && optarg[1] != '\0')
-- FATAL_ERROR (_("the delimiter must be a single character"));
-- delim = optarg[0];
-- delim_specified = true;
-+ {
-+#if HAVE_MBRTOWC
-+ if(MB_CUR_MAX > 1)
-+ {
-+ mbstate_t state;
-+
-+ memset (&state, '\0', sizeof(mbstate_t));
-+ delimlen = mbrtowc (&wcdelim, optarg, strnlen(optarg, MB_LEN_MAX), &state);
-+
-+ if (delimlen == (size_t)-1 || delimlen == (size_t)-2)
-+ ++force_singlebyte_mode;
-+ else
-+ {
-+ delimlen = (delimlen < 1) ? 1 : delimlen;
-+ if (wcdelim != L'\0' && *(optarg + delimlen) != '\0')
-+ FATAL_ERROR (_("the delimiter must be a single character"));
-+ memcpy (mbdelim, optarg, delimlen);
-+ }
-+ }
-+
-+ if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
-+#endif
-+ {
-+ if (optarg[0] != '\0' && optarg[1] != '\0')
-+ FATAL_ERROR (_("the delimiter must be a single character"));
-+ delim = (unsigned char) optarg[0];
-+ }
-+ delim_specified = true;
-+ }
- break;
-
- case OUTPUT_DELIMITER_OPTION:
-@@ -805,6 +1157,7 @@
- break;
-
- case 'n':
-+ byte_mode_character_aware = 1;
- break;
-
- case 's':
-@@ -827,7 +1180,7 @@
- if (operating_mode == undefined_mode)
- FATAL_ERROR (_("you must specify a list of bytes, characters, or fields"));
-
-- if (delim != '\0' && operating_mode != field_mode)
-+ if (delim_specified && operating_mode != field_mode)
- FATAL_ERROR (_("an input delimiter may be specified only\
- when operating on fields"));
-
-@@ -854,15 +1207,34 @@
- }
-
- if (!delim_specified)
-- delim = '\t';
-+ {
-+ delim = '\t';
-+#ifdef HAVE_MBRTOWC
-+ wcdelim = L'\t';
-+ mbdelim[0] = '\t';
-+ mbdelim[1] = '\0';
-+ delimlen = 1;
-+#endif
-+ }
-
- if (output_delimiter_string == NULL)
- {
-- static char dummy[2];
-- dummy[0] = delim;
-- dummy[1] = '\0';
-- output_delimiter_string = dummy;
-- output_delimiter_length = 1;
-+#ifdef HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1 && !force_singlebyte_mode)
-+ {
-+ output_delimiter_string = xstrdup(mbdelim);
-+ output_delimiter_length = delimlen;
-+ }
-+
-+ if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
-+#endif
-+ {
-+ static char dummy[2];
-+ dummy[0] = delim;
-+ dummy[1] = '\0';
-+ output_delimiter_string = dummy;
-+ output_delimiter_length = 1;
-+ }
- }
-
- if (optind == argc)
-diff -urNp coreutils-6.12/src/join.c coreutils-6.12-orig/src/join.c
---- coreutils-6.12/src/join.c 2008-07-16 14:08:01.000000000 +0200
-+++ coreutils-6.12-orig/src/join.c 2008-07-16 14:07:02.000000000 +0200
-@@ -634,6 +634,11 @@ get_line (FILE *fp, struct line *line, i
- return false;
- }
-
-+#if HAVE_MBRTOWC
-+ if (MB_CUR_MAX > 1)
-+ xfields_multibyte (line);
-+ else
-+#endif
- xfields (line);
-
- if (prevline[which - 1])
-
diff --git a/abs/core/coreutils/coreutils-pam.patch b/abs/core/coreutils/coreutils-pam.patch
index 7171522..e61908f 100644
--- a/abs/core/coreutils/coreutils-pam.patch
+++ b/abs/core/coreutils/coreutils-pam.patch
@@ -1,17 +1,96 @@
---- coreutils-6.7/src/Makefile.am.pam 2006-11-24 21:28:10.000000000 +0000
-+++ coreutils-6.7/src/Makefile.am 2007-01-09 17:00:01.000000000 +0000
-@@ -103,7 +103,7 @@
- # If necessary, add -lm to resolve use of pow in lib/strtod.c.
- uptime_LDADD = $(LDADD) $(POW_LIB) $(GETLOADAVG_LIBS)
+diff -urNp coreutils-8.4-orig/configure.ac coreutils-8.4/configure.ac
+--- coreutils-8.4-orig/configure.ac 2010-01-11 18:20:42.000000000 +0100
++++ coreutils-8.4/configure.ac 2010-02-12 10:17:46.000000000 +0100
+@@ -126,6 +126,13 @@ if test "$gl_gcc_warnings" = yes; then
+ AC_SUBST([GNULIB_WARN_CFLAGS])
+ fi
--su_LDADD = $(LDADD) $(LIB_CRYPT)
-+su_LDADD = $(LDADD) $(LIB_CRYPT) @LIB_PAM@
++dnl Give the chance to enable PAM
++AC_ARG_ENABLE(pam, dnl
++[ --enable-pam Enable use of the PAM libraries],
++[AC_DEFINE(USE_PAM, 1, [Define if you want to use PAM])
++LIB_PAM="-ldl -lpam -lpam_misc"
++AC_SUBST(LIB_PAM)])
++
+ AC_FUNC_FORK
+
+ optional_bin_progs=
+diff -urNp coreutils-8.4-orig/doc/coreutils.texi coreutils-8.4/doc/coreutils.texi
+--- coreutils-8.4-orig/doc/coreutils.texi 2010-01-03 18:06:20.000000000 +0100
++++ coreutils-8.4/doc/coreutils.texi 2010-02-12 10:17:46.000000000 +0100
+@@ -15081,8 +15081,11 @@ to certain shells, etc.).
+ @findex syslog
+ @command{su} can optionally be compiled to use @code{syslog} to report
+ failed, and optionally successful, @command{su} attempts. (If the system
+-supports @code{syslog}.) However, GNU @command{su} does not check if the
+-user is a member of the @code{wheel} group; see below.
++supports @code{syslog}.)
++
++This version of @command{su} has support for using PAM for
++authentication. You can edit @file{/etc/pam.d/su} to customize its
++behaviour.
+
+ The program accepts the following options. Also see @ref{Common options}.
+
+@@ -15124,6 +15127,8 @@ environment variables except @env{TERM},
+ @env{PATH} to a compiled-in default value. Change to @var{user}'s home
+ directory. Prepend @samp{-} to the shell's name, intended to make it
+ read its login startup file(s).
++Additionaly @env{DISPLAY} and @env{XAUTHORITY} environment variables
++are preserved as well for PAM functionality.
+
+ @item -m
+ @itemx -p
+@@ -15163,33 +15168,6 @@ Exit status:
+ the exit status of the subshell otherwise
+ @end display
+
+-@cindex wheel group, not supported
+-@cindex group wheel, not supported
+-@cindex fascism
+-@subsection Why GNU @command{su} does not support the @samp{wheel} group
+-
+-(This section is by Richard Stallman.)
+-
+-@cindex Twenex
+-@cindex MIT AI lab
+-Sometimes a few of the users try to hold total power over all the
+-rest. For example, in 1984, a few users at the MIT AI lab decided to
+-seize power by changing the operator password on the Twenex system and
+-keeping it secret from everyone else. (I was able to thwart this coup
+-and give power back to the users by patching the kernel, but I
+-wouldn't know how to do that in Unix.)
+-
+-However, occasionally the rulers do tell someone. Under the usual
+-@command{su} mechanism, once someone learns the root password who
+-sympathizes with the ordinary users, he or she can tell the rest. The
+-``wheel group'' feature would make this impossible, and thus cement the
+-power of the rulers.
+-
+-I'm on the side of the masses, not that of the rulers. If you are
+-used to supporting the bosses and sysadmins in whatever they do, you
+-might find this idea strange at first.
+-
+-
+ @node timeout invocation
+ @section @command{timeout}: Run a command with a time limit
+
+diff -urNp coreutils-8.4-orig/src/Makefile.am coreutils-8.4/src/Makefile.am
+--- coreutils-8.4-orig/src/Makefile.am 2010-01-03 18:06:20.000000000 +0100
++++ coreutils-8.4/src/Makefile.am 2010-02-12 10:17:46.000000000 +0100
+@@ -361,7 +361,7 @@ factor_LDADD += $(LIB_GMP)
+ uptime_LDADD += $(GETLOADAVG_LIBS)
+
+ # for crypt
+-su_LDADD += $(LIB_CRYPT)
++su_LDADD += $(LIB_CRYPT) @LIB_PAM@
- dir_LDADD += $(LIB_ACL)
- ls_LDADD += $(LIB_ACL)
---- coreutils-6.7/src/su.c.pam 2007-01-09 17:00:01.000000000 +0000
-+++ coreutils-6.7/src/su.c 2007-01-09 17:16:43.000000000 +0000
-@@ -38,6 +38,16 @@
+ # for various ACL functions
+ copy_LDADD += $(LIB_ACL)
+diff -urNp coreutils-8.4-orig/src/su.c coreutils-8.4/src/su.c
+--- coreutils-8.4-orig/src/su.c 2010-02-12 10:15:15.000000000 +0100
++++ coreutils-8.4/src/su.c 2010-02-12 10:24:29.000000000 +0100
+@@ -37,6 +37,16 @@
restricts who can su to UID 0 accounts. RMS considers that to
be fascist.
@@ -28,9 +107,9 @@
Compile-time options:
-DSYSLOG_SUCCESS Log successful su's (by default, to root) with syslog.
-DSYSLOG_FAILURE Log failed su's (by default, to root) with syslog.
-@@ -59,6 +69,15 @@
- prototype (returning `int') in <unistd.h>. */
- #define getusershell _getusershell_sys_proto_
+@@ -53,6 +63,15 @@
+ #include <pwd.h>
+ #include <grp.h>
+#ifdef USE_PAM
+# include <signal.h>
@@ -44,18 +123,13 @@
#include "system.h"
#include "getpass.h"
-@@ -128,15 +147,22 @@
+@@ -120,10 +139,17 @@
/* The user to become if none is specified. */
#define DEFAULT_USER "root"
+#ifndef USE_PAM
char *crypt (char const *key, char const *salt);
+#endif
- char *getusershell (void);
- void endusershell (void);
- void setusershell (void);
-
- extern char **environ;
-static void run_shell (char const *, char const *, char **, size_t)
+static void run_shell (char const *, char const *, char **, size_t,
@@ -68,7 +142,7 @@
/* If true, pass the `-f' option to the subshell. */
static bool fast_startup;
-@@ -225,7 +251,26 @@
+@@ -209,7 +235,26 @@ log_su (struct passwd const *pw, bool su
}
#endif
@@ -95,7 +169,7 @@
Return true if the user gives the correct password for entry PW,
false if not. Return true without asking for a password if run by UID 0
or if PW has an empty password. */
-@@ -233,6 +278,44 @@
+@@ -217,6 +262,44 @@ log_su (struct passwd const *pw, bool su
static bool
correct_password (const struct passwd *pw)
{
@@ -140,7 +214,7 @@
char *unencrypted, *encrypted, *correct;
#if HAVE_GETSPNAM && HAVE_STRUCT_SPWD_SP_PWDP
/* Shadow passwd stuff for SVR3 and maybe other systems. */
-@@ -257,6 +340,7 @@
+@@ -241,6 +324,7 @@ correct_password (const struct passwd *p
encrypted = crypt (unencrypted, correct);
memset (unencrypted, 0, strlen (unencrypted));
return STREQ (encrypted, correct);
@@ -148,26 +222,26 @@
}
/* Update `environ' for the new shell based on PW, with SHELL being
-@@ -270,12 +354,18 @@
+@@ -254,12 +338,18 @@ modify_environment (const struct passwd
/* Leave TERM unchanged. Set HOME, SHELL, USER, LOGNAME, PATH.
Unset all other environment variables. */
char const *term = getenv ("TERM");
+ char const *display = getenv ("DISPLAY");
+ char const *xauthority = getenv ("XAUTHORITY");
if (term)
- term = xstrdup (term);
+ term = xstrdup (term);
environ = xmalloc ((6 + !!term) * sizeof (char *));
environ[0] = NULL;
if (term)
- xsetenv ("TERM", term);
+ xsetenv ("TERM", term);
+ if (display)
-+ xsetenv ("DISPLAY", display);
++ xsetenv ("DISPLAY", display);
+ if (xauthority)
-+ xsetenv ("XAUTHORITY", xauthority);
++ xsetenv ("XAUTHORITY", xauthority);
xsetenv ("HOME", pw->pw_dir);
xsetenv ("SHELL", shell);
xsetenv ("USER", pw->pw_name);
-@@ -308,8 +398,13 @@
+@@ -292,8 +382,13 @@ change_identity (const struct passwd *pw
{
#ifdef HAVE_INITGROUPS
errno = 0;
@@ -177,13 +251,13 @@
+ pam_close_session(pamh, 0);
+ pam_end(pamh, PAM_ABORT);
+#endif
- error (EXIT_FAILURE, errno, _("cannot set groups"));
+ error (EXIT_CANCELED, errno, _("cannot set groups"));
+ }
endgrent ();
#endif
if (setgid (pw->pw_gid))
-@@ -318,6 +413,31 @@
- error (EXIT_FAILURE, errno, _("cannot set user id"));
+@@ -302,6 +397,31 @@ change_identity (const struct passwd *pw
+ error (EXIT_CANCELED, errno, _("cannot set user id"));
}
+#ifdef USE_PAM
@@ -214,12 +288,12 @@
/* Run SHELL, or DEFAULT_SHELL if SHELL is empty.
If COMMAND is nonzero, pass it to the shell with the -c option.
Pass ADDITIONAL_ARGS to the shell as more arguments; there
-@@ -325,17 +445,49 @@
+@@ -309,17 +429,49 @@ change_identity (const struct passwd *pw
static void
run_shell (char const *shell, char const *command, char **additional_args,
-- size_t n_additional_args)
-+ size_t n_additional_args, const struct passwd *pw)
+- size_t n_additional_args)
++ size_t n_additional_args, const struct passwd *pw)
{
size_t n_args = 1 + fast_startup + 2 * !!command + n_additional_args + 1;
char const **args = xnmalloc (n_args, sizeof *args);
@@ -265,7 +339,7 @@
shell_basename = last_component (shell);
arg0 = xmalloc (strlen (shell_basename) + 2);
arg0[0] = '-';
-@@ -360,6 +512,66 @@
+@@ -344,6 +496,67 @@ run_shell (char const *shell, char const
error (0, errno, "%s", shell);
exit (exit_status);
}
@@ -303,12 +377,12 @@
+
+ pid = waitpid(-1, &status, WUNTRACED);
+
-+ if (WIFSTOPPED(status)) {
-+ kill(getpid(), SIGSTOP);
++ if (((pid_t)-1 != pid) && (0 != WIFSTOPPED (status))) {
++ kill(getpid(), WSTOPSIG(status));
+ /* once we get here, we must have resumed */
+ kill(pid, SIGCONT);
+ }
-+ } while (WIFSTOPPED(status));
++ } while (0 != WIFSTOPPED(status));
+ }
+
+ if (caught) {
@@ -327,12 +401,13 @@
+ fprintf(stderr, " ...killed.\n");
+ exit(-1);
+ }
-+ exit (WEXITSTATUS(status));
++ exit ((0 != WIFEXITED (status)) ? WEXITSTATUS (status)
++ : WTERMSIG (status) + 128);
+#endif /* USE_PAM */
}
/* Return true if SHELL is a restricted shell (one not returned by
-@@ -527,9 +739,9 @@
+@@ -511,9 +724,9 @@ main (int argc, char **argv)
shell = xstrdup (shell ? shell : pw->pw_shell);
modify_environment (pw, shell);
@@ -342,82 +417,12 @@
- error (0, errno, _("warning: cannot change directory to %s"), pw->pw_dir);
+#endif
+ /* error() flushes stderr, but does not check for write failure.
+ Normally, we would catch this via our atexit() hook of
+@@ -523,5 +736,5 @@ main (int argc, char **argv)
+ if (ferror (stderr))
+ exit (EXIT_CANCELED);
+
- run_shell (shell, command, argv + optind, MAX (0, argc - optind));
+ run_shell (shell, command, argv + optind, MAX (0, argc - optind), pw);
}
---- coreutils-6.7/doc/coreutils.texi.pam 2006-10-27 15:30:48.000000000 +0100
-+++ coreutils-6.7/doc/coreutils.texi 2007-01-09 17:00:01.000000000 +0000
-@@ -13395,8 +13395,11 @@
- @findex syslog
- @command{su} can optionally be compiled to use @code{syslog} to report
- failed, and optionally successful, @command{su} attempts. (If the system
--supports @code{syslog}.) However, GNU @command{su} does not check if the
--user is a member of the @code{wheel} group; see below.
-+supports @code{syslog}.)
-+
-+This version of @command{su} has support for using PAM for
-+authentication. You can edit @file{/etc/pam.d/su} to customize its
-+behaviour.
-
- The program accepts the following options. Also see @ref{Common options}.
-
-@@ -12815,6 +12815,8 @@
- @env{PATH} to a compiled-in default value. Change to @var{user}'s home
- directory. Prepend @samp{-} to the shell's name, intended to make it
- read its login startup file(s).
-+Additionaly @env{DISPLAY} and @env{XAUTHORITY} environment variables
-+are preserved as well for PAM functionality.
-
- @item -m
- @itemx -p
-@@ -13477,33 +13480,6 @@
- the exit status of the subshell otherwise
- @end display
-
--@cindex wheel group, not supported
--@cindex group wheel, not supported
--@cindex fascism
--@subsection Why GNU @command{su} does not support the @samp{wheel} group
--
--(This section is by Richard Stallman.)
--
--@cindex Twenex
--@cindex MIT AI lab
--Sometimes a few of the users try to hold total power over all the
--rest. For example, in 1984, a few users at the MIT AI lab decided to
--seize power by changing the operator password on the Twenex system and
--keeping it secret from everyone else. (I was able to thwart this coup
--and give power back to the users by patching the kernel, but I
--wouldn't know how to do that in Unix.)
--
--However, occasionally the rulers do tell someone. Under the usual
--@command{su} mechanism, once someone learns the root password who
--sympathizes with the ordinary users, he or she can tell the rest. The
--``wheel group'' feature would make this impossible, and thus cement the
--power of the rulers.
--
--I'm on the side of the masses, not that of the rulers. If you are
--used to supporting the bosses and sysadmins in whatever they do, you
--might find this idea strange at first.
--
--
- @node timeout invocation
- @section @command{timeout}: Run a command with a time limit
-
---- coreutils-6.7/configure.ac.pam 2006-12-07 21:30:24.000000000 +0000
-+++ coreutils-6.7/configure.ac 2007-01-09 17:18:04.000000000 +0000
-@@ -44,6 +44,13 @@
- gl_INIT
- coreutils_MACROS
-
-+dnl Give the chance to enable PAM
-+AC_ARG_ENABLE(pam, dnl
-+[ --enable-pam Enable use of the PAM libraries],
-+[AC_DEFINE(USE_PAM, 1, [Define if you want to use PAM])
-+LIB_PAM="-ldl -lpam -lpam_misc"
-+AC_SUBST(LIB_PAM)])
-+
- AC_FUNC_FORK
-
- optional_bin_progs=
-
diff --git a/abs/core/coreutils/coreutils-uname.patch b/abs/core/coreutils/coreutils-uname.patch
index 93cb134..b458abe 100644
--- a/abs/core/coreutils/coreutils-uname.patch
+++ b/abs/core/coreutils/coreutils-uname.patch
@@ -11,11 +11,11 @@ func in the linux/arch/<ARCH>/ source tree of the kernel.
--- coreutils/src/uname.c
+++ coreutils/src/uname.c
-@@ -51,6 +51,11 @@
+@@ -50,6 +50,11 @@
# include <mach-o/arch.h>
#endif
-+#if defined (__linux__)
++#if defined(__linux__)
+# define USE_PROCINFO
+# define UNAME_HARDWARE_PLATFORM
+#endif
@@ -63,7 +63,7 @@ func in the linux/arch/<ARCH>/ source tree of the kernel.
+ }
+}
+
-+static int __linux_procinfo (int x, char *fstr, size_t s)
++static int __linux_procinfo(int x, char *fstr, size_t s)
+{
+ FILE *fp;
+
@@ -148,26 +148,26 @@ func in the linux/arch/<ARCH>/ source tree of the kernel.
-#if HAVE_SYSINFO && defined SI_ARCHITECTURE
+#if ( HAVE_SYSINFO && defined SI_ARCHITECTURE ) || defined(USE_PROCINFO)
{
- static char processor[257];
+ static char processor[257];
+#if defined(USE_PROCINFO)
-+ if (0 <= __linux_procinfo (PROCINFO_PROCESSOR, processor, sizeof processor))
++ if (0 <= __linux_procinfo (PROCINFO_PROCESSOR, processor, sizeof processor))
+#else
- if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
+ if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
+#endif
- element = processor;
+ element = processor;
}
#endif
@@ -306,9 +404,13 @@ main (int argc, char **argv)
if (element == unknown)
- {
- static char hardware_platform[257];
+ {
+ static char hardware_platform[257];
+#if defined(USE_PROCINFO)
-+ if (0 <= __linux_procinfo (PROCINFO_HARDWARE_PLATFORM, hardware_platform, sizeof hardware_platform))
++ if (0 <= __linux_procinfo (PROCINFO_HARDWARE_PLATFORM, hardware_platform, sizeof hardware_platform))
+#else
- size_t s = sizeof hardware_platform;
- static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM };
- if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0)
+ size_t s = sizeof hardware_platform;
+ static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM };
+ if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0)
+#endif
- element = hardware_platform;
- }
+ element = hardware_platform;
+ }
#endif
diff --git a/abs/core/coreutils/coreutils.install b/abs/core/coreutils/coreutils.install
index 37ebe29..dff2dc5 100644
--- a/abs/core/coreutils/coreutils.install
+++ b/abs/core/coreutils/coreutils.install
@@ -4,7 +4,7 @@ filelist=(coreutils.info)
post_install() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- usr/bin/install-info $infodir/$file $infodir/dir 2> /dev/null
+ usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
@@ -15,7 +15,7 @@ post_upgrade() {
pre_remove() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- usr/bin/install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core/coreutils/futimes.patch b/abs/core/coreutils/futimes.patch
deleted file mode 100644
index bb08384..0000000
--- a/abs/core/coreutils/futimes.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- coreutils-6.9/lib/utimens.h.futimens 2007-02-23 18:25:21.000000000 +0000
-+++ coreutils-6.9/lib/utimens.h 2007-06-13 11:40:37.000000000 +0100
-@@ -1,3 +1,3 @@
- #include <time.h>
--int futimens (int, char const *, struct timespec const [2]);
-+int gl_futimens (int, char const *, struct timespec const [2]);
- int utimens (char const *, struct timespec const [2]);
---- coreutils-6.9/lib/utimens.c.futimens 2007-01-18 08:33:34.000000000 +0000
-+++ coreutils-6.9/lib/utimens.c 2007-06-13 11:40:37.000000000 +0100
-@@ -75,7 +75,7 @@ struct utimbuf
- Return 0 on success, -1 (setting errno) on failure. */
-
- int
--futimens (int fd ATTRIBUTE_UNUSED,
-+gl_futimens (int fd ATTRIBUTE_UNUSED,
- char const *file, struct timespec const timespec[2])
- {
- /* Some Linux-based NFS clients are buggy, and mishandle time stamps
-@@ -185,5 +185,5 @@ futimens (int fd ATTRIBUTE_UNUSED,
- int
- utimens (char const *file, struct timespec const timespec[2])
- {
-- return futimens (-1, file, timespec);
-+ return gl_futimens (-1, file, timespec);
- }
---- coreutils-6.9/src/copy.c.futimens 2007-06-13 11:56:44.000000000 +0100
-+++ coreutils-6.9/src/copy.c 2007-06-13 11:57:00.000000000 +0100
-@@ -547,7 +547,7 @@ copy_reg (char const *src_name, char con
- timespec[0] = get_stat_atime (src_sb);
- timespec[1] = get_stat_mtime (src_sb);
-
-- if (futimens (dest_desc, dst_name, timespec) != 0)
-+ if (gl_futimens (dest_desc, dst_name, timespec) != 0)
- {
- error (0, errno, _("preserving times for %s"), quote (dst_name));
- if (x->require_preserve)
---- coreutils-6.9/src/touch.c.futimens 2007-06-13 11:58:00.000000000 +0100
-+++ coreutils-6.9/src/touch.c 2007-06-13 11:58:06.000000000 +0100
-@@ -182,7 +182,7 @@ touch (const char *file)
- t = timespec;
- }
-
-- ok = (futimens (fd, (fd == STDOUT_FILENO ? NULL : file), t) == 0);
-+ ok = (gl_futimens (fd, (fd == STDOUT_FILENO ? NULL : file), t) == 0);
-
- if (fd == STDIN_FILENO)
- {
diff --git a/abs/core/coreutils/su b/abs/core/coreutils/su.pam
index cf15f40..cf15f40 100644
--- a/abs/core/coreutils/su
+++ b/abs/core/coreutils/su.pam
diff --git a/abs/core/cups/PKGBUILD b/abs/core/cups/PKGBUILD
new file mode 100644
index 0000000..5d59113
--- /dev/null
+++ b/abs/core/cups/PKGBUILD
@@ -0,0 +1,113 @@
+# $Id: PKGBUILD 87481 2010-08-14 10:36:21Z andyrtr $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgbase="cups"
+pkgname=('libcups' 'cups')
+pkgver=1.4.4
+pkgrel=3
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.cups.org/"
+makedepends=('libtiff>=3.9.2-2' 'libpng>=1.4.0' 'acl' 'openslp' 'pam' 'xdg-utils' 'heimdal>=1.3.1' 'gnutls>=2.8.3' 'poppler>=0.12.3'
+ 'xinetd' 'gzip' 'autoconf' 'php' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme')
+source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
+ cups-avahi.patch
+ http://www.cups.org/strfiles/3595/str3595.patch
+ cups cups.logrotate cups.pam)
+#options=('!emptydirs')
+md5sums=('8776403ad60fea9e85eab9c04d88560d'
+ 'fce500e3e6e244f5b77fe8eaad87e022'
+ '0dd7329fc956d63a72085553171d62a2'
+ '5c85b7d8d2ddd02c2c64955cebbf55ea'
+ 'f861b18f4446c43918c8643dcbbd7f6d'
+ '96f82c38f3f540b53f3e5144900acf17')
+
+build() {
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ # Avahi support in the dnssd backend. patch from Fedora
+ patch -Np1 -i ${srcdir}/cups-avahi.patch || return 1
+
+ # fix Brother HL-1440 failing with msg "Unable to write 8192 bytes to printer!" (http://bugs.archlinux.org/task/18167)
+ patch -Np0 -i ${srcdir}/str3595.patch || return 1
+
+ # Rebuild configure script for --enable-avahi.
+ aclocal -I config-scripts
+ autoconf -I config-scripts
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --with-logdir=/var/log/cups -with-docdir=/usr/share/cups/doc \
+ --with-cups-user=daemon --with-cups-group=lp --enable-pam=yes \
+ --disable-ldap --libdir=/usr/lib --enable-raw-printing \
+ --enable-dbus --with-dbusdir=/etc/dbus-1 --enable-ssl=yes --enable-gnutls --disable-threads --enable-avahi\
+ --with-php=/usr/bin/php-cgi --with-pdftops=pdftops --with-optim="$CFLAGS"
+ make || return 1
+}
+
+package_libcups() {
+pkgdesc="The CUPS Printing System - client libraries and headers"
+depends=('gnutls>=2.8.3' 'libtiff>=3.9.2-2' 'libpng>=1.4.0' 'heimdal>=1.3.1' 'avahi')
+
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ make BUILDROOT=${pkgdir} install-headers install-libs || return 1
+ # put this into the libs pkg to make other software find the libs(no pkg-config file included)
+ mkdir -p ${pkgdir}/usr/bin
+ install -m755 ${srcdir}/${pkgbase}-${pkgver}/cups-config ${pkgdir}/usr/bin/cups-config
+}
+
+package_cups() {
+pkgdesc="The CUPS Printing System - deamon package"
+install=cups.install
+backup=(etc/cups/cupsd.conf
+ etc/cups/mime.convs
+ etc/cups/mime.types
+ etc/cups/snmp.conf
+ etc/cups/printers.conf
+ etc/cups/classes.conf
+ etc/cups/client.conf
+ etc/cups/subscriptions.conf
+ etc/dbus-1/system.d/cups.conf
+ etc/logrotate.d/cups
+ etc/pam.d/cups
+ etc/xinetd.d/cups-lpd)
+depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'xdg-utils' 'poppler>=0.12.3' 'libusb' 'dbus-core' 'hicolor-icon-theme')
+optdepends=('php: for included phpcups.so module')
+
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ make BUILDROOT=${pkgdir} install-data install-exec || return 1
+
+ # this one we ship in the libcups pkg
+ rm -f ${pkgdir}/usr/bin/cups-config
+
+ # kill the sysv stuff
+ rm -rf ${pkgdir}/etc/rc*.d
+ rm -rf ${pkgdir}/etc/init.d
+ install -D -m755 ../cups ${pkgdir}/etc/rc.d/cups
+ install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups
+ install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups
+
+ # fix perms on /var/spool and /etc
+ chmod 755 ${pkgdir}/var/spool
+ chmod 755 ${pkgdir}/etc
+
+ # serial backend needs to run as root (http://bugs.archlinux.org/task/20396)
+ chmod 700 ${pkgdir}/usr/lib/cups/backend/serial
+
+ # install ssl directory where to store the certs, solves some samba issues
+ install -dm700 -g lp ${pkgdir}/etc/cups/ssl
+ install -dm511 -g lp ${pkgdir}/var/run/cups/certs
+
+ # install some more configuration files that will get filled by cupsd
+ touch ${pkgdir}/etc/cups/printers.conf
+ touch ${pkgdir}/etc/cups/classes.conf
+ touch ${pkgdir}/etc/cups/client.conf
+ echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf
+ echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
+ touch ${pkgdir}/etc/cups/subscriptions.conf
+ chgrp lp ${pkgdir}/etc/cups/{printers.conf,classes.conf,client.conf,subscriptions.conf}
+
+ # fix .desktop file
+ sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop
+
+ # compress some driver files, adopted from Fedora
+ find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f
+}
diff --git a/abs/core/cups/cups b/abs/core/cups/cups
new file mode 100755
index 0000000..4afaf5a
--- /dev/null
+++ b/abs/core/cups/cups
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/cupsd`
+case "$1" in
+ start)
+ stat_busy "Starting CUPS Daemon"
+ [ -z "$PID" ] && /usr/sbin/cupsd
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo $(pidof -o %PPID -x /usr/sbin/cupsd) > /var/run/cups.pid
+ add_daemon cups
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping CUPS Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/cups.pid
+ rm_daemon cups
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/core/cups/cups-avahi.patch b/abs/core/cups/cups-avahi.patch
new file mode 100644
index 0000000..9783cd4
--- /dev/null
+++ b/abs/core/cups/cups-avahi.patch
@@ -0,0 +1,1088 @@
+diff -up cups-1.4.0/backend/dnssd.c.avahi cups-1.4.0/backend/dnssd.c
+--- cups-1.4.0/backend/dnssd.c.avahi 2009-08-07 23:27:12.000000000 +0100
++++ cups-1.4.0/backend/dnssd.c 2009-09-04 14:57:04.730388833 +0100
+@@ -22,6 +22,7 @@
+ * exec_backend() - Execute the backend that corresponds to the
+ * resolved service name.
+ * get_device() - Create or update a device.
++* find_device()
+ * query_callback() - Process query data.
+ * sigterm_handler() - Handle termination signals...
+ * unquote() - Unquote a name string.
+@@ -33,7 +34,18 @@
+
+ #include "backend-private.h"
+ #include <cups/array.h>
+-#include <dns_sd.h>
++#ifdef HAVE_DNSSD
++# include <dns_sd.h>
++#endif /* HAVE_DNSSD */
++#ifdef HAVE_AVAHI
++# include <avahi-client/client.h>
++# include <avahi-client/lookup.h>
++# include <avahi-common/simple-watch.h>
++# include <avahi-common/domain.h>
++# include <avahi-common/error.h>
++# include <avahi-common/malloc.h>
++#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX
++#endif /* HAVE_AVAHI */
+
+
+ /*
+@@ -52,7 +64,12 @@ typedef enum
+
+ typedef struct
+ {
++#ifdef HAVE_DNSSD
+ DNSServiceRef ref; /* Service reference for resolve */
++#endif /* HAVE_DNSSD */
++#ifdef HAVE_AVAHI
++ int resolved; /* Did we resolve the device? */
++#endif /* HAVE_AVAHI */
+ char *name, /* Service name */
+ *domain, /* Domain name */
+ *fullName, /* Full name */
+@@ -64,6 +81,20 @@ typedef struct
+ sent; /* Did we list the device? */
+ } cups_device_t;
+
++typedef struct
++{
++ char key[256];
++ char value[256];
++
++#ifdef HAVE_DNSSD
++ const uint8_t *data;
++ const uint8_t *datanext;
++ const uint8_t *dataend;
++#else /* HAVE_AVAHI */
++ AvahiStringList *txt;
++#endif /* HAVE_DNSSD */
++} cups_txt_records_t;
++
+
+ /*
+ * Local globals...
+@@ -77,6 +108,7 @@ static int job_canceled = 0;
+ * Local functions...
+ */
+
++#ifdef HAVE_DNSSD
+ static void browse_callback(DNSServiceRef sdRef,
+ DNSServiceFlags flags,
+ uint32_t interfaceIndex,
+@@ -92,12 +124,6 @@ static void browse_local_callback(DNSSe
+ const char *regtype,
+ const char *replyDomain,
+ void *context);
+-static int compare_devices(cups_device_t *a, cups_device_t *b);
+-static void exec_backend(char **argv);
+-static cups_device_t *get_device(cups_array_t *devices,
+- const char *serviceName,
+- const char *regtype,
+- const char *replyDomain);
+ static void query_callback(DNSServiceRef sdRef,
+ DNSServiceFlags flags,
+ uint32_t interfaceIndex,
+@@ -106,9 +132,111 @@ static void query_callback(DNSServiceRe
+ uint16_t rrclass, uint16_t rdlen,
+ const void *rdata, uint32_t ttl,
+ void *context);
++#endif /* HAVE_DNSSD */
++#ifdef HAVE_AVAHI
++static void avahi_client_callback (AvahiClient *client,
++ AvahiClientState state,
++ void *context);
++static void avahi_browse_callback (AvahiServiceBrowser *browser,
++ AvahiIfIndex interface,
++ AvahiProtocol protocol,
++ AvahiBrowserEvent event,
++ const char *serviceName,
++ const char *regtype,
++ const char *replyDomain,
++ AvahiLookupResultFlags flags,
++ void *context);
++#endif /* HAVE_AVAHI */
++
++static cups_device_t * find_device (cups_array_t *devices,
++ cups_txt_records_t *txt,
++ cups_device_t *dkey);
++static int compare_devices(cups_device_t *a, cups_device_t *b);
++static void exec_backend(char **argv);
++static cups_device_t *get_device(cups_array_t *devices,
++ const char *serviceName,
++ const char *regtype,
++ const char *replyDomain);
+ static void sigterm_handler(int sig);
+ static void unquote(char *dst, const char *src, size_t dstsize);
+
++#ifdef HAVE_AVAHI
++static AvahiSimplePoll *simple_poll = NULL;
++static int avahi_got_callback;
++#endif /* HAVE_AVAHI */
++
++
++/*
++ * cups_txt_records_t access functions
++ */
++static cups_txt_records_t *
++next_txt_record (cups_txt_records_t *txt)
++{
++#ifdef HAVE_DNSSD
++ txt->data = txt->datanext;
++#else /* HAVE_AVAHI */
++ txt->txt = avahi_string_list_get_next (txt->txt);
++ if (txt->txt == NULL)
++ return NULL;
++#endif /* HAVE_DNSSD */
++
++ return txt;
++}
++
++static int
++parse_txt_record_pair (cups_txt_records_t *txt)
++{
++#ifdef HAVE_DNSSD
++ uint8_t datalen;
++ uint8_t *data = txt->data;
++ char *ptr;
++
++ /*
++ * Read a key/value pair starting with an 8-bit length. Since the
++ * length is 8 bits and the size of the key/value buffers is 256, we
++ * don't need to check for overflow...
++ */
++
++ datalen = *data++;
++ if (!datalen || (data + datalen) >= txt->dataend)
++ return NULL;
++ txt->datanext = data + datalen;
++
++ for (ptr = txt->key; data < txt->datanext && *data != '='; data ++)
++ *ptr++ = *data;
++ *ptr = '\0';
++
++ if (data < txt->datanext && *data == '=')
++ {
++ data++;
++
++ if (data < datanext)
++ memcpy (txt->value, data, txt->datanext - data);
++ value[txt->datanext - data] = '\0';
++ }
++ else
++ return 1;
++#else /* HAVE_AVAHI */
++ char *key, *value;
++ size_t len;
++ avahi_string_list_get_pair (txt->txt, &key, &value, &len);
++ if (len > sizeof (txt->value) - 1)
++ len = sizeof (txt->value) - 1;
++
++ memcpy (txt->value, value, len);
++ txt->value[len] = '\0';
++ len = strlen (key);
++ if (len > sizeof (txt->key) - 1)
++ len = sizeof (txt->key) - 1;
++
++ memcpy (txt->key, key, len);
++ txt->key[len] = '\0';
++ avahi_free (key);
++ avahi_free (value);
++#endif /* HAVE_AVAHI */
++
++ return 0;
++}
+
+ /*
+ * 'main()' - Browse for printers.
+@@ -119,6 +247,13 @@ main(int argc, /* I - Number of comm
+ char *argv[]) /* I - Command-line arguments */
+ {
+ const char *name; /* Backend name */
++ cups_array_t *devices; /* Device array */
++ cups_device_t *device; /* Current device */
++ char uriName[1024]; /* Unquoted fullName for URI */
++#ifdef HAVE_DNSSD
++ int fd; /* Main file descriptor */
++ fd_set input; /* Input set for select() */
++ struct timeval timeout; /* Timeout for select() */
+ DNSServiceRef main_ref, /* Main service reference */
+ fax_ipp_ref, /* IPP fax service reference */
+ ipp_ref, /* IPP service reference */
+@@ -130,12 +265,11 @@ main(int argc, /* I - Number of comm
+ pdl_datastream_ref, /* AppSocket service reference */
+ printer_ref, /* LPD service reference */
+ riousbprint_ref; /* Remote IO service reference */
+- int fd; /* Main file descriptor */
+- fd_set input; /* Input set for select() */
+- struct timeval timeout; /* Timeout for select() */
+- cups_array_t *devices; /* Device array */
+- cups_device_t *device; /* Current device */
+- char uriName[1024]; /* Unquoted fullName for URI */
++#endif /* HAVE_DNSSD */
++#ifdef HAVE_AVAHI
++ AvahiClient *client;
++ int error;
++#endif /* HAVE_AVAHI */
+ #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
+ struct sigaction action; /* Actions for POSIX signals */
+ #endif /* HAVE_SIGACTION && !HAVE_SIGSET */
+@@ -194,6 +328,49 @@ main(int argc, /* I - Number of comm
+ * Browse for different kinds of printers...
+ */
+
++#ifdef HAVE_AVAHI
++ if ((simple_poll = avahi_simple_poll_new ()) == NULL)
++ {
++ perror ("ERROR: Unable to create avahi simple poll object");
++ return (1);
++ }
++
++ client = avahi_client_new (avahi_simple_poll_get (simple_poll),
++ 0, avahi_client_callback, NULL, &error);
++ if (!client)
++ {
++ perror ("ERROR: Unable to create avahi client");
++ return (1);
++ }
++
++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
++ AVAHI_PROTO_UNSPEC,
++ "_fax-ipp._tcp", NULL, 0,
++ avahi_browse_callback, devices);
++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
++ AVAHI_PROTO_UNSPEC,
++ "_ipp._tcp", NULL, 0,
++ avahi_browse_callback, devices);
++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
++ AVAHI_PROTO_UNSPEC,
++ "_ipp-tls._tcp", NULL, 0,
++ avahi_browse_callback, devices);
++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
++ AVAHI_PROTO_UNSPEC,
++ "_pdl-datastream._tcp",
++ NULL, 0,
++ avahi_browse_callback,
++ devices);
++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
++ AVAHI_PROTO_UNSPEC,
++ "_printer._tcp", NULL, 0,
++ avahi_browse_callback, devices);
++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
++ AVAHI_PROTO_UNSPEC,
++ "_riousbprint._tcp", NULL, 0,
++ avahi_browse_callback, devices);
++#endif /* HAVE_AVAHI */
++#ifdef HAVE_DNSSD
+ if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError)
+ {
+ perror("ERROR: Unable to create service connection");
+@@ -245,6 +422,7 @@ main(int argc, /* I - Number of comm
+ riousbprint_ref = main_ref;
+ DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0,
+ "_riousbprint._tcp", NULL, browse_callback, devices);
++#endif /* HAVE_DNSSD */
+
+ /*
+ * Loop until we are killed...
+@@ -252,6 +430,9 @@ main(int argc, /* I - Number of comm
+
+ while (!job_canceled)
+ {
++ int announce = 0;
++
++#ifdef HAVE_DNSSD
+ FD_ZERO(&input);
+ FD_SET(fd, &input);
+
+@@ -271,11 +452,35 @@ main(int argc, /* I - Number of comm
+ }
+ else
+ {
++ announce = 1;
++ }
++#else /* HAVE_AVAHI */
++ int r;
++ avahi_got_callback = 0;
++ r = avahi_simple_poll_iterate (simple_poll, 1);
++ if (r != 0 && r != EINTR)
++ {
++ /*
++ * We've been told to exit the loop. Perhaps the connection to
++ * avahi failed.
++ */
++
++ break;
++ }
++
++ if (avahi_got_callback)
++ announce = 1;
++#endif /* HAVE_DNSSD */
++
++ if (announce)
++ {
+ /*
+ * Announce any devices we've found...
+ */
+
++#ifdef HAVE_DNSSD
+ DNSServiceErrorType status; /* DNS query status */
++#endif /* HAVE_DNSSD */
+ cups_device_t *best; /* Best matching device */
+ char device_uri[1024]; /* Device URI */
+ int count; /* Number of queries */
+@@ -285,6 +490,7 @@ main(int argc, /* I - Number of comm
+ best = NULL, count = 0;
+ device;
+ device = (cups_device_t *)cupsArrayNext(devices))
++#ifdef HAVE_DNSSD
+ if (!device->ref && !device->sent)
+ {
+ /*
+@@ -313,14 +519,23 @@ main(int argc, /* I - Number of comm
+ count ++;
+ }
+ }
+- else if (!device->sent)
++ else
++#endif /* HAVE_DNSSD */
++#ifdef HAVE_AVAHI
++ if (!device->resolved)
++ continue;
++ else
++#endif /* HAVE_AVAHI */
++ if (!device->sent)
+ {
++#ifdef HAVE_DNSSD
+ /*
+ * Got the TXT records, now report the device...
+ */
+
+ DNSServiceRefDeallocate(device->ref);
+ device->ref = 0;
++#endif /* HAVE_DNSSD */
+
+ if (!best)
+ best = device;
+@@ -372,6 +587,7 @@ main(int argc, /* I - Number of comm
+ * 'browse_callback()' - Browse devices.
+ */
+
++#ifdef HAVE_DNSSD
+ static void
+ browse_callback(
+ DNSServiceRef sdRef, /* I - Service reference */
+@@ -405,12 +621,14 @@ browse_callback(
+
+ get_device((cups_array_t *)context, serviceName, regtype, replyDomain);
+ }
++#endif /* HAVE_DNSSD */
+
+
+ /*
+ * 'browse_local_callback()' - Browse local devices.
+ */
+
++#ifdef HAVE_DNSSD
+ static void
+ browse_local_callback(
+ DNSServiceRef sdRef, /* I - Service reference */
+@@ -456,6 +674,7 @@ browse_local_callback(
+ device->fullName);
+ device->sent = 1;
+ }
++#endif /* HAVE_DNSSD */
+
+
+ /*
+@@ -528,6 +747,32 @@ exec_backend(char **argv) /* I - Comman
+ exit(CUPS_BACKEND_STOP);
+ }
+
++static int
++device_type (const char *regtype)
++{
++#ifdef HAVE_AVAHI
++ if (!strcmp(regtype, "_ipp._tcp") ||
++ !strcmp(regtype, "_ipp-tls._tcp"))
++ return (CUPS_DEVICE_IPP);
++ else if (!strcmp(regtype, "_fax-ipp._tcp"))
++ return (CUPS_DEVICE_FAX_IPP);
++ else if (!strcmp(regtype, "_printer._tcp"))
++ return (CUPS_DEVICE_PDL_DATASTREAM);
++#else
++ if (!strcmp(regtype, "_ipp._tcp.") ||
++ !strcmp(regtype, "_ipp-tls._tcp."))
++ return (CUPS_DEVICE_IPP);
++ else if (!strcmp(regtype, "_fax-ipp._tcp."))
++ return (CUPS_DEVICE_FAX_IPP);
++ else if (!strcmp(regtype, "_printer._tcp."))
++ return (CUPS_DEVICE_PRINTER);
++ else if (!strcmp(regtype, "_pdl-datastream._tcp."))
++ return (CUPS_DEVICE_PDL_DATASTREAM);
++#endif /* HAVE_AVAHI */
++
++ return (CUPS_DEVICE_RIOUSBPRINT);
++}
++
+
+ /*
+ * 'get_device()' - Create or update a device.
+@@ -550,18 +795,7 @@ get_device(cups_array_t *devices, /* I -
+ */
+
+ key.name = (char *)serviceName;
+-
+- if (!strcmp(regtype, "_ipp._tcp.") ||
+- !strcmp(regtype, "_ipp-tls._tcp."))
+- key.type = CUPS_DEVICE_IPP;
+- else if (!strcmp(regtype, "_fax-ipp._tcp."))
+- key.type = CUPS_DEVICE_FAX_IPP;
+- else if (!strcmp(regtype, "_printer._tcp."))
+- key.type = CUPS_DEVICE_PRINTER;
+- else if (!strcmp(regtype, "_pdl-datastream._tcp."))
+- key.type = CUPS_DEVICE_PDL_DATASTREAM;
+- else
+- key.type = CUPS_DEVICE_RIOUSBPRINT;
++ key.type = device_type (regtype);
+
+ for (device = cupsArrayFind(devices, &key);
+ device;
+@@ -581,8 +815,14 @@ get_device(cups_array_t *devices, /* I -
+ free(device->domain);
+ device->domain = strdup(replyDomain);
+
++#ifdef HAVE_DNSSD
+ DNSServiceConstructFullName(fullName, device->name, regtype,
+ replyDomain);
++#else /* HAVE_AVAHI */
++ avahi_service_name_join (fullName, kDNSServiceMaxDomainName,
++ serviceName, regtype, replyDomain);
++#endif /* HAVE_DNSSD */
++
+ free(device->fullName);
+ device->fullName = strdup(fullName);
+ }
+@@ -602,6 +842,9 @@ get_device(cups_array_t *devices, /* I -
+ device->domain = strdup(replyDomain);
+ device->type = key.type;
+ device->priority = 50;
++#ifdef HAVE_AVAHI
++ device->resolved = 0;
++#endif /* HAVE_AVAHI */
+
+ cupsArrayAdd(devices, device);
+
+@@ -609,7 +852,13 @@ get_device(cups_array_t *devices, /* I -
+ * Set the "full name" of this service, which is used for queries...
+ */
+
++#ifdef HAVE_DNSSD
+ DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain);
++#else /* HAVE_AVAHI */
++ avahi_service_name_join (fullName, kDNSServiceMaxDomainName,
++ serviceName, regtype, replyDomain);
++#endif /* HAVE_DNSSD */
++
+ device->fullName = strdup(fullName);
+
+ return (device);
+@@ -620,6 +869,7 @@ get_device(cups_array_t *devices, /* I -
+ * 'query_callback()' - Process query data.
+ */
+
++#ifdef HAVE_DNSSD
+ static void
+ query_callback(
+ DNSServiceRef sdRef, /* I - Service reference */
+@@ -639,7 +889,7 @@ query_callback(
+ *ptr; /* Pointer into string */
+ cups_device_t dkey, /* Search key */
+ *device; /* Device */
+-
++ cups_txt_records_t txt;
+
+ fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, "
+ "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
+@@ -673,84 +923,212 @@ query_callback(
+ if ((ptr = strstr(name, "._")) != NULL)
+ *ptr = '\0';
+
+- if (strstr(fullName, "_ipp._tcp.") ||
+- strstr(fullName, "_ipp-tls._tcp."))
+- dkey.type = CUPS_DEVICE_IPP;
+- else if (strstr(fullName, "_fax-ipp._tcp."))
+- dkey.type = CUPS_DEVICE_FAX_IPP;
+- else if (strstr(fullName, "_printer._tcp."))
+- dkey.type = CUPS_DEVICE_PRINTER;
+- else if (strstr(fullName, "_pdl-datastream._tcp."))
+- dkey.type = CUPS_DEVICE_PDL_DATASTREAM;
++ dkey.type = device_type (fullName);
++
++ txt.data = rdata;
++ txt.dataend = rdata + rdlen;
++ device = find_device ((cups_array_t *) context, &txt, &dkey);
++ if (!device)
++ fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName);
++}
++#endif /* HAVE_DNSSD */
++
++#ifdef HAVE_AVAHI
++static void
++avahi_client_callback(AvahiClient *client,
++ AvahiClientState state,
++ void *context)
++{
++ /*
++ * If the connection drops, quit.
++ */
++
++ if (state == AVAHI_CLIENT_FAILURE)
++ {
++ fprintf (stderr, "ERROR: Avahi connection failed\n");
++ avahi_simple_poll_quit (simple_poll);
++ }
++}
++
++static void
++avahi_query_callback(AvahiServiceResolver *resolver,
++ AvahiIfIndex interface,
++ AvahiProtocol protocol,
++ AvahiResolverEvent event,
++ const char *name,
++ const char *type,
++ const char *domain,
++ const char *host_name,
++ const AvahiAddress *address,
++ uint16_t port,
++ AvahiStringList *txt,
++ AvahiLookupResultFlags flags,
++ void *context)
++{
++ AvahiClient *client;
++ cups_device_t key,
++ *device;
++ char uqname[1024],
++ *ptr;
++ cups_txt_records_t txtr;
++
++ client = avahi_service_resolver_get_client (resolver);
++ if (event != AVAHI_RESOLVER_FOUND)
++ {
++ if (event == AVAHI_RESOLVER_FAILURE)
++ {
++ fprintf (stderr, "ERROR: %s\n",
++ avahi_strerror (avahi_client_errno (client)));
++ }
++
++ avahi_service_resolver_free (resolver);
++ return;
++ }
++
++ /*
++ * Set search key for device.
++ */
++
++ key.name = uqname;
++ unquote (uqname, name, sizeof (uqname));
++ if ((ptr = strstr(name, "._")) != NULL)
++ *ptr = '\0';
++
++ key.domain = (char *) domain;
++ key.type = device_type (type);
++
++ /*
++ * Find the device and the the TXT information.
++ */
++
++ txtr.txt = txt;
++ device = find_device ((cups_array_t *) context, &txtr, &key);
++ if (device)
++ {
++ /*
++ * Let the main loop know to announce the device.
++ */
++
++ device->resolved = 1;
++ avahi_got_callback = 1;
++ }
+ else
+- dkey.type = CUPS_DEVICE_RIOUSBPRINT;
++ fprintf (stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", name);
++
++ avahi_service_resolver_free (resolver);
++}
++
++static void
++avahi_browse_callback(AvahiServiceBrowser *browser,
++ AvahiIfIndex interface,
++ AvahiProtocol protocol,
++ AvahiBrowserEvent event,
++ const char *name,
++ const char *type,
++ const char *domain,
++ AvahiLookupResultFlags flags,
++ void *context)
++{
++ AvahiClient *client = avahi_service_browser_get_client (browser);
++
++ switch (event)
++ {
++ case AVAHI_BROWSER_FAILURE:
++ fprintf (stderr, "ERROR: %s\n",
++ avahi_strerror (avahi_client_errno (client)));
++ avahi_simple_poll_quit (simple_poll);
++ return;
++
++ case AVAHI_BROWSER_NEW:
++ /*
++ * This object is new on the network.
++ */
++
++ if (flags & AVAHI_LOOKUP_RESULT_LOCAL)
++ {
++ /*
++ * This comes from the local machine so ignore it.
++ */
++
++ fprintf (stderr, "DEBUG: ignoring local service %s\n", name);
++ }
++ else
++ {
++ /*
++ * Create a device entry for it if it doesn't yet exist.
++ */
++
++ get_device ((cups_array_t *)context, name, type, domain);
++
++ /*
++ * Now look for a TXT entry.
++ */
++
++ if (avahi_service_resolver_new (client, interface, protocol,
++ name, type, domain,
++ AVAHI_PROTO_UNSPEC, 0,
++ avahi_query_callback, context) == NULL)
++ {
++ fprintf (stderr, "ERROR: failed to resolve service %s: %s\n",
++ name, avahi_strerror (avahi_client_errno (client)));
++ }
++ }
++
++ break;
+
+- for (device = cupsArrayFind(devices, &dkey);
++ case AVAHI_BROWSER_REMOVE:
++ case AVAHI_BROWSER_ALL_FOR_NOW:
++ case AVAHI_BROWSER_CACHE_EXHAUSTED:
++ break;
++ }
++}
++#endif /* HAVE_AVAHI */
++
++static cups_device_t *
++find_device (cups_array_t *devices,
++ cups_txt_records_t *txt,
++ cups_device_t *dkey)
++{
++ cups_device_t *device;
++ char *ptr;
++
++ for (device = cupsArrayFind(devices, dkey);
+ device;
+ device = cupsArrayNext(devices))
+ {
+- if (strcasecmp(device->name, dkey.name) ||
+- strcasecmp(device->domain, dkey.domain))
++ if (strcasecmp(device->name, dkey->name) ||
++ strcasecmp(device->domain, dkey->domain))
+ {
+ device = NULL;
+ break;
+ }
+- else if (device->type == dkey.type)
++ else if (device->type == dkey->type)
+ {
+ /*
+ * Found it, pull out the priority and make and model from the TXT
+ * record and save it...
+ */
+
+- const uint8_t *data, /* Pointer into data */
+- *datanext, /* Next key/value pair */
+- *dataend; /* End of entire TXT record */
+- uint8_t datalen; /* Length of current key/value pair */
+- char key[256], /* Key string */
+- value[256], /* Value string */
+- make_and_model[512],
++ char make_and_model[512],
+ /* Manufacturer and model */
+ model[256], /* Model */
+- device_id[2048];/* 1284 device ID */
+-
++ device_id[2048]; /* 1284 device ID */
+
+ device_id[0] = '\0';
+ make_and_model[0] = '\0';
+
+ strcpy(model, "Unknown");
+
+- for (data = rdata, dataend = data + rdlen;
+- data < dataend;
+- data = datanext)
++ for (;;)
+ {
+- /*
+- * Read a key/value pair starting with an 8-bit length. Since the
+- * length is 8 bits and the size of the key/value buffers is 256, we
+- * don't need to check for overflow...
+- */
+-
+- datalen = *data++;
+-
+- if (!datalen || (data + datalen) >= dataend)
+- break;
+-
+- datanext = data + datalen;
++ char *key;
++ char *value;
+
+- for (ptr = key; data < datanext && *data != '='; data ++)
+- *ptr++ = *data;
+- *ptr = '\0';
+-
+- if (data < datanext && *data == '=')
+- {
+- data ++;
+-
+- if (data < datanext)
+- memcpy(value, data, datanext - data);
+- value[datanext - data] = '\0';
+- }
+- else
+- continue;
++ if (parse_txt_record_pair (txt))
++ goto next;
+
++ key = txt->key;
++ value = txt->value;
+ if (!strncasecmp(key, "usb_", 4))
+ {
+ /*
+@@ -805,6 +1183,10 @@ query_callback(
+ if (device->type == CUPS_DEVICE_PRINTER)
+ device->sent = 1;
+ }
++
++ next:
++ if (next_txt_record (txt) == NULL)
++ break;
+ }
+
+ if (device->device_id)
+@@ -854,11 +1236,9 @@ query_callback(
+ }
+ }
+
+- if (!device)
+- fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName);
++ return device;
+ }
+
+-
+ /*
+ * 'sigterm_handler()' - Handle termination signals...
+ */
+diff -up cups-1.4.0/config.h.in.avahi cups-1.4.0/config.h.in
+--- cups-1.4.0/config.h.in.avahi 2009-06-10 16:51:21.000000000 +0100
++++ cups-1.4.0/config.h.in 2009-09-04 14:57:04.733388405 +0100
+@@ -336,6 +336,13 @@
+
+
+ /*
++ * Do we have Avahi for DNS Service Discovery?
++ */
++
++#undef HAVE_AVAHI
++
++
++/*
+ * Do we have <sys/ioctl.h>?
+ */
+
+diff -up cups-1.4.0/config-scripts/cups-dnssd.m4.avahi cups-1.4.0/config-scripts/cups-dnssd.m4
+--- cups-1.4.0/config-scripts/cups-dnssd.m4.avahi 2009-02-10 17:05:35.000000000 +0000
++++ cups-1.4.0/config-scripts/cups-dnssd.m4 2009-09-04 14:57:04.731388902 +0100
+@@ -27,6 +27,21 @@ AC_ARG_WITH(dnssd-includes, [ --with-dn
+ DNSSDLIBS=""
+ DNSSD_BACKEND=""
+
++AC_ARG_ENABLE(avahi, [ --enable-avahi turn on DNS Service Discovery support, default=no],
++ [if test x$enable_avahi = xyes; then
++ AC_MSG_CHECKING(for Avahi)
++ if $PKGCONFIG --exists avahi-client; then
++ AC_MSG_RESULT(yes)
++ CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`"
++ DNSSDLIBS="`$PKGCONFIG --libs avahi-client`"
++ DNSSD_BACKEND="dnssd"
++ AC_DEFINE(HAVE_AVAHI)
++ enable_dnssd=no
++ else
++ AC_MSG_RESULT(no)
++ fi
++ fi])
++
+ if test x$enable_dnssd != xno; then
+ AC_CHECK_HEADER(dns_sd.h, [
+ case "$uname" in
+diff -up cups-1.4.0/cups/http-support.c.avahi cups-1.4.0/cups/http-support.c
+--- cups-1.4.0/cups/http-support.c.avahi 2009-06-12 01:21:58.000000000 +0100
++++ cups-1.4.0/cups/http-support.c 2009-09-04 14:57:04.736398674 +0100
+@@ -55,6 +55,11 @@
+ # include <dns_sd.h>
+ # include <poll.h>
+ #endif /* HAVE_DNSSD */
++#ifdef HAVE_AVAHI
++# include <avahi-client/client.h>
++# include <avahi-client/lookup.h>
++# include <avahi-common/simple-watch.h>
++#endif /* HAVE_AVAHI */
+
+
+ /*
+@@ -121,6 +126,24 @@ static void resolve_callback(DNSService
+ void *context);
+ #endif /* HAVE_DNSSD */
+
++#ifdef HAVE_AVAHI
++static void avahi_resolve_uri_client_cb(AvahiClient *client,
++ AvahiClientState state,
++ void *simple_poll);
++static void avahi_resolve_uri_resolver_cb(AvahiServiceResolver *resolver,
++ AvahiIfIndex interface,
++ AvahiProtocol protocol,
++ AvahiResolverEvent event,
++ const char *name,
++ const char *type,
++ const char *domain,
++ const char *host_name,
++ const AvahiAddress *address,
++ uint16_t port,
++ AvahiStringList *txt,
++ AvahiLookupResultFlags flags,
++ void *context);
++#endif /* HAVE_AVAHI */
+
+ /*
+ * 'httpAssembleURI()' - Assemble a uniform resource identifier from its
+@@ -1349,15 +1372,26 @@ _httpResolveURI(
+
+ if (strstr(hostname, "._tcp"))
+ {
++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
++ char *regtype, /* Pointer to type in hostname */
++ *domain; /* Pointer to domain in hostname */
+ #ifdef HAVE_DNSSD
+ DNSServiceRef ref, /* DNS-SD master service reference */
+ domainref, /* DNS-SD service reference for domain */
+ localref; /* DNS-SD service reference for .local */
+ int domainsent = 0; /* Send the domain resolve? */
+- char *regtype, /* Pointer to type in hostname */
+- *domain; /* Pointer to domain in hostname */
+ _http_uribuf_t uribuf; /* URI buffer */
+ struct pollfd polldata; /* Polling data */
++#else /* HAVE_AVAHI */
++ AvahiSimplePoll *simple_poll;
++ AvahiClient *client;
++ int error;
++ struct
++ {
++ AvahiSimplePoll *poll;
++ _http_uribuf_t uribuf;
++ } user_data;
++#endif /* HAVE_DNSSD */
+
+
+ if (logit)
+@@ -1395,8 +1429,13 @@ _httpResolveURI(
+ if (domain)
+ *domain++ = '\0';
+
++#ifdef HAVE_DNSSD
+ uribuf.buffer = resolved_uri;
+ uribuf.bufsize = resolved_size;
++#else
++ user_data.uribuf.buffer = resolved_uri;
++ user_data.uribuf.bufsize = resolved_size;
++#endif
+
+ resolved_uri[0] = '\0';
+
+@@ -1411,6 +1450,7 @@ _httpResolveURI(
+
+ uri = NULL;
+
++#ifdef HAVE_DNSSD
+ if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError)
+ {
+ localref = ref;
+@@ -1486,6 +1526,36 @@ _httpResolveURI(
+
+ DNSServiceRefDeallocate(ref);
+ }
++#else /* HAVE_AVAHI */
++ if ((simple_poll = avahi_simple_poll_new ()) != NULL)
++ {
++ if ((client = avahi_client_new (avahi_simple_poll_get (simple_poll),
++ 0, avahi_resolve_uri_client_cb,
++ &simple_poll, &error)) != NULL)
++ {
++ user_data.poll = simple_poll;
++ if (avahi_service_resolver_new (client, AVAHI_IF_UNSPEC,
++ AVAHI_PROTO_UNSPEC, hostname,
++ regtype, domain, AVAHI_PROTO_UNSPEC, 0,
++ avahi_resolve_uri_resolver_cb,
++ &user_data) != NULL)
++ {
++ avahi_simple_poll_loop (simple_poll);
++
++ /*
++ * Collect the result.
++ */
++
++ if (resolved_uri[0])
++ uri = resolved_uri;
++ }
++
++ avahi_client_free (client);
++ }
++
++ avahi_simple_poll_free (simple_poll);
++ }
++#endif /* HAVE_DNSSD */
+
+ if (logit)
+ {
+@@ -1497,13 +1567,13 @@ _httpResolveURI(
+ fputs("STATE: -connecting-to-device\n", stderr);
+ }
+
+-#else
++#else /* HAVE_DNSSD || HAVE_AVAHI */
+ /*
+ * No DNS-SD support...
+ */
+
+ uri = NULL;
+-#endif /* HAVE_DNSSD */
++#endif /* HAVE_DNSSD || HAVE_AVAHI */
+
+ if (logit && !uri)
+ _cupsLangPuts(stderr, _("Unable to find printer!\n"));
+@@ -1708,6 +1778,105 @@ resolve_callback(
+ }
+ #endif /* HAVE_DNSSD */
+
++#ifdef HAVE_AVAHI
++static void
++avahi_resolve_uri_client_cb (AvahiClient *client,
++ AvahiClientState state,
++ void *simple_poll)
++{
++ DEBUG_printf(("avahi_resolve_uri_client_callback(client=%p, state=%d, "
++ "simple_poll=%p)\n", client, state, simple_poll));
++
++ /*
++ * If the connection drops, quit.
++ */
++
++ if (state == AVAHI_CLIENT_FAILURE)
++ avahi_simple_poll_quit (simple_poll);
++}
++
++static void
++avahi_resolve_uri_resolver_cb (AvahiServiceResolver *resolver,
++ AvahiIfIndex interface,
++ AvahiProtocol protocol,
++ AvahiResolverEvent event,
++ const char *name,
++ const char *type,
++ const char *domain,
++ const char *host_name,
++ const AvahiAddress *address,
++ uint16_t port,
++ AvahiStringList *txt,
++ AvahiLookupResultFlags flags,
++ void *context)
++{
++ const char *scheme; /* URI scheme */
++ char rp[256]; /* Remote printer */
++ AvahiStringList *pair;
++ char *value;
++ size_t valueLen = 0;
++ char addr[AVAHI_ADDRESS_STR_MAX];
++ struct
++ {
++ AvahiSimplePoll *poll;
++ _http_uribuf_t uribuf;
++ } *poll_uribuf = context;
++
++ DEBUG_printf(("avahi_resolve_uri_resolver_callback(resolver=%p, "
++ "interface=%d, protocol=%d, event=%d, name=\"%s\", "
++ "type=\"%s\", domain=\"%s\", host_name=\"%s\", address=%p, "
++ "port=%d, txt=%p, flags=%d, context=%p)\n",
++ resolver, interface, protocol, event, name, type, domain,
++ host_name, address, port, txt, flags, context));
++
++ if (event != AVAHI_RESOLVER_FOUND)
++ {
++ avahi_service_resolver_free (resolver);
++ avahi_simple_poll_quit (poll_uribuf->poll);
++ return;
++ }
++
++ /*
++ * Figure out the scheme from the full name...
++ */
++
++ if (strstr(type, "_ipp."))
++ scheme = "ipp";
++ else if (strstr(type, "_printer."))
++ scheme = "lpd";
++ else if (strstr(type, "_pdl-datastream."))
++ scheme = "socket";
++ else
++ scheme = "riousbprint";
++
++ /*
++ * Extract the "remote printer key from the TXT record...
++ */
++
++ if ((pair = avahi_string_list_find (txt, "rp")) != NULL)
++ {
++ avahi_string_list_get_pair (pair, NULL, &value, &valueLen);
++ rp[0] = '/';
++ memcpy (rp + 1, value, valueLen);
++ rp[valueLen + 1] = '\0';
++ }
++ else
++ rp[0] = '\0';
++
++ /*
++ * Assemble the final device URI...
++ */
++
++ avahi_address_snprint (addr, AVAHI_ADDRESS_STR_MAX, address);
++ httpAssembleURI(HTTP_URI_CODING_ALL, poll_uribuf->uribuf.buffer,
++ poll_uribuf->uribuf.bufsize, scheme, NULL,
++ addr, port, rp);
++ DEBUG_printf(("avahi_resolve_uri_resolver_callback: Resolved URI is \"%s\"\n",
++ poll_uribuf->uribuf.buffer));
++ avahi_simple_poll_quit (poll_uribuf->poll);
++}
++#endif /* HAVE_AVAHI */
++
+
+ /*
+ * End of "$Id: http-support.c 8705 2009-06-12 00:21:58Z mike $".
diff --git a/abs/core/cups/cups.install b/abs/core/cups/cups.install
new file mode 100644
index 0000000..97fda5a
--- /dev/null
+++ b/abs/core/cups/cups.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/core/cups/cups.logrotate b/abs/core/cups/cups.logrotate
new file mode 100644
index 0000000..9c49bbd
--- /dev/null
+++ b/abs/core/cups/cups.logrotate
@@ -0,0 +1,8 @@
+/var/log/cups/*log {
+ missingok
+ notifempty
+ delaycompress
+ postrotate
+ /bin/kill -HUP `cat /var/run/cups.pid 2>/dev/null` 2>/dev/null || true
+ endscript
+}
diff --git a/abs/core/cups/cups.pam b/abs/core/cups/cups.pam
new file mode 100644
index 0000000..53724d1
--- /dev/null
+++ b/abs/core/cups/cups.pam
@@ -0,0 +1,3 @@
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so
diff --git a/abs/core/curl/ChangeLog b/abs/core/curl/ChangeLog
index 02635bf..abcd7af 100644
--- a/abs/core/curl/ChangeLog
+++ b/abs/core/curl/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-09 Eric Belanger <eric@archlinux.org>
+
+ * curl 7.20.0-1
+ * Upstream update
+
2009-11-04 Eric Belanger <eric@archlinux.org>
* curl 7.19.7-1
diff --git a/abs/core/curl/PKGBUILD b/abs/core/curl/PKGBUILD
index bee1fcb..ba286a5 100644
--- a/abs/core/curl/PKGBUILD
+++ b/abs/core/curl/PKGBUILD
@@ -1,39 +1,44 @@
-# $Id: PKGBUILD 58157 2009-11-05 05:13:33Z eric $
-# Maintainer: Eric Belanger <eric@archlinux.org>
+# $Id: PKGBUILD 87558 2010-08-16 20:27:57Z dgriffiths $
+# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=curl
-pkgver=7.19.7
+pkgver=7.21.1
pkgrel=1
pkgdesc="An URL retrival utility and library"
arch=('i686' 'x86_64')
url="http://curl.haxx.se"
license=('MIT')
-depends=('zlib' 'openssl>=0.9.8b' 'bash' 'ca-certificates')
+depends=('zlib' 'openssl' 'bash' 'ca-certificates')
options=('!libtool')
-source=(http://curl.haxx.se/download/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('79a8fbb2eed5464b97bdf94bee109380')
-sha1sums=('c306ebf0f65fb90df3c9c9a12fb04fb77cc29e2c')
+source=("http://curl.haxx.se/download/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('eafde5b933bce1c1dca82d1054c8d967')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${srcdir}/${pkgname}-${pkgver}
- # Thanks Debian and Gentoo =)
- ./configure \
- --with-random=/dev/urandom \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --disable-dependency-tracking \
- --enable-ipv6 \
- --disable-ldaps \
- --disable-ldap \
- --enable-manual \
- --enable-versioned-symbols \
- --with-ca-path=/etc/ssl/certs \
- --without-libidn || return 1
+ ./configure \
+ --with-random=/dev/urandom \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --disable-dependency-tracking \
+ --enable-ipv6 \
+ --disable-ldaps \
+ --disable-ldap \
+ --enable-manual \
+ --enable-versioned-symbols \
+ --with-ca-path=/etc/ssl/certs \
+ --without-libidn || return 1
+ make || return 1
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
- install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" || return 1
- install -D -m644 docs/libcurl/libcurl.m4 "${pkgdir}/usr/share/aclocal/libcurl.m4" || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -Dm644 COPYING \
+ ${pkgdir}/usr/share/licenses/${pkgname}/COPYING || return 1
+ install -Dm644 docs/libcurl/libcurl.m4 \
+ ${pkgdir}/usr/share/aclocal/libcurl.m4 || return 1
}
diff --git a/abs/core/curl/m4-typo.patch b/abs/core/curl/m4-typo.patch
new file mode 100644
index 0000000..2e46dff
--- /dev/null
+++ b/abs/core/curl/m4-typo.patch
@@ -0,0 +1,13 @@
+diff --git a/docs/libcurl/libcurl.m4 b/docs/libcurl/libcurl.m4
+index ce8e476..50dc20d 100644
+--- a/docs/libcurl/libcurl.m4
++++ b/docs/libcurl/libcurl.m4
+@@ -198,7 +198,7 @@ x=CURLOPT_VERBOSE;
+
+ # We don't have --protocols, so just assume that all
+ # protocols are available
+- _libcurl_protocols="HTTP FTP FILE TELNET LDAP DICT TFTP
++ _libcurl_protocols="HTTP FTP FILE TELNET LDAP DICT TFTP"
+
+ if test x$libcurl_feature_SSL = xyes ; then
+ _libcurl_protocols="$_libcurl_protocols HTTPS"
diff --git a/abs/core/damageproto/PKGBUILD b/abs/core/damageproto/PKGBUILD
index af6087a..14f6122 100644
--- a/abs/core/damageproto/PKGBUILD
+++ b/abs/core/damageproto/PKGBUILD
@@ -1,19 +1,23 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 51004 2009-09-04 13:03:02Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=damageproto
-pkgver=1.1.0
+pkgver=1.2.0
pkgrel=1
pkgdesc="X11 Damage extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('xproto' 'fixesproto')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('33ee591e0b1ca5ad7902934541db7d24')
+sha1sums=('ffe177a6ae2cf023d41e015aa6ece2b191cb8a8a')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/db/PKGBUILD b/abs/core/db/PKGBUILD
index e41aeac..cc149a7 100644
--- a/abs/core/db/PKGBUILD
+++ b/abs/core/db/PKGBUILD
@@ -1,27 +1,33 @@
-# $Id: PKGBUILD 3741 2008-06-30 20:07:01Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# $Id: PKGBUILD 76949 2010-04-09 08:14:30Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgname=db
-pkgver=4.7.25
-pkgrel=10
+pkgver=4.8.26
+_basever=4.8.26
+pkgrel=2
pkgdesc="The Berkeley DB embedded database system"
-arch=(i686 x86_64)
-license=('custom')
+arch=('i686' 'x86_64')
url="http://www.oracle.com/technology/software/products/berkeley-db/index.html"
-groups=('base')
-depends=('gcc-libs' 'coreutils')
-options=('!libtool')
-source=(http://download-uk.oracle.com/berkeley-db/db-$pkgver.tar.gz)
-install=(db.install)
-md5sums=('ec2b87e833779681a0c3a814aa71359e')
+license=('custom')
+depends=('gcc-libs' 'sh')
+conflicts=('db4')
+options=('!libtool' 'force')
+install=db.install
+source=(http://download-uk.oracle.com/berkeley-db/db-${_basever}.tar.gz)
+md5sums=('3476bac9ec0f3c40729c8a404151d5e3')
build() {
- cd ${srcdir}/$pkgname-$pkgver/build_unix
+ cd ${srcdir}/$pkgname-${_basever}/build_unix
../dist/configure --prefix=/usr --enable-compat185 \
--enable-shared --enable-static --enable-cxx
make LIBSO_LIBS=-lpthread || return 1
+}
+
+package() {
+ cd ${srcdir}/$pkgname-${_basever}/build_unix
make DESTDIR=${pkgdir} install
rm -rf ${pkgdir}/usr/docs
- mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 ${srcdir}/${pkgname}-${pkgver}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ install -Dm644 ${srcdir}/${pkgname}-${_basever}/LICENSE \
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core/db/db.install b/abs/core/db/db.install
index 7c97ea0..eeda804 100644
--- a/abs/core/db/db.install
+++ b/abs/core/db/db.install
@@ -1,29 +1,5 @@
-# This is a default template for a post-install scriptlet. You can
-# remove any functions you don't need (and this header).
-
-# arg 1: the new package version
-# arg 2: the old package version
-pre_upgrade() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
- echo "ATTENTION DB PACKAGE:"
- echo "Please consider to run db_upgrade on Berkeley DB databases with a major db version number update."
-}
-
-# arg 1: the old package version
-pre_remove() {
- /bin/true
-}
-
-# arg 1: the old package version
-post_remove() {
- /bin/true
+ if [ "$(vercmp $2 4.8)" -lt 0 ]; then
+ echo " >> Major version update. Consider running db_upgrade on Berkeley DB databases."
+ fi
}
-
-op=$1
-shift
-$op $* \ No newline at end of file
diff --git a/abs/core/dbus-core/PKGBUILD b/abs/core/dbus-core/PKGBUILD
index 7a1bc6e..b57829f 100644
--- a/abs/core/dbus-core/PKGBUILD
+++ b/abs/core/dbus-core/PKGBUILD
@@ -1,36 +1,36 @@
-# $Id: PKGBUILD 19084 2008-11-14 21:36:59Z jgc $
+# $Id: PKGBUILD 73272 2010-03-24 11:36:47Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Link Dupont <link@subpop.net>
#
pkgname=dbus-core
-pkgver=1.2.4
+pkgver=1.2.24
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="http://www.freedesktop.org/Software/dbus"
arch=(i686 x86_64)
license=('GPL' 'custom')
-depends=('expat>=2.0')
+depends=('expat>=2.0.1' 'coreutils' 'filesystem')
conflicts=('dbus<1.2.3-2')
options=(!libtool)
install=dbus.install
source=(http://dbus.freedesktop.org/releases/dbus/dbus-${pkgver}.tar.gz
- dbus)
-md5sums=('2e643910a09f44b000a0d76038637999'
- 'f3fd196cc278bd7b45a4ca01fb8f7894')
+ dbus)
+md5sums=('565346cecd9cfecf1463540c6086cc2c'
+ '08f93dd19cffd1b45ab05c1fd4efb560')
build() {
cd "${srcdir}/dbus-${pkgver}"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
- --with-system-pid-file=/var/run/dbus.pid \
- --enable-inotify --disable-dnotify \
- --disable-verbose-mode --disable-static \
- --disable-tests --disable-asserts --without-x || return 1
+ --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
+ --with-system-pid-file=/var/run/dbus.pid \
+ --enable-inotify --disable-dnotify \
+ --disable-verbose-mode --disable-static \
+ --disable-tests --disable-asserts --without-x || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
- rm -f ${pkgdir}/usr/bin/dbus-launch
- rm -f ${pkgdir}/usr/share/man/man1/dbus-launch.1
+ rm -f "${pkgdir}/usr/bin/dbus-launch"
+ rm -f "${pkgdir}/usr/share/man/man1/dbus-launch.1"
chown 81:81 "${pkgdir}/var/run/dbus" || return 1
diff --git a/abs/core/dbus-core/dbus b/abs/core/dbus-core/dbus
index cd26db8..66b84ca 100644
--- a/abs/core/dbus-core/dbus
+++ b/abs/core/dbus-core/dbus
@@ -24,7 +24,7 @@ case "$1" in
;;
stop)
stat_busy "Stopping D-BUS system messagebus"
- [ -f /var/run/dbus.pid ] && kill `cat /var/run/dbus.pid`
+ [ -f /var/run/dbus.pid ] && kill `cat /var/run/dbus.pid` >/dev/null 2>&1
if [ $? -gt 0 ]; then
stat_fail
else
diff --git a/abs/core/dbus-core/dbus.install b/abs/core/dbus-core/dbus.install
index 85dd9a7..44f4475 100644
--- a/abs/core/dbus-core/dbus.install
+++ b/abs/core/dbus-core/dbus.install
@@ -5,17 +5,20 @@ post_install() {
dbus-uuidgen --ensure
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
- post_install $1
+ post_install
#Make sure new rc script can shutdown running dbus
- [ -f var/run/dbus/pid ] && mv var/run/dbus/pid var/run/dbus.pid
+ if [ -f var/run/dbus/pid ]; then
+ mv var/run/dbus/pid var/run/dbus.pid
+ fi
}
-# arg 1: the old package version
-pre_remove() {
- usr/sbin/userdel dbus &>/dev/null
- usr/sbin/groupdel dbus &>/dev/null
+post_remove() {
+ if getent passwd dbus >/dev/null; then
+ usr/sbin/userdel dbus
+ fi
+ if getent group dbus >/dev/null; then
+ usr/sbin/groupdel dbus
+ fi
}
diff --git a/abs/core/dbus-glib/PKGBUILD b/abs/core/dbus-glib/PKGBUILD
index 50fc839..4723bfd 100644
--- a/abs/core/dbus-glib/PKGBUILD
+++ b/abs/core/dbus-glib/PKGBUILD
@@ -1,21 +1,23 @@
-# $Id: PKGBUILD 29414 2009-03-08 16:54:54Z jgc $
+# $Id: PKGBUILD 79735 2010-05-06 13:03:33Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=dbus-glib
-pkgver=0.80
+pkgver=0.86
pkgrel=1
pkgdesc="GLib bindings for DBUS"
arch=(i686 x86_64)
license=('GPL')
url="http://www.freedesktop.org/wiki/Software/DBusBindings"
-depends=('dbus-core>=1.2.4' 'glib2>=2.18.4')
+depends=('dbus-core>=1.2.24' 'glib2>=2.24.1')
makedepends=('pkgconfig')
options=('!libtool' '!emptydirs')
source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('cd0ab148fb0c786fc88be49d19971f50')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-static=no --enable-bash-completion=no || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --enable-static=no --enable-bash-completion=no || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core/dbus-python/PKGBUILD b/abs/core/dbus-python/PKGBUILD
index ae77c04..2ec5e43 100644
--- a/abs/core/dbus-python/PKGBUILD
+++ b/abs/core/dbus-python/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 17272 2008-10-27 16:25:58Z douglas $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75824 2010-04-04 12:03:46Z jgc $
+# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=dbus-python
-pkgver=0.83.0
-pkgrel=2
+pkgver=0.83.1
+pkgrel=1
pkgdesc="Python bindings for DBUS"
arch=(i686 x86_64)
license=('GPL' 'LGPL')
url="http://www.freedesktop.org/wiki/Software/DBusBindings"
-depends=('dbus-glib>=0.76' 'python>=2.6')
-makedepends=('pkgconfig')
+depends=('dbus-glib>=0.82' 'python>=2.6.5')
+makedepends=('pkgconfig' 'docutils')
options=('!libtool')
source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('5fdf3970aa0c00020289de7ba8f3be18')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
}
-md5sums=('562c78876219bf458d79a041af18293d')
diff --git a/abs/core/dbus/PKGBUILD b/abs/core/dbus/PKGBUILD
index 3276f82..5759c51 100644
--- a/abs/core/dbus/PKGBUILD
+++ b/abs/core/dbus/PKGBUILD
@@ -1,38 +1,39 @@
-# $Id: PKGBUILD 19087 2008-11-14 21:39:51Z jgc $
+# $Id: PKGBUILD 73275 2010-03-24 11:40:17Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Link Dupont <link@subpop.net>
#
pkgname=dbus
-pkgver=1.2.4
+pkgver=1.2.24
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="http://www.freedesktop.org/Software/dbus"
arch=(i686 x86_64)
license=('GPL' 'custom')
-depends=("dbus-core>=${pkgver}" 'libx11' 'libsm')
+depends=("dbus-core>=${pkgver}" 'libx11')
+makedepends=('libsm' 'libice')
source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz
- 30-dbus)
-md5sums=('2e643910a09f44b000a0d76038637999'
+ 30-dbus)
+md5sums=('565346cecd9cfecf1463540c6086cc2c'
'd14e59575f04e55d21a04907b6fd9f3c')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
- --with-system-pid-file=/var/run/dbus.pid \
- --disable-verbose-mode --disable-static \
- --enable-inotify --disable-dnotify \
- --disable-tests --disable-asserts || return 1
+ --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
+ --with-system-pid-file=/var/run/dbus.pid \
+ --disable-verbose-mode --disable-static \
+ --enable-inotify --disable-dnotify \
+ --disable-tests --disable-asserts || return 1
cd tools || return 1
make dbus-launch || return 1
- install -m755 -d ${pkgdir}/usr/bin
- install -m755 -d ${pkgdir}/usr/share/man/man1
- install -m755 dbus-launch ${pkgdir}/usr/bin/ || return 1
- install -m644 dbus-launch.1 ${pkgdir}/usr/share/man/man1/ || return 1
+ install -m755 -d "${pkgdir}/usr/bin"
+ install -m755 -d "${pkgdir}/usr/share/man/man1"
+ install -m755 dbus-launch "${pkgdir}/usr/bin/" || return 1
+ install -m644 dbus-launch.1 "${pkgdir}/usr/share/man/man1/" || return 1
- install -m755 -d ${pkgdir}/etc/X11/xinit/xinitrc.d
- install -m755 ${srcdir}/30-dbus ${pkgdir}/etc/X11/xinit/xinitrc.d/ || return 1
+ install -m755 -d "${pkgdir}/etc/X11/xinit/xinitrc.d"
+ install -m755 "${srcdir}/30-dbus" "${pkgdir}/etc/X11/xinit/xinitrc.d/" || return 1
- install -d -m755 ${startdir}/pkg/usr/share/licenses/dbus
- install -m644 ../COPYING ${pkgdir}/usr/share/licenses/dbus/ || return 1
+ install -d -m755 "${pkgdir}/usr/share/licenses/dbus"
+ install -m644 ../COPYING "${pkgdir}/usr/share/licenses/dbus/" || return 1
}
diff --git a/abs/core/device-mapper/ChangeLog b/abs/core/device-mapper/ChangeLog
new file mode 100644
index 0000000..5809ab5
--- /dev/null
+++ b/abs/core/device-mapper/ChangeLog
@@ -0,0 +1,103 @@
+2010-07-11 Thomas Bächler <thomas@archlinux.org>
+
+ * lvm2/device-mapper 2.02.70-1
+ * Upstream update
+ * Do not move the dmeventd manpage, has been fixed upstream
+ * Remove all the || return 1 in PKGBUILD
+
+2010-07-01 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.69-1
+ * Upstream update
+ * Moved dmeventd man page from lvm2 to device-mapper package
+
+2010-06-25 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.68-1
+ * Upstream update
+ * Fixed tr path in lvmdump
+
+2010-04-05 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.62-1
+ * Upstream update
+ * Fixed license
+
+2010-02-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.61-1
+ * Upstream update
+
+2010-01-24 Thomas Bächler <thomas@archlinux.org>
+ * lvm2/device-mapper 2.02.60-2
+ * Rebuilt without -Wl,--as-needed, it breaks dmeventd monitoring
+
+2010-01-24 Thomas Bächler <thomas@archlinux.org>
+ * lvm2/device-mapper update to 2.02.60-1
+ * Clean up PKGBUILD, fix internal paths to dmeventd and its helpers
+
+2009-11-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.56-1
+ * device-mapper 1.02.40-1
+ * Upstream update
+
+2009-10-31 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.54-1
+ * device-mapper 1.02.39-1
+ * Upstream update
+ * Enabled the device-mapper event daemon
+ * Moved the udev rule from /etc to /lib
+
+2009-09-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.53-1
+ * device-mapper 1.02.38-1
+ * Upstream update
+
+2009-09-18 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.52-1
+ * device-mapper 1.02.37-1
+ * Upstream update
+ * Implemented split packages
+ * PKGBUILD clean up
+ * Renamed pkgconfig file (close FS#15909)
+
+2009-07-09 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.48-1
+ * device-mapper 1.02.33-1
+ * Upstream update
+ * Removed unneeded readline depends (close FS#15205)
+
+2009-05-24 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.47-1
+ * device-mapper 1.02.32-1
+ * Upstream update
+ * Added dmsetup.static
+
+2009-03-07 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.45-1
+ * device-mapper 1.02.31-1
+ * Upstream update
+
+2009-01-31 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.44-1
+ * device-mapper 1.02.30-1
+ * Upstream update
+ * Added bash depends
+ * Added readline depends
+ * Added pkgconfig file
+
+2008-11-11 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.43-1
+ * device-mapper 1.02.29-1
+ * Upstream update
+ * Disabled SMP build
+ * Added ChangeLog
diff --git a/abs/core/device-mapper/PKGBUILD b/abs/core/device-mapper/PKGBUILD
index 7c2cd46..b4be343 100644
--- a/abs/core/device-mapper/PKGBUILD
+++ b/abs/core/device-mapper/PKGBUILD
@@ -1,30 +1,64 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-pkgname=device-mapper
-pkgver=1.02.27
-pkgrel=10
-pkgdesc="Device mapper userspace library and tools."
+# $Id: PKGBUILD 85275 2010-07-11 10:26:53Z thomas $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+pkgver=2.02.70
+_pkgverdm=1.02.52
+_pkgverlvm=${pkgver}
+pkgrel=1
arch=('i686' 'x86_64')
-license=('GPL')
-url="http://sourceware.org/dm/"
+url="http://sourceware.org/lvm2/"
+license=('GPL2' 'LGPL2.1')
groups=('base')
-depends=('glibc')
-source=(ftp://sources.redhat.com/pub/dm/device-mapper.$pkgver.tgz
- device-mapper.rules)
-md5sums=('6074f2c2035c2a526422e691c7457277'
- '065f32a36947e6183722ed9aef13dc0c')
+conflicts=('mkinitcpio<0.5.99')
+changelog=ChangeLog
+source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz
+ lvm2_install
+ lvm2_hook)
+md5sums=('39c26d5a821754cc347d7a19e82d4a24'
+ 'f781c9f5dd4f9934952c687b73d26a18'
+ '95bed25bdbc2c2d8500e7a07aeff7f65')
+sha1sums=('6f88114e72204feee491befd5f0e203036b90f11'
+ '583424bb0a6f89ffe4e4ea446b912f0fedac7050'
+ '0dc0c0d620f634c4d078afdb78e3bae15ccf957b')
build() {
- cd $startdir/src/$pkgname.$pkgver
- ./configure --prefix=/usr
- make || return 1
- make DESTDIR=$startdir/pkg sbindir=$startdir/pkg/sbin \
- libdir=$startdir/pkg/lib install
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh
+ unset LDFLAGS
+ ./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \
+ --includedir=/usr/include --with-usrlibdir=/usr/lib \
+ --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \
+ --with-udevdir=/lib/udev/rules.d/ --enable-udev_sync --enable-udev_rules
+ make
+}
+
+package_device-mapper() {
+ pkgdesc="Device mapper userspace library and tools"
+ url="http://sourceware.org/dm/"
+ depends=('glibc' 'udev')
+
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ make DESTDIR="${pkgdir}" install_device-mapper
+}
+
+package_lvm2() {
+ pkgdesc="Logical Volume Manager 2 utilities"
+ depends=('bash' "device-mapper>=${pkgver}" 'udev' 'readline')
+ conflicts=('lvm' 'mkinitcpio<0.5.99')
+ backup=('etc/lvm/lvm.conf')
+ options=('!makeflags')
- # install the static library as well
- install -D -m644 lib/ioctl/libdevmapper.a $startdir/pkg/usr/lib/libdevmapper.a
- # install udev rule
- install -D -m644 $startdir/src/device-mapper.rules $startdir/pkg/etc/udev/rules.d/device-mapper.rules
- # fix device-mapper link bug
- ln -sf /lib/libdevmapper.so $startdir/pkg/usr/lib/libdevmapper.so
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ make DESTDIR="${pkgdir}" install_lvm2
+ # install applib
+ cd liblvm
+ make DESTDIR="${pkgdir}" install
+ cd ..
+ # /etc directories
+ install -d "${pkgdir}"/etc/lvm/{archive,backup}
+ # mkinitcpio hook
+ install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/lib/initcpio/hooks/lvm2"
+ install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/lib/initcpio/install/lvm2"
}
diff --git a/abs/core/device-mapper/device-mapper.rules b/abs/core/device-mapper/device-mapper.rules
deleted file mode 100644
index 66204d4..0000000
--- a/abs/core/device-mapper/device-mapper.rules
+++ /dev/null
@@ -1 +0,0 @@
-ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="dm-[0-9]*", PROGRAM="/sbin/dmsetup info -c --noopencount --noheadings -o name -j %M -m %m", NAME="mapper/%c", MODE="0600", SYMLINK+="disk/by-name/%c"
diff --git a/abs/core/device-mapper/lvm2_hook b/abs/core/device-mapper/lvm2_hook
new file mode 100644
index 0000000..13183c6
--- /dev/null
+++ b/abs/core/device-mapper/lvm2_hook
@@ -0,0 +1,25 @@
+# vim:set ft=sh:
+run_hook ()
+{
+ /sbin/modprobe -q dm-mod >/dev/null 2>&1
+ if [ -e "/sys/class/misc/device-mapper" ]; then
+ if [ ! -e "/dev/mapper/control" ]; then
+ /bin/mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
+ fi
+
+ # If the lvmwait= parameter has been specified on the command line
+ # wait for the device(s) before trying to activate the volume group(s)
+ if [ -n "${lvmwait}" ]; then
+ for pvdev in $(echo ${lvmwait} | sed 's|,| |g'); do
+ poll_device ${pvdev} ${rootdelay}
+ done
+ fi
+
+ [ "${quiet}" = "y" ] && LVMQUIET=">/dev/null"
+
+ msg "Scanning logical volumes..."
+ eval /sbin/lvm vgscan --ignorelockingfailure $LVMQUIET
+ msg "Activating logical volumes..."
+ eval /sbin/lvm vgchange --ignorelockingfailure --ignoremonitoring -ay $LVMQUIET
+ fi
+}
diff --git a/abs/core/device-mapper/lvm2_install b/abs/core/device-mapper/lvm2_install
new file mode 100644
index 0000000..4ce9f18
--- /dev/null
+++ b/abs/core/device-mapper/lvm2_install
@@ -0,0 +1,30 @@
+# vim: set ft=sh:
+
+install ()
+{
+ MODULES=" dm-mod dm-snapshot dm-mirror"
+ BINARIES=""
+ FILES=""
+ SCRIPT="lvm2"
+
+ add_dir "/dev/mapper"
+ add_binary "/sbin/lvm"
+ add_binary "/sbin/dmsetup"
+ add_binary "/sbin/dmeventd"
+ add_file "/lib/udev/rules.d/10-dm.rules"
+ add_file "/lib/udev/rules.d/13-dm-disk.rules"
+ add_file "/lib/udev/rules.d/95-dm-notify.rules"
+ add_file "/lib/udev/rules.d/11-dm-lvm.rules"
+}
+
+help ()
+{
+cat<<HELPEOF
+ This hook loads the necessary modules for an LVM2 root device.
+
+ The optional lvmwait= parameter followed by a comma-separated
+ list of device names can be given on the command line.
+ It will cause the hook to wait until all given devices exist
+ before trying to scan and activate any volume groups.
+HELPEOF
+}
diff --git a/abs/core/dnsutils/PKGBUILD b/abs/core/dnsutils/PKGBUILD
index 672613e..336f534 100644
--- a/abs/core/dnsutils/PKGBUILD
+++ b/abs/core/dnsutils/PKGBUILD
@@ -1,31 +1,36 @@
-# $Id: PKGBUILD 5888 2008-07-21 19:29:16Z kevin $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85957 2010-07-22 20:05:06Z kevin $
+# Maintainer: kevin <kevin@archlinux.org>
# Contributor: mario <mario_vazq@hotmail.com>
pkgname=dnsutils
-pkgver=9.5.0
-_pkgver=9.5.0-P1
-pkgrel=4
+# Use a period and not a hyphen before the patch level for proper versioning.
+pkgver=9.7.1.P2
+_pkgver=9.7.1-P2
+pkgrel=1
pkgdesc="Various DNS utilities - dig host nslookup nsupdate"
arch=(i686 x86_64)
-url="http://www.isc.org/index.pl?/sw/bind/"
+url="https://www.isc.org/software/bind"
license=('custom:ISC')
-depends=('openssl>=0.9.8e')
-replaces=('bind-tools')
-source=(ftp://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz
+depends=('openssl')
+replaces=('bind-tools' 'host')
+options=('makeflags')
+source=(http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz
bind.so_bsdcompat.diff tools-only.patch)
-md5sums=('a4f9dd6d205d24ec89fa4e44d8188197' '447d58721cfee0e1e377b46f7d50b327'
- '329f7e15b8c45d3efefdf5b559bb878a')
+md5sums=('bd6be63cc910d04da39103d441871596'
+ '447d58721cfee0e1e377b46f7d50b327'
+ 'be0558f70ed81d90e68e6b6003ba12ed')
build() {
- export MAKEFLAGS="-j1"
-
- cd ${startdir}/src/bind-${_pkgver}
- patch -Np0 -i ${startdir}/src/bind.so_bsdcompat.diff || return 1
- patch -Np1 -i ${startdir}/src/tools-only.patch || return 1
+ cd "${srcdir}/bind-${_pkgver}"
+ patch -Np0 -i "${srcdir}/bind.so_bsdcompat.diff" || return 1
+ patch -Np1 -i "${srcdir}/tools-only.patch" || return 1
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --with-openssl=yes --disable-linux-caps --without-libxml2
+ --with-openssl=yes --disable-linux-caps --without-libxml2 || return 1
make || return 1
- cd bin
- make DESTDIR=${startdir}/pkg install || return 1
- install -D -m644 ../COPYRIGHT $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
+}
+
+package() {
+ cd "${srcdir}/bind-${_pkgver}/bin"
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 ../COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/dnsutils/tools-only.patch b/abs/core/dnsutils/tools-only.patch
index f777282..b46b71f 100644
--- a/abs/core/dnsutils/tools-only.patch
+++ b/abs/core/dnsutils/tools-only.patch
@@ -1,16 +1,19 @@
---- bind-9.3.1/bin/Makefile.in.orig 2005-05-06 01:52:36.000000000 -0400
-+++ bind-9.3.1/bin/Makefile.in 2005-05-06 01:53:24.000000000 -0400
-@@ -19,7 +19,7 @@
+diff -Naur bind-9.7.1-P2.orig/bin/Makefile.in bind-9.7.1-P2/bin/Makefile.in
+--- bind-9.7.1-P2.orig/bin/Makefile.in 2009-10-05 08:07:08.000000000 -0400
++++ bind-9.7.1-P2/bin/Makefile.in 2010-07-22 15:55:00.000000000 -0400
+@@ -19,8 +19,7 @@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
--SUBDIRS = named rndc dig dnssec tests nsupdate check
+-SUBDIRS = named rndc dig dnssec tests tools nsupdate \
+- check confgen @PKCS11_TOOLS@
+SUBDIRS = dig nsupdate
TARGETS =
@BIND9_MAKE_RULES@
---- bind-9.3.1/lib/Makefile.in.orig 2005-05-06 02:05:12.000000000 -0400
-+++ bind-9.3.1/lib/Makefile.in 2005-05-06 02:05:35.000000000 -0400
+diff -Naur bind-9.7.1-P2.orig/lib/Makefile.in bind-9.7.1-P2/lib/Makefile.in
+--- bind-9.7.1-P2.orig/lib/Makefile.in 2007-06-19 19:47:13.000000000 -0400
++++ bind-9.7.1-P2/lib/Makefile.in 2010-07-22 15:56:29.000000000 -0400
@@ -23,7 +23,7 @@
# Attempt to disable parallel processing.
.NOTPARALLEL:
diff --git a/abs/core/docutils/PKGBUILD b/abs/core/docutils/PKGBUILD
new file mode 100644
index 0000000..d1240c4
--- /dev/null
+++ b/abs/core/docutils/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 21893 2010-07-18 10:50:27Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: tardo <tardo@nagi-fanboi.net>
+
+pkgname=docutils
+pkgver=0.7
+pkgrel=2
+pkgdesc="Set of tools for processing plaintext docs into formats such as HTML, XML, or LaTeX"
+arch=(any)
+url="http://docutils.sourceforge.net"
+license=('custom')
+depends=('python')
+source=(http://downloads.sourceforge.net/docutils/docutils-$pkgver.tar.gz)
+md5sums=('9aec716baf15d06b5aa57cf8d5591c15')
+
+build() {
+ pacman -Q docutils && { error "You should remove docutils" ; return 1; }
+
+ cd $srcdir/docutils-$pkgver
+ python setup.py install --root=$pkgdir
+
+ for f in $pkgdir/usr/bin/*.py; do
+ mv $f $pkgdir/usr/bin/$(basename $f .py)
+ done
+
+ install -D -m644 COPYING.txt $pkgdir/usr/share/licenses/$pkgname/COPYING.txt
+ install -D -m644 licenses/python* $pkgdir/usr/share/licenses/$pkgname/
+}
+
diff --git a/abs/core/dri2proto/PKGBUILD b/abs/core/dri2proto/PKGBUILD
index f7fd866..d05b73f 100644
--- a/abs/core/dri2proto/PKGBUILD
+++ b/abs/core/dri2proto/PKGBUILD
@@ -1,21 +1,23 @@
# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=dri2proto
-pkgver=1.99.3
+pkgver=2.3
pkgrel=1
pkgdesc="X11 DRI protocol"
-arch=(i686 x86_64)
+arch=(any)
license=('custom')
url="http://xorg.freedesktop.org/"
+makedepends=('xorg-util-macros')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('fffbbb3c26368ac63d408e81c51ec374')
+sha1sums=('6c9e2c822e777db435a43616067f8dd21cc00a53')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/e2fsprogs/MIT-LICENSE b/abs/core/e2fsprogs/MIT-LICENSE
new file mode 100644
index 0000000..d849b28
--- /dev/null
+++ b/abs/core/e2fsprogs/MIT-LICENSE
@@ -0,0 +1,25 @@
+Copyright (c) 2003-2007 Theodore Ts'o <tytso@mit.edu>
+Copyright (c) 1997-2003 Yann Dirson <dirson@debian.org>
+Copyright (c) 2001 Alcove <http://www.alcove.com/>
+Copyright (c) 1997 Klee Dienes
+Copyright (c) 1995-1996 Michael Nonweiler <mrn20@cam.ac.uk>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject
+to the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/abs/core/e2fsprogs/PKGBUILD b/abs/core/e2fsprogs/PKGBUILD
index 6da53ff..730522b 100644
--- a/abs/core/e2fsprogs/PKGBUILD
+++ b/abs/core/e2fsprogs/PKGBUILD
@@ -1,41 +1,46 @@
-# $Id: PKGBUILD 16283 2008-10-21 12:05:45Z ronald $
-# Maintainer:
+# $Id: PKGBUILD 80571 2010-05-19 18:38:36Z ronald $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=e2fsprogs
-pkgver=1.41.3
-pkgrel=2
+pkgver=1.41.12
+pkgrel=1
pkgdesc="Ext2/3/4 filesystem utilities"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL' 'MIT')
url="http://e2fsprogs.sourceforge.net"
groups=('base')
-depends=('glibc')
+depends=('sh' 'util-linux-ng')
makedepends=('bc')
-source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz
- 'Makefile-fsck.static.patch')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'MIT-LICENSE')
backup=('etc/mke2fs.conf')
-install=$pkgname.install
-md5sums=('b21d26fc46c584021dc9c444933ee1c2'
- 'ce2b0daf84e17e8c7880ba3d43020ea3')
+install=${pkgname}.install
+sha1sums=('62b002fe507b2ddafc24b89532e472fe4b55a14f'
+ 'f4a0d5b0cdb980e3fedd6f5e7dde0b0ffb7bbdfb')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
# Remove unnecessary init.d directory
- sed -i '/init\.d/s|^|#|' misc/Makefile.in
+ sed -i '/init\.d/s|^|#|' misc/Makefile.in || return 1
+
+ ./configure --prefix=/usr --with-root-prefix="" --enable-elf-shlibs \
+ --disable-fsck --disable-uuidd \
+ --disable-libuuid --disable-libblkid || return 1
+
- ./configure --prefix=/usr --with-root-prefix="" --enable-elf-shlibs
-
- # add fsck.static for mkinitrd use
- patch -Np1 -i ../Makefile-fsck.static.patch || return 1
-
make || return 1
- make DESTDIR=${pkgdir} install install-libs || return 1
- make -C ${srcdir}/${pkgname}-${pkgver}/misc fsck.static || return 1
-
- install -D -m755 ${srcdir}/${pkgname}-${pkgver}/misc/fsck.static \
- ${pkgdir}/sbin/fsck.static || return 1
-
- sed -i -e 's/^AWK=.*/AWK=awk/' ${pkgdir}/usr/bin/compile_et || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install install-libs || return 1
+
+ sed -i -e 's/^AWK=.*/AWK=awk/' "${pkgdir}/usr/bin/compile_et" || return 1
+
+ # install MIT license
+ install -Dm644 "${srcdir}/MIT-LICENSE" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/MIT-LICENSE" || return 1
+
}
diff --git a/abs/core/e2fsprogs/e2fsprogs.install b/abs/core/e2fsprogs/e2fsprogs.install
index e207eb4..f91d39f 100644
--- a/abs/core/e2fsprogs/e2fsprogs.install
+++ b/abs/core/e2fsprogs/e2fsprogs.install
@@ -1,21 +1,20 @@
- infodir=/usr/share/info
- filelist=(libext2fs.info.gz)
+infodir=/usr/share/info
+filelist=(libext2fs.info.gz)
- post_install() {
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
install-info $infodir/$file $infodir/dir 2> /dev/null
done
+}
- }
+post_upgrade() {
+ post_install $1
+}
- post_upgrade() {
- post_install $1
- }
-
- post_remove() {
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
install-info --delete $infodir/$file $infodir/dir 2> /dev/null
done
-
- }
-
+}
diff --git a/abs/core/eggdbus/PKGBUILD b/abs/core/eggdbus/PKGBUILD
new file mode 100644
index 0000000..ddadba2
--- /dev/null
+++ b/abs/core/eggdbus/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 59198 2009-11-21 11:27:17Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=eggdbus
+pkgver=0.6
+pkgrel=1
+pkgdesc="Experimental D-Bus bindings for GObject"
+arch=(i686 x86_64)
+license=('LGPL')
+url="http://www.freedesktop.org/wiki/Software/Policykit"
+depends=('glib2>=2.22.2' 'dbus-glib>=0.82-2')
+makedepends=('gtk-doc')
+options=('!libtool')
+source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz)
+md5sums=('b43d2a6c523fcb8b9d0b0300c4222386')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-static --enable-gtk-doc || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+}
diff --git a/abs/core/elfutils/PKGBUILD b/abs/core/elfutils/PKGBUILD
new file mode 100644
index 0000000..5ecdcde
--- /dev/null
+++ b/abs/core/elfutils/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 87360 2010-08-13 03:21:31Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Andrej Gelenberg <andrej.gelenberg@udo.edu>
+
+pkgname=elfutils
+pkgver=0.148
+pkgrel=1
+pkgdesc="Collection of libraries and utilities for working with ELF object files and DWARF debugging information"
+arch=('i686' 'x86_64')
+url="https://fedorahosted.org/elfutils/"
+license=('GPL2')
+depends=('glibc')
+#optdepends=('zlib' 'xz' 'bzip2')
+provides=('libelf')
+replaces=('libelf')
+conflicts=('libelf')
+source=(https://fedorahosted.org/releases/e/l/elfutils/${pkgver}/elfutils-${pkgver}.tar.bz2)
+md5sums=('a0bed1130135f17ad27533b0034dba8d')
+
+build()
+{
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --program-prefix="eu-"
+ make
+ make check
+}
+
+package()
+{
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/abs/core/expat/CVE-2009-3560.patch b/abs/core/expat/CVE-2009-3560.patch
new file mode 100644
index 0000000..5fe9c36
--- /dev/null
+++ b/abs/core/expat/CVE-2009-3560.patch
@@ -0,0 +1,13 @@
+diff -urNad trunk~/lib/xmlparse.c trunk/lib/xmlparse.c
+--- trunk~/lib/xmlparse.c 2007-05-08 04:25:35.000000000 +0200
++++ trunk/lib/xmlparse.c 2009-12-29 21:57:22.141732904 +0100
+@@ -3703,6 +3703,9 @@
+ return XML_ERROR_UNCLOSED_TOKEN;
+ case XML_TOK_PARTIAL_CHAR:
+ return XML_ERROR_PARTIAL_CHAR;
++ case -XML_TOK_PROLOG_S:
++ tok = -tok;
++ break;
+ case XML_TOK_NONE:
+ #ifdef XML_DTD
+ /* for internal PE NOT referenced between declarations */
diff --git a/abs/core/expat/CVE-2009-3720.patch b/abs/core/expat/CVE-2009-3720.patch
new file mode 100644
index 0000000..65d1643
--- /dev/null
+++ b/abs/core/expat/CVE-2009-3720.patch
@@ -0,0 +1,12 @@
+diff -urNad trunk~/lib/xmltok_impl.c trunk/lib/xmltok_impl.c
+--- trunk~/lib/xmltok_impl.c 2006-11-26 18:34:46.000000000 +0100
++++ trunk/lib/xmltok_impl.c 2009-10-22 21:42:41.000000000 +0200
+@@ -1744,7 +1744,7 @@
+ const char *end,
+ POSITION *pos)
+ {
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ #define LEAD_CASE(n) \
+ case BT_LEAD ## n: \
diff --git a/abs/core/expat/PKGBUILD b/abs/core/expat/PKGBUILD
index 0d63ac7..e2f1038 100644
--- a/abs/core/expat/PKGBUILD
+++ b/abs/core/expat/PKGBUILD
@@ -1,23 +1,29 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 62836 2010-01-12 23:27:10Z allan $
# Maintainer: dorphell <dorphell@archlinux.org>
# Committer: Judd Vinet <jvinet@zeroflux.org>
pkgname=expat
pkgver=2.0.1
-pkgrel=1
+pkgrel=5
pkgdesc="An XML Parser library written in C"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
+url="http://expat.sourceforge.net/"
license=('custom')
depends=('glibc')
options=('!libtool')
-source=(http://heanet.dl.sourceforge.net/sourceforge/expat/${pkgname}-${pkgver}.tar.gz)
-url="http://expat.sourceforge.net/"
-md5sums=('ee8b492592568805593f81f8cdf2a04c')
+source=(http://downloads.sourceforge.net/sourceforge/expat/${pkgname}-${pkgver}.tar.gz
+ CVE-2009-3560.patch
+ CVE-2009-3720.patch)
+md5sums=('ee8b492592568805593f81f8cdf2a04c'
+ '50603cac0f03aabc7087415251f592be'
+ 'f3eeb796f28945899216b815e5901996')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i $srcdir/CVE-2009-3560.patch
+ patch -Np1 -i $srcdir/CVE-2009-3720.patch
+ ./configure --prefix=/usr --mandir=/usr/share/man || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install
- install -m644 -D COPYING ${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING
+ make DESTDIR="${pkgdir}" install || return 1
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" || return 1
}
diff --git a/abs/core/fbsplash/PKGBUILD b/abs/core/fbsplash/PKGBUILD
index 736da1f..dcec71a 100644
--- a/abs/core/fbsplash/PKGBUILD
+++ b/abs/core/fbsplash/PKGBUILD
@@ -1,56 +1,71 @@
-# Maintainer: Greg Helton <gt@fallendusk.org>
+# Maintainer: Heiko Baums <heiko@baums-on-web.de>
+# Contributor: Kurt J. Bosch <kjb-temp-2009 at alpenjodel.de>
pkgname=fbsplash
pkgver=1.5.4.3
-pkgrel=15
+pkgrel=33
pkgdesc="A userspace implementation of a splash screen for Linux (formerly known as gensplash)"
arch=('i686' 'x86_64')
url="http://fbsplash.berlios.de"
license=('GPL')
-backup=('etc/conf.d/fbsplash.conf' 'etc/conf.d/fbsplash.bootsteps')
-makedepends=('klibc')
-depends=('initscripts' 'miscsplashutils' 'libjpeg' 'libpng' 'freetype2-static' 'gpm' 'libmng' 'which' 'linhes-splash')
-conflicts=('bootsplash' 'gensplash')
+depends=('miscsplashutils' 'freetype2' 'libjpeg' 'libpng' 'libmng' 'lcms' 'gpm' 'linhes-splash')
+optdepends=('kernel26-fbcondecor: enable console background images'
+ 'fbsplash-extras: additional functionality like daemon icons'
+ 'uswsusp-fbsplash: suspend to disk with fbsplash'
+ 'python: convert themes from splashy to fbsplash')
+conflicts=('fbsplash-scripts' 'initscripts-extras-fbsplash')
+options=('!makeflags')
+backup=('etc/conf.d/fbcondecor' 'etc/conf.d/splash')
install=fbsplash.install
-source=(http://download.berlios.de/fbsplash/splashutils-${pkgver}.tar.bz2 \
- http://code.thewrecker.net/files/darch.tar.bz2 \
- fbsplash.inithooks \
- splash-functions-arch.sh \
- fbsplash.conf \
- fbsplash.initcpio_install \
- fbsplash.daemon fbsplash.bootsteps)
+source=(http://dev.gentoo.org/~spock/projects/gensplash/archive/splashutils-${pkgver}.tar.bz2
+ fbsplash.git.patch
+ splash.conf
+ fbsplash-basic.sh
+ fbsplash.initcpio_install
+ fbsplash.initcpio_hook
+ fbcondecor.daemon
+ fbcondecor.conf)
+
build() {
- cd ${startdir}/src/splashutils-${pkgver}
-
- # Configure, make, and install
- ./configure --prefix=/usr --sysconfdir=/etc --enable-fbcondecor --with-gpm --with-mng --with-png --with-ttf --with-ttf-kernel
- make || return 1
- cp -f ${startdir}/splash-functions.sh ${startdir}/src/splashutils-1.5.4.3/scripts/splash-functions.sh
- make DESTDIR=${startdir}/pkg install || return 1
-
- # Create directories
- mkdir -p ${startdir}/pkg/lib/splash/cache
- mkdir -p ${startdir}/pkg/etc/splash
- mkdir -p ${startdir}/pkg/etc/rc.d/functions.d
-
- # Install scripts
- install -D -m644 ${startdir}/src/fbsplash.initcpio_install ${startdir}/pkg/lib/initcpio/install/fbsplash
- install -D -m644 ${startdir}/src/fbsplash.conf ${startdir}/pkg/etc/conf.d/fbsplash.conf
- install -D -m744 ${startdir}/src/fbsplash.daemon ${startdir}/pkg/etc/rc.d/fbsplash
- install -D -m744 ${startdir}/src/splash-functions-arch.sh ${startdir}/pkg/sbin/splash-functions-arch.sh
- install -D -m755 $startdir/src/fbsplash.bootsteps ${startdir}/pkg/etc/conf.d/fbsplash.bootsteps
-
- # install darch fbsplash theme
- cp -r ${startdir}/src/darch ${startdir}/pkg/etc/splash/darch
-
- # install initscripts hooks
- install -D -m744 ${startdir}/src/fbsplash.inithooks ${startdir}/pkg/etc/rc.d/functions.d/fbsplash.sh
+ cd ${srcdir}/splashutils-${pkgver}
+
+ # patch for building splashutils with glibc and dynamical linking
+ patch -Np0 -i ${srcdir}/fbsplash.git.patch || return 1
+ autoreconf
+
+ # fix fbcondecor_ctl splash type
+ sed -e 's,fbsplash_lib_init(fbspl_bootup),fbsplash_lib_init(fbspl_undef),' -i src/fbcon_decor_ctl.c
+
+ ./configure --prefix=/usr --sysconfdir=/etc --without-klibc --enable-fbcondecor --with-gpm --with-mng --with-png --with-ttf --with-ttf-kernel || return 1
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+
+ cd ${pkgdir}
+
+ # fix duplicate slashes to get splash_cache_cleanup grep to work
+ sed -r -e 's,^(export spl_.*="/)/+,\1,' -i sbin/splash-functions.sh
+
+ # fix the path to splash_util
+ sed -r -e 's,^(export spl_util=)\"/bin/,\1"/sbin/,' -i sbin/splash-functions.sh
+
+ # provide the mountpoint needed by splash-functions.sh
+ mkdir -p lib/splash/{cache,tmp}
+
+ # Install fbsplash scripts and config file
+ install -D -m644 ${srcdir}/splash.conf etc/conf.d/splash
+ install -D -m644 ${srcdir}/fbsplash-basic.sh etc/rc.d/functions.d/fbsplash-basic.sh
+ install -D -m644 ${srcdir}/fbsplash.initcpio_install lib/initcpio/install/fbsplash
+ install -D -m644 ${srcdir}/fbsplash.initcpio_hook lib/initcpio/hooks/fbsplash
+ # Install fbcodecor script and config file
+ install -D -m644 ${srcdir}/fbcondecor.conf etc/conf.d/fbcondecor
+ install -D -m755 ${srcdir}/fbcondecor.daemon etc/rc.d/fbcondecor
}
md5sums=('c722cd4148817b9c50381d9bdc1ea6ef'
- '4ea33e99330abf4a9a468ac8c0ba48ca'
- '33b3c7c2050670db0e8b2efd9e088ed9'
- '8ffb29400a2518b16f3dbca653855268'
- '82ef6f37c2795db1b4fec0e6f8443c66'
- '21380586a5dafbf7045886ea4374ab65'
- 'bb5154529e4b5fbc701cf4540c15a61a')
+ '3a338c60ed0710c8b7e3e08929db521a'
+ 'a8f40c99a32d20d505aa24fbbd703008'
+ 'e69753dac753b8ba4e2e29ef5a9c46ca'
+ 'e29b3db6ee059b9950febe976a0f2881'
+ 'ac2351bc918b101bb9249ce8940722be'
+ '715926469d05eecd345c052e6248ca32'
+ 'b3db9d4fd902b62ac9e38589677e2d16')
diff --git a/abs/core/fbsplash/__changelog b/abs/core/fbsplash/__changelog
deleted file mode 100644
index d673fc0..0000000
--- a/abs/core/fbsplash/__changelog
+++ /dev/null
@@ -1,4 +0,0 @@
-modify splash-functions to not use chvt for verbose
-modify fbsplash.inithooks to not display "setting up splash"
-added default value for fbsplash.bootsteps
-
diff --git a/abs/core/fbsplash/darch.tar.bz2 b/abs/core/fbsplash/darch.tar.bz2
deleted file mode 100644
index 0faab98..0000000
--- a/abs/core/fbsplash/darch.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/abs/core/fbsplash/extra/encrypt_hook.patch b/abs/core/fbsplash/extra/encrypt_hook.patch
deleted file mode 100644
index f059048..0000000
--- a/abs/core/fbsplash/extra/encrypt_hook.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- /lib/initcpio/hooks/encrypt 2008-09-12 12:29:38.000000000 -0400
-+++ encrypt.1 2008-10-28 08:13:34.000000000 -0400
-@@ -1,6 +1,7 @@
- # vim: set ft=sh:
- # TODO this one needs some work to work with lots of different
- # encryption schemes
-+. /sbin/splash-functions.sh
- run_hook ()
- {
- /sbin/modprobe -a -q dm-crypt >/dev/null 2>&1
-@@ -59,6 +60,7 @@ run_hook ()
- fi
- fi
- # Ask for a passphrase
-+ splash_verbose
- if [ ${dopassphrase} -gt 0 ]; then
- echo ""
- echo "A password is required to access the ${cryptname} volume:"
-@@ -119,4 +121,5 @@ run_hook ()
- fi
- nuke ${ckeyfile}
- fi
-+ splash_silent
- }
diff --git a/abs/core/fbsplash/fbcondecor.conf b/abs/core/fbsplash/fbcondecor.conf
new file mode 100644
index 0000000..18db844
--- /dev/null
+++ b/abs/core/fbsplash/fbcondecor.conf
@@ -0,0 +1,6 @@
+
+# /etc/conf.d/fbcondecor
+#
+
+## Virtual terminals to load with fbcondecor backgrounds
+SPLASH_TTYS="1 2 3 4 5 6"
diff --git a/abs/core/fbsplash/fbcondecor.daemon b/abs/core/fbsplash/fbcondecor.daemon
new file mode 100644
index 0000000..4d78ea4
--- /dev/null
+++ b/abs/core/fbsplash/fbcondecor.daemon
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+# /etc/rc.d/fbcondecor
+
+# Set FbConDecor backgrounds
+#
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/fbcondecor
+. /sbin/splash-functions.sh
+
+splash_setup force
+
+retval=0
+[ -z "${SPLASH_TTYS%% }" ] && retval=1
+case "$1"
+in start )
+ if [ "${SPLASH_MODE_REQ}" != "off" ]; then
+ stat_busy "Setting FBconDecor console images"
+ for tty in ${SPLASH_TTYS}; do
+ # avoid blinking on boot
+ [[ "$( fbcondecor_ctl --tty=${tty} -c getstate )" == *\ on ]] && continue
+ fbcondecor_set_theme ${SPLASH_THEME} ${tty} || retval=1
+ done
+ if [ $retval = 0 ]; then
+ stat_done
+ else
+ stat_fail
+ fi
+ fi
+;; stop )
+ stat_busy "Disabling FBconDecor console images"
+ for tty in ${SPLASH_TTYS}; do
+ # avoid errors on restart
+ [[ "$( fbcondecor_ctl --tty=${tty} -c getstate )" == *\ off ]] && continue
+ fbcondecor_ctl --tty=${tty} -c off || retval=1
+ done
+ if [ $retval = 0 ]; then
+ stat_done
+ else
+ stat_fail
+ fi
+;; restart )
+ $0 stop
+ sleep .1
+ echo # don't swallow our status line
+ $0 start
+;; * )
+ echo "usage: $0 {start|stop|restart}"
+esac
+
+exit 0
+
+# EOF #
diff --git a/abs/core/fbsplash/fbsplash-basic.sh b/abs/core/fbsplash/fbsplash-basic.sh
new file mode 100644
index 0000000..2834060
--- /dev/null
+++ b/abs/core/fbsplash/fbsplash-basic.sh
@@ -0,0 +1,201 @@
+
+# /etc/rc.d/functions.d/fbsplash-basic.sh #
+
+# Basic Fbsplash script for Arch Linux initscripts #
+# #
+# Author: Kurt J. Bosch <kjb-temp-2009 at alpenjodel.de> #
+# Based on the work of Greg Helton <gt at fallendusk.org> #
+# Thomas Baechler <thomas at archlinux.org> #
+# and others #
+# #
+# Distributed under the terms of the GNU General Public License (GPL) #
+
+[[ $PREVLEVEL && $RUNLEVEL ]] || return 0
+
+# Do nothing if improved scripts are installed
+[ -r /etc/rc.d/functions.d/fbsplash-extras.sh ] && return
+
+# Only do this where needed
+# Since we use BASH, all important functions and variables are exported
+case ${0#/etc/rc.} in sysinit | multi | shutdown )
+ export SPLASH_PUSH_MESSAGES="no"
+ export SPLASH_VERBOSE_ON_ERRORS="no"
+ . /sbin/splash-functions.sh # /etc/conf.d/splash is also sourced by this
+ unset options opt i # eliminate splash_setup non local vars ## FIX ME ##
+ declare -ix SPLASH_STEPS=3 # sysinit steps
+ declare -ix SPLASH_STEPS_DONE=0
+esac
+
+# Verbose mode is handled by fbcondecor kernel patch and daemon script
+[[ $SPLASH_MODE_REQ = silent ]] || return 0
+
+# Override - Don't try to use /usr/bin/basename
+splash_comm_send() {
+ [[ $( /bin/pidof -o %PPID $spl_daemon ) ]] && echo "$@" >$spl_fifo &
+}
+
+case $0 in /etc/rc.sysinit )
+ # Prevent splash destruction
+ CONSOLEFONT=""
+ # Continue to use a splash daamon started in initcpio
+ if /bin/mountpoint -q /dev/.splash-cache; then
+ /bin/mount --move /dev/.splash-cache $spl_cachedir || return
+ splash_comm_send set message "$SPLASH_BOOT_MESSAGE"
+ # Mount a tmpfs
+ else
+ ( splash_cache_prep ) || return
+ fi
+ add_hook sysinit_udevsettled splash_sysinit_udevsettled
+ add_hook sysinit_postfsck splash_sysinit_postfsck
+ add_hook sysinit_postfsckloop splash_sysinit_postfsck
+ add_hook sysinit_premount splash_sysinit_premount
+ add_hook sysinit_end splash_sysinit_end
+ splash_sysinit_udevsettled() {
+ splash_begin
+ splash_progress_init
+ splash_progress
+ }
+ splash_sysinit_premount() {
+ splash_progress
+ }
+ splash_sysinit_postfsck() { # fsck failure emergency exit
+ [ ${fsckret} -gt 1 -a ${fsckret} -ne 32 ] && chvt 1
+ }
+ splash_sysinit_end() {
+ splash_progress
+ }
+;; /etc/rc.multi )
+ add_hook multi_start splash_multi_start
+ add_hook multi_end splash_multi_end
+ splash_multi_start() {
+ SPLASH_STEPS_DONE=$SPLASH_STEPS
+ splash_progress_init
+ }
+ start_daemon() {
+ [[ $1 = $SPLASH_XSERVICE ]] && SPLASH_EXIT_TYPE=staysilent splash_stop
+ /etc/rc.d/$1 start
+ splash_progress
+ }
+ start_daemon_bkgd() {
+ [[ $1 = $SPLASH_XSERVICE ]] && SPLASH_EXIT_TYPE=staysilent splash_stop
+ stat_bkgd "Starting $1"
+ ( SPLASH_PUSH_MESSAGES="no" SPLASH_VERBOSE_ON_ERRORS="no" \
+ /etc/rc.d/$1 start ) &>/dev/null &
+ }
+ splash_multi_end() {
+ if [[ $PREVLEVEL = N ]]; then
+ if ! in_array "$SPLASH_XSERVICE" "${DAEMONS[@]}"; then
+ if [[ $RUNLEVEL = 5 ]]; then
+ SPLASH_EXIT_TYPE=staysilent splash_stop
+ else
+ splash_stop
+ [[ $( $spl_bindir/fgconsole ) = $SPLASH_TTY ]] && chvt 1
+ fi
+ fi
+ # Now do setfont
+ set_consolefont
+ # Umount the tmpfs
+ splash_cache_cleanup
+ fi
+ }
+;; /etc/rc.shutdown )
+ ( splash_cache_prep ) || return
+ # Not using XSERVICE here to avoid missing errors - X should chvt back to SPLASH_TTY
+ add_hook shutdown_start splash_shutdown_start
+ add_hook shutdown_prekillall splash_shutdown_prekillall
+ add_hook shutdown_postkillall splash_shutdown_postkillall
+ add_hook shutdown_poweroff splash_shutdown_poweroff
+ splash_shutdown_start() {
+ splash_begin
+ }
+ ## http://bugs.archlinux.org/task/10536 ## FIX ME ##
+ splash_shutdown_prekillall() { /bin/sleep .1; }
+ splash_shutdown_postkillall() {
+ if [[ $( $spl_bindir/fgconsole ) = $SPLASH_TTY ]]; then
+ stat_busy "Restarting Fbsplash daemon"
+ PROGRESS=$(( 65535*2/3 )) splash_start
+ if [[ -e $spl_cachedir/stop_failed-fbsplash-dummy ]]; then
+ splash_comm_send update_svc fbsplash-dummy svc_stop_failed
+ fi
+ stat_done
+ fi
+ }
+ ##
+ splash_shutdown_poweroff() {
+ SPLASH_EXIT_TYPE=staysilent splash_stop
+ }
+esac
+
+splash_progress_init() {
+ for daemon in "${DAEMONS[@]}"; do
+ case $daemon in $SPLASH_XSERVICE | @$SPLASH_XSERVICE ) break
+ ;; \!* |@* ) continue
+ esac
+ SPLASH_STEPS+=1
+ done
+}
+
+splash_progress() {
+ splash_comm_send progress $(( 65535*++SPLASH_STEPS_DONE/SPLASH_STEPS ))
+ splash_comm_send paint
+}
+
+# Start the splash daemon - using upstream function
+splash_set_event_dev() { :; } # override - Never grab the keyboard
+splash_begin() {
+ if ! [[ $( /bin/pidof -o %PPID $spl_daemon ) ]]; then
+ stat_busy "Starting Fbsplash daemon"
+ if [ -x /etc/splash/$SPLASH_THEME/scripts/rc_init-pre ]; then
+ /etc/splash/$SPLASH_THEME/scripts/rc_init-pre ${0#/etc/rc.d} $RUNLEVEL
+ fi &&
+ splash_start &&
+ stat_done || stat_fail
+ fi
+}
+
+# Stop the splash daemon - if any
+splash_stop() {
+ if [[ $( /bin/pidof -o %PPID $spl_daemon ) ]]; then
+ SPLASH_PUSH_MESSAGES="no" stat_busy "Stopping Fbsplash daemon"
+ splash_comm_send progress 65535; splash_comm_send paint; /bin/sleep .1
+ splash_comm_send exit $SPLASH_EXIT_TYPE
+ # Wait for painting/fadeout
+ local -i i=0
+ while [[ i++ -lt 100 && $( /bin/pidof -o %PPID $spl_daemon ) ]]; do
+ /bin/sleep .1
+ done
+ stat_done
+ fi
+}
+
+stat_busy() {
+ printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
+ printf "${SAVE_POSITION}"
+ deltext
+ printf " ${C_OTHER}[${C_BUSY}BUSY${C_OTHER}]${C_CLEAR} "
+ SPLASH_BUSY_MSG=$1
+ if [[ $SPLASH_PUSH_MESSAGES = yes ]]; then
+ splash_comm_send set message "${1}"
+ splash_comm_send paint
+ fi
+}
+
+stat_fail() {
+ deltext
+ printf " ${C_OTHER}[${C_FAIL}FAIL${C_OTHER}]${C_CLEAR} \n"
+ local event=stop_failed; [[ $PREVLEVEL = N ]] && event=start_failed
+ # Provide a general failure status event and write to msglog textbox
+ splash_comm_send update_svc fbsplash-dummy svc_${event}
+ splash_comm_send log "Error $SPLASH_BUSY_MSG"
+ splash_comm_send paint
+ # Save for daemon restart ## FIX ME ##
+ if /bin/mountpoint -q $spl_cachedir; then
+ : >|$spl_cachedir/${event}-fbsplash-dummy
+ fi
+ # Upstream way of error handling
+ if [[ $SPLASH_VERBOSE_ON_ERRORS = yes ]]; then
+ chvt 1
+ fi
+}
+
+# EOF #
diff --git a/abs/core/fbsplash/fbsplash.bootsteps b/abs/core/fbsplash/fbsplash.bootsteps
deleted file mode 100644
index 7273c0f..0000000
--- a/abs/core/fbsplash/fbsplash.bootsteps
+++ /dev/null
@@ -1 +0,0 @@
-25
diff --git a/abs/core/fbsplash/fbsplash.conf b/abs/core/fbsplash/fbsplash.conf
deleted file mode 100644
index ddd88f8..0000000
--- a/abs/core/fbsplash/fbsplash.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# fbsplash.conf
-#
-
-THEMES="linhes"
-SPLASH_TTYS="1 2 3 4 5 6"
-
-#EOF
diff --git a/abs/core/fbsplash/fbsplash.daemon b/abs/core/fbsplash/fbsplash.daemon
deleted file mode 100644
index e615500..0000000
--- a/abs/core/fbsplash/fbsplash.daemon
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash
-
-source /etc/rc.conf
-source /etc/rc.d/functions
-
-source /sbin/splash-functions.sh
-source /etc/conf.d/fbsplash.conf
-
-case "$1" in
- start)
- if [ "$(fbcondecor_supported)" = "true" ]
- then
- THEME="linhes"
- if [ -f /proc/cmdline ]; then
- OPTIONS=$(grep -o 'splash=[^ ]*' /proc/cmdline)
- for i in $(echo "${OPTIONS#*=}" | sed -e 's/,/ /g')
- do
- case ${i%:*} in
- theme) THEME=${i#*:} ;;
- esac
- done
- fi
- stat_busy "Setting fbcondecor console images"
- for TTY in ${SPLASH_TTYS}; do
- fbcondecor_set_theme ${TTY} ${THEME}
- done
- stat_done
- fi
- save_boot_steps
- splash_exit
- ;;
-
- kill)
- if [ "$(fbcondecor_supported)" = "true" ]
- then
- stat_busy "Disabling fbcondecor console images"
- for TTY in ${SPLASH_TTYS}; do
- fbcondecor_remove_theme ${TTY}
- done
- stat_done
- fi
- ;;
-
- restart)
- $0 kill
- sleep 1
- $1 start
- ;;
-
- *)
- echo "usage: $0 {start|restart|kill}"
-esac
-exit 0
-
-#EOF
-
diff --git a/abs/core/fbsplash/fbsplash.git.patch b/abs/core/fbsplash/fbsplash.git.patch
new file mode 100644
index 0000000..15f041c
--- /dev/null
+++ b/abs/core/fbsplash/fbsplash.git.patch
@@ -0,0 +1,166 @@
+From 4ecac1b2645afc8079aad4067a1aa0e8a96eab12 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Micha=C5=82=20Januszewski?= <spock@gentoo.org>
+Date: Tue, 16 Feb 2010 23:30:18 +0100
+Subject: [PATCH] Make it possible to build fbcondecor_helper against glibc.
+
+---
+ configure.ac | 34 ++++++++++++++++++++++++++++++++++
+ libs/Makefile.am | 2 ++
+ src/Makefile.am | 34 +++++++++++++++++++++++++++++++++-
+ 3 files changed, 69 insertions(+), 1 deletions(-)
+
+diff --git configure.ac configure.ac
+index 63b1ff6..8db1498 100644
+--- configure.ac
++++ configure.ac
+@@ -76,6 +76,23 @@ AC_ARG_ENABLE([klibc-shared],
+ )
+ AM_CONDITIONAL([CONFIG_KLIBC_SHARED], [test "x${config_klibc_shared}" = "xyes"])
+
++AC_ARG_ENABLE([static-binaries],
++ AC_HELP_STRING([--disable-static-binaries], [do not build any statically linked binaries]),
++ [
++ AS_CASE(["${enableval}"],
++ [yes], [config_static_binaries="yes"],
++ [no], [config_static_binaries="no"],
++ [AC_MSG_ERROR([bad value '${enableval}' for --disable-static-binaries])]
++ )
++ ],
++ [config_static_binaries="yes"]
++)
++AM_CONDITIONAL([CONFIG_STATIC_BINARIES], [test "x${config_static_binaries}" = "xyes"])
++AS_IF(
++ [test "x${config_static_binaries}" = "xyes"],
++ [AC_DEFINE([CONFIG_STATIC_BINARIES], [1], [Define to 1 to disable building of statically linked binaries.])]
++)
++
+ AC_ARG_ENABLE([deprecated],
+ AC_HELP_STRING([--enable-deprecated], [include support for deprecated features]),
+ [
+@@ -333,6 +350,23 @@ AC_ARG_WITH([themedir],
+ )
+ AC_SUBST([themedir])
+
++AC_ARG_WITH([klibc],
++ AC_HELP_STRING([--without-klibc], [link the kernel helper against glibc instead of klibc]),
++ [
++ AS_CASE(["${withval}"],
++ [yes], [config_klibc="yes"],
++ [no], [config_klibc="no"],
++ [AC_MSG_ERROR([bad value ${withval} for --with-klibc])]
++ )
++ ],
++ [config_klibc="yes"]
++)
++AM_CONDITIONAL([CONFIG_KLIBC], [test "x${config_klibc}" = "xyes"])
++AS_IF(
++ [test "x${config_klibc}" = "xyes"],
++ [AC_DEFINE([CONFIG_KLIBC], [1], [use klibc])]
++)
++
+ M_CFLFAGS=
+ M_LIBS=
+ AC_CHECK_HEADER(
+diff --git libs/Makefile.am b/core/libs/Makefile.am
+index 6675ec1..d070b29 100644
+--- libs/Makefile.am
++++ libs/Makefile.am
+@@ -24,6 +24,7 @@ mostlyclean-local: \
+
+ noinst_LIBRARIES =
+
++if CONFIG_KLIBC
+ if CONFIG_HELPER
+ noinst_LIBRARIES += libjpeg.a
+ if CONFIG_PNG
+@@ -33,6 +34,7 @@ if CONFIG_TTF_KERNEL
+ noinst_LIBRARIES += libfreetype.a
+ endif
+ endif
++endif
+
+ libjpeg_a_SOURCES =
+ libpng_a_SOURCES =
+diff --git src/Makefile.am b/core/src/Makefile.am
+index fa6919d..7570b5e 100644
+--- src/Makefile.am
++++ src/Makefile.am
+@@ -167,7 +167,6 @@ sbin_PROGRAMS += fbcondecor_ctl
+ endif
+ sbin_PROGRAMS += fbsplashd
+ bin_PROGRAMS += splash_util
+-eexecsbin_PROGRAMS += fbsplashctl
+
+ fbcondecor_ctl_SOURCES = fbcon_decor_ctl.c fbcon_decor.h ../include/console_decor.h ../include/fbcondecor.h common.h fbsplash.h
+ fbcondecor_ctl_CPPFLAGS = $(AM_CPPFLAGS) -DTARGET_UTIL $(libfbsplashrender_la_CFLAGS)
+@@ -185,6 +184,9 @@ splash_util_CPPFLAGS = $(AM_CPPFLAGS) -DTARGET_UTIL $(libfbsplashrender_l
+ splash_util_LDFLAGS = $(AM_LDFLAGS)
+ splash_util_LDADD = libfbsplashrender.la libfbsplash.la
+
++if CONFIG_STATIC_BINARIES
++eexecsbin_PROGRAMS += fbsplashctl
++
+ fbsplashctl_SOURCES = $(fbsplashd_SOURCES) $(splash_util_SOURCES) fbsplashctl.c
+ fbsplashctl_CFLAGS = $(AM_CFLAGS) $(PTHREAD_STATIC_CFLAGS) $(RT_CFLAGS) $(libfbsplashrender_la_CFLAGS) -DUNIFIED_BUILD
+ fbsplashctl_CPPFLAGS = $(fbsplashd_CPPFLAGS) $(splash_util_CPPFLAGS)
+@@ -210,6 +212,7 @@ uninstall-hook:
+ if CONFIG_FBCON_DECOR
+ rm -f $(DESTDIR)$(eexecsbindir)/fbcondecor_ctl.static$(EXEEXT)
+ endif
++endif
+
+ ################################################################################
+ # Kernel
+@@ -219,6 +222,7 @@ if CONFIG_HELPER
+ eexecsbin_PROGRAMS += fbcondecor_helper
+ endif
+
++if CONFIG_KLIBC
+ fbcondecor_helper_SOURCES = \
+ kernel.c \
+ libfbsplash.c \
+@@ -236,10 +240,12 @@ fbcondecor_helper_SOURCES = \
+ common.h \
+ render.h \
+ fbsplash.h
++
+ fbcondecor_helper_CPPFLAGS = -DWITH_ERRLIST -DTARGET_KERNEL -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ fbcondecor_helper_CFLAGS = -Os -w -ffunction-sections -fdata-sections -I.@am__isrc@
+ fbcondecor_helper_LDFLAGS =
+ fbcondecor_helper_LDADD =
++
+ fbcondecor_helper_CFLAGS += -I$(abs_top_builddir)/libs/libjpeg -I$(LIBJPEG_SOURCE)
+ fbcondecor_helper_LDADD += $(top_builddir)/libs/libjpeg.a
+ if CONFIG_PNG
+@@ -280,3 +286,29 @@ fbcondecor_helper-%.o: %.c
+ @$(call infmsg,CC,$@)
+ $(Q)$(MKDIR_P) $(@D)
+ $(Q)$(KLCC) $(fbcondecor_helper_CPPFLAGS) $(fbcondecor_helper_CFLAGS) $(INCLUDES) -c $< -o $@
++else
++fbcondecor_helper_SOURCES = \
++ kernel.c \
++ libfbsplash.c \
++ libfbsplashrender.c \
++ fbcon_decor.c \
++ common.c \
++ parse.c \
++ list.c \
++ render.c \
++ image.c \
++ effects.c \
++ fbcon_decor.h \
++ ../include/console_decor.h \
++ ../include/fbcondecor.h \
++ common.h \
++ render.h \
++ fbsplash.h
++if CONFIG_TTF_KERNEL
++fbcondecor_helper_SOURCES += ttf.c ttf.h
++endif
++fbcondecor_helper_CPPFLAGS = $(AM_CPPFLAGS) -DTARGET_KERNEL
++fbcondecor_helper_CFLAGS = $(AM_CFLAGS) $(libfbsplashrender_la_CFLAGS)
++fbcondecor_helper_LDFLAGS = $(AM_LDFLAGS)
++fbcondecor_helper_LDADD = $(libfbsplashrender_la_LIBADD)
++endif
+--
+1.6.5.GIT
diff --git a/abs/core/fbsplash/fbsplash.initcpio_hook b/abs/core/fbsplash/fbsplash.initcpio_hook
new file mode 100644
index 0000000..62048df
--- /dev/null
+++ b/abs/core/fbsplash/fbsplash.initcpio_hook
@@ -0,0 +1,102 @@
+run_hook ()
+{
+ SPLASH_INIT_MESSAGE="Initializing the kernel"
+ SPLASH_MODE_REQ="off"
+ SPLASH_THEME="default"
+ SPLASH_TTY=16
+ SPLASH_TEXTBOX="no"
+ SPLASH_AUTOVERBOSE=0
+
+ . /etc/conf.d/splash
+
+ # Kernel parameters override config file
+ local ifs="$IFS"
+ IFS=','
+ set -- $splash
+ IFS="$ifs"
+ local arg effects
+ for arg in "$@"; do
+ case "$arg"
+ in off ) SPLASH_MODE_REQ="off"
+ ;; silent ) SPLASH_MODE_REQ="silent"
+ ;; verbose ) SPLASH_MODE_REQ="verbose"
+ ;; theme:?* ) SPLASH_THEME="${arg#theme:}"
+ ;; tty:?* ) SPLASH_TTY="${arg#tty:}"
+ ;; insane ) SPLASH_SANITY="insane"
+ ;; fadein | fadeout ) effects="$effects,$arg"
+ esac
+ done
+ if [ -n "$effects" ]; then
+ SPLASH_EFFECTS="${effects#,}"
+ fi
+
+ if [ "${SPLASH_MODE_REQ}" != "silent" ]; then
+ return
+ fi
+
+ if ! [ "$console" = tty1 -o "$SPLASH_SANITY" = insane ]; then
+ err "Fbsplash requires console=tty1 in kernel line!"
+ return 1
+ fi
+
+ # Start the daemon here if possible
+ # to show animations early and gain some bootup speed
+ if [ -x /sbin/fbsplashd.static ]; then
+ if [ -x /etc/splash/"$SPLASH_THEME"/scripts/rc_init-pre ]; then
+ msg "Found '/etc/splash/$SPLASH_THEME/scripts/rc_init-pre'"
+ msg "Not starting Fbsplash daemon - no theme hook support in initcpio."
+ else
+ msg "Starting Fbsplash Daemon"
+ (
+ set -e
+ # Hold the cache and fifo within /dev to get it moved to the new root
+ mkdir /dev/.splash-cache
+ # code line derived from splash-functions.sh
+ mount -t tmpfs cachedir /dev/.splash-cache -o rw,mode=0644,size=4096k
+ # Take over any existing cache content
+ mkdir -p /lib/splash/cache
+ mv /lib/splash/cache /lib/splash/.splash-cache
+ cp -a /lib/splash/.splash-cache /dev/
+ ln -s /dev/.splash-cache /lib/splash/cache
+ mkfifo -m 600 /lib/splash/cache/.splash
+ # Wait for any fbcondecor fadein - may take very long on some broken systems
+ i=0
+ while [ -n "$( pidof fbcondecor_helper )" ]; do
+ if [ $i -ge 50 ]; then
+ err "timeout on waiting for fbcondecor_helper to die!"
+ exit 1
+ fi
+ sleep .1
+ i=$(( i + 1 ))
+ done
+ # Actually start the daemon
+ options=""
+ [ -n "$SPLASH_THEME" ] && options="$options --theme=$SPLASH_THEME"
+ [ -n "$SPLASH_EFFECTS" ] && options="$options --effects=$SPLASH_EFFECTS"
+ [ "$SPLASH_TEXTBOX" = yes ] && options="$options --textbox"
+ cd /dev/.splash-cache
+ BOOT_MSG="${SPLASH_INIT_MESSAGE}" \
+ /sbin/fbsplashd.static --type=bootup --pidfile=daemon.pid $options
+ (
+ echo set tty silent $SPLASH_TTY
+ echo set mode silent
+ echo repaint
+ echo set autoverbose $SPLASH_AUTOVERBOSE
+ ) >/lib/splash/cache/.splash &
+ )
+ return
+ fi
+ fi
+
+ # Start the fbcondecor helper if not already done by fbcondecor kernel
+ (
+ # code copied from splash-functions.sh
+ fbcondecor_supported() {
+ [ -e /dev/fbsplash -o -e /dev/fbcondecor ]
+ }
+ if ! fbcondecor_supported; then
+ BOOT_MSG="${SPLASH_INIT_MESSAGE}" \
+ /sbin/fbcondecor_helper 2 init 0 0 $SPLASH_THEME
+ fi
+ )
+}
diff --git a/abs/core/fbsplash/fbsplash.initcpio_install b/abs/core/fbsplash/fbsplash.initcpio_install
index 3fdd7e9..4485f91 100644
--- a/abs/core/fbsplash/fbsplash.initcpio_install
+++ b/abs/core/fbsplash/fbsplash.initcpio_install
@@ -1,29 +1,114 @@
install() {
- [ -x /sbin/fbcondecor_helper ] || return 1
+ (
+ . /etc/conf.d/splash
- source /etc/conf.d/fbsplash.conf
- [ -z "${THEME}" ] && THEME="linhes"
+ if /bin/mountpoint -q /lib/splash/cache; then
+ /bin/umount /lib/splash/cache
+ fi
- add_binary "/sbin/fbcondecor_helper"
+ # Add the helper
+ add_binary /sbin/fbcondecor_helper
- add_device "/dev/null" c 1 3
- add_device "/dev/console" c 5 1
- add_device "/dev/tty0" c 4 0
+ # Add the daemon for early start
+ if [[ $SPLASH_DAEMON = early ]]; then
+ add_binary /sbin/fbsplashd.static
+ fi
- for DIR in /dev /dev/fb /dev/misc /dev/vc /lib/splash/proc /lib/splash/sys
- do
- add_dir ${DIR}
- done
+ # Add a clean config file avoiding errors when running the hook
+ file=$( /usr/bin/mktemp )
+ for var in SPLASH_INIT_MESSAGE SPLASH_MODE_REQ SPLASH_THEME SPLASH_TTY \
+ SPLASH_AUTOVERBOSE SPLASH_EFFECTS SPLASH_TEXTBOX
+ do
+ eval value=\"\$$var\"
+ [ -n "$value" ] && echo $var="'$value'"
+ done >|$file
+ add_file $file /etc/conf.d/splash
- for THEME in ${THEMES}
- do
- add_full_dir "/etc/splash/${THEME}"
- done
+ # List file paths contained in given Fbsplash theme cfg file
+ _get_cfg_files() {
+ < "$1" /bin/sed -re '
+ # convert all whitespace into single blanks
+ s,[[:space:]]+, ,g ; t L1
+ :L1
+ # drop comments, grouping directives and blank lines
+ /^ *([#<]|$)/ d
+ # get a filepath or drop
+ s,.*[ =]([^ ]*/[^ ]+).*,\1, ; t ; d
+ ' | /usr/bin/sort -u
+ }
+
+ # Check if cfg file name or path
+ _match_cfg() {
+ [[ "$1" =~ (^|/)[0-9]+x[0-9]+\.cfg$ ]]
+ }
+
+ # Add non-cfg files in given dir
+ _add_non_cfg_files() {
+ local file dir="$1"
+ for file in $( /bin/ls "$dir" ); do
+ if [ -f "$dir/$file" ]; then
+ _match_cfg "$file" || add_file "$dir/$file"
+ fi
+ done
+ }
+
+ # Add global non-cfg files
+ _add_non_cfg_files /etc/splash
+
+ # Add themes
+ dirs=""
+ for theme in ${SPLASH_THEMES[*]}; do # string list and array allowed
+ [ ${theme:0:1} = / ] || theme=/etc/splash/$theme
+ if [ -f $theme ]; then
+ if ! _match_cfg $theme; then
+ err "Not a valid theme cfg file name: $theme"
+ continue
+ fi
+ add_file $theme || continue
+ dir=$( dirname $theme )
+ # Add non-cfg files in theme dir
+ _add_non_cfg_files $dir
+ # Add files refered in cfg file by paths
+ for file in $( _get_cfg_files $theme ); do
+ if [ ${file:0:1} = / ]; then
+ add_file $file
+ continue
+ fi
+ # Path may be relative to theme-dir or to /etc/splash
+ [ -e $dir/$file -o ! -f /etc/splash/$file ] && add_file $dir/$file
+ [ -e /etc/splash/$file -o ! -f $dir/$file ] && add_file /etc/splash/$file
+ done
+ elif [ -d $theme ]; then
+ dir=$theme
+ add_full_dir $dir
+ else
+ err "Theme not found: $theme"
+ continue
+ fi
+ if [[ " "$dirs" " != *" "$dir" "* ]]; then
+ dirs+=" "$dir
+ fi
+ done
+ for dir in $dirs; do
+ # Add the rc_init-pre script if we have one
+ # Currently this just prevents early daemon start for the theme
+ if [[ $SPLASH_DAEMON = early && -x $dir/scripts/rc_init-pre ]]; then
+ add_file $dir/scripts/rc_init-pre || continue
+ echo "WARNING: rc_init-pre script found - no early daemon with '${dir##*/}'!" >&2
+ fi
+ done
+ )
+
+ SCRIPT="fbsplash"
}
help() {
- echo "This hook includes Fbsplash in the initramfs image."
+cat<<HELPEOF
+ This hook adds the FBconDecor helper and Fbsplash themes and maybe the
+ Fbsplash daemon as specified in /etc/conf.d/splash. Put it after udev
+ for early daemon start or when using a FBconDecor kernel.
+HELPEOF
}
#EOF
diff --git a/abs/core/fbsplash/fbsplash.inithooks b/abs/core/fbsplash/fbsplash.inithooks
deleted file mode 100644
index c396b92..0000000
--- a/abs/core/fbsplash/fbsplash.inithooks
+++ /dev/null
@@ -1,91 +0,0 @@
-# fbsplash function.d script #
-# Author: Greg Helton <gt@fallendusk.org> #
-
-# Who is calling? #
-CALLER=$0
-
-# splash stuff #
-. /etc/conf.d/fbsplash.conf
-. /sbin/splash-functions.sh
-
-# Redefine the stat functions #
-stat_bkgd() {
- printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
- deltext
- printf " ${C_OTHER}[${C_BKGD}BKGD${C_OTHER}]${C_CLEAR} "
-}
-
-stat_busy() {
- printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
- printf "${SAVE_POSITION}"
- deltext
- printf " ${C_OTHER}[${C_BUSY}BUSY${C_OTHER}]${C_CLEAR} "
- # This checks to see if we just brought up the lo interface in rc.sysinit #
- # if so, start the progress bar #
- if [ "${1}" == 'Bringing up loopback interface' ]; then
- splash rc_init
- fi
- # Load variables #
- var_load STEP_NR MAX_STEPS RC_MULTI RC_SYSINIT RC_SHUTDOWN
- # Only update the splash progress if we're in sysinit, multi, or shutdown. #
- if [[ "${SPLASH_RC_MULTI}" == "1" || "${SPLASH_RC_SYSINIT}" == "1" || "${SPLASH_RC_SHUTDOWN}" == "1" ]]; then
- ((SPLASH_STEP_NR++))
- SPLASH_PROGRESS=$((100*${SPLASH_STEP_NR}/${SPLASH_MAX_STEPS}))
- SPLASH_CURRENT_PROGRESS=${SPLASH_PROGRESS}
- splash_update_progress ${SPLASH_PROGRESS}
- var_save STEP_NR CURRENT_PROGRESS
- fi
- if [ "${SPLASH_RC_SHUTDOWN}" == "1" ]; then
- save_shutdown_steps
- fi
-
-}
-
-stat_done() {
- deltext
- printf " ${C_OTHER}[${C_DONE}DONE${C_OTHER}]${C_CLEAR} \n"
-}
-
-stat_fail() {
- deltext
- printf " ${C_OTHER}[${C_FAIL}FAIL${C_OTHER}]${C_CLEAR} \n"
- splash_verbose
-}
-
-start_daemon() {
- /etc/rc.d/$1 start
-}
-
-# rc.sysinit #
-if [ "$CALLER" == '/etc/rc.sysinit' ]; then
-# echo "fbsplash: Setting up splash..."
- splash_cache_prep
- SPLASH_MAX_STEPS=$(load_boot_steps)
- SPLASH_STEP_NR=0
- SPLASH_RC_MULTI=0
- SPLASH_RC_SYSINIT=1
- SPLASH_RC_SHUTDOWN=0
- var_save MAX_STEPS STEP_NR RC_MULTI RC_SYSINIT RC_SHUTDOWN
-fi
-
-# rc.multi #
-if [ "$CALLER" == '/etc/rc.multi' ]; then
- SPLASH_RC_MULTI=1
- SPLASH_RC_SYSINIT=0
- var_save RC_MULTI RC_SYSINIT
-fi
-
-# rc.shutdown #
-if [ "$CALLER" == '/etc/rc.shutdown' ]; then
-# echo "fbsplash: Setting up splash..."
- splash_cache_prep
- SPLASH_MAX_STEPS=$(load_shutdown_steps)
- SPLASH_SHUTDOWN_STEPS=1
- SPLASH_STEP_NR=0
- SPLASH_RC_MULTI=0
- SPLASH_RC_SYSINIT=0
- SPLASH_RC_SHUTDOWN=1
- var_save MAX_STEPS STEP_NR RC_MULTI RC_SYSINIT RC_SHUTDOWN DAEMON_STEPS
- splash rc_init
-fi
-
diff --git a/abs/core/fbsplash/fbsplash.install b/abs/core/fbsplash/fbsplash.install
index 2899857..09da219 100644
--- a/abs/core/fbsplash/fbsplash.install
+++ b/abs/core/fbsplash/fbsplash.install
@@ -1,25 +1,19 @@
-
post_install() {
- echo ">"
- echo "> ATTENTION!!!:"
- echo "----------------------------------------------"
- echo "> fbsplash has been rewritten and no longer depends "
- echo "> on using a special initscripts. "
- echo "> Please read http://wiki.archlinux.org/fbsplash "
- echo "> for more details on the changes. "
- echo "----------------------------------------------"
- if ! [ -e /etc/conf.d/fbsplash.bootsteps ]; then
- echo ""
- echo "Creating step count files..."
- echo "Note: The first boot's percentage will be wrong. "
- echo "The scripts will update with the right steps after first boot"
- echo ""
- touch /etc/conf.d/fbsplash.bootsteps
- touch /etc/conf.d/fbsplash.shutdownsteps
- echo 25 > /etc/conf.d/fbsplash.bootsteps
- echo 20 > /etc/conf.d/fbsplash.shutdownsteps
- fi
- echo 20 > /etc/conf.d/fbsplash.shutdownsteps
+ echo "------------------------------------------------------------"
+ echo "> This package doesn't contain a default theme."
+ echo "> You need to install one separately."
+ echo "> To find some themes, just search AUR for \"fbsplash-theme\","
+ echo "> or GNOME-Look.org or KDE-Look.org for \"fbsplash\"."
+ echo "------------------------------------------------------------"
+ echo "> Configuration for fbsplash: /etc/conf.d/splash"
+ echo "> Configuration for fbcondecor: /etc/conf.d/fbcondecor"
+ echo "------------------------------------------------------------"
+ echo "> Remember to rebuild the initrd after changing the"
+ echo "> configuration."
+ echo "------------------------------------------------------------"
+ echo "> Please read http://wiki.archlinux.org/index.php/Fbsplash"
+ echo "> for more details. "
+ echo "------------------------------------------------------------"
}
post_upgrade() {
diff --git a/abs/core/fbsplash/splash-functions-arch.sh b/abs/core/fbsplash/splash-functions-arch.sh
deleted file mode 100644
index 977ccef..0000000
--- a/abs/core/fbsplash/splash-functions-arch.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-# ArchLinux specific splash functions #
-# Author: Greg Helton <gt@fallendusk.org> #
-
-splash_init() {
- splash_setup
- splash_start
-}
-
-splash_exit() {
- splash_comm_send "exit"
- splash_cache_cleanup
-}
-
-splash_update_progress() {
- local PROGRESS
- PROGRESS=$(($1*65535/100))
- splash_comm_send "progress ${PROGRESS}"
- splash_comm_send "repaint"
-}
-
-var_save() {
-for i in $@ ;
- do
- local var
- eval var=\$SPLASH_${i}
- echo "SPLASH_$i=$(echo ${var})" > ${spl_cachedir}/${i}
- done
-}
-
-var_load() {
-for i in $@ ;
- do
- local var
- eval var=\$SPLASH_${i}
- if [[ -z "$(echo ${var})" && -f ${spl_cachedir}/${i} ]] ; then
- source ${spl_cachedir}/${i}
- fi
- done
-}
-
-save_boot_steps() {
- var_load STEP_NR
- echo $SPLASH_STEP_NR > /etc/conf.d/fbsplash.bootsteps
-}
-
-load_boot_steps() {
- BOOT_STEPS=$(cat /etc/conf.d/fbsplash.bootsteps)
- # Fail safe, so we don't divide by 0
- if [ $BOOT_STEPS = 0 ]; then
- BOOT_STEPS=1
- fi
- printf $BOOT_STEPS
-}
-
-save_shutdown_steps() {
- var_load SHUTDOWN_STEPS
- ((SPLASH_SHUTDOWN_STEPS++))
- echo $SPLASH_SHUTDOWN_STEPS > /etc/conf.d/fbsplash.shutdownsteps
- var_save SHUTDOWN_STEPS
-}
-
-load_shutdown_steps() {
- SHUTDOWN_STEPS=$(cat /etc/conf.d/fbsplash.shutdownsteps)
- # Fail safe, so we don't divide by 0
- if [ $SHUTDOWN_STEPS = 0 ]; then
- SHUTDOWN_STEPS=1
- fi
- printf $SHUTDOWN_STEPS
-}
-
-# EOF #
diff --git a/abs/core/fbsplash/splash-functions.sh b/abs/core/fbsplash/splash-functions.sh
deleted file mode 100644
index 1c17663..0000000
--- a/abs/core/fbsplash/splash-functions.sh
+++ /dev/null
@@ -1,618 +0,0 @@
-# Distributed under the terms of the GNU General Public License v2
-
-# Author: Michal Januszewski <spock@gentoo.org>
-# Maintainer: Michal Januszewski <spock@gentoo.org>
-
-# This file is a part of splashutils. The functions contained in this
-# file are meant to be used by hook scripts in splash themes or by
-# initscript systems. The code will be kept distro-agnostic to facilitate
-# portability. It should also contain POSIX compatible code. No bashisms
-# allowed!
-
-# ####################################################################
-# Change any settings ONLY if you are sure what you're doing.
-# Don't cry if it breaks afterwards.
-# ####################################################################
-
-# The splash scripts need a cache which can be guaranteed to be
-# both readable and writable at all times, even when the root fs
-# is mounted read-only. To that end, an in-RAM fs is used. Valid
-# values for spl_cachetype are 'tmpfs' and 'ramfs'. spl_cachesize
-# is a size limit in KB, and it should probably be left with the
-# default value.
-export spl_cachesize="4096"
-export spl_cachetype="tmpfs"
-export spl_cachedir="//lib/splash/cache"
-export spl_tmpdir="//lib/splash/tmp"
-export spl_fifo="${spl_cachedir}/.splash"
-export spl_pidfile="${spl_cachedir}/daemon.pid"
-export spl_util="//bin/splash_util.static"
-export spl_daemon="//sbin/fbsplashd.static"
-export spl_decor="//sbin/fbcondecor_ctl.static"
-export spl_bindir="//lib/splash/bin"
-
-# This is the main function which handles all events.
-# Accepted parameters:
-# svc_start <name>
-# svc_stop <name>
-# svc_started <name>
-# svc_stopped <name>
-# svc_start_failed <name>
-# svc_stop_failed <name>
-# svc_input_begin <name>
-# svc_input_end <name>
-# rc_init <internal_runlevel> - used to distinguish between 'boot' and 'sysinit'
-# rc_exit
-# critical
-splash() {
- local event="$1"
- shift
-
- # Reload the splash settings in rc_init. We could have set them wrong the
- # first time splash_setup was called (when splash-functions.sh was first
- # sourced) if /proc wasn't mounted.
- if [ "${event}" = "rc_init" ]; then
- splash_setup "force"
- else
- splash_setup
- fi
-
- [ "${SPLASH_MODE_REQ}" = "off" ] && return
-
- # Prepare the cache here -- rc_init-pre might want to use it
- if [ "${event}" = "rc_init" ]; then
- if [ "${RUNLEVEL}" = "S" -a "$1" = "sysinit" ]; then
- splash_cache_prep 'start' || return
- elif [ "${RUNLEVEL}" = "6" -o "${RUNLEVEL}" = "0" ]; then
- # Check if the splash cachedir is mounted readonly. If it is,
- # we need to mount a tmpfs over it.
- if ! touch "${spl_cachedir}/message" 2>/dev/null ; then
- splash_cache_prep 'stop' || return
- fi
- fi
- fi
-
- local args=""
-
- if [ "${event}" = "rc_init" -o "${event}" = "rc_exit" ]; then
- args="$* ${RUNLEVEL}"
- elif [ "${event}" = "svc_started" -o "${event}" = "svc_stopped" ]; then
- if [ -z "$2" ]; then
- # Backwards compatibility hack. Add a 0 to the arguments to simulate
- # an error code.
- args="$* 0"
- else
- args="$*"
-
- # Backwards compatibility: translate an error condition (non-zero
- # error code) into an appropriate event.
- if [ "$2" != "0" ]; then
- if [ "${event}" = "svc_started" ]; then
- event="svc_start_failed"
- else
- event="svc_stop_failed"
- fi
- fi
- fi
- else
- args="$*"
- fi
-
- splash_profile "pre ${event} ${args}"
-
- # Handle -pre event hooks
- if [ -x "/etc/splash/${SPLASH_THEME}/scripts/${event}-pre" ]; then
- /etc/splash/"${SPLASH_THEME}"/scripts/${event}-pre ${args}
- fi
-
- case "$event" in
- svc_start) splash_svc_start "$1";;
- svc_stop) splash_svc_stop "$1";;
- svc_started) splash_svc "$1" "start";;
- svc_stopped) splash_svc "$1" "stop";;
- svc_start_failed) splash_svc_fail "$1" "start";;
- svc_stop_failed) splash_svc_fail "$1" "stop";;
- svc_input_begin) splash_input_begin "$1";;
- svc_input_end) splash_input_end "$1";;
- rc_init) splash_init "$1" "${RUNLEVEL}";;
- rc_exit) splash_exit "${RUNLEVEL}";;
- critical) splash_verbose;;
- esac
-
- splash_profile "post ${event} ${args}"
-
- # Handle -post event hooks
- if [ -x "/etc/splash/${SPLASH_THEME}/scripts/${event}-post" ]; then
- /etc/splash/"${SPLASH_THEME}"/scripts/${event}-post ${args}
- fi
-
- return 0
-}
-
-splash_setup() {
- # If it's already set up, let's not waste time on parsing the config
- # files again
- if [ "${SPLASH_THEME}" != "" -a "${SPLASH_TTY}" != "" -a "$1" != "force" ]; then
- return 0
- fi
-
- export SPLASH_EFFECTS=""
- export SPLASH_SANITY=""
- export SPLASH_TEXTBOX="no"
- export SPLASH_MODE_REQ="off"
- export SPLASH_PROFILE="off"
- export SPLASH_THEME="default"
- export SPLASH_TTY="16"
- export SPLASH_KDMODE="TEXT"
- export SPLASH_AUTOVERBOSE="0"
- export SPLASH_BOOT_MESSAGE="Booting the system (\$progress%)... Press F2 for verbose mode."
- export SPLASH_SHUTDOWN_MESSAGE="Shutting down the system (\$progress%)... Press F2 for verbose mode."
- export SPLASH_REBOOT_MESSAGE="Rebooting the system (\$progress%)... Press F2 for verbose mode."
- export SPLASH_XSERVICE="xdm"
-
- [ -f /etc/splash/splash ] && . /etc/splash/splash
- [ -f /etc/conf.d/splash ] && . /etc/conf.d/splash
- [ -f /etc/conf.d/fbcondecor ] && . /etc/conf.d/fbcondecor
-
- if [ -f /proc/cmdline ]; then
- options=$(grep -o 'splash=[^ ]*' /proc/cmdline)
-
- # Execute this loop over $options so that we can process multiple
- # splash= arguments on the kernel command line. Useful for adjusting
- # splash parameters from ISOLINUX.
- for opt in ${options} ; do
- options=${opt#*=}
-
- for i in $(echo "${options}" | sed -e 's/,/ /g') ; do
- case ${i%:*} in
- theme) SPLASH_THEME=${i#*:} ;;
- tty) SPLASH_TTY=${i#*:} ;;
- verbose) SPLASH_MODE_REQ="verbose" ;;
- silent) SPLASH_MODE_REQ="silent" ;;
- kdgraphics) SPLASH_KDMODE="GRAPHICS" ;;
- profile) SPLASH_PROFILE="on" ;;
- insane) SPLASH_SANITY="insane" ;;
- esac
- done
- done
- fi
-}
-
-splash_get_boot_message() {
- if [ "${RUNLEVEL}" = "6" ]; then
- echo "${SPLASH_REBOOT_MESSAGE}"
- elif [ "${RUNLEVEL}" = "0" ]; then
- echo "${SPLASH_SHUTDOWN_MESSAGE}"
- else
- echo "${SPLASH_BOOT_MESSAGE}"
- fi
-}
-
-splash_start() {
- if [ "${SPLASH_MODE_REQ}" = "verbose" ]; then
- ${spl_decor} -c on 2>/dev/null
- return 0
- elif [ "${SPLASH_MODE_REQ}" != "silent" ]; then
- return 0
- fi
-
- # Display a warning if the system is not configured to display init messages
- # on tty1. This can cause a lot of problems if it's not handled correctly, so
- # we don't allow silent splash to run on incorrectly configured systems.
- if [ "${SPLASH_MODE_REQ}" = "silent" -a "${SPLASH_SANITY}" != "insane" ]; then
- if [ -z "$(grep -E '(^| )CONSOLE=/dev/tty1( |$)' /proc/cmdline)" -a \
- -z "$(grep -E '(^| )console=tty1( |$)' /proc/cmdline)" ]; then
- clear
- splash_warn "You don't appear to have a correct console= setting on your kernel"
- splash_warn "command line. Silent splash will not be enabled. Please add"
- splash_warn "console=tty1 or CONSOLE=/dev/tty1 to your kernel command line"
- splash_warn "to avoid this message."
- if [ -n "$(grep 'CONSOLE=/dev/tty1' /proc/cmdline)" -o \
- -n "$(grep 'console=tty1' /proc/cmdline)" ]; then
- splash_warn "Note that CONSOLE=/dev/tty1 and console=tty1 are general parameters and"
- splash_warn "not splash= settings."
- fi
- return 1
- fi
-
- if [ -n "$(grep -E '(^| )CONSOLE=/dev/tty1( |$)' /proc/cmdline)" ]; then
- mount -n --bind / ${spl_tmpdir}
- if [ ! -c "${spl_tmpdir}/dev/tty1" ]; then
- umount -n ${spl_tmpdir}
- splash_warn "The filesystem mounted on / doesn't contain the /dev/tty1 device"
- splash_warn "which is required for the silent splash to function properly."
- splash_warn "Silent splash will not be enabled. Please create the appropriate"
- splash_warn "device node to avoid this message."
- return 1
- fi
- umount -n ${spl_tmpdir}
- fi
- fi
-
- rm -f "${spl_pidfile}"
-
- # Prepare the communications FIFO
- rm -f "${spl_fifo}" 2>/dev/null
- mkfifo "${spl_fifo}"
-
- local options=""
- [ "${SPLASH_KDMODE}" = "GRAPHICS" ] && options="--kdgraphics"
- [ -n "${SPLASH_EFFECTS}" ] && options="${options} --effects=${SPLASH_EFFECTS}"
- [ "${SPLASH_TEXTBOX}" = "yes" ] && options="${options} --textbox"
-
- local ttype="bootup"
- if [ "${RUNLEVEL}" = "6" ]; then
- ttype="reboot"
- elif [ "${RUNLEVEL}" = "0" ]; then
- ttype="shutdown"
- fi
-
- # Start the splash daemon
- BOOT_MSG="$(splash_get_boot_message)" ${spl_daemon} --theme="${SPLASH_THEME}" --pidfile="${spl_pidfile}" --type=${ttype} ${options}
-
- # Set the silent TTY and boot message
- splash_comm_send "set tty silent ${SPLASH_TTY}"
-
- if [ "${SPLASH_MODE_REQ}" = "silent" ]; then
- splash_comm_send "set mode silent"
- splash_comm_send "repaint"
- ${spl_decor} -c on 2>/dev/null
- fi
-
- splash_comm_send "set autoverbose ${SPLASH_AUTOVERBOSE}"
-
- splash_set_event_dev
-
- return 0
-}
-
-###########################################################################
-# Cache-related functions
-###########################################################################
-
-splash_cache_prep() {
- # Mount an in-RAM filesystem at spl_cachedir
- mount -ns -t "${spl_cachetype}" cachedir "${spl_cachedir}" \
- -o rw,mode=0644,size="${spl_cachesize}"k
-
- retval="$?"
-
- if [ ${retval} -ne 0 ]; then
- splash_err "Unable to create splash cache - switching to verbose."
- splash_verbose
- return "${retval}"
- fi
-}
-
-# args: list of files to save when the cache is umounted
-# Note that the 'profile' file is already handled and thus shouldn't
-# be included in the list.
-splash_cache_cleanup() {
- # Don't try to clean anything up if the cachedir is not mounted.
- [ -z "$(grep ${spl_cachedir} /proc/mounts)" ] && return;
-
- # Create the temp dir if necessary.
- if [ ! -d "${spl_tmpdir}" ]; then
- mkdir -p "${spl_tmpdir}" 2>/dev/null
- [ "$?" != "0" ] && return
- fi
-
- # Make sure the splash daemon is dead.
- if [ -n "$(pgrep fbsplashd)" ]; then
- sleep 1
- killall -9 "${spl_daemon##*/}" 2>/dev/null
- fi
-
- # If /etc is not writable, don't update /etc/mtab. If it is
- # writable, update it to avoid stale mtab entries (bug #121827).
- local mntopt=""
- [ -w /etc/mtab ] || mntopt="-n"
- mount ${mntopt} --move "${spl_cachedir}" "${spl_tmpdir}" 2>/dev/null
-
- # Don't try to copy anything if the cachedir is not writable.
- [ -w "${spl_cachedir}" ] || return
-
- if [ "${SPLASH_PROFILE}" != "off" ]; then
- cp -a "${spl_tmpdir}/profile" "${spl_cachedir}" 2>/dev/null
- fi
-
- while [ -n "$1" ]; do
- cp -a "${spl_tmpdir}/$1" "${spl_cachedir}" 2>/dev/null
- shift
- done
-
- umount -l "${spl_tmpdir}" 2>/dev/null
-}
-
-###########################################################################
-# Common functions
-###########################################################################
-
-# Sends data to the splash FIFO after making sure there's someone
-# alive on the other end to receive it.
-splash_comm_send() {
- if [ -z "`pidof $(basename ${spl_daemon})`" ]; then
- return 1
- else
- splash_profile "comm $*"
- echo "$*" > "${spl_fifo}" &
- fi
-}
-
-# Returns the current splash mode.
-splash_get_mode() {
- local ctty="${spl_bindir}/fgconsole"
- local mode="$(${spl_util})"
-
- if [ "${mode}" = "silent" ]; then
- echo "silent"
- else
- if [ -z "$(${spl_decor} -c getstate --tty=${ctty} 2>/dev/null | grep off)" ]; then
- echo "verbose"
- else
- echo "off"
- fi
- fi
-}
-
-# chvt <n>
-# --------
-# Switches to the n-th tty.
-chvt() {
- local ntty=$1
-
-# if [ -x /usr/bin/chvt ] ; then
-# /usr/bin/chvt ${ntty}
-# else
- printf "\e[12;${ntty}]"
-# fi
-}
-
-# Switches to verbose mode.
-splash_verbose() {
-# chvt 1
-/bin/true
-}
-
-# Switches to silent mode.
-splash_silent() {
- splash_comm_send "set mode silent"
-}
-
-# Saves profiling information
-splash_profile() {
- if [ "${SPLASH_PROFILE}" = "on" ]; then
- echo "$(cat /proc/uptime | cut -f1 -d' '): $*" >> "${spl_cachedir}/profile"
- fi
-}
-
-# Set the input device if it exists. This will make it possible to use F2 to
-# switch from verbose to silent.
-splash_set_event_dev() {
- local t="$(grep -Hsi keyboard /sys/class/input/input*/name | sed -e 's#.*input\([0-9]*\)/name.*#event\1#')"
- if [ -z "${t}" ]; then
- t="$(grep -Hsi keyboard /sys/class/input/event*/device/driver/description | grep -o 'event[0-9]\+')"
- if [ -z "${t}" ]; then
- for i in /sys/class/input/input* ; do
- if [ "$((0x$(cat $i/capabilities/ev) & 0x100002))" = "1048578" ]; then
- t="$(echo $i | sed -e 's#.*input\([0-9]*\)#event\1#')"
- fi
- done
-
- if [ -z "${t}" ]; then
- # Try an alternative method of finding the event device. The idea comes
- # from Bombadil <bombadil(at)h3c.de>. We're couting on the keyboard controller
- # being the first device handled by kbd listed in input/devices.
- t="$(/bin/grep -s -m 1 '^H: Handlers=kbd' /proc/bus/input/devices | grep -o 'event[0-9]*')"
- fi
- fi
- fi
- [ -n "${t}" ] && splash_comm_send "set event dev /dev/input/${t}"
-}
-
-###########################################################################
-# Service
-###########################################################################
-
-# args: <svc> <action>
-splash_svc() {
- local srv="$1"
- local act="$2"
-
- if [ "${act}" = "start" ]; then
- splash_svc_update "${srv}" "svc_started"
- if [ "${srv}" = "gpm" ]; then
- splash_comm_send "set gpm"
- splash_comm_send "repaint"
- fi
- splash_comm_send "log Service '${srv}' started."
- else
- splash_svc_update "${srv}" "svc_stopped"
- splash_comm_send "log Service '${srv}' stopped."
- fi
-
- splash_update_progress "${srv}"
-}
-
-# args: <svc> <action>
-splash_svc_fail() {
- local srv="$1"
- local act="$2"
-
- if [ "${SPLASH_VERBOSE_ON_ERRORS}" = "yes" ]; then
- splash_verbose
- return 1
- fi
-
- if [ "${act}" = "start" ]; then
- splash_svc_update "${srv}" "svc_start_failed"
- splash_comm_send "log Service '${srv}' failed to start."
- else
- splash_svc_update "${srv}" "svc_stop_failed"
- splash_comm_send "log Service '${srv}' failed to stop."
- fi
-
- splash_update_progress "${srv}"
-}
-
-# args: <svc> <state>
-#
-# Inform the splash daemon about service status changes.
-splash_svc_update() {
- splash_comm_send "update_svc $1 $2"
-}
-
-# args: <svc>
-splash_svc_start() {
- local svc="$1"
-
- splash_svc_update "${svc}" "svc_start"
- splash_comm_send "paint"
-}
-
-# args: <svc>
-splash_svc_stop() {
- local svc="$1"
-
- splash_svc_update "${svc}" "svc_stop"
- splash_comm_send "paint"
-}
-
-# args: <svc>
-splash_input_begin() {
- local svc="$1"
-
- if [ "$(splash_get_mode)" = "silent" ]; then
- splash_verbose
- export SPL_SVC_INPUT_SILENT="${svc}"
- fi
-}
-
-# args: <svc>
-splash_input_end() {
- local svc="$1"
-
- if [ "${SPL_SVC_INPUT_SILENT}" = "${svc}" ]; then
- splash_silent
- unset SPL_SVC_INPUT_SILENT
- fi
-}
-
-###########################################################################
-# Framebuffer Console Decorations functions
-###########################################################################
-
-fbcondecor_supported()
-{
- [ -e /dev/fbsplash -o -e /dev/fbcondecor ]
-}
-
-# args: <theme> <tty>
-fbcondecor_set_theme()
-{
- local theme=$1
- local tty=$2
-
- [ -x ${spl_decor} ] || return 1
-
- ${spl_decor} --tty="${tty}" -t "${theme}" -c setcfg || return 1
- ${spl_decor} --tty="${tty}" -t "${theme}" -c setpic -q
- ${spl_decor} --tty="${tty}" -c on
-}
-
-###########################################################################
-# Service list
-###########################################################################
-
-# splash_svclist_get <type>
-# -------------------------
-# type:
-# - start - to get a list of services to be started during bootup
-# - stop - to get a list of services to be stopped during shutdown/reboot
-splash_svclist_get() {
- if [ "$1" = "start" -a -r "${spl_cachedir}/svcs_start" ]; then
- cat "${spl_cachedir}/svcs_start"
- elif [ "$1" = "stop" -a -r "${spl_cachedir}/svcs_stop" ]; then
- cat "${spl_cachedir}/svcs_stop"
- fi
-}
-
-splash_warn() {
- echo "$*"
-}
-
-splash_err() {
- echo "$*"
-}
-
-############################################################################
-# Functions to be overridden by distro-specific code
-###########################################################################
-
-# args: <internal_runlevel> <runlevel>
-#
-# This function is called when an 'rc_init' event takes place,
-# i.e. when the runlevel is changed.
-
-# It is normally used to initialize any internal splash-related
-# variables (e.g. ones used to track the boot progress), calculate
-# and save the service list and call `splash_start` in appropriate
-# runlevels.
-#
-# Note that the splash cache is already intialized when this
-# function is called.
-splash_init() {
- if [ "$2" = "6" -o "$2" = "0" -o "$2" = "S" -a "$1" = "sysinit" ]; then
- splash_start
- fi
-}
-
-# args: <runlevel>
-#
-# This function is called when an 'rc_exit' event takes place,
-# i.e. at the end of processes all initscript from a runlevel.
-splash_exit() {
- # If we're in sysinit or rebooting, do nothing.
- [ "$1" = "S" -o "$1" = "6" -o "$1" = "0" ] && return 0
-
- splash_comm_send "exit"
- splash_cache_cleanup
-}
-
-# args: <svc>
-#
-# This function is called whenever the progress variable should be
-# updated. It should recalculate the progress and send it to the
-# splash daemon.
-splash_update_progress() {
- # splash_comm_send "progress ${progress}"
- # splash_comm_send "paint"
- return
-}
-
-# Export functions if we're running bash.
-if [ -n "${BASH}" ]; then
- export -f splash
- export -f splash_setup
- export -f splash_get_boot_message
- export -f splash_start
- export -f splash_cache_prep
- export -f splash_cache_cleanup
- export -f splash_comm_send
- export -f splash_get_mode
- export -f chvt
- export -f splash_verbose
- export -f splash_silent
- export -f splash_profile
- export -f splash_set_event_dev
- export -f splash_svclist_get
-fi
-
-# Load any supplementary splash functions.
-for i in /sbin/splash-functions-*.sh ; do
- [ -r "${i}" ] && . "${i}"
-done
-
-splash_setup
-
-# vim:ts=4
diff --git a/abs/core/fbsplash/splash.conf b/abs/core/fbsplash/splash.conf
new file mode 100644
index 0000000..74cada9
--- /dev/null
+++ b/abs/core/fbsplash/splash.conf
@@ -0,0 +1,63 @@
+#
+# /etc/conf.d/splash
+#
+
+#### initcpio and Fbsplash daemon ##########################################
+
+## Themes to include into initcpio
+## For a smaller initcpio you may try theme cfg files instead of directories.
+SPLASH_THEMES=(
+ linhes
+)
+
+## Override the initial silent splash screen status message defaults.
+## Note: '$progress' will be replaced by Fbsplash itself.
+## * initcpio - (no effect with fbcondecor kernel)
+SPLASH_INIT_MESSAGE="Initializing the kernel"
+## * bootup
+SPLASH_BOOT_MESSAGE="Booting '$HOSTNAME' (\$progress%)"
+## * reboot
+SPLASH_REBOOT_MESSAGE="Rebooting '$HOSTNAME' (\$progress%)"
+## * shutdown
+SPLASH_SHUTDOWN_MESSAGE="Shutting down '$HOSTNAME' (\$progress%)"
+
+## To show animations early, include the Fbsplash daemon (1.5 MiB) into initcpio, too,
+## instead of the small helper only.
+## Note: Themes with 'scripts/rc_init-pre' like 'arch-banner-icons' are not supported.
+SPLASH_DAEMON="early"
+
+## Make the splash daemon use fade effects.
+## Note: The initcpio helper does only use the kernel parameter!
+# SPLASH_EFFECTS="fadein,fadeout"
+## Uggly hack to get that in from the kernel line :p
+SPLASH_EFFECTS=$(e=();IFS=',';for w in $splash;do [[ $w == fade* ]]&&e+=($w);done;echo "${e[*]}")
+
+## Enable the textbox when starting the Fbsplash daemon.
+## Useful if the theme provides a message log or other textbox.
+## The scripts write any initscripts [FAIL] messages to the log.
+## Note: The textbox can also be toggled by pressing F3-key.
+SPLASH_TEXTBOX="yes"
+
+## Splash progress timeout
+## If set to a positive value, Fbsplash will automatically switch to verbose
+## mode if there is no progress for the specified number of seconds.
+SPLASH_AUTOVERBOSE=0
+
+#### scripts behaviour #####################################################
+
+## Change to verbose mode on any initscripts [FAIL] message
+## Useful with very simple themes and also when starting Xorg from DAEMONS
+SPLASH_VERBOSE_ON_ERRORS="no"
+
+## Name of the DAEMONS script starting Xorg if any
+## Set this to avoid virtual terminal change struggle between Xorg and Fbsplash.
+SPLASH_XSERVICE="gdm"
+#SPLASH_XSERVICE="kdm"
+#SPLASH_XSERVICE="xdm"
+#SPLASH_XSERVICE="lxdm"
+#SPLASH_XSERVICE="slim"
+
+## Push initscripts [BUSY] messages to the splash status message line.
+SPLASH_PUSH_MESSAGES="no"
+
+# EOF #
diff --git a/abs/core/filesystem/PKGBUILD b/abs/core/filesystem/PKGBUILD
index aca2a86..0345d29 100644
--- a/abs/core/filesystem/PKGBUILD
+++ b/abs/core/filesystem/PKGBUILD
@@ -1,45 +1,64 @@
-# $Id: PKGBUILD 23639 2009-01-11 14:36:30Z thomas $
+# $Id: PKGBUILD 90913 2010-09-18 23:00:51Z pierre $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=filesystem
-pkgver=2009.01
-pkgrel=4
+pkgver=2010.09
+pkgrel=2
pkgdesc="Base filesystem"
-arch=(i686 x86_64)
+arch=('any')
license=('GPL')
url="http://www.archlinux.org"
groups=('base')
install=filesystem.install
+# These dependencies are not needed for initial installation.
+# They are only required on upgrade to create missing groups.
#depends=('sh' 'coreutils')
+depends=('iana-etc')
backup=(etc/fstab etc/crypttab etc/group etc/hosts etc/ld.so.conf etc/passwd
etc/shadow etc/gshadow etc/resolv.conf etc/motd etc/nsswitch.conf
etc/shells etc/host.conf etc/securetty etc/profile etc/issue)
source=(group issue nsswitch.conf securetty host.conf ld.so.conf
passwd shadow fstab crypttab hosts motd resolv.conf shells
- gshadow services protocols profile modprobe.d.usb-load-ehci-first)
+ gshadow profile modprobe.d.usb-load-ehci-first)
+md5sums=('75c7e1770305e1f3b75c52785c137611'
+ '1bdc5dba66947d74866a5df8ce9ef3b1'
+ '13753e4e0964f3652b0cc60a28528bdf'
+ '933dee67c58d452334d342c294342910'
+ 'f28150d4c0b22a017be51b9f7f9977ed'
+ '6e488ffecc8ba142c0cf7e2d7aeb832e'
+ '8a9042a2cedf6b6b47eb8973f14289cb'
+ 'b8355d9d2782f424f4cedcf682651be0'
+ '57c5cc9da249c3b06a70fd7efb8c34a5'
+ 'e5d8323a4dbee7a6d0d2a19cbf4b819f'
+ '81b3cb42a6ddabc2ed2310511ee9c859'
+ 'd41d8cd98f00b204e9800998ecf8427e'
+ '6f48288b6fcaf0065fcb7b0e525413e0'
+ '40dac0de4c6b99c8ca97effbd7527c84'
+ '5340b9287b71ffe9d4d99510bffe933f'
+ 'f7ba22b78c5d2b53f86227aa2447e7ea'
+ '8098ffd9fbf890468d3198277596b85a')
build()
{
- cd $startdir/pkg
+ cd ${pkgdir}
mkdir -p bin boot dev etc home lib mnt proc root sbin tmp usr var opt srv sys
chmod 555 proc
mkdir -p media/{fl,cd,dvd}
- mkdir -p usr/{bin,include,lib,sbin,share/misc,src,man}
+ mkdir -p usr/{bin,include,lib,sbin,share/misc,src}
mkdir -p usr/share/man/man{1,2,3,4,5,6,7,8}
- ln -s man3 $startdir/pkg/usr/share/man/man3x
# fhs compliance
mkdir -p usr/local/{bin,games,include,lib,man,sbin,share,src}
- ln -s ../man $startdir/pkg/usr/local/share/man
+ ln -s ../man ${pkgdir}/usr/local/share/man
mkdir -p var/{cache/man,local,lock,opt,run,spool/mail,tmp,games}
chmod 1777 var/lock
mkdir -p var/log/old
- mkdir -p etc/{skel,profile.d}
+ mkdir -p etc/{ld.so.conf.d,skel,profile.d}
mkdir -p lib/modules
- (cd $startdir/pkg/usr; ln -s ../var var)
- (cd $startdir/pkg/var; ln -s spool/mail mail)
+ mkdir -p var/lib/misc
+ (cd ${pkgdir}/var; ln -s spool/mail mail)
# vsftpd won't run with write perms on /srv/ftp
mkdir -p srv/ftp
@@ -52,44 +71,44 @@ build()
chmod 0750 root
#Allow setgid games to write scores:
- chmod 775 ${startdir}/pkg/var/games
- chown root:50 ${startdir}/pkg/var/games
+ chmod 775 ${pkgdir}/var/games
+ chown root:50 ${pkgdir}/var/games
- cd $startdir/src
+ cd ${srcdir}
cp fstab crypttab group host.conf hosts ld.so.conf motd nsswitch.conf \
- passwd protocols resolv.conf securetty services shadow shells profile \
- $startdir/pkg/etc/
- install -m 600 $startdir/src/gshadow $startdir/pkg/etc/gshadow
- chmod 600 $startdir/pkg/etc/shadow
- chmod 600 $startdir/pkg/etc/crypttab
-
- # no version any more
- #cat issue | sed "s/#VERSION#/$pkgver/" >$startdir/pkg/etc/issue
+ passwd resolv.conf securetty shadow shells profile \
+ ${pkgdir}/etc/
+ install -m 600 ${srcdir}/gshadow ${pkgdir}/etc/gshadow
+ chmod 600 ${pkgdir}/etc/shadow
+ chmod 600 ${pkgdir}/etc/crypttab
# re-add /etc/arch-release, some software uses it
# to check whether arch is running
- touch $startdir/pkg/etc/arch-release
+ touch ${pkgdir}/etc/arch-release
# Add /etc/modprobe.d/
- install -D -m644 ${srcdir}/modprobe.d.usb-load-ehci-first ${pkgdir}/etc/modprobe.d/usb-load-ehci-first
+ install -D -m644 ${srcdir}/modprobe.d.usb-load-ehci-first \
+ ${pkgdir}/etc/modprobe.d/usb-load-ehci-first.conf
+
+ # Prevent pacman from removing directory (FS#16886)
+ mkdir ${pkgdir}/var/empty
+ touch ${pkgdir}/var/empty/.keep
}
-md5sums=('f4cf8d0a2de2658165148d5f64d81675'
+md5sums=('75c7e1770305e1f3b75c52785c137611'
'1bdc5dba66947d74866a5df8ce9ef3b1'
- '042ab2ae8ee489908ae87e0598070a11'
- '655071da46d2ac03e0fb8a071bf193ea'
+ '13753e4e0964f3652b0cc60a28528bdf'
+ 'f97799ef3d8990f2eda9166122d8d5aa'
'f28150d4c0b22a017be51b9f7f9977ed'
- '2c24792d97ef3cf0d73b60d4c429730b'
+ '6e488ffecc8ba142c0cf7e2d7aeb832e'
'8a9042a2cedf6b6b47eb8973f14289cb'
- '019e5c24f9befef395a28e7ef2e4e5b9'
- 'c4f23a66a1bcc08fd164639bdafbc60a'
+ 'b8355d9d2782f424f4cedcf682651be0'
+ '57c5cc9da249c3b06a70fd7efb8c34a5'
'e5d8323a4dbee7a6d0d2a19cbf4b819f'
'81b3cb42a6ddabc2ed2310511ee9c859'
'd41d8cd98f00b204e9800998ecf8427e'
'6f48288b6fcaf0065fcb7b0e525413e0'
'40dac0de4c6b99c8ca97effbd7527c84'
- 'ab9c2a40eba287b2918589ab8e0b2fbf'
- 'f436d2e0ed02b7b73bd10c6693e95ac3'
- '65d78e621ed69eed69f854c3ee2e5942'
- '288a2e8d63c5ea2c2d852c7147e59d28'
+ '5340b9287b71ffe9d4d99510bffe933f'
+ 'f7ba22b78c5d2b53f86227aa2447e7ea'
'8098ffd9fbf890468d3198277596b85a')
diff --git a/abs/core/filesystem/__CHANGELOG b/abs/core/filesystem/__CHANGELOG
new file mode 100644
index 0000000..87707ff
--- /dev/null
+++ b/abs/core/filesystem/__CHANGELOG
@@ -0,0 +1,2 @@
+removed /etc/issue
+added tty10 to securetty
diff --git a/abs/core/filesystem/__changelog b/abs/core/filesystem/__changelog
deleted file mode 100644
index 6b2fd86..0000000
--- a/abs/core/filesystem/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-remove /etc/issue
-
diff --git a/abs/core/filesystem/filesystem.install b/abs/core/filesystem/filesystem.install
index 5be51ed..e0ce1e2 100644
--- a/abs/core/filesystem/filesystem.install
+++ b/abs/core/filesystem/filesystem.install
@@ -57,12 +57,18 @@ post_upgrade() {
echo "adding new group: scanner"
usr/sbin/groupadd -g 96 scanner >/dev/null
fi
- cp /etc/fstab /etc/fstab.orig
- if grep -q /dev/sro /etc/fstab
- then
- exit
- else
- grep -v /dev/dvd /etc/fstab > /tmp/fstab
- cat /tmp/fstab | sed -e 's|/dev/cdrom|/dev/sr0|g' > /etc/fstab
+ if [ ! "`grep ^rfkill: etc/group`" ]; then
+ echo "adding new group: rfkill"
+ usr/sbin/groupadd -g 24 rfkill >/dev/null
fi
+
+ grep -q '^include /etc/ld.so.conf.d/\*.conf$' etc/ld.so.conf \
+ || echo 'include /etc/ld.so.conf.d/*.conf' >> etc/ld.so.conf
+
+ # set "Last password change" > 0; otherwise su $user wont work
+ for user in bin daemon mail ftp http nobody; do
+ if LANG=C chage -l ${user} | grep -q 'password must be changed'; then
+ chage -d 14871 ${user}
+ fi
+ done
}
diff --git a/abs/core/filesystem/fstab b/abs/core/filesystem/fstab
index c3a01cb..ee16ccc 100644
--- a/abs/core/filesystem/fstab
+++ b/abs/core/filesystem/fstab
@@ -2,9 +2,10 @@
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
-none /dev/pts devpts defaults 0 0
-none /dev/shm tmpfs defaults 0 0
+devpts /dev/pts devpts defaults 0 0
+shm /dev/shm tmpfs nodev,nosuid 0 0
-/dev/sr0 /media/cd auto ro,user,noauto,unhide 0 0
+/dev/cdrom /media/cd auto ro,user,noauto,unhide 0 0
+/dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0
/dev/fd0 /media/fl auto user,noauto 0 0
diff --git a/abs/core/filesystem/group b/abs/core/filesystem/group
index a34b83f..4bd635c 100644
--- a/abs/core/filesystem/group
+++ b/abs/core/filesystem/group
@@ -1,29 +1,30 @@
-root::0:root
-bin::1:root,bin,daemon
-daemon::2:root,bin,daemon
-sys::3:root,bin
-adm::4:root,daemon
-tty::5:
-disk::6:root
-lp::7:daemon
-mem::8:
-kmem::9:
-wheel::10:root
-ftp::11:
-mail::12:
-uucp::14:
-log::19:root
-locate::21:
-smmsp::25:
-http::33:
-games::50:
+root:x:0:root
+bin:x:1:root,bin,daemon
+daemon:x:2:root,bin,daemon
+sys:x:3:root,bin
+adm:x:4:root,daemon
+tty:x:5:
+disk:x:6:root
+lp:x:7:daemon
+mem:x:8:
+kmem:x:9:
+wheel:x:10:root
+ftp:x:11:
+mail:x:12:
+uucp:x:14:
+log:x:19:root
+locate:x:21:
+rfkill:x:24:
+smmsp:x:25:
+http:x:33:
+games:x:50:
network:x:90:
video:x:91:
-audio::92:
-optical::93:
+audio:x:92:
+optical:x:93:
floppy:x:94:
storage:x:95:
scanner:x:96:
power:x:98:
-nobody::99:
-users::100:
+nobody:x:99:
+users:x:100:
diff --git a/abs/core/filesystem/gshadow b/abs/core/filesystem/gshadow
index 30733e3..a6d78a3 100644
--- a/abs/core/filesystem/gshadow
+++ b/abs/core/filesystem/gshadow
@@ -11,7 +11,9 @@ kmem:::
wheel:::root
ftp:::
mail:::
+uucp:::
log:::root
+locate:::
smmsp:::
http:::
games:::
diff --git a/abs/core/filesystem/ld.so.conf b/abs/core/filesystem/ld.so.conf
index 2227e1e..dfac456 100644
--- a/abs/core/filesystem/ld.so.conf
+++ b/abs/core/filesystem/ld.so.conf
@@ -2,4 +2,6 @@
# /etc/ld.so.conf
#
+include /etc/ld.so.conf.d/*.conf
+
# End of file
diff --git a/abs/core/filesystem/nsswitch.conf b/abs/core/filesystem/nsswitch.conf
index ec84725..6e459ad 100644
--- a/abs/core/filesystem/nsswitch.conf
+++ b/abs/core/filesystem/nsswitch.conf
@@ -9,12 +9,11 @@ publickey: files
hosts: files dns
networks: files
-protocols: db files
-services: db files
-ethers: db files
-rpc: db files
+protocols: files
+services: files
+ethers: files
+rpc: files
-netgroup: db files
-automount:files
+netgroup: files
# End /etc/nsswitch.conf
diff --git a/abs/core/filesystem/profile b/abs/core/filesystem/profile
index 5eabf8e..cf461f7 100644
--- a/abs/core/filesystem/profile
+++ b/abs/core/filesystem/profile
@@ -42,9 +42,8 @@ HISTCONTROL="erasedups"
INPUTRC="/etc/inputrc"
LESS="-R"
-LC_COLLATE="C"
-export HISTSIZE HISTCONTROL INPUTRC LESS LC_COLLATE
+export HISTSIZE HISTCONTROL INPUTRC LESS
# Load profiles from /etc/profile.d
if test -d /etc/profile.d/; then
diff --git a/abs/core/filesystem/protocols b/abs/core/filesystem/protocols
deleted file mode 100644
index 670728e..0000000
--- a/abs/core/filesystem/protocols
+++ /dev/null
@@ -1,57 +0,0 @@
-# Internet (IP) protocols
-#
-# Updated from http://www.iana.org/assignments/protocol-numbers and other
-# sources.
-# New protocols will be added on request if they have been officially
-# assigned by IANA and are not historical.
-# If you need a huge list of used numbers please install the nmap package.
-
-ip 0 IP # internet protocol, pseudo protocol number
-#hopopt 0 HOPOPT # IPv6 Hop-by-Hop Option [RFC1883]
-icmp 1 ICMP # internet control message protocol
-igmp 2 IGMP # Internet Group Management
-ggp 3 GGP # gateway-gateway protocol
-ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'')
-st 5 ST # ST datagram mode
-tcp 6 TCP # transmission control protocol
-egp 8 EGP # exterior gateway protocol
-igp 9 IGP # any private interior gateway (Cisco)
-pup 12 PUP # PARC universal packet protocol
-udp 17 UDP # user datagram protocol
-hmp 20 HMP # host monitoring protocol
-xns-idp 22 XNS-IDP # Xerox NS IDP
-rdp 27 RDP # "reliable datagram" protocol
-iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 [RFC905]
-xtp 36 XTP # Xpress Transfer Protocol
-ddp 37 DDP # Datagram Delivery Protocol
-idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport
-ipv6 41 IPv6 # Internet Protocol, version 6
-ipv6-route 43 IPv6-Route # Routing Header for IPv6
-ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6
-idrp 45 IDRP # Inter-Domain Routing Protocol
-rsvp 46 RSVP # Reservation Protocol
-gre 47 GRE # General Routing Encapsulation
-esp 50 IPSEC-ESP # Encap Security Payload [RFC2406]
-ah 51 IPSEC-AH # Authentication Header [RFC2402]
-skip 57 SKIP # SKIP
-ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6
-ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6
-ipv6-opts 60 IPv6-Opts # Destination Options for IPv6
-rspf 73 RSPF CPHB # Radio Shortest Path First (officially CPHB)
-vmtp 81 VMTP # Versatile Message Transport
-eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco)
-ospf 89 OSPFIGP # Open Shortest Path First IGP
-ax.25 93 AX.25 # AX.25 frames
-ipip 94 IPIP # IP-within-IP Encapsulation Protocol
-etherip 97 ETHERIP # Ethernet-within-IP Encapsulation [RFC3378]
-encap 98 ENCAP # Yet Another IP encapsulation [RFC1241]
-# 99 # any private encryption scheme
-pim 103 PIM # Protocol Independent Multicast
-ipcomp 108 IPCOMP # IP Payload Compression Protocol
-vrrp 112 VRRP # Virtual Router Redundancy Protocol
-l2tp 115 L2TP # Layer Two Tunneling Protocol [RFC2661]
-isis 124 ISIS # IS-IS over IPv4
-sctp 132 SCTP # Stream Control Transmission Protocol
-fc 133 FC # Fibre Channel
-udplite 136 UDPLite # UDP-Lite
-
diff --git a/abs/core/filesystem/securetty b/abs/core/filesystem/securetty
index af01d2e..7fcd451 100644
--- a/abs/core/filesystem/securetty
+++ b/abs/core/filesystem/securetty
@@ -3,11 +3,12 @@
#
console
-vc/1
-vc/2
-vc/3
-vc/4
-vc/5
-vc/6
-
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+hvc0
+tty10
# End of file
diff --git a/abs/core/filesystem/services b/abs/core/filesystem/services
deleted file mode 100644
index 2f1f99c..0000000
--- a/abs/core/filesystem/services
+++ /dev/null
@@ -1,557 +0,0 @@
-# Network services, Internet style
-#
-# Note that it is presently the policy of IANA to assign a single well-known
-# port number for both TCP and UDP; hence, officially ports have two entries
-# even if the protocol doesn't support UDP operations.
-#
-# Updated from http://www.iana.org/assignments/port-numbers and other
-# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services .
-# New ports will be added on request if they have been officially assigned
-# by IANA and used in the real-world or are needed by a debian package.
-# If you need a huge list of used numbers please install the nmap package.
-
-tcpmux 1/tcp # TCP port service multiplexer
-echo 7/tcp
-echo 7/udp
-discard 9/tcp sink null
-discard 9/udp sink null
-systat 11/tcp users
-daytime 13/tcp
-daytime 13/udp
-netstat 15/tcp
-qotd 17/tcp quote
-msp 18/tcp # message send protocol
-msp 18/udp
-chargen 19/tcp ttytst source
-chargen 19/udp ttytst source
-ftp-data 20/tcp
-ftp 21/tcp
-fsp 21/udp fspd
-ssh 22/tcp # SSH Remote Login Protocol
-ssh 22/udp
-telnet 23/tcp
-smtp 25/tcp mail
-time 37/tcp timserver
-time 37/udp timserver
-rlp 39/udp resource # resource location
-nameserver 42/tcp name # IEN 116
-whois 43/tcp nicname
-tacacs 49/tcp # Login Host Protocol (TACACS)
-tacacs 49/udp
-re-mail-ck 50/tcp # Remote Mail Checking Protocol
-re-mail-ck 50/udp
-domain 53/tcp # name-domain server
-domain 53/udp
-mtp 57/tcp # deprecated
-tacacs-ds 65/tcp # TACACS-Database Service
-tacacs-ds 65/udp
-bootps 67/tcp # BOOTP server
-bootps 67/udp
-bootpc 68/tcp # BOOTP client
-bootpc 68/udp
-tftp 69/udp
-gopher 70/tcp # Internet Gopher
-gopher 70/udp
-rje 77/tcp netrjs
-finger 79/tcp
-www 80/tcp http # WorldWideWeb HTTP
-www 80/udp # HyperText Transfer Protocol
-link 87/tcp ttylink
-kerberos 88/tcp kerberos5 krb5 kerberos-sec # Kerberos v5
-kerberos 88/udp kerberos5 krb5 kerberos-sec # Kerberos v5
-supdup 95/tcp
-hostnames 101/tcp hostname # usually from sri-nic
-iso-tsap 102/tcp tsap # part of ISODE
-acr-nema 104/tcp dicom # Digital Imag. & Comm. 300
-acr-nema 104/udp dicom # Digital Imag. & Comm. 300
-csnet-ns 105/tcp cso-ns # also used by CSO name server
-csnet-ns 105/udp cso-ns
-rtelnet 107/tcp # Remote Telnet
-rtelnet 107/udp
-pop2 109/tcp postoffice pop-2 # POP version 2
-pop2 109/udp pop-2
-pop3 110/tcp pop-3 # POP version 3
-pop3 110/udp pop-3
-sunrpc 111/tcp portmapper # RPC 4.0 portmapper
-sunrpc 111/udp portmapper
-auth 113/tcp authentication tap ident
-sftp 115/tcp
-uucp-path 117/tcp
-nntp 119/tcp readnews untp # USENET News Transfer Protocol
-ntp 123/tcp
-ntp 123/udp # Network Time Protocol
-pwdgen 129/tcp # PWDGEN service
-pwdgen 129/udp # PWDGEN service
-loc-srv 135/tcp epmap # Location Service
-loc-srv 135/udp epmap
-netbios-ns 137/tcp # NETBIOS Name Service
-netbios-ns 137/udp
-netbios-dgm 138/tcp # NETBIOS Datagram Service
-netbios-dgm 138/udp
-netbios-ssn 139/tcp # NETBIOS session service
-netbios-ssn 139/udp
-imap2 143/tcp imap # Interim Mail Access P 2 and 4
-imap2 143/udp imap
-snmp 161/tcp # Simple Net Mgmt Protocol
-snmp 161/udp # Simple Net Mgmt Protocol
-snmp-trap 162/tcp snmptrap # Traps for SNMP
-snmp-trap 162/udp snmptrap # Traps for SNMP
-cmip-man 163/tcp # ISO mgmt over IP (CMOT)
-cmip-man 163/udp
-cmip-agent 164/tcp
-cmip-agent 164/udp
-mailq 174/tcp # Mailer transport queue for Zmailer
-mailq 174/udp # Mailer transport queue for Zmailer
-xdmcp 177/tcp # X Display Mgr. Control Proto
-xdmcp 177/udp
-nextstep 178/tcp NeXTStep NextStep # NeXTStep window
-nextstep 178/udp NeXTStep NextStep # server
-bgp 179/tcp # Border Gateway Protocol
-bgp 179/udp
-prospero 191/tcp # Cliff Neuman's Prospero
-prospero 191/udp
-irc 194/tcp # Internet Relay Chat
-irc 194/udp
-smux 199/tcp # SNMP Unix Multiplexer
-smux 199/udp
-at-rtmp 201/tcp # AppleTalk routing
-at-rtmp 201/udp
-at-nbp 202/tcp # AppleTalk name binding
-at-nbp 202/udp
-at-echo 204/tcp # AppleTalk echo
-at-echo 204/udp
-at-zis 206/tcp # AppleTalk zone information
-at-zis 206/udp
-qmtp 209/tcp # Quick Mail Transfer Protocol
-qmtp 209/udp # Quick Mail Transfer Protocol
-z3950 210/tcp wais # NISO Z39.50 database
-z3950 210/udp wais
-ipx 213/tcp # IPX
-ipx 213/udp
-imap3 220/tcp # Interactive Mail Access
-imap3 220/udp # Protocol v3
-pawserv 345/tcp # Perf Analysis Workbench
-pawserv 345/udp
-zserv 346/tcp # Zebra server
-zserv 346/udp
-fatserv 347/tcp # Fatmen Server
-fatserv 347/udp
-rpc2portmap 369/tcp
-rpc2portmap 369/udp # Coda portmapper
-codaauth2 370/tcp
-codaauth2 370/udp # Coda authentication server
-clearcase 371/tcp Clearcase
-clearcase 371/udp Clearcase
-ulistserv 372/tcp # UNIX Listserv
-ulistserv 372/udp
-ldap 389/tcp # Lightweight Directory Access Protocol
-ldap 389/udp
-imsp 406/tcp # Interactive Mail Support Protocol
-imsp 406/udp
-https 443/tcp # http protocol over TLS/SSL
-https 443/udp
-snpp 444/tcp # Simple Network Paging Protocol
-snpp 444/udp
-microsoft-ds 445/tcp # Microsoft Naked CIFS
-microsoft-ds 445/udp
-kpasswd 464/tcp
-kpasswd 464/udp
-saft 487/tcp # Simple Asynchronous File Transfer
-saft 487/udp
-isakmp 500/tcp # IPsec - Internet Security Association
-isakmp 500/udp # and Key Management Protocol
-rtsp 554/tcp # Real Time Stream Control Protocol
-rtsp 554/udp # Real Time Stream Control Protocol
-nqs 607/tcp # Network Queuing system
-nqs 607/udp
-npmp-local 610/tcp dqs313_qmaster # npmp-local / DQS
-npmp-local 610/udp dqs313_qmaster
-npmp-gui 611/tcp dqs313_execd # npmp-gui / DQS
-npmp-gui 611/udp dqs313_execd
-hmmp-ind 612/tcp dqs313_intercell # HMMP Indication / DQS
-hmmp-ind 612/udp dqs313_intercell
-ipp 631/tcp # Internet Printing Protocol
-ipp 631/udp
-#
-# UNIX specific services
-#
-exec 512/tcp
-biff 512/udp comsat
-login 513/tcp
-who 513/udp whod
-shell 514/tcp cmd # no passwords used
-syslog 514/udp
-printer 515/tcp spooler # line printer spooler
-talk 517/udp
-ntalk 518/udp
-route 520/udp router routed # RIP
-timed 525/udp timeserver
-tempo 526/tcp newdate
-courier 530/tcp rpc
-conference 531/tcp chat
-netnews 532/tcp readnews
-netwall 533/udp # for emergency broadcasts
-gdomap 538/tcp # GNUstep distributed objects
-gdomap 538/udp
-uucp 540/tcp uucpd # uucp daemon
-klogin 543/tcp # Kerberized `rlogin' (v5)
-kshell 544/tcp krcmd # Kerberized `rsh' (v5)
-afpovertcp 548/tcp # AFP over TCP
-afpovertcp 548/udp
-remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem
-nntps 563/tcp snntp # NNTP over SSL
-nntps 563/udp snntp
-submission 587/tcp # Submission [RFC2476]
-submission 587/udp
-ldaps 636/tcp # LDAP over SSL
-ldaps 636/udp
-tinc 655/tcp # tinc control port
-tinc 655/udp
-silc 706/tcp
-silc 706/udp
-kerberos-adm 749/tcp # Kerberos `kadmin' (v5)
-#
-webster 765/tcp # Network dictionary
-webster 765/udp
-rsync 873/tcp
-rsync 873/udp
-ftps-data 989/tcp # FTP over SSL (data)
-ftps 990/tcp
-telnets 992/tcp # Telnet over SSL
-telnets 992/udp
-imaps 993/tcp # IMAP over SSL
-imaps 993/udp
-ircs 994/tcp # IRC over SSL
-ircs 994/udp
-pop3s 995/tcp # POP-3 over SSL
-pop3s 995/udp
-#
-# From ``Assigned Numbers'':
-#
-#> The Registered Ports are not controlled by the IANA and on most systems
-#> can be used by ordinary user processes or programs executed by ordinary
-#> users.
-#
-#> Ports are used in the TCP [45,106] to name the ends of logical
-#> connections which carry long term conversations. For the purpose of
-#> providing services to unknown callers, a service contact port is
-#> defined. This list specifies the port used by the server process as its
-#> contact port. While the IANA can not control uses of these ports it
-#> does register or list uses of these ports as a convienence to the
-#> community.
-#
-socks 1080/tcp # socks proxy server
-socks 1080/udp
-proofd 1093/tcp
-proofd 1093/udp
-rootd 1094/tcp
-rootd 1094/udp
-openvpn 1194/tcp
-openvpn 1194/udp
-rmiregistry 1099/tcp # Java RMI Registry
-rmiregistry 1099/udp
-kazaa 1214/tcp
-kazaa 1214/udp
-nessus 1241/tcp # Nessus vulnerability
-nessus 1241/udp # assessment scanner
-lotusnote 1352/tcp lotusnotes # Lotus Note
-lotusnote 1352/udp lotusnotes
-ms-sql-s 1433/tcp # Microsoft SQL Server
-ms-sql-s 1433/udp
-ms-sql-m 1434/tcp # Microsoft SQL Monitor
-ms-sql-m 1434/udp
-ingreslock 1524/tcp
-ingreslock 1524/udp
-prospero-np 1525/tcp # Prospero non-privileged
-prospero-np 1525/udp
-datametrics 1645/tcp old-radius
-datametrics 1645/udp old-radius
-sa-msg-port 1646/tcp old-radacct
-sa-msg-port 1646/udp old-radacct
-kermit 1649/tcp
-kermit 1649/udp
-l2f 1701/tcp l2tp
-l2f 1701/udp l2tp
-radius 1812/tcp
-radius 1812/udp
-radius-acct 1813/tcp radacct # Radius Accounting
-radius-acct 1813/udp radacct
-msnp 1863/tcp # MSN Messenger
-msnp 1863/udp
-unix-status 1957/tcp # remstats unix-status server
-log-server 1958/tcp # remstats log server
-remoteping 1959/tcp # remstats remoteping server
-nfs 2049/tcp # Network File System
-nfs 2049/udp # Network File System
-rtcm-sc104 2101/tcp # RTCM SC-104 IANA 1/29/99
-rtcm-sc104 2101/udp
-cvspserver 2401/tcp # CVS client/server operations
-cvspserver 2401/udp
-venus 2430/tcp # codacon port
-venus 2430/udp # Venus callback/wbc interface
-venus-se 2431/tcp # tcp side effects
-venus-se 2431/udp # udp sftp side effect
-codasrv 2432/tcp # not used
-codasrv 2432/udp # server port
-codasrv-se 2433/tcp # tcp side effects
-codasrv-se 2433/udp # udp sftp side effect
-mon 2583/tcp # MON
-mon 2583/udp
-dict 2628/tcp # Dictionary server
-dict 2628/udp
-gpsd 2947/tcp
-gpsd 2947/udp
-gds_db 3050/tcp # InterBase server
-gds_db 3050/udp
-icpv2 3130/tcp icp # Internet Cache Protocol
-icpv2 3130/udp icp
-mysql 3306/tcp
-mysql 3306/udp
-nut 3493/tcp # Network UPS Tools
-nut 3493/udp
-distcc 3632/tcp # distributed compiler
-distcc 3632/udp
-daap 3689/tcp # Digital Audio Access Protocol
-daap 3689/udp
-svn 3690/tcp subversion # Subversion protocol
-svn 3690/udp subversion
-suucp 4013/tcp # UUCP over SSL
-suucp 4013/udp # UUCP over SSL
-sysrqd 4094/tcp # sysrq daemon
-sysrqd 4094/udp # sysrq daemon
-iax 4569/tcp # Inter-Asterisk eXchange
-iax 4569/udp
-radmin-port 4899/tcp # RAdmin Port
-radmin-port 4899/udp
-rfe 5002/udp # Radio Free Ethernet
-rfe 5002/tcp
-mmcc 5050/tcp # multimedia conference control tool (Yahoo IM)
-mmcc 5050/udp
-sip 5060/tcp # Session Initiation Protocol
-sip 5060/udp
-sip-tls 5061/tcp
-sip-tls 5061/udp
-aol 5190/tcp # AIM
-aol 5190/udp
-xmpp-client 5222/tcp jabber-client # Jabber Client Connection
-xmpp-client 5222/udp jabber-client
-xmpp-server 5269/tcp jabber-server # Jabber Server Connection
-xmpp-server 5269/udp jabber-server
-cfengine 5308/tcp
-cfengine 5308/udp
-mdns 5353/tcp # Multicast DNS
-mdns 5353/udp # Multicast DNS
-postgresql 5432/tcp postgres # PostgreSQL Database
-postgresql 5432/udp postgres
-ggz 5688/tcp # GGZ Gaming Zone
-ggz 5688/udp # GGZ Gaming Zone
-x11 6000/tcp x11-0 # X Window System
-x11 6000/udp x11-0
-x11-1 6001/tcp
-x11-1 6001/udp
-x11-2 6002/tcp
-x11-2 6002/udp
-x11-3 6003/tcp
-x11-3 6003/udp
-x11-4 6004/tcp
-x11-4 6004/udp
-x11-5 6005/tcp
-x11-5 6005/udp
-x11-6 6006/tcp
-x11-6 6006/udp
-x11-7 6007/tcp
-x11-7 6007/udp
-gnutella-svc 6346/tcp # gnutella
-gnutella-svc 6346/udp
-gnutella-rtr 6347/tcp # gnutella
-gnutella-rtr 6347/udp
-sge_qmaster 6444/tcp # Grid Engine Qmaster Service
-sge_qmaster 6444/udp # Grid Engine Qmaster Service
-sge_execd 6445/tcp # Grid Engine Execution Service
-sge_execd 6445/udp # Grid Engine Execution Service
-afs3-fileserver 7000/tcp bbs # file server itself
-afs3-fileserver 7000/udp bbs
-afs3-callback 7001/tcp # callbacks to cache managers
-afs3-callback 7001/udp
-afs3-prserver 7002/tcp # users & groups database
-afs3-prserver 7002/udp
-afs3-vlserver 7003/tcp # volume location database
-afs3-vlserver 7003/udp
-afs3-kaserver 7004/tcp # AFS/Kerberos authentication
-afs3-kaserver 7004/udp
-afs3-volser 7005/tcp # volume managment server
-afs3-volser 7005/udp
-afs3-errors 7006/tcp # error interpretation service
-afs3-errors 7006/udp
-afs3-bos 7007/tcp # basic overseer process
-afs3-bos 7007/udp
-afs3-update 7008/tcp # server-to-server updater
-afs3-update 7008/udp
-afs3-rmtsys 7009/tcp # remote cache manager service
-afs3-rmtsys 7009/udp
-font-service 7100/tcp xfs # X Font Service
-font-service 7100/udp xfs
-bacula-dir 9101/tcp # Bacula Director
-bacula-dir 9101/udp
-bacula-fd 9102/tcp # Bacula File Daemon
-bacula-fd 9102/udp
-bacula-sd 9103/tcp # Bacula Storage Daemon
-bacula-sd 9103/udp
-amanda 10080/tcp # amanda backup services
-amanda 10080/udp
-hkp 11371/tcp # OpenPGP HTTP Keyserver
-hkp 11371/udp # OpenPGP HTTP Keyserver
-bprd 13720/tcp # VERITAS NetBackup
-bprd 13720/udp
-bpdbm 13721/tcp # VERITAS NetBackup
-bpdbm 13721/udp
-bpjava-msvc 13722/tcp # BP Java MSVC Protocol
-bpjava-msvc 13722/udp
-vnetd 13724/tcp # Veritas Network Utility
-vnetd 13724/udp
-bpcd 13782/tcp # VERITAS NetBackup
-bpcd 13782/udp
-vopied 13783/tcp # VERITAS NetBackup
-vopied 13783/udp
-wnn6 22273/tcp # wnn6
-wnn6 22273/udp
-
-#
-# Datagram Delivery Protocol services
-#
-rtmp 1/ddp # Routing Table Maintenance Protocol
-nbp 2/ddp # Name Binding Protocol
-echo 4/ddp # AppleTalk Echo Protocol
-zip 6/ddp # Zone Information Protocol
-
-#=========================================================================
-# The remaining port numbers are not as allocated by IANA.
-#=========================================================================
-
-# Kerberos (Project Athena/MIT) services
-# Note that these are for Kerberos v4, and are unofficial. Sites running
-# v4 should uncomment these and comment out the v5 entries above.
-#
-kerberos4 750/udp kerberos-iv kdc # Kerberos (server)
-kerberos4 750/tcp kerberos-iv kdc
-kerberos_master 751/udp # Kerberos authentication
-kerberos_master 751/tcp
-passwd_server 752/udp # Kerberos passwd server
-krb_prop 754/tcp krb5_prop hprop # Kerberos slave propagation
-krbupdate 760/tcp kreg # Kerberos registration
-swat 901/tcp # swat
-kpop 1109/tcp # Pop with Kerberos
-knetd 2053/tcp # Kerberos de-multiplexor
-zephyr-srv 2102/udp # Zephyr server
-zephyr-clt 2103/udp # Zephyr serv-hm connection
-zephyr-hm 2104/udp # Zephyr hostmanager
-eklogin 2105/tcp # Kerberos encrypted rlogin
-# Hmmm. Are we using Kv4 or Kv5 now? Worrying.
-# The following is probably Kerberos v5 --- ajt@debian.org (11/02/2000)
-kx 2111/tcp # X over Kerberos
-iprop 2121/tcp # incremental propagation
-#
-# Unofficial but necessary (for NetBSD) services
-#
-supfilesrv 871/tcp # SUP server
-supfiledbg 1127/tcp # SUP debugging
-
-#
-# Services added for the Debian GNU/Linux distribution
-#
-linuxconf 98/tcp # LinuxConf
-poppassd 106/tcp # Eudora
-poppassd 106/udp
-ssmtp 465/tcp smtps # SMTP over SSL
-moira_db 775/tcp # Moira database
-moira_update 777/tcp # Moira update protocol
-moira_ureg 779/udp # Moira user registration
-spamd 783/tcp # spamassassin daemon
-omirr 808/tcp omirrd # online mirror
-omirr 808/udp omirrd
-customs 1001/tcp # pmake customs server
-customs 1001/udp
-skkserv 1178/tcp # skk jisho server port
-predict 1210/udp # predict -- satellite tracking
-rmtcfg 1236/tcp # Gracilis Packeten remote config server
-wipld 1300/tcp # Wipl network monitor
-xtel 1313/tcp # french minitel
-xtelw 1314/tcp # french minitel
-support 1529/tcp # GNATS
-sieve 2000/tcp # Sieve mail filter daemon
-cfinger 2003/tcp # GNU Finger
-ndtp 2010/tcp # Network dictionary transfer protocol
-frox 2121/tcp # frox: caching ftp proxy
-ninstall 2150/tcp # ninstall service
-ninstall 2150/udp
-zebrasrv 2600/tcp # zebra service
-zebra 2601/tcp # zebra vty
-ripd 2602/tcp # ripd vty (zebra)
-ripngd 2603/tcp # ripngd vty (zebra)
-ospfd 2604/tcp # ospfd vty (zebra)
-bgpd 2605/tcp # bgpd vty (zebra)
-ospf6d 2606/tcp # ospf6d vty (zebra)
-ospfapi 2607/tcp # OSPF-API
-isisd 2608/tcp # ISISd vty (zebra)
-afbackup 2988/tcp # Afbackup system
-afbackup 2988/udp
-afmbackup 2989/tcp # Afmbackup system
-afmbackup 2989/udp
-xtell 4224/tcp # xtell server
-fax 4557/tcp # FAX transmission service (old)
-hylafax 4559/tcp # HylaFAX client-server protocol (new)
-distmp3 4600/tcp # distmp3host daemon
-munin 4949/tcp lrrd # Munin
-enbd-cstatd 5051/tcp # ENBD client statd
-enbd-sstatd 5052/tcp # ENBD server statd
-pcrd 5151/tcp # PCR-1000 Daemon
-noclog 5354/tcp # noclogd with TCP (nocol)
-noclog 5354/udp # noclogd with UDP (nocol)
-hostmon 5355/tcp # hostmon uses TCP (nocol)
-hostmon 5355/udp # hostmon uses UDP (nocol)
-rplay 5555/udp # RPlay audio service
-rplay 5555/tcp
-rptp 5556/udp # Remote Play Transfer Protocol
-rptp 5556/tcp
-nsca 5667/tcp # Nagios Agent - NSCA
-mrtd 5674/tcp # MRT Routing Daemon
-bgpsim 5675/tcp # MRT Routing Simulator
-canna 5680/tcp # cannaserver
-sane-port 6566/tcp sane saned # SANE network scanner daemon
-ircd 6667/tcp # Internet Relay Chat
-zope-ftp 8021/tcp # zope management by ftp
-webcache 8080/tcp # WWW caching service
-tproxy 8081/tcp # Transparent Proxy
-omniorb 8088/tcp # OmniORB
-omniorb 8088/udp
-clc-build-daemon 8990/tcp # Common lisp build daemon
-xinetd 9098/tcp
-mandelspawn 9359/udp mandelbrot # network mandelbrot
-git 9418/tcp # Git Version Control System
-zope 9673/tcp # zope server
-webmin 10000/tcp
-kamanda 10081/tcp # amanda backup services (Kerberos)
-kamanda 10081/udp
-amandaidx 10082/tcp # amanda backup services
-amidxtape 10083/tcp # amanda backup services
-smsqp 11201/tcp # Alamin SMS gateway
-smsqp 11201/udp
-xpilot 15345/tcp # XPilot Contact Port
-xpilot 15345/udp
-sgi-cmsd 17001/udp # Cluster membership services daemon
-sgi-crsd 17002/udp
-sgi-gcd 17003/udp # SGI Group membership daemon
-sgi-cad 17004/tcp # Cluster Admin daemon
-isdnlog 20011/tcp # isdn logging system
-isdnlog 20011/udp
-vboxd 20012/tcp # voice box system
-vboxd 20012/udp
-binkp 24554/tcp # binkp fidonet protocol
-asp 27374/tcp # Address Search Protocol
-asp 27374/udp
-csync2 30865/tcp # cluster synchronization tool
-dircproxy 57000/tcp # Detachable IRC Proxy
-tfido 60177/tcp # fidonet EMSI over telnet
-fido 60179/tcp # fidonet EMSI over TCP
-
-# Local services
diff --git a/abs/core/filesystem/shadow b/abs/core/filesystem/shadow
index 6d4a8be..ccab68d 100644
--- a/abs/core/filesystem/shadow
+++ b/abs/core/filesystem/shadow
@@ -1,7 +1,7 @@
-root::99999::::::
-bin:x:0::::::
-daemon:x:0::::::
-mail:x:0::::::
-ftp:x:0::::::
-http:x:0::::::
-nobody:x:0::::::
+root::14871::::::
+bin:x:14871::::::
+daemon:x:14871::::::
+mail:x:14871::::::
+ftp:x:14871::::::
+http:x:14871::::::
+nobody:x:14871::::::
diff --git a/abs/core/fixesproto/PKGBUILD b/abs/core/fixesproto/PKGBUILD
index 2f77d60..6af302b 100644
--- a/abs/core/fixesproto/PKGBUILD
+++ b/abs/core/fixesproto/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 54646 2009-10-11 16:21:38Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=fixesproto
-pkgver=4.0
-pkgrel=2
+pkgver=4.1.1
+pkgrel=1
pkgdesc="X11 Fixes extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
-depends=(xproto xextproto)
+license=('custom')
+depends=('xproto' 'xextproto')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=(8b298cc3424597f8138c7faf7763dce9)
+md5sums=('4c1cb4f2ed9f34de59f2f04783ca9483')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core/fontconfig/30-urw-aliases.patch b/abs/core/fontconfig/30-urw-aliases.patch
new file mode 100644
index 0000000..8077b86
--- /dev/null
+++ b/abs/core/fontconfig/30-urw-aliases.patch
@@ -0,0 +1,13 @@
+--- a/conf.d/30-urw-aliases.conf 2009-08-06 16:23:57.000000000 +0100
++++ b/conf.d/30-urw-aliases.conf 2009-08-06 16:25:07.000000000 +0100
+@@ -29,6 +29,10 @@
+ <family>Zapf Dingbats</family>
+ <accept><family>Dingbats</family></accept>
+ </alias>
++ <alias binding="same">
++ <family>ZapfDingbats</family>
++ <accept><family>Dingbats</family></accept>
++ </alias>
+ <match target="pattern">
+ <test name="family">
+ <string>Symbol</string>
diff --git a/abs/core/fontconfig/PKGBUILD b/abs/core/fontconfig/PKGBUILD
index f5c3465..ff2130a 100644
--- a/abs/core/fontconfig/PKGBUILD
+++ b/abs/core/fontconfig/PKGBUILD
@@ -1,32 +1,35 @@
-# $Id: PKGBUILD 4424 2008-07-06 22:09:03Z jgc $
+# $Id: PKGBUILD 59983 2009-11-29 20:25:27Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=fontconfig
-pkgver=2.6.0
-pkgrel=4
+pkgver=2.8.0
+pkgrel=1
pkgdesc="A library for configuring and customizing font access"
arch=(i686 x86_64)
url="http://www.fontconfig.org/release/"
license=('custom')
-depends=('expat>=2.0' 'freetype2>=2.3.7')
+depends=('expat>=2.0.1' 'freetype2>=2.3.11')
options=('!libtool')
install=fontconfig.install
source=(http://www.fontconfig.org/release/${pkgname}-${pkgver}.tar.gz
- 29-replace-bitmap-fonts.conf)
-md5sums=('ab54ec1d4ddd836313fdbc0cd5299d6d'
- 'f6b67e8cc79197ed6abd4701911e83da')
+ 29-replace-bitmap-fonts.conf
+ 30-urw-aliases.patch)
+md5sums=('77e15a92006ddc2adbb06f840d591c0e'
+ 'f6b67e8cc79197ed6abd4701911e83da'
+ '51bc6cb633b50f3c28793361738aac5b')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/30-urw-aliases.patch" || return 1
# enable Position Independent Code for prelinking
export CFLAGS="${CFLAGS} -fPIC"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -m644 ${startdir}/src/29-replace-bitmap-fonts.conf \
- ${startdir}/pkg/etc/fonts/conf.avail || return 1
- rm -f ${startdir}/pkg/etc/fonts/conf.d/*.conf
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m644 "${srcdir}/29-replace-bitmap-fonts.conf" \
+ "${pkgdir}/etc/fonts/conf.avail" || return 1
+ rm -f ${pkgdir}/etc/fonts/conf.d/*.conf
#Install license
- install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/fontconfig/fontconfig.install b/abs/core/fontconfig/fontconfig.install
index 6608834..20feb6e 100644
--- a/abs/core/fontconfig/fontconfig.install
+++ b/abs/core/fontconfig/fontconfig.install
@@ -35,7 +35,7 @@ post_upgrade() {
The way fontconfig is configured has been changed.
Configuration is done via /etc/fonts/conf.avail and conf.d.
- Read /etc/fonts/conf.avail/README for more information.
+ Read /etc/fonts/conf.d/README for more information.
Configuration via /etc/fonts/local.conf is still possible,
but is no longer recommended for options available in conf.avail.
diff --git a/abs/core/fontsproto/PKGBUILD b/abs/core/fontsproto/PKGBUILD
index 7847a5c..595f2e3 100644
--- a/abs/core/fontsproto/PKGBUILD
+++ b/abs/core/fontsproto/PKGBUILD
@@ -1,19 +1,21 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 51009 2009-09-04 13:55:55Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=fontsproto
-pkgver=2.0.2
+pkgver=2.1.0
pkgrel=1
pkgdesc="X11 font extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('custom')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('c946f166107b016a21cc7a02e1132724')
-sha1sums=('1244f63bd90668c7ddc88febbf4a220fd83ea492')
+sha1sums=('395b300fd5120a7ff90cb8fea4e2356b9632dc3e')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/freetype2/PKGBUILD b/abs/core/freetype2/PKGBUILD
index 177f421..19f921d 100644
--- a/abs/core/freetype2/PKGBUILD
+++ b/abs/core/freetype2/PKGBUILD
@@ -1,7 +1,8 @@
-# $Id: PKGBUILD 4337 2008-07-06 17:43:50Z jgc $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 85761 2010-07-19 13:01:22Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=freetype2
-pkgver=2.3.7
+pkgver=2.4.1
pkgrel=1
pkgdesc="TrueType font rendering library"
arch=(i686 x86_64)
@@ -10,24 +11,18 @@ url="http://freetype.sourceforge.net"
depends=('zlib')
options=('!libtool')
source=(http://downloads.sourceforge.net/sourceforge/freetype/freetype-${pkgver}.tar.bz2
- bytecode.patch
- freetype-2.3.0-enable-spr.patch
- freetype-2.2.1-enable-valid.patch
- freetype-2.2.1-memcpy-fix.patch)
-md5sums=('83306194817ebdea554133b4232a34aa'
- '9ff19e742968c29e3ba52b08d6bf0a50'
+ freetype-2.3.0-enable-spr.patch
+ freetype-2.2.1-enable-valid.patch)
+md5sums=('567a27e5189ed581396f69fb51faf2d8'
'816dc8619a6904a7385769433c0a8653'
- '214119610444c9b02766ccee5e220680'
- '6fb6606d28082ecb8e0c6d986b0b26aa')
+ '214119610444c9b02766ccee5e220680')
build() {
- cd ${startdir}/src/freetype-${pkgver}
- patch -Np0 -i ${startdir}/src/bytecode.patch || return 1
- patch -Np1 -i ${startdir}/src/freetype-2.3.0-enable-spr.patch || return 1
- patch -Np1 -i ${startdir}/src/freetype-2.2.1-enable-valid.patch || return 1
- patch -Np1 -i ${startdir}/src/freetype-2.2.1-memcpy-fix.patch || return 1
+ cd "${srcdir}/freetype-${pkgver}"
+ patch -Np1 -i "${srcdir}/freetype-2.3.0-enable-spr.patch" || return 1
+ patch -Np1 -i "${srcdir}/freetype-2.2.1-enable-valid.patch" || return 1
- ./configure --prefix=/usr --disable-static || return 1
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core/gcc-libs/PKGBUILD b/abs/core/gcc-libs/PKGBUILD
deleted file mode 100644
index 3edfc76..0000000
--- a/abs/core/gcc-libs/PKGBUILD
+++ /dev/null
@@ -1,72 +0,0 @@
-# $Id: PKGBUILD 25244 2009-01-24 17:53:12Z andyrtr $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgname=gcc-libs
-pkgver=4.3.3
-pkgrel=1
-#_snapshot=4.3-20080724
-pkgdesc="Runtime libraries shipped by GCC for C and C++ languages"
-arch=('i686' 'x86_64')
-license=('GPL' 'LGPL')
-groups=('base')
-url="http://gcc.gnu.org"
-depends=('glibc>=2.8-3')
-makedepends=('binutils>=2.19' 'gcc>=4.3.2' 'mpfr>=2.3.1' 'texinfo' 'flex')
-conflicts=('gcc-fortran' 'gcc-objc')
-provides=("gcc-objc=${pkgver}")
-options=('!libtool' '!emptydirs' '!docs')
-source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc}-${pkgver}.tar.bz2
- #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc}-${_snapshot}.tar.bz2
- gcc_pure64.patch
- gcc-hash-style-both.patch
- buildfix_new_bison.patch)
-md5sums=('1739288c2c7b1472796b33d641dbdbbd'
- '18428e313a9927d38b313e688c62219b'
- '8771e6190dd4f3178b2a7978d2380a5d'
- '125b75947c763ba59b7ea95d3739d431'
- '4030ee1c08dd1e843c0225b772360e76'
- 'bb420bc84b1104455b7230b1cd4b96c2'
- '412fb8ebb30958eb1a93e9bd89413dd7')
-
-build() {
- if ! locale -a | grep ^de_DE; then
- echo "You need the de_DE locale to build gcc."
- return 1
- fi
-
- cd ${srcdir}/gcc-${pkgver}
- #cd ${srcdir}/gcc-${_snapshot}
- # Don't install libiberty
- sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
-
- if [ "${CARCH}" = "x86_64" ]; then
- patch -Np1 -i ../gcc_pure64.patch || return 1
- fi
- patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch || return 1
- patch -Np0 -i ${srcdir}/buildfix_new_bison.patch || return 1
-
- # Don't run fixincludes
- sed -i -e 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
-
-# echo ${pkgver} > gcc/BASE-VER
-
- mkdir build
- cd build
- ../configure --prefix=/usr --enable-shared \
- --enable-languages=c,c++,fortran,objc,obj-c++,treelang --enable-threads=posix \
- --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib \
- --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch \
- --with-tune=generic
- make || return 1
- make -j1 DESTDIR=${pkgdir} install-target-libstdc++-v3 install-target-libmudflap install-target-libgomp install-target-libssp install-target-libgfortran install-target-libobjc install-target-libgcc || return 1
-
- # Cleanup, libgomp installs the whole compiler it seems...
- rm -rf ${pkgdir}/usr/include
- rm -rf ${pkgdir}/usr/lib/gcc
- rm -rf ${pkgdir}/usr/bin
- rm -rf ${pkgdir}/usr{,share}/man
- find ${pkgdir} -name gcc.mo -delete
-
-# rm -f {pkgdir}/usr/share/info/dir
-}
diff --git a/abs/core/gcc-libs/buildfix_new_bison.patch b/abs/core/gcc-libs/buildfix_new_bison.patch
deleted file mode 100644
index 01b8880..0000000
--- a/abs/core/gcc-libs/buildfix_new_bison.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- gcc/treelang/parse.y 2007-07-18 08:19:29.000000000 +0000
-+++ gcc/treelang/parse.y.new 2008-11-20 06:40:00.013275486 +0000
-@@ -369,7 +369,6 @@
- current_function = NULL;
- }
- ;
--
- variable_defs_opt:
- /* Nil. */ {
- $$ = 0;
-@@ -685,9 +684,9 @@
-
- expressions_with_commas_opt:
- /* Nil. */ {
--$$ = 0
-+$$ = 0;
- }
--|expressions_with_commas { $$ = $1 }
-+|expressions_with_commas { $$ = $1; }
- ;
-
- expressions_with_commas:
diff --git a/abs/core/gcc-libs/gcc-hash-style-both.patch b/abs/core/gcc-libs/gcc-hash-style-both.patch
deleted file mode 100644
index 8fea758..0000000
--- a/abs/core/gcc-libs/gcc-hash-style-both.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-#! /bin/sh -e
-
-# DP: Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc)
-
-dir=
-if [ $# -eq 3 -a "$2" = '-d' ]; then
- pdir="-d $3"
- dir="$3/"
-elif [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch)
- patch $pdir -f --no-backup-if-mismatch -p0 < $0
- #cd ${dir}gcc && autoconf
- ;;
- -unpatch)
- patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
- #rm ${dir}gcc/configure
- ;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-esac
-exit 0
-
-2006-07-11 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/linux.h (LINK_SPEC): Add --hash-style=both.
- * config/i386/linux64.h (LINK_SPEC): Likewise.
- * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise.
- * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
- LINK_OS_LINUX_SPEC64): Likewise.
- * config/s390/linux.h (LINK_SPEC): Likewise.
- * config/ia64/linux.h (LINK_SPEC): Likewise.
- * config/sparc/linux.h (LINK_SPEC): Likewise.
- * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC,
- LINK_ARCH64_SPEC): Likewise.
- * config/alpha/linux-elf.h (LINK_SPEC): Likewise.
-
---- gcc/config/alpha/linux-elf.h.orig 2007-08-04 08:55:58.000000000 +0200
-+++ gcc/config/alpha/linux-elf.h 2007-09-01 15:47:26.605865578 +0200
-@@ -39,7 +39,7 @@
-
- #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
-
--#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
-+#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \
- %{O*:-O3} %{!O*:-O1} \
- %{shared:-shared} \
- %{!shared: \
---- gcc/config/s390/linux.h.orig 2007-08-04 08:55:59.000000000 +0200
-+++ gcc/config/s390/linux.h 2007-09-01 15:47:26.605865578 +0200
-@@ -77,7 +77,7 @@
-
- #undef LINK_SPEC
- #define LINK_SPEC \
-- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
-+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
- %{shared:-shared} \
- %{!shared: \
- %{static:-static} \
---- gcc/config/sparc/linux.h.orig 2007-08-04 08:56:01.000000000 +0200
-+++ gcc/config/sparc/linux.h 2007-09-01 15:47:26.605865578 +0200
-@@ -132,7 +132,7 @@
-
-
- #undef LINK_SPEC
--#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
- %{!mno-relax:%{!r:-relax}} \
- %{!shared: \
- %{!ibcs: \
---- gcc/config/sparc/linux64.h.orig 2007-08-04 08:56:01.000000000 +0200
-+++ gcc/config/sparc/linux64.h 2007-09-01 15:47:26.605865578 +0200
-@@ -166,7 +166,7 @@
- { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
- { "link_arch", LINK_ARCH_SPEC },
-
--#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
-@@ -175,7 +175,7 @@
- %{static:-static}}} \
- "
-
--#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
-@@ -256,7 +256,7 @@
- #else /* !SPARC_BI_ARCH */
-
- #undef LINK_SPEC
--#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
---- gcc/config/i386/linux.h.orig 2007-08-04 08:56:07.000000000 +0200
-+++ gcc/config/i386/linux.h 2007-09-01 15:47:26.605865578 +0200
-@@ -108,7 +108,7 @@
- { "dynamic_linker", LINUX_DYNAMIC_LINKER }
-
- #undef LINK_SPEC
--#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
-+#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
---- gcc/config/i386/linux64.h.orig 2007-08-04 08:56:07.000000000 +0200
-+++ gcc/config/i386/linux64.h 2007-09-01 15:48:27.336781690 +0200
-@@ -65,7 +65,7 @@
- #endif
-
- #undef LINK_SPEC
--#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
-+#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
---- gcc/config/ia64/linux.h.orig 2006-12-12 18:59:53.000000000 +0100
-+++ gcc/config/ia64/linux.h 2007-09-01 15:47:26.605865578 +0200
-@@ -40,7 +40,7 @@
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
-
- #undef LINK_SPEC
--#define LINK_SPEC "\
-+#define LINK_SPEC "--hash-style=both \
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
---- gcc/config/rs6000/sysv4.h.orig 2007-08-08 23:37:49.000000000 +0200
-+++ gcc/config/rs6000/sysv4.h 2007-09-01 15:47:26.615865729 +0200
-@@ -901,7 +901,7 @@
- #define LINUX_DYNAMIC_LINKER \
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
-
--#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
-
---- gcc/config/rs6000/linux64.h.orig 2007-08-04 08:56:12.000000000 +0200
-+++ gcc/config/rs6000/linux64.h 2007-09-01 15:47:26.615865729 +0200
-@@ -354,11 +354,11 @@
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
-
-
--#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
-+#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}"
-
--#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
-+#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"
-
diff --git a/abs/core/gcc-libs/gcc_pure64.patch b/abs/core/gcc-libs/gcc_pure64.patch
deleted file mode 100644
index 8c0baf8..0000000
--- a/abs/core/gcc-libs/gcc_pure64.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h
---- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400
-+++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400
-@@ -49,8 +49,8 @@
- When the -shared link option is used a final link is not being
- done. */
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
-
- #undef LINK_SPEC
- #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
-diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64
---- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400
-+++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400
-@@ -6,7 +6,7 @@
-
- MULTILIB_OPTIONS = m64/m32
- MULTILIB_DIRNAMES = 64 32
--MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
-+MULTILIB_OSDIRNAMES = ../lib ../lib32
-
- LIBGCC = stmp-multilib
- INSTALL_LIBGCC = install-multilib
diff --git a/abs/core/gcc/PKGBUILD b/abs/core/gcc/PKGBUILD
index fd796b4..1cec41a 100644
--- a/abs/core/gcc/PKGBUILD
+++ b/abs/core/gcc/PKGBUILD
@@ -1,81 +1,221 @@
-# $Id: PKGBUILD 25249 2009-01-24 18:28:11Z andyrtr $
+# $Id: PKGBUILD 87242 2010-08-11 12:46:24Z allan $
# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
-pkgname=gcc
-pkgver=4.3.3
-pkgrel=1
-#_snapshot=4.3-20080724
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: libtool requires rebuilt with each new gcc version
+
+pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada')
+pkgver=4.5.1
+pkgrel=2
+#_snapshot=4.5-20100610
+_libstdcppmanver=20100719 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection"
-arch=(i686 x86_64)
-license=('GPL' 'LGPL')
-groups=('base-devel')
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'custom')
url="http://gcc.gnu.org"
-depends=('binutils>=2.19' "gcc-libs>=${pkgver}" 'mpfr>=2.3.1' 'texinfo')
-makedepends=('flex')
-replaces=('gcc-fortran' 'gcc-objc')
-options=('!libtool')
-install=gcc.install
-source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc,java}-${pkgver}.tar.bz2
- #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc,java}-${_snapshot}.tar.bz2
- ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-man-20080118.tar.bz2
+makedepends=('binutils>=2.20.1' 'libmpc>=0.8.2-2' 'cloog-ppl>=0.15.9-2' 'elfutils' 'gcc-ada')
+options=('!libtool' '!emptydirs')
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc,ada}-${pkgver}.tar.bz2
+ #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc,ada}-${_snapshot}.tar.bz2
+ ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2
gcc_pure64.patch
- gcc-hash-style-both.patch
- buildfix_new_bison.patch)
-md5sums=('1739288c2c7b1472796b33d641dbdbbd'
- '18428e313a9927d38b313e688c62219b'
- '8771e6190dd4f3178b2a7978d2380a5d'
- '125b75947c763ba59b7ea95d3739d431'
- '068938366ee0be5b70112bdf485898b4'
- '990881456a89b1ffbd68d2d7188759da'
+ gcc-hash-style-both.patch)
+md5sums=('dc8959e31b01a65ce10d269614815054'
+ 'b294953ff0bb2f20c7acb2bf005d832a'
+ '7567c2f8df8a8bf61b48fe414b88de65'
+ '3c11b7037896e967eddf8178af2ddd98'
+ 'c92111e2e22fc60d1e0adb1b5c7fa4f9'
+ '226ae0c6364cfe2c1f7ac88d06088d5a'
'4030ee1c08dd1e843c0225b772360e76'
- 'bb420bc84b1104455b7230b1cd4b96c2'
- '412fb8ebb30958eb1a93e9bd89413dd7')
+ '6fd395bacbd7b6e47c7b74854b478363')
+
+
+if [ -n "${_snapshot}" ]; then
+ _basedir="${srcdir}/gcc-${_snapshot}"
+else
+ _basedir="${srcdir}/gcc-${pkgver}"
+fi
build() {
- if ! locale -a | grep ^de_DE; then
+ if ! locale -a | grep ^de_DE > /dev/null; then
echo "You need the de_DE locale to build gcc."
return 1
fi
- cd ${srcdir}/gcc-${pkgver}
- #cd ${srcdir}/gcc-${_snapshot}
- # Don't install libiberty
+ cd ${_basedir}
+
+ # "Add" ppl-0.11 compatibility
+ sed -i "/ppl_minor_version=/s#10#11#" configure
+
+ # Do not install libiberty
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
if [ "${CARCH}" = "x86_64" ]; then
- patch -Np1 -i ../gcc_pure64.patch || return 1
+ patch -Np1 -i ../gcc_pure64.patch
fi
- patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch || return 1
- patch -Np0 -i ${srcdir}/buildfix_new_bison.patch || return 1
+ patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch
echo ${pkgver} > gcc/BASE-VER
- mkdir build
- cd build
- ../configure --prefix=/usr --enable-shared \
- --enable-languages=c,c++,fortran,objc,obj-c++,treelang \
- --enable-threads=posix --mandir=/usr/share/man --infodir=/usr/share/info \
- --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib \
- --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch \
- --with-tune=generic
- make || return 1
- make -j1 DESTDIR=${pkgdir} install || return 1
- mkdir -p ${pkgdir}/lib
- ln -sf ../usr/bin/cpp ${pkgdir}/lib/cpp
+ mkdir build && cd build
+ ../configure --prefix=/usr --enable-languages=c,c++,fortran,objc,obj-c++,ada \
+ --enable-shared --enable-threads=posix --enable-__cxa_atexit \
+ --enable-clocale=gnu --enable-gnu-unique-object \
+ --enable-lto --enable-plugin \
+ --disable-multilib --disable-libstdcxx-pch \
+ --with-system-zlib --with-ppl --with-cloog \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info
+ make
+}
+
+package_gcc-libs()
+{
+ pkgdesc="Runtime libraries shipped by GCC for C and C++ languages"
+ groups=('base')
+ depends=('glibc>=2.11.1-2')
+ install=gcc-libs.install
+
+ cd ${_basedir}/build
+ make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+ for lib in libmudflap libgomp libssp libstdc++-v3/src; do
+ make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ done
+ make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
+ make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info
+
+ make -j1 DESTDIR=${pkgdir} install-target-libgfortran
+
+ make -j1 DESTDIR=${pkgdir} install-target-libobjc
+ # I thought I said to only install the lib...
+ rm -rf ${pkgdir}/usr/lib/gcc/
+
+ # remove static libraries
+ find ${pkgdir} -name *.a -delete
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc()
+{
+ depends=('binutils>=2.20.1' 'libmpc>=0.8.1-2' 'cloog-ppl>=0.15.9-2' 'elfutils')
+ groups=('base-devel')
+ install=gcc.install
+
+ cd ${_basedir}/build
+
+ # much, much easier to install the lot and clean-up the mess
+ make -j1 DESTDIR=${pkgdir} install
+ rm $pkgdir/usr/bin/{*gfortran,gnat*}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc}/*
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,libgfortranbegin.a}
+ rm $pkgdir/usr/lib/{*.so*,lib{gfortran,objc}.a}
+ rm $pkgdir/usr/share/info/{gfortran,gnat*,libgomp}.info
+ rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
+ rm $pkgdir/usr/share/man/man1/gfortran.1
+
+ # many packages require these symlinks
+ install -dm755 ${pkgdir}/lib
+ ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp
ln -sf gcc ${pkgdir}/usr/bin/cc
ln -sf g++ ${pkgdir}/usr/bin/c++
+ # POSIX conformance launcher scripts for c89 and c99
+ cat > $pkgdir/usr/bin/c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ cat > $pkgdir/usr/bin/c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ chmod 755 $pkgdir/usr/bin/c{8,9}9
+
# install the libstdc++ man pages
- mkdir -p ${pkgdir}/usr/share/man/man3
- install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/
+ install -dm755 ${pkgdir}/usr/share/man/man3
+ install -m644 ${srcdir}/libstdc++-api-${_libstdcppmanver}.man/man3/* \
+ ${pkgdir}/usr/share/man/man3/
+ # deal with conflicts...
+ rm -f ${pkgdir}/usr/share/man/man3/{ctime,queue,random,regex,string}.3
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-fortran()
+{
+ pkgdesc="Fortran front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-fortran.install
+
+ cd ${_basedir}/build
+ make -j1 DESTDIR=$pkgdir install-target-libgfortran
+ make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+ make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
+ install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
+
+ # remove libraries included in gcc-libs
+ rm -f ${pkgdir}/usr/lib/libgfortran.so*
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-fortran/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-objc()
+{
+ pkgdesc="Objective-C front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
- # Remove libraries and translations in gcc-libs
- rm -f ${pkgdir}/usr/lib/lib*
- find ${pkgdir} -name libstdc++.mo -delete
+ cd ${_basedir}/build
+ make -j1 DESTDIR=$pkgdir install-target-libobjc
+ install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+ install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
- # Remove fixed includes, either no need for them, or they're not complete
- rm -rf ${pkgdir}/usr/lib/${CHOST}/${pkgver}/include-fixed/*
+ # remove libraries included in gcc-libs
+ rm -f ${pkgdir}/usr/lib/libobjc.so*
- rm -f ${pkgdir}/usr/share/info/dir
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-objc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-ada()
+{
+ pkgdesc="Ada front-end for GCC (GNAT)"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-ada.install
+
+ cd ${_basedir}/build/gcc
+ make -j1 DESTDIR=$pkgdir ada.install-{common,info}
+ install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION
}
diff --git a/abs/core/gcc/buildfix_new_bison.patch b/abs/core/gcc/buildfix_new_bison.patch
deleted file mode 100644
index 01b8880..0000000
--- a/abs/core/gcc/buildfix_new_bison.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- gcc/treelang/parse.y 2007-07-18 08:19:29.000000000 +0000
-+++ gcc/treelang/parse.y.new 2008-11-20 06:40:00.013275486 +0000
-@@ -369,7 +369,6 @@
- current_function = NULL;
- }
- ;
--
- variable_defs_opt:
- /* Nil. */ {
- $$ = 0;
-@@ -685,9 +684,9 @@
-
- expressions_with_commas_opt:
- /* Nil. */ {
--$$ = 0
-+$$ = 0;
- }
--|expressions_with_commas { $$ = $1 }
-+|expressions_with_commas { $$ = $1; }
- ;
-
- expressions_with_commas:
diff --git a/abs/core/gcc/gcc-ada.install b/abs/core/gcc/gcc-ada.install
new file mode 100644
index 0000000..1c8e086
--- /dev/null
+++ b/abs/core/gcc/gcc-ada.install
@@ -0,0 +1,22 @@
+infodir=/usr/share/info
+filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/gcc/gcc-fortran.install b/abs/core/gcc/gcc-fortran.install
new file mode 100644
index 0000000..acffc05
--- /dev/null
+++ b/abs/core/gcc/gcc-fortran.install
@@ -0,0 +1,18 @@
+infodir=/usr/share/info
+file="gfortran.info"
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/gcc/gcc-hash-style-both.patch b/abs/core/gcc/gcc-hash-style-both.patch
index 8fea758..fbb2105 100644
--- a/abs/core/gcc/gcc-hash-style-both.patch
+++ b/abs/core/gcc/gcc-hash-style-both.patch
@@ -78,8 +78,8 @@ exit 0
{ "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
{ "link_arch", LINK_ARCH_SPEC },
--#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
+-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
@@ -87,8 +87,8 @@ exit 0
%{static:-static}}} \
"
--#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
+-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
@@ -96,8 +96,8 @@ exit 0
#else /* !SPARC_BI_ARCH */
#undef LINK_SPEC
--#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
+-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
diff --git a/abs/core/gcc/gcc-java-driver.patch b/abs/core/gcc/gcc-java-driver.patch
deleted file mode 100644
index 528b528..0000000
--- a/abs/core/gcc/gcc-java-driver.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gcc/Makefile.in.orig 2008-03-08 09:52:09.000000000 +0000
-+++ gcc/Makefile.in 2008-03-08 09:54:09.000000000 +0000
-@@ -421,8 +421,8 @@
- xm_defines=@xm_defines@
- lang_checks=check-gcc
- lang_opt_files=@lang_opt_files@ $(srcdir)/c.opt $(srcdir)/common.opt
--lang_specs_files=@lang_specs_files@
-+lang_specs_files=@lang_specs_files@ $(srcdir)/java/lang-specs.h
- lang_tree_files=@lang_tree_files@
- target_cpu_default=@target_cpu_default@
- GCC_THREAD_FILE=@thread_file@
diff --git a/abs/core/gcc/gcc-libs.install b/abs/core/gcc/gcc-libs.install
new file mode 100644
index 0000000..bd57efb
--- /dev/null
+++ b/abs/core/gcc/gcc-libs.install
@@ -0,0 +1,14 @@
+infodir=/usr/share/info
+file="libgomp.info"
+
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/gcc/gcc.install b/abs/core/gcc/gcc.install
index 1ad170c..83d89b0 100644
--- a/abs/core/gcc/gcc.install
+++ b/abs/core/gcc/gcc.install
@@ -1,9 +1,10 @@
infodir=/usr/share/info
-filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info gfortran.info libgomb.info treelang.info)
+filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
post_install() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
@@ -12,8 +13,9 @@ post_upgrade() {
}
pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core/ghostscript/PKGBUILD b/abs/core/ghostscript/PKGBUILD
index 5a7aa2a..f4139ff 100644
--- a/abs/core/ghostscript/PKGBUILD
+++ b/abs/core/ghostscript/PKGBUILD
@@ -1,27 +1,51 @@
-# $Id: PKGBUILD 20527 2008-12-05 14:17:31Z allan $
+# $Id: PKGBUILD 73021 2010-03-21 21:20:23Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
pkgname=ghostscript
-pkgver=8.63
-pkgrel=5
+pkgver=8.71
+pkgrel=3
pkgdesc="An interpreter for the PostScript language"
-arch=(i686 x86_64)
-license=('GPL' 'custom')
-depends=('libjpeg' 'libxext' 'libxt' 'libcups>=1.3.8-2' 'fontconfig>=2.6.0' 'gtk2>=2.12.11' 'gnutls>=2.4.1')
-makedepends=('automake' 'autoconf')
-optdepends=('texlive-core: dvipdf')
+arch=('i686' 'x86_64')
+license=('GPL3' 'custom')
+depends=('libxext' 'libxt' 'libcups>=1.4.2-3' 'fontconfig>=2.8.0' 'gnutls>=2.8.5' 'cairo>=1.8.8-2'
+ 'jasper>=1.900.1-4' 'zlib' 'libpng>=1.4.0' 'libjpeg>=8')
+makedepends=('automake' 'autoconf' 'gtk2>=2.18.6')
+optdepends=('texlive-core: dvipdf'
+ 'gtk2: gsx')
replaces=('ghostscript-lrpng')
provides=('ghostscript-lprng')
-url="http://www.cs.wisc.edu/~ghost/"
-source=(http://ghostscript.com/releases/ghostscript-${pkgver}.tar.bz2
- #ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs863/ghostscript-${pkgver}.tar.bz2
- ghostscript-fPIC.patch)
+url="http://www.ghostscript.com/"
+source=(http://ghostscript.com/releases/ghostscript-${pkgver}.tar.xz
+ ghostscript-fPIC.patch
+ ghostscript-system-jasper.patch
+ libpng14.patch
+ ghostscript-pdf2dsc.patch
+ svn_r10890.patch)
options=('!libtool' '!makeflags')
-md5sums=('c770eedfdd846a53e211e3ba5339de21'
- '29540cd88aad9a3a788d68193523080d')
+md5sums=('5005d68f7395c2bfc4b05c1a60d9b6ba'
+ '1a8fcacf0005214db823225c870f093d'
+ '03e27cd02471ab3b642c344fa06b623e'
+ 'be94ee357986f7f63d1b470da5bdc99e'
+ 'f88f3764fc11e3ae2a86b17d2502da2f'
+ 'fe0888a74d7870af234ad53a2f74380a')
build() {
cd ${srcdir}/ghostscript-${pkgver}
+ # force it to use system-libs
+ rm -rf jpeg libpng zlib jasper expat
+
+ patch -Np1 -i ${srcdir}/libpng14.patch || return 1
+
+ # fix build with systems jasper
+ patch -Np1 -i ${srcdir}/ghostscript-system-jasper.patch || return 1
+
+ # fix PDF viewing with gv - from Fedora
+ patch -Np1 -i ${srcdir}/ghostscript-pdf2dsc.patch || return 1
+
+ # fix segfaults - http://bugs.archlinux.org/task/18339
+ patch -Np1 -i ${srcdir}/svn_r10890.patch || return 1
+
+
if [ "$CARCH" = "x86_64" ]; then
patch -Np1 -i ${srcdir}/ghostscript-fPIC.patch || return 1
fi
@@ -31,17 +55,22 @@ build() {
./autogen.sh
./configure --prefix=/usr --enable-shared --disable-static
make || return 1
- make DESTDIR=${pkgdir} install || return 1
+ make -j1 DESTDIR=${pkgdir} install || return 1
cd ..
- ./configure --prefix=/usr --enable-dynamic --enable-threads --with-ijs \
+ ./autogen.sh
+ ./configure --prefix=/usr --enable-dynamic --with-ijs \
--with-jbig2dec --with-omni --with-x --with-drivers=ALL\
- --with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts
+ --with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
+ --disable-compile-inits # needed for linking with system-zlib
make || return 1
- make DESTDIR=${pkgdir} \
+ make -j1 DESTDIR=${pkgdir} \
cups_serverroot=${pkgdir}/etc/cups \
cups_serverbin=${pkgdir}/usr/lib/cups install soinstall
+ # install a missing doc files # http://bugs.archlinux.org/task/18023
+ install -m 644 ${srcdir}/ghostscript-${pkgver}/doc/{Ps2ps2.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} ${pkgdir}/usr/share/ghostscript/$pkgver/doc/
+
mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
install -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/
diff --git a/abs/core/ghostscript/ghostscript-fPIC.patch b/abs/core/ghostscript/ghostscript-fPIC.patch
index 9b4deb2..f5b1b30 100644
--- a/abs/core/ghostscript/ghostscript-fPIC.patch
+++ b/abs/core/ghostscript/ghostscript-fPIC.patch
@@ -1,5 +1,5 @@
---- ghostscript-8.60-r8112/src/lib.mak.fPIC 2007-07-10 17:03:11.000000000 +0100
-+++ ghostscript-8.60-r8112/src/lib.mak 2007-07-10 17:05:56.000000000 +0100
+--- ghostscript-8.60-r8112/base/lib.mak.fPIC 2007-07-10 17:03:11.000000000 +0100
++++ ghostscript-8.60-r8112/base/lib.mak 2007-07-10 17:05:56.000000000 +0100
@@ -874,7 +874,7 @@
$(GLOBJ)gsparamx.$(OBJ) : $(GLSRC)gsparamx.c $(string__h)\
$(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsparam_h) $(gsparamx_h)\
@@ -18,8 +18,8 @@
###### Create a pseudo-"feature" for the entire graphics library.
---- ghostscript-8.60-r8112/src/devs.mak.fPIC 2007-07-10 17:05:00.000000000 +0100
-+++ ghostscript-8.60-r8112/src/devs.mak 2007-07-10 17:05:07.000000000 +0100
+--- ghostscript-8.60-r8112/base/devs.mak.fPIC 2007-07-10 17:05:00.000000000 +0100
++++ ghostscript-8.60-r8112/base/devs.mak 2007-07-10 17:05:07.000000000 +0100
@@ -464,7 +464,7 @@
$(GLCCSHARED) $(XINCLUDE) $(GLO_)gdevx.$(OBJ) $(C_) $(GLSRC)gdevx.c
diff --git a/abs/core/ghostscript/ghostscript-pdf2dsc.patch b/abs/core/ghostscript/ghostscript-pdf2dsc.patch
new file mode 100644
index 0000000..31b6b54
--- /dev/null
+++ b/abs/core/ghostscript/ghostscript-pdf2dsc.patch
@@ -0,0 +1,12 @@
+diff -up ghostscript-8.71/lib/pdf2dsc.ps.pdf2dsc ghostscript-8.71/lib/pdf2dsc.ps
+--- ghostscript-8.71/lib/pdf2dsc.ps.pdf2dsc 2010-02-20 15:50:51.287734970 +0000
++++ ghostscript-8.71/lib/pdf2dsc.ps 2010-02-20 15:51:02.902609964 +0000
+@@ -116,7 +116,7 @@ systemdict /.setsafe known { .setsafe }
+ DSCfile PDFname write==only
+ ( \(r\) file { DELAYSAFER { .setsafe } if } stopped pop\n) puts
+ ( pdfopen begin\n) puts
+- ( copy_trailer_attrs\n) puts
++ ( process_trailer_attrs\n) puts
+ (%%EndSetup\n) puts
+
+ /.hasPageLabels false def % see "Page Labels" in the PDF Reference
diff --git a/abs/core/ghostscript/ghostscript-system-jasper.patch b/abs/core/ghostscript/ghostscript-system-jasper.patch
new file mode 100644
index 0000000..444b760
--- /dev/null
+++ b/abs/core/ghostscript/ghostscript-system-jasper.patch
@@ -0,0 +1,26 @@
+diff -up ghostscript-8.64/base/sjpx.c.system-jasper ghostscript-8.64/base/sjpx.c
+--- ghostscript-8.64/base/sjpx.c.system-jasper 2008-08-21 00:22:49.000000000 +0100
++++ ghostscript-8.64/base/sjpx.c 2009-02-04 11:35:56.000000000 +0000
+@@ -34,14 +34,6 @@ static void s_jpxd_set_defaults(stream_s
+ private_st_jpxd_state(); /* creates a gc object for our state,
+ defined in sjpx.h */
+
+-/* error reporting callback for the jpx library */
+-static void
+-s_jpx_jas_error_cb(jas_error_t err, char *msg)
+-{
+- dprintf2("jasper (code %d) %s", (int)err, msg);
+-}
+-
+-
+ /* initialize the steam.
+ this involves allocating the stream and image structures, and
+ initializing the decoder.
+@@ -59,7 +51,6 @@ s_jpxd_init(stream_state * ss)
+ }
+
+ status = jas_init();
+- jas_set_error_cb(s_jpx_jas_error_cb);
+ #ifdef JPX_DEBUG
+ /* raise the error reporting threshold from the default (0) */
+ jas_setdbglevel(1);
diff --git a/abs/core/ghostscript/ghostscript.install b/abs/core/ghostscript/ghostscript.install
deleted file mode 100644
index 10d2d7a..0000000
--- a/abs/core/ghostscript/ghostscript.install
+++ /dev/null
@@ -1,14 +0,0 @@
-post_install() {
-cat << EOF
-==> To use dvipdf, you need to install tetex:
-==> # pacman -S tetex
-EOF
-}
-
-post_upgrade() {
- post_install $1
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/ghostscript/libpng14.patch b/abs/core/ghostscript/libpng14.patch
new file mode 100644
index 0000000..7ee08af
--- /dev/null
+++ b/abs/core/ghostscript/libpng14.patch
@@ -0,0 +1,24 @@
+diff -Nur ghostscript-8.70.orig/base/configure.ac ghostscript-8.70/base/configure.ac
+--- ghostscript-8.70.orig/base/configure.ac 2009-07-27 19:59:50.000000000 +0300
++++ ghostscript-8.70/base/configure.ac 2010-01-17 02:20:52.000000000 +0200
+@@ -402,7 +402,7 @@
+ PNGDEVS="$PNGDEVS_ALL"
+ else
+ AC_MSG_RESULT([no])
+- AC_CHECK_LIB(png, png_check_sig, [
++ AC_CHECK_LIB(png, png_sig_cmp, [
+ AC_CHECK_HEADERS(png.h, [
+ SHARE_LIBPNG=1
+ PNGDEVS="$PNGDEVS_ALL"
+diff -Nur ghostscript-8.70.orig/jbig2dec/configure.ac ghostscript-8.70/jbig2dec/configure.ac
+--- ghostscript-8.70.orig/jbig2dec/configure.ac 2009-05-29 09:48:44.000000000 +0300
++++ ghostscript-8.70/jbig2dec/configure.ac 2010-01-17 02:21:25.000000000 +0200
+@@ -34,7 +34,7 @@
+ fi
+ dnl libpng requires pow() which may be in libm
+ AC_SEARCH_LIBS([pow], [m])
+- AC_CHECK_LIB([png], [png_check_sig], [
++ AC_CHECK_LIB([png], [png_sig_cmp], [
+ AC_CHECK_LIB([z], [deflate], [
+ AC_DEFINE(HAVE_LIBPNG, 1, [Define if libpng is available (-lpng)])
+ LIBS="-lpng -lz $LIBS"
diff --git a/abs/core/ghostscript/svn_r10890.patch b/abs/core/ghostscript/svn_r10890.patch
new file mode 100644
index 0000000..afcbf47
--- /dev/null
+++ b/abs/core/ghostscript/svn_r10890.patch
@@ -0,0 +1,99 @@
+From 6d26e9b1c38d8c0f0ab4af42c513cb23f3ae1656 Mon Sep 17 00:00:00 2001
+From: till <till@a1074d23-0009-0410-80fe-cf8c14f379e6>
+Date: Tue, 9 Mar 2010 16:35:06 +0000
+Subject: [PATCH] Fixes on CUPS Raster output device:
+ - Fixed memory reallocation on bitmap size change. Reallocation is not only
+ needed when dimendions and margins change, but also when the color depth
+ changes. Fixes bugs #691029 and #691108.
+ - Fixed arrayoption() macro in cups_put_params() function. Array values did
+ not get actually set in cups.header data structure. Bug only showed via
+ a compiler warning.
+ - Silenced compiler warning by presetting c0..c3 in cups_map_cmyk() to zero.
+
+git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs@10890 a1074d23-0009-0410-80fe-cf8c14f379e6
+---
+ cups/gdevcups.c | 32 +++++++++++++++++++++++---------
+ 1 files changed, 23 insertions(+), 9 deletions(-)
+
+diff --git a/cups/gdevcups.c b/cups/gdevcups.c
+index 551b806..4000abf 100644
+--- a/cups/gdevcups.c
++++ b/cups/gdevcups.c
+@@ -975,7 +975,8 @@ cups_map_cmyk(gx_device *pdev, /* I - Device info */
+ frac k, /* I - Black value */
+ frac *out) /* O - Device colors */
+ {
+- int c0, c1, c2, c3; /* Temporary color values */
++ int c0 = 0, c1 = 0,
++ c2 = 0, c3 = 0; /* Temporary color values */
+ float rr, rg, rb, /* Real RGB colors */
+ ciex, ciey, ciez, /* CIE XYZ colors */
+ ciey_yn, /* Normalized luminance */
+@@ -2703,9 +2704,13 @@ cups_put_params(gx_device *pdev, /* I - Device info */
+ int color_set; /* Were the color attrs set? */
+ gdev_prn_space_params sp; /* Space parameter data */
+ int width, /* New width of page */
+- height; /* New height of page */
++ height, /* New height of page */
++ colorspace, /* New color space */
++ bitspercolor; /* New bits per color */
+ static int width_old = 0, /* Previous width */
+- height_old = 0; /* Previous height */
++ height_old = 0, /* Previous height */
++ colorspace_old = 0,/* Previous color space */
++ bitspercolor_old = 0;/* Previous bits per color */
+ ppd_attr_t *backside = NULL,
+ *backsiderequiresflippedmargins = NULL;
+ float swap;
+@@ -2800,9 +2805,10 @@ cups_put_params(gx_device *pdev, /* I - Device info */
+ else if (code == 0) \
+ { \
+ dprintf1("DEBUG: Setting %s to", sname); \
+- for (i = 0; i < count; i ++) \
+- dprintf1(" %d", (unsigned)(arrayval.data[i])); \
+- cups->header.name[i] = (unsigned)arrayval.data[i]; \
++ for (i = 0; i < count; i ++) { \
++ dprintf1(" %d", (unsigned)(arrayval.data[i])); \
++ cups->header.name[i] = (unsigned)(arrayval.data[i]); \
++ } \
+ dprintf("...\n"); \
+ }
+
+@@ -3243,23 +3249,31 @@ cups_put_params(gx_device *pdev, /* I - Device info */
+ }
+ #endif /* CUPS_RASTER_SYNCv1 */
+
++ colorspace = cups->header.cupsColorSpace;
++ bitspercolor = cups->header.cupsBitsPerColor;
++
+ /*
+ * Don't reallocate memory unless the device has been opened...
+ * Also reallocate only if the size has actually changed...
+ */
+
+- if (pdev->is_open && (width != width_old || height != height_old))
++ if (pdev->is_open &&
++ (width != width_old || height != height_old ||
++ colorspace != colorspace_old || bitspercolor != bitspercolor_old))
+ {
+
+ width_old = width;
+ height_old = height;
++ colorspace_old = colorspace;
++ bitspercolor_old = bitspercolor;
+
+ /*
+ * Device is open and size has changed, so reallocate...
+ */
+
+- dprintf4("DEBUG2: Reallocating memory, [%.0f %.0f] = %dx%d pixels...\n",
+- pdev->MediaSize[0], pdev->MediaSize[1], width, height);
++ dprintf6("DEBUG2: Reallocating memory, [%.0f %.0f] = %dx%d pixels, color space: %d, bits per color: %d...\n",
++ pdev->MediaSize[0], pdev->MediaSize[1], width, height,
++ colorspace, bitspercolor);
+
+ sp = ((gx_device_printer *)pdev)->space_params;
+
+--
+1.6.6.1
+
diff --git a/abs/core/git/ChangeLog b/abs/core/git/ChangeLog
index 54cdeec..8ed0884 100644
--- a/abs/core/git/ChangeLog
+++ b/abs/core/git/ChangeLog
@@ -1,8 +1,18 @@
Simple version bumps are ommitted from the following ChangeLog.
+2010-06-29 Dan McGee <dan@archlinux.org>
+ Version 1.7.1.1-1
+ * Add emacs completion files (FS#17968)
+ * Add git-daemon RC scripts (FS#19291)
+
+2009-06-05 Dan McGee <dan@archlinux.org>
+ Version 1.6.3.2-1
+ * Remove gitweb from /usr/share; it needs customization to be helpful
+ * Add NO_CROSS_DIRECTORY_HARDLINKS option to build (FS#13683)
+
2008-09-14 Dan McGee <dan@archlinux.org>
Version 1.6.0.2-1
- * Moved optional depends from install file to optdepends array
+ * Moved optional depends from install file to optdepends array
2008-06-15 Dan McGee <dan@archlinux.org>
Version 1.5.6-1
diff --git a/abs/core/git/PKGBUILD b/abs/core/git/PKGBUILD
index a392481..5b281a2 100644
--- a/abs/core/git/PKGBUILD
+++ b/abs/core/git/PKGBUILD
@@ -1,35 +1,58 @@
+# $Id: PKGBUILD 90230 2010-09-09 13:16:45Z dan $
+# Maintainer: Dan McGee <dan@archlinux.org>
+
pkgname=git
-pkgver=1.6.2
-pkgrel=1
-pkgdesc="GIT - the stupid content tracker"
+pkgver=1.7.2.3
+pkgrel=2
+pkgdesc="the fast distributed version control system"
arch=(i686 x86_64)
-url="http://git.or.cz/"
+url="http://git-scm.com/"
license=('GPL2')
depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.10.0')
+makedepends=('python2')
optdepends=('tk: gitk and git gui'
'perl-libwww: git svn'
'perl-term-readkey: git svn'
+ 'perl-net-smtp-ssl: git send-email TLS support'
'subversion: git svn'
'cvsps: git cvsimport')
replaces=('git-core')
provides=('git-core')
+backup=('etc/conf.d/git-daemon.conf')
source=("http://kernel.org/pub/software/scm/git/${pkgname}-${pkgver}.tar.bz2" \
- "http://kernel.org/pub/software/scm/git/git-manpages-${pkgver}.tar.bz2")
+ "http://kernel.org/pub/software/scm/git/git-manpages-${pkgver}.tar.bz2"
+ git-daemon
+ git-daemon.conf)
build() {
- cd $srcdir/$pkgname-$pkgver
+ export PYTHON_PATH='/usr/bin/python2'
+ cd "$srcdir/$pkgname-$pkgver"
make prefix=/usr gitexecdir=/usr/lib/git-core || return 1
+}
+
+package() {
+ export PYTHON_PATH='/usr/bin/python2'
+ cd "$srcdir/$pkgname-$pkgver"
make prefix=/usr gitexecdir=/usr/lib/git-core \
+ NO_CROSS_DIRECTORY_HARDLINKS=1 \
INSTALLDIRS=vendor DESTDIR=${pkgdir} install || return 1
-
- # let's plop gitweb in /usr/share
- mkdir -p $pkgdir/usr/share/
- cp -dR ./gitweb $pkgdir/usr/share/gitweb || return 1
- #bash completion
+ # bash completion
mkdir -p $pkgdir/etc/bash_completion.d/
install -m644 ./contrib/completion/git-completion.bash $pkgdir/etc/bash_completion.d/git || return 1
+ # more contrib stuff
+ cp -a ./contrib $pkgdir/usr/share/git/ || return 1
+
+ # scripts are for python 2.x
+ find "$pkgdir" -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
+ sed -i 's|#!/usr/bin/python|#!/usr/bin/env python2|' "$pkgdir"/usr/lib/git-core/git-remote-testgit
+
+ # emacs interface
+ mkdir -p $pkgdir/usr/share/emacs/site-lisp
+ mv $pkgdir/usr/share/git/emacs $pkgdir/usr/share/emacs/site-lisp/git
+ rm $pkgdir/usr/share/emacs/site-lisp/git/.gitignore
+
# how 'bout some manpages?
for mansect in man1 man5 man7; do
for manpage in $srcdir/$mansect/*; do
@@ -39,9 +62,17 @@ build() {
# remove perllocal.pod, .packlist, and empty directories.
rm -rf $pkgdir/usr/lib/perl5
+
+ # git daemon script
+ install -D -m755 $srcdir/git-daemon $pkgdir/etc/rc.d/git-daemon
+ install -D -m644 $srcdir/git-daemon.conf $pkgdir/etc/conf.d/git-daemon.conf
}
-md5sums=('12c7d874e17c6e111697b1714b5f4319'
- '163809f883e693a3a675a487d96b5a11')
-sha256sums=('ab7dc40240092aa2e72a8db7e0045893ca5fa07a936e9fa83b242248e3c9f635'
- '13e7d352f9cac1f34d64b5deb006d0961941e43975a33f7d8507df58df1fe68e')
+md5sums=('d88c06f6442156686deb4b4fbab0954c'
+ '2ef8d3959c832347c29885627ebc0682'
+ 'd777ff1a239b3d810dcf5d89f9d894af'
+ '9d065134210aa0dd3f2b40d12d915040')
+sha256sums=('6139ec31d0a79cae04f469e73cc1f912162bb8f84ef7621ecc8630989fc81ba1'
+ '87e00245e10472ee5acdd75bb5a6e2e89c12638b498e0df9edca6201439d47d7'
+ 'd2741714a477029ca1ed63f8584040bcba6a53b2332028f9005feef4ae500113'
+ '6e1475974fae315c55da344c0527923061ad7d9478d39396d147aea497f501b7')
diff --git a/abs/core/git/git-daemon b/abs/core/git/git-daemon
new file mode 100644
index 0000000..83e41a3
--- /dev/null
+++ b/abs/core/git/git-daemon
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+daemon_bin="/usr/lib/git-core/git-daemon"
+daemon_name=$(basename $daemon_bin)
+PIDF="/var/run/$daemon_name.pid"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name daemon"
+
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f $PIDF ] && rm -f $PIDF
+ # RUN
+ $daemon_bin --pid-file=$PIDF $GIT_DAEMON_ARGS $GIT_REPO
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > $PIDF
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f $PIDF &> /dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart|status}"
+esac
+
+exit 0
diff --git a/abs/core/git/git-daemon.conf b/abs/core/git/git-daemon.conf
new file mode 100644
index 0000000..a183733
--- /dev/null
+++ b/abs/core/git/git-daemon.conf
@@ -0,0 +1,4 @@
+# path to git repositories served
+GIT_REPO="/srv/git/"
+# see `man git-daemon` for all available options
+GIT_DAEMON_ARGS="--detach --syslog --verbose --base-path=$GIT_REPO"
diff --git a/abs/core/glib2/PKGBUILD b/abs/core/glib2/PKGBUILD
index db2bcae..32cf552 100644
--- a/abs/core/glib2/PKGBUILD
+++ b/abs/core/glib2/PKGBUILD
@@ -1,30 +1,33 @@
-# $Id: PKGBUILD 34596 2009-04-10 10:17:45Z jgc $
+# $Id: PKGBUILD 79346 2010-05-03 10:44:26Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=glib2
-pkgver=2.20.1
+pkgver=2.24.1
pkgrel=1
pkgdesc="Common C routines used by GTK+ 2.4 and other libs"
url="http://www.gtk.org/"
arch=(i686 x86_64)
license=('LGPL')
-depends=('pcre>=7.8')
+depends=('pcre>=8.02')
makedepends=('pkgconfig')
options=('!libtool' '!docs')
-source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.20/glib-${pkgver}.tar.bz2
- glib2.sh
- glib2.csh)
-md5sums=('d7ef53c7b65827a1baa4bad1c6893fa3'
- '803017b365bd35dc20b092ce43b8c8c5'
- '90c7b830bef4baf225c2eb8b7ead0cab')
+source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.24/glib-${pkgver}.tar.bz2
+ glib2.sh
+ glib2.csh)
+sha256sums=('014c3da960bf17117371075c16495f05f36501db990851ceea658f15d2ea6d04'
+ '9456872cdedcc639fb679448d74b85b0facf81033e27157d2861b991823b5a2a'
+ '8d5626ffa361304ad3696493c0ef041d0ab10c857f6ef32116b3e2878ecf89e3')
build() {
cd "${srcdir}/glib-${pkgver}"
- ./configure --prefix=/usr --enable-static --enable-shared --with-pcre=system --disable-fam || return 1
+ ./configure --prefix=/usr --enable-static --enable-shared \
+ --with-pcre=system --disable-fam || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
install -d "${pkgdir}/etc/profile.d"
install -m755 "${srcdir}/glib2.sh" "${pkgdir}/etc/profile.d/" || return 1
install -m755 "${srcdir}/glib2.csh" "${pkgdir}/etc/profile.d/" || return 1
+
+ chmod 755 ${pkgdir}/usr/bin/gtester-report || return 1
}
diff --git a/abs/core/glibc/ChangeLog b/abs/core/glibc/ChangeLog
deleted file mode 100644
index 631f360..0000000
--- a/abs/core/glibc/ChangeLog
+++ /dev/null
@@ -1,39 +0,0 @@
-glibc 2.9-3
-- remove texinfo dep
-- only call install-info when needed
-
-glibc 2.9-2
-- apply Fedora10 changes to fix
- name resolving issues
-
-glibc 2.9-1
-- bump to new 2.9 branch
-
-glibc 2.8-2
-- fix an old memory issue again
-
-glibc 2.8-1
-- no more tarballs
-- we checkout the current release branch incl. libidn
-- cleanup the patches
-
-glibc 2.7-6
-- fix broken locales with upstream changes
-- disable the whole weekday patch, fixes #8530
-
-glibc 2.7-5
-- fix a regression: http://sourceware.org/bugzilla/show_bug.cgi?id=4781
- mainly for x86_64 where using gcc-gcj eats all memory
-
-glibc 2.7-4
-- extract /etc/locale.gen from sources to have all new locales supported
-- mask other broken locales / added a comment to post.install message
-- apply changes from Debian 2.7-exp7 pkg
- to fix some broken locales
-
-glibc 2.7-3
-- removed locale/check-unknown-symbols.diff
- localedata/tailor-iso14651_t1.diff partly
- to fix broken et_EE locale
-- switch to compressed patches
-- added ChangeLog
diff --git a/abs/core/glibc/PKGBUILD b/abs/core/glibc/PKGBUILD
index e7f866f..673951b 100644
--- a/abs/core/glibc/PKGBUILD
+++ b/abs/core/glibc/PKGBUILD
@@ -1,67 +1,69 @@
-# $Id: PKGBUILD 25809 2009-01-29 17:49:56Z aaron $
+# $Id: PKGBUILD 87193 2010-08-11 00:55:29Z allan $
# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: valgrind requires rebuilt with each new glibc version
pkgname=glibc
-pkgver=2.9
-pkgrel=4
-_glibcdate=20081119
-install=glibc.install
-backup=(etc/locale.gen)
+pkgver=2.12.1
+pkgrel=1
+_glibcdate=20100811
pkgdesc="GNU C Library"
-arch=(i686 x86_64)
-license=('GPL' 'LGPL')
+arch=('i686' 'x86_64')
url="http://www.gnu.org/software/libc"
+license=('GPL' 'LGPL')
groups=('base')
-depends=('kernel-headers>=2.6.27.6' 'tzdata')
-makedepends=('gcc>=4.3.2-2')
+depends=('linux-api-headers>=2.6.34' 'tzdata')
+makedepends=('gcc>=4.4')
replaces=('glibc-xen')
-source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.bz2
- ftp://ftp.archlinux.org/other/glibc/glibc-patches-${pkgver}-2.tar.gz
- nscd
- locale.gen.txt
- locale-gen)
-md5sums=('1f7cc590a7a9bbef8b09fe89af69fb8c'
- '7679e2bcd981847efccb2bad9e57fee3'
+backup=(etc/locale.gen
+ etc/nscd.conf)
+options=('!strip')
+install=glibc.install
+source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.xz
+ glibc-2.10-dont-build-timezone.patch
+ glibc-2.10-bz4781.patch
+ glibc-__i686.patch
+ nscd
+ locale.gen.txt
+ locale-gen)
+md5sums=('3f0d64de5a9fc5614d8acc0f1d5846ed'
+ '4dadb9203b69a3210d53514bb46f41c3'
+ '0c5540efc51c0b93996c51b57a8540ae'
+ '40cd342e21f71f5e49e32622b25acc52'
'b587ee3a70c9b3713099295609afde49'
'07ac979b6ab5eeb778d55f041529d623'
'476e9113489f93b348b21e144b6a8fcf')
-build() {
-
- # for cvs checkout
- mkdir ${srcdir}/glibc-${_glibcdate}
- cd ${srcdir}/glibc-${_glibcdate}
- export _TAG=glibc-2_9-branch
- export 'CVSROOT=:pserver:anoncvs@sources.redhat.com:/cvs/glibc'
-# cvs -z9 co -r $_TAG libc || return 1
-# tar -cvjf ../../glibc-2.9_${_glibcdate}.tar.bz2 libc
-# return 1
-
- cd ${srcdir}/libc
+mksource() {
+ git clone git://sourceware.org/git/glibc.git
+ pushd glibc
+ git checkout -b glibc-2.12-arch origin/release/2.12/master
+ popd
+ tar -cvJf glibc-${pkgver}_${_glibcdate}.tar.xz glibc/*
+}
- # patch from Debian
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-2.5-localedef_segfault-1.patch || return 1 # still needed?
+build() {
+ cd ${srcdir}/glibc
- # Upstream fixes. See sources.redhat.com bugzilla
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-2.7-bz4781.patch || return 1
+ # timezone data is in separate package (tzdata)
+ patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch
- # Gentoo fixes
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-dont-build-timezone.patch || return 1
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781
+ patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch
- # fixes taken from FC10 2.9-3 rpm, fixes FS#12215
- # see http://sources.redhat.com/bugzilla/show_bug.cgi?id=7060
- # see https://bugzilla.redhat.com/show_bug.cgi?id=459756
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-nss_dns-gethostbyname4-disable.patch || return 1
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-fixes1.patch || return 1
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411
+ # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html
+ patch -Np1 -i ${srcdir}/glibc-__i686.patch
- install -m755 -d ${pkgdir}/etc
+ install -dm755 ${pkgdir}/etc
touch ${pkgdir}/etc/ld.so.conf
mkdir glibc-build
cd glibc-build
- if [ "${CARCH}" = "i686" ]; then
+ if [[ ${CARCH} = "i686" ]]; then
# Hack to fix NPTL issues with Xen, only required on 32bit platforms
export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
fi
@@ -70,34 +72,41 @@ build() {
../configure --prefix=/usr \
--enable-add-ons=nptl,libidn --without-cvs \
- --enable-kernel=2.6.16 --disable-profile \
+ --enable-kernel=2.6.18 --disable-profile \
--with-headers=/usr/include --libexecdir=/usr/lib \
--enable-bind-now --with-tls --with-__thread \
- --libdir=/usr/lib --without-gd
-
- make || return 1
- make install_root=${pkgdir} install || return 1
+ --libdir=/usr/lib --without-gd --disable-multi-arch
+
+ make
+}
- rm -f ${pkgdir}/etc/ld.so.cache ${pkgdir}/etc/ld.so.conf ${pkgdir}/etc/localtime
+package() {
+ cd ${srcdir}/glibc/glibc-build
+ make install_root=${pkgdir} install
- install -m755 -d ${pkgdir}/etc/rc.d
- install -m755 -d ${pkgdir}/usr/sbin
- install -m755 -d ${pkgdir}/usr/lib/locale
- install -m644 ${srcdir}/libc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
+ # provided by kernel-headers
+ rm ${pkgdir}/usr/include/scsi/scsi.h
+
+ rm ${pkgdir}/etc/ld.so.conf
+
+ install -dm755 ${pkgdir}/etc/rc.d
+ install -dm755 ${pkgdir}/usr/sbin
+ install -dm755 ${pkgdir}/usr/lib/locale
+ install -m644 ${srcdir}/glibc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
install -m755 ${srcdir}/nscd ${pkgdir}/etc/rc.d/nscd
install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin
- sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf || return 1
+ sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf
# create /etc/locale.gen
install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen
- sed -i "s|/| |g" ${srcdir}/libc/localedata/SUPPORTED
- sed -i 's|\\| |g' ${srcdir}/libc/localedata/SUPPORTED
- sed -i "s|SUPPORTED-LOCALES=||" ${srcdir}/libc/localedata/SUPPORTED
- cat ${srcdir}/libc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
+ sed -i "s|/| |g" ${srcdir}/glibc/localedata/SUPPORTED
+ sed -i 's|\\| |g' ${srcdir}/glibc/localedata/SUPPORTED
+ sed -i "s|SUPPORTED-LOCALES=||" ${srcdir}/glibc/localedata/SUPPORTED
+ cat ${srcdir}/glibc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
sed -i "s|^|#|g" ${pkgdir}/etc/locale.gen
- if [ "${CARCH}" = "x86_64" ]; then
+ if [[ ${CARCH} = "x86_64" ]]; then
# fix for the linker
sed -i '/RTLDLIST/s%/ld-linux.so.2 /lib64%%' ${pkgdir}/usr/bin/ldd
#Comply with multilib binaries, they look for the linker in /lib64
@@ -105,6 +114,25 @@ build() {
cd ${pkgdir}/lib64
ln -v -s ../lib/ld* .
fi
-
- rm -f ${pkgdir}/usr/share/info/dir
+
+ # manually strip files as stripping libpthread-*.so and libthread_db.so
+ # with the default $STRIP_SHARED breaks gdb and stripping ld-*.so breaks
+ # valgrind on x86_64
+
+ cd $pkgdir
+ strip $STRIP_BINARIES sbin/{ldconfig,sln} \
+ usr/bin/{gencat,getconf,getent,iconv,locale} \
+ usr/bin/{localedef,pcprofiledump,rpcgen,sprof} \
+ usr/lib/getconf/* \
+ usr/sbin/{iconvconfig,nscd,rpcinfo}
+ [[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4
+
+ strip $STRIP_STATIC usr/lib/*.a \
+ lib/{{ld,libpthread}-${pkgver},libthread_db-1.0}.so
+
+ strip $STRIP_SHARED lib/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-${pkgver}.so \
+ lib/libnss_{compat,dns,files,hesiod,nis,nisplus}-${pkgver}.so \
+ lib/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \
+ lib/{libmemusage,libpcprofile,libSegFault}.so \
+ usr/lib/{pt_chown,gconv/*.so}
}
diff --git a/abs/core/glibc/fix-makecontext.patch b/abs/core/glibc/fix-makecontext.patch
deleted file mode 100644
index f507b7a..0000000
--- a/abs/core/glibc/fix-makecontext.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-===================================================================
-RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/i386/makecontext.S,v
-retrieving revision 1.8
-retrieving revision 1.9
-diff -u -r1.8 -r1.9
---- libc/sysdeps/unix/sysv/linux/i386/makecontext.S 2007/12/03 04:56:56 1.8
-+++ libc/sysdeps/unix/sysv/linux/i386/makecontext.S 2008/01/09 19:35:15 1.9
-@@ -1,5 +1,5 @@
- /* Create new context.
-- Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
-+ Copyright (C) 2001, 2002, 2005, 2007, 2008 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
-
-@@ -41,13 +41,15 @@
- movl 12(%esp), %ecx
- movl %ecx, oEBX(%eax)
-
-- /* Make room on the new stack for the parameters. */
-+ /* Make room on the new stack for the parameters.
-+ Room for the arguments, return address (== L(exitcode)) and
-+ oLINK pointer is needed. One of the pointer sizes is subtracted
-+ after aligning the stack. */
- negl %ecx
-- leal -8(%edx,%ecx,4), %edx
-+ leal -4(%edx,%ecx,4), %edx
- negl %ecx
-
- /* Align the stack. */
-- addl $16, %edx
- andl $0xfffffff0, %edx
- subl $4, %edx
-
diff --git a/abs/core/glibc/glibc-2.10-bz4781.patch b/abs/core/glibc/glibc-2.10-bz4781.patch
new file mode 100644
index 0000000..cf1a97a
--- /dev/null
+++ b/abs/core/glibc/glibc-2.10-bz4781.patch
@@ -0,0 +1,42 @@
+diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S
+--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000
++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000
+@@ -120,9 +120,6 @@
+ ret
+
+ L(thread_start):
+- cfi_startproc;
+- /* Clearing frame pointer is insufficient, use CFI. */
+- cfi_undefined (eip);
+ /* Note: %esi is zero. */
+ movl %esi,%ebp /* terminate the stack frame */
+ #ifdef RESET_PID
+@@ -155,7 +152,6 @@
+ jmp L(haspid)
+ .previous
+ #endif
+- cfi_endproc;
+
+ cfi_startproc
+ PSEUDO_END (BP_SYM (__clone))
+diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S
+--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000
++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000
+@@ -89,9 +89,6 @@
+ ret
+
+ L(thread_start):
+- cfi_startproc;
+- /* Clearing frame pointer is insufficient, use CFI. */
+- cfi_undefined (rip);
+ /* Clear the frame pointer. The ABI suggests this be done, to mark
+ the outermost frame obviously. */
+ xorl %ebp, %ebp
+@@ -116,7 +113,6 @@
+ /* Call exit with return value from function call. */
+ movq %rax, %rdi
+ call HIDDEN_JUMPTARGET (_exit)
+- cfi_endproc;
+
+ cfi_startproc;
+ PSEUDO_END (BP_SYM (__clone))
diff --git a/abs/core/glibc/glibc-2.10-dont-build-timezone.patch b/abs/core/glibc/glibc-2.10-dont-build-timezone.patch
new file mode 100644
index 0000000..d3abeff
--- /dev/null
+++ b/abs/core/glibc/glibc-2.10-dont-build-timezone.patch
@@ -0,0 +1,13 @@
+timezone data has been split into the package sys-libs/timezone-data
+
+--- glibc-2.4/Makeconfig
++++ glibc-2.4/Makeconfig
+@@ -931,7 +931,7 @@
+ stdlib stdio-common libio malloc string wcsmbs time dirent \
+ grp pwd posix io termios resource misc socket sysvipc gmon \
+ gnulib iconv iconvdata wctype manual shadow gshadow po argp \
+- crypt nss localedata timezone rt conform debug \
++ crypt nss localedata rt conform debug \
+ $(add-on-subdirs) $(dlfcn) $(binfmt-subdir)
+
+ ifndef avoid-generated
diff --git a/abs/core/glibc/glibc-__i686.patch b/abs/core/glibc/glibc-__i686.patch
new file mode 100644
index 0000000..28d5dd4
--- /dev/null
+++ b/abs/core/glibc/glibc-__i686.patch
@@ -0,0 +1,13 @@
+diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile
+--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000
++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000
+@@ -1,6 +1,7 @@
+ # The mpn functions need a #define for asm syntax flavor.
+-# Every i386 port in use uses gas syntax (I think).
+-asm-CPPFLAGS += -DGAS_SYNTAX
++# Every i386 port in use uses gas syntax (I think). Don't replace
++# __i686 in __i686.get_pc_thunk.bx.
++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686
+
+ # The i386 `long double' is a distinct type we support.
+ long-double-fcts = yes
diff --git a/abs/core/glibc/glibc.install b/abs/core/glibc/glibc.install
index 17c6b5d..5e15c81 100644
--- a/abs/core/glibc/glibc.install
+++ b/abs/core/glibc/glibc.install
@@ -2,135 +2,20 @@ infodir=/usr/share/info
filelist=(libc.info libc.info-1 libc.info-2 libc.info-3 libc.info-4 libc.info-5 libc.info-6 libc.info-7
libc.info-8 libc.info-9 libc.info-10 libc.info-11)
-pre_upgrade() {
-if [ "`uname -m`" = "x86_64" ]; then
- if [ "`vercmp $2 2.4`" -lt 0 ]; then
- cat << _EOF
- ==> glibc oldpkgver < 2.4 detected!
- ==>
- ==> ATTENTION x86_64 USERS:
- ==>
- ==> We now switch from the former lib-linking to pure /lib support. To get rid
- ==> of all lib64 directories we have removed the link /lib -> /lib64 and
- ==> /usr/lib -> /usr/lib64.
- ==>
- ==> We have also rebuilt all packages we know that still used lib64 directories.
- ==> Now all should go to /lib directories.
- ==>
- ==> Internally we have removed the link and then mv /lib64 /lib. Same to /usr/lib64.
- ==> /lib64 and /usr/lib64 shouldn't exist anymore. If any package still installs to
- ==> /lib64 or /usr/lib64 let us know.
- ==>
-_EOF
-
-# now the moving
-rm -rf /lib/tls && echo "/lib/tls removed"
-ldconfig -r .
-rm -f /usr/lib
-mv /usr/lib64 /usr/lib && echo "/usr/lib64 moved"
-rm -f /lib
-mv /lib64 /lib && echo "/lib64 moved"
-
- fi
-fi
-
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- usr/bin/install-info $infodir/$file $infodir/dir 2> /dev/null
- done
-}
-
post_upgrade() {
- ldconfig -r .
- init u
-
- if [ "`vercmp $2 2.3.6`" -lt 0 ]; then
- cat << _EOF
- ==> ATTENTION INTERNATIONAL USERS:
- ==>
- ==> Locales are no longer included in the glibc package.
- ==> They are generated by /usr/sbin/locale-gen depending on the contents
- ==> of /etc/locale.gen.
- ==> glibc will try to autodetect the required locales now, if you need
- ==> additional locales, please enable them in /etc/locale.gen and run
- ==> /usr/sbin/locale-gen
- ==>
-_EOF
- # Check active locales, enable the ones that are in use
- loc=("$LANG"
- "`grep '^LOCALE=' etc/rc.conf | awk -F '=' '{ print $2 }'`")
- for l in "${loc[@]}"; do
- if [ ! -z "${l}" ]; then
- line="`grep -i "^#${l}[[:space:]]" etc/locale.gen`"
- if [ ! -z "${line}" ]; then
- sed -i -e "s|${line}|${line/\#/}|" etc/locale.gen
- fi
- fi
- done
- fi
-
+ sbin/ldconfig -r .
+ [ -x sbin/init ] && sbin/init u
usr/sbin/locale-gen
-
-# fix CHOST for arch64
-if [ "`uname -m`" = "x86_64" ]; then
- if [ "`vercmp $2 2.4`" -lt 0 ]; then
- sed -i s/'x86_64-pc-linux-gnu'/'x86_64-unknown-linux-gnu'/ /etc/makepkg.conf && \
- echo "in /etc/makepkg.conf CHOST has been changed to \"x86_64-unknown-linux-gnu\""
-
- # we remove files from glibc 2.3.6 that are not removed automatically
- rm -f /lib/ld-2.3.* && echo "removing unneeded old files"
- rm -f /lib/libBrokenLocale-2.3.*
- rm -f /lib/libNoVersion*
- rm -f /lib/libanl-2.3.*
- rm -f /lib/libc-2.3.*
- rm -f /lib/libcidn-2.3.*
- rm -f /lib/libcrypt-2.3.*
- rm -f /lib/libdl-2.3.*
- rm -f /lib/libm-2.3.*
- rm -f /lib/libnsl-2.3.*
- rm -f /lib/libnss1*
- rm -f /lib/libnss_compat-2.3.*
- rm -f /lib/libnss_dns-2.3.*
- rm -f /lib/libnss_dns.so.1
- rm -f /lib/libnss_files-2.3.*
- rm -f /lib/libnss_files.so.1
- rm -f /lib/libnss_hesiod-2.3.*
- rm -f /lib/libnss_nis-2.3.*
- rm -f /lib/libnss_nis.so.1
- rm -f /lib/libnss_nisplus-2.3.*
- rm -f /lib/libpthread-0.10.so
- rm -f /lib/libresolv-2.3.*
- rm -f /lib/librt-2.3.*
- rm -f /lib/libutil-2.3.*
- rm -fR /lib/nosegneg
- #rm -fR /usr/include/asm
- #rm -fR /usr/include/linux
- rm -fR /usr/include/ntpl
- rm -f /usr/lib/libNoVersion*
- rm -f /usr/lib/libc_stubs.a
- rm -f /usr/lib/libnss1*
- rm -f /usr/lib/libnss_compat.so.1
- rm -f /usr/lib/libnss_dns.so.1
- rm -f /usr/lib/libnss_files.so.1
- rm -f /usr/lib/libnss_nis.so.1
- rm -fR /usr/lib/nptl
- rm -f /usr/sbin/nscd_nischeck
- rm -fR /usr/share/zoneinfo/SystemV
- rm -fR /usr/share/zoneinfo/posix/SystemV
- rm -fR /usr/share/zoneinfo/right/SystemV
- ldconfig -r .
- fi
-fi
-
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- usr/bin/install-info $infodir/$file $infodir/dir 2> /dev/null
- done
+
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
}
pre_remove() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- usr/bin/install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core/glibc/locale.gen b/abs/core/glibc/locale.gen
deleted file mode 100644
index c739380..0000000
--- a/abs/core/glibc/locale.gen
+++ /dev/null
@@ -1,438 +0,0 @@
-# Configuration file for locale-gen
-#
-# lists of locales that are to be generated by the locale-gen command.
-#
-# Each line is of the form:
-#
-# <locale> <charset>
-#
-# where <locale> is one of the locales given in /usr/share/i18n/locales
-# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
-#
-# Examples:
-# en_US ISO-8859-1
-# en_US.UTF-8 UTF-8
-# de_DE ISO-8859-1
-# de_DE@euro ISO-8859-15
-#
-# The locale-gen command will generate all the locales,
-# placing them in /usr/lib/locale.
-#
-# A list of supported locales is included in this file.
-# Uncomment the ones you need.
-#
-#aa_DJ.UTF-8 UTF-8
-#aa_DJ ISO-8859-1
-#aa_ER UTF-8
-#aa_ER@saaho UTF-8
-#aa_ET UTF-8
-#af_ZA.UTF-8 UTF-8
-#af_ZA ISO-8859-1
-#am_ET UTF-8
-#an_ES.UTF-8 UTF-8
-#an_ES ISO-8859-15
-#ar_AE.UTF-8 UTF-8
-#ar_AE ISO-8859-6
-#ar_BH.UTF-8 UTF-8
-#ar_BH ISO-8859-6
-#ar_DZ.UTF-8 UTF-8
-#ar_DZ ISO-8859-6
-#ar_EG.UTF-8 UTF-8
-#ar_EG ISO-8859-6
-#ar_IN UTF-8
-#ar_IQ.UTF-8 UTF-8
-#ar_IQ ISO-8859-6
-#ar_JO.UTF-8 UTF-8
-#ar_JO ISO-8859-6
-#ar_KW.UTF-8 UTF-8
-#ar_KW ISO-8859-6
-#ar_LB.UTF-8 UTF-8
-#ar_LB ISO-8859-6
-#ar_LY.UTF-8 UTF-8
-#ar_LY ISO-8859-6
-#ar_MA.UTF-8 UTF-8
-#ar_MA ISO-8859-6
-#ar_OM.UTF-8 UTF-8
-#ar_OM ISO-8859-6
-#ar_QA.UTF-8 UTF-8
-#ar_QA ISO-8859-6
-#ar_SA.UTF-8 UTF-8
-#ar_SA ISO-8859-6
-#ar_SD.UTF-8 UTF-8
-#ar_SD ISO-8859-6
-#ar_SY.UTF-8 UTF-8
-#ar_SY ISO-8859-6
-#ar_TN.UTF-8 UTF-8
-#ar_TN ISO-8859-6
-#ar_YE.UTF-8 UTF-8
-#ar_YE ISO-8859-6
-#az_AZ.UTF-8 UTF-8
-#as_IN.UTF-8 UTF-8
-#ast_ES.UTF-8 UTF-8
-#ast_ES ISO-8859-15
-#be_BY.UTF-8 UTF-8
-#be_BY CP1251
-#be_BY@latin UTF-8
-#ber_DZ UTF-8
-#ber_MA UTF-8
-#bg_BG.UTF-8 UTF-8
-#bg_BG CP1251
-#bn_BD UTF-8
-#bn_IN UTF-8
-#br_FR.UTF-8 UTF-8
-#br_FR ISO-8859-1
-#br_FR@euro ISO-8859-15
-#bs_BA.UTF-8 UTF-8
-#bs_BA ISO-8859-2
-#byn_ER UTF-8
-#ca_AD.UTF-8 UTF-8
-#ca_AD ISO-8859-15
-#ca_ES.UTF-8 UTF-8
-#ca_ES ISO-8859-1
-#ca_ES@euro ISO-8859-15
-#ca_ES.UTF-8@valencia UTF-8
-#ca_ES@valencia ISO-8859-15
-#ca_FR.UTF-8 UTF-8
-#ca_FR ISO-8859-15
-#ca_IT.UTF-8 UTF-8
-#ca_IT ISO-8859-15
-#crh_UA UTF-8
-#cs_CZ.UTF-8 UTF-8
-#cs_CZ ISO-8859-2
-#csb_PL UTF-8
-#cy_GB.UTF-8 UTF-8
-#cy_GB ISO-8859-14
-#da_DK.UTF-8 UTF-8
-#da_DK ISO-8859-1
-#da_DK.ISO-8859-15 ISO-8859-15
-#de_AT.UTF-8 UTF-8
-#de_AT ISO-8859-1
-#de_AT@euro ISO-8859-15
-#de_BE.UTF-8 UTF-8
-#de_BE ISO-8859-1
-#de_BE@euro ISO-8859-15
-#de_CH.UTF-8 UTF-8
-#de_CH ISO-8859-1
-#de_DE.UTF-8 UTF-8
-#de_DE ISO-8859-1
-#de_DE@euro ISO-8859-15
-#de_LU.UTF-8 UTF-8
-#de_LU ISO-8859-1
-#de_LU@euro ISO-8859-15
-#dz_BT UTF-8
-#el_GR.UTF-8 UTF-8
-#el_GR ISO-8859-7
-#el_CY.UTF-8 UTF-8
-#el_CY ISO-8859-7
-#en_AU.UTF-8 UTF-8
-#en_AU ISO-8859-1
-#en_BW.UTF-8 UTF-8
-#en_BW ISO-8859-1
-#en_CA.UTF-8 UTF-8
-#en_CA ISO-8859-1
-#en_DK.UTF-8 UTF-8
-#en_DK.ISO-8859-15 ISO-8859-15
-#en_DK ISO-8859-1
-#en_GB.UTF-8 UTF-8
-#en_GB ISO-8859-1
-#en_GB.ISO-8859-15 ISO-8859-15
-#en_HK.UTF-8 UTF-8
-#en_HK ISO-8859-1
-#en_IE.UTF-8 UTF-8
-#en_IE ISO-8859-1
-#en_IE@euro ISO-8859-15
-#en_IN UTF-8
-#en_NG UTF-8
-#en_NZ.UTF-8 UTF-8
-#en_NZ ISO-8859-1
-#en_PH.UTF-8 UTF-8
-#en_PH ISO-8859-1
-#en_SG.UTF-8 UTF-8
-#en_SG ISO-8859-1
-#en_US.UTF-8 UTF-8
-#en_US ISO-8859-1
-#en_US.ISO-8859-15 ISO-8859-15
-#en_ZA.UTF-8 UTF-8
-#en_ZA ISO-8859-1
-#en_ZW.UTF-8 UTF-8
-#en_ZW ISO-8859-1
-#eo.UTF-8 UTF-8
-#eo ISO-8859-3
-#es_AR.UTF-8 UTF-8
-#es_AR ISO-8859-1
-#es_BO.UTF-8 UTF-8
-#es_BO ISO-8859-1
-#es_CL.UTF-8 UTF-8
-#es_CL ISO-8859-1
-#es_CO.UTF-8 UTF-8
-#es_CO ISO-8859-1
-#es_CR.UTF-8 UTF-8
-#es_CR ISO-8859-1
-#es_DO.UTF-8 UTF-8
-#es_DO ISO-8859-1
-#es_EC.UTF-8 UTF-8
-#es_EC ISO-8859-1
-#es_ES.UTF-8 UTF-8
-#es_ES ISO-8859-1
-#es_ES@euro ISO-8859-15
-#es_GT.UTF-8 UTF-8
-#es_GT ISO-8859-1
-#es_HN.UTF-8 UTF-8
-#es_HN ISO-8859-1
-#es_MX.UTF-8 UTF-8
-#es_MX ISO-8859-1
-#es_NI.UTF-8 UTF-8
-#es_NI ISO-8859-1
-#es_PA.UTF-8 UTF-8
-#es_PA ISO-8859-1
-#es_PE.UTF-8 UTF-8
-#es_PE ISO-8859-1
-#es_PR.UTF-8 UTF-8
-#es_PR ISO-8859-1
-#es_PY.UTF-8 UTF-8
-#es_PY ISO-8859-1
-#es_SV.UTF-8 UTF-8
-#es_SV ISO-8859-1
-#es_US.UTF-8 UTF-8
-#es_US ISO-8859-1
-#es_UY.UTF-8 UTF-8
-#es_UY ISO-8859-1
-#es_VE.UTF-8 UTF-8
-#es_VE ISO-8859-1
-#et_EE.UTF-8 UTF-8
-#et_EE ISO-8859-1
-#et_EE.ISO-8859-15 ISO-8859-15
-#eu_ES.UTF-8 UTF-8
-#eu_ES ISO-8859-1
-#eu_ES@euro ISO-8859-15
-#eu_FR.UTF-8 UTF-8
-#eu_FR ISO-8859-1
-#eu_FR@euro ISO-8859-15
-#fa_IR UTF-8
-#fi_FI.UTF-8 UTF-8
-#fi_FI ISO-8859-1
-#fi_FI@euro ISO-8859-15
-#fil_PH UTF-8
-#fo_FO.UTF-8 UTF-8
-#fo_FO ISO-8859-1
-#fr_BE.UTF-8 UTF-8
-#fr_BE ISO-8859-1
-#fr_BE@euro ISO-8859-15
-#fr_CA.UTF-8 UTF-8
-#fr_CA ISO-8859-1
-#fr_CH.UTF-8 UTF-8
-#fr_CH ISO-8859-1
-#fr_FR.UTF-8 UTF-8
-#fr_FR ISO-8859-1
-#fr_FR@euro ISO-8859-15
-#fr_LU.UTF-8 UTF-8
-#fr_LU ISO-8859-1
-#fr_LU@euro ISO-8859-15
-#fur_IT UTF-8
-#fy_NL UTF-8
-#fy_DE UTF-8
-#ga_IE.UTF-8 UTF-8
-#ga_IE ISO-8859-1
-#ga_IE@euro ISO-8859-15
-#gd_GB.UTF-8 UTF-8
-#gd_GB ISO-8859-15
-#gez_ER UTF-8
-#gez_ER@abegede UTF-8
-#gez_ET UTF-8
-#gez_ET@abegede UTF-8
-#gl_ES.UTF-8 UTF-8
-#gl_ES ISO-8859-1
-#gl_ES@euro ISO-8859-15
-#gu_IN UTF-8
-#gv_GB.UTF-8 UTF-8
-#gv_GB ISO-8859-1
-#ha_NG UTF-8
-#he_IL.UTF-8 UTF-8
-#he_IL ISO-8859-8
-#hi_IN UTF-8
-#hr_HR.UTF-8 UTF-8
-#hr_HR ISO-8859-2
-#hsb_DE.UTF-8 UTF-8
-#hsb_DE ISO-8859-2
-#hu_HU.UTF-8 UTF-8
-#hu_HU ISO-8859-2
-#hy_AM UTF-8
-#hy_AM.ARMSCII-8 ARMSCII-8
-#ia UTF-8
-#id_ID.UTF-8 UTF-8
-#id_ID ISO-8859-1
-#ig_NG UTF-8
-#ik_CA UTF-8
-#is_IS.UTF-8 UTF-8
-#is_IS ISO-8859-1
-#it_CH.UTF-8 UTF-8
-#it_CH ISO-8859-1
-#it_IT.UTF-8 UTF-8
-#it_IT ISO-8859-1
-#it_IT@euro ISO-8859-15
-#iu_CA UTF-8
-#iw_IL.UTF-8 UTF-8
-#iw_IL ISO-8859-8
-#ja_JP.UTF-8 UTF-8
-#ja_JP.EUC-JP EUC-JP
-#ka_GE.UTF-8 UTF-8
-#ka_GE GEORGIAN-PS
-#kk_KZ.UTF-8 UTF-8
-#kk_KZ PT154
-#kl_GL.UTF-8 UTF-8
-#kl_GL ISO-8859-1
-#km_KH UTF-8
-#kn_IN UTF-8
-#ko_KR.UTF-8 UTF-8
-#ko_KR.EUC-KR EUC-KR
-#ku_TR.UTF-8 UTF-8
-#ku_TR ISO-8859-9
-#kw_GB.UTF-8 UTF-8
-#kw_GB ISO-8859-1
-#ky_KG UTF-8
-#lg_UG.UTF-8 UTF-8
-#lg_UG ISO-8859-10
-#li_BE UTF-8
-#li_NL UTF-8
-#lo_LA UTF-8
-#lt_LT.UTF-8 UTF-8
-#lt_LT ISO-8859-13
-#lv_LV.UTF-8 UTF-8
-#lv_LV ISO-8859-13
-#mai_IN UTF-8
-#mg_MG.UTF-8 UTF-8
-#mg_MG ISO-8859-15
-#mi_NZ.UTF-8 UTF-8
-#mi_NZ ISO-8859-13
-#mk_MK.UTF-8 UTF-8
-#mk_MK ISO-8859-5
-#ml_IN UTF-8
-#mn_MN UTF-8
-#mr_IN UTF-8
-#ms_MY.UTF-8 UTF-8
-#ms_MY ISO-8859-1
-#mt_MT.UTF-8 UTF-8
-#mt_MT ISO-8859-3
-#nb_NO.UTF-8 UTF-8
-#nb_NO ISO-8859-1
-#nds_DE UTF-8
-#nds_NL UTF-8
-#ne_NP UTF-8
-#nl_BE.UTF-8 UTF-8
-#nl_BE ISO-8859-1
-#nl_BE@euro ISO-8859-15
-#nl_NL.UTF-8 UTF-8
-#nl_NL ISO-8859-1
-#nl_NL@euro ISO-8859-15
-#nn_NO.UTF-8 UTF-8
-#nn_NO ISO-8859-1
-#nr_ZA UTF-8
-#nso_ZA UTF-8
-#oc_FR.UTF-8 UTF-8
-#oc_FR ISO-8859-1
-#om_ET UTF-8
-#om_KE.UTF-8 UTF-8
-#om_KE ISO-8859-1
-#or_IN UTF-8
-#pa_IN UTF-8
-#pa_PK UTF-8
-#pap_AN UTF-8
-#pl_PL.UTF-8 UTF-8
-#pl_PL ISO-8859-2
-#pt_BR.UTF-8 UTF-8
-#pt_BR ISO-8859-1
-#pt_PT.UTF-8 UTF-8
-#pt_PT ISO-8859-1
-#pt_PT@euro ISO-8859-15
-#ro_RO.UTF-8 UTF-8
-#ro_RO ISO-8859-2
-#ru_RU.UTF-8 UTF-8
-#ru_RU.KOI8-R KOI8-R
-#ru_RU ISO-8859-5
-#ru_RU.CP1251 CP1251
-#ru_UA.UTF-8 UTF-8
-#ru_UA KOI8-U
-#rw_RW UTF-8
-#sa_IN UTF-8
-#sc_IT UTF-8
-#se_NO UTF-8
-#si_LK UTF-8
-#sid_ET UTF-8
-#sk_SK.UTF-8 UTF-8
-#sk_SK ISO-8859-2
-#sl_SI.UTF-8 UTF-8
-#sl_SI ISO-8859-2
-#so_DJ.UTF-8 UTF-8
-#so_DJ ISO-8859-1
-#so_ET UTF-8
-#so_KE.UTF-8 UTF-8
-#so_KE ISO-8859-1
-#so_SO.UTF-8 UTF-8
-#so_SO ISO-8859-1
-#sq_AL.UTF-8 UTF-8
-#sq_AL ISO-8859-1
-#sr_ME UTF-8
-#sr_RS UTF-8
-#sr_RS@latin UTF-8
-#ss_ZA UTF-8
-#st_ZA.UTF-8 UTF-8
-#st_ZA ISO-8859-1
-#sv_FI.UTF-8 UTF-8
-#sv_FI ISO-8859-1
-#sv_FI@euro ISO-8859-15
-#sv_SE.UTF-8 UTF-8
-#sv_SE ISO-8859-1
-#sv_SE.ISO-8859-15 ISO-8859-15
-#ta_IN UTF-8
-#te_IN UTF-8
-#tg_TJ.UTF-8 UTF-8
-#tg_TJ KOI8-T
-#th_TH.UTF-8 UTF-8
-#th_TH TIS-620
-#ti_ER UTF-8
-#ti_ET UTF-8
-#tig_ER UTF-8
-#tk_TM UTF-8
-#tl_PH.UTF-8 UTF-8
-#tl_PH ISO-8859-1
-#tn_ZA UTF-8
-#tr_CY.UTF-8 UTF-8
-#tr_CY ISO-8859-9
-#tr_TR.UTF-8 UTF-8
-#tr_TR ISO-8859-9
-#ts_ZA UTF-8
-#tt_RU.UTF-8 UTF-8
-#tt_RU@iqtelif.UTF-8 UTF-8
-#ug_CN UTF-8
-#uk_UA.UTF-8 UTF-8
-#uk_UA KOI8-U
-#ur_PK UTF-8
-#uz_UZ.UTF-8 UTF-8
-#uz_UZ ISO-8859-1
-#uz_UZ@cyrillic UTF-8
-#ve_ZA UTF-8
-#vi_VN UTF-8
-#vi_VN.TCVN TCVN5712-1
-#wa_BE.UTF-8 UTF-8
-#wa_BE ISO-8859-1
-#wa_BE@euro ISO-8859-15
-#wo_SN UTF-8
-#xh_ZA.UTF-8 UTF-8
-#xh_ZA ISO-8859-1
-#yi_US.UTF-8 UTF-8
-#yi_US CP1255
-#yo_NG UTF-8
-#zh_CN.UTF-8 UTF-8
-#zh_CN.GB18030 GB18030
-#zh_CN.GBK GBK
-#zh_CN GB2312
-#zh_HK.UTF-8 UTF-8
-#zh_HK BIG5-HKSCS
-#zh_SG.UTF-8 UTF-8
-#zh_SG.GBK GBK
-#zh_SG GB2312
-#zh_TW.UTF-8 UTF-8
-#zh_TW BIG5
-#zh_TW.EUC-TW EUC-TW
-#zu_ZA.UTF-8 UTF-8
-#zu_ZA ISO-8859-1
diff --git a/abs/core/gmp/PKGBUILD b/abs/core/gmp/PKGBUILD
index b747f73..0eee2df 100644
--- a/abs/core/gmp/PKGBUILD
+++ b/abs/core/gmp/PKGBUILD
@@ -1,27 +1,27 @@
-# $Id: PKGBUILD 14742 2008-10-10 10:19:37Z allan $
+# $Id: PKGBUILD 72634 2010-03-19 02:57:15Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
+
pkgname=gmp
-pkgver=4.2.4
-pkgrel=1.1
+pkgver=5.0.1
+pkgrel=1
pkgdesc="A free library for arbitrary precision arithmetic"
-arch=(i686 x86_64)
-depends=('gcc-libs' 'texinfo')
+arch=('i686' 'x86_64')
+url="http://gmplib.org/"
+depends=('gcc-libs' 'sh')
license=('LGPL3')
options=(!libtool)
install=gmp.install
source=(ftp://ftp.gnu.org/gnu/gmp/gmp-${pkgver}.tar.bz2)
-url="http://gmplib.org/"
-md5sums=('fc1e3b3a2a5038d4d74138d0b9cf8dbe')
+md5sums=('6bac6df75c192a13419dfd71d19240a7')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
[ "${CARCH}" = "i686" ] && export ABI="32"
- ./configure --prefix=/usr --enable-cxx --infodir=/usr/share/info || return 1
+ ./configure --build=$CHOST \
+ --prefix=/usr --infodir=/usr/share/info \
+ --enable-cxx || return 1
make || return 1
make check || return 1
make DESTDIR="${pkgdir}" install || return 1
- cd "${pkgdir}/usr/share/info"
- rm -f dir
- gzip * || return 1
}
diff --git a/abs/core/gmp/gmp.install b/abs/core/gmp/gmp.install
index 4f756bd..1c31ab3 100644
--- a/abs/core/gmp/gmp.install
+++ b/abs/core/gmp/gmp.install
@@ -2,6 +2,7 @@ info_dir=/usr/share/info
info_files=(gmp.info gmp.info-1 gmp.info-2)
post_install() {
+ [ -x usr/bin/install-info ] || return 0
for f in ${info_files[@]}; do
install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
done
@@ -12,6 +13,7 @@ post_upgrade() {
}
pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for f in ${info_files[@]}; do
install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
done
diff --git a/abs/core/gnutls/PKGBUILD b/abs/core/gnutls/PKGBUILD
index 6948722..ea0c443 100644
--- a/abs/core/gnutls/PKGBUILD
+++ b/abs/core/gnutls/PKGBUILD
@@ -1,26 +1,22 @@
-# $Id: PKGBUILD 35543 2009-04-13 20:57:08Z jgc $
+# $Id: PKGBUILD 72984 2010-03-21 17:04:24Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Notice:
-# When building a new major version, build, install, build again.
-#
pkgname=gnutls
-pkgver=2.6.5
-pkgrel=1
+pkgver=2.8.6
+pkgrel=4
pkgdesc="A library which provides a secure layer over a reliable transport layer"
arch=(i686 x86_64)
license=('GPL3' 'LGPL')
url="http://www.gnu.org/software/gnutls/"
install=gnutls.install
options=('libtool')
-depends=('gcc-libs>=4.3.3' 'libtasn1>=2.0' 'readline' 'zlib' 'libgcrypt>=1.4.4')
+depends=('gcc-libs>=4.4.3' 'libtasn1>=2.6' 'readline>=6.0' 'zlib' 'libgcrypt>=1.4.5' 'texinfo')
source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('92b92c36b616aa8bd69a9a0fb2b8eb24')
+md5sums=('eb0a6d7d3cb9ac684d971c14f9f6d3ba')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --with-zlib --disable-guile || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
- rm -f "${pkgdir}/usr/share/info/dir"
}
diff --git a/abs/core/gnutls/gnutls.install b/abs/core/gnutls/gnutls.install
index 0cf66fa..b9a5bae 100644
--- a/abs/core/gnutls/gnutls.install
+++ b/abs/core/gnutls/gnutls.install
@@ -3,7 +3,7 @@ filelist=(gnutls.info gnutls.info-1 gnutls.info-2 gnutls.info-3)
post_install() {
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
@@ -13,6 +13,6 @@ post_upgrade() {
pre_remove() {
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core/gobject-introspection/PKGBUILD b/abs/core/gobject-introspection/PKGBUILD
new file mode 100644
index 0000000..179c5bf
--- /dev/null
+++ b/abs/core/gobject-introspection/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 81938 2010-06-07 11:01:46Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+pkgname=gobject-introspection
+pkgver=0.6.14
+pkgrel=1
+pkgdesc="Introspection system for GObject-based libraries"
+url="http://live.gnome.org/GObjectInstrospection"
+arch=('x86_64' 'i686')
+license=('LGPL' 'GPL')
+depends=('libffi>=3.0.8' 'glib2>=2.24.1' 'python' 'cairo>=1.8.10')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.6/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('c4713bcbcebb06861738a8f630ab05289666e631f42f7abbf2e836978db7eba6')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-static || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+}
diff --git a/abs/core/gpm/ChangeLog b/abs/core/gpm/ChangeLog
index c6c6a14..847bb4d 100644
--- a/abs/core/gpm/ChangeLog
+++ b/abs/core/gpm/ChangeLog
@@ -1,3 +1,31 @@
+2009-12-05 Eric Belanger <eric@archlinux.org>
+
+ * gpm 1.20.6-5
+ * Fixed gpm.sh such that disable-paste is only run when gpm is running
+
+2009-12-05 Eric Belanger <eric@archlinux.org>
+
+ * gpm 1.20.6-4
+ * Added profile for extra security on multi-user-console (close FS#17243)
+ * Removed the need of texinfo depends
+
+2009-09-20 Eric Belanger <eric@archlinux.org>
+
+ * gpm 1.20.6-3
+ * Updated /dev/psaux to /dev/input/mice in stock config (close FS#16289)
+
+2009-09-20 Eric Belanger <eric@archlinux.org>
+
+ * gpm 1.20.6-2
+ * Updated stock config and fixed rc.d script (close FS#16126)
+ * Removed array in install scriptlet
+
+2009-02-09 Eric Belanger <eric@archlinux.org>
+
+ * gpm 1.20.6-1
+ * Upstream update
+ * Added info file support
+
2008-06-16 Eric Belanger <eric@archlinux.org>
* gpm 1.20.5-1
diff --git a/abs/core/gpm/PKGBUILD b/abs/core/gpm/PKGBUILD
index 7a7c571..12ecf4d 100644
--- a/abs/core/gpm/PKGBUILD
+++ b/abs/core/gpm/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 3002 2008-06-18 01:56:59Z eric $
+# $Id: PKGBUILD 60782 2009-12-07 00:52:55Z eric $
# Maintainer: Eric Belanger <eric@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=gpm
-pkgver=1.20.5
-pkgrel=1
+pkgver=1.20.6
+pkgrel=5
pkgdesc="A mouse server for the console and xterm"
arch=('i686' 'x86_64')
url="http://unix.schottelius.org/gpm/"
@@ -12,24 +12,25 @@ license=('GPL')
depends=('ncurses')
backup=('etc/conf.d/gpm')
options=('!makeflags')
-source=(http://unix.schottelius.org/gpm/archives/${pkgname}-${pkgver}.tar.bz2 \
- gpm gpm.conf.d)
-md5sums=('e55473932e4052f3b74c730dfefe0d15' 'c4d42a4725503a5524cae060a959a3d3'\
- '5f109341a7d1bb18c59d7c3a395d848a')
-sha1sums=('4a8c2109167da8e60055c25dadc383d02ba32538'
- 'c13ad1422d24af320e2abb9786c7eacef39b293c'
- '3bcb67027f0ad7dc393388fb02c261126671f9f5')
+install=gpm.install
+source=(http://www.nico.schottelius.org/software/gpm/archives/${pkgname}-${pkgver}.tar.bz2 \
+ gpm gpm.conf.d gpm.sh)
+md5sums=('6b534da16dc1b28ba828dea89e520f6f' '945ecde0836687e05c13ea837092ea6c'\
+ '63e599950946e5f5a649432510aacf4c' 'e391fe4599ce102615f9cd449c380d41')
+sha1sums=('f3bb9272878b7934968381c8b25edab359114150' '19e1feb1493373512a77801699df012d186336ea'\
+ 'e483f893b4e6b9e1221a208527d728ffefe5438e' '88fe5ff10916c68a87abc8418a56eb0073f69fa9')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --sysconfdir=/etc || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -D -m755 ../gpm ${startdir}/pkg/etc/rc.d/gpm || return 1
- install -D -m644 ../gpm.conf.d ${startdir}/pkg/etc/conf.d/gpm || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m755 ../gpm "${pkgdir}/etc/rc.d/gpm" || return 1
+ install -D -m644 ../gpm.conf.d "${pkgdir}/etc/conf.d/gpm" || return 1
+ install -D -m755 ../gpm.sh "${pkgdir}/etc/profile.d/gpm.sh" || return 1
# library fixes
- cd ${startdir}/pkg/usr/lib/
+ cd "${pkgdir}/usr/lib/"
ln -s libgpm.so.2.* libgpm.so || return 1
- chmod 755 ${startdir}/pkg/usr/lib/libgpm.so.* || return 1
+ chmod 755 "${pkgdir}"/usr/lib/libgpm.so.* || return 1
}
diff --git a/abs/core/gpm/gpm b/abs/core/gpm/gpm
index 4acc908..7b5213d 100755
--- a/abs/core/gpm/gpm
+++ b/abs/core/gpm/gpm
@@ -7,12 +7,13 @@ GPM_ARGS=
. /etc/rc.conf
. /etc/rc.d/functions
-PID=`pidof -o %PPID /usr/sbin/gpm`
+PID=$(pidof -o %PPID /usr/sbin/gpm)
case "$1" in
start)
stat_busy "Starting GPM Daemon"
[ -z "$PID" ] && /usr/sbin/gpm ${GPM_ARGS}
- if [ $? -gt 0 ]; then
+ PID=$(pidof -o %PPID /usr/sbin/gpm)
+ if [ -z "$PID" ]; then
stat_fail
else
add_daemon gpm
diff --git a/abs/core/gpm/gpm.conf.d b/abs/core/gpm/gpm.conf.d
index ed84f91..9d8c981 100644
--- a/abs/core/gpm/gpm.conf.d
+++ b/abs/core/gpm/gpm.conf.d
@@ -1,4 +1,4 @@
#
# Parameters to be passed to gpm
#
-GPM_ARGS="-m /dev/misc/psaux"
+GPM_ARGS="-m /dev/input/mice"
diff --git a/abs/core/gpm/gpm.install b/abs/core/gpm/gpm.install
new file mode 100644
index 0000000..2a1519a
--- /dev/null
+++ b/abs/core/gpm/gpm.install
@@ -0,0 +1,16 @@
+infodir=/usr/share/info
+file=gpm.info.gz
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+}
diff --git a/abs/core/gpm/gpm.sh b/abs/core/gpm/gpm.sh
new file mode 100755
index 0000000..af35a5f
--- /dev/null
+++ b/abs/core/gpm/gpm.sh
@@ -0,0 +1,3 @@
+case $( /usr/bin/tty ) in
+ /dev/tty[0-9]*) [ -n "$(pgrep gpm)" ] && /usr/bin/disable-paste ;;
+esac
diff --git a/abs/core/grub-gfx.tar.gz b/abs/core/grub-gfx.tar.gz
new file mode 100644
index 0000000..68f9e8a
--- /dev/null
+++ b/abs/core/grub-gfx.tar.gz
Binary files differ
diff --git a/abs/core/grub-gfx/040_all_grub-0.96-nxstack.patch b/abs/core/grub-gfx/040_all_grub-0.96-nxstack.patch
new file mode 100644
index 0000000..121941c
--- /dev/null
+++ b/abs/core/grub-gfx/040_all_grub-0.96-nxstack.patch
@@ -0,0 +1,623 @@
+Fix NX segfaulting on amd64.
+
+Patch by Peter Jones.
+
+http://lists.gnu.org/archive/html/bug-grub/2005-03/msg00011.html
+
+--- grub-0.97/grub/asmstub.c
++++ grub-0.97/grub/asmstub.c
+@@ -42,6 +42,7 @@
+ #include <sys/time.h>
+ #include <termios.h>
+ #include <signal.h>
++#include <sys/mman.h>
+
+ #ifdef __linux__
+ # include <sys/ioctl.h> /* ioctl */
+@@ -79,7 +80,7 @@
+ struct apm_info apm_bios_info;
+
+ /* Emulation requirements. */
+-char *grub_scratch_mem = 0;
++void *grub_scratch_mem = 0;
+
+ struct geometry *disks = 0;
+
+@@ -103,14 +104,62 @@
+ static unsigned int serial_speed;
+ #endif /* SIMULATE_SLOWNESS_OF_SERIAL */
+
++/* This allocates page-aligned storage of the specified size, which must be
++ * a multiple of the page size as determined by calling sysconf(_SC_PAGESIZE)
++ */
++#ifdef __linux__
++static void *
++grub_mmap_alloc(size_t len)
++{
++ int mmap_flags = MAP_ANONYMOUS|MAP_PRIVATE|MAP_EXECUTABLE;
++
++#ifdef MAP_32BIT
++ mmap_flags |= MAP_32BIT;
++#endif
++ /* Mark the simulated stack executable, as GCC uses stack trampolines
++ * to implement nested functions. */
++ return mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, mmap_flags, -1, 0);
++}
++#else /* !defined(__linux__) */
++static void *
++grub_mmap_alloc(size_t len)
++{
++ int fd = 0, offset = 0, ret = 0;
++ void *pa = MAP_FAILED;
++ char template[] = "/tmp/grub_mmap_alloc_XXXXXX";
++ errno_t e;
++
++ fd = mkstemp(template);
++ if (fd < 0)
++ return pa;
++
++ unlink(template);
++
++ ret = ftruncate(fd, len);
++ if (ret < 0)
++ return pa;
++
++ /* Mark the simulated stack executable, as GCC uses stack trampolines
++ * to implement nested functions. */
++ pa = mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC,
++ MAP_PRIVATE|MAP_EXECUTABLE, fd, offset);
++
++ e = errno;
++ close(fd);
++ errno = e;
++ return pa;
++}
++#endif /* defined(__linux__) */
++
+ /* The main entry point into this mess. */
+ int
+ grub_stage2 (void)
+ {
+ /* These need to be static, because they survive our stack transitions. */
+ static int status = 0;
+- static char *realstack;
+- char *scratch, *simstack;
++ static void *realstack;
++ void *simstack_alloc_base, *simstack;
++ size_t simstack_size, page_size;
+ int i;
+
+ /* We need a nested function so that we get a clean stack frame,
+@@ -140,9 +189,35 @@
+ }
+
+ assert (grub_scratch_mem == 0);
+- scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15);
+- assert (scratch);
+- grub_scratch_mem = (char *) ((((int) scratch) >> 4) << 4);
++
++ /* Allocate enough pages for 0x100000 + EXTENDED_SIZE + 15, and
++ * make sure the memory is aligned to a multiple of the system's
++ * page size */
++ page_size = sysconf (_SC_PAGESIZE);
++ simstack_size = ( 0x100000 + EXTENDED_MEMSIZE + 15);
++ if (simstack_size % page_size)
++ {
++ /* If we're not on a page_size boundary, round up to the next one */
++ simstack_size &= ~(page_size-1);
++ simstack_size += page_size;
++ }
++
++ /* Add one for a PROT_NONE boundary page at each end. */
++ simstack_size += 2 * page_size;
++
++ simstack_alloc_base = grub_mmap_alloc(simstack_size);
++ assert (simstack_alloc_base != MAP_FAILED);
++
++ /* mark pages above and below our simstack area as innaccessable.
++ * If the implementation we're using doesn't support that, then the
++ * new protection modes are undefined. It's safe to just ignore
++ * them, though. It'd be nice if we knew that we'd get a SEGV for
++ * touching the area, but that's all. it'd be nice to have. */
++ mprotect (simstack_alloc_base, page_size, PROT_NONE);
++ mprotect ((void *)((unsigned long)simstack_alloc_base +
++ simstack_size - page_size), page_size, PROT_NONE);
++
++ grub_scratch_mem = (void *)((unsigned long)simstack_alloc_base + page_size);
+
+ /* FIXME: simulate the memory holes using mprot, if available. */
+
+@@ -215,7 +290,7 @@
+ device_map = 0;
+ free (disks);
+ disks = 0;
+- free (scratch);
++ munmap(simstack_alloc_base, simstack_size);
+ grub_scratch_mem = 0;
+
+ if (serial_device)
+--- grub-0.97/stage2/builtins.c
++++ grub-0.97/stage2/builtins.c
+@@ -131,63 +131,98 @@
+ }
+
+
++/* blocklist_read_helper nee disk_read_blocklist_func was a nested
++ * function, to which pointers were taken and exposed globally. Even
++ * in the GNU-C nested functions extension, they have local linkage,
++ * and aren't guaranteed to be accessable *at all* outside of their
++ * containing scope.
++ *
++ * Above and beyond all of that, the variables within blocklist_func_context
++ * are originally local variables, with local (not even static) linkage,
++ * from within blocklist_func. These were each referenced by
++ * disk_read_blocklist_func, which is only called from other functions
++ * through a globally scoped pointer.
++ *
++ * The documentation in GCC actually uses the words "all hell will break
++ * loose" to describe this scenario.
++ *
++ * Also, "start_sector" was also used uninitialized, but gcc doesn't warn
++ * about it (possibly because of the scoping madness?)
++ */
++
++static struct {
++ int start_sector;
++ int num_sectors;
++ int num_entries;
++ int last_length;
++} blocklist_func_context = {
++ .start_sector = 0,
++ .num_sectors = 0,
++ .num_entries = 0,
++ .last_length = 0
++};
++
++/* Collect contiguous blocks into one entry as many as possible,
++ and print the blocklist notation on the screen. */
++static void
++blocklist_read_helper (int sector, int offset, int length)
++{
++ int *start_sector = &blocklist_func_context.start_sector;
++ int *num_sectors = &blocklist_func_context.num_sectors;
++ int *num_entries = &blocklist_func_context.num_entries;
++ int *last_length = &blocklist_func_context.last_length;
++
++ if (*num_sectors > 0)
++ {
++ if (*start_sector + *num_sectors == sector
++ && offset == 0 && *last_length == SECTOR_SIZE)
++ {
++ *num_sectors++;
++ *last_length = length;
++ return;
++ }
++ else
++ {
++ if (*last_length == SECTOR_SIZE)
++ grub_printf ("%s%d+%d", *num_entries ? "," : "",
++ *start_sector - part_start, *num_sectors);
++ else if (*num_sectors > 1)
++ grub_printf ("%s%d+%d,%d[0-%d]", *num_entries ? "," : "",
++ *start_sector - part_start, *num_sectors-1,
++ *start_sector + *num_sectors-1 - part_start,
++ *last_length);
++ else
++ grub_printf ("%s%d[0-%d]", *num_entries ? "," : "",
++ *start_sector - part_start, *last_length);
++ *num_entries++;
++ *num_sectors = 0;
++ }
++ }
++
++ if (offset > 0)
++ {
++ grub_printf("%s%d[%d-%d]", *num_entries ? "," : "",
++ sector-part_start, offset, offset+length);
++ *num_entries++;
++ }
++ else
++ {
++ *start_sector = sector;
++ *num_sectors = 1;
++ *last_length = length;
++ }
++}
++
+ /* blocklist */
+ static int
+ blocklist_func (char *arg, int flags)
+ {
+ char *dummy = (char *) RAW_ADDR (0x100000);
+- int start_sector;
+- int num_sectors = 0;
+- int num_entries = 0;
+- int last_length = 0;
+-
+- auto void disk_read_blocklist_func (int sector, int offset, int length);
+-
+- /* Collect contiguous blocks into one entry as many as possible,
+- and print the blocklist notation on the screen. */
+- auto void disk_read_blocklist_func (int sector, int offset, int length)
+- {
+- if (num_sectors > 0)
+- {
+- if (start_sector + num_sectors == sector
+- && offset == 0 && last_length == SECTOR_SIZE)
+- {
+- num_sectors++;
+- last_length = length;
+- return;
+- }
+- else
+- {
+- if (last_length == SECTOR_SIZE)
+- grub_printf ("%s%d+%d", num_entries ? "," : "",
+- start_sector - part_start, num_sectors);
+- else if (num_sectors > 1)
+- grub_printf ("%s%d+%d,%d[0-%d]", num_entries ? "," : "",
+- start_sector - part_start, num_sectors-1,
+- start_sector + num_sectors-1 - part_start,
+- last_length);
+- else
+- grub_printf ("%s%d[0-%d]", num_entries ? "," : "",
+- start_sector - part_start, last_length);
+- num_entries++;
+- num_sectors = 0;
+- }
+- }
+-
+- if (offset > 0)
+- {
+- grub_printf("%s%d[%d-%d]", num_entries ? "," : "",
+- sector-part_start, offset, offset+length);
+- num_entries++;
+- }
+- else
+- {
+- start_sector = sector;
+- num_sectors = 1;
+- last_length = length;
+- }
+- }
+
++ int *start_sector = &blocklist_func_context.start_sector;
++ int *num_sectors = &blocklist_func_context.num_sectors;
++ int *num_entries = &blocklist_func_context.num_entries;
++
+ /* Open the file. */
+ if (! grub_open (arg))
+ return 1;
+@@ -204,15 +241,15 @@
+ grub_printf (")");
+
+ /* Read in the whole file to DUMMY. */
+- disk_read_hook = disk_read_blocklist_func;
++ disk_read_hook = blocklist_read_helper;
+ if (! grub_read (dummy, -1))
+ goto fail;
+
+ /* The last entry may not be printed yet. Don't check if it is a
+ * full sector, since it doesn't matter if we read too much. */
+- if (num_sectors > 0)
+- grub_printf ("%s%d+%d", num_entries ? "," : "",
+- start_sector - part_start, num_sectors);
++ if (*num_sectors > 0)
++ grub_printf ("%s%d+%d", *num_entries ? "," : "",
++ *start_sector - part_start, *num_sectors);
+
+ grub_printf ("\n");
+
+@@ -1868,6 +1905,77 @@
+
+
+ /* install */
++static struct {
++ int saved_sector;
++ int installaddr;
++ int installlist;
++ char *stage2_first_buffer;
++} install_func_context = {
++ .saved_sector = 0,
++ .installaddr = 0,
++ .installlist = 0,
++ .stage2_first_buffer = NULL,
++};
++
++/* Save the first sector of Stage2 in STAGE2_SECT. */
++/* Formerly disk_read_savesect_func with local scope inside install_func */
++static void
++install_savesect_helper(int sector, int offset, int length)
++{
++ if (debug)
++ printf ("[%d]", sector);
++
++ /* ReiserFS has files which sometimes contain data not aligned
++ on sector boundaries. Returning an error is better than
++ silently failing. */
++ if (offset != 0 || length != SECTOR_SIZE)
++ errnum = ERR_UNALIGNED;
++
++ install_func_context.saved_sector = sector;
++}
++
++/* Write SECTOR to INSTALLLIST, and update INSTALLADDR and INSTALLSECT. */
++/* Formerly disk_read_blocklist_func with local scope inside install_func */
++static void
++install_blocklist_helper (int sector, int offset, int length)
++{
++ int *installaddr = &install_func_context.installaddr;
++ int *installlist = &install_func_context.installlist;
++ char **stage2_first_buffer = &install_func_context.stage2_first_buffer;
++ /* Was the last sector full? */
++ static int last_length = SECTOR_SIZE;
++
++ if (debug)
++ printf("[%d]", sector);
++
++ if (offset != 0 || last_length != SECTOR_SIZE)
++ {
++ /* We found a non-sector-aligned data block. */
++ errnum = ERR_UNALIGNED;
++ return;
++ }
++
++ last_length = length;
++
++ if (*((unsigned long *) (*installlist - 4))
++ + *((unsigned short *) *installlist) != sector
++ || *installlist == (int) *stage2_first_buffer + SECTOR_SIZE + 4)
++ {
++ *installlist -= 8;
++
++ if (*((unsigned long *) (*installlist - 8)))
++ errnum = ERR_WONT_FIT;
++ else
++ {
++ *((unsigned short *) (*installlist + 2)) = (*installaddr >> 4);
++ *((unsigned long *) (*installlist - 4)) = sector;
++ }
++ }
++
++ *((unsigned short *) *installlist) += 1;
++ *installaddr += 512;
++}
++
+ static int
+ install_func (char *arg, int flags)
+ {
+@@ -1875,8 +1983,12 @@
+ char *stage1_buffer = (char *) RAW_ADDR (0x100000);
+ char *stage2_buffer = stage1_buffer + SECTOR_SIZE;
+ char *old_sect = stage2_buffer + SECTOR_SIZE;
+- char *stage2_first_buffer = old_sect + SECTOR_SIZE;
+- char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE;
++ /* stage2_first_buffer used to be defined as:
++ * char *stage2_first_buffer = old_sect + SECTOR_SIZE; */
++ char **stage2_first_buffer = &install_func_context.stage2_first_buffer;
++ /* and stage2_second_buffer was:
++ * char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; */
++ char *stage2_second_buffer = old_sect + SECTOR_SIZE + SECTOR_SIZE;
+ /* XXX: Probably SECTOR_SIZE is reasonable. */
+ char *config_filename = stage2_second_buffer + SECTOR_SIZE;
+ char *dummy = config_filename + SECTOR_SIZE;
+@@ -1885,10 +1997,11 @@
+ int src_drive, src_partition, src_part_start;
+ int i;
+ struct geometry dest_geom, src_geom;
+- int saved_sector;
++ int *saved_sector = &install_func_context.saved_sector;
+ int stage2_first_sector, stage2_second_sector;
+ char *ptr;
+- int installaddr, installlist;
++ int *installaddr = &install_func_context.installaddr;
++ int *installlist = &install_func_context.installlist;
+ /* Point to the location of the name of a configuration file in Stage 2. */
+ char *config_file_location;
+ /* If FILE is a Stage 1.5? */
+@@ -1897,67 +2010,13 @@
+ int is_open = 0;
+ /* If LBA is forced? */
+ int is_force_lba = 0;
+- /* Was the last sector full? */
+- int last_length = SECTOR_SIZE;
+-
++
++ *stage2_first_buffer = old_sect + SECTOR_SIZE;
+ #ifdef GRUB_UTIL
+ /* If the Stage 2 is in a partition mounted by an OS, this will store
+ the filename under the OS. */
+ char *stage2_os_file = 0;
+ #endif /* GRUB_UTIL */
+-
+- auto void disk_read_savesect_func (int sector, int offset, int length);
+- auto void disk_read_blocklist_func (int sector, int offset, int length);
+-
+- /* Save the first sector of Stage2 in STAGE2_SECT. */
+- auto void disk_read_savesect_func (int sector, int offset, int length)
+- {
+- if (debug)
+- printf ("[%d]", sector);
+-
+- /* ReiserFS has files which sometimes contain data not aligned
+- on sector boundaries. Returning an error is better than
+- silently failing. */
+- if (offset != 0 || length != SECTOR_SIZE)
+- errnum = ERR_UNALIGNED;
+-
+- saved_sector = sector;
+- }
+-
+- /* Write SECTOR to INSTALLLIST, and update INSTALLADDR and
+- INSTALLSECT. */
+- auto void disk_read_blocklist_func (int sector, int offset, int length)
+- {
+- if (debug)
+- printf("[%d]", sector);
+-
+- if (offset != 0 || last_length != SECTOR_SIZE)
+- {
+- /* We found a non-sector-aligned data block. */
+- errnum = ERR_UNALIGNED;
+- return;
+- }
+-
+- last_length = length;
+-
+- if (*((unsigned long *) (installlist - 4))
+- + *((unsigned short *) installlist) != sector
+- || installlist == (int) stage2_first_buffer + SECTOR_SIZE + 4)
+- {
+- installlist -= 8;
+-
+- if (*((unsigned long *) (installlist - 8)))
+- errnum = ERR_WONT_FIT;
+- else
+- {
+- *((unsigned short *) (installlist + 2)) = (installaddr >> 4);
+- *((unsigned long *) (installlist - 4)) = sector;
+- }
+- }
+-
+- *((unsigned short *) installlist) += 1;
+- installaddr += 512;
+- }
+
+ /* First, check the GNU-style long option. */
+ while (1)
+@@ -1987,10 +2049,10 @@
+ addr = skip_to (0, file);
+
+ /* Get the installation address. */
+- if (! safe_parse_maxint (&addr, &installaddr))
++ if (! safe_parse_maxint (&addr, installaddr))
+ {
+ /* ADDR is not specified. */
+- installaddr = 0;
++ *installaddr = 0;
+ ptr = addr;
+ errnum = 0;
+ }
+@@ -2084,17 +2146,17 @@
+ = (dest_drive & BIOS_FLAG_FIXED_DISK);
+
+ /* Read the first sector of Stage 2. */
+- disk_read_hook = disk_read_savesect_func;
+- if (grub_read (stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE)
++ disk_read_hook = install_savesect_helper;
++ if (grub_read (*stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE)
+ goto fail;
+
+- stage2_first_sector = saved_sector;
++ stage2_first_sector = *saved_sector;
+
+ /* Read the second sector of Stage 2. */
+ if (grub_read (stage2_second_buffer, SECTOR_SIZE) != SECTOR_SIZE)
+ goto fail;
+
+- stage2_second_sector = saved_sector;
++ stage2_second_sector = *saved_sector;
+
+ /* Check for the version of Stage 2. */
+ if (*((short *) (stage2_second_buffer + STAGE2_VER_MAJ_OFFS))
+@@ -2110,27 +2172,27 @@
+
+ /* If INSTALLADDR is not specified explicitly in the command-line,
+ determine it by the Stage 2 id. */
+- if (! installaddr)
++ if (! *installaddr)
+ {
+ if (! is_stage1_5)
+ /* Stage 2. */
+- installaddr = 0x8000;
++ *installaddr = 0x8000;
+ else
+ /* Stage 1.5. */
+- installaddr = 0x2000;
++ *installaddr = 0x2000;
+ }
+
+ *((unsigned long *) (stage1_buffer + STAGE1_STAGE2_SECTOR))
+ = stage2_first_sector;
+ *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_ADDRESS))
+- = installaddr;
++ = *installaddr;
+ *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_SEGMENT))
+- = installaddr >> 4;
++ = *installaddr >> 4;
+
+- i = (int) stage2_first_buffer + SECTOR_SIZE - 4;
++ i = (int) *stage2_first_buffer + SECTOR_SIZE - 4;
+ while (*((unsigned long *) i))
+ {
+- if (i < (int) stage2_first_buffer
++ if (i < (int) *stage2_first_buffer
+ || (*((int *) (i - 4)) & 0x80000000)
+ || *((unsigned short *) i) >= 0xA00
+ || *((short *) (i + 2)) == 0)
+@@ -2144,13 +2206,13 @@
+ i -= 8;
+ }
+
+- installlist = (int) stage2_first_buffer + SECTOR_SIZE + 4;
+- installaddr += SECTOR_SIZE;
++ *installlist = (int) *stage2_first_buffer + SECTOR_SIZE + 4;
++ *installaddr += SECTOR_SIZE;
+
+ /* Read the whole of Stage2 except for the first sector. */
+ grub_seek (SECTOR_SIZE);
+
+- disk_read_hook = disk_read_blocklist_func;
++ disk_read_hook = install_blocklist_helper;
+ if (! grub_read (dummy, -1))
+ goto fail;
+
+@@ -2233,7 +2295,7 @@
+ /* Skip the first sector. */
+ grub_seek (SECTOR_SIZE);
+
+- disk_read_hook = disk_read_savesect_func;
++ disk_read_hook = install_savesect_helper;
+ if (grub_read (stage2_buffer, SECTOR_SIZE) != SECTOR_SIZE)
+ goto fail;
+
+@@ -2303,7 +2365,7 @@
+ else
+ #endif /* GRUB_UTIL */
+ {
+- if (! devwrite (saved_sector - part_start, 1, stage2_buffer))
++ if (! devwrite (*saved_sector - part_start, 1, stage2_buffer))
+ goto fail;
+ }
+ }
+@@ -2325,7 +2387,7 @@
+ goto fail;
+ }
+
+- if (fwrite (stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE)
++ if (fwrite (*stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE)
+ {
+ fclose (fp);
+ errnum = ERR_WRITE;
+@@ -2352,7 +2414,7 @@
+ goto fail;
+
+ if (! devwrite (stage2_first_sector - src_part_start, 1,
+- stage2_first_buffer))
++ *stage2_first_buffer))
+ goto fail;
+
+ if (! devwrite (stage2_second_sector - src_part_start, 1,
+--- grub-0.97/stage2/shared.h
++++ grub-0.97/stage2/shared.h
+@@ -36,8 +36,8 @@
+
+ /* Maybe redirect memory requests through grub_scratch_mem. */
+ #ifdef GRUB_UTIL
+-extern char *grub_scratch_mem;
+-# define RAW_ADDR(x) ((x) + (int) grub_scratch_mem)
++extern void *grub_scratch_mem;
++# define RAW_ADDR(x) ((x) + (unsigned long) grub_scratch_mem)
+ # define RAW_SEG(x) (RAW_ADDR ((x) << 4) >> 4)
+ #else
+ # define RAW_ADDR(x) (x)
diff --git a/abs/core/grub-gfx/05-grub-0.97-initrdaddr.diff b/abs/core/grub-gfx/05-grub-0.97-initrdaddr.diff
new file mode 100644
index 0000000..ccf5f3e
--- /dev/null
+++ b/abs/core/grub-gfx/05-grub-0.97-initrdaddr.diff
@@ -0,0 +1,16 @@
+--- grub-0.96/stage2/boot.c
++++ grub-0.96/stage2/boot.c
+@@ -824,8 +824,11 @@
+ moveto = (mbi.mem_upper + 0x400) << 10;
+
+ moveto = (moveto - len) & 0xfffff000;
+- max_addr = (lh->header == LINUX_MAGIC_SIGNATURE && lh->version >= 0x0203
+- ? lh->initrd_addr_max : LINUX_INITRD_MAX_ADDRESS);
++ max_addr = LINUX_INITRD_MAX_ADDRESS;
++ if (lh->header == LINUX_MAGIC_SIGNATURE &&
++ lh->version >= 0x0203 &&
++ lh->initrd_addr_max < max_addr)
++ max_addr = lh->initrd_addr_max;
+ if (moveto + len >= max_addr)
+ moveto = (max_addr - len) & 0xfffff000;
+
diff --git a/abs/core/grub-gfx/PKGBUILD b/abs/core/grub-gfx/PKGBUILD
new file mode 100644
index 0000000..5d95294
--- /dev/null
+++ b/abs/core/grub-gfx/PKGBUILD
@@ -0,0 +1,106 @@
+# Maintainer: Douglas Soares de Andrade <dsandrade@gmail.com>
+# Contributor: judd <jvinet@zeroflux.org>
+# Contributor: Mario A. Vazquez
+# Contributor: Jerzy Goca <juras256@epf.pl>
+
+pkgname=grub
+pkgver=0.97
+pkgrel=43
+pkgdesc="A GNU multiboot boot loader"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnu.org/software/grub/"
+depends=('ncurses')
+makedepends=('automake>=1.10' 'autoconf>=2.61' 'patch')
+#conflicts=('grub')
+groups=('base')
+provides=('grub')
+source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz \
+ menu.lst install-grub grub-0.97-graphics.patch \
+ splash.xpm.gz grub-inode-size.patch \
+ 040_all_grub-0.96-nxstack.patch \
+ 05-grub-0.97-initrdaddr.diff ext4.patch \
+ i2o.patch special-devices.patch more-raid.patch intelmac.patch)
+backup=('boot/grub/menu.lst')
+install=grub-gfx.install
+
+build() {
+ cd $startdir/src/grub-$pkgver
+
+ #set destination architecture here
+ DESTARCH="i686"
+ #DESTARCH="x86_64"
+
+ # graphics patch
+ patch -p1 < ../grub-0.97-graphics.patch || return 1
+
+ # optimizations break the build -- disable them
+ # adding special devices to grub, patches are from fedora
+ patch -Np1 -i ../special-devices.patch || return 1
+ patch -Np1 -i ../i2o.patch || return 1
+ patch -Np1 -i ../more-raid.patch || return 1
+ patch -Np1 -i ../intelmac.patch || return 1
+ patch -Np1 -i ../grub-inode-size.patch || return 1
+ patch -Np1 -i ../ext4.patch || return 1
+
+ # correcting problems for new wersion of autotools
+ sed -i -e'/^AC_PROG_CC/ a\AM_PROG_CC_C_O\ ' configure.ac
+ sed -i -e'/^AC_PROG_CC/ a\AM_PROG_AS\ ' configure.ac
+ aclocal
+ autoconf
+ automake
+
+ #arch64 fixes for static build
+ if [ "$CARCH" = "x86_64" ]; then
+ echo "this package has to be build on i686, won't compile on x86_64"
+ sleep 5
+ else
+ if [ "$DESTARCH" = "x86_64" ]; then
+ # patch from gentoo for fixing a segfault
+ patch -Np1 -i ../040_all_grub-0.96-nxstack.patch || return 1
+ # patch from frugalware to make it boot when more than 2GB ram installed
+ patch -Np1 -i ../05-grub-0.97-initrdaddr.diff || return 1
+ CFLAGS="-static" ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin
+ else
+ CFLAGS= ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin
+ fi
+ fi
+
+ CFLAGS= make || return 1
+ make DESTDIR=$startdir/pkg install
+ install -D -m644 ../menu.lst $startdir/pkg/boot/grub/menu.lst
+ install -D -m755 ../install-grub $startdir/pkg/sbin/install-grub
+
+ # symlink for compatibility with the <=0.7 installer
+ mkdir -p $startdir/pkg/usr/share
+ ln -s ../lib/grub $startdir/pkg/usr/share/grub
+
+ # splashimage xpm install
+ install -D -m644 $startdir/splash.xpm.gz $startdir/pkg/boot/grub/splash.xpm.gz
+
+ # Create a symlink to people that was using it
+ pushd $startdir/pkg/boot/grub/
+ ln -s splash.xpm.gz arch.xpm.gz
+ popd
+
+ rm -f $pkgdir/usr/share/info/dir || return 1
+
+ if [ "$DESTARCH" = "x86_64" ]; then
+ # fool makepkg into building a x86_64 package
+ export CARCH="x86_64"
+ fi
+
+}
+md5sums=('cd3f3eb54446be6003156158d51f4884'
+ '58cfec4abda85307f779147ab9a6be48'
+ '3182c4ae4963a16930bc772bba89dacf'
+ '12f043616b51ce2ba82e46c9186a528d'
+ '342f59f24cf5de5f013eacda68e617eb'
+ 'ada26cbc681907823cc4ff2a55b97866'
+ 'eb9d69c46af3a0667c1f651817d7f075'
+ 'ccd2d757e79e3a03dc19ede7391ed328'
+ '39e0f9a05b7e04aceb24fc7bc4893e3d'
+ '826fdbf446067f9861baf9f6a69a4583'
+ '49f6d4bcced0bc8bbcff273f3254bbfa'
+ 'f41f702014a064918d7afc6fc23baa6e'
+ '175dc6b9f4ab94e8056c3afb3e34460a')
diff --git a/abs/core/grub-gfx/ext4.patch b/abs/core/grub-gfx/ext4.patch
new file mode 100644
index 0000000..8a2f9bd
--- /dev/null
+++ b/abs/core/grub-gfx/ext4.patch
@@ -0,0 +1,263 @@
+diff -ruNp grub-0.97/stage2/fsys_ext2fs.c grub-0.97-patch/stage2/fsys_ext2fs.c
+--- grub-0.97/stage2/fsys_ext2fs.c 2004-08-08 20:19:18.000000000 +0200
++++ grub-0.97-patch/stage2/fsys_ext2fs.c 2007-12-29 16:25:19.000000000
++0100
+@@ -51,6 +51,9 @@ typedef unsigned int __u32;
+ #define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1)
+ #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
+
++/* Inode flags */
++#define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */
++
+ /* include/linux/ext2_fs.h */
+ struct ext2_super_block
+ {
+@@ -191,6 +194,42 @@ struct ext2_dir_entry
+ #define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \
+ ~EXT2_DIR_ROUND)
+
++/* linux/ext4_fs_extents.h */
++/*
++ * This is the extent on-disk structure.
++ * It's used at the bottom of the tree.
++ */
++struct ext4_extent {
++ __u32 ee_block; /* first logical block extent covers */
++ __u16 ee_len; /* number of blocks covered by extent */
++ __u16 ee_start_hi; /* high 16 bits of physical block */
++ __u32 ee_start; /* low 32 bits of physical block */
++};
++
++/*
++ * This is index on-disk structure.
++ * It's used at all the levels except the bottom.
++ */
++struct ext4_extent_idx {
++ __u32 ei_block; /* index covers logical blocks from 'block' */
++ __u32 ei_leaf; /* pointer to the physical block of the next *
++ * level. leaf or next index could be there */
++ __u16 ei_leaf_hi; /* high 16 bits of physical block */
++ __u16 ei_unused;
++};
++
++/*
++ * Each block (leaves and indexes), even inode-stored has header.
++ */
++struct ext4_extent_header {
++ __u16 eh_magic; /* probably will support different formats */
++ __u16 eh_entries; /* number of valid entries */
++ __u16 eh_max; /* capacity of store in entries */
++ __u16 eh_depth; /* has tree real underlying blocks? */
++ __u32 eh_generation; /* generation of the tree */
++};
++
++#define EXT4_EXT_MAGIC 0xf30a
+
+ /* ext2/super.c */
+ #define log2(n) ffz(~(n))
+@@ -279,6 +318,26 @@ ext2_rdfsb (int fsblock, int buffer)
+ EXT2_BLOCK_SIZE (SUPERBLOCK), (char *) buffer);
+ }
+
++/* Walk through extents index tree to find the good leaf */
++static struct ext4_extent_header *
++ext4_recurse_extent_index(struct ext4_extent_header *extent_block, int logical_block)
++{
++ int i;
++ struct ext4_extent_idx *index = (struct ext4_extent_idx *) (extent_block + 1);
++ if (extent_block->eh_magic != EXT4_EXT_MAGIC)
++ return NULL;
++ if (extent_block->eh_depth == 0)
++ return extent_block;
++ for (i = 0; i < extent_block->eh_entries; i++)
++ {
++ if (logical_block < index[i].ei_block)
++ break;
++ }
++ if (i == 0 || !ext2_rdfsb(index[i-1].ei_leaf, DATABLOCK1))
++ return NULL;
++ return (ext4_recurse_extent_index((struct ext4_extent_header *) DATABLOCK1, logical_block));
++}
++
+ /* from
+ ext2/inode.c:ext2_bmap()
+ */
+--- grub-0.97/stage2/fsys_ext2fs.c~ 2008-12-28 20:19:00.000000000 +0100
++++ grub-0.97/stage2/fsys_ext2fs.c 2008-12-28 20:19:00.000000000 +0100
+@@ -366,83 +366,106 @@
+ }
+ printf ("logical block %d\n", logical_block);
+ #endif /* E2DEBUG */
+-
+- /* if it is directly pointed to by the inode, return that physical addr */
+- if (logical_block < EXT2_NDIR_BLOCKS)
+- {
+-#ifdef E2DEBUG
+- printf ("returning %d\n", (unsigned char *) (INODE->i_block[logical_block]));
+- printf ("returning %d\n", INODE->i_block[logical_block]);
+-#endif /* E2DEBUG */
+- return INODE->i_block[logical_block];
+- }
+- /* else */
+- logical_block -= EXT2_NDIR_BLOCKS;
+- /* try the indirect block */
+- if (logical_block < EXT2_ADDR_PER_BLOCK (SUPERBLOCK))
++ /* standard ext2 inode */
++ if (!(INODE->i_flags & EXT4_EXTENTS_FL))
+ {
+- if (mapblock1 != 1
+- && !ext2_rdfsb (INODE->i_block[EXT2_IND_BLOCK], DATABLOCK1))
+- {
+- errnum = ERR_FSYS_CORRUPT;
+- return -1;
+- }
+- mapblock1 = 1;
+- return ((__u32 *) DATABLOCK1)[logical_block];
+- }
+- /* else */
+- logical_block -= EXT2_ADDR_PER_BLOCK (SUPERBLOCK);
+- /* now try the double indirect block */
+- if (logical_block < (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2)))
+- {
+- int bnum;
+- if (mapblock1 != 2
+- && !ext2_rdfsb (INODE->i_block[EXT2_DIND_BLOCK], DATABLOCK1))
+- {
+- errnum = ERR_FSYS_CORRUPT;
+- return -1;
+- }
+- mapblock1 = 2;
+- if ((bnum = (((__u32 *) DATABLOCK1)
+- [logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)]))
+- != mapblock2
+- && !ext2_rdfsb (bnum, DATABLOCK2))
+- {
+- errnum = ERR_FSYS_CORRUPT;
+- return -1;
+- }
+- mapblock2 = bnum;
++ /* if it is directly pointed to by the inode, return that physical addr */
++ if (logical_block < EXT2_NDIR_BLOCKS)
++ {
++#ifdef E2DEBUG
++ printf ("returning %d\n", (unsigned char *) (INODE->i_block[logical_block]));
++ printf ("returning %d\n", INODE->i_block[logical_block]);
++#endif /* E2DEBUG */
++ return INODE->i_block[logical_block];
++ }
++ /* else */
++ logical_block -= EXT2_NDIR_BLOCKS;
++ /* try the indirect block */
++ if (logical_block < EXT2_ADDR_PER_BLOCK (SUPERBLOCK))
++ {
++ if (mapblock1 != 1
++ && !ext2_rdfsb (INODE->i_block[EXT2_IND_BLOCK], DATABLOCK1))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ mapblock1 = 1;
++ return ((__u32 *) DATABLOCK1)[logical_block];
++ }
++ /* else */
++ logical_block -= EXT2_ADDR_PER_BLOCK (SUPERBLOCK);
++ /* now try the double indirect block */
++ if (logical_block < (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2)))
++ {
++ int bnum;
++ if (mapblock1 != 2
++ && !ext2_rdfsb (INODE->i_block[EXT2_DIND_BLOCK], DATABLOCK1))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ mapblock1 = 2;
++ if ((bnum = (((__u32 *) DATABLOCK1)
++ [logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)]))
++ != mapblock2
++ && !ext2_rdfsb (bnum, DATABLOCK2))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ mapblock2 = bnum;
++ return ((__u32 *) DATABLOCK2)
++ [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
++ }
++ /* else */
++ mapblock2 = -1;
++ logical_block -= (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2));
++ if (mapblock1 != 3
++ && !ext2_rdfsb (INODE->i_block[EXT2_TIND_BLOCK], DATABLOCK1))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ mapblock1 = 3;
++ if (!ext2_rdfsb (((__u32 *) DATABLOCK1)
++ [logical_block >> (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)
++ * 2)],
++ DATABLOCK2))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ if (!ext2_rdfsb (((__u32 *) DATABLOCK2)
++ [(logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK))
++ & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)],
++ DATABLOCK2))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
+ return ((__u32 *) DATABLOCK2)
+- [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
+- }
+- /* else */
+- mapblock2 = -1;
+- logical_block -= (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2));
+- if (mapblock1 != 3
+- && !ext2_rdfsb (INODE->i_block[EXT2_TIND_BLOCK], DATABLOCK1))
+- {
+- errnum = ERR_FSYS_CORRUPT;
+- return -1;
++ [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
+ }
+- mapblock1 = 3;
+- if (!ext2_rdfsb (((__u32 *) DATABLOCK1)
+- [logical_block >> (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)
+- * 2)],
+- DATABLOCK2))
+- {
+- errnum = ERR_FSYS_CORRUPT;
+- return -1;
+- }
+- if (!ext2_rdfsb (((__u32 *) DATABLOCK2)
+- [(logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK))
+- & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)],
+- DATABLOCK2))
++ /* inode is in extents format */
++ else
+ {
++ int i;
++ struct ext4_extent_header *extent_hdr = ext4_recurse_extent_index((struct ext4_extent_header *) INODE->i_block, logical_block);
++ struct ext4_extent *extent = (struct ext4_extent *) (extent_hdr + 1);
++ if ( extent_hdr == NULL || extent_hdr->eh_magic != EXT4_EXT_MAGIC)
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ for (i = 0; i<extent_hdr->eh_entries; i++)
++ {
++ if (extent[i].ee_block <= logical_block && logical_block < extent[i].ee_block + extent[i].ee_len && !(extent[i].ee_len>>15))
++ return (logical_block - extent[i].ee_block + extent[i].ee_start);
++ }
++ /* We should not arrive here */
+ errnum = ERR_FSYS_CORRUPT;
+ return -1;
+ }
+- return ((__u32 *) DATABLOCK2)
+- [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
+ }
+
+ /* preconditions: all preconds of ext2fs_block_map */
diff --git a/abs/core/grub-gfx/grub-0.97-graphics.patch b/abs/core/grub-gfx/grub-0.97-graphics.patch
new file mode 100644
index 0000000..e0baa90
--- /dev/null
+++ b/abs/core/grub-gfx/grub-0.97-graphics.patch
@@ -0,0 +1,1293 @@
+diff -urpN grub-0.97/configure.ac grub-0.97-gfx/configure.ac
+--- grub-0.97/configure.ac 2005-10-13 16:27:23.000000000 -0400
++++ grub-0.97-gfx/configure.ac 2005-10-13 16:27:35.000000000 -0400
+@@ -595,6 +595,11 @@ AC_ARG_ENABLE(diskless,
+ [ --enable-diskless enable diskless support])
+ AM_CONDITIONAL(DISKLESS_SUPPORT, test "x$enable_diskless" = xyes)
+
++dnl Graphical splashscreen support
++AC_ARG_ENABLE(graphics,
++ [ --disable-graphics disable graphics terminal support])
++AM_CONDITIONAL(GRAPHICS_SUPPORT, test "x$enable_graphics" != xno)
++
+ dnl Hercules terminal
+ AC_ARG_ENABLE(hercules,
+ [ --disable-hercules disable hercules terminal support])
+diff -urpN grub-0.97/stage2/Makefile.am grub-0.97-gfx/stage2/Makefile.am
+--- grub-0.97/stage2/Makefile.am 2005-10-13 16:27:23.000000000 -0400
++++ grub-0.97-gfx/stage2/Makefile.am 2005-10-13 16:27:35.000000000 -0400
+@@ -7,7 +7,7 @@ noinst_HEADERS = apic.h defs.h dir.h dis
+ fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \
+ imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \
+ nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \
+- terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h
++ terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h graphics.h
+ EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS)
+
+ # For <stage1.h>.
+@@ -19,7 +19,7 @@ libgrub_a_SOURCES = boot.c builtins.c ch
+ disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \
+ fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \
+ fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \
+- terminfo.c tparm.c
++ terminfo.c tparm.c graphics.c
+ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \
+ -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \
+ -DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \
+@@ -79,8 +79,14 @@ else
+ HERCULES_FLAGS =
+ endif
+
++if GRAPHICS_SUPPORT
++GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1
++else
++GRAPHICS_FLAGS =
++endif
++
+ STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+- $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS)
++ $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) $(GRAPHICS_FLAGS)
+
+ STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000
+ STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1
+@@ -90,7 +96,8 @@ pre_stage2_exec_SOURCES = asm.S bios.c b
+ cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \
+ fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \
+ fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \
+- hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c
++ hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c \
++ graphics.c
+ pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
+ pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
+ pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK)
+diff -urpN grub-0.97/stage2/asm.S grub-0.97-gfx/stage2/asm.S
+--- grub-0.97/stage2/asm.S 2005-10-13 16:27:23.000000000 -0400
++++ grub-0.97-gfx/stage2/asm.S 2005-10-13 16:27:35.000000000 -0400
+@@ -2216,6 +2216,156 @@ ENTRY(console_setcursor)
+ pop %ebx
+ pop %ebp
+ ret
++
++/* graphics mode functions */
++#ifdef SUPPORT_GRAPHICS
++VARIABLE(cursorX)
++.word 0
++VARIABLE(cursorY)
++.word 0
++VARIABLE(cursorCount)
++.word 0
++VARIABLE(cursorBuf)
++.byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
++
++
++/*
++ * int set_videomode(mode)
++ * BIOS call "INT 10H Function 0h" to set video mode
++ * Call with %ah = 0x0
++ * %al = video mode
++ * Returns old videomode.
++ */
++ENTRY(set_videomode)
++ push %ebp
++ push %ebx
++ push %ecx
++
++ movb 0x10(%esp), %cl
++
++ call EXT_C(prot_to_real)
++ .code16
++
++ xorw %bx, %bx
++ movb $0xf, %ah
++ int $0x10 /* Get Current Video mode */
++ movb %al, %ch
++ xorb %ah, %ah
++ movb %cl, %al
++ int $0x10 /* Set Video mode */
++
++ DATA32 call EXT_C(real_to_prot)
++ .code32
++
++ xorb %ah, %ah
++ movb %ch, %al
++
++ pop %ecx
++ pop %ebx
++ pop %ebp
++ ret
++
++
++/*
++ * unsigned char * graphics_get_font()
++ * BIOS call "INT 10H Function 11h" to set font
++ * Call with %ah = 0x11
++ */
++ENTRY(graphics_get_font)
++ push %ebp
++ push %ebx
++ push %ecx
++ push %edx
++
++ call EXT_C(prot_to_real)
++ .code16
++
++ movw $0x1130, %ax
++ movb $6, %bh /* font 8x16 */
++ int $0x10
++ movw %bp, %dx
++ movw %es, %cx
++
++ DATA32 call EXT_C(real_to_prot)
++ .code32
++
++ xorl %eax, %eax
++ movw %cx, %ax
++ shll $4, %eax
++ movw %dx, %ax
++
++ pop %edx
++ pop %ecx
++ pop %ebx
++ pop %ebp
++ ret
++
++
++
++/*
++ * graphics_set_palette(index, red, green, blue)
++ * BIOS call "INT 10H Function 10h" to set individual dac register
++ * Call with %ah = 0x10
++ * %bx = register number
++ * %ch = new value for green (0-63)
++ * %cl = new value for blue (0-63)
++ * %dh = new value for red (0-63)
++ */
++
++ENTRY(graphics_set_palette)
++ push %ebp
++ push %eax
++ push %ebx
++ push %ecx
++ push %edx
++
++ movw $0x3c8, %bx /* address write mode register */
++
++ /* wait vertical retrace */
++
++ movw $0x3da, %dx
++l1b: inb %dx, %al /* wait vertical active display */
++ test $8, %al
++ jnz l1b
++
++l2b: inb %dx, %al /* wait vertical retrace */
++ test $8, %al
++ jnz l2b
++
++ mov %bx, %dx
++ movb 0x18(%esp), %al /* index */
++ outb %al, %dx
++ inc %dx
++
++ movb 0x1c(%esp), %al /* red */
++ outb %al, %dx
++
++ movb 0x20(%esp), %al /* green */
++ outb %al, %dx
++
++ movb 0x24(%esp), %al /* blue */
++ outb %al, %dx
++
++ movw 0x18(%esp), %bx
++
++ call EXT_C(prot_to_real)
++ .code16
++
++ movb %bl, %bh
++ movw $0x1000, %ax
++ int $0x10
++
++ DATA32 call EXT_C(real_to_prot)
++ .code32
++
++ pop %edx
++ pop %ecx
++ pop %ebx
++ pop %eax
++ pop %ebp
++ ret
++
++#endif /* SUPPORT_GRAPHICS */
+
+ /*
+ * getrtsecs()
+diff -urpN grub-0.97/stage2/builtins.c grub-0.97-gfx/stage2/builtins.c
+--- grub-0.97/stage2/builtins.c 2005-10-13 16:27:23.000000000 -0400
++++ grub-0.97-gfx/stage2/builtins.c 2005-10-13 16:27:35.000000000 -0400
+@@ -852,6 +852,138 @@ static struct builtin builtin_dhcp =
+ };
+ #endif /* SUPPORT_NETBOOT */
+
++static int terminal_func (char *arg, int flags);
++
++#ifdef SUPPORT_GRAPHICS
++
++static int splashimage_func(char *arg, int flags) {
++ char splashimage[64];
++ int i;
++
++ /* filename can only be 64 characters due to our buffer size */
++ if (strlen(arg) > 63)
++ return 1;
++ if (flags == BUILTIN_CMDLINE) {
++ if (!grub_open(arg))
++ return 1;
++ grub_close();
++ }
++
++ strcpy(splashimage, arg);
++
++ /* get rid of TERM_NEED_INIT from the graphics terminal. */
++ for (i = 0; term_table[i].name; i++) {
++ if (grub_strcmp (term_table[i].name, "graphics") == 0) {
++ term_table[i].flags &= ~TERM_NEED_INIT;
++ break;
++ }
++ }
++
++ graphics_set_splash(splashimage);
++
++ if (flags == BUILTIN_CMDLINE && graphics_inited) {
++ graphics_end();
++ graphics_init();
++ graphics_cls();
++ }
++
++ /* FIXME: should we be explicitly switching the terminal as a
++ * side effect here? */
++ terminal_func("graphics", flags);
++
++ return 0;
++}
++
++static struct builtin builtin_splashimage =
++{
++ "splashimage",
++ splashimage_func,
++ BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST,
++ "splashimage FILE",
++ "Load FILE as the background image when in graphics mode."
++};
++
++
++/* foreground */
++static int
++foreground_func(char *arg, int flags)
++{
++ if (grub_strlen(arg) == 6) {
++ int r = ((hex(arg[0]) << 4) | hex(arg[1])) >> 2;
++ int g = ((hex(arg[2]) << 4) | hex(arg[3])) >> 2;
++ int b = ((hex(arg[4]) << 4) | hex(arg[5])) >> 2;
++
++ foreground = (r << 16) | (g << 8) | b;
++ if (graphics_inited)
++ graphics_set_palette(15, r, g, b);
++
++ return (0);
++ }
++
++ return (1);
++}
++
++static struct builtin builtin_foreground =
++{
++ "foreground",
++ foreground_func,
++ BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST,
++ "foreground RRGGBB",
++ "Sets the foreground color when in graphics mode."
++ "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal."
++};
++
++
++/* background */
++static int
++background_func(char *arg, int flags)
++{
++ if (grub_strlen(arg) == 6) {
++ int r = ((hex(arg[0]) << 4) | hex(arg[1])) >> 2;
++ int g = ((hex(arg[2]) << 4) | hex(arg[3])) >> 2;
++ int b = ((hex(arg[4]) << 4) | hex(arg[5])) >> 2;
++
++ background = (r << 16) | (g << 8) | b;
++ if (graphics_inited)
++ graphics_set_palette(0, r, g, b);
++ return (0);
++ }
++
++ return (1);
++}
++
++static struct builtin builtin_background =
++{
++ "background",
++ background_func,
++ BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST,
++ "background RRGGBB",
++ "Sets the background color when in graphics mode."
++ "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal."
++};
++
++#endif /* SUPPORT_GRAPHICS */
++
++
++/* clear */
++static int
++clear_func()
++{
++ if (current_term->cls)
++ current_term->cls();
++
++ return 0;
++}
++
++static struct builtin builtin_clear =
++{
++ "clear",
++ clear_func,
++ BUILTIN_CMDLINE | BUILTIN_HELP_LIST,
++ "clear",
++ "Clear the screen"
++};
++
+
+ /* displayapm */
+ static int
+@@ -4085,7 +4217,7 @@ static struct builtin builtin_setup =
+ };
+
+
+-#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES)
++#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) || defined(SUPPORT_GRAPHICS)
+ /* terminal */
+ static int
+ terminal_func (char *arg, int flags)
+@@ -4244,17 +4376,21 @@ terminal_func (char *arg, int flags)
+ end:
+ current_term = term_table + default_term;
+ current_term->flags = term_flags;
+-
++
+ if (lines)
+ max_lines = lines;
+ else
+- /* 24 would be a good default value. */
+- max_lines = 24;
+-
++ max_lines = current_term->max_lines;
++
+ /* If the interface is currently the command-line,
+ restart it to repaint the screen. */
+- if (current_term != prev_term && (flags & BUILTIN_CMDLINE))
++ if ((current_term != prev_term) && (flags & BUILTIN_CMDLINE)){
++ if (prev_term->shutdown)
++ prev_term->shutdown();
++ if (current_term->startup)
++ current_term->startup();
+ grub_longjmp (restart_cmdline_env, 0);
++ }
+
+ return 0;
+ }
+@@ -4264,7 +4400,7 @@ static struct builtin builtin_terminal =
+ "terminal",
+ terminal_func,
+ BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST,
+- "terminal [--dumb] [--no-echo] [--no-edit] [--timeout=SECS] [--lines=LINES] [--silent] [console] [serial] [hercules]",
++ "terminal [--dumb] [--no-echo] [--no-edit] [--timeout=SECS] [--lines=LINES] [--silent] [console] [serial] [hercules] [graphics]",
+ "Select a terminal. When multiple terminals are specified, wait until"
+ " you push any key to continue. If both console and serial are specified,"
+ " the terminal to which you input a key first will be selected. If no"
+@@ -4276,7 +4412,7 @@ static struct builtin builtin_terminal =
+ " seconds. The option --lines specifies the maximum number of lines."
+ " The option --silent is used to suppress messages."
+ };
+-#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES */
++#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES || SUPPORT_GRAPHICS */
+
+
+ #ifdef SUPPORT_SERIAL
+@@ -4795,6 +4931,9 @@ static struct builtin builtin_vbeprobe =
+ /* The table of builtin commands. Sorted in dictionary order. */
+ struct builtin *builtin_table[] =
+ {
++#ifdef SUPPORT_GRAPHICS
++ &builtin_background,
++#endif
+ &builtin_blocklist,
+ &builtin_boot,
+ #ifdef SUPPORT_NETBOOT
+@@ -4802,6 +4941,7 @@ struct builtin *builtin_table[] =
+ #endif /* SUPPORT_NETBOOT */
+ &builtin_cat,
+ &builtin_chainloader,
++ &builtin_clear,
+ &builtin_cmp,
+ &builtin_color,
+ &builtin_configfile,
+@@ -4821,6 +4961,9 @@ struct builtin *builtin_table[] =
+ &builtin_embed,
+ &builtin_fallback,
+ &builtin_find,
++#ifdef SUPPORT_GRAPHICS
++ &builtin_foreground,
++#endif
+ &builtin_fstest,
+ &builtin_geometry,
+ &builtin_halt,
+@@ -4864,9 +5007,12 @@ struct builtin *builtin_table[] =
+ #endif /* SUPPORT_SERIAL */
+ &builtin_setkey,
+ &builtin_setup,
+-#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES)
++#ifdef SUPPORT_GRAPHICS
++ &builtin_splashimage,
++#endif /* SUPPORT_GRAPHICS */
++#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) || defined(SUPPORT_GRAPHICS)
+ &builtin_terminal,
+-#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES */
++#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES || SUPPORT_GRAPHICS */
+ #ifdef SUPPORT_SERIAL
+ &builtin_terminfo,
+ #endif /* SUPPORT_SERIAL */
+diff -urpN grub-0.97/stage2/char_io.c grub-0.97-gfx/stage2/char_io.c
+--- grub-0.97/stage2/char_io.c 2005-10-13 16:27:23.000000000 -0400
++++ grub-0.97-gfx/stage2/char_io.c 2005-10-13 16:27:35.000000000 -0400
+@@ -35,6 +35,7 @@ struct term_entry term_table[] =
+ {
+ "console",
+ 0,
++ 24,
+ console_putchar,
+ console_checkkey,
+ console_getkey,
+@@ -43,13 +44,16 @@ struct term_entry term_table[] =
+ console_cls,
+ console_setcolorstate,
+ console_setcolor,
+- console_setcursor
++ console_setcursor,
++ 0,
++ 0
+ },
+ #ifdef SUPPORT_SERIAL
+ {
+ "serial",
+ /* A serial device must be initialized. */
+ TERM_NEED_INIT,
++ 24,
+ serial_putchar,
+ serial_checkkey,
+ serial_getkey,
+@@ -58,6 +62,8 @@ struct term_entry term_table[] =
+ serial_cls,
+ serial_setcolorstate,
+ 0,
++ 0,
++ 0,
+ 0
+ },
+ #endif /* SUPPORT_SERIAL */
+@@ -65,6 +71,7 @@ struct term_entry term_table[] =
+ {
+ "hercules",
+ 0,
++ 24,
+ hercules_putchar,
+ console_checkkey,
+ console_getkey,
+@@ -73,9 +80,28 @@ struct term_entry term_table[] =
+ hercules_cls,
+ hercules_setcolorstate,
+ hercules_setcolor,
+- hercules_setcursor
++ hercules_setcursor,
++ 0,
++ 0
+ },
+ #endif /* SUPPORT_HERCULES */
++#ifdef SUPPORT_GRAPHICS
++ { "graphics",
++ TERM_NEED_INIT, /* flags */
++ 30, /* number of lines */
++ graphics_putchar, /* putchar */
++ console_checkkey, /* checkkey */
++ console_getkey, /* getkey */
++ graphics_getxy, /* getxy */
++ graphics_gotoxy, /* gotoxy */
++ graphics_cls, /* cls */
++ graphics_setcolorstate, /* setcolorstate */
++ graphics_setcolor, /* setcolor */
++ graphics_setcursor, /* nocursor */
++ graphics_init, /* initialize */
++ graphics_end /* shutdown */
++ },
++#endif /* SUPPORT_GRAPHICS */
+ /* This must be the last entry. */
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+ };
+@@ -1046,13 +1072,15 @@ grub_putchar (int c)
+ the following grub_printf call will print newlines. */
+ count_lines = -1;
+
++ grub_printf("\n");
+ if (current_term->setcolorstate)
+ current_term->setcolorstate (COLOR_STATE_HIGHLIGHT);
+
+- grub_printf ("\n[Hit return to continue]");
++ grub_printf ("[Hit return to continue]");
+
+ if (current_term->setcolorstate)
+ current_term->setcolorstate (COLOR_STATE_NORMAL);
++
+
+ do
+ {
+@@ -1090,7 +1118,7 @@ void
+ cls (void)
+ {
+ /* If the terminal is dumb, there is no way to clean the terminal. */
+- if (current_term->flags & TERM_DUMB)
++ if (current_term->flags & TERM_DUMB)
+ grub_putchar ('\n');
+ else
+ current_term->cls ();
+@@ -1217,6 +1245,16 @@ memcheck (int addr, int len)
+ return ! errnum;
+ }
+
++void
++grub_memcpy(void *dest, const void *src, int len)
++{
++ int i;
++ register char *d = (char*)dest, *s = (char*)src;
++
++ for (i = 0; i < len; i++)
++ d[i] = s[i];
++}
++
+ void *
+ grub_memmove (void *to, const void *from, int len)
+ {
+diff -urpN grub-0.97/stage2/graphics.c grub-0.97-gfx/stage2/graphics.c
+--- grub-0.97/stage2/graphics.c 1969-12-31 20:00:00.000000000 -0400
++++ grub-0.97-gfx/stage2/graphics.c 2005-10-13 16:27:35.000000000 -0400
+@@ -0,0 +1,552 @@
++/* graphics.c - graphics mode support for GRUB */
++/* Implemented as a terminal type by Jeremy Katz <katzj@redhat.com> based
++ * on a patch by Paulo Csar Pereira de Andrade <pcpa@conectiva.com.br>
++ */
++/*
++ * GRUB -- GRand Unified Bootloader
++ * Copyright (C) 2001,2002 Red Hat, Inc.
++ * Portions copyright (C) 2000 Conectiva, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++
++
++#ifdef SUPPORT_GRAPHICS
++
++#include <term.h>
++#include <shared.h>
++#include <graphics.h>
++
++int saved_videomode;
++unsigned char *font8x16;
++
++int graphics_inited = 0;
++static char splashimage[64];
++
++#define VSHADOW VSHADOW1
++unsigned char VSHADOW1[38400];
++unsigned char VSHADOW2[38400];
++unsigned char VSHADOW4[38400];
++unsigned char VSHADOW8[38400];
++
++/* constants to define the viewable area */
++const int x0 = 0;
++const int x1 = 80;
++const int y0 = 0;
++const int y1 = 30;
++
++/* text buffer has to be kept around so that we can write things as we
++ * scroll and the like */
++unsigned short text[80 * 30];
++
++/* why do these have to be kept here? */
++int foreground = (63 << 16) | (63 << 8) | (63), background = 0, border = 0;
++
++/* current position */
++static int fontx = 0;
++static int fonty = 0;
++
++/* global state so that we don't try to recursively scroll or cursor */
++static int no_scroll = 0;
++
++/* color state */
++static int graphics_standard_color = A_NORMAL;
++static int graphics_normal_color = A_NORMAL;
++static int graphics_highlight_color = A_REVERSE;
++static int graphics_current_color = A_NORMAL;
++static color_state graphics_color_state = COLOR_STATE_STANDARD;
++
++
++/* graphics local functions */
++static void graphics_setxy(int col, int row);
++static void graphics_scroll();
++
++/* FIXME: where do these really belong? */
++static inline void outb(unsigned short port, unsigned char val)
++{
++ __asm __volatile ("outb %0,%1"::"a" (val), "d" (port));
++}
++
++static void MapMask(int value) {
++ outb(0x3c4, 2);
++ outb(0x3c5, value);
++}
++
++/* bit mask register */
++static void BitMask(int value) {
++ outb(0x3ce, 8);
++ outb(0x3cf, value);
++}
++
++
++
++/* Set the splash image */
++void graphics_set_splash(char *splashfile) {
++ grub_strcpy(splashimage, splashfile);
++}
++
++/* Get the current splash image */
++char *graphics_get_splash(void) {
++ return splashimage;
++}
++
++/* Initialize a vga16 graphics display with the palette based off of
++ * the image in splashimage. If the image doesn't exist, leave graphics
++ * mode. */
++int graphics_init()
++{
++ if (!graphics_inited) {
++ saved_videomode = set_videomode(0x12);
++ }
++
++ if (!read_image(splashimage)) {
++ set_videomode(saved_videomode);
++ grub_printf("failed to read image\n");
++ return 0;
++ }
++
++ font8x16 = (unsigned char*)graphics_get_font();
++
++ graphics_inited = 1;
++
++ /* make sure that the highlight color is set correctly */
++ graphics_highlight_color = ((graphics_normal_color >> 4) |
++ ((graphics_normal_color & 0xf) << 4));
++
++ return 1;
++}
++
++/* Leave graphics mode */
++void graphics_end(void)
++{
++ if (graphics_inited) {
++ set_videomode(saved_videomode);
++ graphics_inited = 0;
++ }
++}
++
++/* Print ch on the screen. Handle any needed scrolling or the like */
++void graphics_putchar(int ch) {
++ ch &= 0xff;
++
++ graphics_cursor(0);
++
++ if (ch == '\n') {
++ if (fonty + 1 < y1)
++ graphics_setxy(fontx, fonty + 1);
++ else
++ graphics_scroll();
++ graphics_cursor(1);
++ return;
++ } else if (ch == '\r') {
++ graphics_setxy(x0, fonty);
++ graphics_cursor(1);
++ return;
++ }
++
++ graphics_cursor(0);
++
++ text[fonty * 80 + fontx] = ch;
++ text[fonty * 80 + fontx] &= 0x00ff;
++ if (graphics_current_color & 0xf0)
++ text[fonty * 80 + fontx] |= 0x100;
++
++ graphics_cursor(0);
++
++ if ((fontx + 1) >= x1) {
++ graphics_setxy(x0, fonty);
++ if (fonty + 1 < y1)
++ graphics_setxy(x0, fonty + 1);
++ else
++ graphics_scroll();
++ } else {
++ graphics_setxy(fontx + 1, fonty);
++ }
++
++ graphics_cursor(1);
++}
++
++/* get the current location of the cursor */
++int graphics_getxy(void) {
++ return (fontx << 8) | fonty;
++}
++
++void graphics_gotoxy(int x, int y) {
++ graphics_cursor(0);
++
++ graphics_setxy(x, y);
++
++ graphics_cursor(1);
++}
++
++void graphics_cls(void) {
++ int i;
++ unsigned char *mem, *s1, *s2, *s4, *s8;
++
++ graphics_cursor(0);
++ graphics_gotoxy(x0, y0);
++
++ mem = (unsigned char*)VIDEOMEM;
++ s1 = (unsigned char*)VSHADOW1;
++ s2 = (unsigned char*)VSHADOW2;
++ s4 = (unsigned char*)VSHADOW4;
++ s8 = (unsigned char*)VSHADOW8;
++
++ for (i = 0; i < 80 * 30; i++)
++ text[i] = ' ';
++ graphics_cursor(1);
++
++ BitMask(0xff);
++
++ /* plano 1 */
++ MapMask(1);
++ grub_memcpy(mem, s1, 38400);
++
++ /* plano 2 */
++ MapMask(2);
++ grub_memcpy(mem, s2, 38400);
++
++ /* plano 3 */
++ MapMask(4);
++ grub_memcpy(mem, s4, 38400);
++
++ /* plano 4 */
++ MapMask(8);
++ grub_memcpy(mem, s8, 38400);
++
++ MapMask(15);
++
++}
++
++void graphics_setcolorstate (color_state state) {
++ switch (state) {
++ case COLOR_STATE_STANDARD:
++ graphics_current_color = graphics_standard_color;
++ break;
++ case COLOR_STATE_NORMAL:
++ graphics_current_color = graphics_normal_color;
++ break;
++ case COLOR_STATE_HIGHLIGHT:
++ graphics_current_color = graphics_highlight_color;
++ break;
++ default:
++ graphics_current_color = graphics_standard_color;
++ break;
++ }
++
++ graphics_color_state = state;
++}
++
++void graphics_setcolor (int normal_color, int highlight_color) {
++ graphics_normal_color = normal_color;
++ graphics_highlight_color = highlight_color;
++
++ graphics_setcolorstate (graphics_color_state);
++}
++
++void graphics_setcursor (int on) {
++ /* FIXME: we don't have a cursor in graphics */
++ return;
++}
++
++/* Read in the splashscreen image and set the palette up appropriately.
++ * Format of splashscreen is an xpm (can be gzipped) with 16 colors and
++ * 640x480. */
++int read_image(char *s)
++{
++ char buf[32], pal[16];
++ unsigned char c, base, mask, *s1, *s2, *s4, *s8;
++ unsigned i, len, idx, colors, x, y, width, height;
++
++ if (!grub_open(s))
++ return 0;
++
++ /* read header */
++ if (!grub_read((char*)&buf, 10) || grub_memcmp(buf, "/* XPM */\n", 10)) {
++ grub_close();
++ return 0;
++ }
++
++ /* parse info */
++ while (grub_read(&c, 1)) {
++ if (c == '"')
++ break;
++ }
++
++ while (grub_read(&c, 1) && (c == ' ' || c == '\t'))
++ ;
++
++ i = 0;
++ width = c - '0';
++ while (grub_read(&c, 1)) {
++ if (c >= '0' && c <= '9')
++ width = width * 10 + c - '0';
++ else
++ break;
++ }
++ while (grub_read(&c, 1) && (c == ' ' || c == '\t'))
++ ;
++
++ height = c - '0';
++ while (grub_read(&c, 1)) {
++ if (c >= '0' && c <= '9')
++ height = height * 10 + c - '0';
++ else
++ break;
++ }
++ while (grub_read(&c, 1) && (c == ' ' || c == '\t'))
++ ;
++
++ colors = c - '0';
++ while (grub_read(&c, 1)) {
++ if (c >= '0' && c <= '9')
++ colors = colors * 10 + c - '0';
++ else
++ break;
++ }
++
++ base = 0;
++ while (grub_read(&c, 1) && c != '"')
++ ;
++
++ /* palette */
++ for (i = 0, idx = 1; i < colors; i++) {
++ len = 0;
++
++ while (grub_read(&c, 1) && c != '"')
++ ;
++ grub_read(&c, 1); /* char */
++ base = c;
++ grub_read(buf, 4); /* \t c # */
++
++ while (grub_read(&c, 1) && c != '"') {
++ if (len < sizeof(buf))
++ buf[len++] = c;
++ }
++
++ if (len == 6 && idx < 15) {
++ int r = ((hex(buf[0]) << 4) | hex(buf[1])) >> 2;
++ int g = ((hex(buf[2]) << 4) | hex(buf[3])) >> 2;
++ int b = ((hex(buf[4]) << 4) | hex(buf[5])) >> 2;
++
++ pal[idx] = base;
++ graphics_set_palette(idx, r, g, b);
++ ++idx;
++ }
++ }
++
++ x = y = len = 0;
++
++ s1 = (unsigned char*)VSHADOW1;
++ s2 = (unsigned char*)VSHADOW2;
++ s4 = (unsigned char*)VSHADOW4;
++ s8 = (unsigned char*)VSHADOW8;
++
++ for (i = 0; i < 38400; i++)
++ s1[i] = s2[i] = s4[i] = s8[i] = 0;
++
++ /* parse xpm data */
++ while (y < height) {
++ while (1) {
++ if (!grub_read(&c, 1)) {
++ grub_close();
++ return 0;
++ }
++ if (c == '"')
++ break;
++ }
++
++ while (grub_read(&c, 1) && c != '"') {
++ for (i = 1; i < 15; i++)
++ if (pal[i] == c) {
++ c = i;
++ break;
++ }
++
++ mask = 0x80 >> (x & 7);
++ if (c & 1)
++ s1[len + (x >> 3)] |= mask;
++ if (c & 2)
++ s2[len + (x >> 3)] |= mask;
++ if (c & 4)
++ s4[len + (x >> 3)] |= mask;
++ if (c & 8)
++ s8[len + (x >> 3)] |= mask;
++
++ if (++x >= 640) {
++ x = 0;
++
++ if (y < 480)
++ len += 80;
++ ++y;
++ }
++ }
++ }
++
++ grub_close();
++
++ graphics_set_palette(0, (background >> 16), (background >> 8) & 63,
++ background & 63);
++ graphics_set_palette(15, (foreground >> 16), (foreground >> 8) & 63,
++ foreground & 63);
++ graphics_set_palette(0x11, (border >> 16), (border >> 8) & 63,
++ border & 63);
++
++ return 1;
++}
++
++
++/* Convert a character which is a hex digit to the appropriate integer */
++int hex(int v)
++{
++ if (v >= 'A' && v <= 'F')
++ return (v - 'A' + 10);
++ if (v >= 'a' && v <= 'f')
++ return (v - 'a' + 10);
++ return (v - '0');
++}
++
++
++/* move the graphics cursor location to col, row */
++static void graphics_setxy(int col, int row) {
++ if (col >= x0 && col < x1) {
++ fontx = col;
++ cursorX = col << 3;
++ }
++ if (row >= y0 && row < y1) {
++ fonty = row;
++ cursorY = row << 4;
++ }
++}
++
++/* scroll the screen */
++static void graphics_scroll() {
++ int i, j;
++
++ /* we don't want to scroll recursively... that would be bad */
++ if (no_scroll)
++ return;
++ no_scroll = 1;
++
++ /* move everything up a line */
++ for (j = y0 + 1; j < y1; j++) {
++ graphics_gotoxy(x0, j - 1);
++ for (i = x0; i < x1; i++) {
++ graphics_putchar(text[j * 80 + i]);
++ }
++ }
++
++ /* last line should be blank */
++ graphics_gotoxy(x0, y1 - 1);
++ for (i = x0; i < x1; i++)
++ graphics_putchar(' ');
++ graphics_setxy(x0, y1 - 1);
++
++ no_scroll = 0;
++}
++
++
++void graphics_cursor(int set) {
++ unsigned char *pat, *mem, *ptr, chr[16 << 2];
++ int i, ch, invert, offset;
++
++ if (set && no_scroll)
++ return;
++
++ offset = cursorY * 80 + fontx;
++ ch = text[fonty * 80 + fontx] & 0xff;
++ invert = (text[fonty * 80 + fontx] & 0xff00) != 0;
++ pat = font8x16 + (ch << 4);
++
++ mem = (unsigned char*)VIDEOMEM + offset;
++
++ if (!set) {
++ for (i = 0; i < 16; i++) {
++ unsigned char mask = pat[i];
++
++ if (!invert) {
++ chr[i ] = ((unsigned char*)VSHADOW1)[offset];
++ chr[16 + i] = ((unsigned char*)VSHADOW2)[offset];
++ chr[32 + i] = ((unsigned char*)VSHADOW4)[offset];
++ chr[48 + i] = ((unsigned char*)VSHADOW8)[offset];
++
++ /* FIXME: if (shade) */
++ if (1) {
++ if (ch == DISP_VERT || ch == DISP_LL ||
++ ch == DISP_UR || ch == DISP_LR) {
++ unsigned char pmask = ~(pat[i] >> 1);
++
++ chr[i ] &= pmask;
++ chr[16 + i] &= pmask;
++ chr[32 + i] &= pmask;
++ chr[48 + i] &= pmask;
++ }
++ if (i > 0 && ch != DISP_VERT) {
++ unsigned char pmask = ~(pat[i - 1] >> 1);
++
++ chr[i ] &= pmask;
++ chr[16 + i] &= pmask;
++ chr[32 + i] &= pmask;
++ chr[48 + i] &= pmask;
++ if (ch == DISP_HORIZ || ch == DISP_UR || ch == DISP_LR) {
++ pmask = ~pat[i - 1];
++
++ chr[i ] &= pmask;
++ chr[16 + i] &= pmask;
++ chr[32 + i] &= pmask;
++ chr[48 + i] &= pmask;
++ }
++ }
++ }
++ chr[i ] |= mask;
++ chr[16 + i] |= mask;
++ chr[32 + i] |= mask;
++ chr[48 + i] |= mask;
++
++ offset += 80;
++ }
++ else {
++ chr[i ] = mask;
++ chr[16 + i] = mask;
++ chr[32 + i] = mask;
++ chr[48 + i] = mask;
++ }
++ }
++ }
++ else {
++ MapMask(15);
++ ptr = mem;
++ for (i = 0; i < 16; i++, ptr += 80) {
++ cursorBuf[i] = pat[i];
++ *ptr = ~pat[i];
++ }
++ return;
++ }
++
++ offset = 0;
++ for (i = 1; i < 16; i <<= 1, offset += 16) {
++ int j;
++
++ MapMask(i);
++ ptr = mem;
++ for (j = 0; j < 16; j++, ptr += 80)
++ *ptr = chr[j + offset];
++ }
++
++ MapMask(15);
++}
++
++#endif /* SUPPORT_GRAPHICS */
+diff -urpN grub-0.97/stage2/graphics.h grub-0.97-gfx/stage2/graphics.h
+--- grub-0.97/stage2/graphics.h 1969-12-31 20:00:00.000000000 -0400
++++ grub-0.97-gfx/stage2/graphics.h 2005-10-13 16:27:35.000000000 -0400
+@@ -0,0 +1,42 @@
++/* graphics.h - graphics console interface */
++/*
++ * GRUB -- GRand Unified Bootloader
++ * Copyright (C) 2002 Free Software Foundation, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++#ifndef GRAPHICS_H
++#define GRAPHICS_H
++
++/* magic constant */
++#define VIDEOMEM 0xA0000
++
++/* function prototypes */
++char *graphics_get_splash(void);
++
++int read_image(char *s);
++void graphics_cursor(int set);
++
++/* function prototypes for asm functions */
++void * graphics_get_font();
++void graphics_set_palette(int idx, int red, int green, int blue);
++void set_int1c_handler();
++void unset_int1c_handler();
++
++extern short cursorX, cursorY;
++extern char cursorBuf[16];
++
++#endif /* GRAPHICS_H */
+diff -urpN grub-0.97/stage2/shared.h grub-0.97-gfx/stage2/shared.h
+--- grub-0.97/stage2/shared.h 2005-10-13 16:27:23.000000000 -0400
++++ grub-0.97-gfx/stage2/shared.h 2005-10-13 16:27:35.000000000 -0400
+@@ -871,6 +871,7 @@ int grub_sprintf (char *buffer, const ch
+ int grub_tolower (int c);
+ int grub_isspace (int c);
+ int grub_strncat (char *s1, const char *s2, int n);
++void grub_memcpy(void *dest, const void *src, int len);
+ void *grub_memmove (void *to, const void *from, int len);
+ void *grub_memset (void *start, int c, int len);
+ int grub_strncat (char *s1, const char *s2, int n);
+diff -urpN grub-0.97/stage2/stage2.c grub-0.97-gfx/stage2/stage2.c
+--- grub-0.97/stage2/stage2.c 2005-10-13 16:27:23.000000000 -0400
++++ grub-0.97-gfx/stage2/stage2.c 2005-10-13 16:27:35.000000000 -0400
+@@ -233,6 +233,7 @@ run_menu (char *menu_entries, char *conf
+ {
+ int c, time1, time2 = -1, first_entry = 0;
+ char *cur_entry = 0;
++ struct term_entry *prev_term = NULL;
+
+ /*
+ * Main loop for menu UI.
+@@ -714,6 +715,15 @@ restart:
+
+ cls ();
+ setcursor (1);
++ /* if our terminal needed initialization, we should shut it down
++ * before booting the kernel, but we want to save what it was so
++ * we can come back if needed */
++ prev_term = current_term;
++ if (current_term->shutdown)
++ {
++ (*current_term->shutdown)();
++ current_term = term_table; /* assumption: console is first */
++ }
+
+ while (1)
+ {
+@@ -748,6 +758,13 @@ restart:
+ break;
+ }
+
++ /* if we get back here, we should go back to what our term was before */
++ current_term = prev_term;
++ if (current_term->startup)
++ /* if our terminal fails to initialize, fall back to console since
++ * it should always work */
++ if ((*current_term->startup)() == 0)
++ current_term = term_table; /* we know that console is first */
+ show_menu = 1;
+ goto restart;
+ }
+@@ -1050,6 +1067,10 @@ cmain (void)
+ while (is_preset);
+ }
+
++ /* go ahead and make sure the terminal is setup */
++ if (current_term->startup)
++ (*current_term->startup)();
++
+ if (! num_entries)
+ {
+ /* If no acceptable config file, goto command-line, starting
+diff -urpN grub-0.97/stage2/term.h grub-0.97-gfx/stage2/term.h
+--- grub-0.97/stage2/term.h 2005-10-13 16:27:23.000000000 -0400
++++ grub-0.97-gfx/stage2/term.h 2005-10-13 16:27:35.000000000 -0400
+@@ -60,6 +60,8 @@ struct term_entry
+ const char *name;
+ /* The feature flags defined above. */
+ unsigned long flags;
++ /* Default for maximum number of lines if not specified */
++ unsigned short max_lines;
+ /* Put a character. */
+ void (*putchar) (int c);
+ /* Check if any input character is available. */
+@@ -79,6 +81,11 @@ struct term_entry
+ void (*setcolor) (int normal_color, int highlight_color);
+ /* Turn on/off the cursor. */
+ int (*setcursor) (int on);
++
++ /* function to start a terminal */
++ int (*startup) (void);
++ /* function to use to shutdown a terminal */
++ void (*shutdown) (void);
+ };
+
+ /* This lists up available terminals. */
+@@ -124,4 +131,23 @@ void hercules_setcolor (int normal_color
+ int hercules_setcursor (int on);
+ #endif
+
++#ifdef SUPPORT_GRAPHICS
++extern int foreground, background, border, graphics_inited;
++
++void graphics_set_splash(char *splashfile);
++int set_videomode (int mode);
++void graphics_putchar (int c);
++int graphics_getxy(void);
++void graphics_gotoxy(int x, int y);
++void graphics_cls(void);
++void graphics_setcolorstate (color_state state);
++void graphics_setcolor (int normal_color, int highlight_color);
++void graphics_setcursor (int on);
++int graphics_init(void);
++void graphics_end(void);
++
++int hex(int v);
++void graphics_set_palette(int idx, int red, int green, int blue);
++#endif /* SUPPORT_GRAPHICS */
++
+ #endif /* ! GRUB_TERM_HEADER */
diff --git a/abs/core/grub-gfx/grub-gfx.install b/abs/core/grub-gfx/grub-gfx.install
new file mode 100644
index 0000000..6c73b15
--- /dev/null
+++ b/abs/core/grub-gfx/grub-gfx.install
@@ -0,0 +1,46 @@
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ echo
+ echo "*********************************************************************"
+ echo "You need to run install-grub /dev/device or grub-install /dev/device "
+ echo "to update grub loader."
+ echo "Note: Device should be any of these (sda, sdb, hda, hdb, sda1, hda1) "
+ echo "If you are in doubt, see your old grub config file (menu.lst.pacsave)"
+ echo "********************************************************************"
+ echo
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ echo
+ echo "*********************************************************************"
+ echo "You need to run install-grub /dev/device or grub-install /dev/device "
+ echo "to update grub loader."
+ echo "Note: Device should be any of these (sda, sdb, hda, hdb, sda1, hda1) "
+ echo "If you are in doubt, see your old grub config file (menu.lst.pacsave)"
+ echo "********************************************************************"
+ echo
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
diff --git a/abs/core/grub-gfx/grub-inode-size.patch b/abs/core/grub-gfx/grub-inode-size.patch
new file mode 100644
index 0000000..bef3bc1
--- /dev/null
+++ b/abs/core/grub-gfx/grub-inode-size.patch
@@ -0,0 +1,94 @@
+diff -Nrup a/stage2/fsys_ext2fs.c b/stage2/fsys_ext2fs.c
+--- a/stage2/fsys_ext2fs.c 2004-08-08 20:19:18.000000000 +0200
++++ b/stage2/fsys_ext2fs.c 2008-01-30 14:27:20.000000000 +0100
+@@ -79,7 +79,52 @@ struct ext2_super_block
+ __u32 s_rev_level; /* Revision level */
+ __u16 s_def_resuid; /* Default uid for reserved blocks */
+ __u16 s_def_resgid; /* Default gid for reserved blocks */
+- __u32 s_reserved[235]; /* Padding to the end of the block */
++ /*
++ * These fields are for EXT2_DYNAMIC_REV superblocks only.
++ *
++ * Note: the difference between the compatible feature set and
++ * the incompatible feature set is that if there is a bit set
++ * in the incompatible feature set that the kernel doesn't
++ * know about, it should refuse to mount the filesystem.
++ *
++ * e2fsck's requirements are more strict; if it doesn't know
++ * about a feature in either the compatible or incompatible
++ * feature set, it must abort and not try to meddle with
++ * things it doesn't understand...
++ */
++ __u32 s_first_ino; /* First non-reserved inode */
++ __u16 s_inode_size; /* size of inode structure */
++ __u16 s_block_group_nr; /* block group # of this superblock */
++ __u32 s_feature_compat; /* compatible feature set */
++ __u32 s_feature_incompat; /* incompatible feature set */
++ __u32 s_feature_ro_compat; /* readonly-compatible feature set */
++ __u8 s_uuid[16]; /* 128-bit uuid for volume */
++ char s_volume_name[16]; /* volume name */
++ char s_last_mounted[64]; /* directory where last mounted */
++ __u32 s_algorithm_usage_bitmap; /* For compression */
++ /*
++ * Performance hints. Directory preallocation should only
++ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on.
++ */
++ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/
++ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */
++ __u16 s_reserved_gdt_blocks;/* Per group table for online growth */
++ /*
++ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set.
++ */
++ __u8 s_journal_uuid[16]; /* uuid of journal superblock */
++ __u32 s_journal_inum; /* inode number of journal file */
++ __u32 s_journal_dev; /* device number of journal file */
++ __u32 s_last_orphan; /* start of list of inodes to delete */
++ __u32 s_hash_seed[4]; /* HTREE hash seed */
++ __u8 s_def_hash_version; /* Default hash version to use */
++ __u8 s_jnl_backup_type; /* Default type of journal backup */
++ __u16 s_reserved_word_pad;
++ __u32 s_default_mount_opts;
++ __u32 s_first_meta_bg; /* First metablock group */
++ __u32 s_mkfs_time; /* When the filesystem was created */
++ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */
++ __u32 s_reserved[172]; /* Padding to the end of the block */
+ };
+
+ struct ext2_group_desc
+@@ -218,6 +263,9 @@ struct ext2_dir_entry
+ #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32))
+ #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s)))
+
++#define EXT2_INODE_SIZE(s) (SUPERBLOCK->s_inode_size)
++#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s))
++
+ /* linux/ext2_fs.h */
+ #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
+ /* kind of from ext2/super.c */
+@@ -553,7 +601,7 @@ ext2fs_dir (char *dirname)
+ gdp = GROUP_DESC;
+ ino_blk = gdp[desc].bg_inode_table +
+ (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group))
+- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)));
++ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK)));
+ #ifdef E2DEBUG
+ printf ("inode table fsblock=%d\n", ino_blk);
+ #endif /* E2DEBUG */
+@@ -565,13 +613,12 @@ ext2fs_dir (char *dirname)
+ /* reset indirect blocks! */
+ mapblock2 = mapblock1 = -1;
+
+- raw_inode = INODE +
+- ((current_ino - 1)
+- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1));
++ raw_inode = (struct ext2_inode *)((char *)INODE +
++ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) *
++ EXT2_INODE_SIZE (SUPERBLOCK));
+ #ifdef E2DEBUG
+ printf ("ipb=%d, sizeof(inode)=%d\n",
+- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)),
+- sizeof (struct ext2_inode));
++ EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK));
+ printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode);
+ printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE);
+ for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode;
diff --git a/abs/core/grub-gfx/i2o.patch b/abs/core/grub-gfx/i2o.patch
new file mode 100644
index 0000000..2af846c
--- /dev/null
+++ b/abs/core/grub-gfx/i2o.patch
@@ -0,0 +1,45 @@
+Only in grub-0.94/docs: grub.info
+Only in grub-0.94/docs: multiboot.info
+diff -ur grub-0.94/lib/device.c grub-0.94.new/lib/device.c
+--- grub-0.94/lib/device.c 2004-05-07 04:50:36.375238696 +0200
++++ grub-0.94.new/lib/device.c 2004-05-07 04:48:57.611253104 +0200
+@@ -419,6 +419,12 @@
+ {
+ sprintf (name, "/dev/rd/c%dd%d", controller, drive);
+ }
++
++static void
++get_i2o_disk_name (char *name, int unit)
++{
++ sprintf (name, "/dev/i2o/hd%c", unit + 'a');
++}
+ #endif
+
+ /* Check if DEVICE can be read. If an error occurs, return zero,
+@@ -789,6 +795,26 @@
+ }
+ }
+ }
++
++ /* I2O disks. */
++ for (i = 0; i < 8; i++)
++ {
++ char name[16];
++
++ get_i2o_disk_name (name, i);
++ if (check_device (name))
++ {
++ (*map)[num_hd + 0x80] = strdup (name);
++ assert ((*map)[num_hd + 0x80]);
++
++ /* If the device map file is opened, write the map. */
++ if (fp)
++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
++
++ num_hd++;
++ }
++ }
++
+ #endif /* __linux__ */
+
+ /* OK, close the device map file if opened. */
diff --git a/abs/core/grub-gfx/install-grub b/abs/core/grub-gfx/install-grub
new file mode 100755
index 0000000..3eb7ce5
--- /dev/null
+++ b/abs/core/grub-gfx/install-grub
@@ -0,0 +1,187 @@
+#!/bin/bash
+
+#
+# This is a little helper script that tries to convert linux-style device
+# names to grub-style. It's not very smart, so it
+# probably won't work for more complicated setups.
+#
+# If it doesn't work for you, try installing grub manually:
+#
+# # mkdir -p /boot/grub
+# # cp /usr/lib/grub/i386-pc/* /boot/grub/
+#
+# Then start up the 'grub' shell and run something like the following:
+#
+# grub> root(hd0,0)
+# grub> setup(hd0)
+#
+# The "root" line should point to the partition your kernel is located on,
+# /boot if you have a separate boot partition, otherwise your root (/).
+#
+# The "setup" line tells grub which disc/partition to install the
+# bootloader to. In the example above, it will install to the MBR of the
+# primary master hard drive.
+#
+
+usage() {
+ echo "usage: install-grub <install_device> [boot_device]"
+ echo
+ echo "where <install_device> is the device where Grub will be installed"
+ echo "and [boot_device] is the partition that contains the /boot"
+ echo "directory (auto-detected if omitted)"
+ echo
+ echo "examples: install-grub /dev/hda"
+ echo " install-grub /dev/hda /dev/hda1"
+ echo
+ exit 0
+}
+
+## new install-grub, code was taken from setup script
+ROOTDEV=$1
+PART_ROOT=$2
+VMLINUZ=vmlinuz26
+
+if [ "$ROOTDEV" = "" ]; then
+ usage
+fi
+if [ "$PART_ROOT" = "" ]; then
+ PART_ROOT=$(mount | grep "on /boot type" | cut -d' ' -f 1)
+fi
+if [ "$PART_ROOT" = "" ]; then
+ PART_ROOT=$(mount | grep "on / type" | cut -d' ' -f 1)
+fi
+if [ "$PART_ROOT" = "" ]; then
+ echo "error: could not determine BOOT_DEVICE, please specify manually" >&2
+ exit 1
+fi
+
+
+get_grub_map() {
+ [ -e /tmp/dev.map ] && rm /tmp/dev.map
+ /sbin/grub --no-floppy --device-map /tmp/dev.map >/tmp/grub.log 2>&1 <<EOF
+quit
+EOF
+}
+
+mapdev() {
+ partition_flag=0
+ device_found=0
+ devs=$(cat /tmp/dev.map | grep -v fd | sed 's/ *\t/ /' | sed ':a;$!N;$!ba;s/\n/ /g')
+ linuxdevice=$(echo $1 | cut -b1-8)
+ if [ "$(echo $1 | egrep '[0-9]$')" ]; then
+ # /dev/hdXY
+ pnum=$(echo $1 | cut -b9-)
+ pnum=$(($pnum-1))
+ partition_flag=1
+ fi
+ for dev in $devs
+ do
+ if [ "(" = $(echo $dev | cut -b1) ]; then
+ grubdevice="$dev"
+ else
+ if [ "$dev" = "$linuxdevice" ]; then
+ device_found=1
+ break
+ fi
+ fi
+ done
+ if [ "$device_found" = "1" ]; then
+ if [ "$partition_flag" = "0" ]; then
+ echo "$grubdevice"
+ else
+ grubdevice_stringlen=${#grubdevice}
+ let grubdevice_stringlen--
+ grubdevice=$(echo $grubdevice | cut -b1-$grubdevice_stringlen)
+ echo "$grubdevice,$pnum)"
+ fi
+ else
+ echo " DEVICE NOT FOUND"
+ fi
+}
+
+dogrub() {
+ get_grub_map
+ if [ ! -f /boot/grub/menu.lst ]; then
+ echo "Error: Couldn't find /boot/grub/menu.lst. Is GRUB installed?"
+ exit 1
+ fi
+ # try to auto-configure GRUB...
+ if [ "$PART_ROOT" != "" -a "$S_GRUB" != "1" ]; then
+ grubdev=$(mapdev $PART_ROOT)
+ # look for a separately-mounted /boot partition
+ bootdev=$(mount | grep /boot | cut -d' ' -f 1)
+ if [ "$grubdev" != "" -o "$bootdev" != "" ]; then
+ cp /boot/grub/menu.lst /tmp/.menu.lst
+ # remove the default entries by truncating the file at our little tag (#-*)
+ head -n $(cat /tmp/.menu.lst | grep -n '#-\*' | cut -d: -f 1) /tmp/.menu.lst >/boot/grub/menu.lst
+ rm -f /tmp/.menu.lst
+ echo "" >>/boot/grub/menu.lst
+ echo "# (0) Arch Linux" >>/boot/grub/menu.lst
+ echo "title Arch Linux" >>/boot/grub/menu.lst
+ subdir=
+ if [ "$bootdev" != "" ]; then
+ grubdev=$(mapdev $bootdev)
+ else
+ subdir="/boot"
+ fi
+ echo "root $grubdev" >>/boot/grub/menu.lst
+ echo "kernel $subdir/$VMLINUZ root=$PART_ROOT ro" >>/boot/grub/menu.lst
+ if [ "$VMLINUZ" = "vmlinuz26" ]; then
+ echo "initrd $subdir/kernel26.img" >>/boot/grub/menu.lst
+ fi
+ echo "" >>/boot/grub/menu.lst
+ # adding fallback/full image
+ echo "# (1) Arch Linux" >>/boot/grub/menu.lst
+ echo "title Arch Linux Fallback" >>/boot/grub/menu.lst
+ echo "root $grubdev" >>/boot/grub/menu.lst
+ echo "kernel $subdir/$VMLINUZ root=$PART_ROOT ro" >>/boot/grub/menu.lst
+ if [ "$VMLINUZ" = "vmlinuz26" ]; then
+ echo "initrd $subdir/kernel26-fallback.img" >>/boot/grub/menu.lst
+ fi
+ echo "" >>/boot/grub/menu.lst
+ fi
+ fi
+
+ echo "Installing the GRUB bootloader..."
+ cp -a /usr/lib/grub/i386-pc/* /boot/grub/
+ sync
+ # freeze xfs filesystems to enable grub installation on xfs filesystems
+ if [ -x /usr/sbin/xfs_freeze ]; then
+ /usr/sbin/xfs_freeze -f /boot > /dev/null 2>&1
+ /usr/sbin/xfs_freeze -f / > /dev/null 2>&1
+ fi
+ # look for a separately-mounted /boot partition
+ bootpart=$(mount | grep /boot | cut -d' ' -f 1)
+ if [ "$bootpart" = "" ]; then
+ bootpart=$PART_ROOT
+ fi
+ bootpart=$(mapdev $bootpart)
+ bootdev=$(mapdev $ROOTDEV)
+ if [ "$bootpart" = "" ]; then
+ echo "Error: Missing/Invalid root device: $bootpart"
+ exit 1
+ fi
+ /sbin/grub --no-floppy --batch >/tmp/grub.log 2>&1 <<EOF
+root $bootpart
+setup $bootdev
+quit
+EOF
+cat /tmp/grub.log
+ # unfreeze xfs filesystems
+ if [ -x /usr/sbin/xfs_freeze ]; then
+ /usr/sbin/xfs_freeze -u /boot > /dev/null 2>&1
+ /usr/sbin/xfs_freeze -u / > /dev/null 2>&1
+ fi
+
+ if grep "Error [0-9]*: " /tmp/grub.log >/dev/null; then
+ echo "Error installing GRUB. (see /tmp/grub.log for output)"
+ exit 1
+ fi
+ echo "GRUB was successfully installed."
+
+rm -f /tmp/grub.log
+
+exit 0
+}
+
+dogrub \ No newline at end of file
diff --git a/abs/core/grub-gfx/intelmac.patch b/abs/core/grub-gfx/intelmac.patch
new file mode 100644
index 0000000..a3fabc7
--- /dev/null
+++ b/abs/core/grub-gfx/intelmac.patch
@@ -0,0 +1,67 @@
+--- grub-0.97.orig/stage2/asm.S 2004-06-19 18:55:22.000000000 +0200
++++ grub-0.97/stage2/asm.S 2006-04-21 11:10:52.000000000 +0200
+@@ -1651,7 +1651,29 @@
+ jnz 3f
+ ret
+
+-3: /* use keyboard controller */
++3: /*
++ * try to switch gateA20 using PORT92, the "Fast A20 and Init"
++ * register
++ */
++ mov $0x92, %dx
++ inb %dx, %al
++ /* skip the port92 code if it's unimplemented (read returns 0xff) */
++ cmpb $0xff, %al
++ jz 6f
++
++ /* set or clear bit1, the ALT_A20_GATE bit */
++ movb 4(%esp), %ah
++ testb %ah, %ah
++ jz 4f
++ orb $2, %al
++ jmp 5f
++4: and $0xfd, %al
++
++ /* clear the INIT_NOW bit don't accidently reset the machine */
++5: and $0xfe, %al
++ outb %al, %dx
++
++6: /* use keyboard controller */
+ pushl %eax
+
+ call gloop1
+@@ -1661,9 +1683,12 @@
+
+ gloopint1:
+ inb $K_STATUS
++ cmpb $0xff, %al
++ jz gloopint1_done
+ andb $K_IBUF_FUL, %al
+ jnz gloopint1
+
++gloopint1_done:
+ movb $KB_OUTPUT_MASK, %al
+ cmpb $0, 0x8(%esp)
+ jz gdoit
+@@ -1684,6 +1709,8 @@
+
+ gloop1:
+ inb $K_STATUS
++ cmpb $0xff, %al
++ jz gloop2ret
+ andb $K_IBUF_FUL, %al
+ jnz gloop1
+
+@@ -1991,6 +2018,11 @@
+ ENTRY(console_getkey)
+ push %ebp
+
++wait_for_key:
++ call EXT_C(console_checkkey)
++ incl %eax
++ jz wait_for_key
++
+ call EXT_C(prot_to_real)
+ .code16
+
diff --git a/abs/core/grub-gfx/menu.lst b/abs/core/grub-gfx/menu.lst
new file mode 100644
index 0000000..cc2f0a8
--- /dev/null
+++ b/abs/core/grub-gfx/menu.lst
@@ -0,0 +1,47 @@
+# Config file for GRUB - The GNU GRand Unified Bootloader
+# /boot/grub/menu.lst
+
+# DEVICE NAME CONVERSIONS
+#
+# Linux Grub
+# -------------------------
+# /dev/fd0 (fd0)
+# /dev/hda (hd0)
+# /dev/hdb2 (hd1,1)
+# /dev/hda3 (hd0,2)
+#
+
+# FRAMEBUFFER RESOLUTION SETTINGS
+# +-------------------------------------------------+
+# | 640x480 800x600 1024x768 1280x1024
+# ----+--------------------------------------------
+# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
+# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
+# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
+# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
+# +-------------------------------------------------+
+
+# general configuration:
+timeout 5
+default 0
+color light-blue/black light-cyan/blue
+splashimage /boot/grub/splash.xpm.gz
+
+# boot sections follow
+# each is implicitly numbered from 0 in the order of appearance below
+#
+# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
+#
+#-*
+
+# (0) Arch Linux
+title Arch Linux [/boot/vmlinuz26]
+root (hd0,0)
+kernel /vmlinuz26 root=/dev/hda3 ro
+initrd /kernel26.img
+
+# (1) Windows
+#title Windows
+#rootnoverify (hd0,0)
+#makeactive
+#chainloader +1
diff --git a/abs/core/grub-gfx/more-raid.patch b/abs/core/grub-gfx/more-raid.patch
new file mode 100644
index 0000000..39db234
--- /dev/null
+++ b/abs/core/grub-gfx/more-raid.patch
@@ -0,0 +1,100 @@
+--- grub-0.95/lib/device.c.moreraid 2004-11-30 17:09:36.736099360 -0500
++++ grub-0.95/lib/device.c 2004-11-30 17:12:17.319686944 -0500
+@@ -544,6 +544,17 @@
+ }
+
+ static void
++get_cciss_disk_name (char * name, int controller, int drive)
++{
++ sprintf (name, "/dev/cciss/c%dd%d", controller, drive);
++}
++
++static void
++get_cpqarray_disk_name (char * name, int controller, int drive)
++{
++ sprintf (name, "/dev/ida/c%dd%d", controller, drive);
++}
++static void
+ get_ataraid_disk_name (char *name, int unit)
+ {
+ sprintf (name, "/dev/ataraid/d%c", unit + '0');
+@@ -920,7 +931,7 @@
+
+ for (controller = 0; controller < 8; controller++)
+ {
+- for (drive = 0; drive < 15; drive++)
++ for (drive = 0; drive < 32; drive++)
+ {
+ char name[24];
+
+@@ -940,6 +951,70 @@
+ }
+ }
+ #endif /* __linux__ */
++
++#ifdef __linux__
++ /* This is for cciss - we have
++ /dev/cciss/c<controller>d<logical drive>p<partition>.
++
++ cciss driver currently supports up to 8 controllers, 16 logical
++ drives, and 7 partitions. */
++ {
++ int controller, drive;
++
++ for (controller = 0; controller < 8; controller++)
++ {
++ for (drive = 0; drive < 16; drive++)
++ {
++ char name[24];
++
++ get_cciss_disk_name (name, controller, drive);
++ if (check_device (name))
++ {
++ (*map)[num_hd + 0x80] = strdup (name);
++ assert ((*map)[num_hd + 0x80]);
++
++ /* If the device map file is opened, write the map. */
++ if (fp)
++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
++
++ num_hd++;
++ }
++ }
++ }
++ }
++#endif /* __linux__ */
++
++#ifdef __linux__
++ /* This is for cpqarray - we have
++ /dev/ida/c<controller>d<logical drive>p<partition>.
++
++ cpqarray driver currently supports up to 8 controllers, 16 logical
++ drives, and 15 partitions. */
++ {
++ int controller, drive;
++
++ for (controller = 0; controller < 8; controller++)
++ {
++ for (drive = 0; drive < 15; drive++)
++ {
++ char name[24];
++
++ get_cpqarray_disk_name (name, controller, drive);
++ if (check_device (name))
++ {
++ (*map)[num_hd + 0x80] = strdup (name);
++ assert ((*map)[num_hd + 0x80]);
++
++ /* If the device map file is opened, write the map. */
++ if (fp)
++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
++
++ num_hd++;
++ }
++ }
++ }
++ }
++#endif /* __linux__ */
+
+ /* OK, close the device map file if opened. */
+ if (fp)
diff --git a/abs/core/grub-gfx/special-devices.patch b/abs/core/grub-gfx/special-devices.patch
new file mode 100644
index 0000000..894f3e8
--- /dev/null
+++ b/abs/core/grub-gfx/special-devices.patch
@@ -0,0 +1,18 @@
+--- grub-0.93/lib/device.c.raid 2002-05-20 05:53:46.000000000 -0400
++++ grub-0.93/lib/device.c 2002-12-28 23:24:10.000000000 -0500
+@@ -689,7 +689,14 @@
+ if (strcmp (dev + strlen(dev) - 5, "/disc") == 0)
+ strcpy (dev + strlen(dev) - 5, "/part");
+ }
+- sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1);
++
++ sprintf (dev + strlen(dev), "%s%d",
++ /* Compaq smart and others */
++ (strncmp(dev, "/dev/ida/", 9) == 0 ||
++ strncmp(dev, "/dev/ataraid/", 13) == 0 ||
++ strncmp(dev, "/dev/cciss/", 11) == 0 ||
++ strncmp(dev, "/dev/rd/", 8) == 0) ? "p" : "",
++ ((partition >> 16) & 0xFF) + 1);
+
+ /* Open the partition. */
+ fd = open (dev, O_RDWR);
diff --git a/abs/core/grub-gfx/splash.xpm.gz b/abs/core/grub-gfx/splash.xpm.gz
new file mode 100644
index 0000000..e44af43
--- /dev/null
+++ b/abs/core/grub-gfx/splash.xpm.gz
Binary files differ
diff --git a/abs/core/gtk2/PKGBUILD b/abs/core/gtk2/PKGBUILD
index 6cdc6e1..819001d 100644
--- a/abs/core/gtk2/PKGBUILD
+++ b/abs/core/gtk2/PKGBUILD
@@ -1,35 +1,37 @@
-# $Id: PKGBUILD 35332 2009-04-12 12:46:16Z jgc $
+# $Id: PKGBUILD 79610 2010-05-04 20:23:20Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gtk2
-pkgver=2.16.1
-pkgrel=6
+pkgver=2.20.1
+pkgrel=3
pkgdesc="The GTK+ Toolkit (v2)"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://www.gtk.org/"
install=gtk2.install
-depends=('atk>=1.26.0' 'pango>=1.24.0-2' 'libxcursor' 'libxinerama' 'libxrandr>=1.3.0' 'libxi>=1.2.1' 'libcups>=1.3.9' 'libxcomposite' 'libxdamage' 'heimdal>=1.2.1' 'gnutls>=2.6.4' 'shared-mime-info')
-makedepends=('pkgconfig')
+depends=('atk>=1.30.0' 'pango>=1.28.0' 'libxcursor' 'libxinerama' 'libxrandr>=1.3.0' 'libxi>=1.3' 'libxcomposite' 'libxdamage' 'heimdal>=1.3.2' 'gnutls>=2.8.6' 'shared-mime-info' 'cairo>=1.8.10' 'libtiff>=3.9.2-2' )
+makedepends=('pkgconfig' 'gtk-doc' 'gobject-introspection')
replaces=('gtkprint-cups' 'gail')
conflicts=('gtkprint-cups' 'gail')
provides=('gail=1.22.3')
options=('!libtool' '!docs')
backup=(etc/gtk-2.0/gtkrc)
license=('LGPL')
-source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.16/gtk+-${pkgver}.tar.bz2
- gtkclipboard-check.patch)
-md5sums=('74e35ff3e6e02c960fe2117a4b6b102f'
- '4025d3c15d6c6f73a032f403ffd4ff1c')
+source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.20/gtk+-${pkgver}.tar.bz2
+ xid-collision-debug.patch
+ revert_64bit_fix.patch)
+sha256sums=('0e081731d21e34ff45c82199490c2889504fa8b3c7e117c043e82ababaec0f65'
+ 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558'
+ '20f3a03760f765b68b85b614810e5df4a689b609da1ae200aa30072475121b4c')
build() {
cd "${srcdir}/gtk+-${pkgver}"
- # Workaround patch for flash
- patch -Np1 -i "${srcdir}/gtkclipboard-check.patch" || return 1
+ patch -Np1 -i "${srcdir}/xid-collision-debug.patch" || return 1
+ patch -RNp1 -i ${srcdir}/revert_64bit_fix.patch || retun 1
- ./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var --with-xinput=yes \
- --without-libjasper \
- --with-included-loaders=png || return 1
+ CXX=/bin/false ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --with-xinput=yes \
+ --without-libjasper --without-cups\
+ --with-included-loaders=png || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
diff --git a/abs/core/gtk2/__changelog b/abs/core/gtk2/__changelog
new file mode 100644
index 0000000..1384183
--- /dev/null
+++ b/abs/core/gtk2/__changelog
@@ -0,0 +1 @@
+removed cups support -jm
diff --git a/abs/core/gtk2/revert_64bit_fix.patch b/abs/core/gtk2/revert_64bit_fix.patch
new file mode 100644
index 0000000..a6453e3
--- /dev/null
+++ b/abs/core/gtk2/revert_64bit_fix.patch
@@ -0,0 +1,31 @@
+From a0f23e1706b34bca6a65183040d1f1498cce2a50 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Thu, 25 Mar 2010 04:55:15 +0000
+Subject: Fix a 64bit issue
+
+Thank you libpng, for typedef unsigned long png_uint_32.
+---
+diff --git a/gdk-pixbuf/io-png.c b/gdk-pixbuf/io-png.c
+index c0374ca..43db70a 100644
+--- a/gdk-pixbuf/io-png.c
++++ b/gdk-pixbuf/io-png.c
+@@ -261,7 +261,7 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error)
+ gchar *icc_profile_base64;
+ const gchar *icc_profile_title;
+ const gchar *icc_profile;
+- guint icc_profile_size;
++ gulong icc_profile_size;
+ guint32 retval;
+ gint compression_type;
+
+@@ -607,7 +607,7 @@ png_info_callback (png_structp png_read_ptr,
+ gchar *icc_profile_base64;
+ const gchar *icc_profile_title;
+ const gchar *icc_profile;
+- guint icc_profile_size;
++ gulong icc_profile_size;
+ guint32 retval;
+ gint compression_type;
+
+--
+cgit v0.8.3.1
diff --git a/abs/core/gtk2/xid-collision-debug.patch b/abs/core/gtk2/xid-collision-debug.patch
new file mode 100644
index 0000000..d61238c
--- /dev/null
+++ b/abs/core/gtk2/xid-collision-debug.patch
@@ -0,0 +1,15 @@
+--- gtk+-2.18.3/gdk/x11/gdkxid.c 2009-06-19 04:59:18.000000000 +0200
++++ gtk+-2.18.3/gdk/x11/gdkxid.c.new 2009-07-22 11:30:12.000000000 +0200
+@@ -56,10 +56,10 @@
+ if (!display_x11->xid_ht)
+ display_x11->xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash,
+ (GEqualFunc) gdk_xid_equal);
+-
++/*
+ if (g_hash_table_lookup (display_x11->xid_ht, xid))
+ g_warning ("XID collision, trouble ahead");
+-
++*/
+ g_hash_table_insert (display_x11->xid_ht, xid, data);
+ }
+
diff --git a/abs/core/hal-info/PKGBUILD b/abs/core/hal-info/PKGBUILD
index a7f8dd0..ca6f5ad 100644
--- a/abs/core/hal-info/PKGBUILD
+++ b/abs/core/hal-info/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id: PKGBUILD 22303 2008-12-25 18:44:16Z jgc $
+# $Id: PKGBUILD 61557 2009-12-19 19:17:15Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=hal-info
-_date=20081219
+_date=20091130
pkgver=0.${_date}
pkgrel=1
pkgdesc="Hardware Abstraction Layer information files"
-arch=(i686 x86_64)
+arch=(any)
license=('GPL' 'custom')
url="http://www.freedesktop.org/wiki/Software/hal"
source=(http://hal.freedesktop.org/releases/hal-info-${_date}.tar.gz)
-md5sums=('be7d6d47fd18250a99a3267e712d8af7')
+md5sums=('34375489a02a00b250fdc0b280be11b8')
build() {
cd "${srcdir}/${pkgname}-${_date}"
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --enable-killswitch-dell-wlan=no --enable-killswitch-dell-bluetooth=no \
+ --enable-killswitch-dell-wwan=no || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
diff --git a/abs/core/hal/PKGBUILD b/abs/core/hal/PKGBUILD
index f3e48cc..6e928fd 100644
--- a/abs/core/hal/PKGBUILD
+++ b/abs/core/hal/PKGBUILD
@@ -1,59 +1,83 @@
-# $Id: PKGBUILD 12450 2008-09-14 10:49:05Z pierre $
+# $Id: PKGBUILD 82401 2010-06-10 21:48:17Z thomas $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Link Dupont <link@subpop.net>
pkgname=hal
-pkgver=0.5.11
-pkgrel=5
+pkgver=0.5.14
+pkgrel=4
pkgdesc="Hardware Abstraction Layer"
arch=(i686 x86_64)
license=('GPL' 'custom')
url="http://www.freedesktop.org/wiki/Software/hal"
-depends=('dbus-glib>=0.74' 'dbus>=1.2.1' 'libusb>=0.1.12' 'udev>=118' 'filesystem>=0.7.1-5' 'hal-info>=0.20080508' 'eject' 'libsmbios>=2.0.2' 'dmidecode' 'pciutils>=2.2.8-3' 'usbutils>=0.73-5' 'pm-utils>=1.1.2')
+depends=('dbus-glib>=0.82' 'libusb>=0.1.12' 'udev>=146' 'filesystem>=0.7.1-5' 'hal-info>=0.20090716' 'eject' 'dmidecode' 'pciutils>=3.0.2' 'usbutils>=0.73-5' 'pm-utils>=1.2.5' 'consolekit>=0.4.1' 'util-linux-ng>=2.16')
makedepends=('pkgconfig' 'gperf')
-options=('!libtool')
+options=('!libtool' '!makeflags')
install=hal.install
-source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.bz2
- hal
- hal-policy.patch
- cryptsetup_location.patch
- hal-0.5.9-hide-diagnostic.patch
- ntfs3g-valid-options.patch
- fix-udev-compatibility.patch
- ntfs-mount-fix.patch)
-md5sums=('5e8935ab61bcb14afd2d4548084aace0'
+source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz
+ hal
+ hal-0.5.9-hide-diagnostic.patch
+ hal-remove-dell-killswitch.patch
+ hal-KVM-evdev.patch
+ hal-HDAPS-blacklist.patch
+ hal-xen-unignore-axes.patch
+ hal-use-at-console.patch
+ fix-libusb-detection.patch
+ dbus-error-init.patch
+ path-max.patch
+ handle-input-touchpad.patch
+ macbook-fix-ioperm.patch)
+md5sums=('e9163df591a6f38f59fdbfe33e73bf20'
'277e96ac130d7bfce0b30f0b80db8782'
- '18dcdaa79952e2057c2e4745fbc8ad52'
- 'c688a3c6574699365926f4fef7441545'
'4d4b6801a1cedca22b8bdd9db73b16fb'
- '4242a2c78885e396f639d0cd5e33218c'
- '1a33d73fa422df2f05b7e3483836f778'
- '96cf8835c30dc581c4fcf72b6ad7675e')
+ '6d87c3e63184ae3a69caafc846f538a3'
+ '6507e5091ee2d11a87ae738a8e2caecb'
+ '1171c2d83b76059f2da7a3538e08fa4e'
+ '52bd305299aa22ae07f1a862c22d30fa'
+ '3f11234fb5e5044fbfc5199ec65b182c'
+ 'da088f12cfc2d190bbf95b747e19ab9e'
+ '634f4ec2203eff7de8fa2ed2c6b9cbe0'
+ 'f8c9b3a40d03907b498feef571d42466'
+ '0575677614db0632b17b1a719798c7e0'
+ '46a5db3ff896ee37762aa8d7e70942c4')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- patch -Np1 -i ${startdir}/src/hal-policy.patch || return 1
- patch -Np1 -i ${startdir}/src/cryptsetup_location.patch || return 1
- patch -Np1 -i ${startdir}/src/hal-0.5.9-hide-diagnostic.patch || return 1
- patch -Np0 -i ${startdir}/src/ntfs3g-valid-options.patch || return 1
- # Fix compatibility with udev 126 and later
- patch -Np1 -i ${startdir}/src/fix-udev-compatibility.patch || return 1
- patch -p0 -i ${srcdir}/ntfs-mount-fix.patch || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/hal-0.5.9-hide-diagnostic.patch" || return 1
+ patch -Np1 -i "${srcdir}/hal-remove-dell-killswitch.patch" || return 1
+ patch -Np1 -i "${srcdir}/hal-KVM-evdev.patch" || return 1
+ patch -Np1 -i "${srcdir}/hal-HDAPS-blacklist.patch" || return 1
+ patch -Np1 -i "${srcdir}/hal-xen-unignore-axes.patch" || return 1
+ patch -Np1 -i "${srcdir}/hal-use-at-console.patch" || return 1
+ patch -Np1 -i "${srcdir}/fix-libusb-detection.patch" || return 1
+ patch -Np1 -i "${srcdir}/dbus-error-init.patch" || return 1
+ patch -Np1 -i "${srcdir}/path-max.patch" || return 1
+ patch -Np1 -i "${srcdir}/handle-input-touchpad.patch" || return 1
+ patch -Np1 -i "${srcdir}/macbook-fix-ioperm.patch" || return 1
+
+ libtoolize --force || return 1
+ aclocal || return 1
+ autoconf || return 1
+ automake || return 1
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/hal --enable-static=no \
- --enable-acpi-ibm --enable-acpi-toshiba \
- --disable-docbook-docs --disable-doxygen-docs \
- --with-hal-user=hal --with-hal-group=hal \
- --with-pid-file=/var/run/hald.pid \
- --enable-policy-kit=no || return 1
- sed -e 's/device-manager//' -i tools/Makefile || return 1
+ --libexecdir=/usr/lib/hal --with-udev-prefix=/etc \
+ --enable-static=no --disable-acpi-ibm \
+ --disable-docbook-docs --disable-console-kit \
+ --disable-policy-kit --disable-acl-management \
+ --enable-umount-helper --disable-smbios \
+ --with-hal-user=hal --with-hal-group=hal \
+ --with-pid-file=/var/run/hald.pid \
+ --disable-gtk-doc || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -m755 -d ${startdir}/pkg/etc/rc.d
- install -m755 -d ${startdir}/pkg/media || return 1
- install -m 755 ${startdir}/src/hal ${startdir}/pkg/etc/rc.d/hal || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/etc/rc.d"
+ install -m755 -d "${pkgdir}/media" || return 1
+ install -m755 "${srcdir}/hal" "${pkgdir}/etc/rc.d/" || return 1
- install -m755 -d ${startdir}/pkg/usr/share/licenses/${pkgname}
- install -m644 COPYING ${startdir}/pkg/usr/share/licenses/${pkgname}/ || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+
+ # Fix udev rule location
+ install -d -m755 "${pkgdir}/lib"
+ mv "${pkgdir}/etc/udev" "${pkgdir}/lib/"
}
diff --git a/abs/core/hal/dbus-error-init.patch b/abs/core/hal/dbus-error-init.patch
new file mode 100644
index 0000000..fb3ad02
--- /dev/null
+++ b/abs/core/hal/dbus-error-init.patch
@@ -0,0 +1,231 @@
+From dcb2829b8eff61463b0869614ddb07b1c86cecaa Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Date: Wed, 30 Dec 2009 11:42:52 +0000
+Subject: linux/probe-input: don't use error prio init
+
+it may happen in the out: case that LIBHAL_FREE_DBUS_ERROR (&error) is
+called before the error structure is initialized via
+dbus_error_init (&error). This could lead to a segfault during startup
+as seen in dmesg:
+
+|Intel AES-NI instructions are not detected.
+|padlock: VIA PadLock not detected.
+|hald-probe-inpu[1793]: segfault at 2 ip 00007f656fb68969 sp 00007fff39eeb950 error 4 in libc-2.10.2.so[7f656faf3000+14a000]
+|hald-probe-inpu[1796]: segfault at 2 ip 00007fa2c3293969 sp 00007fffd92a5dd0 error 4 in libc-2.10.2.so[7fa2c321e000+14a000]
+|hald-probe-inpu[1797]: segfault at 2 ip 00007f1d08ba2969 sp 00007fff34244e30 error 4 in libc-2.10.2.so[7f1d08b2d000+14a000]
+|hald-probe-inpu[1799]: segfault at 2 ip 00007f35c0e3d969 sp 00007fffe5ec7ee0 error 4 in libc-2.10.2.so[7f35c0dc8000+14a000]
+|hald-probe-inpu[1800]: segfault at 2 ip 00007f931c556969 sp 00007fffe1825b60 error 4 in libc-2.10.2.so[7f931c4e1000+14a000]
+|hald-probe-inpu[1801]: segfault at 2 ip 00007f5156d9a969 sp 00007fff4e620af0 error 4 in libc-2.10.2.so[7f5156d25000+14a000]
+|RPC: Registered udp transport module.
+|RPC: Registered tcp transport module.
+
+What I run into seems to be reported as Debian #562068 [0]. This patch
+makes the segfault go away on my machine.
+
+[0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=562068
+
+Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
+---
+diff --git a/hald/linux/probing/probe-input.c b/hald/linux/probing/probe-input.c
+index 94e9929..cad47d3 100644
+--- a/hald/linux/probing/probe-input.c
++++ b/hald/linux/probing/probe-input.c
+@@ -70,6 +70,7 @@ main (int argc, char *argv[])
+ fd = -1;
+
+ setup_logger ();
++ dbus_error_init (&error);
+
+ button_type = getenv ("HAL_PROP_BUTTON_TYPE");
+ if (button_type == NULL)
+@@ -96,7 +97,6 @@ main (int argc, char *argv[])
+ if (udi == NULL)
+ goto out;
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL)
+ goto out;
+
+--
+cgit v0.8.3-6-g21f6
+From baa61a879985d63f549854518ef14efd40e62e8c Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Wed, 24 Feb 2010 16:19:28 +0000
+Subject: Make sure dbus_error_init() is called before LIBHAL_FREE_DBUS_ERROR()
+
+If dbus_error_init() is not called before LIBHAL_FREE_DBUS_ERROR() is
+called on that error, then it is uninitialized and may segfault. This
+means that dbus_error_init() must be called before any "goto out" if
+"out:" calls LIBHAL_FREE_DBUS_ERROR().
+
+Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
+---
+diff --git a/hald/linux/probing/probe-hiddev.c b/hald/linux/probing/probe-hiddev.c
+index 45d2084..bffc040 100644
+--- a/hald/linux/probing/probe-hiddev.c
++++ b/hald/linux/probing/probe-hiddev.c
+@@ -57,11 +57,12 @@ main (int argc, char *argv[])
+ /* assume failure */
+ ret = 1;
+
++ dbus_error_init (&error);
++
+ udi = getenv ("UDI");
+ if (udi == NULL)
+ goto out;
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL)
+ goto out;
+
+diff --git a/hald/linux/probing/probe-ieee1394-unit.c b/hald/linux/probing/probe-ieee1394-unit.c
+index 70b0f86..aaa92e2 100644
+--- a/hald/linux/probing/probe-ieee1394-unit.c
++++ b/hald/linux/probing/probe-ieee1394-unit.c
+@@ -388,6 +388,8 @@ int main (int argc, char *argv[])
+
+ setup_logger ();
+
++ dbus_error_init (&error);
++
+ udi = getenv ("UDI");
+ if (udi == NULL)
+ goto out;
+@@ -396,7 +398,6 @@ int main (int argc, char *argv[])
+ if (ieee1394_udi == NULL)
+ goto out;
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL)
+ goto out;
+
+diff --git a/hald/linux/probing/probe-net-bluetooth.c b/hald/linux/probing/probe-net-bluetooth.c
+index 0b1b912..e911eea 100644
+--- a/hald/linux/probing/probe-net-bluetooth.c
++++ b/hald/linux/probing/probe-net-bluetooth.c
+@@ -141,6 +141,8 @@ main (int argc, char *argv[])
+ DBusMessage *reply = NULL;
+ DBusError error;
+
++ dbus_error_init (&error);
++
+ udi = getenv ("UDI");
+ if (udi == NULL)
+ goto out;
+@@ -151,8 +153,6 @@ main (int argc, char *argv[])
+
+ HAL_INFO (("Investigating '%s'", iface));
+
+- dbus_error_init (&error);
+-
+ if ((conn = dbus_bus_get (DBUS_BUS_SYSTEM, &error)) == NULL)
+ goto out;
+
+diff --git a/hald/linux/probing/probe-printer.c b/hald/linux/probing/probe-printer.c
+index 91ed7bc..7c6d1c6 100644
+--- a/hald/linux/probing/probe-printer.c
++++ b/hald/linux/probing/probe-printer.c
+@@ -66,6 +66,8 @@ main (int argc, char *argv[])
+ ret = 1;
+
+ setup_logger ();
++
++ dbus_error_init (&error);
+
+ udi = getenv ("UDI");
+ if (udi == NULL) {
+@@ -73,7 +75,6 @@ main (int argc, char *argv[])
+ goto out;
+ }
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL) {
+ HAL_ERROR (("ctx init failed"));
+ goto out;
+diff --git a/hald/linux/probing/probe-smbios.c b/hald/linux/probing/probe-smbios.c
+index 0bc9689..15c0d4f 100644
+--- a/hald/linux/probing/probe-smbios.c
++++ b/hald/linux/probing/probe-smbios.c
+@@ -129,6 +129,8 @@ main (int argc, char *argv[])
+ ret = 1;
+
+ setup_logger ();
++
++ dbus_error_init (&error);
+
+ udi = getenv ("UDI");
+ if (udi == NULL) {
+@@ -136,7 +138,6 @@ main (int argc, char *argv[])
+ goto out;
+ }
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL) {
+ HAL_ERROR (("ctx init failed"));
+ goto out;
+diff --git a/hald/linux/probing/probe-storage.c b/hald/linux/probing/probe-storage.c
+index 824a82e..dd524ca 100644
+--- a/hald/linux/probing/probe-storage.c
++++ b/hald/linux/probing/probe-storage.c
+@@ -109,6 +109,8 @@ main (int argc, char *argv[])
+ /* assume failure */
+ ret = 1;
+
++ dbus_error_init (&error);
++
+ if ((udi = getenv ("UDI")) == NULL)
+ goto out;
+ if ((device_file = getenv ("HAL_PROP_BLOCK_DEVICE")) == NULL)
+@@ -127,7 +129,6 @@ main (int argc, char *argv[])
+ else
+ only_check_for_fs = FALSE;
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL)
+ goto out;
+
+diff --git a/hald/linux/probing/probe-video4linux.c b/hald/linux/probing/probe-video4linux.c
+index cf913c0..7bc13e8 100644
+--- a/hald/linux/probing/probe-video4linux.c
++++ b/hald/linux/probing/probe-video4linux.c
+@@ -58,6 +58,8 @@ main (int argc, char *argv[])
+
+ setup_logger ();
+
++ dbus_error_init (&error);
++
+ device_file = getenv ("HAL_PROP_VIDEO4LINUX_DEVICE");
+ if (device_file == NULL)
+ goto out;
+@@ -66,7 +68,6 @@ main (int argc, char *argv[])
+ if (udi == NULL)
+ goto out;
+
+- dbus_error_init (&error);
+ ctx = libhal_ctx_init_direct (&error);
+ if (ctx == NULL)
+ goto out;
+diff --git a/hald/linux/probing/probe-volume.c b/hald/linux/probing/probe-volume.c
+index 0de1b91..7268fff 100644
+--- a/hald/linux/probing/probe-volume.c
++++ b/hald/linux/probing/probe-volume.c
+@@ -318,6 +318,8 @@ main (int argc, char *argv[])
+ /* assume failure */
+ ret = 1;
+
++ dbus_error_init (&error);
++
+ if ((udi = getenv ("UDI")) == NULL)
+ goto out;
+ if ((device_file = getenv ("HAL_PROP_BLOCK_DEVICE")) == NULL)
+@@ -346,7 +348,6 @@ main (int argc, char *argv[])
+
+ fsusage = getenv ("HAL_PROP_VOLUME_FSUSAGE");
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL)
+ goto out;
+
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core/hal/fix-libusb-detection.patch b/abs/core/hal/fix-libusb-detection.patch
new file mode 100644
index 0000000..d4f966d
--- /dev/null
+++ b/abs/core/hal/fix-libusb-detection.patch
@@ -0,0 +1,66 @@
+From fce91df8ba7f305c624baf1f06961c040b088ecc Mon Sep 17 00:00:00 2001
+From: Joe Marcus Clarke <marcus@FreeBSD.org>
+Date: Tue, 08 Dec 2009 00:05:27 +0000
+Subject: Fix libusb detection on Linux
+
+Adjust the FreeBSD libusb20 code so that it does not interfere with the
+Linux libusb detection.
+
+Reported by: Robby Workman <rw@rlworkman.net>
+---
+diff --git a/configure.in b/configure.in
+index a8fda51..8363595 100644
+--- a/configure.in
++++ b/configure.in
+@@ -479,9 +479,6 @@ if test "x$with_libpci" != xno ; then
+ fi
+ AM_CONDITIONAL([HAVE_LIBPCI], [test "x$USE_LIBPCI" = "xyes"])
+
+-USE_LIBUSB20=no
+-USE_LIBUSB=no
+-LIBUSB20_LIBS=""
+ AC_ARG_WITH([backend],
+ AS_HELP_STRING([--with-backend=<name>],
+ [backend to use (linux/solaris/freebsd/dummy)]),
+@@ -510,21 +507,25 @@ AM_CONDITIONAL(HALD_COMPILE_FREEBSD, [test x$HALD_BACKEND = xfreebsd], [Compilin
+ AM_CONDITIONAL(HALD_COMPILE_SOLARIS, [test x$HALD_BACKEND = xsolaris], [Compiling for Solaris])
+ AC_SUBST(HALD_BACKEND)
+ if test "x$HALD_BACKEND" = "xfreebsd"; then
+- AC_CHECK_LIB([usb20], [libusb20_dev_get_info], [USE_LIBUSB20=yes], [USE_LIBUSB20=no])
+-fi
+-if test "x$USE_LIBUSB20" = "xno"; then
+- AC_CHECK_LIB([usb], [libusb20_dev_get_info], [USE_LIBUSB=yes], [USE_LIBUSB=no])
+-fi
+-AM_CONDITIONAL([HAVE_LIBUSB20],[test "x$USE_LIBUSB20" = "xyes"])
+-AM_CONDITIONAL([HAVE_LIBUSB20],[test "x$USE_LIBUSB" = "xyes"])
+-if test "x$USE_LIBUSB20" = "xyes"; then
+- AC_DEFINE(HAVE_LIBUSB20, 1, [Set if we need libusb20])
+- LIBUSB20_LIBS="-lusb20"
+-elif test "x$USE_LIBUSB" = "xyes"; then
+- AC_DEFINE(HAVE_LIBUSB20, 1, [Set if we need libsub20])
+- LIBUSB20_LIBS="-lusb"
++ USE_BSDLIBUSB20=no
++ USE_BSDLIBUSB=no
++ LIBUSB20_LIBS=""
++ AC_CHECK_LIB([usb20], [libusb20_dev_get_info], [USE_BSDLIBUSB20=yes], [USE_BSDLIBUSB20=no])
++ if test "x$USE_BSDLIBUSB20" = "xno"; then
++ AC_CHECK_LIB([usb], [libusb20_dev_get_info], [USE_BSDLIBUSB=yes], [USE_BSDLIBUSB=no])
++ fi
++ AM_CONDITIONAL([HAVE_LIBUSB20],[test "x$USE_BSDLIBUSB20" = "xyes" -o "x$USE_BSDLIBUSB" = "xyes"])
++ if test "x$USE_BSDLIBUSB20" = "xyes"; then
++ AC_DEFINE(HAVE_LIBUSB20, 1, [Set if we need libusb20])
++ LIBUSB20_LIBS="-lusb20"
++ elif test "x$USE_BSDLIBUSB" = "xyes"; then
++ AC_DEFINE(HAVE_LIBUSB20, 1, [Set if we need libsub20])
++ LIBUSB20_LIBS="-lusb"
++ fi
++ AC_SUBST(LIBUSB20_LIBS)
++else
++ AM_CONDITIONAL([HAVE_LIBUSB20], [false])
+ fi
+-AC_SUBST(LIBUSB20_LIBS)
+
+ dnl DBUS API is subject to changes
+ AC_DEFINE_UNQUOTED(DBUS_API_SUBJECT_TO_CHANGE, [], [DBUS API is subject to change])
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core/hal/hal-HDAPS-blacklist.patch b/abs/core/hal/hal-HDAPS-blacklist.patch
new file mode 100644
index 0000000..8a68228
--- /dev/null
+++ b/abs/core/hal/hal-HDAPS-blacklist.patch
@@ -0,0 +1,30 @@
+From e1f85fe0cdfa7e4d4ce7a811d0b0c90bf38fba0c Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu, 25 Jun 2009 09:47:27 +1000
+Subject: [PATCH] Blacklist HDAPS accelerometer device from being picked up in X.
+
+This device posts accelerometer data through ABS_X/ABS_Y, making X unusable
+if it's controlling the pointer.
+---
+ fdi/policy/10osvendor/10-x11-input.fdi | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/fdi/policy/10osvendor/10-x11-input.fdi b/fdi/policy/10osvendor/10-x11-input.fdi
+index a342421..89ba672 100644
+--- a/fdi/policy/10osvendor/10-x11-input.fdi
++++ b/fdi/policy/10osvendor/10-x11-input.fdi
+@@ -38,5 +38,11 @@
+ <merge key="input.x11_driver" type="string">evdev</merge>
+ </match>
+ </match>
++
++ <!-- http://bugs.freedesktop.org/show_bug.cgi?id=22442
++ Posts accel data through ABS_X/ABS_Y, makes X unusable -->
++ <match key="info.product" contains="ThinkPad HDAPS accelerometer data">
++ <remove key="input.x11_driver" />
++ </match>
+ </device>
+ </deviceinfo>
+--
+1.6.3.rc1.2.g0164.dirty
+
diff --git a/abs/core/hal/hal-KVM-evdev.patch b/abs/core/hal/hal-KVM-evdev.patch
new file mode 100644
index 0000000..917655e
--- /dev/null
+++ b/abs/core/hal/hal-KVM-evdev.patch
@@ -0,0 +1,36 @@
+From 7618498eec840cb26474dc47821e083957772706 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri, 20 Mar 2009 14:37:24 +1000
+Subject: [PATCH] Add x11_driver for American Megatrends KVM.
+
+This device exposes only ABS_X, ABS_Y and buttons. It gets input.joystick
+assigned but not input.mouse, hence the default evdev mapping doesn't pick up
+on it.
+
+Red Hat Bug 484776 <https://bugzilla.redhat.com/show_bug.cgi?id=484776>
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ fdi/policy/10osvendor/10-x11-input.fdi | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/fdi/policy/10osvendor/10-x11-input.fdi b/fdi/policy/10osvendor/10-x11-input.fdi
+index 769f75b..eb9767e 100644
+--- a/fdi/policy/10osvendor/10-x11-input.fdi
++++ b/fdi/policy/10osvendor/10-x11-input.fdi
+@@ -2,6 +2,12 @@
+ <deviceinfo version="0.2">
+ <device>
+
++ <!-- This KVMS has abs x/y and buttons. It only has inputInfo.joystick
++ set by hal and doesn't get picked up by default -->
++ <match key="input.product" contains="American Megatrends Inc. Virtual Keyboard and Mouse">
++ <merge key="input.x11_driver" type="string">evdev</merge>
++ </match>
++
+ <!-- KVM emulates a USB graphics tablet which works in absolute coordinate mode -->
+ <match key="input.product" contains="QEMU USB Tablet">
+ <merge key="input.x11_driver" type="string">evdev</merge>
+--
+1.6.0.6
+
diff --git a/abs/core/hal/hal-remove-dell-killswitch.patch b/abs/core/hal/hal-remove-dell-killswitch.patch
new file mode 100644
index 0000000..ae0cf7a
--- /dev/null
+++ b/abs/core/hal/hal-remove-dell-killswitch.patch
@@ -0,0 +1,201 @@
+diff -upr hal-0.5.12/tools/linux/hal-system-killswitch-get-power-linux hal-0.5.12.new/tools/linux/hal-system-killswitch-get-power-linux
+--- hal-0.5.12/tools/linux/hal-system-killswitch-get-power-linux 2008-08-22 07:34:47.000000000 +0100
++++ hal-0.5.12.new/tools/linux/hal-system-killswitch-get-power-linux 2009-03-03 10:45:20.000000000 +0000
+@@ -8,11 +8,6 @@
+ # the Free Software Foundation; either version 2 of the License, or
+ # (at your option) any later version.
+
+-DELL_WCTL=/usr/bin/dellWirelessCtl
+-if [ -x "/usr/sbin/dellWirelessCtl" ]; then
+- DELL_WCTL=/usr/sbin/dellWirelessCtl
+-fi
+-
+ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "bluetooth" ]; then
+ if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "sonypic" ]; then
+ value="`hal-system-sonypic getbluetooth`"
+@@ -22,25 +17,6 @@ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "blue
+ exit 1
+ fi
+ exit ${value}
+- elif [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # TODO: write our own binary that links with libsmbios?
+- $DELL_WCTL --st_bt
+- value=$?
+- if [ "$value" = "0" ]; then
+- exit 1
+- elif [ "$value" = "1" ]; then
+- exit 0
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $value" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+ elif [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = thinkpad -a -r "$HAL_PROP_LINUX_SYSFS_PATH" ]; then
+ read value < $HAL_PROP_LINUX_SYSFS_PATH 2> /dev/null
+ if [ $? -eq 0 ]; then
+@@ -55,56 +31,6 @@ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "blue
+ echo "Access type not supported" >&2
+ exit 1
+ fi
+-elif [ "$HAL_PROP_KILLSWITCH_TYPE" = "wlan" ]; then
+- if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # TODO: write our own binary that links with libsmbios?
+- $DELL_WCTL --st_wlan
+- value=$?
+- if [ "$value" = "0" ]; then
+- exit 1
+- elif [ "$value" = "1" ]; then
+- exit 0
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $value" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "Access type not supported" >&2
+- exit 1
+- fi
+-elif [ "$HAL_PROP_KILLSWITCH_TYPE" = "wwan" ]; then
+- if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # TODO: write our own binary that links with libsmbios?
+- $DELL_WCTL --st_wwan
+- value=$?
+- if [ "$value" = "0" ]; then
+- exit 1
+- elif [ "$value" = "1" ]; then
+- exit 0
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $value" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "Access type not supported" >&2
+- exit 1
+- fi
+ else
+ echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+ echo "Killswitch type not supported" >&2
+diff -upr hal-0.5.12/tools/linux/hal-system-killswitch-set-power-linux hal-0.5.12.new/tools/linux/hal-system-killswitch-set-power-linux
+--- hal-0.5.12/tools/linux/hal-system-killswitch-set-power-linux 2008-10-24 09:45:54.000000000 +0100
++++ hal-0.5.12.new/tools/linux/hal-system-killswitch-set-power-linux 2009-03-03 10:44:49.000000000 +0000
+@@ -8,11 +8,6 @@
+ # the Free Software Foundation; either version 2 of the License, or
+ # (at your option) any later version.
+
+-DELL_WCTL=/usr/bin/dellWirelessCtl
+-if [ -x "/usr/sbin/dellWirelessCtl" ]; then
+- DELL_WCTL=/usr/sbin/dellWirelessCtl
+-fi
+-
+ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "bluetooth" ]; then
+ if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "sonypic" ]; then
+ hal-system-sonypic setbluetooth $value
+@@ -23,26 +18,6 @@ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "blue
+ exit 1
+ fi
+ exit 0
+- elif [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # TODO: write our own binary that links with libsmbios?
+- if [ "$value" = "true" ]; then
+- $DELL_WCTL --bt 1
+- ret=$?
+- else
+- $DELL_WCTL --bt 0
+- ret=$?
+- fi
+- if [ "$ret" != "0" ]; then
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $ret" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+ elif [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = thinkpad -a -w "$HAL_PROP_LINUX_SYSFS_PATH" ]; then
+ if [ "$value" = "true" ]; then
+ bit=1;
+@@ -61,60 +36,6 @@ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "blue
+ echo "Access type not supported" >&2
+ exit 1
+ fi
+-elif [ "$HAL_PROP_KILLSWITCH_TYPE" = "wlan" ]; then
+- if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # As a side effect we disable the physical kill switch
+- # TODO: write our own binary that links with libsmbios?
+- if [ "$value" = "true" ]; then
+- $DELL_WCTL --sw_wlan 0 --wlan 1
+- ret=$?
+- else
+- $DELL_WCTL --sw_wlan 0 --wlan 0
+- ret=$?
+- fi
+- if [ "$ret" != "0" ]; then
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $ret" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "Access type not supported" >&2
+- exit 1
+- fi
+-elif [ "$HAL_PROP_KILLSWITCH_TYPE" = "wwan" ]; then
+- if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # As a side effect we disable the physical kill switch
+- # TODO: write our own binary that links with libsmbios?
+- if [ "$value" = "true" ]; then
+- $DELL_WCTL --sw_wwan 0 --wwan 1
+- ret=$?
+- else
+- $DELL_WCTL --sw_wwan 0 --wwan 0
+- ret=$?
+- fi
+- if [ "$ret" != "0" ]; then
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $ret" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "Access type not supported" >&2
+- exit 1
+- fi
+ else
+ echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+ echo "Killswitch type not supported" >&2
diff --git a/abs/core/hal/hal-use-at-console.patch b/abs/core/hal/hal-use-at-console.patch
new file mode 100644
index 0000000..0b32f17
--- /dev/null
+++ b/abs/core/hal/hal-use-at-console.patch
@@ -0,0 +1,45 @@
+diff -up hal-0.5.13/hal.conf.in.drop-polkit hal-0.5.13/hal.conf.in
+--- hal-0.5.13/hal.conf.in.drop-polkit 2009-02-04 17:07:23.000000000 -0500
++++ hal-0.5.13/hal.conf.in 2009-07-29 23:15:16.866766074 -0400
+@@ -25,7 +25,41 @@
+ send_interface="org.freedesktop.Hal.Device"/>
+ <allow send_destination="org.freedesktop.Hal"
+ send_interface="org.freedesktop.Hal.Manager"/>
++ </policy>
++
++ <!-- Only allow users at the local console to manipulate devices -->
++ <policy at_console="true">
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.CPUFreq"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.DockStation"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.KillSwitch"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.Leds"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.LightSensor"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.Storage"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.Storage.Removable"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.Volume"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.WakeOnLan"/>
++
++ </policy>
+
++ <!-- well,...and root too -->
++ <policy user="root">
+ <allow send_destination="org.freedesktop.Hal"
+ send_interface="org.freedesktop.Hal.Device.CPUFreq"/>
+ <allow send_destination="org.freedesktop.Hal"
diff --git a/abs/core/hal/hal-xen-unignore-axes.patch b/abs/core/hal/hal-xen-unignore-axes.patch
new file mode 100644
index 0000000..b248639
--- /dev/null
+++ b/abs/core/hal/hal-xen-unignore-axes.patch
@@ -0,0 +1,39 @@
+From e48f59d2b9bcb43ea8a7b8c884dcb73c8f65b170 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 19 Oct 2009 14:27:20 +1000
+Subject: [PATCH] Un-ignore absolute axes for the Xen Virtual Pointer.
+
+The evdev-internal axis type picking fails for the Xen Virtual Pointer as it
+exposes both relative and absolute axes. Evdev picks the relative axes by
+default, leading to a immovable pointer if the Xen backend only sends
+absolute coordinates.
+
+Explicitly tell evdev to not ignore the absolute axes.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=523914
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ fdi/policy/10osvendor/10-x11-input.fdi | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/fdi/policy/10osvendor/10-x11-input.fdi b/fdi/policy/10osvendor/10-x11-input.fdi
+index 89ba672..752c4ab 100644
+--- a/fdi/policy/10osvendor/10-x11-input.fdi
++++ b/fdi/policy/10osvendor/10-x11-input.fdi
+@@ -44,5 +44,12 @@
+ <match key="info.product" contains="ThinkPad HDAPS accelerometer data">
+ <remove key="input.x11_driver" />
+ </match>
++
++ <!-- https://bugzilla.redhat.com/show_bug.cgi?id=523914
++ Mouse does not move in PV Xen guest -->
++ <match key="info.product" contains="Xen Virtual Pointer">
++ <merge key="input.x11_options.IgnoreAbsoluteAxes" type="string">false</merge>
++ <merge key="input.x11_options.IgnoreRelativeAxes" type="string">false</merge>
++ </match>
+ </device>
+ </deviceinfo>
+--
+1.6.2.5
+
diff --git a/abs/core/hal/hal.install b/abs/core/hal/hal.install
index d3f3686..d6afee3 100644
--- a/abs/core/hal/hal.install
+++ b/abs/core/hal/hal.install
@@ -14,12 +14,11 @@ post_upgrade() {
}
# arg 1: the old package version
-pre_remove() {
- usr/sbin/userdel hal &>/dev/null
- usr/sbin/groupdel hal &>/dev/null
+post_remove() {
+ if getent passwd hal &>/dev/null; then
+ usr/sbin/userdel hal
+ fi
+ if getent group hal &>/dev/null; then
+ usr/sbin/groupdel hal
+ fi
}
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/core/hal/handle-input-touchpad.patch b/abs/core/hal/handle-input-touchpad.patch
new file mode 100644
index 0000000..9cd6464
--- /dev/null
+++ b/abs/core/hal/handle-input-touchpad.patch
@@ -0,0 +1,101 @@
+From 6dccf8e3ad181e8f56b1d2a994ec50a1953a1c2d Mon Sep 17 00:00:00 2001
+From: Michael Witten <mfwitten@gmail.com>
+Date: Wed, 06 Jan 2010 00:53:17 +0000
+Subject: Policy: handle `input.touchpad' explicitly
+
+This commit essentially duplicates the policy for:
+
+ <match key="info.capabilities" contains="input.mouse">
+
+and then changes `input.mouse' to `input.touchpad'. This
+is necessary because in Linus Torvalds's Linux repo:
+
+ git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+
+the following commit:
+
+ commit 7105d2ea73e1391b681d0e1212c42f561c64d429
+ Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+ Date: Fri Dec 11 23:54:54 2009 -0800
+
+ Input: ALPS - do not set REL_X/REL_Y capabilities on the touchpad
+
+ Relative events are only reported via secondary device therefore device
+ associated with the touchpad should not advertise these capabilities.
+
+ Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+
+made these few changes:
+
+ diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
+ index a3f492a..b03e7e0 100644
+ /--- a/drivers/input/mouse/alps.c
+ /+++ b/drivers/input/mouse/alps.c
+ /@@ -487,6 +487,17 @@ int alps_init(struct psmouse *psmouse)
+ if (alps_hw_init(psmouse))
+ goto init_fail;
+
+ + /*
+ + * Undo part of setup done for us by psmouse core since touchpad
+ + * is not a relative device.
+ + */
+ + __clear_bit(EV_REL, dev1->evbit);
+ + __clear_bit(REL_X, dev1->relbit);
+ + __clear_bit(REL_Y, dev1->relbit);
+ +
+ + /*
+ + * Now set up our capabilities.
+ + */
+ dev1->evbit[BIT_WORD(EV_KEY)] |= BIT_MASK(EV_KEY);
+ dev1->keybit[BIT_WORD(BTN_TOUCH)] |= BIT_MASK(BTN_TOUCH);
+ dev1->keybit[BIT_WORD(BTN_TOOL_FINGER)] |= BIT_MASK(BTN_TOOL_FINGER);
+
+so that HAL no longer adds:
+
+ input.mouse
+
+to an ALPS touchpad's:
+
+ info.capabilities
+
+so that HAL no longer marks the ALPS touchpad with:
+
+ input.x11_driver = 'evdev'
+
+because the policy file:
+
+ fdi/policy/10osvendor/10-x11-input.fdi
+
+doesn't define the policy for:
+
+ <match key="info.capabilities" contains="input.touchpad">
+
+which was previous unnecessary because everything used to
+be caught by the policy for:
+
+ <match key="info.capabilities" contains="input.mouse">
+
+Signed-off-by: Michael Witten <mfwitten@gmail.com>
+Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
+---
+diff --git a/fdi/policy/10osvendor/10-x11-input.fdi b/fdi/policy/10osvendor/10-x11-input.fdi
+index cff8fc5..8bbe263 100644
+--- a/fdi/policy/10osvendor/10-x11-input.fdi
++++ b/fdi/policy/10osvendor/10-x11-input.fdi
+@@ -16,6 +16,14 @@
+ </match>
+ </match>
+
++ <match key="info.capabilities" contains="input.touchpad">
++ <merge key="input.x11_driver" type="string">mouse</merge>
++ <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
++ string="Linux">
++ <merge key="input.x11_driver" type="string">evdev</merge>
++ </match>
++ </match>
++
+ <match key="info.capabilities" contains="input.tablet">
+ <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
+ string="Linux">
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core/hal/macbook-fix-ioperm.patch b/abs/core/hal/macbook-fix-ioperm.patch
new file mode 100644
index 0000000..14d0b39
--- /dev/null
+++ b/abs/core/hal/macbook-fix-ioperm.patch
@@ -0,0 +1,41 @@
+From 597c1ffffd61a15a334ce42f2a569c59f0270bcb Mon Sep 17 00:00:00 2001
+From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Date: Thu, 25 Feb 2010 10:25:18 +0000
+Subject: Fix incorrect arguments to ioperm() call
+
+The second argument of ioperm() is not the last port to be accessed
+but rather length of the port range [port, port + len).
+
+Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
+---
+diff --git a/hald/linux/addons/addon-imac-backlight.c b/hald/linux/addons/addon-imac-backlight.c
+index e869192..54e4ea3 100644
+--- a/hald/linux/addons/addon-imac-backlight.c
++++ b/hald/linux/addons/addon-imac-backlight.c
+@@ -158,7 +158,8 @@ main (int argc, char **argv)
+ goto out;
+ }
+
+- if (ioperm(0xB2, 0xB3, 1) < 0)
++ /* Allow access to ports 0xB2 and 0xB3 */
++ if (ioperm(0xB2, 2, 1) < 0)
+ {
+ HAL_ERROR (("ioperm failed (you should be root)."));
+ exit(1);
+diff --git a/hald/linux/addons/addon-macbookpro-backlight.c b/hald/linux/addons/addon-macbookpro-backlight.c
+index 2a6fef6..c1bbbac 100644
+--- a/hald/linux/addons/addon-macbookpro-backlight.c
++++ b/hald/linux/addons/addon-macbookpro-backlight.c
+@@ -507,7 +507,8 @@ main (int argc, char *argv[])
+ state = INREG(0x7ae4);
+ OUTREG(0x7ae4, state);
+
+- if (ioperm (0x300, 0x304, 1) < 0) {
++ /* Allow access to porta 0x300 through 0x304 */
++ if (ioperm (0x300, 5, 1) < 0) {
+ HAL_ERROR (("ioperm failed (you should be root)."));
+ exit(1);
+ }
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core/hal/path-max.patch b/abs/core/hal/path-max.patch
new file mode 100644
index 0000000..304185d
--- /dev/null
+++ b/abs/core/hal/path-max.patch
@@ -0,0 +1,31 @@
+From a2c3dd5a04d79265772c09c4280606d5c2ed72c6 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt@ubuntu.com>
+Date: Mon, 04 Jan 2010 15:56:13 +0000
+Subject: Bump HAL_PATH_MAX to 4096
+
+Some bits in the code use realpath() with destination paths of size
+HAL_PATH_MAX. This potentially breaks on systems where PATH_MAX is bigger than
+HAL_PATH_MAX (which was 512 until now).
+
+Since we can't use PATH_MAX directly (due to platforms like GNU/Hurd, which
+apparently don't have it), just bump HAL_PATH_MAX to 4096 (as PATH_MAX is on
+Linux), to avoid potential buffer overflows and also fix hal on Linux when
+enabling FORTIFY in gcc.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=25888
+---
+diff --git a/hald/util.h b/hald/util.h
+index c2a1584..7883333 100644
+--- a/hald/util.h
++++ b/hald/util.h
+@@ -38,7 +38,7 @@
+ #endif
+
+ #define HAL_NAME_MAX 256
+-#define HAL_PATH_MAX 512
++#define HAL_PATH_MAX 4096
+
+ gboolean hal_util_remove_trailing_slash (gchar *path);
+
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core/heimdal/001_all_heimdal-no_libedit.patch b/abs/core/heimdal/001_all_heimdal-no_libedit.patch
new file mode 100644
index 0000000..a551bdc
--- /dev/null
+++ b/abs/core/heimdal/001_all_heimdal-no_libedit.patch
@@ -0,0 +1,10 @@
+--- cf/krb-readline.m4 2005-06-16 18:28:32.000000000 +0200
++++ cf/krb-readline.m4 2005-06-27 23:17:06.000000000 +0200
+@@ -6,7 +6,6 @@
+ dnl el_init
+
+ AC_DEFUN([KRB_READLINE],[
+-AC_FIND_FUNC_NO_LIBS(el_init, edit, [], [], [$LIB_tgetent])
+ if test "$ac_cv_func_el_init" = yes ; then
+ AC_CACHE_CHECK(for four argument el_init, ac_cv_func_el_init_four,[
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
diff --git a/abs/core/heimdal/002_all_heimal-fPIC.patch b/abs/core/heimdal/002_all_heimal-fPIC.patch
new file mode 100644
index 0000000..c67dbae
--- /dev/null
+++ b/abs/core/heimdal/002_all_heimal-fPIC.patch
@@ -0,0 +1,12 @@
+--- lib/editline/Makefile.am 2005-06-16 18:28:44.000000000 +0200
++++ lib/editline/Makefile.am 2005-06-27 23:21:02.000000000 +0200
+@@ -41,6 +41,9 @@
+
+ EXTRA_DIST = $(man_MANS)
+
++$(libeditline_la_OBJECTS): %.lo: %.c
++ $(LTCOMPILE) -fPIC -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
++
+ snprintf.c:
+ $(LN_S) $(srcdir)/../roken/snprintf.c .
+ strdup.c:
diff --git a/abs/core/heimdal/003_all_heimdal-rxapps.patch b/abs/core/heimdal/003_all_heimdal-rxapps.patch
new file mode 100644
index 0000000..40fc05f
--- /dev/null
+++ b/abs/core/heimdal/003_all_heimdal-rxapps.patch
@@ -0,0 +1,22 @@
+--- appl/kx/rxtelnet.in 2005-06-16 18:29:10.000000000 +0200
++++ appl/kx/rxtelnet.in 2005-06-27 23:21:34.000000000 +0200
+@@ -2,7 +2,7 @@
+ # $Id: rxtelnet.in,v 1.31 2004/03/07 17:22:06 lha Exp $
+ #
+ usage="Usage: $0 [-l username] [-k] [-fF] [-t args_to_telnet] [-x args_to_xterm] [-K args_to_kx] [-w term_emulator] [-b telnet_binary] [-n] [-v] [-h | --help] [--version] host [port]"
+-binary=telnet
++binary=ktelnet
+ term=
+ kx_args=-P
+ while true
+--- appl/kx/rxterm.in 2005-06-16 18:29:10.000000000 +0200
++++ appl/kx/rxterm.in 2005-06-27 23:21:55.000000000 +0200
+@@ -2,7 +2,7 @@
+ # $Id: rxterm.in,v 1.23 2002/03/18 17:37:34 joda Exp $
+ #
+ usage="Usage: $0 [-l username] [-k] [-f] [-r rsh_args] [-x xterm_args] [-K kx_args] [-w term_emulator] [-b rsh_binary][-v] [-h | --help] [--version] host"
+-binary=rsh
++binary=krsh
+ term=xterm
+ while true
+ do
diff --git a/abs/core/heimdal/005_all_heimdal-suid_fix.patch b/abs/core/heimdal/005_all_heimdal-suid_fix.patch
new file mode 100644
index 0000000..35a9ed9
--- /dev/null
+++ b/abs/core/heimdal/005_all_heimdal-suid_fix.patch
@@ -0,0 +1,20 @@
+--- appl/su/Makefile.am 2005-06-16 18:27:46.000000000 +0200
++++ appl/su/Makefile.am 2005-06-27 23:25:21.000000000 +0200
+@@ -7,6 +7,7 @@
+ bin_PROGRAMS = su
+ bin_SUIDS = su
+ su_SOURCES = su.c supaths.h
++su_LDFLAGS = -Wl,-z,now
+ man_MANS = su.1
+
+ LDADD = $(LIB_kafs) \
+--- appl/otp/Makefile.am 2005-06-16 18:28:46.000000000 +0200
++++ appl/otp/Makefile.am 2005-06-27 23:25:40.000000000 +0200
+@@ -8,6 +8,7 @@
+ bin_SUIDS = otp
+ otp_SOURCES = otp.c otp_locl.h
+ otpprint_SOURCES = otpprint.c otp_locl.h
++otp_LDFLAGS = -Wl,-z,now
+
+ man_MANS = otp.1 otpprint.1
+
diff --git a/abs/core/heimdal/012_all_heimdal-berkdb.patch b/abs/core/heimdal/012_all_heimdal-berkdb.patch
new file mode 100644
index 0000000..46762c2
--- /dev/null
+++ b/abs/core/heimdal/012_all_heimdal-berkdb.patch
@@ -0,0 +1,124 @@
+Binary files heimdal-0.7-old/cf/.find-func-no-libs2.m4.swp and heimdal-0.7/cf/.find-func-no-libs2.m4.swp differ
+Index: heimdal/cf/db.m4
+===================================================================
+--- heimdal.orig/cf/db.m4
++++ heimdal/cf/db.m4
+@@ -18,24 +18,13 @@ db_type=unknown
+
+ if test "$enable_berkeley_db" != no; then
+
+- AC_CHECK_HEADERS([ \
+- db4/db.h \
+- db3/db.h \
+- db.h \
+- db_185.h \
+- ])
++ AC_CHECK_HEADERS([db.h])
+
+ dnl db_create is used by db3 and db4
+
+- AC_FIND_FUNC_NO_LIBS(db_create, db4 db3 db, [
++ AC_FIND_FUNC_NO_LIBS(db_create, db, [
+ #include <stdio.h>
+- #ifdef HAVE_DB4_DB_H
+- #include <db4/db.h>
+- #elif defined(HAVE_DB3_DB_H)
+- #include <db3/db.h>
+- #else
+ #include <db.h>
+- #endif
+ ],[NULL, NULL, 0])
+
+ if test "$ac_cv_func_db_create" = "yes"; then
+@@ -50,17 +39,9 @@ dnl db_create is used by db3 and db4
+
+ dnl dbopen is used by db1/db2
+
+- AC_FIND_FUNC_NO_LIBS(dbopen, db2 db, [
++ AC_FIND_FUNC_NO_LIBS(dbopen, db, [
+ #include <stdio.h>
+- #if defined(HAVE_DB2_DB_H)
+- #include <db2/db.h>
+- #elif defined(HAVE_DB_185_H)
+- #include <db_185.h>
+- #elif defined(HAVE_DB_H)
+ #include <db.h>
+- #else
+- #error no db.h
+- #endif
+ ],[NULL, 0, 0, 0, NULL])
+
+ if test "$ac_cv_func_dbopen" = "yes"; then
+Index: heimdal/lib/hdb/db.c
+===================================================================
+--- heimdal.orig/lib/hdb/db.c
++++ heimdal/lib/hdb/db.c
+@@ -37,11 +37,7 @@ RCSID("$Id: db.c 20215 2007-02-09 21:59:
+
+ #if HAVE_DB1
+
+-#if defined(HAVE_DB_185_H)
+-#include <db_185.h>
+-#elif defined(HAVE_DB_H)
+ #include <db.h>
+-#endif
+
+ static krb5_error_code
+ DB_close(krb5_context context, HDB *db)
+Index: heimdal/lib/hdb/db3.c
+===================================================================
+--- heimdal.orig/lib/hdb/db3.c
++++ heimdal/lib/hdb/db3.c
+@@ -37,13 +37,7 @@ RCSID("$Id: db3.c 21610 2007-07-17 07:10
+
+ #if HAVE_DB3
+
+-#ifdef HAVE_DB4_DB_H
+-#include <db4/db.h>
+-#elif defined(HAVE_DB3_DB_H)
+-#include <db3/db.h>
+-#else
+ #include <db.h>
+-#endif
+
+ static krb5_error_code
+ DB_close(krb5_context context, HDB *db)
+Index: heimdal/lib/roken/getcap.c
+===================================================================
+--- heimdal.orig/lib/roken/getcap.c
++++ heimdal/lib/roken/getcap.c
+@@ -38,11 +38,13 @@
+ #include "roken.h"
+ RCSID("$Id: getcap.c 16561 2006-01-13 14:25:32Z lha $");
+
++#if defined(HAVE_DBOPEN) && defined(HAVE_DB_H)
++#define USE_DB
++#endif
++
+ #include <sys/types.h>
+ #include <ctype.h>
+-#if defined(HAVE_DB_185_H)
+-#include <db_185.h>
+-#elif defined(HAVE_DB_H)
++#ifdef USE_DB
+ #include <db.h>
+ #endif
+ #include <errno.h>
+Index: heimdal/lib/roken/ndbm_wrap.c
+===================================================================
+--- heimdal.orig/lib/roken/ndbm_wrap.c
++++ heimdal/lib/roken/ndbm_wrap.c
+@@ -37,13 +37,7 @@ RCSID("$Id: ndbm_wrap.c 21634 2007-07-17
+ #endif
+
+ #include "ndbm_wrap.h"
+-#if defined(HAVE_DB4_DB_H)
+-#include <db4/db.h>
+-#elif defined(HAVE_DB3_DB_H)
+-#include <db3/db.h>
+-#else
+ #include <db.h>
+-#endif
+
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/abs/core/heimdal/013_all_heimdal-pthread-lib.patch b/abs/core/heimdal/013_all_heimdal-pthread-lib.patch
new file mode 100644
index 0000000..19f8794
--- /dev/null
+++ b/abs/core/heimdal/013_all_heimdal-pthread-lib.patch
@@ -0,0 +1,11 @@
+--- heimdal-0.7.1/cf/pthreads.m4.old 2005-09-09 12:12:28.000000000 +0000
++++ heimdal-0.7.1/cf/pthreads.m4 2005-09-17 22:23:23.000000000 +0000
+@@ -32,7 +32,7 @@
+ 2.*)
+ native_pthread_support=yes
+ PTHREADS_CFLAGS=-pthread
+- PTHREADS_LIBS=-pthread
++ PTHREADS_LIBS=-lpthread
+ ;;
+ esac
+ ;;
diff --git a/abs/core/heimdal/014_all_heimdal-path.patch b/abs/core/heimdal/014_all_heimdal-path.patch
new file mode 100644
index 0000000..36a86f1
--- /dev/null
+++ b/abs/core/heimdal/014_all_heimdal-path.patch
@@ -0,0 +1,50 @@
+--- appl/rcp/rcp.c.old 2006-05-03 13:31:59.398493625 +0200
++++ appl/rcp/rcp.c 2006-05-03 13:32:04.494485981 +0200
+@@ -34,7 +34,7 @@
+ #include "rcp_locl.h"
+ #include <getarg.h>
+
+-#define RSH_PROGRAM "rsh"
++#define RSH_PROGRAM "krsh"
+
+ struct passwd *pwd;
+ uid_t userid;
+--- appl/rcp/rcp_locl.h.old 2006-05-03 02:30:31.602025409 +0200
++++ appl/rcp/rcp_locl.h 2006-05-03 02:30:35.886018983 +0200
+@@ -64,4 +64,4 @@
+ #define _PATH_CP "/bin/cp"
+ #endif
+ #undef _PATH_RSH
+-#define _PATH_RSH BINDIR "/rsh"
++#define _PATH_RSH BINDIR "/krsh"
+--- appl/telnet/telnetd/telnetd.h.old 2006-05-03 02:23:14.582680939 +0200
++++ appl/telnet/telnetd/telnetd.h 2006-05-03 02:23:23.746667193 +0200
+@@ -192,7 +192,7 @@
+ #endif
+
+ #undef _PATH_LOGIN
+-#define _PATH_LOGIN BINDIR "/login"
++#define _PATH_LOGIN BINDIR "/klogin"
+
+ /* fallbacks */
+
+--- appl/login/shadow.c.old 2006-05-05 06:31:29.517138115 +0200
++++ appl/login/shadow.c 2006-05-05 06:32:26.433052741 +0200
+@@ -38,7 +38,7 @@
+ #ifdef HAVE_SHADOW_H
+
+ #ifndef _PATH_CHPASS
+-#define _PATH_CHPASS "/usr/bin/passwd"
++#define _PATH_CHPASS "/usr/bin/kpasswd"
+ #endif
+
+ static int
+@@ -52,7 +52,7 @@
+ printf("fork /bin/passwd");
+ exit(1);
+ case 0:
+- execlp(_PATH_CHPASS, "passwd", who->pw_name, (char *) 0);
++ execlp(_PATH_CHPASS, "kpasswd", who->pw_name, (char *) 0);
+ exit(1);
+ default:
+ waitpid(pid, &status, 0);
diff --git a/abs/core/heimdal/PKGBUILD b/abs/core/heimdal/PKGBUILD
index 06dd0cd..2074973 100644
--- a/abs/core/heimdal/PKGBUILD
+++ b/abs/core/heimdal/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 21345 2008-12-12 02:52:37Z allan $
+# $Id: PKGBUILD 81228 2010-05-27 15:14:39Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
@@ -7,86 +7,100 @@
#
pkgname=heimdal
-pkgver=1.2.1
-pkgrel=2
+pkgver=1.3.3
+pkgrel=1
pkgdesc="Implementation of Kerberos V5 libraries"
arch=('i686' 'x86_64')
url="http://www.h5l.org/"
license=('custom')
-depends=('db>=4.7' 'openssl' 'e2fsprogs')
+depends=('db' 'openssl' 'sqlite3' 'e2fsprogs')
backup=(etc/krb5.conf)
options=('!libtool' '!emptydirs')
-install=$pkgname.install
-source=(http://www.h5l.org/dist/src/${pkgname}-${pkgver}.tar.gz \
- 002_all_heimdal-no_libedit.patch \
- 003_all_heimdal-fPIC.patch \
- 004_all_heimdal-rxapps.patch \
- heimdal-kdc.rc \
- kadmind.rc \
+install=heimdal.install
+source=(http://www.h5l.org/dist/src/${pkgname}-${pkgver}.tar.gz
+ 001_all_heimdal-no_libedit.patch
+ 002_all_heimal-fPIC.patch
+ 003_all_heimdal-rxapps.patch
+ 005_all_heimdal-suid_fix.patch
+ 012_all_heimdal-berkdb.patch
+ 013_all_heimdal-pthread-lib.patch
+ 014_all_heimdal-path.patch
+ heimdal-kdc.rc
+ kadmind.rc
kpasswd.rc)
-md5sums=('6e5028077e2a6b101a4a72801ba71b9e'
- '1199c4a4a38e9c2b2c0a99bd5781767a'
- '3d0262aa218e1611500de735d3581e28'
- '0fe81cb1e33b2a2e60edaf47dfdfe4de'
+md5sums=('963c09f1b14c41660be70b55fae9f163'
+ '98e28f11f906c967aac22d6184102c9e'
+ '6d5571bdedba2e2423b90bccdbac2c0a'
+ '2feec3924ee5230b54175b4d4000c872'
+ '45aeb207f360f9f4e9e0fabc8bfeecbc'
+ '56f5d10d0ec40f2fda82ef144ffac1e0'
+ '1b8665b771c4eb6b56ea8582c96e56e3'
+ '8208ae8c0b6ff5ab4f64af1693e9e396'
'e59650992b9541a30dfce727a194f6e0'
'1f2f86a67bbfddb7af581d35fdca9627'
'f8f1eca95b9d3f2b4ebf2417b71b81cf')
build() {
- [ -e /usr/lib/libasn1.so ] && echo "## remove old heimdal pkg first ##" && return 1
-
cd ${srcdir}/heimdal-${pkgver}
- patch -Np0 -i ${srcdir}/002_all_heimdal-no_libedit.patch || return 1
- patch -Np0 -i ${srcdir}/003_all_heimdal-fPIC.patch || return 1
- patch -Np0 -i ${srcdir}/004_all_heimdal-rxapps.patch || return 1
+ patch -Np0 -i ${srcdir}/001_all_heimdal-no_libedit.patch || return 1
+ patch -Np0 -i ${srcdir}/002_all_heimal-fPIC.patch || return 1
+ patch -Np0 -i ${srcdir}/003_all_heimdal-rxapps.patch || return 1
+ patch -Np0 -i ${srcdir}/005_all_heimdal-suid_fix.patch || return 1
+ patch -Np1 -i ${srcdir}/012_all_heimdal-berkdb.patch || return 1
+ patch -Np1 -i ${srcdir}/013_all_heimdal-pthread-lib.patch || return 1
+ patch -Np0 -i ${srcdir}/014_all_heimdal-path.patch || return 1
- sed -i -e 's|var/heimdal|var/lib/heimdal|g' configure.in configure \
+ sed -i -e 's|var/heimdal|var/lib/heimdal|g' configure.in \
doc/setup.texi doc/heimdal.info kadmin/kadmind.8 kdc/kdc.8 \
lib/hdb/hdb.h lib/krb5/krb5.conf.5 lib/krb5/krb5.conf.cat5
+ libtoolize --force || return 1
+ aclocal -I cf || return 1
+ autoconf || return 1
+ automake || return 1
+
./configure --prefix=/usr --enable-shared=yes --without-x \
- --sysconfdir=/etc --mandir=/usr/share/man \
+ --sysconfdir=/etc --mandir=/usr/share/man \
--datadir=/var/lib/heimdal \
--localstatedir=/var/lib/heimdal \
--with-openssl=/usr \
--with-readline-lib=/usr/lib \
--with-readline-include=/usr/include/readline \
- --libexecdir=/usr/sbin --with-berkeley-db \
- --disable-krb4
+ --with-sqlite3-lib=/usr/lib \
+ --with-sqlite3-include=/usr/include \
+ --libexecdir=/usr/sbin
make || return 1
make DESTDIR=${pkgdir} install || return 1
+ # Rename daemons and their manpages
for i in telnetd ftpd rshd; do
- mv ${pkgdir}/usr/share/man/man8/${i}.8 ${pkgdir}/usr/share/man/man8/k${i}.8
- mv ${pkgdir}/usr/sbin/${i} ${pkgdir}/usr/sbin/k${i}
+ mv ${pkgdir}/usr/share/man/man8/{,k}${i}.8 || return 1
+ mv ${pkgdir}/usr/sbin/{,k}${i} || return 1
done
+ # Rename clients and their manpages
for i in rcp rsh telnet ftp su login; do
if [ -f ${pkgdir}/usr/share/man/man1/${i}.1 ]; then
- mv ${pkgdir}/usr/share/man/man1/${i}.1 ${pkgdir}/usr/share/man/man1/k${i}.1
+ mv ${pkgdir}/usr/share/man/man1/{,k}${i}.1 || return 1
fi
- mv ${pkgdir}/usr/bin/${i} ${pkgdir}/usr/bin/k${i}
+ mv ${pkgdir}/usr/bin/{,k}${i} || return 1
done
rm -rf ${pkgdir}/usr/share/man/cat{1,3,5,8}
# Arch could be a KDC too
- mkdir -p ${pkgdir}/etc/rc.d
- install -m644 ${srcdir}/heimdal-${pkgver}/krb5.conf ${pkgdir}/etc
+ install -d ${pkgdir}/etc/rc.d
+ install -m644 ${srcdir}/heimdal-${pkgver}/krb5.conf ${pkgdir}/etc/ || return 1
for i in heimdal-kdc kadmind kpasswd; do
- install -m755 ${srcdir}/${i}.rc ${pkgdir}/etc/rc.d/${i}
+ install -m755 ${srcdir}/${i}.rc ${pkgdir}/etc/rc.d/${i} || return 1
done
- # Remove conflicts
- rm ${pkgdir}/usr/share/man/man5/ftpusers.5* # man-pages
- rm ${pkgdir}/usr/share/info/dir
-
- # Compress info pages
- for page in heimdal hx509; do
- gzip -9 ${pkgdir}/usr/share/info/${page}.info
- done
+ # Remove conflicts
+ rm ${pkgdir}/usr/share/man/man5/ftpusers.5* # man-pages
+ rm ${pkgdir}/usr/share/man/man3/{DES,DH,EVP,OpenSSL,RAND,RSA}* # openssl (a bit overzealous...)
+ rm ${pkgdir}/usr/share/man/man3/os.3* # erlang
# Install the license
- install -D -m644 ${srcdir}/${pkgname}-${pkgver}/LICENSE \
- ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/LICENSE \
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
}
diff --git a/abs/core/iana-etc/Makefile.patch b/abs/core/iana-etc/Makefile.patch
new file mode 100644
index 0000000..b25bc26
--- /dev/null
+++ b/abs/core/iana-etc/Makefile.patch
@@ -0,0 +1,11 @@
+--- Makefile.old 2010-07-23 04:16:11.000000000 -0300
++++ Makefile 2010-07-23 04:16:11.000000000 -0300
+@@ -42,7 +42,7 @@
+ protocol-numbers.iana port-numbers.iana
+
+ protocol-numbers.iana:
+- $(AWK) -f get.gawk -v file=protocol-numbers >protocol-numbers.iana
++ $(AWK) -f get.gawk -v file=protocol-numbers/protocol-numbers.txt >protocol-numbers.iana
+ rm -f protocol-numbers
+
+ port-numbers.iana:
diff --git a/abs/core/iana-etc/PKGBUILD b/abs/core/iana-etc/PKGBUILD
new file mode 100644
index 0000000..1c528a6
--- /dev/null
+++ b/abs/core/iana-etc/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 86037 2010-07-23 23:13:34Z thomas $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+pkgname=iana-etc
+pkgver=2.30
+pkgrel=1
+pkgdesc="/etc/protocols and /etc/services provided by IANA"
+arch=('any')
+url="http://sethwklein.net/iana-etc"
+license=('custom')
+makedepends=('awk')
+source=(http://sethwklein.net/$pkgname-$pkgver.tar.bz2
+ Makefile.patch)
+sha256sums=('b9a6874fb20012836efef75452ef2acae624022d680feeb1994d73facba3f20d'
+ '3e6db7adb8a67b765b8be65825f2a0e6c525eb42367385193c678af6b75d0321')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -p0 -i "$srcdir/Makefile.patch"
+ make get
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+ install -D -m644 COPYING "$pkgdir/usr/share/licenses/iana-etc/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/imagemagick/ChangeLog b/abs/core/imagemagick/ChangeLog
deleted file mode 100644
index a3b253a..0000000
--- a/abs/core/imagemagick/ChangeLog
+++ /dev/null
@@ -1,106 +0,0 @@
-2009-02-27 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.9.7-1
- * Upstream update
-
-2009-02-07 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.9.2-1
- * Upstream update
-
-2009-01-30 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.8.10-1
- * Upstream update
-
-2008-12-29 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.8.2-1
- * Upstream update
-
-2008-12-14 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.7.8-1
- * Upstream update
-
-2008-12-05 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.7.0-1
- * Upstream update
- * Rebuild against heimdal 1.2.1
-
-2008-11-25 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.6.3-1
- * Upstream update
-
-2008-11-14 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.5.6-1
- * Upstream update
-
-2008-10-26 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.5.0-1
- * Upstream update
-
-2008-10-18 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.4.9-1
- * Upstream update
-
-2008-10-03 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.4.1-1
- * Upstream update
-
-2008-09-06 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.3.6-1
- * Upstream update
- * Added JPEG2000 support (close FS#10544)
-
-2008-08-19 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.2.10-1
- * Upstream update
-
-2008-08-11 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.2.7-1
- * Upstream update
- * Added bzip2 and libxml2 depends
- * Disabled docs
-
-2008-07-18 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.2.4-1
- * Upstream update
-
-2008-06-23 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.2.1-1
- * Upstream update
- * Fixed linking problem (close FS#10574)
-
-2008-05-19 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.1.3-1
- * Upstream update
-
-2008-04-30 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.1.0-1
- * Upstream update
-
-2008-04-24 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.0.9-1
- * Upstream update
-
-2008-03-29 Eric Belanger <eric@archlinux.org>
-
- * imagemagick 6.4.0.2-1
- * Upstream update
- * Added dvips to delegates list for dvi support (close FS#8914)
- * Added ChangeLog
diff --git a/abs/core/imagemagick/PKGBUILD b/abs/core/imagemagick/PKGBUILD
index e79c46b..2a797c7 100644
--- a/abs/core/imagemagick/PKGBUILD
+++ b/abs/core/imagemagick/PKGBUILD
@@ -1,53 +1,58 @@
-# $Id: PKGBUILD 28186 2009-02-28 05:23:34Z eric $
-# Maintainer: Eric Belanger <eric@archlinux.org>
-
-# NOTE: ImageMagick builds against an existing installation
-# uninstall ImageMagick before building, or build it, install it, build it.
-
-# NOTE 2: To circumvent linking problems (FS#10574), this package must now be built the following way:
-# install old package, build new package, install new package, rebuild
+# $Id: PKGBUILD 90849 2010-09-18 00:00:00Z eric $
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Maintainer: DAniel J Griffiths <ghost1227@archlinux.us>
pkgname=imagemagick
-pkgver=6.4.9.10
-pkgrel=6
+pkgver=6.6.4.3
+pkgrel=1
pkgdesc="An image viewing/manipulation program"
arch=('i686' 'x86_64')
url="http://www.imagemagick.org/"
license=('custom')
-depends=('libjpeg' 'lcms' 'libwmf' 'librsvg' 'libxt' 'gcc-libs' 'ghostscript' 'openexr>=1.6.1' 'libtool>=2.2' 'heimdal>=1.2.1' 'bzip2' 'libxml2' 'jasper')
-#makedepends=('ghostscript' 'openexr')
-options=('!makeflags' '!docs')
-source=(ftp://ftp.fifi.org/pub/ImageMagick/legacy/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.bz2
- #ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.bz2 \
- libpng_mmx_patch_x86_64.patch add_delegate.patch)
+depends=('libtool' 'lcms' 'libxt' 'gcc-libs' 'bzip2' 'freetype2' 'fontconfig' 'libxext')
+makedepends=('ghostscript' 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper')
+optdepends=('ghostscript: for Ghostscript support'
+ 'openexr: for OpenEXR support'
+ 'libwmf: for WMF support'
+ 'librsvg: for SVG support'
+ 'libxml2: for XML support'
+ 'jasper: for JPEG-2000 support')
+options=('!makeflags' '!docs' 'force')
+source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
+ libpng_mmx_patch_x86_64.patch
+ perlmagick.rpath.patch)
+md5sums=('be87050ec143205326f2e9fbbc7da03a' '069980fc2590c02aed86420996259302'\
+ 'ff9974decbfe9846f8e347239d87e4eb')
+sha1sums=('9f6c800560998b6a5e96b1a62d2b13140de9d1d7' 'e42f3acbe85b6098af75c5cecc9a254baaa0482c'\
+ '23405f80904b1de94ebd7bd6fe2a332471b8c283')
build() {
- cd ${srcdir}/ImageMagick-${pkgver%.*}-${pkgver##*.}
-
- if [ "${CARCH}" = "x86_64" ]; then
- patch -Np1 < ../libpng_mmx_patch_x86_64.patch || return 1
- fi
-
- patch -p0 < ../add_delegate.patch || return 1
- sed -i "s/with_autotrace='no'/with_autotrace='yes'/" configure || return 1
-
- # When there is a soname bump, remove 'LIBS=-lMagickWand' from configure line and build/install. Then, readd 'LIBS=-lMagickWand' and build/install twice.
- LIBS=-lMagickWand ./configure --prefix=/usr --without-modules --disable-static --enable-openmp \
- --with-x --with-wmf --with-openexr --with-xml \
- --with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
- --with-perl --with-perl-options="INSTALLDIRS=vendor" \
- --without-gvc --without-djvu --with-jp2 \
- --without-jbig --without-fpx --without-dps || return 1
-
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
- install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
- install -D -m644 NOTICE ${pkgdir}/usr/share/licenses/${pkgname}/NOTICE || return 1
-
- #Cleaning
- find ${pkgdir} -name '*.bs' -exec rm {} \; || return 1
- find ${pkgdir} -name '.packlist' -exec rm {} \; || return 1
- find ${pkgdir} -name 'perllocal.pod' -exec rm {} \; || return 1
-
- rm -f ${pkgdir}/usr/lib/*.la || return 1
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+
+ if [ "${CARCH}" = 'x86_64' ]; then
+ patch -Np1 < ../libpng_mmx_patch_x86_64.patch
+ fi
+
+ patch -p0 < ../perlmagick.rpath.patch
+
+ ./configure --prefix=/usr --with-modules --disable-static \
+ --enable-openmp --with-x --with-wmf --with-openexr --with-xml \
+ --with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
+ --with-perl --with-perl-options="INSTALLDIRS=vendor" \
+ --without-gvc --without-djvu --without-autotrace --with-jp2 \
+ --without-jbig --without-fpx --without-dps
+ make
+}
+
+package() {
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm644 NOTICE "${pkgdir}/usr/share/licenses/${pkgname}/NOTICE"
+
+ #Cleaning
+ find "${pkgdir}" -name '*.bs' -exec rm {} \;
+ rm -f "${pkgdir}"/usr/lib/*.la
}
diff --git a/abs/core/imagemagick/add_delegate.patch b/abs/core/imagemagick/add_delegate.patch
deleted file mode 100644
index 6ba6009..0000000
--- a/abs/core/imagemagick/add_delegate.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- config/delegates.xml.in.orig 2008-03-29 23:25:03.000000000 -0400
-+++ config/delegates.xml.in 2008-03-29 23:27:35.000000000 -0400
-@@ -103,4 +103,5 @@
- <delegate decode="xps:color" stealth="True" command="&quot;@XPSDelegate@&quot; -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0 &quot;-sDEVICE=@XPSColorDevice@&quot; -dTextAlphaBits=%u -dGraphicsAlphaBits=%u &quot;-r%s&quot; %s &quot;-sOutputFile=%s&quot; &quot;%s&quot;"/>
- <delegate decode="xps:cmyk" stealth="True" command="&quot;@XPSDelegate@&quot; -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0 &quot;-sDEVICE=@XPSCMYKDevice@&quot; -dTextAlphaBits=%u -dGraphicsAlphaBits=%u &quot;-r%s&quot; %s &quot;-sOutputFile=%s&quot; &quot;%s&quot;"/>
- <delegate decode="xps:mono" stealth="True" command="&quot;@XPSDelegate@&quot; -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0 &quot;-sDEVICE=@XPSMonoDevice@&quot; -dTextAlphaBits=%u -dGraphicsAlphaBits=%u &quot;-r%s&quot; %s &quot;-sOutputFile=%s&quot; &quot;%s&quot;"/>
-+ <delegate decode="dvi" command="&quot;dvips&quot; -q -o &quot;%o&quot; &quot;%i&quot;"/>
- </delegatemap>
diff --git a/abs/core/imagemagick/perlmagick.rpath.patch b/abs/core/imagemagick/perlmagick.rpath.patch
new file mode 100644
index 0000000..958c0f2
--- /dev/null
+++ b/abs/core/imagemagick/perlmagick.rpath.patch
@@ -0,0 +1,10 @@
+--- Makefile.in.orig 2009-05-26 16:22:11.000000000 -0300
++++ Makefile.in 2009-05-26 16:23:27.000000000 -0300
+@@ -10067,6 +10067,7 @@
+
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@$(PERLMAKEFILE): perl-sources $(PERLMAKEMAKER)
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @PERL@ Makefile.PL $(PERL_MAKE_OPTIONS)
++@WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @SED@ -i 's|LD_RUN_PATH|DIE_LD_RUN_PATH_DIE|g' Makefile
+
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@install-exec-perl: $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) $(PERLMAKEFILE)
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && $(MAKE) CC='@CC@' install
diff --git a/abs/core/imlib2/PKGBUILD b/abs/core/imlib2/PKGBUILD
index b465ca2..0307519 100644
--- a/abs/core/imlib2/PKGBUILD
+++ b/abs/core/imlib2/PKGBUILD
@@ -1,28 +1,34 @@
-# $Id: PKGBUILD 2921 2008-06-15 20:14:02Z eric $
-# Maintainer: arjan <arjan@archlinux.org>
-# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# $Id: PKGBUILD 79752 2010-05-06 13:39:04Z ronald $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Arjan Timmerman <arjan.archlinux.org>
+# Contributor: Tom Newsom <Jeepster.gmx.co.uk>
+
pkgname=imlib2
-pkgver=1.4.1
-pkgrel=2
-pkgdesc="Imlib2 is the successor to Imlib. It is NOT a newer version -- Imlib 2 can be installed alongside Imlib 1.x"
-arch=(i686 x86_64)
-url="http://sourceforge.net/projects/enlightenment"
+pkgver=1.4.4
+pkgrel=1
+pkgdesc="Library that does image file loading and saving as well as rendering, manipulation, arbitrary polygon support"
+url="http://sourceforge.net/projects/enlightenment/"
+arch=('i686' 'x86_64')
license=('BSD')
-depends=('libtiff' 'giflib' 'bzip2' 'freetype2' 'libxext' 'libpng' 'libid3tag')
+depends=('libtiff>=3.9.2-2' 'giflib' 'bzip2' 'freetype2' 'libxext' 'libpng>=1.4.0' 'libid3tag' 'libjpeg>=8')
options=('!libtool')
-source=(http://downloads.sourceforge.net/sourceforge/enlightenment/$pkgname-$pkgver.tar.gz)
-md5sums=('16a3d885e523303be794282c0ed90841')
+source=("http://downloads.sourceforge.net/enlightenment/$pkgname-$pkgver.tar.bz2")
+sha1sums=('aca2cf5d40ddcd8a3acfde605f319fccce7c2a2b')
build() {
- cd $startdir/src/$pkgname-$pkgver
+ cd $srcdir/$pkgname-$pkgver
- # Enable x86 MMX optimizations for i686 (32-bit assembler code not compatible with x86_64)
- [ "${CARCH}" = "i686" ] && EXTRAOPTS="--disable-mmx"
- # Disable AMD64 optimizations due to bug in assembler code
- [ "${CARCH}" = "x86_64" ] && EXTRAOPTS="--disable-amd64"
+ # disable optimizations, they cause problems (e.g. FS#12268)
+ [ $CARCH = "i686" ] && EXTRAOPTS="--disable-mmx"
+ [ $CARCH = "x86_64" ] && EXTRAOPTS="--disable-amd64"
- ./configure --prefix=/usr --sysconfdir=/etc/imlib2 --x-libraries=/usr/lib $EXTRAOPTS
+ # Configure and Build
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/imlib2 \
+ --x-libraries=/usr/lib $EXTRAOPTS || return 1
make || return 1
- make DESTDIR=$startdir/pkg install
- install -D -m644 COPYING $startdir/pkg/usr/share/licenses/$pkgname/LICENSE.txt
+ make DESTDIR=$pkgdir install || return 1
+
+ # Install License
+ install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
}
diff --git a/abs/core/initscripts/PKGBUILD b/abs/core/initscripts/PKGBUILD
index 7f886e0..df2897e 100644
--- a/abs/core/initscripts/PKGBUILD
+++ b/abs/core/initscripts/PKGBUILD
@@ -1,23 +1,33 @@
-# $Id: PKGBUILD 25007 2009-01-22 17:10:39Z aaron $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# $Id: PKGBUILD 85250 2010-07-11 09:54:57Z thomas $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=initscripts
-pkgver=2009.01
-pkgrel=9
+pkgver=2010.07
+pkgrel=1
pkgdesc="System initialization/bootup scripts"
arch=('i686' 'x86_64')
url="http://www.archlinux.org"
license=('GPL')
groups=('base')
backup=(etc/inittab etc/rc.conf etc/rc.local etc/rc.local.shutdown)
-depends=('glibc' 'bash' 'awk' 'grep' 'coreutils' 'sed' 'udev>=118' 'net-tools' 'ncurses' 'kbd' 'findutils')
-source=(ftp://ftp.archlinux.org/other/initscripts/${pkgname}-${pkgver}.tar.gz rc.sysinit.patch rc.shutdown.patch)
-md5sums=('b947f3efd5d4681459fe8073d610f1b5')
+depends=('glibc' 'bash' 'awk' 'grep' 'coreutils' 'sed' 'udev>=139-1'
+ 'net-tools' 'ncurses' 'kbd' 'findutils' 'sysvinit')
+optdepends=('bridge-utils: Network bridging support'
+ 'dhcpcd: DHCP network configuration'
+ 'wireless_tools: Wireless networking')
+install=initscripts.install
+source=(ftp://ftp.archlinux.org/other/initscripts/${pkgname}-${pkgver}-${pkgrel}.tar.xz rc.sysinit.patch rc.shutdown.patch)
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}/
- patch -p0 < $startdir/src/rc.sysinit.patch || exit 1
- patch -p0 < $startdir/src/rc.shutdown.patch || exit 1
- DESTDIR=$startdir/pkg ./install.sh
+ cd ${srcdir}/${pkgname}-${pkgver}-${pkgrel}/
+ patch -p0 < ${srcdir}/rc.sysinit.patch || exit 1
+ patch -p0 < ${srcdir}/rc.shutdown.patch || exit 1
+ DESTDIR=${pkgdir} ./install.sh
}
+sha256sums=('16b89a9108deacb7d2afd965e59e31aa4b313fc4d1a660fb3cc1fa5c28cfc053'
+ '3a8a82edd680263c4ffa7289fdb6dac69d4611905d093ee3457c00e008e95a1a'
+ 'caeb8d9e56783d01001875ffa12d207bc78e06d0fbe3883ce1b68efdfa6ce195')
+sha256sums=('16b89a9108deacb7d2afd965e59e31aa4b313fc4d1a660fb3cc1fa5c28cfc053'
+ '3a8a82edd680263c4ffa7289fdb6dac69d4611905d093ee3457c00e008e95a1a'
+ 'fd5248ccfc927ca0d8722cec61c041083b4bf79126176d18d51d5e21378ec5fa')
diff --git a/abs/core/initscripts/initscripts.install b/abs/core/initscripts/initscripts.install
index 9fffa9b..360101c 100644
--- a/abs/core/initscripts/initscripts.install
+++ b/abs/core/initscripts/initscripts.install
@@ -1,25 +1,7 @@
post_upgrade() {
- cat << "EOF"
------------------------------------------------------------
-IMPORTANT NOTICE FOR ENCRYPTION USERS
-
-The "password" column in /etc/crypttab has now
-two special keywords:
-- ASK ask for a passphrase on boot
-- SWAP use a random key and create swapspace
- This is particularly dangerous, as the
- volume in question will be overwritten
- If you use SWAP as your passphrase (which
- is insecure anyway), be sure to remove it
- from /etc/crypttab to avoid dataloss!
-
-See /etc/crypttab(.pacnew) for more information.
------------------------------------------------------------
-Attention netcfg users: netcfg is no longer included as
-part of the initscripts package.
-Be aware that rc.conf's NET_PROFILES has changed to
-NETWORKS, and that netcfg must be installed separately.
-For more info, see the netcfg man page.
------------------------------------------------------------
-EOF
+ if [ "$(vercmp $2 2009.07)" -lt 0 ]; then
+ echo "==> Adjusting /etc/inittab for transition to /dev/tty standard."
+ echo "==> Original file saved as /etc/inittab.pacsave"
+ sed -i'.pacsave' 's#vc/\([0-9]\)#tty\1#' /etc/inittab
+ fi
}
diff --git a/abs/core/initscripts/rc.shutdown.patch b/abs/core/initscripts/rc.shutdown.patch
index 7456b54..329164d 100644
--- a/abs/core/initscripts/rc.shutdown.patch
+++ b/abs/core/initscripts/rc.shutdown.patch
@@ -1,23 +1,15 @@
---- rc.shutdown.orig 2009-02-06 15:32:04.000000000 +0000
-+++ rc.shutdown 2009-02-06 15:45:05.000000000 +0000
-@@ -22,6 +22,12 @@
- /etc/rc.local.shutdown
+--- rc.shutdown.orig 2010-08-08 23:50:24.000000000 +0000
++++ rc.shutdown 2010-08-08 23:51:37.000000000 +0000
+@@ -32,6 +32,12 @@
+ fi
+ done
fi
-
+#unmount network filesystems for runit
-+#if [ -e /var/service/netfs ]
++#if [ -e /var/services/netfs ]
+#then
-+ /etc/rc.d/netfs stop
++ /etc/rc.d/netfs stop
+#fi
+
- if [ "$PREVLEVEL" = "3" -o "$PREVLEVEL" = "5" ]; then
- # Shutdown daemons
- let i=${#DAEMONS[@]}
-@@ -39,6 +45,7 @@
- fi
- fi
-
-+
- # Terminate all processes
- stat_busy "Sending SIGTERM To Processes"
- /sbin/killall5 -15 &> /dev/null
+ # Shutdown daemons in reverse order
+ let i=${#DAEMONS[@]}-1
+ while [ $i -ge 0 ]; do
diff --git a/abs/core/initscripts/rc.sysinit.patch b/abs/core/initscripts/rc.sysinit.patch
index 6556069..b0253d0 100644
--- a/abs/core/initscripts/rc.sysinit.patch
+++ b/abs/core/initscripts/rc.sysinit.patch
@@ -1,5 +1,5 @@
---- /tmp/rc.sysinit.orig 2009-04-02 16:40:47.000000000 +0000
-+++ rc.sysinit 2009-04-02 16:44:20.000000000 +0000
+--- rc.sysinit.orig 2010-08-08 23:42:36.000000000 +0000
++++ rc.sysinit 2010-08-08 23:44:28.000000000 +0000
@@ -7,10 +7,9 @@
. /etc/rc.d/functions
@@ -7,18 +7,10 @@
-printhl "Arch Linux\n"
-printhl "${C_H2}http://www.archlinux.org"
-printhl "Copyright 2002-2007 Judd Vinet"
--printhl "Copyright 2007-2009 Aaron Griffin"
-+printhl "LinHES"
-+printhl "The Linux Home Entertainment System"
+-printhl "Copyright 2007-2010 Aaron Griffin"
++printhl "LinHES\n"
++printhl "The Linux Home Entertainment System\n"
+printhl "${C_H2}http://www.linhes.org"
printhl "Distributed under the GNU General Public License (GPL)"
printsep
-@@ -85,6 +84,7 @@
- if ! [ "$load_modules" = "off" ]; then
- if [ -f /proc/modules ]; then
- stat_busy "Loading Modules"
-+ /usr/LH/bin/load-modules-mythvantage.sh
- for mod in "${MODULES[@]}"; do
- if [ "$mod" = "${mod#!}" ]; then
- /sbin/modprobe $mod
diff --git a/abs/core/inputproto/PKGBUILD b/abs/core/inputproto/PKGBUILD
index 23f98c4..2741bb7 100644
--- a/abs/core/inputproto/PKGBUILD
+++ b/abs/core/inputproto/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 26845 2009-02-13 15:22:04Z andyrtr $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 54533 2009-10-11 09:28:09Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=inputproto
-pkgver=1.5.0
+pkgver=2.0
pkgrel=1
pkgdesc="X11 Input extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
license=('custom')
url="http://xorg.freedesktop.org/"
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('dcc36554aea1338b3813943daf1e9988')
+md5sums=('0f7acbc14a082f9ae03744396527d23d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/intel-dri/PKGBUILD b/abs/core/intel-dri/PKGBUILD
deleted file mode 100644
index 8da4e48..0000000
--- a/abs/core/intel-dri/PKGBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# $Id: $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=intel-dri
-pkgver=7.2
-pkgrel=2
-pkgdesc="Mesa DRI drivers for Intel chipsets"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'expat>=2.0.1' 'libgl>=7.2')
-makedepends=('glproto>=1.4.9' 'pkgconfig' 'libxfixes' 'libxdamage' 'libxxf86vm' 'libxext')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
- mesa-7.1-link-shared.patch
- intel-revert-vbl.patch
- intel-disable-ttm-warning.patch)
-md5sums=('04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b'
- 'a111f4dc82e894f8801bc3fa129af7af'
- 'a393d374b5d187ff2a5bb90b0f347c9a')
-
-build() {
- cd ${srcdir}/Mesa-${pkgver}
- patch -Np1 -i "${srcdir}/intel-revert-vbl.patch" || return 1
- patch -Np1 -i "${srcdir}/intel-disable-ttm-warning.patch" || return 1
- patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=i810,i915,i965 \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -rf ${pkgdir}/usr/lib/pkgconfig
- rm -rf ${pkgdir}/usr/include
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
-}
diff --git a/abs/core/intel-dri/intel-disable-ttm-warning.patch b/abs/core/intel-dri/intel-disable-ttm-warning.patch
deleted file mode 100644
index f9d5223..0000000
--- a/abs/core/intel-dri/intel-disable-ttm-warning.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ruN Mesa-7.2.orig/src/mesa/drivers/dri/intel/intel_context.c Mesa-7.2/src/mesa/drivers/dri/intel/intel_context.c
---- Mesa-7.2.orig/src/mesa/drivers/dri/intel/intel_context.c 2008-09-13 20:25:44.000000000 +0000
-+++ Mesa-7.2/src/mesa/drivers/dri/intel/intel_context.c 2008-12-21 21:27:45.000000000 +0000
-@@ -490,9 +490,6 @@
- if (intel->bufmgr == NULL) {
- if (ttm_disable) {
- fprintf(stderr, "TTM buffer manager disabled. Using classic.\n");
-- } else {
-- fprintf(stderr, "Failed to initialize TTM buffer manager. "
-- "Falling back to classic.\n");
- }
-
- if (intelScreen->tex.size == 0) {
diff --git a/abs/core/intel-dri/intel-revert-vbl.patch b/abs/core/intel-dri/intel-revert-vbl.patch
deleted file mode 100644
index 0394414..0000000
--- a/abs/core/intel-dri/intel-revert-vbl.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 532d2051245a1d8afe7ca236f1d966d555bb121a
-Author: Dave Airlie <airlied@linux.ie>
-Date: Fri Sep 12 17:21:25 2008 +1000
-
- Revert "intel: sync to vblank by default"
-
- This reverts commit e9bf3e4cc9a7e4bcd4c45bd707541d26ecdf0409.
-
-diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
-index c193830..f02192d 100644
---- a/src/mesa/drivers/dri/intel/intel_screen.c
-+++ b/src/mesa/drivers/dri/intel/intel_screen.c
-@@ -55,7 +55,7 @@ PUBLIC const char __driConfigOptions[] =
- DRI_CONF_BEGIN
- DRI_CONF_SECTION_PERFORMANCE
- DRI_CONF_FTHROTTLE_MODE(DRI_CONF_FTHROTTLE_IRQS)
-- DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_ALWAYS_SYNC)
-+ DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_DEF_INTERVAL_0)
- /* Options correspond to DRI_CONF_BO_REUSE_DISABLED,
- * DRI_CONF_BO_REUSE_ALL
- */
diff --git a/abs/core/intel-dri/mesa-7.1-link-shared.patch b/abs/core/intel-dri/mesa-7.1-link-shared.patch
deleted file mode 100644
index 7fdbf14..0000000
--- a/abs/core/intel-dri/mesa-7.1-link-shared.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.dricore mesa-20080814/src/mesa/drivers/dri/Makefile
---- mesa-20080814/src/mesa/drivers/dri/Makefile.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile 2008-08-14 16:18:20.000000000 +1000
-@@ -6,12 +6,17 @@ include $(TOP)/configs/current
-
-
-
--default: $(TOP)/$(LIB_DIR) subdirs
-+default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs
-
-
- $(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
-
-+libdricore.so:
-+ gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc
-+
-+$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so
-+ $(INSTALL) libdricore.so $(TOP)/$(LIB_DIR)
-
- subdirs:
- @for dir in $(DRI_DIRS) ; do \
-@@ -31,12 +36,14 @@ dri.pc: dri.pc.in
- $(pcedit) $< > $@
-
-
--install: dri.pc
-+install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so
- @for dir in $(DRI_DIRS) ; do \
- if [ -d $$dir ] ; then \
- (cd $$dir && $(MAKE) install) || exit 1 ; \
- fi \
- done
-+ $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-+ $(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
- $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \
- $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
-@@ -52,5 +59,6 @@ clean:
- (cd $$dir && $(MAKE) clean) ; \
- fi \
- done
-+ -rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so
- -rm -f common/*.o
- -rm -f *.pc
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore mesa-20080814/src/mesa/drivers/dri/Makefile.template
---- mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile.template 2008-08-14 16:19:37.000000000 +1000
-@@ -1,6 +1,6 @@
- # -*-makefile-*-
-
--MESA_MODULES = $(TOP)/src/mesa/libmesa.a
-+MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so
-
- COMMON_SOURCES = \
- ../common/utils.c \
-@@ -64,7 +64,9 @@ default: symlinks depend $(LIBNAME) $(TO
-
- $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
- $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-- $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
-+ $(OBJECTS) $(WINOBJ) \
-+ -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \
-+ $(DRI_LIB_DEPS)
-
-
- $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
-diff -up mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore mesa-20080814/src/mesa/x86/read_rgba_span_x86.S
---- mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/x86/read_rgba_span_x86.S 2008-08-14 16:16:49.000000000 +1000
-@@ -77,7 +77,6 @@
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_MMX
--.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
- .type _generic_read_RGBA_span_BGRA8888_REV_MMX, @function
- _generic_read_RGBA_span_BGRA8888_REV_MMX:
- pushl %ebx
-@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE:
- pushl %esi
-@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE2:
- pushl %esi
-@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_RGB565_MMX
-- .hidden _generic_read_RGBA_span_RGB565_MMX
- .type _generic_read_RGBA_span_RGB565_MMX, @function
-
- _generic_read_RGBA_span_RGB565_MMX:
diff --git a/abs/core/iproute2/PKGBUILD b/abs/core/iproute2/PKGBUILD
index ed280e5..38b5a4c 100644
--- a/abs/core/iproute2/PKGBUILD
+++ b/abs/core/iproute2/PKGBUILD
@@ -1,37 +1,44 @@
-# $Id: PKGBUILD 24415 2009-01-16 12:43:06Z ronald $
+# $Id: PKGBUILD 82589 2010-06-14 06:49:40Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=iproute2
-pkgver=2.6.28
-pkgrel=1
+pkgver=2.6.34
+pkgrel=2
pkgdesc="IP Routing Utilities"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://www.linux-foundation.org/en/Net:Iproute2"
depends=('linux-atm' 'perl')
-
provides=('iproute')
conflicts=('iproute')
replaces=('iproute')
-
+options=('!makeflags')
backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \
'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables')
-
-source=(http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-${pkgver}.tar.bz2)
-md5sums=('595f9b17320f69e8d30d2fa80f1bca14')
+source=(http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-${pkgver}.tar.bz2
+ 'iproute2-fhs.patch' 'tc.patch')
+sha1sums=('b57f98e284c68a464b9c3e132d29760de6331688'
+ 'ae7c4529555e1dce389fcedcbb7e0df5c726741a'
+ 'de7ffa44922741c1239e1715e1d81d8f4e7b04e4')
build() {
cd $srcdir/iproute2-${pkgver}
- sed -i 's|/usr/local/lib/iptables|/usr/lib/iptables|' include/iptables.h || return 1
- sed -i 's|=/share|=/usr/share|' Makefile || return 1
- sed -i 's|=/sbin|=/usr/sbin|' Makefile || return 1
-
+ # set correct fhs structure
+ patch -Np1 -i ${srcdir}/iproute2-fhs.patch || return 1
+ patch -Np0 -i ${srcdir}/tc.patch || return 1
./configure || return 1
make || return 1
- make DESTDIR=$pkgdir install || return 1
+}
-# chmod 755 $pkgdir/usr/sbin/ifcfg || return 1
+package() {
+ cd $srcdir/iproute2-${pkgver}
+ make DESTDIR=$pkgdir install || return 1
+
+ # libnetlink isn't installed, install it FS#19385
+ install -Dm644 include/libnetlink.h ${pkgdir}/usr/include/libnetlink.h || return 1
+ install -Dm644 lib/libnetlink.a ${pkgdir}/usr/lib/libnetlink.a || return 1
}
+
diff --git a/abs/core/iproute2/iproute2-fhs.patch b/abs/core/iproute2/iproute2-fhs.patch
new file mode 100644
index 0000000..563a915
--- /dev/null
+++ b/abs/core/iproute2/iproute2-fhs.patch
@@ -0,0 +1,57 @@
+diff -Naur iproute2.old/Makefile iproute2-2.6.29/Makefile
+--- iproute2.old/Makefile 2009-11-11 22:05:21.251407668 +0100
++++ iproute2-2.6.29/Makefile 2009-11-11 22:07:09.891833516 +0100
+@@ -1,11 +1,12 @@
+ DESTDIR=/usr/
+ ROOTDIR=$(DESTDIR)
+ LIBDIR=/usr/lib/
+-SBINDIR=/sbin
++SBINDIR=/usr/sbin
+ CONFDIR=/etc/iproute2
+-DOCDIR=/share/doc/iproute2
+-MANDIR=/share/man
++DOCDIR=/usr/share/doc/iproute2
++MANDIR=/usr/share/man
+ ARPDDIR=/var/lib/arpd
++SHAREDIR=/usr/share
+
+ # Path to db_185.h include
+ DBM_INCLUDE:=$(ROOTDIR)/usr/include
+diff -Naur iproute2.old/netem/Makefile iproute2-2.6.29/netem/Makefile
+--- iproute2.old/netem/Makefile 2009-11-11 22:05:21.284750207 +0100
++++ iproute2-2.6.29/netem/Makefile 2009-11-11 22:07:54.674736924 +0100
+@@ -20,9 +20,9 @@
+ $(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
+
+ install: all
+- mkdir -p $(DESTDIR)/lib/tc
++ mkdir -p $(DESTDIR)/${SHAREDIR}/tc
+ for i in $(DISTDATA); \
+- do install -m 755 $$i $(DESTDIR)/lib/tc; \
++ do install -m 755 $$i $(DESTDIR)/${SHAREDIR}/tc; \
+ done
+
+ clean:
+diff -Naur iproute2.old/tc/tc_util.c iproute2-2.6.29/tc/tc_util.c
+--- iproute2.old/tc/tc_util.c 2009-11-11 22:05:21.298076943 +0100
++++ iproute2-2.6.29/tc/tc_util.c 2009-11-11 22:09:32.865152646 +0100
+@@ -24,8 +24,8 @@
+ #include "utils.h"
+ #include "tc_util.h"
+
+-#ifndef LIBDIR
+-#define LIBDIR "/usr/lib/"
++#ifndef SHAREDIR
++#define SHAREDIR "/usr/share"
+ #endif
+
+ const char *get_tc_lib(void)
+@@ -34,7 +34,7 @@
+
+ lib_dir = getenv("TC_LIB_DIR");
+ if (!lib_dir)
+- lib_dir = LIBDIR "/tc/";
++ lib_dir = SHAREDIR "/tc/";
+
+ return lib_dir;
+ }
diff --git a/abs/core/iproute2/tc.patch b/abs/core/iproute2/tc.patch
new file mode 100644
index 0000000..e6d6276
--- /dev/null
+++ b/abs/core/iproute2/tc.patch
@@ -0,0 +1,26 @@
+--- tc/Makefile.old 2010-06-14 08:29:49.257421437 +0200
++++ tc/Makefile 2010-06-14 08:30:07.157419977 +0200
+@@ -99,18 +99,11 @@
+ $(AR) rcs $@ $(TCLIB)
+
+ install: all
+- echo mkdir -p $(MODDESTDIR)
+- echo install -m 0755 tc $(DESTDIR)$(SBINDIR)
+- for i in $(TCSO); \
+- do echo install -m 755 $$i $(MODDESTDIR); \
+- done
+- if [ ! -f $(MODDESTDIR)/m_ipt.so ]; then \
+- if [ -f $(MODDESTDIR)/m_xt.so ]; \
+- then ln -s m_xt.so $(MODDESTDIR)/m_ipt.so ; \
+- elif [ -f $(MODDESTDIR)/m_xt_old.so ]; \
+- then ln -s m_xt_old.so $(MODDESTDIR)/m_ipt.so ; \
+- fi; \
+- fi
++ mkdir -p $(DESTDIR)$(LIBDIR)/tc
++ install -m 0755 tc $(DESTDIR)$(SBINDIR)
++ for i in $(TCSO); \
++ do install -m 755 $$i $(DESTDIR)$(LIBDIR)/tc; \
++ done
+
+ clean:
+ rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.yacc.h; \
diff --git a/abs/core/ipw2100-fw/PKGBUILD b/abs/core/ipw2100-fw/PKGBUILD
index 52cd9f5..ccb797a 100644
--- a/abs/core/ipw2100-fw/PKGBUILD
+++ b/abs/core/ipw2100-fw/PKGBUILD
@@ -1,36 +1,27 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+# $Id: PKGBUILD 59422 2009-11-23 20:05:10Z giovanni $
+# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=ipw2100-fw
pkgver=1.3
-pkgrel=2
+pkgrel=4
pkgdesc="Intel Centrino Drivers firmware for IPW2100"
-arch=(i686 x86_64)
+arch=('any')
url="http://ipw2100.sourceforge.net/"
-depends=('wireless_tools')
-#source=(ipw2100-fw-1.3.tgz http://switch.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tgz)
-source=(http://bughost.org/firmware/$pkgname-$pkgver.tgz)
-install=ipw2100-fw.install
-replaces=ipw2100
+license=('custom')
+depends=()
+replaces=('ipw2100')
+source=(http://bughost.org/firmware/${pkgname}-${pkgver}.tgz)
+md5sums=('46aa75bcda1a00efa841f9707bbbd113')
build() {
- #cd $startdir/src/$pkgname-$pkgver
- #make
- #Install kernel modules
- #for i in *.ko
- #do
- #install -D -m 644 $i $startdir/pkg/lib/modules/$(uname -r)/kernel/drivers/net/wireless/ipw2100/$i
- #done
-
- cd $startdir/src
+ cd "${srcdir}"
# Install firmware
for i in *.fw
do
- install -D -m 644 $i $startdir/pkg/lib/firmware/$i
+ install -D -m 644 $i "${pkgdir}/lib/firmware/$i" || return 1
done
-
- # Install firmware license
- install -D -m 644 LICENSE $startdir/pkg/lib/firmware/LICENSE.ipw2100-fw
- }
-md5sums=('46aa75bcda1a00efa841f9707bbbd113')
+ # Install license
+ install -D -m 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
+}
diff --git a/abs/core/ipw2200-fw/PKGBUILD b/abs/core/ipw2200-fw/PKGBUILD
index 5ff080b..75b4be9 100644
--- a/abs/core/ipw2200-fw/PKGBUILD
+++ b/abs/core/ipw2200-fw/PKGBUILD
@@ -1,34 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+# $Id: PKGBUILD 59427 2009-11-23 20:20:15Z giovanni $
+# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=ipw2200-fw
-pkgver=3.0
+pkgver=3.1
pkgrel=2
-pkgdesc="Intel Centrino Drivers firmware for IPW2200"
-arch=(i686 x86_64)
-url="http://ipw2200.sourceforge.net/"
-depends=('wireless_tools')
-source=(http://bughost.org/firmware/$pkgname-$pkgver.tgz)
-install=ipw2200-fw.install
-replaces=ipw2200
+pkgdesc="Firmware for the Intel PRO/Wireless 2200BG"
+arch=('any')
+url='http://ipw2200.sourceforge.net/'
+license=('custom')
+depends=()
+source=(http://bughost.org/firmware/${pkgname}-${pkgver}.tgz)
+replaces=('ipw2200')
+md5sums=('eaba788643c7cc7483dd67ace70f6e99')
build() {
- #cd $startdir/src/$pkgname-$pkgver
- #make
- #Install kernel modules
- #for i in *.ko
- #do
- #install -D -m 644 $i $startdir/pkg/lib/modules/$(uname -r)/kernel/drivers/net/wireless/ipw2200/$i
- #done
-
- cd $startdir/src/ipw2200-fw-3.0
-
+ cd "${srcdir}/ipw2200-fw-${pkgver}"
# Install firmware
- for i in *.fw
- do
- install -D -m 644 $i $startdir/pkg/lib/firmware/$i
+ for i in ipw*.fw; do
+ install -D -m 644 $i "${pkgdir}/lib/firmware/$i"
done
- # Install firmware license
- install -D -m 644 LICENSE.ipw2200-fw $startdir/pkg/lib/firmware/LICENSE.ipw2200-fw
- }
-md5sums=('34a5ed3702006f5470ebfd513e04d9eb')
+ # Install license
+ install -D -m 644 LICENSE.ipw2200-fw "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
+}
diff --git a/abs/core/iwlwifi-3945-ucode/PKGBUILD b/abs/core/iwlwifi-3945-ucode/PKGBUILD
deleted file mode 100644
index 14de93b..0000000
--- a/abs/core/iwlwifi-3945-ucode/PKGBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-
-pkgname=iwlwifi-3945-ucode
-pkgver=2.14.1.5
-pkgrel=2
-pkgdesc="Intel wireless firmware for IPW3945 (iwlwifi driver)"
-arch=(i686 x86_64)
-url="http://intellinuxwireless.org/?p=iwlwifi"
-license=('custom')
-depends=()
-source=(http://intellinuxwireless.org/iwlwifi/downloads/$pkgname-2.14.4.tgz
- http://intellinuxwireless.org/iwlwifi/downloads/$pkgname-$pkgver.tgz)
-md5sums=('7178aa3a6e08655b8ac9565095bbd441'
- 'a8122d3e026561055f488dc654ccfcd1')
-force=y
-
-build() {
- cd $startdir/src/$pkgname-2.14.4
- # Install old firmware for compatibility
- install -D -m 644 iwlwifi-3945.ucode $startdir/pkg/lib/firmware/iwlwifi-3945.ucode || return 1
-
- cd $startdir/src/$pkgname-$pkgver
- # Install firmware
- install -D -m 644 iwlwifi-3945-1.ucode $startdir/pkg/lib/firmware/iwlwifi-3945-1.ucode || return 1
- # Install license
- install -D -m 644 LICENSE.iwlwifi-3945-ucode $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1
-}
diff --git a/abs/core/iwlwifi-4965-ucode/PKGBUILD b/abs/core/iwlwifi-4965-ucode/PKGBUILD
deleted file mode 100644
index 4ce295a..0000000
--- a/abs/core/iwlwifi-4965-ucode/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: PKGBUILD 4446 2008-07-07 12:03:57Z thomas $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-
-pkgname=iwlwifi-4965-ucode
-pkgver=228.57.2.21
-pkgrel=1
-pkgdesc="Intel wireless firmware for IPW4965 (iwlwifi driver)"
-arch=(i686 x86_64)
-url="http://intellinuxwireless.org/?p=iwlwifi"
-license=('custom')
-depends=()
-source=(http://intellinuxwireless.org/iwlwifi/downloads/$pkgname-$pkgver.tgz
- http://intellinuxwireless.org/iwlwifi/downloads/$pkgname-228.57.1.21.tgz)
-md5sums=('83804fb4bfa991ffd4849c19a74bf38d'
- 'bce5a13d681100aeee2ddac3beaff437')
-
-build() {
- cd $startdir/src/$pkgname-228.57.1.21
- # Install firmware (ABI version 1, for compatibility)
- install -D -m 644 iwlwifi-4965-1.ucode $startdir/pkg/lib/firmware/iwlwifi-4965-1.ucode || return 1
- cd $startdir/src/$pkgname-$pkgver
- # Install firmware (ABI version 2, for future versions of iwl4965)
- install -D -m 644 iwlwifi-4965-2.ucode $startdir/pkg/lib/firmware/iwlwifi-4965-2.ucode || return 1
- # Install license
- install -D -m 644 LICENSE.iwlwifi-4965-ucode $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1
-}
diff --git a/abs/core/jasper/PKGBUILD b/abs/core/jasper/PKGBUILD
index b841057..542f1a9 100644
--- a/abs/core/jasper/PKGBUILD
+++ b/abs/core/jasper/PKGBUILD
@@ -1,21 +1,44 @@
-# $Id: PKGBUILD 9007 2008-08-17 02:42:41Z eric $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# $Id: PKGBUILD 87502 2010-08-15 02:53:20Z eric $
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=jasper
pkgver=1.900.1
-pkgrel=2
-pkgdesc="a software-based implementation of the codec specified in the emerging JPEG-2000 Part-1 standard"
-arch=(i686 x86_64)
+pkgrel=6
+pkgdesc="A software-based implementation of the codec specified in the emerging JPEG-2000 Part-1 standard"
+arch=('i686' 'x86_64')
url="http://www.ece.uvic.ca/~mdadams/jasper/"
-depends=('libjpeg' 'glut' 'libxi' 'libxmu' 'mesa')
+license=('custom:JasPer2.0')
+depends=('libjpeg' 'freeglut' 'libxi' 'libxmu' 'mesa')
makedepends=('unzip')
options=('!libtool')
-source=(http://www.ece.uvic.ca/~mdadams/$pkgname/software/$pkgname-$pkgver.zip)
-md5sums=('a342b2b4495b3e1394e161eb5d85d754')
+source=(http://www.ece.uvic.ca/~mdadams/${pkgname}/software/${pkgname}-${pkgver}.zip jpc_dec.c.patch
+ patch-libjasper-stepsizes-overflow.diff jasper-1.900.1-CVE-2008-3520.patch
+ jasper-1.900.1-CVE-2008-3522.patch)
+md5sums=('a342b2b4495b3e1394e161eb5d85d754' '36de7128eea6f701c1e2e13ce5bd8d37'\
+ '24785d8eb3eea19eec7e77d59f3e6a25' '911bb13529483c093d12c15eed4e9243'\
+ 'ed441f30c4231f319d9ff77d86db2ef9')
+sha1sums=('9c5735f773922e580bf98c7c7dfda9bbed4c5191' 'c1a0176a15210c0af14d85e55ce566921957d780'\
+ 'f298566fef08c8a589d072582112cd51c72c3983' '2483dba925670bf29f531d85d73c4e5ada513b01'\
+ '0e7b6142cd9240ffb15a1ed7297c43c76fa09ee4')
build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr --enable-shared
- make || return 1
- make DESTDIR=$startdir/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 < "${srcdir}/jpc_dec.c.patch"
+ patch -Np1 < "${srcdir}/patch-libjasper-stepsizes-overflow.diff"
+ patch -Np1 < "${srcdir}/jasper-1.900.1-CVE-2008-3520.patch"
+ patch -Np1 < "${srcdir}/jasper-1.900.1-CVE-2008-3522.patch"
+
+ ./configure --prefix=/usr --mandir=/usr/share/man --enable-shared
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 LICENSE \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core/jasper/jasper-1.900.1-CVE-2008-3520.patch b/abs/core/jasper/jasper-1.900.1-CVE-2008-3520.patch
new file mode 100644
index 0000000..0f5e3b7
--- /dev/null
+++ b/abs/core/jasper/jasper-1.900.1-CVE-2008-3520.patch
@@ -0,0 +1,928 @@
+https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3520
+
+OpenBSD jas_malloc hardening patches
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_cm.c jasper-1.900.1/src/libjasper/base/jas_cm.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_cm.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_cm.c 2009-10-22 10:27:45.000000000 +0200
+@@ -704,8 +704,7 @@ static int jas_cmpxformseq_resize(jas_cm
+ {
+ jas_cmpxform_t **p;
+ assert(n >= pxformseq->numpxforms);
+- p = (!pxformseq->pxforms) ? jas_malloc(n * sizeof(jas_cmpxform_t *)) :
+- jas_realloc(pxformseq->pxforms, n * sizeof(jas_cmpxform_t *));
++ p = jas_realloc2(pxformseq->pxforms, n, sizeof(jas_cmpxform_t *));
+ if (!p) {
+ return -1;
+ }
+@@ -889,13 +888,13 @@ static int jas_cmshapmatlut_set(jas_cmsh
+ jas_cmshapmatlut_cleanup(lut);
+ if (curv->numents == 0) {
+ lut->size = 2;
+- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
+ goto error;
+ lut->data[0] = 0.0;
+ lut->data[1] = 1.0;
+ } else if (curv->numents == 1) {
+ lut->size = 256;
+- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
+ goto error;
+ gamma = curv->ents[0] / 256.0;
+ for (i = 0; i < lut->size; ++i) {
+@@ -903,7 +902,7 @@ static int jas_cmshapmatlut_set(jas_cmsh
+ }
+ } else {
+ lut->size = curv->numents;
+- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
+ goto error;
+ for (i = 0; i < lut->size; ++i) {
+ lut->data[i] = curv->ents[i] / 65535.0;
+@@ -953,7 +952,7 @@ static int jas_cmshapmatlut_invert(jas_c
+ return -1;
+ }
+ }
+- if (!(invlut->data = jas_malloc(n * sizeof(jas_cmreal_t))))
++ if (!(invlut->data = jas_alloc2(n, sizeof(jas_cmreal_t))))
+ return -1;
+ invlut->size = n;
+ for (i = 0; i < invlut->size; ++i) {
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_icc.c jasper-1.900.1/src/libjasper/base/jas_icc.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -373,7 +373,7 @@ int jas_iccprof_save(jas_iccprof_t *prof
+ jas_icctagtab_t *tagtab;
+
+ tagtab = &prof->tagtab;
+- if (!(tagtab->ents = jas_malloc(prof->attrtab->numattrs *
++ if (!(tagtab->ents = jas_alloc2(prof->attrtab->numattrs,
+ sizeof(jas_icctagtabent_t))))
+ goto error;
+ tagtab->numents = prof->attrtab->numattrs;
+@@ -522,7 +522,7 @@ static int jas_iccprof_gettagtab(jas_str
+ }
+ if (jas_iccgetuint32(in, &tagtab->numents))
+ goto error;
+- if (!(tagtab->ents = jas_malloc(tagtab->numents *
++ if (!(tagtab->ents = jas_alloc2(tagtab->numents,
+ sizeof(jas_icctagtabent_t))))
+ goto error;
+ tagtabent = tagtab->ents;
+@@ -743,8 +743,7 @@ static int jas_iccattrtab_resize(jas_icc
+ {
+ jas_iccattr_t *newattrs;
+ assert(maxents >= tab->numattrs);
+- newattrs = tab->attrs ? jas_realloc(tab->attrs, maxents *
+- sizeof(jas_iccattr_t)) : jas_malloc(maxents * sizeof(jas_iccattr_t));
++ newattrs = jas_realloc2(tab->attrs, maxents, sizeof(jas_iccattr_t));
+ if (!newattrs)
+ return -1;
+ tab->attrs = newattrs;
+@@ -999,7 +998,7 @@ static int jas_icccurv_input(jas_iccattr
+
+ if (jas_iccgetuint32(in, &curv->numents))
+ goto error;
+- if (!(curv->ents = jas_malloc(curv->numents * sizeof(jas_iccuint16_t))))
++ if (!(curv->ents = jas_alloc2(curv->numents, sizeof(jas_iccuint16_t))))
+ goto error;
+ for (i = 0; i < curv->numents; ++i) {
+ if (jas_iccgetuint16(in, &curv->ents[i]))
+@@ -1100,7 +1099,7 @@ static int jas_icctxtdesc_input(jas_icca
+ if (jas_iccgetuint32(in, &txtdesc->uclangcode) ||
+ jas_iccgetuint32(in, &txtdesc->uclen))
+ goto error;
+- if (!(txtdesc->ucdata = jas_malloc(txtdesc->uclen * 2)))
++ if (!(txtdesc->ucdata = jas_alloc2(txtdesc->uclen, 2)))
+ goto error;
+ if (jas_stream_read(in, txtdesc->ucdata, txtdesc->uclen * 2) !=
+ JAS_CAST(int, txtdesc->uclen * 2))
+@@ -1292,17 +1291,17 @@ static int jas_icclut8_input(jas_iccattr
+ jas_iccgetuint16(in, &lut8->numouttabents))
+ goto error;
+ clutsize = jas_iccpowi(lut8->clutlen, lut8->numinchans) * lut8->numoutchans;
+- if (!(lut8->clut = jas_malloc(clutsize * sizeof(jas_iccuint8_t))) ||
+- !(lut8->intabsbuf = jas_malloc(lut8->numinchans *
+- lut8->numintabents * sizeof(jas_iccuint8_t))) ||
+- !(lut8->intabs = jas_malloc(lut8->numinchans *
++ if (!(lut8->clut = jas_alloc2(clutsize, sizeof(jas_iccuint8_t))) ||
++ !(lut8->intabsbuf = jas_alloc3(lut8->numinchans,
++ lut8->numintabents, sizeof(jas_iccuint8_t))) ||
++ !(lut8->intabs = jas_alloc2(lut8->numinchans,
+ sizeof(jas_iccuint8_t *))))
+ goto error;
+ for (i = 0; i < lut8->numinchans; ++i)
+ lut8->intabs[i] = &lut8->intabsbuf[i * lut8->numintabents];
+- if (!(lut8->outtabsbuf = jas_malloc(lut8->numoutchans *
+- lut8->numouttabents * sizeof(jas_iccuint8_t))) ||
+- !(lut8->outtabs = jas_malloc(lut8->numoutchans *
++ if (!(lut8->outtabsbuf = jas_alloc3(lut8->numoutchans,
++ lut8->numouttabents, sizeof(jas_iccuint8_t))) ||
++ !(lut8->outtabs = jas_alloc2(lut8->numoutchans,
+ sizeof(jas_iccuint8_t *))))
+ goto error;
+ for (i = 0; i < lut8->numoutchans; ++i)
+@@ -1461,17 +1460,17 @@ static int jas_icclut16_input(jas_iccatt
+ jas_iccgetuint16(in, &lut16->numouttabents))
+ goto error;
+ clutsize = jas_iccpowi(lut16->clutlen, lut16->numinchans) * lut16->numoutchans;
+- if (!(lut16->clut = jas_malloc(clutsize * sizeof(jas_iccuint16_t))) ||
+- !(lut16->intabsbuf = jas_malloc(lut16->numinchans *
+- lut16->numintabents * sizeof(jas_iccuint16_t))) ||
+- !(lut16->intabs = jas_malloc(lut16->numinchans *
++ if (!(lut16->clut = jas_alloc2(clutsize, sizeof(jas_iccuint16_t))) ||
++ !(lut16->intabsbuf = jas_alloc3(lut16->numinchans,
++ lut16->numintabents, sizeof(jas_iccuint16_t))) ||
++ !(lut16->intabs = jas_alloc2(lut16->numinchans,
+ sizeof(jas_iccuint16_t *))))
+ goto error;
+ for (i = 0; i < lut16->numinchans; ++i)
+ lut16->intabs[i] = &lut16->intabsbuf[i * lut16->numintabents];
+- if (!(lut16->outtabsbuf = jas_malloc(lut16->numoutchans *
+- lut16->numouttabents * sizeof(jas_iccuint16_t))) ||
+- !(lut16->outtabs = jas_malloc(lut16->numoutchans *
++ if (!(lut16->outtabsbuf = jas_alloc3(lut16->numoutchans,
++ lut16->numouttabents, sizeof(jas_iccuint16_t))) ||
++ !(lut16->outtabs = jas_alloc2(lut16->numoutchans,
+ sizeof(jas_iccuint16_t *))))
+ goto error;
+ for (i = 0; i < lut16->numoutchans; ++i)
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_image.c jasper-1.900.1/src/libjasper/base/jas_image.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_image.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_image.c 2009-10-22 10:27:45.000000000 +0200
+@@ -142,7 +142,7 @@ jas_image_t *jas_image_create(int numcmp
+ image->inmem_ = true;
+
+ /* Allocate memory for the per-component information. */
+- if (!(image->cmpts_ = jas_malloc(image->maxcmpts_ *
++ if (!(image->cmpts_ = jas_alloc2(image->maxcmpts_,
+ sizeof(jas_image_cmpt_t *)))) {
+ jas_image_destroy(image);
+ return 0;
+@@ -774,8 +774,7 @@ static int jas_image_growcmpts(jas_image
+ jas_image_cmpt_t **newcmpts;
+ int cmptno;
+
+- newcmpts = (!image->cmpts_) ? jas_malloc(maxcmpts * sizeof(jas_image_cmpt_t *)) :
+- jas_realloc(image->cmpts_, maxcmpts * sizeof(jas_image_cmpt_t *));
++ newcmpts = jas_realloc2(image->cmpts_, maxcmpts, sizeof(jas_image_cmpt_t *));
+ if (!newcmpts) {
+ return -1;
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_malloc.c jasper-1.900.1/src/libjasper/base/jas_malloc.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_malloc.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_malloc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -76,6 +76,9 @@
+
+ /* We need the prototype for memset. */
+ #include <string.h>
++#include <limits.h>
++#include <errno.h>
++#include <stdint.h>
+
+ #include "jasper/jas_malloc.h"
+
+@@ -113,18 +116,50 @@ void jas_free(void *ptr)
+
+ void *jas_realloc(void *ptr, size_t size)
+ {
+- return realloc(ptr, size);
++ return ptr ? realloc(ptr, size) : malloc(size);
+ }
+
+-void *jas_calloc(size_t nmemb, size_t size)
++void *jas_realloc2(void *ptr, size_t nmemb, size_t size)
++{
++ if (!ptr)
++ return jas_alloc2(nmemb, size);
++ if (nmemb && SIZE_MAX / nmemb < size) {
++ errno = ENOMEM;
++ return NULL;
++ }
++ return jas_realloc(ptr, nmemb * size);
++
++}
++
++void *jas_alloc2(size_t nmemb, size_t size)
++{
++ if (nmemb && SIZE_MAX / nmemb < size) {
++ errno = ENOMEM;
++ return NULL;
++ }
++
++ return jas_malloc(nmemb * size);
++}
++
++void *jas_alloc3(size_t a, size_t b, size_t c)
+ {
+- void *ptr;
+ size_t n;
+- n = nmemb * size;
+- if (!(ptr = jas_malloc(n * sizeof(char)))) {
+- return 0;
++
++ if (a && SIZE_MAX / a < b) {
++ errno = ENOMEM;
++ return NULL;
+ }
+- memset(ptr, 0, n);
++
++ return jas_alloc2(a*b, c);
++}
++
++void *jas_calloc(size_t nmemb, size_t size)
++{
++ void *ptr;
++
++ ptr = jas_alloc2(nmemb, size);
++ if (ptr)
++ memset(ptr, 0, nmemb*size);
+ return ptr;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_seq.c jasper-1.900.1/src/libjasper/base/jas_seq.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_seq.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_seq.c 2009-10-22 10:27:45.000000000 +0200
+@@ -114,7 +114,7 @@ jas_matrix_t *jas_matrix_create(int numr
+ matrix->datasize_ = numrows * numcols;
+
+ if (matrix->maxrows_ > 0) {
+- if (!(matrix->rows_ = jas_malloc(matrix->maxrows_ *
++ if (!(matrix->rows_ = jas_alloc2(matrix->maxrows_,
+ sizeof(jas_seqent_t *)))) {
+ jas_matrix_destroy(matrix);
+ return 0;
+@@ -122,7 +122,7 @@ jas_matrix_t *jas_matrix_create(int numr
+ }
+
+ if (matrix->datasize_ > 0) {
+- if (!(matrix->data_ = jas_malloc(matrix->datasize_ *
++ if (!(matrix->data_ = jas_alloc2(matrix->datasize_,
+ sizeof(jas_seqent_t)))) {
+ jas_matrix_destroy(matrix);
+ return 0;
+@@ -220,7 +220,7 @@ void jas_matrix_bindsub(jas_matrix_t *ma
+ mat0->numrows_ = r1 - r0 + 1;
+ mat0->numcols_ = c1 - c0 + 1;
+ mat0->maxrows_ = mat0->numrows_;
+- mat0->rows_ = jas_malloc(mat0->maxrows_ * sizeof(jas_seqent_t *));
++ mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *));
+ for (i = 0; i < mat0->numrows_; ++i) {
+ mat0->rows_[i] = mat1->rows_[r0 + i] + c0;
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_stream.c jasper-1.900.1/src/libjasper/base/jas_stream.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_stream.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_stream.c 2009-10-22 10:27:45.000000000 +0200
+@@ -212,7 +212,7 @@ jas_stream_t *jas_stream_memopen(char *b
+ if (buf) {
+ obj->buf_ = (unsigned char *) buf;
+ } else {
+- obj->buf_ = jas_malloc(obj->bufsize_ * sizeof(char));
++ obj->buf_ = jas_malloc(obj->bufsize_);
+ obj->myalloc_ = 1;
+ }
+ if (!obj->buf_) {
+@@ -992,7 +992,7 @@ static int mem_resize(jas_stream_memobj_
+ unsigned char *buf;
+
+ assert(m->buf_);
+- if (!(buf = jas_realloc(m->buf_, bufsize * sizeof(unsigned char)))) {
++ if (!(buf = jas_realloc(m->buf_, bufsize))) {
+ return -1;
+ }
+ m->buf_ = buf;
+diff -pruN jasper-1.900.1.orig/src/libjasper/bmp/bmp_dec.c jasper-1.900.1/src/libjasper/bmp/bmp_dec.c
+--- jasper-1.900.1.orig/src/libjasper/bmp/bmp_dec.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/bmp/bmp_dec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -283,7 +283,7 @@ static bmp_info_t *bmp_getinfo(jas_strea
+ }
+
+ if (info->numcolors > 0) {
+- if (!(info->palents = jas_malloc(info->numcolors *
++ if (!(info->palents = jas_alloc2(info->numcolors,
+ sizeof(bmp_palent_t)))) {
+ bmp_info_destroy(info);
+ return 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/include/jasper/jas_malloc.h jasper-1.900.1/src/libjasper/include/jasper/jas_malloc.h
+--- jasper-1.900.1.orig/src/libjasper/include/jasper/jas_malloc.h 2007-01-19 22:43:04.000000000 +0100
++++ jasper-1.900.1/src/libjasper/include/jasper/jas_malloc.h 2009-10-22 10:27:45.000000000 +0200
+@@ -95,6 +95,9 @@ extern "C" {
+ #define jas_free MEMFREE
+ #define jas_realloc MEMREALLOC
+ #define jas_calloc MEMCALLOC
++#define jas_alloc2(a, b) MEMALLOC((a)*(b))
++#define jas_alloc3(a, b, c) MEMALLOC((a)*(b)*(c))
++#define jas_realloc2(p, a, b) MEMREALLOC((p), (a)*(b))
+ #endif
+
+ /******************************************************************************\
+@@ -115,6 +118,12 @@ void *jas_realloc(void *ptr, size_t size
+ /* Allocate a block of memory and initialize the contents to zero. */
+ void *jas_calloc(size_t nmemb, size_t size);
+
++/* size-checked double allocation .*/
++void *jas_alloc2(size_t, size_t);
++
++void *jas_alloc3(size_t, size_t, size_t);
++
++void *jas_realloc2(void *, size_t, size_t);
+ #endif
+
+ #ifdef __cplusplus
+diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_cod.c jasper-1.900.1/src/libjasper/jp2/jp2_cod.c
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_cod.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_cod.c 2009-10-22 10:30:24.000000000 +0200
+@@ -247,7 +247,7 @@ jp2_box_t *jp2_box_get(jas_stream_t *in)
+ box = 0;
+ tmpstream = 0;
+
+- if (!(box = jas_malloc(sizeof(jp2_box_t)))) {
++ if (!(box = jas_calloc(1, sizeof(jp2_box_t)))) {
+ goto error;
+ }
+ box->ops = &jp2_boxinfo_unk.ops;
+@@ -372,7 +372,7 @@ static int jp2_bpcc_getdata(jp2_box_t *b
+ jp2_bpcc_t *bpcc = &box->data.bpcc;
+ unsigned int i;
+ bpcc->numcmpts = box->datalen;
+- if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts * sizeof(uint_fast8_t)))) {
++ if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts, sizeof(uint_fast8_t)))) {
+ return -1;
+ }
+ for (i = 0; i < bpcc->numcmpts; ++i) {
+@@ -416,7 +416,7 @@ static int jp2_colr_getdata(jp2_box_t *b
+ break;
+ case JP2_COLR_ICC:
+ colr->iccplen = box->datalen - 3;
+- if (!(colr->iccp = jas_malloc(colr->iccplen * sizeof(uint_fast8_t)))) {
++ if (!(colr->iccp = jas_alloc2(colr->iccplen, sizeof(uint_fast8_t)))) {
+ return -1;
+ }
+ if (jas_stream_read(in, colr->iccp, colr->iccplen) != colr->iccplen) {
+@@ -453,7 +453,7 @@ static int jp2_cdef_getdata(jp2_box_t *b
+ if (jp2_getuint16(in, &cdef->numchans)) {
+ return -1;
+ }
+- if (!(cdef->ents = jas_malloc(cdef->numchans * sizeof(jp2_cdefchan_t)))) {
++ if (!(cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t)))) {
+ return -1;
+ }
+ for (channo = 0; channo < cdef->numchans; ++channo) {
+@@ -766,7 +766,7 @@ static int jp2_cmap_getdata(jp2_box_t *b
+ unsigned int i;
+
+ cmap->numchans = (box->datalen) / 4;
+- if (!(cmap->ents = jas_malloc(cmap->numchans * sizeof(jp2_cmapent_t)))) {
++ if (!(cmap->ents = jas_alloc2(cmap->numchans, sizeof(jp2_cmapent_t)))) {
+ return -1;
+ }
+ for (i = 0; i < cmap->numchans; ++i) {
+@@ -828,10 +828,10 @@ static int jp2_pclr_getdata(jp2_box_t *b
+ return -1;
+ }
+ lutsize = pclr->numlutents * pclr->numchans;
+- if (!(pclr->lutdata = jas_malloc(lutsize * sizeof(int_fast32_t)))) {
++ if (!(pclr->lutdata = jas_alloc2(lutsize, sizeof(int_fast32_t)))) {
+ return -1;
+ }
+- if (!(pclr->bpc = jas_malloc(pclr->numchans * sizeof(uint_fast8_t)))) {
++ if (!(pclr->bpc = jas_alloc2(pclr->numchans, sizeof(uint_fast8_t)))) {
+ return -1;
+ }
+ for (i = 0; i < pclr->numchans; ++i) {
+diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c jasper-1.900.1/src/libjasper/jp2/jp2_dec.c
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -336,7 +336,7 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ }
+
+ /* Allocate space for the channel-number to component-number LUT. */
+- if (!(dec->chantocmptlut = jas_malloc(dec->numchans * sizeof(uint_fast16_t)))) {
++ if (!(dec->chantocmptlut = jas_alloc2(dec->numchans, sizeof(uint_fast16_t)))) {
+ jas_eprintf("error: no memory\n");
+ goto error;
+ }
+@@ -354,7 +354,7 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ if (cmapent->map == JP2_CMAP_DIRECT) {
+ dec->chantocmptlut[channo] = channo;
+ } else if (cmapent->map == JP2_CMAP_PALETTE) {
+- lutents = jas_malloc(pclrd->numlutents * sizeof(int_fast32_t));
++ lutents = jas_alloc2(pclrd->numlutents, sizeof(int_fast32_t));
+ for (i = 0; i < pclrd->numlutents; ++i) {
+ lutents[i] = pclrd->lutdata[cmapent->pcol + i * pclrd->numchans];
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_enc.c jasper-1.900.1/src/libjasper/jp2/jp2_enc.c
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_enc.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -191,7 +191,7 @@ int sgnd;
+ }
+ bpcc = &box->data.bpcc;
+ bpcc->numcmpts = jas_image_numcmpts(image);
+- if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts *
++ if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts,
+ sizeof(uint_fast8_t)))) {
+ goto error;
+ }
+@@ -285,7 +285,7 @@ int sgnd;
+ }
+ cdef = &box->data.cdef;
+ cdef->numchans = jas_image_numcmpts(image);
+- cdef->ents = jas_malloc(cdef->numchans * sizeof(jp2_cdefchan_t));
++ cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t));
+ for (i = 0; i < jas_image_numcmpts(image); ++i) {
+ cdefchanent = &cdef->ents[i];
+ cdefchanent->channo = i;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c jasper-1.900.1/src/libjasper/jpc/jpc_cs.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c 2009-10-22 09:58:16.000000000 +0200
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2009-10-22 10:27:45.000000000 +0200
+@@ -502,7 +502,7 @@ static int jpc_siz_getparms(jpc_ms_t *ms
+ !siz->tileheight || !siz->numcomps) {
+ return -1;
+ }
+- if (!(siz->comps = jas_malloc(siz->numcomps * sizeof(jpc_sizcomp_t)))) {
++ if (!(siz->comps = jas_alloc2(siz->numcomps, sizeof(jpc_sizcomp_t)))) {
+ return -1;
+ }
+ for (i = 0; i < siz->numcomps; ++i) {
+@@ -986,7 +986,7 @@ static int jpc_qcx_getcompparms(jpc_qcxc
+ jpc_qcx_destroycompparms(compparms);
+ return -1;
+ } else if (compparms->numstepsizes > 0) {
+- compparms->stepsizes = jas_malloc(compparms->numstepsizes *
++ compparms->stepsizes = jas_alloc2(compparms->numstepsizes,
+ sizeof(uint_fast16_t));
+ assert(compparms->stepsizes);
+ for (i = 0; i < compparms->numstepsizes; ++i) {
+@@ -1094,7 +1094,7 @@ static int jpc_ppm_getparms(jpc_ms_t *ms
+
+ ppm->len = ms->len - 1;
+ if (ppm->len > 0) {
+- if (!(ppm->data = jas_malloc(ppm->len * sizeof(unsigned char)))) {
++ if (!(ppm->data = jas_malloc(ppm->len))) {
+ goto error;
+ }
+ if (JAS_CAST(uint, jas_stream_read(in, ppm->data, ppm->len)) != ppm->len) {
+@@ -1163,7 +1163,7 @@ static int jpc_ppt_getparms(jpc_ms_t *ms
+ }
+ ppt->len = ms->len - 1;
+ if (ppt->len > 0) {
+- if (!(ppt->data = jas_malloc(ppt->len * sizeof(unsigned char)))) {
++ if (!(ppt->data = jas_malloc(ppt->len))) {
+ goto error;
+ }
+ if (jas_stream_read(in, (char *) ppt->data, ppt->len) != JAS_CAST(int, ppt->len)) {
+@@ -1226,7 +1226,7 @@ static int jpc_poc_getparms(jpc_ms_t *ms
+ uint_fast8_t tmp;
+ poc->numpchgs = (cstate->numcomps > 256) ? (ms->len / 9) :
+ (ms->len / 7);
+- if (!(poc->pchgs = jas_malloc(poc->numpchgs * sizeof(jpc_pocpchg_t)))) {
++ if (!(poc->pchgs = jas_alloc2(poc->numpchgs, sizeof(jpc_pocpchg_t)))) {
+ goto error;
+ }
+ for (pchgno = 0, pchg = poc->pchgs; pchgno < poc->numpchgs; ++pchgno,
+@@ -1331,7 +1331,7 @@ static int jpc_crg_getparms(jpc_ms_t *ms
+ jpc_crgcomp_t *comp;
+ uint_fast16_t compno;
+ crg->numcomps = cstate->numcomps;
+- if (!(crg->comps = jas_malloc(cstate->numcomps * sizeof(uint_fast16_t)))) {
++ if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(uint_fast16_t)))) {
+ return -1;
+ }
+ for (compno = 0, comp = crg->comps; compno < cstate->numcomps;
+@@ -1470,7 +1470,7 @@ static int jpc_unk_getparms(jpc_ms_t *ms
+ cstate = 0;
+
+ if (ms->len > 0) {
+- if (!(unk->data = jas_malloc(ms->len * sizeof(unsigned char)))) {
++ if (!(unk->data = jas_malloc(ms->len))) {
+ return -1;
+ }
+ if (jas_stream_read(in, (char *) unk->data, ms->len) != JAS_CAST(int, ms->len)) {
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c 2009-10-22 09:58:16.000000000 +0200
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2009-10-22 10:30:50.000000000 +0200
+@@ -449,7 +449,7 @@ static int jpc_dec_process_sot(jpc_dec_t
+
+ if (dec->state == JPC_MH) {
+
+- compinfos = jas_malloc(dec->numcomps * sizeof(jas_image_cmptparm_t));
++ compinfos = jas_alloc2(dec->numcomps, sizeof(jas_image_cmptparm_t));
+ assert(compinfos);
+ for (cmptno = 0, cmpt = dec->cmpts, compinfo = compinfos;
+ cmptno < dec->numcomps; ++cmptno, ++cmpt, ++compinfo) {
+@@ -692,7 +692,7 @@ static int jpc_dec_tileinit(jpc_dec_t *d
+ tile->realmode = 1;
+ }
+ tcomp->numrlvls = ccp->numrlvls;
+- if (!(tcomp->rlvls = jas_malloc(tcomp->numrlvls *
++ if (!(tcomp->rlvls = jas_alloc2(tcomp->numrlvls,
+ sizeof(jpc_dec_rlvl_t)))) {
+ return -1;
+ }
+@@ -764,7 +764,7 @@ rlvl->bands = 0;
+ rlvl->cbgheightexpn);
+
+ rlvl->numbands = (!rlvlno) ? 1 : 3;
+- if (!(rlvl->bands = jas_malloc(rlvl->numbands *
++ if (!(rlvl->bands = jas_alloc2(rlvl->numbands,
+ sizeof(jpc_dec_band_t)))) {
+ return -1;
+ }
+@@ -797,7 +797,7 @@ rlvl->bands = 0;
+
+ assert(rlvl->numprcs);
+
+- if (!(band->prcs = jas_malloc(rlvl->numprcs * sizeof(jpc_dec_prc_t)))) {
++ if (!(band->prcs = jas_alloc2(rlvl->numprcs, sizeof(jpc_dec_prc_t)))) {
+ return -1;
+ }
+
+@@ -834,7 +834,7 @@ rlvl->bands = 0;
+ if (!(prc->numimsbstagtree = jpc_tagtree_create(prc->numhcblks, prc->numvcblks))) {
+ return -1;
+ }
+- if (!(prc->cblks = jas_malloc(prc->numcblks * sizeof(jpc_dec_cblk_t)))) {
++ if (!(prc->cblks = jas_alloc2(prc->numcblks, sizeof(jpc_dec_cblk_t)))) {
+ return -1;
+ }
+
+@@ -1181,7 +1181,7 @@ static int jpc_dec_process_siz(jpc_dec_t
+ return -1;
+ }
+
+- if (!(dec->cmpts = jas_malloc(dec->numcomps * sizeof(jpc_dec_cmpt_t)))) {
++ if (!(dec->cmpts = jas_alloc2(dec->numcomps, sizeof(jpc_dec_cmpt_t)))) {
+ return -1;
+ }
+
+@@ -1204,7 +1204,7 @@ static int jpc_dec_process_siz(jpc_dec_t
+ dec->numhtiles = JPC_CEILDIV(dec->xend - dec->tilexoff, dec->tilewidth);
+ dec->numvtiles = JPC_CEILDIV(dec->yend - dec->tileyoff, dec->tileheight);
+ dec->numtiles = dec->numhtiles * dec->numvtiles;
+- if (!(dec->tiles = jas_malloc(dec->numtiles * sizeof(jpc_dec_tile_t)))) {
++ if (!(dec->tiles = jas_calloc(dec->numtiles, sizeof(jpc_dec_tile_t)))) {
+ return -1;
+ }
+
+@@ -1228,7 +1228,7 @@ static int jpc_dec_process_siz(jpc_dec_t
+ tile->pkthdrstreampos = 0;
+ tile->pptstab = 0;
+ tile->cp = 0;
+- if (!(tile->tcomps = jas_malloc(dec->numcomps *
++ if (!(tile->tcomps = jas_calloc(dec->numcomps,
+ sizeof(jpc_dec_tcomp_t)))) {
+ return -1;
+ }
+@@ -1489,7 +1489,7 @@ static jpc_dec_cp_t *jpc_dec_cp_create(u
+ cp->numlyrs = 0;
+ cp->mctid = 0;
+ cp->csty = 0;
+- if (!(cp->ccps = jas_malloc(cp->numcomps * sizeof(jpc_dec_ccp_t)))) {
++ if (!(cp->ccps = jas_alloc2(cp->numcomps, sizeof(jpc_dec_ccp_t)))) {
+ return 0;
+ }
+ if (!(cp->pchglist = jpc_pchglist_create())) {
+@@ -2048,7 +2048,7 @@ jpc_streamlist_t *jpc_streamlist_create(
+ }
+ streamlist->numstreams = 0;
+ streamlist->maxstreams = 100;
+- if (!(streamlist->streams = jas_malloc(streamlist->maxstreams *
++ if (!(streamlist->streams = jas_alloc2(streamlist->maxstreams,
+ sizeof(jas_stream_t *)))) {
+ jas_free(streamlist);
+ return 0;
+@@ -2068,8 +2068,8 @@ int jpc_streamlist_insert(jpc_streamlist
+ /* Grow the array of streams if necessary. */
+ if (streamlist->numstreams >= streamlist->maxstreams) {
+ newmaxstreams = streamlist->maxstreams + 1024;
+- if (!(newstreams = jas_realloc(streamlist->streams,
+- (newmaxstreams + 1024) * sizeof(jas_stream_t *)))) {
++ if (!(newstreams = jas_realloc2(streamlist->streams,
++ (newmaxstreams + 1024), sizeof(jas_stream_t *)))) {
+ return -1;
+ }
+ for (i = streamlist->numstreams; i < streamlist->maxstreams; ++i) {
+@@ -2155,8 +2155,7 @@ int jpc_ppxstab_grow(jpc_ppxstab_t *tab,
+ {
+ jpc_ppxstabent_t **newents;
+ if (tab->maxents < maxents) {
+- newents = (tab->ents) ? jas_realloc(tab->ents, maxents *
+- sizeof(jpc_ppxstabent_t *)) : jas_malloc(maxents * sizeof(jpc_ppxstabent_t *));
++ newents = jas_realloc2(tab->ents, maxents, sizeof(jpc_ppxstabent_t *));
+ if (!newents) {
+ return -1;
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_enc.c jasper-1.900.1/src/libjasper/jpc/jpc_enc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_enc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -403,7 +403,7 @@ static jpc_enc_cp_t *cp_create(char *opt
+ vsteplcm *= jas_image_cmptvstep(image, cmptno);
+ }
+
+- if (!(cp->ccps = jas_malloc(cp->numcmpts * sizeof(jpc_enc_ccp_t)))) {
++ if (!(cp->ccps = jas_alloc2(cp->numcmpts, sizeof(jpc_enc_ccp_t)))) {
+ goto error;
+ }
+ for (cmptno = 0, ccp = cp->ccps; cmptno < JAS_CAST(int, cp->numcmpts); ++cmptno,
+@@ -656,7 +656,7 @@ static jpc_enc_cp_t *cp_create(char *opt
+
+ if (ilyrrates && numilyrrates > 0) {
+ tcp->numlyrs = numilyrrates + 1;
+- if (!(tcp->ilyrrates = jas_malloc((tcp->numlyrs - 1) *
++ if (!(tcp->ilyrrates = jas_alloc2((tcp->numlyrs - 1),
+ sizeof(jpc_fix_t)))) {
+ goto error;
+ }
+@@ -940,7 +940,7 @@ startoff = jas_stream_getrwcount(enc->ou
+ siz->tilewidth = cp->tilewidth;
+ siz->tileheight = cp->tileheight;
+ siz->numcomps = cp->numcmpts;
+- siz->comps = jas_malloc(siz->numcomps * sizeof(jpc_sizcomp_t));
++ siz->comps = jas_alloc2(siz->numcomps, sizeof(jpc_sizcomp_t));
+ assert(siz->comps);
+ for (i = 0; i < JAS_CAST(int, cp->numcmpts); ++i) {
+ siz->comps[i].prec = cp->ccps[i].prec;
+@@ -977,7 +977,7 @@ startoff = jas_stream_getrwcount(enc->ou
+ return -1;
+ }
+ crg = &enc->mrk->parms.crg;
+- crg->comps = jas_malloc(crg->numcomps * sizeof(jpc_crgcomp_t));
++ crg->comps = jas_alloc2(crg->numcomps, sizeof(jpc_crgcomp_t));
+ if (jpc_putms(enc->out, enc->cstate, enc->mrk)) {
+ jas_eprintf("cannot write CRG marker\n");
+ return -1;
+@@ -1955,7 +1955,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_
+ tile->mctid = cp->tcp.mctid;
+
+ tile->numlyrs = cp->tcp.numlyrs;
+- if (!(tile->lyrsizes = jas_malloc(tile->numlyrs *
++ if (!(tile->lyrsizes = jas_alloc2(tile->numlyrs,
+ sizeof(uint_fast32_t)))) {
+ goto error;
+ }
+@@ -1964,7 +1964,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_
+ }
+
+ /* Allocate an array for the per-tile-component information. */
+- if (!(tile->tcmpts = jas_malloc(cp->numcmpts * sizeof(jpc_enc_tcmpt_t)))) {
++ if (!(tile->tcmpts = jas_alloc2(cp->numcmpts, sizeof(jpc_enc_tcmpt_t)))) {
+ goto error;
+ }
+ /* Initialize a few members critical for error recovery. */
+@@ -2110,7 +2110,7 @@ static jpc_enc_tcmpt_t *tcmpt_create(jpc
+ jas_seq2d_ystart(tcmpt->data), jas_seq2d_xend(tcmpt->data),
+ jas_seq2d_yend(tcmpt->data), bandinfos);
+
+- if (!(tcmpt->rlvls = jas_malloc(tcmpt->numrlvls * sizeof(jpc_enc_rlvl_t)))) {
++ if (!(tcmpt->rlvls = jas_alloc2(tcmpt->numrlvls, sizeof(jpc_enc_rlvl_t)))) {
+ goto error;
+ }
+ for (rlvlno = 0, rlvl = tcmpt->rlvls; rlvlno < tcmpt->numrlvls;
+@@ -2213,7 +2213,7 @@ static jpc_enc_rlvl_t *rlvl_create(jpc_e
+ rlvl->numvprcs = JPC_FLOORDIVPOW2(brprcbry - tlprctly, rlvl->prcheightexpn);
+ rlvl->numprcs = rlvl->numhprcs * rlvl->numvprcs;
+
+- if (!(rlvl->bands = jas_malloc(rlvl->numbands * sizeof(jpc_enc_band_t)))) {
++ if (!(rlvl->bands = jas_alloc2(rlvl->numbands, sizeof(jpc_enc_band_t)))) {
+ goto error;
+ }
+ for (bandno = 0, band = rlvl->bands; bandno < rlvl->numbands;
+@@ -2290,7 +2290,7 @@ if (bandinfo->xstart != bandinfo->xend &
+ band->synweight = bandinfo->synenergywt;
+
+ if (band->data) {
+- if (!(band->prcs = jas_malloc(rlvl->numprcs * sizeof(jpc_enc_prc_t)))) {
++ if (!(band->prcs = jas_alloc2(rlvl->numprcs, sizeof(jpc_enc_prc_t)))) {
+ goto error;
+ }
+ for (prcno = 0, prc = band->prcs; prcno < rlvl->numprcs; ++prcno,
+@@ -2422,7 +2422,7 @@ if (!rlvlno) {
+ goto error;
+ }
+
+- if (!(prc->cblks = jas_malloc(prc->numcblks * sizeof(jpc_enc_cblk_t)))) {
++ if (!(prc->cblks = jas_alloc2(prc->numcblks, sizeof(jpc_enc_cblk_t)))) {
+ goto error;
+ }
+ for (cblkno = 0, cblk = prc->cblks; cblkno < prc->numcblks;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqdec.c jasper-1.900.1/src/libjasper/jpc/jpc_mqdec.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqdec.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_mqdec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -118,7 +118,7 @@ jpc_mqdec_t *jpc_mqdec_create(int maxctx
+ mqdec->in = in;
+ mqdec->maxctxs = maxctxs;
+ /* Allocate memory for the per-context state information. */
+- if (!(mqdec->ctxs = jas_malloc(mqdec->maxctxs * sizeof(jpc_mqstate_t *)))) {
++ if (!(mqdec->ctxs = jas_alloc2(mqdec->maxctxs, sizeof(jpc_mqstate_t *)))) {
+ goto error;
+ }
+ /* Set the current context to the first context. */
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqenc.c jasper-1.900.1/src/libjasper/jpc/jpc_mqenc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqenc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_mqenc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -197,7 +197,7 @@ jpc_mqenc_t *jpc_mqenc_create(int maxctx
+ mqenc->maxctxs = maxctxs;
+
+ /* Allocate memory for the per-context state information. */
+- if (!(mqenc->ctxs = jas_malloc(mqenc->maxctxs * sizeof(jpc_mqstate_t *)))) {
++ if (!(mqenc->ctxs = jas_alloc2(mqenc->maxctxs, sizeof(jpc_mqstate_t *)))) {
+ goto error;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c 2009-10-22 10:27:45.000000000 +0200
+@@ -321,7 +321,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -389,7 +389,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -460,7 +460,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -549,7 +549,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -633,7 +633,7 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+@@ -698,7 +698,7 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+@@ -766,7 +766,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+@@ -852,7 +852,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * numcols * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t1enc.c jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t1enc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -219,7 +219,7 @@ int jpc_enc_enccblk(jpc_enc_t *enc, jas_
+
+ cblk->numpasses = (cblk->numbps > 0) ? (3 * cblk->numbps - 2) : 0;
+ if (cblk->numpasses > 0) {
+- cblk->passes = jas_malloc(cblk->numpasses * sizeof(jpc_enc_pass_t));
++ cblk->passes = jas_alloc2(cblk->numpasses, sizeof(jpc_enc_pass_t));
+ assert(cblk->passes);
+ } else {
+ cblk->passes = 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c jasper-1.900.1/src/libjasper/jpc/jpc_t2cod.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2cod.c 2009-10-22 10:27:45.000000000 +0200
+@@ -573,7 +573,7 @@ int jpc_pchglist_insert(jpc_pchglist_t *
+ }
+ if (pchglist->numpchgs >= pchglist->maxpchgs) {
+ newmaxpchgs = pchglist->maxpchgs + 128;
+- if (!(newpchgs = jas_realloc(pchglist->pchgs, newmaxpchgs * sizeof(jpc_pchg_t *)))) {
++ if (!(newpchgs = jas_realloc2(pchglist->pchgs, newmaxpchgs, sizeof(jpc_pchg_t *)))) {
+ return -1;
+ }
+ pchglist->maxpchgs = newmaxpchgs;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2dec.c jasper-1.900.1/src/libjasper/jpc/jpc_t2dec.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2dec.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2dec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -478,7 +478,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d
+ return 0;
+ }
+ pi->numcomps = dec->numcomps;
+- if (!(pi->picomps = jas_malloc(pi->numcomps * sizeof(jpc_picomp_t)))) {
++ if (!(pi->picomps = jas_alloc2(pi->numcomps, sizeof(jpc_picomp_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+ }
+@@ -490,7 +490,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d
+ for (compno = 0, tcomp = tile->tcomps, picomp = pi->picomps;
+ compno < pi->numcomps; ++compno, ++tcomp, ++picomp) {
+ picomp->numrlvls = tcomp->numrlvls;
+- if (!(picomp->pirlvls = jas_malloc(picomp->numrlvls *
++ if (!(picomp->pirlvls = jas_alloc2(picomp->numrlvls,
+ sizeof(jpc_pirlvl_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+@@ -503,7 +503,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d
+ rlvlno < picomp->numrlvls; ++rlvlno, ++pirlvl, ++rlvl) {
+ /* XXX sizeof(long) should be sizeof different type */
+ pirlvl->numprcs = rlvl->numprcs;
+- if (!(pirlvl->prclyrnos = jas_malloc(pirlvl->numprcs *
++ if (!(pirlvl->prclyrnos = jas_alloc2(pirlvl->numprcs,
+ sizeof(long)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2enc.c jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2enc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -565,7 +565,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t
+ }
+ pi->pktno = -1;
+ pi->numcomps = cp->numcmpts;
+- if (!(pi->picomps = jas_malloc(pi->numcomps * sizeof(jpc_picomp_t)))) {
++ if (!(pi->picomps = jas_alloc2(pi->numcomps, sizeof(jpc_picomp_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+ }
+@@ -577,7 +577,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t
+ for (compno = 0, tcomp = tile->tcmpts, picomp = pi->picomps;
+ compno < pi->numcomps; ++compno, ++tcomp, ++picomp) {
+ picomp->numrlvls = tcomp->numrlvls;
+- if (!(picomp->pirlvls = jas_malloc(picomp->numrlvls *
++ if (!(picomp->pirlvls = jas_alloc2(picomp->numrlvls,
+ sizeof(jpc_pirlvl_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+@@ -591,7 +591,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t
+ /* XXX sizeof(long) should be sizeof different type */
+ pirlvl->numprcs = rlvl->numprcs;
+ if (rlvl->numprcs) {
+- if (!(pirlvl->prclyrnos = jas_malloc(pirlvl->numprcs *
++ if (!(pirlvl->prclyrnos = jas_alloc2(pirlvl->numprcs,
+ sizeof(long)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_tagtree.c jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_tagtree.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c 2009-10-22 10:27:45.000000000 +0200
+@@ -125,7 +125,7 @@ jpc_tagtree_t *jpc_tagtree_create(int nu
+ ++numlvls;
+ } while (n > 1);
+
+- if (!(tree->nodes_ = jas_malloc(tree->numnodes_ * sizeof(jpc_tagtreenode_t)))) {
++ if (!(tree->nodes_ = jas_alloc2(tree->numnodes_, sizeof(jpc_tagtreenode_t)))) {
+ return 0;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_util.c jasper-1.900.1/src/libjasper/jpc/jpc_util.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_util.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_util.c 2009-10-22 10:27:45.000000000 +0200
+@@ -109,7 +109,7 @@ int jpc_atoaf(char *s, int *numvalues, d
+ }
+
+ if (n) {
+- if (!(vs = jas_malloc(n * sizeof(double)))) {
++ if (!(vs = jas_alloc2(n, sizeof(double)))) {
+ return -1;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c jasper-1.900.1/src/libjasper/mif/mif_cod.c
+--- jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/mif/mif_cod.c 2009-10-22 10:27:45.000000000 +0200
+@@ -438,8 +438,7 @@ static int mif_hdr_growcmpts(mif_hdr_t *
+ int cmptno;
+ mif_cmpt_t **newcmpts;
+ assert(maxcmpts >= hdr->numcmpts);
+- newcmpts = (!hdr->cmpts) ? jas_malloc(maxcmpts * sizeof(mif_cmpt_t *)) :
+- jas_realloc(hdr->cmpts, maxcmpts * sizeof(mif_cmpt_t *));
++ newcmpts = jas_realloc2(hdr->cmpts, maxcmpts, sizeof(mif_cmpt_t *));
+ if (!newcmpts) {
+ return -1;
+ }
diff --git a/abs/core/jasper/jasper-1.900.1-CVE-2008-3522.patch b/abs/core/jasper/jasper-1.900.1-CVE-2008-3522.patch
new file mode 100644
index 0000000..4bf2e9b
--- /dev/null
+++ b/abs/core/jasper/jasper-1.900.1-CVE-2008-3522.patch
@@ -0,0 +1,14 @@
+https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3522
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_stream.c jasper-1.900.1/src/libjasper/base/jas_stream.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_stream.c 2009-10-22 10:27:45.000000000 +0200
++++ jasper-1.900.1/src/libjasper/base/jas_stream.c 2009-10-22 10:35:53.000000000 +0200
+@@ -553,7 +553,7 @@ int jas_stream_printf(jas_stream_t *stre
+ int ret;
+
+ va_start(ap, fmt);
+- ret = vsprintf(buf, fmt, ap);
++ ret = vsnprintf(buf, sizeof buf, fmt, ap);
+ jas_stream_puts(stream, buf);
+ va_end(ap);
+ return ret;
diff --git a/abs/core/jasper/jpc_dec.c.patch b/abs/core/jasper/jpc_dec.c.patch
new file mode 100644
index 0000000..ae1cd06
--- /dev/null
+++ b/abs/core/jasper/jpc_dec.c.patch
@@ -0,0 +1,18 @@
+diff -urN jasper-1.900.1/src/libjasper/jpc/jpc_dec.c jasper-1.900.1-fix/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2007-01-19 14:43:07.000000000 -0700
++++ jasper-1.900.1-fix/src/libjasper/jpc/jpc_dec.c 2008-03-06 16:51:12.000000000 -0700
+@@ -1069,12 +1069,12 @@
+ /* Apply an inverse intercomponent transform if necessary. */
+ switch (tile->cp->mctid) {
+ case JPC_MCT_RCT:
+- assert(dec->numcomps == 3);
++ assert(dec->numcomps >= 3);
+ jpc_irct(tile->tcomps[0].data, tile->tcomps[1].data,
+ tile->tcomps[2].data);
+ break;
+ case JPC_MCT_ICT:
+- assert(dec->numcomps == 3);
++ assert(dec->numcomps >= 3);
+ jpc_iict(tile->tcomps[0].data, tile->tcomps[1].data,
+ tile->tcomps[2].data);
+ break;
diff --git a/abs/core/jasper/patch-libjasper-stepsizes-overflow.diff b/abs/core/jasper/patch-libjasper-stepsizes-overflow.diff
new file mode 100644
index 0000000..097559f
--- /dev/null
+++ b/abs/core/jasper/patch-libjasper-stepsizes-overflow.diff
@@ -0,0 +1,14 @@
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2007-04-06 01:29:02.000000000 +0200
+@@ -982,7 +982,10 @@ static int jpc_qcx_getcompparms(jpc_qcxc
+ compparms->numstepsizes = (len - n) / 2;
+ break;
+ }
+- if (compparms->numstepsizes > 0) {
++ if (compparms->numstepsizes > 3 * JPC_MAXRLVLS + 1) {
++ jpc_qcx_destroycompparms(compparms);
++ return -1;
++ } else if (compparms->numstepsizes > 0) {
+ compparms->stepsizes = jas_malloc(compparms->numstepsizes *
+ sizeof(uint_fast16_t));
+ assert(compparms->stepsizes);
diff --git a/abs/core/kbproto/PKGBUILD b/abs/core/kbproto/PKGBUILD
index f902e44..9cd471d 100644
--- a/abs/core/kbproto/PKGBUILD
+++ b/abs/core/kbproto/PKGBUILD
@@ -1,18 +1,21 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 56308 2009-10-21 14:34:49Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=kbproto
-pkgver=1.0.3
+pkgver=1.0.4
pkgrel=1
pkgdesc="X11 XKB extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('custom')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('6092cdb0a1225f95356ddbe6c2abaad5')
+sha1sums=('d300745389d3a80d90c9a3c989651f228db486e5')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/kernel-headers/PKGBUILD b/abs/core/kernel-headers/PKGBUILD
deleted file mode 100644
index d928a77..0000000
--- a/abs/core/kernel-headers/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# $Id: PKGBUILD 19341 2008-11-20 14:48:13Z andyrtr $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgname=kernel-headers
-pkgver=2.6.28.5
-_basever=2.6.28
-pkgrel=1
-pkgdesc="Kernel headers sanitized for use in userspace"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://www.gnu.org/software/libc"
-groups=('base')
-source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${_basever}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v2.6/patch-${pkgver}.bz2 serial.diff)
-md5sums=('d351e44709c9810b85e29b877f50968a'
- '7a062fcdec46cec78c3fedbf558e334b'
- 'd66b5cc1e1c2ce40d06d77167f36dfd9')
-
-build() {
- cd ${srcdir}/linux-${_basever}
- patch -Np1 -i ${srcdir}/patch-${pkgver} || return 1
-# patch -p0 < ../../serial.diff
-
- make mrproper
- make headers_check || return 1
- make INSTALL_HDR_PATH=${pkgdir}/usr headers_install
-
- rm -rf ${pkgdir}/usr/include/drm
-}
diff --git a/abs/core/kernel-headers/netfilter-includes.patch b/abs/core/kernel-headers/netfilter-includes.patch
deleted file mode 100644
index b39a4dd..0000000
--- a/abs/core/kernel-headers/netfilter-includes.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From: Patrick McHardy <kaber@trash.net>
-Date: Wed, 21 May 2008 21:08:38 +0000 (-0700)
-Subject: netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__
-X-Git-Tag: v2.6.26-rc4~7^2~9
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=c8942f1f0a7e2160ebf2e51ba89e50ee5895a1e7
-
-netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__
-
-Greg Steuck <greg@nest.cx> points out that some of the netfilter
-headers can't be used in userspace without including linux/types.h
-first. The headers include their own linux/types.h include statements,
-these are stripped by make headers-install because they are inside
-#ifdef __KERNEL__ however. Move them out to fix this.
-
-Reported and Tested by Greg Steuck.
-
-Signed-off-by: Patrick McHardy <kaber@trash.net>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
-
-diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h
-index e4c6659..0c5eb7e 100644
---- a/include/linux/netfilter.h
-+++ b/include/linux/netfilter.h
-@@ -3,7 +3,6 @@
-
- #ifdef __KERNEL__
- #include <linux/init.h>
--#include <linux/types.h>
- #include <linux/skbuff.h>
- #include <linux/net.h>
- #include <linux/netdevice.h>
-@@ -14,6 +13,7 @@
- #include <linux/list.h>
- #include <net/net_namespace.h>
- #endif
-+#include <linux/types.h>
- #include <linux/compiler.h>
-
- /* Responses from hook functions. */
-diff --git a/include/linux/netfilter_arp/arp_tables.h b/include/linux/netfilter_arp/arp_tables.h
-index dd9c97f..590ac3d 100644
---- a/include/linux/netfilter_arp/arp_tables.h
-+++ b/include/linux/netfilter_arp/arp_tables.h
-@@ -11,11 +11,11 @@
-
- #ifdef __KERNEL__
- #include <linux/if.h>
--#include <linux/types.h>
- #include <linux/in.h>
- #include <linux/if_arp.h>
- #include <linux/skbuff.h>
- #endif
-+#include <linux/types.h>
- #include <linux/compiler.h>
- #include <linux/netfilter_arp.h>
-
-diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h
-index bfc889f..092bd50 100644
---- a/include/linux/netfilter_ipv4/ip_tables.h
-+++ b/include/linux/netfilter_ipv4/ip_tables.h
-@@ -17,11 +17,11 @@
-
- #ifdef __KERNEL__
- #include <linux/if.h>
--#include <linux/types.h>
- #include <linux/in.h>
- #include <linux/ip.h>
- #include <linux/skbuff.h>
- #endif
-+#include <linux/types.h>
- #include <linux/compiler.h>
- #include <linux/netfilter_ipv4.h>
-
-diff --git a/include/linux/netfilter_ipv6/ip6_tables.h b/include/linux/netfilter_ipv6/ip6_tables.h
-index f2507dc..1089e33 100644
---- a/include/linux/netfilter_ipv6/ip6_tables.h
-+++ b/include/linux/netfilter_ipv6/ip6_tables.h
-@@ -17,11 +17,11 @@
-
- #ifdef __KERNEL__
- #include <linux/if.h>
--#include <linux/types.h>
- #include <linux/in6.h>
- #include <linux/ipv6.h>
- #include <linux/skbuff.h>
- #endif
-+#include <linux/types.h>
- #include <linux/compiler.h>
- #include <linux/netfilter_ipv6.h>
-
diff --git a/abs/core/kernel-headers/serial.diff b/abs/core/kernel-headers/serial.diff
deleted file mode 100644
index 9b53e48..0000000
--- a/abs/core/kernel-headers/serial.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- include/linux/serial.h.orig 2009-02-11 05:59:28.000000000 +0000
-+++ include/linux/serial.h 2009-02-11 06:09:24.000000000 +0000
-@@ -10,8 +10,9 @@
- #ifndef _LINUX_SERIAL_H
- #define _LINUX_SERIAL_H
-
--#ifdef __KERNEL__
- #include <linux/types.h>
-+
-+#ifdef __KERNEL__
- #include <asm/page.h>
-
- /*
diff --git a/abs/core/kernel26.orig/PKGBUILD b/abs/core/kernel26.orig/PKGBUILD
new file mode 100644
index 0000000..b74b950
--- /dev/null
+++ b/abs/core/kernel26.orig/PKGBUILD
@@ -0,0 +1,242 @@
+# $Id: PKGBUILD 86792 2010-08-04 14:39:45Z thomas $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer: Thomas Baechler <thomas@archlinux.org>
+pkgbase="kernel26"
+pkgname=('kernel26' 'kernel26-headers' 'kernel26-manpages' 'kernel26-docs') # Build stock -ARCH kernel
+# pkgname=kernel26-custom # Build kernel with a different name
+_kernelname=${pkgname#kernel26}
+_basekernel=2.6.34
+pkgver=${_basekernel}.2
+pkgrel=2
+makedepends=('xmlto' 'docbook-xsl')
+_patchname="patch-${pkgver}-${pkgrel}-ARCH"
+arch=(i686 x86_64)
+license=('GPL2')
+url="http://www.kernel.org"
+source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_basekernel.tar.bz2
+ ftp://ftp.archlinux.org/other/kernel26/${_patchname}.bz2
+ # the main kernel config files
+ config config.x86_64
+ # standard config files for mkinitcpio ramdisk
+ kernel26.preset)
+md5sums=('10eebcb0178fb4540e2165bfd7efc7ad'
+ '2a8f0f455395296a1678b226ae63c5a7'
+ '79a11916d1ff63a51eaebe0e750fa9b7'
+ 'a7e0aae92e964a0df9e42bdebd548e8c'
+ '25584700a0a679542929c4bed31433b6')
+
+build() {
+ cd ${srcdir}/linux-$_basekernel
+ # Add -ARCH patches
+ # See http://projects.archlinux.org/linux-2.6-ARCH.git/
+ patch -Np1 -i ${srcdir}/${_patchname} || return 1
+
+ if [ "$CARCH" = "x86_64" ]; then
+ cat ../config.x86_64 >./.config
+ else
+ cat ../config >./.config
+ fi
+ if [ "${_kernelname}" != "" ]; then
+ sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
+ fi
+ #
+## A hack to prevent output kernel from being marked as dirty or git
+ sed 's/head=$(git rev-parse --verify --short HEAD 2>\/dev\/null)/0/' \
+ ${srcdir}/linux-$_basekernel/scripts/setlocalversion \
+ > ${srcdir}/linux-$_basekernel/scripts/setlocalversion
+##
+ # get kernel version
+ make prepare
+ # load configuration
+ # Configure the kernel. Replace the line below with one of your choice.
+ #make menuconfig # CLI menu for configuration
+ #make xconfig # X-based configuration
+ #make oldconfig # using old config from previous kernel version
+ # ... or manually edit .config
+ ####################
+ # stop here
+ # this is useful to configure the kernel
+ #msg "Stopping build"
+ #return 1
+ ####################
+ yes "" | make config
+ # build!
+ make bzImage modules || return 1
+}
+
+package_kernel26() {
+ pkgdesc="The Linux Kernel and modules"
+ groups=('base')
+ backup=(etc/mkinitcpio.d/${pkgname}.preset)
+ depends=('coreutils' 'linux-firmware' 'module-init-tools' 'mkinitcpio>=0.5.20')
+ # pwc, ieee80211 and hostap-driver26 modules are included in kernel26 now
+ # nforce package support was abandoned by nvidia, kernel modules should cover everything now.
+ # kernel24 support is dropped since glibc24
+ replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
+ 'alsa-driver' 'ieee80211' 'hostap-driver26'
+ 'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
+ 'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
+ 'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm')
+ install=kernel26.install
+ optdepends=('crda: to set the correct wireless channels of your country')
+
+ KARCH=x86
+ cd ${srcdir}/linux-$_basekernel
+ # get kernel version
+ _kernver="$(make kernelrelease)"
+ mkdir -p ${pkgdir}/{lib/modules,boot}
+ make INSTALL_MOD_PATH=${pkgdir} modules_install || return 1
+ cp System.map ${pkgdir}/boot/System.map26${_kernelname}
+ cp arch/$KARCH/boot/bzImage ${pkgdir}/boot/vmlinuz26${_kernelname}
+ # # add vmlinux
+ install -m644 -D vmlinux ${pkgdir}/usr/src/linux-${_kernver}/vmlinux
+
+ # install fallback mkinitcpio.conf file and preset file for kernel
+ install -m644 -D ${srcdir}/kernel26.preset ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset || return 1
+ # set correct depmod command for install
+ sed \
+ -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
+ -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
+ -i $startdir/kernel26.install
+ sed \
+ -e "s|source .*|source /etc/mkinitcpio.d/kernel26${_kernelname}.kver|g" \
+ -e "s|default_image=.*|default_image=\"/boot/${pkgname}.img\"|g" \
+ -e "s|fallback_image=.*|fallback_image=\"/boot/${pkgname}-fallback.img\"|g" \
+ -i ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset
+
+ echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > ${pkgdir}/etc/mkinitcpio.d/${pkgname}.kver
+ # remove build and source links
+ rm -f ${pkgdir}/lib/modules/${_kernver}/{source,build}
+ # remove the firmware
+ rm -rf ${pkgdir}/lib/firmware
+}
+
+package_kernel26-headers() {
+ pkgdesc="Header files and scripts for building modules for kernel26"
+ mkdir -p ${pkgdir}/lib/modules/${_kernver}
+ cd ${pkgdir}/lib/modules/${_kernver}
+ ln -sf ../../../usr/src/linux-${_kernver} build
+ cd ${srcdir}/linux-$_basekernel
+ install -D -m644 Makefile \
+ ${pkgdir}/usr/src/linux-${_kernver}/Makefile
+ install -D -m644 kernel/Makefile \
+ ${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile
+ install -D -m644 .config \
+ ${pkgdir}/usr/src/linux-${_kernver}/.config
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include
+
+ for i in acpi asm-generic config generated linux math-emu media net pcmcia scsi sound trace video; do
+ cp -a include/$i ${pkgdir}/usr/src/linux-${_kernver}/include/
+ done
+
+ # copy arch includes for external modules
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
+ cp -a arch/x86/include ${pkgdir}/usr/src/linux-${_kernver}/arch/x86/
+
+ # copy files necessary for later builds, like nvidia and vmware
+ cp Module.symvers ${pkgdir}/usr/src/linux-${_kernver}
+ cp -a scripts ${pkgdir}/usr/src/linux-${_kernver}
+ # fix permissions on scripts dir
+ chmod og-w -R ${pkgdir}/usr/src/linux-${_kernver}/scripts
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
+
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel
+
+ cp arch/$KARCH/Makefile ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
+ if [ "$CARCH" = "i686" ]; then
+ cp arch/$KARCH/Makefile_32.cpu ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
+ fi
+ cp arch/$KARCH/kernel/asm-offsets.s ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel/
+
+ # add headers for lirc package
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video
+ cp drivers/media/video/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/
+ for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 usbvideo zc0301; do
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
+ cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
+ done
+ # add docbook makefile
+ install -D -m644 Documentation/DocBook/Makefile \
+ ${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
+ # add dm headers
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
+ cp drivers/md/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
+ # add inotify.h
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/linux
+ cp include/linux/inotify.h ${pkgdir}/usr/src/linux-${_kernver}/include/linux/
+ # add wireless headers
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
+ cp net/mac80211/*.h ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
+ # add dvb headers for external modules
+ # in reference to:
+ # http://bugs.archlinux.org/task/9912
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core
+ cp drivers/media/dvb/dvb-core/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/
+ # add dvb headers for external modules
+ # in reference to:
+ # http://bugs.archlinux.org/task/11194
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
+ cp include/config/dvb/*.h ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
+ # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
+ # in reference to:
+ # http://bugs.archlinux.org/task/13146
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
+ cp drivers/media/dvb/frontends/lgdt330x.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
+ cp drivers/media/video/msp3400-driver.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
+ # add xfs and shmem for aufs building
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/mm
+ cp fs/xfs/xfs_sb.h ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
+ # add headers vor virtualbox
+ # in reference to:
+ # http://bugs.archlinux.org/task/14568
+ cp -a include/drm $pkgdir/usr/src/linux-${_kernver}/include/
+ # add headers for broadcom wl
+ # in reference to:
+ # http://bugs.archlinux.org/task/14568
+ cp -a include/trace $pkgdir/usr/src/linux-${_kernver}/include/
+ # copy in Kconfig files
+ for i in `find . -name "Kconfig*"`; do
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
+ cp $i ${pkgdir}/usr/src/linux-${_kernver}/$i
+ done
+
+ chown -R root.root ${pkgdir}/usr/src/linux-${_kernver}
+ find ${pkgdir}/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
+ # remove unneeded architectures
+ rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
+}
+
+#package_kernel26-firmware() {
+# pkgdesc="The included firmware files of the Linux Kernel"
+# groups=('base')
+#
+# cd ${srcdir}/linux-$_basekernel
+# make firmware || return 1
+# make INSTALL_MOD_PATH=${pkgdir} firmware_install || return 1
+#}
+
+package_kernel26-manpages() {
+pkgdesc="Kernel hackers manual - Section 9 manpages that comes with the Linux kernel."
+
+cd ${srcdir}/linux-$_basekernel
+make mandocs || return 1
+
+install -d ${pkgdir}/usr/share/man/man9/
+install ${srcdir}/linux-${_basekernel}/Documentation/DocBook/man/*.9.gz \
+${pkgdir}/usr/share/man/man9/
+
+find ${pkgdir} -type f -exec chmod 644 {} \;
+}
+
+package_kernel26-docs() {
+pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux kernel."
+
+cd ${srcdir}/linux-$_basekernel
+mkdir -p $pkgdir/usr/src/linux-$_kernver
+mv Documentation $pkgdir/usr/src/linux-$_kernver
+find $pkgdir -type f -exec chmod 444 {} \;
+find $pkgdir -type d -exec chmod 755 {} \;
+# remove a file already in kernel26 package
+rm -f $pkgdir/usr/src/linux-$_kernver/Documentation/DocBook/Makefile
+}
diff --git a/abs/core/kernel26.orig/config b/abs/core/kernel26.orig/config
new file mode 100644
index 0000000..7242990
--- /dev/null
+++ b/abs/core/kernel26.orig/config
@@ -0,0 +1,4957 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.34
+# Mon May 17 05:55:59 2010
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+# CONFIG_X86_64 is not set
+CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ZONE_DMA32 is not set
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_X86_32_SMP=y
+CONFIG_X86_HT=y
+CONFIG_X86_TRAMPOLINE=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION="-ARCH"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+CONFIG_RELAY=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_SMP=y
+# CONFIG_SPARSE_IRQ is not set
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_VMI=y
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+CONFIG_LGUEST_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+CONFIG_M686=y
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MPSC is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+# CONFIG_GENERIC_CPU is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_CYRIX_32=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_CPU_SUP_UMC_32=y
+# CONFIG_X86_DS is not set
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_IOMMU_API=y
+CONFIG_NR_CPUS=8
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+# CONFIG_HIGHPTE is not set
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW_64K=y
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_EFI=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
+CONFIG_SCHED_HRTICK=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+# CONFIG_KEXEC_JUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+# CONFIG_PM_TRACE_RTC is not set
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION_NVS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
+CONFIG_ACPI_SYSFS_POWER=y
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=m
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_SBS=m
+CONFIG_SFI=y
+CONFIG_X86_APM_BOOT=y
+CONFIG_APM=y
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
+CONFIG_APM_DO_ENABLE=y
+# CONFIG_APM_CPU_IDLE is not set
+# CONFIG_APM_DISPLAY_BLANK is not set
+# CONFIG_APM_ALLOW_INTS is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# CPUFreq processor drivers
+#
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_GX_SUSPMOD=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOOLPC is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_OLPC=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+# CONFIG_MCA is not set
+# CONFIG_SCx200 is not set
+CONFIG_OLPC=y
+CONFIG_K8_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=m
+CONFIG_HOTPLUG_PCI=m
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=m
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT=y
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+CONFIG_SCTP_HMAC_SHA1=y
+# CONFIG_SCTP_HMAC_MD5 is not set
+CONFIG_RDS=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_DROP_MONITOR=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+# CONFIG_BT_CMTP is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_RC_MINSTREL=y
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_TS5500 is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+CONFIG_MTD_PLATRAM=m
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SST25L=m
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+CONFIG_PARPORT_PC_FIFO=y
+CONFIG_PARPORT_PC_SUPERIO=y
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_BLK_DEV_XD is not set
+# CONFIG_PARIDE is not set
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+# CONFIG_CISS_SCSI_TAPE is not set
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_MISC_DEVICES=y
+CONFIG_AD525X_DPOT=m
+# CONFIG_IBM_ASM is not set
+CONFIG_PHANTOM=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_ISL29003=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_DS1682=m
+CONFIG_TI_DAC7512=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_C2PORT=m
+CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
+CONFIG_HAVE_IDE=y
+CONFIG_IDE=m
+
+#
+# Please see Documentation/ide/ide.txt for help/info on IDE drives
+#
+CONFIG_IDE_XFER_MODE=y
+CONFIG_IDE_TIMINGS=y
+CONFIG_IDE_ATAPI=y
+CONFIG_IDE_LEGACY=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_IDE_GD=m
+CONFIG_IDE_GD_ATA=y
+CONFIG_IDE_GD_ATAPI=y
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_DELKIN=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEACPI=y
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_PLATFORM=m
+CONFIG_BLK_DEV_CMD640=m
+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
+CONFIG_BLK_DEV_IDEPNP=m
+CONFIG_BLK_DEV_IDEDMA_SFF=y
+
+#
+# PCI IDE chipsets support
+#
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_RZ1000=m
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_ATIIXP=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_CS5535=m
+CONFIG_BLK_DEV_CS5536=m
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_JMICRON=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8172=m
+CONFIG_BLK_DEV_IT8213=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SIS5513=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+CONFIG_BLK_DEV_TC86C001=m
+
+#
+# Other IDE chipsets support
+#
+
+#
+# Note: most of these also require special kernel boot parameters
+#
+CONFIG_BLK_DEV_4DRIVES=m
+CONFIG_BLK_DEV_ALI14XX=m
+CONFIG_BLK_DEV_DTC2278=m
+CONFIG_BLK_DEV_HT6560B=m
+CONFIG_BLK_DEV_QD65XX=m
+CONFIG_BLK_DEV_UMC8672=m
+CONFIG_BLK_DEV_IDEDMA=y
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_TGT_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_7000FASST=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_ARCMSR_AER=y
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+# CONFIG_SCSI_FLASHPOINT is not set
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_SYM53C416=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
+# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=m
+CONFIG_SCSI_NSP32=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_PMP=y
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+CONFIG_SATA_INIC162X=m
+CONFIG_PATA_ACPI=m
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_ATIIXP=m
+CONFIG_PATA_CMD640_PCI=m
+CONFIG_PATA_CMD64X=m
+CONFIG_PATA_CS5520=m
+CONFIG_PATA_CS5530=m
+CONFIG_PATA_CS5535=m
+CONFIG_PATA_CS5536=m
+CONFIG_PATA_CYPRESS=m
+CONFIG_PATA_EFAR=m
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_ISAPNP=m
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_JMICRON=m
+CONFIG_PATA_LEGACY=m
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+CONFIG_PATA_NS87410=m
+CONFIG_PATA_NS87415=m
+CONFIG_PATA_OPTI=m
+CONFIG_PATA_OPTIDMA=m
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_QDI=m
+CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
+CONFIG_PATA_RZ1000=m
+CONFIG_PATA_SC1200=m
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+CONFIG_PATA_WINBOND_VLB=m
+CONFIG_PATA_SCH=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+# CONFIG_MULTICORE_RAID456 is not set
+CONFIG_MD_RAID6_PQ=m
+CONFIG_ASYNC_RAID6_TEST=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# You can enable one or both FireWire driver stacks.
+#
+
+#
+# The newer stack is recommended.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_NET_SB1000=m
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL1=m
+CONFIG_EL2=m
+CONFIG_ELPLUS=m
+CONFIG_EL16=m
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_LANCE=m
+CONFIG_NET_VENDOR_SMC=y
+CONFIG_WD80x3=m
+CONFIG_ULTRA=m
+CONFIG_SMC9194=m
+CONFIG_ENC28J60=m
+# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ETHOC=m
+CONFIG_NET_VENDOR_RACAL=y
+CONFIG_NI52=m
+CONFIG_NI65=m
+CONFIG_DNET=m
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_AT1700=m
+CONFIG_DEPCA=m
+CONFIG_HP100=m
+CONFIG_NET_ISA=y
+CONFIG_E2100=m
+CONFIG_EWRK3=m
+CONFIG_EEXPRESS=m
+CONFIG_EEXPRESS_PRO=m
+CONFIG_HPLAN_PLUS=m
+CONFIG_HPLAN=m
+CONFIG_LP486E=m
+CONFIG_ETH16I=m
+CONFIG_NE2000=m
+CONFIG_ZNET=m
+CONFIG_SEEQ8005=m
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=m
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_AC3200=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_APRICOT=m
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_FORCEDETH=m
+# CONFIG_FORCEDETH_NAPI is not set
+CONFIG_CS89x0=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R6040=m
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+CONFIG_KS8842=m
+CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_SC92031=m
+CONFIG_NET_POCKET=y
+CONFIG_ATP=m
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_ATL2=m
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IP1000=m
+CONFIG_IGB=m
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_VLAN is not set
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_JME=m
+CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
+CONFIG_ENIC=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_IXGB=m
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_NETXEN_NIC=m
+CONFIG_NIU=m
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_TEHUTI=m
+CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
+# CONFIG_TR is not set
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
+CONFIG_B43=m
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_IWM=m
+# CONFIG_IWM_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL1271=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_SDIO=m
+# CONFIG_WIMAX_IWMC3200_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+# CONFIG_WAN is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
+CONFIG_PPPOL2TP=m
+CONFIG_SLIP=m
+# CONFIG_SLIP_COMPRESSED is not set
+CONFIG_SLHC=m
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIFS=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_OLPC=y
+CONFIG_MOUSE_SERIAL=y
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_INPORT=m
+# CONFIG_MOUSE_ATIXL is not set
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+# CONFIG_TOUCHSCREEN_WM9705 is not set
+# CONFIG_TOUCHSCREEN_WM9712 is not set
+# CONFIG_TOUCHSCREEN_WM9713 is not set
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+# CONFIG_TOUCHSCREEN_MC13783 is not set
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_PCAP is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_DEVKMEM=y
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_STALDRV is not set
+CONFIG_NOZOMI=m
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MAX3100=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+CONFIG_CS5535_GPIO=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_ISA=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_STUB is not set
+CONFIG_SCx200_ACB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_GPIO=m
+CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_XILINX=m
+CONFIG_SPI_XILINX_PLTFM=m
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=m
+CONFIG_SPI_TLE62X0=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO expanders:
+#
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_SCH=m
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_WM8994=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_LANGWELL=y
+CONFIG_GPIO_TIMBERDALE=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
+CONFIG_GPIO_MC33880=m
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_OLPC=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_HWMON=y
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADCXX=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_MAX1111=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_HDAPS=m
+CONFIG_SENSORS_LIS3_I2C=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=m
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_HTC_PASIC3=m
+CONFIG_UCB1400_CORE=m
+CONFIG_TPS65010=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_WM8400=m
+CONFIG_MFD_WM8994=m
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_MC13783=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_EZX_PCAP=y
+CONFIG_AB4500_CORE=m
+CONFIG_MFD_TIMBERDALE=m
+CONFIG_LPC_SCH=m
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_IR_CORE=m
+CONFIG_VIDEO_IR=m
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_M52790=m
+CONFIG_VIDEO_TLV320AIC23B=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+CONFIG_VIDEO_TCM825X=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TVP7002=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_CX25840=m
+
+#
+# MPEG video encoders
+#
+CONFIG_VIDEO_CX2341X=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_THS7303=m
+CONFIG_VIDEO_ADV7343=m
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MEYE=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+CONFIG_USB_ET61X251=m
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+CONFIG_USB_ZC0301=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+CONFIG_RADIO_RTRACK2=m
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_RADIO_MIROPCM20=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_ZOLTRIX=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+
+#
+# Supported USB Adapters
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+#
+# Supported BT878 Adapters
+#
+CONFIG_DVB_BT8XX=m
+
+#
+# Supported Pluto2 Adapters
+#
+CONFIG_DVB_PLUTO2=m
+
+#
+# Supported SDMC DM1105 Adapters
+#
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
+
+#
+# Supported Earthsoft PT1 Adapters
+#
+CONFIG_DVB_PT1=m
+
+#
+# Supported Mantis Adapters
+#
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+
+#
+# Supported nGene Adapters
+#
+CONFIG_DVB_NGENE=m
+
+#
+# Supported DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_S5H1411=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I830=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_VGA16 is not set
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I810=m
+# CONFIG_FB_I810_GTF is not set
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+# CONFIG_FB_MATROX is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_L4F00242T03=m
+CONFIG_LCD_LMS283GF05=m
+CONFIG_LCD_LTV350QV=m
+CONFIG_LCD_ILI9320=m
+CONFIG_LCD_TDO24M=m
+CONFIG_LCD_VGG2432A4=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_PROGEAR=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_MBP_NVIDIA=m
+CONFIG_BACKLIGHT_SAHARA=m
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_WSS_LIB=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB8_DSP=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ISA=y
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_ES968=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SGALAXY=m
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_FM801_TEA575X=m
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_ATIHDMI=y
+CONFIG_SND_HDA_CODEC_NVHDMI=y
+CONFIG_SND_HDA_CODEC_INTELHDMI=y
+CONFIG_SND_HDA_ELD=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_HIFIER=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
+# CONFIG_SND_SOC_ALL_CODECS is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# Special HID drivers
+#
+CONFIG_HID_3M_PCT=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LOGITECH=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MOSART=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_QUANTA=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_DYNAMIC_MINORS=y
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+CONFIG_USB_GADGET_NET2280=y
+CONFIG_USB_NET2280=m
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_WLP=m
+CONFIG_UWB_I1480U=m
+CONFIG_UWB_I1480U_WLP=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_ALIX2 is not set
+CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_TRIGGERS=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC=y
+
+#
+# Reporting subsystems
+#
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD76X=m
+CONFIG_EDAC_E7XXX=m
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82875P=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I82860=m
+CONFIG_EDAC_R82600=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_RTC_LIB=m
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+
+#
+# SPI RTC drivers
+#
+CONFIG_RTC_DRV_M41T94=m
+CONFIG_RTC_DRV_DS1305=m
+CONFIG_RTC_DRV_DS1390=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_R9701=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_PCF2123=m
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PCAP is not set
+CONFIG_RTC_DRV_MC13783=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DMA_ENGINE=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+
+#
+# TI VLYNQ
+#
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+CONFIG_ET131X=m
+# CONFIG_ET131X_DEBUG is not set
+CONFIG_SLICOSS=m
+CONFIG_VIDEO_GO7007=m
+CONFIG_VIDEO_GO7007_USB=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_VIDEO_GO7007_OV7640=m
+CONFIG_VIDEO_GO7007_SAA7113=m
+CONFIG_VIDEO_GO7007_SAA7115=m
+CONFIG_VIDEO_GO7007_TW9903=m
+CONFIG_VIDEO_GO7007_UDA1342=m
+CONFIG_VIDEO_GO7007_SONY_TUNER=m
+CONFIG_VIDEO_GO7007_TW2804=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_USB_IP_COMMON=m
+CONFIG_USB_IP_VHCI_HCD=m
+CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
+CONFIG_W35UND=m
+CONFIG_PRISM2_USB=m
+CONFIG_ECHO=m
+CONFIG_POCH=m
+CONFIG_OTUS=m
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192SU=m
+CONFIG_RTL8192U=m
+CONFIG_RTL8192E=m
+# CONFIG_TRANZPORT is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=m
+CONFIG_POHMELFS=m
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POHMELFS_CRYPTO=y
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_USB_SERIAL_QUATECH_USB2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_FB_UDL=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_HYPERV_BLOCK=m
+CONFIG_HYPERV_NET=m
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=m
+CONFIG_RAMZSWAP_STATS=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_STRIP is not set
+CONFIG_ARLAN=m
+CONFIG_WAVELAN=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_FB_SM7XX=m
+CONFIG_DT3155=m
+CONFIG_CRYSTALHD=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_TC1100_WMI=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_EFI_VARS=m
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+# CONFIG_ISCSI_IBFT_FIND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+# CONFIG_OCFS2_DEBUG_MASKLOG is not set
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=m
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+CONFIG_OMFS_FS=m
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_FSCACHE=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_SPKM3=m
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CEPH_FS=m
+# CONFIG_CEPH_FS_PRETTYDEBUG is not set
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+# CONFIG_NCPFS_EXTRAS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+# CONFIG_MINIX_SUBPARTITION is not set
+CONFIG_SOLARIS_X86_PARTITION=y
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_LKDTM=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SYSPROF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_KSYM_TRACER is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_KMEMCHECK is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_X86_PTDUMP is not set
+# CONFIG_DEBUG_RODATA is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_4KSTACKS is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_FIPS=y
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_586=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_VHOST_NET=m
+CONFIG_LGUEST=m
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_RING=y
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
diff --git a/abs/core/kernel26.orig/config.x86_64 b/abs/core/kernel26.orig/config.x86_64
new file mode 100644
index 0000000..09f7cf3
--- /dev/null
+++ b/abs/core/kernel26.orig/config.x86_64
@@ -0,0 +1,4761 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.34
+# Mon May 17 07:56:01 2010
+#
+CONFIG_64BIT=y
+# CONFIG_X86_32 is not set
+CONFIG_X86_64=y
+CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ZONE_DMA32=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_X86_64_SMP=y
+CONFIG_X86_HT=y
+CONFIG_X86_TRAMPOLINE=y
+# CONFIG_KTIME_SCALAR is not set
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION="-ARCH"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=64
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+CONFIG_RELAY=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLOCK_COMPAT=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_SMP=y
+# CONFIG_SPARSE_IRQ is not set
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_XEN=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=32
+CONFIG_XEN_SAVE_RESTORE=y
+# CONFIG_XEN_DEBUG_FS is not set
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M686 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MPSC is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_GENERIC_CPU=y
+CONFIG_X86_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=64
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+# CONFIG_X86_DS is not set
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_GART_IOMMU=y
+CONFIG_CALGARY_IOMMU=y
+CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
+# CONFIG_AMD_IOMMU is not set
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+CONFIG_IOMMU_API=y
+# CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS=16
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_I8K=m
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_DIRECT_GBPAGES=y
+# CONFIG_NUMA is not set
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_SELECT_MEMORY_MODEL=y
+# CONFIG_FLATMEM_MANUAL is not set
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW_64K=y
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_EFI=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
+CONFIG_SCHED_HRTICK=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+CONFIG_KEXEC_JUMP=y
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x1000000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+# CONFIG_PM_TRACE_RTC is not set
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION_NVS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
+CONFIG_ACPI_SYSFS_POWER=y
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=m
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_HOTPLUG_MEMORY=m
+CONFIG_ACPI_SBS=m
+CONFIG_SFI=y
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# CPUFreq processor drivers
+#
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_POWERNOW_K8=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_P4_CLOCKMOD=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+#
+# Memory power savings
+#
+CONFIG_I7300_IDLE_IOAT_CHANNEL=y
+CONFIG_I7300_IDLE=m
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
+# CONFIG_INTR_REMAP is not set
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_ISA_DMA_API=y
+CONFIG_K8_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_PCCARD_NONSTATIC=m
+CONFIG_HOTPLUG_PCI=m
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_ACPI=m
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=y
+CONFIG_IA32_EMULATION=y
+CONFIG_IA32_AOUT=m
+CONFIG_COMPAT=y
+CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT=y
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+CONFIG_SCTP_HMAC_SHA1=y
+# CONFIG_SCTP_HMAC_MD5 is not set
+CONFIG_RDS=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_DROP_MONITOR=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+# CONFIG_BT_CMTP is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_RC_MINSTREL=y
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+CONFIG_SYS_HYPERVISOR=y
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_TS5500 is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+CONFIG_MTD_PLATRAM=m
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SST25L=m
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+CONFIG_PARPORT_PC_FIFO=y
+CONFIG_PARPORT_PC_SUPERIO=y
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_PARIDE is not set
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+# CONFIG_CISS_SCSI_TAPE is not set
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_MISC_DEVICES=y
+CONFIG_AD525X_DPOT=m
+# CONFIG_IBM_ASM is not set
+CONFIG_PHANTOM=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_ISL29003=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_DS1682=m
+CONFIG_TI_DAC7512=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_C2PORT=m
+CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
+CONFIG_HAVE_IDE=y
+CONFIG_IDE=m
+
+#
+# Please see Documentation/ide/ide.txt for help/info on IDE drives
+#
+CONFIG_IDE_XFER_MODE=y
+CONFIG_IDE_TIMINGS=y
+CONFIG_IDE_ATAPI=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_IDE_GD=m
+CONFIG_IDE_GD_ATA=y
+CONFIG_IDE_GD_ATAPI=y
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_DELKIN=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEACPI=y
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_PLATFORM=m
+CONFIG_BLK_DEV_CMD640=m
+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
+CONFIG_BLK_DEV_IDEPNP=m
+CONFIG_BLK_DEV_IDEDMA_SFF=y
+
+#
+# PCI IDE chipsets support
+#
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_RZ1000=m
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_ATIIXP=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_JMICRON=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8172=m
+CONFIG_BLK_DEV_IT8213=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SIS5513=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+CONFIG_BLK_DEV_TC86C001=m
+CONFIG_BLK_DEV_IDEDMA=y
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_TGT_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_ARCMSR_AER=y
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_PMP=y
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+CONFIG_SATA_INIC162X=m
+CONFIG_PATA_ACPI=m
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_ATIIXP=m
+CONFIG_PATA_CMD640_PCI=m
+CONFIG_PATA_CMD64X=m
+CONFIG_PATA_CS5520=m
+CONFIG_PATA_CS5530=m
+CONFIG_PATA_CYPRESS=m
+CONFIG_PATA_EFAR=m
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_JMICRON=m
+CONFIG_PATA_LEGACY=m
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+CONFIG_PATA_NS87410=m
+CONFIG_PATA_NS87415=m
+CONFIG_PATA_OPTI=m
+CONFIG_PATA_OPTIDMA=m
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
+CONFIG_PATA_RZ1000=m
+CONFIG_PATA_SC1200=m
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+CONFIG_PATA_SCH=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+# CONFIG_MULTICORE_RAID456 is not set
+CONFIG_MD_RAID6_PQ=m
+CONFIG_ASYNC_RAID6_TEST=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# You can enable one or both FireWire driver stacks.
+#
+
+#
+# The newer stack is recommended.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_NET_SB1000=m
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_ENC28J60=m
+# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ETHOC=m
+CONFIG_DNET=m
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_HP100=m
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=m
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_FORCEDETH=m
+# CONFIG_FORCEDETH_NAPI is not set
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R6040=m
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+CONFIG_KS8842=m
+CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_SC92031=m
+CONFIG_NET_POCKET=y
+CONFIG_ATP=m
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_ATL2=m
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IP1000=m
+CONFIG_IGB=m
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_VLAN is not set
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_JME=m
+CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
+CONFIG_ENIC=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_IXGB=m
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_NETXEN_NIC=m
+CONFIG_NIU=m
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_TEHUTI=m
+CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
+# CONFIG_TR is not set
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
+CONFIG_B43=m
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_IWM=m
+# CONFIG_IWM_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL1271=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_SDIO=m
+# CONFIG_WIMAX_IWMC3200_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+# CONFIG_WAN is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_XEN_NETDEV_FRONTEND=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
+CONFIG_PPPOL2TP=m
+CONFIG_SLIP=m
+# CONFIG_SLIP_COMPRESSED is not set
+CONFIG_SLHC=m
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIFS=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_XEN_KBDDEV_FRONTEND=m
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=y
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+# CONFIG_TOUCHSCREEN_WM9705 is not set
+# CONFIG_TOUCHSCREEN_WM9712 is not set
+# CONFIG_TOUCHSCREEN_WM9713 is not set
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+# CONFIG_TOUCHSCREEN_MC13783 is not set
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_PCAP is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_DEVKMEM=y
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_STALDRV is not set
+CONFIG_NOZOMI=m
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MAX3100=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_NVRAM=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_GPIO=m
+CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_XILINX=m
+CONFIG_SPI_XILINX_PLTFM=m
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=m
+CONFIG_SPI_TLE62X0=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO expanders:
+#
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_SCH=m
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_WM8994=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_LANGWELL=y
+CONFIG_GPIO_TIMBERDALE=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
+CONFIG_GPIO_MC33880=m
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_HWMON=y
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADCXX=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_MAX1111=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_HDAPS=m
+CONFIG_SENSORS_LIS3_I2C=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=m
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_HTC_PASIC3=m
+CONFIG_UCB1400_CORE=m
+CONFIG_TPS65010=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_WM8400=m
+CONFIG_MFD_WM8994=m
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_MC13783=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_EZX_PCAP=y
+CONFIG_AB4500_CORE=m
+CONFIG_MFD_TIMBERDALE=m
+CONFIG_LPC_SCH=m
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_IR_CORE=m
+CONFIG_VIDEO_IR=m
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_M52790=m
+CONFIG_VIDEO_TLV320AIC23B=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+CONFIG_VIDEO_TCM825X=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TVP7002=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_CX25840=m
+
+#
+# MPEG video encoders
+#
+CONFIG_VIDEO_CX2341X=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_THS7303=m
+CONFIG_VIDEO_ADV7343=m
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MEYE=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+CONFIG_USB_ET61X251=m
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+CONFIG_USB_ZC0301=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+
+#
+# Supported USB Adapters
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+#
+# Supported BT878 Adapters
+#
+CONFIG_DVB_BT8XX=m
+
+#
+# Supported Pluto2 Adapters
+#
+CONFIG_DVB_PLUTO2=m
+
+#
+# Supported SDMC DM1105 Adapters
+#
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
+
+#
+# Supported Earthsoft PT1 Adapters
+#
+CONFIG_DVB_PT1=m
+
+#
+# Supported Mantis Adapters
+#
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+
+#
+# Supported nGene Adapters
+#
+CONFIG_DVB_NGENE=m
+
+#
+# Supported DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_S5H1411=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+CONFIG_AGP=y
+CONFIG_AGP_AMD64=y
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I830=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_VGA16 is not set
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+# CONFIG_FB_MATROX is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_XEN_FBDEV_FRONTEND=m
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_L4F00242T03=m
+CONFIG_LCD_LMS283GF05=m
+CONFIG_LCD_LTV350QV=m
+CONFIG_LCD_ILI9320=m
+CONFIG_LCD_TDO24M=m
+CONFIG_LCD_VGG2432A4=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_PROGEAR=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_MBP_NVIDIA=m
+CONFIG_BACKLIGHT_SAHARA=m
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_FM801_TEA575X=m
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_ATIHDMI=y
+CONFIG_SND_HDA_CODEC_NVHDMI=y
+CONFIG_SND_HDA_CODEC_INTELHDMI=y
+CONFIG_SND_HDA_ELD=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_HIFIER=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
+# CONFIG_SND_SOC_ALL_CODECS is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# Special HID drivers
+#
+CONFIG_HID_3M_PCT=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LOGITECH=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MOSART=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_QUANTA=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_DYNAMIC_MINORS=y
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+CONFIG_USB_GADGET_NET2280=y
+CONFIG_USB_NET2280=m
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_WLP=m
+CONFIG_UWB_I1480U=m
+CONFIG_UWB_I1480U_WLP=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SPI=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_ALIX2 is not set
+CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_TRIGGERS=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC=y
+
+#
+# Reporting subsystems
+#
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD64=m
+# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_RTC_LIB=m
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+
+#
+# SPI RTC drivers
+#
+CONFIG_RTC_DRV_M41T94=m
+CONFIG_RTC_DRV_DS1305=m
+CONFIG_RTC_DRV_DS1390=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_R9701=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_PCF2123=m
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PCAP is not set
+CONFIG_RTC_DRV_MC13783=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DMA_ENGINE=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+
+#
+# TI VLYNQ
+#
+
+#
+# Xen driver support
+#
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+CONFIG_ET131X=m
+# CONFIG_ET131X_DEBUG is not set
+CONFIG_SLICOSS=m
+CONFIG_VIDEO_GO7007=m
+CONFIG_VIDEO_GO7007_USB=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_VIDEO_GO7007_OV7640=m
+CONFIG_VIDEO_GO7007_SAA7113=m
+CONFIG_VIDEO_GO7007_SAA7115=m
+CONFIG_VIDEO_GO7007_TW9903=m
+CONFIG_VIDEO_GO7007_UDA1342=m
+CONFIG_VIDEO_GO7007_SONY_TUNER=m
+CONFIG_VIDEO_GO7007_TW2804=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_USB_IP_COMMON=m
+CONFIG_USB_IP_VHCI_HCD=m
+CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
+CONFIG_W35UND=m
+CONFIG_PRISM2_USB=m
+CONFIG_ECHO=m
+CONFIG_POCH=m
+CONFIG_OTUS=m
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192SU=m
+CONFIG_RTL8192U=m
+CONFIG_RTL8192E=m
+# CONFIG_TRANZPORT is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=m
+CONFIG_POHMELFS=m
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POHMELFS_CRYPTO=y
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_USB_SERIAL_QUATECH_USB2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_FB_UDL=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_HYPERV_BLOCK=m
+CONFIG_HYPERV_NET=m
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=m
+CONFIG_RAMZSWAP_STATS=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_STRIP is not set
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_FB_SM7XX=m
+CONFIG_DT3155=m
+CONFIG_CRYSTALHD=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_EFI_VARS=m
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+# CONFIG_ISCSI_IBFT_FIND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+# CONFIG_OCFS2_DEBUG_MASKLOG is not set
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=m
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_QUOTACTL_COMPAT=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+CONFIG_OMFS_FS=m
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_FSCACHE=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_SPKM3=m
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CEPH_FS=m
+# CONFIG_CEPH_FS_PRETTYDEBUG is not set
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+# CONFIG_NCPFS_EXTRAS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+# CONFIG_MINIX_SUBPARTITION is not set
+CONFIG_SOLARIS_X86_PARTITION=y
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_LKDTM=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SYSPROF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_KSYM_TRACER is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_KMEMCHECK is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_X86_PTDUMP is not set
+# CONFIG_DEBUG_RODATA is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_IOMMU_DEBUG is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_FIPS=y
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_FPU=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_AES_X86_64=m
+CONFIG_CRYPTO_AES_NI_INTEL=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_X86_64=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_VHOST_NET=m
+CONFIG_VIRTIO=m
+CONFIG_VIRTIO_RING=m
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
diff --git a/abs/core/kernel26/coretemp.patch b/abs/core/kernel26.orig/coretemp.patch
index 07ce434..07ce434 100644
--- a/abs/core/kernel26/coretemp.patch
+++ b/abs/core/kernel26.orig/coretemp.patch
diff --git a/abs/core/kernel26/ext4.patch b/abs/core/kernel26.orig/ext4.patch
index 40ecfde..40ecfde 100644
--- a/abs/core/kernel26/ext4.patch
+++ b/abs/core/kernel26.orig/ext4.patch
diff --git a/abs/core/kernel26.orig/kernel26.install b/abs/core/kernel26.orig/kernel26.install
new file mode 100644
index 0000000..da92142
--- /dev/null
+++ b/abs/core/kernel26.orig/kernel26.install
@@ -0,0 +1,147 @@
+# arg 1: the new package version
+# arg 2: the old package version
+
+KERNEL_NAME=
+KERNEL_VERSION=2.6.34-ARCH
+
+post_install () {
+ # updating module dependencies
+ echo ">>> Updating module dependencies. Please wait ..."
+ depmod $KERNEL_VERSION
+ # generate init ramdisks
+ echo ">>> MKINITCPIO SETUP"
+ echo ">>> ----------------"
+ echo ">>> If you use LVM2, Encrypted root or software RAID,"
+ echo ">>> Ensure you enable support in /etc/mkinitcpio.conf ."
+ echo ">>> More information about mkinitcpio setup can be found here:"
+ echo ">>> http://wiki.archlinux.org/index.php/Mkinitcpio"
+ echo ""
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME}
+}
+
+post_upgrade() {
+ pacman -Q grub &>/dev/null
+ hasgrub=$?
+ pacman -Q grub2 &>/dev/null
+ hasgrub2=$?
+ pacman -Q lilo &>/dev/null
+ haslilo=$?
+ # reminder notices
+ if [ $haslilo -eq 0 ]; then
+ echo ">>>"
+ if [ $hasgrub -eq 0 -o $hasgrub2 -eq 0 ]; then
+ echo ">>> If you use the LILO bootloader, you should run 'lilo' before rebooting."
+ else
+ echo ">>> You appear to be using the LILO bootloader. You should run"
+ echo ">>> 'lilo' before rebooting."
+ fi
+ echo ">>>"
+ fi
+
+ if grep "^[^#]*/boot" /etc/fstab 2>&1 >/dev/null; then
+ if ! grep "/boot" /etc/mtab 2>&1 >/dev/null; then
+ echo "WARNING: /boot appears to be a seperate partition but is not mounted"
+ echo " This is most likely not what you want. Please mount your /boot"
+ echo " partition and reinstall the kernel unless you are sure this is OK"
+ fi
+ fi
+
+ if [ "`vercmp $2 2.6.13`" -lt 0 ]; then
+ # important upgrade notice
+ echo ">>>"
+ echo ">>> IMPORTANT KERNEL UPGRADE NOTICE"
+ echo ">>> -------------------------------"
+ echo ">>> As of kernel 2.6.13, DevFS is NO LONGER AVAILABLE!"
+ echo ">>> If you still use DevFS, please make the transition to uDev before"
+ echo ">>> rebooting. If you really need to stay with DevFS for some reason,"
+ echo ">>> then you can manually downgrade to an older version:"
+ echo ">>>"
+ echo ">>> # pacman -U http://archlinux.org/~judd/kernel/kernel26-scsi-2.6.12.2-1.pkg.tar.gz"
+ echo ">>>"
+ echo ">>> If you choose to downgrade, don't forget to add kernel26-scsi to your"
+ echo ">>> IgnorePkg list in /etc/pacman.conf"
+ echo ">>>"
+ echo ">>> (NOTE: The following portion applies to uDev users as well!)"
+ echo ">>>"
+ echo ">>> If you use any DevFS paths in your GRUB menu.lst, then you will not"
+ echo ">>> be able to boot! Change your root= parameter to use the classic"
+ echo ">>> naming scheme."
+ echo ">>>"
+ echo ">>> EXAMPLES:"
+ echo ">>> - change root=/dev/discs/disc0/part3 to root=/dev/sda3"
+ echo ">>> - change root=/dev/md/0 to root=/dev/md0"
+ echo ">>>"
+ fi
+ # generate new init ramdisk
+ if [ "`vercmp $2 2.6.18`" -lt 0 ]; then
+ echo ">>> --------------------------------------------------------------"
+ echo ">>> | WARNING: |"
+ echo ">>> |mkinitrd is not supported anymore in kernel >=2.6.18 series!|"
+ echo ">>> | Please change to Mkinitcpio setup. |"
+ echo ">>> --------------------------------------------------------------"
+ echo ">>>"
+ fi
+ # updating module dependencies
+ echo ">>> Updating module dependencies. Please wait ..."
+ depmod $KERNEL_VERSION
+ echo ">>> MKINITCPIO SETUP"
+ echo ">>> ----------------"
+ if [ "`vercmp $2 2.6.18`" -lt 0 ]; then
+ echo ">>> Please change your bootloader config files:"
+ echo ">>> Grub: /boot/grub/menu.lst | Lilo: /etc/lilo.conf"
+ echo "------------------------------------------------"
+ echo "| - initrd26.img to kernel26${KERNEL_NAME}.img |"
+ echo "| - initrd26-full.img to kernel26${KERNEL_NAME}-fallback.img |"
+ echo "------------------------------------------------"
+ fi
+ if [ "`vercmp $2 2.6.19`" -lt 0 ]; then
+ echo ""
+ echo ">>> New PATA/IDE subsystem - EXPERIMENTAL"
+ echo ">>> ----------"
+ echo ">>> To use the new pata drivers, change the 'ide' hook "
+ echo ">>> to 'pata' in /etc/mkinicpio.conf HOOKS="
+ echo ">>> The new system changes: /dev/hd? to /dev/sd?"
+ echo ">>> Don't forget to modify GRUB, LILO and fstab to the"
+ echo ">>> new naming system. "
+ echo ">>> eg: hda3 --> sda3, hdc8 --> sdc8"
+ echo ""
+ echo ">>> piix/ata_piix (Intel chipsets) - IMPORTANT"
+ echo "----------"
+ echo ">>> If you have enabled ide/pata/sata HOOKs in /etc/mkinitcpio.conf"
+ echo ">>> the 'ata_piix' module will be used."
+ echo ">>> This may cause your devices to shift names, eg:"
+ echo ">>> - IDE: devices from hd? to sd?"
+ echo ">>> - SATA: sda might shift to sdc if you have 2 other disks on a PIIX IDE port."
+ echo ">>> To check if this will affect you, check 'mkinitcpio -M' for piix/ata_piix"
+ echo ""
+ fi
+
+ echo ">>> If you use LVM2, Encrypted root or software RAID,"
+ echo ">>> Ensure you enable support in /etc/mkinitcpio.conf ."
+ echo ">>> More information about mkinitcpio setup can be found here:"
+ echo ">>> http://wiki.archlinux.org/index.php/Mkinitcpio"
+ echo ""
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+if [ "`vercmp $2 2.6.19`" -lt 0 ]; then
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME} -m "ATTENTION:\nIf you get a kernel panic below
+and are using an Intel chipset, append 'earlymodules=piix' to the
+kernel commandline"
+else
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME}
+fi
+if [ "`vercmp $2 2.6.21`" -lt 0 ]; then
+ echo ""
+ echo "Important ACPI Information:"
+ echo ">>> Since 2.6.20.7 all possible ACPI parts are modularized."
+ echo ">>> The modules are located at:"
+ echo ">>> /lib/modules/$(uname -r)/kernel/drivers/acpi"
+ echo ">>> For more information about ACPI modules check this wiki page:"
+ echo ">>> 'http://wiki.archlinux.org/index.php/ACPI_modules'"
+fi
+}
+
+post_remove() {
+ rm -f /boot/kernel26${KERNEL_NAME}.img
+ rm -f /boot/kernel26${KERNEL_NAME}-fallback.img
+} \ No newline at end of file
diff --git a/abs/core/kernel26.orig/kernel26.preset b/abs/core/kernel26.orig/kernel26.preset
new file mode 100644
index 0000000..742a442
--- /dev/null
+++ b/abs/core/kernel26.orig/kernel26.preset
@@ -0,0 +1,17 @@
+# mkinitcpio preset file for kernel26
+
+########################################
+# DO NOT EDIT THIS LINE:
+source /etc/mkinitcpio.d/kernel26.kver
+########################################
+ALL_config="/etc/mkinitcpio.conf"
+
+PRESETS=('default' 'fallback')
+
+#default_config="/etc/mkinitcpio.conf"
+default_image="/boot/kernel26.img"
+#default_options=""
+
+#fallback_config="/etc/mkinitcpio.conf"
+fallback_image="/boot/kernel26-fallback.img"
+fallback_options="-S autodetect" \ No newline at end of file
diff --git a/abs/core/kernel26/logo_linux_clut224.ppm b/abs/core/kernel26.orig/logo_linux_clut224.ppm
index c539d32..c539d32 100644
--- a/abs/core/kernel26/logo_linux_clut224.ppm
+++ b/abs/core/kernel26.orig/logo_linux_clut224.ppm
diff --git a/abs/core/kernel26/logo_linux_mono.pbm b/abs/core/kernel26.orig/logo_linux_mono.pbm
index 7b1369c..7b1369c 100644
--- a/abs/core/kernel26/logo_linux_mono.pbm
+++ b/abs/core/kernel26.orig/logo_linux_mono.pbm
diff --git a/abs/core/kernel26/logo_linux_vga16.ppm b/abs/core/kernel26.orig/logo_linux_vga16.ppm
index 8b2d1ea..8b2d1ea 100644
--- a/abs/core/kernel26/logo_linux_vga16.ppm
+++ b/abs/core/kernel26.orig/logo_linux_vga16.ppm
diff --git a/abs/core/kernel26/serial.diff b/abs/core/kernel26.orig/serial.diff
index 9b53e48..9b53e48 100644
--- a/abs/core/kernel26/serial.diff
+++ b/abs/core/kernel26.orig/serial.diff
diff --git a/abs/core/kernel26/PKGBUILD b/abs/core/kernel26/PKGBUILD
index 0095428..01f2398 100644
--- a/abs/core/kernel26/PKGBUILD
+++ b/abs/core/kernel26/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 25277 2009-01-25 10:01:21Z tpowa $
+# $Id: PKGBUILD 86792 2010-08-04 14:39:45Z thomas $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
-# Mainterner: Cecil Waton <knoppmyth@gmail.com>
-pkgname=kernel26
-_basekernel=2.6.28
-pkgver=2.6.28.5
-pkgrel=5
-_pkgrel=1
-_patchname="patch-${pkgver}-${_pkgrel}-ARCH"
-_fbpatchname="fbcondecor-0.9.5-2.6.28.patch"
-#_patchname="patch-${pkgver}-1-ARCH"
+# Maintainer: Heiko Baums <heiko@baums-on-web.de>
+# pkgbase="kernel26"
+pkgname=('kernel26' 'kernel26-headers' 'kernel26-manpages' 'kernel26-docs') # Build stock -ARCH kernel
+#pkgname=kernel26-fbcondecor # Build kernel with a different name
+_kernelname=${pkgname#kernel26}
+_basekernel=2.6.34
+pkgver=${_basekernel}.2
+pkgrel=2
+_patchname="patch-${pkgver}-${pkgrel}-ARCH"
+_fbpatchname="fbcondecor-0.9.6-2.6.33-rc7.patch"
pkgdesc="The Linux Kernel and modules"
arch=(i686 x86_64)
license=('GPL2')
-groups=('base')
url="http://www.kernel.org"
backup=(etc/mkinitcpio.d/${pkgname}.preset)
-depends=('coreutils' 'module-init-tools' 'mkinitcpio>=0.5.20')
+depends=('coreutils' 'linux-firmware' 'module-init-tools' 'mkinitcpio>=0.5.20')
# pwc, ieee80211 and hostap-driver26 modules are included in kernel26 now
# nforce package support was abandoned by nvidia, kernel modules should cover everything now.
# kernel24 support is dropped since glibc24
@@ -24,67 +24,115 @@ replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
'alsa-driver' 'ieee80211' 'hostap-driver26'
'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
- 'gspcav1' 'atl2' 'wlan-ng26')
+ 'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm')
install=kernel26.install
+optdepends=('crda: to set the correct wireless channels of your country')
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_basekernel.tar.bz2
ftp://ftp.archlinux.org/other/kernel26/${_patchname}.bz2
- http://dev.gentoo.org/~spock/projects/fbcondecor/archive/${_fbpatchname}
+ http://dev.gentoo.org/~spock/projects/fbcondecor/archive/${_fbpatchname}
+ fbcondecor-2.6.34-fix.patch
# the main kernel config files
config config.x86_64
# standard config files for mkinitcpio ramdisk
- kernel26.preset
- logo_linux_clut224.ppm
- serial.diff
- ext4.patch
- coretemp.patch)
-optdepends=('crda: to set the correct wireless channels of your country')
-md5sums=('d351e44709c9810b85e29b877f50968a'
- '6e63a5f54c142f42de7e59fc5f75eab2'
- '04b1413586111705ba790542c6e82350'
- '4c3f00c90fb23c91d600694c886f2ddc'
- '959b317feb974d8906c5e15e7c76ad8f'
- 'ceb38003807a5aa1a00c8d4b9f028893'
- '7bdfe2e1daedb324fdfdfa95ba4e2430'
- 'd66b5cc1e1c2ce40d06d77167f36dfd9'
- '695a2d6f1b0b4c7001bf665d5f667a5d')
+ kernel26.preset)
build() {
KARCH=x86
+ cd ${srcdir}
+ patch -Np0 -i fbcondecor-2.6.34-fix.patch || return 1
+
cd ${srcdir}/linux-$_basekernel
# Add -ARCH patches
- # See http://projects.archlinux.org/git/?p=linux-2.6-ARCH.git;a=summary
+ # See http://projects.archlinux.org/linux-2.6-ARCH.git/
patch -Np1 -i ${srcdir}/${_patchname} || return 1
patch -Np1 -i ${srcdir}/${_fbpatchname} || return 1
- patch -Np1 -i ${srcdir}/ext4.patch || return 1
- patch -Np1 -i ${srcdir}/coretemp.patch || return 1
-# patch -Np1 -i ${srcdir}/patch-2.6.28.5 || return 1
-# patch -p0 < ../../serial.diff
if [ "$CARCH" = "x86_64" ]; then
cat ../config.x86_64 >./.config
else
cat ../config >./.config
fi
+ if [ "${_kernelname}" != "" ]; then
+ sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
+ fi
+## A hack to prevent output kernel from being marked as dirty or git
+ sed 's/head=$(git rev-parse --verify --short HEAD 2>\/dev\/null)/0/' \
+ ${srcdir}/linux-$_basekernel/scripts/setlocalversion \
+ > ${srcdir}/linux-$_basekernel/scripts/setlocalversion
+##
# get kernel version
- cp ../logo_linux_clut224.ppm drivers/video/logo
- echo \#\!/bin/sh > scripts/setlocalversion
make prepare
- _kernver="$(make kernelrelease)"
# load configuration
- yes "" | make config
- # build!
+ # Configure the kernel. Replace the line below with one of your choice.
+ #make menuconfig # CLI menu for configuration
+ #make xconfig # X-based configuration
+ #make oldconfig # using old config from previous kernel version
+ # ... or manually edit .config
####################
# stop here
# this is useful to configure the kernel
#msg "Stopping build"
#return 1
####################
+ yes "" | make config
+ # build!
make bzImage modules || return 1
+ }
+
+package_kernel26() {
+ pkgdesc="The Linux Kernel and modules"
+ groups=('base')
+ backup=(etc/mkinitcpio.d/${pkgname}.preset)
+ depends=('coreutils' 'linux-firmware' 'module-init-tools' 'mkinitcpio>=0.5.20')
+ # pwc, ieee80211 and hostap-driver26 modules are included in kernel26 now
+ # nforce package support was abandoned by nvidia, kernel modules should cover everything now.
+ # kernel24 support is dropped since glibc24
+ replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
+ 'alsa-driver' 'ieee80211' 'hostap-driver26'
+ 'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
+ 'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
+ 'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm')
+ install=kernel26.install
+ optdepends=('crda: to set the correct wireless channels of your country')
+
+ KARCH=x86
+ cd ${srcdir}/linux-$_basekernel
+ # get kernel version
+ _kernver="$(make kernelrelease)"
mkdir -p ${pkgdir}/{lib/modules,boot}
make INSTALL_MOD_PATH=${pkgdir} modules_install || return 1
- cp System.map ${pkgdir}/boot/System.map26
- cp arch/$KARCH/boot/bzImage ${pkgdir}/boot/vmlinuz26
+ cp System.map ${pkgdir}/boot/System.map26${_kernelname}
+ cp arch/$KARCH/boot/bzImage ${pkgdir}/boot/vmlinuz26${_kernelname}
+ # # add vmlinux
+ install -m644 -D vmlinux ${pkgdir}/usr/src/linux-${_kernver}/vmlinux
+
+ # install fallback mkinitcpio.conf file and preset file for kernel
+ install -m644 -D ${srcdir}/kernel26.preset ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset || return 1
+ # set correct depmod command for install
+ sed \
+ -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
+ -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
+ -i $startdir/kernel26.install
+ sed \
+ -e "s|source .*|source /etc/mkinitcpio.d/kernel26${_kernelname}.kver|g" \
+ -e "s|default_image=.*|default_image=\"/boot/${pkgname}.img\"|g" \
+ -e "s|fallback_image=.*|fallback_image=\"/boot/${pkgname}-fallback.img\"|g" \
+ -i ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset
+
+ echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > ${pkgdir}/etc/mkinitcpio.d/${pkgname}.kver
+ # remove build and source links
+ rm -f ${pkgdir}/lib/modules/${_kernver}/{source,build}
+ # remove the firmware
+ rm -rf ${pkgdir}/lib/firmware
+}
+
+package_kernel26-headers() {
+ pkgdesc="Header files and scripts for building modules for kernel26"
+ mkdir -p ${pkgdir}/lib/modules/${_kernver}
+ cd ${pkgdir}/lib/modules/${_kernver}
+ ln -sf ../../../usr/src/linux-${_kernver} build
+ cd ${srcdir}/linux-$_basekernel
install -D -m644 Makefile \
${pkgdir}/usr/src/linux-${_kernver}/Makefile
install -D -m644 kernel/Makefile \
@@ -93,7 +141,7 @@ build() {
${pkgdir}/usr/src/linux-${_kernver}/.config
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include
- for i in acpi asm-{generic,x86} config linux math-emu media net pcmcia scsi sound video; do
+ for i in acpi asm-generic config generated linux math-emu media net pcmcia scsi sound trace video; do
cp -a include/$i ${pkgdir}/usr/src/linux-${_kernver}/include/
done
@@ -106,7 +154,7 @@ build() {
cp -a scripts ${pkgdir}/usr/src/linux-${_kernver}
# fix permissions on scripts dir
chmod og-w -R ${pkgdir}/usr/src/linux-${_kernver}/scripts
- #mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel
@@ -123,14 +171,15 @@ build() {
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
done
+ # add docbook makefile
+ install -D -m644 Documentation/DocBook/Makefile \
+ ${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
# add dm headers
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
cp drivers/md/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
# add inotify.h
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/linux
cp include/linux/inotify.h ${pkgdir}/usr/src/linux-${_kernver}/include/linux/
- # add CLUSTERIP file for iptables
- mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/ipv4/netfilter/
# add wireless headers
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
cp net/mac80211/*.h ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
@@ -144,29 +193,73 @@ build() {
# http://bugs.archlinux.org/task/11194
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
cp include/config/dvb/*.h ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
+ # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
+ # in reference to:
+ # http://bugs.archlinux.org/task/13146
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
+ cp drivers/media/dvb/frontends/lgdt330x.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
+ cp drivers/media/video/msp3400-driver.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
# add xfs and shmem for aufs building
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/mm
cp fs/xfs/xfs_sb.h ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
- # add vmlinux
- cp vmlinux ${pkgdir}/usr/src/linux-${_kernver}
+ # add headers vor virtualbox
+ # in reference to:
+ # http://bugs.archlinux.org/task/14568
+ cp -a include/drm $pkgdir/usr/src/linux-${_kernver}/include/
+ # add headers for broadcom wl
+ # in reference to:
+ # http://bugs.archlinux.org/task/14568
+ cp -a include/trace $pkgdir/usr/src/linux-${_kernver}/include/
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
cp $i ${pkgdir}/usr/src/linux-${_kernver}/$i
done
- cd ${pkgdir}/usr/src/linux-${_kernver}/include && ln -s asm-$KARCH asm
-
chown -R root.root ${pkgdir}/usr/src/linux-${_kernver}
find ${pkgdir}/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
- cd ${pkgdir}/lib/modules/${_kernver} && \
- (rm -f source build; ln -sf ../../../usr/src/linux-${_kernver} build)
- # install fallback mkinitcpio.conf file and preset file for kernel
- install -m644 -D ${srcdir}/${pkgname}.preset ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset || return 1
- # set correct depmod command for install
- sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/kernel26.install
- echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > ${startdir}/pkg/etc/mkinitcpio.d/${pkgname}.kver
# remove unneeded architectures
- rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
+ rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
+}
+
+#package_kernel26-firmware() {
+# pkgdesc="The included firmware files of the Linux Kernel"
+# groups=('base')
+#
+# cd ${srcdir}/linux-$_basekernel
+# make firmware || return 1
+# make INSTALL_MOD_PATH=${pkgdir} firmware_install || return 1
+#}
+
+package_kernel26-manpages() {
+pkgdesc="Kernel hackers manual - Section 9 manpages that comes with the Linux kernel."
+
+cd ${srcdir}/linux-$_basekernel
+make mandocs || return 1
+
+install -d ${pkgdir}/usr/share/man/man9/
+install ${srcdir}/linux-${_basekernel}/Documentation/DocBook/man/*.9.gz \
+${pkgdir}/usr/share/man/man9/
+
+find ${pkgdir} -type f -exec chmod 644 {} \;
+}
+
+package_kernel26-docs() {
+pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux kernel."
+
+cd ${srcdir}/linux-$_basekernel
+mkdir -p $pkgdir/usr/src/linux-$_kernver
+mv Documentation $pkgdir/usr/src/linux-$_kernver
+find $pkgdir -type f -exec chmod 444 {} \;
+find $pkgdir -type d -exec chmod 755 {} \;
+# remove a file already in kernel26 package
+rm -f $pkgdir/usr/src/linux-$_kernver/Documentation/DocBook/Makefile
}
+md5sums=('10eebcb0178fb4540e2165bfd7efc7ad'
+ '2a8f0f455395296a1678b226ae63c5a7'
+ 'c72c30fc2787e6d5d72ffae3cfb5341b'
+ 'ed65c8f0da0d8159ce4bfc198657ea83'
+ '6f37aeab713a3d59185a53066c923092'
+ 'c81068add4917fca813417e8aa6c4f22'
+ '25584700a0a679542929c4bed31433b6')
diff --git a/abs/core/kernel26/config b/abs/core/kernel26/config
index b188b73..35c3eba 100644
--- a/abs/core/kernel26/config
+++ b/abs/core/kernel26/config
@@ -1,12 +1,13 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28
-# Wed Jul 1 14:07:15 2009
+# Linux kernel version: 2.6.34
+# Sun Aug 15 19:47:24 2010
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
@@ -16,13 +17,14 @@ CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -33,6 +35,8 @@ CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -40,17 +44,20 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_INTEL_TXT=y
CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_X86_SMP=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
-CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_KTIME_SCALAR=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
#
# General setup
@@ -60,35 +67,76 @@ CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="-LinHES"
CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_LZO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
-# CONFIG_AUDIT is not set
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
-# CONFIG_CGROUPS is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-# CONFIG_GROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
-# CONFIG_UTS_NS is not set
-# CONFIG_IPC_NS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_PID_NS is not set
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
@@ -100,37 +148,57 @@ CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
-# CONFIG_COMPAT_BRK is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
-# CONFIG_MARKERS is not set
+CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=m
-CONFIG_OPROFILE_IBS=y
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
@@ -138,12 +206,9 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
-CONFIG_LBD=y
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_LSF=y
+CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
@@ -151,16 +216,44 @@ CONFIG_BLK_DEV_BSG=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
+# CONFIG_CFQ_GROUP_IOSCHED is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_CLASSIC_RCU=y
+CONFIG_PADATA=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
CONFIG_FREEZER=y
#
@@ -171,23 +264,22 @@ CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
-CONFIG_X86_FIND_SMP_CONFIG=y
+# CONFIG_SPARSE_IRQ is not set
CONFIG_X86_MPPARSE=y
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_VSMP is not set
-# CONFIG_X86_RDC321X is not set
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
CONFIG_VMI=y
-# CONFIG_KVM_CLOCK is not set
-# CONFIG_KVM_GUEST is not set
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
CONFIG_LGUEST_GUEST=y
CONFIG_PARAVIRT=y
-# CONFIG_PARAVIRT_CLOCK is not set
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
@@ -213,11 +305,13 @@ CONFIG_M686=y
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=7
+CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
# CONFIG_X86_PPRO_FENCE is not set
CONFIG_X86_WP_WORKS_OK=y
@@ -227,13 +321,14 @@ CONFIG_X86_POPAD_OK=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=4
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR_32=y
+CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
# CONFIG_X86_DS is not set
@@ -241,18 +336,23 @@ CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_IOMMU_HELPER is not set
-CONFIG_NR_CPUS=16
+CONFIG_IOMMU_API=y
+CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
-# CONFIG_PREEMPT_RCU is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
-CONFIG_X86_MCE_NONFATAL=m
-CONFIG_X86_MCE_P4THERMAL=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
CONFIG_VM86=y
CONFIG_TOSHIBA=m
CONFIG_I8K=m
@@ -272,6 +372,7 @@ CONFIG_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -281,23 +382,30 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
-CONFIG_UNEVICTABLE_LRU=y
CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
# CONFIG_HIGHPTE is not set
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW_64K=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
-# CONFIG_MTRR_SANITIZER is not set
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_EFI=y
CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
@@ -307,7 +415,7 @@ CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
# CONFIG_KEXEC_JUMP is not set
-CONFIG_PHYSICAL_START=0x100000
+CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x100000
CONFIG_HOTPLUG_CPU=y
@@ -319,17 +427,26 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
# Power management and ACPI options
#
CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+# CONFIG_PM_TRACE_RTC is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION_NVS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
@@ -340,19 +457,16 @@ CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
-CONFIG_ACPI_WMI=m
-CONFIG_ACPI_ASUS=m
-CONFIG_ACPI_TOSHIBA=m
# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_CUSTOM_DSDT_INITRD=y
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=m
-CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=m
CONFIG_ACPI_SBS=m
+CONFIG_SFI=y
CONFIG_X86_APM_BOOT=y
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
@@ -360,7 +474,6 @@ CONFIG_APM_DO_ENABLE=y
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_ALLOW_INTS is not set
-CONFIG_APM_REAL_MODE_POWER_OFF=y
#
# CPU Frequency scaling
@@ -384,12 +497,12 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
#
# CPUFreq processor drivers
#
+CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_POWERNOW_K6=m
CONFIG_X86_POWERNOW_K7=m
CONFIG_X86_POWERNOW_K7_ACPI=y
CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_POWERNOW_K8_ACPI=y
CONFIG_X86_GX_SUSPMOD=m
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_SPEEDSTEP_ICH=m
@@ -403,7 +516,6 @@ CONFIG_X86_E_POWERSAVER=m
#
# shared options
#
-# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
CONFIG_CPU_IDLE=y
@@ -424,15 +536,23 @@ CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_OLPC=y
CONFIG_PCI_DOMAINS=y
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=m
CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
-CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=m
CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_IOAPIC=y
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
# CONFIG_EISA is not set
@@ -441,10 +561,8 @@ CONFIG_ISA=y
CONFIG_OLPC=y
CONFIG_K8_NB=y
CONFIG_PCCARD=m
-# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y
#
@@ -489,7 +607,6 @@ CONFIG_NET=y
# Networking options
#
CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
@@ -508,10 +625,7 @@ CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
+# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
# CONFIG_NET_IPGRE_BROADCAST is not set
@@ -528,11 +642,28 @@ CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=m
+CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=m
@@ -551,6 +682,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
@@ -573,6 +705,7 @@ CONFIG_NF_CONNTRACK=m
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
@@ -593,7 +726,10 @@ CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
@@ -604,6 +740,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
@@ -614,6 +751,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
@@ -637,6 +775,7 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_IP_VS=m
# CONFIG_IP_VS_IPV6 is not set
# CONFIG_IP_VS_DEBUG is not set
@@ -650,6 +789,7 @@ CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
#
# IPVS scheduler
@@ -727,11 +867,11 @@ CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_BRIDGE_NF_EBTABLES=m
@@ -756,13 +896,31 @@ CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
-# CONFIG_IP_DCCP is not set
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
CONFIG_SCTP_HMAC_SHA1=y
# CONFIG_SCTP_HMAC_MD5 is not set
+CONFIG_RDS=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
# CONFIG_TIPC is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
@@ -773,6 +931,7 @@ CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_STP=m
CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
# CONFIG_VLAN_8021Q_GVRP is not set
@@ -781,11 +940,21 @@ CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
-# CONFIG_ATALK is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
CONFIG_NET_SCHED=y
#
@@ -804,6 +973,7 @@ CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_INGRESS=m
#
@@ -821,6 +991,7 @@ CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
# CONFIG_NET_EMATCH is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
@@ -834,11 +1005,13 @@ CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
#
# Network testing
#
CONFIG_NET_PKTGEN=m
+CONFIG_NET_DROP_MONITOR=y
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
CONFIG_IRDA=m
@@ -912,9 +1085,7 @@ CONFIG_BT_HIDP=m
#
# Bluetooth device drivers
#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIBTUSB is not set
+CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
@@ -928,39 +1099,48 @@ CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
CONFIG_AF_RXRPC=m
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=m
-CONFIG_PHONET=m
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
-CONFIG_CFG80211=m
-CONFIG_NL80211=y
-CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
-
-#
-# Rate control algorithm selection
-#
-CONFIG_MAC80211_RC_PID=y
+CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT="pid"
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_IEEE80211=m
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=m
-CONFIG_IEEE80211_CRYPT_CCMP=m
-CONFIG_IEEE80211_CRYPT_TKIP=m
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
-CONFIG_RFKILL_INPUT=m
CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
CONFIG_NET_9P=m
CONFIG_NET_9P_VIRTIO=m
# CONFIG_NET_9P_DEBUG is not set
@@ -973,6 +1153,8 @@ CONFIG_NET_9P_VIRTIO=m
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
@@ -984,6 +1166,7 @@ CONFIG_EXTRA_FIRMWARE=""
CONFIG_CONNECTOR=m
CONFIG_MTD=m
# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
@@ -1036,6 +1219,7 @@ CONFIG_MTD_PLATRAM=m
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SST25L=m
CONFIG_MTD_SLRAM=m
CONFIG_MTD_PHRAM=m
# CONFIG_MTD_MTDRAM is not set
@@ -1051,6 +1235,11 @@ CONFIG_MTD_PHRAM=m
# CONFIG_MTD_ONENAND is not set
#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
# UBI - Unsorted block images
#
# CONFIG_MTD_UBI is not set
@@ -1085,7 +1274,10 @@ CONFIG_BLK_DEV_DAC960=m
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=m
@@ -1099,43 +1291,50 @@ CONFIG_ATA_OVER_ETH=m
CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y
+CONFIG_AD525X_DPOT=m
# CONFIG_IBM_ASM is not set
CONFIG_PHANTOM=m
-CONFIG_EEPROM_93CX6=m
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
-CONFIG_ACER_WMI=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_TC1100_WMI=m
-CONFIG_HP_WMI=m
CONFIG_ICS932S401=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-# CONFIG_SONYPI_COMPAT is not set
-CONFIG_THINKPAD_ACPI=m
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-CONFIG_THINKPAD_ACPI_BAY=y
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
CONFIG_HP_ILO=m
+CONFIG_ISL29003=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_DS1682=m
+CONFIG_TI_DAC7512=m
+CONFIG_VMWARE_BALLOON=m
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
CONFIG_HAVE_IDE=y
CONFIG_IDE=m
#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
+CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_TIMINGS=y
CONFIG_IDE_ATAPI=y
+CONFIG_IDE_LEGACY=y
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_IDE_GD=m
CONFIG_IDE_GD_ATA=y
@@ -1145,7 +1344,6 @@ CONFIG_BLK_DEV_DELKIN=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
CONFIG_BLK_DEV_IDETAPE=m
-CONFIG_BLK_DEV_IDESCSI=m
CONFIG_BLK_DEV_IDEACPI=y
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_PROC_FS=y
@@ -1178,10 +1376,12 @@ CONFIG_BLK_DEV_TRIFLEX=m
CONFIG_BLK_DEV_CS5520=m
CONFIG_BLK_DEV_CS5530=m
CONFIG_BLK_DEV_CS5535=m
+CONFIG_BLK_DEV_CS5536=m
CONFIG_BLK_DEV_HPT366=m
CONFIG_BLK_DEV_JMICRON=m
CONFIG_BLK_DEV_SC1200=m
CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8172=m
CONFIG_BLK_DEV_IT8213=m
CONFIG_BLK_DEV_IT821X=m
CONFIG_BLK_DEV_NS87415=m
@@ -1213,6 +1413,7 @@ CONFIG_BLK_DEV_IDEDMA=y
#
# SCSI device support
#
+CONFIG_SCSI_MOD=m
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
@@ -1231,10 +1432,6 @@ CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
@@ -1257,8 +1454,13 @@ CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_BE2ISCSI=m
CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
CONFIG_SCSI_7000FASST=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AHA152X=m
@@ -1279,6 +1481,8 @@ CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_IN2000=m
@@ -1289,9 +1493,17 @@ CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_FLASHPOINT is not set
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_DTC3280=m
CONFIG_SCSI_EATA=m
@@ -1310,7 +1522,6 @@ CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_MVSAS=m
CONFIG_SCSI_NCR53C406A=m
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
@@ -1327,6 +1538,7 @@ CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_SYM53C416=m
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC390T=m
@@ -1338,7 +1550,10 @@ CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=m
CONFIG_SCSI_NSP32=m
# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
@@ -1350,8 +1565,13 @@ CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=m
@@ -1375,6 +1595,7 @@ CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=m
CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_CMD640_PCI=m
CONFIG_PATA_CMD64X=m
@@ -1406,15 +1627,17 @@ CONFIG_PATA_NS87415=m
CONFIG_PATA_OPTI=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_PDC2027X=m
CONFIG_PATA_PDC_OLD=m
CONFIG_PATA_QDI=m
CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
CONFIG_PATA_RZ1000=m
CONFIG_PATA_SC1200=m
CONFIG_PATA_SERVERWORKS=m
-CONFIG_PATA_PDC2027X=m
CONFIG_PATA_SIL680=m
CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
CONFIG_PATA_WINBOND_VLB=m
@@ -1426,7 +1649,9 @@ CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
-CONFIG_MD_RAID5_RESHAPE=y
+# CONFIG_MULTICORE_RAID456 is not set
+CONFIG_MD_RAID6_PQ=m
+CONFIG_ASYNC_RAID6_TEST=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
@@ -1434,8 +1659,11 @@ CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_FUSION=y
@@ -1451,20 +1679,18 @@ CONFIG_FUSION_CTL=m
#
#
-# Enable only one of the two stacks, unless you know what you are doing
+# You can enable one or both FireWire driver stacks.
#
-# CONFIG_FIREWIRE is not set
-CONFIG_IEEE1394=m
-CONFIG_IEEE1394_OHCI1394=m
-CONFIG_IEEE1394_PCILYNX=m
-CONFIG_IEEE1394_SBP2=m
-# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
-CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
-CONFIG_IEEE1394_ETH1394=m
-CONFIG_IEEE1394_RAWIO=m
-CONFIG_IEEE1394_VIDEO1394=m
-CONFIG_IEEE1394_DV1394=m
-# CONFIG_IEEE1394_VERBOSEDEBUG is not set
+
+#
+# The newer stack is recommended.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
CONFIG_I2O=m
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
@@ -1481,30 +1707,34 @@ CONFIG_IFB=m
CONFIG_DUMMY=m
CONFIG_BONDING=m
CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
CONFIG_EQUALIZER=m
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_NET_SB1000=m
# CONFIG_ARCNET is not set
-CONFIG_PHYLIB=y
+CONFIG_PHYLIB=m
#
# MII PHY device drivers
#
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_REALTEK_PHY is not set
-# CONFIG_FIXED_PHY is not set
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
+CONFIG_MII=m
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
@@ -1513,34 +1743,37 @@ CONFIG_EL1=m
CONFIG_EL2=m
CONFIG_ELPLUS=m
CONFIG_EL16=m
-CONFIG_EL3=y
+CONFIG_EL3=m
CONFIG_3C515=m
-CONFIG_VORTEX=y
-CONFIG_TYPHOON=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
CONFIG_LANCE=m
CONFIG_NET_VENDOR_SMC=y
CONFIG_WD80x3=m
-CONFIG_ULTRA=y
+CONFIG_ULTRA=m
CONFIG_SMC9194=m
CONFIG_ENC28J60=m
# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ETHOC=m
CONFIG_NET_VENDOR_RACAL=y
CONFIG_NI52=m
CONFIG_NI65=m
+CONFIG_DNET=m
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
-CONFIG_TULIP=y
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set
# CONFIG_TULIP_NAPI is not set
CONFIG_DE4X5=m
-CONFIG_WINBOND_840=y
-CONFIG_DM9102=y
-CONFIG_ULI526X=y
-CONFIG_PCMCIA_XIRCOM=y
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
CONFIG_AT1700=m
CONFIG_DEPCA=m
-CONFIG_HP100=y
+CONFIG_HP100=m
CONFIG_NET_ISA=y
CONFIG_E2100=m
CONFIG_EWRK3=m
@@ -1561,37 +1794,41 @@ CONFIG_SEEQ8005=m
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
CONFIG_NET_PCI=y
-CONFIG_PCNET32=y
-CONFIG_AMD8111_ETH=y
+CONFIG_PCNET32=m
+CONFIG_AMD8111_ETH=m
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_AC3200=m
+CONFIG_KSZ884X_PCI=m
CONFIG_APRICOT=m
-CONFIG_B44=y
+CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
-CONFIG_FORCEDETH=y
+CONFIG_FORCEDETH=m
# CONFIG_FORCEDETH_NAPI is not set
CONFIG_CS89x0=m
-CONFIG_EEPRO100=y
-CONFIG_E100=y
+CONFIG_E100=m
CONFIG_FEALNX=m
-CONFIG_NATSEMI=y
+CONFIG_NATSEMI=m
CONFIG_NE2K_PCI=m
CONFIG_8139CP=m
-CONFIG_8139TOO=y
+CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R6040=m
-CONFIG_SIS900=y
-CONFIG_EPIC100=y
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_TLAN=m
-CONFIG_VIA_RHINE=y
-CONFIG_VIA_RHINE_MMIO=y
+CONFIG_KS8842=m
+CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
CONFIG_SC92031=m
CONFIG_NET_POCKET=y
CONFIG_ATP=m
@@ -1601,39 +1838,48 @@ CONFIG_ATL2=m
CONFIG_NETDEV_1000=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_DL2K=y
+CONFIG_DL2K=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IP1000=m
CONFIG_IGB=m
-# CONFIG_IGB_LRO is not set
CONFIG_IGB_DCA=y
-CONFIG_NS83820=y
+CONFIG_IGBVF=m
+CONFIG_NS83820=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
-CONFIG_R8169=y
-CONFIG_R8169_VLAN=y
-CONFIG_SIS190=y
-CONFIG_SKGE=y
+CONFIG_R8169=m
+# CONFIG_R8169_VLAN is not set
+CONFIG_SIS190=m
+CONFIG_SKGE=m
# CONFIG_SKGE_DEBUG is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
-CONFIG_VIA_VELOCITY=y
-CONFIG_TIGON3=y
-CONFIG_BNX2=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_CNIC=m
CONFIG_QLA3XXX=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
+CONFIG_ATL1C=m
CONFIG_JME=m
CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
CONFIG_ENIC=m
CONFIG_IXGBE=m
CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
CONFIG_IXGB=m
CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
CONFIG_NETXEN_NIC=m
@@ -1643,43 +1889,21 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_TEHUTI=m
CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
CONFIG_QLGE=m
CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
# CONFIG_TR is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
+CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_AIRO=m
-CONFIG_HERMES=m
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCI_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m
CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_WL3501=m
CONFIG_PRISM54=m
@@ -1687,68 +1911,126 @@ CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_RTL8180=m
CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
CONFIG_ADM8211=m
# CONFIG_MAC80211_HWSIM is not set
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
CONFIG_ATH5K=m
# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K=m
-CONFIG_IWLWIFI=m
-CONFIG_IWLCORE=m
-CONFIG_IWLWIFI_LEDS=y
-CONFIG_IWLWIFI_RFKILL=y
-# CONFIG_IWLWIFI_DEBUG is not set
-CONFIG_IWLAGN=m
-CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y
-CONFIG_IWLAGN_LEDS=y
-CONFIG_IWL4965=y
-CONFIG_IWL5000=y
-CONFIG_IWL3945=m
-CONFIG_IWL3945_RFKILL=y
-CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
-CONFIG_IWL3945_LEDS=y
-# CONFIG_IWL3945_DEBUG is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
CONFIG_B43=m
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
CONFIG_B43_LEDS=y
-CONFIG_B43_RFKILL=y
+CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_RFKILL=y
+CONFIG_B43LEGACY_HWRNG=y
# CONFIG_B43LEGACY_DEBUG is not set
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_IWM=m
+# CONFIG_IWM_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+CONFIG_P54_LEDS=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
CONFIG_RT2500PCI=m
CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_RFKILL=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL1271=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_SDIO=m
+# CONFIG_WIMAX_IWMC3200_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
#
# USB Network Adapters
@@ -1760,7 +2042,9 @@ CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
@@ -1776,6 +2060,10 @@ CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_3C589=m
CONFIG_PCMCIA_3C574=m
@@ -1815,6 +2103,9 @@ CONFIG_ATM_FORE200E_TX_RETRY=16
CONFIG_ATM_FORE200E_DEBUG=0
CONFIG_ATM_HE=m
# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PLIP=m
@@ -1841,16 +2132,8 @@ CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
CONFIG_ISDN=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
CONFIG_ISDN_I4L=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
@@ -1934,7 +2217,6 @@ CONFIG_HISAX_ST5481=m
CONFIG_HISAX_HFCUSB=m
CONFIG_HISAX_HFC4S8S=m
CONFIG_HISAX_FRITZ_PCIPNP=m
-CONFIG_HISAX_HDLC=y
#
# Active cards
@@ -1943,14 +2225,6 @@ CONFIG_ISDN_DRV_ICN=m
CONFIG_ISDN_DRV_PCBIT=m
CONFIG_ISDN_DRV_SC=m
CONFIG_ISDN_DRV_ACT2000=m
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIGASET_M101=m
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_UNDOCREQ=y
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_CAPI_TRACE=y
@@ -1979,6 +2253,34 @@ CONFIG_ISDN_DIVAS_PRIPCI=y
CONFIG_ISDN_DIVAS_DIVACAPI=m
CONFIG_ISDN_DIVAS_USERIDI=m
CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
# CONFIG_PHONE is not set
#
@@ -1987,6 +2289,7 @@ CONFIG_ISDN_DIVAS_MAINT=m
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
#
# Userland interfaces
@@ -2003,12 +2306,19 @@ CONFIG_INPUT_EVDEV=m
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_SUNKBD is not set
+CONFIG_QT2160=m
# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
@@ -2017,6 +2327,7 @@ CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_OLPC=y
CONFIG_MOUSE_SERIAL=y
@@ -2027,6 +2338,8 @@ CONFIG_MOUSE_INPORT=m
CONFIG_MOUSE_LOGIBM=m
CONFIG_MOUSE_PC110PAD=m
CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
@@ -2056,6 +2369,7 @@ CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
@@ -2064,9 +2378,16 @@ CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_WACOM=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_FUJITSU=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
@@ -2074,11 +2395,13 @@ CONFIG_TOUCHSCREEN_HTCPEN=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
CONFIG_TOUCHSCREEN_WM97XX=m
# CONFIG_TOUCHSCREEN_WM9705 is not set
# CONFIG_TOUCHSCREEN_WM9712 is not set
# CONFIG_TOUCHSCREEN_WM9713 is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+# CONFIG_TOUCHSCREEN_MC13783 is not set
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
@@ -2090,7 +2413,14 @@ CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_APANEL=m
@@ -2103,6 +2433,10 @@ CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_PCAP is not set
#
# Hardware I/O ports
@@ -2115,6 +2449,7 @@ CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
@@ -2136,7 +2471,6 @@ CONFIG_ROCKETPORT=m
CONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set
# CONFIG_DIGIEPCA is not set
-# CONFIG_ESPSERIAL is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_ISI is not set
@@ -2146,8 +2480,6 @@ CONFIG_SYNCLINKMP=m
CONFIG_N_HDLC=m
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
-# CONFIG_SX is not set
-# CONFIG_RIO is not set
# CONFIG_STALDRV is not set
CONFIG_NOZOMI=m
@@ -2160,17 +2492,21 @@ CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
+CONFIG_SERIAL_MAX3100=m
+CONFIG_SERIAL_UARTLITE=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_TIMBERDALE=m
CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
@@ -2184,6 +2520,7 @@ CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
@@ -2207,7 +2544,8 @@ CONFIG_PC8736x_GPIO=m
CONFIG_NSC_GPIO=m
CONFIG_CS5535_GPIO=m
# CONFIG_RAW_DRIVER is not set
-# CONFIG_HPET is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=m
CONFIG_TCG_TIS=m
@@ -2218,8 +2556,10 @@ CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCA=m
@@ -2248,10 +2588,17 @@ CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
+CONFIG_I2C_GPIO=m
CONFIG_I2C_OCORES=m
CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
#
# External I2C/SMBus adapter drivers
@@ -2262,34 +2609,15 @@ CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m
#
-# Graphics adapter I2C/DDC channel drivers
-#
-CONFIG_I2C_VOODOO3=m
-
-#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_ISA=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_STUB is not set
CONFIG_SCx200_ACB=m
-
-#
-# Miscellaneous I2C Chip support
-#
-CONFIG_DS1682=m
-CONFIG_AT24=m
-CONFIG_SENSORS_EEPROM=m
-CONFIG_SENSORS_PCF8574=m
-CONFIG_PCF8575=m
-CONFIG_SENSORS_PCA9539=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_SENSORS_MAX6875=m
-CONFIG_SENSORS_TSL2550=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
@@ -2299,16 +2627,69 @@ CONFIG_SPI_MASTER=y
#
CONFIG_SPI_BITBANG=m
CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_GPIO=m
CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_XILINX=m
+CONFIG_SPI_XILINX_PLTFM=m
+# CONFIG_SPI_DESIGNWARE is not set
#
# SPI Protocol Masters
#
-CONFIG_SPI_AT25=m
CONFIG_SPI_SPIDEV=m
CONFIG_SPI_TLE62X0=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-# CONFIG_GPIOLIB is not set
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO expanders:
+#
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_SCH=m
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_WM8994=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_LANGWELL=y
+CONFIG_GPIO_TIMBERDALE=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
+CONFIG_GPIO_MC33880=m
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
CONFIG_W1=m
CONFIG_W1_CON=y
@@ -2318,12 +2699,14 @@ CONFIG_W1_CON=y
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_GPIO=m
#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
# CONFIG_W1_SLAVE_DS2433_CRC is not set
CONFIG_W1_SLAVE_DS2760=m
@@ -2332,10 +2715,18 @@ CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=m
CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
CONFIG_BATTERY_OLPC=m
CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_CHARGER_PCF50633=m
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_AD7414=m
@@ -2347,10 +2738,13 @@ CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7473=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS1621=m
@@ -2358,9 +2752,8 @@ CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHER=m
-CONFIG_SENSORS_FSCPOS=m
CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_CORETEMP=m
@@ -2369,6 +2762,7 @@ CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
@@ -2379,18 +2773,27 @@ CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_MAX1111=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
@@ -2403,9 +2806,15 @@ CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_HDAPS=m
-CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_SENSORS_LIS3_I2C=m
CONFIG_SENSORS_APPLESMC=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
CONFIG_WATCHDOG=y
@@ -2419,7 +2828,9 @@ CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m
CONFIG_IBMASR=m
@@ -2436,6 +2847,7 @@ CONFIG_60XX_WDT=m
CONFIG_SBC8360_WDT=m
CONFIG_SBC7240_WDT=m
CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
CONFIG_SMSC37B787_WDT=m
CONFIG_W83627HF_WDT=m
CONFIG_W83697HF_WDT=m
@@ -2451,14 +2863,12 @@ CONFIG_SBC_EPX_C3_WATCHDOG=m
CONFIG_PCWATCHDOG=m
CONFIG_MIXCOMWD=m
CONFIG_WDT=m
-CONFIG_WDT_501=y
#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m
-CONFIG_WDT_501_PCI=y
#
# USB-based Watchdog Cards
@@ -2469,11 +2879,16 @@ CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
-CONFIG_SSB=y
+CONFIG_SSB=m
CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -2481,18 +2896,25 @@ CONFIG_SSB_DRIVER_PCICORE=y
#
# Multifunction device drivers
#
-# CONFIG_MFD_CORE is not set
+CONFIG_MFD_CORE=m
CONFIG_MFD_SM501=m
-# CONFIG_HTC_PASIC3 is not set
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_HTC_PASIC3=m
+CONFIG_UCB1400_CORE=m
+CONFIG_TPS65010=m
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_WM8400=m
-CONFIG_MFD_WM8350=m
-CONFIG_MFD_WM8350_I2C=m
+CONFIG_MFD_WM8994=m
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_MC13783=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_EZX_PCAP=y
+CONFIG_AB4500_CORE=m
+CONFIG_MFD_TIMBERDALE=m
+CONFIG_LPC_SCH=m
# CONFIG_REGULATOR is not set
-
-#
-# Multimedia devices
-#
+CONFIG_MEDIA_SUPPORT=m
#
# Multimedia core support
@@ -2509,9 +2931,11 @@ CONFIG_VIDEO_MEDIA=m
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
-# CONFIG_MEDIA_ATTACH is not set
+CONFIG_IR_CORE=m
+CONFIG_VIDEO_IR=m
+CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
@@ -2528,15 +2952,15 @@ CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_IR=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
@@ -2568,21 +2992,28 @@ CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m
#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
# Video decoders
#
+CONFIG_VIDEO_ADV7180=m
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
CONFIG_VIDEO_KS0127=m
CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
CONFIG_VIDEO_TCM825X=m
CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA7111=m
-CONFIG_VIDEO_SAA7114=m
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TVP7002=m
CONFIG_VIDEO_VPX3220=m
#
@@ -2602,6 +3033,8 @@ CONFIG_VIDEO_SAA7127=m
CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_THS7303=m
+CONFIG_VIDEO_ADV7343=m
#
# Video improvement chips
@@ -2611,7 +3044,6 @@ CONFIG_VIDEO_UPD64083=m
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_PMS=m
CONFIG_VIDEO_BWQCAM=m
CONFIG_VIDEO_CQCAM=m
@@ -2642,31 +3074,51 @@ CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_ALSA=m
CONFIG_VIDEO_CX88_BLACKBIRD=m
CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_CX23885=m
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_SOC_CAMERA=m
CONFIG_SOC_CAMERA_MT9M001=m
CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
@@ -2675,7 +3127,10 @@ CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TV8532=m
@@ -2685,9 +3140,14 @@ CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_USBVIDEO=m
CONFIG_USB_VICAM=m
@@ -2704,6 +3164,7 @@ CONFIG_USB_STV680=m
CONFIG_USB_ZC0301=m
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
@@ -2716,16 +3177,26 @@ CONFIG_RADIO_GEMTEK=m
CONFIG_RADIO_GEMTEK_PCI=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_MAESTRO=m
+CONFIG_RADIO_MIROPCM20=m
CONFIG_RADIO_SF16FMI=m
CONFIG_RADIO_SF16FMR2=m
CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
-# CONFIG_RADIO_TYPHOON_PROC_FS is not set
CONFIG_RADIO_ZOLTRIX=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
CONFIG_USB_DSBR=m
+CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
CONFIG_USB_MR800=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
CONFIG_DVB_CAPTURE_DRIVERS=y
#
@@ -2770,10 +3241,19 @@ CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_SIANO_SMS1XXX=m
-CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
#
# Supported FlexCopII (B2C2) Adapters
@@ -2797,43 +3277,63 @@ CONFIG_DVB_PLUTO2=m
# Supported SDMC DM1105 Adapters
#
CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
#
-# Supported DVB Frontends
+# Supported Earthsoft PT1 Adapters
#
+CONFIG_DVB_PT1=m
#
-# Customise DVB Frontends
+# Supported Mantis Adapters
#
-# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
#
-# DVB-S (satellite) frontends
+# Supported nGene Adapters
#
+CONFIG_DVB_NGENE=m
+
+#
+# Supported DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_SI21XX=m
-
-#
-# DVB-T (terrestrial) frontends
-#
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
-# CONFIG_DVB_DRX397XD is not set
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
@@ -2844,46 +3344,30 @@ CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m
-
-#
-# DVB-C (cable) frontends
-#
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
+CONFIG_DVB_DIB8000=m
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m
-
-#
-# SEC control devices for DVB-S
-#
CONFIG_DVB_LNBP21=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
-CONFIG_DVB_LGS8GL5=m
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-CONFIG_DVB_AF9013=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
CONFIG_DAB=y
CONFIG_USB_DABUSB=m
@@ -2901,13 +3385,20 @@ CONFIG_AGP_SIS=m
CONFIG_AGP_SWORKS=m
CONFIG_AGP_VIA=m
CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
@@ -2927,6 +3418,7 @@ CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
@@ -2962,9 +3454,6 @@ CONFIG_FB_I810=m
# CONFIG_FB_I810_GTF is not set
CONFIG_FB_LE80578=m
CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_INTEL=m
-# CONFIG_FB_INTEL_DEBUG is not set
-CONFIG_FB_INTEL_I2C=y
# CONFIG_FB_MATROX is not set
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
@@ -2989,28 +3478,31 @@ CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
CONFIG_FB_VOODOO1=m
# CONFIG_FB_VT8623 is not set
-CONFIG_FB_CYBLA=m
CONFIG_FB_TRIDENT=m
-CONFIG_FB_TRIDENT_ACCEL=y
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
# CONFIG_FB_SM501 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_L4F00242T03=m
+CONFIG_LCD_LMS283GF05=m
CONFIG_LCD_LTV350QV=m
CONFIG_LCD_ILI9320=m
CONFIG_LCD_TDO24M=m
CONFIG_LCD_VGG2432A4=m
CONFIG_LCD_PLATFORM=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_CORGI=m
+CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_PROGEAR=m
CONFIG_BACKLIGHT_CARILLO_RANCH=m
CONFIG_BACKLIGHT_MBP_NVIDIA=m
@@ -3050,31 +3542,41 @@ CONFIG_FONT_8x16=y
# CONFIG_LOGO is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
CONFIG_SND_OPL4_LIB=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
-CONFIG_SND_PCSP=m
+# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
@@ -3096,9 +3598,7 @@ CONFIG_SND_ALS100=m
CONFIG_SND_AZT2320=m
CONFIG_SND_CMI8330=m
CONFIG_SND_CS4231=m
-CONFIG_SND_CS4232=m
CONFIG_SND_CS4236=m
-CONFIG_SND_DT019X=m
CONFIG_SND_ES968=m
CONFIG_SND_ES1688=m
CONFIG_SND_ES18XX=m
@@ -3108,6 +3608,7 @@ CONFIG_SND_GUSEXTREME=m
CONFIG_SND_GUSMAX=m
CONFIG_SND_INTERWAVE=m
CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
CONFIG_SND_OPL3SA2=m
CONFIG_SND_OPTI92X_AD1848=m
CONFIG_SND_OPTI92X_CS4231=m
@@ -3120,7 +3621,8 @@ CONFIG_SND_SB16_CSP=y
CONFIG_SND_SGALAXY=m
CONFIG_SND_SSCAPE=m
CONFIG_SND_WAVEFRONT=m
-CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL=y
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=m
CONFIG_SND_ALS300=m
@@ -3144,6 +3646,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_GINA20=m
CONFIG_SND_LAYLA20=m
@@ -3156,6 +3659,8 @@ CONFIG_SND_ECHO3G=m
CONFIG_SND_INDIGO=m
CONFIG_SND_INDIGOIO=m
CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
CONFIG_SND_EMU10K1=m
CONFIG_SND_EMU10K1X=m
CONFIG_SND_ENS1370=m
@@ -3167,14 +3672,22 @@ CONFIG_SND_FM801_TEA575X_BOOL=y
CONFIG_SND_FM801_TEA575X=m
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_ATIHDMI=y
CONFIG_SND_HDA_CODEC_NVHDMI=y
+CONFIG_SND_HDA_CODEC_INTELHDMI=y
+CONFIG_SND_HDA_ELD=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
@@ -3188,6 +3701,7 @@ CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
+CONFIG_SND_LX6464ES=m
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MIXART=m
CONFIG_SND_NM256=m
@@ -3207,6 +3721,7 @@ CONFIG_SND_YMFPCI=m
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
@@ -3215,12 +3730,12 @@ CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
# CONFIG_SND_SOC_ALL_CODECS is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
-# CONFIG_HID_DEBUG is not set
CONFIG_HIDRAW=y
#
@@ -3231,38 +3746,50 @@ CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
#
-# USB HID Boot Protocol drivers
-#
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-
-#
# Special HID drivers
#
-# CONFIG_HID_COMPAT is not set
+CONFIG_HID_3M_PCT=m
CONFIG_HID_A4TECH=m
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
-CONFIG_HID_BRIGHT=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CYPRESS=m
-CONFIG_HID_DELL=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
CONFIG_HID_LOGITECH=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MOSART=m
CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=m
+CONFIG_HID_QUANTA=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
CONFIG_HID_SUNPLUS=m
-CONFIG_THRUSTMASTER_FF=m
-CONFIG_ZEROPLUS_FF=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
@@ -3275,11 +3802,11 @@ CONFIG_USB=m
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DEVICE_CLASS is not set
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
-CONFIG_USB_MON=y
+CONFIG_USB_MON=m
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
@@ -3288,11 +3815,15 @@ CONFIG_USB_WUSB_CBAF=m
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_OXU210HP_HCD=m
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
@@ -3316,26 +3847,25 @@ CONFIG_USB_WDM=m
CONFIG_USB_TMC=m
#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
-# see USB_STORAGE Help for more information
+# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-CONFIG_USB_STORAGE_ISD200=y
-CONFIG_USB_STORAGE_DPCM=y
-CONFIG_USB_STORAGE_USBAT=y
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-CONFIG_USB_STORAGE_ALAUDA=y
-CONFIG_USB_STORAGE_ONETOUCH=y
-CONFIG_USB_STORAGE_KARMA=y
-CONFIG_USB_STORAGE_CYPRESS_ATACB=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
# CONFIG_USB_LIBUSUAL is not set
#
@@ -3357,7 +3887,7 @@ CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
@@ -3393,16 +3923,22 @@ CONFIG_USB_SERIAL_MOTOROLA=m
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
# CONFIG_USB_SERIAL_DEBUG is not set
#
@@ -3415,14 +3951,9 @@ CONFIG_USB_SEVSEG=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
-CONFIG_USB_BERRY_CHARGE=m
CONFIG_USB_LED=m
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_CYTHERM=m
-CONFIG_USB_PHIDGET=m
-CONFIG_USB_PHIDGETKIT=m
-CONFIG_USB_PHIDGETMOTORCONTROL=m
-CONFIG_USB_PHIDGETSERVO=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
@@ -3433,7 +3964,6 @@ CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
CONFIG_USB_TEST=m
CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_VST=m
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
@@ -3451,26 +3981,43 @@ CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
# CONFIG_USB_GADGET_S3C2410 is not set
# CONFIG_USB_GADGET_M66592 is not set
# CONFIG_USB_GADGET_AMD5536UDC is not set
# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
CONFIG_USB_GADGET_NET2280=y
CONFIG_USB_NET2280=m
# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
CONFIG_USB_GADGETFS=m
CONFIG_USB_FILE_STORAGE=m
# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
CONFIG_USB_G_SERIAL=m
CONFIG_USB_MIDI_GADGET=m
CONFIG_USB_G_PRINTER=m
# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_NOP_USB_XCEIV=m
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
@@ -3494,10 +4041,13 @@ CONFIG_SDIO_UART=m
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -3518,20 +4068,33 @@ CONFIG_LEDS_CLASS=m
#
# LED drivers
#
+# CONFIG_LEDS_ALIX2 is not set
CONFIG_LEDS_PCA9532=m
-CONFIG_LEDS_HP_DISK=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_TRIGGERS=y
#
# LED Triggers
#
-CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_IDE_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
# CONFIG_INFINIBAND is not set
@@ -3541,6 +4104,7 @@ CONFIG_EDAC=y
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_AMD76X=m
CONFIG_EDAC_E7XXX=m
@@ -3548,7 +4112,9 @@ CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82875P=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
CONFIG_EDAC_I82860=m
CONFIG_EDAC_R82600=m
CONFIG_EDAC_I5000=m
@@ -3579,9 +4145,11 @@ CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_S35390A=m
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
#
# SPI RTC drivers
@@ -3593,6 +4161,7 @@ CONFIG_RTC_DRV_MAX6902=m
CONFIG_RTC_DRV_R9701=m
CONFIG_RTC_DRV_RS5C348=m
CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_PCF2123=m
#
# Platform RTC drivers
@@ -3606,18 +4175,24 @@ CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_WM8350=m
+CONFIG_RTC_DRV_PCF50633=m
#
# on-CPU RTC drivers
#
+# CONFIG_RTC_DRV_PCAP is not set
+CONFIG_RTC_DRV_MC13783=m
CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
#
# DMA Devices
#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
CONFIG_INTEL_IOATDMA=m
CONFIG_DMA_ENGINE=y
@@ -3625,6 +4200,7 @@ CONFIG_DMA_ENGINE=y
# DMA Clients
#
CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
@@ -3637,25 +4213,137 @@ CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV=m
CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_SMX=m
+CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+
+#
+# TI VLYNQ
+#
CONFIG_STAGING=y
# CONFIG_STAGING_EXCLUDE_BUILD is not set
CONFIG_ET131X=m
# CONFIG_ET131X_DEBUG is not set
CONFIG_SLICOSS=m
-CONFIG_SXG=m
-CONFIG_ME4000=m
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_VIDEO_GO7007_OV7640=m
+CONFIG_VIDEO_GO7007_SAA7113=m
+CONFIG_VIDEO_GO7007_SAA7115=m
+CONFIG_VIDEO_GO7007_TW9903=m
+CONFIG_VIDEO_GO7007_UDA1342=m
+CONFIG_VIDEO_GO7007_SONY_TUNER=m
+CONFIG_VIDEO_GO7007_TW2804=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
CONFIG_USB_IP_COMMON=m
CONFIG_USB_IP_VHCI_HCD=m
CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
CONFIG_W35UND=m
CONFIG_PRISM2_USB=m
CONFIG_ECHO=m
-CONFIG_USB_ATMEL=m
CONFIG_POCH=m
+CONFIG_OTUS=m
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192SU=m
+CONFIG_RTL8192U=m
+CONFIG_RTL8192E=m
+# CONFIG_TRANZPORT is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=m
+CONFIG_POHMELFS=m
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POHMELFS_CRYPTO=y
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_USB_SERIAL_QUATECH_USB2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_FB_UDL=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_HYPERV_BLOCK=m
+CONFIG_HYPERV_NET=m
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=m
+CONFIG_RAMZSWAP_STATS=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_STRIP is not set
+CONFIG_ARLAN=m
+CONFIG_WAVELAN=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_FB_SM7XX=m
+CONFIG_DT3155=m
+CONFIG_CRYSTALHD=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_TC1100_WMI=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
#
# Firmware Drivers
@@ -3678,14 +4366,15 @@ CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
-CONFIG_EXT4DEV_COMPAT=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
@@ -3693,7 +4382,7 @@ CONFIG_JBD2=m
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
@@ -3701,38 +4390,56 @@ CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
+CONFIG_JFS_STATISTICS=y
CONFIG_FS_POSIX_ACL=y
-CONFIG_FILE_LOCKING=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_DLM=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
# CONFIG_OCFS2_DEBUG_FS is not set
-# CONFIG_OCFS2_COMPAT_JBD is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=m
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
@@ -3766,20 +4473,10 @@ CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
-
-#
-# Layered filesystems
-#
-CONFIG_ECRYPT_FS=m
-CONFIG_UNION_FS=m
-CONFIG_UNION_FS_XATTR=y
-# CONFIG_UNION_FS_DEBUG is not set
-
-#
-# Miscellaneous filesystems
-#
+CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_BEFS_FS=m
@@ -3797,6 +4494,7 @@ CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
+CONFIG_LOGFS=m
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_EMBEDDED is not set
@@ -3811,29 +4509,33 @@ CONFIG_OMFS_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
+CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_FSCACHE=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
+CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
-CONFIG_NFS_ACL_SUPPORT=y
+CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-# CONFIG_SUNRPC_REGISTER_V4 is not set
-CONFIG_RPCSEC_GSS_KRB5=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_SPKM3=m
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CEPH_FS=m
+# CONFIG_CEPH_FS_PRETTYDEBUG is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
# CONFIG_CIFS_STATS2 is not set
@@ -3842,6 +4544,7 @@ CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
CONFIG_NCP_FS=m
# CONFIG_NCPFS_PACKET_SIGNING is not set
@@ -3855,7 +4558,9 @@ CONFIG_NCPFS_NLS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
#
# Partition Types
@@ -3871,7 +4576,8 @@ CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
@@ -3930,6 +4636,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
@@ -3938,12 +4645,16 @@ CONFIG_DEBUG_KERNEL=y
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-# CONFIG_SCHED_DEBUG is not set
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
@@ -3954,6 +4665,7 @@ CONFIG_DEBUG_MUTEXES=y
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y
@@ -3964,49 +4676,80 @@ CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
-# CONFIG_FRAME_POINTER is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_LKDTM=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-
-#
-# Tracers
-#
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SYSPROF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
-# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_KSYM_TRACER is not set
# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
-# CONFIG_STRICT_DEVMEM is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_KMEMCHECK is not set
+CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_DEBUG_RODATA is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_4KSTACKS is not set
CONFIG_DOUBLEFAULT=y
-# CONFIG_MMIOTRACE is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
@@ -4019,6 +4762,7 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
#
# Security options
@@ -4029,33 +4773,48 @@ CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
-CONFIG_SECURITY_FILE_CAPABILITIES=y
-CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
-CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI=m
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
@@ -4070,7 +4829,7 @@ CONFIG_CRYPTO_SEQIV=m
#
# Block modes
#
-CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
@@ -4083,14 +4842,16 @@ CONFIG_CRYPTO_XTS=m
#
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
@@ -4113,7 +4874,7 @@ CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
@@ -4129,6 +4890,7 @@ CONFIG_CRYPTO_TWOFISH_586=m
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m
#
@@ -4143,15 +4905,21 @@ CONFIG_CRYPTO_DEV_GEODE=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
+CONFIG_VHOST_NET=m
CONFIG_LGUEST=m
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTIO_BALLOON is not set
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
#
# Library routines
@@ -4159,23 +4927,31 @@ CONFIG_VIRTIO_RING=y
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_CRC_CCITT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
+CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
-CONFIG_LZO_DECOMPRESS=m
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
-CONFIG_PLIST=y
+CONFIG_BTREE=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
diff --git a/abs/core/kernel26/config.arch b/abs/core/kernel26/config.arch
new file mode 100644
index 0000000..f0aff2c
--- /dev/null
+++ b/abs/core/kernel26/config.arch
@@ -0,0 +1,4955 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.34
+# Mon May 17 05:55:59 2010
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+# CONFIG_X86_64 is not set
+CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ZONE_DMA32 is not set
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_X86_32_SMP=y
+CONFIG_X86_HT=y
+CONFIG_X86_TRAMPOLINE=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION="-ARCH"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+CONFIG_RELAY=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_SMP=y
+# CONFIG_SPARSE_IRQ is not set
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_VMI=y
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+CONFIG_LGUEST_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+CONFIG_M686=y
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MPSC is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+# CONFIG_GENERIC_CPU is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_CYRIX_32=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_CPU_SUP_UMC_32=y
+# CONFIG_X86_DS is not set
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_IOMMU_API=y
+CONFIG_NR_CPUS=8
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+# CONFIG_HIGHPTE is not set
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW_64K=y
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_EFI=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
+CONFIG_SCHED_HRTICK=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+# CONFIG_KEXEC_JUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+# CONFIG_PM_TRACE_RTC is not set
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION_NVS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
+CONFIG_ACPI_SYSFS_POWER=y
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=m
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_SBS=m
+CONFIG_SFI=y
+CONFIG_X86_APM_BOOT=y
+CONFIG_APM=y
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
+CONFIG_APM_DO_ENABLE=y
+# CONFIG_APM_CPU_IDLE is not set
+# CONFIG_APM_DISPLAY_BLANK is not set
+# CONFIG_APM_ALLOW_INTS is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# CPUFreq processor drivers
+#
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_GX_SUSPMOD=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOOLPC is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_OLPC=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+# CONFIG_MCA is not set
+# CONFIG_SCx200 is not set
+CONFIG_OLPC=y
+CONFIG_K8_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=m
+CONFIG_HOTPLUG_PCI=m
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=m
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT=y
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+CONFIG_SCTP_HMAC_SHA1=y
+# CONFIG_SCTP_HMAC_MD5 is not set
+CONFIG_RDS=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_DROP_MONITOR=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+# CONFIG_BT_CMTP is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_RC_MINSTREL=y
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_TS5500 is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+CONFIG_MTD_PLATRAM=m
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SST25L=m
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+CONFIG_PARPORT_PC_FIFO=y
+CONFIG_PARPORT_PC_SUPERIO=y
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_BLK_DEV_XD is not set
+# CONFIG_PARIDE is not set
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+# CONFIG_CISS_SCSI_TAPE is not set
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_MISC_DEVICES=y
+CONFIG_AD525X_DPOT=m
+# CONFIG_IBM_ASM is not set
+CONFIG_PHANTOM=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_ISL29003=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_DS1682=m
+CONFIG_TI_DAC7512=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_C2PORT=m
+CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
+CONFIG_HAVE_IDE=y
+CONFIG_IDE=m
+
+#
+# Please see Documentation/ide/ide.txt for help/info on IDE drives
+#
+CONFIG_IDE_XFER_MODE=y
+CONFIG_IDE_TIMINGS=y
+CONFIG_IDE_ATAPI=y
+CONFIG_IDE_LEGACY=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_IDE_GD=m
+CONFIG_IDE_GD_ATA=y
+CONFIG_IDE_GD_ATAPI=y
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_DELKIN=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEACPI=y
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_PLATFORM=m
+CONFIG_BLK_DEV_CMD640=m
+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
+CONFIG_BLK_DEV_IDEPNP=m
+CONFIG_BLK_DEV_IDEDMA_SFF=y
+
+#
+# PCI IDE chipsets support
+#
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_RZ1000=m
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_ATIIXP=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_CS5535=m
+CONFIG_BLK_DEV_CS5536=m
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_JMICRON=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8172=m
+CONFIG_BLK_DEV_IT8213=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SIS5513=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+CONFIG_BLK_DEV_TC86C001=m
+
+#
+# Other IDE chipsets support
+#
+
+#
+# Note: most of these also require special kernel boot parameters
+#
+CONFIG_BLK_DEV_4DRIVES=m
+CONFIG_BLK_DEV_ALI14XX=m
+CONFIG_BLK_DEV_DTC2278=m
+CONFIG_BLK_DEV_HT6560B=m
+CONFIG_BLK_DEV_QD65XX=m
+CONFIG_BLK_DEV_UMC8672=m
+CONFIG_BLK_DEV_IDEDMA=y
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_TGT_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_7000FASST=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_ARCMSR_AER=y
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+# CONFIG_SCSI_FLASHPOINT is not set
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_SYM53C416=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
+# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=m
+CONFIG_SCSI_NSP32=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_PMP=y
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+CONFIG_SATA_INIC162X=m
+CONFIG_PATA_ACPI=m
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_ATIIXP=m
+CONFIG_PATA_CMD640_PCI=m
+CONFIG_PATA_CMD64X=m
+CONFIG_PATA_CS5520=m
+CONFIG_PATA_CS5530=m
+CONFIG_PATA_CS5535=m
+CONFIG_PATA_CS5536=m
+CONFIG_PATA_CYPRESS=m
+CONFIG_PATA_EFAR=m
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_ISAPNP=m
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_JMICRON=m
+CONFIG_PATA_LEGACY=m
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+CONFIG_PATA_NS87410=m
+CONFIG_PATA_NS87415=m
+CONFIG_PATA_OPTI=m
+CONFIG_PATA_OPTIDMA=m
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_QDI=m
+CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
+CONFIG_PATA_RZ1000=m
+CONFIG_PATA_SC1200=m
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+CONFIG_PATA_WINBOND_VLB=m
+CONFIG_PATA_SCH=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+# CONFIG_MULTICORE_RAID456 is not set
+CONFIG_MD_RAID6_PQ=m
+CONFIG_ASYNC_RAID6_TEST=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# You can enable one or both FireWire driver stacks.
+#
+
+#
+# The newer stack is recommended.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_NET_SB1000=m
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL1=m
+CONFIG_EL2=m
+CONFIG_ELPLUS=m
+CONFIG_EL16=m
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_LANCE=m
+CONFIG_NET_VENDOR_SMC=y
+CONFIG_WD80x3=m
+CONFIG_ULTRA=m
+CONFIG_SMC9194=m
+CONFIG_ENC28J60=m
+# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ETHOC=m
+CONFIG_NET_VENDOR_RACAL=y
+CONFIG_NI52=m
+CONFIG_NI65=m
+CONFIG_DNET=m
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_AT1700=m
+CONFIG_DEPCA=m
+CONFIG_HP100=m
+CONFIG_NET_ISA=y
+CONFIG_E2100=m
+CONFIG_EWRK3=m
+CONFIG_EEXPRESS=m
+CONFIG_EEXPRESS_PRO=m
+CONFIG_HPLAN_PLUS=m
+CONFIG_HPLAN=m
+CONFIG_LP486E=m
+CONFIG_ETH16I=m
+CONFIG_NE2000=m
+CONFIG_ZNET=m
+CONFIG_SEEQ8005=m
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=m
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_AC3200=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_APRICOT=m
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_FORCEDETH=m
+# CONFIG_FORCEDETH_NAPI is not set
+CONFIG_CS89x0=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R6040=m
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+CONFIG_KS8842=m
+CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_SC92031=m
+CONFIG_NET_POCKET=y
+CONFIG_ATP=m
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_ATL2=m
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IP1000=m
+CONFIG_IGB=m
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_VLAN is not set
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_JME=m
+CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
+CONFIG_ENIC=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_IXGB=m
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_NETXEN_NIC=m
+CONFIG_NIU=m
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_TEHUTI=m
+CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
+# CONFIG_TR is not set
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
+CONFIG_B43=m
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_IWM=m
+# CONFIG_IWM_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL1271=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_SDIO=m
+# CONFIG_WIMAX_IWMC3200_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+# CONFIG_WAN is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
+CONFIG_PPPOL2TP=m
+CONFIG_SLIP=m
+# CONFIG_SLIP_COMPRESSED is not set
+CONFIG_SLHC=m
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIFS=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_OLPC=y
+CONFIG_MOUSE_SERIAL=y
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_INPORT=m
+# CONFIG_MOUSE_ATIXL is not set
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+# CONFIG_TOUCHSCREEN_WM9705 is not set
+# CONFIG_TOUCHSCREEN_WM9712 is not set
+# CONFIG_TOUCHSCREEN_WM9713 is not set
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+# CONFIG_TOUCHSCREEN_MC13783 is not set
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_PCAP is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_DEVKMEM=y
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_STALDRV is not set
+CONFIG_NOZOMI=m
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MAX3100=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+CONFIG_CS5535_GPIO=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_ISA=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_STUB is not set
+CONFIG_SCx200_ACB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_GPIO=m
+CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_XILINX=m
+CONFIG_SPI_XILINX_PLTFM=m
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=m
+CONFIG_SPI_TLE62X0=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO expanders:
+#
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_SCH=m
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_WM8994=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_LANGWELL=y
+CONFIG_GPIO_TIMBERDALE=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
+CONFIG_GPIO_MC33880=m
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_OLPC=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_HWMON=y
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADCXX=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_MAX1111=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_HDAPS=m
+CONFIG_SENSORS_LIS3_I2C=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=m
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_HTC_PASIC3=m
+CONFIG_UCB1400_CORE=m
+CONFIG_TPS65010=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_WM8400=m
+CONFIG_MFD_WM8994=m
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_MC13783=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_EZX_PCAP=y
+CONFIG_AB4500_CORE=m
+CONFIG_MFD_TIMBERDALE=m
+CONFIG_LPC_SCH=m
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_IR_CORE=m
+CONFIG_VIDEO_IR=m
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_M52790=m
+CONFIG_VIDEO_TLV320AIC23B=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+CONFIG_VIDEO_TCM825X=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TVP7002=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_CX25840=m
+
+#
+# MPEG video encoders
+#
+CONFIG_VIDEO_CX2341X=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_THS7303=m
+CONFIG_VIDEO_ADV7343=m
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MEYE=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+CONFIG_USB_ET61X251=m
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+CONFIG_USB_ZC0301=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+CONFIG_RADIO_RTRACK2=m
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_RADIO_MIROPCM20=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_ZOLTRIX=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+
+#
+# Supported USB Adapters
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+#
+# Supported BT878 Adapters
+#
+CONFIG_DVB_BT8XX=m
+
+#
+# Supported Pluto2 Adapters
+#
+CONFIG_DVB_PLUTO2=m
+
+#
+# Supported SDMC DM1105 Adapters
+#
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
+
+#
+# Supported Earthsoft PT1 Adapters
+#
+CONFIG_DVB_PT1=m
+
+#
+# Supported Mantis Adapters
+#
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+
+#
+# Supported nGene Adapters
+#
+CONFIG_DVB_NGENE=m
+
+#
+# Supported DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_S5H1411=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I830=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_VGA16 is not set
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I810=m
+# CONFIG_FB_I810_GTF is not set
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+# CONFIG_FB_MATROX is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+# CONFIG_FB_S3 is not set
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+# CONFIG_FB_VT8623 is not set
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_L4F00242T03=m
+CONFIG_LCD_LMS283GF05=m
+CONFIG_LCD_LTV350QV=m
+CONFIG_LCD_ILI9320=m
+CONFIG_LCD_TDO24M=m
+CONFIG_LCD_VGG2432A4=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_PROGEAR=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_MBP_NVIDIA=m
+CONFIG_BACKLIGHT_SAHARA=m
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FB_CON_DECOR=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_WSS_LIB=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB8_DSP=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ISA=y
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_ES968=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SGALAXY=m
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_FM801_TEA575X=m
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_ATIHDMI=y
+CONFIG_SND_HDA_CODEC_NVHDMI=y
+CONFIG_SND_HDA_CODEC_INTELHDMI=y
+CONFIG_SND_HDA_ELD=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_HIFIER=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
+# CONFIG_SND_SOC_ALL_CODECS is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# Special HID drivers
+#
+CONFIG_HID_3M_PCT=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LOGITECH=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MOSART=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_QUANTA=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_DYNAMIC_MINORS=y
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+CONFIG_USB_GADGET_NET2280=y
+CONFIG_USB_NET2280=m
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_WLP=m
+CONFIG_UWB_I1480U=m
+CONFIG_UWB_I1480U_WLP=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_ALIX2 is not set
+CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_TRIGGERS=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC=y
+
+#
+# Reporting subsystems
+#
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD76X=m
+CONFIG_EDAC_E7XXX=m
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82875P=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I82860=m
+CONFIG_EDAC_R82600=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_RTC_LIB=m
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+
+#
+# SPI RTC drivers
+#
+CONFIG_RTC_DRV_M41T94=m
+CONFIG_RTC_DRV_DS1305=m
+CONFIG_RTC_DRV_DS1390=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_R9701=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_PCF2123=m
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PCAP is not set
+CONFIG_RTC_DRV_MC13783=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DMA_ENGINE=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+
+#
+# TI VLYNQ
+#
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+CONFIG_ET131X=m
+# CONFIG_ET131X_DEBUG is not set
+CONFIG_SLICOSS=m
+CONFIG_VIDEO_GO7007=m
+CONFIG_VIDEO_GO7007_USB=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_VIDEO_GO7007_OV7640=m
+CONFIG_VIDEO_GO7007_SAA7113=m
+CONFIG_VIDEO_GO7007_SAA7115=m
+CONFIG_VIDEO_GO7007_TW9903=m
+CONFIG_VIDEO_GO7007_UDA1342=m
+CONFIG_VIDEO_GO7007_SONY_TUNER=m
+CONFIG_VIDEO_GO7007_TW2804=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_USB_IP_COMMON=m
+CONFIG_USB_IP_VHCI_HCD=m
+CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
+CONFIG_W35UND=m
+CONFIG_PRISM2_USB=m
+CONFIG_ECHO=m
+CONFIG_POCH=m
+CONFIG_OTUS=m
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192SU=m
+CONFIG_RTL8192U=m
+CONFIG_RTL8192E=m
+# CONFIG_TRANZPORT is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=m
+CONFIG_POHMELFS=m
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POHMELFS_CRYPTO=y
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_USB_SERIAL_QUATECH_USB2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_FB_UDL=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_HYPERV_BLOCK=m
+CONFIG_HYPERV_NET=m
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=m
+CONFIG_RAMZSWAP_STATS=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_STRIP is not set
+CONFIG_ARLAN=m
+CONFIG_WAVELAN=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_FB_SM7XX=m
+CONFIG_DT3155=m
+CONFIG_CRYSTALHD=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_TC1100_WMI=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_EFI_VARS=m
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+# CONFIG_ISCSI_IBFT_FIND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+# CONFIG_OCFS2_DEBUG_MASKLOG is not set
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=m
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+CONFIG_OMFS_FS=m
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_FSCACHE=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_SPKM3=m
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CEPH_FS=m
+# CONFIG_CEPH_FS_PRETTYDEBUG is not set
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+# CONFIG_NCPFS_EXTRAS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+# CONFIG_MINIX_SUBPARTITION is not set
+CONFIG_SOLARIS_X86_PARTITION=y
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_LKDTM=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SYSPROF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_KSYM_TRACER is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_KMEMCHECK is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_X86_PTDUMP is not set
+# CONFIG_DEBUG_RODATA is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_4KSTACKS is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_FIPS=y
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_586=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_VHOST_NET=m
+CONFIG_LGUEST=m
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_RING=y
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
diff --git a/abs/core/kernel26/config.x86_64 b/abs/core/kernel26/config.x86_64
index 6f6fc87..f400618 100644
--- a/abs/core/kernel26/config.x86_64
+++ b/abs/core/kernel26/config.x86_64
@@ -1,12 +1,13 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28
-# Thu Dec 25 19:41:06 2008
+# Linux kernel version: 2.6.34
+# Mon May 17 07:56:01 2010
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
@@ -16,16 +17,18 @@ CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
@@ -33,6 +36,8 @@ CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -40,17 +45,20 @@ CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_INTEL_TXT=y
CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_X86_SMP=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
-CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
#
# General setup
@@ -60,35 +68,76 @@ CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="-ARCH"
CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_LZO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
-# CONFIG_AUDIT is not set
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=64
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
-# CONFIG_CGROUPS is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-# CONFIG_GROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
-# CONFIG_UTS_NS is not set
-# CONFIG_IPC_NS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_PID_NS is not set
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
@@ -100,37 +149,57 @@ CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
-# CONFIG_COMPAT_BRK is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
-# CONFIG_MARKERS is not set
+CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=m
-CONFIG_OPROFILE_IBS=y
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
@@ -138,10 +207,8 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
-CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLOCK_COMPAT=y
@@ -150,16 +217,44 @@ CONFIG_BLOCK_COMPAT=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
+# CONFIG_CFQ_GROUP_IOSCHED is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_CLASSIC_RCU=y
+CONFIG_PADATA=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
CONFIG_FREEZER=y
#
@@ -170,20 +265,23 @@ CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
-CONFIG_X86_FIND_SMP_CONFIG=y
+# CONFIG_SPARSE_IRQ is not set
CONFIG_X86_MPPARSE=y
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_VSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN is not set
-# CONFIG_KVM_CLOCK is not set
-# CONFIG_KVM_GUEST is not set
+CONFIG_XEN=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=32
+CONFIG_XEN_SAVE_RESTORE=y
+# CONFIG_XEN_DEBUG_FS is not set
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
-# CONFIG_PARAVIRT_CLOCK is not set
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
@@ -209,12 +307,13 @@ CONFIG_PARAVIRT=y
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_CPU=y
-CONFIG_X86_L1_CACHE_BYTES=128
-CONFIG_X86_INTERNODE_CACHE_BYTES=128
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=7
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
@@ -223,7 +322,7 @@ CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR_64=y
+CONFIG_CPU_SUP_CENTAUR=y
# CONFIG_X86_DS is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
@@ -234,18 +333,23 @@ CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
# CONFIG_AMD_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
+CONFIG_IOMMU_API=y
+# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=16
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
-# CONFIG_PREEMPT_RCU is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=m
CONFIG_MICROCODE=m
CONFIG_MICROCODE_INTEL=y
@@ -254,10 +358,14 @@ CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_DIRECT_GBPAGES=y
# CONFIG_NUMA is not set
+CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -266,28 +374,36 @@ CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
-
-#
-# Memory hotplug is currently incompatible with Software Suspend
-#
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTREMOVE=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_RESOURCES_64BIT=y
+CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
-CONFIG_UNEVICTABLE_LRU=y
CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW_64K=y
CONFIG_MTRR=y
-# CONFIG_MTRR_SANITIZER is not set
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_EFI=y
CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
@@ -296,30 +412,41 @@ CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x200000
+CONFIG_KEXEC_JUMP=y
+CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x200000
+CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+# CONFIG_PM_TRACE_RTC is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION_NVS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
@@ -330,19 +457,17 @@ CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
-CONFIG_ACPI_WMI=m
-CONFIG_ACPI_ASUS=m
-CONFIG_ACPI_TOSHIBA=m
# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_CUSTOM_DSDT_INITRD=y
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=m
-CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_HOTPLUG_MEMORY=m
CONFIG_ACPI_SBS=m
+CONFIG_SFI=y
#
# CPU Frequency scaling
@@ -366,16 +491,15 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
#
# CPUFreq processor drivers
#
+CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_POWERNOW_K8_ACPI=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_P4_CLOCKMOD=m
#
# shared options
#
-# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
@@ -394,24 +518,29 @@ CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
-# CONFIG_DMAR is not set
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
# CONFIG_INTR_REMAP is not set
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=m
CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
-CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=m
CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_IOAPIC=y
CONFIG_ISA_DMA_API=y
CONFIG_K8_NB=y
CONFIG_PCCARD=m
-# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y
#
@@ -449,12 +578,12 @@ CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
#
# Networking options
#
CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
@@ -490,11 +619,28 @@ CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=m
+CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=m
@@ -513,6 +659,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
@@ -535,6 +682,7 @@ CONFIG_NF_CONNTRACK=m
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
@@ -555,7 +703,10 @@ CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
@@ -566,6 +717,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
@@ -576,6 +728,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
@@ -599,6 +752,7 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_IP_VS=m
# CONFIG_IP_VS_IPV6 is not set
# CONFIG_IP_VS_DEBUG is not set
@@ -612,6 +766,7 @@ CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
#
# IPVS scheduler
@@ -689,11 +844,11 @@ CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_BRIDGE_NF_EBTABLES=m
@@ -718,13 +873,31 @@ CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
-# CONFIG_IP_DCCP is not set
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
CONFIG_SCTP_HMAC_SHA1=y
# CONFIG_SCTP_HMAC_MD5 is not set
+CONFIG_RDS=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
# CONFIG_TIPC is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
@@ -735,6 +908,7 @@ CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_STP=m
CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
# CONFIG_VLAN_8021Q_GVRP is not set
@@ -743,11 +917,17 @@ CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
-# CONFIG_ATALK is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
CONFIG_NET_SCHED=y
#
@@ -766,6 +946,7 @@ CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_INGRESS=m
#
@@ -783,6 +964,7 @@ CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
# CONFIG_NET_EMATCH is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
@@ -796,11 +978,13 @@ CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
#
# Network testing
#
CONFIG_NET_PKTGEN=m
+CONFIG_NET_DROP_MONITOR=y
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
CONFIG_IRDA=m
@@ -873,9 +1057,7 @@ CONFIG_BT_HIDP=m
#
# Bluetooth device drivers
#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIBTUSB is not set
+CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
@@ -889,40 +1071,49 @@ CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
CONFIG_AF_RXRPC=m
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=m
-CONFIG_PHONET=m
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
-CONFIG_CFG80211=m
-CONFIG_NL80211=y
-CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
-
-#
-# Rate control algorithm selection
-#
-CONFIG_MAC80211_RC_PID=y
CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT="pid"
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_IEEE80211=m
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=m
-CONFIG_IEEE80211_CRYPT_CCMP=m
-CONFIG_IEEE80211_CRYPT_TKIP=m
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
-CONFIG_RFKILL_INPUT=m
CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
# CONFIG_NET_9P_DEBUG is not set
#
@@ -933,6 +1124,8 @@ CONFIG_NET_9P=m
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
@@ -940,10 +1133,11 @@ CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_SYS_HYPERVISOR=y
CONFIG_CONNECTOR=m
CONFIG_MTD=m
# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
@@ -996,6 +1190,7 @@ CONFIG_MTD_PLATRAM=m
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SST25L=m
CONFIG_MTD_SLRAM=m
CONFIG_MTD_PHRAM=m
# CONFIG_MTD_MTDRAM is not set
@@ -1011,6 +1206,11 @@ CONFIG_MTD_PHRAM=m
# CONFIG_MTD_ONENAND is not set
#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
# UBI - Unsorted block images
#
# CONFIG_MTD_UBI is not set
@@ -1042,7 +1242,10 @@ CONFIG_BLK_DEV_DAC960=m
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=m
@@ -1053,45 +1256,51 @@ CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y
+CONFIG_AD525X_DPOT=m
# CONFIG_IBM_ASM is not set
CONFIG_PHANTOM=m
-CONFIG_EEPROM_93CX6=m
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
-CONFIG_ACER_WMI=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_HP_WMI=m
CONFIG_ICS932S401=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-# CONFIG_SONYPI_COMPAT is not set
-CONFIG_THINKPAD_ACPI=m
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-CONFIG_THINKPAD_ACPI_BAY=y
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_SGI_XP=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
CONFIG_HP_ILO=m
-CONFIG_SGI_GRU=m
-# CONFIG_SGI_GRU_DEBUG is not set
+CONFIG_ISL29003=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_DS1682=m
+CONFIG_TI_DAC7512=m
+CONFIG_VMWARE_BALLOON=m
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
CONFIG_HAVE_IDE=y
CONFIG_IDE=m
#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
+CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_TIMINGS=y
CONFIG_IDE_ATAPI=y
# CONFIG_BLK_DEV_IDE_SATA is not set
@@ -1103,7 +1312,6 @@ CONFIG_BLK_DEV_DELKIN=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
CONFIG_BLK_DEV_IDETAPE=m
-CONFIG_BLK_DEV_IDESCSI=m
CONFIG_BLK_DEV_IDEACPI=y
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_PROC_FS=y
@@ -1139,6 +1347,7 @@ CONFIG_BLK_DEV_HPT366=m
CONFIG_BLK_DEV_JMICRON=m
CONFIG_BLK_DEV_SC1200=m
CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8172=m
CONFIG_BLK_DEV_IT8213=m
CONFIG_BLK_DEV_IT821X=m
CONFIG_BLK_DEV_NS87415=m
@@ -1156,6 +1365,7 @@ CONFIG_BLK_DEV_IDEDMA=y
#
# SCSI device support
#
+CONFIG_SCSI_MOD=m
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
@@ -1174,10 +1384,6 @@ CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
@@ -1200,8 +1406,13 @@ CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_BE2ISCSI=m
CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
@@ -1219,6 +1430,8 @@ CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_ARCMSR=m
@@ -1228,8 +1441,16 @@ CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_EATA=m
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
@@ -1244,7 +1465,6 @@ CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_MVSAS=m
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
@@ -1258,10 +1478,14 @@ CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC390T=m
# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_QLOGIC=m
@@ -1271,8 +1495,13 @@ CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=m
@@ -1296,6 +1525,7 @@ CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=m
CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_CMD640_PCI=m
CONFIG_PATA_CMD64X=m
@@ -1312,6 +1542,7 @@ CONFIG_PATA_HPT3X3=m
CONFIG_PATA_IT821X=m
CONFIG_PATA_IT8213=m
CONFIG_PATA_JMICRON=m
+CONFIG_PATA_LEGACY=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_MARVELL=m
CONFIG_PATA_MPIIX=m
@@ -1323,14 +1554,16 @@ CONFIG_PATA_NS87415=m
CONFIG_PATA_OPTI=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_PDC2027X=m
CONFIG_PATA_PDC_OLD=m
CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
CONFIG_PATA_RZ1000=m
CONFIG_PATA_SC1200=m
CONFIG_PATA_SERVERWORKS=m
-CONFIG_PATA_PDC2027X=m
CONFIG_PATA_SIL680=m
CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
CONFIG_PATA_SCH=m
@@ -1341,7 +1574,9 @@ CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
-CONFIG_MD_RAID5_RESHAPE=y
+# CONFIG_MULTICORE_RAID456 is not set
+CONFIG_MD_RAID6_PQ=m
+CONFIG_ASYNC_RAID6_TEST=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
@@ -1349,8 +1584,11 @@ CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_FUSION=y
@@ -1366,20 +1604,18 @@ CONFIG_FUSION_CTL=m
#
#
-# Enable only one of the two stacks, unless you know what you are doing
+# You can enable one or both FireWire driver stacks.
+#
+
#
-# CONFIG_FIREWIRE is not set
-CONFIG_IEEE1394=m
-CONFIG_IEEE1394_OHCI1394=m
-CONFIG_IEEE1394_PCILYNX=m
-CONFIG_IEEE1394_SBP2=m
-# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
-CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
-CONFIG_IEEE1394_ETH1394=m
-CONFIG_IEEE1394_RAWIO=m
-CONFIG_IEEE1394_VIDEO1394=m
-CONFIG_IEEE1394_DV1394=m
-# CONFIG_IEEE1394_VERBOSEDEBUG is not set
+# The newer stack is recommended.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
CONFIG_I2O=m
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
@@ -1397,6 +1633,7 @@ CONFIG_IFB=m
CONFIG_DUMMY=m
CONFIG_BONDING=m
CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
CONFIG_EQUALIZER=m
CONFIG_TUN=m
CONFIG_VETH=m
@@ -1407,16 +1644,20 @@ CONFIG_PHYLIB=m
#
# MII PHY device drivers
#
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_REALTEK_PHY is not set
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
@@ -1428,8 +1669,11 @@ CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_ENC28J60=m
# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ETHOC=m
+CONFIG_DNET=m
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set
@@ -1451,13 +1695,13 @@ CONFIG_NET_PCI=y
CONFIG_PCNET32=m
CONFIG_AMD8111_ETH=m
CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_KSZ884X_PCI=m
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_FORCEDETH=m
# CONFIG_FORCEDETH_NAPI is not set
-CONFIG_EEPRO100=m
CONFIG_E100=m
CONFIG_FEALNX=m
CONFIG_NATSEMI=m
@@ -1471,9 +1715,13 @@ CONFIG_8139TOO_8129=y
CONFIG_R6040=m
CONFIG_SIS900=m
CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
-# CONFIG_TLAN is not set
+CONFIG_TLAN=m
+CONFIG_KS8842=m
+CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
CONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
CONFIG_SC92031=m
@@ -1490,8 +1738,8 @@ CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IP1000=m
CONFIG_IGB=m
-# CONFIG_IGB_LRO is not set
CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
CONFIG_NS83820=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
@@ -1505,19 +1753,28 @@ CONFIG_SKY2=m
CONFIG_VIA_VELOCITY=m
CONFIG_TIGON3=m
CONFIG_BNX2=m
+CONFIG_CNIC=m
CONFIG_QLA3XXX=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
+CONFIG_ATL1C=m
CONFIG_JME=m
CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
CONFIG_ENIC=m
CONFIG_IXGBE=m
CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
CONFIG_IXGB=m
CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
CONFIG_NETXEN_NIC=m
@@ -1527,43 +1784,21 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_TEHUTI=m
CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
CONFIG_QLGE=m
CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
# CONFIG_TR is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
+CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_AIRO=m
-CONFIG_HERMES=m
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCI_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m
CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_WL3501=m
CONFIG_PRISM54=m
@@ -1571,70 +1806,126 @@ CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_RTL8180=m
CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
CONFIG_ADM8211=m
# CONFIG_MAC80211_HWSIM is not set
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
CONFIG_ATH5K=m
# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K=m
-CONFIG_IWLWIFI=m
-CONFIG_IWLCORE=m
-CONFIG_IWLWIFI_LEDS=y
-CONFIG_IWLWIFI_RFKILL=y
-# CONFIG_IWLWIFI_DEBUG is not set
-CONFIG_IWLAGN=m
-CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y
-CONFIG_IWLAGN_LEDS=y
-CONFIG_IWL4965=y
-CONFIG_IWL5000=y
-CONFIG_IWL3945=m
-CONFIG_IWL3945_RFKILL=y
-CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
-CONFIG_IWL3945_LEDS=y
-# CONFIG_IWL3945_DEBUG is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
CONFIG_B43=m
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
CONFIG_B43_LEDS=y
-CONFIG_B43_RFKILL=y
+CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_RFKILL=y
+CONFIG_B43LEGACY_HWRNG=y
# CONFIG_B43LEGACY_DEBUG is not set
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_IWM=m
+# CONFIG_IWM_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+CONFIG_P54_LEDS=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
CONFIG_RT2500PCI=m
CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_RFKILL=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL1271=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_SDIO=m
+# CONFIG_WIMAX_IWMC3200_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
#
# USB Network Adapters
@@ -1646,7 +1937,9 @@ CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
@@ -1662,6 +1955,10 @@ CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_3C589=m
CONFIG_PCMCIA_3C574=m
@@ -1698,6 +1995,10 @@ CONFIG_ATM_FORE200E_TX_RETRY=16
CONFIG_ATM_FORE200E_DEBUG=0
CONFIG_ATM_HE=m
# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_XEN_NETDEV_FRONTEND=m
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PLIP=m
@@ -1723,16 +2024,9 @@ CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
CONFIG_ISDN=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
CONFIG_ISDN_I4L=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
@@ -1806,19 +2100,10 @@ CONFIG_HISAX_ST5481=m
CONFIG_HISAX_HFCUSB=m
CONFIG_HISAX_HFC4S8S=m
CONFIG_HISAX_FRITZ_PCIPNP=m
-CONFIG_HISAX_HDLC=y
#
# Active cards
#
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIGASET_M101=m
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_UNDOCREQ=y
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_CAPI_TRACE=y
@@ -1845,6 +2130,34 @@ CONFIG_ISDN_DIVAS_PRIPCI=y
CONFIG_ISDN_DIVAS_DIVACAPI=m
CONFIG_ISDN_DIVAS_USERIDI=m
CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
# CONFIG_PHONE is not set
#
@@ -1853,6 +2166,7 @@ CONFIG_ISDN_DIVAS_MAINT=m
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
#
# Userland interfaces
@@ -1864,17 +2178,25 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set
+CONFIG_XEN_KBDDEV_FRONTEND=m
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_SUNKBD is not set
+CONFIG_QT2160=m
# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
@@ -1883,11 +2205,14 @@ CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
@@ -1917,6 +2242,7 @@ CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
@@ -1925,20 +2251,29 @@ CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_WACOM=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_FUJITSU=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
CONFIG_TOUCHSCREEN_WM97XX=m
# CONFIG_TOUCHSCREEN_WM9705 is not set
# CONFIG_TOUCHSCREEN_WM9712 is not set
# CONFIG_TOUCHSCREEN_WM9713 is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+# CONFIG_TOUCHSCREEN_MC13783 is not set
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
@@ -1950,7 +2285,14 @@ CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_APANEL=m
@@ -1962,6 +2304,10 @@ CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_PCAP is not set
#
# Hardware I/O ports
@@ -1974,6 +2320,7 @@ CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
@@ -2004,8 +2351,6 @@ CONFIG_SYNCLINKMP=m
CONFIG_N_HDLC=m
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
-# CONFIG_SX is not set
-# CONFIG_RIO is not set
# CONFIG_STALDRV is not set
CONFIG_NOZOMI=m
@@ -2018,21 +2363,29 @@ CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
+CONFIG_SERIAL_MAX3100=m
+CONFIG_SERIAL_UARTLITE=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_TIMBERDALE=m
CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_VIRTIO_CONSOLE=m
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
@@ -2040,8 +2393,11 @@ CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_NVRAM=m
CONFIG_R3964=m
CONFIG_APPLICOM=m
@@ -2057,7 +2413,8 @@ CONFIG_MWAVE=m
CONFIG_PC8736x_GPIO=m
CONFIG_NSC_GPIO=m
# CONFIG_RAW_DRIVER is not set
-# CONFIG_HPET is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=m
CONFIG_TCG_TIS=m
@@ -2068,8 +2425,10 @@ CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCA=m
@@ -2098,10 +2457,17 @@ CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
+CONFIG_I2C_GPIO=m
CONFIG_I2C_OCORES=m
CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
#
# External I2C/SMBus adapter drivers
@@ -2112,32 +2478,13 @@ CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m
#
-# Graphics adapter I2C/DDC channel drivers
-#
-CONFIG_I2C_VOODOO3=m
-
-#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_STUB is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-CONFIG_DS1682=m
-CONFIG_AT24=m
-CONFIG_SENSORS_EEPROM=m
-CONFIG_SENSORS_PCF8574=m
-CONFIG_PCF8575=m
-CONFIG_SENSORS_PCA9539=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_SENSORS_MAX6875=m
-CONFIG_SENSORS_TSL2550=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
@@ -2147,16 +2494,69 @@ CONFIG_SPI_MASTER=y
#
CONFIG_SPI_BITBANG=m
CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_GPIO=m
CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_XILINX=m
+CONFIG_SPI_XILINX_PLTFM=m
+# CONFIG_SPI_DESIGNWARE is not set
#
# SPI Protocol Masters
#
-CONFIG_SPI_AT25=m
CONFIG_SPI_SPIDEV=m
CONFIG_SPI_TLE62X0=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-# CONFIG_GPIOLIB is not set
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO expanders:
+#
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_SCH=m
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_WM8994=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_LANGWELL=y
+CONFIG_GPIO_TIMBERDALE=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
+CONFIG_GPIO_MC33880=m
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
CONFIG_W1=m
CONFIG_W1_CON=y
@@ -2166,12 +2566,14 @@ CONFIG_W1_CON=y
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_GPIO=m
#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
# CONFIG_W1_SLAVE_DS2433_CRC is not set
CONFIG_W1_SLAVE_DS2760=m
@@ -2180,9 +2582,17 @@ CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=m
CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_CHARGER_PCF50633=m
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_AD7414=m
@@ -2194,10 +2604,13 @@ CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7473=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS1621=m
@@ -2205,9 +2618,8 @@ CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHER=m
-CONFIG_SENSORS_FSCPOS=m
CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_CORETEMP=m
@@ -2216,6 +2628,7 @@ CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
@@ -2226,18 +2639,27 @@ CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_MAX1111=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
@@ -2250,9 +2672,15 @@ CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_HDAPS=m
-CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_SENSORS_LIS3_I2C=m
CONFIG_SENSORS_APPLESMC=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
CONFIG_WATCHDOG=y
@@ -2266,7 +2694,9 @@ CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m
CONFIG_IBMASR=m
@@ -2282,6 +2712,7 @@ CONFIG_PC87413_WDT=m
CONFIG_60XX_WDT=m
CONFIG_SBC8360_WDT=m
CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
CONFIG_SMSC37B787_WDT=m
CONFIG_W83627HF_WDT=m
CONFIG_W83697HF_WDT=m
@@ -2296,7 +2727,6 @@ CONFIG_SBC_EPX_C3_WATCHDOG=m
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m
-CONFIG_WDT_501_PCI=y
#
# USB-based Watchdog Cards
@@ -2315,6 +2745,8 @@ CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -2322,18 +2754,25 @@ CONFIG_SSB_DRIVER_PCICORE=y
#
# Multifunction device drivers
#
-# CONFIG_MFD_CORE is not set
+CONFIG_MFD_CORE=m
CONFIG_MFD_SM501=m
-# CONFIG_HTC_PASIC3 is not set
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_HTC_PASIC3=m
+CONFIG_UCB1400_CORE=m
+CONFIG_TPS65010=m
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_WM8400=m
-CONFIG_MFD_WM8350=m
-CONFIG_MFD_WM8350_I2C=m
+CONFIG_MFD_WM8994=m
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_MC13783=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_EZX_PCAP=y
+CONFIG_AB4500_CORE=m
+CONFIG_MFD_TIMBERDALE=m
+CONFIG_LPC_SCH=m
# CONFIG_REGULATOR is not set
-
-#
-# Multimedia devices
-#
+CONFIG_MEDIA_SUPPORT=m
#
# Multimedia core support
@@ -2350,9 +2789,11 @@ CONFIG_VIDEO_MEDIA=m
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_IR_CORE=m
+CONFIG_VIDEO_IR=m
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
@@ -2369,15 +2810,15 @@ CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_IR=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
@@ -2409,21 +2850,28 @@ CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m
#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
# Video decoders
#
+CONFIG_VIDEO_ADV7180=m
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
CONFIG_VIDEO_KS0127=m
CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
CONFIG_VIDEO_TCM825X=m
CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA7111=m
-CONFIG_VIDEO_SAA7114=m
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TVP7002=m
CONFIG_VIDEO_VPX3220=m
#
@@ -2443,6 +2891,8 @@ CONFIG_VIDEO_SAA7127=m
CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_THS7303=m
+CONFIG_VIDEO_ADV7343=m
#
# Video improvement chips
@@ -2452,7 +2902,6 @@ CONFIG_VIDEO_UPD64083=m
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_BWQCAM=m
CONFIG_VIDEO_CQCAM=m
CONFIG_VIDEO_W9966=m
@@ -2482,31 +2931,51 @@ CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_ALSA=m
CONFIG_VIDEO_CX88_BLACKBIRD=m
CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_CX23885=m
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_SOC_CAMERA=m
CONFIG_SOC_CAMERA_MT9M001=m
CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
@@ -2515,7 +2984,10 @@ CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TV8532=m
@@ -2525,9 +2997,14 @@ CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_USBVIDEO=m
CONFIG_USB_VICAM=m
@@ -2544,6 +3021,7 @@ CONFIG_USB_STV680=m
CONFIG_USB_ZC0301=m
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
@@ -2551,9 +3029,19 @@ CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_GEMTEK_PCI=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_MAESTRO=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
CONFIG_USB_DSBR=m
+CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
CONFIG_USB_MR800=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
CONFIG_DVB_CAPTURE_DRIVERS=y
#
@@ -2598,10 +3086,19 @@ CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_SIANO_SMS1XXX=m
-CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
#
# Supported FlexCopII (B2C2) Adapters
@@ -2625,43 +3122,63 @@ CONFIG_DVB_PLUTO2=m
# Supported SDMC DM1105 Adapters
#
CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
#
-# Supported DVB Frontends
+# Supported Earthsoft PT1 Adapters
#
+CONFIG_DVB_PT1=m
#
-# Customise DVB Frontends
+# Supported Mantis Adapters
#
-# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+
+#
+# Supported nGene Adapters
+#
+CONFIG_DVB_NGENE=m
#
-# DVB-S (satellite) frontends
+# Supported DVB Frontends
#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_SI21XX=m
-
-#
-# DVB-T (terrestrial) frontends
-#
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
-# CONFIG_DVB_DRX397XD is not set
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
@@ -2672,46 +3189,29 @@ CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m
-
-#
-# DVB-C (cable) frontends
-#
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
+CONFIG_DVB_DIB8000=m
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m
-
-#
-# SEC control devices for DVB-S
-#
CONFIG_DVB_LNBP21=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
-CONFIG_DVB_LGS8GL5=m
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-CONFIG_DVB_AF9013=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
CONFIG_DAB=y
CONFIG_USB_DABUSB=m
@@ -2723,13 +3223,20 @@ CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=m
CONFIG_AGP_SIS=m
CONFIG_AGP_VIA=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
@@ -2749,11 +3256,12 @@ CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
-CONFIG_FB_SVGALIB=m
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
+# CONFIG_FB_TILEBLITTING is not set
#
# Frame buffer hardware drivers
@@ -2782,9 +3290,6 @@ CONFIG_FB_RIVA_I2C=y
CONFIG_FB_RIVA_BACKLIGHT=y
CONFIG_FB_LE80578=m
CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_INTEL=m
-# CONFIG_FB_INTEL_DEBUG is not set
-CONFIG_FB_INTEL_I2C=y
# CONFIG_FB_MATROX is not set
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
@@ -2797,7 +3302,7 @@ CONFIG_FB_ATY_CT=y
CONFIG_FB_ATY_GENERIC_LCD=y
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
-CONFIG_FB_S3=m
+# CONFIG_FB_S3 is not set
CONFIG_FB_SAVAGE=m
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
@@ -2809,27 +3314,32 @@ CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
CONFIG_FB_VOODOO1=m
-CONFIG_FB_VT8623=m
+# CONFIG_FB_VT8623 is not set
CONFIG_FB_TRIDENT=m
-CONFIG_FB_TRIDENT_ACCEL=y
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
# CONFIG_FB_SM501 is not set
# CONFIG_FB_VIRTUAL is not set
+CONFIG_XEN_FBDEV_FRONTEND=m
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_L4F00242T03=m
+CONFIG_LCD_LMS283GF05=m
CONFIG_LCD_LTV350QV=m
CONFIG_LCD_ILI9320=m
CONFIG_LCD_TDO24M=m
CONFIG_LCD_VGG2432A4=m
CONFIG_LCD_PLATFORM=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_CORGI=m
+CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_PROGEAR=m
CONFIG_BACKLIGHT_CARILLO_RANCH=m
CONFIG_BACKLIGHT_MBP_NVIDIA=m
@@ -2853,6 +3363,7 @@ CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FB_CON_DECOR=y
CONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
CONFIG_FONT_8x16=y
@@ -2864,36 +3375,43 @@ CONFIG_FONT_8x16=y
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-CONFIG_LOGO_LINUX_MONO=y
-CONFIG_LOGO_LINUX_VGA16=y
-CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_LOGO is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+CONFIG_SND_EMU10K1_SEQ=m
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
-CONFIG_SND_PCSP=m
+# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
@@ -2927,6 +3445,8 @@ CONFIG_SND_CS4281=m
CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_GINA20=m
CONFIG_SND_LAYLA20=m
@@ -2939,6 +3459,8 @@ CONFIG_SND_ECHO3G=m
CONFIG_SND_INDIGO=m
CONFIG_SND_INDIGOIO=m
CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
CONFIG_SND_EMU10K1=m
CONFIG_SND_EMU10K1X=m
CONFIG_SND_ENS1370=m
@@ -2950,14 +3472,22 @@ CONFIG_SND_FM801_TEA575X_BOOL=y
CONFIG_SND_FM801_TEA575X=m
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_ATIHDMI=y
CONFIG_SND_HDA_CODEC_NVHDMI=y
+CONFIG_SND_HDA_CODEC_INTELHDMI=y
+CONFIG_SND_HDA_ELD=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
@@ -2971,6 +3501,7 @@ CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
+CONFIG_SND_LX6464ES=m
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MIXART=m
CONFIG_SND_NM256=m
@@ -2989,6 +3520,7 @@ CONFIG_SND_YMFPCI=m
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
@@ -2997,12 +3529,12 @@ CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
# CONFIG_SND_SOC_ALL_CODECS is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
-# CONFIG_HID_DEBUG is not set
CONFIG_HIDRAW=y
#
@@ -3013,38 +3545,50 @@ CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
#
-# USB HID Boot Protocol drivers
-#
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-
-#
# Special HID drivers
#
-# CONFIG_HID_COMPAT is not set
+CONFIG_HID_3M_PCT=m
CONFIG_HID_A4TECH=m
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
-CONFIG_HID_BRIGHT=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CYPRESS=m
-CONFIG_HID_DELL=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
CONFIG_HID_LOGITECH=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MOSART=m
CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=m
+CONFIG_HID_QUANTA=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
CONFIG_HID_SUNPLUS=m
-CONFIG_THRUSTMASTER_FF=m
-CONFIG_ZEROPLUS_FF=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
@@ -3057,11 +3601,11 @@ CONFIG_USB=m
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DEVICE_CLASS is not set
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
-CONFIG_USB_MON=y
+CONFIG_USB_MON=m
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
@@ -3070,11 +3614,15 @@ CONFIG_USB_WUSB_CBAF=m
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_OXU210HP_HCD=m
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
@@ -3098,26 +3646,25 @@ CONFIG_USB_WDM=m
CONFIG_USB_TMC=m
#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
-# see USB_STORAGE Help for more information
+# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-CONFIG_USB_STORAGE_ISD200=y
-CONFIG_USB_STORAGE_DPCM=y
-CONFIG_USB_STORAGE_USBAT=y
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-CONFIG_USB_STORAGE_ALAUDA=y
-CONFIG_USB_STORAGE_ONETOUCH=y
-CONFIG_USB_STORAGE_KARMA=y
-CONFIG_USB_STORAGE_CYPRESS_ATACB=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
# CONFIG_USB_LIBUSUAL is not set
#
@@ -3139,7 +3686,7 @@ CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
@@ -3175,16 +3722,22 @@ CONFIG_USB_SERIAL_MOTOROLA=m
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
# CONFIG_USB_SERIAL_DEBUG is not set
#
@@ -3197,14 +3750,9 @@ CONFIG_USB_SEVSEG=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
-CONFIG_USB_BERRY_CHARGE=m
CONFIG_USB_LED=m
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_CYTHERM=m
-CONFIG_USB_PHIDGET=m
-CONFIG_USB_PHIDGETKIT=m
-CONFIG_USB_PHIDGETMOTORCONTROL=m
-CONFIG_USB_PHIDGETSERVO=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
@@ -3215,7 +3763,6 @@ CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
CONFIG_USB_TEST=m
CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_VST=m
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
@@ -3233,26 +3780,43 @@ CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
# CONFIG_USB_GADGET_S3C2410 is not set
# CONFIG_USB_GADGET_M66592 is not set
# CONFIG_USB_GADGET_AMD5536UDC is not set
# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
CONFIG_USB_GADGET_NET2280=y
CONFIG_USB_NET2280=m
# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
CONFIG_USB_GADGETFS=m
CONFIG_USB_FILE_STORAGE=m
# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
CONFIG_USB_G_SERIAL=m
CONFIG_USB_MIDI_GADGET=m
CONFIG_USB_G_PRINTER=m
# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_NOP_USB_XCEIV=m
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
@@ -3276,11 +3840,14 @@ CONFIG_SDIO_UART=m
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SPI=m
CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -3301,20 +3868,33 @@ CONFIG_LEDS_CLASS=m
#
# LED drivers
#
+# CONFIG_LEDS_ALIX2 is not set
CONFIG_LEDS_PCA9532=m
-CONFIG_LEDS_HP_DISK=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_TRIGGERS=y
#
# LED Triggers
#
-CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_IDE_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
# CONFIG_INFINIBAND is not set
@@ -3324,11 +3904,16 @@ CONFIG_EDAC=y
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD64=m
+# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
CONFIG_EDAC_I5000=m
CONFIG_EDAC_I5100=m
CONFIG_RTC_LIB=m
@@ -3357,9 +3942,11 @@ CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_S35390A=m
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
#
# SPI RTC drivers
@@ -3371,6 +3958,7 @@ CONFIG_RTC_DRV_MAX6902=m
CONFIG_RTC_DRV_R9701=m
CONFIG_RTC_DRV_RS5C348=m
CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_PCF2123=m
#
# Platform RTC drivers
@@ -3384,18 +3972,24 @@ CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_WM8350=m
+CONFIG_RTC_DRV_PCF50633=m
#
# on-CPU RTC drivers
#
+# CONFIG_RTC_DRV_PCAP is not set
+CONFIG_RTC_DRV_MC13783=m
CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
#
# DMA Devices
#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
CONFIG_INTEL_IOATDMA=m
CONFIG_DMA_ENGINE=y
@@ -3403,6 +3997,7 @@ CONFIG_DMA_ENGINE=y
# DMA Clients
#
CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
@@ -3415,25 +4010,144 @@ CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV=m
CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_SMX=m
+CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+
+#
+# TI VLYNQ
+#
+
+#
+# Xen driver support
+#
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_STAGING=y
# CONFIG_STAGING_EXCLUDE_BUILD is not set
CONFIG_ET131X=m
# CONFIG_ET131X_DEBUG is not set
CONFIG_SLICOSS=m
-CONFIG_SXG=m
-CONFIG_ME4000=m
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_VIDEO_GO7007_OV7640=m
+CONFIG_VIDEO_GO7007_SAA7113=m
+CONFIG_VIDEO_GO7007_SAA7115=m
+CONFIG_VIDEO_GO7007_TW9903=m
+CONFIG_VIDEO_GO7007_UDA1342=m
+CONFIG_VIDEO_GO7007_SONY_TUNER=m
+CONFIG_VIDEO_GO7007_TW2804=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
CONFIG_USB_IP_COMMON=m
CONFIG_USB_IP_VHCI_HCD=m
CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
CONFIG_W35UND=m
CONFIG_PRISM2_USB=m
CONFIG_ECHO=m
-CONFIG_USB_ATMEL=m
CONFIG_POCH=m
+CONFIG_OTUS=m
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192SU=m
+CONFIG_RTL8192U=m
+CONFIG_RTL8192E=m
+# CONFIG_TRANZPORT is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=m
+CONFIG_POHMELFS=m
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POHMELFS_CRYPTO=y
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_USB_SERIAL_QUATECH_USB2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_FB_UDL=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_HYPERV_BLOCK=m
+CONFIG_HYPERV_NET=m
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=m
+CONFIG_RAMZSWAP_STATS=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_STRIP is not set
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_FB_SM7XX=m
+CONFIG_DT3155=m
+CONFIG_CRYSTALHD=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
#
# Firmware Drivers
@@ -3456,14 +4170,15 @@ CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
-CONFIG_EXT4DEV_COMPAT=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
@@ -3471,7 +4186,7 @@ CONFIG_JBD2=m
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
@@ -3479,38 +4194,57 @@ CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
+CONFIG_JFS_STATISTICS=y
CONFIG_FS_POSIX_ACL=y
-CONFIG_FILE_LOCKING=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_DLM=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
# CONFIG_OCFS2_DEBUG_FS is not set
-# CONFIG_OCFS2_COMPAT_JBD is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=m
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
+CONFIG_QUOTACTL_COMPAT=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
@@ -3544,20 +4278,10 @@ CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
-
-#
-# Layered filesystems
-#
-CONFIG_ECRYPT_FS=m
-CONFIG_UNION_FS=m
-CONFIG_UNION_FS_XATTR=y
-# CONFIG_UNION_FS_DEBUG is not set
-
-#
-# Miscellaneous filesystems
-#
+CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_BEFS_FS=m
@@ -3575,6 +4299,7 @@ CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
+CONFIG_LOGFS=m
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_EMBEDDED is not set
@@ -3589,11 +4314,15 @@ CONFIG_OMFS_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_FSCACHE=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
@@ -3606,11 +4335,12 @@ CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
-# CONFIG_SUNRPC_REGISTER_V4 is not set
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_SPKM3=m
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CEPH_FS=m
+# CONFIG_CEPH_FS_PRETTYDEBUG is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
# CONFIG_CIFS_STATS2 is not set
@@ -3619,6 +4349,7 @@ CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
CONFIG_NCP_FS=m
# CONFIG_NCPFS_PACKET_SIGNING is not set
@@ -3632,7 +4363,9 @@ CONFIG_NCPFS_NLS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
#
# Partition Types
@@ -3648,7 +4381,8 @@ CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
@@ -3694,7 +4428,7 @@ CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=y
+CONFIG_NLS_UTF8=m
CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set
@@ -3707,6 +4441,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
@@ -3715,7 +4450,10 @@ CONFIG_DEBUG_KERNEL=y
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-# CONFIG_SCHED_DEBUG is not set
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
@@ -3731,6 +4469,7 @@ CONFIG_DEBUG_MUTEXES=y
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
@@ -3740,49 +4479,79 @@ CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
-# CONFIG_FRAME_POINTER is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_LKDTM=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-
-#
-# Tracers
-#
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SYSPROF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
-# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_KSYM_TRACER is not set
# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
-# CONFIG_STRICT_DEVMEM is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_KMEMCHECK is not set
+CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_DEBUG_RODATA is not set
-# CONFIG_DIRECT_GBPAGES is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_IOMMU_DEBUG is not set
-# CONFIG_MMIOTRACE is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
@@ -3795,6 +4564,7 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
#
# Security options
@@ -3805,13 +4575,25 @@ CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
-CONFIG_SECURITY_FILE_CAPABILITIES=y
-CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
CONFIG_CRYPTO=y
#
@@ -3828,10 +4610,13 @@ CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
@@ -3853,18 +4638,21 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_FPU=m
#
# Hash modes
#
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_MICHAEL_MIC=m
@@ -3877,12 +4665,14 @@ CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
#
# Ciphers
#
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_X86_64=m
+CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
@@ -3905,6 +4695,7 @@ CONFIG_CRYPTO_TWOFISH_X86_64=m
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m
#
@@ -3912,15 +4703,26 @@ CONFIG_CRYPTO_LZO=m
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTIO_BALLOON is not set
+CONFIG_VHOST_NET=m
+CONFIG_VIRTIO=m
+CONFIG_VIRTIO_RING=m
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
#
# Library routines
@@ -3928,6 +4730,7 @@ CONFIG_KVM_AMD=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
@@ -3935,16 +4738,22 @@ CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
-CONFIG_LZO_DECOMPRESS=m
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
-CONFIG_PLIST=y
+CONFIG_BTREE=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
diff --git a/abs/core/kernel26/fbcondecor-2.6.34-fix.patch b/abs/core/kernel26/fbcondecor-2.6.34-fix.patch
new file mode 100644
index 0000000..16e54f9
--- /dev/null
+++ b/abs/core/kernel26/fbcondecor-2.6.34-fix.patch
@@ -0,0 +1,19 @@
+--- fbcondecor-0.9.6-2.6.33-rc7.patch 2010-07-05 19:01:13.000000000 +0200
++++ fbcondecor-0.9.6-2.6.33-rc7.patch 2010-07-05 19:06:43.000000000 +0200
+@@ -348,7 +348,7 @@
+ index 0000000..7654ec6
+ --- /dev/null
+ +++ b/drivers/video/console/cfbcondecor.c
+-@@ -0,0 +1,471 @@
++@@ -0,0 +1,472 @@
+ +/*
+ + * linux/drivers/video/cfbcon_decor.c -- Framebuffer decor render functions
+ + *
+@@ -369,6 +369,7 @@
+ +#include <linux/types.h>
+ +#include <linux/fb.h>
+ +#include <linux/selection.h>
+++#include <linux/slab.h>
+ +#include <linux/vt_kern.h>
+ +#include <asm/irq.h>
+ +#include <asm/system.h>
diff --git a/abs/core/kernel26/kernel26.install b/abs/core/kernel26/kernel26.install
index f0bd904..2055db9 100644
--- a/abs/core/kernel26/kernel26.install
+++ b/abs/core/kernel26/kernel26.install
@@ -1,7 +1,8 @@
# arg 1: the new package version
# arg 2: the old package version
-KERNEL_VERSION=2.6.28-LinHES
+KERNEL_NAME=
+KERNEL_VERSION=2.6.34-LinHES
post_install () {
# updating module dependencies
@@ -16,18 +17,20 @@ post_install () {
echo ">>> http://wiki.archlinux.org/index.php/Mkinitcpio"
echo ""
echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
- /sbin/mkinitcpio -p kernel26
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME}
}
post_upgrade() {
pacman -Q grub &>/dev/null
hasgrub=$?
+ pacman -Q grub2 &>/dev/null
+ hasgrub2=$?
pacman -Q lilo &>/dev/null
haslilo=$?
# reminder notices
if [ $haslilo -eq 0 ]; then
echo ">>>"
- if [ $hasgrub -eq 0 ]; then
+ if [ $hasgrub -eq 0 -o $hasgrub2 -eq 0 ]; then
echo ">>> If you use the LILO bootloader, you should run 'lilo' before rebooting."
else
echo ">>> You appear to be using the LILO bootloader. You should run"
@@ -36,7 +39,7 @@ post_upgrade() {
echo ">>>"
fi
- if grep "/boot" /etc/fstab 2>&1 >/dev/null; then
+ if grep "^[^#]*/boot" /etc/fstab 2>&1 >/dev/null; then
if ! grep "/boot" /etc/mtab 2>&1 >/dev/null; then
echo "WARNING: /boot appears to be a seperate partition but is not mounted"
echo " This is most likely not what you want. Please mount your /boot"
@@ -88,8 +91,8 @@ post_upgrade() {
echo ">>> Please change your bootloader config files:"
echo ">>> Grub: /boot/grub/menu.lst | Lilo: /etc/lilo.conf"
echo "------------------------------------------------"
- echo "| - initrd26.img to kernel26.img |"
- echo "| - initrd26-full.img to kernel26-fallback.img |"
+ echo "| - initrd26.img to kernel26${KERNEL_NAME}.img |"
+ echo "| - initrd26-full.img to kernel26${KERNEL_NAME}-fallback.img |"
echo "------------------------------------------------"
fi
if [ "`vercmp $2 2.6.19`" -lt 0 ]; then
@@ -121,11 +124,11 @@ post_upgrade() {
echo ""
echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
if [ "`vercmp $2 2.6.19`" -lt 0 ]; then
- /sbin/mkinitcpio -p kernel26 -m "ATTENTION:\nIf you get a kernel panic below
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME} -m "ATTENTION:\nIf you get a kernel panic below
and are using an Intel chipset, append 'earlymodules=piix' to the
kernel commandline"
else
- /sbin/mkinitcpio -p kernel26
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME}
fi
if [ "`vercmp $2 2.6.21`" -lt 0 ]; then
echo ""
@@ -138,7 +141,7 @@ if [ "`vercmp $2 2.6.21`" -lt 0 ]; then
fi
}
-op=$1
-shift
-
-$op $*
+post_remove() {
+ rm -f /boot/kernel26${KERNEL_NAME}.img
+ rm -f /boot/kernel26${KERNEL_NAME}-fallback.img
+} \ No newline at end of file
diff --git a/abs/core/kernel26/kernel26.preset b/abs/core/kernel26/kernel26.preset
index 269b23a..742a442 100644
--- a/abs/core/kernel26/kernel26.preset
+++ b/abs/core/kernel26/kernel26.preset
@@ -14,4 +14,4 @@ default_image="/boot/kernel26.img"
#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/kernel26-fallback.img"
-fallback_options="-S autodetect"
+fallback_options="-S autodetect" \ No newline at end of file
diff --git a/abs/core/klibc-extras/PKGBUILD b/abs/core/klibc-extras/PKGBUILD
deleted file mode 100644
index 286616c..0000000
--- a/abs/core/klibc-extras/PKGBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# $Id: PKGBUILD 23611 2009-01-11 14:09:50Z thomas $
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
-
-pkgname=klibc-extras
-pkgver=2.5
-pkgrel=30
-pkgdesc="Extra apps for klibc early-userspace"
-arch=(i686 x86_64)
-url="http://projects.archlinux.org/?p=klibc-extras.git"
-license=('GPL')
-groups=('base')
-depends=('klibc' $(basename /lib/klibc-*.so .so))
-source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('edd16b1a558164db0107c7319a21f0d4')
-
-build()
-{
- cd $startdir/src/${pkgname}-${pkgver}
-
- make || return 1
- make DESTDIR=$startdir/pkg install || return 1
- rm -f ${pkgdir}/usr/lib/klibc/bin/mknod
-}
diff --git a/abs/core/klibc-kbd/PKGBUILD b/abs/core/klibc-kbd/PKGBUILD
deleted file mode 100644
index 9b232ce..0000000
--- a/abs/core/klibc-kbd/PKGBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# $Id: PKGBUILD 23614 2009-01-11 14:10:20Z thomas $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-
-pkgname=klibc-kbd
-pkgver=1.15.20080312
-pkgrel=30
-pkgdesc="Keytable files and keyboard utilities"
-arch=('i686' 'x86_64')
-url="ftp://ftp.altlinux.org/pub/people/legion/kbd/"
-license=('GPL')
-groups=('base')
-depends=('klibc' $(basename /lib/klibc-*.so .so) 'kbd')
-source=(ftp://ftp.archlinux.org/other/kbd/kbd-$pkgver.tar.gz
- #ftp://ftp.altlinux.org/pub/people/legion/kbd/kbd-${pkgver}.tar.gz
- no-isatty.patch
- no-exit.patch
- no-fflush.patch
- keymap_install
- keymap_hook)
-md5sums=('709b087bb9d6c073bade70eda2da7770'
- '53e9612ac5fc1b23601f793410742ed3'
- '8c1bec330e8c98355502ac861561667d'
- '8310d1a6cc72b5827898d0e9e29824ab'
- '735d7268f567deee4db3bed951a8303a'
- '85457e44dfd7046224e87f0add8da4b2')
-
-build() {
- cd ${startdir}/src
- #cd ${startdir}/src/kbd-${pkgver}
- patch -Np1 -i no-isatty.patch || return 1
- patch -Np1 -i no-exit.patch || return 1
- patch -Np1 -i no-fflush.patch || return 1
-
- aclocal
- autoconf
- automake --add-missing
- ./configure --datadir=/share/kbd --enable-klibc
-
- cd src/
- make kbd_mode loadkeys setfont || return 1
-
- install -D loadkeys ${startdir}/pkg/lib/initcpio/kbd/loadkeys
- install -D kbd_mode ${startdir}/pkg/lib/initcpio/kbd/kbd_mode
- install -D setfont ${startdir}/pkg/lib/initcpio/kbd/setfont
- # install hook
- install -Dm644 ${startdir}/src/keymap_hook ${startdir}/pkg/lib/initcpio/hooks/keymap
- install -Dm644 ${startdir}/src/keymap_install ${startdir}/pkg/lib/initcpio/install/keymap
-}
diff --git a/abs/core/klibc-kbd/keymap_hook b/abs/core/klibc-kbd/keymap_hook
deleted file mode 100644
index 913b247..0000000
--- a/abs/core/klibc-kbd/keymap_hook
+++ /dev/null
@@ -1,27 +0,0 @@
-# vim: set ft=sh:
-run_hook ()
-{
- msg -n ":: Loading keymap..."
- . /keymap
- if [ "${UTF8}" = "yes" ]; then
- /bin/kbd_mode -u
- printf "\033%%G" >> /dev/console
- [ -n "${KEYMAP}" ] && /bin/loadkeys -q -u ${KEYMAP}
- else
- /bin/kbd_mode -a
- printf "\033%%@" >> /dev/console
- [ -n "${KEYMAP}" ] && /bin/loadkeys -q ${KEYMAP}
- fi
- if [ -n "${CONSOLEFONT}" ]; then
- if [ "${UTF8}" = "yes" ]; then
- CONSOLEMAP=""
- fi
- if [ -n "${CONSOLEMAP}" ]; then
- /bin/setfont -m ${CONSOLEMAP} ${CONSOLEFONT} -C /dev/console
- else
- /bin/setfont ${CONSOLEFONT} -C /dev/console
- fi
- printf "\033(K" >> /dev/console
- fi
- msg "done."
-}
diff --git a/abs/core/klibc-kbd/keymap_install b/abs/core/klibc-kbd/keymap_install
deleted file mode 100644
index e61577e..0000000
--- a/abs/core/klibc-kbd/keymap_install
+++ /dev/null
@@ -1,76 +0,0 @@
-# vim: set ft=sh:
-
-# this is needed because kbd utilities compiled with klibc cannot use gunzip
-add_ucfile ()
-{
- temp=$(mktemp ${TMPDIR}/kbd.XXXX)
- dest=$(echo "${1}" | sed 's|/usr||' | sed 's|.gz||')
- name=$(echo "${1}" | sed 's|.*/||')
-
- if [ $(echo "${1}" | grep '.gz$') ]; then
- gunzip -c ${1} > ${temp}
- add_file ${temp} ${dest}
- else
- add_file ${1} ${dest}
- fi
-}
-
-add_includes()
-{
- for i in $(zgrep -e '^include ".*"' ${1} | cut -d '"' -f 2); do
- for j in $(find /usr/share/kbd/keymaps -name "${i}" -o -name "${i}.*"); do
- add_ucfile ${j}
- add_includes ${j}
- done
- done
-}
-
-install ()
-{
- MODULES=""
- BINARIES=""
- FILES=""
- SCRIPT="keymap"
- KEYMAP_FILE="$(mktemp ${TMPDIR}/keymap.XXXXXX)"
- add_file /lib/initcpio/kbd/loadkeys /bin/loadkeys
- add_file /lib/initcpio/kbd/kbd_mode /bin/kbd_mode
- add_file /lib/initcpio/kbd/setfont /bin/setfont
- eval "$(grep -e "^LOCALE=" -e "^KEYMAP=" -e "^CONSOLEFONT=" -e "^CONSOLEMAP=" /etc/rc.conf)"
- echo "KEYMAP='${KEYMAP}'" >> ${KEYMAP_FILE}
- echo "CONSOLEFONT='${CONSOLEFONT}'" >> ${KEYMAP_FILE}
- echo "CONSOLEMAP='${CONSOLEMAP}'" >> ${KEYMAP_FILE}
- if [ -n "$(echo ${LOCALE} | grep -i utf)" ]; then
- echo "UTF8='yes'" >> ${KEYMAP_FILE}
- fi
- . ${KEYMAP_FILE}
- add_file ${KEYMAP_FILE} /keymap
- if [ -n "${KEYMAP}" ]; then
- for i in $(echo ${KEYMAP}); do
- for j in $(find /usr/share/kbd/keymaps -name "${i}.map.gz"); do
- add_ucfile ${j}
- add_includes ${j}
- done
- done
- fi
- if [ -n "${CONSOLEFONT}" ]; then
- for i in $(find /usr/share/kbd/consolefonts -name "${CONSOLEFONT}.*gz"); do
- add_ucfile ${i}
- done
- fi
- if [ -n "${CONSOLEMAP}" ]; then
- for i in $(find /usr/share/kbd/unimaps -name "${CONSOLEMAP}.uni"); do
- add_ucfile ${i}
- done
- for i in $(find /usr/share/kbd/consoletrans -name "${CONSOLEMAP}.trans" -o -name "${CONSOLEMAP}"); do
- add_ucfile ${i}
- done
- fi
-}
-
-help ()
-{
-cat<<HELPEOF
- This hook loads keymap(s) and consolefont specified in rc.conf
- during early userspace.
-HELPEOF
-}
diff --git a/abs/core/klibc-kbd/no-exit.patch b/abs/core/klibc-kbd/no-exit.patch
deleted file mode 100644
index 2f207dc..0000000
--- a/abs/core/klibc-kbd/no-exit.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 96dc0b9e56da64d2c063d1e74c81034b6b404bc2 Mon Sep 17 00:00:00 2001
-From: Roman Kyrylych <roman@archlinux.org>
-Date: Sat, 15 Mar 2008 21:46:35 +0200
-Subject: [PATCH] Do not exit on ferror during psf font loading when built with klibc
-
-Signed-off-by: Roman Kyrylych <roman@archlinux.org>
----
- src/psffontop.c | 4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/src/psffontop.c b/src/psffontop.c
-index 1b99e9b..75a6048 100644
---- a/src/psffontop.c
-+++ b/src/psffontop.c
-@@ -203,9 +203,13 @@ readpsffont(FILE *fontf, char **allbufp, int *allszp,
- }
- n += fread(inputbuf+n, 1, inputbuflth-n, fontf);
- if (ferror(fontf)) {
-+ #ifndef __klibc__
- char *u = _("%s: Error reading input font");
- fprintf(stderr, u, progname);
- exit(EX_DATAERR);
-+ #else
-+ break;
-+ #endif
- }
- if (feof(fontf))
- break;
---
-1.5.3.7
-
diff --git a/abs/core/klibc-kbd/no-fflush.patch b/abs/core/klibc-kbd/no-fflush.patch
deleted file mode 100644
index 1a2bd78..0000000
--- a/abs/core/klibc-kbd/no-fflush.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Nur src.orig/src/klibc_compat.c src/src/klibc_compat.c
---- src.orig/src/klibc_compat.c 2008-03-12 01:56:14.000000000 +0100
-+++ src/src/klibc_compat.c 2008-09-15 18:59:31.000000000 +0200
-@@ -18,10 +18,6 @@
- return (errno != 0 && errno != EOF);
- }
-
--int fflush(FILE *stream) {
-- return 0;
--}
--
- int ungetc(int c, FILE *stream) {
- if (fseek(stream, -1, SEEK_CUR) < 0)
- return EOF;
diff --git a/abs/core/klibc-kbd/no-isatty.patch b/abs/core/klibc-kbd/no-isatty.patch
deleted file mode 100644
index ce02a7a..0000000
--- a/abs/core/klibc-kbd/no-isatty.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 92dc27dd57c83e9e2c798bda41ec111d26e1e3e2 Mon Sep 17 00:00:00 2001
-From: Roman Kyrylych <roman@archlinux.org>
-Date: Sat, 15 Mar 2008 18:57:04 +0200
-Subject: [PATCH] Do not use isatty() when built with klibc
-
-Signed-off-by: Roman Kyrylych <roman@archlinux.org>
----
- src/getfd.c | 6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git a/src/getfd.c b/src/getfd.c
-index 7f6d70e..3cef522 100644
---- a/src/getfd.c
-+++ b/src/getfd.c
-@@ -16,6 +16,7 @@
- * if someone else used X (which does a chown on /dev/console).
- */
-
-+#ifndef __klibc__
- static int
- is_a_console(int fd) {
- char arg;
-@@ -25,6 +26,7 @@ is_a_console(int fd) {
- && ioctl(fd, KDGKBTYPE, &arg) == 0
- && ((arg == KB_101) || (arg == KB_84)));
- }
-+#endif
-
- static int
- open_a_console(const char *fnam) {
-@@ -41,10 +43,12 @@ open_a_console(const char *fnam) {
- fd = open(fnam, O_RDONLY);
- if (fd < 0)
- return -1;
-+ #ifndef __klibc__
- if (!is_a_console(fd)) {
- close(fd);
- return -1;
- }
-+ #endif
- return fd;
- }
-
-@@ -80,9 +84,11 @@ int getfd(const char *fnam) {
- if (fd >= 0)
- return fd;
-
-+ #ifndef __klibc__
- for (fd = 0; fd < 3; fd++)
- if (is_a_console(fd))
- return fd;
-+ #endif
-
- fprintf(stderr,
- _("Couldnt get a file descriptor referring to the console\n"));
---
-1.5.3.7
-
diff --git a/abs/core/klibc-module-init-tools/PKGBUILD b/abs/core/klibc-module-init-tools/PKGBUILD
deleted file mode 100644
index a7d6884..0000000
--- a/abs/core/klibc-module-init-tools/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# $Id: PKGBUILD 23617 2009-01-11 14:11:13Z thomas $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-
-pkgname=klibc-module-init-tools
-pkgver=3.5
-pkgrel=30
-pkgdesc="Utilities for inserting and removing modules from the Linux kernel"
-arch=(i686 x86_64)
-url="http://www.kernel.org"
-license=('GPL')
-groups=('base')
-depends=('klibc' $(basename /lib/klibc-*.so .so))
-source=(http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-$pkgver.tar.bz2)
-md5sums=('2b47686247fc9a99bfdb9dd1d1d80e6f')
-
-build() {
- cd $startdir/src/module-init-tools-$pkgver
- CFLAGS="${CFLAGS} -DCONFIG_NO_BACKWARDS_COMPAT" CC=klcc LD=klcc ./configure --prefix=/usr/lib/klibc
- # klibc lacks getc_unlocked, so use getc instead
- sed 's|getc_unlocked|getc|g' -i *.c
- make || return 1
- INSTALL=/bin/install make DESTDIR=$startdir/pkg install || return 1
- rm -f $startdir/pkg/usr/lib/klibc/sbin/{generate-modprobe.conf,insmod.static}
- rm -rf $startdir/pkg/usr/lib/klibc/{share,man}
-}
diff --git a/abs/core/klibc-module-init-tools/fix-modprobe-ignore-path.patch b/abs/core/klibc-module-init-tools/fix-modprobe-ignore-path.patch
deleted file mode 100644
index c562b3f..0000000
--- a/abs/core/klibc-module-init-tools/fix-modprobe-ignore-path.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- modprobe.c~ 2005-12-02 00:42:09.000000000 +0100
-+++ modprobe.c 2008-03-12 09:39:14.000000000 +0100
-@@ -1236,9 +1236,8 @@
-
- /* Try defaults. */
- for (i = 0; i < ARRAY_SIZE(default_configs); i++) {
-- if (read_config(default_configs[i], name, dump_only, removing,
-- options, commands, aliases, blacklist))
-- return;
-+ read_config(default_configs[i], name, dump_only, removing,
-+ options, commands, aliases, blacklist);
- }
- }
-
diff --git a/abs/core/klibc-module-init-tools/makefile.patch b/abs/core/klibc-module-init-tools/makefile.patch
deleted file mode 100644
index df0836f..0000000
--- a/abs/core/klibc-module-init-tools/makefile.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -Nur module-init-tools-3.4.orig/Makefile.am module-init-tools-3.4/Makefile.am
---- module-init-tools-3.4.orig/Makefile.am 2007-10-07 23:51:46.000000000 +0200
-+++ module-init-tools-3.4/Makefile.am 2008-07-22 14:49:09.000000000 +0200
-@@ -18,16 +18,9 @@
- EXTRA_depmod_SOURCES = moduleops_core.c
- EXTRA_modinfo_SOURCES = backwards_compat.c
-
--MAN5 = modprobe.conf.5 modules.dep.5 depmod.conf.5
--MAN8 = depmod.8 insmod.8 lsmod.8 rmmod.8 modprobe.8 modinfo.8
--SGML = $(addprefix doc/, $(MAN5:%.5=%.sgml) $(MAN8:%.8=%.sgml))
--man_MANS = $(MAN5) $(MAN8)
--# If they haven't overridden mandir, fix it (never /man!)
--mandir =$(shell if [ @mandir@ = $(prefix)/man ]; then if [ $(prefix) = / ]; then echo /usr/share/man; else echo $(prefix)/share/man; fi; else echo @mandir@; fi)
--
- TESTSUITE := $(shell find tests -type f ! -name '*~') tests/vg-suppressions
-
--EXTRA_DIST = generate-modprobe.conf modprobe.devfs FAQ CODING stress_modules.sh install-with-care $(SGML) $(man_MANS) $(TESTSUITE)
-+EXTRA_DIST = generate-modprobe.conf modprobe.devfs FAQ CODING stress_modules.sh install-with-care $(TESTSUITE)
-
- sbin_PROGRAMS = insmod modprobe rmmod depmod modinfo insmod.static
- bin_PROGRAMS = lsmod
-@@ -38,32 +31,6 @@
-
- DIST_DIR := /home/rusty/devel/kernel/www/modules/
-
--MAINTAINERCLEANFILES := $(man_MANS)
--
--# According to Warren Togami, RH has docbook2man in the docbook-utils rpm.
--DOCBOOKTOMAN := $(shell if command -v docbook-to-man >/dev/null 2>&1; then echo docbook-to-man; else echo docbook2man; fi)
--
--# docbook2man writes file itself, doesn't do stdout.
--%.8: doc/%.sgml
-- if [ "$(DOCBOOKTOMAN)" = "docbook2man" ]; then \
-- $(DOCBOOKTOMAN) $< > /dev/null 2>&1; \
-- else \
-- $(DOCBOOKTOMAN) $< 2>&1 > $@ | sed 's/^[^:]*://'; \
-- fi
--
--%.5: doc/%.sgml
-- if [ "$(DOCBOOKTOMAN)" = "docbook2man" ]; then \
-- $(DOCBOOKTOMAN) $< > /dev/null 2>&1; \
-- else \
-- $(DOCBOOKTOMAN) $< 2>&1 > $@ | sed 's/^[^:]*://'; \
-- fi
--
--# docbook2man creates extra crap files which need cleaning.
--distclean: killbuildmanpages
--
--killbuildmanpages:
-- rm -f doc/*.tmp manpage.refs manpage.links
--
- tarball: $(DIST_DIR)/module-init-tools-$(VERSION).tar.gz
-
- $(DIST_DIR)/module-init-tools-$(VERSION).tar.gz: dist
diff --git a/abs/core/klibc-udev/50-udev-default.rules b/abs/core/klibc-udev/50-udev-default.rules
deleted file mode 100644
index 8593c7b..0000000
--- a/abs/core/klibc-udev/50-udev-default.rules
+++ /dev/null
@@ -1,5 +0,0 @@
-# firmware class requests
-SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"
-
-# do not delete static device nodes
-ACTION=="remove", NAME=="?*", TEST=="/lib/udev/devices/$name", OPTIONS+="ignore_remove"
diff --git a/abs/core/klibc-udev/60-persistent-storage.rules b/abs/core/klibc-udev/60-persistent-storage.rules
deleted file mode 100644
index d32a143..0000000
--- a/abs/core/klibc-udev/60-persistent-storage.rules
+++ /dev/null
@@ -1,47 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-# persistent storage links: /dev/disk/{by-id,by-uuid,by-label,by-path}
-# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>
-
-# forward scsi device event to corresponding block device
-ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
-
-ACTION!="add|change", GOTO="persistent_storage_end"
-SUBSYSTEM!="block", GOTO="persistent_storage_end"
-
-# skip rules for inappropriate block devices
-KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|md*|btibm*", GOTO="persistent_storage_end"
-
-# never access non-cdrom removable ide devices, the drivers are causing event loops on open()
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
-KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="persistent_storage_end"
-
-# ignore partitions that span the entire disk
-TEST=="whole_disk", GOTO="persistent_storage_end"
-
-# /sys/class/block will export this
-ENV{DEVTYPE}!="?*", ATTR{range}=="?*", ENV{DEVTYPE}="disk"
-ENV{DEVTYPE}!="?*", ATTR{start}=="?*", ENV{DEVTYPE}="partition"
-
-# for partitions import parent information
-ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
-
-# by-path (parent device path)
-ENV{DEVTYPE}=="disk", IMPORT{program}="path_id %p"
-ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
-ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
-
-# skip unpartitioned removable media devices from drivers which do not send "change" events
-ENV{DEVTYPE}=="disk", KERNEL!="sd*|sr*", ATTR{removable}=="1", GOTO="persistent_storage_end"
-
-# probe filesystem metadata of optical drives which have a media inserted
-KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT}=="?*", IMPORT{program}="vol_id --export --skip-raid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode"
-
-# probe filesystem metadata of disks
-KERNEL!="sr*", IMPORT{program}="vol_id --export $tempnode"
-
-# by-label/by-uuid links (filesystem metadata)
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-LABEL="persistent_storage_end"
diff --git a/abs/core/klibc-udev/64-device-mapper.rules b/abs/core/klibc-udev/64-device-mapper.rules
deleted file mode 100644
index 8154ef3..0000000
--- a/abs/core/klibc-udev/64-device-mapper.rules
+++ /dev/null
@@ -1,4 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-KERNEL=="device-mapper", NAME="mapper/control"
-
diff --git a/abs/core/klibc-udev/64-md-raid.rules b/abs/core/klibc-udev/64-md-raid.rules
deleted file mode 100644
index e094ca7..0000000
--- a/abs/core/klibc-udev/64-md-raid.rules
+++ /dev/null
@@ -1,18 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-SUBSYSTEM!="block", GOTO="md_end"
-ACTION!="add|change", GOTO="md_end"
-
-# import data from a raid member and activate it
-#ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="/sbin/mdadm --examine --export $tempnode", RUN+="/sbin/mdadm --incremental $env{DEVNAME}"
-# import data from a raid set
-KERNEL!="md*", GOTO="md_end"
-
-ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
-
-IMPORT{program}="vol_id --export $tempnode"
-OPTIONS+="link_priority=100"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-LABEL="md_end"
diff --git a/abs/core/klibc-udev/80-drivers.rules b/abs/core/klibc-udev/80-drivers.rules
deleted file mode 100644
index 6f6fcc3..0000000
--- a/abs/core/klibc-udev/80-drivers.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-ACTION!="add", GOTO="drivers_end"
-
-DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/lib/udev/load-modules.sh $env{MODALIAS}"
-
-LABEL="drivers_end"
diff --git a/abs/core/klibc-udev/PKGBUILD b/abs/core/klibc-udev/PKGBUILD
deleted file mode 100644
index 0775b05..0000000
--- a/abs/core/klibc-udev/PKGBUILD
+++ /dev/null
@@ -1,59 +0,0 @@
-# $Id: PKGBUILD 23620 2009-01-11 14:11:40Z thomas $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-
-pkgname=klibc-udev
-pkgver=135
-pkgrel=30
-pkgdesc="udev compiled for klibc"
-arch=(i686 x86_64)
-url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
-groups=('base')
-depends=('coreutils' 'klibc' $(basename /lib/klibc-*.so .so))
-license=('GPL')
-source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-$pkgver.tar.bz2
- udev-fix-klibc-build.patch
- disable-uid-gid-lookup.patch
- udev_hook
- udev_install
- 50-udev-default.rules
- 60-persistent-storage.rules
- 64-device-mapper.rules
- 64-md-raid.rules
- 80-drivers.rules
- load-modules.sh)
-md5sums=('661b9df34e1304dad10f595d95b472bb'
- 'c769a0440fc90ba0fee7a2ae2bf7d76f'
- '89acd170a2771f81ca9e4b7920820555'
- '042fd2ba6a0351bbae30da33ff492c03'
- 'a3d81917e2bbe66f6c24486a86d4dc9c'
- 'f9095dbad80fc93bcde60d7fe4572022'
- '6625a4000069b9d46ae0ff9d9c2cebb7'
- '258fea1c2b024f9755f905a21bd45a01'
- 'e20efd69738bbbba35c49e7b63ee0212'
- 'd42740d13b6bb5c5d90bfc2062019f58'
- '5dd248da5d5fa3adfbe87309807ab734')
-
-build() {
- cd ${srcdir}/udev-$pkgver
- patch -p1 -i ../udev-fix-klibc-build.patch || return 1
- # uid/gid lookup fails to build on klibc due to incomplete headers
- # we don't use this feature in klibc, simply omit it
- patch -p1 -i ../disable-uid-gid-lookup.patch || return 1
-
- CC=klcc LD=klcc ./configure --prefix=""
- make || return 1
-
- mkdir -p ${pkgdir}/lib/initcpio/udev
- install -m755 udev/udevd ${pkgdir}/lib/initcpio/udev/ || return 1
- install -m755 udev/udevadm ${pkgdir}/lib/initcpio/udev/ || return 1
- install -m755 extras/path_id/path_id ${pkgdir}/lib/initcpio/udev/ || return 1
- install -m755 extras/volume_id/vol_id ${pkgdir}/lib/initcpio/udev/ || return 1
- install -m755 extras/firmware/firmware.sh ${pkgdir}/lib/initcpio/udev/ || return 1
- for rules in 50-udev-default.rules 60-persistent-storage.rules 64-device-mapper.rules 64-md-raid.rules 80-drivers.rules; do
- install -m644 ${srcdir}/${rules} ${pkgdir}/lib/initcpio/udev/ || return 1
- done
- install -m755 ${srcdir}/load-modules.sh ${pkgdir}/lib/initcpio/udev/ || return 1
-
- install -D -m644 ${srcdir}/udev_install ${pkgdir}/lib/initcpio/install/udev || return 1
- install -D -m644 ${srcdir}/udev_hook ${pkgdir}/lib/initcpio/hooks/udev || return 1
-}
diff --git a/abs/core/klibc-udev/disable-uid-gid-lookup.patch b/abs/core/klibc-udev/disable-uid-gid-lookup.patch
deleted file mode 100644
index 578c3ee..0000000
--- a/abs/core/klibc-udev/disable-uid-gid-lookup.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -Nur udev-132.orig/udev/udev-util.c udev-132/udev/udev-util.c
---- udev-132.orig/udev/udev-util.c 2008-11-06 02:56:15.000000000 +0100
-+++ udev-132/udev/udev-util.c 2008-11-09 18:28:30.000000000 +0100
-@@ -126,6 +126,7 @@
-
- uid_t util_lookup_user(struct udev *udev, const char *user)
- {
-+ /*
- char *endptr;
- int buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
- char buf[buflen];
-@@ -147,11 +148,13 @@
- err(udev, "specified user '%s' unknown\n", user);
- else
- err(udev, "error resolving user '%s': %m\n", user);
-+ */
- return 0;
- }
-
- extern gid_t util_lookup_group(struct udev *udev, const char *group)
- {
-+ /*
- char *endptr;
- int buflen = sysconf(_SC_GETGR_R_SIZE_MAX);
- char buf[buflen];
-@@ -173,6 +176,7 @@
- err(udev, "specified group '%s' unknown\n", group);
- else
- err(udev, "error resolving group '%s': %m\n", group);
-+ */
- return 0;
- }
-
diff --git a/abs/core/klibc-udev/klibc-remove-revert.patch b/abs/core/klibc-udev/klibc-remove-revert.patch
deleted file mode 100644
index 8d9484f..0000000
--- a/abs/core/klibc-udev/klibc-remove-revert.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-### Archlinux revert
-### revert this patch, crazy udev devs
-From: Kay Sievers <kay.sievers@suse.de>
-Date: Fri, 4 Aug 2006 22:02:58 +0000 (+0200)
-Subject: libvolume_id: read ufs2 label
-X-Git-Tag: 097
-X-Git-Url: http://www.kernel.org/git/?p=linux/hotplug/udev.git;a=commitdiff;h=eb82b76dedc1482b6434c46fee84d3ef13cb9648
-
-libvolume_id: read ufs2 label
-
-Taken from the FreeBSD HAL repository.
----
-
---- a/Makefile
-+++ b/Makefile
-@@ -33,6 +33,9 @@ USE_GCOV = false
- # include Security-Enhanced Linux support
- USE_SELINUX = false
-
-+# comile with klibc instead of glibc
-+USE_KLIBC = false
-+
- # set this to create statically linked binaries
- USE_STATIC = false
-
-@@ -139,6 +142,12 @@ ifeq ($(strip $(USE_GCOV)),true)
- LDFLAGS += -fprofile-arcs
- endif
-
-+ifeq ($(strip $(USE_KLIBC)),true)
-+ KLCC = /usr/bin/$(CROSS_COMPILE)klcc
-+ CC = $(KLCC)
-+ LD = $(KLCC)
-+endif
-+
- ifeq ($(strip $(USE_SELINUX)),true)
- UDEV_OBJS += udev_selinux.o
- LIB_OBJS += -lselinux -lsepol
---- a/README
-+++ b/README
-@@ -69,6 +69,10 @@ Compile Options:
- USE_SELINUX
- If set to 'true', udev will be built with SELinux support
- enabled. This is disabled by default.
-+ USE_KLIBC
-+ If set to 'true', udev is built and linked against klibc.
-+ Default value is 'false'. KLCC specifies the klibc compiler
-+ wrapper, usually located at /usr/bin/klcc.
- EXTRAS
- list of helper programs in extras/ to build.
- make EXTRAS="extras/cdrom_id extras/scsi_id extras/volume_id"
---- a/extras/scsi_id/scsi_id.c
-+++ b/extras/scsi_id/scsi_id.c
-@@ -402,7 +402,8 @@ static int set_options(int argc, char **
- /*
- * optind is a global extern used by getopt. Since we can call
- * set_options twice (once for command line, and once for config
-- * file) we have to reset this back to 1.
-+ * file) we have to reset this back to 1. [Note glibc handles
-+ * setting this to 0, but klibc does not.]
- */
- optind = 1;
- while (1) {
---- a/test/simple-build-check.sh
-+++ b/test/simple-build-check.sh
-@@ -23,6 +23,14 @@ make clean EXTRAS="$EXTRAS" >/dev/null
- make all $MAKEOPTS USE_LOG=false EXTRAS="$EXTRAS" || exit
- echo -e "\n\n"
-
-+# klibc build
-+if [ -n "$KLCC" -a -e "$KLCC" ]; then
-+ echo KLCC: "$KLCC"
-+ make clean EXTRAS="$EXTRAS" >/dev/null
-+ make all -j4 $MAKEOPTS USE_KLIBC=true DEBUG=true EXTRAS="$EXTRAS" KLCC="$KLCC" || exit
-+ echo -e "\n\n"
-+fi
-+
- # install in temporary dir and show it
- TEMPDIR="`pwd`/.tmp"
- rm -rf $TEMPDIR
---- a/udev_libc_wrapper.c
-+++ b/udev_libc_wrapper.c
-@@ -30,7 +30,7 @@
-
- #include "udev.h"
-
--#ifndef __GLIBC__
-+#ifdef __KLIBC__
- #define __OWN_USERDB_PARSER__
- #endif
-
---- a/udev_libc_wrapper.h
-+++ b/udev_libc_wrapper.h
-@@ -105,7 +105,7 @@ static inline int inotify_add_watch(int
- }
- #else
- /* needed until /usr/include/sys/inotify.h is working */
--#ifndef __GLIBC__
-+#ifdef __KLIBC__
- #include <sys/inotify.h>
- #else
- static inline int inotify_init(void)
-@@ -117,7 +117,7 @@ static inline int inotify_add_watch(int
- {
- return syscall(__NR_inotify_add_watch, fd, name, mask);
- }
--#endif /* __GLIBC__ */
-+#endif /* __KLIBC__ */
- #endif /* __NR_inotify_init */
-
- #ifndef IN_CREATE
diff --git a/abs/core/klibc-udev/load-modules.sh b/abs/core/klibc-udev/load-modules.sh
deleted file mode 100755
index 3d52d6b..0000000
--- a/abs/core/klibc-udev/load-modules.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#! /bin/sh
-# Implement blacklisting for udev-loaded modules
-# Includes module checking
-# - Aaron Griffin & Tobias Powalowski for Archlinux
-[ $# -ne 1 ] && exit 1
-
-MODPROBE="/sbin/modprobe"
-RESOLVEALIAS="/bin/resolve-modalias"
-USEBLACKLIST="--use-blacklist"
-REPLACE="/bin/replace"
-MODDEPS="/bin/moddeps"
-
-if [ -f /proc/cmdline ]; then
- for cmd in $(cat /proc/cmdline); do
- case $cmd in
- disablemodules=*) eval $cmd ;;
- load_modules=off) exit ;;
- esac
- done
- #parse cmdline entries of the form "disablemodules=x,y,z"
- if [ -n "${disablemodules}" ]; then
- BLACKLIST="$(${REPLACE} ${disablemodules} ',')"
- fi
-fi
-
-# sanitize the module names
-BLACKLIST="$(${REPLACE} "${BLACKLIST}" '-' '_')"
-
-if [ -n "${BLACKLIST}" ] ; then
- # Try to find all modules for the alias
- mods="$($RESOLVEALIAS /lib/modules/$(uname -r)/modules.alias $1)"
- # If no modules could be found, try if the alias name is a module name
- # In that case, omit the --use-blacklist parameter to imitate normal modprobe behaviour
- [ -z "${mods}" ] && $MODPROBE -qni $1 && mods="$1" && USEBLACKLIST=""
- [ -z "${mods}" ] && exit
- for mod in ${mods}; do
- deps="$(${MODDEPS} ${mod})"
- [ $? -ne 0 ] && continue
- # If the module or any of its dependencies is blacklisted, don't load it
- for dep in $deps; do
- for blackmod in ${BLACKLIST}; do
- [ "${blackmod}" = "${dep}" ] && continue 3
- done
- done
- $MODPROBE $USEBLACKLIST ${mod}
- done
-else
- $MODPROBE $1
-fi
-
-# vim: set et ts=4:
diff --git a/abs/core/klibc-udev/post-107.patch b/abs/core/klibc-udev/post-107.patch
deleted file mode 100644
index cb6e618..0000000
--- a/abs/core/klibc-udev/post-107.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From: Matthias Schwarzott <zzam@gentoo.org>
-Date: Thu, 22 Mar 2007 20:05:56 +0000 (+0100)
-Subject: write_cd_rules: set default link type to "by-id" for usb and ieee1394 devices
-X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=491a6a71ff685373422621f4b67f550806072d17
-
-write_cd_rules: set default link type to "by-id" for usb and ieee1394 devices
----
-
-diff --git a/extras/rule_generator/write_cd_rules b/extras/rule_generator/write_cd_rules
-index 1dbe6b7..bd951c5 100644
---- a/extras/rule_generator/write_cd_rules
-+++ b/extras/rule_generator/write_cd_rules
-@@ -53,7 +53,15 @@ fi
- if [ "$1" ]; then
- METHOD="$1"
- else
-- METHOD='by-path'
-+ case "$ID_BUS" in
-+ usb|ieee1394)
-+ METHOD='by-id'
-+ ;;
-+
-+ *)
-+ METHOD='by-path'
-+ ;;
-+ esac
- fi
-
- case "$METHOD" in
-From: Kay Sievers <kay.sievers@vrfy.org>
-Date: Fri, 23 Mar 2007 16:17:18 +0000 (+0100)
-Subject: udevinfo: relax check for the correct device if looked up by name
-X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=be8594ab14f15203fcea4b2aa0115171472f3e43
-
-udevinfo: relax check for the correct device if looked up by name
----
-
-diff --git a/udev_db.c b/udev_db.c
-index 00d68d6..7b8d02b 100644
---- a/udev_db.c
-+++ b/udev_db.c
-@@ -186,7 +186,7 @@ int udev_db_get_device(struct udevice *udev, const char *devpath)
- size_t cur;
- size_t count;
-
-- strlcpy(udev->dev->devpath, devpath, sizeof(udev->dev->devpath));
-+ sysfs_device_set_values(udev->dev, devpath, NULL, NULL);
- devpath_to_db_path(devpath, filename, sizeof(filename));
-
- if (lstat(filename, &stats) != 0) {
-diff --git a/udevinfo.c b/udevinfo.c
-index 3f25be0..4b4876c 100644
---- a/udevinfo.c
-+++ b/udevinfo.c
-@@ -173,13 +173,17 @@ static void export_db(void) {
- static int lookup_device_by_name(struct udevice *udev, const char *name)
- {
- LIST_HEAD(name_list);
-+ int count;
- struct name_entry *device;
- int rc = -1;
-
-- if (udev_db_get_devices_by_name(name, &name_list) <= 0)
-+ count = udev_db_get_devices_by_name(name, &name_list);
-+ if (count <= 0)
- goto out;
-
-- /* select the device that matches the dev_t of name */
-+ info("found %i devices for '%s'", count, name);
-+
-+ /* select the device that seems to match */
- list_for_each_entry(device, &name_list, node) {
- char filename[PATH_SIZE];
- struct stat statbuf;
-@@ -189,16 +193,18 @@ static int lookup_device_by_name(struct udevice *udev, const char *name)
- continue;
- info("found db entry '%s'", device->name);
-
-+ /* make sure, we don't get a link of a differnt device */
- strlcpy(filename, udev_root, sizeof(filename));
- strlcat(filename, "/", sizeof(filename));
- strlcat(filename, name, sizeof(filename));
- if (stat(filename, &statbuf) != 0)
- continue;
-- if (statbuf.st_rdev == udev->devt) {
-- info("found '%s', dev_t matches", udev->name);
-- rc = 0;
-- break;
-+ if (major(udev->devt) > 0 && udev->devt != statbuf.st_rdev) {
-+ info("skip '%s', dev_t doesn't match", udev->name);
-+ continue;
- }
-+ rc = 0;
-+ break;
- }
- out:
- name_list_cleanup(&name_list);
-From: Kay Sievers <kay.sievers@vrfy.org>
-Date: Fri, 23 Mar 2007 16:18:03 +0000 (+0100)
-Subject: don't write to sysfs files during test run
-X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=d2c9a56e0e624ed448aed8ad18460deed63973e1
-
-don't write to sysfs files during test run
----
-
-diff --git a/udev_rules.c b/udev_rules.c
-index f8844a8..5078f2d 100644
---- a/udev_rules.c
-+++ b/udev_rules.c
-@@ -861,8 +861,9 @@ try_parent:
- info("writing '%s' to sysfs file '%s'", value, attr);
- f = fopen(attr, "w");
- if (f != NULL) {
-- if (fprintf(f, "%s", value) <= 0)
-- err("error writing ATTR{%s}: %s", attr, strerror(errno));
-+ if (!udev->test_run)
-+ if (fprintf(f, "%s", value) <= 0)
-+ err("error writing ATTR{%s}: %s", attr, strerror(errno));
- fclose(f);
- } else
- err("error opening ATTR{%s} for writing: %s", attr, strerror(errno));
-From: Pozsar Balazs <pozsy@uhulinux.hu>
-Date: Fri, 23 Mar 2007 16:21:46 +0000 (+0100)
-Subject: udevsettle: read udev not kernel seqnum first
-X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=4e2b290821d083361260f8cdbe7c54886463673e
-
-udevsettle: read udev not kernel seqnum first
----
-
-diff --git a/udevsettle.c b/udevsettle.c
-index 9e3e03b..f76ad71 100644
---- a/udevsettle.c
-+++ b/udevsettle.c
-@@ -110,9 +110,9 @@ int main(int argc, char *argv[], char *envp[])
- goto exit;
- }
-
-- /* read current kernel seqnum */
-- strlcpy(filename, sysfs_path, sizeof(filename));
-- strlcat(filename, "/kernel/uevent_seqnum", sizeof(filename));
-+ /* read current udev seqnum */
-+ strlcpy(filename, udev_root, sizeof(filename));
-+ strlcat(filename, "/" EVENT_SEQNUM, sizeof(filename));
- fd = open(filename, O_RDONLY);
- if (fd < 0)
- goto exit;
-@@ -121,12 +121,12 @@ int main(int argc, char *argv[], char *envp[])
- if (len <= 0)
- goto exit;
- seqnum[len] = '\0';
-- seq_kernel = strtoull(seqnum, NULL, 10);
-- info("kernel seqnum = %llu", seq_kernel);
-+ seq_udev = strtoull(seqnum, NULL, 10);
-+ info("udev seqnum = %llu", seq_udev);
-
-- /* read current udev seqnum */
-- strlcpy(filename, udev_root, sizeof(filename));
-- strlcat(filename, "/" EVENT_SEQNUM, sizeof(filename));
-+ /* read current kernel seqnum */
-+ strlcpy(filename, sysfs_path, sizeof(filename));
-+ strlcat(filename, "/kernel/uevent_seqnum", sizeof(filename));
- fd = open(filename, O_RDONLY);
- if (fd < 0)
- goto exit;
-@@ -135,8 +135,8 @@ int main(int argc, char *argv[], char *envp[])
- if (len <= 0)
- goto exit;
- seqnum[len] = '\0';
-- seq_udev = strtoull(seqnum, NULL, 10);
-- info("udev seqnum = %llu", seq_udev);
-+ seq_kernel = strtoull(seqnum, NULL, 10);
-+ info("kernel seqnum = %llu", seq_kernel);
-
- /* make sure all kernel events have arrived in the queue */
- if (seq_udev >= seq_kernel) {
-
diff --git a/abs/core/klibc-udev/start_udev b/abs/core/klibc-udev/start_udev
deleted file mode 100755
index 8503bb9..0000000
--- a/abs/core/klibc-udev/start_udev
+++ /dev/null
@@ -1,115 +0,0 @@
-#! /bin/sh
-#
-# start_udev
-# script to initialize /dev by using udev.
-#
-# Modified for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-#
-# Inspired by:
-#
-# Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
-#
-# Released under the GPL v2 only.
-#
-# This needs to be run at the earliest possible point in the boot
-# process.
-#
-# Based on the udev init.d script
-#
-# Thanks go out to the Gentoo developers for proving
-# that this is possible to do.
-#
-# Yes, it's very verbose, feel free to turn off all of the echo calls,
-# they were there to make me feel better that everything was working
-# properly during development...
-
-prog=udev
-sysfs_dir=/sys
-bin=/sbin/udev
-udevd=/sbin/udevd
-udev_root="/dev"
-
-trigger_device_events ()
-{
- /sbin/udevtrigger
-}
-
-wait_for_queue ()
-{
- # disabled because it hangs network boot
- #loop=20
- #while ! [ "$loop" -gt 0 -a -d /dev/.udev/queue ]; do
- # sleep 0.1;
- # loop=$(($loop - 1))
- #done
- /sbin/udevsettle
-}
-
-make_extra_nodes ()
-{
- # there are a few things that sysfs does not export for us.
- # these things go here (and remember to remove them in
- # remove_extra_nodes()
- #
- # Thanks to Gentoo for the initial list of these.
- ln -sf /proc/self/fd $udev_root/fd
- ln -sf /proc/self/fd/0 $udev_root/stdin
- ln -sf /proc/self/fd/1 $udev_root/stdout
- ln -sf /proc/self/fd/2 $udev_root/stderr
- ln -sf /proc/kcore $udev_root/core
-}
-
-udev_init ()
-{
-# don't use udev if sysfs is not mounted.
-if [ ! -d $sysfs_dir/block ]; then
- exit 1
-fi
-
-# Do not mount ramfs, we are already in ramfs
-#mount -t ramfs none $udev_root
-
-# propogate /udev from /sys
-#echo "Creating initial udev device nodes:"
-
-#echo "making extra nodes"
-make_extra_nodes
-
-# check if udevd is already running
-#echo "start udev daemon"
-/sbin/udevd --daemon
-
-case "$(uname -r)" in
- 2.6.[0-9]|2.6.[0-9][!0-9]*) ;;
- *) if [ -f "/sys/class/tty/console/uevent" ]; then
- #echo "Kernel >= 2.6.15 and supports uevents"
- # trigger the sorted events
- echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
- # catch events that are real fast
- mkdir -p /dev/.udev/queue
- else
- # for older kernels without uevents will be removed when udevstart dies in udev
- echo "Kernel does not support uevents, you need a kernel >= 2.6.15!"
- exit 1
- fi
- ;;
-esac
-}
-
-udev_uevents ()
-{
-# configure all devices
-trigger_device_events
-# until we know how to do better, just wait for _all_ events to finish
-wait_for_queue
-}
-
-if [ $# -eq 0 ]; then
-udev_init
-udev_uevents
-fi
-
-[ "$1" = "init" ] && udev_init
-[ "$1" = "uevents" ] && udev_uevents
-
-exit 0
diff --git a/abs/core/klibc-udev/udev-fix-klibc-build.patch b/abs/core/klibc-udev/udev-fix-klibc-build.patch
deleted file mode 100644
index 7ac0917..0000000
--- a/abs/core/klibc-udev/udev-fix-klibc-build.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -Nur udev-128.orig/extras/Makefile.in udev-128/extras/Makefile.in
---- udev-128.orig/extras/Makefile.in 2008-09-11 16:58:01.000000000 +0200
-+++ udev-128/extras/Makefile.in 2008-09-18 12:03:09.000000000 +0200
-@@ -176,15 +176,11 @@
- udev_prefix = @udev_prefix@
- SUBDIRS = \
- ata_id \
-- cdrom_id \
- edd_id \
- path_id \
- firmware \
-- collect \
- floppy \
-- fstab_import \
- rule_generator \
-- scsi_id \
- usb_id \
- volume_id
-
-diff -Nur udev-128.orig/extras/volume_id/lib/libvolume_id-private.h udev-128/extras/volume_id/lib/libvolume_id-private.h
---- udev-128.orig/extras/volume_id/lib/libvolume_id-private.h 2008-09-10 02:37:09.000000000 +0200
-+++ udev-128/extras/volume_id/lib/libvolume_id-private.h 2008-09-18 12:07:57.000000000 +0200
-@@ -35,12 +35,8 @@
- log_null(const char *format, ...) {}
-
- #define err(format, arg...) volume_id_log_fn(LOG_ERR, __FILE__, __LINE__, format, ##arg)
--#define info(format, arg...) volume_id_log_fn(LOG_INFO, __FILE__, __LINE__, format, ##arg)
--#ifdef DEBUG
--#define dbg(format, arg...) volume_id_log_fn(LOG_DEBUG, __FILE__, __LINE__, format, ##arg)
--#else
-+#define info(format, arg...) log_null(format, ##arg)
- #define dbg(format, arg...) log_null(format, ##arg)
--#endif
-
- #if (__BYTE_ORDER == __LITTLE_ENDIAN)
- #define le16_to_cpu(x) (x)
-diff -Nur udev-128.orig/extras/volume_id/lib/md5.c udev-128/extras/volume_id/lib/md5.c
---- udev-128.orig/extras/volume_id/lib/md5.c 2008-09-10 02:18:59.000000000 +0200
-+++ udev-128/extras/volume_id/lib/md5.c 2008-09-18 12:03:09.000000000 +0200
-@@ -21,7 +21,7 @@
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
--#include <stdint.h>
-+/*#include <stdint.h>*/
- #include <string.h>
- #include <endian.h>
- #include <byteswap.h>
diff --git a/abs/core/klibc-udev/udev.rules b/abs/core/klibc-udev/udev.rules
deleted file mode 100644
index 22f422a..0000000
--- a/abs/core/klibc-udev/udev.rules
+++ /dev/null
@@ -1,187 +0,0 @@
-# Udev rules for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-#
-# This ruleset should provide a DevFS-compatible device tree.
-#
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %k the kernel name for the device.
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute.
-# %% the '%' char itself.
-#
-# There are a number of modifiers that are allowed to be used in some of the
-# fields. See the udev man page for a full description of them.
-# global stuff
-#
-
-#####################################
-# Early rules - begin
-#####################################
-# wait for sysfs
-ACTION=="add", KERNEL=="[0-9]*:[0-9]*", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt"
-# Setting timeout for tape-devices (type 1) to 900 seconds
-# and 60 seconds for device types 0, 7 and 14
-SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60"
-SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900"
-#####################################
-# Early rules -end
-#####################################
-
-#####################################
-###### Hotplug rules - begin
-#####################################
-
-# Modaliases to load
-ACTION=="add", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/lib/udev/load-modules.sh $env{MODALIAS}"
-# SCSI addon modules
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="[07]", RUN+="/lib/udev/load-modules.sh sd_mod"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="14", RUN+="/lib/udev/load-modules.sh sd_mod"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="[45]", RUN+="/lib/udev/load-modules.sh sr_mod"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}=="Onstream", ATTRS{model}!="ADR*", RUN+="/lib/udev/load-modules.sh osst"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}=="Onstream", ATTRS{model}=="ADR*", RUN+="/lib/udev/load-modules.sh st"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}!="Onstream", RUN+="/lib/udev/load-modules.sh st"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="[23689]", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
-ACTION=="add", SUBSYSTEM=="mmc", RUN+="/lib/udev/load-modules.sh mmc_block"
-
-LABEL="hotplug_driver_loaded"
-
-# FIRMWARE
-ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="?*", RUN+="/lib/udev/firmware.sh"
-#####################################
-##### Hotplug rules - end
-#####################################
-
-#####################################
-###### CD/DVD symlinks - begin
-#####################################
-ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ENV{ID_CDROM}=="?*", SYMLINK+="cd/cdrom-%b"
-ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cd/cdrw-%b"
-ENV{ID_CDROM_DVD}=="?*", SYMLINK+="cd/dvd-%b"
-ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvd-%b"
-#####################################
-###### CD/DVD symlinks - end
-#####################################
-
-#####################################
-##### PCMCIA rules - begin
-#####################################
-# PCMCIA devices:
-#
-
-# Very few CIS firmware entries (which we use for matching)
-# are so broken that we need to read out random bytes of it
-# instead of the manufactor, card or product ID. Then the
-# matching is done in userspace.
-ACTION=="add", SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", RUN+="/sbin/pcmcia-check-broken-cis.static"
-
-# However, the "weak" matching by func_id is only allowed _after_ modprobe
-# returns, so that "strong" matches have a higher priority.
-ACTION=="add", SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", RUN+="/bin/sh -c 'echo 1 > /sys/$devpath/allow_func_id_match'"
-
-# PCMCIA sockets:
-#
-# modprobe the pcmcia bus module so that 16-bit PCMCIA devices work
-ACTION=="add", SUBSYSTEM=="pcmcia_socket", RUN+="/lib/udev/load-modules.sh pcmcia"
-
-# if this is a PCMCIA socket which needs a resource database,
-# pcmcia-socket-startup sets it up
-ACTION=="add", SUBSYSTEM=="pcmcia_socket", RUN+="/sbin/pcmcia-socket-startup.static"
-#####################################
-##### PCMCIA rules - end
-#####################################
-
-#######################################
-# Persistant block device stuff - begin
-#######################################
-# persistent storage links: /dev/{disk,tape}/{by-id,by-uuid,by-label,by-path,by-name}
-# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>
-
-# needed like this!!!
-ACTION!="add|change", GOTO="persistent_storage_end"
-#KERNEL=="nst[0-9]", SUBSYSTEMS=="scsi", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}-nst"
-
-# type 8 devices are "Medium Changers"
-#KERNEL=="sg*", SUBSYSTEMS=="scsi", ATTRS{type}=="8", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-SUBSYSTEM!="block", GOTO="persistent_storage_end"
-
-# skip rules for inappropriate block devices
-# don't add dm-*!!!
-KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|md*", GOTO="persistent_storage_end"
-
-# never access non-cdrom removable ide devices, the drivers are causing event loops on open()
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
-KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="persistent_storage_end"
-
-# ignore partitions that span the entire disk
-ATTR{whole_disk}=="*", GOTO="persistent_storage_end"
-
-# /sys/class/block will export this
-ENV{DEVTYPE}!="?*", ATTR{range}=="?*", ENV{DEVTYPE}="disk"
-ENV{DEVTYPE}!="?*", ATTR{start}=="?*", ENV{DEVTYPE}="partition"
-
-# for partitions import parent information
-ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
-
-# by-id (hardware serial number)
-KERNEL=="hd*[!0-9]", IMPORT{program}="/lib/udev/ata_id --export $tempnode"
-KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}"
-KERNEL=="hd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n"
-
-KERNEL=="sd*[!0-9]|sr*|st*", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_SUBSYSTEMS}="ieee1394"
-KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="/lib/udev/usb_id --export %p"
-#KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}!="?*", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode"
-#KERNEL=="cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}!="?*", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --ignore-sysfs -s %p -d $tempnode", ENV{ID_BUS}="cciss"
-KERNEL=="sd*[!0-9]|sr*|cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-KERNEL=="sd*[0-9]|cciss*p[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
-KERNEL=="st*", ENV{ID_SERIAL}=="?*", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-
-# libata compat (links like hd*)
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_VENDOR}=="ATA", PROGRAM="/lib/udev/ata_id $tempnode", RESULT=="?*", ENV{ID_ATA_COMPAT}="$result", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}"
-KERNEL=="sd*[0-9]", ENV{ID_ATA_COMPAT}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}-part%n"
-
-KERNEL=="mmcblk[0-9]", SUBSYSTEMS=="mmc", ATTRS{name}=="?*", ATTRS{serial}=="?*", ENV{ID_NAME}="$attr{name}", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}"
-KERNEL=="mmcblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}-part%n"
-
-# by-path (shortest physical path) broken atm
-#ENV{DEVTYPE}=="disk", IMPORT{program}="/lib/udev/path_id %p"
-#ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
-#ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
-#KERNEL=="st*", ENV{ID_PATH}=="?*", SYMLINK+="tape/by-path/$env{ID_PATH}"
-
-KERNEL=="sr*|st*", GOTO="persistent_storage_end"
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GOTO="persistent_storage_end"
-
-# by-label/by-uuid (filesystem properties)
-IMPORT{program}="/lib/udev/vol_id --export $tempnode"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-# BIOS Enhanced Disk Device
-ENV{DEVTYPE}=="disk", IMPORT{program}="/lib/udev/edd_id --export $tempnode"
-ENV{DEVTYPE}=="disk", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}"
-ENV{DEVTYPE}=="partition", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n"
-LABEL="persistent_storage_end"
-
-# md links hook into "change" events, when the array becomes available
-KERNEL!="md[0-9]*", GOTO="md_end"
-ACTION!="add|change", GOTO="md_end"
-
-ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
-IMPORT{program}="/lib/udev/vol_id --export $tempnode"
-OPTIONS="link_priority=100"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}""
-
-LABEL="md_end"
-#####################################
-# Persistant block device stuff - end
-#####################################
diff --git a/abs/core/klibc-udev/udev_hook b/abs/core/klibc-udev/udev_hook
deleted file mode 100644
index 4d8212a..0000000
--- a/abs/core/klibc-udev/udev_hook
+++ /dev/null
@@ -1,10 +0,0 @@
-# vim: set ft=sh:
-run_hook ()
-{
- msg -n ":: Loading udev..."
- echo > /proc/sys/kernel/hotplug
- /sbin/udevd --daemon
- /sbin/udevadm trigger
- /sbin/udevadm settle
- msg "done."
-}
diff --git a/abs/core/klibc-udev/udev_install b/abs/core/klibc-udev/udev_install
deleted file mode 100644
index 94dcd80..0000000
--- a/abs/core/klibc-udev/udev_install
+++ /dev/null
@@ -1,29 +0,0 @@
-# vim:set ft=sh:
-
-install ()
-{
- MODULES=""
- BINARIES=""
- FILES=" /etc/udev/udev.conf"
- SCRIPT="udev"
- add_file /lib/initcpio/udev/udevd /sbin/udevd
- add_file /lib/initcpio/udev/udevadm /sbin/udevadm
- add_file /lib/initcpio/udev/50-udev-default.rules /lib/udev/rules.d/50-udev-default.rules
- add_file /lib/initcpio/udev/60-persistent-storage.rules /lib/udev/rules.d/60-persistent-storage.rules
- add_file /lib/initcpio/udev/64-device-mapper.rules /lib/udev/rules.d/64-device-mapper.rules
- add_file /lib/initcpio/udev/64-md-raid.rules /lib/udev/rules.d/64-md-raid.rules
- add_file /lib/initcpio/udev/80-drivers.rules /lib/udev/rules.d/80-drivers.rules
- add_file /lib/initcpio/udev/firmware.sh /lib/udev/firmware.sh
- add_file /lib/initcpio/udev/path_id /lib/udev/path_id
- add_file /lib/initcpio/udev/vol_id /lib/udev/vol_id
- add_file /lib/initcpio/udev/load-modules.sh /lib/udev/load-modules.sh
-}
-
-help ()
-{
-cat <<HELPEOF
- This hook will use udev to create your root device node
- and detect the needed modules for your root device.
- It is recommended to use this hook instead of modload.
-HELPEOF
-}
diff --git a/abs/core/klibc-udev/vol_id-suspend2.patch b/abs/core/klibc-udev/vol_id-suspend2.patch
deleted file mode 100644
index 525e17e..0000000
--- a/abs/core/klibc-udev/vol_id-suspend2.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Nur udev-103.orig/extras/volume_id/lib/linux_swap.c udev-103/extras/volume_id/lib/linux_swap.c
---- udev-103.orig/extras/volume_id/lib/linux_swap.c 2006-10-20 14:43:35.000000000 +0200
-+++ udev-103/extras/volume_id/lib/linux_swap.c 2006-10-29 17:15:19.000000000 +0100
-@@ -73,6 +73,11 @@
- strcpy(id->type_version, "ulsuspend");
- goto found_label;
- }
-+ if (memcmp(buf, "z", 1) == 0 || memcmp(buf, "Z", 1) == 0) {
-+ id->type = "suspend";
-+ strcpy(id->type_version, "suspend2");
-+ goto found_label;
-+ }
- }
- return -1;
-
diff --git a/abs/core/klibc/PKGBUILD b/abs/core/klibc/PKGBUILD
deleted file mode 100644
index 11080c0..0000000
--- a/abs/core/klibc/PKGBUILD
+++ /dev/null
@@ -1,56 +0,0 @@
-# $Id: PKGBUILD 23627 2009-01-11 14:22:23Z thomas $
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-
-###
-### NOTE: Do not build this package with anything except gcc - using ccache
-### forces others to use it as well as it becomes hardcoded in the klibc
-### script.
-###
-
-pkgname=klibc
-pkgver=1.5.15
-_klibcbranch=Testing #Stable/Testing
-_kver=2.6.28-ARCH
-pkgrel=30
-pkgdesc="A minimal libc made for early-userspace"
-arch=(i686 x86_64)
-url="http://www.kernel.org/pub/linux/libs/klibc/"
-license=('BSD')
-groups=('base')
-options=(!ccache !strip)
-source=(http://www.kernel.org/pub/linux/libs/klibc/${_klibcbranch}/${pkgname}-${pkgver}.tar.gz
- klibc-compile-shared-by-default.patch
- klibc-Kbuild.patch
- klibc-x86_64-fix-io.h.patch
- klibc-fix-2.6.28-includes.patch)
-md5sums=('b5527be46f24779884557b11888c8075'
- 'c263a7c3fd290fcc84a4e230d456d022'
- 'ff5b113024256de31af59c2f1a966516'
- 'fcee75cfaa65638b07f9cc4a7719fa29'
- '85e39751debc304119eb481d6bc26d59')
-
-build()
-{
- cd $startdir/src/$pkgname-$pkgver
- #INI_DEBUG causes ipconfig to fail within kinit
- sed -i "/#define INI_DEBUG/d" usr/kinit/kinit.h || return 1
- ln -sf /usr/src/linux-${_kver} linux
-
- # compile binaries shared by default
- patch -p1 -i ../klibc-compile-shared-by-default.patch || return 1
- # don't build gzip, cpio, kill, build shared binaries for kinit and sh
- patch -p1 -i ../klibc-Kbuild.patch || return 1
- # fix errors in io.h header
- patch -p1 -i ../klibc-x86_64-fix-io.h.patch || return 1
- # fix includes for 2.6.28 build
- patch -p1 -i ../klibc-fix-2.6.28-includes.patch || return 1
-
- make EXTRA_KLIBCFLAGS='' || return 1
- make INSTALLROOT=$startdir/pkg install || return 1
- #ln -sf asm-x86 $startdir/pkg/usr/lib/klibc/include/asm
- cp -a linux/arch/x86/include/asm/* $startdir/pkg/usr/lib/klibc/include/asm/
-
- provides[${#provides[@]}]="$(basename $startdir/pkg/lib/klibc-*.so .so)"
- export provides
-}
diff --git a/abs/core/klibc/klibc-2.6.24.patch b/abs/core/klibc/klibc-2.6.24.patch
deleted file mode 100644
index 2527699..0000000
--- a/abs/core/klibc/klibc-2.6.24.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-unchanged:
---- klibc-1.5.orig/usr/klibc/arch/i386/MCONFIG 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/klibc/arch/i386/MCONFIG 2008-01-27 16:06:08.000000000 +0100
-@@ -31,3 +31,4 @@
- # calls, and work on the memory models for this architecture
- # 96 MB - normal binaries start at 128 MB
- KLIBCSHAREDFLAGS = -Ttext 0x06000200
-+KLIBCASMARCH = x86
-unchanged:
---- klibc-1.5.orig/usr/klibc/arch/x86_64/MCONFIG 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/klibc/arch/x86_64/MCONFIG 2008-01-27 16:05:43.000000000 +0100
-@@ -36,4 +36,4 @@
- KLIBCSHAREDFLAGS = -Ttext 0x00200200 -z max-page-size=0x100000
-
- # Additional asm- directories needed during installation
--ASMARCH = asm-i386
-+KLIBCASMARCH = x86
-only in patch2:
-unchanged:
---- a/scripts/Kbuild.install 2007-03-04 02:52:10.000000000 +0100
-+++ b/scripts/Kbuild.install 2007-11-04 15:43:28.000000000 +0100
-@@ -84,6 +84,13 @@
- # 1) Create directories, install headers and man pages
- # 2) Tell that we now install binaries
- # 3) Install binaries by descending
-+
-+# Arch specific definitions for klibc
-+include $(KLIBCSRC)/arch/$(KLIBCARCHDIR)/MCONFIG
-+
-+# include/asm-* architecture
-+KLIBCASMARCH ?= $(KLIBCARCH)
-+
- .PHONY: header footer descend
- header:
- $(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
-@@ -95,7 +102,7 @@
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
-- $(Q)set -e ; for d in linux scsi asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
-+ $(Q)set -e ; for d in linux scsi asm-$(KLIBCASMARCH) asm-generic $(ASMKLIBCARCH); do \
- mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)include/$$d ; \
- for r in $(KLIBCKERNELSRC)/include $(KLIBCKERNELOBJ)/include \
- $(KLIBCKERNELOBJ)/include2 ; do \
diff --git a/abs/core/klibc/klibc-Kbuild.patch b/abs/core/klibc/klibc-Kbuild.patch
deleted file mode 100644
index 28beee9..0000000
--- a/abs/core/klibc/klibc-Kbuild.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff -Nur klibc-1.5.14.orig/Kbuild klibc-1.5.14/Kbuild
---- klibc-1.5.14.orig/Kbuild 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/Kbuild 2008-09-18 13:08:42.000000000 +0200
-@@ -10,9 +10,8 @@
- $(Q)$(MAKE) $(klibc)=usr/kinit
- $(Q)$(MAKE) $(klibc)=usr/dash
- $(Q)$(MAKE) $(klibc)=usr/utils
-- $(Q)$(MAKE) $(klibc)=usr/gzip
-
-
- # Directories to visit during clean and install
--subdir- := scripts/basic klcc usr/klibc usr/dash usr/utils usr/gzip \
-+subdir- := scripts/basic klcc usr/klibc usr/dash usr/utils \
- usr/kinit usr/klibc/tests
-diff -Nur klibc-1.5.14.orig/usr/Kbuild klibc-1.5.14/usr/Kbuild
---- klibc-1.5.14.orig/usr/Kbuild 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/usr/Kbuild 2008-09-18 13:08:42.000000000 +0200
-@@ -6,7 +6,7 @@
-
- include-subdir := include
- klibc-subdir := klibc
--usr-subdirs := kinit utils dash gzip
-+usr-subdirs := kinit utils dash
- subdir- := $(include-subdir) $(klibc-subdir) $(usr-subdirs)
-
- usr-subdirs := $(addprefix _usr_,$(usr-subdirs))
-diff -Nur klibc-1.5.14.orig/usr/dash/Kbuild klibc-1.5.14/usr/dash/Kbuild
---- klibc-1.5.14.orig/usr/dash/Kbuild 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/usr/dash/Kbuild 2008-09-18 13:08:42.000000000 +0200
-@@ -23,11 +23,8 @@
- hostprogs-y := mkinit mksyntax mknodes mksignames
- gen-h-files := arith.h builtins.h nodes.h syntax.h token.h
-
--static-y := sh
--
- # The shared binary
--shared-y := sh.shared
--sh.shared-y := $(sh-y)
-+shared-y := sh
-
- # For cleaning
- targets := sh sh.g sh.shared sh.shared.g $(gen-o-files)
-@@ -108,4 +105,4 @@
- $(Q):
-
- # Targets to install
--install-y := sh.shared
-+install-y := sh
-diff -Nur klibc-1.5.14.orig/usr/kinit/Kbuild klibc-1.5.14/usr/kinit/Kbuild
---- klibc-1.5.14.orig/usr/kinit/Kbuild 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/usr/kinit/Kbuild 2008-09-18 13:08:42.000000000 +0200
-@@ -17,9 +17,7 @@
- kinit-y += fstype/
- kinit-y += resume/
-
--static-y := kinit
--shared-y := kinit.shared
--kinit.shared-y := $(kinit-y)
-+shared-y := kinit
-
- # Additional include paths files
- KLIBCCFLAGS += -I$(srctree)/$(src)/fstype \
-@@ -34,4 +32,4 @@
-
-
- # install binary
--install-y := kinit kinit.shared
-+install-y := kinit
-diff -Nur klibc-1.5.14.orig/usr/utils/Kbuild klibc-1.5.14/usr/utils/Kbuild
---- klibc-1.5.14.orig/usr/utils/Kbuild 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/usr/utils/Kbuild 2008-09-18 13:08:56.000000000 +0200
-@@ -4,7 +4,7 @@
-
- progs := chroot dd mkdir mkfifo mknod mount pivot_root umount
- progs += true false sleep ln nuke minips cat
--progs += uname halt kill readlink cpio sync dmesg
-+progs += uname halt readlink sync dmesg
-
- static-y := $(addprefix static/, $(progs))
- shared-y := $(addprefix shared/, $(progs))
diff --git a/abs/core/klibc/klibc-compile-shared-by-default.patch b/abs/core/klibc/klibc-compile-shared-by-default.patch
deleted file mode 100644
index e144c3e..0000000
--- a/abs/core/klibc/klibc-compile-shared-by-default.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur klibc-1.5.orig/klcc/klcc.in klibc-1.5/klcc/klcc.in
---- klibc-1.5.orig/klcc/klcc.in 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/klcc/klcc.in 2007-10-31 09:20:34.000000000 +0100
-@@ -113,7 +113,7 @@
-
- $save_temps = 0; # The -save-temps option
- $verbose = 0; # The -v option
--$shared = 0; # Are we compiling shared?
-+$shared = 1; # Are we compiling shared?
- $debugging = 0; # -g or -p option present?
- $strip = 0; # -s option present?
- undef $output; # -o option present?
diff --git a/abs/core/klibc/klibc-fix-2.6.28-includes.patch b/abs/core/klibc/klibc-fix-2.6.28-includes.patch
deleted file mode 100644
index d7108a4..0000000
--- a/abs/core/klibc/klibc-fix-2.6.28-includes.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur klibc-1.5.14.orig/scripts/Kbuild.klibc klibc-1.5.14/scripts/Kbuild.klibc
---- klibc-1.5.14.orig/scripts/Kbuild.klibc 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/scripts/Kbuild.klibc 2008-12-29 23:59:14.000000000 +0100
-@@ -103,7 +103,7 @@
- -I$(KLIBCINC)
- # kernel include paths
- KLIBCKERNELSRC ?= $(srctree)/
--KLIBCCPPFLAGS += -I$(KLIBCKERNELSRC)include \
-+KLIBCCPPFLAGS += -I$(KLIBCKERNELSRC)include -I$(KLIBCKERNELSRC)arch/x86/include \
- $(if $(KBUILD_SRC),-I$(KLIBCKERNELOBJ)include2 -I$(KLIBCKERNELOBJ)include -I$(srctree)/include) \
- $(KLIBCARCHINCFLAGS)
-
diff --git a/abs/core/klibc/klibc-module-init-tools.patch b/abs/core/klibc/klibc-module-init-tools.patch
deleted file mode 100644
index a5e4532..0000000
--- a/abs/core/klibc/klibc-module-init-tools.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -Nur klibc-1.5.orig/usr/include/sys/elf32.h klibc-1.5/usr/include/sys/elf32.h
---- klibc-1.5.orig/usr/include/sys/elf32.h 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/include/sys/elf32.h 2007-10-31 09:18:09.000000000 +0100
-@@ -110,4 +110,8 @@
- Elf32_Word n_type; /* Content type */
- } Elf32_Nhdr;
-
-+/* How to extract and insert information held in the st_info field. */
-+#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4)
-+#define ELF32_ST_TYPE(val) ((val) & 0xf)
-+
- #endif /* _SYS_ELF32_H */
-diff -Nur klibc-1.5.orig/usr/include/sys/elf64.h klibc-1.5/usr/include/sys/elf64.h
---- klibc-1.5.orig/usr/include/sys/elf64.h 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/include/sys/elf64.h 2007-10-31 09:18:09.000000000 +0100
-@@ -110,4 +110,8 @@
- Elf64_Word n_type; /* Content type */
- } Elf64_Nhdr;
-
-+/* Both Elf32_Sym and Elf64_Sym use the same one-byte st_info field. */
-+#define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
-+#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
-+
- #endif /* _SYS_ELF64_H */
-diff -Nur klibc-1.5.orig/usr/include/sys/elfcommon.h klibc-1.5/usr/include/sys/elfcommon.h
---- klibc-1.5.orig/usr/include/sys/elfcommon.h 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/include/sys/elfcommon.h 2007-10-31 09:18:09.000000000 +0100
-@@ -184,4 +184,14 @@
- #define ELFOSABI_NONE 0
- #define ELFOSABI_LINUX 3
-
-+/* Legal values for ST_BIND subfield of st_info (symbol binding). */
-+#define STB_LOCAL 0 /* Local symbol */
-+#define STB_GLOBAL 1 /* Global symbol */
-+#define STB_WEAK 2 /* Weak symbol */
-+#define STB_NUM 3 /* Number of defined types. */
-+#define STB_LOOS 10 /* Start of OS-specific */
-+#define STB_HIOS 12 /* End of OS-specific */
-+#define STB_LOPROC 13 /* Start of processor-specific */
-+#define STB_HIPROC 15 /* End of processor-specific */
-+
- #endif /* _SYS_ELFCOMMON_H */
-diff -Nur klibc-1.5.orig/usr/utils/Kbuild klibc-1.5/usr/utils/Kbuild
---- klibc-1.5.orig/usr/utils/Kbuild 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/utils/Kbuild 2007-10-31 09:18:28.000000000 +0100
-@@ -4,7 +4,7 @@
-
- progs := chroot dd mkdir mkfifo mknod mount pivot_root umount
- progs += true false sleep ln nuke minips cat
--progs += insmod uname halt kill readlink cpio
-+progs += uname halt kill readlink cpio
-
- static-y := $(addprefix static/, $(progs))
- shared-y := $(addprefix shared/, $(progs))
-@@ -40,8 +40,6 @@
- shared/minips-y := minips.o
- static/cat-y := cat.o
- shared/cat-y := cat.o
--static/insmod-y := insmod.o
--shared/insmod-y := insmod.o
- static/uname-y := uname.o
- shared/uname-y := uname.o
- static/halt-y := halt.o
diff --git a/abs/core/klibc/klibc-x86_64-fix-io.h.patch b/abs/core/klibc/klibc-x86_64-fix-io.h.patch
deleted file mode 100644
index 25ef789..0000000
--- a/abs/core/klibc/klibc-x86_64-fix-io.h.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Nur klibc-1.5.14.orig/usr/include/arch/x86_64/sys/io.h klibc-1.5.14/usr/include/arch/x86_64/sys/io.h
---- klibc-1.5.14.orig/usr/include/arch/x86_64/sys/io.h 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/usr/include/arch/x86_64/sys/io.h 2008-09-18 14:34:20.000000000 +0200
-@@ -60,21 +60,21 @@
- {
- unsigned char __v;
- asm volatile ("inb %1,%0" : "=a" (__v) : "dN"(__p));
-- return v;
-+ return __v;
- }
-
- static __inline__ unsigned short inw(unsigned short __p)
- {
- unsigned short __v;
- asm volatile ("inw %1,%0" : "=a" (__v) : "dN"(__p));
-- return v;
-+ return __v;
- }
-
- static __inline__ unsigned int inl(unsigned short __p)
- {
- unsigned int __v;
- asm volatile ("inl %1,%0" : "=a" (__v) : "dN"(__p));
-- return v;
-+ return __v;
- }
-
- /* String I/O macros */
diff --git a/abs/core/klibc/multiple_raid_assembly_fix.patch b/abs/core/klibc/multiple_raid_assembly_fix.patch
deleted file mode 100644
index 237a1db..0000000
--- a/abs/core/klibc/multiple_raid_assembly_fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/usr/kinit/do_mounts_md.c 2006-07-31 21:16:01.000000000 -0500
-+++ b/usr/kinit/do_mounts_md.c 2006-07-31 21:18:46.000000000 -0500
-@@ -228,6 +228,7 @@
- char *devname;
- mdu_disk_info_t dinfo;
- char name[16];
-+ struct stat st_chk;
-
- dev_minor = md_setup_args[ent].minor;
- partitioned = md_setup_args[ent].partitioned;
-@@ -236,6 +237,9 @@
- snprintf(name, sizeof name,
- "/dev/md%s%d", partitioned ? "_d" : "", dev_minor);
-
-+ if (stat(name, &st_chk) == 0)
-+ continue;
-+
- if (partitioned)
- dev = makedev(mdp_major(), dev_minor << MdpMinorShift);
- else
diff --git a/abs/core/lcms/PKGBUILD b/abs/core/lcms/PKGBUILD
index 3cd6add..effc73c 100644
--- a/abs/core/lcms/PKGBUILD
+++ b/abs/core/lcms/PKGBUILD
@@ -1,24 +1,24 @@
-# $Id: PKGBUILD 9147 2008-08-17 04:15:31Z eric $
+# $Id: PKGBUILD 87526 2010-08-15 13:47:09Z ibiru $
# Maintainer: Tobias Kieslich <neri@archlinux.org>
# Contributor: Ben <contrasutra@myrealbox.com>
pkgname=lcms
-pkgver=1.17
-pkgrel=3
+pkgver=1.19
+pkgrel=1
pkgdesc="Lightweight color management development library/engine"
arch=(i686 x86_64)
-license=('CUSTOM')
-depends=('libtiff')
+license=('custom')
+depends=('libtiff>=3.9.4')
url="http://www.littlecms.com"
options=('!libtool')
-source=(http://littlecms.com/${pkgname}-${pkgver}.tar.gz)
-md5sums=('07bdbb4cfb05d21caa58fe3d1c84ddc1')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('8af94611baf20d9646c7c2c285859818')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr
- make || return 1
- make DESTDIR=${startdir}/pkg install
+ make
+ make DESTDIR=${pkgdir} install
install -Dm 644 COPYING \
- ${startdir}/pkg/usr/share/licenses/${pkgname}/LICENSE
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core/libarchive/PKGBUILD b/abs/core/libarchive/PKGBUILD
index 1c29cd2..ad44d8f 100644
--- a/abs/core/libarchive/PKGBUILD
+++ b/abs/core/libarchive/PKGBUILD
@@ -1,30 +1,35 @@
-# $Id: PKGBUILD 50484 2009-08-27 22:33:42Z thomas $
+# $Id: PKGBUILD 85003 2010-07-06 13:24:34Z dan $
# Maintainer: Dan McGee <dan@archlinux.org>
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=libarchive
-pkgver=2.7.1
+pkgver=2.8.4
pkgrel=1
pkgdesc="library that can create and read several streaming archive formats"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://libarchive.googlecode.com/"
license=('BSD')
-groups=('base')
-depends=('zlib' 'bzip2' 'xz-utils' 'acl' 'openssl')
-source=(http://libarchive.googlecode.com/files/libarchive-$pkgver.tar.gz)
-sha256sums=('a7e066ef857d3db0211e2d916ca14aafc48a4776c4fa108fd67092ce862a7ba8')
+depends=('zlib' 'bzip2' 'xz' 'acl' 'openssl>=1.0.0' 'expat')
+source=("http://libarchive.googlecode.com/files/libarchive-${pkgver}.tar.gz")
+md5sums=('83b237a542f27969a8d68ac217dc3796')
+sha256sums=('86cffa3eaa28d3116f5d0b20284026c3762cf4a2b52b9844df2b494d4a89f688')
# pacman.static build fails unless we keep the libtool files (or unless we link
# the missing symbols inside the libarchive .a static lib, but that is dirty)
-options=(libtool)
+options=('libtool')
+
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --without-xml2
make || return 1
- make DESTDIR=$startdir/pkg install
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
- # install license
- mkdir -p $startdir/pkg/usr/share/licenses/libarchive
- install -m644 COPYING $startdir/pkg/usr/share/licenses/libarchive/
+ install -D -m644 COPYING $pkgdir/usr/share/licenses/libarchive/COPYING
}
diff --git a/abs/core/libcups/PKGBUILD b/abs/core/libcups/PKGBUILD
deleted file mode 100644
index 9b31bd0..0000000
--- a/abs/core/libcups/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 20496 2008-12-05 11:29:11Z allan $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgname=libcups
-pkgver=1.3.9
-pkgrel=4
-pkgdesc="The CUPS Printing System"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://www.cups.org/"
-depends=('gnutls>=2.4.1' 'libtiff' 'libpng' 'heimdal>=1.2')
-source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2)
-md5sums=('72430b36094cf587cf2e0087047d5643')
-
-build() {
- cd ${srcdir}/cups-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --with-logdir=/var/log/cups -with-docdir=/usr/share/cups/doc \
- --with-cups-user=daemon --with-cups-group=lp --enable-ssl=yes \
- --disable-ldap --disable-dbus --libdir=/usr/lib
-
- for dir in cups filter; do
- pushd ${dir}
- make
- make BUILDROOT=${pkgdir} install
- popd
- done
-
- mkdir -p ${startdir}/pkg/usr/bin
- install -m755 cups-config ${startdir}/pkg/usr/bin/cups-config
- #Remove filters
- rm -rf ${startdir}/pkg/usr/lib/cups
-}
diff --git a/abs/core/libdatrie/PKGBUILD b/abs/core/libdatrie/PKGBUILD
index a4408d7..9da01c0 100644
--- a/abs/core/libdatrie/PKGBUILD
+++ b/abs/core/libdatrie/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 35276 2009-04-11 20:11:41Z jgc $
+# $Id: PKGBUILD 71215 2010-03-05 15:34:36Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Chaiwat Suttipongsakul <cwt114@gmail.com>
pkgname=libdatrie
-pkgver=0.2.1
+pkgver=0.2.3
pkgrel=1
pkgdesc="Libdatrie is an implementation of double-array structure for representing trie, as proposed by Junichi Aoe."
url="http://linux.thai.net/~thep/datrie/datrie.html"
@@ -12,7 +12,7 @@ arch=('i686' 'x86_64')
depends=('glibc')
options=('!libtool' '!emptydirs')
source=(http://linux.thai.net/pub/thailinux/software/libthai/${pkgname}-${pkgver}.tar.gz)
-md5sums=('196e485958f74cf13e676d93729067cf')
+md5sums=('c6814f4fe68aa8d41d1b7183ad78d319')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/libdownload/PKGBUILD b/abs/core/libdownload/PKGBUILD
deleted file mode 100644
index 7685097..0000000
--- a/abs/core/libdownload/PKGBUILD
+++ /dev/null
@@ -1,21 +0,0 @@
-# $Id: PKGBUILD 2480 2008-06-03 15:53:46Z aaron $
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
-
-pkgname=libdownload
-pkgver=1.3
-pkgrel=10
-pkgdesc="URL based download library, forked from libfetch"
-arch=('i686' 'x86_64')
-license=('BSD')
-groups=('base')
-depends=('glibc')
-url="http://code.phraktured.net/?p=libdownload.git"
-source=(http://code.phraktured.net/source/$pkgname-$pkgver.tar.gz)
-md5sums=('77e10293fd4262745110eb423a10490c')
-
-build() {
- cd $startdir/src/${pkgname}-${pkgver}
- [ "$CARCH" = "x86_64" ] && sed -i -e "s/-O2\ -pipe/-O2\ -pipe\ \-fPIC/g" Makefile
- make || return 1
- make DESTDIR=$startdir/pkg install
-}
diff --git a/abs/core/libdownload/largefiles.patch b/abs/core/libdownload/largefiles.patch
deleted file mode 100644
index 7b10a4c..0000000
--- a/abs/core/libdownload/largefiles.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -u libdownload-1.1/Makefile libdownload-1.1-new/Makefile
---- libdownload-1.1/Makefile 2006-11-17 10:19:53.000000000 -0500
-+++ libdownload-1.1-new/Makefile 2007-08-17 19:53:21.000000000 -0400
-@@ -3,7 +3,7 @@
- DEBUG = true
- ENABLE_HTTPS = true
-
--CFLAGS = -O2 -pipe -I. -DINET6 -D_GNU_SOURCE
-+CFLAGS = -O2 -pipe -I. -DINET6 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
- WARNINGS = -Wall -Wstrict-prototypes -Wsign-compare -Wchar-subscripts \
- -Wpointer-arith -Wcast-align -Wsign-compare
- CFLAGS += $(WARNINGS)
diff --git a/abs/core/libdrm/COPYING b/abs/core/libdrm/COPYING
new file mode 100644
index 0000000..6e74c33
--- /dev/null
+++ b/abs/core/libdrm/COPYING
@@ -0,0 +1,48 @@
+ Copyright 2005 Adam Jackson.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation on the rights to use, copy, modify, merge,
+ publish, distribute, sub license, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial
+ portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NON-INFRINGEMENT. IN NO EVENT SHALL ADAM JACKSON BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+------------------------------------------------------------------------
+
+ Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
+ Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial
+ portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS
+ SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
diff --git a/abs/core/libdrm/PKGBUILD b/abs/core/libdrm/PKGBUILD
index 816aa2a..68a5a06 100644
--- a/abs/core/libdrm/PKGBUILD
+++ b/abs/core/libdrm/PKGBUILD
@@ -1,20 +1,38 @@
-# $Id: PKGBUILD 19237 2008-11-17 22:36:17Z jgc $
+# $Id: PKGBUILD 86650 2010-08-02 19:36:00Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libdrm
-pkgver=2.3.1
+pkgver=2.4.21
pkgrel=2
pkgdesc="Userspace interface to kernel DRM services"
arch=(i686 x86_64)
+license=('custom')
depends=('glibc')
-options=('!libtool' 'force')
+options=('!libtool')
url="http://dri.freedesktop.org/"
-source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('620fe7dd02c3236c3e9881a3a238173d')
-
+source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ libdrm-2.4.21-b803918f3f.patch
+ no-pthread-stubs.patch
+ COPYING)
+md5sums=('273ed9dad986e3a931649f3d8762ff74'
+ 'd67fab8381b371fe2a8f86e2819aef2b'
+ '9b5ec3bbebe86921e2057694c42f65b8'
+ 'ba65e71c481b94ef0fb6c23c7f21ffa1')
+
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ patch -Np1 -i "${srcdir}/libdrm-2.4.21-b803918f3f.patch"
+ patch -Np1 -i "${srcdir}/no-pthread-stubs.patch"
+ libtoolize --force
+ aclocal
+ autoconf
+ automake
+ ./configure --prefix=/usr \
+ --enable-intel --enable-radeon \
+ --enable-vmwgfx-experimental-api --enable-nouveau-experimental-api \
+ --enable-udev
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/libdrm/libdrm-2.4.21-b803918f3f.patch b/abs/core/libdrm/libdrm-2.4.21-b803918f3f.patch
new file mode 100644
index 0000000..ff8c1c4
--- /dev/null
+++ b/abs/core/libdrm/libdrm-2.4.21-b803918f3f.patch
@@ -0,0 +1,506 @@
+diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
+index a8e072d..3446390 100644
+--- a/intel/intel_bufmgr_gem.c
++++ b/intel/intel_bufmgr_gem.c
+@@ -93,6 +93,7 @@ typedef struct _drm_intel_bufmgr_gem {
+ /** Array of lists of cached gem objects of power-of-two sizes */
+ struct drm_intel_gem_bo_bucket cache_bucket[14 * 4];
+ int num_buckets;
++ time_t time;
+
+ uint64_t gtt_size;
+ int available_fences;
+@@ -132,6 +133,7 @@ struct _drm_intel_bo_gem {
+ */
+ uint32_t tiling_mode;
+ uint32_t swizzle_mode;
++ unsigned long stride;
+
+ time_t free_time;
+
+@@ -200,8 +202,9 @@ drm_intel_gem_bo_get_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
+ uint32_t * swizzle_mode);
+
+ static int
+-drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
+- uint32_t stride);
++drm_intel_gem_bo_set_tiling_internal(drm_intel_bo *bo,
++ uint32_t tiling_mode,
++ uint32_t stride);
+
+ static void drm_intel_gem_bo_unreference_locked_timed(drm_intel_bo *bo,
+ time_t time);
+@@ -251,7 +254,7 @@ drm_intel_gem_bo_tile_size(drm_intel_bufmgr_gem *bufmgr_gem, unsigned long size,
+ */
+ static unsigned long
+ drm_intel_gem_bo_tile_pitch(drm_intel_bufmgr_gem *bufmgr_gem,
+- unsigned long pitch, uint32_t tiling_mode)
++ unsigned long pitch, uint32_t *tiling_mode)
+ {
+ unsigned long tile_width;
+ unsigned long i;
+@@ -259,10 +262,10 @@ drm_intel_gem_bo_tile_pitch(drm_intel_bufmgr_gem *bufmgr_gem,
+ /* If untiled, then just align it so that we can do rendering
+ * to it with the 3D engine.
+ */
+- if (tiling_mode == I915_TILING_NONE)
++ if (*tiling_mode == I915_TILING_NONE)
+ return ALIGN(pitch, 64);
+
+- if (tiling_mode == I915_TILING_X)
++ if (*tiling_mode == I915_TILING_X)
+ tile_width = 512;
+ else
+ tile_width = 128;
+@@ -271,6 +274,14 @@ drm_intel_gem_bo_tile_pitch(drm_intel_bufmgr_gem *bufmgr_gem,
+ if (bufmgr_gem->gen >= 4)
+ return ROUND_UP_TO(pitch, tile_width);
+
++ /* The older hardware has a maximum pitch of 8192 with tiled
++ * surfaces, so fallback to untiled if it's too large.
++ */
++ if (pitch > 8192) {
++ *tiling_mode = I915_TILING_NONE;
++ return ALIGN(pitch, 64);
++ }
++
+ /* Pre-965 needs power of two tile width */
+ for (i = tile_width; i < pitch; i <<= 1)
+ ;
+@@ -549,7 +560,9 @@ static drm_intel_bo *
+ drm_intel_gem_bo_alloc_internal(drm_intel_bufmgr *bufmgr,
+ const char *name,
+ unsigned long size,
+- unsigned long flags)
++ unsigned long flags,
++ uint32_t tiling_mode,
++ unsigned long stride)
+ {
+ drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bufmgr;
+ drm_intel_bo_gem *bo_gem;
+@@ -615,6 +628,13 @@ retry:
+ bucket);
+ goto retry;
+ }
++
++ if (drm_intel_gem_bo_set_tiling_internal(&bo_gem->bo,
++ tiling_mode,
++ stride)) {
++ drm_intel_gem_bo_free(&bo_gem->bo);
++ goto retry;
++ }
+ }
+ }
+ pthread_mutex_unlock(&bufmgr_gem->lock);
+@@ -642,6 +662,17 @@ retry:
+ return NULL;
+ }
+ bo_gem->bo.bufmgr = bufmgr;
++
++ bo_gem->tiling_mode = I915_TILING_NONE;
++ bo_gem->swizzle_mode = I915_BIT_6_SWIZZLE_NONE;
++ bo_gem->stride = 0;
++
++ if (drm_intel_gem_bo_set_tiling_internal(&bo_gem->bo,
++ tiling_mode,
++ stride)) {
++ drm_intel_gem_bo_free(&bo_gem->bo);
++ return NULL;
++ }
+ }
+
+ bo_gem->name = name;
+@@ -650,8 +681,6 @@ retry:
+ bo_gem->reloc_tree_fences = 0;
+ bo_gem->used_as_reloc_target = 0;
+ bo_gem->has_error = 0;
+- bo_gem->tiling_mode = I915_TILING_NONE;
+- bo_gem->swizzle_mode = I915_BIT_6_SWIZZLE_NONE;
+ bo_gem->reusable = 1;
+
+ drm_intel_bo_gem_set_in_aperture_size(bufmgr_gem, bo_gem);
+@@ -669,7 +698,8 @@ drm_intel_gem_bo_alloc_for_render(drm_intel_bufmgr *bufmgr,
+ unsigned int alignment)
+ {
+ return drm_intel_gem_bo_alloc_internal(bufmgr, name, size,
+- BO_ALLOC_FOR_RENDER);
++ BO_ALLOC_FOR_RENDER,
++ I915_TILING_NONE, 0);
+ }
+
+ static drm_intel_bo *
+@@ -678,7 +708,8 @@ drm_intel_gem_bo_alloc(drm_intel_bufmgr *bufmgr,
+ unsigned long size,
+ unsigned int alignment)
+ {
+- return drm_intel_gem_bo_alloc_internal(bufmgr, name, size, 0);
++ return drm_intel_gem_bo_alloc_internal(bufmgr, name, size, 0,
++ I915_TILING_NONE, 0);
+ }
+
+ static drm_intel_bo *
+@@ -687,10 +718,8 @@ drm_intel_gem_bo_alloc_tiled(drm_intel_bufmgr *bufmgr, const char *name,
+ unsigned long *pitch, unsigned long flags)
+ {
+ drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bufmgr;
+- drm_intel_bo *bo;
+ unsigned long size, stride;
+ uint32_t tiling;
+- int ret;
+
+ do {
+ unsigned long aligned_y;
+@@ -717,24 +746,17 @@ drm_intel_gem_bo_alloc_tiled(drm_intel_bufmgr *bufmgr, const char *name,
+ aligned_y = ALIGN(y, 32);
+
+ stride = x * cpp;
+- stride = drm_intel_gem_bo_tile_pitch(bufmgr_gem, stride, tiling);
++ stride = drm_intel_gem_bo_tile_pitch(bufmgr_gem, stride, tiling_mode);
+ size = stride * aligned_y;
+ size = drm_intel_gem_bo_tile_size(bufmgr_gem, size, tiling_mode);
+ } while (*tiling_mode != tiling);
+-
+- bo = drm_intel_gem_bo_alloc_internal(bufmgr, name, size, flags);
+- if (!bo)
+- return NULL;
+-
+- ret = drm_intel_gem_bo_set_tiling(bo, tiling_mode, stride);
+- if (ret != 0) {
+- drm_intel_gem_bo_unreference(bo);
+- return NULL;
+- }
+-
+ *pitch = stride;
+
+- return bo;
++ if (tiling == I915_TILING_NONE)
++ stride = 0;
++
++ return drm_intel_gem_bo_alloc_internal(bufmgr, name, size, flags,
++ tiling, stride);
+ }
+
+ /**
+@@ -791,6 +813,7 @@ drm_intel_bo_gem_create_from_name(drm_intel_bufmgr *bufmgr,
+ }
+ bo_gem->tiling_mode = get_tiling.tiling_mode;
+ bo_gem->swizzle_mode = get_tiling.swizzle_mode;
++ /* XXX stride is unknown */
+ drm_intel_bo_gem_set_in_aperture_size(bufmgr_gem, bo_gem);
+
+ DBG("bo_create_from_handle: %d (%s)\n", handle, bo_gem->name);
+@@ -829,6 +852,9 @@ drm_intel_gem_cleanup_bo_cache(drm_intel_bufmgr_gem *bufmgr_gem, time_t time)
+ {
+ int i;
+
++ if (bufmgr_gem->time == time)
++ return;
++
+ for (i = 0; i < bufmgr_gem->num_buckets; i++) {
+ struct drm_intel_gem_bo_bucket *bucket =
+ &bufmgr_gem->cache_bucket[i];
+@@ -846,6 +872,8 @@ drm_intel_gem_cleanup_bo_cache(drm_intel_bufmgr_gem *bufmgr_gem, time_t time)
+ drm_intel_gem_bo_free(&bo_gem->bo);
+ }
+ }
++
++ bufmgr_gem->time = time;
+ }
+
+ static void
+@@ -854,7 +882,6 @@ drm_intel_gem_bo_unreference_final(drm_intel_bo *bo, time_t time)
+ drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
+ drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
+ struct drm_intel_gem_bo_bucket *bucket;
+- uint32_t tiling_mode;
+ int i;
+
+ /* Unreference all the target buffers */
+@@ -883,9 +910,7 @@ drm_intel_gem_bo_unreference_final(drm_intel_bo *bo, time_t time)
+
+ bucket = drm_intel_gem_bo_bucket_for_size(bufmgr_gem, bo->size);
+ /* Put the buffer into our internal cache for reuse if we can. */
+- tiling_mode = I915_TILING_NONE;
+ if (bufmgr_gem->bo_reuse && bo_gem->reusable && bucket != NULL &&
+- drm_intel_gem_bo_set_tiling(bo, &tiling_mode, 0) == 0 &&
+ drm_intel_gem_bo_madvise_internal(bufmgr_gem, bo_gem,
+ I915_MADV_DONTNEED)) {
+ bo_gem->free_time = time;
+@@ -894,8 +919,6 @@ drm_intel_gem_bo_unreference_final(drm_intel_bo *bo, time_t time)
+ bo_gem->validate_index = -1;
+
+ DRMLISTADDTAIL(&bo_gem->head, &bucket->head);
+-
+- drm_intel_gem_cleanup_bo_cache(bufmgr_gem, time);
+ } else {
+ drm_intel_gem_bo_free(bo);
+ }
+@@ -925,6 +948,7 @@ static void drm_intel_gem_bo_unreference(drm_intel_bo *bo)
+
+ pthread_mutex_lock(&bufmgr_gem->lock);
+ drm_intel_gem_bo_unreference_final(bo, time.tv_sec);
++ drm_intel_gem_cleanup_bo_cache(bufmgr_gem, time.tv_sec);
+ pthread_mutex_unlock(&bufmgr_gem->lock);
+ }
+ }
+@@ -982,12 +1006,9 @@ static int drm_intel_gem_bo_map(drm_intel_bo *bo, int write_enable)
+ &set_domain);
+ } while (ret == -1 && errno == EINTR);
+ if (ret != 0) {
+- ret = -errno;
+ fprintf(stderr, "%s:%d: Error setting to CPU domain %d: %s\n",
+ __FILE__, __LINE__, bo_gem->gem_handle,
+ strerror(errno));
+- pthread_mutex_unlock(&bufmgr_gem->lock);
+- return ret;
+ }
+
+ pthread_mutex_unlock(&bufmgr_gem->lock);
+@@ -1062,9 +1083,7 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
+ DRM_IOCTL_I915_GEM_SET_DOMAIN,
+ &set_domain);
+ } while (ret == -1 && errno == EINTR);
+-
+ if (ret != 0) {
+- ret = -errno;
+ fprintf(stderr, "%s:%d: Error setting domain %d: %s\n",
+ __FILE__, __LINE__, bo_gem->gem_handle,
+ strerror(errno));
+@@ -1072,7 +1091,7 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
+
+ pthread_mutex_unlock(&bufmgr_gem->lock);
+
+- return ret;
++ return 0;
+ }
+
+ int drm_intel_gem_bo_unmap_gtt(drm_intel_bo *bo)
+@@ -1587,7 +1606,7 @@ drm_intel_gem_bo_mrb_exec2(drm_intel_bo *bo, int used,
+
+ if (ret != 0) {
+ ret = -errno;
+- if (ret == -ENOMEM) {
++ if (ret == -ENOSPC) {
+ fprintf(stderr,
+ "Execbuffer fails to pin. "
+ "Estimate: %u. Actual: %u. Available: %u\n",
+@@ -1671,34 +1690,56 @@ drm_intel_gem_bo_unpin(drm_intel_bo *bo)
+ }
+
+ static int
+-drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
+- uint32_t stride)
++drm_intel_gem_bo_set_tiling_internal(drm_intel_bo *bo,
++ uint32_t tiling_mode,
++ uint32_t stride)
+ {
+ drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
+ drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
+ struct drm_i915_gem_set_tiling set_tiling;
+ int ret;
+
+- if (bo_gem->global_name == 0 && *tiling_mode == bo_gem->tiling_mode)
++ if (bo_gem->global_name == 0 &&
++ tiling_mode == bo_gem->tiling_mode &&
++ stride == bo_gem->stride)
+ return 0;
+
+ memset(&set_tiling, 0, sizeof(set_tiling));
+- set_tiling.handle = bo_gem->gem_handle;
+-
+ do {
+- set_tiling.tiling_mode = *tiling_mode;
++ set_tiling.handle = bo_gem->gem_handle;
++ set_tiling.tiling_mode = tiling_mode;
+ set_tiling.stride = stride;
+
+ ret = ioctl(bufmgr_gem->fd,
+ DRM_IOCTL_I915_GEM_SET_TILING,
+ &set_tiling);
+ } while (ret == -1 && errno == EINTR);
+- if (ret == 0) {
+- bo_gem->tiling_mode = set_tiling.tiling_mode;
+- bo_gem->swizzle_mode = set_tiling.swizzle_mode;
++ if (ret == -1)
++ return -errno;
++
++ bo_gem->tiling_mode = set_tiling.tiling_mode;
++ bo_gem->swizzle_mode = set_tiling.swizzle_mode;
++ bo_gem->stride = set_tiling.stride;
++ return 0;
++}
++
++static int
++drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
++ uint32_t stride)
++{
++ drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
++ drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
++ int ret;
++
++ /* Linear buffers have no stride. By ensuring that we only ever use
++ * stride 0 with linear buffers, we simplify our code.
++ */
++ if (*tiling_mode == I915_TILING_NONE)
++ stride = 0;
++
++ ret = drm_intel_gem_bo_set_tiling_internal(bo, *tiling_mode, stride);
++ if (ret == 0)
+ drm_intel_bo_gem_set_in_aperture_size(bufmgr_gem, bo_gem);
+- } else
+- ret = -errno;
+
+ *tiling_mode = bo_gem->tiling_mode;
+ return ret;
+diff --git a/xf86drmMode.c b/xf86drmMode.c
+index f330e6f..ecb1fd5 100644
+--- a/xf86drmMode.c
++++ b/xf86drmMode.c
+@@ -52,6 +52,12 @@
+ #define U642VOID(x) ((void *)(unsigned long)(x))
+ #define VOID2U64(x) ((uint64_t)(unsigned long)(x))
+
++static inline DRM_IOCTL(int fd, int cmd, void *arg)
++{
++ int ret = drmIoctl(fd, cmd, arg);
++ return ret < 0 ? -errno : ret;
++}
++
+ /*
+ * Util functions
+ */
+@@ -242,7 +248,7 @@ int drmModeAddFB(int fd, uint32_t width, uint32_t height, uint8_t depth,
+ f.depth = depth;
+ f.handle = bo_handle;
+
+- if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_ADDFB, &f)))
++ if ((ret = DRM_IOCTL(fd, DRM_IOCTL_MODE_ADDFB, &f)))
+ return ret;
+
+ *buf_id = f.fb_id;
+@@ -251,7 +257,7 @@ int drmModeAddFB(int fd, uint32_t width, uint32_t height, uint8_t depth,
+
+ int drmModeRmFB(int fd, uint32_t bufferId)
+ {
+- return drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &bufferId);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_RMFB, &bufferId);
+
+
+ }
+@@ -289,7 +295,7 @@ int drmModeDirtyFB(int fd, uint32_t bufferId,
+ dirty.clips_ptr = VOID2U64(clips);
+ dirty.num_clips = num_clips;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_DIRTYFB, &dirty);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_DIRTYFB, &dirty);
+ }
+
+
+@@ -344,7 +350,7 @@ int drmModeSetCrtc(int fd, uint32_t crtcId, uint32_t bufferId,
+ } else
+ crtc.mode_valid = 0;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_SETCRTC, &crtc);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_SETCRTC, &crtc);
+ }
+
+ /*
+@@ -361,7 +367,7 @@ int drmModeSetCursor(int fd, uint32_t crtcId, uint32_t bo_handle, uint32_t width
+ arg.height = height;
+ arg.handle = bo_handle;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_CURSOR, &arg);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_CURSOR, &arg);
+ }
+
+ int drmModeMoveCursor(int fd, uint32_t crtcId, int x, int y)
+@@ -373,7 +379,7 @@ int drmModeMoveCursor(int fd, uint32_t crtcId, int x, int y)
+ arg.x = x;
+ arg.y = y;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_CURSOR, &arg);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_CURSOR, &arg);
+ }
+
+ /*
+@@ -510,7 +516,7 @@ int drmModeAttachMode(int fd, uint32_t connector_id, drmModeModeInfoPtr mode_inf
+ memcpy(&res.mode, mode_info, sizeof(struct drm_mode_modeinfo));
+ res.connector_id = connector_id;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_ATTACHMODE, &res);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_ATTACHMODE, &res);
+ }
+
+ int drmModeDetachMode(int fd, uint32_t connector_id, drmModeModeInfoPtr mode_info)
+@@ -520,7 +526,7 @@ int drmModeDetachMode(int fd, uint32_t connector_id, drmModeModeInfoPtr mode_inf
+ memcpy(&res.mode, mode_info, sizeof(struct drm_mode_modeinfo));
+ res.connector_id = connector_id;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_DETACHMODE, &res);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_DETACHMODE, &res);
+ }
+
+
+@@ -637,16 +643,12 @@ int drmModeConnectorSetProperty(int fd, uint32_t connector_id, uint32_t property
+ uint64_t value)
+ {
+ struct drm_mode_connector_set_property osp;
+- int ret;
+
+ osp.connector_id = connector_id;
+ osp.prop_id = property_id;
+ osp.value = value;
+
+- if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_SETPROPERTY, &osp)))
+- return ret;
+-
+- return 0;
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_SETPROPERTY, &osp);
+ }
+
+ /*
+@@ -715,7 +717,6 @@ int drmCheckModesettingSupported(const char *busid)
+ int drmModeCrtcGetGamma(int fd, uint32_t crtc_id, uint32_t size,
+ uint16_t *red, uint16_t *green, uint16_t *blue)
+ {
+- int ret;
+ struct drm_mode_crtc_lut l;
+
+ l.crtc_id = crtc_id;
+@@ -724,16 +725,12 @@ int drmModeCrtcGetGamma(int fd, uint32_t crtc_id, uint32_t size,
+ l.green = VOID2U64(green);
+ l.blue = VOID2U64(blue);
+
+- if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_GETGAMMA, &l)))
+- return ret;
+-
+- return 0;
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_GETGAMMA, &l);
+ }
+
+ int drmModeCrtcSetGamma(int fd, uint32_t crtc_id, uint32_t size,
+ uint16_t *red, uint16_t *green, uint16_t *blue)
+ {
+- int ret;
+ struct drm_mode_crtc_lut l;
+
+ l.crtc_id = crtc_id;
+@@ -742,10 +739,7 @@ int drmModeCrtcSetGamma(int fd, uint32_t crtc_id, uint32_t size,
+ l.green = VOID2U64(green);
+ l.blue = VOID2U64(blue);
+
+- if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_SETGAMMA, &l)))
+- return ret;
+-
+- return 0;
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_SETGAMMA, &l);
+ }
+
+ int drmHandleEvent(int fd, drmEventContextPtr evctx)
+@@ -810,5 +804,5 @@ int drmModePageFlip(int fd, uint32_t crtc_id, uint32_t fb_id,
+ flip.flags = flags;
+ flip.reserved = 0;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_PAGE_FLIP, &flip);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_PAGE_FLIP, &flip);
+ }
diff --git a/abs/core/libdrm/no-pthread-stubs.patch b/abs/core/libdrm/no-pthread-stubs.patch
new file mode 100644
index 0000000..6602f87
--- /dev/null
+++ b/abs/core/libdrm/no-pthread-stubs.patch
@@ -0,0 +1,65 @@
+diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
+--- libdrm-2.4.0/configure.ac 2008-10-09 21:57:09.000000000 +0200
++++ libdrm-2.4.0-nostubs/configure.ac 2008-10-21 10:48:24.000000000 +0200
+@@ -32,10 +32,6 @@
+ AC_HEADER_STDC
+ AC_SYS_LARGEFILE
+
+-PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs)
+-AC_SUBST(PTHREADSTUBS_CFLAGS)
+-AC_SUBST(PTHREADSTUBS_LIBS)
+-
+ pkgconfigdir=${libdir}/pkgconfig
+ AC_SUBST(pkgconfigdir)
+ AC_ARG_ENABLE(udev, AS_HELP_STRING([--enable-udev],
+--- libdrm-2.4.16/intel/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/intel/Makefile.am.new 2009-12-07 08:11:32.235748069 +0000
+@@ -26,13 +26,12 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/intel \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+ libdrm_intel_la_LTLIBRARIES = libdrm_intel.la
+ libdrm_intel_ladir = $(libdir)
+ libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+-libdrm_intel_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ @CLOCK_LIB@
++libdrm_intel_la_LIBADD = ../libdrm.la @CLOCK_LIB@
+
+ libdrm_intel_la_SOURCES = \
+ intel_atomic.h \
+--- libdrm-2.4.16/radeon/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/radeon/Makefile.am.new 2009-12-07 08:12:31.889075388 +0000
+@@ -26,13 +26,12 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/radeon \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+ libdrm_radeon_la_LTLIBRARIES = libdrm_radeon.la
+ libdrm_radeon_ladir = $(libdir)
+ libdrm_radeon_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+-libdrm_radeon_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
++libdrm_radeon_la_LIBADD = ../libdrm.la
+
+ libdrm_radeon_la_SOURCES = \
+ radeon_bo_gem.c \
+--- libdrm-2.4.16/nouveau/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/nouveau/Makefile.am.new 2009-12-07 08:13:01.489072320 +0000
+@@ -2,13 +2,12 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/nouveau \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+ libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
+ libdrm_nouveau_ladir = $(libdir)
+ libdrm_nouveau_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+-libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
++libdrm_nouveau_la_LIBADD = ../libdrm.la
+
+ libdrm_nouveau_la_SOURCES = \
+ nouveau_device.c \
diff --git a/abs/core/libfetch/Makefile b/abs/core/libfetch/Makefile
index 15df96e..53bcee9 100644
--- a/abs/core/libfetch/Makefile
+++ b/abs/core/libfetch/Makefile
@@ -5,7 +5,7 @@ FETCH_WITH_INET6 = true
FETCH_WITH_OPENSSL = true
WARNINGS = -Wall -Wstrict-prototypes -Wsign-compare -Wchar-subscripts \
- -Wpointer-arith -Wcast-align -Wsign-compare
+ -Wpointer-arith -Wcast-align
CFLAGS = -O2 -pipe -I. -fPIC $(WARNINGS) \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES
@@ -42,18 +42,17 @@ E = @/bin/echo
Q = @
all: libfetch.so libfetch.a
- $(E) " built with: " $(CFLAGS)
.PHONY: all
%.o: %.c $(INCS) $(GEN)
$(E) " compile " $@
$(Q) $(CC) $(CFLAGS) -c $<
-ftperr.h: ftp.errors
+ftperr.h: ftp.errors Makefile errlist.sh
$(E) " generate " $@
$(Q) ./errlist.sh ftp_errlist FTP ftp.errors > $@
-httperr.h: http.errors
+httperr.h: http.errors Makefile errlist.sh
$(E) " generate " $@
$(Q) ./errlist.sh http_errlist HTTP http.errors > $@
@@ -61,12 +60,14 @@ libfetch.so: $(GEN) $(INCS) $(OBJS)
$(E) " build " $@
$(Q) rm -f $@
$(Q) $(LD) $(LDFLAGS) *.o -shared -o $@
+ $(E) " built with: " $(CFLAGS)
libfetch.a: $(GEN) $(INCS) $(OBJS)
$(E) " build " $@
$(Q) rm -f $@
$(Q) $(AR) rcs $@ *.o
$(Q) $(RANLIB) $@
+ $(E) " built with: " $(CFLAGS)
clean:
$(E) " clean "
diff --git a/abs/core/libfetch/PKGBUILD b/abs/core/libfetch/PKGBUILD
index 8cdbd2c..641e7d4 100644
--- a/abs/core/libfetch/PKGBUILD
+++ b/abs/core/libfetch/PKGBUILD
@@ -3,16 +3,20 @@
# Contributor: Xavier Chantry <shiningxc@gmail.com>
pkgname=libfetch
-pkgver=2.26
+pkgver=2.33
pkgrel=1
pkgdesc="URL based download library"
arch=('i686' 'x86_64')
license=('BSD')
-groups=('base')
-depends=('openssl')
+depends=('openssl>=1.0.0')
url="http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/net/libfetch/"
source=(Makefile
ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('5167d18db7660228e75290fc7d25fe56'
+ 'a176b94f7f30344ef8a71c047ca2136b')
+
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
# source PKGBUILD && mksource
mksource() {
@@ -28,11 +32,15 @@ mksource() {
}
build() {
- cd $srcdir/${pkgname}-${pkgver}
- cp ../Makefile .
+ cd $srcdir/$pkgname-$pkgver
+ cp $srcdir/Makefile .
make || return 1
- make DESTDIR=$pkgdir install
}
-md5sums=('cea609a8d6fd97761e364f7203e6d609'
- '2dc53c0b5480d3dd5157482379820806')
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ licdir=$pkgdir/usr/share/licenses/libfetch/
+ mkdir -p $licdir
+ sed -n -e '/Copyright (c)/,/SUCH DAMAGE\./p' common.c | cut -c '4-' > $licdir/LICENSE
+}
diff --git a/abs/core/libfetch/libfetch-2.33-1-i686.pkg.tar.gz b/abs/core/libfetch/libfetch-2.33-1-i686.pkg.tar.gz
new file mode 120000
index 0000000..2c8ffbe
--- /dev/null
+++ b/abs/core/libfetch/libfetch-2.33-1-i686.pkg.tar.gz
@@ -0,0 +1 @@
+/data/pkg_repo/packages/libfetch-2.33-1-i686.pkg.tar.gz \ No newline at end of file
diff --git a/abs/core/libfontenc/PKGBUILD b/abs/core/libfontenc/PKGBUILD
index 8e79264..b4d7cbe 100644
--- a/abs/core/libfontenc/PKGBUILD
+++ b/abs/core/libfontenc/PKGBUILD
@@ -1,24 +1,27 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 50982 2009-09-04 12:17:17Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libfontenc
-pkgver=1.0.4
+pkgver=1.0.5
pkgrel=1
pkgdesc="X11 font encoding library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('zlib')
-makedepends=('pkgconfig' 'xproto')
-options=('libtool')
+makedepends=('pkgconfig' 'xproto>=7.0.15')
+options=('!libtool')
source=(${url}/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('5cd16a2e51ca7b96a3081c7486ff98b9')
+sha1sums=('e71370c349e93ba70f91ad1148ca9e5cabfcca4f')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var --disable-static \
- --with-encodingsdir=/usr/share/fonts/encodings
+ --localstatedir=/var --disable-static \
+ --with-encodingsdir=/usr/share/fonts/encodings || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/libgcrypt/PKGBUILD b/abs/core/libgcrypt/PKGBUILD
index 5498563..c262700 100644
--- a/abs/core/libgcrypt/PKGBUILD
+++ b/abs/core/libgcrypt/PKGBUILD
@@ -1,24 +1,33 @@
-# $Id: PKGBUILD 32861 2009-04-01 19:16:30Z andyrtr $
+# $Id: PKGBUILD 85547 2010-07-15 21:16:57Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=libgcrypt
-pkgver=1.4.4
+pkgver=1.4.6
pkgrel=1
pkgdesc="a general purpose crypto library based on the code used"
arch=(i686 x86_64)
url="http://www.gnupg.org"
license=('LGPL')
-groups=('base')
-depends=('libgpg-error>=1.6' 'texinfo')
+depends=('libgpg-error>=1.7')
options=(!libtool)
-source=(#ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2
- ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgcrypt/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('34105aa927e23c217741966496b97e67')
+source=(ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ #ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgcrypt/${pkgname}-${pkgver}.tar.bz2
+)
+md5sums=('dbf99425a4fe9217c84ce3a35d938634')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr --disable-padlock-support --disable-static
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -f ${pkgdir}/usr/share/info/dir
+ # keep static library for , needed for cryptsetup
+ ./configure --prefix=/usr --disable-padlock-support
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
+ # Move dynamic libraries to /lib
+ install -d -m755 "${pkgdir}"/lib/ || return 1
+ mv "${pkgdir}"/usr/lib/libgcrypt.so* "${pkgdir}"/lib/ || return 1
+ ln -sf /lib/libgcrypt.so "${pkgdir}"/usr/lib/libgcrypt.so || return 1
}
diff --git a/abs/core/libgl/PKGBUILD b/abs/core/libgl/PKGBUILD
deleted file mode 100644
index ce2faba..0000000
--- a/abs/core/libgl/PKGBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# $Id: PKGBUILD 12994 2008-09-25 18:01:13Z jgc $
-# Maintainer: Alexander Baldeck <kth5@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=libgl
-pkgver=7.2
-pkgrel=1
-pkgdesc="Mesa DRI OpenGL library and drivers"
-arch=(i686 x86_64)
-license=('LGPL')
-url="http://www.mesa3d.org"
-depends=('libdrm>=2.3.1' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1')
-makedepends=('dri2proto>=1.1' 'glproto>=1.4.9' 'pkgconfig')
-provides=('libgl-dri')
-replaces=('libgl-dri' 'libgl-mesa')
-options=(!makeflags)
-source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
-
-build() {
- cd ${startdir}/src/Mesa-${pkgver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=swrast \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -rf ${pkgdir}/usr/include
- rm -rf ${pkgdir}/usr/lib/pkgconfig
- install -m755 -d ${pkgdir}/usr/lib/xorg/modules/extensions
- ln -sf libglx.xorg ${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so || return 1
-}
diff --git a/abs/core/libgl/mesa-7.1-link-shared.patch b/abs/core/libgl/mesa-7.1-link-shared.patch
deleted file mode 100644
index 7fdbf14..0000000
--- a/abs/core/libgl/mesa-7.1-link-shared.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.dricore mesa-20080814/src/mesa/drivers/dri/Makefile
---- mesa-20080814/src/mesa/drivers/dri/Makefile.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile 2008-08-14 16:18:20.000000000 +1000
-@@ -6,12 +6,17 @@ include $(TOP)/configs/current
-
-
-
--default: $(TOP)/$(LIB_DIR) subdirs
-+default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs
-
-
- $(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
-
-+libdricore.so:
-+ gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc
-+
-+$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so
-+ $(INSTALL) libdricore.so $(TOP)/$(LIB_DIR)
-
- subdirs:
- @for dir in $(DRI_DIRS) ; do \
-@@ -31,12 +36,14 @@ dri.pc: dri.pc.in
- $(pcedit) $< > $@
-
-
--install: dri.pc
-+install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so
- @for dir in $(DRI_DIRS) ; do \
- if [ -d $$dir ] ; then \
- (cd $$dir && $(MAKE) install) || exit 1 ; \
- fi \
- done
-+ $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-+ $(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
- $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \
- $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
-@@ -52,5 +59,6 @@ clean:
- (cd $$dir && $(MAKE) clean) ; \
- fi \
- done
-+ -rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so
- -rm -f common/*.o
- -rm -f *.pc
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore mesa-20080814/src/mesa/drivers/dri/Makefile.template
---- mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile.template 2008-08-14 16:19:37.000000000 +1000
-@@ -1,6 +1,6 @@
- # -*-makefile-*-
-
--MESA_MODULES = $(TOP)/src/mesa/libmesa.a
-+MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so
-
- COMMON_SOURCES = \
- ../common/utils.c \
-@@ -64,7 +64,9 @@ default: symlinks depend $(LIBNAME) $(TO
-
- $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
- $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-- $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
-+ $(OBJECTS) $(WINOBJ) \
-+ -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \
-+ $(DRI_LIB_DEPS)
-
-
- $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
-diff -up mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore mesa-20080814/src/mesa/x86/read_rgba_span_x86.S
---- mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/x86/read_rgba_span_x86.S 2008-08-14 16:16:49.000000000 +1000
-@@ -77,7 +77,6 @@
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_MMX
--.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
- .type _generic_read_RGBA_span_BGRA8888_REV_MMX, @function
- _generic_read_RGBA_span_BGRA8888_REV_MMX:
- pushl %ebx
-@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE:
- pushl %esi
-@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE2:
- pushl %esi
-@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_RGB565_MMX
-- .hidden _generic_read_RGBA_span_RGB565_MMX
- .type _generic_read_RGBA_span_RGB565_MMX, @function
-
- _generic_read_RGBA_span_RGB565_MMX:
diff --git a/abs/core/libgpg-error/PKGBUILD b/abs/core/libgpg-error/PKGBUILD
index 834b39c..b7083bb 100644
--- a/abs/core/libgpg-error/PKGBUILD
+++ b/abs/core/libgpg-error/PKGBUILD
@@ -1,23 +1,28 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 80074 2010-05-10 21:13:12Z thomas $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=libgpg-error
-pkgver=1.6
-pkgrel=10
+pkgver=1.7
+pkgrel=3
pkgdesc="Support library for libgcrypt"
arch=(i686 x86_64)
url="http://www.gnupg.org"
license=('LGPL')
-groups=('base')
-depends=('glibc')
+depends=('glibc' 'sh')
options=(!libtool)
source=(#ftp://ftp.gnupg.org/gcrypt/libgpg-error/${pkgname}-${pkgver}.tar.bz2
ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgpg-error/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('f3e9870e213518b407a959f8d29cd554')
+md5sums=('62c0d09d1e76c5b6da8fff92314c4665')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ # keep static lib for crypsetup
./configure --prefix=/usr
make || return 1
- make DESTDIR=${startdir}/pkg install
+ make DESTDIR="${pkgdir}/" install || return 1
+
+ # Move dynamic libraries to /lib
+ install -d -m755 "${pkgdir}"/lib/ || return 1
+ mv "${pkgdir}"/usr/lib/libgpg-error.so* "${pkgdir}"/lib/ || return 1
+ ln -sf /lib/libgpg-error.so "${pkgdir}"/usr/lib/libgpg-error.so || return 1
}
diff --git a/abs/core/libjpeg/PKGBUILD b/abs/core/libjpeg/PKGBUILD
index 3f671b4..bd2b17f 100644
--- a/abs/core/libjpeg/PKGBUILD
+++ b/abs/core/libjpeg/PKGBUILD
@@ -1,9 +1,10 @@
-# $Id$
+# $Id: PKGBUILD 81760 2010-06-02 23:44:07Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=libjpeg
-pkgver=7
+pkgver=8.0.2
+_pkgver=8b
pkgrel=1
pkgdesc="Library of JPEG support functions"
arch=('i686' 'x86_64')
@@ -11,17 +12,17 @@ url="http://www.ijg.org/"
license=('custom')
depends=('glibc')
makedepends=('libtool')
-options=(!libtool)
-source=(http://www.ijg.org/files/jpegsrc.v7.tar.gz)
-md5sums=('382ef33b339c299b56baf1296cda9785')
+options=('!libtool')
+source=(http://www.ijg.org/files/jpegsrc.v${_pkgver}.tar.gz)
+md5sums=('e022acbc5b36cd2cb70785f5b575661e')
build() {
- cd $srcdir/jpeg-$pkgver
+ cd $srcdir/jpeg-${_pkgver}
./configure --prefix=/usr --enable-shared --enable-static
make || return 1
make prefix=$pkgdir/usr mandir=$pkgdir/usr/share/man install
- # See FS#11116 - re-assess need with v7 release sometime...
+ # See FS#11116 - re-assess current need sometime...
install -m644 jpegint.h $pkgdir/usr/include
install -Dm644 README $pkgdir/usr/share/licenses/libjpeg/README
diff --git a/abs/core/libldap/PKGBUILD b/abs/core/libldap/PKGBUILD
index 616e6a3..06babfd 100644
--- a/abs/core/libldap/PKGBUILD
+++ b/abs/core/libldap/PKGBUILD
@@ -1,62 +1,74 @@
-# $Id: PKGBUILD 1627 2008-05-14 03:02:30Z eric $
-# Maintainer: Judd Vinet <jvinet@zeroflux.org>
+# $Id: PKGBUILD 83737 2010-06-22 18:32:52Z andrea $
+# Maintainer:
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
pkgname=libldap
-pkgver=2.4.11
+pkgver=2.4.22
pkgrel=1
-pkgdesc="LDAP client libraries"
-arch=(i686 x86_64)
+pkgdesc="Lightweight Directory Access Protocol (LDAP) client libraries"
+arch=('i686' 'x86_64')
license=('custom')
url="http://www.openldap.org/"
backup=(etc/openldap/ldap.conf)
-depends=('libsasl' 'openssl>=0.9.8f')
-options=('!libtool' '!makeflags')
+depends=('libsasl' 'openssl')
makedepends=('tcp_wrappers')
-source=(ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-${pkgver}.tgz
- ntlm.patch
- peercred.patch)
+options=('!libtool')
+source=("ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-${pkgver}.tgz"
+ 'ntlm.patch')
+md5sums=('ef01b52255ce8e3fbf8aa34f6fe7598b'
+ 'dfa9eb6f2fd9d0a3dab0e1860923489e')
build() {
- cd ${startdir}/src/openldap-${pkgver}
-# patch -Np0 -i ${startdir}/src/ntlm.patch || return 1
- patch -Np0 -i ${startdir}/src/peercred.patch || return 1
+ cd ${srcdir}/openldap-${pkgver}
+
+ patch -Np1 -i ${srcdir}/ntlm.patch
./configure --prefix=/usr \
--libexecdir=/usr/sbin \
--sysconfdir=/etc \
+ --mandir=/usr/share/man \
--localstatedir=/var/lib/openldap \
--enable-crypt --enable-dynamic \
--with-threads --enable-wrappers \
--enable-spasswd --with-cyrus-sasl \
--disable-bdb --disable-hdb
+
cd include
- make || return 1
- make DESTDIR=${startdir}/pkg install
+ make
cd ../libraries
make depend
- make || return 1
-
- make DESTDIR=${startdir}/pkg install
+ make
cd ../doc/man/man3
make
- make DESTDIR=${startdir}/pkg install
+
+ cd ../man5
+ make
+}
+
+package() {
+ cd ${srcdir}/openldap-${pkgver}
+
+ cd include
+ make DESTDIR=${pkgdir} install
+
+ cd ../libraries
+ make DESTDIR=${pkgdir} install
+
+ cd ../doc/man/man3
+ make DESTDIR=${pkgdir} install
cd ../man5
- make
- mkdir -p ${startdir}/pkg/usr/man/man5
- install -m644 ldap.conf.5.tmp ${startdir}/pkg/usr/man/man5/ldap.conf.5
+ install -Dm644 ldap.conf.5.tmp \
+ ${pkgdir}/usr/share/man/man5/ldap.conf.5
# get rid of duplicate default conf files
- rm ${startdir}/pkg/etc/openldap/*.default
+ rm ${pkgdir}/etc/openldap/*.default
- ln -sf liblber.so ${startdir}/pkg/usr/lib/liblber.so.2
- ln -sf libldap.so ${startdir}/pkg/usr/lib/libldap.so.2
+ ln -sf liblber.so ${pkgdir}/usr/lib/liblber.so.2
+ ln -sf libldap.so ${pkgdir}/usr/lib/libldap.so.2
- mkdir -p ${startdir}/pkg/usr/share/licenses/openldap
- install -m644 ${startdir}/src/openldap-${pkgver}/LICENSE \
- ${startdir}/pkg/usr/share/licenses/openldap/
+ install -Dm644 ${srcdir}/openldap-${pkgver}/LICENSE \
+ ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
}
-md5sums=('920fedbbb5bc61c2ca52c56edeef770a'
- '64c539d5f01f46f329b9d5c1324be4e9'
- 'acc4112845522a6a1a517064c216f781')
diff --git a/abs/core/libldap/ntlm.patch b/abs/core/libldap/ntlm.patch
index fca806b..a4fe4d4 100644
--- a/abs/core/libldap/ntlm.patch
+++ b/abs/core/libldap/ntlm.patch
@@ -1,25 +1,50 @@
---- libraries/libldap/Makefile.in.orig 2004-01-01 13:16:29.000000000 -0500
-+++ libraries/libldap/Makefile.in 2004-07-14 13:37:23.000000000 -0400
-@@ -20,7 +20,7 @@
- SRCS = bind.c open.c result.c error.c compare.c search.c \
- controls.c messages.c references.c extended.c cyrus.c \
- modify.c add.c modrdn.c delete.c abandon.c \
-- sasl.c sbind.c kbind.c unbind.c cancel.c \
-+ sasl.c ntlm.c sbind.c kbind.c unbind.c cancel.c \
- filter.c free.c sort.c passwd.c whoami.c \
- getdn.c getentry.c getattr.c getvalues.c addentry.c \
- request.c os-ip.c url.c sortctrl.c vlvctrl.c \
-@@ -29,7 +29,7 @@
- OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \
- controls.lo messages.lo references.lo extended.lo cyrus.lo \
- modify.lo add.lo modrdn.lo delete.lo abandon.lo \
-- sasl.lo sbind.lo kbind.lo unbind.lo cancel.lo \
-+ sasl.lo ntlm.lo sbind.lo kbind.lo unbind.lo cancel.lo \
- filter.lo free.lo sort.lo passwd.lo whoami.lo \
- getdn.lo getentry.lo getattr.lo getvalues.lo addentry.lo \
- request.lo os-ip.lo url.lo sortctrl.lo vlvctrl.lo \
---- /dev/null 1970-01-01 01:00:00.000000000 +0100
-+++ libraries/libldap/ntlm.c 2005-12-02 09:47:08.226364500 +0100
+Patch from evolution-exchange (2.10.3). The ldap_ntlm_bind function is
+actually called by evolution-data-server, checked at version 1.12.2.
+Without this patch, the Exchange addressbook integration uses simple binds
+with cleartext passwords.
+
+Russ checked with openldap-software for upstream's opinion on this patch
+on 2007-12-21. Upstream had never received it as a patch submission and
+given that it's apparently only for older Exchange servers that can't do
+SASL and DIGEST-MD5, it's not very appealing.
+
+Bug#457374 filed against evolution-data-server asking if this support is
+still required on 2007-12-21.
+
+Index: trunk/include/ldap.h
+===================================================================
+--- trunk.orig/include/ldap.h
++++ trunk/include/ldap.h
+@@ -2461,5 +2461,25 @@
+ LDAPControl **ctrls,
+ LDAPDerefRes **drp ));
+
++/*
++ * hacks for NTLM
++ */
++#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU)
++#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU)
++LDAP_F( int )
++ldap_ntlm_bind LDAP_P((
++ LDAP *ld,
++ LDAP_CONST char *dn,
++ ber_tag_t tag,
++ struct berval *cred,
++ LDAPControl **sctrls,
++ LDAPControl **cctrls,
++ int *msgidp ));
++LDAP_F( int )
++ldap_parse_ntlm_bind_result LDAP_P((
++ LDAP *ld,
++ LDAPMessage *res,
++ struct berval *challenge));
++
+ LDAP_END_DECL
+ #endif /* _LDAP_H */
+Index: trunk/libraries/libldap/ntlm.c
+===================================================================
+--- /dev/null
++++ trunk/libraries/libldap/ntlm.c
@@ -0,0 +1,138 @@
+/* $OpenLDAP: pkg/ldap/libraries/libldap/ntlm.c,v 1.1.4.10 2002/01/04 20:38:21 kurt Exp $ */
+/*
@@ -159,31 +184,47 @@
+ return( ld->ld_errno );
+}
+
---- include/ldap.h.orig
-+++ include/ldap.h
-@@ -2115,5 +2115,25 @@
- ldap_passwordpolicy_err2txt LDAP_P(( LDAPPasswordPolicyError ));
- #endif /* LDAP_CONTROL_PASSWORDPOLICYREQUEST */
+Index: trunk/libraries/libldap/Makefile.in
+===================================================================
+--- trunk.orig/libraries/libldap/Makefile.in
++++ trunk/libraries/libldap/Makefile.in
+@@ -27,7 +27,7 @@
+ init.c options.c print.c string.c util-int.c schema.c \
+ charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
+ tls2.c tls_o.c tls_g.c tls_m.c \
+- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \
+ assertion.c deref.c
-+/*
-+ * hacks for NTLM
-+ */
-+#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU)
-+#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU)
-+LDAP_F( int )
-+ldap_ntlm_bind LDAP_P((
-+ LDAP *ld,
-+ LDAP_CONST char *dn,
-+ ber_tag_t tag,
-+ struct berval *cred,
-+ LDAPControl **sctrls,
-+ LDAPControl **cctrls,
-+ int *msgidp ));
-+LDAP_F( int )
-+ldap_parse_ntlm_bind_result LDAP_P((
-+ LDAP *ld,
-+ LDAPMessage *res,
-+ struct berval *challenge));
-+
- LDAP_END_DECL
- #endif /* _LDAP_H */
+ OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \
+@@ -40,7 +40,7 @@
+ init.lo options.lo print.lo string.lo util-int.lo schema.lo \
+ charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
+ tls2.lo tls_o.lo tls_g.lo tls_m.lo \
+- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \
+ assertion.lo deref.lo
+
+ LDAP_INCDIR= ../../include
+Index: trunk/libraries/libldap_r/Makefile.in
+===================================================================
+--- trunk.orig/libraries/libldap_r/Makefile.in
++++ trunk/libraries/libldap_r/Makefile.in
+@@ -29,7 +29,7 @@
+ init.c options.c print.c string.c util-int.c schema.c \
+ charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
+ tls2.c tls_o.c tls_g.c tls_m.c \
+- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \
+ assertion.c deref.c
+ SRCS = threads.c rdwr.c rmutex.c tpool.c rq.c \
+ thr_posix.c thr_cthreads.c thr_thr.c thr_lwp.c thr_nt.c \
+@@ -47,7 +47,7 @@
+ init.lo options.lo print.lo string.lo util-int.lo schema.lo \
+ charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
+ tls2.lo tls_o.lo tls_g.lo tls_m.lo \
+- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \
+ assertion.lo deref.lo
+
+ LDAP_INCDIR= ../../include
diff --git a/abs/core/libmpc/PKGBUILD b/abs/core/libmpc/PKGBUILD
new file mode 100644
index 0000000..9aad761
--- /dev/null
+++ b/abs/core/libmpc/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 82441 2010-06-11 06:42:48Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+pkgname=libmpc
+pkgver=0.8.2
+pkgrel=2
+pkgdesc="Library for the arithmetic of complex numbers with arbitrarily high precision"
+arch=('i686' 'x86_64')
+url="http://www.multiprecision.org"
+license=('LGPL')
+depends=('mpfr>=3.0.0')
+options=('!libtool')
+install=libmpc.install
+source=(http://www.multiprecision.org/mpc/download/mpc-${pkgver/_/-}.tar.gz)
+md5sums=('e98267ebd5648a39f881d66797122fb6')
+
+build() {
+ cd $srcdir/mpc-$pkgver
+ ./configure --prefix=/usr
+ make
+ make check
+}
+
+package() {
+ cd $srcdir/mpc-$pkgver
+ make DESTDIR=$pkgdir/ install
+ mv -f $pkgdir/usr/share/info/{mpc,libmpc}.info
+}
diff --git a/abs/core/libmpc/libmpc.install b/abs/core/libmpc/libmpc.install
new file mode 100644
index 0000000..bb20831
--- /dev/null
+++ b/abs/core/libmpc/libmpc.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(libmpc.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/core/libpciaccess/PKGBUILD b/abs/core/libpciaccess/PKGBUILD
index 499f365..de8174d 100644
--- a/abs/core/libpciaccess/PKGBUILD
+++ b/abs/core/libpciaccess/PKGBUILD
@@ -1,18 +1,18 @@
# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=libpciaccess
-pkgver=0.10.5
+pkgver=0.11.0
pkgrel=1
pkgdesc="X11 PCI access library"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig')
+makedepends=('pkgconfig' 'xorg-util-macros')
options=('!libtool')
source=(${url}/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('617bebf31e5685c83f935009aeae5f38')
+sha1sums=('bcebba8b8441af151b59b63e8e91e66133b64158')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/libpng/PKGBUILD b/abs/core/libpng/PKGBUILD
index 12515ed..d665f3f 100644
--- a/abs/core/libpng/PKGBUILD
+++ b/abs/core/libpng/PKGBUILD
@@ -1,10 +1,12 @@
-# $Id: PKGBUILD 22148 2008-12-22 12:33:23Z pierre $
-# Maintainer: dorphell <dorphell@archlinux.org>
-# Maintainer: Travis Willard <travis@archlinux.org>
-# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
+# $Id: PKGBUILD 84179 2010-06-27 07:28:57Z pierre $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Travis Willard <travis@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=libpng
-pkgver=1.2.34
+pkgver=1.4.3
+_apngver=1.4.2
pkgrel=1
pkgdesc="A collection of routines used to create PNG format graphics files"
arch=('i686' 'x86_64')
@@ -12,31 +14,29 @@ url="http://www.libpng.org/pub/png/libpng.html"
license=('custom')
depends=('zlib')
options=('!libtool')
-source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
- "http://hp.vector.co.jp/authors/VA013651/lib/libpng-${pkgver}-apng.patch.gz")
-options=('!libtool')
-md5sums=('37362876feb21344fd3af1228527db0f'
- 'a7ee9fd9af34692b75eedd5b03b69ca9')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.xz"
+ "http://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-${_apngver}-apng.patch.gz")
+md5sums=('322e2e0c0dea7a374ce6e60d9a72e604'
+ '378ade7c68c25d00e099b28911d06561')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
# Add animated PNG (apng) support
- # see http://hp.vector.co.jp/authors/VA013651/freeSoftware/apng.html
- patch -p1 -i $srcdir/libpng-${pkgver}-apng.patch || return 1
+ # see http://sourceforge.net/projects/libpng-apng/
+ patch -p1 -i "${srcdir}/libpng-${_apngver}-apng.patch"
- libtoolize --force --copy || return 1
- aclocal || return 1
- autoconf || return 1
- automake --add-missing || return 1
+ libtoolize --force --copy
+ aclocal
+ autoconf
+ automake --add-missing
- ./configure --prefix=/usr || return 1
- make ECHO=echo || return 1
- make ECHO=echo DESTDIR=${startdir}/pkg install || return 1
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
cd contrib/pngminus
- make ECHO=echo PNGLIB="-L${startdir}/pkg/usr/lib -lpng" -f makefile.std png2pnm pnm2png
- install -m755 png2pnm pnm2png ${startdir}/pkg/usr/bin/
- install -m755 -d ${startdir}/pkg/usr/share/licenses/${pkgname}
- install -m644 ../../LICENSE ${startdir}/pkg/usr/share/licenses/${pkgname}/ || return 1
+ make PNGLIB="-L${pkgdir}/usr/lib -lpng" -f makefile.std png2pnm pnm2png
+ install -m755 png2pnm pnm2png "${pkgdir}/usr/bin/"
+ install -D -m644 ../../LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core/libraw1394/PKGBUILD b/abs/core/libraw1394/PKGBUILD
index b1065fd..6b6c4bb 100644
--- a/abs/core/libraw1394/PKGBUILD
+++ b/abs/core/libraw1394/PKGBUILD
@@ -1,24 +1,23 @@
-# $Id: PKGBUILD 13741 2008-09-28 13:27:16Z giovanni $
+# $Id: PKGBUILD 63209 2010-01-16 07:32:59Z tpowa $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=libraw1394
-pkgver=2.0.2
-pkgrel=3
+pkgver=2.0.5
+pkgrel=1
arch=('i686' 'x86_64')
-license=('LGPL')
+license=('LGPL2.1')
pkgdesc="Provides an API to the Linux IEEE1394 (FireWire) driver"
depends=('glibc')
makedepends=('pkgconfig')
url="http://www.linux1394.org/"
options=(!libtool force)
-install=libraw1394.install
-source=(http://www.linux1394.org/dl/${pkgname}-${pkgver}.tar.gz)
-md5sums=('9fbbef5ea31101c4c28085db134fd448')
+source=(http://downloads.sourceforge.net/project/libraw1394/libraw1394/${pkgname}-${pkgver}.tar.gz)
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install
+ make DESTDIR="${pkgdir}" install || return 1
}
+md5sums=('1db64231c78540c32859b591cb8b40cf')
diff --git a/abs/core/libraw1394/libraw1394.install b/abs/core/libraw1394/libraw1394.install
deleted file mode 100644
index 33fb64c..0000000
--- a/abs/core/libraw1394/libraw1394.install
+++ /dev/null
@@ -1,18 +0,0 @@
-# arg 1: the new package version
-post_install() {
- ln -s /usr/lib/libraw1394.so.11.0.1 /usr/lib/libraw1394.so.8
-}
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- /bin/true
-}
-
-# arg 1: the old package version
-post_remove() {
- rm -fr /usr/lib/libraw1394.so.8
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/libtasn1/PKGBUILD b/abs/core/libtasn1/PKGBUILD
index 5187cef..f43ca76 100644
--- a/abs/core/libtasn1/PKGBUILD
+++ b/abs/core/libtasn1/PKGBUILD
@@ -1,26 +1,26 @@
-# $Id: PKGBUILD 35541 2009-04-13 20:54:05Z jgc $
+# $Id: PKGBUILD 79844 2010-05-08 11:48:57Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=libtasn1
-pkgver=2.0
-pkgrel=1
+pkgver=2.6
+pkgrel=3
pkgdesc="The ASN.1 library used in GNUTLS"
arch=(i686 x86_64)
license=('GPL3' 'LGPL')
-url="http://www.gnu.org/software/gnutls/"
+url="http://www.gnu.org/software/libtasn1/"
depends=('glibc' 'texinfo')
-options=('!libtool')
+options=('!libtool' '!emptydirs')
install=libtasn1.install
-source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.gz)
-md5sums=('e9b1462f04b2586b03905b0ed9528261')
+source=(ftp://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz)
+md5sums=('d410671e13038324336917ceed7470a5')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
+ ./configure --prefix=/usr \
+ --with-packager=Archlinux \
+ --with-packager-bug-reports="http://bugs.archlinux.org/" \
+ --with-packager-version=${pkgver}-${pkgrel} || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
-
- rm -f "${pkgdir}/usr/share/info/dir"
- gzip ${pkgdir}/usr/share/info/* || return 1
}
diff --git a/abs/core/libthai/PKGBUILD b/abs/core/libthai/PKGBUILD
index aa5ba12..f96f7f3 100644
--- a/abs/core/libthai/PKGBUILD
+++ b/abs/core/libthai/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 35277 2009-04-11 20:15:53Z jgc $
+# $Id: PKGBUILD 71220 2010-03-05 15:38:39Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Chaiwat Suttipongsakul <cwt114@gmail.com>
pkgname=libthai
-pkgver=0.1.11
-pkgrel=2
+pkgver=0.1.14
+pkgrel=1
pkgdesc="Thai language support routines"
url="http://linux.thai.net/projects/libthai"
arch=('i686' 'x86_64')
license=('LGPL')
-depends=('libdatrie>=0.2.1')
+depends=('libdatrie>=0.2.3')
makedepends=('pkgconfig')
options=('!libtool' '!emptydirs')
source=(http://linux.thai.net/pub/thailinux/software/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('f27fd7b67116939b2676ddff7180957a')
+md5sums=('34f64b37ed8f8f49f4a18ae972e6f41e')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/libtiff/ChangeLog b/abs/core/libtiff/ChangeLog
index 1a1c85b..88edcc7 100644
--- a/abs/core/libtiff/ChangeLog
+++ b/abs/core/libtiff/ChangeLog
@@ -1,3 +1,30 @@
+2010-06-20 Eric Belanger <eric@archlinux.org>
+
+ * libtiff 3.9.4-1
+ * Upstream update
+
+2009-11-05 Eric Belanger <eric@archlinux.org>
+
+ * libtiff 3.9.2-1
+ * Upstream update
+
+2009-08-28 Eric Belanger <eric@archlinux.org>
+
+ * libtiff 3.9.1-1
+ * Upstream update
+
+2009-08-26 Eric Belanger <eric@archlinux.org>
+
+ * libtiff 3.9.0-1
+ * Upstream update
+ * Updated url
+ * Updated patches
+
+2009-08-14 Eric Belanger <eric@archlinux.org>
+
+ * libtiff 3.8.2-6
+ * Added security fixes (close FS#15931)
+
2008-09-05 Eric Belanger <eric@archlinux.org>
* libtiff 3.8.2-4
diff --git a/abs/core/libtiff/PKGBUILD b/abs/core/libtiff/PKGBUILD
index 51e106c..ed80a2b 100644
--- a/abs/core/libtiff/PKGBUILD
+++ b/abs/core/libtiff/PKGBUILD
@@ -1,43 +1,32 @@
-# $Id$
+# $Id: PKGBUILD 83314 2010-06-20 21:43:27Z eric $
# Maintainer: Eric Belanger <eric@archlinux.org>
# Contributor: dorphell <dorphell@archlinux.org>
pkgname=libtiff
-pkgver=3.8.2
-pkgrel=5
+pkgver=3.9.4
+pkgrel=1
pkgdesc="Library for manipulation of TIFF images"
arch=('i686' 'x86_64')
-url="http://www.libtiff.org/"
+url="http://www.remotesensing.org/libtiff/"
license=('custom')
-depends=('libjpeg>=7' 'zlib')
+depends=('libjpeg' 'zlib')
makedepends=('libgl' 'freeglut' 'libxmu' 'libxi')
optdepends=('freeglut: for using tiffgt')
options=('!libtool')
source=(ftp://ftp.remotesensing.org/pub/libtiff/tiff-${pkgver}.tar.gz \
- tiff2pdf-octal-printf.patch \
- tiffsplit-fname-overflow.patch \
- CVE-2006-3459-3465.patch \
- tiff2pdf-compression.patch \
- tiff-3.8.2-CVE-2008-2327.patch)
-md5sums=('fbb6f446ea4ed18955e2714934e5b698' 'd54368687d2645ffbbe6c2df384b11bf'\
- '323352fd60a7bd3ffac8724c3c031669' '624d3067e6a4c0680767eb62253ea980'\
- 'b443ffca9d498bb3a88c17da0200025b' 'c2c2e22557d9c63011df5777dda6a86b')
-sha1sums=('549e67b6a15b42bfcd72fe17cda7c9a198a393eb'
- 'c79245249634a121bfaff6cfecb763f72fe7f8eb'
- 'dc86bb68c7831ff70ff01d952d553be9f986be46'
- '85dc50a60a10025757e249d869dab7eb73ba6e3c'
- '508751f55131356ea8a7e7c4994ffbc9bd881769'
- '1da2ec6a47c0666cad9d07fb8427c1c75ca27b10')
+ libtiff-CVE-2009-2285.patch)
+md5sums=('2006c1bdd12644dbf02956955175afd6' 'ff61077408727a82281f77a94f555e2a')
+sha1sums=('a4e32d55afbbcabd0391a9c89995e8e8a19961de' 'eadce8c8bd72ea9c74f35300bf299131813b0c8b')
build() {
- cd ${srcdir}/tiff-${pkgver}
- patch -Np1 -i ${srcdir}/tiff2pdf-octal-printf.patch || return 1
- patch -Np1 -i ${srcdir}/tiffsplit-fname-overflow.patch || return 1
- patch -Np1 -i ${srcdir}/CVE-2006-3459-3465.patch || return 1
- patch -Np1 -i ${srcdir}/tiff2pdf-compression.patch || return 1
- patch -Np1 -i ${srcdir}/tiff-3.8.2-CVE-2008-2327.patch || return 1
+ cd "${srcdir}/tiff-${pkgver}"
+ patch -p1 < ../libtiff-CVE-2009-2285.patch || return 1
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man || return 1
make || return 1
- make DESTDIR=${pkgdir} install || return 1
- install -D -m644 COPYRIGHT ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
+}
+
+package() {
+ cd "${srcdir}/tiff-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/libtiff/libtiff-CVE-2009-2285.patch b/abs/core/libtiff/libtiff-CVE-2009-2285.patch
new file mode 100644
index 0000000..435a84b
--- /dev/null
+++ b/abs/core/libtiff/libtiff-CVE-2009-2285.patch
@@ -0,0 +1,22 @@
+Index: tiff-3.8.2/libtiff/tif_lzw.c
+===================================================================
+--- tiff-3.8.2.orig/libtiff/tif_lzw.c
++++ tiff-3.8.2/libtiff/tif_lzw.c
+@@ -421,7 +421,7 @@ LZWDecode(TIFF* tif, tidata_t op0, tsize
+ NextCode(tif, sp, bp, code, GetNextCode);
+ if (code == CODE_EOI)
+ break;
+- if (code == CODE_CLEAR) {
++ if (code >= CODE_CLEAR) {
+ TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
+ "LZWDecode: Corrupted LZW table at scanline %d",
+ tif->tif_row);
+@@ -624,7 +624,7 @@ LZWDecodeCompat(TIFF* tif, tidata_t op0,
+ NextCode(tif, sp, bp, code, GetNextCodeCompat);
+ if (code == CODE_EOI)
+ break;
+- if (code == CODE_CLEAR) {
++ if (code >= CODE_CLEAR) {
+ TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
+ "LZWDecode: Corrupted LZW table at scanline %d",
+ tif->tif_row);
diff --git a/abs/core/libtool/PKGBUILD b/abs/core/libtool/PKGBUILD
index f861926..eab01ea 100644
--- a/abs/core/libtool/PKGBUILD
+++ b/abs/core/libtool/PKGBUILD
@@ -1,25 +1,31 @@
-# $Id: PKGBUILD 12053 2008-09-08 14:37:58Z andyrtr $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 87248 2010-08-11 14:10:45Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+# NOTE: requires rebuilt with each new gcc version
+
pkgname=libtool
-pkgver=2.2.6a
-pkgrel=1
+pkgver=2.2.10
+pkgrel=3
pkgdesc="A generic library support script"
arch=('i686' 'x86_64')
-license=('GPL')
url="http://www.gnu.org/software/libtool"
-install=libtool.install
+license=('GPL')
+depends=('sh' 'tar' 'texinfo')
groups=('base-devel')
-depends=('sh' 'tar')
-source=(ftp://ftp.gnu.org/pub/gnu/libtool/${pkgname}-${pkgver}.tar.gz)
-md5sums=('8ca1ea241cd27ff9832e045fe9afe4fd')
options=('!libtool')
+install=libtool.install
+source=(ftp://ftp.gnu.org/pub/gnu/libtool/${pkgname}-${pkgver}.tar.gz)
+md5sums=('b745d220e88163fcd9eea0a90ccf21b0')
build() {
- #cd ${startdir}/src/${pkgname}-${pkgver}
- cd ${startdir}/src/${pkgname}-2.2.6
+ cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr
- make || return 1
- make DESTDIR=${startdir}/pkg install
+ make
+ make check
+}
- rm -f ${pkgdir}/usr/share/info/dir
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
}
diff --git a/abs/core/libtool/libtool-2.2.10-3-i686.pkg.tar.gz b/abs/core/libtool/libtool-2.2.10-3-i686.pkg.tar.gz
new file mode 120000
index 0000000..76cb8a4
--- /dev/null
+++ b/abs/core/libtool/libtool-2.2.10-3-i686.pkg.tar.gz
@@ -0,0 +1 @@
+/data/pkg_repo/packages/libtool-2.2.10-3-i686.pkg.tar.gz \ No newline at end of file
diff --git a/abs/core/libtool/libtool.install b/abs/core/libtool/libtool.install
index 1794742..424c8cb 100644
--- a/abs/core/libtool/libtool.install
+++ b/abs/core/libtool/libtool.install
@@ -2,8 +2,9 @@ infodir=/usr/share/info
filelist=(libtool.info libtool.info-1 libtool.info-2)
post_install() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
@@ -12,8 +13,9 @@ post_upgrade() {
}
pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core/libx11/PKGBUILD b/abs/core/libx11/PKGBUILD
index cfcc85a..2261d79 100644
--- a/abs/core/libx11/PKGBUILD
+++ b/abs/core/libx11/PKGBUILD
@@ -1,31 +1,31 @@
-# $Id: PKGBUILD 34217 2009-04-08 08:01:42Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 81970 2010-06-07 13:27:07Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libx11
-pkgver=1.2.1
+pkgver=1.3.4
pkgrel=1
pkgdesc="X11 client-side library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libxcb>=1.2' 'kbproto>=1.0.3')
-makedepends=('xproto>=7.0.14' 'xextproto>=7.0.5' 'xf86bigfontproto>=1.1.2' 'xtrans>=1.2.3' 'kbproto>=1.0.3' 'inputproto>=1.5.0' 'xorg-util-macros>=1.2.1')
+depends=('libxcb>=1.6' 'kbproto>=1.0.4')
+makedepends=('xproto>=7.0.17' 'xextproto>=7.1.1' 'xf86bigfontproto>=1.2.0' 'xtrans>=1.2.5' 'inputproto>=2.0' 'xorg-util-macros>=1.8.0')
options=('!libtool')
license=('custom:XFREE86')
source=(${url}/releases/individual/lib/libX11-${pkgver}.tar.bz2
- xorg.sh)
-md5sums=('2f2beb98e71f397e1209beaca4e97cb1'
- '942ff006e69e041f0307c1316e0dec5d')
+ xorg.sh)
+sha1sums=('5aab6dc8ed5ec0e86419626715efc3edd34d1db4'
+ 'b59214fe7d1d213f86b074a677eb624e52142ad7')
build() {
cd "${srcdir}/libX11-${pkgver}"
./configure --prefix=/usr \
- --with-xcb || return 1
+ --with-xcb --disable-static || return 1
make || return 1
+ make check || return 1
make DESTDIR="${pkgdir}" install || return 1
install -m755 -d "${pkgdir}/etc/profile.d"
- install -m755 "${srcdir}/xorg.sh" \
- "${pkgdir}/etc/profile.d/" || return 1
+ install -m755 "${srcdir}/xorg.sh" "${pkgdir}/etc/profile.d/" || return 1
install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
diff --git a/abs/core/libxau/PKGBUILD b/abs/core/libxau/PKGBUILD
index 7b2116b..7d58219 100644
--- a/abs/core/libxau/PKGBUILD
+++ b/abs/core/libxau/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 50978 2009-09-04 12:12:03Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=libxau
-pkgver=1.0.3
+pkgver=1.0.5
pkgrel=1
pkgdesc="X11 authorisation library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig' 'xproto')
+makedepends=('pkgconfig' 'xproto>=7.0.15')
+license=('custom')
options=('!libtool')
source=(${url}/releases/individual/lib/libXau-${pkgver}.tar.bz2)
+sha1sums=('b1c68843edf7e80ce952f7ee0541448f41bac202')
build() {
- cd ${startdir}/src/libXau-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --host=${CHOST} --build=${CHOST}
+ cd "${srcdir}/libXau-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
-md5sums=('75a9f2b85cd1617b5ca98c9095323853')
diff --git a/abs/core/libxaw/PKGBUILD b/abs/core/libxaw/PKGBUILD
index c1d71de..db77f9f 100644
--- a/abs/core/libxaw/PKGBUILD
+++ b/abs/core/libxaw/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 18578 2008-11-07 22:16:28Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 56419 2009-10-21 20:31:46Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxaw
-pkgver=1.0.5
+pkgver=1.0.7
pkgrel=1
pkgdesc="X11 Athena Widget library"
arch=(i686 x86_64)
-license=('custom:')
+license=('custom')
url="http://xorg.freedesktop.org/"
depends=('libxmu' 'libxpm')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXaw-${pkgver}.tar.bz2)
-md5sums=('64e7782db4653cb57c7f7e660b2431c3')
+md5sums=('815e74de989ccda684e2baf8d12cf519')
build() {
cd "${srcdir}/libXaw-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
diff --git a/abs/core/libxcb/PKGBUILD b/abs/core/libxcb/PKGBUILD
index 59982e9..cbe31bd 100644
--- a/abs/core/libxcb/PKGBUILD
+++ b/abs/core/libxcb/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 27498 2009-02-22 09:23:59Z andyrtr $
+# $Id: PKGBUILD 79958 2010-05-09 18:41:21Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=libxcb
-pkgver=1.2
+pkgver=1.6
pkgrel=1
pkgdesc="X11 client-side library"
arch=(i686 x86_64)
url="http://xcb.freedesktop.org/"
-depends=('xcb-proto>=1.4' 'libxdmcp' 'libxau')
+depends=('xcb-proto>=1.6' 'libxdmcp' 'libxau')
makedepends=('pkgconfig' 'libxslt' 'python')
conflicts=('libx11<1.1.99.2')
options=('!libtool')
license=('custom')
source=(${url}/dist/${pkgname}-${pkgver}.tar.bz2
- libxcb-1.1-no-pthread-stubs.patch)
-md5sums=('ae32b7846a7d83f5ec542a5431117564'
- 'a53f09ab3ec5cbfc1b0848bd137c535a')
+ libxcb-1.1-no-pthread-stubs.patch)
+sha1sums=('b0a6fec4c02ec876f32bbd4b64ffe8a25f0da518'
+ '3455e84642283bc91c8313af319002a20bbcbdf4')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/libxcb/libxcb-1.1-no-pthread-stubs.patch b/abs/core/libxcb/libxcb-1.1-no-pthread-stubs.patch
index 67a09f2..f17de1b 100644
--- a/abs/core/libxcb/libxcb-1.1-no-pthread-stubs.patch
+++ b/abs/core/libxcb/libxcb-1.1-no-pthread-stubs.patch
@@ -4,7 +4,7 @@ diff -up libxcb-1.1/configure.ac.pthread-stubs libxcb-1.1/configure.ac
@@ -31,7 +31,7 @@ AC_SUBST(HTML_CHECK_RESULT)
# Checks for pkg-config packages
- PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.1)
+ PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.6)
-NEEDED="pthread-stubs xau >= 0.99.2"
+NEEDED="xau >= 0.99.2"
PKG_CHECK_MODULES(NEEDED, $NEEDED)
diff --git a/abs/core/libxdamage/PKGBUILD b/abs/core/libxdamage/PKGBUILD
index f174581..231b4ce 100644
--- a/abs/core/libxdamage/PKGBUILD
+++ b/abs/core/libxdamage/PKGBUILD
@@ -1,22 +1,24 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 82169 2010-06-09 06:52:23Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxdamage
-pkgver=1.1.1
+pkgver=1.1.3
pkgrel=1
pkgdesc="X11 damaged region extension library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libxfixes>=4.0.3' 'damageproto>=1.1')
-makedepends=('pkgconfig')
+license=('custom')
+depends=('libxfixes>=4.0.4' 'damageproto>=1.2.0')
+makedepends=('pkg-config')
options=('!libtool')
source=(${url}/releases/individual/lib/libXdamage-${pkgver}.tar.bz2)
+sha1sums=('7d96e8de107fede16951cb47d5e147630fbc7dee')
build() {
- cd ${startdir}/src/libXdamage-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --build=${CHOST} --host=${CHOST}
+ cd "${srcdir}/libXdamage-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
-md5sums=('ac0ce6b0063a9858c8f24ddb4c60487d')
diff --git a/abs/core/libxext/PKGBUILD b/abs/core/libxext/PKGBUILD
index 66cc29a..3050eeb 100644
--- a/abs/core/libxext/PKGBUILD
+++ b/abs/core/libxext/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 35597 2009-04-14 06:27:02Z eric $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 81975 2010-06-07 13:30:21Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxext
-pkgver=1.0.5
-pkgrel=2
+pkgver=1.1.2
+pkgrel=1
pkgdesc="X11 miscellaneous extensions library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=('libx11>=1.1.93' 'xextproto>=7.0.5')
+depends=('libx11>=1.3.3' 'xextproto>=7.1.1')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXext-${pkgver}.tar.bz2)
-md5sums=('aa11d859cc8e9a0bad3bb55e1666547b')
+sha1sums=('b48a4e55d21e5ce9dd3356281f32e00b17b4c9f7')
build() {
cd "${srcdir}/libXext-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
- install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/libxfixes/PKGBUILD b/abs/core/libxfixes/PKGBUILD
index e088300..aff9bd0 100644
--- a/abs/core/libxfixes/PKGBUILD
+++ b/abs/core/libxfixes/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 82357 2010-06-10 12:31:08Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxfixes
-pkgver=4.0.3
+pkgver=4.0.5
pkgrel=1
pkgdesc="X11 miscellaneous 'fixes' extension library"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://xorg.freedesktop.org/"
-depends=('libx11' 'fixesproto')
-makedepends=('pkgconfig')
+license=('custom')
+depends=('libx11>=1.3.4' 'fixesproto>=4.1.1')
+makedepends=('pkg-config')
options=('!libtool')
source=(${url}/releases/individual/lib/libXfixes-${pkgver}.tar.bz2)
-md5sums=('1990d19725a3c7f32290037f02d3737f')
+sha1sums=('255dfb9a8c50d795c60711ec4764f76cd0620cbf')
build() {
- cd ${startdir}/src/libXfixes-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --build=${CHOST} --host=${CHOST}
+ cd "${srcdir}/libXfixes-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/libxfont/PKGBUILD b/abs/core/libxfont/PKGBUILD
index a9decca..e872e51 100644
--- a/abs/core/libxfont/PKGBUILD
+++ b/abs/core/libxfont/PKGBUILD
@@ -1,24 +1,24 @@
-# $Id: PKGBUILD 4410 2008-07-06 20:50:37Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 83929 2010-06-23 19:51:39Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxfont
-pkgver=1.3.3
-pkgrel=3
+pkgver=1.4.2
+pkgrel=1
pkgdesc="X11 font rasterisation library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=('libfontenc' 'freetype2>=2.3.7' 'fontsproto')
+depends=('libfontenc>=1.0.5' 'freetype2>=2.3.12' 'fontsproto>=2.1.0')
makedepends=('pkgconfig' 'xtrans' 'fontcacheproto' 'xproto')
options=('!libtool')
source=(${url}/archive/individual/lib/libXfont-${pkgver}.tar.bz2)
-md5sums=('4f174b9613f87cf00d731da428a1b194')
+sha1sums=('79c2089fec014da4b7976e6762f1e9e447fd5767')
build() {
- cd ${startdir}/src/libXfont-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ cd "${srcdir}/libXfont-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/libxfontcache/LICENSE b/abs/core/libxfontcache/LICENSE
new file mode 100644
index 0000000..4718936
--- /dev/null
+++ b/abs/core/libxfontcache/LICENSE
@@ -0,0 +1,100 @@
+
+ * Copyright (c) 1998-1999 Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
+ * All rights reserved.
+ * Copyright (c) 1998-1999 X-TrueType Server Project, All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+
+
+#
+# Copyright 2005 Red Hat, Inc.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of Red Hat not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. Red Hat makes no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation.
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the copyright holders shall
+# not be used in advertising or otherwise to promote the sale, use or
+# other dealings in this Software without prior written authorization
+# from the copyright holders.
+#
+
+
+
+Copyright (C) 2003 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES
+OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+from the XFree86 Project.
+
diff --git a/abs/core/libxfontcache/PKGBUILD b/abs/core/libxfontcache/PKGBUILD
index 4557c80..925a62c 100644
--- a/abs/core/libxfontcache/PKGBUILD
+++ b/abs/core/libxfontcache/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 55250 2009-10-12 16:05:23Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxfontcache
-pkgver=1.0.4
+pkgver=1.0.5
pkgrel=1
pkgdesc="X11 font cache library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('libxext' 'fontcacheproto')
makedepends=('pkgconfig')
options=('!libtool')
-source=(${url}/releases/individual/lib/libXfontcache-${pkgver}.tar.bz2)
+source=(${url}/releases/individual/lib/libXfontcache-${pkgver}.tar.bz2 LICENSE)
+md5sums=('bbd37768c87f63cf2eb845b2c0f56515'
+ '152d5429e5292e8098c667e0d0d22f01')
build() {
- cd ${startdir}/src/libXfontcache-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
+ cd ${srcdir}/libXfontcache-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static \
--build=${CHOST} --host=${CHOST}
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m644 ../LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
-md5sums=('1adca018aa7bf2d215f20a69c10828ad')
diff --git a/abs/core/libxft/PKGBUILD b/abs/core/libxft/PKGBUILD
index c4a8b4f..62bd015 100644
--- a/abs/core/libxft/PKGBUILD
+++ b/abs/core/libxft/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 4363 2008-07-06 19:22:55Z jgc $
-# Maintainer: Alexander Baldeck<alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 55090 2009-10-11 22:04:17Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxft
-pkgver=2.1.13
+pkgver=2.1.14
pkgrel=1
pkgdesc="FreeType-based font drawing library for X"
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org/"
-depends=('fontconfig>=2.6.0' 'libxrender')
+depends=('fontconfig>=2.6.0' 'libxrender' 'sh')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXft-${pkgver}.tar.bz2)
-md5sums=('bc8881851f3bd8dcc625fac37350a1c6')
+md5sums=('254e62a233491e0e1251636536163e20')
build() {
cd ${startdir}/src/libXft-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
make DESTDIR=${startdir}/pkg install || return 1
install -d -m755 ${pkgdir}/usr/share/licenses/${pkgname}
diff --git a/abs/core/libxi/PKGBUILD b/abs/core/libxi/PKGBUILD
index 593d805..6abbf85 100644
--- a/abs/core/libxi/PKGBUILD
+++ b/abs/core/libxi/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 28322 2009-02-28 18:50:37Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 57676 2009-11-01 14:14:29Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxi
-pkgver=1.2.1
-pkgrel=1
+pkgver=1.3
+pkgrel=2
pkgdesc="X11 Input extension library"
arch=('i686' 'x86_64')
url="http://xorg.freedesktop.org"
-depends=('libxext>=1.0.5')
+depends=('libxext>=1.1' 'inputproto>=2.0')
makedepends=('pkgconfig')
options=(!libtool force)
license=('custom')
source=(${url}/releases/individual/lib/libXi-${pkgver}.tar.bz2)
-md5sums=('cfb36307e8e7ffafe40848dba24e0b11')
+md5sums=('8df4ece9bd1efb02c28acb2b6f485e09')
build() {
cd "${srcdir}/libXi-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
diff --git a/abs/core/libxml-perl/PKGBUILD b/abs/core/libxml-perl/PKGBUILD
deleted file mode 100644
index 5867a11..0000000
--- a/abs/core/libxml-perl/PKGBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
-# Contributor: François Charette <firmicus ατ gmx δοτ net>
-
-pkgname=libxml-perl
-pkgver=0.08
-pkgrel=1
-pkgdesc="Perl library for working with XML"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~KMACLEOD/libxml-perl"
-license=('GPL' 'PerlArtistic')
-depends=('perlxml>=2.19')
-options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/K/KM/KMACLEOD/libxml-perl-$pkgver.tar.gz)
-md5sums=('0ed5fbdda53d1301ddaed88db10503bb')
-
-build() {
- cd $startdir/src/libxml-perl-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
- make install DESTDIR=$startdir/pkg || return 1
- find $startdir/pkg -name '.packlist' -delete
- find $startdir/pkg -name '*.pod' -delete
-}
diff --git a/abs/core/libxml2/PKGBUILD b/abs/core/libxml2/PKGBUILD
index 8123cfc..d61e61e 100644
--- a/abs/core/libxml2/PKGBUILD
+++ b/abs/core/libxml2/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 26966 2009-02-14 23:57:37Z jgc $
+# $Id: PKGBUILD 73765 2010-03-28 13:12:08Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=libxml2
-pkgver=2.7.3
+pkgver=2.7.7
pkgrel=1
pkgdesc="XML parsing library, version 2"
arch=(i686 x86_64)
license=('custom')
-depends=('zlib>=1.2.3.3' 'readline>=5.2.013' 'ncurses>=5.7')
+depends=('zlib>=1.2.4' 'readline>=6.1' 'ncurses>=5.7')
makedepends=('python')
options=('!libtool')
url="http://www.xmlsoft.org/"
-source=(ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('8f4fda3969237c2a33bdb1583b5d06b2')
+source=(ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ largefile64.patch)
+md5sums=('9abc9959823ca9ff904f1fbcf21df066'
+ '5ad4915665608ebfa5b89f7908467a72')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/largefile64.patch" || return 1
./configure --prefix=/usr --with-threads --with-history || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
diff --git a/abs/core/libxt/PKGBUILD b/abs/core/libxt/PKGBUILD
index 1d1ab51..86695f7 100644
--- a/abs/core/libxt/PKGBUILD
+++ b/abs/core/libxt/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 73000 2010-03-21 17:33:15Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxt
-pkgver=1.0.5
+pkgver=1.0.8
pkgrel=1
pkgdesc="X11 toolkit intrinsics library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('libsm' 'libx11')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXt-${pkgver}.tar.bz2)
-md5sums=('f3bdd67785ace8cd0b23249e9d8c9975')
+sha1sums=('d5e3dfba90a12169771399b3e2ccae07243489c9')
build() {
- cd ${startdir}/src/libXt-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --build=${CHOST} --host=${CHOST} \
- --disable-install-makestrs
+ cd "${srcdir}/libXt-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+# install custom license
+ install -Dm644 "${srcdir}/libXt-${pkgver}/COPYING" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" || return 1
}
diff --git a/abs/core/libxv/PKGBUILD b/abs/core/libxv/PKGBUILD
index fa03f4c..ded0f7a 100644
--- a/abs/core/libxv/PKGBUILD
+++ b/abs/core/libxv/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 577 2008-04-21 09:50:50Z alexander $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org.
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 55267 2009-10-12 16:19:29Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxv
-pkgver=1.0.4
+pkgver=1.0.5
pkgrel=1
pkgdesc="X11 Video extension library"
arch=(i686 x86_64)
@@ -12,14 +12,14 @@ depends=('libxext' 'videoproto')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXv-${pkgver}.tar.bz2)
+md5sums=('1d97798b1d8bbf8d9085e1b223a0738f')
build() {
cd ${startdir}/src/libXv-${pkgver}
- ./configure --prefix=/usr
+ ./configure --prefix=/usr --disable-static
make || return 1
make DESTDIR=${startdir}/pkg install || return 1
install -D -m644 ${startdir}/src/libXv-${pkgver}/COPYING \
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING
}
-md5sums=('723a0275227165383e967a1ca8899b52')
diff --git a/abs/core/libxvmc/LICENSE b/abs/core/libxvmc/LICENSE
new file mode 100644
index 0000000..e423bcb
--- /dev/null
+++ b/abs/core/libxvmc/LICENSE
@@ -0,0 +1,23 @@
+Copyright (c) 1995, 1996 The XFree86 Project, Inc
+XvMCWrapper.c - Copyright (c) 2004 The Unichrome project. All rights reserved.
+XvMCWrapper.c - Author: Thomas Hellstrm (2004)
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHOR(S) OR COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/abs/core/libxvmc/PKGBUILD b/abs/core/libxvmc/PKGBUILD
index 49c76b7..c22aeb4 100644
--- a/abs/core/libxvmc/PKGBUILD
+++ b/abs/core/libxvmc/PKGBUILD
@@ -1,23 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 55272 2009-10-12 16:22:20Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxvmc
-pkgver=1.0.4
+pkgver=1.0.5
pkgrel=1
pkgdesc="X11 Video Motion Compensation extension library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libxv>=1.0.3')
+license=('custom')
+depends=('libxv>=1.0.5')
makedepends=('pkgconfig')
options=('!libtool')
-source=(${url}/releases/individual/lib/libXvMC-${pkgver}.tar.bz2)
-md5sums=('b54600573daf9d1a29b952e8d35b389e')
+source=(${url}/releases/individual/lib/libXvMC-${pkgver}.tar.bz2 LICENSE)
+md5sums=('16c3a11add14979beb7510e44623cac6'
+ 'ca9d908b0fa487a213802ff38336259d')
build() {
- cd ${startdir}/src/libXvMC-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
+ cd ${srcdir}/libXvMC-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static \
--build=${CHOST} --host=${CHOST}
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m644 ../LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
-
diff --git a/abs/core/libxxf86dga/PKGBUILD b/abs/core/libxxf86dga/PKGBUILD
index 5adc89f..a71b8e2 100644
--- a/abs/core/libxxf86dga/PKGBUILD
+++ b/abs/core/libxxf86dga/PKGBUILD
@@ -1,23 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 55279 2009-10-12 16:27:32Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
pkgname=libxxf86dga
-pkgver=1.0.2
+pkgver=1.1.1
pkgrel=1
pkgdesc="X11 Direct Graphics Access extension library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libxext' 'xf86dgaproto>=2.0.3')
+license=('custom')
+depends=('libxext>=1.1' 'xf86dgaproto>=2.1')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXxf86dga-${pkgver}.tar.bz2)
+md5sums=('368837d3d7a4d3b4f70be48383e3544e')
build() {
- cd ${startdir}/src/libXxf86dga-${pkgver}
- ./configure --prefix=/usr \
- --build=${CHOST} --host=${CHOST}
+ cd "${srcdir}/libXxf86dga-${pkgver}"
+ ./configure --prefix=/usr --disable-static || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
-
-md5sums=('6f5f621804ee652b6cc6f2025c517c78')
diff --git a/abs/core/libxxf86misc/PKGBUILD b/abs/core/libxxf86misc/PKGBUILD
index 6899377..1df2bbf 100644
--- a/abs/core/libxxf86misc/PKGBUILD
+++ b/abs/core/libxxf86misc/PKGBUILD
@@ -1,23 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 55245 2009-10-12 16:01:59Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxxf86misc
-pkgver=1.0.1
+pkgver=1.0.2
pkgrel=1
pkgdesc="X11 XFree86 miscellaneous extension library"
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=(libxext xf86miscproto)
makedepends=(pkgconfig)
options=(!libtool)
-arch=('i686' 'x86_64')
source=(${url}/releases/individual/lib/libXxf86misc-${pkgver}.tar.bz2)
-md5sums=(7cee0df63903cef7f7a3fb68cdd99eef)
+md5sums=('51fed53e8de067d4b8666f75a0212400')
build() {
- cd ${startdir}/src/libXxf86misc-${pkgver}
- ./configure --prefix=/usr \
+ cd ${srcdir}/libXxf86misc-${pkgver}
+ ./configure --prefix=/usr --mandir=/usr/share/man --disable-static \
--build=${CHOST} --host=${CHOST}
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core/libxxf86vm/PKGBUILD b/abs/core/libxxf86vm/PKGBUILD
index 58a2803..7d0f7d7 100644
--- a/abs/core/libxxf86vm/PKGBUILD
+++ b/abs/core/libxxf86vm/PKGBUILD
@@ -1,24 +1,24 @@
-# $Id: PKGBUILD 4409 2008-07-06 20:49:15Z jgc $
+# $Id: PKGBUILD 54608 2009-10-11 11:43:26Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxxf86vm
-pkgver=1.0.2
+pkgver=1.1.0
pkgrel=1
pkgdesc="X11 XFree86 video mode extension library"
arch=('x86_64' 'i686')
license=('custom')
url="http://xorg.freedesktop.org/"
-depends=('libxext' 'xf86vidmodeproto')
+depends=('libxext>=1.1' 'xf86vidmodeproto>=2.3')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXxf86vm-${pkgver}.tar.bz2)
-md5sums=('304d37bd0a10d9b58aa9b64469ad73e5')
+md5sums=('b431ad7084e1055fef99a9115237edd8')
build() {
- cd ${startdir}/src/libXxf86vm-${pkgver}
- ./configure --prefix=/usr || return 1
+ cd "${srcdir}/libXxf86vm-${pkgver}"
+ ./configure --prefix=/usr --disable-static || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -d -m755 ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/linhes-scripts/PKGBUILD b/abs/core/linhes-scripts/PKGBUILD
index d4bdc50..07ddbc9 100644
--- a/abs/core/linhes-scripts/PKGBUILD
+++ b/abs/core/linhes-scripts/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=linhes-scripts
pkgver=1
-pkgrel=77
+pkgrel=78
pkgdesc="Various scripts that help to make LinHES, LinHES."
arch=('i686' 'x86_64')
license=('GPL2')
@@ -84,7 +84,7 @@ md5sums=('f56985b2d602e11dc1e10d3e7848b2a5'
'65629302a4d2c3adf88cdf0ebc10d493'
'2734054f08c4c885bb9070dce239d4c3'
'87b0dc855181f98516acb18a7d551601'
- '25c1baeb97a49656456ae33f7e7a9f06'
+ 'c54a3afd4aa3c1af560c9b6adb600f3a'
'2fb25aef03ffd1282414d8cca3df7056'
'd2a29444ab9036fb385bbf044daf1ff5'
'df727c98350a64e2171c950bbefc9c5d'
diff --git a/abs/core/linhes-scripts/removecommercials.sh b/abs/core/linhes-scripts/removecommercials.sh
index 70e2e52..0497dd5 100755
--- a/abs/core/linhes-scripts/removecommercials.sh
+++ b/abs/core/linhes-scripts/removecommercials.sh
@@ -1,7 +1,7 @@
#!/bin/sh
# remove commercials from recordings using the user generated cutlist or
# optionally using the mythcommflag generated cutlist.
-# version 0.2 3/24/2010
+# version 0.3 9/1/2010
# usage:
# first parameter must be %DIR% of the recording
@@ -18,7 +18,13 @@
# to generate a cutlist.
# WARNING: Using this option could result in part of the recording being cut if
# mythcommflag incorrectly flagged the commercial.
-USE_MYTHCOMMFLAG_CUTLIST=NO
+# The USE_MYTHCOMMFLAG_CUTLIST option is saved in ~/.removecommercials.cfg and will
+# not be overwritten by updates to this script. The ~/.removecommercials.cfg
+# will be created by this script if it doesn't exist.
+# To enable set USE_MYTHCOMMFLAG_CUTLIST=YES in ~/.removecommercials.cfg
+
+[[ ! -f ~/.removecommercials.cfg ]] && printf "# If no cutlist is found USE_MYTHCOMMFLAG_CUTLIST=YES will use mythcommflag\n# to generate a cutlist.\n# WARNING: Using this option could result in part of the recording being cut if\n# mythcommflag incorrectly flagged the commercial.\nUSE_MYTHCOMMFLAG_CUTLIST=NO" > ~/.removecommercials.cfg
+. ~/.removecommercials.cfg
# Auguments passed from command line
VIDEODIR=$1
@@ -33,7 +39,8 @@ DBUSERNAME=${DBUSERNAME:-"mythtv"}
DBPASSWORD=${DBPASSWORD:-"mythtv"}
SQLCMD="mysql -u $DBUSERNAME --password=$DBPASSWORD -h $BACKEND_HOSTNAME mythconverg -e"
-LOG="/var/log/mythtv/removecommercials.log"
+LOG="/dev/null"
+#LOG="/var/log/mythtv/removecommercials.log"
#------FUNCTIONS---------------
update_comment()
@@ -149,18 +156,22 @@ update_status 4
check_myth_jobcmds
+echo "" >> $LOG
+date >> $LOG
+$VIDEODIR/$FILENAME >> $LOG
+
# check for cutlist
MYTHCOMMFRAMES=`mythcommflag --getcutlist -f $VIDEODIR/$FILENAME | grep 'Cutlist:' | cut -d \ -f 2`
if [ $USE_MYTHCOMMFLAG_CUTLIST=YES ] && [ -z "$MYTHCOMMFRAMES" ]; then
- echo "Generating cutlist..."
+ echo "Generating cutlist..." >> $LOG
update_comment "Generating cutlist..."
/usr/bin/nice -n19 /usr/bin/mythcommflag --gencutlist -f $VIDEODIR/$FILENAME
MYTHCOMMFRAMES=`mythcommflag --getcutlist -f $VIDEODIR/$FILENAME | grep 'Cutlist:' | cut -d \ -f 2`
fi
if [ -n "$MYTHCOMMFRAMES" ]; then
- echo "Removing Commercials..."
+ echo "Removing Commercials..." >> $LOG
update_comment "Removing Commercials..."
( /usr/bin/nice -n19 /usr/bin/mythtranscode -c $CHANID -s $STARTTIME -o $TMPFILE $MPEG --honorcutlist --showprogress > $STATUSFILE 2>&1 ; echo "Done" >> $STATUSFILE ) &
TPID=$!
@@ -168,46 +179,55 @@ if [ -n "$MYTHCOMMFRAMES" ]; then
check_background_progress
ERROR=$?
if [ $ERROR -ne 0 ]; then
- echo "Transcoding failed for ${FILENAME} with error $ERROR"
+ echo "Transcoding failed for ${FILENAME} with error $ERROR" >> $LOG
exit $ERROR
fi
check_myth_jobcmds
# move temp file to output location
- echo "Moving file..."
+ echo "Moving file..." >> $LOG
update_comment "Moving file..."
if [ `$SQLCMD "select data from settings where value='SaveTranscoding';" | sed '/[0-9]/!d'` = 1 ]; then
- echo "DB is set to save transcoding"
+ echo "DB is set to save transcoding" >> $LOG
mv $VIDEODIR/$FILENAME $VIDEODIR/$FILENAME.old
fi
mv $TMPFILE $VIDEODIR/$FILENAME
# file has changed, rebuild index
- echo "Rebuilding index..."
+ echo "Rebuilding index..." >> $LOG
update_comment "Rebuilding index..."
mythcommflag -c $CHANID -s $STARTTIME --rebuild
ERROR=$?
if [ $ERROR -ne 0 ]; then
- echo "Rebuilding seek list failed for ${FILENAME} with error $ERROR"
+ echo "Rebuilding seek list failed for ${FILENAME} with error $ERROR" >> $LOG
exit $ERROR
fi
# remove old cutlist
- echo "Removing old cutlist..."
+ echo "Removing old cutlist..." >> $LOG
update_comment "Removing old cutlist..."
mythcommflag -c $CHANID -s $STARTTIME --clearcutlist
ERROR=$?
if [ $ERROR -eq 0 ]; then
# Fix the database entry for the file
- `$SQLCMD UPDATE recorded SET cutlist = 0, filesize = $(ls -l $VIDEODIR/$FILENAME | awk '{print $5}') WHERE basename = '$FILENAME';` > /dev/null
+ echo "Fixing database entry..." >> $LOG
+ `$SQLCMD "UPDATE recorded SET cutlist = 0, filesize = $(ls -l $VIDEODIR/$FILENAME | awk '{print $5}') WHERE basename = '$FILENAME';"` > /dev/null
else
- echo "Clearing cutlist failed for ${FILENAME} with error $ERROR"
+ echo "Clearing cutlist failed for ${FILENAME} with error $ERROR" >> $LOG
+ clean_up_files
+ update_status 272
+ update_comment "Error: Clearing cutlist failed."
exit $ERROR
fi
+
+ # clear autoskip list
+ echo "Clearing autoskip list..." >> $LOG
+ `$SQLCMD "DELETE FROM recordedmarkup WHERE CONCAT( chanid, starttime ) IN (SELECT CONCAT( chanid, starttime ) FROM recorded WHERE basename = '$FILENAME');"` > /dev/null
+
clean_up_files
- echo "Commercials Removed"
+ echo "Commercials Removed" >> $LOG
update_status 272
update_comment "Sucessfully Completed."
else
- echo "No cutlist found."
+ echo "No cutlist found." >> $LOG
fi
diff --git a/abs/core/linux-api-headers/PKGBUILD b/abs/core/linux-api-headers/PKGBUILD
new file mode 100644
index 0000000..7090df8
--- /dev/null
+++ b/abs/core/linux-api-headers/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 80778 2010-05-22 07:55:08Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=linux-api-headers
+pkgver=2.6.34
+_basever=2.6.34
+pkgrel=1
+pkgdesc="Kernel headers sanitized for use in userspace"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/libc"
+license=('GPL2')
+provides=("kernel-headers=${pkgver}")
+conflicts=("glibc<=2.10.1-4" 'kernel-headers')
+replaces=('kernel-headers')
+source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${_basever}.tar.bz2
+ #http://www.kernel.org/pub/linux/kernel/v2.6/patch-${pkgver}.bz2
+ scsi.patch)
+md5sums=('10eebcb0178fb4540e2165bfd7efc7ad'
+ 'b6d05566fcfe07770d9386f0588f8758')
+
+build() {
+ cd ${srcdir}/linux-${_basever}
+ #patch -Np1 -i ${srcdir}/patch-${pkgver}
+
+ # fix issues with transition of scsi.h from glibc
+ patch -Np1 -i ${srcdir}/scsi.patch
+
+ make mrproper
+ make headers_check
+}
+
+package() {
+ cd ${srcdir}/linux-${_basever}
+ make INSTALL_HDR_PATH=${pkgdir}/usr headers_install
+
+ # use headers from libdrm
+ rm -rf ${pkgdir}/usr/include/drm
+
+ rm -f $(find ${pkgdir} -name .install -or -name ..install.cmd)
+}
diff --git a/abs/core/linux-api-headers/linux-api-headers-2.6.34-1-i686.pkg.tar.gz b/abs/core/linux-api-headers/linux-api-headers-2.6.34-1-i686.pkg.tar.gz
new file mode 120000
index 0000000..2e2ed4c
--- /dev/null
+++ b/abs/core/linux-api-headers/linux-api-headers-2.6.34-1-i686.pkg.tar.gz
@@ -0,0 +1 @@
+/data/pkg_repo/packages/linux-api-headers-2.6.34-1-i686.pkg.tar.gz \ No newline at end of file
diff --git a/abs/core/linux-api-headers/scsi.patch b/abs/core/linux-api-headers/scsi.patch
new file mode 100644
index 0000000..f85a3b7
--- /dev/null
+++ b/abs/core/linux-api-headers/scsi.patch
@@ -0,0 +1,42 @@
+diff -Naur linux-2.6.32-old/include/scsi/scsi.h linux-2.6.32/include/scsi/scsi.h
+--- linux-2.6.32-old/include/scsi/scsi.h 2009-12-03 13:51:21.000000000 +1000
++++ linux-2.6.32/include/scsi/scsi.h 2009-12-12 10:43:11.000000000 +1000
+@@ -145,14 +145,15 @@
+
+ /* defined in T10 SCSI Primary Commands-2 (SPC2) */
+ struct scsi_varlen_cdb_hdr {
+- u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */
+- u8 control;
+- u8 misc[5];
+- u8 additional_cdb_length; /* total cdb length - 8 */
++ __u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */
++ __u8 control;
++ __u8 misc[5];
++ __u8 additional_cdb_length; /* total cdb length - 8 */
+ __be16 service_action;
+ /* service specific data follows */
+ };
+
++#ifdef __KERNEL__
+ static inline unsigned
+ scsi_varlen_cdb_length(const void *hdr)
+ {
+@@ -168,6 +169,7 @@
+ return (cmnd[0] == VARIABLE_LENGTH_CMD) ?
+ scsi_varlen_cdb_length(cmnd) : COMMAND_SIZE(cmnd[0]);
+ }
++#endif
+
+ /*
+ * SCSI Architecture Model (SAM) Status codes. Taken from SAM-3 draft
+@@ -284,8 +286,10 @@
+ SCSI_PROTOCOL_UNSPEC = 0xf, /* No specific protocol */
+ };
+
++#ifdef __KERNEL__
+ /* Returns a human-readable name for the device */
+ extern const char * scsi_device_type(unsigned type);
++#endif
+
+ /*
+ * standard mode-select header prepended to all mode-select commands
diff --git a/abs/core/linux-firmware/PKGBUILD b/abs/core/linux-firmware/PKGBUILD
new file mode 100644
index 0000000..c1a32bb
--- /dev/null
+++ b/abs/core/linux-firmware/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 85247 2010-07-11 09:33:36Z thomas $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+
+#
+# Create a new tarball from the linux-firmware git tree with the following command:
+# git archive --format=tar --prefix linux-firmware-$(date +%Y%m%d)/ master | xz -9 > linux-firmware-$(date +%Y%m%d).tar.xz
+#
+
+pkgname=linux-firmware
+pkgver=20100623
+pkgrel=2
+pkgdesc="Firmware files for Linux"
+arch=('any')
+url="http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=summary"
+license=('GPL2' 'GPL3' 'custom')
+provides=('kernel26-firmware=2.6.34.99')
+conflicts=('linux-firmware-git'
+ 'kernel26-firmware'
+ 'ar9170-fw'
+ 'iwlwifi-1000-ucode'
+ 'iwlwifi-3945-ucode'
+ 'iwlwifi-4965-ucode'
+ 'iwlwifi-5000-ucode'
+ 'iwlwifi-5150-ucode'
+ 'iwlwifi-6000-ucode'
+ 'rt2870usb-fw'
+ 'rt2x00-rt61-fw'
+ 'rt2x00-rt71w-fw')
+replaces=('kernel26-firmware'
+ 'ar9170-fw'
+ 'iwlwifi-1000-ucode'
+ 'iwlwifi-3945-ucode'
+ 'iwlwifi-4965-ucode'
+ 'iwlwifi-5000-ucode'
+ 'iwlwifi-5150-ucode'
+ 'iwlwifi-6000-ucode'
+ 'rt2870usb-fw'
+ 'rt2x00-rt61-fw'
+ 'rt2x00-rt71w-fw')
+options=(!strip)
+source=(ftp://ftp.archlinux.org/other/linux-firmware/$pkgname-$pkgver.tar.xz
+ http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170/ar9170.fw)
+sha256sums=('f78f96a4d330ecded5e6a6e61c1e6f2cdf915625b65040f4bd3e6dfea44f367d'
+ '1b379c5a8d6ab3a43911f7949d6306fe2dae3afb1368be5452a8fc7d9c54e0a0')
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ install -d -m755 "${pkgdir}/lib/firmware"
+ cp -a * "${pkgdir}/lib/firmware/"
+ install -d -m755 "${pkgdir}/usr/share/licenses/linux-firmware/"
+ rm -f "${pkgdir}/lib/firmware/GPL*"
+ mv "${pkgdir}/lib/firmware"/{LICEN*,WHENCE} "${pkgdir}/usr/share/licenses/linux-firmware/"
+
+ # Add missing firmware files
+ # https://bugs.archlinux.org/task/19912
+ cd "${pkgdir}/lib/firmware/bnx2"
+ ln -s bnx2-mips-09-5.0.0.j15.fw bnx2-mips-09-5.0.0.j9.fw
+ cd -
+ # https://bugs.archlinux.org/task/20064
+ install -m644 "${srcdir}/ar9170.fw" "${pkgdir}/lib/firmware/"
+}
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/linuxtv-dvb-apps/PKGBUILD b/abs/core/linuxtv-dvb-apps/PKGBUILD
index 05b719b..697a786 100644
--- a/abs/core/linuxtv-dvb-apps/PKGBUILD
+++ b/abs/core/linuxtv-dvb-apps/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=linuxtv-dvb-apps
pkgver=1.1.1
-pkgrel=1
+pkgrel=2
pkgdesc="Viewer programs for DVB cards"
arch=('i686' 'x86_64')
url="http://www.linuxtv.org/"
diff --git a/abs/core/lirc-utils/PKGBUILD b/abs/core/lirc-utils/PKGBUILD
index afcfb81..9eff254 100644
--- a/abs/core/lirc-utils/PKGBUILD
+++ b/abs/core/lirc-utils/PKGBUILD
@@ -1,36 +1,27 @@
-# $Id: PKGBUILD 6058 2008-07-23 02:50:00Z eric $
+# $Id: PKGBUILD 56261 2009-10-20 19:13:10Z hugo $
# Maintainer: Paul Mattal <paul@archlinux.org>
pkgname=lirc-utils
-pkgver=0.8.5CVS
-pkgrel=6
+pkgver=0.8.6
+pkgrel=4
pkgdesc="Linux Infrared Remote Control utils"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://www.lirc.org/"
license=('GPL')
-_kernver=2.6.28-LinHES
-depends=('alsa-lib' 'libusb' 'libx11' 'libsm' 'iguanaIR')
-#makedepends=('help2man')
+_kernver=2.6.34-ARCH
+depends=('alsa-lib' 'libusb' 'libx11' 'libsm' 'python' 'libftdi')
+makedepends=('help2man')
replaces=('lirc+pctv')
-backup=('etc/lircd.conf' 'etc/lircmd.conf'\
- 'etc/conf.d/lircd')
+backup=('etc/conf.d/lircd.conf' 'etc/conf.d/lircmd.conf' 'etc/lirc/lircd.conf')
options=('!libtool' '!makeflags')
-source=(http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.5-CVS-pvr150.tar.bz2 \
- lircd lircmd lirc.logrotate lircd.conf.d \
- kernel-2.6.26.patch lirc_atiusb.patch
- hw_commandir.c
- hw_commandir.h)
-md5sums=('b96dae91b566143b3af433fa2714ec9a' '909ad968afa10e4511e1da277bb23c3b'\
- '85f7fdac55e5256967241864049bf5e9' '3deb02604b37811d41816e9b4385fcc3'\
- '5b1f8c9cd788a39a6283f93302ce5c6e' '1753acd774f50b638e6173d364de53fd'\
- '7eccd7826ab99e5cf1b9154171c8b927')
+source=(http://downloads.sourceforge.net/sourceforge/lirc/lirc-$pkgver.tar.bz2
+ lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd kernel-2.6.33.patch)
build() {
# configure
- cd $startdir/src/lirc-0.8.5-CVS-pvr150 || return 1
- cp $startdir/src/hw_commandir.* $startdir/src/lirc-0.8.5-CVS-pvr150/daemons
-# patch -Np1 -i ../kernel-2.6.26.patch || return 1
- patch -Np1 -i ../lirc_atiusb.patch || return 1
+ cd ${srcdir}/lirc-$pkgver || return 1
+
+ patch -p0 < ../kernel-2.6.33.patch || return 1
# Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+
sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am || return 1
@@ -51,22 +42,38 @@ build() {
# build
make || return 1
- make DESTDIR=$startdir/pkg install || return 1
- mkdir -p $startdir/pkg/usr/share/lirc $startdir/pkg/etc/rc.d \
+ make DESTDIR=${pkgdir} install || return 1
+ mkdir -p ${pkgdir}/usr/share/lirc ${pkgdir}/etc/rc.d \
|| return 1
- cp $startdir/src/{lircd,lircmd} $startdir/pkg/etc/rc.d/ \
+ cp ${srcdir}/{lircd,lircmd,irexecd} ${pkgdir}/etc/rc.d/ \
|| return 1
- cp -rp remotes $startdir/pkg/usr/share/lirc || return 1
- chmod -R go-w $startdir/pkg/usr/share/lirc/ || return 1
+ cp -rp remotes ${pkgdir}/usr/share/lirc || return 1
+ chmod -R go-w ${pkgdir}/usr/share/lirc/ || return 1
+
# install the logrotate config
- install -D -m644 $startdir/src/lirc.logrotate \
- $startdir/pkg/etc/logrotate.d/lirc || return 1
-
+ install -D -m644 ${srcdir}/lirc.logrotate \
+ ${pkgdir}/etc/logrotate.d/lirc || return 1
+
# install conf.d file
- install -D -m644 $startdir/src/lircd.conf.d \
- $startdir/pkg/etc/conf.d/lircd || return 1
+ install -D -m644 ${srcdir}/lircd.conf \
+ ${pkgdir}/etc/conf.d/lircd.conf || return 1
+
+ # install conf.d file
+ install -D -m644 ${srcdir}/irexec.conf \
+ ${pkgdir}/etc/conf.d/irexec.conf || return 1
+
+ install -d -m755 ${pkgdir}/etc/lirc || return 1
+ install -d -m755 ${pkgdir}/var/run/lirc || return 1
# remove built modules
- rm -r $startdir/pkg/lib/
+ rm -r ${pkgdir}/lib/
}
+md5sums=('4ca24da6f5e7c2dcea74878c27a4a3f7'
+ '310f718169b16b6afa6615fa53a0ef21'
+ '85f7fdac55e5256967241864049bf5e9'
+ '3deb02604b37811d41816e9b4385fcc3'
+ '5b1f8c9cd788a39a6283f93302ce5c6e'
+ 'f0c0ac930326168035f0c8e24357ae55'
+ '618ca4f666341d6ade8c616ce59f4d1b'
+ 'f029698154cf32bc51e5e69879d53a12')
diff --git a/abs/core/lirc-utils/irexec.conf b/abs/core/lirc-utils/irexec.conf
new file mode 100644
index 0000000..f911c75
--- /dev/null
+++ b/abs/core/lirc-utils/irexec.conf
@@ -0,0 +1,5 @@
+#
+# Parameters for irexec daemon (path to lircrc)
+#
+
+IREXEC_OPTS="" \ No newline at end of file
diff --git a/abs/core/lirc-utils/irexecd b/abs/core/lirc-utils/irexecd
new file mode 100755
index 0000000..b8c902d
--- /dev/null
+++ b/abs/core/lirc-utils/irexecd
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/irexec.conf
+
+PID=`pidof -o %PPID /usr/bin/irexec`
+case "$1" in
+ start)
+ stat_busy "Starting IREXEC Daemon"
+ [ -z "$PID" ] && /usr/bin/irexec --daemon $IREXEC_OPTS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon irexec
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping IREXEC Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon irexec
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
+
diff --git a/abs/core/lirc-utils/kernel-2.6.33.patch b/abs/core/lirc-utils/kernel-2.6.33.patch
new file mode 100644
index 0000000..7827e00
--- /dev/null
+++ b/abs/core/lirc-utils/kernel-2.6.33.patch
@@ -0,0 +1,475 @@
+--- drivers/lirc_dev/lirc_dev.h 2009/03/15 09:34:00 1.37 lirc-0_8_6
++++ drivers/lirc_dev/lirc_dev.h 2009/12/28 15:21:17 1.38
+@@ -4,7 +4,7 @@
+ * (L) by Artur Lipowski <alipowski@interia.pl>
+ * This code is licensed under GNU GPL
+ *
+- * $Id: lirc_dev.h,v 1.37 2009/03/15 09:34:00 lirc Exp $
++ * $Id: lirc_dev.h,v 1.38 2009/12/28 15:21:17 jarodwilson Exp $
+ *
+ */
+
+@@ -30,14 +30,19 @@
+
+ struct lirc_buffer {
+ wait_queue_head_t wait_poll;
+- spinlock_t lock;
++ spinlock_t fifo_lock;
+ unsigned int chunk_size;
+ unsigned int size; /* in chunks */
+ /* Using chunks instead of bytes pretends to simplify boundary checking
+ * And should allow for some performance fine tunning later */
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ struct kfifo *fifo;
+ #else
++ struct kfifo fifo;
++ u8 fifo_initialized;
++#endif
++#else
+ unsigned int fill; /* in chunks */
+ int head, tail; /* in chunks */
+ unsigned char *data;
+@@ -47,12 +52,12 @@
+ static inline void lirc_buffer_lock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_lock_irqsave(&buf->lock, *flags);
++ spin_lock_irqsave(&buf->fifo_lock, *flags);
+ }
+ static inline void lirc_buffer_unlock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_unlock_irqrestore(&buf->lock, *flags);
++ spin_unlock_irqrestore(&buf->fifo_lock, *flags);
+ }
+ static inline void _lirc_buffer_clear(struct lirc_buffer *buf)
+ {
+@@ -63,11 +68,20 @@
+ #endif
+ static inline void lirc_buffer_clear(struct lirc_buffer *buf)
+ {
++ unsigned long flags;
++
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_reset(buf->fifo);
+ #else
+- unsigned long flags;
++ if (buf->fifo_initialized) {
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ kfifo_reset(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++ }
++#endif
++#else
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_clear(buf);
+ lirc_buffer_unlock(buf, &flags);
+@@ -77,31 +91,47 @@
+ unsigned int chunk_size,
+ unsigned int size)
+ {
++ int ret = 0;
++
+ init_waitqueue_head(&buf->wait_poll);
+- spin_lock_init(&buf->lock);
++ spin_lock_init(&buf->fifo_lock);
+ #ifndef LIRC_HAVE_KFIFO
+ _lirc_buffer_clear(buf);
+ #endif
+ buf->chunk_size = chunk_size;
+ buf->size = size;
+ #ifdef LIRC_HAVE_KFIFO
+- buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->lock);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->fifo_lock);
+ if (!buf->fifo)
+ return -ENOMEM;
+ #else
++ ret = kfifo_alloc(&buf->fifo, size * chunk_size, GFP_KERNEL);
++ if (ret == 0)
++ buf->fifo_initialized = 1;
++#endif
++#else
+ buf->data = kmalloc(size*chunk_size, GFP_KERNEL);
+ if (buf->data == NULL)
+ return -ENOMEM;
+ memset(buf->data, 0, size*chunk_size);
+ #endif
+- return 0;
++
++ return ret;
+ }
+ static inline void lirc_buffer_free(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_free(buf->fifo);
+ #else
++ if (buf->fifo_initialized) {
++ kfifo_free(&buf->fifo);
++ buf->fifo_initialized = 0;
++ }
++#endif
++#else
+ kfree(buf->data);
+ buf->data = NULL;
+ buf->head = 0;
+@@ -111,6 +141,25 @@
+ buf->size = 0;
+ #endif
+ }
++
++#ifdef LIRC_HAVE_KFIFO
++static inline int lirc_buffer_len(struct lirc_buffer *buf)
++{
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ return kfifo_len(buf->fifo);
++#else
++ int len;
++ unsigned long flags;
++
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ len = kfifo_len(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++
++ return len;
++#endif
++}
++#endif
++
+ #ifndef LIRC_HAVE_KFIFO
+ static inline int _lirc_buffer_full(struct lirc_buffer *buf)
+ {
+@@ -120,7 +169,7 @@
+ static inline int lirc_buffer_full(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return kfifo_len(buf->fifo) == buf->size * buf->chunk_size;
++ return lirc_buffer_len(buf) == buf->size * buf->chunk_size;
+ #else
+ unsigned long flags;
+ int ret;
+@@ -139,7 +188,7 @@
+ static inline int lirc_buffer_empty(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return !kfifo_len(buf->fifo);
++ return !lirc_buffer_len(buf);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -158,7 +207,7 @@
+ static inline int lirc_buffer_available(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return buf->size - (kfifo_len(buf->fifo) / buf->chunk_size);
++ return buf->size - (lirc_buffer_len(buf) / buf->chunk_size);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -177,21 +226,30 @@
+ buf->fill -= 1;
+ }
+ #endif
+-static inline void lirc_buffer_read(struct lirc_buffer *buf,
+- unsigned char *dest)
++static inline unsigned int lirc_buffer_read(struct lirc_buffer *buf,
++ unsigned char *dest)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- if (kfifo_len(buf->fifo) >= buf->chunk_size)
+- kfifo_get(buf->fifo, dest, buf->chunk_size);
++ if (lirc_buffer_len(buf) >= buf->chunk_size)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_get(buf->fifo, dest, buf->chunk_size);
++#else
++ ret = kfifo_out_locked(&buf->fifo, dest, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_read_1(buf, dest);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+-static inline void _lirc_buffer_write_1(struct lirc_buffer *buf,
++static inline _lirc_buffer_write_1(struct lirc_buffer *buf,
+ unsigned char *orig)
+ {
+ memcpy(&buf->data[buf->tail*buf->chunk_size], orig, buf->chunk_size);
+@@ -199,17 +257,26 @@
+ buf->fill++;
+ }
+ #endif
+-static inline void lirc_buffer_write(struct lirc_buffer *buf,
+- unsigned char *orig)
++static inline unsigned int lirc_buffer_write(struct lirc_buffer *buf,
++ unsigned char *orig)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_1(buf, orig);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+ static inline void _lirc_buffer_write_n(struct lirc_buffer *buf,
+@@ -234,17 +301,26 @@
+ buf->fill += count;
+ }
+ #endif
+-static inline void lirc_buffer_write_n(struct lirc_buffer *buf,
+- unsigned char *orig, int count)
++static inline unsigned int lirc_buffer_write_n(struct lirc_buffer *buf,
++ unsigned char *orig, int count)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, count * buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_n(buf, orig, count);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+
+ struct lirc_driver {
+--- drivers/lirc_dev/lirc_dev.c.old 2009-08-31 12:57:55.000000000 -0400
++++ drivers/lirc_dev/lirc_dev.c 2010-03-07 01:40:17.000000000 -0500
+@@ -32,7 +32,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/sched.h>
+--- drivers/lirc_sir/lirc_sir.c.old 2009-07-09 18:24:23.000000000 -0400
++++ drivers/lirc_sir/lirc_sir.c 2010-03-07 01:40:17.000000000 -0500
+@@ -45,7 +45,11 @@
+ # include <config.h>
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #if !defined(CONFIG_SERIAL_MODULE)
+ #if !defined(LIRC_ON_SA1100)
+ #warning "******************************************"
+--- drivers/lirc_serial/lirc_serial.c.old 2009-03-15 05:34:00.000000000 -0400
++++ drivers/lirc_serial/lirc_serial.c 2010-03-07 01:40:17.000000000 -0500
+@@ -60,7 +60,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #if defined(CONFIG_SERIAL) || defined(CONFIG_SERIAL_8250)
+ #warning "******************************************"
+--- drivers/lirc_bt829/lirc_bt829.c.old 2009-03-09 14:54:17.000000000 -0400
++++ drivers/lirc_bt829/lirc_bt829.c 2010-03-07 01:40:17.000000000 -0500
+@@ -22,7 +22,11 @@
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 0)
+ #error "This driver needs kernel version 2.4.0 or higher"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+ #include <linux/threads.h>
+--- drivers/lirc_sasem/lirc_sasem.c.old 2009-02-28 05:27:10.000000000 -0500
++++ drivers/lirc_sasem/lirc_sasem.c 2010-03-07 01:40:17.000000000 -0500
+@@ -41,7 +41,11 @@
+ #error "*** Sorry, this driver requires kernel version 2.4.22 or higher"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_igorplugusb/lirc_igorplugusb.c.old 2009-08-02 05:54:10.000000000 -0400
++++ drivers/lirc_igorplugusb/lirc_igorplugusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -47,7 +47,11 @@
+ #error "*******************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/kmod.h>
+--- drivers/lirc_imon/lirc_imon.c.old 2009-09-11 00:56:18.000000000 -0400
++++ drivers/lirc_imon/lirc_imon.c 2010-03-07 01:40:17.000000000 -0500
+@@ -30,7 +30,11 @@
+ #error "*** Sorry, this driver requires a 2.6 kernel"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_it87/lirc_it87.c.old 2009-06-01 08:21:31.000000000 -0400
++++ drivers/lirc_it87/lirc_it87.c 2010-03-07 01:40:17.000000000 -0500
+@@ -36,7 +36,11 @@
+
+ #include <linux/version.h>
+ #include <linux/module.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/sched.h>
+ #include <linux/errno.h>
+ #include <linux/signal.h>
+--- drivers/lirc_streamzap/lirc_streamzap.c.old 2009-03-15 05:34:00.000000000 -0400
++++ drivers/lirc_streamzap/lirc_streamzap.c 2010-03-07 01:40:17.000000000 -0500
+@@ -35,7 +35,11 @@
+ #error "Sorry, this driver needs kernel version 2.4.0 or higher"
+ #error "*******************************************************"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_atiusb/lirc_atiusb.c.old 2009-03-10 20:21:46.000000000 -0400
++++ drivers/lirc_atiusb/lirc_atiusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -43,7 +43,11 @@
+ #error "*******************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+--- drivers/lirc_parallel/lirc_parallel.c.old 2009-03-08 15:22:28.000000000 -0400
++++ drivers/lirc_parallel/lirc_parallel.c 2010-03-07 01:40:17.000000000 -0500
+@@ -34,7 +34,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #ifdef CONFIG_SMP
+ #error "--- Sorry, this driver is not SMP safe. ---"
+ #endif
+@@ -43,7 +47,11 @@
+ #include <linux/sched.h>
+ #include <linux/errno.h>
+ #include <linux/signal.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/fs.h>
+ #include <linux/kernel.h>
+ #include <linux/ioport.h>
+--- drivers/lirc_wpc8769l/lirc_wpc8769l.c.old 2009-03-15 05:34:01.000000000 -0400
++++ drivers/lirc_wpc8769l/lirc_wpc8769l.c 2010-03-07 01:40:17.000000000 -0500
+@@ -37,7 +37,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/module.h>
+ #include <linux/errno.h>
+--- drivers/lirc_mceusb/lirc_mceusb.c.old 2009-09-02 10:04:02.000000000 -0400
++++ drivers/lirc_mceusb/lirc_mceusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -52,7 +52,11 @@
+ #error "Sorry, this driver needs kernel version 2.6.5 or higher"
+ #error "*******************************************************"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_i2c/lirc_i2c.c 2009/08/30 16:59:53 1.70
++++ drivers/lirc_i2c/lirc_i2c.c 2009/12/15 05:37:00 1.71
+@@ -399,8 +399,8 @@
+ .name = "i2c ir driver",
+ },
+ #endif
+- .id = I2C_DRIVERID_EXP3, /* FIXME */
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
++ .id = I2C_DRIVERID_EXP3, /* FIXME */
+ .attach_adapter = ir_probe,
+ .detach_client = ir_remove,
+ #else
diff --git a/abs/core/lirc-utils/lirc.logrotate b/abs/core/lirc-utils/lirc.logrotate
index df97c60..623c4f3 100644
--- a/abs/core/lirc-utils/lirc.logrotate
+++ b/abs/core/lirc-utils/lirc.logrotate
@@ -2,7 +2,4 @@
missingok
notifempty
delaycompress
- postrotate
- /usr/bin/killall -HUP -q lircd
- endscript
}
diff --git a/abs/core/lirc-utils/lirc_patch b/abs/core/lirc-utils/lirc_patch
new file mode 100644
index 0000000..021ad50
--- /dev/null
+++ b/abs/core/lirc-utils/lirc_patch
@@ -0,0 +1,270 @@
+diff -ruaN lirc-0.8.6.orig//drivers/lirc_dev/lirc_dev.h lirc-0.8.6/drivers/lirc_dev/lirc_dev.h
+--- lirc-0.8.6.orig//drivers/lirc_dev/lirc_dev.h 2009-03-15 09:34:00.000000000 +0000
++++ lirc-0.8.6/drivers/lirc_dev/lirc_dev.h 2010-08-04 02:20:07.000000000 +0000
+@@ -4,7 +4,7 @@
+ * (L) by Artur Lipowski <alipowski@interia.pl>
+ * This code is licensed under GNU GPL
+ *
+- * $Id: lirc_dev.h,v 1.37 2009/03/15 09:34:00 lirc Exp $
++ * $Id: lirc_dev.h,v 1.39 2010/01/23 16:28:07 lirc Exp $
+ *
+ */
+
+@@ -30,14 +30,19 @@
+
+ struct lirc_buffer {
+ wait_queue_head_t wait_poll;
+- spinlock_t lock;
++ spinlock_t fifo_lock;
+ unsigned int chunk_size;
+ unsigned int size; /* in chunks */
+ /* Using chunks instead of bytes pretends to simplify boundary checking
+ * And should allow for some performance fine tunning later */
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ struct kfifo *fifo;
+ #else
++ struct kfifo fifo;
++ u8 fifo_initialized;
++#endif
++#else
+ unsigned int fill; /* in chunks */
+ int head, tail; /* in chunks */
+ unsigned char *data;
+@@ -47,12 +52,12 @@
+ static inline void lirc_buffer_lock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_lock_irqsave(&buf->lock, *flags);
++ spin_lock_irqsave(&buf->fifo_lock, *flags);
+ }
+ static inline void lirc_buffer_unlock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_unlock_irqrestore(&buf->lock, *flags);
++ spin_unlock_irqrestore(&buf->fifo_lock, *flags);
+ }
+ static inline void _lirc_buffer_clear(struct lirc_buffer *buf)
+ {
+@@ -64,10 +69,21 @@
+ static inline void lirc_buffer_clear(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_reset(buf->fifo);
+ #else
+ unsigned long flags;
++
++ if (buf->fifo_initialized) {
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ kfifo_reset(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++ }
++#endif
++#else
++ unsigned long flags;
++
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_clear(buf);
+ lirc_buffer_unlock(buf, &flags);
+@@ -77,31 +93,47 @@
+ unsigned int chunk_size,
+ unsigned int size)
+ {
++ int ret = 0;
++
+ init_waitqueue_head(&buf->wait_poll);
+- spin_lock_init(&buf->lock);
++ spin_lock_init(&buf->fifo_lock);
+ #ifndef LIRC_HAVE_KFIFO
+ _lirc_buffer_clear(buf);
+ #endif
+ buf->chunk_size = chunk_size;
+ buf->size = size;
+ #ifdef LIRC_HAVE_KFIFO
+- buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->lock);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->fifo_lock);
+ if (!buf->fifo)
+ return -ENOMEM;
+ #else
++ ret = kfifo_alloc(&buf->fifo, size * chunk_size, GFP_KERNEL);
++ if (ret == 0)
++ buf->fifo_initialized = 1;
++#endif
++#else
+ buf->data = kmalloc(size*chunk_size, GFP_KERNEL);
+ if (buf->data == NULL)
+ return -ENOMEM;
+ memset(buf->data, 0, size*chunk_size);
+ #endif
+- return 0;
++
++ return ret;
+ }
+ static inline void lirc_buffer_free(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_free(buf->fifo);
+ #else
++ if (buf->fifo_initialized) {
++ kfifo_free(&buf->fifo);
++ buf->fifo_initialized = 0;
++ }
++#endif
++#else
+ kfree(buf->data);
+ buf->data = NULL;
+ buf->head = 0;
+@@ -111,6 +143,25 @@
+ buf->size = 0;
+ #endif
+ }
++
++#ifdef LIRC_HAVE_KFIFO
++static inline int lirc_buffer_len(struct lirc_buffer *buf)
++{
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ return kfifo_len(buf->fifo);
++#else
++ int len;
++ unsigned long flags;
++
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ len = kfifo_len(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++
++ return len;
++#endif
++}
++#endif
++
+ #ifndef LIRC_HAVE_KFIFO
+ static inline int _lirc_buffer_full(struct lirc_buffer *buf)
+ {
+@@ -120,7 +171,7 @@
+ static inline int lirc_buffer_full(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return kfifo_len(buf->fifo) == buf->size * buf->chunk_size;
++ return lirc_buffer_len(buf) == buf->size * buf->chunk_size;
+ #else
+ unsigned long flags;
+ int ret;
+@@ -139,7 +190,7 @@
+ static inline int lirc_buffer_empty(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return !kfifo_len(buf->fifo);
++ return !lirc_buffer_len(buf);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -158,7 +209,7 @@
+ static inline int lirc_buffer_available(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return buf->size - (kfifo_len(buf->fifo) / buf->chunk_size);
++ return buf->size - (lirc_buffer_len(buf) / buf->chunk_size);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -177,21 +228,30 @@
+ buf->fill -= 1;
+ }
+ #endif
+-static inline void lirc_buffer_read(struct lirc_buffer *buf,
+- unsigned char *dest)
++static inline unsigned int lirc_buffer_read(struct lirc_buffer *buf,
++ unsigned char *dest)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- if (kfifo_len(buf->fifo) >= buf->chunk_size)
+- kfifo_get(buf->fifo, dest, buf->chunk_size);
++ if (lirc_buffer_len(buf) >= buf->chunk_size)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_get(buf->fifo, dest, buf->chunk_size);
++#else
++ ret = kfifo_out_locked(&buf->fifo, dest, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_read_1(buf, dest);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+-static inline void _lirc_buffer_write_1(struct lirc_buffer *buf,
++static inline _lirc_buffer_write_1(struct lirc_buffer *buf,
+ unsigned char *orig)
+ {
+ memcpy(&buf->data[buf->tail*buf->chunk_size], orig, buf->chunk_size);
+@@ -199,17 +259,26 @@
+ buf->fill++;
+ }
+ #endif
+-static inline void lirc_buffer_write(struct lirc_buffer *buf,
+- unsigned char *orig)
++static inline unsigned int lirc_buffer_write(struct lirc_buffer *buf,
++ unsigned char *orig)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_1(buf, orig);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+ static inline void _lirc_buffer_write_n(struct lirc_buffer *buf,
+@@ -234,17 +303,26 @@
+ buf->fill += count;
+ }
+ #endif
+-static inline void lirc_buffer_write_n(struct lirc_buffer *buf,
+- unsigned char *orig, int count)
++static inline unsigned int lirc_buffer_write_n(struct lirc_buffer *buf,
++ unsigned char *orig, int count)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, count * buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_n(buf, orig, count);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+
+ struct lirc_driver {
diff --git a/abs/core/lirc-utils/lircd b/abs/core/lirc-utils/lircd
index f4686d7..27e5af3 100755
--- a/abs/core/lirc-utils/lircd
+++ b/abs/core/lirc-utils/lircd
@@ -2,12 +2,19 @@
. /etc/rc.conf
. /etc/rc.d/functions
-. /etc/conf.d/lircd
+. /etc/conf.d/lircd.conf
PID=$(pidof -o %PPID /usr/sbin/lircd)
+LIRCD_SYMLINKFILE=/dev/lircd
+LIRCD_SOCKET=/var/run/lirc/lircd
case "$1" in
start)
stat_busy "Starting LIRC Daemon"
+ rm -f $LIRCD_SOCKET && ln -s $LIRCD_SOCKET $LIRCD_SYMLINKFILE
+ if [ $? -ne 0 ]; then
+ stat_fail
+ exit 0
+ fi
[ -n "$LIRC_DRIVER" ] && LIRC_EXTRAOPTS="-H $LIRC_DRIVER $LIRC_EXTRAOPTS"
[ -z "$PID" ] &&
if [ -n "$LIRC_DEVICE" ] ; then
@@ -24,6 +31,7 @@ case "$1" in
;;
stop)
stat_busy "Stopping LIRC Daemon"
+ rm -f $LIRCD_SYMLINKFILE
[ ! -z "$PID" ] && kill $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
@@ -38,6 +46,6 @@ case "$1" in
$0 start
;;
*)
- echo "usage: $0 {start|stop|restart}"
+ echo "usage: $0 start|stop|restart"
esac
exit 0
diff --git a/abs/core/lirc-utils/lircd.conf.d b/abs/core/lirc-utils/lircd.conf
index 760dab0..760dab0 100644
--- a/abs/core/lirc-utils/lircd.conf.d
+++ b/abs/core/lirc-utils/lircd.conf
diff --git a/abs/core/lirc/PKGBUILD b/abs/core/lirc/PKGBUILD
index d15cf1d..8c3b5a6 100644
--- a/abs/core/lirc/PKGBUILD
+++ b/abs/core/lirc/PKGBUILD
@@ -1,38 +1,29 @@
-# $Id: PKGBUILD 14978 2008-10-11 21:04:37Z tpowa $
+# $Id: PKGBUILD 80419 2010-05-17 08:09:39Z tpowa $
# Maintainer: Paul Mattal <paul@archlinux.org>
pkgname=lirc
-pkgver=0.8.5CVS
-pkgrel=15
-_kernver=2.6.28-LinHES
+pkgver=0.8.6
+pkgrel=5
+_kernver=2.6.34-LinHES
pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://www.lirc.org/"
license=('GPL')
-depends=('lirc-utils=0.8.5CVS' 'kernel26>=2.6.27' 'kernel26<2.6.29' 'iguanaIR')
-makedepends=('python')
+depends=('lirc-utils=0.8.6' 'kernel26>=2.6.34' 'kernel26<2.6.35')
+makedepends=('help2man' 'kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
replaces=('lirc+pctv')
options=('!makeflags')
install=$pkgname.install
-source=(http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.5-CVS-pvr150.tar.bz2 \
- kernel-2.6.26.patch
- kernel-2.6.27.patch
- lirc_atiusb.patch
- http://superb-east.dl.sourceforge.net/sourceforge/mod-mce/lirc_mod_mce-0.1.5.tar.bz2
- lirc_mod_mce.patch
- hw_commandir.c
- hw_commandir.h
- dvicoIR.rules
- lirc.fdi)
+source=("http://prdownloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'kernel-2.6.33.patch')
+md5sums=('4ca24da6f5e7c2dcea74878c27a4a3f7'
+ 'f029698154cf32bc51e5e69879d53a12')
build() {
# configure
- cd $startdir/src/lirc-0.8.5-CVS-pvr150 || return 1
- cp $startdir/src/hw_commandir.* $startdir/src/lirc-0.8.5-CVS-pvr150/daemons
-# patch -Np1 -i ../kernel-2.6.26.patch || return 1
-# patch -Np1 -i ../kernel-2.6.27.patch || return 1
- patch -Np1 -i ../lirc_atiusb.patch || return 1
-
+ cd ${srcdir}/lirc-${pkgver} || return 1
+ # see http://bugs.gentoo.org/301321
+ patch -p0 -i ../kernel-2.6.33.patch || return 1
./configure --enable-sandboxed --prefix=/usr \
--with-driver=all --with-kerneldir=/usr/src/linux-${_kernver}/ \
--with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \
@@ -44,6 +35,7 @@ build() {
sed -i -e "s:lirc_parallel::" -e "s:lirc_bt829::" \
Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
|| return 1
+
# disable lirc_gpio due to brokeness of kernel 2.6.23
sed -i -e "s:lirc_gpio::" \
Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
@@ -52,35 +44,9 @@ build() {
# build
cd drivers || return 1
make || return 1
- make DESTDIR=$startdir/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
# set the kernel we've built for inside the install script
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
- $startdir/lirc.install || return 1
- cd $startdir/src/lirc_mod_mce
- cp ../lirc-0.8.5-CVS-pvr150/drivers/lirc_dev/lirc_dev.h .
- patch -p1 < ../lirc_mod_mce.patch
- make KDIR=/usr/src/linux-2.6.28-LinHES/
- cp lirc_mod_mce.ko $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/
- mv $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/lirc_mceusb2.ko $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/lirc_mceusb2.ko.not
- #remove old commandir
- rm $startdir/pkg/lib/modules/$_kernver/kernel/drivers/misc/lirc_cmdir.ko
- rm $startdir/pkg/lib/modules/$_kernver/kernel/drivers/misc/commandir.ko
-
- # Add a udev rule for the DVICO remote so that if there is more than
- # one hiddev device, the system cant get confused.
- install -D -m644 $srcdir/dvicoIR.rules $pkgdir/etc/udev/rules.d/dvicoIR.rules
-
- # Add the fdi file to prevent the Dvico dual 4 remotes from screwing up keyboard interaction.
- install -D -m644 $srcdir/lirc.fdi $pkgdir/usr/share/hal/fdi/preprobe/20thirdparty/lirc.fdi
+ ${startdir}/lirc.install || return 1
}
-md5sums=('b96dae91b566143b3af433fa2714ec9a'
- '1753acd774f50b638e6173d364de53fd'
- '6f151eb4e81fc7776a06c9063e6ad9a5'
- '7eccd7826ab99e5cf1b9154171c8b927'
- '21ce358809105f005e888e3b138c59e6'
- 'd299b696b007fc9b663a73cc1758a1ef'
- 'f059f4030afc682c9539a03bf837c1cf'
- '4e698654cc44fc6c4163814acda5a7ee'
- '9a3a6dc03647ee6674a166dfb884ddd6'
- '203d9cd014c4276be4c84cecd103919d')
diff --git a/abs/core/lirc/kernel-2.6.33.patch b/abs/core/lirc/kernel-2.6.33.patch
new file mode 100644
index 0000000..7827e00
--- /dev/null
+++ b/abs/core/lirc/kernel-2.6.33.patch
@@ -0,0 +1,475 @@
+--- drivers/lirc_dev/lirc_dev.h 2009/03/15 09:34:00 1.37 lirc-0_8_6
++++ drivers/lirc_dev/lirc_dev.h 2009/12/28 15:21:17 1.38
+@@ -4,7 +4,7 @@
+ * (L) by Artur Lipowski <alipowski@interia.pl>
+ * This code is licensed under GNU GPL
+ *
+- * $Id: lirc_dev.h,v 1.37 2009/03/15 09:34:00 lirc Exp $
++ * $Id: lirc_dev.h,v 1.38 2009/12/28 15:21:17 jarodwilson Exp $
+ *
+ */
+
+@@ -30,14 +30,19 @@
+
+ struct lirc_buffer {
+ wait_queue_head_t wait_poll;
+- spinlock_t lock;
++ spinlock_t fifo_lock;
+ unsigned int chunk_size;
+ unsigned int size; /* in chunks */
+ /* Using chunks instead of bytes pretends to simplify boundary checking
+ * And should allow for some performance fine tunning later */
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ struct kfifo *fifo;
+ #else
++ struct kfifo fifo;
++ u8 fifo_initialized;
++#endif
++#else
+ unsigned int fill; /* in chunks */
+ int head, tail; /* in chunks */
+ unsigned char *data;
+@@ -47,12 +52,12 @@
+ static inline void lirc_buffer_lock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_lock_irqsave(&buf->lock, *flags);
++ spin_lock_irqsave(&buf->fifo_lock, *flags);
+ }
+ static inline void lirc_buffer_unlock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_unlock_irqrestore(&buf->lock, *flags);
++ spin_unlock_irqrestore(&buf->fifo_lock, *flags);
+ }
+ static inline void _lirc_buffer_clear(struct lirc_buffer *buf)
+ {
+@@ -63,11 +68,20 @@
+ #endif
+ static inline void lirc_buffer_clear(struct lirc_buffer *buf)
+ {
++ unsigned long flags;
++
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_reset(buf->fifo);
+ #else
+- unsigned long flags;
++ if (buf->fifo_initialized) {
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ kfifo_reset(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++ }
++#endif
++#else
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_clear(buf);
+ lirc_buffer_unlock(buf, &flags);
+@@ -77,31 +91,47 @@
+ unsigned int chunk_size,
+ unsigned int size)
+ {
++ int ret = 0;
++
+ init_waitqueue_head(&buf->wait_poll);
+- spin_lock_init(&buf->lock);
++ spin_lock_init(&buf->fifo_lock);
+ #ifndef LIRC_HAVE_KFIFO
+ _lirc_buffer_clear(buf);
+ #endif
+ buf->chunk_size = chunk_size;
+ buf->size = size;
+ #ifdef LIRC_HAVE_KFIFO
+- buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->lock);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->fifo_lock);
+ if (!buf->fifo)
+ return -ENOMEM;
+ #else
++ ret = kfifo_alloc(&buf->fifo, size * chunk_size, GFP_KERNEL);
++ if (ret == 0)
++ buf->fifo_initialized = 1;
++#endif
++#else
+ buf->data = kmalloc(size*chunk_size, GFP_KERNEL);
+ if (buf->data == NULL)
+ return -ENOMEM;
+ memset(buf->data, 0, size*chunk_size);
+ #endif
+- return 0;
++
++ return ret;
+ }
+ static inline void lirc_buffer_free(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_free(buf->fifo);
+ #else
++ if (buf->fifo_initialized) {
++ kfifo_free(&buf->fifo);
++ buf->fifo_initialized = 0;
++ }
++#endif
++#else
+ kfree(buf->data);
+ buf->data = NULL;
+ buf->head = 0;
+@@ -111,6 +141,25 @@
+ buf->size = 0;
+ #endif
+ }
++
++#ifdef LIRC_HAVE_KFIFO
++static inline int lirc_buffer_len(struct lirc_buffer *buf)
++{
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ return kfifo_len(buf->fifo);
++#else
++ int len;
++ unsigned long flags;
++
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ len = kfifo_len(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++
++ return len;
++#endif
++}
++#endif
++
+ #ifndef LIRC_HAVE_KFIFO
+ static inline int _lirc_buffer_full(struct lirc_buffer *buf)
+ {
+@@ -120,7 +169,7 @@
+ static inline int lirc_buffer_full(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return kfifo_len(buf->fifo) == buf->size * buf->chunk_size;
++ return lirc_buffer_len(buf) == buf->size * buf->chunk_size;
+ #else
+ unsigned long flags;
+ int ret;
+@@ -139,7 +188,7 @@
+ static inline int lirc_buffer_empty(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return !kfifo_len(buf->fifo);
++ return !lirc_buffer_len(buf);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -158,7 +207,7 @@
+ static inline int lirc_buffer_available(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return buf->size - (kfifo_len(buf->fifo) / buf->chunk_size);
++ return buf->size - (lirc_buffer_len(buf) / buf->chunk_size);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -177,21 +226,30 @@
+ buf->fill -= 1;
+ }
+ #endif
+-static inline void lirc_buffer_read(struct lirc_buffer *buf,
+- unsigned char *dest)
++static inline unsigned int lirc_buffer_read(struct lirc_buffer *buf,
++ unsigned char *dest)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- if (kfifo_len(buf->fifo) >= buf->chunk_size)
+- kfifo_get(buf->fifo, dest, buf->chunk_size);
++ if (lirc_buffer_len(buf) >= buf->chunk_size)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_get(buf->fifo, dest, buf->chunk_size);
++#else
++ ret = kfifo_out_locked(&buf->fifo, dest, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_read_1(buf, dest);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+-static inline void _lirc_buffer_write_1(struct lirc_buffer *buf,
++static inline _lirc_buffer_write_1(struct lirc_buffer *buf,
+ unsigned char *orig)
+ {
+ memcpy(&buf->data[buf->tail*buf->chunk_size], orig, buf->chunk_size);
+@@ -199,17 +257,26 @@
+ buf->fill++;
+ }
+ #endif
+-static inline void lirc_buffer_write(struct lirc_buffer *buf,
+- unsigned char *orig)
++static inline unsigned int lirc_buffer_write(struct lirc_buffer *buf,
++ unsigned char *orig)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_1(buf, orig);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+ static inline void _lirc_buffer_write_n(struct lirc_buffer *buf,
+@@ -234,17 +301,26 @@
+ buf->fill += count;
+ }
+ #endif
+-static inline void lirc_buffer_write_n(struct lirc_buffer *buf,
+- unsigned char *orig, int count)
++static inline unsigned int lirc_buffer_write_n(struct lirc_buffer *buf,
++ unsigned char *orig, int count)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, count * buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_n(buf, orig, count);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+
+ struct lirc_driver {
+--- drivers/lirc_dev/lirc_dev.c.old 2009-08-31 12:57:55.000000000 -0400
++++ drivers/lirc_dev/lirc_dev.c 2010-03-07 01:40:17.000000000 -0500
+@@ -32,7 +32,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/sched.h>
+--- drivers/lirc_sir/lirc_sir.c.old 2009-07-09 18:24:23.000000000 -0400
++++ drivers/lirc_sir/lirc_sir.c 2010-03-07 01:40:17.000000000 -0500
+@@ -45,7 +45,11 @@
+ # include <config.h>
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #if !defined(CONFIG_SERIAL_MODULE)
+ #if !defined(LIRC_ON_SA1100)
+ #warning "******************************************"
+--- drivers/lirc_serial/lirc_serial.c.old 2009-03-15 05:34:00.000000000 -0400
++++ drivers/lirc_serial/lirc_serial.c 2010-03-07 01:40:17.000000000 -0500
+@@ -60,7 +60,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #if defined(CONFIG_SERIAL) || defined(CONFIG_SERIAL_8250)
+ #warning "******************************************"
+--- drivers/lirc_bt829/lirc_bt829.c.old 2009-03-09 14:54:17.000000000 -0400
++++ drivers/lirc_bt829/lirc_bt829.c 2010-03-07 01:40:17.000000000 -0500
+@@ -22,7 +22,11 @@
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 0)
+ #error "This driver needs kernel version 2.4.0 or higher"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+ #include <linux/threads.h>
+--- drivers/lirc_sasem/lirc_sasem.c.old 2009-02-28 05:27:10.000000000 -0500
++++ drivers/lirc_sasem/lirc_sasem.c 2010-03-07 01:40:17.000000000 -0500
+@@ -41,7 +41,11 @@
+ #error "*** Sorry, this driver requires kernel version 2.4.22 or higher"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_igorplugusb/lirc_igorplugusb.c.old 2009-08-02 05:54:10.000000000 -0400
++++ drivers/lirc_igorplugusb/lirc_igorplugusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -47,7 +47,11 @@
+ #error "*******************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/kmod.h>
+--- drivers/lirc_imon/lirc_imon.c.old 2009-09-11 00:56:18.000000000 -0400
++++ drivers/lirc_imon/lirc_imon.c 2010-03-07 01:40:17.000000000 -0500
+@@ -30,7 +30,11 @@
+ #error "*** Sorry, this driver requires a 2.6 kernel"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_it87/lirc_it87.c.old 2009-06-01 08:21:31.000000000 -0400
++++ drivers/lirc_it87/lirc_it87.c 2010-03-07 01:40:17.000000000 -0500
+@@ -36,7 +36,11 @@
+
+ #include <linux/version.h>
+ #include <linux/module.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/sched.h>
+ #include <linux/errno.h>
+ #include <linux/signal.h>
+--- drivers/lirc_streamzap/lirc_streamzap.c.old 2009-03-15 05:34:00.000000000 -0400
++++ drivers/lirc_streamzap/lirc_streamzap.c 2010-03-07 01:40:17.000000000 -0500
+@@ -35,7 +35,11 @@
+ #error "Sorry, this driver needs kernel version 2.4.0 or higher"
+ #error "*******************************************************"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_atiusb/lirc_atiusb.c.old 2009-03-10 20:21:46.000000000 -0400
++++ drivers/lirc_atiusb/lirc_atiusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -43,7 +43,11 @@
+ #error "*******************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+--- drivers/lirc_parallel/lirc_parallel.c.old 2009-03-08 15:22:28.000000000 -0400
++++ drivers/lirc_parallel/lirc_parallel.c 2010-03-07 01:40:17.000000000 -0500
+@@ -34,7 +34,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #ifdef CONFIG_SMP
+ #error "--- Sorry, this driver is not SMP safe. ---"
+ #endif
+@@ -43,7 +47,11 @@
+ #include <linux/sched.h>
+ #include <linux/errno.h>
+ #include <linux/signal.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/fs.h>
+ #include <linux/kernel.h>
+ #include <linux/ioport.h>
+--- drivers/lirc_wpc8769l/lirc_wpc8769l.c.old 2009-03-15 05:34:01.000000000 -0400
++++ drivers/lirc_wpc8769l/lirc_wpc8769l.c 2010-03-07 01:40:17.000000000 -0500
+@@ -37,7 +37,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/module.h>
+ #include <linux/errno.h>
+--- drivers/lirc_mceusb/lirc_mceusb.c.old 2009-09-02 10:04:02.000000000 -0400
++++ drivers/lirc_mceusb/lirc_mceusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -52,7 +52,11 @@
+ #error "Sorry, this driver needs kernel version 2.6.5 or higher"
+ #error "*******************************************************"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_i2c/lirc_i2c.c 2009/08/30 16:59:53 1.70
++++ drivers/lirc_i2c/lirc_i2c.c 2009/12/15 05:37:00 1.71
+@@ -399,8 +399,8 @@
+ .name = "i2c ir driver",
+ },
+ #endif
+- .id = I2C_DRIVERID_EXP3, /* FIXME */
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
++ .id = I2C_DRIVERID_EXP3, /* FIXME */
+ .attach_adapter = ir_probe,
+ .detach_client = ir_remove,
+ #else
diff --git a/abs/core/lirc/lirc.install b/abs/core/lirc/lirc.install
index 53340e5..ac4bf13 100644
--- a/abs/core/lirc/lirc.install
+++ b/abs/core/lirc/lirc.install
@@ -10,7 +10,7 @@ pre_install() {
post_install() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
- KERNEL_VERSION=2.6.28-LinHES
+ KERNEL_VERSION=2.6.34-LinHES
depmod -v $KERNEL_VERSION > /dev/null 2>&1
/bin/true
}
@@ -26,7 +26,7 @@ pre_upgrade() {
post_upgrade() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
- KERNEL_VERSION=2.6.28-LinHES
+ KERNEL_VERSION=2.6.34-LinHES
depmod -v $KERNEL_VERSION > /dev/null 2>&1
/bin/true
}
@@ -40,7 +40,7 @@ pre_remove() {
post_remove() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
- KERNEL_VERSION=2.6.28-LinHES
+ KERNEL_VERSION=2.6.34-LinHES
depmod -v $KERNEL_VERSION > /dev/null 2>&1
/bin/true
}
diff --git a/abs/core/lirc_085-utils/PKGBUILD b/abs/core/lirc_085-utils/PKGBUILD
new file mode 100644
index 0000000..c4d5759
--- /dev/null
+++ b/abs/core/lirc_085-utils/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id: PKGBUILD 6058 2008-07-23 02:50:00Z eric $
+# Maintainer: Paul Mattal <paul@archlinux.org>
+
+pkgname=lirc-utils
+pkgver=0.8.5CVS
+pkgrel=7
+pkgdesc="Linux Infrared Remote Control utils"
+arch=(i686 x86_64)
+url="http://www.lirc.org/"
+license=('GPL')
+_kernver=2.6.28-LinHES
+depends=('alsa-lib' 'libusb' 'libx11' 'libsm' 'iguanaIR')
+#makedepends=('help2man')
+replaces=('lirc+pctv')
+backup=('etc/lircd.conf' 'etc/lircmd.conf'\
+ 'etc/conf.d/lircd')
+options=('!libtool' '!makeflags')
+source=(http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.5-CVS-pvr150.tar.bz2 \
+ lircd lircmd lirc.logrotate lircd.conf.d \
+ kernel-2.6.26.patch lirc_atiusb.patch
+ hw_commandir.c
+ hw_commandir.h)
+md5sums=('b96dae91b566143b3af433fa2714ec9a' '909ad968afa10e4511e1da277bb23c3b'\
+ '85f7fdac55e5256967241864049bf5e9' '3deb02604b37811d41816e9b4385fcc3'\
+ '5b1f8c9cd788a39a6283f93302ce5c6e' '1753acd774f50b638e6173d364de53fd'\
+ '7eccd7826ab99e5cf1b9154171c8b927')
+
+build() {
+ # configure
+ cd $startdir/src/lirc-0.8.5-CVS-pvr150 || return 1
+ cp $startdir/src/hw_commandir.* $startdir/src/lirc-0.8.5-CVS-pvr150/daemons
+# patch -Np1 -i ../kernel-2.6.26.patch || return 1
+ patch -Np1 -i ../lirc_atiusb.patch || return 1
+
+ # Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+
+ sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am || return 1
+
+ autoreconf || return 1
+ libtoolize || return 1
+
+ ./configure --enable-sandboxed --prefix=/usr \
+ --with-driver=all --with-kerneldir=/usr/src/linux-${_kernver} \
+ --with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \
+ --with-transmitter \
+ || return 1
+ # disable parallel and bt829
+ # because of incompatibility with smp systems
+ sed -i -e "s:lirc_parallel::" -e "s:lirc_bt829::" \
+ Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
+ || return 1
+
+ # build
+ make || return 1
+ make DESTDIR=$startdir/pkg install || return 1
+ mkdir -p $startdir/pkg/usr/share/lirc $startdir/pkg/etc/rc.d \
+ || return 1
+ cp $startdir/src/{lircd,lircmd} $startdir/pkg/etc/rc.d/ \
+ || return 1
+ cp -rp remotes $startdir/pkg/usr/share/lirc || return 1
+ chmod -R go-w $startdir/pkg/usr/share/lirc/ || return 1
+
+ # install the logrotate config
+ install -D -m644 $startdir/src/lirc.logrotate \
+ $startdir/pkg/etc/logrotate.d/lirc || return 1
+
+ # install conf.d file
+ install -D -m644 $startdir/src/lircd.conf.d \
+ $startdir/pkg/etc/conf.d/lircd || return 1
+
+ # remove built modules
+ rm -r $startdir/pkg/lib/
+}
diff --git a/abs/core/lirc/hw_commandir.c b/abs/core/lirc_085-utils/hw_commandir.c
index 40ac0de..40ac0de 100755
--- a/abs/core/lirc/hw_commandir.c
+++ b/abs/core/lirc_085-utils/hw_commandir.c
diff --git a/abs/core/lirc/hw_commandir.h b/abs/core/lirc_085-utils/hw_commandir.h
index 2280f6c..2280f6c 100755
--- a/abs/core/lirc/hw_commandir.h
+++ b/abs/core/lirc_085-utils/hw_commandir.h
diff --git a/abs/core/lirc/kernel-2.6.26.patch b/abs/core/lirc_085-utils/kernel-2.6.26.patch
index 74bb986..74bb986 100644
--- a/abs/core/lirc/kernel-2.6.26.patch
+++ b/abs/core/lirc_085-utils/kernel-2.6.26.patch
diff --git a/abs/core/lirc_085-utils/lirc.logrotate b/abs/core/lirc_085-utils/lirc.logrotate
new file mode 100644
index 0000000..df97c60
--- /dev/null
+++ b/abs/core/lirc_085-utils/lirc.logrotate
@@ -0,0 +1,8 @@
+/var/log/lircd {
+ missingok
+ notifempty
+ delaycompress
+ postrotate
+ /usr/bin/killall -HUP -q lircd
+ endscript
+}
diff --git a/abs/core/lirc/lirc_atiusb.patch b/abs/core/lirc_085-utils/lirc_atiusb.patch
index 2f0c61e..2f0c61e 100644
--- a/abs/core/lirc/lirc_atiusb.patch
+++ b/abs/core/lirc_085-utils/lirc_atiusb.patch
diff --git a/abs/core/lirc_085-utils/lircd b/abs/core/lirc_085-utils/lircd
new file mode 100755
index 0000000..f4686d7
--- /dev/null
+++ b/abs/core/lirc_085-utils/lircd
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/lircd
+
+PID=$(pidof -o %PPID /usr/sbin/lircd)
+case "$1" in
+ start)
+ stat_busy "Starting LIRC Daemon"
+ [ -n "$LIRC_DRIVER" ] && LIRC_EXTRAOPTS="-H $LIRC_DRIVER $LIRC_EXTRAOPTS"
+ [ -z "$PID" ] &&
+ if [ -n "$LIRC_DEVICE" ] ; then
+ /usr/sbin/lircd -d "$LIRC_DEVICE" $LIRC_EXTRAOPTS $LIRC_CONFIGFILE
+ else
+ /usr/sbin/lircd $LIRC_EXTRAOPTS $LIRC_CONFIGFILE
+ fi
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon lircd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping LIRC Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon lircd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/core/lirc_085-utils/lircd.conf.d b/abs/core/lirc_085-utils/lircd.conf.d
new file mode 100644
index 0000000..760dab0
--- /dev/null
+++ b/abs/core/lirc_085-utils/lircd.conf.d
@@ -0,0 +1,8 @@
+#
+# Parameters for lirc daemon
+#
+
+LIRC_DEVICE="/dev/lirc0"
+LIRC_DRIVER=""
+LIRC_EXTRAOPTS=""
+LIRC_CONFIGFILE=""
diff --git a/abs/core/mythtv/stable/mythvideo/mtd b/abs/core/lirc_085-utils/lircmd
index 1f46dfe..220c47c 100644..100755
--- a/abs/core/mythtv/stable/mythvideo/mtd
+++ b/abs/core/lirc_085-utils/lircmd
@@ -3,31 +3,31 @@
. /etc/rc.conf
. /etc/rc.d/functions
-PID=`pidof -o %PPID /usr/bin/mtd`
+PID=`pidof -o %PPID /usr/sbin/lircmd`
case "$1" in
start)
- stat_busy "Starting Myth Transcoding Daemon"
- [ -z "$PID" ] && /usr/bin/mtd -d
+ stat_busy "Starting lircmd Daemon"
+ [ -z "$PID" ] && /usr/sbin/lircmd
if [ $? -gt 0 ]; then
stat_fail
else
- echo $PID > /var/run/mtd.pid
- add_daemon mythtranscode
+ add_daemon lircmd
stat_done
fi
;;
stop)
- stat_busy "Stopping Myth Transcoding Daemon"
- [ ! -z "$PID" ] && kill $PID &>/dev/null
+ stat_busy "Stopping lircmd Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
- rm_daemon mtd
+ rm_daemon lircmd
stat_done
fi
;;
restart)
$0 stop
+ sleep 1
$0 start
;;
*)
diff --git a/abs/core/lirc_085/PKGBUILD b/abs/core/lirc_085/PKGBUILD
new file mode 100644
index 0000000..12dc3b4
--- /dev/null
+++ b/abs/core/lirc_085/PKGBUILD
@@ -0,0 +1,86 @@
+# $Id: PKGBUILD 14978 2008-10-11 21:04:37Z tpowa $
+# Maintainer: Paul Mattal <paul@archlinux.org>
+
+pkgname=lirc
+pkgver=0.8.5CVS
+pkgrel=17
+_kernver=2.6.28-LinHES
+pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel"
+arch=(i686 x86_64)
+url="http://www.lirc.org/"
+license=('GPL')
+depends=('lirc-utils=0.8.5CVS' 'kernel26>=2.6.27' 'kernel26<2.6.29' 'iguanaIR')
+makedepends=('python')
+replaces=('lirc+pctv')
+options=('!makeflags')
+install=$pkgname.install
+source=(http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.5-CVS-pvr150.tar.bz2 \
+ kernel-2.6.26.patch
+ kernel-2.6.27.patch
+ lirc_atiusb.patch
+ http://superb-east.dl.sourceforge.net/sourceforge/mod-mce/lirc_mod_mce-0.1.5.tar.bz2
+ lirc_mod_mce.patch
+ hw_commandir.c
+ hw_commandir.h
+ dvicoIR.rules
+ lirc.fdi)
+
+build() {
+ # configure
+ cd $startdir/src/lirc-0.8.5-CVS-pvr150 || return 1
+ cp $startdir/src/hw_commandir.* $startdir/src/lirc-0.8.5-CVS-pvr150/daemons
+# patch -Np1 -i ../kernel-2.6.26.patch || return 1
+# patch -Np1 -i ../kernel-2.6.27.patch || return 1
+ patch -Np1 -i ../lirc_atiusb.patch || return 1
+
+ ./configure --enable-sandboxed --prefix=/usr \
+ --with-driver=all --with-kerneldir=/usr/src/linux-${_kernver}/ \
+ --with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \
+ --with-transmitter \
+ || return 1
+
+ # disable parallel and bt829
+ # because of incompatibility with smp systems
+ sed -i -e "s:lirc_parallel::" -e "s:lirc_bt829::" \
+ Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
+ || return 1
+ # disable lirc_gpio due to brokeness of kernel 2.6.23
+ sed -i -e "s:lirc_gpio::" \
+ Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
+ || return 1
+
+ # build
+ cd drivers || return 1
+ make || return 1
+ make DESTDIR=$startdir/pkg install || return 1
+
+ # set the kernel we've built for inside the install script
+ sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
+ $startdir/lirc.install || return 1
+ cd $startdir/src/lirc_mod_mce
+ cp ../lirc-0.8.5-CVS-pvr150/drivers/lirc_dev/lirc_dev.h .
+ patch -p1 < ../lirc_mod_mce.patch
+ make KDIR=/usr/src/linux-2.6.28-LinHES/
+ cp lirc_mod_mce.ko $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/
+ mv $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/lirc_mceusb2.ko $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/lirc_mceusb2.ko.not
+ #remove old commandir
+ rm $startdir/pkg/lib/modules/$_kernver/kernel/drivers/misc/lirc_cmdir.ko
+ rm $startdir/pkg/lib/modules/$_kernver/kernel/drivers/misc/commandir.ko
+
+ # Add a udev rule for the DVICO remote so that if there is more than
+ # one hiddev device, the system cant get confused.
+ install -D -m644 $srcdir/dvicoIR.rules $pkgdir/etc/udev/rules.d/dvicoIR.rules
+
+ # Add the fdi file to prevent the Dvico dual 4 remotes from screwing up keyboard interaction.
+ install -D -m644 $srcdir/lirc.fdi $pkgdir/usr/share/hal/fdi/preprobe/20thirdparty/lirc.fdi
+}
+md5sums=('b96dae91b566143b3af433fa2714ec9a'
+ '1753acd774f50b638e6173d364de53fd'
+ '6f151eb4e81fc7776a06c9063e6ad9a5'
+ '7eccd7826ab99e5cf1b9154171c8b927'
+ '21ce358809105f005e888e3b138c59e6'
+ 'b5d52566a9dae8d76e24e8753f33abef'
+ 'f059f4030afc682c9539a03bf837c1cf'
+ '4e698654cc44fc6c4163814acda5a7ee'
+ '9a3a6dc03647ee6674a166dfb884ddd6'
+ '203d9cd014c4276be4c84cecd103919d')
diff --git a/abs/core/lirc/dvicoIR.rules b/abs/core/lirc_085/dvicoIR.rules
index ada5466..ada5466 100644
--- a/abs/core/lirc/dvicoIR.rules
+++ b/abs/core/lirc_085/dvicoIR.rules
diff --git a/abs/core/lirc-utils/hw_commandir.c b/abs/core/lirc_085/hw_commandir.c
index 40ac0de..40ac0de 100755
--- a/abs/core/lirc-utils/hw_commandir.c
+++ b/abs/core/lirc_085/hw_commandir.c
diff --git a/abs/core/lirc-utils/hw_commandir.h b/abs/core/lirc_085/hw_commandir.h
index 2280f6c..2280f6c 100755
--- a/abs/core/lirc-utils/hw_commandir.h
+++ b/abs/core/lirc_085/hw_commandir.h
diff --git a/abs/core/lirc-utils/kernel-2.6.26.patch b/abs/core/lirc_085/kernel-2.6.26.patch
index 74bb986..74bb986 100644
--- a/abs/core/lirc-utils/kernel-2.6.26.patch
+++ b/abs/core/lirc_085/kernel-2.6.26.patch
diff --git a/abs/core/lirc/kernel-2.6.27.patch b/abs/core/lirc_085/kernel-2.6.27.patch
index 05cf75b..05cf75b 100644
--- a/abs/core/lirc/kernel-2.6.27.patch
+++ b/abs/core/lirc_085/kernel-2.6.27.patch
diff --git a/abs/core/lirc/lirc.fdi b/abs/core/lirc_085/lirc.fdi
index 6f2443a..6f2443a 100644
--- a/abs/core/lirc/lirc.fdi
+++ b/abs/core/lirc_085/lirc.fdi
diff --git a/abs/core/aufs/aufs.install b/abs/core/lirc_085/lirc.install
index 8081c6a..53340e5 100644
--- a/abs/core/aufs/aufs.install
+++ b/abs/core/lirc_085/lirc.install
@@ -1,7 +1,12 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+# arg 1: the new package version
pre_install() {
- /bin/true
+ /bin/true
}
+# arg 1: the new package version
post_install() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
@@ -10,6 +15,14 @@ post_install() {
/bin/true
}
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
post_upgrade() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
@@ -18,6 +31,12 @@ post_upgrade() {
/bin/true
}
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
post_remove() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
diff --git a/abs/core/lirc-utils/lirc_atiusb.patch b/abs/core/lirc_085/lirc_atiusb.patch
index 2f0c61e..2f0c61e 100644
--- a/abs/core/lirc-utils/lirc_atiusb.patch
+++ b/abs/core/lirc_085/lirc_atiusb.patch
diff --git a/abs/core/lirc/lirc_mod_mce.patch b/abs/core/lirc_085/lirc_mod_mce.patch
index 1dc6644..1dc6644 100644
--- a/abs/core/lirc/lirc_mod_mce.patch
+++ b/abs/core/lirc_085/lirc_mod_mce.patch
diff --git a/abs/core/local-website/PKGBUILD b/abs/core/local-website/PKGBUILD
index 1f1faa9..43a0964 100644
--- a/abs/core/local-website/PKGBUILD
+++ b/abs/core/local-website/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=local-website
pkgver=2
-pkgrel=15
+pkgrel=25
pkgdesc="Contents of http://localhost"
arch=(i686 x86_64)
license=('GPL')
diff --git a/abs/core/local-website/htdocs/layout.css b/abs/core/local-website/htdocs/layout.css
deleted file mode 100644
index a91a651..0000000
--- a/abs/core/local-website/htdocs/layout.css
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Layout Stylesheet - Colors taken from MythWeb - arranged by md10md*/
-
-.style2 {color: #FFFFFF}
-.style3 {color: #FFFFFF}
-.header {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- background-color: #CCCCCC;
- border: solid thin #000000;
-}
-a, a:link { color: #E0E0FF; text-decoration: none; font-size: 14px; }
-a:active { color: #990033; text-decoration: none; font-size: 14px; }
-a:visited { color: #E0E0FF; text-decoration: none; font-size: 14px; }
-a:hover { color: #F0F000; text-decoration: underline; font-size: 14px; }
-body,td,th {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- background-color: #002650;
-}
-td,th {
- border: thin solid #000000;
- background-color: #265990;
-}
-.headerimage {
- background-color: #335555;
- border: solid thin #000000;
- font-size: 18px;
- color: #FFFFFF;
-}
diff --git a/abs/core/local-website/htdocs/style.css b/abs/core/local-website/htdocs/style.css
deleted file mode 100644
index 535ffec..0000000
--- a/abs/core/local-website/htdocs/style.css
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Global page handlers.
-/*/
-
- html,body {
- border: 0;
- margin: 0;
- padding: 0;
- font-size: 9pt;
- font-family: Arial, Helvetica, sans-serif;
- background-color: #191c26;
- color: #dedede;
- }
-
- /* For some reason, settings for the main body element doesn't always work for
- * text inside of tables
- /*/
- .body {
- font-size: 12px;
- font-family: Arial, Helvetica, sans-serif;
- }
-
-/*
- * We should try to keep links and labels looking consistent across the app.
-/*/
-
- a, a:link { color: #E0E0FF; text-decoration: none; }
- a:active { color: #990033; text-decoration: none; }
- a:visited { color: #E0E0FF; text-decoration: none; }
- a:hover { color: #F0F000; text-decoration: underline; }
-
- label { color: #E0E0FF; text-decoration: none; }
- label:hover { color: #F0F000; text-decoration: underline; }
-
-/* a class for the menu across the top of the page as well as menu headers throughout the page */
- .menu { background-color: #265990 }
- .menu_border_t { border-top: 2px solid #9090B0 }
- .menu_border_b { border-bottom: 2px solid #9090B0 }
- .menu_border_l { border-left: 2px solid #9090B0 }
- .menu_border_r { border-right: 2px solid #9090B0 }
-
-/* a class for commands and other user input boxes */
-
-/* @deprecated old classes */
-.command { background-color: #1040A0 }
-.command_border_t { border-top: 2px solid #9090B0 }
-.command_border_b { border-bottom: 2px solid #9090B0 }
-.command_border_l { border-left: 2px solid #9090B0 }
-.command_border_r { border-right: 2px solid #9090B0 }
-.activecommand { background-color: #108040 }
-
-/* New command classes */
-
- /* Box to hold commands */
- .commandbox {
- background-color: #102923;
- color: #E0E0FF;
- border: 1px solid #9090B0;
- }
-
- /* Commands themselves */
-
- .commands { /* Placeholder for handling sub-elements */ }
-
- .commands input.x-submit {
- border: 2px outset #7b8;
- padding: 0 .5em;
- height: 2em;
- background-color: #263;
- color: #E0E0FF;
- }
- .commands input.x-submit:hover {
- border: 1px outset #9da;
- background-color: #485;
- color: #F0F000;
- text-decoration: underline;
- }
-
- .commands a {
- font-weight: bold;
- border: 1px solid #7b8;
- padding: .15em .5em;
- background-color: #263;
- }
- .commands a:hover {
- border: 1px solid #9da;
- background-color: #485;
- }
-
-/*
- * The following styles refer to forms and form elements throughout MythWeb
-/*/
-
- /* Avoid those nasty extra linefeeds in IE </form> tags */
- form { display: inline; }
-
- /* A special class for submit buttons */
- .submit {
- border: 2px outset #7b8;
- padding: 0 .5em;
- background-color: #263;
- color: #E0E0FF;
- font-weight: bold;
- height: 2em;
- }
- .submit:hover {
- border: 2px outset #9da;
- background-color: #485;
- color: #F0F000;
- text-decoration: underline;
- }
-
- /* A special class for radio buttons and check boxes because some browsers render them weirdly */
- .radio {
- height: 14px !important;
- width: 14px !important;
- color: #002000;
- background-color: #C0D0C0;
- }
-
- /* Default styles for form fields */
- select {
- font-family: Arial, Helvetica, sans-serif;
- color: #002000;
- background-color: #C0D0C0;
- font-size: 9pt;
- }
-
- input {
- padding-left: .25em;
- font-family: Arial, Helvetica, sans-serif;
- color: #002000;
- background-color: #C0D0C0;
- font-size: 9pt;
- }
-
- textarea {
- font-family: terminal, courier, courier-new;
- color: #002000;
- background-color: #C0D0C0;
- font-size: 9pt;
- }
-
- /* Quantity-sized elements look better with the text centered */
- input.quantity {
- width: 2em !important;
- text-align: center;
- }
-
-/*
- * A special class for error stuff, so all page errors look the same.
-/*/
-
- #error, .error {
- color: #F03030;
- background-color: #360000;
- border-color: #F03030;
- border: thin groove #F03030;
- padding: 8px;
- }
-
-/*
- * The following represent some global classes to accommodate minor but
- * oft-used manipulations like font sizes.0
-/*/
-
- /* font size classes */
- .tiny { font-size: 9px; }
- .small { font-size: 9pt; }
- .normal { font-size: 10pt; }
- .large { font-size: 12pt; }
- .huge { font-size: 24px; }
-
- /* fony style classes */
- .bold, .bold a, .bold a:link, .bold a:visited, .bold a:active, .bold a:hover {
- font-weight: bold !important;
- }
- .italic, .italic a, .italic a:link, .italic a:visited, .italic a:active, .italic a:hover {
- font-style: italic !important;
- }
-
- /* Handy for, well, hiding things.. Also for mouseover popup menus */
- .hidden {
- visibility: hidden;
- display: none;
- }
-
-/*
- * clearfix -- see http://positioniseverything.net/easyclearing.html for details on how/why this works
-/*/
-
- .clearfix:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
- .clearfix {display: inline-block;}
- /* Hides from IE-mac \*/
- * html .clearfix {height: 1%;}
- .clearfix {display: block;}
- /* End hide from IE-mac */
-
- /* Ajax little popup request thing style */
- #ajax_working {
- position: fixed;
- background-color: green;
- bottom: 0px;
- left: 1em;
- padding: 1em;
- width: 10em;
- text-align: center;
- }
-
- .link {
- cursor: pointer;
- }
-
-/* I don't think we have a single image with a border in the default template, so disable it */
- a img {
- border: 0px;
- }
-
- .nowrap {
- white-space: nowrap;
- }
diff --git a/abs/core/lvm2/ChangeLog b/abs/core/lvm2/ChangeLog
new file mode 100644
index 0000000..5809ab5
--- /dev/null
+++ b/abs/core/lvm2/ChangeLog
@@ -0,0 +1,103 @@
+2010-07-11 Thomas Bächler <thomas@archlinux.org>
+
+ * lvm2/device-mapper 2.02.70-1
+ * Upstream update
+ * Do not move the dmeventd manpage, has been fixed upstream
+ * Remove all the || return 1 in PKGBUILD
+
+2010-07-01 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.69-1
+ * Upstream update
+ * Moved dmeventd man page from lvm2 to device-mapper package
+
+2010-06-25 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.68-1
+ * Upstream update
+ * Fixed tr path in lvmdump
+
+2010-04-05 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.62-1
+ * Upstream update
+ * Fixed license
+
+2010-02-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.61-1
+ * Upstream update
+
+2010-01-24 Thomas Bächler <thomas@archlinux.org>
+ * lvm2/device-mapper 2.02.60-2
+ * Rebuilt without -Wl,--as-needed, it breaks dmeventd monitoring
+
+2010-01-24 Thomas Bächler <thomas@archlinux.org>
+ * lvm2/device-mapper update to 2.02.60-1
+ * Clean up PKGBUILD, fix internal paths to dmeventd and its helpers
+
+2009-11-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.56-1
+ * device-mapper 1.02.40-1
+ * Upstream update
+
+2009-10-31 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.54-1
+ * device-mapper 1.02.39-1
+ * Upstream update
+ * Enabled the device-mapper event daemon
+ * Moved the udev rule from /etc to /lib
+
+2009-09-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.53-1
+ * device-mapper 1.02.38-1
+ * Upstream update
+
+2009-09-18 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.52-1
+ * device-mapper 1.02.37-1
+ * Upstream update
+ * Implemented split packages
+ * PKGBUILD clean up
+ * Renamed pkgconfig file (close FS#15909)
+
+2009-07-09 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.48-1
+ * device-mapper 1.02.33-1
+ * Upstream update
+ * Removed unneeded readline depends (close FS#15205)
+
+2009-05-24 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.47-1
+ * device-mapper 1.02.32-1
+ * Upstream update
+ * Added dmsetup.static
+
+2009-03-07 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.45-1
+ * device-mapper 1.02.31-1
+ * Upstream update
+
+2009-01-31 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.44-1
+ * device-mapper 1.02.30-1
+ * Upstream update
+ * Added bash depends
+ * Added readline depends
+ * Added pkgconfig file
+
+2008-11-11 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.43-1
+ * device-mapper 1.02.29-1
+ * Upstream update
+ * Disabled SMP build
+ * Added ChangeLog
diff --git a/abs/core/lvm2/PKGBUILD b/abs/core/lvm2/PKGBUILD
index 1819c76..b4be343 100644
--- a/abs/core/lvm2/PKGBUILD
+++ b/abs/core/lvm2/PKGBUILD
@@ -1,35 +1,64 @@
-# $Id: PKGBUILD 1726 2008-05-15 13:19:26Z thomas $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-pkgname=lvm2
-pkgver=2.02.37
-pkgrel=10
-pkgdesc="Logical Volume Manager 2 utilities"
+# $Id: PKGBUILD 85275 2010-07-11 10:26:53Z thomas $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+pkgver=2.02.70
+_pkgverdm=1.02.52
+_pkgverlvm=${pkgver}
+pkgrel=1
arch=('i686' 'x86_64')
-license=('GPL')
url="http://sourceware.org/lvm2/"
+license=('GPL2' 'LGPL2.1')
groups=('base')
-depends=('device-mapper>=1.02.22')
-conflicts=('lvm')
-backup=('etc/lvm/lvm.conf')
-source=(ftp://sources.redhat.com/pub/lvm2/LVM2.$pkgver.tgz
+conflicts=('mkinitcpio<0.5.99')
+changelog=ChangeLog
+source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz
lvm2_install
lvm2_hook)
-md5sums=('19c19e1f31ec548dc31982478a8a5f63'
- '40dccdb1044f00fc1e29ca549933d4bd'
- '73c8c2eba0fe891712c859c18b5b8aa2')
+md5sums=('39c26d5a821754cc347d7a19e82d4a24'
+ 'f781c9f5dd4f9934952c687b73d26a18'
+ '95bed25bdbc2c2d8500e7a07aeff7f65')
+sha1sums=('6f88114e72204feee491befd5f0e203036b90f11'
+ '583424bb0a6f89ffe4e4ea446b912f0fedac7050'
+ '0dc0c0d620f634c4d078afdb78e3bae15ccf957b')
build() {
- cd $startdir/src/LVM2.$pkgver
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
- make || return 1
- make DESTDIR=$startdir/pkg sbindir=$startdir/pkg/sbin install || return 1
- mkdir -p $startdir/pkg/etc/lvm/{archive,backup}
- # a static binary is required for Arch's initrd
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --enable-static_link
- make || return 1
- install -D -m755 tools/lvm.static $startdir/pkg/sbin/lvm.static
- # add hook
- install -D -m644 $startdir/src/lvm2_hook $startdir/pkg/lib/initcpio/hooks/lvm2
- install -D -m644 $startdir/src/lvm2_install $startdir/pkg/lib/initcpio/install/lvm2
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh
+ unset LDFLAGS
+ ./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \
+ --includedir=/usr/include --with-usrlibdir=/usr/lib \
+ --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \
+ --with-udevdir=/lib/udev/rules.d/ --enable-udev_sync --enable-udev_rules
+ make
+}
+
+package_device-mapper() {
+ pkgdesc="Device mapper userspace library and tools"
+ url="http://sourceware.org/dm/"
+ depends=('glibc' 'udev')
+
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ make DESTDIR="${pkgdir}" install_device-mapper
+}
+
+package_lvm2() {
+ pkgdesc="Logical Volume Manager 2 utilities"
+ depends=('bash' "device-mapper>=${pkgver}" 'udev' 'readline')
+ conflicts=('lvm' 'mkinitcpio<0.5.99')
+ backup=('etc/lvm/lvm.conf')
+ options=('!makeflags')
+
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ make DESTDIR="${pkgdir}" install_lvm2
+ # install applib
+ cd liblvm
+ make DESTDIR="${pkgdir}" install
+ cd ..
+ # /etc directories
+ install -d "${pkgdir}"/etc/lvm/{archive,backup}
+ # mkinitcpio hook
+ install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/lib/initcpio/hooks/lvm2"
+ install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/lib/initcpio/install/lvm2"
}
diff --git a/abs/core/lvm2/lvm2_hook b/abs/core/lvm2/lvm2_hook
index b98e87d..13183c6 100644
--- a/abs/core/lvm2/lvm2_hook
+++ b/abs/core/lvm2/lvm2_hook
@@ -3,14 +3,23 @@ run_hook ()
{
/sbin/modprobe -q dm-mod >/dev/null 2>&1
if [ -e "/sys/class/misc/device-mapper" ]; then
- read dev_t < /sys/class/misc/device-mapper/dev
- /bin/mknod "/dev/mapper/control" c $(/bin/replace "${dev_t}" ':')
+ if [ ! -e "/dev/mapper/control" ]; then
+ /bin/mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
+ fi
+
+ # If the lvmwait= parameter has been specified on the command line
+ # wait for the device(s) before trying to activate the volume group(s)
+ if [ -n "${lvmwait}" ]; then
+ for pvdev in $(echo ${lvmwait} | sed 's|,| |g'); do
+ poll_device ${pvdev} ${rootdelay}
+ done
+ fi
[ "${quiet}" = "y" ] && LVMQUIET=">/dev/null"
msg "Scanning logical volumes..."
- eval /bin/lvm vgscan --ignorelockingfailure $LVMQUIET
+ eval /sbin/lvm vgscan --ignorelockingfailure $LVMQUIET
msg "Activating logical volumes..."
- eval /bin/lvm vgchange --ignorelockingfailure -ay $LVMQUIET
+ eval /sbin/lvm vgchange --ignorelockingfailure --ignoremonitoring -ay $LVMQUIET
fi
}
diff --git a/abs/core/lvm2/lvm2_install b/abs/core/lvm2/lvm2_install
index c6cacc3..4ce9f18 100644
--- a/abs/core/lvm2/lvm2_install
+++ b/abs/core/lvm2/lvm2_install
@@ -2,18 +2,29 @@
install ()
{
- MODULES=" dm-mod "
+ MODULES=" dm-mod dm-snapshot dm-mirror"
BINARIES=""
FILES=""
SCRIPT="lvm2"
add_dir "/dev/mapper"
- add_file "/sbin/lvm.static" "/bin/lvm"
+ add_binary "/sbin/lvm"
+ add_binary "/sbin/dmsetup"
+ add_binary "/sbin/dmeventd"
+ add_file "/lib/udev/rules.d/10-dm.rules"
+ add_file "/lib/udev/rules.d/13-dm-disk.rules"
+ add_file "/lib/udev/rules.d/95-dm-notify.rules"
+ add_file "/lib/udev/rules.d/11-dm-lvm.rules"
}
help ()
{
cat<<HELPEOF
This hook loads the necessary modules for an LVM2 root device.
+
+ The optional lvmwait= parameter followed by a comma-separated
+ list of device names can be given on the command line.
+ It will cause the hook to wait until all given devices exist
+ before trying to scan and activate any volume groups.
HELPEOF
}
diff --git a/abs/core/madwifi-utils/PKGBUILD b/abs/core/madwifi-utils/PKGBUILD
index 6246983..35feeea 100644
--- a/abs/core/madwifi-utils/PKGBUILD
+++ b/abs/core/madwifi-utils/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 7960 2008-08-05 10:51:02Z tpowa $
+# $Id: PKGBUILD 70649 2010-02-27 18:41:30Z tpowa $
# Originally by kleptophobiac <kleptophobiac@gmail.com>
# Modified by James Rayner for the repositories <iphitus@gmail.com>
pkgname=madwifi-utils
-pkgver=0.9.4.3844
-_kernver=2.6.28-LinHES
-pkgrel=3
+pkgver=0.9.4.4119
+_kernver=2.6.33-ARCH
+pkgrel=1
pkgdesc="Userspace tools of madwifi drivers for Atheros wireless chipsets."
arch=(i686 x86_64)
license=('GPL')
-url="http://madwifi.org"
+url="http://madwifi-project.org"
depends=('wireless_tools')
makedepends=('sharutils')
provides=("madwifi-ng-utils")
conflicts=("madwifi-ng-utils")
replaces=("madwifi-ng-utils")
-# subversion source: svn checkout http://svn.madwifi.org/madwifi/trunk madwifi
+# subversion source: svn checkout http://madwifi-project.org/svn/madwifi/trunk madwifi
source=(ftp://ftp.archlinux.org/other/madwifi/madwifi-${pkgver}.tar.bz2
#http://downloads.sourceforge.net/sourceforge/madwifi/madwifi-$pkgver.tar.gz
)
@@ -32,4 +32,4 @@ build() {
MANDIR=/usr/share/man \
install-tools
}
-md5sums=('fc8b627774a91a5f0d6bd4e0d0b206fd')
+md5sums=('a720a20264b312c0ff906b9888bb49ae')
diff --git a/abs/core/madwifi/PKGBUILD b/abs/core/madwifi/PKGBUILD
index 3cd078b..a6cb369 100644
--- a/abs/core/madwifi/PKGBUILD
+++ b/abs/core/madwifi/PKGBUILD
@@ -1,26 +1,27 @@
-# $Id: PKGBUILD 22482 2008-12-26 22:45:43Z tpowa $
+# $Id: PKGBUILD 80421 2010-05-17 08:11:17Z tpowa $
# Originally by kleptophobiac <kleptophobiac@gmail.com>
# Modified by James Rayner for the repositories <iphitus@gmail.com>
-_kernver=2.6.28-LinHES;
+_kernver=2.6.34-LinHES
pkgname=madwifi
-pkgver=0.9.4.3844
-pkgrel=5
+pkgver=0.9.4.4119
+pkgrel=2
pkgdesc="Madwifi drivers for Atheros wireless chipsets. For stock arch 2.6 kernel"
arch=(i686 x86_64)
license=('GPL')
-url="http://madwifi.org"
-depends=('madwifi-utils' 'kernel26>=2.6.28' 'kernel26<2.6.29')
+url="http://madwifi-project.org"
+depends=('madwifi-utils' 'kernel26>=2.6.34' 'kernel26<2.6.35')
+makedepends=('kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
makedepends=('sharutils')
install=madwifi-ng.install
-# subversion source: svn checkout http://svn.madwifi.org/madwifi/trunk madwifi
+# subversion source: svn checkout http:/madwifi-project.org/svn/madwifi/trunk madwifi
source=(ftp://ftp.archlinux.org/other/madwifi/madwifi-${pkgver}.tar.bz2
#http://downloads.sourceforge.net/madwifi/madwifi-${pkgver}.tar.gz
)
build() {
- [ "${CARCH}" == "i686" ] && export ARCH=i386
+ [ "${CARCH}" = "i686" ] && export ARCH=i386
#cd $startdir/src/$pkgname-$pkgver
cd $startdir/src/$pkgname
@@ -35,4 +36,5 @@ build() {
mv $startdir/pkg/lib/modules/$_kernver/net/* $startdir/pkg/lib/modules/$_kernver/kernel/drivers/net/wireless/madwifi
rm -r $startdir/pkg/lib/modules/$_kernver/net/
}
-md5sums=('fc8b627774a91a5f0d6bd4e0d0b206fd')
+
+md5sums=('a720a20264b312c0ff906b9888bb49ae')
diff --git a/abs/core/madwifi/kernel-2.6.30.patch b/abs/core/madwifi/kernel-2.6.30.patch
new file mode 100644
index 0000000..f844668
--- /dev/null
+++ b/abs/core/madwifi/kernel-2.6.30.patch
@@ -0,0 +1,14 @@
+--- ath/if_athvar.h~ 2009-06-13 09:38:53.000000000 +0200
++++ ath/if_athvar.h 2009-06-13 09:38:53.000000000 +0200
+@@ -103,11 +103,6 @@
+ /*
+ * Guess how the interrupt handler should work.
+ */
+-#if !defined(IRQ_NONE)
+-typedef void irqreturn_t;
+-#define IRQ_NONE
+-#define IRQ_HANDLED
+-#endif /* !defined(IRQ_NONE) */
+
+ #ifndef SET_MODULE_OWNER
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
diff --git a/abs/core/madwifi/madwifi-ng.install b/abs/core/madwifi/madwifi-ng.install
index 800cb98..3711208 100644
--- a/abs/core/madwifi/madwifi-ng.install
+++ b/abs/core/madwifi/madwifi-ng.install
@@ -1,23 +1,14 @@
-# arg 1: the new package version
post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
-
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
-# arg 1: the old package version
post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/mdadm/mdadm b/abs/core/mdadm/mdadm
deleted file mode 100755
index e196f36..0000000
--- a/abs/core/mdadm/mdadm
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID /sbin/mdadm`
-case "$1" in
- start)
- stat_busy "Starting mdadm RAID Monitor"
- if [ -z "$PID" ]; then
- /sbin/mdadm --monitor --scan -i /var/run/mdadm.pid -f
- fi
- if [ ! -z "$PID" -o $? -gt 0 ]; then
- stat_fail
- else
- add_daemon mdadm
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping mdadm RAID Monitor"
- [ ! -z "$PID" ] && kill $PID &>/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon mdadm
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
diff --git a/abs/core/mesa/LICENSE b/abs/core/mesa/LICENSE
new file mode 100644
index 0000000..ae33d27
--- /dev/null
+++ b/abs/core/mesa/LICENSE
@@ -0,0 +1,82 @@
+Disclaimer
+
+Mesa is a 3-D graphics library with an API which is very similar to
+that of OpenGL*
+To the extent that Mesa utilizes the OpenGL command syntax or state
+machine, it is being used with authorization from Silicon Graphics,
+Inc.(SGI). However, the author does not possess an OpenGL license
+from SGI, and makes no claim that Mesa is in any way a compatible
+replacement for OpenGL or associated with SGI. Those who want a
+licensed implementation of OpenGL should contact a licensed
+vendor.
+
+Please do not refer to the library as MesaGL (for legal
+reasons). It's just Mesa or The Mesa 3-D graphics
+library
+
+* OpenGL is a trademark of Silicon Graphics Incorporated.
+
+License / Copyright Information
+
+The Mesa distribution consists of several components. Different copyrights
+and licenses apply to different components. For example, GLUT is copyrighted
+by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
+device drivers are copyrighted by their authors. See below for a list of
+Mesa's main components and the license for each.
+
+The core Mesa library is licensed according to the terms of the MIT license.
+This allows integration with the XFree86, Xorg and DRI projects.
+
+The default Mesa license is as follows:
+
+Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Attention, Contributors
+
+When contributing to the Mesa project you must agree to the licensing terms
+of the component to which you're contributing.
+The following section lists the primary components of the Mesa distribution
+and their respective licenses.
+
+
+Mesa Component Licenses
+
+Component Location Primary Author License
+----------------------------------------------------------------------------
+Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
+
+Device drivers src/mesa/drivers/* See drivers See drivers
+
+Ext headers include/GL/glext.h SGI SGI Free B
+ include/GL/glxext.h
+
+GLUT src/glut/ Mark Kilgard Mark's copyright
+
+Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
+
+SGI GLU library src/glu/sgi/ SGI SGI Free B
+
+demo programs progs/demos/ various see source files
+
+X demos progs/xdemos/ Brian Paul see source files
+
+SGI demos progs/samples/ SGI SGI copyright
+
+RedBook demos progs/redbook/ SGI SGI copyright
diff --git a/abs/core/mesa/PKGBUILD b/abs/core/mesa/PKGBUILD
index 72d100e..a731cb1 100644
--- a/abs/core/mesa/PKGBUILD
+++ b/abs/core/mesa/PKGBUILD
@@ -1,46 +1,176 @@
-# $Id: PKGBUILD 12996 2008-09-25 18:06:12Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 83334 2010-06-21 11:46:47Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
-pkgname=mesa
-pkgver=7.2
+pkgbase=mesa
+pkgname=('mesa' 'libgl' 'ati-dri' 'intel-dri' 'unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri' 'nouveau-dri')
+pkgver=7.8.2
pkgrel=1
-pkgdesc="Mesa OpenGL library"
arch=(i686 x86_64)
-license=('LGPL')
+makedepends=('glproto>=1.4.11' 'pkgconfig' 'libdrm>=2.4.21' 'libxxf86vm>=1.1.0' 'libxdamage>=1.1.2' 'expat>=2.0.1' 'libx11>=1.3.3' 'libxt>=1.0.8' 'gcc-libs>=4.5' 'dri2proto=2.3' 'python')
url="http://mesa3d.sourceforge.net"
-depends=('libgl' 'libx11>=1.1.4-3' 'libxt' 'glproto>=1.4.9' 'gcc-libs>=4.3.1')
-makedepends=('pkgconfig' 'dri2proto>=1.1' 'libdrm>=2.3.1')
-conflicts=('mesa-apps')
-replaces=('mesa-apps')
-source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/mesa3d/MesaDemos-${pkgver}.tar.bz2
- ftp://ftp.archlinux.org/other/mesa/gl-manpages-1.0.1.tar.bz2)
-md5sums=('04d379292e023df0b0266825cb0dbde5'
- '22e03dc4038cd63f32c21eb60994892b'
- '6ae05158e678f4594343f32c2ca50515')
+license=('custom')
+#options=(!makeflags)
+source=(ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2
+ ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaDemos-${pkgver}.tar.bz2
+ ftp://ftp.archlinux.org/other/mesa/gl-manpages-1.0.1.tar.bz2
+ nouveau_class.h
+ LICENSE)
+md5sums=('6be2d343a0089bfd395ce02aaf8adb57'
+ '757d9e2e06f48b1a52848be9b0307ced'
+ '6ae05158e678f4594343f32c2ca50515'
+ '850546127f5185959407a78b55f898d8'
+ '5c65a0fe315dd347e09b1f2826a1df5a')
build() {
- cd ${srcdir}/Mesa-${pkgver}
+ cd "${srcdir}/Mesa-${pkgver}"
+ cp "${srcdir}/nouveau_class.h" "src/gallium/drivers/nouveau/" || return 1
./configure --prefix=/usr \
--with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=swrast \
+ --with-dri-drivers=swrast,radeon,r200,r300,r600,i810,i915,i965,unichrome,mach64,mga,r128,savage,sis,tdfx \
+ --disable-egl \
+ --disable-gallium-intel \
--enable-glx-tls \
- --disable-ttm-api \
--with-driver=dri \
--enable-xcb \
+ --with-state-trackers=dri,glx \
+ --enable-gallium-nouveau \
--disable-glut || return 1
make || return 1
- make DESTDIR=${pkgdir} install || return 1
- install -m755 -d ${pkgdir}/usr/bin
- install -m755 progs/xdemos/glx{gears,info} ${pkgdir}/usr/bin/ || return 1
-
- rm -f ${pkgdir}/usr/lib/libGL.so*
- rm -rf ${pkgdir}/usr/lib/xorg
-
- cd ${srcdir}/gl-manpages-1.0.1
+ cd "${srcdir}/gl-manpages-1.0.1"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${pkgdir} install || return 1
+}
+
+package_libgl() {
+ depends=('libdrm>=2.4.21' 'libxxf86vm>=1.1.0' 'libxdamage>=1.1.2' 'expat>=2.0.1')
+ pkgdesc="Mesa 3-D graphics library and DRI software rasterizer"
+
+ cd "${srcdir}/Mesa-${pkgver}" || return 1
+ install -m755 -d "${pkgdir}/usr/lib" || return 1
+ install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
+
+ bin/minstall lib/libGL.so* "${pkgdir}/usr/lib/" || return 1
+
+ cd src/mesa/drivers/dri
+ make -C swrast DESTDIR="${pkgdir}" install || return 1
+ #install -m755 libdricore.so "${pkgdir}/usr/lib/xorg/modules/dri/" || return 1
+ ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/libgl"
+ install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/" || return 1
+}
+
+package_mesa() {
+ depends=('libgl' 'libx11>=1.3.3' 'libxt>=1.0.8' 'gcc-libs>=4.5' 'dri2proto=2.3' 'libdrm>=2.4.20')
+ pkgdesc="Mesa 3-D graphics libraries and include files"
+
+ cd "${srcdir}/Mesa-${pkgver}" || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/bin"
+ install -m755 progs/xdemos/glx{gears,info} "${pkgdir}/usr/bin/" || return 1
+
+ rm -f "${pkgdir}/usr/lib/libGL.so"*
+ rm -rf "${pkgdir}/usr/lib/xorg"
+ rm -f "${pkgdir}/usr/include/GL/glew.h"
+ rm -f "${pkgdir}/usr/include/GL/glxew.h"
+ rm -f "${pkgdir}/usr/include/GL/wglew.h"
+
+ cd "${srcdir}/gl-manpages-1.0.1" || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/mesa"
+ install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/" || return 1
+}
+
+package_ati-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for AMD/ATI Radeon"
+ conflicts=('xf86-video-ati<6.9.0-6')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C radeon DESTDIR="${pkgdir}" install || return 1
+ make -C r200 DESTDIR="${pkgdir}" install || return 1
+ make -C r300 DESTDIR="${pkgdir}" install || return 1
+ make -C r600 DESTDIR="${pkgdir}" install || return 1
+}
+
+package_intel-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for Intel"
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C i810 DESTDIR="${pkgdir}" install || return 1
+ make -C i915 DESTDIR="${pkgdir}" install || return 1
+ make -C i965 DESTDIR="${pkgdir}" install || return 1
+}
+
+package_unichrome-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for S3 Graphics/VIA Unichrome"
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C unichrome DESTDIR="${pkgdir}" install || return 1
+}
+
+package_mach64-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for ATI Mach64"
+ conflicts=('xf86-video-mach64<6.8.2')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C mach64 DESTDIR="${pkgdir}" install || return 1
+}
+
+package_mga-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for Matrox"
+ conflicts=('xf86-video-mga<1.4.11')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C mga DESTDIR="${pkgdir}" install || return 1
+}
+
+package_r128-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for ATI Rage128"
+ conflicts=('xf86-video-r128<6.8.1')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C r128 DESTDIR="${pkgdir}" install || return 1
+}
+
+package_savage-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for S3 Sraphics/VIA Savage"
+ conflicts=('xf86-video-savage<2.3.1')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C savage DESTDIR="${pkgdir}" install || return 1
+}
+
+package_sis-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for SiS"
+ conflicts=('xf86-video-sis<0.10.2')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C sis DESTDIR="${pkgdir}" install || return 1
+}
+
+package_tdfx-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for 3dfx"
+ conflicts=('xf86-video-tdfx<1.4.3')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C tdfx DESTDIR="${pkgdir}" install || return 1
+}
+
+package_nouveau-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa Gallium3D DRI drivers for Nouveau - highly experimental/unsupported"
+
+ cd "${srcdir}/Mesa-${pkgver}/src/gallium/winsys/drm/nouveau/dri"
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core/mesa/nouveau_class.h b/abs/core/mesa/nouveau_class.h
new file mode 100644
index 0000000..0167cbc
--- /dev/null
+++ b/abs/core/mesa/nouveau_class.h
@@ -0,0 +1,9019 @@
+/*************************************************************************
+
+ Autogenerated file, do not edit !
+
+ This file was generated by renouveau-gen from renouveau.xml, the
+ XML database of nvidia objects and methods. renouveau-gen and
+ renouveau.xml can be found in CVS module renouveau of sourceforge.net
+ project nouveau:
+
+cvs -z3 -d:pserver:anonymous@nouveau.cvs.sourceforge.net:/cvsroot/nouveau co -P renouveau
+
+**************************************************************************
+
+ Copyright (C) 2006-2008 :
+ Dmitry Baryshkov,
+ Laurent Carlier,
+ Matthieu Castet,
+ Dawid Gajownik,
+ Jeremy Kolb,
+ Stephane Loeuillet,
+ Patrice Mandin,
+ Stephane Marchesin,
+ Serge Martin,
+ Sylvain Munaut,
+ Simon Raffeiner,
+ Ben Skeggs,
+ Erik Waling,
+ koala_br,
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*************************************************************************/
+
+
+#ifndef NOUVEAU_REG_H
+#define NOUVEAU_REG_H 1
+
+
+#define NV01_ROOT 0x00000001
+
+
+
+#define NV01_CONTEXT_DMA 0x00000002
+
+
+
+#define NV01_DEVICE 0x00000003
+
+
+
+#define NV01_TIMER 0x00000004
+
+#define NV01_TIMER_SYNCHRONIZE 0x00000100
+#define NV01_TIMER_STOP_ALARM 0x00000104
+#define NV01_TIMER_DMA_NOTIFY 0x00000180
+#define NV01_TIMER_TIME(x) (0x00000300+((x)*4))
+#define NV01_TIMER_TIME__SIZE 0x00000002
+#define NV01_TIMER_ALARM_NOTIFY 0x00000308
+
+
+#define NV01_CONTEXT_BETA1 0x00000012
+
+#define NV01_CONTEXT_BETA1_NOP 0x00000100
+#define NV01_CONTEXT_BETA1_NOTIFY 0x00000104
+#define NV01_CONTEXT_BETA1_DMA_NOTIFY 0x00000180
+#define NV01_CONTEXT_BETA1_BETA_1D31 0x00000300
+
+
+#define NV01_CONTEXT_COLOR_KEY 0x00000017
+
+#define NV01_CONTEXT_COLOR_KEY_NOP 0x00000100
+#define NV01_CONTEXT_COLOR_KEY_NOTIFY 0x00000104
+#define NV01_CONTEXT_COLOR_KEY_DMA_NOTIFY 0x00000180
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT 0x00000300
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A8Y8 0x00000001
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X24Y8 0x00000002
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A1R5G5B5 0x00000003
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X17R5G5B5 0x00000004
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A8R8G8B8 0x00000005
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X8R8G8B8 0x00000006
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A16Y16 0x00000007
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16Y16 0x00000008
+#define NV01_CONTEXT_COLOR_KEY_COLOR 0x00000304
+
+
+#define NV04_CONTEXT_COLOR_KEY 0x00000057
+
+
+
+#define NV01_CONTEXT_PATTERN 0x00000018
+
+#define NV01_CONTEXT_PATTERN_NOP 0x00000100
+#define NV01_CONTEXT_PATTERN_NOTIFY 0x00000104
+#define NV01_CONTEXT_PATTERN_DMA_NOTIFY 0x00000180
+#define NV01_CONTEXT_PATTERN_COLOR_FORMAT 0x00000300
+#define NV01_CONTEXT_PATTERN_MONOCHROME_FORMAT 0x00000304
+#define NV01_CONTEXT_PATTERN_SHAPE 0x00000308
+#define NV01_CONTEXT_PATTERN_COLOR(x) (0x00000310+((x)*4))
+#define NV01_CONTEXT_PATTERN_COLOR__SIZE 0x00000002
+#define NV01_CONTEXT_PATTERN_PATTERN(x) (0x00000318+((x)*4))
+#define NV01_CONTEXT_PATTERN_PATTERN__SIZE 0x00000002
+
+
+#define NV01_CONTEXT_CLIP_RECTANGLE 0x00000019
+
+#define NV01_CONTEXT_CLIP_RECTANGLE_NOP 0x00000100
+#define NV01_CONTEXT_CLIP_RECTANGLE_NOTIFY 0x00000104
+#define NV01_CONTEXT_CLIP_RECTANGLE_DMA_NOTIFY 0x00000180
+#define NV01_CONTEXT_CLIP_RECTANGLE_POINT 0x00000300
+#define NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_SHIFT 0
+#define NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_MASK 0x0000ffff
+#define NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_SHIFT 16
+#define NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_MASK 0xffff0000
+#define NV01_CONTEXT_CLIP_RECTANGLE_SIZE 0x00000304
+#define NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_SHIFT 0
+#define NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_MASK 0x0000ffff
+#define NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_SHIFT 16
+#define NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_MASK 0xffff0000
+
+
+#define NV01_RENDER_SOLID_LINE 0x0000001c
+
+#define NV01_RENDER_SOLID_LINE_NOP 0x00000100
+#define NV01_RENDER_SOLID_LINE_NOTIFY 0x00000104
+#define NV01_RENDER_SOLID_LINE_PATCH 0x0000010c
+#define NV01_RENDER_SOLID_LINE_DMA_NOTIFY 0x00000180
+#define NV01_RENDER_SOLID_LINE_CLIP_RECTANGLE 0x00000184
+#define NV01_RENDER_SOLID_LINE_PATTERN 0x00000188
+#define NV01_RENDER_SOLID_LINE_ROP 0x0000018c
+#define NV01_RENDER_SOLID_LINE_BETA1 0x00000190
+#define NV01_RENDER_SOLID_LINE_SURFACE 0x00000194
+#define NV01_RENDER_SOLID_LINE_OPERATION 0x000002fc
+#define NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_AND 0x00000000
+#define NV01_RENDER_SOLID_LINE_OPERATION_ROP_AND 0x00000001
+#define NV01_RENDER_SOLID_LINE_OPERATION_BLEND_AND 0x00000002
+#define NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY 0x00000003
+#define NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV01_RENDER_SOLID_LINE_OPERATION_BLEND_PREMULT 0x00000005
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT 0x00000300
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A8Y8 0x00000001
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X24Y8 0x00000002
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A1R5G5B5 0x00000003
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X17R5G5B5 0x00000004
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A8R8G8B8 0x00000005
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X8R8G8B8 0x00000006
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A16Y16 0x00000007
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16Y16 0x00000008
+#define NV01_RENDER_SOLID_LINE_COLOR 0x00000304
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0(x) (0x00000400+((x)*8))
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0_X_SHIFT 0
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_SHIFT 16
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1(x) (0x00000404+((x)*8))
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1_X_SHIFT 0
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_SHIFT 16
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT0_X(x) (0x00000480+((x)*16))
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT0_X__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y(x) (0x00000484+((x)*16))
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT1_X(x) (0x00000488+((x)*16))
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT1_X__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y(x) (0x0000048c+((x)*16))
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_POLYLINE(x) (0x00000500+((x)*4))
+#define NV01_RENDER_SOLID_LINE_POLYLINE__SIZE 0x00000020
+#define NV01_RENDER_SOLID_LINE_POLYLINE_X_SHIFT 0
+#define NV01_RENDER_SOLID_LINE_POLYLINE_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_LINE_POLYLINE_Y_SHIFT 16
+#define NV01_RENDER_SOLID_LINE_POLYLINE_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X(x) (0x00000580+((x)*8))
+#define NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y(x) (0x00000584+((x)*8))
+#define NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR(x) (0x00000600+((x)*8))
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT(x) (0x00000604+((x)*8))
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_SHIFT 0
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_SHIFT 16
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_MASK 0xffff0000
+
+
+#define NV04_RENDER_SOLID_LINE 0x0000005c
+
+#define NV04_RENDER_SOLID_LINE_BETA4 0x00000194
+#define NV04_RENDER_SOLID_LINE_SURFACE 0x00000198
+
+
+#define NV01_RENDER_SOLID_TRIANGLE 0x0000001d
+
+#define NV01_RENDER_SOLID_TRIANGLE_NOP 0x00000100
+#define NV01_RENDER_SOLID_TRIANGLE_NOTIFY 0x00000104
+#define NV01_RENDER_SOLID_TRIANGLE_PATCH 0x0000010c
+#define NV01_RENDER_SOLID_TRIANGLE_DMA_NOTIFY 0x00000180
+#define NV01_RENDER_SOLID_TRIANGLE_CLIP_RECTANGLE 0x00000184
+#define NV01_RENDER_SOLID_TRIANGLE_PATTERN 0x00000188
+#define NV01_RENDER_SOLID_TRIANGLE_ROP 0x0000018c
+#define NV01_RENDER_SOLID_TRIANGLE_BETA1 0x00000190
+#define NV01_RENDER_SOLID_TRIANGLE_SURFACE 0x00000194
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION 0x000002fc
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_AND 0x00000000
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_ROP_AND 0x00000001
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_AND 0x00000002
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY 0x00000003
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_PREMULT 0x00000005
+#define NV01_RENDER_SOLID_TRIANGLE_COLOR_FORMAT 0x00000300
+#define NV01_RENDER_SOLID_TRIANGLE_COLOR 0x00000304
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0 0x00000310
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1 0x00000314
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2 0x00000318
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_X 0x00000320
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_Y 0x00000324
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_X 0x00000328
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_Y 0x0000032c
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_X 0x00000330
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_Y 0x00000334
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH(x) (0x00000400+((x)*4))
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH__SIZE 0x00000020
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X(x) (0x00000480+((x)*8))
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X__SIZE 0x00000010
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y(x) (0x00000484+((x)*8))
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y__SIZE 0x00000010
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR(x) (0x00000500+((x)*16))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR__SIZE 0x00000008
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0(x) (0x00000504+((x)*16))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0__SIZE 0x00000008
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1(x) (0x00000508+((x)*16))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1__SIZE 0x00000008
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2(x) (0x0000050c+((x)*16))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2__SIZE 0x00000008
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR(x) (0x00000580+((x)*8))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR__SIZE 0x00000010
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT(x) (0x00000584+((x)*8))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT__SIZE 0x00000010
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_MASK 0xffff0000
+
+
+#define NV04_RENDER_SOLID_TRIANGLE 0x0000005d
+
+#define NV04_RENDER_SOLID_TRIANGLE_BETA4 0x00000194
+#define NV04_RENDER_SOLID_TRIANGLE_SURFACE 0x00000198
+
+
+#define NV01_RENDER_SOLID_RECTANGLE 0x0000001e
+
+#define NV01_RENDER_SOLID_RECTANGLE_NOP 0x00000100
+#define NV01_RENDER_SOLID_RECTANGLE_NOTIFY 0x00000104
+#define NV01_RENDER_SOLID_RECTANGLE_PATCH 0x0000010c
+#define NV01_RENDER_SOLID_RECTANGLE_DMA_NOTIFY 0x00000180
+#define NV01_RENDER_SOLID_RECTANGLE_CLIP_RECTANGLE 0x00000184
+#define NV01_RENDER_SOLID_RECTANGLE_PATTERN 0x00000188
+#define NV01_RENDER_SOLID_RECTANGLE_ROP 0x0000018c
+#define NV01_RENDER_SOLID_RECTANGLE_BETA1 0x00000190
+#define NV01_RENDER_SOLID_RECTANGLE_SURFACE 0x00000194
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION 0x000002fc
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_AND 0x00000000
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_ROP_AND 0x00000001
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_AND 0x00000002
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY 0x00000003
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_PREMULT 0x00000005
+#define NV01_RENDER_SOLID_RECTANGLE_COLOR_FORMAT 0x00000300
+#define NV01_RENDER_SOLID_RECTANGLE_COLOR 0x00000304
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT(x) (0x00000400+((x)*8))
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT__SIZE 0x00000010
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_SHIFT 0
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_SHIFT 16
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE(x) (0x00000404+((x)*8))
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE__SIZE 0x00000010
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_SHIFT 0
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_SHIFT 16
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_MASK 0xffff0000
+
+
+#define NV04_RENDER_SOLID_RECTANGLE 0x0000005e
+
+#define NV04_RENDER_SOLID_RECTANGLE_BETA4 0x00000194
+#define NV04_RENDER_SOLID_RECTANGLE_SURFACE 0x00000198
+
+
+#define NV01_IMAGE_BLIT 0x0000001f
+
+#define NV01_IMAGE_BLIT_NOP 0x00000100
+#define NV01_IMAGE_BLIT_NOTIFY 0x00000104
+#define NV01_IMAGE_BLIT_PATCH 0x0000010c
+#define NV01_IMAGE_BLIT_DMA_NOTIFY 0x00000180
+#define NV01_IMAGE_BLIT_COLOR_KEY 0x00000184
+#define NV01_IMAGE_BLIT_CLIP_RECTANGLE 0x00000188
+#define NV01_IMAGE_BLIT_PATTERN 0x0000018c
+#define NV01_IMAGE_BLIT_ROP 0x00000190
+#define NV01_IMAGE_BLIT_BETA1 0x00000194
+#define NV01_IMAGE_BLIT_SURFACE 0x0000019c
+#define NV01_IMAGE_BLIT_OPERATION 0x000002fc
+#define NV01_IMAGE_BLIT_OPERATION_SRCCOPY_AND 0x00000000
+#define NV01_IMAGE_BLIT_OPERATION_ROP_AND 0x00000001
+#define NV01_IMAGE_BLIT_OPERATION_BLEND_AND 0x00000002
+#define NV01_IMAGE_BLIT_OPERATION_SRCCOPY 0x00000003
+#define NV01_IMAGE_BLIT_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV01_IMAGE_BLIT_OPERATION_BLEND_PREMULT 0x00000005
+#define NV01_IMAGE_BLIT_IMAGE_INPUT 0x00000204
+#define NV01_IMAGE_BLIT_POINT_IN 0x00000300
+#define NV01_IMAGE_BLIT_POINT_IN_X_SHIFT 0
+#define NV01_IMAGE_BLIT_POINT_IN_X_MASK 0x0000ffff
+#define NV01_IMAGE_BLIT_POINT_IN_Y_SHIFT 16
+#define NV01_IMAGE_BLIT_POINT_IN_Y_MASK 0xffff0000
+#define NV01_IMAGE_BLIT_POINT_OUT 0x00000304
+#define NV01_IMAGE_BLIT_POINT_OUT_X_SHIFT 0
+#define NV01_IMAGE_BLIT_POINT_OUT_X_MASK 0x0000ffff
+#define NV01_IMAGE_BLIT_POINT_OUT_Y_SHIFT 16
+#define NV01_IMAGE_BLIT_POINT_OUT_Y_MASK 0xffff0000
+#define NV01_IMAGE_BLIT_SIZE 0x00000308
+#define NV01_IMAGE_BLIT_SIZE_W_SHIFT 0
+#define NV01_IMAGE_BLIT_SIZE_W_MASK 0x0000ffff
+#define NV01_IMAGE_BLIT_SIZE_H_SHIFT 16
+#define NV01_IMAGE_BLIT_SIZE_H_MASK 0xffff0000
+
+
+#define NV04_IMAGE_BLIT 0x0000005f
+
+#define NV04_IMAGE_BLIT_ROP 0x00000190
+#define NV04_IMAGE_BLIT_BETA4 0x00000198
+#define NV04_IMAGE_BLIT_SURFACE 0x0000019c
+
+
+#define NV12_IMAGE_BLIT 0x0000009f
+
+#define NV12_IMAGE_BLIT_WAIT_FOR_IDLE 0x00000108
+
+
+#define NV01_IMAGE_FROM_CPU 0x00000021
+
+#define NV01_IMAGE_FROM_CPU_NOP 0x00000100
+#define NV01_IMAGE_FROM_CPU_NOTIFY 0x00000104
+#define NV01_IMAGE_FROM_CPU_PATCH 0x0000010c
+#define NV01_IMAGE_FROM_CPU_DMA_NOTIFY 0x00000180
+#define NV01_IMAGE_FROM_CPU_COLOR_KEY 0x00000184
+#define NV01_IMAGE_FROM_CPU_CLIP_RECTANGLE 0x00000188
+#define NV01_IMAGE_FROM_CPU_PATTERN 0x0000018c
+#define NV01_IMAGE_FROM_CPU_ROP 0x00000190
+#define NV01_IMAGE_FROM_CPU_BETA1 0x00000194
+#define NV01_IMAGE_FROM_CPU_SURFACE 0x00000198
+#define NV01_IMAGE_FROM_CPU_OPERATION 0x000002fc
+#define NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_AND 0x00000000
+#define NV01_IMAGE_FROM_CPU_OPERATION_ROP_AND 0x00000001
+#define NV01_IMAGE_FROM_CPU_OPERATION_BLEND_AND 0x00000002
+#define NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY 0x00000003
+#define NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV01_IMAGE_FROM_CPU_OPERATION_BLEND_PREMULT 0x00000005
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT 0x00000300
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT_Y8 0x00000001
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A1R5G5B5 0x00000002
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X1R5G5B5 0x00000003
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A8R8G8B8 0x00000004
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X8R8G8B8 0x00000005
+#define NV01_IMAGE_FROM_CPU_POINT 0x00000304
+#define NV01_IMAGE_FROM_CPU_POINT_X_SHIFT 0
+#define NV01_IMAGE_FROM_CPU_POINT_X_MASK 0x0000ffff
+#define NV01_IMAGE_FROM_CPU_POINT_Y_SHIFT 16
+#define NV01_IMAGE_FROM_CPU_POINT_Y_MASK 0xffff0000
+#define NV01_IMAGE_FROM_CPU_SIZE_OUT 0x00000308
+#define NV01_IMAGE_FROM_CPU_SIZE_OUT_W_SHIFT 0
+#define NV01_IMAGE_FROM_CPU_SIZE_OUT_W_MASK 0x0000ffff
+#define NV01_IMAGE_FROM_CPU_SIZE_OUT_H_SHIFT 16
+#define NV01_IMAGE_FROM_CPU_SIZE_OUT_H_MASK 0xffff0000
+#define NV01_IMAGE_FROM_CPU_SIZE_IN 0x0000030c
+#define NV01_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT 0
+#define NV01_IMAGE_FROM_CPU_SIZE_IN_W_MASK 0x0000ffff
+#define NV01_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT 16
+#define NV01_IMAGE_FROM_CPU_SIZE_IN_H_MASK 0xffff0000
+#define NV01_IMAGE_FROM_CPU_COLOR(x) (0x00000400+((x)*4))
+#define NV01_IMAGE_FROM_CPU_COLOR__SIZE 0x00000020
+
+
+#define NV04_IMAGE_FROM_CPU 0x00000061
+
+#define NV04_IMAGE_FROM_CPU_BETA4 0x00000198
+#define NV04_IMAGE_FROM_CPU_SURFACE 0x0000019c
+
+
+#define NV05_IMAGE_FROM_CPU 0x00000065
+
+#define NV05_IMAGE_FROM_CPU_COLOR_CONVERSION 0x000002f8
+
+
+#define NV10_IMAGE_FROM_CPU 0x0000008a
+
+#define NV10_IMAGE_FROM_CPU_WAIT_FOR_IDLE 0x00000108
+
+
+#define NV30_IMAGE_FROM_CPU 0x0000038a
+
+
+
+#define NV40_IMAGE_FROM_CPU 0x0000308a
+
+
+
+#define NV01_NULL 0x00000030
+
+
+
+#define NV03_STRETCHED_IMAGE_FROM_CPU 0x00000036
+
+#define NV03_STRETCHED_IMAGE_FROM_CPU_NOP 0x00000100
+#define NV03_STRETCHED_IMAGE_FROM_CPU_NOTIFY 0x00000104
+#define NV03_STRETCHED_IMAGE_FROM_CPU_PATCH 0x0000010c
+#define NV03_STRETCHED_IMAGE_FROM_CPU_DMA_NOTIFY 0x00000180
+#define NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_KEY 0x00000184
+#define NV03_STRETCHED_IMAGE_FROM_CPU_PATTERN 0x00000188
+#define NV03_STRETCHED_IMAGE_FROM_CPU_ROP 0x0000018c
+#define NV03_STRETCHED_IMAGE_FROM_CPU_BETA1 0x00000190
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SURFACE 0x00000194
+#define NV03_STRETCHED_IMAGE_FROM_CPU_OPERATION 0x000002fc
+#define NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_FORMAT 0x00000300
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN 0x00000304
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT 0
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_MASK 0x0000ffff
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT 16
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_MASK 0xffff0000
+#define NV03_STRETCHED_IMAGE_FROM_CPU_DX_DU 0x00000308
+#define NV03_STRETCHED_IMAGE_FROM_CPU_DY_DV 0x0000030c
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT 0x00000310
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_SHIFT 0
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_MASK 0x0000ffff
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_SHIFT 16
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_MASK 0xffff0000
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE 0x00000314
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_SHIFT 0
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_MASK 0x0000ffff
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_SHIFT 16
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_MASK 0xffff0000
+#define NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4 0x00000318
+#define NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_SHIFT 0
+#define NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_MASK 0x0000ffff
+#define NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_SHIFT 16
+#define NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_MASK 0xffff0000
+#define NV03_STRETCHED_IMAGE_FROM_CPU_COLOR(x) (0x00000400+((x)*4))
+#define NV03_STRETCHED_IMAGE_FROM_CPU_COLOR__SIZE 0x00000020
+
+
+#define NV04_STRETCHED_IMAGE_FROM_CPU 0x00000076
+
+#define NV04_STRETCHED_IMAGE_FROM_CPU_BETA4 0x00000194
+#define NV04_STRETCHED_IMAGE_FROM_CPU_SURFACE 0x00000198
+
+
+#define NV05_STRETCHED_IMAGE_FROM_CPU 0x00000066
+
+#define NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_CONVERSION 0x000002f8
+
+
+#define NV30_STRETCHED_IMAGE_FROM_CPU 0x00000366
+
+
+
+#define NV40_STRETCHED_IMAGE_FROM_CPU 0x00003066
+
+
+
+#define NV03_SCALED_IMAGE_FROM_MEMORY 0x00000037
+
+#define NV03_SCALED_IMAGE_FROM_MEMORY_NOP 0x00000100
+#define NV03_SCALED_IMAGE_FROM_MEMORY_NOTIFY 0x00000104
+#define NV03_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY 0x00000180
+#define NV03_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE 0x00000184
+#define NV03_SCALED_IMAGE_FROM_MEMORY_PATTERN 0x00000188
+#define NV03_SCALED_IMAGE_FROM_MEMORY_ROP 0x0000018c
+#define NV03_SCALED_IMAGE_FROM_MEMORY_BETA1 0x00000190
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SURFACE 0x00000194
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT 0x00000300
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5 0x00000001
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X1R5G5B5 0x00000002
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8 0x00000003
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8 0x00000004
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_V8YB8U8YA8 0x00000005
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_YB8V8YA8U8 0x00000006
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5 0x00000007
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8 0x00000008
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_AY8 0x00000009
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION 0x00000304
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_AND 0x00000000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_ROP_AND 0x00000001
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_AND 0x00000002
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY 0x00000003
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_PREMULT 0x00000005
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT 0x00000308
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_MASK 0xffff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE 0x0000030c
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_MASK 0xffff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT 0x00000310
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_MASK 0xffff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE 0x00000314
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_MASK 0xffff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_DU_DX 0x00000318
+#define NV03_SCALED_IMAGE_FROM_MEMORY_DV_DY 0x0000031c
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SIZE 0x00000400
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_W_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_W_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_H_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_H_MASK 0xffff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT 0x00000404
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_MASK 0x00ff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CENTER 0x00010000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CORNER 0x00020000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_SHIFT 24
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_MASK 0xff000000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_POINT_SAMPLE 0x00000000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_BILINEAR 0x01000000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OFFSET 0x00000408
+#define NV03_SCALED_IMAGE_FROM_MEMORY_POINT 0x0000040c
+#define NV03_SCALED_IMAGE_FROM_MEMORY_POINT_U_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_POINT_U_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_POINT_V_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_POINT_V_MASK 0xffff0000
+
+
+#define NV04_SCALED_IMAGE_FROM_MEMORY 0x00000077
+
+#define NV04_SCALED_IMAGE_FROM_MEMORY_BETA4 0x00000194
+#define NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE 0x00000198
+
+
+#define NV05_SCALED_IMAGE_FROM_MEMORY 0x00000063
+
+#define NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION 0x000002fc
+#define NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER 0x00000000
+#define NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE 0x00000001
+#define NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE 0x00000002
+
+
+#define NV10_SCALED_IMAGE_FROM_MEMORY 0x00000089
+
+#define NV10_SCALED_IMAGE_FROM_MEMORY_WAIT_FOR_IDLE 0x00000108
+
+
+#define NV30_SCALED_IMAGE_FROM_MEMORY 0x00000389
+
+
+
+#define NV40_SCALED_IMAGE_FROM_MEMORY 0x00003089
+
+
+
+#define NV04_DVD_SUBPICTURE 0x00000038
+
+#define NV04_DVD_SUBPICTURE_NOP 0x00000100
+#define NV04_DVD_SUBPICTURE_NOTIFY 0x00000104
+#define NV04_DVD_SUBPICTURE_DMA_NOTIFY 0x00000180
+#define NV04_DVD_SUBPICTURE_DMA_OVERLAY 0x00000184
+#define NV04_DVD_SUBPICTURE_DMA_IMAGEIN 0x00000188
+#define NV04_DVD_SUBPICTURE_DMA_IMAGEOUT 0x0000018c
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_POINT 0x00000300
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE 0x00000304
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT 0x00000308
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_OFFSET 0x0000030c
+#define NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DU_DX 0x00000310
+#define NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DV_DY 0x00000314
+#define NV04_DVD_SUBPICTURE_IMAGEIN_SIZE 0x00000318
+#define NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT 0x0000031c
+#define NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_IMAGEIN_OFFSET 0x00000320
+#define NV04_DVD_SUBPICTURE_IMAGEIN_POINT 0x00000324
+#define NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DU_DX 0x00000328
+#define NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DV_DY 0x0000032c
+#define NV04_DVD_SUBPICTURE_OVERLAY_SIZE 0x00000330
+#define NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_SHIFT 0
+#define NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_SHIFT 16
+#define NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_OVERLAY_FORMAT 0x00000334
+#define NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_SHIFT 0
+#define NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_SHIFT 16
+#define NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_OVERLAY_OFFSET 0x00000338
+#define NV04_DVD_SUBPICTURE_OVERLAY_POINT 0x0000033c
+#define NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_SHIFT 0
+#define NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_SHIFT 16
+#define NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_MASK 0xffff0000
+
+
+#define NV10_DVD_SUBPICTURE 0x00000088
+
+#define NV10_DVD_SUBPICTURE_WAIT_FOR_IDLE 0x00000108
+
+
+#define NV04_MEMORY_TO_MEMORY_FORMAT 0x00000039
+
+#define NV04_MEMORY_TO_MEMORY_FORMAT_NOP 0x00000100
+#define NV04_MEMORY_TO_MEMORY_FORMAT_NOTIFY 0x00000104
+#define NV04_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY 0x00000180
+#define NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN 0x00000184
+#define NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_OUT 0x00000188
+#define NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN 0x0000030c
+#define NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT 0x00000310
+#define NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_IN 0x00000314
+#define NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT 0x00000318
+#define NV04_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN 0x0000031c
+#define NV04_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT 0x00000320
+#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT 0x00000324
+#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_SHIFT 0
+#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_MASK 0x000000ff
+#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_SHIFT 8
+#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_MASK 0x0000ff00
+#define NV04_MEMORY_TO_MEMORY_FORMAT_BUF_NOTIFY 0x00000328
+
+
+#define NV50_MEMORY_TO_MEMORY_FORMAT 0x00005039
+
+#define NV50_MEMORY_TO_MEMORY_FORMAT_SERIALIZE 0x00000110
+#define NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_IN 0x00000200
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_IN 0x00000204
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_IN 0x00000208
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_IN 0x0000020c
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_IN 0x00000210
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Z 0x00000214
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN 0x00000218
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_SHIFT 0
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_MASK 0x0000ffff
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_SHIFT 16
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_MASK 0xffff0000
+#define NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_OUT 0x0000021c
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_OUT 0x00000220
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_OUT 0x00000224
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_OUT 0x00000228
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_OUT 0x0000022c
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Z 0x00000230
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT 0x00000234
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_SHIFT 0
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_MASK 0x0000ffff
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_SHIFT 16
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_MASK 0xffff0000
+#define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH 0x00000238
+#define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH 0x0000023c
+
+
+#define NV01_MEMORY_LOCAL_BANKED 0x0000003d
+
+
+
+#define NV01_MAPPING_SYSTEM 0x0000003e
+
+
+
+#define NV03_MEMORY_LOCAL_CURSOR 0x0000003f
+
+
+
+#define NV01_MEMORY_LOCAL_LINEAR 0x00000040
+
+
+
+#define NV01_MAPPING_LOCAL 0x00000041
+
+
+
+#define NV04_CONTEXT_SURFACES_2D 0x00000042
+
+#define NV04_CONTEXT_SURFACES_2D_NOP 0x00000100
+#define NV04_CONTEXT_SURFACES_2D_NOTIFY 0x00000104
+#define NV04_CONTEXT_SURFACES_2D_PM_TRIGGER 0x00000140
+#define NV04_CONTEXT_SURFACES_2D_DMA_NOTIFY 0x00000180
+#define NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE 0x00000184
+#define NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_DESTIN 0x00000188
+#define NV04_CONTEXT_SURFACES_2D_FORMAT 0x00000300
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_Y8 0x00000001
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_Z1R5G5B5 0x00000002
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_X1R5G5B5 0x00000003
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_R5G6B5 0x00000004
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_Y16 0x00000005
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_Z8R8G8B8 0x00000006
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_X8R8G8B8 0x00000007
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_Z1A7R8G8B8 0x00000008
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_X1A7R8G8B8 0x00000009
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_A8R8G8B8 0x0000000a
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_Y32 0x0000000b
+#define NV04_CONTEXT_SURFACES_2D_PITCH 0x00000304
+#define NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT 0
+#define NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK 0x0000ffff
+#define NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT 16
+#define NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK 0xffff0000
+#define NV04_CONTEXT_SURFACES_2D_OFFSET_SOURCE 0x00000308
+#define NV04_CONTEXT_SURFACES_2D_OFFSET_DESTIN 0x0000030c
+
+
+#define NV10_CONTEXT_SURFACES_2D 0x00000062
+
+
+
+#define NV30_CONTEXT_SURFACES_2D 0x00000362
+
+
+
+#define NV40_CONTEXT_SURFACES_2D 0x00003062
+
+
+
+#define NV03_CONTEXT_ROP 0x00000043
+
+#define NV03_CONTEXT_ROP_NOP 0x00000100
+#define NV03_CONTEXT_ROP_NOTIFY 0x00000104
+#define NV03_CONTEXT_ROP_DMA_NOTIFY 0x00000180
+#define NV03_CONTEXT_ROP_ROP 0x00000300
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SHIFT 0
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_MASK 0x0000000f
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_CLEAR 0x00000000
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOR 0x00000001
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND_INVERTED 0x00000002
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_COPY_INVERTED 0x00000003
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND_REVERSE 0x00000004
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_INVERT 0x00000005
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_XOR 0x00000006
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NAND 0x00000007
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND 0x00000008
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_EQUI 0x00000009
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOOP 0x0000000a
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR_INVERTED 0x0000000b
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_COPY 0x0000000c
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR_REVERSE 0x0000000d
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR 0x0000000e
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SET 0x0000000f
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_SHIFT 4
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_MASK 0x000000f0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_CLEAR 0x00000000
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NOR 0x00000010
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND_INVERTED 0x00000020
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_COPY_INVERTED 0x00000030
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND_REVERSE 0x00000040
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_INVERT 0x00000050
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_XOR 0x00000060
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NAND 0x00000070
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND 0x00000080
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_EQUI 0x00000090
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NOOP 0x000000a0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR_INVERTED 0x000000b0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_COPY 0x000000c0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR_REVERSE 0x000000d0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR 0x000000e0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_SET 0x000000f0
+
+
+#define NV04_IMAGE_PATTERN 0x00000044
+
+#define NV04_IMAGE_PATTERN_NOP 0x00000100
+#define NV04_IMAGE_PATTERN_NOTIFY 0x00000104
+#define NV04_IMAGE_PATTERN_DMA_NOTIFY 0x00000180
+#define NV04_IMAGE_PATTERN_COLOR_FORMAT 0x00000300
+#define NV04_IMAGE_PATTERN_COLOR_FORMAT_A16R5G6B5 0x00000001
+#define NV04_IMAGE_PATTERN_COLOR_FORMAT_X16A1R5G5B5 0x00000002
+#define NV04_IMAGE_PATTERN_COLOR_FORMAT_A8R8G8B8 0x00000003
+#define NV04_IMAGE_PATTERN_MONOCHROME_FORMAT 0x00000304
+#define NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_CGA6 0x00000001
+#define NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_LE 0x00000002
+#define NV04_IMAGE_PATTERN_MONOCHROME_SHAPE 0x00000308
+#define NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_8X8 0x00000000
+#define NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_64X1 0x00000001
+#define NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_1X64 0x00000002
+#define NV04_IMAGE_PATTERN_PATTERN_SELECT 0x0000030c
+#define NV04_IMAGE_PATTERN_PATTERN_SELECT_MONO 0x00000001
+#define NV04_IMAGE_PATTERN_PATTERN_SELECT_COLOR 0x00000002
+#define NV04_IMAGE_PATTERN_MONOCHROME_COLOR0 0x00000310
+#define NV04_IMAGE_PATTERN_MONOCHROME_COLOR1 0x00000314
+#define NV04_IMAGE_PATTERN_MONOCHROME_PATTERN0 0x00000318
+#define NV04_IMAGE_PATTERN_MONOCHROME_PATTERN1 0x0000031c
+#define NV04_IMAGE_PATTERN_PATTERN_Y8(x) (0x00000400+((x)*4))
+#define NV04_IMAGE_PATTERN_PATTERN_Y8__SIZE 0x00000010
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_SHIFT 0
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_MASK 0x000000ff
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_SHIFT 8
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_MASK 0x0000ff00
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_SHIFT 16
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_MASK 0x00ff0000
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_SHIFT 24
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_MASK 0xff000000
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5(x) (0x00000500+((x)*4))
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5__SIZE 0x00000020
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_SHIFT 0
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_MASK 0x0000001f
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_SHIFT 5
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_MASK 0x000007e0
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_SHIFT 11
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_MASK 0x0000f800
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_SHIFT 16
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_MASK 0x001f0000
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_SHIFT 21
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_MASK 0x07e00000
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_SHIFT 27
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_MASK 0xf8000000
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5(x) (0x00000600+((x)*4))
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5__SIZE 0x00000020
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_SHIFT 0
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_MASK 0x0000001f
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_SHIFT 5
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_MASK 0x000003e0
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_SHIFT 10
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_MASK 0x00007c00
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_SHIFT 16
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_MASK 0x001f0000
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_SHIFT 21
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_MASK 0x03e00000
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_SHIFT 26
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_MASK 0x7c000000
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8(x) (0x00000700+((x)*4))
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8__SIZE 0x00000040
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_SHIFT 0
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_MASK 0x000000ff
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_SHIFT 8
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_MASK 0x0000ff00
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_SHIFT 16
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_MASK 0x00ff0000
+
+
+#define NV03_VIDEO_LUT_CURSOR_DAC 0x00000046
+
+#define NV03_VIDEO_LUT_CURSOR_DAC_SYNCHRONIZE 0x00000100
+#define NV03_VIDEO_LUT_CURSOR_DAC_STOP_IMAGE 0x00000104
+#define NV03_VIDEO_LUT_CURSOR_DAC_STOP_CURSOR 0x00000108
+#define NV03_VIDEO_LUT_CURSOR_DAC_STOP_DAC 0x0000010c
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_NOTIFY 0x00000180
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE(x) (0x00000184+((x)*4))
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT(x) (0x0000018c+((x)*4))
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR(x) (0x00000194+((x)*4))
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_GET 0x000002fc
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET(x) (0x00000300+((x)*8))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT(x) (0x00000304+((x)*8))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_MASK 0x0fff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_SHIFT 28
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_MASK 0xf0000000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET(x) (0x00000340+((x)*12))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT(x) (0x00000344+((x)*12))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_MASK 0xffff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT(x) (0x00000348+((x)*12))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A 0x00000358
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_MASK 0xffff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE(x) (0x00000380+((x)*16))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_MASK 0xffff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC(x) (0x00000384+((x)*16))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_MASK 0x0fff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_SHIFT 28
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_MASK 0xf0000000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC(x) (0x00000388+((x)*16))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_MASK 0x0fff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_SHIFT 28
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_MASK 0xf0000000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE(x) (0x0000038c+((x)*16))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_MASK 0x0fff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_SHIFT 28
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_MASK 0xf0000000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_PIXEL_CLOCK 0x000003a0
+
+
+#define NV03_TEXTURED_TRIANGLE 0x00000048
+
+#define NV03_TEXTURED_TRIANGLE_NOP 0x00000100
+#define NV03_TEXTURED_TRIANGLE_NOTIFY 0x00000104
+#define NV03_TEXTURED_TRIANGLE_PATCH 0x0000010c
+#define NV03_TEXTURED_TRIANGLE_DMA_NOTIFY 0x00000180
+#define NV03_TEXTURED_TRIANGLE_DMA_TEXTURE 0x00000184
+#define NV03_TEXTURED_TRIANGLE_CLIP_RECTANGLE 0x00000188
+#define NV03_TEXTURED_TRIANGLE_SURFACE 0x0000018c
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_OFFSET 0x00000304
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT 0x00000308
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_MASK 0x0000ffff
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_SHIFT 16
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_MASK 0x000f0000
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_SHIFT 20
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_MASK 0x00f00000
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_SHIFT 24
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_MASK 0x0f000000
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_SHIFT 28
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_MASK 0xf0000000
+#define NV03_TEXTURED_TRIANGLE_FILTER 0x0000030c
+#define NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_X_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_X_MASK 0x0000001f
+#define NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_SHIFT 8
+#define NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_MASK 0x00001f00
+#define NV03_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_SHIFT 16
+#define NV03_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_MASK 0x00ff0000
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR 0x00000310
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_B_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_B_MASK 0x000000ff
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_G_SHIFT 8
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_G_MASK 0x0000ff00
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_R_SHIFT 16
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_R_MASK 0x00ff0000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT 0x00000314
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_MASK 0x0000000f
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_SHIFT 4
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_MASK 0x00000030
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_SHIFT 6
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_MASK 0x000000c0
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_SHIFT 8
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_MASK 0x00000f00
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_SHIFT 12
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_MASK 0x00007000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_PERSPECTIVE_ENABLE (1 << 15)
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_SHIFT 16
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_MASK 0x000f0000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_SHIFT 20
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_MASK 0x00f00000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_SHIFT 24
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_MASK 0x07000000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_SHIFT 27
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_MASK 0x18000000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_BETA (1 << 29)
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_DST_BLEND (1 << 30)
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SRC_BLEND (1 << 31)
+#define NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL 0x00000318
+#define NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_MASK 0x000000ff
+#define NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_SHIFT 8
+#define NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_MASK 0xffffff00
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x) (0x00001000+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I0_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I0_MASK 0x0000000f
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I1_SHIFT 4
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I1_MASK 0x000000f0
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I2_SHIFT 8
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I2_MASK 0x00000f00
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I3_SHIFT 12
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I3_MASK 0x0000f000
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I4_SHIFT 16
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I4_MASK 0x000f0000
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I5_SHIFT 20
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I5_MASK 0x00f00000
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT 24
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK 0xff000000
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x) (0x00001004+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SX(x) (0x00001008+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SY(x) (0x0000100c+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SZ(x) (0x00001010+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_RHW(x) (0x00001014+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_TU(x) (0x00001018+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_TV(x) (0x0000101c+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE 0x00000080
+
+
+#define NV04_GDI_RECTANGLE_TEXT 0x0000004a
+
+#define NV04_GDI_RECTANGLE_TEXT_NOP 0x00000100
+#define NV04_GDI_RECTANGLE_TEXT_NOTIFY 0x00000104
+#define NV04_GDI_RECTANGLE_TEXT_PATCH 0x0000010c
+#define NV04_GDI_RECTANGLE_TEXT_PM_TRIGGER 0x00000140
+#define NV04_GDI_RECTANGLE_TEXT_DMA_NOTIFY 0x00000180
+#define NV04_GDI_RECTANGLE_TEXT_DMA_FONTS 0x00000184
+#define NV04_GDI_RECTANGLE_TEXT_PATTERN 0x00000188
+#define NV04_GDI_RECTANGLE_TEXT_ROP 0x0000018c
+#define NV04_GDI_RECTANGLE_TEXT_BETA1 0x00000190
+#define NV04_GDI_RECTANGLE_TEXT_BETA4 0x00000194
+#define NV04_GDI_RECTANGLE_TEXT_SURFACE 0x00000198
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION 0x000002fc
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY_AND 0x00000000
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_ROP_AND 0x00000001
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_BLEND_AND 0x00000002
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY 0x00000003
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_BLEND_PREMULT 0x00000005
+#define NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT 0x00000300
+#define NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A16R5G6B5 0x00000001
+#define NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_X16A1R5G5B5 0x00000002
+#define NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8 0x00000003
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT 0x00000304
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_CGA6 0x00000001
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_LE 0x00000002
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_A 0x000003fc
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT(x) (0x00000400+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT__SIZE 0x00000020
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE(x) (0x00000404+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE__SIZE 0x00000020
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0 0x000005f4
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1 0x000005f8
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_B 0x000005fc
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0(x) (0x00000600+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0__SIZE 0x00000020
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1(x) (0x00000604+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1__SIZE 0x00000020
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0 0x000007ec
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1 0x000007f0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_C 0x000007f4
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_C 0x000007f8
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_POINT_C 0x000007fc
+#define NV04_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_POINT_C_X_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x) (0x00000800+((x)*4))
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE 0x00000080
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0 0x00000be4
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1 0x00000be8
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_COLOR0_E 0x00000bec
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_E 0x00000bf0
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E 0x00000bf4
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E 0x00000bf8
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_POINT_E 0x00000bfc
+#define NV04_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_POINT_E_X_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x) (0x00000c00+((x)*4))
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE 0x00000080
+#define NV04_GDI_RECTANGLE_TEXT_FONT_F 0x00000ff0
+#define NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_MASK 0x0fffffff
+#define NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_SHIFT 28
+#define NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_MASK 0xf0000000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0 0x00000ff4
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1 0x00000ff8
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_F 0x00000ffc
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F(x) (0x00001000+((x)*4))
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F__SIZE 0x00000100
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_MASK 0x000000ff
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_SHIFT 8
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_MASK 0x000fff00
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_SHIFT 20
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_MASK 0xfff00000
+#define NV04_GDI_RECTANGLE_TEXT_FONT_G 0x000017f0
+#define NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_MASK 0x0fffffff
+#define NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_SHIFT 28
+#define NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_MASK 0xf0000000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0 0x000017f4
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1 0x000017f8
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_G 0x000017fc
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT(x) (0x00001800+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT__SIZE 0x00000100
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX(x) (0x00001804+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX__SIZE 0x00000100
+
+
+#define NV03_GDI_RECTANGLE_TEXT 0x0000004b
+
+#define NV03_GDI_RECTANGLE_TEXT_NOP 0x00000100
+#define NV03_GDI_RECTANGLE_TEXT_NOTIFY 0x00000104
+#define NV03_GDI_RECTANGLE_TEXT_DMA_NOTIFY 0x00000180
+#define NV03_GDI_RECTANGLE_TEXT_PATTERN 0x00000184
+#define NV03_GDI_RECTANGLE_TEXT_ROP 0x00000188
+#define NV03_GDI_RECTANGLE_TEXT_BETA1 0x0000018c
+#define NV03_GDI_RECTANGLE_TEXT_SURFACE 0x00000190
+#define NV03_GDI_RECTANGLE_TEXT_OPERATION 0x000002fc
+#define NV03_GDI_RECTANGLE_TEXT_COLOR_FORMAT 0x00000300
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT 0x00000304
+#define NV03_GDI_RECTANGLE_TEXT_COLOR1_A 0x000003fc
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT 0x00000400
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE 0x00000404
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B 0x000007f4
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B 0x000007f8
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_COLOR1_B 0x000007fc
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0 0x00000800
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1 0x00000804
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0 0x00000bec
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1 0x00000bf0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_COLOR1_C 0x00000bf4
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_C 0x00000bf8
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_POINT_C 0x00000bfc
+#define NV03_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_POINT_C_X_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x) (0x00000c00+((x)*4))
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE 0x00000020
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0 0x00000fe8
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1 0x00000fec
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_COLOR1_D 0x00000ff0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D 0x00000ff4
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D 0x00000ff8
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_POINT_D 0x00000ffc
+#define NV03_GDI_RECTANGLE_TEXT_POINT_D_X_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_POINT_D_X_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D(x) (0x00001000+((x)*4))
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D__SIZE 0x00000020
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0 0x000013e4
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1 0x000013e8
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_COLOR0_E 0x000013ec
+#define NV03_GDI_RECTANGLE_TEXT_COLOR1_E 0x000013f0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E 0x000013f4
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E 0x000013f8
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_POINT_E 0x000013fc
+#define NV03_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_POINT_E_X_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x) (0x00001400+((x)*4))
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE 0x00000020
+
+
+#define NV04_SWIZZLED_SURFACE 0x00000052
+
+#define NV04_SWIZZLED_SURFACE_NOP 0x00000100
+#define NV04_SWIZZLED_SURFACE_NOTIFY 0x00000104
+#define NV04_SWIZZLED_SURFACE_DMA_NOTIFY 0x00000180
+#define NV04_SWIZZLED_SURFACE_DMA_IMAGE 0x00000184
+#define NV04_SWIZZLED_SURFACE_FORMAT 0x00000300
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_SHIFT 0
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_MASK 0x000000ff
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y8 0x00000001
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5 0x00000002
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_X1R5G5B5 0x00000003
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_R5G6B5 0x00000004
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y16 0x00000005
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8 0x00000006
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_X8R8G8B8 0x00000007
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8 0x00000008
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8 0x00000009
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_A8R8G8B8 0x0000000a
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y32 0x0000000b
+#define NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_SHIFT 16
+#define NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_MASK 0x00ff0000
+#define NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_SHIFT 24
+#define NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_MASK 0xff000000
+#define NV04_SWIZZLED_SURFACE_OFFSET 0x00000304
+
+
+#define NV20_SWIZZLED_SURFACE 0x0000009e
+
+
+
+#define NV30_SWIZZLED_SURFACE 0x0000039e
+
+
+
+#define NV40_SWIZZLED_SURFACE 0x0000309e
+
+
+
+#define NV04_CONTEXT_SURFACES_3D 0x00000053
+
+#define NV04_CONTEXT_SURFACES_3D_NOP 0x00000100
+#define NV04_CONTEXT_SURFACES_3D_NOTIFY 0x00000104
+#define NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY 0x00000180
+#define NV04_CONTEXT_SURFACES_3D_DMA_COLOR 0x00000184
+#define NV04_CONTEXT_SURFACES_3D_DMA_ZETA 0x00000188
+#define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL 0x000002f8
+#define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_SHIFT 0
+#define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_MASK 0x0000ffff
+#define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_SHIFT 16
+#define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_MASK 0xffff0000
+#define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL 0x000002fc
+#define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_SHIFT 0
+#define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_MASK 0x0000ffff
+#define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_SHIFT 16
+#define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_MASK 0xffff0000
+#define NV04_CONTEXT_SURFACES_3D_FORMAT 0x00000300
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_SHIFT 0
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_MASK 0x000000ff
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5 0x00000001
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_X1R5G5B5 0x00000002
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_R5G6B5 0x00000003
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8 0x00000004
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_X8R8G8B8 0x00000005
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8 0x00000006
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8 0x00000007
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_A8R8G8B8 0x00000008
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SHIFT 8
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_MASK 0x0000ff00
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_PITCH 0x00000100
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SWIZZLE 0x00000200
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_SHIFT 16
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_MASK 0x00ff0000
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_SHIFT 24
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_MASK 0xff000000
+#define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE 0x00000304
+#define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_SHIFT 0
+#define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_MASK 0x0000ffff
+#define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_SHIFT 16
+#define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_MASK 0xffff0000
+#define NV04_CONTEXT_SURFACES_3D_PITCH 0x00000308
+#define NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_SHIFT 0
+#define NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_MASK 0x0000ffff
+#define NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_SHIFT 16
+#define NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_MASK 0xffff0000
+#define NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR 0x0000030c
+#define NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA 0x00000310
+
+
+#define NV10_CONTEXT_SURFACES_3D 0x00000093
+
+
+
+#define NV04_TEXTURED_TRIANGLE 0x00000054
+
+#define NV04_TEXTURED_TRIANGLE_NOP 0x00000100
+#define NV04_TEXTURED_TRIANGLE_NOTIFY 0x00000104
+#define NV04_TEXTURED_TRIANGLE_DMA_NOTIFY 0x00000180
+#define NV04_TEXTURED_TRIANGLE_DMA_A 0x00000184
+#define NV04_TEXTURED_TRIANGLE_DMA_B 0x00000188
+#define NV04_TEXTURED_TRIANGLE_SURFACE 0x0000018c
+#define NV04_TEXTURED_TRIANGLE_COLORKEY 0x00000300
+#define NV04_TEXTURED_TRIANGLE_OFFSET 0x00000304
+#define NV04_TEXTURED_TRIANGLE_FORMAT 0x00000308
+#define NV04_TEXTURED_TRIANGLE_FORMAT_DMA_A (1 << 0)
+#define NV04_TEXTURED_TRIANGLE_FORMAT_DMA_B (1 << 1)
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_SHIFT 2
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_MASK 0x0000000c
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT 4
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK 0x00000030
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER 0x00000010
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER 0x00000020
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT 6
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_MASK 0x000000c0
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER 0x00000040
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER 0x00000080
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_MASK 0x00000f00
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_Y8 0x00000100
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A1R5G5B5 0x00000200
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X1R5G5B5 0x00000300
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A4R4G4B4 0x00000400
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_R5G6B5 0x00000500
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A8R8G8B8 0x00000600
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X8R8G8B8 0x00000700
+#define NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT 12
+#define NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK 0x0000f000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_MASK 0x000f0000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT 20
+#define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_MASK 0x00f00000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MASK 0x07000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_REPEAT 0x01000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT 0x02000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE 0x03000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER 0x04000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP 0x05000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_WRAPU (1 << 27)
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_SHIFT 28
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MASK 0x70000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_REPEAT 0x10000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT 0x20000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE 0x30000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER 0x40000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP 0x50000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_WRAPV (1 << 31)
+#define NV04_TEXTURED_TRIANGLE_FILTER 0x0000030c
+#define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK 0x000000ff
+#define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK 0x00007f00
+#define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE (1 << 15)
+#define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK 0x00ff0000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_MASK 0x07000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST 0x01000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR 0x02000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST 0x03000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST 0x04000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR 0x05000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR 0x06000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE (1 << 27)
+#define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_SHIFT 28
+#define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_MASK 0x70000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST 0x10000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR 0x20000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE (1 << 31)
+#define NV04_TEXTURED_TRIANGLE_BLEND 0x00000310
+#define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MASK 0x0000000f
+#define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_SHIFT 4
+#define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_MASK 0x00000030
+#define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_SHIFT 6
+#define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_MASK 0x000000c0
+#define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT 0x00000040
+#define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD 0x00000080
+#define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG 0x000000c0
+#define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE (1 << 8)
+#define NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE (1 << 12)
+#define NV04_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE (1 << 16)
+#define NV04_TEXTURED_TRIANGLE_BLEND_BLEND_ENABLE (1 << 20)
+#define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_BLEND_SRC_MASK 0x0f000000
+#define NV04_TEXTURED_TRIANGLE_BLEND_DST_SHIFT 28
+#define NV04_TEXTURED_TRIANGLE_BLEND_DST_MASK 0xf0000000
+#define NV04_TEXTURED_TRIANGLE_CONTROL 0x00000314
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_MASK 0x000000ff
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_MASK 0x00000f00
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_ENABLE (1 << 12)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN (1 << 13)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE (1 << 14)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_MASK 0x000f0000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_SHIFT 20
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_MASK 0x00300000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_BOTH 0x00000000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_NONE 0x00100000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CW 0x00200000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CCW 0x00300000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_DITHER_ENABLE (1 << 22)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_PERSPECTIVE_ENABLE (1 << 23)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_WRITE (1 << 24)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_SHIFT 30
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_MASK 0xc0000000
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR 0x00000318
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_B_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_B_MASK 0x000000ff
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_G_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_G_MASK 0x0000ff00
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_R_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_R_MASK 0x00ff0000
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_A_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_A_MASK 0xff000000
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SX(x) (0x00000400+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SY(x) (0x00000404+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ(x) (0x00000408+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW(x) (0x0000040c+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x) (0x00000410+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_MASK 0x000000ff
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_MASK 0x0000ff00
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_MASK 0x00ff0000
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_MASK 0xff000000
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x) (0x00000414+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_MASK 0x000000ff
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_MASK 0x0000ff00
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_MASK 0x00ff0000
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK 0xff000000
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_TU(x) (0x00000418+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_TV(x) (0x0000041c+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE(x) (0x00000600+((x)*4))
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE__SIZE 0x00000040
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0_MASK 0x0000000f
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1_SHIFT 4
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1_MASK 0x000000f0
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2_MASK 0x00000f00
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3_SHIFT 12
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3_MASK 0x0000f000
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4_MASK 0x000f0000
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5_SHIFT 20
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5_MASK 0x00f00000
+
+
+#define NV10_TEXTURED_TRIANGLE 0x00000094
+
+
+
+#define NV04_MULTITEX_TRIANGLE 0x00000055
+
+#define NV04_MULTITEX_TRIANGLE_NOP 0x00000100
+#define NV04_MULTITEX_TRIANGLE_NOTIFY 0x00000104
+#define NV04_MULTITEX_TRIANGLE_DMA_NOTIFY 0x00000180
+#define NV04_MULTITEX_TRIANGLE_DMA_A 0x00000184
+#define NV04_MULTITEX_TRIANGLE_DMA_B 0x00000188
+#define NV04_MULTITEX_TRIANGLE_SURFACE 0x0000018c
+#define NV04_MULTITEX_TRIANGLE_OFFSET(x) (0x00000308+((x)*4))
+#define NV04_MULTITEX_TRIANGLE_OFFSET__SIZE 0x00000002
+#define NV04_MULTITEX_TRIANGLE_FORMAT(x) (0x00000310+((x)*4))
+#define NV04_MULTITEX_TRIANGLE_FORMAT__SIZE 0x00000002
+#define NV04_MULTITEX_TRIANGLE_FORMAT_DMA_A (1 << 0)
+#define NV04_MULTITEX_TRIANGLE_FORMAT_DMA_B (1 << 1)
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT 4
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK 0x00000030
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT 6
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_MASK 0x000000c0
+#define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_MASK 0x00000f00
+#define NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT 12
+#define NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK 0x0000f000
+#define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_MASK 0x000f0000
+#define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT 20
+#define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_MASK 0x00f00000
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_MASK 0x07000000
+#define NV04_MULTITEX_TRIANGLE_FORMAT_WRAPU (1 << 27)
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_SHIFT 28
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_MASK 0x70000000
+#define NV04_MULTITEX_TRIANGLE_FORMAT_WRAPV (1 << 31)
+#define NV04_MULTITEX_TRIANGLE_FILTER(x) (0x00000318+((x)*4))
+#define NV04_MULTITEX_TRIANGLE_FILTER__SIZE 0x00000002
+#define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK 0x00007f00
+#define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE (1 << 15)
+#define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_MASK 0x07000000
+#define NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE (1 << 27)
+#define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_SHIFT 28
+#define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_MASK 0x70000000
+#define NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE (1 << 31)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA(x) (0x00000320+((x)*12))
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA__SIZE 0x00000002
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE0 (1 << 0)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_SHIFT 2
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_MASK 0x000000fc
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_ZERO 0x00000004
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_CONSTANT 0x00000008
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PRIMARY_COLOR 0x0000000c
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PREVIOUS 0x00000010
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE0 0x00000014
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE1 0x00000018
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE1 (1 << 8)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_SHIFT 10
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_MASK 0x0000fc00
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_ZERO 0x00000400
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_CONSTANT 0x00000800
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PRIMARY_COLOR 0x00000c00
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PREVIOUS 0x00001000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE0 0x00001400
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE1 0x00001800
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE2 (1 << 16)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_SHIFT 18
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_MASK 0x00fc0000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_ZERO 0x00040000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_CONSTANT 0x00080000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PRIMARY_COLOR 0x000c0000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PREVIOUS 0x00100000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE0 0x00140000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE1 0x00180000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE3 (1 << 24)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_SHIFT 26
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_MASK 0x1c000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_ZERO 0x04000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_CONSTANT 0x08000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PRIMARY_COLOR 0x0c000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PREVIOUS 0x10000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE0 0x14000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE1 0x18000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SHIFT 29
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_MASK 0xe0000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_IDENTITY 0x20000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE2 0x40000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE4 0x60000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS 0x80000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS_SCALE2 0xe0000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR(x) (0x00000324+((x)*12))
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR__SIZE 0x00000002
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE0 (1 << 0)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA0 (1 << 1)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_SHIFT 2
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_MASK 0x000000fc
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_ZERO 0x00000004
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_CONSTANT 0x00000008
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PRIMARY_COLOR 0x0000000c
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PREVIOUS 0x00000010
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE0 0x00000014
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE1 0x00000018
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE1 (1 << 8)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA1 (1 << 9)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_SHIFT 10
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_MASK 0x0000fc00
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_ZERO 0x00000400
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_CONSTANT 0x00000800
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PRIMARY_COLOR 0x00000c00
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PREVIOUS 0x00001000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE0 0x00001400
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE1 0x00001800
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE2 (1 << 16)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA2 (1 << 17)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_SHIFT 18
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_MASK 0x00fc0000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_ZERO 0x00040000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_CONSTANT 0x00080000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PRIMARY_COLOR 0x000c0000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PREVIOUS 0x00100000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE0 0x00140000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE1 0x00180000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE3 (1 << 24)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA3 (1 << 25)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_SHIFT 26
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_MASK 0x1c000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_ZERO 0x04000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_CONSTANT 0x08000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PRIMARY_COLOR 0x0c000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PREVIOUS 0x10000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE0 0x14000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE1 0x18000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SHIFT 29
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_MASK 0xe0000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_IDENTITY 0x20000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE2 0x40000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE4 0x60000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS 0x80000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS_SCALE2 0xe0000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR 0x00000334
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_MASK 0x0000ff00
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_MASK 0xff000000
+#define NV04_MULTITEX_TRIANGLE_BLEND 0x00000338
+#define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_SHIFT 4
+#define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_MASK 0x00000030
+#define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_SHIFT 6
+#define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_MASK 0x000000c0
+#define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_FLAT 0x00000040
+#define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_GOURAUD 0x00000080
+#define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_PHONG 0x000000c0
+#define NV04_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE (1 << 8)
+#define NV04_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE (1 << 12)
+#define NV04_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE (1 << 16)
+#define NV04_MULTITEX_TRIANGLE_BLEND_BLEND_ENABLE (1 << 20)
+#define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_BLEND_SRC_MASK 0x0f000000
+#define NV04_MULTITEX_TRIANGLE_BLEND_DST_SHIFT 28
+#define NV04_MULTITEX_TRIANGLE_BLEND_DST_MASK 0xf0000000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0 0x0000033c
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_MASK 0x00000f00
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_ENABLE (1 << 12)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN (1 << 13)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE (1 << 14)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_MASK 0x000f0000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_SHIFT 20
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_MASK 0x00300000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_BOTH 0x00000000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_NONE 0x00100000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CW 0x00200000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CCW 0x00300000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_DITHER_ENABLE (1 << 22)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_PERSPECTIVE_ENABLE (1 << 23)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_WRITE (1 << 24)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_STENCIL_WRITE (1 << 25)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_WRITE (1 << 26)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_RED_WRITE (1 << 27)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_GREEN_WRITE (1 << 28)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_BLUE_WRITE (1 << 29)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_SHIFT 30
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_MASK 0xc0000000
+#define NV04_MULTITEX_TRIANGLE_CONTROL1 0x00000340
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_ENABLE (1 << 0)
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_SHIFT 4
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_MASK 0x000000f0
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_MASK 0x0000ff00
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_MASK 0xff000000
+#define NV04_MULTITEX_TRIANGLE_CONTROL2 0x00000344
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_MASK 0x0000000f
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_SHIFT 4
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_MASK 0x000000f0
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_MASK 0x00000f00
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR 0x00000348
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_B_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_B_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_G_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_G_MASK 0x0000ff00
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_R_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_R_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_A_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_A_MASK 0xff000000
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX(x) (0x00000400+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY(x) (0x00000404+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ(x) (0x00000408+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW(x) (0x0000040c+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR(x) (0x00000410+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_MASK 0x0000ff00
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_MASK 0xff000000
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR(x) (0x00000414+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_MASK 0x0000ff00
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_MASK 0xff000000
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0(x) (0x00000418+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0(x) (0x0000041c+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1(x) (0x00000420+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1(x) (0x00000424+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE(x) (0x00000540+((x)*4))
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE__SIZE 0x00000030
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0_MASK 0x0000000f
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1_SHIFT 4
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1_MASK 0x000000f0
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2_MASK 0x00000f00
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3_SHIFT 12
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3_MASK 0x0000f000
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4_MASK 0x000f0000
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5_SHIFT 20
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5_MASK 0x00f00000
+
+
+#define NV10_MULTITEX_TRIANGLE 0x00000095
+
+
+
+#define NV10TCL 0x00000056
+
+#define NV10TCL_NOP 0x00000100
+#define NV10TCL_NOTIFY 0x00000104
+#define NV10TCL_DMA_NOTIFY 0x00000180
+#define NV10TCL_DMA_IN_MEMORY0 0x00000184
+#define NV10TCL_DMA_IN_MEMORY1 0x00000188
+#define NV10TCL_DMA_VTXBUF0 0x0000018c
+#define NV10TCL_DMA_IN_MEMORY2 0x00000194
+#define NV10TCL_DMA_IN_MEMORY3 0x00000198
+#define NV10TCL_RT_HORIZ 0x00000200
+#define NV10TCL_RT_HORIZ_X_SHIFT 0
+#define NV10TCL_RT_HORIZ_X_MASK 0x0000ffff
+#define NV10TCL_RT_HORIZ_W_SHIFT 16
+#define NV10TCL_RT_HORIZ_W_MASK 0xffff0000
+#define NV10TCL_RT_VERT 0x00000204
+#define NV10TCL_RT_VERT_Y_SHIFT 0
+#define NV10TCL_RT_VERT_Y_MASK 0x0000ffff
+#define NV10TCL_RT_VERT_H_SHIFT 16
+#define NV10TCL_RT_VERT_H_MASK 0xffff0000
+#define NV10TCL_RT_FORMAT 0x00000208
+#define NV10TCL_RT_FORMAT_TYPE_SHIFT 8
+#define NV10TCL_RT_FORMAT_TYPE_MASK 0x00000f00
+#define NV10TCL_RT_FORMAT_TYPE_LINEAR 0x00000100
+#define NV10TCL_RT_FORMAT_TYPE_SWIZZLED 0x00000200
+#define NV10TCL_RT_FORMAT_COLOR_SHIFT 0
+#define NV10TCL_RT_FORMAT_COLOR_MASK 0x0000001f
+#define NV10TCL_RT_FORMAT_COLOR_R5G6B5 0x00000003
+#define NV10TCL_RT_FORMAT_COLOR_X8R8G8B8 0x00000005
+#define NV10TCL_RT_FORMAT_COLOR_A8R8G8B8 0x00000008
+#define NV10TCL_RT_FORMAT_COLOR_B8 0x00000009
+#define NV10TCL_RT_FORMAT_COLOR_UNKNOWN 0x0000000d
+#define NV10TCL_RT_FORMAT_COLOR_X8B8G8R8 0x0000000f
+#define NV10TCL_RT_FORMAT_COLOR_A8B8G8R8 0x00000010
+#define NV10TCL_RT_PITCH 0x0000020c
+#define NV10TCL_RT_PITCH_COLOR_PITCH_SHIFT 0
+#define NV10TCL_RT_PITCH_COLOR_PITCH_MASK 0x0000ffff
+#define NV10TCL_RT_PITCH_ZETA_PITCH_SHIFT 16
+#define NV10TCL_RT_PITCH_ZETA_PITCH_MASK 0xffff0000
+#define NV10TCL_COLOR_OFFSET 0x00000210
+#define NV10TCL_ZETA_OFFSET 0x00000214
+#define NV10TCL_TX_OFFSET(x) (0x00000218+((x)*4))
+#define NV10TCL_TX_OFFSET__SIZE 0x00000002
+#define NV10TCL_TX_FORMAT(x) (0x00000220+((x)*4))
+#define NV10TCL_TX_FORMAT__SIZE 0x00000002
+#define NV10TCL_TX_FORMAT_DMA0 (1 << 0)
+#define NV10TCL_TX_FORMAT_DMA1 (1 << 1)
+#define NV10TCL_TX_FORMAT_CUBE_MAP (1 << 2)
+#define NV10TCL_TX_FORMAT_FORMAT_SHIFT 7
+#define NV10TCL_TX_FORMAT_FORMAT_MASK 0x00000f80
+#define NV10TCL_TX_FORMAT_FORMAT_L8 0x00000000
+#define NV10TCL_TX_FORMAT_FORMAT_A8 0x00000080
+#define NV10TCL_TX_FORMAT_FORMAT_A1R5G5B5 0x00000100
+#define NV10TCL_TX_FORMAT_FORMAT_A4R4G4B4 0x00000200
+#define NV10TCL_TX_FORMAT_FORMAT_R5G6B5 0x00000280
+#define NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8 0x00000300
+#define NV10TCL_TX_FORMAT_FORMAT_X8R8G8B8 0x00000380
+#define NV10TCL_TX_FORMAT_FORMAT_INDEX8 0x00000580
+#define NV10TCL_TX_FORMAT_FORMAT_DXT1 0x00000600
+#define NV10TCL_TX_FORMAT_FORMAT_DXT3 0x00000700
+#define NV10TCL_TX_FORMAT_FORMAT_DXT5 0x00000780
+#define NV10TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT 0x00000800
+#define NV10TCL_TX_FORMAT_FORMAT_R5G6B5_RECT 0x00000880
+#define NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT 0x00000900
+#define NV10TCL_TX_FORMAT_FORMAT_A8_RECT 0x00000980
+#define NV10TCL_TX_FORMAT_MIPMAP (1 << 15)
+#define NV10TCL_TX_FORMAT_BASE_SIZE_U_SHIFT 16
+#define NV10TCL_TX_FORMAT_BASE_SIZE_U_MASK 0x000f0000
+#define NV10TCL_TX_FORMAT_BASE_SIZE_V_SHIFT 20
+#define NV10TCL_TX_FORMAT_BASE_SIZE_V_MASK 0x00f00000
+#define NV10TCL_TX_FORMAT_WRAP_S_SHIFT 24
+#define NV10TCL_TX_FORMAT_WRAP_S_MASK 0x0f000000
+#define NV10TCL_TX_FORMAT_WRAP_S_REPEAT 0x01000000
+#define NV10TCL_TX_FORMAT_WRAP_S_MIRRORED_REPEAT 0x02000000
+#define NV10TCL_TX_FORMAT_WRAP_S_CLAMP_TO_EDGE 0x03000000
+#define NV10TCL_TX_FORMAT_WRAP_S_CLAMP_TO_BORDER 0x04000000
+#define NV10TCL_TX_FORMAT_WRAP_S_CLAMP 0x05000000
+#define NV10TCL_TX_FORMAT_WRAP_T_SHIFT 28
+#define NV10TCL_TX_FORMAT_WRAP_T_MASK 0xf0000000
+#define NV10TCL_TX_FORMAT_WRAP_T_REPEAT 0x10000000
+#define NV10TCL_TX_FORMAT_WRAP_T_MIRRORED_REPEAT 0x20000000
+#define NV10TCL_TX_FORMAT_WRAP_T_CLAMP_TO_EDGE 0x30000000
+#define NV10TCL_TX_FORMAT_WRAP_T_CLAMP_TO_BORDER 0x40000000
+#define NV10TCL_TX_FORMAT_WRAP_T_CLAMP 0x50000000
+#define NV10TCL_TX_ENABLE(x) (0x00000228+((x)*4))
+#define NV10TCL_TX_ENABLE__SIZE 0x00000002
+#define NV10TCL_TX_ENABLE_CULL_SHIFT 0
+#define NV10TCL_TX_ENABLE_CULL_MASK 0x0000000f
+#define NV10TCL_TX_ENABLE_CULL_DISABLED 0x00000000
+#define NV10TCL_TX_ENABLE_CULL_TEST_ALL 0x00000003
+#define NV10TCL_TX_ENABLE_CULL_TEST_ALPHA 0x00000004
+#define NV10TCL_TX_ENABLE_ANISOTROPY_SHIFT 4
+#define NV10TCL_TX_ENABLE_ANISOTROPY_MASK 0x00000030
+#define NV10TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT 14
+#define NV10TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK 0x0003c000
+#define NV10TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT 26
+#define NV10TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK 0x3c000000
+#define NV10TCL_TX_ENABLE_ENABLE (1 << 30)
+#define NV10TCL_TX_NPOT_PITCH(x) (0x00000230+((x)*4))
+#define NV10TCL_TX_NPOT_PITCH__SIZE 0x00000002
+#define NV10TCL_TX_NPOT_PITCH_PITCH_SHIFT 16
+#define NV10TCL_TX_NPOT_PITCH_PITCH_MASK 0xffff0000
+#define NV10TCL_TX_NPOT_SIZE(x) (0x00000240+((x)*4))
+#define NV10TCL_TX_NPOT_SIZE__SIZE 0x00000002
+#define NV10TCL_TX_NPOT_SIZE_H_SHIFT 0
+#define NV10TCL_TX_NPOT_SIZE_H_MASK 0x0000ffff
+#define NV10TCL_TX_NPOT_SIZE_W_SHIFT 16
+#define NV10TCL_TX_NPOT_SIZE_W_MASK 0xffff0000
+#define NV10TCL_TX_FILTER(x) (0x00000248+((x)*4))
+#define NV10TCL_TX_FILTER__SIZE 0x00000002
+#define NV10TCL_TX_FILTER_LOD_BIAS_SHIFT 8
+#define NV10TCL_TX_FILTER_LOD_BIAS_MASK 0x00000f00
+#define NV10TCL_TX_FILTER_MINIFY_SHIFT 24
+#define NV10TCL_TX_FILTER_MINIFY_MASK 0x0f000000
+#define NV10TCL_TX_FILTER_MINIFY_NEAREST 0x01000000
+#define NV10TCL_TX_FILTER_MINIFY_LINEAR 0x02000000
+#define NV10TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST 0x03000000
+#define NV10TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST 0x04000000
+#define NV10TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR 0x05000000
+#define NV10TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR 0x06000000
+#define NV10TCL_TX_FILTER_MAGNIFY_SHIFT 28
+#define NV10TCL_TX_FILTER_MAGNIFY_MASK 0xf0000000
+#define NV10TCL_TX_FILTER_MAGNIFY_NEAREST 0x10000000
+#define NV10TCL_TX_FILTER_MAGNIFY_LINEAR 0x20000000
+#define NV10TCL_TX_PALETTE_OFFSET(x) (0x00000250+((x)*4))
+#define NV10TCL_TX_PALETTE_OFFSET__SIZE 0x00000002
+#define NV10TCL_RC_IN_ALPHA(x) (0x00000260+((x)*4))
+#define NV10TCL_RC_IN_ALPHA__SIZE 0x00000002
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_SHIFT 0
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_MASK 0x0000000f
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_FOG 0x00000003
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0 0x00000008
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1 0x00000009
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE0 0x0000000c
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE1 0x0000000d
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F 0x0000000f
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2 0x0000000a
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3 0x0000000b
+#define NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE (1 << 4)
+#define NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE 0x00000000
+#define NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_SHIFT 5
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_MASK 0x000000e0
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_SHIFT 8
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_MASK 0x00000f00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_FOG 0x00000300
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE (1 << 12)
+#define NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE 0x00000000
+#define NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_SHIFT 13
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_MASK 0x0000e000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_SHIFT 16
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_MASK 0x000f0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_FOG 0x00030000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0 0x00080000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1 0x00090000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE0 0x000c0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE1 0x000d0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F 0x000f0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2 0x000a0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3 0x000b0000
+#define NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE (1 << 20)
+#define NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE 0x00000000
+#define NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_SHIFT 21
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_MASK 0x00e00000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_SHIFT 24
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_MASK 0x0f000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_FOG 0x03000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0 0x08000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1 0x09000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE0 0x0c000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE1 0x0d000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F 0x0f000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2 0x0a000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3 0x0b000000
+#define NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE (1 << 28)
+#define NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE 0x00000000
+#define NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_SHIFT 29
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_MASK 0xe0000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV10TCL_RC_IN_RGB(x) (0x00000268+((x)*4))
+#define NV10TCL_RC_IN_RGB__SIZE 0x00000002
+#define NV10TCL_RC_IN_RGB_D_INPUT_SHIFT 0
+#define NV10TCL_RC_IN_RGB_D_INPUT_MASK 0x0000000f
+#define NV10TCL_RC_IN_RGB_D_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV10TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV10TCL_RC_IN_RGB_D_INPUT_FOG 0x00000003
+#define NV10TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV10TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE0 0x00000008
+#define NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE1 0x00000009
+#define NV10TCL_RC_IN_RGB_D_INPUT_SPARE0 0x0000000c
+#define NV10TCL_RC_IN_RGB_D_INPUT_SPARE1 0x0000000d
+#define NV10TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV10TCL_RC_IN_RGB_D_INPUT_E_TIMES_F 0x0000000f
+#define NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE2 0x0000000a
+#define NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE3 0x0000000b
+#define NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE (1 << 4)
+#define NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV10TCL_RC_IN_RGB_D_MAPPING_SHIFT 5
+#define NV10TCL_RC_IN_RGB_D_MAPPING_MASK 0x000000e0
+#define NV10TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV10TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV10TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV10TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV10TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV10TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV10TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV10TCL_RC_IN_RGB_C_INPUT_SHIFT 8
+#define NV10TCL_RC_IN_RGB_C_INPUT_MASK 0x00000f00
+#define NV10TCL_RC_IN_RGB_C_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_IN_RGB_C_INPUT_FOG 0x00000300
+#define NV10TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_IN_RGB_C_INPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_IN_RGB_C_INPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_IN_RGB_C_INPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE (1 << 12)
+#define NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_SHIFT 13
+#define NV10TCL_RC_IN_RGB_C_MAPPING_MASK 0x0000e000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV10TCL_RC_IN_RGB_B_INPUT_SHIFT 16
+#define NV10TCL_RC_IN_RGB_B_INPUT_MASK 0x000f0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV10TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV10TCL_RC_IN_RGB_B_INPUT_FOG 0x00030000
+#define NV10TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV10TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE0 0x00080000
+#define NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE1 0x00090000
+#define NV10TCL_RC_IN_RGB_B_INPUT_SPARE0 0x000c0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_SPARE1 0x000d0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_E_TIMES_F 0x000f0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE2 0x000a0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE3 0x000b0000
+#define NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE (1 << 20)
+#define NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_SHIFT 21
+#define NV10TCL_RC_IN_RGB_B_MAPPING_MASK 0x00e00000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV10TCL_RC_IN_RGB_A_INPUT_SHIFT 24
+#define NV10TCL_RC_IN_RGB_A_INPUT_MASK 0x0f000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_FOG 0x03000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE0 0x08000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE1 0x09000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_SPARE0 0x0c000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_SPARE1 0x0d000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_E_TIMES_F 0x0f000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE2 0x0a000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE3 0x0b000000
+#define NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE (1 << 28)
+#define NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_SHIFT 29
+#define NV10TCL_RC_IN_RGB_A_MAPPING_MASK 0xe0000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV10TCL_RC_COLOR(x) (0x00000270+((x)*4))
+#define NV10TCL_RC_COLOR__SIZE 0x00000002
+#define NV10TCL_RC_COLOR_B_SHIFT 0
+#define NV10TCL_RC_COLOR_B_MASK 0x000000ff
+#define NV10TCL_RC_COLOR_G_SHIFT 8
+#define NV10TCL_RC_COLOR_G_MASK 0x0000ff00
+#define NV10TCL_RC_COLOR_R_SHIFT 16
+#define NV10TCL_RC_COLOR_R_MASK 0x00ff0000
+#define NV10TCL_RC_COLOR_A_SHIFT 24
+#define NV10TCL_RC_COLOR_A_MASK 0xff000000
+#define NV10TCL_RC_OUT_ALPHA(x) (0x00000278+((x)*4))
+#define NV10TCL_RC_OUT_ALPHA__SIZE 0x00000002
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT 0
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK 0x0000000f
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG 0x00000003
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0 0x0000000c
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1 0x0000000d
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT 4
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK 0x000000f0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG 0x00000030
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0 0x000000c0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1 0x000000d0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT 8
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK 0x00000f00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG 0x00000300
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT (1 << 12)
+#define NV10TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT (1 << 13)
+#define NV10TCL_RC_OUT_ALPHA_MUX_SUM (1 << 14)
+#define NV10TCL_RC_OUT_ALPHA_BIAS (1 << 15)
+#define NV10TCL_RC_OUT_ALPHA_BIAS_NONE 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV10TCL_RC_OUT_ALPHA_SCALE_SHIFT 17
+#define NV10TCL_RC_OUT_ALPHA_SCALE_MASK 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_SCALE_NONE 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO 0x00020000
+#define NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV10TCL_RC_OUT_RGB(x) (0x00000280+((x)*4))
+#define NV10TCL_RC_OUT_RGB__SIZE 0x00000002
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT 0
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_MASK 0x0000000f
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_FOG 0x00000003
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0 0x0000000c
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1 0x0000000d
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT 4
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_MASK 0x000000f0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_FOG 0x00000030
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0 0x000000c0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1 0x000000d0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT 8
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_MASK 0x00000f00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_FOG 0x00000300
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_OUT_RGB_CD_DOT_PRODUCT (1 << 12)
+#define NV10TCL_RC_OUT_RGB_AB_DOT_PRODUCT (1 << 13)
+#define NV10TCL_RC_OUT_RGB_MUX_SUM (1 << 14)
+#define NV10TCL_RC_OUT_RGB_BIAS (1 << 15)
+#define NV10TCL_RC_OUT_RGB_BIAS_NONE 0x00000000
+#define NV10TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV10TCL_RC_OUT_RGB_SCALE_SHIFT 17
+#define NV10TCL_RC_OUT_RGB_SCALE_MASK 0x00000000
+#define NV10TCL_RC_OUT_RGB_SCALE_NONE 0x00000000
+#define NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO 0x00020000
+#define NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV10TCL_RC_OUT_RGB_OPERATION_SHIFT 27
+#define NV10TCL_RC_OUT_RGB_OPERATION_MASK 0x38000000
+#define NV10TCL_RC_FINAL0 0x00000288
+#define NV10TCL_RC_FINAL0_D_INPUT_SHIFT 0
+#define NV10TCL_RC_FINAL0_D_INPUT_MASK 0x0000000f
+#define NV10TCL_RC_FINAL0_D_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV10TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV10TCL_RC_FINAL0_D_INPUT_FOG 0x00000003
+#define NV10TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV10TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV10TCL_RC_FINAL0_D_INPUT_TEXTURE0 0x00000008
+#define NV10TCL_RC_FINAL0_D_INPUT_TEXTURE1 0x00000009
+#define NV10TCL_RC_FINAL0_D_INPUT_SPARE0 0x0000000c
+#define NV10TCL_RC_FINAL0_D_INPUT_SPARE1 0x0000000d
+#define NV10TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV10TCL_RC_FINAL0_D_INPUT_E_TIMES_F 0x0000000f
+#define NV10TCL_RC_FINAL0_D_INPUT_TEXTURE2 0x0000000a
+#define NV10TCL_RC_FINAL0_D_INPUT_TEXTURE3 0x0000000b
+#define NV10TCL_RC_FINAL0_D_COMPONENT_USAGE (1 << 4)
+#define NV10TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV10TCL_RC_FINAL0_D_MAPPING_SHIFT 5
+#define NV10TCL_RC_FINAL0_D_MAPPING_MASK 0x000000e0
+#define NV10TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV10TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV10TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV10TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV10TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV10TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV10TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV10TCL_RC_FINAL0_C_INPUT_SHIFT 8
+#define NV10TCL_RC_FINAL0_C_INPUT_MASK 0x00000f00
+#define NV10TCL_RC_FINAL0_C_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_FINAL0_C_INPUT_FOG 0x00000300
+#define NV10TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_FINAL0_C_INPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_FINAL0_C_INPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_FINAL0_C_INPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_FINAL0_C_INPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_FINAL0_C_INPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_FINAL0_C_INPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_FINAL0_C_INPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_FINAL0_C_COMPONENT_USAGE (1 << 12)
+#define NV10TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV10TCL_RC_FINAL0_C_MAPPING_SHIFT 13
+#define NV10TCL_RC_FINAL0_C_MAPPING_MASK 0x0000e000
+#define NV10TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV10TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV10TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV10TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV10TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV10TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV10TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV10TCL_RC_FINAL0_B_INPUT_SHIFT 16
+#define NV10TCL_RC_FINAL0_B_INPUT_MASK 0x000f0000
+#define NV10TCL_RC_FINAL0_B_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV10TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV10TCL_RC_FINAL0_B_INPUT_FOG 0x00030000
+#define NV10TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV10TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV10TCL_RC_FINAL0_B_INPUT_TEXTURE0 0x00080000
+#define NV10TCL_RC_FINAL0_B_INPUT_TEXTURE1 0x00090000
+#define NV10TCL_RC_FINAL0_B_INPUT_SPARE0 0x000c0000
+#define NV10TCL_RC_FINAL0_B_INPUT_SPARE1 0x000d0000
+#define NV10TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV10TCL_RC_FINAL0_B_INPUT_E_TIMES_F 0x000f0000
+#define NV10TCL_RC_FINAL0_B_INPUT_TEXTURE2 0x000a0000
+#define NV10TCL_RC_FINAL0_B_INPUT_TEXTURE3 0x000b0000
+#define NV10TCL_RC_FINAL0_B_COMPONENT_USAGE (1 << 20)
+#define NV10TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV10TCL_RC_FINAL0_B_MAPPING_SHIFT 21
+#define NV10TCL_RC_FINAL0_B_MAPPING_MASK 0x00e00000
+#define NV10TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV10TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV10TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV10TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV10TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV10TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV10TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV10TCL_RC_FINAL0_A_INPUT_SHIFT 24
+#define NV10TCL_RC_FINAL0_A_INPUT_MASK 0x0f000000
+#define NV10TCL_RC_FINAL0_A_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV10TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV10TCL_RC_FINAL0_A_INPUT_FOG 0x03000000
+#define NV10TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV10TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV10TCL_RC_FINAL0_A_INPUT_TEXTURE0 0x08000000
+#define NV10TCL_RC_FINAL0_A_INPUT_TEXTURE1 0x09000000
+#define NV10TCL_RC_FINAL0_A_INPUT_SPARE0 0x0c000000
+#define NV10TCL_RC_FINAL0_A_INPUT_SPARE1 0x0d000000
+#define NV10TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV10TCL_RC_FINAL0_A_INPUT_E_TIMES_F 0x0f000000
+#define NV10TCL_RC_FINAL0_A_INPUT_TEXTURE2 0x0a000000
+#define NV10TCL_RC_FINAL0_A_INPUT_TEXTURE3 0x0b000000
+#define NV10TCL_RC_FINAL0_A_COMPONENT_USAGE (1 << 28)
+#define NV10TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_SHIFT 29
+#define NV10TCL_RC_FINAL0_A_MAPPING_MASK 0xe0000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV10TCL_RC_FINAL1 0x0000028c
+#define NV10TCL_RC_FINAL1_COLOR_SUM_CLAMP (1 << 7)
+#define NV10TCL_RC_FINAL1_G_INPUT_SHIFT 8
+#define NV10TCL_RC_FINAL1_G_INPUT_MASK 0x00000f00
+#define NV10TCL_RC_FINAL1_G_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_FINAL1_G_INPUT_FOG 0x00000300
+#define NV10TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_FINAL1_G_INPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_FINAL1_G_INPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_FINAL1_G_INPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_FINAL1_G_INPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_FINAL1_G_INPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_FINAL1_G_INPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_FINAL1_G_INPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_FINAL1_G_COMPONENT_USAGE (1 << 12)
+#define NV10TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV10TCL_RC_FINAL1_G_MAPPING_SHIFT 13
+#define NV10TCL_RC_FINAL1_G_MAPPING_MASK 0x0000e000
+#define NV10TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV10TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV10TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV10TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV10TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV10TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV10TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV10TCL_RC_FINAL1_F_INPUT_SHIFT 16
+#define NV10TCL_RC_FINAL1_F_INPUT_MASK 0x000f0000
+#define NV10TCL_RC_FINAL1_F_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV10TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV10TCL_RC_FINAL1_F_INPUT_FOG 0x00030000
+#define NV10TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR 0x00040000
+#define NV10TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR 0x00050000
+#define NV10TCL_RC_FINAL1_F_INPUT_TEXTURE0 0x00080000
+#define NV10TCL_RC_FINAL1_F_INPUT_TEXTURE1 0x00090000
+#define NV10TCL_RC_FINAL1_F_INPUT_SPARE0 0x000c0000
+#define NV10TCL_RC_FINAL1_F_INPUT_SPARE1 0x000d0000
+#define NV10TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV10TCL_RC_FINAL1_F_INPUT_E_TIMES_F 0x000f0000
+#define NV10TCL_RC_FINAL1_F_INPUT_TEXTURE2 0x000a0000
+#define NV10TCL_RC_FINAL1_F_INPUT_TEXTURE3 0x000b0000
+#define NV10TCL_RC_FINAL1_F_COMPONENT_USAGE (1 << 20)
+#define NV10TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV10TCL_RC_FINAL1_F_MAPPING_SHIFT 21
+#define NV10TCL_RC_FINAL1_F_MAPPING_MASK 0x00e00000
+#define NV10TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV10TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV10TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV10TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV10TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV10TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV10TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV10TCL_RC_FINAL1_E_INPUT_SHIFT 24
+#define NV10TCL_RC_FINAL1_E_INPUT_MASK 0x0f000000
+#define NV10TCL_RC_FINAL1_E_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV10TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV10TCL_RC_FINAL1_E_INPUT_FOG 0x03000000
+#define NV10TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR 0x04000000
+#define NV10TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR 0x05000000
+#define NV10TCL_RC_FINAL1_E_INPUT_TEXTURE0 0x08000000
+#define NV10TCL_RC_FINAL1_E_INPUT_TEXTURE1 0x09000000
+#define NV10TCL_RC_FINAL1_E_INPUT_SPARE0 0x0c000000
+#define NV10TCL_RC_FINAL1_E_INPUT_SPARE1 0x0d000000
+#define NV10TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV10TCL_RC_FINAL1_E_INPUT_E_TIMES_F 0x0f000000
+#define NV10TCL_RC_FINAL1_E_INPUT_TEXTURE2 0x0a000000
+#define NV10TCL_RC_FINAL1_E_INPUT_TEXTURE3 0x0b000000
+#define NV10TCL_RC_FINAL1_E_COMPONENT_USAGE (1 << 28)
+#define NV10TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_SHIFT 29
+#define NV10TCL_RC_FINAL1_E_MAPPING_MASK 0xe0000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV10TCL_LIGHT_MODEL 0x00000294
+#define NV10TCL_LIGHT_MODEL_VERTEX_SPECULAR (1 << 0)
+#define NV10TCL_LIGHT_MODEL_SEPARATE_SPECULAR (1 << 1)
+#define NV10TCL_LIGHT_MODEL_LOCAL_VIEWER (1 << 16)
+#define NV10TCL_COLOR_MATERIAL 0x00000298
+#define NV10TCL_COLOR_MATERIAL_EMISSION (1 << 0)
+#define NV10TCL_COLOR_MATERIAL_AMBIENT (1 << 1)
+#define NV10TCL_COLOR_MATERIAL_DIFFUSE (1 << 2)
+#define NV10TCL_COLOR_MATERIAL_SPECULAR (1 << 3)
+#define NV10TCL_FOG_MODE 0x0000029c
+#define NV10TCL_FOG_MODE_LINEAR 0x00002601
+#define NV10TCL_FOG_MODE_EXP 0x00000800
+#define NV10TCL_FOG_MODE_EXP_ABS 0x00000802
+#define NV10TCL_FOG_MODE_EXP2 0x00000803
+#define NV10TCL_FOG_COORD 0x000002a0
+#define NV10TCL_FOG_COORD_FOG 0x00000000
+#define NV10TCL_FOG_COORD_DIST_RADIAL 0x00000001
+#define NV10TCL_FOG_COORD_DIST_ORTHOGONAL 0x00000002
+#define NV10TCL_FOG_COORD_DIST_ORTHOGONAL_ABS 0x00000003
+#define NV10TCL_FOG_ENABLE 0x000002a4
+#define NV10TCL_FOG_COLOR 0x000002a8
+#define NV10TCL_FOG_COLOR_R_SHIFT 0
+#define NV10TCL_FOG_COLOR_R_MASK 0x000000ff
+#define NV10TCL_FOG_COLOR_G_SHIFT 8
+#define NV10TCL_FOG_COLOR_G_MASK 0x0000ff00
+#define NV10TCL_FOG_COLOR_B_SHIFT 16
+#define NV10TCL_FOG_COLOR_B_MASK 0x00ff0000
+#define NV10TCL_FOG_COLOR_A_SHIFT 24
+#define NV10TCL_FOG_COLOR_A_MASK 0xff000000
+#define NV10TCL_VIEWPORT_CLIP_MODE 0x000002b4
+#define NV10TCL_VIEWPORT_CLIP_HORIZ(x) (0x000002c0+((x)*4))
+#define NV10TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_L_SHIFT 0
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_L_MASK 0x000007ff
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_LEFT_ENABLE (1 << 11)
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_R_SHIFT 16
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_R_MASK 0x07ff0000
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_RIGHT_ENABLE (1 << 27)
+#define NV10TCL_VIEWPORT_CLIP_VERT(x) (0x000002e0+((x)*4))
+#define NV10TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_T_SHIFT 0
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_T_MASK 0x000007ff
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_TOP_ENABLE (1 << 11)
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_B_SHIFT 16
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_B_MASK 0x07ff0000
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_BOTTOM_ENABLE (1 << 27)
+#define NV10TCL_ALPHA_FUNC_ENABLE 0x00000300
+#define NV10TCL_BLEND_FUNC_ENABLE 0x00000304
+#define NV10TCL_CULL_FACE_ENABLE 0x00000308
+#define NV10TCL_DEPTH_TEST_ENABLE 0x0000030c
+#define NV10TCL_DITHER_ENABLE 0x00000310
+#define NV10TCL_LIGHTING_ENABLE 0x00000314
+#define NV10TCL_POINT_PARAMETERS_ENABLE 0x00000318
+#define NV10TCL_POINT_SMOOTH_ENABLE 0x0000031c
+#define NV10TCL_LINE_SMOOTH_ENABLE 0x00000320
+#define NV10TCL_POLYGON_SMOOTH_ENABLE 0x00000324
+#define NV10TCL_VERTEX_WEIGHT_ENABLE 0x00000328
+#define NV10TCL_STENCIL_ENABLE 0x0000032c
+#define NV10TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000330
+#define NV10TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000334
+#define NV10TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000338
+#define NV10TCL_ALPHA_FUNC_FUNC 0x0000033c
+#define NV10TCL_ALPHA_FUNC_FUNC_NEVER 0x00000200
+#define NV10TCL_ALPHA_FUNC_FUNC_LESS 0x00000201
+#define NV10TCL_ALPHA_FUNC_FUNC_EQUAL 0x00000202
+#define NV10TCL_ALPHA_FUNC_FUNC_LEQUAL 0x00000203
+#define NV10TCL_ALPHA_FUNC_FUNC_GREATER 0x00000204
+#define NV10TCL_ALPHA_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV10TCL_ALPHA_FUNC_FUNC_GEQUAL 0x00000206
+#define NV10TCL_ALPHA_FUNC_FUNC_ALWAYS 0x00000207
+#define NV10TCL_ALPHA_FUNC_REF 0x00000340
+#define NV10TCL_BLEND_FUNC_SRC 0x00000344
+#define NV10TCL_BLEND_FUNC_SRC_ZERO 0x00000000
+#define NV10TCL_BLEND_FUNC_SRC_ONE 0x00000001
+#define NV10TCL_BLEND_FUNC_SRC_SRC_COLOR 0x00000300
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV10TCL_BLEND_FUNC_SRC_SRC_ALPHA 0x00000302
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV10TCL_BLEND_FUNC_SRC_DST_ALPHA 0x00000304
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV10TCL_BLEND_FUNC_SRC_DST_COLOR 0x00000306
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR 0x00000307
+#define NV10TCL_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE 0x00000308
+#define NV10TCL_BLEND_FUNC_SRC_CONSTANT_COLOR 0x00008001
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV10TCL_BLEND_FUNC_SRC_CONSTANT_ALPHA 0x00008003
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV10TCL_BLEND_FUNC_DST 0x00000348
+#define NV10TCL_BLEND_FUNC_DST_ZERO 0x00000000
+#define NV10TCL_BLEND_FUNC_DST_ONE 0x00000001
+#define NV10TCL_BLEND_FUNC_DST_SRC_COLOR 0x00000300
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV10TCL_BLEND_FUNC_DST_SRC_ALPHA 0x00000302
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV10TCL_BLEND_FUNC_DST_DST_ALPHA 0x00000304
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV10TCL_BLEND_FUNC_DST_DST_COLOR 0x00000306
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR 0x00000307
+#define NV10TCL_BLEND_FUNC_DST_SRC_ALPHA_SATURATE 0x00000308
+#define NV10TCL_BLEND_FUNC_DST_CONSTANT_COLOR 0x00008001
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV10TCL_BLEND_FUNC_DST_CONSTANT_ALPHA 0x00008003
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV10TCL_BLEND_COLOR 0x0000034c
+#define NV10TCL_BLEND_COLOR_B_SHIFT 0
+#define NV10TCL_BLEND_COLOR_B_MASK 0x000000ff
+#define NV10TCL_BLEND_COLOR_G_SHIFT 8
+#define NV10TCL_BLEND_COLOR_G_MASK 0x0000ff00
+#define NV10TCL_BLEND_COLOR_R_SHIFT 16
+#define NV10TCL_BLEND_COLOR_R_MASK 0x00ff0000
+#define NV10TCL_BLEND_COLOR_A_SHIFT 24
+#define NV10TCL_BLEND_COLOR_A_MASK 0xff000000
+#define NV10TCL_BLEND_EQUATION 0x00000350
+#define NV10TCL_BLEND_EQUATION_FUNC_ADD 0x00008006
+#define NV10TCL_BLEND_EQUATION_MIN 0x00008007
+#define NV10TCL_BLEND_EQUATION_MAX 0x00008008
+#define NV10TCL_BLEND_EQUATION_FUNC_SUBTRACT 0x0000800a
+#define NV10TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV10TCL_DEPTH_FUNC 0x00000354
+#define NV10TCL_DEPTH_FUNC_NEVER 0x00000200
+#define NV10TCL_DEPTH_FUNC_LESS 0x00000201
+#define NV10TCL_DEPTH_FUNC_EQUAL 0x00000202
+#define NV10TCL_DEPTH_FUNC_LEQUAL 0x00000203
+#define NV10TCL_DEPTH_FUNC_GREATER 0x00000204
+#define NV10TCL_DEPTH_FUNC_NOTEQUAL 0x00000205
+#define NV10TCL_DEPTH_FUNC_GEQUAL 0x00000206
+#define NV10TCL_DEPTH_FUNC_ALWAYS 0x00000207
+#define NV10TCL_COLOR_MASK 0x00000358
+#define NV10TCL_COLOR_MASK_B (1 << 0)
+#define NV10TCL_COLOR_MASK_G (1 << 8)
+#define NV10TCL_COLOR_MASK_R (1 << 16)
+#define NV10TCL_COLOR_MASK_A (1 << 24)
+#define NV10TCL_DEPTH_WRITE_ENABLE 0x0000035c
+#define NV10TCL_STENCIL_MASK 0x00000360
+#define NV10TCL_STENCIL_FUNC_FUNC 0x00000364
+#define NV10TCL_STENCIL_FUNC_FUNC_NEVER 0x00000200
+#define NV10TCL_STENCIL_FUNC_FUNC_LESS 0x00000201
+#define NV10TCL_STENCIL_FUNC_FUNC_EQUAL 0x00000202
+#define NV10TCL_STENCIL_FUNC_FUNC_LEQUAL 0x00000203
+#define NV10TCL_STENCIL_FUNC_FUNC_GREATER 0x00000204
+#define NV10TCL_STENCIL_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV10TCL_STENCIL_FUNC_FUNC_GEQUAL 0x00000206
+#define NV10TCL_STENCIL_FUNC_FUNC_ALWAYS 0x00000207
+#define NV10TCL_STENCIL_FUNC_REF 0x00000368
+#define NV10TCL_STENCIL_FUNC_MASK 0x0000036c
+#define NV10TCL_STENCIL_OP_FAIL 0x00000370
+#define NV10TCL_STENCIL_OP_FAIL_ZERO 0x00000000
+#define NV10TCL_STENCIL_OP_FAIL_INVERT 0x0000150a
+#define NV10TCL_STENCIL_OP_FAIL_KEEP 0x00001e00
+#define NV10TCL_STENCIL_OP_FAIL_REPLACE 0x00001e01
+#define NV10TCL_STENCIL_OP_FAIL_INCR 0x00001e02
+#define NV10TCL_STENCIL_OP_FAIL_DECR 0x00001e03
+#define NV10TCL_STENCIL_OP_FAIL_INCR_WRAP 0x00008507
+#define NV10TCL_STENCIL_OP_FAIL_DECR_WRAP 0x00008508
+#define NV10TCL_STENCIL_OP_ZFAIL 0x00000374
+#define NV10TCL_STENCIL_OP_ZFAIL_ZERO 0x00000000
+#define NV10TCL_STENCIL_OP_ZFAIL_INVERT 0x0000150a
+#define NV10TCL_STENCIL_OP_ZFAIL_KEEP 0x00001e00
+#define NV10TCL_STENCIL_OP_ZFAIL_REPLACE 0x00001e01
+#define NV10TCL_STENCIL_OP_ZFAIL_INCR 0x00001e02
+#define NV10TCL_STENCIL_OP_ZFAIL_DECR 0x00001e03
+#define NV10TCL_STENCIL_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV10TCL_STENCIL_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV10TCL_STENCIL_OP_ZPASS 0x00000378
+#define NV10TCL_STENCIL_OP_ZPASS_ZERO 0x00000000
+#define NV10TCL_STENCIL_OP_ZPASS_INVERT 0x0000150a
+#define NV10TCL_STENCIL_OP_ZPASS_KEEP 0x00001e00
+#define NV10TCL_STENCIL_OP_ZPASS_REPLACE 0x00001e01
+#define NV10TCL_STENCIL_OP_ZPASS_INCR 0x00001e02
+#define NV10TCL_STENCIL_OP_ZPASS_DECR 0x00001e03
+#define NV10TCL_STENCIL_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV10TCL_STENCIL_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV10TCL_SHADE_MODEL 0x0000037c
+#define NV10TCL_SHADE_MODEL_FLAT 0x00001d00
+#define NV10TCL_SHADE_MODEL_SMOOTH 0x00001d01
+#define NV10TCL_LINE_WIDTH 0x00000380
+#define NV10TCL_POLYGON_OFFSET_FACTOR 0x00000384
+#define NV10TCL_POLYGON_OFFSET_UNITS 0x00000388
+#define NV10TCL_POLYGON_MODE_FRONT 0x0000038c
+#define NV10TCL_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NV10TCL_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NV10TCL_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NV10TCL_POLYGON_MODE_BACK 0x00000390
+#define NV10TCL_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NV10TCL_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NV10TCL_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NV10TCL_DEPTH_RANGE_NEAR 0x00000394
+#define NV10TCL_DEPTH_RANGE_FAR 0x00000398
+#define NV10TCL_CULL_FACE 0x0000039c
+#define NV10TCL_CULL_FACE_FRONT 0x00000404
+#define NV10TCL_CULL_FACE_BACK 0x00000405
+#define NV10TCL_CULL_FACE_FRONT_AND_BACK 0x00000408
+#define NV10TCL_FRONT_FACE 0x000003a0
+#define NV10TCL_FRONT_FACE_CW 0x00000900
+#define NV10TCL_FRONT_FACE_CCW 0x00000901
+#define NV10TCL_NORMALIZE_ENABLE 0x000003a4
+#define NV10TCL_MATERIAL_FACTOR_R 0x000003a8
+#define NV10TCL_MATERIAL_FACTOR_G 0x000003ac
+#define NV10TCL_MATERIAL_FACTOR_B 0x000003b0
+#define NV10TCL_MATERIAL_FACTOR_A 0x000003b4
+#define NV10TCL_SEPARATE_SPECULAR_ENABLE 0x000003b8
+#define NV10TCL_ENABLED_LIGHTS 0x000003bc
+#define NV10TCL_ENABLED_LIGHTS_0_SHIFT 0
+#define NV10TCL_ENABLED_LIGHTS_0_MASK 0x00000003
+#define NV10TCL_ENABLED_LIGHTS_0_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_0_NONPOSITIONAL 0x00000001
+#define NV10TCL_ENABLED_LIGHTS_0_POSITIONAL 0x00000002
+#define NV10TCL_ENABLED_LIGHTS_0_DIRECTIONAL 0x00000003
+#define NV10TCL_ENABLED_LIGHTS_1_SHIFT 2
+#define NV10TCL_ENABLED_LIGHTS_1_MASK 0x0000000c
+#define NV10TCL_ENABLED_LIGHTS_1_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_1_NONPOSITIONAL 0x00000004
+#define NV10TCL_ENABLED_LIGHTS_1_POSITIONAL 0x00000008
+#define NV10TCL_ENABLED_LIGHTS_1_DIRECTIONAL 0x0000000c
+#define NV10TCL_ENABLED_LIGHTS_2_SHIFT 4
+#define NV10TCL_ENABLED_LIGHTS_2_MASK 0x00000030
+#define NV10TCL_ENABLED_LIGHTS_2_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_2_NONPOSITIONAL 0x00000010
+#define NV10TCL_ENABLED_LIGHTS_2_POSITIONAL 0x00000020
+#define NV10TCL_ENABLED_LIGHTS_2_DIRECTIONAL 0x00000030
+#define NV10TCL_ENABLED_LIGHTS_3_SHIFT 6
+#define NV10TCL_ENABLED_LIGHTS_3_MASK 0x000000c0
+#define NV10TCL_ENABLED_LIGHTS_3_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_3_NONPOSITIONAL 0x00000040
+#define NV10TCL_ENABLED_LIGHTS_3_POSITIONAL 0x00000080
+#define NV10TCL_ENABLED_LIGHTS_3_DIRECTIONAL 0x000000c0
+#define NV10TCL_ENABLED_LIGHTS_4_SHIFT 8
+#define NV10TCL_ENABLED_LIGHTS_4_MASK 0x00000300
+#define NV10TCL_ENABLED_LIGHTS_4_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_4_NONPOSITIONAL 0x00000100
+#define NV10TCL_ENABLED_LIGHTS_4_POSITIONAL 0x00000200
+#define NV10TCL_ENABLED_LIGHTS_4_DIRECTIONAL 0x00000300
+#define NV10TCL_ENABLED_LIGHTS_5_SHIFT 10
+#define NV10TCL_ENABLED_LIGHTS_5_MASK 0x00000c00
+#define NV10TCL_ENABLED_LIGHTS_5_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_5_NONPOSITIONAL 0x00000400
+#define NV10TCL_ENABLED_LIGHTS_5_POSITIONAL 0x00000800
+#define NV10TCL_ENABLED_LIGHTS_5_DIRECTIONAL 0x00000c00
+#define NV10TCL_ENABLED_LIGHTS_6_SHIFT 12
+#define NV10TCL_ENABLED_LIGHTS_6_MASK 0x00003000
+#define NV10TCL_ENABLED_LIGHTS_6_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_6_NONPOSITIONAL 0x00001000
+#define NV10TCL_ENABLED_LIGHTS_6_POSITIONAL 0x00002000
+#define NV10TCL_ENABLED_LIGHTS_6_DIRECTIONAL 0x00003000
+#define NV10TCL_ENABLED_LIGHTS_7_SHIFT 14
+#define NV10TCL_ENABLED_LIGHTS_7_MASK 0x0000c000
+#define NV10TCL_ENABLED_LIGHTS_7_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_7_NONPOSITIONAL 0x00004000
+#define NV10TCL_ENABLED_LIGHTS_7_POSITIONAL 0x00008000
+#define NV10TCL_ENABLED_LIGHTS_7_DIRECTIONAL 0x0000c000
+#define NV10TCL_TX_GEN_MODE_S(x) (0x000003c0+((x)*16))
+#define NV10TCL_TX_GEN_MODE_S__SIZE 0x00000002
+#define NV10TCL_TX_GEN_MODE_S_FALSE 0x00000000
+#define NV10TCL_TX_GEN_MODE_S_EYE_LINEAR 0x00002400
+#define NV10TCL_TX_GEN_MODE_S_OBJECT_LINEAR 0x00002401
+#define NV10TCL_TX_GEN_MODE_S_SPHERE_MAP 0x00002402
+#define NV10TCL_TX_GEN_MODE_S_NORMAL_MAP 0x00008511
+#define NV10TCL_TX_GEN_MODE_S_REFLECTION_MAP 0x00008512
+#define NV10TCL_TX_GEN_MODE_T(x) (0x000003c4+((x)*16))
+#define NV10TCL_TX_GEN_MODE_T__SIZE 0x00000002
+#define NV10TCL_TX_GEN_MODE_T_FALSE 0x00000000
+#define NV10TCL_TX_GEN_MODE_T_EYE_LINEAR 0x00002400
+#define NV10TCL_TX_GEN_MODE_T_OBJECT_LINEAR 0x00002401
+#define NV10TCL_TX_GEN_MODE_T_SPHERE_MAP 0x00002402
+#define NV10TCL_TX_GEN_MODE_T_NORMAL_MAP 0x00008511
+#define NV10TCL_TX_GEN_MODE_T_REFLECTION_MAP 0x00008512
+#define NV10TCL_TX_GEN_MODE_R(x) (0x000003c8+((x)*16))
+#define NV10TCL_TX_GEN_MODE_R__SIZE 0x00000002
+#define NV10TCL_TX_GEN_MODE_R_FALSE 0x00000000
+#define NV10TCL_TX_GEN_MODE_R_EYE_LINEAR 0x00002400
+#define NV10TCL_TX_GEN_MODE_R_OBJECT_LINEAR 0x00002401
+#define NV10TCL_TX_GEN_MODE_R_SPHERE_MAP 0x00002402
+#define NV10TCL_TX_GEN_MODE_R_NORMAL_MAP 0x00008511
+#define NV10TCL_TX_GEN_MODE_R_REFLECTION_MAP 0x00008512
+#define NV10TCL_TX_GEN_MODE_Q(x) (0x000003cc+((x)*16))
+#define NV10TCL_TX_GEN_MODE_Q__SIZE 0x00000002
+#define NV10TCL_TX_GEN_MODE_Q_FALSE 0x00000000
+#define NV10TCL_TX_GEN_MODE_Q_EYE_LINEAR 0x00002400
+#define NV10TCL_TX_GEN_MODE_Q_OBJECT_LINEAR 0x00002401
+#define NV10TCL_TX_GEN_MODE_Q_SPHERE_MAP 0x00002402
+#define NV10TCL_TX_GEN_MODE_Q_NORMAL_MAP 0x00008511
+#define NV10TCL_TX_GEN_MODE_Q_REFLECTION_MAP 0x00008512
+#define NV10TCL_TX_MATRIX_ENABLE(x) (0x000003e0+((x)*4))
+#define NV10TCL_TX_MATRIX_ENABLE__SIZE 0x00000002
+#define NV10TCL_VIEW_MATRIX_ENABLE 0x000003e8
+#define NV10TCL_VIEW_MATRIX_ENABLE_MODELVIEW1 (1 << 0)
+#define NV10TCL_VIEW_MATRIX_ENABLE_MODELVIEW0 (1 << 1)
+#define NV10TCL_VIEW_MATRIX_ENABLE_PROJECTION (1 << 2)
+#define NV10TCL_POINT_SIZE 0x000003ec
+#define NV10TCL_MODELVIEW0_MATRIX(x) (0x00000400+((x)*4))
+#define NV10TCL_MODELVIEW0_MATRIX__SIZE 0x00000010
+#define NV10TCL_MODELVIEW1_MATRIX(x) (0x00000440+((x)*4))
+#define NV10TCL_MODELVIEW1_MATRIX__SIZE 0x00000010
+#define NV10TCL_INVERSE_MODELVIEW0_MATRIX(x) (0x00000480+((x)*4))
+#define NV10TCL_INVERSE_MODELVIEW0_MATRIX__SIZE 0x00000010
+#define NV10TCL_INVERSE_MODELVIEW1_MATRIX(x) (0x000004c0+((x)*4))
+#define NV10TCL_INVERSE_MODELVIEW1_MATRIX__SIZE 0x00000010
+#define NV10TCL_PROJECTION_MATRIX(x) (0x00000500+((x)*4))
+#define NV10TCL_PROJECTION_MATRIX__SIZE 0x00000010
+#define NV10TCL_TX0_MATRIX(x) (0x00000540+((x)*4))
+#define NV10TCL_TX0_MATRIX__SIZE 0x00000010
+#define NV10TCL_TX1_MATRIX(x) (0x00000580+((x)*4))
+#define NV10TCL_TX1_MATRIX__SIZE 0x00000010
+#define NV10TCL_TX_GEN_COEFF_S_A(x) (0x00000600+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_S_A__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_S_B(x) (0x00000604+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_S_B__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_S_C(x) (0x00000608+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_S_C__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_S_D(x) (0x0000060c+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_S_D__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_T_A(x) (0x00000610+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_T_A__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_T_B(x) (0x00000614+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_T_B__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_T_C(x) (0x00000618+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_T_C__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_T_D(x) (0x0000061c+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_T_D__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_R_A(x) (0x00000620+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_R_A__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_R_B(x) (0x00000624+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_R_B__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_R_C(x) (0x00000628+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_R_C__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_R_D(x) (0x0000062c+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_R_D__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_Q_A(x) (0x00000630+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_Q_A__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_Q_B(x) (0x00000634+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_Q_B__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_Q_C(x) (0x00000638+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_Q_C__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_Q_D(x) (0x0000063c+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_Q_D__SIZE 0x00000002
+#define NV10TCL_FOG_EQUATION_CONSTANT 0x00000680
+#define NV10TCL_FOG_EQUATION_LINEAR 0x00000684
+#define NV10TCL_FOG_EQUATION_QUADRATIC 0x00000688
+#define NV10TCL_MATERIAL_SHININESS(x) (0x000006a0+((x)*4))
+#define NV10TCL_MATERIAL_SHININESS__SIZE 0x00000006
+#define NV10TCL_LIGHT_MODEL_AMBIENT_R 0x000006c4
+#define NV10TCL_LIGHT_MODEL_AMBIENT_G 0x000006c8
+#define NV10TCL_LIGHT_MODEL_AMBIENT_B 0x000006cc
+#define NV10TCL_VIEWPORT_TRANSLATE_X 0x000006e8
+#define NV10TCL_VIEWPORT_TRANSLATE_Y 0x000006ec
+#define NV10TCL_VIEWPORT_TRANSLATE_Z 0x000006f0
+#define NV10TCL_VIEWPORT_TRANSLATE_W 0x000006f4
+#define NV10TCL_POINT_PARAMETER(x) (0x000006f8+((x)*4))
+#define NV10TCL_POINT_PARAMETER__SIZE 0x00000008
+#define NV10TCL_LIGHT_AMBIENT_R(x) (0x00000800+((x)*128))
+#define NV10TCL_LIGHT_AMBIENT_R__SIZE 0x00000008
+#define NV10TCL_LIGHT_AMBIENT_G(x) (0x00000804+((x)*128))
+#define NV10TCL_LIGHT_AMBIENT_G__SIZE 0x00000008
+#define NV10TCL_LIGHT_AMBIENT_B(x) (0x00000808+((x)*128))
+#define NV10TCL_LIGHT_AMBIENT_B__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIFFUSE_R(x) (0x0000080c+((x)*128))
+#define NV10TCL_LIGHT_DIFFUSE_R__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIFFUSE_G(x) (0x00000810+((x)*128))
+#define NV10TCL_LIGHT_DIFFUSE_G__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIFFUSE_B(x) (0x00000814+((x)*128))
+#define NV10TCL_LIGHT_DIFFUSE_B__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPECULAR_R(x) (0x00000818+((x)*128))
+#define NV10TCL_LIGHT_SPECULAR_R__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPECULAR_G(x) (0x0000081c+((x)*128))
+#define NV10TCL_LIGHT_SPECULAR_G__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPECULAR_B(x) (0x00000820+((x)*128))
+#define NV10TCL_LIGHT_SPECULAR_B__SIZE 0x00000008
+#define NV10TCL_LIGHT_HALF_VECTOR_X(x) (0x00000828+((x)*128))
+#define NV10TCL_LIGHT_HALF_VECTOR_X__SIZE 0x00000008
+#define NV10TCL_LIGHT_HALF_VECTOR_Y(x) (0x0000082c+((x)*128))
+#define NV10TCL_LIGHT_HALF_VECTOR_Y__SIZE 0x00000008
+#define NV10TCL_LIGHT_HALF_VECTOR_Z(x) (0x00000830+((x)*128))
+#define NV10TCL_LIGHT_HALF_VECTOR_Z__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIRECTION_X(x) (0x00000834+((x)*128))
+#define NV10TCL_LIGHT_DIRECTION_X__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIRECTION_Y(x) (0x00000838+((x)*128))
+#define NV10TCL_LIGHT_DIRECTION_Y__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIRECTION_Z(x) (0x0000083c+((x)*128))
+#define NV10TCL_LIGHT_DIRECTION_Z__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_CUTOFF_A(x) (0x00000840+((x)*128))
+#define NV10TCL_LIGHT_SPOT_CUTOFF_A__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_CUTOFF_B(x) (0x00000844+((x)*128))
+#define NV10TCL_LIGHT_SPOT_CUTOFF_B__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_CUTOFF_C(x) (0x00000848+((x)*128))
+#define NV10TCL_LIGHT_SPOT_CUTOFF_C__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_DIR_X(x) (0x0000084c+((x)*128))
+#define NV10TCL_LIGHT_SPOT_DIR_X__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_DIR_Y(x) (0x00000850+((x)*128))
+#define NV10TCL_LIGHT_SPOT_DIR_Y__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_DIR_Z(x) (0x00000854+((x)*128))
+#define NV10TCL_LIGHT_SPOT_DIR_Z__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_CUTOFF_D(x) (0x00000858+((x)*128))
+#define NV10TCL_LIGHT_SPOT_CUTOFF_D__SIZE 0x00000008
+#define NV10TCL_LIGHT_POSITION_X(x) (0x0000085c+((x)*128))
+#define NV10TCL_LIGHT_POSITION_X__SIZE 0x00000008
+#define NV10TCL_LIGHT_POSITION_Y(x) (0x00000860+((x)*128))
+#define NV10TCL_LIGHT_POSITION_Y__SIZE 0x00000008
+#define NV10TCL_LIGHT_POSITION_Z(x) (0x00000864+((x)*128))
+#define NV10TCL_LIGHT_POSITION_Z__SIZE 0x00000008
+#define NV10TCL_LIGHT_ATTENUATION_CONSTANT(x) (0x00000868+((x)*128))
+#define NV10TCL_LIGHT_ATTENUATION_CONSTANT__SIZE 0x00000008
+#define NV10TCL_LIGHT_ATTENUATION_LINEAR(x) (0x0000086c+((x)*128))
+#define NV10TCL_LIGHT_ATTENUATION_LINEAR__SIZE 0x00000008
+#define NV10TCL_LIGHT_ATTENUATION_QUADRATIC(x) (0x00000870+((x)*128))
+#define NV10TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE 0x00000008
+#define NV10TCL_VERTEX_POS_3F_X 0x00000c00
+#define NV10TCL_VERTEX_POS_3F_Y 0x00000c04
+#define NV10TCL_VERTEX_POS_3F_Z 0x00000c08
+#define NV10TCL_VERTEX_POS_4F_X 0x00000c18
+#define NV10TCL_VERTEX_POS_4F_Y 0x00000c1c
+#define NV10TCL_VERTEX_POS_4F_Z 0x00000c20
+#define NV10TCL_VERTEX_POS_4F_W 0x00000c24
+#define NV10TCL_VERTEX_NOR_3F_X 0x00000c30
+#define NV10TCL_VERTEX_NOR_3F_Y 0x00000c34
+#define NV10TCL_VERTEX_NOR_3F_Z 0x00000c38
+#define NV10TCL_VERTEX_NOR_3I_XY 0x00000c40
+#define NV10TCL_VERTEX_NOR_3I_XY_X_SHIFT 0
+#define NV10TCL_VERTEX_NOR_3I_XY_X_MASK 0x0000ffff
+#define NV10TCL_VERTEX_NOR_3I_XY_Y_SHIFT 16
+#define NV10TCL_VERTEX_NOR_3I_XY_Y_MASK 0xffff0000
+#define NV10TCL_VERTEX_NOR_3I_Z 0x00000c44
+#define NV10TCL_VERTEX_NOR_3I_Z_Z_SHIFT 0
+#define NV10TCL_VERTEX_NOR_3I_Z_Z_MASK 0x0000ffff
+#define NV10TCL_VERTEX_COL_4F_R 0x00000c50
+#define NV10TCL_VERTEX_COL_4F_G 0x00000c54
+#define NV10TCL_VERTEX_COL_4F_B 0x00000c58
+#define NV10TCL_VERTEX_COL_4F_A 0x00000c5c
+#define NV10TCL_VERTEX_COL_3F_R 0x00000c60
+#define NV10TCL_VERTEX_COL_3F_G 0x00000c64
+#define NV10TCL_VERTEX_COL_3F_B 0x00000c68
+#define NV10TCL_VERTEX_COL_4I 0x00000c6c
+#define NV10TCL_VERTEX_COL_4I_R_SHIFT 0
+#define NV10TCL_VERTEX_COL_4I_R_MASK 0x000000ff
+#define NV10TCL_VERTEX_COL_4I_G_SHIFT 8
+#define NV10TCL_VERTEX_COL_4I_G_MASK 0x0000ff00
+#define NV10TCL_VERTEX_COL_4I_B_SHIFT 16
+#define NV10TCL_VERTEX_COL_4I_B_MASK 0x00ff0000
+#define NV10TCL_VERTEX_COL_4I_A_SHIFT 24
+#define NV10TCL_VERTEX_COL_4I_A_MASK 0xff000000
+#define NV10TCL_VERTEX_COL2_3F_R 0x00000c80
+#define NV10TCL_VERTEX_COL2_3F_G 0x00000c84
+#define NV10TCL_VERTEX_COL2_3F_B 0x00000c88
+#define NV10TCL_VERTEX_COL2_3I 0x00000c8c
+#define NV10TCL_VERTEX_COL2_3I_R_SHIFT 0
+#define NV10TCL_VERTEX_COL2_3I_R_MASK 0x000000ff
+#define NV10TCL_VERTEX_COL2_3I_G_SHIFT 8
+#define NV10TCL_VERTEX_COL2_3I_G_MASK 0x0000ff00
+#define NV10TCL_VERTEX_COL2_3I_B_SHIFT 16
+#define NV10TCL_VERTEX_COL2_3I_B_MASK 0x00ff0000
+#define NV10TCL_VERTEX_TX0_2F_S 0x00000c90
+#define NV10TCL_VERTEX_TX0_2F_T 0x00000c94
+#define NV10TCL_VERTEX_TX0_2I 0x00000c98
+#define NV10TCL_VERTEX_TX0_2I_S_SHIFT 0
+#define NV10TCL_VERTEX_TX0_2I_S_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX0_2I_T_SHIFT 16
+#define NV10TCL_VERTEX_TX0_2I_T_MASK 0xffff0000
+#define NV10TCL_VERTEX_TX0_4F_S 0x00000ca0
+#define NV10TCL_VERTEX_TX0_4F_T 0x00000ca4
+#define NV10TCL_VERTEX_TX0_4F_R 0x00000ca8
+#define NV10TCL_VERTEX_TX0_4F_Q 0x00000cac
+#define NV10TCL_VERTEX_TX0_4I_ST 0x00000cb0
+#define NV10TCL_VERTEX_TX0_4I_ST_S_SHIFT 0
+#define NV10TCL_VERTEX_TX0_4I_ST_S_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX0_4I_ST_T_SHIFT 16
+#define NV10TCL_VERTEX_TX0_4I_ST_T_MASK 0xffff0000
+#define NV10TCL_VERTEX_TX0_4I_RQ 0x00000cb4
+#define NV10TCL_VERTEX_TX0_4I_RQ_R_SHIFT 0
+#define NV10TCL_VERTEX_TX0_4I_RQ_R_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX0_4I_RQ_Q_SHIFT 16
+#define NV10TCL_VERTEX_TX0_4I_RQ_Q_MASK 0xffff0000
+#define NV10TCL_VERTEX_TX1_2F_S 0x00000cb8
+#define NV10TCL_VERTEX_TX1_2F_T 0x00000cbc
+#define NV10TCL_VERTEX_TX1_2I 0x00000cc0
+#define NV10TCL_VERTEX_TX1_2I_S_SHIFT 0
+#define NV10TCL_VERTEX_TX1_2I_S_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX1_2I_T_SHIFT 16
+#define NV10TCL_VERTEX_TX1_2I_T_MASK 0xffff0000
+#define NV10TCL_VERTEX_TX1_4F_S 0x00000cc8
+#define NV10TCL_VERTEX_TX1_4F_T 0x00000ccc
+#define NV10TCL_VERTEX_TX1_4F_R 0x00000cd0
+#define NV10TCL_VERTEX_TX1_4F_Q 0x00000cd4
+#define NV10TCL_VERTEX_TX1_4I_ST 0x00000cd8
+#define NV10TCL_VERTEX_TX1_4I_ST_S_SHIFT 0
+#define NV10TCL_VERTEX_TX1_4I_ST_S_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX1_4I_ST_T_SHIFT 16
+#define NV10TCL_VERTEX_TX1_4I_ST_T_MASK 0xffff0000
+#define NV10TCL_VERTEX_TX1_4I_RQ 0x00000cdc
+#define NV10TCL_VERTEX_TX1_4I_RQ_R_SHIFT 0
+#define NV10TCL_VERTEX_TX1_4I_RQ_R_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX1_4I_RQ_Q_SHIFT 16
+#define NV10TCL_VERTEX_TX1_4I_RQ_Q_MASK 0xffff0000
+#define NV10TCL_VERTEX_FOG_1F 0x00000ce0
+#define NV10TCL_VERTEX_WGH_1F 0x00000ce4
+#define NV10TCL_EDGEFLAG_ENABLE 0x00000cec
+#define NV10TCL_VERTEX_ARRAY_VALIDATE 0x00000cf0
+#define NV10TCL_VTXBUF_ADDRESS(x) (0x00000d00+((x)*8))
+#define NV10TCL_VTXBUF_ADDRESS__SIZE 0x00000008
+#define NV10TCL_VTXFMT(x) (0x00000d04+((x)*8))
+#define NV10TCL_VTXFMT__SIZE 0x00000008
+#define NV10TCL_VTXFMT_TYPE_SHIFT 0
+#define NV10TCL_VTXFMT_TYPE_MASK 0x0000000f
+#define NV10TCL_VTXFMT_TYPE_BYTE_BGRA 0x00000000
+#define NV10TCL_VTXFMT_TYPE_SHORT 0x00000001
+#define NV10TCL_VTXFMT_TYPE_FLOAT 0x00000002
+#define NV10TCL_VTXFMT_TYPE_BYTE_RGBA 0x00000004
+#define NV10TCL_VTXFMT_FIELDS_SHIFT 4
+#define NV10TCL_VTXFMT_FIELDS_MASK 0x000000f0
+#define NV10TCL_VTXFMT_STRIDE_SHIFT 8
+#define NV10TCL_VTXFMT_STRIDE_MASK 0x0000ff00
+#define NV10TCL_VTXFMT_POS_HOMOGENEOUS (1 << 24)
+#define NV10TCL_VERTEX_BEGIN_END 0x00000dfc
+#define NV10TCL_VERTEX_BEGIN_END_STOP 0x00000000
+#define NV10TCL_VERTEX_BEGIN_END_POINTS 0x00000001
+#define NV10TCL_VERTEX_BEGIN_END_LINES 0x00000002
+#define NV10TCL_VERTEX_BEGIN_END_LINE_LOOP 0x00000003
+#define NV10TCL_VERTEX_BEGIN_END_LINE_STRIP 0x00000004
+#define NV10TCL_VERTEX_BEGIN_END_TRIANGLES 0x00000005
+#define NV10TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP 0x00000006
+#define NV10TCL_VERTEX_BEGIN_END_TRIANGLE_FAN 0x00000007
+#define NV10TCL_VERTEX_BEGIN_END_QUADS 0x00000008
+#define NV10TCL_VERTEX_BEGIN_END_QUAD_STRIP 0x00000009
+#define NV10TCL_VERTEX_BEGIN_END_POLYGON 0x0000000a
+#define NV10TCL_VB_ELEMENT_U16 0x00000e00
+#define NV10TCL_VB_ELEMENT_U16_I0_SHIFT 0
+#define NV10TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff
+#define NV10TCL_VB_ELEMENT_U16_I1_SHIFT 16
+#define NV10TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000
+#define NV10TCL_VB_ELEMENT_U32 0x00001100
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END 0x000013fc
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_STOP 0x00000000
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_POINTS 0x00000001
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_LINES 0x00000002
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_LINE_LOOP 0x00000003
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_LINE_STRIP 0x00000004
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLES 0x00000005
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLE_STRIP 0x00000006
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLE_FAN 0x00000007
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_QUADS 0x00000008
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_QUAD_STRIP 0x00000009
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_POLYGON 0x0000000a
+#define NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS 0x00001400
+#define NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_SHIFT 0
+#define NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_MASK 0x0000ffff
+#define NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_LAST_SHIFT 24
+#define NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_LAST_MASK 0xff000000
+#define NV10TCL_VERTEX_ARRAY_DATA 0x00001800
+
+
+#define NV11TCL 0x00000096
+
+#define NV11TCL_COLOR_LOGIC_OP_ENABLE 0x00000d40
+#define NV11TCL_COLOR_LOGIC_OP_OP 0x00000d44
+#define NV11TCL_COLOR_LOGIC_OP_OP_CLEAR 0x00001500
+#define NV11TCL_COLOR_LOGIC_OP_OP_AND 0x00001501
+#define NV11TCL_COLOR_LOGIC_OP_OP_AND_REVERSE 0x00001502
+#define NV11TCL_COLOR_LOGIC_OP_OP_COPY 0x00001503
+#define NV11TCL_COLOR_LOGIC_OP_OP_AND_INVERTED 0x00001504
+#define NV11TCL_COLOR_LOGIC_OP_OP_NOOP 0x00001505
+#define NV11TCL_COLOR_LOGIC_OP_OP_XOR 0x00001506
+#define NV11TCL_COLOR_LOGIC_OP_OP_OR 0x00001507
+#define NV11TCL_COLOR_LOGIC_OP_OP_NOR 0x00001508
+#define NV11TCL_COLOR_LOGIC_OP_OP_EQUIV 0x00001509
+#define NV11TCL_COLOR_LOGIC_OP_OP_INVERT 0x0000150a
+#define NV11TCL_COLOR_LOGIC_OP_OP_OR_REVERSE 0x0000150b
+#define NV11TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED 0x0000150c
+#define NV11TCL_COLOR_LOGIC_OP_OP_OR_INVERTED 0x0000150d
+#define NV11TCL_COLOR_LOGIC_OP_OP_NAND 0x0000150e
+#define NV11TCL_COLOR_LOGIC_OP_OP_SET 0x0000150f
+
+
+#define NV17TCL 0x00000099
+
+#define NV17TCL_DMA_IN_MEMORY4 0x000001ac
+#define NV17TCL_DMA_IN_MEMORY5 0x000001b0
+#define NV17TCL_COLOR_MASK_ENABLE 0x000002bc
+#define NV17TCL_LMA_DEPTH_BUFFER_PITCH 0x00000d5c
+#define NV17TCL_LMA_DEPTH_BUFFER_OFFSET 0x00000d60
+#define NV17TCL_LMA_DEPTH_FILL_VALUE 0x00000d68
+#define NV17TCL_LMA_DEPTH_BUFFER_CLEAR 0x00000d6c
+#define NV17TCL_LMA_DEPTH_WINDOW_X 0x00001638
+#define NV17TCL_LMA_DEPTH_WINDOW_Y 0x0000163c
+#define NV17TCL_LMA_DEPTH_WINDOW_Z 0x00001640
+#define NV17TCL_LMA_DEPTH_WINDOW_W 0x00001644
+#define NV17TCL_LMA_DEPTH_ENABLE 0x00001658
+
+
+#define NV03_CONTEXT_SURFACES_2D 0x00000058
+
+#define NV03_CONTEXT_SURFACES_2D_SYNCHRONIZE 0x00000100
+#define NV03_CONTEXT_SURFACES_2D_DMA_NOTIFY 0x00000180
+#define NV03_CONTEXT_SURFACES_2D_DMA_SOURCE 0x00000184
+#define NV03_CONTEXT_SURFACES_2D_DMA_DESTIN 0x00000188
+#define NV03_CONTEXT_SURFACES_2D_COLOR_FORMAT 0x00000300
+#define NV03_CONTEXT_SURFACES_2D_PITCH 0x00000304
+#define NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT 0
+#define NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK 0x0000ffff
+#define NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT 16
+#define NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK 0xffff0000
+#define NV03_CONTEXT_SURFACES_2D_OFFSET_SOURCE 0x00000308
+#define NV03_CONTEXT_SURFACES_2D_OFFSET_DESTIN 0x0000030c
+
+
+#define NV03_CONTEXT_SURFACES_3D 0x0000005a
+
+#define NV03_CONTEXT_SURFACES_3D_SYNCHRONIZE 0x00000100
+#define NV03_CONTEXT_SURFACES_3D_DMA_NOTIFY 0x00000180
+#define NV03_CONTEXT_SURFACES_3D_DMA_SURFACE 0x00000184
+#define NV03_CONTEXT_SURFACES_3D_PITCH 0x00000300
+#define NV03_CONTEXT_SURFACES_3D_OFFSET_COLOR 0x00000304
+#define NV03_CONTEXT_SURFACES_3D_OFFSET_ZETA 0x00000308
+
+
+#define NV04_INDEXED_IMAGE_FROM_CPU 0x00000060
+
+#define NV04_INDEXED_IMAGE_FROM_CPU_NOP 0x00000100
+#define NV04_INDEXED_IMAGE_FROM_CPU_NOTIFY 0x00000104
+#define NV04_INDEXED_IMAGE_FROM_CPU_PATCH 0x0000010c
+#define NV04_INDEXED_IMAGE_FROM_CPU_DMA_NOTIFY 0x00000180
+#define NV04_INDEXED_IMAGE_FROM_CPU_DMA_LUT 0x00000184
+#define NV04_INDEXED_IMAGE_FROM_CPU_COLOR_KEY 0x00000188
+#define NV04_INDEXED_IMAGE_FROM_CPU_CLIP_RECTANGLE 0x0000018c
+#define NV04_INDEXED_IMAGE_FROM_CPU_PATTERN 0x00000190
+#define NV04_INDEXED_IMAGE_FROM_CPU_ROP 0x00000194
+#define NV04_INDEXED_IMAGE_FROM_CPU_BETA1 0x00000198
+#define NV04_INDEXED_IMAGE_FROM_CPU_BETA4 0x0000019c
+#define NV04_INDEXED_IMAGE_FROM_CPU_SURFACE 0x000001a0
+#define NV04_INDEXED_IMAGE_FROM_CPU_OPERATION 0x000003e4
+#define NV04_INDEXED_IMAGE_FROM_CPU_COLOR_FORMAT 0x000003e8
+#define NV04_INDEXED_IMAGE_FROM_CPU_INDEX_FORMAT 0x000003ec
+#define NV04_INDEXED_IMAGE_FROM_CPU_LUT_OFFSET 0x000003f0
+#define NV04_INDEXED_IMAGE_FROM_CPU_POINT 0x000003f4
+#define NV04_INDEXED_IMAGE_FROM_CPU_SIZE_OUT 0x000003f8
+#define NV04_INDEXED_IMAGE_FROM_CPU_SIZE_IN 0x000003fc
+#define NV04_INDEXED_IMAGE_FROM_CPU_COLOR(x) (0x00000400+((x)*4))
+#define NV04_INDEXED_IMAGE_FROM_CPU_COLOR__SIZE 0x00000700
+
+
+#define NV05_INDEXED_IMAGE_FROM_CPU 0x00000064
+
+#define NV05_INDEXED_IMAGE_FROM_CPU_COLOR_CONVERSION 0x000003e0
+
+
+#define NV03_CHANNEL_PIO 0x0000006a
+
+
+
+#define NV03_CHANNEL_DMA 0x0000006b
+
+
+
+#define NV04_BETA_SOLID 0x00000072
+
+#define NV04_BETA_SOLID_NOP 0x00000100
+#define NV04_BETA_SOLID_NOTIFY 0x00000104
+#define NV04_BETA_SOLID_DMA_NOTIFY 0x00000180
+#define NV04_BETA_SOLID_BETA_OUTPUT 0x00000200
+#define NV04_BETA_SOLID_BETA_FACTOR 0x00000300
+
+
+#define NV10_TEXTURE_FROM_CPU 0x0000007b
+
+#define NV10_TEXTURE_FROM_CPU_NOP 0x00000100
+#define NV10_TEXTURE_FROM_CPU_NOTIFY 0x00000104
+#define NV10_TEXTURE_FROM_CPU_WAIT_FOR_IDLE 0x00000108
+#define NV10_TEXTURE_FROM_CPU_PM_TRIGGER 0x00000140
+#define NV10_TEXTURE_FROM_CPU_DMA_NOTIFY 0x00000180
+#define NV10_TEXTURE_FROM_CPU_SURFACE 0x00000184
+#define NV10_TEXTURE_FROM_CPU_COLOR_FORMAT 0x00000300
+#define NV10_TEXTURE_FROM_CPU_POINT 0x00000304
+#define NV10_TEXTURE_FROM_CPU_POINT_X_SHIFT 0
+#define NV10_TEXTURE_FROM_CPU_POINT_X_MASK 0x0000ffff
+#define NV10_TEXTURE_FROM_CPU_POINT_Y_SHIFT 16
+#define NV10_TEXTURE_FROM_CPU_POINT_Y_MASK 0xffff0000
+#define NV10_TEXTURE_FROM_CPU_SIZE 0x00000308
+#define NV10_TEXTURE_FROM_CPU_SIZE_W_SHIFT 0
+#define NV10_TEXTURE_FROM_CPU_SIZE_W_MASK 0x0000ffff
+#define NV10_TEXTURE_FROM_CPU_SIZE_H_SHIFT 16
+#define NV10_TEXTURE_FROM_CPU_SIZE_H_MASK 0xffff0000
+#define NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL 0x0000030c
+#define NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_SHIFT 0
+#define NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_MASK 0x0000ffff
+#define NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_SHIFT 16
+#define NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_MASK 0xffff0000
+#define NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL 0x00000310
+#define NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_SHIFT 0
+#define NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_MASK 0x0000ffff
+#define NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_SHIFT 16
+#define NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_MASK 0xffff0000
+#define NV10_TEXTURE_FROM_CPU_COLOR(x) (0x00000400+((x)*4))
+#define NV10_TEXTURE_FROM_CPU_COLOR__SIZE 0x00000700
+
+
+#define NV30_TEXTURE_FROM_CPU 0x0000037b
+
+
+
+#define NV40_TEXTURE_FROM_CPU 0x0000307b
+
+
+
+#define NV10_VIDEO_DISPLAY 0x0000007c
+
+
+
+#define NV20TCL 0x00000097
+
+#define NV20TCL_NOP 0x00000100
+#define NV20TCL_NOTIFY 0x00000104
+#define NV20TCL_DMA_NOTIFY 0x00000180
+#define NV20TCL_DMA_TEXTURE0 0x00000184
+#define NV20TCL_DMA_TEXTURE1 0x00000188
+#define NV20TCL_DMA_COLOR 0x00000194
+#define NV20TCL_DMA_ZETA 0x00000198
+#define NV20TCL_DMA_VTXBUF0 0x0000019c
+#define NV20TCL_DMA_VTXBUF1 0x000001a0
+#define NV20TCL_DMA_FENCE 0x000001a4
+#define NV20TCL_DMA_QUERY 0x000001a8
+#define NV20TCL_RT_HORIZ 0x00000200
+#define NV20TCL_RT_HORIZ_X_SHIFT 0
+#define NV20TCL_RT_HORIZ_X_MASK 0x0000ffff
+#define NV20TCL_RT_HORIZ_W_SHIFT 16
+#define NV20TCL_RT_HORIZ_W_MASK 0xffff0000
+#define NV20TCL_RT_VERT 0x00000204
+#define NV20TCL_RT_VERT_Y_SHIFT 0
+#define NV20TCL_RT_VERT_Y_MASK 0x0000ffff
+#define NV20TCL_RT_VERT_H_SHIFT 16
+#define NV20TCL_RT_VERT_H_MASK 0xffff0000
+#define NV20TCL_RT_FORMAT 0x00000208
+#define NV20TCL_RT_FORMAT_TYPE_SHIFT 8
+#define NV20TCL_RT_FORMAT_TYPE_MASK 0x00000f00
+#define NV20TCL_RT_FORMAT_TYPE_LINEAR 0x00000100
+#define NV20TCL_RT_FORMAT_TYPE_SWIZZLED 0x00000200
+#define NV20TCL_RT_FORMAT_COLOR_SHIFT 0
+#define NV20TCL_RT_FORMAT_COLOR_MASK 0x0000001f
+#define NV20TCL_RT_FORMAT_COLOR_R5G6B5 0x00000003
+#define NV20TCL_RT_FORMAT_COLOR_X8R8G8B8 0x00000005
+#define NV20TCL_RT_FORMAT_COLOR_A8R8G8B8 0x00000008
+#define NV20TCL_RT_FORMAT_COLOR_B8 0x00000009
+#define NV20TCL_RT_FORMAT_COLOR_UNKNOWN 0x0000000d
+#define NV20TCL_RT_FORMAT_COLOR_X8B8G8R8 0x0000000f
+#define NV20TCL_RT_FORMAT_COLOR_A8B8G8R8 0x00000010
+#define NV20TCL_RT_PITCH 0x0000020c
+#define NV20TCL_RT_PITCH_COLOR_PITCH_SHIFT 0
+#define NV20TCL_RT_PITCH_COLOR_PITCH_MASK 0x0000ffff
+#define NV20TCL_RT_PITCH_ZETA_PITCH_SHIFT 16
+#define NV20TCL_RT_PITCH_ZETA_PITCH_MASK 0xffff0000
+#define NV20TCL_COLOR_OFFSET 0x00000210
+#define NV20TCL_ZETA_OFFSET 0x00000214
+#define NV20TCL_RC_IN_ALPHA(x) (0x00000260+((x)*4))
+#define NV20TCL_RC_IN_ALPHA__SIZE 0x00000008
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_SHIFT 0
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_MASK 0x0000000f
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_FOG 0x00000003
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0 0x00000008
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1 0x00000009
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE0 0x0000000c
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE1 0x0000000d
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F 0x0000000f
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2 0x0000000a
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3 0x0000000b
+#define NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE (1 << 4)
+#define NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE 0x00000000
+#define NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_SHIFT 5
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_MASK 0x000000e0
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_SHIFT 8
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_MASK 0x00000f00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_FOG 0x00000300
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE (1 << 12)
+#define NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE 0x00000000
+#define NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_SHIFT 13
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_MASK 0x0000e000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_SHIFT 16
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_MASK 0x000f0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_FOG 0x00030000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0 0x00080000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1 0x00090000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE0 0x000c0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE1 0x000d0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F 0x000f0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2 0x000a0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3 0x000b0000
+#define NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE (1 << 20)
+#define NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE 0x00000000
+#define NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_SHIFT 21
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_MASK 0x00e00000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_SHIFT 24
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_MASK 0x0f000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_FOG 0x03000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0 0x08000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1 0x09000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE0 0x0c000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE1 0x0d000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F 0x0f000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2 0x0a000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3 0x0b000000
+#define NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE (1 << 28)
+#define NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE 0x00000000
+#define NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_SHIFT 29
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_MASK 0xe0000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV20TCL_RC_FINAL0 0x00000288
+#define NV20TCL_RC_FINAL0_D_INPUT_SHIFT 0
+#define NV20TCL_RC_FINAL0_D_INPUT_MASK 0x0000000f
+#define NV20TCL_RC_FINAL0_D_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV20TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV20TCL_RC_FINAL0_D_INPUT_FOG 0x00000003
+#define NV20TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV20TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV20TCL_RC_FINAL0_D_INPUT_TEXTURE0 0x00000008
+#define NV20TCL_RC_FINAL0_D_INPUT_TEXTURE1 0x00000009
+#define NV20TCL_RC_FINAL0_D_INPUT_SPARE0 0x0000000c
+#define NV20TCL_RC_FINAL0_D_INPUT_SPARE1 0x0000000d
+#define NV20TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV20TCL_RC_FINAL0_D_INPUT_E_TIMES_F 0x0000000f
+#define NV20TCL_RC_FINAL0_D_INPUT_TEXTURE2 0x0000000a
+#define NV20TCL_RC_FINAL0_D_INPUT_TEXTURE3 0x0000000b
+#define NV20TCL_RC_FINAL0_D_COMPONENT_USAGE (1 << 4)
+#define NV20TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV20TCL_RC_FINAL0_D_MAPPING_SHIFT 5
+#define NV20TCL_RC_FINAL0_D_MAPPING_MASK 0x000000e0
+#define NV20TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV20TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV20TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV20TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV20TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV20TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV20TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV20TCL_RC_FINAL0_C_INPUT_SHIFT 8
+#define NV20TCL_RC_FINAL0_C_INPUT_MASK 0x00000f00
+#define NV20TCL_RC_FINAL0_C_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_FINAL0_C_INPUT_FOG 0x00000300
+#define NV20TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_FINAL0_C_INPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_FINAL0_C_INPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_FINAL0_C_INPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_FINAL0_C_INPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_FINAL0_C_INPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_FINAL0_C_INPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_FINAL0_C_INPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_FINAL0_C_COMPONENT_USAGE (1 << 12)
+#define NV20TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV20TCL_RC_FINAL0_C_MAPPING_SHIFT 13
+#define NV20TCL_RC_FINAL0_C_MAPPING_MASK 0x0000e000
+#define NV20TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV20TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV20TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV20TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV20TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV20TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV20TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV20TCL_RC_FINAL0_B_INPUT_SHIFT 16
+#define NV20TCL_RC_FINAL0_B_INPUT_MASK 0x000f0000
+#define NV20TCL_RC_FINAL0_B_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV20TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV20TCL_RC_FINAL0_B_INPUT_FOG 0x00030000
+#define NV20TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV20TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV20TCL_RC_FINAL0_B_INPUT_TEXTURE0 0x00080000
+#define NV20TCL_RC_FINAL0_B_INPUT_TEXTURE1 0x00090000
+#define NV20TCL_RC_FINAL0_B_INPUT_SPARE0 0x000c0000
+#define NV20TCL_RC_FINAL0_B_INPUT_SPARE1 0x000d0000
+#define NV20TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV20TCL_RC_FINAL0_B_INPUT_E_TIMES_F 0x000f0000
+#define NV20TCL_RC_FINAL0_B_INPUT_TEXTURE2 0x000a0000
+#define NV20TCL_RC_FINAL0_B_INPUT_TEXTURE3 0x000b0000
+#define NV20TCL_RC_FINAL0_B_COMPONENT_USAGE (1 << 20)
+#define NV20TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV20TCL_RC_FINAL0_B_MAPPING_SHIFT 21
+#define NV20TCL_RC_FINAL0_B_MAPPING_MASK 0x00e00000
+#define NV20TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV20TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV20TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV20TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV20TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV20TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV20TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV20TCL_RC_FINAL0_A_INPUT_SHIFT 24
+#define NV20TCL_RC_FINAL0_A_INPUT_MASK 0x0f000000
+#define NV20TCL_RC_FINAL0_A_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV20TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV20TCL_RC_FINAL0_A_INPUT_FOG 0x03000000
+#define NV20TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV20TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV20TCL_RC_FINAL0_A_INPUT_TEXTURE0 0x08000000
+#define NV20TCL_RC_FINAL0_A_INPUT_TEXTURE1 0x09000000
+#define NV20TCL_RC_FINAL0_A_INPUT_SPARE0 0x0c000000
+#define NV20TCL_RC_FINAL0_A_INPUT_SPARE1 0x0d000000
+#define NV20TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV20TCL_RC_FINAL0_A_INPUT_E_TIMES_F 0x0f000000
+#define NV20TCL_RC_FINAL0_A_INPUT_TEXTURE2 0x0a000000
+#define NV20TCL_RC_FINAL0_A_INPUT_TEXTURE3 0x0b000000
+#define NV20TCL_RC_FINAL0_A_COMPONENT_USAGE (1 << 28)
+#define NV20TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_SHIFT 29
+#define NV20TCL_RC_FINAL0_A_MAPPING_MASK 0xe0000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV20TCL_RC_FINAL1 0x0000028c
+#define NV20TCL_RC_FINAL1_COLOR_SUM_CLAMP (1 << 7)
+#define NV20TCL_RC_FINAL1_G_INPUT_SHIFT 8
+#define NV20TCL_RC_FINAL1_G_INPUT_MASK 0x00000f00
+#define NV20TCL_RC_FINAL1_G_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_FINAL1_G_INPUT_FOG 0x00000300
+#define NV20TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_FINAL1_G_INPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_FINAL1_G_INPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_FINAL1_G_INPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_FINAL1_G_INPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_FINAL1_G_INPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_FINAL1_G_INPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_FINAL1_G_INPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_FINAL1_G_COMPONENT_USAGE (1 << 12)
+#define NV20TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV20TCL_RC_FINAL1_G_MAPPING_SHIFT 13
+#define NV20TCL_RC_FINAL1_G_MAPPING_MASK 0x0000e000
+#define NV20TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV20TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV20TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV20TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV20TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV20TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV20TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV20TCL_RC_FINAL1_F_INPUT_SHIFT 16
+#define NV20TCL_RC_FINAL1_F_INPUT_MASK 0x000f0000
+#define NV20TCL_RC_FINAL1_F_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV20TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV20TCL_RC_FINAL1_F_INPUT_FOG 0x00030000
+#define NV20TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR 0x00040000
+#define NV20TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR 0x00050000
+#define NV20TCL_RC_FINAL1_F_INPUT_TEXTURE0 0x00080000
+#define NV20TCL_RC_FINAL1_F_INPUT_TEXTURE1 0x00090000
+#define NV20TCL_RC_FINAL1_F_INPUT_SPARE0 0x000c0000
+#define NV20TCL_RC_FINAL1_F_INPUT_SPARE1 0x000d0000
+#define NV20TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV20TCL_RC_FINAL1_F_INPUT_E_TIMES_F 0x000f0000
+#define NV20TCL_RC_FINAL1_F_INPUT_TEXTURE2 0x000a0000
+#define NV20TCL_RC_FINAL1_F_INPUT_TEXTURE3 0x000b0000
+#define NV20TCL_RC_FINAL1_F_COMPONENT_USAGE (1 << 20)
+#define NV20TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV20TCL_RC_FINAL1_F_MAPPING_SHIFT 21
+#define NV20TCL_RC_FINAL1_F_MAPPING_MASK 0x00e00000
+#define NV20TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV20TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV20TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV20TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV20TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV20TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV20TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV20TCL_RC_FINAL1_E_INPUT_SHIFT 24
+#define NV20TCL_RC_FINAL1_E_INPUT_MASK 0x0f000000
+#define NV20TCL_RC_FINAL1_E_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV20TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV20TCL_RC_FINAL1_E_INPUT_FOG 0x03000000
+#define NV20TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR 0x04000000
+#define NV20TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR 0x05000000
+#define NV20TCL_RC_FINAL1_E_INPUT_TEXTURE0 0x08000000
+#define NV20TCL_RC_FINAL1_E_INPUT_TEXTURE1 0x09000000
+#define NV20TCL_RC_FINAL1_E_INPUT_SPARE0 0x0c000000
+#define NV20TCL_RC_FINAL1_E_INPUT_SPARE1 0x0d000000
+#define NV20TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV20TCL_RC_FINAL1_E_INPUT_E_TIMES_F 0x0f000000
+#define NV20TCL_RC_FINAL1_E_INPUT_TEXTURE2 0x0a000000
+#define NV20TCL_RC_FINAL1_E_INPUT_TEXTURE3 0x0b000000
+#define NV20TCL_RC_FINAL1_E_COMPONENT_USAGE (1 << 28)
+#define NV20TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_SHIFT 29
+#define NV20TCL_RC_FINAL1_E_MAPPING_MASK 0xe0000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV20TCL_LIGHT_MODEL 0x00000294
+#define NV20TCL_LIGHT_MODEL_VIEWER_SHIFT 16
+#define NV20TCL_LIGHT_MODEL_VIEWER_MASK 0x00030000
+#define NV20TCL_LIGHT_MODEL_VIEWER_NONLOCAL 0x00020000
+#define NV20TCL_LIGHT_MODEL_VIEWER_LOCAL 0x00030000
+#define NV20TCL_LIGHT_MODEL_SEPARATE_SPECULAR (1 << 0)
+#define NV20TCL_COLOR_MATERIAL 0x00000298
+#define NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_SHIFT 0
+#define NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_MASK 0x00000003
+#define NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_COL1 0x00000001
+#define NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_COL2 0x00000002
+#define NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_SHIFT 2
+#define NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_MASK 0x0000000c
+#define NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_COL1 0x00000004
+#define NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_COL2 0x00000008
+#define NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_SHIFT 4
+#define NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_MASK 0x00000030
+#define NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_COL1 0x00000010
+#define NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_COL2 0x00000020
+#define NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_SHIFT 6
+#define NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_MASK 0x000000c0
+#define NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_COL1 0x00000040
+#define NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_COL2 0x00000080
+#define NV20TCL_COLOR_MATERIAL_BACK_EMISSION_SHIFT 8
+#define NV20TCL_COLOR_MATERIAL_BACK_EMISSION_MASK 0x00000300
+#define NV20TCL_COLOR_MATERIAL_BACK_EMISSION_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_BACK_EMISSION_COL1 0x00000100
+#define NV20TCL_COLOR_MATERIAL_BACK_EMISSION_COL2 0x00000200
+#define NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_SHIFT 10
+#define NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_MASK 0x00000c00
+#define NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_COL1 0x00000400
+#define NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_COL2 0x00000800
+#define NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_SHIFT 12
+#define NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_MASK 0x00003000
+#define NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_COL1 0x00001000
+#define NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_COL2 0x00002000
+#define NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_SHIFT 14
+#define NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_MASK 0x0000c000
+#define NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_COL1 0x00004000
+#define NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_COL2 0x00008000
+#define NV20TCL_FOG_MODE 0x0000029c
+#define NV20TCL_FOG_MODE_LINEAR_UNSIGNED 0x00000804
+#define NV20TCL_FOG_MODE_LINEAR_SIGNED 0x00002601
+#define NV20TCL_FOG_MODE_EXP_UNSIGNED 0x00000802
+#define NV20TCL_FOG_MODE_EXP_SIGNED 0x00000800
+#define NV20TCL_FOG_MODE_EXP2_UNSIGNED 0x00000803
+#define NV20TCL_FOG_MODE_EXP2_SIGNED 0x00000801
+#define NV20TCL_FOG_COORD 0x000002a0
+#define NV20TCL_FOG_COORD_DIST_RADIAL 0x00000001
+#define NV20TCL_FOG_COORD_DIST_ORTHOGONAL 0x00000002
+#define NV20TCL_FOG_COORD_DIST_ORTHOGONAL_ABS 0x00000003
+#define NV20TCL_FOG_COORD_FOG 0x00000006
+#define NV20TCL_FOG_ENABLE 0x000002a4
+#define NV20TCL_FOG_COLOR 0x000002a8
+#define NV20TCL_FOG_COLOR_R_SHIFT 0
+#define NV20TCL_FOG_COLOR_R_MASK 0x000000ff
+#define NV20TCL_FOG_COLOR_G_SHIFT 8
+#define NV20TCL_FOG_COLOR_G_MASK 0x0000ff00
+#define NV20TCL_FOG_COLOR_B_SHIFT 16
+#define NV20TCL_FOG_COLOR_B_MASK 0x00ff0000
+#define NV20TCL_FOG_COLOR_A_SHIFT 24
+#define NV20TCL_FOG_COLOR_A_MASK 0xff000000
+#define NV20TCL_VIEWPORT_CLIP_MODE 0x000002b4
+#define NV20TCL_VIEWPORT_CLIP_HORIZ(x) (0x000002c0+((x)*4))
+#define NV20TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008
+#define NV20TCL_VIEWPORT_CLIP_VERT(x) (0x000002e0+((x)*4))
+#define NV20TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008
+#define NV20TCL_ALPHA_FUNC_ENABLE 0x00000300
+#define NV20TCL_BLEND_FUNC_ENABLE 0x00000304
+#define NV20TCL_CULL_FACE_ENABLE 0x00000308
+#define NV20TCL_DEPTH_TEST_ENABLE 0x0000030c
+#define NV20TCL_DITHER_ENABLE 0x00000310
+#define NV20TCL_LIGHTING_ENABLE 0x00000314
+#define NV20TCL_POINT_PARAMETERS_ENABLE 0x00000318
+#define NV20TCL_POINT_SMOOTH_ENABLE 0x0000031c
+#define NV20TCL_LINE_SMOOTH_ENABLE 0x00000320
+#define NV20TCL_POLYGON_SMOOTH_ENABLE 0x00000324
+#define NV20TCL_STENCIL_ENABLE 0x0000032c
+#define NV20TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000330
+#define NV20TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000334
+#define NV20TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000338
+#define NV20TCL_ALPHA_FUNC_FUNC 0x0000033c
+#define NV20TCL_ALPHA_FUNC_FUNC_NEVER 0x00000200
+#define NV20TCL_ALPHA_FUNC_FUNC_LESS 0x00000201
+#define NV20TCL_ALPHA_FUNC_FUNC_EQUAL 0x00000202
+#define NV20TCL_ALPHA_FUNC_FUNC_LEQUAL 0x00000203
+#define NV20TCL_ALPHA_FUNC_FUNC_GREATER 0x00000204
+#define NV20TCL_ALPHA_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV20TCL_ALPHA_FUNC_FUNC_GEQUAL 0x00000206
+#define NV20TCL_ALPHA_FUNC_FUNC_ALWAYS 0x00000207
+#define NV20TCL_ALPHA_FUNC_REF 0x00000340
+#define NV20TCL_BLEND_FUNC_SRC 0x00000344
+#define NV20TCL_BLEND_FUNC_SRC_ZERO 0x00000000
+#define NV20TCL_BLEND_FUNC_SRC_ONE 0x00000001
+#define NV20TCL_BLEND_FUNC_SRC_SRC_COLOR 0x00000300
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV20TCL_BLEND_FUNC_SRC_SRC_ALPHA 0x00000302
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV20TCL_BLEND_FUNC_SRC_DST_ALPHA 0x00000304
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV20TCL_BLEND_FUNC_SRC_DST_COLOR 0x00000306
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR 0x00000307
+#define NV20TCL_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE 0x00000308
+#define NV20TCL_BLEND_FUNC_SRC_CONSTANT_COLOR 0x00008001
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV20TCL_BLEND_FUNC_SRC_CONSTANT_ALPHA 0x00008003
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV20TCL_BLEND_FUNC_DST 0x00000348
+#define NV20TCL_BLEND_FUNC_DST_ZERO 0x00000000
+#define NV20TCL_BLEND_FUNC_DST_ONE 0x00000001
+#define NV20TCL_BLEND_FUNC_DST_SRC_COLOR 0x00000300
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV20TCL_BLEND_FUNC_DST_SRC_ALPHA 0x00000302
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV20TCL_BLEND_FUNC_DST_DST_ALPHA 0x00000304
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV20TCL_BLEND_FUNC_DST_DST_COLOR 0x00000306
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR 0x00000307
+#define NV20TCL_BLEND_FUNC_DST_SRC_ALPHA_SATURATE 0x00000308
+#define NV20TCL_BLEND_FUNC_DST_CONSTANT_COLOR 0x00008001
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV20TCL_BLEND_FUNC_DST_CONSTANT_ALPHA 0x00008003
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV20TCL_BLEND_COLOR 0x0000034c
+#define NV20TCL_BLEND_COLOR_B_SHIFT 0
+#define NV20TCL_BLEND_COLOR_B_MASK 0x000000ff
+#define NV20TCL_BLEND_COLOR_G_SHIFT 8
+#define NV20TCL_BLEND_COLOR_G_MASK 0x0000ff00
+#define NV20TCL_BLEND_COLOR_R_SHIFT 16
+#define NV20TCL_BLEND_COLOR_R_MASK 0x00ff0000
+#define NV20TCL_BLEND_COLOR_A_SHIFT 24
+#define NV20TCL_BLEND_COLOR_A_MASK 0xff000000
+#define NV20TCL_BLEND_EQUATION 0x00000350
+#define NV20TCL_BLEND_EQUATION_FUNC_ADD 0x00008006
+#define NV20TCL_BLEND_EQUATION_MIN 0x00008007
+#define NV20TCL_BLEND_EQUATION_MAX 0x00008008
+#define NV20TCL_BLEND_EQUATION_FUNC_SUBTRACT 0x0000800a
+#define NV20TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV20TCL_DEPTH_FUNC 0x00000354
+#define NV20TCL_DEPTH_FUNC_NEVER 0x00000200
+#define NV20TCL_DEPTH_FUNC_LESS 0x00000201
+#define NV20TCL_DEPTH_FUNC_EQUAL 0x00000202
+#define NV20TCL_DEPTH_FUNC_LEQUAL 0x00000203
+#define NV20TCL_DEPTH_FUNC_GREATER 0x00000204
+#define NV20TCL_DEPTH_FUNC_NOTEQUAL 0x00000205
+#define NV20TCL_DEPTH_FUNC_GEQUAL 0x00000206
+#define NV20TCL_DEPTH_FUNC_ALWAYS 0x00000207
+#define NV20TCL_COLOR_MASK 0x00000358
+#define NV20TCL_COLOR_MASK_B (1 << 0)
+#define NV20TCL_COLOR_MASK_G (1 << 8)
+#define NV20TCL_COLOR_MASK_R (1 << 16)
+#define NV20TCL_COLOR_MASK_A (1 << 24)
+#define NV20TCL_DEPTH_WRITE_ENABLE 0x0000035c
+#define NV20TCL_STENCIL_MASK 0x00000360
+#define NV20TCL_STENCIL_FUNC_FUNC 0x00000364
+#define NV20TCL_STENCIL_FUNC_FUNC_NEVER 0x00000200
+#define NV20TCL_STENCIL_FUNC_FUNC_LESS 0x00000201
+#define NV20TCL_STENCIL_FUNC_FUNC_EQUAL 0x00000202
+#define NV20TCL_STENCIL_FUNC_FUNC_LEQUAL 0x00000203
+#define NV20TCL_STENCIL_FUNC_FUNC_GREATER 0x00000204
+#define NV20TCL_STENCIL_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV20TCL_STENCIL_FUNC_FUNC_GEQUAL 0x00000206
+#define NV20TCL_STENCIL_FUNC_FUNC_ALWAYS 0x00000207
+#define NV20TCL_STENCIL_FUNC_REF 0x00000368
+#define NV20TCL_STENCIL_FUNC_MASK 0x0000036c
+#define NV20TCL_STENCIL_OP_FAIL 0x00000370
+#define NV20TCL_STENCIL_OP_FAIL_ZERO 0x00000000
+#define NV20TCL_STENCIL_OP_FAIL_INVERT 0x0000150a
+#define NV20TCL_STENCIL_OP_FAIL_KEEP 0x00001e00
+#define NV20TCL_STENCIL_OP_FAIL_REPLACE 0x00001e01
+#define NV20TCL_STENCIL_OP_FAIL_INCR 0x00001e02
+#define NV20TCL_STENCIL_OP_FAIL_DECR 0x00001e03
+#define NV20TCL_STENCIL_OP_FAIL_INCR_WRAP 0x00008507
+#define NV20TCL_STENCIL_OP_FAIL_DECR_WRAP 0x00008508
+#define NV20TCL_STENCIL_OP_ZFAIL 0x00000374
+#define NV20TCL_STENCIL_OP_ZFAIL_ZERO 0x00000000
+#define NV20TCL_STENCIL_OP_ZFAIL_INVERT 0x0000150a
+#define NV20TCL_STENCIL_OP_ZFAIL_KEEP 0x00001e00
+#define NV20TCL_STENCIL_OP_ZFAIL_REPLACE 0x00001e01
+#define NV20TCL_STENCIL_OP_ZFAIL_INCR 0x00001e02
+#define NV20TCL_STENCIL_OP_ZFAIL_DECR 0x00001e03
+#define NV20TCL_STENCIL_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV20TCL_STENCIL_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV20TCL_STENCIL_OP_ZPASS 0x00000378
+#define NV20TCL_STENCIL_OP_ZPASS_ZERO 0x00000000
+#define NV20TCL_STENCIL_OP_ZPASS_INVERT 0x0000150a
+#define NV20TCL_STENCIL_OP_ZPASS_KEEP 0x00001e00
+#define NV20TCL_STENCIL_OP_ZPASS_REPLACE 0x00001e01
+#define NV20TCL_STENCIL_OP_ZPASS_INCR 0x00001e02
+#define NV20TCL_STENCIL_OP_ZPASS_DECR 0x00001e03
+#define NV20TCL_STENCIL_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV20TCL_STENCIL_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV20TCL_SHADE_MODEL 0x0000037c
+#define NV20TCL_SHADE_MODEL_FLAT 0x00001d00
+#define NV20TCL_SHADE_MODEL_SMOOTH 0x00001d01
+#define NV20TCL_LINE_WIDTH 0x00000380
+#define NV20TCL_POLYGON_OFFSET_FACTOR 0x00000384
+#define NV20TCL_POLYGON_OFFSET_UNITS 0x00000388
+#define NV20TCL_POLYGON_MODE_FRONT 0x0000038c
+#define NV20TCL_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NV20TCL_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NV20TCL_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NV20TCL_POLYGON_MODE_BACK 0x00000390
+#define NV20TCL_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NV20TCL_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NV20TCL_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NV20TCL_DEPTH_RANGE_NEAR 0x00000394
+#define NV20TCL_DEPTH_RANGE_FAR 0x00000398
+#define NV20TCL_CULL_FACE 0x0000039c
+#define NV20TCL_CULL_FACE_FRONT 0x00000404
+#define NV20TCL_CULL_FACE_BACK 0x00000405
+#define NV20TCL_CULL_FACE_FRONT_AND_BACK 0x00000408
+#define NV20TCL_FRONT_FACE 0x000003a0
+#define NV20TCL_FRONT_FACE_CW 0x00000900
+#define NV20TCL_FRONT_FACE_CCW 0x00000901
+#define NV20TCL_NORMALIZE_ENABLE 0x000003a4
+#define NV20TCL_MATERIAL_FACTOR_FRONT_R 0x000003a8
+#define NV20TCL_MATERIAL_FACTOR_FRONT_G 0x000003ac
+#define NV20TCL_MATERIAL_FACTOR_FRONT_B 0x000003b0
+#define NV20TCL_MATERIAL_FACTOR_FRONT_A 0x000003b4
+#define NV20TCL_SEPARATE_SPECULAR_ENABLE 0x000003b8
+#define NV20TCL_ENABLED_LIGHTS 0x000003bc
+#define NV20TCL_ENABLED_LIGHTS_0_SHIFT 0
+#define NV20TCL_ENABLED_LIGHTS_0_MASK 0x00000003
+#define NV20TCL_ENABLED_LIGHTS_0_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_0_NONPOSITIONAL 0x00000001
+#define NV20TCL_ENABLED_LIGHTS_0_POSITIONAL 0x00000002
+#define NV20TCL_ENABLED_LIGHTS_0_DIRECTIONAL 0x00000003
+#define NV20TCL_ENABLED_LIGHTS_1_SHIFT 2
+#define NV20TCL_ENABLED_LIGHTS_1_MASK 0x0000000c
+#define NV20TCL_ENABLED_LIGHTS_1_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_1_NONPOSITIONAL 0x00000004
+#define NV20TCL_ENABLED_LIGHTS_1_POSITIONAL 0x00000008
+#define NV20TCL_ENABLED_LIGHTS_1_DIRECTIONAL 0x0000000c
+#define NV20TCL_ENABLED_LIGHTS_2_SHIFT 4
+#define NV20TCL_ENABLED_LIGHTS_2_MASK 0x00000030
+#define NV20TCL_ENABLED_LIGHTS_2_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_2_NONPOSITIONAL 0x00000010
+#define NV20TCL_ENABLED_LIGHTS_2_POSITIONAL 0x00000020
+#define NV20TCL_ENABLED_LIGHTS_2_DIRECTIONAL 0x00000030
+#define NV20TCL_ENABLED_LIGHTS_3_SHIFT 6
+#define NV20TCL_ENABLED_LIGHTS_3_MASK 0x000000c0
+#define NV20TCL_ENABLED_LIGHTS_3_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_3_NONPOSITIONAL 0x00000040
+#define NV20TCL_ENABLED_LIGHTS_3_POSITIONAL 0x00000080
+#define NV20TCL_ENABLED_LIGHTS_3_DIRECTIONAL 0x000000c0
+#define NV20TCL_ENABLED_LIGHTS_4_SHIFT 8
+#define NV20TCL_ENABLED_LIGHTS_4_MASK 0x00000300
+#define NV20TCL_ENABLED_LIGHTS_4_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_4_NONPOSITIONAL 0x00000100
+#define NV20TCL_ENABLED_LIGHTS_4_POSITIONAL 0x00000200
+#define NV20TCL_ENABLED_LIGHTS_4_DIRECTIONAL 0x00000300
+#define NV20TCL_ENABLED_LIGHTS_5_SHIFT 10
+#define NV20TCL_ENABLED_LIGHTS_5_MASK 0x00000c00
+#define NV20TCL_ENABLED_LIGHTS_5_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_5_NONPOSITIONAL 0x00000400
+#define NV20TCL_ENABLED_LIGHTS_5_POSITIONAL 0x00000800
+#define NV20TCL_ENABLED_LIGHTS_5_DIRECTIONAL 0x00000c00
+#define NV20TCL_ENABLED_LIGHTS_6_SHIFT 12
+#define NV20TCL_ENABLED_LIGHTS_6_MASK 0x00003000
+#define NV20TCL_ENABLED_LIGHTS_6_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_6_NONPOSITIONAL 0x00001000
+#define NV20TCL_ENABLED_LIGHTS_6_POSITIONAL 0x00002000
+#define NV20TCL_ENABLED_LIGHTS_6_DIRECTIONAL 0x00003000
+#define NV20TCL_ENABLED_LIGHTS_7_SHIFT 14
+#define NV20TCL_ENABLED_LIGHTS_7_MASK 0x0000c000
+#define NV20TCL_ENABLED_LIGHTS_7_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_7_NONPOSITIONAL 0x00004000
+#define NV20TCL_ENABLED_LIGHTS_7_POSITIONAL 0x00008000
+#define NV20TCL_ENABLED_LIGHTS_7_DIRECTIONAL 0x0000c000
+#define NV20TCL_TX_GEN_MODE_S(x) (0x000003c0+((x)*16))
+#define NV20TCL_TX_GEN_MODE_S__SIZE 0x00000004
+#define NV20TCL_TX_GEN_MODE_S_FALSE 0x00000000
+#define NV20TCL_TX_GEN_MODE_S_EYE_LINEAR 0x00002400
+#define NV20TCL_TX_GEN_MODE_S_OBJECT_LINEAR 0x00002401
+#define NV20TCL_TX_GEN_MODE_S_SPHERE_MAP 0x00002402
+#define NV20TCL_TX_GEN_MODE_S_NORMAL_MAP 0x00008511
+#define NV20TCL_TX_GEN_MODE_S_REFLECTION_MAP 0x00008512
+#define NV20TCL_TX_GEN_MODE_T(x) (0x000003c4+((x)*16))
+#define NV20TCL_TX_GEN_MODE_T__SIZE 0x00000004
+#define NV20TCL_TX_GEN_MODE_T_FALSE 0x00000000
+#define NV20TCL_TX_GEN_MODE_T_EYE_LINEAR 0x00002400
+#define NV20TCL_TX_GEN_MODE_T_OBJECT_LINEAR 0x00002401
+#define NV20TCL_TX_GEN_MODE_T_SPHERE_MAP 0x00002402
+#define NV20TCL_TX_GEN_MODE_T_NORMAL_MAP 0x00008511
+#define NV20TCL_TX_GEN_MODE_T_REFLECTION_MAP 0x00008512
+#define NV20TCL_TX_GEN_MODE_R(x) (0x000003c8+((x)*16))
+#define NV20TCL_TX_GEN_MODE_R__SIZE 0x00000004
+#define NV20TCL_TX_GEN_MODE_R_FALSE 0x00000000
+#define NV20TCL_TX_GEN_MODE_R_EYE_LINEAR 0x00002400
+#define NV20TCL_TX_GEN_MODE_R_OBJECT_LINEAR 0x00002401
+#define NV20TCL_TX_GEN_MODE_R_SPHERE_MAP 0x00002402
+#define NV20TCL_TX_GEN_MODE_R_NORMAL_MAP 0x00008511
+#define NV20TCL_TX_GEN_MODE_R_REFLECTION_MAP 0x00008512
+#define NV20TCL_TX_GEN_MODE_Q(x) (0x000003cc+((x)*16))
+#define NV20TCL_TX_GEN_MODE_Q__SIZE 0x00000004
+#define NV20TCL_TX_GEN_MODE_Q_FALSE 0x00000000
+#define NV20TCL_TX_GEN_MODE_Q_EYE_LINEAR 0x00002400
+#define NV20TCL_TX_GEN_MODE_Q_OBJECT_LINEAR 0x00002401
+#define NV20TCL_TX_GEN_MODE_Q_SPHERE_MAP 0x00002402
+#define NV20TCL_TX_GEN_MODE_Q_NORMAL_MAP 0x00008511
+#define NV20TCL_TX_GEN_MODE_Q_REFLECTION_MAP 0x00008512
+#define NV20TCL_TX_MATRIX_ENABLE(x) (0x00000420+((x)*4))
+#define NV20TCL_TX_MATRIX_ENABLE__SIZE 0x00000004
+#define NV20TCL_POINT_SIZE 0x0000043c
+#define NV20TCL_MODELVIEW0_MATRIX(x) (0x00000480+((x)*4))
+#define NV20TCL_MODELVIEW0_MATRIX__SIZE 0x00000010
+#define NV20TCL_MODELVIEW1_MATRIX(x) (0x000004c0+((x)*4))
+#define NV20TCL_MODELVIEW1_MATRIX__SIZE 0x00000010
+#define NV20TCL_MODELVIEW2_MATRIX(x) (0x00000500+((x)*4))
+#define NV20TCL_MODELVIEW2_MATRIX__SIZE 0x00000010
+#define NV20TCL_MODELVIEW3_MATRIX(x) (0x00000540+((x)*4))
+#define NV20TCL_MODELVIEW3_MATRIX__SIZE 0x00000010
+#define NV20TCL_INVERSE_MODELVIEW0_MATRIX(x) (0x00000580+((x)*4))
+#define NV20TCL_INVERSE_MODELVIEW0_MATRIX__SIZE 0x00000010
+#define NV20TCL_INVERSE_MODELVIEW1_MATRIX(x) (0x000005c0+((x)*4))
+#define NV20TCL_INVERSE_MODELVIEW1_MATRIX__SIZE 0x00000010
+#define NV20TCL_INVERSE_MODELVIEW2_MATRIX(x) (0x00000600+((x)*4))
+#define NV20TCL_INVERSE_MODELVIEW2_MATRIX__SIZE 0x00000010
+#define NV20TCL_INVERSE_MODELVIEW3_MATRIX(x) (0x00000640+((x)*4))
+#define NV20TCL_INVERSE_MODELVIEW3_MATRIX__SIZE 0x00000010
+#define NV20TCL_PROJECTION_MATRIX(x) (0x00000680+((x)*4))
+#define NV20TCL_PROJECTION_MATRIX__SIZE 0x00000010
+#define NV20TCL_TX0_MATRIX(x) (0x000006c0+((x)*4))
+#define NV20TCL_TX0_MATRIX__SIZE 0x00000010
+#define NV20TCL_TX1_MATRIX(x) (0x00000700+((x)*4))
+#define NV20TCL_TX1_MATRIX__SIZE 0x00000010
+#define NV20TCL_TX2_MATRIX(x) (0x00000740+((x)*4))
+#define NV20TCL_TX2_MATRIX__SIZE 0x00000010
+#define NV20TCL_TX3_MATRIX(x) (0x00000780+((x)*4))
+#define NV20TCL_TX3_MATRIX__SIZE 0x00000010
+#define NV20TCL_TX_GEN_COEFF_S_A(x) (0x00000840+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_S_A__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_S_B(x) (0x00000844+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_S_B__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_S_C(x) (0x00000848+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_S_C__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_S_D(x) (0x0000084c+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_S_D__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_T_A(x) (0x00000850+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_T_A__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_T_B(x) (0x00000854+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_T_B__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_T_C(x) (0x00000858+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_T_C__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_T_D(x) (0x0000085c+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_T_D__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_R_A(x) (0x00000860+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_R_A__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_R_B(x) (0x00000864+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_R_B__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_R_C(x) (0x00000868+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_R_C__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_R_D(x) (0x0000086c+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_R_D__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_Q_A(x) (0x00000870+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_Q_A__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_Q_B(x) (0x00000874+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_Q_B__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_Q_C(x) (0x00000878+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_Q_C__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_Q_D(x) (0x0000087c+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_Q_D__SIZE 0x00000004
+#define NV20TCL_FOG_EQUATION_CONSTANT 0x000009c0
+#define NV20TCL_FOG_EQUATION_LINEAR 0x000009c4
+#define NV20TCL_FOG_EQUATION_QUADRATIC 0x000009c8
+#define NV20TCL_FRONT_MATERIAL_SHININESS(x) (0x000009e0+((x)*4))
+#define NV20TCL_FRONT_MATERIAL_SHININESS__SIZE 0x00000006
+#define NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_R 0x00000a10
+#define NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_G 0x00000a14
+#define NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_B 0x00000a18
+#define NV20TCL_VIEWPORT_TRANSLATE_X 0x00000a20
+#define NV20TCL_VIEWPORT_TRANSLATE_Y 0x00000a24
+#define NV20TCL_VIEWPORT_TRANSLATE_Z 0x00000a28
+#define NV20TCL_VIEWPORT_TRANSLATE_W 0x00000a2c
+#define NV20TCL_POINT_PARAMETER(x) (0x00000a30+((x)*4))
+#define NV20TCL_POINT_PARAMETER__SIZE 0x00000008
+#define NV20TCL_RC_CONSTANT_COLOR0(x) (0x00000a60+((x)*4))
+#define NV20TCL_RC_CONSTANT_COLOR0__SIZE 0x00000008
+#define NV20TCL_RC_CONSTANT_COLOR0_B_SHIFT 0
+#define NV20TCL_RC_CONSTANT_COLOR0_B_MASK 0x000000ff
+#define NV20TCL_RC_CONSTANT_COLOR0_G_SHIFT 8
+#define NV20TCL_RC_CONSTANT_COLOR0_G_MASK 0x0000ff00
+#define NV20TCL_RC_CONSTANT_COLOR0_R_SHIFT 16
+#define NV20TCL_RC_CONSTANT_COLOR0_R_MASK 0x00ff0000
+#define NV20TCL_RC_CONSTANT_COLOR0_A_SHIFT 24
+#define NV20TCL_RC_CONSTANT_COLOR0_A_MASK 0xff000000
+#define NV20TCL_RC_CONSTANT_COLOR1(x) (0x00000a80+((x)*4))
+#define NV20TCL_RC_CONSTANT_COLOR1__SIZE 0x00000008
+#define NV20TCL_RC_CONSTANT_COLOR1_B_SHIFT 0
+#define NV20TCL_RC_CONSTANT_COLOR1_B_MASK 0x000000ff
+#define NV20TCL_RC_CONSTANT_COLOR1_G_SHIFT 8
+#define NV20TCL_RC_CONSTANT_COLOR1_G_MASK 0x0000ff00
+#define NV20TCL_RC_CONSTANT_COLOR1_R_SHIFT 16
+#define NV20TCL_RC_CONSTANT_COLOR1_R_MASK 0x00ff0000
+#define NV20TCL_RC_CONSTANT_COLOR1_A_SHIFT 24
+#define NV20TCL_RC_CONSTANT_COLOR1_A_MASK 0xff000000
+#define NV20TCL_RC_OUT_ALPHA(x) (0x00000aa0+((x)*4))
+#define NV20TCL_RC_OUT_ALPHA__SIZE 0x00000008
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT 0
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK 0x0000000f
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG 0x00000003
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0 0x0000000c
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1 0x0000000d
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT 4
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK 0x000000f0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG 0x00000030
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0 0x000000c0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1 0x000000d0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT 8
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK 0x00000f00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG 0x00000300
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT (1 << 12)
+#define NV20TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT (1 << 13)
+#define NV20TCL_RC_OUT_ALPHA_MUX_SUM (1 << 14)
+#define NV20TCL_RC_OUT_ALPHA_BIAS (1 << 15)
+#define NV20TCL_RC_OUT_ALPHA_BIAS_NONE 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV20TCL_RC_OUT_ALPHA_SCALE_SHIFT 17
+#define NV20TCL_RC_OUT_ALPHA_SCALE_MASK 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_SCALE_NONE 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO 0x00020000
+#define NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV20TCL_RC_IN_RGB(x) (0x00000ac0+((x)*4))
+#define NV20TCL_RC_IN_RGB__SIZE 0x00000008
+#define NV20TCL_RC_IN_RGB_D_INPUT_SHIFT 0
+#define NV20TCL_RC_IN_RGB_D_INPUT_MASK 0x0000000f
+#define NV20TCL_RC_IN_RGB_D_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV20TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV20TCL_RC_IN_RGB_D_INPUT_FOG 0x00000003
+#define NV20TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV20TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE0 0x00000008
+#define NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE1 0x00000009
+#define NV20TCL_RC_IN_RGB_D_INPUT_SPARE0 0x0000000c
+#define NV20TCL_RC_IN_RGB_D_INPUT_SPARE1 0x0000000d
+#define NV20TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV20TCL_RC_IN_RGB_D_INPUT_E_TIMES_F 0x0000000f
+#define NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE2 0x0000000a
+#define NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE3 0x0000000b
+#define NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE (1 << 4)
+#define NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV20TCL_RC_IN_RGB_D_MAPPING_SHIFT 5
+#define NV20TCL_RC_IN_RGB_D_MAPPING_MASK 0x000000e0
+#define NV20TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV20TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV20TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV20TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV20TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV20TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV20TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV20TCL_RC_IN_RGB_C_INPUT_SHIFT 8
+#define NV20TCL_RC_IN_RGB_C_INPUT_MASK 0x00000f00
+#define NV20TCL_RC_IN_RGB_C_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_IN_RGB_C_INPUT_FOG 0x00000300
+#define NV20TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_IN_RGB_C_INPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_IN_RGB_C_INPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_IN_RGB_C_INPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE (1 << 12)
+#define NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_SHIFT 13
+#define NV20TCL_RC_IN_RGB_C_MAPPING_MASK 0x0000e000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV20TCL_RC_IN_RGB_B_INPUT_SHIFT 16
+#define NV20TCL_RC_IN_RGB_B_INPUT_MASK 0x000f0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV20TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV20TCL_RC_IN_RGB_B_INPUT_FOG 0x00030000
+#define NV20TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV20TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE0 0x00080000
+#define NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE1 0x00090000
+#define NV20TCL_RC_IN_RGB_B_INPUT_SPARE0 0x000c0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_SPARE1 0x000d0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_E_TIMES_F 0x000f0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE2 0x000a0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE3 0x000b0000
+#define NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE (1 << 20)
+#define NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_SHIFT 21
+#define NV20TCL_RC_IN_RGB_B_MAPPING_MASK 0x00e00000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV20TCL_RC_IN_RGB_A_INPUT_SHIFT 24
+#define NV20TCL_RC_IN_RGB_A_INPUT_MASK 0x0f000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_FOG 0x03000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE0 0x08000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE1 0x09000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_SPARE0 0x0c000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_SPARE1 0x0d000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_E_TIMES_F 0x0f000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE2 0x0a000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE3 0x0b000000
+#define NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE (1 << 28)
+#define NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_SHIFT 29
+#define NV20TCL_RC_IN_RGB_A_MAPPING_MASK 0xe0000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV20TCL_VIEWPORT_SCALE_X 0x00000af0
+#define NV20TCL_VIEWPORT_SCALE_Y 0x00000af4
+#define NV20TCL_VIEWPORT_SCALE_Z 0x00000af8
+#define NV20TCL_VIEWPORT_SCALE_W 0x00000afc
+#define NV20TCL_VP_UPLOAD_INST(x) (0x00000b00+((x)*4))
+#define NV20TCL_VP_UPLOAD_INST__SIZE 0x00000004
+#define NV20TCL_VP_UPLOAD_CONST(x) (0x00000b80+((x)*4))
+#define NV20TCL_VP_UPLOAD_CONST__SIZE 0x00000004
+#define NV20TCL_LIGHT_BACK_AMBIENT_R(x) (0x00000c00+((x)*64))
+#define NV20TCL_LIGHT_BACK_AMBIENT_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_AMBIENT_G(x) (0x00000c04+((x)*64))
+#define NV20TCL_LIGHT_BACK_AMBIENT_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_AMBIENT_B(x) (0x00000c08+((x)*64))
+#define NV20TCL_LIGHT_BACK_AMBIENT_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_DIFFUSE_R(x) (0x00000c0c+((x)*64))
+#define NV20TCL_LIGHT_BACK_DIFFUSE_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_DIFFUSE_G(x) (0x00000c10+((x)*64))
+#define NV20TCL_LIGHT_BACK_DIFFUSE_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_DIFFUSE_B(x) (0x00000c14+((x)*64))
+#define NV20TCL_LIGHT_BACK_DIFFUSE_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_SPECULAR_R(x) (0x00000c18+((x)*64))
+#define NV20TCL_LIGHT_BACK_SPECULAR_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_SPECULAR_G(x) (0x00000c1c+((x)*64))
+#define NV20TCL_LIGHT_BACK_SPECULAR_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_SPECULAR_B(x) (0x00000c20+((x)*64))
+#define NV20TCL_LIGHT_BACK_SPECULAR_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_AMBIENT_R(x) (0x00001000+((x)*128))
+#define NV20TCL_LIGHT_FRONT_AMBIENT_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_AMBIENT_G(x) (0x00001004+((x)*128))
+#define NV20TCL_LIGHT_FRONT_AMBIENT_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_AMBIENT_B(x) (0x00001008+((x)*128))
+#define NV20TCL_LIGHT_FRONT_AMBIENT_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_R(x) (0x0000100c+((x)*128))
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_G(x) (0x00001010+((x)*128))
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_B(x) (0x00001014+((x)*128))
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_SPECULAR_R(x) (0x00001018+((x)*128))
+#define NV20TCL_LIGHT_FRONT_SPECULAR_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_SPECULAR_G(x) (0x0000101c+((x)*128))
+#define NV20TCL_LIGHT_FRONT_SPECULAR_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_SPECULAR_B(x) (0x00001020+((x)*128))
+#define NV20TCL_LIGHT_FRONT_SPECULAR_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_HALF_VECTOR_X(x) (0x00001028+((x)*128))
+#define NV20TCL_LIGHT_HALF_VECTOR_X__SIZE 0x00000008
+#define NV20TCL_LIGHT_HALF_VECTOR_Y(x) (0x0000102c+((x)*128))
+#define NV20TCL_LIGHT_HALF_VECTOR_Y__SIZE 0x00000008
+#define NV20TCL_LIGHT_HALF_VECTOR_Z(x) (0x00001030+((x)*128))
+#define NV20TCL_LIGHT_HALF_VECTOR_Z__SIZE 0x00000008
+#define NV20TCL_LIGHT_DIRECTION_X(x) (0x00001034+((x)*128))
+#define NV20TCL_LIGHT_DIRECTION_X__SIZE 0x00000008
+#define NV20TCL_LIGHT_DIRECTION_Y(x) (0x00001038+((x)*128))
+#define NV20TCL_LIGHT_DIRECTION_Y__SIZE 0x00000008
+#define NV20TCL_LIGHT_DIRECTION_Z(x) (0x0000103c+((x)*128))
+#define NV20TCL_LIGHT_DIRECTION_Z__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_CUTOFF_A(x) (0x00001040+((x)*128))
+#define NV20TCL_LIGHT_SPOT_CUTOFF_A__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_CUTOFF_B(x) (0x00001044+((x)*128))
+#define NV20TCL_LIGHT_SPOT_CUTOFF_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_CUTOFF_C(x) (0x00001048+((x)*128))
+#define NV20TCL_LIGHT_SPOT_CUTOFF_C__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_DIR_X(x) (0x0000104c+((x)*128))
+#define NV20TCL_LIGHT_SPOT_DIR_X__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_DIR_Y(x) (0x00001050+((x)*128))
+#define NV20TCL_LIGHT_SPOT_DIR_Y__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_DIR_Z(x) (0x00001054+((x)*128))
+#define NV20TCL_LIGHT_SPOT_DIR_Z__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_CUTOFF_D(x) (0x00001058+((x)*128))
+#define NV20TCL_LIGHT_SPOT_CUTOFF_D__SIZE 0x00000008
+#define NV20TCL_LIGHT_POSITION_X(x) (0x0000105c+((x)*128))
+#define NV20TCL_LIGHT_POSITION_X__SIZE 0x00000008
+#define NV20TCL_LIGHT_POSITION_Y(x) (0x00001060+((x)*128))
+#define NV20TCL_LIGHT_POSITION_Y__SIZE 0x00000008
+#define NV20TCL_LIGHT_POSITION_Z(x) (0x00001064+((x)*128))
+#define NV20TCL_LIGHT_POSITION_Z__SIZE 0x00000008
+#define NV20TCL_LIGHT_ATTENUATION_CONSTANT(x) (0x00001068+((x)*128))
+#define NV20TCL_LIGHT_ATTENUATION_CONSTANT__SIZE 0x00000008
+#define NV20TCL_LIGHT_ATTENUATION_LINEAR(x) (0x0000106c+((x)*128))
+#define NV20TCL_LIGHT_ATTENUATION_LINEAR__SIZE 0x00000008
+#define NV20TCL_LIGHT_ATTENUATION_QUADRATIC(x) (0x00001070+((x)*128))
+#define NV20TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE 0x00000008
+#define NV20TCL_POLYGON_STIPPLE_ENABLE 0x0000147c
+#define NV20TCL_POLYGON_STIPPLE_PATTERN(x) (0x00001480+((x)*4))
+#define NV20TCL_POLYGON_STIPPLE_PATTERN__SIZE 0x00000020
+#define NV20TCL_VERTEX_POS_3F_X 0x00001500
+#define NV20TCL_VERTEX_POS_3F_Y 0x00001504
+#define NV20TCL_VERTEX_POS_3F_Z 0x00001508
+#define NV20TCL_VERTEX_POS_4F_X 0x00001518
+#define NV20TCL_VERTEX_POS_4F_Y 0x0000151c
+#define NV20TCL_VERTEX_POS_4F_Z 0x00001520
+#define NV20TCL_VERTEX_POS_3I_XY 0x00001528
+#define NV20TCL_VERTEX_POS_3I_XY_X_SHIFT 0
+#define NV20TCL_VERTEX_POS_3I_XY_X_MASK 0x0000ffff
+#define NV20TCL_VERTEX_POS_3I_XY_Y_SHIFT 16
+#define NV20TCL_VERTEX_POS_3I_XY_Y_MASK 0xffff0000
+#define NV20TCL_VERTEX_POS_3I_Z 0x0000152c
+#define NV20TCL_VERTEX_POS_3I_Z_Z_SHIFT 0
+#define NV20TCL_VERTEX_POS_3I_Z_Z_MASK 0x0000ffff
+#define NV20TCL_VERTEX_NOR_3F_X 0x00001530
+#define NV20TCL_VERTEX_NOR_3F_Y 0x00001534
+#define NV20TCL_VERTEX_NOR_3F_Z 0x00001538
+#define NV20TCL_VERTEX_NOR_3I_XY 0x00001540
+#define NV20TCL_VERTEX_NOR_3I_XY_X_SHIFT 0
+#define NV20TCL_VERTEX_NOR_3I_XY_X_MASK 0x0000ffff
+#define NV20TCL_VERTEX_NOR_3I_XY_Y_SHIFT 16
+#define NV20TCL_VERTEX_NOR_3I_XY_Y_MASK 0xffff0000
+#define NV20TCL_VERTEX_NOR_3I_Z 0x00001544
+#define NV20TCL_VERTEX_NOR_3I_Z_Z_SHIFT 0
+#define NV20TCL_VERTEX_NOR_3I_Z_Z_MASK 0x0000ffff
+#define NV20TCL_VERTEX_COL_4F_X 0x00001550
+#define NV20TCL_VERTEX_COL_4F_Y 0x00001554
+#define NV20TCL_VERTEX_COL_4F_Z 0x00001558
+#define NV20TCL_VERTEX_COL_4F_W 0x0000155c
+#define NV20TCL_VERTEX_COL_3F_X 0x00001560
+#define NV20TCL_VERTEX_COL_3F_Y 0x00001564
+#define NV20TCL_VERTEX_COL_3F_Z 0x00001568
+#define NV20TCL_VERTEX_COL_4I 0x0000156c
+#define NV20TCL_VERTEX_COL_4I_R_SHIFT 0
+#define NV20TCL_VERTEX_COL_4I_R_MASK 0x000000ff
+#define NV20TCL_VERTEX_COL_4I_G_SHIFT 8
+#define NV20TCL_VERTEX_COL_4I_G_MASK 0x0000ff00
+#define NV20TCL_VERTEX_COL_4I_B_SHIFT 16
+#define NV20TCL_VERTEX_COL_4I_B_MASK 0x00ff0000
+#define NV20TCL_VERTEX_COL_4I_A_SHIFT 24
+#define NV20TCL_VERTEX_COL_4I_A_MASK 0xff000000
+#define NV20TCL_VERTEX_COL2_3F_X 0x00001580
+#define NV20TCL_VERTEX_COL2_3F_Y 0x00001584
+#define NV20TCL_VERTEX_COL2_3F_Z 0x00001588
+#define NV20TCL_VERTEX_COL2_4I 0x0000158c
+#define NV20TCL_VERTEX_COL2_4I_R_SHIFT 0
+#define NV20TCL_VERTEX_COL2_4I_R_MASK 0x000000ff
+#define NV20TCL_VERTEX_COL2_4I_G_SHIFT 8
+#define NV20TCL_VERTEX_COL2_4I_G_MASK 0x0000ff00
+#define NV20TCL_VERTEX_COL2_4I_B_SHIFT 16
+#define NV20TCL_VERTEX_COL2_4I_B_MASK 0x00ff0000
+#define NV20TCL_VERTEX_COL2_4I_A_SHIFT 24
+#define NV20TCL_VERTEX_COL2_4I_A_MASK 0xff000000
+#define NV20TCL_VERTEX_TX0_2F_S 0x00001590
+#define NV20TCL_VERTEX_TX0_2F_T 0x00001594
+#define NV20TCL_VERTEX_TX0_2I 0x00001598
+#define NV20TCL_VERTEX_TX0_2I_S_SHIFT 0
+#define NV20TCL_VERTEX_TX0_2I_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX0_2I_T_SHIFT 16
+#define NV20TCL_VERTEX_TX0_2I_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX0_4F_S 0x000015a0
+#define NV20TCL_VERTEX_TX0_4F_T 0x000015a4
+#define NV20TCL_VERTEX_TX0_4F_R 0x000015a8
+#define NV20TCL_VERTEX_TX0_4F_Q 0x000015ac
+#define NV20TCL_VERTEX_TX0_4I_ST 0x000015b0
+#define NV20TCL_VERTEX_TX0_4I_ST_S_SHIFT 0
+#define NV20TCL_VERTEX_TX0_4I_ST_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX0_4I_ST_T_SHIFT 16
+#define NV20TCL_VERTEX_TX0_4I_ST_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX0_4I_RQ 0x000015b4
+#define NV20TCL_VERTEX_TX0_4I_RQ_R_SHIFT 0
+#define NV20TCL_VERTEX_TX0_4I_RQ_R_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX0_4I_RQ_Q_SHIFT 16
+#define NV20TCL_VERTEX_TX0_4I_RQ_Q_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX1_2F_S 0x000015b8
+#define NV20TCL_VERTEX_TX1_2F_T 0x000015bc
+#define NV20TCL_VERTEX_TX1_2I 0x000015c0
+#define NV20TCL_VERTEX_TX1_2I_S_SHIFT 0
+#define NV20TCL_VERTEX_TX1_2I_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX1_2I_T_SHIFT 16
+#define NV20TCL_VERTEX_TX1_2I_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX1_4F_S 0x000015c8
+#define NV20TCL_VERTEX_TX1_4F_T 0x000015cc
+#define NV20TCL_VERTEX_TX1_4F_R 0x000015d0
+#define NV20TCL_VERTEX_TX1_4F_Q 0x000015d4
+#define NV20TCL_VERTEX_TX1_4I_ST 0x000015d8
+#define NV20TCL_VERTEX_TX1_4I_ST_S_SHIFT 0
+#define NV20TCL_VERTEX_TX1_4I_ST_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX1_4I_ST_T_SHIFT 16
+#define NV20TCL_VERTEX_TX1_4I_ST_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX1_4I_RQ 0x000015dc
+#define NV20TCL_VERTEX_TX1_4I_RQ_R_SHIFT 0
+#define NV20TCL_VERTEX_TX1_4I_RQ_R_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX1_4I_RQ_Q_SHIFT 16
+#define NV20TCL_VERTEX_TX1_4I_RQ_Q_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX2_2F_S 0x000015e0
+#define NV20TCL_VERTEX_TX2_2F_T 0x000015e4
+#define NV20TCL_VERTEX_TX2_2I 0x000015e8
+#define NV20TCL_VERTEX_TX2_2I_S_SHIFT 0
+#define NV20TCL_VERTEX_TX2_2I_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX2_2I_T_SHIFT 16
+#define NV20TCL_VERTEX_TX2_2I_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX2_4F_S 0x000015f0
+#define NV20TCL_VERTEX_TX2_4F_T 0x000015f4
+#define NV20TCL_VERTEX_TX2_4F_R 0x000015f8
+#define NV20TCL_VERTEX_TX2_4F_Q 0x000015fc
+#define NV20TCL_VERTEX_TX2_4I_ST 0x00001600
+#define NV20TCL_VERTEX_TX2_4I_ST_S_SHIFT 0
+#define NV20TCL_VERTEX_TX2_4I_ST_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX2_4I_ST_T_SHIFT 16
+#define NV20TCL_VERTEX_TX2_4I_ST_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX2_4I_RQ 0x00001604
+#define NV20TCL_VERTEX_TX2_4I_RQ_R_SHIFT 0
+#define NV20TCL_VERTEX_TX2_4I_RQ_R_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX2_4I_RQ_Q_SHIFT 16
+#define NV20TCL_VERTEX_TX2_4I_RQ_Q_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX3_2F_S 0x00001608
+#define NV20TCL_VERTEX_TX3_2F_T 0x0000160c
+#define NV20TCL_VERTEX_TX3_2I 0x00001610
+#define NV20TCL_VERTEX_TX3_2I_S_SHIFT 0
+#define NV20TCL_VERTEX_TX3_2I_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX3_2I_T_SHIFT 16
+#define NV20TCL_VERTEX_TX3_2I_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX3_4F_S 0x00001620
+#define NV20TCL_VERTEX_TX3_4F_T 0x00001624
+#define NV20TCL_VERTEX_TX3_4F_R 0x00001628
+#define NV20TCL_VERTEX_TX3_4F_Q 0x0000162c
+#define NV20TCL_VERTEX_TX3_4I_ST 0x00001630
+#define NV20TCL_VERTEX_TX3_4I_ST_S_SHIFT 0
+#define NV20TCL_VERTEX_TX3_4I_ST_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX3_4I_ST_T_SHIFT 16
+#define NV20TCL_VERTEX_TX3_4I_ST_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX3_4I_RQ 0x00001634
+#define NV20TCL_VERTEX_TX3_4I_RQ_R_SHIFT 0
+#define NV20TCL_VERTEX_TX3_4I_RQ_R_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX3_4I_RQ_Q_SHIFT 16
+#define NV20TCL_VERTEX_TX3_4I_RQ_Q_MASK 0xffff0000
+#define NV20TCL_VERTEX_FOG_1F 0x00001698
+#define NV20TCL_EDGEFLAG_ENABLE 0x000016bc
+#define NV20TCL_VTX_CACHE_INVALIDATE 0x00001710
+#define NV20TCL_VTXBUF_ADDRESS(x) (0x00001720+((x)*4))
+#define NV20TCL_VTXBUF_ADDRESS__SIZE 0x00000010
+#define NV20TCL_VTXBUF_ADDRESS_DMA1 (1 << 31)
+#define NV20TCL_VTXBUF_ADDRESS_OFFSET_SHIFT 0
+#define NV20TCL_VTXBUF_ADDRESS_OFFSET_MASK 0x0fffffff
+#define NV20TCL_VTXFMT(x) (0x00001760+((x)*4))
+#define NV20TCL_VTXFMT__SIZE 0x00000010
+#define NV20TCL_VTXFMT_TYPE_SHIFT 0
+#define NV20TCL_VTXFMT_TYPE_MASK 0x0000000f
+#define NV20TCL_VTXFMT_TYPE_FLOAT 0x00000002
+#define NV20TCL_VTXFMT_TYPE_UBYTE 0x00000004
+#define NV20TCL_VTXFMT_TYPE_USHORT 0x00000005
+#define NV20TCL_VTXFMT_SIZE_SHIFT 4
+#define NV20TCL_VTXFMT_SIZE_MASK 0x000000f0
+#define NV20TCL_VTXFMT_STRIDE_SHIFT 8
+#define NV20TCL_VTXFMT_STRIDE_MASK 0x0000ff00
+#define NV20TCL_LIGHT_MODEL_BACK_AMBIENT_R 0x000017a0
+#define NV20TCL_LIGHT_MODEL_BACK_AMBIENT_G 0x000017a4
+#define NV20TCL_LIGHT_MODEL_BACK_AMBIENT_B 0x000017a8
+#define NV20TCL_MATERIAL_FACTOR_BACK_A 0x000017ac
+#define NV20TCL_MATERIAL_FACTOR_BACK_R 0x000017b0
+#define NV20TCL_MATERIAL_FACTOR_BACK_G 0x000017b4
+#define NV20TCL_MATERIAL_FACTOR_BACK_B 0x000017b8
+#define NV20TCL_COLOR_LOGIC_OP_ENABLE 0x000017bc
+#define NV20TCL_COLOR_LOGIC_OP_OP 0x000017c0
+#define NV20TCL_COLOR_LOGIC_OP_OP_CLEAR 0x00001500
+#define NV20TCL_COLOR_LOGIC_OP_OP_AND 0x00001501
+#define NV20TCL_COLOR_LOGIC_OP_OP_AND_REVERSE 0x00001502
+#define NV20TCL_COLOR_LOGIC_OP_OP_COPY 0x00001503
+#define NV20TCL_COLOR_LOGIC_OP_OP_AND_INVERTED 0x00001504
+#define NV20TCL_COLOR_LOGIC_OP_OP_NOOP 0x00001505
+#define NV20TCL_COLOR_LOGIC_OP_OP_XOR 0x00001506
+#define NV20TCL_COLOR_LOGIC_OP_OP_OR 0x00001507
+#define NV20TCL_COLOR_LOGIC_OP_OP_NOR 0x00001508
+#define NV20TCL_COLOR_LOGIC_OP_OP_EQUIV 0x00001509
+#define NV20TCL_COLOR_LOGIC_OP_OP_INVERT 0x0000150a
+#define NV20TCL_COLOR_LOGIC_OP_OP_OR_REVERSE 0x0000150b
+#define NV20TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED 0x0000150c
+#define NV20TCL_COLOR_LOGIC_OP_OP_OR_INVERTED 0x0000150d
+#define NV20TCL_COLOR_LOGIC_OP_OP_NAND 0x0000150e
+#define NV20TCL_COLOR_LOGIC_OP_OP_SET 0x0000150f
+#define NV20TCL_LIGHT_MODEL_TWO_SIDE_ENABLE 0x000017c4
+#define NV20TCL_TX_SHADER_CULL_MODE 0x000017f8
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_S (1 << 0)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_S_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_S_LESS 0x00000001
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_T (1 << 1)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_T_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_T_LESS 0x00000002
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_R (1 << 2)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_R_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_R_LESS 0x00000004
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_Q (1 << 3)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_Q_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_Q_LESS 0x00000008
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_S (1 << 4)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_S_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_S_LESS 0x00000010
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_T (1 << 5)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_T_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_T_LESS 0x00000020
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_R (1 << 6)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_R_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_R_LESS 0x00000040
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_Q (1 << 7)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_Q_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_Q_LESS 0x00000080
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_S (1 << 8)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_S_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_S_LESS 0x00000100
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_T (1 << 9)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_T_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_T_LESS 0x00000200
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_R (1 << 10)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_R_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_R_LESS 0x00000400
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_Q (1 << 11)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_Q_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_Q_LESS 0x00000800
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_S (1 << 12)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_S_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_S_LESS 0x00001000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_T (1 << 13)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_T_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_T_LESS 0x00002000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_R (1 << 14)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_R_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_R_LESS 0x00004000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_Q (1 << 15)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_Q_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_Q_LESS 0x00008000
+#define NV20TCL_VERTEX_BEGIN_END 0x000017fc
+#define NV20TCL_VERTEX_BEGIN_END_STOP 0x00000000
+#define NV20TCL_VERTEX_BEGIN_END_POINTS 0x00000001
+#define NV20TCL_VERTEX_BEGIN_END_LINES 0x00000002
+#define NV20TCL_VERTEX_BEGIN_END_LINE_LOOP 0x00000003
+#define NV20TCL_VERTEX_BEGIN_END_LINE_STRIP 0x00000004
+#define NV20TCL_VERTEX_BEGIN_END_TRIANGLES 0x00000005
+#define NV20TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP 0x00000006
+#define NV20TCL_VERTEX_BEGIN_END_TRIANGLE_FAN 0x00000007
+#define NV20TCL_VERTEX_BEGIN_END_QUADS 0x00000008
+#define NV20TCL_VERTEX_BEGIN_END_QUAD_STRIP 0x00000009
+#define NV20TCL_VERTEX_BEGIN_END_POLYGON 0x0000000a
+#define NV20TCL_VB_ELEMENT_U16 0x00001800
+#define NV20TCL_VB_ELEMENT_U16_I0_SHIFT 0
+#define NV20TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff
+#define NV20TCL_VB_ELEMENT_U16_I1_SHIFT 16
+#define NV20TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000
+#define NV20TCL_VB_ELEMENT_U32 0x00001808
+#define NV20TCL_VB_VERTEX_BATCH 0x00001810
+#define NV20TCL_VB_VERTEX_BATCH_OFFSET_SHIFT 0
+#define NV20TCL_VB_VERTEX_BATCH_OFFSET_MASK 0x00ffffff
+#define NV20TCL_VB_VERTEX_BATCH_COUNT_SHIFT 24
+#define NV20TCL_VB_VERTEX_BATCH_COUNT_MASK 0xff000000
+#define NV20TCL_VERTEX_DATA 0x00001818
+#define NV20TCL_TX_SHADER_CONST_EYE_X 0x0000181c
+#define NV20TCL_TX_SHADER_CONST_EYE_Y 0x00001820
+#define NV20TCL_TX_SHADER_CONST_EYE_Z 0x00001824
+#define NV20TCL_VTX_ATTR_4F_X(x) (0x00001a00+((x)*16))
+#define NV20TCL_VTX_ATTR_4F_X__SIZE 0x00000010
+#define NV20TCL_VTX_ATTR_4F_Y(x) (0x00001a04+((x)*16))
+#define NV20TCL_VTX_ATTR_4F_Y__SIZE 0x00000010
+#define NV20TCL_VTX_ATTR_4F_Z(x) (0x00001a08+((x)*16))
+#define NV20TCL_VTX_ATTR_4F_Z__SIZE 0x00000010
+#define NV20TCL_VTX_ATTR_4F_W(x) (0x00001a0c+((x)*16))
+#define NV20TCL_VTX_ATTR_4F_W__SIZE 0x00000010
+#define NV20TCL_TX_OFFSET(x) (0x00001b00+((x)*64))
+#define NV20TCL_TX_OFFSET__SIZE 0x00000004
+#define NV20TCL_TX_FORMAT(x) (0x00001b04+((x)*64))
+#define NV20TCL_TX_FORMAT__SIZE 0x00000004
+#define NV20TCL_TX_FORMAT_DMA0 (1 << 0)
+#define NV20TCL_TX_FORMAT_DMA1 (1 << 1)
+#define NV20TCL_TX_FORMAT_CUBIC (1 << 2)
+#define NV20TCL_TX_FORMAT_NO_BORDER (1 << 3)
+#define NV20TCL_TX_FORMAT_DIMS_SHIFT 4
+#define NV20TCL_TX_FORMAT_DIMS_MASK 0x000000f0
+#define NV20TCL_TX_FORMAT_DIMS_1D 0x00000010
+#define NV20TCL_TX_FORMAT_DIMS_2D 0x00000020
+#define NV20TCL_TX_FORMAT_DIMS_3D 0x00000030
+#define NV20TCL_TX_FORMAT_FORMAT_SHIFT 8
+#define NV20TCL_TX_FORMAT_FORMAT_MASK 0x0000ff00
+#define NV20TCL_TX_FORMAT_FORMAT_L8 0x00000000
+#define NV20TCL_TX_FORMAT_FORMAT_A8 0x00000100
+#define NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5 0x00000200
+#define NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4 0x00000400
+#define NV20TCL_TX_FORMAT_FORMAT_R5G6B5 0x00000500
+#define NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8 0x00000600
+#define NV20TCL_TX_FORMAT_FORMAT_X8R8G8B8 0x00000700
+#define NV20TCL_TX_FORMAT_FORMAT_INDEX8 0x00000b00
+#define NV20TCL_TX_FORMAT_FORMAT_DXT1 0x00000c00
+#define NV20TCL_TX_FORMAT_FORMAT_DXT3 0x00000e00
+#define NV20TCL_TX_FORMAT_FORMAT_DXT5 0x00000f00
+#define NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT 0x00001000
+#define NV20TCL_TX_FORMAT_FORMAT_R5G6B5_RECT 0x00001100
+#define NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT 0x00001200
+#define NV20TCL_TX_FORMAT_FORMAT_L8_RECT 0x00001300
+#define NV20TCL_TX_FORMAT_FORMAT_DSDT8_RECT 0x00001700
+#define NV20TCL_TX_FORMAT_FORMAT_A8L8 0x00001a00
+#define NV20TCL_TX_FORMAT_FORMAT_A8_RECT 0x00001b00
+#define NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT 0x00001d00
+#define NV20TCL_TX_FORMAT_FORMAT_R8G8B8_RECT 0x00001e00
+#define NV20TCL_TX_FORMAT_FORMAT_A8L8_RECT 0x00002000
+#define NV20TCL_TX_FORMAT_FORMAT_DSDT8 0x00002800
+#define NV20TCL_TX_FORMAT_FORMAT_HILO16 0x00003300
+#define NV20TCL_TX_FORMAT_FORMAT_HILO16_RECT 0x00003600
+#define NV20TCL_TX_FORMAT_FORMAT_HILO8 0x00004400
+#define NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8 0x00004500
+#define NV20TCL_TX_FORMAT_FORMAT_HILO8_RECT 0x00004600
+#define NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT 0x00004700
+#define NV20TCL_TX_FORMAT_FORMAT_A16 0x00003200
+#define NV20TCL_TX_FORMAT_FORMAT_A16_RECT 0x00003500
+#define NV20TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV 0x00004a00
+#define NV20TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV 0x00004b00
+#define NV20TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV 0x00004c00
+#define NV20TCL_TX_FORMAT_MIPMAP (1 << 19)
+#define NV20TCL_TX_FORMAT_BASE_SIZE_U_SHIFT 20
+#define NV20TCL_TX_FORMAT_BASE_SIZE_U_MASK 0x00f00000
+#define NV20TCL_TX_FORMAT_BASE_SIZE_V_SHIFT 24
+#define NV20TCL_TX_FORMAT_BASE_SIZE_V_MASK 0x0f000000
+#define NV20TCL_TX_FORMAT_BASE_SIZE_W_SHIFT 28
+#define NV20TCL_TX_FORMAT_BASE_SIZE_W_MASK 0xf0000000
+#define NV20TCL_TX_WRAP(x) (0x00001b08+((x)*64))
+#define NV20TCL_TX_WRAP__SIZE 0x00000004
+#define NV20TCL_TX_WRAP_S_SHIFT 0
+#define NV20TCL_TX_WRAP_S_MASK 0x000000ff
+#define NV20TCL_TX_WRAP_S_REPEAT 0x00000001
+#define NV20TCL_TX_WRAP_S_MIRRORED_REPEAT 0x00000002
+#define NV20TCL_TX_WRAP_S_CLAMP_TO_EDGE 0x00000003
+#define NV20TCL_TX_WRAP_S_CLAMP_TO_BORDER 0x00000004
+#define NV20TCL_TX_WRAP_S_CLAMP 0x00000005
+#define NV20TCL_TX_WRAP_T_SHIFT 8
+#define NV20TCL_TX_WRAP_T_MASK 0x00000f00
+#define NV20TCL_TX_WRAP_T_REPEAT 0x00000100
+#define NV20TCL_TX_WRAP_T_MIRRORED_REPEAT 0x00000200
+#define NV20TCL_TX_WRAP_T_CLAMP_TO_EDGE 0x00000300
+#define NV20TCL_TX_WRAP_T_CLAMP_TO_BORDER 0x00000400
+#define NV20TCL_TX_WRAP_T_CLAMP 0x00000500
+#define NV20TCL_TX_WRAP_R_SHIFT 16
+#define NV20TCL_TX_WRAP_R_MASK 0x000f0000
+#define NV20TCL_TX_WRAP_R_REPEAT 0x00010000
+#define NV20TCL_TX_WRAP_R_MIRRORED_REPEAT 0x00020000
+#define NV20TCL_TX_WRAP_R_CLAMP_TO_EDGE 0x00030000
+#define NV20TCL_TX_WRAP_R_CLAMP_TO_BORDER 0x00040000
+#define NV20TCL_TX_WRAP_R_CLAMP 0x00050000
+#define NV20TCL_TX_ENABLE(x) (0x00001b0c+((x)*64))
+#define NV20TCL_TX_ENABLE__SIZE 0x00000004
+#define NV20TCL_TX_ENABLE_ANISO_SHIFT 4
+#define NV20TCL_TX_ENABLE_ANISO_MASK 0x00000030
+#define NV20TCL_TX_ENABLE_ANISO_NONE 0x00000000
+#define NV20TCL_TX_ENABLE_ANISO_2X 0x00000010
+#define NV20TCL_TX_ENABLE_ANISO_4X 0x00000020
+#define NV20TCL_TX_ENABLE_ANISO_8X 0x00000030
+#define NV20TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT 14
+#define NV20TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK 0x0003c000
+#define NV20TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT 26
+#define NV20TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK 0x3c000000
+#define NV20TCL_TX_ENABLE_ENABLE (1 << 30)
+#define NV20TCL_TX_NPOT_PITCH(x) (0x00001b10+((x)*64))
+#define NV20TCL_TX_NPOT_PITCH__SIZE 0x00000004
+#define NV20TCL_TX_NPOT_PITCH_PITCH_SHIFT 16
+#define NV20TCL_TX_NPOT_PITCH_PITCH_MASK 0xffff0000
+#define NV20TCL_TX_FILTER(x) (0x00001b14+((x)*64))
+#define NV20TCL_TX_FILTER__SIZE 0x00000004
+#define NV20TCL_TX_FILTER_LOD_BIAS_SHIFT 8
+#define NV20TCL_TX_FILTER_LOD_BIAS_MASK 0x00000f00
+#define NV20TCL_TX_FILTER_MINIFY_SHIFT 16
+#define NV20TCL_TX_FILTER_MINIFY_MASK 0x000f0000
+#define NV20TCL_TX_FILTER_MINIFY_NEAREST 0x00010000
+#define NV20TCL_TX_FILTER_MINIFY_LINEAR 0x00020000
+#define NV20TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST 0x00030000
+#define NV20TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST 0x00040000
+#define NV20TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR 0x00050000
+#define NV20TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR 0x00060000
+#define NV20TCL_TX_FILTER_MAGNIFY_SHIFT 24
+#define NV20TCL_TX_FILTER_MAGNIFY_MASK 0x0f000000
+#define NV20TCL_TX_FILTER_MAGNIFY_NEAREST 0x01000000
+#define NV20TCL_TX_FILTER_MAGNIFY_LINEAR 0x02000000
+#define NV20TCL_TX_NPOT_SIZE(x) (0x00001b1c+((x)*64))
+#define NV20TCL_TX_NPOT_SIZE__SIZE 0x00000004
+#define NV20TCL_TX_NPOT_SIZE_H_SHIFT 0
+#define NV20TCL_TX_NPOT_SIZE_H_MASK 0x0000ffff
+#define NV20TCL_TX_NPOT_SIZE_W_SHIFT 16
+#define NV20TCL_TX_NPOT_SIZE_W_MASK 0xffff0000
+#define NV20TCL_TX_PALETTE_OFFSET(x) (0x00001b20+((x)*64))
+#define NV20TCL_TX_PALETTE_OFFSET__SIZE 0x00000004
+#define NV20TCL_TX_BORDER_COLOR(x) (0x00001b24+((x)*64))
+#define NV20TCL_TX_BORDER_COLOR__SIZE 0x00000004
+#define NV20TCL_TX_BORDER_COLOR_B_SHIFT 0
+#define NV20TCL_TX_BORDER_COLOR_B_MASK 0x000000ff
+#define NV20TCL_TX_BORDER_COLOR_G_SHIFT 8
+#define NV20TCL_TX_BORDER_COLOR_G_MASK 0x0000ff00
+#define NV20TCL_TX_BORDER_COLOR_R_SHIFT 16
+#define NV20TCL_TX_BORDER_COLOR_R_MASK 0x00ff0000
+#define NV20TCL_TX_BORDER_COLOR_A_SHIFT 24
+#define NV20TCL_TX_BORDER_COLOR_A_MASK 0xff000000
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX00(x) (0x00001b28+((x)*64))
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX00__SIZE 0x00000004
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX01(x) (0x00001b2c+((x)*64))
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX01__SIZE 0x00000004
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX11(x) (0x00001b30+((x)*64))
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX11__SIZE 0x00000004
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX10(x) (0x00001b34+((x)*64))
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX10__SIZE 0x00000004
+#define NV20TCL_DEPTH_UNK17D8 0x00001d78
+#define NV20TCL_DEPTH_UNK17D8_CLAMP_SHIFT 4
+#define NV20TCL_DEPTH_UNK17D8_CLAMP_MASK 0x000000f0
+#define NV20TCL_MULTISAMPLE_CONTROL 0x00001d7c
+#define NV20TCL_CLEAR_DEPTH_VALUE 0x00001d8c
+#define NV20TCL_CLEAR_VALUE 0x00001d90
+#define NV20TCL_CLEAR_BUFFERS 0x00001d94
+#define NV20TCL_CLEAR_BUFFERS_COLOR_A (1 << 7)
+#define NV20TCL_CLEAR_BUFFERS_COLOR_B (1 << 6)
+#define NV20TCL_CLEAR_BUFFERS_COLOR_G (1 << 5)
+#define NV20TCL_CLEAR_BUFFERS_COLOR_R (1 << 4)
+#define NV20TCL_CLEAR_BUFFERS_STENCIL (1 << 1)
+#define NV20TCL_CLEAR_BUFFERS_DEPTH (1 << 0)
+#define NV20TCL_RC_COLOR0 0x00001e20
+#define NV20TCL_RC_COLOR0_B_SHIFT 0
+#define NV20TCL_RC_COLOR0_B_MASK 0x000000ff
+#define NV20TCL_RC_COLOR0_G_SHIFT 8
+#define NV20TCL_RC_COLOR0_G_MASK 0x0000ff00
+#define NV20TCL_RC_COLOR0_R_SHIFT 16
+#define NV20TCL_RC_COLOR0_R_MASK 0x00ff0000
+#define NV20TCL_RC_COLOR0_A_SHIFT 24
+#define NV20TCL_RC_COLOR0_A_MASK 0xff000000
+#define NV20TCL_RC_COLOR1 0x00001e24
+#define NV20TCL_RC_COLOR1_B_SHIFT 0
+#define NV20TCL_RC_COLOR1_B_MASK 0x000000ff
+#define NV20TCL_RC_COLOR1_G_SHIFT 8
+#define NV20TCL_RC_COLOR1_G_MASK 0x0000ff00
+#define NV20TCL_RC_COLOR1_R_SHIFT 16
+#define NV20TCL_RC_COLOR1_R_MASK 0x00ff0000
+#define NV20TCL_RC_COLOR1_A_SHIFT 24
+#define NV20TCL_RC_COLOR1_A_MASK 0xff000000
+#define NV20TCL_BACK_MATERIAL_SHININESS(x) (0x00001e28+((x)*4))
+#define NV20TCL_BACK_MATERIAL_SHININESS__SIZE 0x00000006
+#define NV20TCL_RC_OUT_RGB(x) (0x00001e40+((x)*4))
+#define NV20TCL_RC_OUT_RGB__SIZE 0x00000008
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT 0
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_MASK 0x0000000f
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_FOG 0x00000003
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0 0x0000000c
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1 0x0000000d
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT 4
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_MASK 0x000000f0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_FOG 0x00000030
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0 0x000000c0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1 0x000000d0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT 8
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_MASK 0x00000f00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_FOG 0x00000300
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_OUT_RGB_CD_DOT_PRODUCT (1 << 12)
+#define NV20TCL_RC_OUT_RGB_AB_DOT_PRODUCT (1 << 13)
+#define NV20TCL_RC_OUT_RGB_MUX_SUM (1 << 14)
+#define NV20TCL_RC_OUT_RGB_BIAS (1 << 15)
+#define NV20TCL_RC_OUT_RGB_BIAS_NONE 0x00000000
+#define NV20TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV20TCL_RC_OUT_RGB_SCALE_SHIFT 17
+#define NV20TCL_RC_OUT_RGB_SCALE_MASK 0x00000000
+#define NV20TCL_RC_OUT_RGB_SCALE_NONE 0x00000000
+#define NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO 0x00020000
+#define NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV20TCL_RC_ENABLE 0x00001e60
+#define NV20TCL_RC_ENABLE_NUM_COMBINERS_SHIFT 0
+#define NV20TCL_RC_ENABLE_NUM_COMBINERS_MASK 0x0000000f
+#define NV20TCL_TX_RCOMP 0x00001e6c
+#define NV20TCL_TX_RCOMP_NEVER 0x00000000
+#define NV20TCL_TX_RCOMP_GREATER 0x00000001
+#define NV20TCL_TX_RCOMP_EQUAL 0x00000002
+#define NV20TCL_TX_RCOMP_GEQUAL 0x00000003
+#define NV20TCL_TX_RCOMP_LESS 0x00000004
+#define NV20TCL_TX_RCOMP_NOTEQUAL 0x00000005
+#define NV20TCL_TX_RCOMP_LEQUAL 0x00000006
+#define NV20TCL_TX_RCOMP_ALWAYS 0x00000007
+#define NV20TCL_TX_SHADER_OP 0x00001e70
+#define NV20TCL_TX_SHADER_OP_TX0_SHIFT 0
+#define NV20TCL_TX_SHADER_OP_TX0_MASK 0x0000001f
+#define NV20TCL_TX_SHADER_OP_TX0_NONE 0x00000000
+#define NV20TCL_TX_SHADER_OP_TX0_TEXTURE_2D 0x00000001
+#define NV20TCL_TX_SHADER_OP_TX0_PASS_THROUGH 0x00000004
+#define NV20TCL_TX_SHADER_OP_TX0_CULL_FRAGMENT 0x00000005
+#define NV20TCL_TX_SHADER_OP_TX0_OFFSET_TEXTURE_2D 0x00000006
+#define NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT_TEXTURE_2D 0x00000009
+#define NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT_DEPTH_REPLACE 0x0000000a
+#define NV20TCL_TX_SHADER_OP_TX0_DEPENDANT_AR_TEXTURE_2D 0x0000000f
+#define NV20TCL_TX_SHADER_OP_TX0_DEPENDANT_GB_TEXTURE_2D 0x00000010
+#define NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT 0x00000011
+#define NV20TCL_TX_SHADER_OP_TX1_SHIFT 5
+#define NV20TCL_TX_SHADER_OP_TX1_MASK 0x000003e0
+#define NV20TCL_TX_SHADER_OP_TX1_NONE 0x00000000
+#define NV20TCL_TX_SHADER_OP_TX1_TEXTURE_2D 0x00000020
+#define NV20TCL_TX_SHADER_OP_TX1_PASS_THROUGH 0x00000080
+#define NV20TCL_TX_SHADER_OP_TX1_CULL_FRAGMENT 0x000000a0
+#define NV20TCL_TX_SHADER_OP_TX1_OFFSET_TEXTURE_2D 0x000000c0
+#define NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT_TEXTURE_2D 0x00000120
+#define NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT_DEPTH_REPLACE 0x00000140
+#define NV20TCL_TX_SHADER_OP_TX1_DEPENDANT_AR_TEXTURE_2D 0x000001e0
+#define NV20TCL_TX_SHADER_OP_TX1_DEPENDANT_GB_TEXTURE_2D 0x00000200
+#define NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT 0x00000220
+#define NV20TCL_TX_SHADER_OP_TX2_SHIFT 10
+#define NV20TCL_TX_SHADER_OP_TX2_MASK 0x00007c00
+#define NV20TCL_TX_SHADER_OP_TX2_NONE 0x00000000
+#define NV20TCL_TX_SHADER_OP_TX2_TEXTURE_2D 0x00000400
+#define NV20TCL_TX_SHADER_OP_TX2_PASS_THROUGH 0x00001000
+#define NV20TCL_TX_SHADER_OP_TX2_CULL_FRAGMENT 0x00001400
+#define NV20TCL_TX_SHADER_OP_TX2_OFFSET_TEXTURE_2D 0x00001800
+#define NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT_TEXTURE_2D 0x00002400
+#define NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT_DEPTH_REPLACE 0x00002800
+#define NV20TCL_TX_SHADER_OP_TX2_DEPENDANT_AR_TEXTURE_2D 0x00003c00
+#define NV20TCL_TX_SHADER_OP_TX2_DEPENDANT_GB_TEXTURE_2D 0x00004000
+#define NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT 0x00004400
+#define NV20TCL_TX_SHADER_OP_TX3_SHIFT 15
+#define NV20TCL_TX_SHADER_OP_TX3_MASK 0x000f8000
+#define NV20TCL_TX_SHADER_OP_TX3_NONE 0x00000000
+#define NV20TCL_TX_SHADER_OP_TX3_TEXTURE_2D 0x00008000
+#define NV20TCL_TX_SHADER_OP_TX3_PASS_THROUGH 0x00020000
+#define NV20TCL_TX_SHADER_OP_TX3_CULL_FRAGMENT 0x00028000
+#define NV20TCL_TX_SHADER_OP_TX3_OFFSET_TEXTURE_2D 0x00030000
+#define NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT_TEXTURE_2D 0x00048000
+#define NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT_DEPTH_REPLACE 0x00050000
+#define NV20TCL_TX_SHADER_OP_TX3_DEPENDANT_AR_TEXTURE_2D 0x00078000
+#define NV20TCL_TX_SHADER_OP_TX3_DEPENDANT_GB_TEXTURE_2D 0x00080000
+#define NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT 0x00088000
+#define NV20TCL_TX_SHADER_DOTMAPPING 0x00001e74
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX0_SHIFT 0
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX0_MASK 0x0000000f
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX1_SHIFT 4
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX1_MASK 0x000000f0
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX2_SHIFT 8
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX2_MASK 0x00000f00
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX3_SHIFT 12
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX3_MASK 0x0000f000
+#define NV20TCL_TX_SHADER_PREVIOUS 0x00001e78
+#define NV20TCL_TX_SHADER_PREVIOUS_TX0_SHIFT 8
+#define NV20TCL_TX_SHADER_PREVIOUS_TX0_MASK 0x00000f00
+#define NV20TCL_TX_SHADER_PREVIOUS_TX1_SHIFT 12
+#define NV20TCL_TX_SHADER_PREVIOUS_TX1_MASK 0x0000f000
+#define NV20TCL_TX_SHADER_PREVIOUS_TX2_SHIFT 16
+#define NV20TCL_TX_SHADER_PREVIOUS_TX2_MASK 0x00030000
+#define NV20TCL_TX_SHADER_PREVIOUS_TX3_SHIFT 20
+#define NV20TCL_TX_SHADER_PREVIOUS_TX3_MASK 0x00300000
+#define NV20TCL_ENGINE 0x00001e94
+#define NV20TCL_ENGINE_VP (1 << 1)
+#define NV20TCL_ENGINE_FIXED (1 << 2)
+#define NV20TCL_VP_UPLOAD_FROM_ID 0x00001e9c
+#define NV20TCL_VP_START_FROM_ID 0x00001ea0
+#define NV20TCL_VP_UPLOAD_CONST_ID 0x00001ea4
+
+
+#define NV25TCL 0x00000597
+
+#define NV25TCL_DMA_IN_MEMORY4 0x0000019c
+#define NV25TCL_DMA_IN_MEMORY5 0x000001a0
+#define NV25TCL_DMA_IN_MEMORY8 0x000001ac
+#define NV25TCL_DMA_IN_MEMORY9 0x000001b0
+
+
+#define NV30TCL 0x00000397
+
+
+
+#define NV35TCL 0x00000497
+
+
+
+#define NV34TCL 0x00000697
+
+#define NV34TCL_NOP 0x00000100
+#define NV34TCL_NOTIFY 0x00000104
+#define NV34TCL_DMA_NOTIFY 0x00000180
+#define NV34TCL_DMA_TEXTURE0 0x00000184
+#define NV34TCL_DMA_TEXTURE1 0x00000188
+#define NV34TCL_DMA_COLOR1 0x0000018c
+#define NV34TCL_DMA_COLOR0 0x00000194
+#define NV34TCL_DMA_ZETA 0x00000198
+#define NV34TCL_DMA_VTXBUF0 0x0000019c
+#define NV34TCL_DMA_VTXBUF1 0x000001a0
+#define NV34TCL_DMA_FENCE 0x000001a4
+#define NV34TCL_DMA_QUERY 0x000001a8
+#define NV34TCL_DMA_IN_MEMORY7 0x000001ac
+#define NV34TCL_DMA_IN_MEMORY8 0x000001b0
+#define NV34TCL_RT_HORIZ 0x00000200
+#define NV34TCL_RT_HORIZ_X_SHIFT 0
+#define NV34TCL_RT_HORIZ_X_MASK 0x0000ffff
+#define NV34TCL_RT_HORIZ_W_SHIFT 16
+#define NV34TCL_RT_HORIZ_W_MASK 0xffff0000
+#define NV34TCL_RT_VERT 0x00000204
+#define NV34TCL_RT_VERT_Y_SHIFT 0
+#define NV34TCL_RT_VERT_Y_MASK 0x0000ffff
+#define NV34TCL_RT_VERT_H_SHIFT 16
+#define NV34TCL_RT_VERT_H_MASK 0xffff0000
+#define NV34TCL_RT_FORMAT 0x00000208
+#define NV34TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT 24
+#define NV34TCL_RT_FORMAT_LOG2_HEIGHT_MASK 0xff000000
+#define NV34TCL_RT_FORMAT_LOG2_WIDTH_SHIFT 16
+#define NV34TCL_RT_FORMAT_LOG2_WIDTH_MASK 0x00ff0000
+#define NV34TCL_RT_FORMAT_TYPE_SHIFT 8
+#define NV34TCL_RT_FORMAT_TYPE_MASK 0x00000f00
+#define NV34TCL_RT_FORMAT_TYPE_LINEAR 0x00000100
+#define NV34TCL_RT_FORMAT_TYPE_SWIZZLED 0x00000200
+#define NV34TCL_RT_FORMAT_ZETA_SHIFT 5
+#define NV34TCL_RT_FORMAT_ZETA_MASK 0x000000e0
+#define NV34TCL_RT_FORMAT_ZETA_Z16 0x00000020
+#define NV34TCL_RT_FORMAT_ZETA_Z24S8 0x00000040
+#define NV34TCL_RT_FORMAT_COLOR_SHIFT 0
+#define NV34TCL_RT_FORMAT_COLOR_MASK 0x0000001f
+#define NV34TCL_RT_FORMAT_COLOR_R5G6B5 0x00000003
+#define NV34TCL_RT_FORMAT_COLOR_X8R8G8B8 0x00000005
+#define NV34TCL_RT_FORMAT_COLOR_A8R8G8B8 0x00000008
+#define NV34TCL_RT_FORMAT_COLOR_B8 0x00000009
+#define NV34TCL_RT_FORMAT_COLOR_UNKNOWN 0x0000000d
+#define NV34TCL_RT_FORMAT_COLOR_X8B8G8R8 0x0000000f
+#define NV34TCL_RT_FORMAT_COLOR_A8B8G8R8 0x00000010
+#define NV34TCL_COLOR0_PITCH 0x0000020c
+#define NV34TCL_COLOR0_PITCH_COLOR0_SHIFT 0
+#define NV34TCL_COLOR0_PITCH_COLOR0_MASK 0x0000ffff
+#define NV34TCL_COLOR0_PITCH_ZETA_SHIFT 16
+#define NV34TCL_COLOR0_PITCH_ZETA_MASK 0xffff0000
+#define NV34TCL_COLOR0_OFFSET 0x00000210
+#define NV34TCL_ZETA_OFFSET 0x00000214
+#define NV34TCL_COLOR1_OFFSET 0x00000218
+#define NV34TCL_COLOR1_PITCH 0x0000021c
+#define NV34TCL_RT_ENABLE 0x00000220
+#define NV34TCL_RT_ENABLE_MRT (1 << 4)
+#define NV34TCL_RT_ENABLE_COLOR1 (1 << 1)
+#define NV34TCL_RT_ENABLE_COLOR0 (1 << 0)
+#define NV34TCL_LMA_DEPTH_PITCH 0x0000022c
+#define NV34TCL_LMA_DEPTH_OFFSET 0x00000230
+#define NV34TCL_TX_UNITS_ENABLE 0x0000023c
+#define NV34TCL_TX_UNITS_ENABLE_TX0 (1 << 0)
+#define NV34TCL_TX_UNITS_ENABLE_TX1 (1 << 1)
+#define NV34TCL_TX_UNITS_ENABLE_TX2 (1 << 2)
+#define NV34TCL_TX_UNITS_ENABLE_TX3 (1 << 3)
+#define NV34TCL_TX_UNITS_ENABLE_TX4 (1 << 4)
+#define NV34TCL_TX_UNITS_ENABLE_TX5 (1 << 5)
+#define NV34TCL_TX_UNITS_ENABLE_TX6 (1 << 6)
+#define NV34TCL_TX_UNITS_ENABLE_TX7 (1 << 7)
+#define NV34TCL_TX_MATRIX_ENABLE(x) (0x00000240+((x)*4))
+#define NV34TCL_TX_MATRIX_ENABLE__SIZE 0x00000008
+#define NV34TCL_VIEWPORT_TX_ORIGIN 0x000002b8
+#define NV34TCL_VIEWPORT_TX_ORIGIN_X_SHIFT 0
+#define NV34TCL_VIEWPORT_TX_ORIGIN_X_MASK 0x0000ffff
+#define NV34TCL_VIEWPORT_TX_ORIGIN_Y_SHIFT 16
+#define NV34TCL_VIEWPORT_TX_ORIGIN_Y_MASK 0xffff0000
+#define NV34TCL_VIEWPORT_CLIP_MODE 0x000002bc
+#define NV34TCL_VIEWPORT_CLIP_HORIZ(x) (0x000002c0+((x)*8))
+#define NV34TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008
+#define NV34TCL_VIEWPORT_CLIP_HORIZ_L_SHIFT 0
+#define NV34TCL_VIEWPORT_CLIP_HORIZ_L_MASK 0x0000ffff
+#define NV34TCL_VIEWPORT_CLIP_HORIZ_R_SHIFT 16
+#define NV34TCL_VIEWPORT_CLIP_HORIZ_R_MASK 0xffff0000
+#define NV34TCL_VIEWPORT_CLIP_VERT(x) (0x000002c4+((x)*8))
+#define NV34TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008
+#define NV34TCL_VIEWPORT_CLIP_VERT_T_SHIFT 0
+#define NV34TCL_VIEWPORT_CLIP_VERT_T_MASK 0x0000ffff
+#define NV34TCL_VIEWPORT_CLIP_VERT_D_SHIFT 16
+#define NV34TCL_VIEWPORT_CLIP_VERT_D_MASK 0xffff0000
+#define NV34TCL_DITHER_ENABLE 0x00000300
+#define NV34TCL_ALPHA_FUNC_ENABLE 0x00000304
+#define NV34TCL_ALPHA_FUNC_FUNC 0x00000308
+#define NV34TCL_ALPHA_FUNC_FUNC_NEVER 0x00000200
+#define NV34TCL_ALPHA_FUNC_FUNC_LESS 0x00000201
+#define NV34TCL_ALPHA_FUNC_FUNC_EQUAL 0x00000202
+#define NV34TCL_ALPHA_FUNC_FUNC_LEQUAL 0x00000203
+#define NV34TCL_ALPHA_FUNC_FUNC_GREATER 0x00000204
+#define NV34TCL_ALPHA_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV34TCL_ALPHA_FUNC_FUNC_GEQUAL 0x00000206
+#define NV34TCL_ALPHA_FUNC_FUNC_ALWAYS 0x00000207
+#define NV34TCL_ALPHA_FUNC_REF 0x0000030c
+#define NV34TCL_BLEND_FUNC_ENABLE 0x00000310
+#define NV34TCL_BLEND_FUNC_SRC 0x00000314
+#define NV34TCL_BLEND_FUNC_SRC_RGB_SHIFT 0
+#define NV34TCL_BLEND_FUNC_SRC_RGB_MASK 0x0000ffff
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00000000
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE 0x00000001
+#define NV34TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00000300
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV34TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00000302
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV34TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00000304
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV34TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00000306
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV34TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV34TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x00008001
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV34TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x00008003
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_SHIFT 16
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_MASK 0xffff0000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00000000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00010000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x03000000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x03010000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x03020000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x03030000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x03040000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x03050000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x03060000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x03070000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x03080000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x80010000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x80020000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x80030000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x80040000
+#define NV34TCL_BLEND_FUNC_DST 0x00000318
+#define NV34TCL_BLEND_FUNC_DST_RGB_SHIFT 0
+#define NV34TCL_BLEND_FUNC_DST_RGB_MASK 0x0000ffff
+#define NV34TCL_BLEND_FUNC_DST_RGB_ZERO 0x00000000
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE 0x00000001
+#define NV34TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00000300
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV34TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00000302
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV34TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00000304
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV34TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00000306
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV34TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV34TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x00008001
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV34TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x00008003
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_SHIFT 16
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_MASK 0xffff0000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ZERO 0x00000000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE 0x00010000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR 0x03000000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x03010000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA 0x03020000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x03030000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA 0x03040000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x03050000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR 0x03060000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR 0x03070000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE 0x03080000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR 0x80010000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x80020000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA 0x80030000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x80040000
+#define NV34TCL_BLEND_COLOR 0x0000031c
+#define NV34TCL_BLEND_COLOR_B_SHIFT 0
+#define NV34TCL_BLEND_COLOR_B_MASK 0x000000ff
+#define NV34TCL_BLEND_COLOR_G_SHIFT 8
+#define NV34TCL_BLEND_COLOR_G_MASK 0x0000ff00
+#define NV34TCL_BLEND_COLOR_R_SHIFT 16
+#define NV34TCL_BLEND_COLOR_R_MASK 0x00ff0000
+#define NV34TCL_BLEND_COLOR_A_SHIFT 24
+#define NV34TCL_BLEND_COLOR_A_MASK 0xff000000
+#define NV34TCL_BLEND_EQUATION 0x00000320
+#define NV34TCL_BLEND_EQUATION_FUNC_ADD 0x00008006
+#define NV34TCL_BLEND_EQUATION_MIN 0x00008007
+#define NV34TCL_BLEND_EQUATION_MAX 0x00008008
+#define NV34TCL_BLEND_EQUATION_FUNC_SUBTRACT 0x0000800a
+#define NV34TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV34TCL_COLOR_MASK 0x00000324
+#define NV34TCL_COLOR_MASK_B_SHIFT 0
+#define NV34TCL_COLOR_MASK_B_MASK 0x000000ff
+#define NV34TCL_COLOR_MASK_G_SHIFT 8
+#define NV34TCL_COLOR_MASK_G_MASK 0x0000ff00
+#define NV34TCL_COLOR_MASK_R_SHIFT 16
+#define NV34TCL_COLOR_MASK_R_MASK 0x00ff0000
+#define NV34TCL_COLOR_MASK_A_SHIFT 24
+#define NV34TCL_COLOR_MASK_A_MASK 0xff000000
+#define NV34TCL_STENCIL_FRONT_ENABLE 0x00000328
+#define NV34TCL_STENCIL_FRONT_MASK 0x0000032c
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC 0x00000330
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207
+#define NV34TCL_STENCIL_FRONT_FUNC_REF 0x00000334
+#define NV34TCL_STENCIL_FRONT_FUNC_MASK 0x00000338
+#define NV34TCL_STENCIL_FRONT_OP_FAIL 0x0000033c
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_ZERO 0x00000000
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_INVERT 0x0000150a
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_KEEP 0x00001e00
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL 0x00000340
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_INVERT 0x0000150a
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_KEEP 0x00001e00
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_INCR 0x00001e02
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_DECR 0x00001e03
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS 0x00000344
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_ZERO 0x00000000
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_INVERT 0x0000150a
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_KEEP 0x00001e00
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_INCR 0x00001e02
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_DECR 0x00001e03
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV34TCL_STENCIL_BACK_ENABLE 0x00000348
+#define NV34TCL_STENCIL_BACK_MASK 0x0000034c
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC 0x00000350
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_LESS 0x00000201
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207
+#define NV34TCL_STENCIL_BACK_FUNC_REF 0x00000354
+#define NV34TCL_STENCIL_BACK_FUNC_MASK 0x00000358
+#define NV34TCL_STENCIL_BACK_OP_FAIL 0x0000035c
+#define NV34TCL_STENCIL_BACK_OP_FAIL_ZERO 0x00000000
+#define NV34TCL_STENCIL_BACK_OP_FAIL_INVERT 0x0000150a
+#define NV34TCL_STENCIL_BACK_OP_FAIL_KEEP 0x00001e00
+#define NV34TCL_STENCIL_BACK_OP_FAIL_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_BACK_OP_FAIL_INCR 0x00001e02
+#define NV34TCL_STENCIL_BACK_OP_FAIL_DECR 0x00001e03
+#define NV34TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP 0x00008508
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL 0x00000360
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_ZERO 0x00000000
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_INVERT 0x0000150a
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_KEEP 0x00001e00
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV34TCL_STENCIL_BACK_OP_ZPASS 0x00000364
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_INVERT 0x0000150a
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_KEEP 0x00001e00
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV34TCL_SHADE_MODEL 0x00000368
+#define NV34TCL_SHADE_MODEL_FLAT 0x00001d00
+#define NV34TCL_SHADE_MODEL_SMOOTH 0x00001d01
+#define NV34TCL_FOG_ENABLE 0x0000036c
+#define NV34TCL_FOG_COLOR 0x00000370
+#define NV34TCL_FOG_COLOR_R_SHIFT 0
+#define NV34TCL_FOG_COLOR_R_MASK 0x000000ff
+#define NV34TCL_FOG_COLOR_G_SHIFT 8
+#define NV34TCL_FOG_COLOR_G_MASK 0x0000ff00
+#define NV34TCL_FOG_COLOR_B_SHIFT 16
+#define NV34TCL_FOG_COLOR_B_MASK 0x00ff0000
+#define NV34TCL_FOG_COLOR_A_SHIFT 24
+#define NV34TCL_FOG_COLOR_A_MASK 0xff000000
+#define NV34TCL_COLOR_LOGIC_OP_ENABLE 0x00000374
+#define NV34TCL_COLOR_LOGIC_OP_OP 0x00000378
+#define NV34TCL_COLOR_LOGIC_OP_OP_CLEAR 0x00001500
+#define NV34TCL_COLOR_LOGIC_OP_OP_AND 0x00001501
+#define NV34TCL_COLOR_LOGIC_OP_OP_AND_REVERSE 0x00001502
+#define NV34TCL_COLOR_LOGIC_OP_OP_COPY 0x00001503
+#define NV34TCL_COLOR_LOGIC_OP_OP_AND_INVERTED 0x00001504
+#define NV34TCL_COLOR_LOGIC_OP_OP_NOOP 0x00001505
+#define NV34TCL_COLOR_LOGIC_OP_OP_XOR 0x00001506
+#define NV34TCL_COLOR_LOGIC_OP_OP_OR 0x00001507
+#define NV34TCL_COLOR_LOGIC_OP_OP_NOR 0x00001508
+#define NV34TCL_COLOR_LOGIC_OP_OP_EQUIV 0x00001509
+#define NV34TCL_COLOR_LOGIC_OP_OP_INVERT 0x0000150a
+#define NV34TCL_COLOR_LOGIC_OP_OP_OR_REVERSE 0x0000150b
+#define NV34TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED 0x0000150c
+#define NV34TCL_COLOR_LOGIC_OP_OP_OR_INVERTED 0x0000150d
+#define NV34TCL_COLOR_LOGIC_OP_OP_NAND 0x0000150e
+#define NV34TCL_COLOR_LOGIC_OP_OP_SET 0x0000150f
+#define NV34TCL_NORMALIZE_ENABLE 0x0000037c
+#define NV34TCL_COLOR_MATERIAL 0x00000390
+#define NV34TCL_COLOR_MATERIAL_FRONT_EMISSION_ENABLE (1 << 0)
+#define NV34TCL_COLOR_MATERIAL_FRONT_AMBIENT_ENABLE (1 << 2)
+#define NV34TCL_COLOR_MATERIAL_FRONT_DIFFUSE_ENABLE (1 << 4)
+#define NV34TCL_COLOR_MATERIAL_FRONT_SPECULAR_ENABLE (1 << 6)
+#define NV34TCL_COLOR_MATERIAL_BACK_EMISSION_ENABLE (1 << 8)
+#define NV34TCL_COLOR_MATERIAL_BACK_AMBIENT_ENABLE (1 << 10)
+#define NV34TCL_COLOR_MATERIAL_BACK_DIFFUSE_ENABLE (1 << 12)
+#define NV34TCL_COLOR_MATERIAL_BACK_SPECULAR_ENABLE (1 << 14)
+#define NV34TCL_DEPTH_RANGE_NEAR 0x00000394
+#define NV34TCL_DEPTH_RANGE_FAR 0x00000398
+#define NV34TCL_COLOR_MATERIAL_FRONT_R 0x000003a0
+#define NV34TCL_COLOR_MATERIAL_FRONT_G 0x000003a4
+#define NV34TCL_COLOR_MATERIAL_FRONT_B 0x000003a8
+#define NV34TCL_COLOR_MATERIAL_FRONT_A 0x000003b4
+#define NV34TCL_LINE_WIDTH 0x000003b8
+#define NV34TCL_LINE_SMOOTH_ENABLE 0x000003bc
+#define NV34TCL_TX_GEN_S(x) (0x00000400+((x)*16))
+#define NV34TCL_TX_GEN_S__SIZE 0x00000008
+#define NV34TCL_TX_GEN_S_FALSE 0x00000000
+#define NV34TCL_TX_GEN_S_EYE_LINEAR 0x00002400
+#define NV34TCL_TX_GEN_S_OBJECT_LINEAR 0x00002401
+#define NV34TCL_TX_GEN_S_SPHERE_MAP 0x00002402
+#define NV34TCL_TX_GEN_S_NORMAL_MAP 0x00008511
+#define NV34TCL_TX_GEN_S_REFLECTION_MAP 0x00008512
+#define NV34TCL_TX_GEN_T(x) (0x00000404+((x)*16))
+#define NV34TCL_TX_GEN_T__SIZE 0x00000008
+#define NV34TCL_TX_GEN_T_FALSE 0x00000000
+#define NV34TCL_TX_GEN_T_EYE_LINEAR 0x00002400
+#define NV34TCL_TX_GEN_T_OBJECT_LINEAR 0x00002401
+#define NV34TCL_TX_GEN_T_SPHERE_MAP 0x00002402
+#define NV34TCL_TX_GEN_T_NORMAL_MAP 0x00008511
+#define NV34TCL_TX_GEN_T_REFLECTION_MAP 0x00008512
+#define NV34TCL_TX_GEN_R(x) (0x00000408+((x)*16))
+#define NV34TCL_TX_GEN_R__SIZE 0x00000008
+#define NV34TCL_TX_GEN_R_FALSE 0x00000000
+#define NV34TCL_TX_GEN_R_EYE_LINEAR 0x00002400
+#define NV34TCL_TX_GEN_R_OBJECT_LINEAR 0x00002401
+#define NV34TCL_TX_GEN_R_SPHERE_MAP 0x00002402
+#define NV34TCL_TX_GEN_R_NORMAL_MAP 0x00008511
+#define NV34TCL_TX_GEN_R_REFLECTION_MAP 0x00008512
+#define NV34TCL_TX_GEN_Q(x) (0x0000040c+((x)*16))
+#define NV34TCL_TX_GEN_Q__SIZE 0x00000008
+#define NV34TCL_TX_GEN_Q_FALSE 0x00000000
+#define NV34TCL_TX_GEN_Q_EYE_LINEAR 0x00002400
+#define NV34TCL_TX_GEN_Q_OBJECT_LINEAR 0x00002401
+#define NV34TCL_TX_GEN_Q_SPHERE_MAP 0x00002402
+#define NV34TCL_TX_GEN_Q_NORMAL_MAP 0x00008511
+#define NV34TCL_TX_GEN_Q_REFLECTION_MAP 0x00008512
+#define NV34TCL_MODELVIEW_MATRIX(x) (0x00000480+((x)*4))
+#define NV34TCL_MODELVIEW_MATRIX__SIZE 0x00000010
+#define NV34TCL_INVERSE_MODELVIEW_MATRIX(x) (0x00000580+((x)*4))
+#define NV34TCL_INVERSE_MODELVIEW_MATRIX__SIZE 0x0000000c
+#define NV34TCL_PROJECTION_MATRIX(x) (0x00000680+((x)*4))
+#define NV34TCL_PROJECTION_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX0_MATRIX(x) (0x000006c0+((x)*4))
+#define NV34TCL_TX0_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX1_MATRIX(x) (0x00000700+((x)*4))
+#define NV34TCL_TX1_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX2_MATRIX(x) (0x00000740+((x)*4))
+#define NV34TCL_TX2_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX3_MATRIX(x) (0x00000780+((x)*4))
+#define NV34TCL_TX3_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX4_MATRIX(x) (0x000007c0+((x)*4))
+#define NV34TCL_TX4_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX5_MATRIX(x) (0x00000800+((x)*4))
+#define NV34TCL_TX5_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX6_MATRIX(x) (0x00000840+((x)*4))
+#define NV34TCL_TX6_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX7_MATRIX(x) (0x00000880+((x)*4))
+#define NV34TCL_TX7_MATRIX__SIZE 0x00000010
+#define NV34TCL_SCISSOR_HORIZ 0x000008c0
+#define NV34TCL_SCISSOR_HORIZ_X_SHIFT 0
+#define NV34TCL_SCISSOR_HORIZ_X_MASK 0x0000ffff
+#define NV34TCL_SCISSOR_HORIZ_W_SHIFT 16
+#define NV34TCL_SCISSOR_HORIZ_W_MASK 0xffff0000
+#define NV34TCL_SCISSOR_VERT 0x000008c4
+#define NV34TCL_SCISSOR_VERT_Y_SHIFT 0
+#define NV34TCL_SCISSOR_VERT_Y_MASK 0x0000ffff
+#define NV34TCL_SCISSOR_VERT_H_SHIFT 16
+#define NV34TCL_SCISSOR_VERT_H_MASK 0xffff0000
+#define NV34TCL_FOG_COORD_DIST 0x000008c8
+#define NV34TCL_FOG_MODE 0x000008cc
+#define NV34TCL_FOG_EQUATION_CONSTANT 0x000008d0
+#define NV34TCL_FOG_EQUATION_LINEAR 0x000008d4
+#define NV34TCL_FOG_EQUATION_QUADRATIC 0x000008d8
+#define NV34TCL_FP_ACTIVE_PROGRAM 0x000008e4
+#define NV34TCL_FP_ACTIVE_PROGRAM_DMA0 (1 << 0)
+#define NV34TCL_FP_ACTIVE_PROGRAM_DMA1 (1 << 1)
+#define NV34TCL_FP_ACTIVE_PROGRAM_OFFSET_SHIFT 2
+#define NV34TCL_FP_ACTIVE_PROGRAM_OFFSET_MASK 0xfffffffc
+#define NV34TCL_RC_COLOR0 0x000008ec
+#define NV34TCL_RC_COLOR0_B_SHIFT 0
+#define NV34TCL_RC_COLOR0_B_MASK 0x000000ff
+#define NV34TCL_RC_COLOR0_G_SHIFT 8
+#define NV34TCL_RC_COLOR0_G_MASK 0x0000ff00
+#define NV34TCL_RC_COLOR0_R_SHIFT 16
+#define NV34TCL_RC_COLOR0_R_MASK 0x00ff0000
+#define NV34TCL_RC_COLOR0_A_SHIFT 24
+#define NV34TCL_RC_COLOR0_A_MASK 0xff000000
+#define NV34TCL_RC_COLOR1 0x000008f0
+#define NV34TCL_RC_COLOR1_B_SHIFT 0
+#define NV34TCL_RC_COLOR1_B_MASK 0x000000ff
+#define NV34TCL_RC_COLOR1_G_SHIFT 8
+#define NV34TCL_RC_COLOR1_G_MASK 0x0000ff00
+#define NV34TCL_RC_COLOR1_R_SHIFT 16
+#define NV34TCL_RC_COLOR1_R_MASK 0x00ff0000
+#define NV34TCL_RC_COLOR1_A_SHIFT 24
+#define NV34TCL_RC_COLOR1_A_MASK 0xff000000
+#define NV34TCL_RC_FINAL0 0x000008f4
+#define NV34TCL_RC_FINAL0_D_INPUT_SHIFT 0
+#define NV34TCL_RC_FINAL0_D_INPUT_MASK 0x0000000f
+#define NV34TCL_RC_FINAL0_D_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV34TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV34TCL_RC_FINAL0_D_INPUT_FOG 0x00000003
+#define NV34TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV34TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV34TCL_RC_FINAL0_D_INPUT_TEXTURE0 0x00000008
+#define NV34TCL_RC_FINAL0_D_INPUT_TEXTURE1 0x00000009
+#define NV34TCL_RC_FINAL0_D_INPUT_SPARE0 0x0000000c
+#define NV34TCL_RC_FINAL0_D_INPUT_SPARE1 0x0000000d
+#define NV34TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV34TCL_RC_FINAL0_D_INPUT_E_TIMES_F 0x0000000f
+#define NV34TCL_RC_FINAL0_D_INPUT_TEXTURE2 0x0000000a
+#define NV34TCL_RC_FINAL0_D_INPUT_TEXTURE3 0x0000000b
+#define NV34TCL_RC_FINAL0_D_COMPONENT_USAGE (1 << 4)
+#define NV34TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV34TCL_RC_FINAL0_D_MAPPING_SHIFT 5
+#define NV34TCL_RC_FINAL0_D_MAPPING_MASK 0x000000e0
+#define NV34TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV34TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV34TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV34TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV34TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV34TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV34TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV34TCL_RC_FINAL0_C_INPUT_SHIFT 8
+#define NV34TCL_RC_FINAL0_C_INPUT_MASK 0x00000f00
+#define NV34TCL_RC_FINAL0_C_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_FINAL0_C_INPUT_FOG 0x00000300
+#define NV34TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_FINAL0_C_INPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_FINAL0_C_INPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_FINAL0_C_INPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_FINAL0_C_INPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_FINAL0_C_INPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_FINAL0_C_INPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_FINAL0_C_INPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_FINAL0_C_COMPONENT_USAGE (1 << 12)
+#define NV34TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV34TCL_RC_FINAL0_C_MAPPING_SHIFT 13
+#define NV34TCL_RC_FINAL0_C_MAPPING_MASK 0x0000e000
+#define NV34TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV34TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV34TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV34TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV34TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV34TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV34TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV34TCL_RC_FINAL0_B_INPUT_SHIFT 16
+#define NV34TCL_RC_FINAL0_B_INPUT_MASK 0x000f0000
+#define NV34TCL_RC_FINAL0_B_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV34TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV34TCL_RC_FINAL0_B_INPUT_FOG 0x00030000
+#define NV34TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV34TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV34TCL_RC_FINAL0_B_INPUT_TEXTURE0 0x00080000
+#define NV34TCL_RC_FINAL0_B_INPUT_TEXTURE1 0x00090000
+#define NV34TCL_RC_FINAL0_B_INPUT_SPARE0 0x000c0000
+#define NV34TCL_RC_FINAL0_B_INPUT_SPARE1 0x000d0000
+#define NV34TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV34TCL_RC_FINAL0_B_INPUT_E_TIMES_F 0x000f0000
+#define NV34TCL_RC_FINAL0_B_INPUT_TEXTURE2 0x000a0000
+#define NV34TCL_RC_FINAL0_B_INPUT_TEXTURE3 0x000b0000
+#define NV34TCL_RC_FINAL0_B_COMPONENT_USAGE (1 << 20)
+#define NV34TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV34TCL_RC_FINAL0_B_MAPPING_SHIFT 21
+#define NV34TCL_RC_FINAL0_B_MAPPING_MASK 0x00e00000
+#define NV34TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV34TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV34TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV34TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV34TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV34TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV34TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV34TCL_RC_FINAL0_A_INPUT_SHIFT 24
+#define NV34TCL_RC_FINAL0_A_INPUT_MASK 0x0f000000
+#define NV34TCL_RC_FINAL0_A_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV34TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV34TCL_RC_FINAL0_A_INPUT_FOG 0x03000000
+#define NV34TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV34TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV34TCL_RC_FINAL0_A_INPUT_TEXTURE0 0x08000000
+#define NV34TCL_RC_FINAL0_A_INPUT_TEXTURE1 0x09000000
+#define NV34TCL_RC_FINAL0_A_INPUT_SPARE0 0x0c000000
+#define NV34TCL_RC_FINAL0_A_INPUT_SPARE1 0x0d000000
+#define NV34TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV34TCL_RC_FINAL0_A_INPUT_E_TIMES_F 0x0f000000
+#define NV34TCL_RC_FINAL0_A_INPUT_TEXTURE2 0x0a000000
+#define NV34TCL_RC_FINAL0_A_INPUT_TEXTURE3 0x0b000000
+#define NV34TCL_RC_FINAL0_A_COMPONENT_USAGE (1 << 28)
+#define NV34TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_SHIFT 29
+#define NV34TCL_RC_FINAL0_A_MAPPING_MASK 0xe0000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV34TCL_RC_FINAL1 0x000008f8
+#define NV34TCL_RC_FINAL1_COLOR_SUM_CLAMP (1 << 7)
+#define NV34TCL_RC_FINAL1_G_INPUT_SHIFT 8
+#define NV34TCL_RC_FINAL1_G_INPUT_MASK 0x00000f00
+#define NV34TCL_RC_FINAL1_G_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_FINAL1_G_INPUT_FOG 0x00000300
+#define NV34TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_FINAL1_G_INPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_FINAL1_G_INPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_FINAL1_G_INPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_FINAL1_G_INPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_FINAL1_G_INPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_FINAL1_G_INPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_FINAL1_G_INPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_FINAL1_G_COMPONENT_USAGE (1 << 12)
+#define NV34TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV34TCL_RC_FINAL1_G_MAPPING_SHIFT 13
+#define NV34TCL_RC_FINAL1_G_MAPPING_MASK 0x0000e000
+#define NV34TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV34TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV34TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV34TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV34TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV34TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV34TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV34TCL_RC_FINAL1_F_INPUT_SHIFT 16
+#define NV34TCL_RC_FINAL1_F_INPUT_MASK 0x000f0000
+#define NV34TCL_RC_FINAL1_F_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV34TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV34TCL_RC_FINAL1_F_INPUT_FOG 0x00030000
+#define NV34TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR 0x00040000
+#define NV34TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR 0x00050000
+#define NV34TCL_RC_FINAL1_F_INPUT_TEXTURE0 0x00080000
+#define NV34TCL_RC_FINAL1_F_INPUT_TEXTURE1 0x00090000
+#define NV34TCL_RC_FINAL1_F_INPUT_SPARE0 0x000c0000
+#define NV34TCL_RC_FINAL1_F_INPUT_SPARE1 0x000d0000
+#define NV34TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV34TCL_RC_FINAL1_F_INPUT_E_TIMES_F 0x000f0000
+#define NV34TCL_RC_FINAL1_F_INPUT_TEXTURE2 0x000a0000
+#define NV34TCL_RC_FINAL1_F_INPUT_TEXTURE3 0x000b0000
+#define NV34TCL_RC_FINAL1_F_COMPONENT_USAGE (1 << 20)
+#define NV34TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV34TCL_RC_FINAL1_F_MAPPING_SHIFT 21
+#define NV34TCL_RC_FINAL1_F_MAPPING_MASK 0x00e00000
+#define NV34TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV34TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV34TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV34TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV34TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV34TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV34TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV34TCL_RC_FINAL1_E_INPUT_SHIFT 24
+#define NV34TCL_RC_FINAL1_E_INPUT_MASK 0x0f000000
+#define NV34TCL_RC_FINAL1_E_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV34TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV34TCL_RC_FINAL1_E_INPUT_FOG 0x03000000
+#define NV34TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR 0x04000000
+#define NV34TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR 0x05000000
+#define NV34TCL_RC_FINAL1_E_INPUT_TEXTURE0 0x08000000
+#define NV34TCL_RC_FINAL1_E_INPUT_TEXTURE1 0x09000000
+#define NV34TCL_RC_FINAL1_E_INPUT_SPARE0 0x0c000000
+#define NV34TCL_RC_FINAL1_E_INPUT_SPARE1 0x0d000000
+#define NV34TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV34TCL_RC_FINAL1_E_INPUT_E_TIMES_F 0x0f000000
+#define NV34TCL_RC_FINAL1_E_INPUT_TEXTURE2 0x0a000000
+#define NV34TCL_RC_FINAL1_E_INPUT_TEXTURE3 0x0b000000
+#define NV34TCL_RC_FINAL1_E_COMPONENT_USAGE (1 << 28)
+#define NV34TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_SHIFT 29
+#define NV34TCL_RC_FINAL1_E_MAPPING_MASK 0xe0000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV34TCL_RC_ENABLE 0x000008fc
+#define NV34TCL_RC_ENABLE_NUM_COMBINERS_SHIFT 0
+#define NV34TCL_RC_ENABLE_NUM_COMBINERS_MASK 0x0000000f
+#define NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR0_SHIFT 12
+#define NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR0_MASK 0x0000f000
+#define NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR1_SHIFT 16
+#define NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR1_MASK 0x000f0000
+#define NV34TCL_RC_IN_ALPHA(x) (0x00000900+((x)*32))
+#define NV34TCL_RC_IN_ALPHA__SIZE 0x00000008
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_SHIFT 0
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_MASK 0x0000000f
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_FOG 0x00000003
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0 0x00000008
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1 0x00000009
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE0 0x0000000c
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE1 0x0000000d
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F 0x0000000f
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2 0x0000000a
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3 0x0000000b
+#define NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE (1 << 4)
+#define NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE 0x00000000
+#define NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_SHIFT 5
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_MASK 0x000000e0
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_SHIFT 8
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_MASK 0x00000f00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_FOG 0x00000300
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE (1 << 12)
+#define NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE 0x00000000
+#define NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_SHIFT 13
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_MASK 0x0000e000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_SHIFT 16
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_MASK 0x000f0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_FOG 0x00030000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0 0x00080000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1 0x00090000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE0 0x000c0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE1 0x000d0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F 0x000f0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2 0x000a0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3 0x000b0000
+#define NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE (1 << 20)
+#define NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE 0x00000000
+#define NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_SHIFT 21
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_MASK 0x00e00000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_SHIFT 24
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_MASK 0x0f000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_FOG 0x03000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0 0x08000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1 0x09000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE0 0x0c000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE1 0x0d000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F 0x0f000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2 0x0a000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3 0x0b000000
+#define NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE (1 << 28)
+#define NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE 0x00000000
+#define NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_SHIFT 29
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_MASK 0xe0000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV34TCL_RC_IN_RGB(x) (0x00000904+((x)*32))
+#define NV34TCL_RC_IN_RGB__SIZE 0x00000008
+#define NV34TCL_RC_IN_RGB_D_INPUT_SHIFT 0
+#define NV34TCL_RC_IN_RGB_D_INPUT_MASK 0x0000000f
+#define NV34TCL_RC_IN_RGB_D_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV34TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV34TCL_RC_IN_RGB_D_INPUT_FOG 0x00000003
+#define NV34TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV34TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE0 0x00000008
+#define NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE1 0x00000009
+#define NV34TCL_RC_IN_RGB_D_INPUT_SPARE0 0x0000000c
+#define NV34TCL_RC_IN_RGB_D_INPUT_SPARE1 0x0000000d
+#define NV34TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV34TCL_RC_IN_RGB_D_INPUT_E_TIMES_F 0x0000000f
+#define NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE2 0x0000000a
+#define NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE3 0x0000000b
+#define NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE (1 << 4)
+#define NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV34TCL_RC_IN_RGB_D_MAPPING_SHIFT 5
+#define NV34TCL_RC_IN_RGB_D_MAPPING_MASK 0x000000e0
+#define NV34TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV34TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV34TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV34TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV34TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV34TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV34TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV34TCL_RC_IN_RGB_C_INPUT_SHIFT 8
+#define NV34TCL_RC_IN_RGB_C_INPUT_MASK 0x00000f00
+#define NV34TCL_RC_IN_RGB_C_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_IN_RGB_C_INPUT_FOG 0x00000300
+#define NV34TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_IN_RGB_C_INPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_IN_RGB_C_INPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_IN_RGB_C_INPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE (1 << 12)
+#define NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_SHIFT 13
+#define NV34TCL_RC_IN_RGB_C_MAPPING_MASK 0x0000e000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV34TCL_RC_IN_RGB_B_INPUT_SHIFT 16
+#define NV34TCL_RC_IN_RGB_B_INPUT_MASK 0x000f0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV34TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV34TCL_RC_IN_RGB_B_INPUT_FOG 0x00030000
+#define NV34TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV34TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE0 0x00080000
+#define NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE1 0x00090000
+#define NV34TCL_RC_IN_RGB_B_INPUT_SPARE0 0x000c0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_SPARE1 0x000d0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_E_TIMES_F 0x000f0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE2 0x000a0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE3 0x000b0000
+#define NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE (1 << 20)
+#define NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_SHIFT 21
+#define NV34TCL_RC_IN_RGB_B_MAPPING_MASK 0x00e00000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV34TCL_RC_IN_RGB_A_INPUT_SHIFT 24
+#define NV34TCL_RC_IN_RGB_A_INPUT_MASK 0x0f000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_FOG 0x03000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE0 0x08000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE1 0x09000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_SPARE0 0x0c000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_SPARE1 0x0d000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_E_TIMES_F 0x0f000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE2 0x0a000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE3 0x0b000000
+#define NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE (1 << 28)
+#define NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_SHIFT 29
+#define NV34TCL_RC_IN_RGB_A_MAPPING_MASK 0xe0000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV34TCL_RC_CONSTANT_COLOR0(x) (0x00000908+((x)*32))
+#define NV34TCL_RC_CONSTANT_COLOR0__SIZE 0x00000008
+#define NV34TCL_RC_CONSTANT_COLOR0_B_SHIFT 0
+#define NV34TCL_RC_CONSTANT_COLOR0_B_MASK 0x000000ff
+#define NV34TCL_RC_CONSTANT_COLOR0_G_SHIFT 8
+#define NV34TCL_RC_CONSTANT_COLOR0_G_MASK 0x0000ff00
+#define NV34TCL_RC_CONSTANT_COLOR0_R_SHIFT 16
+#define NV34TCL_RC_CONSTANT_COLOR0_R_MASK 0x00ff0000
+#define NV34TCL_RC_CONSTANT_COLOR0_A_SHIFT 24
+#define NV34TCL_RC_CONSTANT_COLOR0_A_MASK 0xff000000
+#define NV34TCL_RC_CONSTANT_COLOR1(x) (0x0000090c+((x)*32))
+#define NV34TCL_RC_CONSTANT_COLOR1__SIZE 0x00000008
+#define NV34TCL_RC_CONSTANT_COLOR1_B_SHIFT 0
+#define NV34TCL_RC_CONSTANT_COLOR1_B_MASK 0x000000ff
+#define NV34TCL_RC_CONSTANT_COLOR1_G_SHIFT 8
+#define NV34TCL_RC_CONSTANT_COLOR1_G_MASK 0x0000ff00
+#define NV34TCL_RC_CONSTANT_COLOR1_R_SHIFT 16
+#define NV34TCL_RC_CONSTANT_COLOR1_R_MASK 0x00ff0000
+#define NV34TCL_RC_CONSTANT_COLOR1_A_SHIFT 24
+#define NV34TCL_RC_CONSTANT_COLOR1_A_MASK 0xff000000
+#define NV34TCL_RC_OUT_ALPHA(x) (0x00000910+((x)*32))
+#define NV34TCL_RC_OUT_ALPHA__SIZE 0x00000008
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT 0
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK 0x0000000f
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG 0x00000003
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0 0x0000000c
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1 0x0000000d
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT 4
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK 0x000000f0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG 0x00000030
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0 0x000000c0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1 0x000000d0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT 8
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK 0x00000f00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG 0x00000300
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT (1 << 12)
+#define NV34TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT (1 << 13)
+#define NV34TCL_RC_OUT_ALPHA_MUX_SUM (1 << 14)
+#define NV34TCL_RC_OUT_ALPHA_BIAS (1 << 15)
+#define NV34TCL_RC_OUT_ALPHA_BIAS_NONE 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV34TCL_RC_OUT_ALPHA_SCALE_SHIFT 17
+#define NV34TCL_RC_OUT_ALPHA_SCALE_MASK 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_SCALE_NONE 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO 0x00020000
+#define NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV34TCL_RC_OUT_RGB(x) (0x00000914+((x)*32))
+#define NV34TCL_RC_OUT_RGB__SIZE 0x00000008
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT 0
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_MASK 0x0000000f
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_FOG 0x00000003
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0 0x0000000c
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1 0x0000000d
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT 4
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_MASK 0x000000f0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_FOG 0x00000030
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0 0x000000c0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1 0x000000d0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT 8
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_MASK 0x00000f00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_FOG 0x00000300
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_OUT_RGB_CD_DOT_PRODUCT (1 << 12)
+#define NV34TCL_RC_OUT_RGB_AB_DOT_PRODUCT (1 << 13)
+#define NV34TCL_RC_OUT_RGB_MUX_SUM (1 << 14)
+#define NV34TCL_RC_OUT_RGB_BIAS (1 << 15)
+#define NV34TCL_RC_OUT_RGB_BIAS_NONE 0x00000000
+#define NV34TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV34TCL_RC_OUT_RGB_SCALE_SHIFT 17
+#define NV34TCL_RC_OUT_RGB_SCALE_MASK 0x00000000
+#define NV34TCL_RC_OUT_RGB_SCALE_NONE 0x00000000
+#define NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO 0x00020000
+#define NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV34TCL_VIEWPORT_HORIZ 0x00000a00
+#define NV34TCL_VIEWPORT_HORIZ_X_SHIFT 0
+#define NV34TCL_VIEWPORT_HORIZ_X_MASK 0x0000ffff
+#define NV34TCL_VIEWPORT_HORIZ_W_SHIFT 16
+#define NV34TCL_VIEWPORT_HORIZ_W_MASK 0xffff0000
+#define NV34TCL_VIEWPORT_VERT 0x00000a04
+#define NV34TCL_VIEWPORT_VERT_Y_SHIFT 0
+#define NV34TCL_VIEWPORT_VERT_Y_MASK 0x0000ffff
+#define NV34TCL_VIEWPORT_VERT_H_SHIFT 16
+#define NV34TCL_VIEWPORT_VERT_H_MASK 0xffff0000
+#define NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R 0x00000a10
+#define NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G 0x00000a14
+#define NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B 0x00000a18
+#define NV34TCL_VIEWPORT_TRANSLATE_X 0x00000a20
+#define NV34TCL_VIEWPORT_TRANSLATE_Y 0x00000a24
+#define NV34TCL_VIEWPORT_TRANSLATE_Z 0x00000a28
+#define NV34TCL_VIEWPORT_TRANSLATE_W 0x00000a2c
+#define NV34TCL_VIEWPORT_SCALE_X 0x00000a30
+#define NV34TCL_VIEWPORT_SCALE_Y 0x00000a34
+#define NV34TCL_VIEWPORT_SCALE_Z 0x00000a38
+#define NV34TCL_VIEWPORT_SCALE_W 0x00000a3c
+#define NV34TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000a60
+#define NV34TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000a64
+#define NV34TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000a68
+#define NV34TCL_DEPTH_FUNC 0x00000a6c
+#define NV34TCL_DEPTH_FUNC_NEVER 0x00000200
+#define NV34TCL_DEPTH_FUNC_LESS 0x00000201
+#define NV34TCL_DEPTH_FUNC_EQUAL 0x00000202
+#define NV34TCL_DEPTH_FUNC_LEQUAL 0x00000203
+#define NV34TCL_DEPTH_FUNC_GREATER 0x00000204
+#define NV34TCL_DEPTH_FUNC_NOTEQUAL 0x00000205
+#define NV34TCL_DEPTH_FUNC_GEQUAL 0x00000206
+#define NV34TCL_DEPTH_FUNC_ALWAYS 0x00000207
+#define NV34TCL_DEPTH_WRITE_ENABLE 0x00000a70
+#define NV34TCL_DEPTH_TEST_ENABLE 0x00000a74
+#define NV34TCL_POLYGON_OFFSET_FACTOR 0x00000a78
+#define NV34TCL_POLYGON_OFFSET_UNITS 0x00000a7c
+#define NV34TCL_VTX_ATTR_3I_XY(x) (0x00000a80+((x)*8))
+#define NV34TCL_VTX_ATTR_3I_XY__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_3I_XY_X_SHIFT 0
+#define NV34TCL_VTX_ATTR_3I_XY_X_MASK 0x0000ffff
+#define NV34TCL_VTX_ATTR_3I_XY_Y_SHIFT 16
+#define NV34TCL_VTX_ATTR_3I_XY_Y_MASK 0xffff0000
+#define NV34TCL_VTX_ATTR_3I_Z(x) (0x00000a84+((x)*8))
+#define NV34TCL_VTX_ATTR_3I_Z__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_3I_Z_Z_SHIFT 0
+#define NV34TCL_VTX_ATTR_3I_Z_Z_MASK 0x0000ffff
+#define NV34TCL_VP_UPLOAD_INST(x) (0x00000b80+((x)*4))
+#define NV34TCL_VP_UPLOAD_INST__SIZE 0x00000004
+#define NV34TCL_TX0_CLIP_PLANE_A(x) (0x00000e00+((x)*16))
+#define NV34TCL_TX0_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX0_CLIP_PLANE_B(x) (0x00000e04+((x)*16))
+#define NV34TCL_TX0_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX0_CLIP_PLANE_C(x) (0x00000e08+((x)*16))
+#define NV34TCL_TX0_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX0_CLIP_PLANE_D(x) (0x00000e0c+((x)*16))
+#define NV34TCL_TX0_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX1_CLIP_PLANE_A(x) (0x00000e40+((x)*16))
+#define NV34TCL_TX1_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX1_CLIP_PLANE_B(x) (0x00000e44+((x)*16))
+#define NV34TCL_TX1_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX1_CLIP_PLANE_C(x) (0x00000e48+((x)*16))
+#define NV34TCL_TX1_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX1_CLIP_PLANE_D(x) (0x00000e4c+((x)*16))
+#define NV34TCL_TX1_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX2_CLIP_PLANE_A(x) (0x00000e80+((x)*16))
+#define NV34TCL_TX2_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX2_CLIP_PLANE_B(x) (0x00000e84+((x)*16))
+#define NV34TCL_TX2_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX2_CLIP_PLANE_C(x) (0x00000e88+((x)*16))
+#define NV34TCL_TX2_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX2_CLIP_PLANE_D(x) (0x00000e8c+((x)*16))
+#define NV34TCL_TX2_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX3_CLIP_PLANE_A(x) (0x00000ec0+((x)*16))
+#define NV34TCL_TX3_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX3_CLIP_PLANE_B(x) (0x00000ec4+((x)*16))
+#define NV34TCL_TX3_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX3_CLIP_PLANE_C(x) (0x00000ec8+((x)*16))
+#define NV34TCL_TX3_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX3_CLIP_PLANE_D(x) (0x00000ecc+((x)*16))
+#define NV34TCL_TX3_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX4_CLIP_PLANE_A(x) (0x00000f00+((x)*16))
+#define NV34TCL_TX4_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX4_CLIP_PLANE_B(x) (0x00000f04+((x)*16))
+#define NV34TCL_TX4_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX4_CLIP_PLANE_C(x) (0x00000f08+((x)*16))
+#define NV34TCL_TX4_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX4_CLIP_PLANE_D(x) (0x00000f0c+((x)*16))
+#define NV34TCL_TX4_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX5_CLIP_PLANE_A(x) (0x00000f40+((x)*16))
+#define NV34TCL_TX5_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX5_CLIP_PLANE_B(x) (0x00000f44+((x)*16))
+#define NV34TCL_TX5_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX5_CLIP_PLANE_C(x) (0x00000f48+((x)*16))
+#define NV34TCL_TX5_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX5_CLIP_PLANE_D(x) (0x00000f4c+((x)*16))
+#define NV34TCL_TX5_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX6_CLIP_PLANE_A(x) (0x00000f80+((x)*16))
+#define NV34TCL_TX6_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX6_CLIP_PLANE_B(x) (0x00000f84+((x)*16))
+#define NV34TCL_TX6_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX6_CLIP_PLANE_C(x) (0x00000f88+((x)*16))
+#define NV34TCL_TX6_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX6_CLIP_PLANE_D(x) (0x00000f8c+((x)*16))
+#define NV34TCL_TX6_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX7_CLIP_PLANE_A(x) (0x00000fc0+((x)*16))
+#define NV34TCL_TX7_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX7_CLIP_PLANE_B(x) (0x00000fc4+((x)*16))
+#define NV34TCL_TX7_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX7_CLIP_PLANE_C(x) (0x00000fc8+((x)*16))
+#define NV34TCL_TX7_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX7_CLIP_PLANE_D(x) (0x00000fcc+((x)*16))
+#define NV34TCL_TX7_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x) (0x00001000+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x) (0x00001004+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x) (0x00001008+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x) (0x0000100c+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x) (0x00001010+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x) (0x00001014+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x) (0x00001018+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x) (0x0000101c+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x) (0x00001020+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE 0x00000008
+#define NV34TCL_LIGHT_HALF_VECTOR_X(x) (0x00001028+((x)*64))
+#define NV34TCL_LIGHT_HALF_VECTOR_X__SIZE 0x00000008
+#define NV34TCL_LIGHT_HALF_VECTOR_Y(x) (0x0000102c+((x)*64))
+#define NV34TCL_LIGHT_HALF_VECTOR_Y__SIZE 0x00000008
+#define NV34TCL_LIGHT_HALF_VECTOR_Z(x) (0x00001030+((x)*64))
+#define NV34TCL_LIGHT_HALF_VECTOR_Z__SIZE 0x00000008
+#define NV34TCL_LIGHT_DIRECTION_X(x) (0x00001034+((x)*64))
+#define NV34TCL_LIGHT_DIRECTION_X__SIZE 0x00000008
+#define NV34TCL_LIGHT_DIRECTION_Y(x) (0x00001038+((x)*64))
+#define NV34TCL_LIGHT_DIRECTION_Y__SIZE 0x00000008
+#define NV34TCL_LIGHT_DIRECTION_Z(x) (0x0000103c+((x)*64))
+#define NV34TCL_LIGHT_DIRECTION_Z__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_CUTOFF_A(x) (0x00001200+((x)*64))
+#define NV34TCL_LIGHT_SPOT_CUTOFF_A__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_CUTOFF_B(x) (0x00001204+((x)*64))
+#define NV34TCL_LIGHT_SPOT_CUTOFF_B__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_CUTOFF_C(x) (0x00001208+((x)*64))
+#define NV34TCL_LIGHT_SPOT_CUTOFF_C__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_DIR_X(x) (0x0000120c+((x)*64))
+#define NV34TCL_LIGHT_SPOT_DIR_X__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_DIR_Y(x) (0x00001210+((x)*64))
+#define NV34TCL_LIGHT_SPOT_DIR_Y__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_DIR_Z(x) (0x00001214+((x)*64))
+#define NV34TCL_LIGHT_SPOT_DIR_Z__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_CUTOFF_D(x) (0x00001218+((x)*64))
+#define NV34TCL_LIGHT_SPOT_CUTOFF_D__SIZE 0x00000008
+#define NV34TCL_LIGHT_POSITION_X(x) (0x0000121c+((x)*64))
+#define NV34TCL_LIGHT_POSITION_X__SIZE 0x00000008
+#define NV34TCL_LIGHT_POSITION_Y(x) (0x00001220+((x)*64))
+#define NV34TCL_LIGHT_POSITION_Y__SIZE 0x00000008
+#define NV34TCL_LIGHT_POSITION_Z(x) (0x00001224+((x)*64))
+#define NV34TCL_LIGHT_POSITION_Z__SIZE 0x00000008
+#define NV34TCL_LIGHT_ATTENUATION_CONSTANT(x) (0x00001228+((x)*64))
+#define NV34TCL_LIGHT_ATTENUATION_CONSTANT__SIZE 0x00000008
+#define NV34TCL_LIGHT_ATTENUATION_LINEAR(x) (0x0000122c+((x)*64))
+#define NV34TCL_LIGHT_ATTENUATION_LINEAR__SIZE 0x00000008
+#define NV34TCL_LIGHT_ATTENUATION_QUADRATIC(x) (0x00001230+((x)*64))
+#define NV34TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE 0x00000008
+#define NV34TCL_FRONT_MATERIAL_SHININESS(x) (0x00001400+((x)*4))
+#define NV34TCL_FRONT_MATERIAL_SHININESS__SIZE 0x00000006
+#define NV34TCL_ENABLED_LIGHTS 0x00001420
+#define NV34TCL_VERTEX_TWO_SIDE_ENABLE 0x0000142c
+#define NV34TCL_FP_REG_CONTROL 0x00001450
+#define NV34TCL_FP_REG_CONTROL_UNK1_SHIFT 16
+#define NV34TCL_FP_REG_CONTROL_UNK1_MASK 0xffff0000
+#define NV34TCL_FP_REG_CONTROL_UNK0_SHIFT 0
+#define NV34TCL_FP_REG_CONTROL_UNK0_MASK 0x0000ffff
+#define NV34TCL_VP_CLIP_PLANES_ENABLE 0x00001478
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE0 (1 << 1)
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE1 (1 << 5)
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE2 (1 << 9)
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE3 (1 << 13)
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE4 (1 << 17)
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE5 (1 << 21)
+#define NV34TCL_POLYGON_STIPPLE_ENABLE 0x0000147c
+#define NV34TCL_POLYGON_STIPPLE_PATTERN(x) (0x00001480+((x)*4))
+#define NV34TCL_POLYGON_STIPPLE_PATTERN__SIZE 0x00000020
+#define NV34TCL_VTX_ATTR_3F_X(x) (0x00001500+((x)*16))
+#define NV34TCL_VTX_ATTR_3F_X__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_3F_Y(x) (0x00001504+((x)*16))
+#define NV34TCL_VTX_ATTR_3F_Y__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_3F_Z(x) (0x00001508+((x)*16))
+#define NV34TCL_VTX_ATTR_3F_Z__SIZE 0x00000010
+#define NV34TCL_VP_CLIP_PLANE_A(x) (0x00001600+((x)*16))
+#define NV34TCL_VP_CLIP_PLANE_A__SIZE 0x00000006
+#define NV34TCL_VP_CLIP_PLANE_B(x) (0x00001604+((x)*16))
+#define NV34TCL_VP_CLIP_PLANE_B__SIZE 0x00000006
+#define NV34TCL_VP_CLIP_PLANE_C(x) (0x00001608+((x)*16))
+#define NV34TCL_VP_CLIP_PLANE_C__SIZE 0x00000006
+#define NV34TCL_VP_CLIP_PLANE_D(x) (0x0000160c+((x)*16))
+#define NV34TCL_VP_CLIP_PLANE_D__SIZE 0x00000006
+#define NV34TCL_VTXBUF_ADDRESS(x) (0x00001680+((x)*4))
+#define NV34TCL_VTXBUF_ADDRESS__SIZE 0x00000010
+#define NV34TCL_VTXBUF_ADDRESS_DMA1 (1 << 31)
+#define NV34TCL_VTXBUF_ADDRESS_OFFSET_SHIFT 0
+#define NV34TCL_VTXBUF_ADDRESS_OFFSET_MASK 0x0fffffff
+#define NV34TCL_VTXFMT(x) (0x00001740+((x)*4))
+#define NV34TCL_VTXFMT__SIZE 0x00000010
+#define NV34TCL_VTXFMT_TYPE_SHIFT 0
+#define NV34TCL_VTXFMT_TYPE_MASK 0x0000000f
+#define NV34TCL_VTXFMT_TYPE_FLOAT 0x00000002
+#define NV34TCL_VTXFMT_TYPE_UBYTE 0x00000004
+#define NV34TCL_VTXFMT_TYPE_USHORT 0x00000005
+#define NV34TCL_VTXFMT_SIZE_SHIFT 4
+#define NV34TCL_VTXFMT_SIZE_MASK 0x000000f0
+#define NV34TCL_VTXFMT_STRIDE_SHIFT 8
+#define NV34TCL_VTXFMT_STRIDE_MASK 0x0000ff00
+#define NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R 0x000017a0
+#define NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G 0x000017a4
+#define NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B 0x000017a8
+#define NV34TCL_COLOR_MATERIAL_BACK_R 0x000017b0
+#define NV34TCL_COLOR_MATERIAL_BACK_G 0x000017b4
+#define NV34TCL_COLOR_MATERIAL_BACK_B 0x000017b8
+#define NV34TCL_COLOR_MATERIAL_BACK_A 0x000017c0
+#define NV34TCL_QUERY_RESET 0x000017c8
+#define NV34TCL_QUERY_UNK17CC 0x000017cc
+#define NV34TCL_QUERY_GET 0x00001800
+#define NV34TCL_QUERY_GET_UNK24_SHIFT 24
+#define NV34TCL_QUERY_GET_UNK24_MASK 0xff000000
+#define NV34TCL_QUERY_GET_OFFSET_SHIFT 0
+#define NV34TCL_QUERY_GET_OFFSET_MASK 0x00ffffff
+#define NV34TCL_VERTEX_BEGIN_END 0x00001808
+#define NV34TCL_VERTEX_BEGIN_END_STOP 0x00000000
+#define NV34TCL_VERTEX_BEGIN_END_POINTS 0x00000001
+#define NV34TCL_VERTEX_BEGIN_END_LINES 0x00000002
+#define NV34TCL_VERTEX_BEGIN_END_LINE_LOOP 0x00000003
+#define NV34TCL_VERTEX_BEGIN_END_LINE_STRIP 0x00000004
+#define NV34TCL_VERTEX_BEGIN_END_TRIANGLES 0x00000005
+#define NV34TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP 0x00000006
+#define NV34TCL_VERTEX_BEGIN_END_TRIANGLE_FAN 0x00000007
+#define NV34TCL_VERTEX_BEGIN_END_QUADS 0x00000008
+#define NV34TCL_VERTEX_BEGIN_END_QUAD_STRIP 0x00000009
+#define NV34TCL_VERTEX_BEGIN_END_POLYGON 0x0000000a
+#define NV34TCL_VB_ELEMENT_U16 0x0000180c
+#define NV34TCL_VB_ELEMENT_U16_I0_SHIFT 0
+#define NV34TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff
+#define NV34TCL_VB_ELEMENT_U16_I1_SHIFT 16
+#define NV34TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000
+#define NV34TCL_VB_ELEMENT_U32 0x00001810
+#define NV34TCL_VB_VERTEX_BATCH 0x00001814
+#define NV34TCL_VB_VERTEX_BATCH_OFFSET_SHIFT 0
+#define NV34TCL_VB_VERTEX_BATCH_OFFSET_MASK 0x00ffffff
+#define NV34TCL_VB_VERTEX_BATCH_COUNT_SHIFT 24
+#define NV34TCL_VB_VERTEX_BATCH_COUNT_MASK 0xff000000
+#define NV34TCL_VERTEX_DATA 0x00001818
+#define NV34TCL_IDXBUF_ADDRESS 0x0000181c
+#define NV34TCL_IDXBUF_FORMAT 0x00001820
+#define NV34TCL_IDXBUF_FORMAT_TYPE_SHIFT 4
+#define NV34TCL_IDXBUF_FORMAT_TYPE_MASK 0x000000f0
+#define NV34TCL_IDXBUF_FORMAT_TYPE_U32 0x00000000
+#define NV34TCL_IDXBUF_FORMAT_TYPE_U16 0x00000010
+#define NV34TCL_IDXBUF_FORMAT_DMA1 (1 << 0)
+#define NV34TCL_VB_INDEX_BATCH 0x00001824
+#define NV34TCL_VB_INDEX_BATCH_COUNT_SHIFT 24
+#define NV34TCL_VB_INDEX_BATCH_COUNT_MASK 0xff000000
+#define NV34TCL_VB_INDEX_BATCH_START_SHIFT 0
+#define NV34TCL_VB_INDEX_BATCH_START_MASK 0x00ffffff
+#define NV34TCL_POLYGON_MODE_FRONT 0x00001828
+#define NV34TCL_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NV34TCL_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NV34TCL_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NV34TCL_POLYGON_MODE_BACK 0x0000182c
+#define NV34TCL_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NV34TCL_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NV34TCL_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NV34TCL_CULL_FACE 0x00001830
+#define NV34TCL_CULL_FACE_FRONT 0x00000404
+#define NV34TCL_CULL_FACE_BACK 0x00000405
+#define NV34TCL_CULL_FACE_FRONT_AND_BACK 0x00000408
+#define NV34TCL_FRONT_FACE 0x00001834
+#define NV34TCL_FRONT_FACE_CW 0x00000900
+#define NV34TCL_FRONT_FACE_CCW 0x00000901
+#define NV34TCL_POLYGON_SMOOTH_ENABLE 0x00001838
+#define NV34TCL_CULL_FACE_ENABLE 0x0000183c
+#define NV34TCL_TX_PALETTE_OFFSET(x) (0x00001840+((x)*4))
+#define NV34TCL_TX_PALETTE_OFFSET__SIZE 0x00000008
+#define NV34TCL_VTX_ATTR_2F_X(x) (0x00001880+((x)*8))
+#define NV34TCL_VTX_ATTR_2F_X__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_2F_Y(x) (0x00001884+((x)*8))
+#define NV34TCL_VTX_ATTR_2F_Y__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_2I(x) (0x00001900+((x)*4))
+#define NV34TCL_VTX_ATTR_2I__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_2I_X_SHIFT 0
+#define NV34TCL_VTX_ATTR_2I_X_MASK 0x0000ffff
+#define NV34TCL_VTX_ATTR_2I_Y_SHIFT 16
+#define NV34TCL_VTX_ATTR_2I_Y_MASK 0xffff0000
+#define NV34TCL_VTX_ATTR_4UB(x) (0x00001940+((x)*4))
+#define NV34TCL_VTX_ATTR_4UB__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4UB_X_SHIFT 0
+#define NV34TCL_VTX_ATTR_4UB_X_MASK 0x000000ff
+#define NV34TCL_VTX_ATTR_4UB_Y_SHIFT 8
+#define NV34TCL_VTX_ATTR_4UB_Y_MASK 0x0000ff00
+#define NV34TCL_VTX_ATTR_4UB_Z_SHIFT 16
+#define NV34TCL_VTX_ATTR_4UB_Z_MASK 0x00ff0000
+#define NV34TCL_VTX_ATTR_4UB_W_SHIFT 24
+#define NV34TCL_VTX_ATTR_4UB_W_MASK 0xff000000
+#define NV34TCL_VTX_ATTR_4I_XY(x) (0x00001980+((x)*8))
+#define NV34TCL_VTX_ATTR_4I_XY__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4I_XY_X_SHIFT 0
+#define NV34TCL_VTX_ATTR_4I_XY_X_MASK 0x0000ffff
+#define NV34TCL_VTX_ATTR_4I_XY_Y_SHIFT 16
+#define NV34TCL_VTX_ATTR_4I_XY_Y_MASK 0xffff0000
+#define NV34TCL_VTX_ATTR_4I_ZW(x) (0x00001984+((x)*8))
+#define NV34TCL_VTX_ATTR_4I_ZW__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4I_ZW_Z_SHIFT 0
+#define NV34TCL_VTX_ATTR_4I_ZW_Z_MASK 0x0000ffff
+#define NV34TCL_VTX_ATTR_4I_ZW_W_SHIFT 16
+#define NV34TCL_VTX_ATTR_4I_ZW_W_MASK 0xffff0000
+#define NV34TCL_TX_OFFSET(x) (0x00001a00+((x)*32))
+#define NV34TCL_TX_OFFSET__SIZE 0x00000008
+#define NV34TCL_TX_FORMAT(x) (0x00001a04+((x)*32))
+#define NV34TCL_TX_FORMAT__SIZE 0x00000008
+#define NV34TCL_TX_FORMAT_DMA0 (1 << 0)
+#define NV34TCL_TX_FORMAT_DMA1 (1 << 1)
+#define NV34TCL_TX_FORMAT_CUBIC (1 << 2)
+#define NV34TCL_TX_FORMAT_NO_BORDER (1 << 3)
+#define NV34TCL_TX_FORMAT_DIMS_SHIFT 4
+#define NV34TCL_TX_FORMAT_DIMS_MASK 0x000000f0
+#define NV34TCL_TX_FORMAT_DIMS_1D 0x00000010
+#define NV34TCL_TX_FORMAT_DIMS_2D 0x00000020
+#define NV34TCL_TX_FORMAT_DIMS_3D 0x00000030
+#define NV34TCL_TX_FORMAT_FORMAT_SHIFT 8
+#define NV34TCL_TX_FORMAT_FORMAT_MASK 0x0000ff00
+#define NV34TCL_TX_FORMAT_FORMAT_L8 0x00000000
+#define NV34TCL_TX_FORMAT_FORMAT_A8 0x00000100
+#define NV34TCL_TX_FORMAT_FORMAT_A1R5G5B5 0x00000200
+#define NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4 0x00000400
+#define NV34TCL_TX_FORMAT_FORMAT_R5G6B5 0x00000500
+#define NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8 0x00000600
+#define NV34TCL_TX_FORMAT_FORMAT_X8R8G8B8 0x00000700
+#define NV34TCL_TX_FORMAT_FORMAT_INDEX8 0x00000b00
+#define NV34TCL_TX_FORMAT_FORMAT_DXT1 0x00000c00
+#define NV34TCL_TX_FORMAT_FORMAT_DXT3 0x00000e00
+#define NV34TCL_TX_FORMAT_FORMAT_DXT5 0x00000f00
+#define NV34TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT 0x00001000
+#define NV34TCL_TX_FORMAT_FORMAT_R5G6B5_RECT 0x00001100
+#define NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT 0x00001200
+#define NV34TCL_TX_FORMAT_FORMAT_L8_RECT 0x00001300
+#define NV34TCL_TX_FORMAT_FORMAT_DSDT8_RECT 0x00001700
+#define NV34TCL_TX_FORMAT_FORMAT_A8L8 0x00001a00
+#define NV34TCL_TX_FORMAT_FORMAT_A8_RECT 0x00001b00
+#define NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT 0x00001d00
+#define NV34TCL_TX_FORMAT_FORMAT_R8G8B8_RECT 0x00001e00
+#define NV34TCL_TX_FORMAT_FORMAT_A8L8_RECT 0x00002000
+#define NV34TCL_TX_FORMAT_FORMAT_DSDT8 0x00002800
+#define NV34TCL_TX_FORMAT_FORMAT_HILO16 0x00003300
+#define NV34TCL_TX_FORMAT_FORMAT_HILO16_RECT 0x00003600
+#define NV34TCL_TX_FORMAT_FORMAT_HILO8 0x00004400
+#define NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8 0x00004500
+#define NV34TCL_TX_FORMAT_FORMAT_HILO8_RECT 0x00004600
+#define NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT 0x00004700
+#define NV34TCL_TX_FORMAT_FORMAT_A16 0x00003200
+#define NV34TCL_TX_FORMAT_FORMAT_A16_RECT 0x00003500
+#define NV34TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV 0x00004a00
+#define NV34TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV 0x00004b00
+#define NV34TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV 0x00004c00
+#define NV34TCL_TX_FORMAT_MIPMAP (1 << 19)
+#define NV34TCL_TX_FORMAT_BASE_SIZE_U_SHIFT 20
+#define NV34TCL_TX_FORMAT_BASE_SIZE_U_MASK 0x00f00000
+#define NV34TCL_TX_FORMAT_BASE_SIZE_V_SHIFT 24
+#define NV34TCL_TX_FORMAT_BASE_SIZE_V_MASK 0x0f000000
+#define NV34TCL_TX_FORMAT_BASE_SIZE_W_SHIFT 28
+#define NV34TCL_TX_FORMAT_BASE_SIZE_W_MASK 0xf0000000
+#define NV34TCL_TX_WRAP(x) (0x00001a08+((x)*32))
+#define NV34TCL_TX_WRAP__SIZE 0x00000008
+#define NV34TCL_TX_WRAP_S_SHIFT 0
+#define NV34TCL_TX_WRAP_S_MASK 0x000000ff
+#define NV34TCL_TX_WRAP_S_REPEAT 0x00000001
+#define NV34TCL_TX_WRAP_S_MIRRORED_REPEAT 0x00000002
+#define NV34TCL_TX_WRAP_S_CLAMP_TO_EDGE 0x00000003
+#define NV34TCL_TX_WRAP_S_CLAMP_TO_BORDER 0x00000004
+#define NV34TCL_TX_WRAP_S_CLAMP 0x00000005
+#define NV34TCL_TX_WRAP_T_SHIFT 8
+#define NV34TCL_TX_WRAP_T_MASK 0x00000f00
+#define NV34TCL_TX_WRAP_T_REPEAT 0x00000100
+#define NV34TCL_TX_WRAP_T_MIRRORED_REPEAT 0x00000200
+#define NV34TCL_TX_WRAP_T_CLAMP_TO_EDGE 0x00000300
+#define NV34TCL_TX_WRAP_T_CLAMP_TO_BORDER 0x00000400
+#define NV34TCL_TX_WRAP_T_CLAMP 0x00000500
+#define NV34TCL_TX_WRAP_EXPAND_NORMAL_SHIFT 12
+#define NV34TCL_TX_WRAP_EXPAND_NORMAL_MASK 0x0000f000
+#define NV34TCL_TX_WRAP_R_SHIFT 16
+#define NV34TCL_TX_WRAP_R_MASK 0x000f0000
+#define NV34TCL_TX_WRAP_R_REPEAT 0x00010000
+#define NV34TCL_TX_WRAP_R_MIRRORED_REPEAT 0x00020000
+#define NV34TCL_TX_WRAP_R_CLAMP_TO_EDGE 0x00030000
+#define NV34TCL_TX_WRAP_R_CLAMP_TO_BORDER 0x00040000
+#define NV34TCL_TX_WRAP_R_CLAMP 0x00050000
+#define NV34TCL_TX_WRAP_RCOMP_SHIFT 28
+#define NV34TCL_TX_WRAP_RCOMP_MASK 0xf0000000
+#define NV34TCL_TX_WRAP_RCOMP_NEVER 0x00000000
+#define NV34TCL_TX_WRAP_RCOMP_GREATER 0x10000000
+#define NV34TCL_TX_WRAP_RCOMP_EQUAL 0x20000000
+#define NV34TCL_TX_WRAP_RCOMP_GEQUAL 0x30000000
+#define NV34TCL_TX_WRAP_RCOMP_LESS 0x40000000
+#define NV34TCL_TX_WRAP_RCOMP_NOTEQUAL 0x50000000
+#define NV34TCL_TX_WRAP_RCOMP_LEQUAL 0x60000000
+#define NV34TCL_TX_WRAP_RCOMP_ALWAYS 0x70000000
+#define NV34TCL_TX_ENABLE(x) (0x00001a0c+((x)*32))
+#define NV34TCL_TX_ENABLE__SIZE 0x00000008
+#define NV34TCL_TX_ENABLE_ANISO_SHIFT 4
+#define NV34TCL_TX_ENABLE_ANISO_MASK 0x00000030
+#define NV34TCL_TX_ENABLE_ANISO_NONE 0x00000000
+#define NV34TCL_TX_ENABLE_ANISO_2X 0x00000010
+#define NV34TCL_TX_ENABLE_ANISO_4X 0x00000020
+#define NV34TCL_TX_ENABLE_ANISO_8X 0x00000030
+#define NV34TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT 14
+#define NV34TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK 0x0003c000
+#define NV34TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT 26
+#define NV34TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK 0x3c000000
+#define NV34TCL_TX_ENABLE_ENABLE (1 << 30)
+#define NV34TCL_TX_SWIZZLE(x) (0x00001a10+((x)*32))
+#define NV34TCL_TX_SWIZZLE__SIZE 0x00000008
+#define NV34TCL_TX_SWIZZLE_S0_X_SHIFT 14
+#define NV34TCL_TX_SWIZZLE_S0_X_MASK 0x0000c000
+#define NV34TCL_TX_SWIZZLE_S0_X_ZERO 0x00000000
+#define NV34TCL_TX_SWIZZLE_S0_X_ONE 0x00004000
+#define NV34TCL_TX_SWIZZLE_S0_X_S1 0x00008000
+#define NV34TCL_TX_SWIZZLE_S0_Y_SHIFT 12
+#define NV34TCL_TX_SWIZZLE_S0_Y_MASK 0x00003000
+#define NV34TCL_TX_SWIZZLE_S0_Y_ZERO 0x00000000
+#define NV34TCL_TX_SWIZZLE_S0_Y_ONE 0x00001000
+#define NV34TCL_TX_SWIZZLE_S0_Y_S1 0x00002000
+#define NV34TCL_TX_SWIZZLE_S0_Z_SHIFT 10
+#define NV34TCL_TX_SWIZZLE_S0_Z_MASK 0x00000c00
+#define NV34TCL_TX_SWIZZLE_S0_Z_ZERO 0x00000000
+#define NV34TCL_TX_SWIZZLE_S0_Z_ONE 0x00000400
+#define NV34TCL_TX_SWIZZLE_S0_Z_S1 0x00000800
+#define NV34TCL_TX_SWIZZLE_S0_W_SHIFT 8
+#define NV34TCL_TX_SWIZZLE_S0_W_MASK 0x00000300
+#define NV34TCL_TX_SWIZZLE_S0_W_ZERO 0x00000000
+#define NV34TCL_TX_SWIZZLE_S0_W_ONE 0x00000100
+#define NV34TCL_TX_SWIZZLE_S0_W_S1 0x00000200
+#define NV34TCL_TX_SWIZZLE_S1_X_SHIFT 6
+#define NV34TCL_TX_SWIZZLE_S1_X_MASK 0x000000c0
+#define NV34TCL_TX_SWIZZLE_S1_X_W 0x00000000
+#define NV34TCL_TX_SWIZZLE_S1_X_Z 0x00000040
+#define NV34TCL_TX_SWIZZLE_S1_X_Y 0x00000080
+#define NV34TCL_TX_SWIZZLE_S1_X_X 0x000000c0
+#define NV34TCL_TX_SWIZZLE_S1_Y_SHIFT 4
+#define NV34TCL_TX_SWIZZLE_S1_Y_MASK 0x00000030
+#define NV34TCL_TX_SWIZZLE_S1_Y_W 0x00000000
+#define NV34TCL_TX_SWIZZLE_S1_Y_Z 0x00000010
+#define NV34TCL_TX_SWIZZLE_S1_Y_Y 0x00000020
+#define NV34TCL_TX_SWIZZLE_S1_Y_X 0x00000030
+#define NV34TCL_TX_SWIZZLE_S1_Z_SHIFT 2
+#define NV34TCL_TX_SWIZZLE_S1_Z_MASK 0x0000000c
+#define NV34TCL_TX_SWIZZLE_S1_Z_W 0x00000000
+#define NV34TCL_TX_SWIZZLE_S1_Z_Z 0x00000004
+#define NV34TCL_TX_SWIZZLE_S1_Z_Y 0x00000008
+#define NV34TCL_TX_SWIZZLE_S1_Z_X 0x0000000c
+#define NV34TCL_TX_SWIZZLE_S1_W_SHIFT 0
+#define NV34TCL_TX_SWIZZLE_S1_W_MASK 0x00000003
+#define NV34TCL_TX_SWIZZLE_S1_W_W 0x00000000
+#define NV34TCL_TX_SWIZZLE_S1_W_Z 0x00000001
+#define NV34TCL_TX_SWIZZLE_S1_W_Y 0x00000002
+#define NV34TCL_TX_SWIZZLE_S1_W_X 0x00000003
+#define NV34TCL_TX_SWIZZLE_RECT_PITCH_SHIFT 16
+#define NV34TCL_TX_SWIZZLE_RECT_PITCH_MASK 0xffff0000
+#define NV34TCL_TX_FILTER(x) (0x00001a14+((x)*32))
+#define NV34TCL_TX_FILTER__SIZE 0x00000008
+#define NV34TCL_TX_FILTER_LOD_BIAS_SHIFT 8
+#define NV34TCL_TX_FILTER_LOD_BIAS_MASK 0x00000f00
+#define NV34TCL_TX_FILTER_MINIFY_SHIFT 16
+#define NV34TCL_TX_FILTER_MINIFY_MASK 0x000f0000
+#define NV34TCL_TX_FILTER_MINIFY_NEAREST 0x00010000
+#define NV34TCL_TX_FILTER_MINIFY_LINEAR 0x00020000
+#define NV34TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST 0x00030000
+#define NV34TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST 0x00040000
+#define NV34TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR 0x00050000
+#define NV34TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR 0x00060000
+#define NV34TCL_TX_FILTER_MAGNIFY_SHIFT 24
+#define NV34TCL_TX_FILTER_MAGNIFY_MASK 0x0f000000
+#define NV34TCL_TX_FILTER_MAGNIFY_NEAREST 0x01000000
+#define NV34TCL_TX_FILTER_MAGNIFY_LINEAR 0x02000000
+#define NV34TCL_TX_FILTER_SIGNED_BLUE (1 << 28)
+#define NV34TCL_TX_FILTER_SIGNED_GREEN (1 << 29)
+#define NV34TCL_TX_FILTER_SIGNED_RED (1 << 30)
+#define NV34TCL_TX_FILTER_SIGNED_ALPHA (1 << 31)
+#define NV34TCL_TX_NPOT_SIZE(x) (0x00001a18+((x)*32))
+#define NV34TCL_TX_NPOT_SIZE__SIZE 0x00000008
+#define NV34TCL_TX_NPOT_SIZE_H_SHIFT 0
+#define NV34TCL_TX_NPOT_SIZE_H_MASK 0x0000ffff
+#define NV34TCL_TX_NPOT_SIZE_W_SHIFT 16
+#define NV34TCL_TX_NPOT_SIZE_W_MASK 0xffff0000
+#define NV34TCL_TX_BORDER_COLOR(x) (0x00001a1c+((x)*32))
+#define NV34TCL_TX_BORDER_COLOR__SIZE 0x00000008
+#define NV34TCL_TX_BORDER_COLOR_B_SHIFT 0
+#define NV34TCL_TX_BORDER_COLOR_B_MASK 0x000000ff
+#define NV34TCL_TX_BORDER_COLOR_G_SHIFT 8
+#define NV34TCL_TX_BORDER_COLOR_G_MASK 0x0000ff00
+#define NV34TCL_TX_BORDER_COLOR_R_SHIFT 16
+#define NV34TCL_TX_BORDER_COLOR_R_MASK 0x00ff0000
+#define NV34TCL_TX_BORDER_COLOR_A_SHIFT 24
+#define NV34TCL_TX_BORDER_COLOR_A_MASK 0xff000000
+#define NV34TCL_VTX_ATTR_4F_X(x) (0x00001c00+((x)*16))
+#define NV34TCL_VTX_ATTR_4F_X__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4F_Y(x) (0x00001c04+((x)*16))
+#define NV34TCL_VTX_ATTR_4F_Y__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4F_Z(x) (0x00001c08+((x)*16))
+#define NV34TCL_VTX_ATTR_4F_Z__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4F_W(x) (0x00001c0c+((x)*16))
+#define NV34TCL_VTX_ATTR_4F_W__SIZE 0x00000010
+#define NV34TCL_FP_CONTROL 0x00001d60
+#define NV34TCL_FP_CONTROL_USES_KIL (1 << 7)
+#define NV34TCL_FP_CONTROL_USED_REGS_MINUS1_DIV2_SHIFT 0
+#define NV34TCL_FP_CONTROL_USED_REGS_MINUS1_DIV2_MASK 0x0000000f
+#define NV34TCL_DEPTH_UNK17D8 0x00001d78
+#define NV34TCL_DEPTH_UNK17D8_CLAMP_SHIFT 4
+#define NV34TCL_DEPTH_UNK17D8_CLAMP_MASK 0x000000f0
+#define NV34TCL_MULTISAMPLE_CONTROL 0x00001d7c
+#define NV34TCL_MULTISAMPLE_CONTROL_ENABLE (1 << 0)
+#define NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_COVERAGE (1 << 4)
+#define NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_ONE (1 << 8)
+#define NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE_SHIFT 16
+#define NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE_MASK 0xffff0000
+#define NV34TCL_CLEAR_DEPTH_VALUE 0x00001d8c
+#define NV34TCL_CLEAR_COLOR_VALUE 0x00001d90
+#define NV34TCL_CLEAR_COLOR_VALUE_B_SHIFT 0
+#define NV34TCL_CLEAR_COLOR_VALUE_B_MASK 0x000000ff
+#define NV34TCL_CLEAR_COLOR_VALUE_G_SHIFT 8
+#define NV34TCL_CLEAR_COLOR_VALUE_G_MASK 0x0000ff00
+#define NV34TCL_CLEAR_COLOR_VALUE_R_SHIFT 16
+#define NV34TCL_CLEAR_COLOR_VALUE_R_MASK 0x00ff0000
+#define NV34TCL_CLEAR_COLOR_VALUE_A_SHIFT 24
+#define NV34TCL_CLEAR_COLOR_VALUE_A_MASK 0xff000000
+#define NV34TCL_CLEAR_BUFFERS 0x00001d94
+#define NV34TCL_CLEAR_BUFFERS_COLOR_A (1 << 7)
+#define NV34TCL_CLEAR_BUFFERS_COLOR_B (1 << 6)
+#define NV34TCL_CLEAR_BUFFERS_COLOR_G (1 << 5)
+#define NV34TCL_CLEAR_BUFFERS_COLOR_R (1 << 4)
+#define NV34TCL_CLEAR_BUFFERS_STENCIL (1 << 1)
+#define NV34TCL_CLEAR_BUFFERS_DEPTH (1 << 0)
+#define NV34TCL_DO_VERTICES 0x00001dac
+#define NV34TCL_LINE_STIPPLE_ENABLE 0x00001db4
+#define NV34TCL_LINE_STIPPLE_PATTERN 0x00001db8
+#define NV34TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT 0
+#define NV34TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK 0x0000ffff
+#define NV34TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT 16
+#define NV34TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK 0xffff0000
+#define NV34TCL_BACK_MATERIAL_SHININESS(x) (0x00001e20+((x)*4))
+#define NV34TCL_BACK_MATERIAL_SHININESS__SIZE 0x00000006
+#define NV34TCL_VTX_ATTR_1F(x) (0x00001e40+((x)*4))
+#define NV34TCL_VTX_ATTR_1F__SIZE 0x00000010
+#define NV34TCL_ENGINE 0x00001e94
+#define NV34TCL_ENGINE_FP (1 << 0)
+#define NV34TCL_ENGINE_VP (1 << 1)
+#define NV34TCL_ENGINE_FIXED (1 << 2)
+#define NV34TCL_VP_UPLOAD_FROM_ID 0x00001e9c
+#define NV34TCL_VP_START_FROM_ID 0x00001ea0
+#define NV34TCL_POINT_PARAMETERS(x) (0x00001ec0+((x)*4))
+#define NV34TCL_POINT_PARAMETERS__SIZE 0x00000008
+#define NV34TCL_POINT_SIZE 0x00001ee0
+#define NV34TCL_POINT_PARAMETERS_ENABLE 0x00001ee4
+#define NV34TCL_POINT_SPRITE 0x00001ee8
+#define NV34TCL_POINT_SPRITE_ENABLE (1 << 0)
+#define NV34TCL_POINT_SPRITE_R_MODE_SHIFT 1
+#define NV34TCL_POINT_SPRITE_R_MODE_MASK 0x00000006
+#define NV34TCL_POINT_SPRITE_R_MODE_ZERO 0x00000000
+#define NV34TCL_POINT_SPRITE_R_MODE_R 0x00000002
+#define NV34TCL_POINT_SPRITE_R_MODE_S 0x00000004
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_0 (1 << 8)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_1 (1 << 9)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_2 (1 << 10)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_3 (1 << 11)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_4 (1 << 12)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_5 (1 << 13)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_6 (1 << 14)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_7 (1 << 15)
+#define NV34TCL_VP_UPLOAD_CONST_ID 0x00001efc
+#define NV34TCL_VP_UPLOAD_CONST_X(x) (0x00001f00+((x)*16))
+#define NV34TCL_VP_UPLOAD_CONST_X__SIZE 0x00000004
+#define NV34TCL_VP_UPLOAD_CONST_Y(x) (0x00001f04+((x)*16))
+#define NV34TCL_VP_UPLOAD_CONST_Y__SIZE 0x00000004
+#define NV34TCL_VP_UPLOAD_CONST_Z(x) (0x00001f08+((x)*16))
+#define NV34TCL_VP_UPLOAD_CONST_Z__SIZE 0x00000004
+#define NV34TCL_VP_UPLOAD_CONST_W(x) (0x00001f0c+((x)*16))
+#define NV34TCL_VP_UPLOAD_CONST_W__SIZE 0x00000004
+#define NV34TCL_UNK1f80(x) (0x00001f80+((x)*4))
+#define NV34TCL_UNK1f80__SIZE 0x00000010
+
+
+#define NV40TCL 0x00004097
+
+#define NV40TCL_REF_CNT 0x00000050
+#define NV40TCL_NOP 0x00000100
+#define NV40TCL_NOTIFY 0x00000104
+#define NV40TCL_DMA_NOTIFY 0x00000180
+#define NV40TCL_DMA_TEXTURE0 0x00000184
+#define NV40TCL_DMA_TEXTURE1 0x00000188
+#define NV40TCL_DMA_COLOR1 0x0000018c
+#define NV40TCL_DMA_COLOR0 0x00000194
+#define NV40TCL_DMA_ZETA 0x00000198
+#define NV40TCL_DMA_VTXBUF0 0x0000019c
+#define NV40TCL_DMA_VTXBUF1 0x000001a0
+#define NV40TCL_DMA_FENCE 0x000001a4
+#define NV40TCL_DMA_QUERY 0x000001a8
+#define NV40TCL_DMA_UNK01AC 0x000001ac
+#define NV40TCL_DMA_UNK01B0 0x000001b0
+#define NV40TCL_DMA_COLOR2 0x000001b4
+#define NV40TCL_DMA_COLOR3 0x000001b8
+#define NV40TCL_RT_HORIZ 0x00000200
+#define NV40TCL_RT_HORIZ_W_SHIFT 16
+#define NV40TCL_RT_HORIZ_W_MASK 0xffff0000
+#define NV40TCL_RT_HORIZ_X_SHIFT 0
+#define NV40TCL_RT_HORIZ_X_MASK 0x0000ffff
+#define NV40TCL_RT_VERT 0x00000204
+#define NV40TCL_RT_VERT_H_SHIFT 16
+#define NV40TCL_RT_VERT_H_MASK 0xffff0000
+#define NV40TCL_RT_VERT_Y_SHIFT 0
+#define NV40TCL_RT_VERT_Y_MASK 0x0000ffff
+#define NV40TCL_RT_FORMAT 0x00000208
+#define NV40TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT 24
+#define NV40TCL_RT_FORMAT_LOG2_HEIGHT_MASK 0xff000000
+#define NV40TCL_RT_FORMAT_LOG2_WIDTH_SHIFT 16
+#define NV40TCL_RT_FORMAT_LOG2_WIDTH_MASK 0x00ff0000
+#define NV40TCL_RT_FORMAT_TYPE_SHIFT 8
+#define NV40TCL_RT_FORMAT_TYPE_MASK 0x00000f00
+#define NV40TCL_RT_FORMAT_TYPE_LINEAR 0x00000100
+#define NV40TCL_RT_FORMAT_TYPE_SWIZZLED 0x00000200
+#define NV40TCL_RT_FORMAT_ZETA_SHIFT 5
+#define NV40TCL_RT_FORMAT_ZETA_MASK 0x000000e0
+#define NV40TCL_RT_FORMAT_ZETA_Z16 0x00000020
+#define NV40TCL_RT_FORMAT_ZETA_Z24S8 0x00000040
+#define NV40TCL_RT_FORMAT_COLOR_SHIFT 0
+#define NV40TCL_RT_FORMAT_COLOR_MASK 0x0000001f
+#define NV40TCL_RT_FORMAT_COLOR_R5G6B5 0x00000003
+#define NV40TCL_RT_FORMAT_COLOR_X8R8G8B8 0x00000005
+#define NV40TCL_RT_FORMAT_COLOR_A8R8G8B8 0x00000008
+#define NV40TCL_RT_FORMAT_COLOR_B8 0x00000009
+#define NV40TCL_RT_FORMAT_COLOR_UNKNOWN 0x0000000d
+#define NV40TCL_RT_FORMAT_COLOR_X8B8G8R8 0x0000000f
+#define NV40TCL_RT_FORMAT_COLOR_A8B8G8R8 0x00000010
+#define NV40TCL_COLOR0_PITCH 0x0000020c
+#define NV40TCL_COLOR0_OFFSET 0x00000210
+#define NV40TCL_ZETA_OFFSET 0x00000214
+#define NV40TCL_COLOR1_OFFSET 0x00000218
+#define NV40TCL_COLOR1_PITCH 0x0000021c
+#define NV40TCL_RT_ENABLE 0x00000220
+#define NV40TCL_RT_ENABLE_MRT (1 << 4)
+#define NV40TCL_RT_ENABLE_COLOR3 (1 << 3)
+#define NV40TCL_RT_ENABLE_COLOR2 (1 << 2)
+#define NV40TCL_RT_ENABLE_COLOR1 (1 << 1)
+#define NV40TCL_RT_ENABLE_COLOR0 (1 << 0)
+#define NV40TCL_ZETA_PITCH 0x0000022c
+#define NV40TCL_COLOR2_PITCH 0x00000280
+#define NV40TCL_COLOR3_PITCH 0x00000284
+#define NV40TCL_COLOR2_OFFSET 0x00000288
+#define NV40TCL_COLOR3_OFFSET 0x0000028c
+#define NV40TCL_VIEWPORT_CLIP_HORIZ(x) (0x000002c0+((x)*8))
+#define NV40TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008
+#define NV40TCL_VIEWPORT_CLIP_VERT(x) (0x000002c4+((x)*8))
+#define NV40TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008
+#define NV40TCL_DITHER_ENABLE 0x00000300
+#define NV40TCL_ALPHA_TEST_ENABLE 0x00000304
+#define NV40TCL_ALPHA_TEST_FUNC 0x00000308
+#define NV40TCL_ALPHA_TEST_FUNC_NEVER 0x00000200
+#define NV40TCL_ALPHA_TEST_FUNC_LESS 0x00000201
+#define NV40TCL_ALPHA_TEST_FUNC_EQUAL 0x00000202
+#define NV40TCL_ALPHA_TEST_FUNC_LEQUAL 0x00000203
+#define NV40TCL_ALPHA_TEST_FUNC_GREATER 0x00000204
+#define NV40TCL_ALPHA_TEST_FUNC_NOTEQUAL 0x00000205
+#define NV40TCL_ALPHA_TEST_FUNC_GEQUAL 0x00000206
+#define NV40TCL_ALPHA_TEST_FUNC_ALWAYS 0x00000207
+#define NV40TCL_ALPHA_TEST_REF 0x0000030c
+#define NV40TCL_BLEND_ENABLE 0x00000310
+#define NV40TCL_BLEND_FUNC_SRC 0x00000314
+#define NV40TCL_BLEND_FUNC_SRC_RGB_SHIFT 0
+#define NV40TCL_BLEND_FUNC_SRC_RGB_MASK 0x0000ffff
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00000000
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE 0x00000001
+#define NV40TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00000300
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00000302
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV40TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00000304
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV40TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00000306
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x00008001
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x00008003
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_SHIFT 16
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_MASK 0xffff0000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00000000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00010000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x03000000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x03010000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x03020000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x03030000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x03040000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x03050000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x03060000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x03070000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x03080000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x80010000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x80020000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x80030000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x80040000
+#define NV40TCL_BLEND_FUNC_DST 0x00000318
+#define NV40TCL_BLEND_FUNC_DST_RGB_SHIFT 0
+#define NV40TCL_BLEND_FUNC_DST_RGB_MASK 0x0000ffff
+#define NV40TCL_BLEND_FUNC_DST_RGB_ZERO 0x00000000
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE 0x00000001
+#define NV40TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00000300
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00000302
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV40TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00000304
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV40TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00000306
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x00008001
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x00008003
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_SHIFT 16
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_MASK 0xffff0000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ZERO 0x00000000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE 0x00010000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR 0x03000000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x03010000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA 0x03020000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x03030000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA 0x03040000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x03050000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR 0x03060000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR 0x03070000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE 0x03080000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR 0x80010000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x80020000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA 0x80030000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x80040000
+#define NV40TCL_BLEND_COLOR 0x0000031c
+#define NV40TCL_BLEND_COLOR_B_SHIFT 0
+#define NV40TCL_BLEND_COLOR_B_MASK 0x000000ff
+#define NV40TCL_BLEND_COLOR_G_SHIFT 8
+#define NV40TCL_BLEND_COLOR_G_MASK 0x0000ff00
+#define NV40TCL_BLEND_COLOR_R_SHIFT 16
+#define NV40TCL_BLEND_COLOR_R_MASK 0x00ff0000
+#define NV40TCL_BLEND_COLOR_A_SHIFT 24
+#define NV40TCL_BLEND_COLOR_A_MASK 0xff000000
+#define NV40TCL_BLEND_EQUATION 0x00000320
+#define NV40TCL_BLEND_EQUATION_RGB_SHIFT 0
+#define NV40TCL_BLEND_EQUATION_RGB_MASK 0x0000ffff
+#define NV40TCL_BLEND_EQUATION_RGB_FUNC_ADD 0x00008006
+#define NV40TCL_BLEND_EQUATION_RGB_MIN 0x00008007
+#define NV40TCL_BLEND_EQUATION_RGB_MAX 0x00008008
+#define NV40TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a
+#define NV40TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV40TCL_BLEND_EQUATION_ALPHA_SHIFT 16
+#define NV40TCL_BLEND_EQUATION_ALPHA_MASK 0xffff0000
+#define NV40TCL_BLEND_EQUATION_ALPHA_FUNC_ADD 0x80060000
+#define NV40TCL_BLEND_EQUATION_ALPHA_MIN 0x80070000
+#define NV40TCL_BLEND_EQUATION_ALPHA_MAX 0x80080000
+#define NV40TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT 0x800a0000
+#define NV40TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT 0x800b0000
+#define NV40TCL_COLOR_MASK 0x00000324
+#define NV40TCL_COLOR_MASK_BUFFER0_B_SHIFT 0
+#define NV40TCL_COLOR_MASK_BUFFER0_B_MASK 0x000000ff
+#define NV40TCL_COLOR_MASK_BUFFER0_G_SHIFT 8
+#define NV40TCL_COLOR_MASK_BUFFER0_G_MASK 0x0000ff00
+#define NV40TCL_COLOR_MASK_BUFFER0_R_SHIFT 16
+#define NV40TCL_COLOR_MASK_BUFFER0_R_MASK 0x00ff0000
+#define NV40TCL_COLOR_MASK_BUFFER0_A_SHIFT 24
+#define NV40TCL_COLOR_MASK_BUFFER0_A_MASK 0xff000000
+#define NV40TCL_STENCIL_FRONT_ENABLE 0x00000328
+#define NV40TCL_STENCIL_FRONT_MASK 0x0000032c
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC 0x00000330
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207
+#define NV40TCL_STENCIL_FRONT_FUNC_REF 0x00000334
+#define NV40TCL_STENCIL_FRONT_FUNC_MASK 0x00000338
+#define NV40TCL_STENCIL_FRONT_OP_FAIL 0x0000033c
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_ZERO 0x00000000
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_INVERT 0x0000150a
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_KEEP 0x00001e00
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL 0x00000340
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_INVERT 0x0000150a
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_KEEP 0x00001e00
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR 0x00001e02
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR 0x00001e03
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS 0x00000344
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_ZERO 0x00000000
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_INVERT 0x0000150a
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_KEEP 0x00001e00
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR 0x00001e02
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR 0x00001e03
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV40TCL_STENCIL_BACK_ENABLE 0x00000348
+#define NV40TCL_STENCIL_BACK_MASK 0x0000034c
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC 0x00000350
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_LESS 0x00000201
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207
+#define NV40TCL_STENCIL_BACK_FUNC_REF 0x00000354
+#define NV40TCL_STENCIL_BACK_FUNC_MASK 0x00000358
+#define NV40TCL_STENCIL_BACK_OP_FAIL 0x0000035c
+#define NV40TCL_STENCIL_BACK_OP_FAIL_ZERO 0x00000000
+#define NV40TCL_STENCIL_BACK_OP_FAIL_INVERT 0x0000150a
+#define NV40TCL_STENCIL_BACK_OP_FAIL_KEEP 0x00001e00
+#define NV40TCL_STENCIL_BACK_OP_FAIL_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_BACK_OP_FAIL_INCR 0x00001e02
+#define NV40TCL_STENCIL_BACK_OP_FAIL_DECR 0x00001e03
+#define NV40TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP 0x00008508
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL 0x00000360
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_ZERO 0x00000000
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_INVERT 0x0000150a
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_KEEP 0x00001e00
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV40TCL_STENCIL_BACK_OP_ZPASS 0x00000364
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_INVERT 0x0000150a
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_KEEP 0x00001e00
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV40TCL_SHADE_MODEL 0x00000368
+#define NV40TCL_SHADE_MODEL_FLAT 0x00001d00
+#define NV40TCL_SHADE_MODEL_SMOOTH 0x00001d01
+#define NV40TCL_MRT_COLOR_MASK 0x00000370
+#define NV40TCL_MRT_COLOR_MASK_BUFFER1_A (1 << 4)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER1_R (1 << 5)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER1_G (1 << 6)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER1_B (1 << 7)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER2_A (1 << 8)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER2_R (1 << 9)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER2_G (1 << 10)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER2_B (1 << 11)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER3_A (1 << 12)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER3_R (1 << 13)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER3_G (1 << 14)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER3_B (1 << 15)
+#define NV40TCL_COLOR_LOGIC_OP_ENABLE 0x00000374
+#define NV40TCL_COLOR_LOGIC_OP 0x00000378
+#define NV40TCL_COLOR_LOGIC_OP_CLEAR 0x00001500
+#define NV40TCL_COLOR_LOGIC_OP_AND 0x00001501
+#define NV40TCL_COLOR_LOGIC_OP_AND_REVERSE 0x00001502
+#define NV40TCL_COLOR_LOGIC_OP_COPY 0x00001503
+#define NV40TCL_COLOR_LOGIC_OP_AND_INVERTED 0x00001504
+#define NV40TCL_COLOR_LOGIC_OP_NOOP 0x00001505
+#define NV40TCL_COLOR_LOGIC_OP_XOR 0x00001506
+#define NV40TCL_COLOR_LOGIC_OP_OR 0x00001507
+#define NV40TCL_COLOR_LOGIC_OP_NOR 0x00001508
+#define NV40TCL_COLOR_LOGIC_OP_EQUIV 0x00001509
+#define NV40TCL_COLOR_LOGIC_OP_INVERT 0x0000150a
+#define NV40TCL_COLOR_LOGIC_OP_OR_REVERSE 0x0000150b
+#define NV40TCL_COLOR_LOGIC_OP_COPY_INVERTED 0x0000150c
+#define NV40TCL_COLOR_LOGIC_OP_OR_INVERTED 0x0000150d
+#define NV40TCL_COLOR_LOGIC_OP_NAND 0x0000150e
+#define NV40TCL_COLOR_LOGIC_OP_SET 0x0000150f
+#define NV40TCL_DEPTH_RANGE_NEAR 0x00000394
+#define NV40TCL_DEPTH_RANGE_FAR 0x00000398
+#define NV40TCL_LINE_WIDTH 0x000003b8
+#define NV40TCL_LINE_SMOOTH_ENABLE 0x000003bc
+#define NV40TCL_UNK03C0(x) (0x000003c0+((x)*4))
+#define NV40TCL_UNK03C0__SIZE 0x00000010
+#define NV40TCL_UNK0400(x) (0x00000400+((x)*4))
+#define NV40TCL_UNK0400__SIZE 0x00000010
+#define NV40TCL_UNK0440(x) (0x00000440+((x)*4))
+#define NV40TCL_UNK0440__SIZE 0x00000020
+#define NV40TCL_SCISSOR_HORIZ 0x000008c0
+#define NV40TCL_SCISSOR_HORIZ_X_SHIFT 0
+#define NV40TCL_SCISSOR_HORIZ_X_MASK 0x0000ffff
+#define NV40TCL_SCISSOR_HORIZ_W_SHIFT 16
+#define NV40TCL_SCISSOR_HORIZ_W_MASK 0xffff0000
+#define NV40TCL_SCISSOR_VERT 0x000008c4
+#define NV40TCL_SCISSOR_VERT_Y_SHIFT 0
+#define NV40TCL_SCISSOR_VERT_Y_MASK 0x0000ffff
+#define NV40TCL_SCISSOR_VERT_H_SHIFT 16
+#define NV40TCL_SCISSOR_VERT_H_MASK 0xffff0000
+#define NV40TCL_FOG_MODE 0x000008cc
+#define NV40TCL_FOG_EQUATION_CONSTANT 0x000008d0
+#define NV40TCL_FOG_EQUATION_LINEAR 0x000008d4
+#define NV40TCL_FOG_EQUATION_QUADRATIC 0x000008d8
+#define NV40TCL_FP_ADDRESS 0x000008e4
+#define NV40TCL_FP_ADDRESS_OFFSET_SHIFT 8
+#define NV40TCL_FP_ADDRESS_OFFSET_MASK 0xffffff00
+#define NV40TCL_FP_ADDRESS_DMA1 (1 << 1)
+#define NV40TCL_FP_ADDRESS_DMA0 (1 << 0)
+#define NV40TCL_VIEWPORT_HORIZ 0x00000a00
+#define NV40TCL_VIEWPORT_HORIZ_W_SHIFT 16
+#define NV40TCL_VIEWPORT_HORIZ_W_MASK 0xffff0000
+#define NV40TCL_VIEWPORT_HORIZ_X_SHIFT 0
+#define NV40TCL_VIEWPORT_HORIZ_X_MASK 0x0000ffff
+#define NV40TCL_VIEWPORT_VERT 0x00000a04
+#define NV40TCL_VIEWPORT_VERT_H_SHIFT 16
+#define NV40TCL_VIEWPORT_VERT_H_MASK 0xffff0000
+#define NV40TCL_VIEWPORT_VERT_Y_SHIFT 0
+#define NV40TCL_VIEWPORT_VERT_Y_MASK 0x0000ffff
+#define NV40TCL_VIEWPORT_TRANSLATE_X 0x00000a20
+#define NV40TCL_VIEWPORT_TRANSLATE_Y 0x00000a24
+#define NV40TCL_VIEWPORT_TRANSLATE_Z 0x00000a28
+#define NV40TCL_VIEWPORT_TRANSLATE_W 0x00000a2c
+#define NV40TCL_VIEWPORT_SCALE_X 0x00000a30
+#define NV40TCL_VIEWPORT_SCALE_Y 0x00000a34
+#define NV40TCL_VIEWPORT_SCALE_Z 0x00000a38
+#define NV40TCL_VIEWPORT_SCALE_W 0x00000a3c
+#define NV40TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000a60
+#define NV40TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000a64
+#define NV40TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000a68
+#define NV40TCL_DEPTH_FUNC 0x00000a6c
+#define NV40TCL_DEPTH_FUNC_NEVER 0x00000200
+#define NV40TCL_DEPTH_FUNC_LESS 0x00000201
+#define NV40TCL_DEPTH_FUNC_EQUAL 0x00000202
+#define NV40TCL_DEPTH_FUNC_LEQUAL 0x00000203
+#define NV40TCL_DEPTH_FUNC_GREATER 0x00000204
+#define NV40TCL_DEPTH_FUNC_NOTEQUAL 0x00000205
+#define NV40TCL_DEPTH_FUNC_GEQUAL 0x00000206
+#define NV40TCL_DEPTH_FUNC_ALWAYS 0x00000207
+#define NV40TCL_DEPTH_WRITE_ENABLE 0x00000a70
+#define NV40TCL_DEPTH_TEST_ENABLE 0x00000a74
+#define NV40TCL_POLYGON_OFFSET_FACTOR 0x00000a78
+#define NV40TCL_POLYGON_OFFSET_UNITS 0x00000a7c
+#define NV40TCL_VTX_ATTR_3I_XY(x) (0x00000a80+((x)*8))
+#define NV40TCL_VTX_ATTR_3I_XY__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_3I_XY_X_SHIFT 0
+#define NV40TCL_VTX_ATTR_3I_XY_X_MASK 0x0000ffff
+#define NV40TCL_VTX_ATTR_3I_XY_Y_SHIFT 16
+#define NV40TCL_VTX_ATTR_3I_XY_Y_MASK 0xffff0000
+#define NV40TCL_VTX_ATTR_3I_Z(x) (0x00000a84+((x)*8))
+#define NV40TCL_VTX_ATTR_3I_Z__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_3I_Z_Z_SHIFT 0
+#define NV40TCL_VTX_ATTR_3I_Z_Z_MASK 0x0000ffff
+#define NV40TCL_TEX_FILTER_OPTIMIZATION 0x00000b00
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_SHIFT 0
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_MASK 0x0000001f
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_OFF 0x00000000
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_QUALITY 0x00000004
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_QUALITY 0x00000006
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_PERFORMANCE 0x00000008
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_PERFORMANCE 0x00000018
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_SHIFT 6
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_MASK 0x000001c0
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_OFF 0x00000000
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_HIGH_QUALITY 0x000000c0
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_QUALITY 0x000001c0
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_PERFORMANCE 0x00000140
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_SHIFT 10
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_MASK 0x00007c00
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_OFF 0x00000000
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_PARTIAL 0x00002c00
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_FULL 0x00007c00
+#define NV40TCL_UNK0B40(x) (0x00000b40+((x)*4))
+#define NV40TCL_UNK0B40__SIZE 0x00000008
+#define NV40TCL_VP_UPLOAD_INST(x) (0x00000b80+((x)*4))
+#define NV40TCL_VP_UPLOAD_INST__SIZE 0x00000004
+#define NV40TCL_VERTEX_TWO_SIDE_ENABLE 0x0000142c
+#define NV40TCL_CLIP_PLANE_ENABLE 0x00001478
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE0 (1 << 1)
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE1 (1 << 5)
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE2 (1 << 9)
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE3 (1 << 13)
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE4 (1 << 17)
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE5 (1 << 21)
+#define NV40TCL_POLYGON_STIPPLE_ENABLE 0x0000147c
+#define NV40TCL_POLYGON_STIPPLE_PATTERN(x) (0x00001480+((x)*4))
+#define NV40TCL_POLYGON_STIPPLE_PATTERN__SIZE 0x00000020
+#define NV40TCL_VTX_ATTR_3F_X(x) (0x00001500+((x)*16))
+#define NV40TCL_VTX_ATTR_3F_X__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_3F_Y(x) (0x00001504+((x)*16))
+#define NV40TCL_VTX_ATTR_3F_Y__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_3F_Z(x) (0x00001508+((x)*16))
+#define NV40TCL_VTX_ATTR_3F_Z__SIZE 0x00000010
+#define NV40TCL_VTXBUF_ADDRESS(x) (0x00001680+((x)*4))
+#define NV40TCL_VTXBUF_ADDRESS__SIZE 0x00000010
+#define NV40TCL_VTXBUF_ADDRESS_DMA1 (1 << 31)
+#define NV40TCL_VTXBUF_ADDRESS_OFFSET_SHIFT 0
+#define NV40TCL_VTXBUF_ADDRESS_OFFSET_MASK 0x0fffffff
+#define NV40TCL_VTX_CACHE_INVALIDATE 0x00001714
+#define NV40TCL_VTXFMT(x) (0x00001740+((x)*4))
+#define NV40TCL_VTXFMT__SIZE 0x00000010
+#define NV40TCL_VTXFMT_TYPE_SHIFT 0
+#define NV40TCL_VTXFMT_TYPE_MASK 0x0000000f
+#define NV40TCL_VTXFMT_TYPE_FLOAT 0x00000002
+#define NV40TCL_VTXFMT_TYPE_UBYTE 0x00000004
+#define NV40TCL_VTXFMT_TYPE_USHORT 0x00000005
+#define NV40TCL_VTXFMT_SIZE_SHIFT 4
+#define NV40TCL_VTXFMT_SIZE_MASK 0x000000f0
+#define NV40TCL_VTXFMT_STRIDE_SHIFT 8
+#define NV40TCL_VTXFMT_STRIDE_MASK 0x0000ff00
+#define NV40TCL_QUERY_RESET 0x000017c8
+#define NV40TCL_QUERY_UNK17CC 0x000017cc
+#define NV40TCL_QUERY_GET 0x00001800
+#define NV40TCL_QUERY_GET_UNK24_SHIFT 24
+#define NV40TCL_QUERY_GET_UNK24_MASK 0xff000000
+#define NV40TCL_QUERY_GET_OFFSET_SHIFT 0
+#define NV40TCL_QUERY_GET_OFFSET_MASK 0x00ffffff
+#define NV40TCL_BEGIN_END 0x00001808
+#define NV40TCL_BEGIN_END_STOP 0x00000000
+#define NV40TCL_BEGIN_END_POINTS 0x00000001
+#define NV40TCL_BEGIN_END_LINES 0x00000002
+#define NV40TCL_BEGIN_END_LINE_LOOP 0x00000003
+#define NV40TCL_BEGIN_END_LINE_STRIP 0x00000004
+#define NV40TCL_BEGIN_END_TRIANGLES 0x00000005
+#define NV40TCL_BEGIN_END_TRIANGLE_STRIP 0x00000006
+#define NV40TCL_BEGIN_END_TRIANGLE_FAN 0x00000007
+#define NV40TCL_BEGIN_END_QUADS 0x00000008
+#define NV40TCL_BEGIN_END_QUAD_STRIP 0x00000009
+#define NV40TCL_BEGIN_END_POLYGON 0x0000000a
+#define NV40TCL_VB_ELEMENT_U16 0x0000180c
+#define NV40TCL_VB_ELEMENT_U16_1_SHIFT 16
+#define NV40TCL_VB_ELEMENT_U16_1_MASK 0xffff0000
+#define NV40TCL_VB_ELEMENT_U16_0_SHIFT 0
+#define NV40TCL_VB_ELEMENT_U16_0_MASK 0x0000ffff
+#define NV40TCL_VB_ELEMENT_U32 0x00001810
+#define NV40TCL_VB_VERTEX_BATCH 0x00001814
+#define NV40TCL_VB_VERTEX_BATCH_COUNT_SHIFT 24
+#define NV40TCL_VB_VERTEX_BATCH_COUNT_MASK 0xff000000
+#define NV40TCL_VB_VERTEX_BATCH_START_SHIFT 0
+#define NV40TCL_VB_VERTEX_BATCH_START_MASK 0x00ffffff
+#define NV40TCL_VERTEX_DATA 0x00001818
+#define NV40TCL_IDXBUF_ADDRESS 0x0000181c
+#define NV40TCL_IDXBUF_FORMAT 0x00001820
+#define NV40TCL_IDXBUF_FORMAT_TYPE_SHIFT 4
+#define NV40TCL_IDXBUF_FORMAT_TYPE_MASK 0x000000f0
+#define NV40TCL_IDXBUF_FORMAT_TYPE_U32 0x00000000
+#define NV40TCL_IDXBUF_FORMAT_TYPE_U16 0x00000010
+#define NV40TCL_IDXBUF_FORMAT_DMA1 (1 << 0)
+#define NV40TCL_VB_INDEX_BATCH 0x00001824
+#define NV40TCL_VB_INDEX_BATCH_COUNT_SHIFT 24
+#define NV40TCL_VB_INDEX_BATCH_COUNT_MASK 0xff000000
+#define NV40TCL_VB_INDEX_BATCH_START_SHIFT 0
+#define NV40TCL_VB_INDEX_BATCH_START_MASK 0x00ffffff
+#define NV40TCL_POLYGON_MODE_FRONT 0x00001828
+#define NV40TCL_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NV40TCL_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NV40TCL_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NV40TCL_POLYGON_MODE_BACK 0x0000182c
+#define NV40TCL_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NV40TCL_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NV40TCL_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NV40TCL_CULL_FACE 0x00001830
+#define NV40TCL_CULL_FACE_FRONT 0x00000404
+#define NV40TCL_CULL_FACE_BACK 0x00000405
+#define NV40TCL_CULL_FACE_FRONT_AND_BACK 0x00000408
+#define NV40TCL_FRONT_FACE 0x00001834
+#define NV40TCL_FRONT_FACE_CW 0x00000900
+#define NV40TCL_FRONT_FACE_CCW 0x00000901
+#define NV40TCL_POLYGON_SMOOTH_ENABLE 0x00001838
+#define NV40TCL_CULL_FACE_ENABLE 0x0000183c
+#define NV40TCL_TEX_SIZE1(x) (0x00001840+((x)*4))
+#define NV40TCL_TEX_SIZE1__SIZE 0x00000008
+#define NV40TCL_TEX_SIZE1_DEPTH_SHIFT 20
+#define NV40TCL_TEX_SIZE1_DEPTH_MASK 0xfff00000
+#define NV40TCL_TEX_SIZE1_PITCH_SHIFT 0
+#define NV40TCL_TEX_SIZE1_PITCH_MASK 0x0000ffff
+#define NV40TCL_VTX_ATTR_2F_X(x) (0x00001880+((x)*8))
+#define NV40TCL_VTX_ATTR_2F_X__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_2F_Y(x) (0x00001884+((x)*8))
+#define NV40TCL_VTX_ATTR_2F_Y__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_2I(x) (0x00001900+((x)*4))
+#define NV40TCL_VTX_ATTR_2I__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_2I_X_SHIFT 0
+#define NV40TCL_VTX_ATTR_2I_X_MASK 0x0000ffff
+#define NV40TCL_VTX_ATTR_2I_Y_SHIFT 16
+#define NV40TCL_VTX_ATTR_2I_Y_MASK 0xffff0000
+#define NV40TCL_VTX_ATTR_4UB(x) (0x00001940+((x)*4))
+#define NV40TCL_VTX_ATTR_4UB__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4UB_X_SHIFT 0
+#define NV40TCL_VTX_ATTR_4UB_X_MASK 0x000000ff
+#define NV40TCL_VTX_ATTR_4UB_Y_SHIFT 8
+#define NV40TCL_VTX_ATTR_4UB_Y_MASK 0x0000ff00
+#define NV40TCL_VTX_ATTR_4UB_Z_SHIFT 16
+#define NV40TCL_VTX_ATTR_4UB_Z_MASK 0x00ff0000
+#define NV40TCL_VTX_ATTR_4UB_W_SHIFT 24
+#define NV40TCL_VTX_ATTR_4UB_W_MASK 0xff000000
+#define NV40TCL_VTX_ATTR_4I_XY(x) (0x00001980+((x)*8))
+#define NV40TCL_VTX_ATTR_4I_XY__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4I_XY_X_SHIFT 0
+#define NV40TCL_VTX_ATTR_4I_XY_X_MASK 0x0000ffff
+#define NV40TCL_VTX_ATTR_4I_XY_Y_SHIFT 16
+#define NV40TCL_VTX_ATTR_4I_XY_Y_MASK 0xffff0000
+#define NV40TCL_VTX_ATTR_4I_ZW(x) (0x00001984+((x)*8))
+#define NV40TCL_VTX_ATTR_4I_ZW__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4I_ZW_Z_SHIFT 0
+#define NV40TCL_VTX_ATTR_4I_ZW_Z_MASK 0x0000ffff
+#define NV40TCL_VTX_ATTR_4I_ZW_W_SHIFT 16
+#define NV40TCL_VTX_ATTR_4I_ZW_W_MASK 0xffff0000
+#define NV40TCL_TEX_OFFSET(x) (0x00001a00+((x)*32))
+#define NV40TCL_TEX_OFFSET__SIZE 0x00000010
+#define NV40TCL_TEX_FORMAT(x) (0x00001a04+((x)*32))
+#define NV40TCL_TEX_FORMAT__SIZE 0x00000010
+#define NV40TCL_TEX_FORMAT_MIPMAP_COUNT_SHIFT 16
+#define NV40TCL_TEX_FORMAT_MIPMAP_COUNT_MASK 0x000f0000
+#define NV40TCL_TEX_FORMAT_RECT (1 << 14)
+#define NV40TCL_TEX_FORMAT_LINEAR (1 << 13)
+#define NV40TCL_TEX_FORMAT_FORMAT_SHIFT 8
+#define NV40TCL_TEX_FORMAT_FORMAT_MASK 0x00001f00
+#define NV40TCL_TEX_FORMAT_FORMAT_L8 0x00000100
+#define NV40TCL_TEX_FORMAT_FORMAT_A1R5G5B5 0x00000200
+#define NV40TCL_TEX_FORMAT_FORMAT_A4R4G4B4 0x00000300
+#define NV40TCL_TEX_FORMAT_FORMAT_R5G6B5 0x00000400
+#define NV40TCL_TEX_FORMAT_FORMAT_A8R8G8B8 0x00000500
+#define NV40TCL_TEX_FORMAT_FORMAT_DXT1 0x00000600
+#define NV40TCL_TEX_FORMAT_FORMAT_DXT3 0x00000700
+#define NV40TCL_TEX_FORMAT_FORMAT_DXT5 0x00000800
+#define NV40TCL_TEX_FORMAT_FORMAT_A8L8 0x00000b00
+#define NV40TCL_TEX_FORMAT_FORMAT_Z24 0x00001000
+#define NV40TCL_TEX_FORMAT_FORMAT_Z16 0x00001200
+#define NV40TCL_TEX_FORMAT_FORMAT_A16 0x00001400
+#define NV40TCL_TEX_FORMAT_FORMAT_A16L16 0x00001500
+#define NV40TCL_TEX_FORMAT_FORMAT_HILO8 0x00001800
+#define NV40TCL_TEX_FORMAT_FORMAT_RGBA16F 0x00001a00
+#define NV40TCL_TEX_FORMAT_FORMAT_RGBA32F 0x00001b00
+#define NV40TCL_TEX_FORMAT_DIMS_SHIFT 4
+#define NV40TCL_TEX_FORMAT_DIMS_MASK 0x000000f0
+#define NV40TCL_TEX_FORMAT_DIMS_1D 0x00000010
+#define NV40TCL_TEX_FORMAT_DIMS_2D 0x00000020
+#define NV40TCL_TEX_FORMAT_DIMS_3D 0x00000030
+#define NV40TCL_TEX_FORMAT_NO_BORDER (1 << 3)
+#define NV40TCL_TEX_FORMAT_CUBIC (1 << 2)
+#define NV40TCL_TEX_FORMAT_DMA1 (1 << 1)
+#define NV40TCL_TEX_FORMAT_DMA0 (1 << 0)
+#define NV40TCL_TEX_WRAP(x) (0x00001a08+((x)*32))
+#define NV40TCL_TEX_WRAP__SIZE 0x00000010
+#define NV40TCL_TEX_WRAP_S_SHIFT 0
+#define NV40TCL_TEX_WRAP_S_MASK 0x0000000f
+#define NV40TCL_TEX_WRAP_S_REPEAT 0x00000001
+#define NV40TCL_TEX_WRAP_S_MIRRORED_REPEAT 0x00000002
+#define NV40TCL_TEX_WRAP_S_CLAMP_TO_EDGE 0x00000003
+#define NV40TCL_TEX_WRAP_S_CLAMP_TO_BORDER 0x00000004
+#define NV40TCL_TEX_WRAP_S_CLAMP 0x00000005
+#define NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE 0x00000006
+#define NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER 0x00000007
+#define NV40TCL_TEX_WRAP_S_MIRROR_CLAMP 0x00000008
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_SHIFT 4
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_MASK 0x00000070
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_OFF 0x00000000
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_QUALITY 0x00000020
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_PERFORMANCE 0x00000030
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_HIGH_PERFORMANCE 0x00000070
+#define NV40TCL_TEX_WRAP_T_SHIFT 8
+#define NV40TCL_TEX_WRAP_T_MASK 0x00000f00
+#define NV40TCL_TEX_WRAP_T_REPEAT 0x00000100
+#define NV40TCL_TEX_WRAP_T_MIRRORED_REPEAT 0x00000200
+#define NV40TCL_TEX_WRAP_T_CLAMP_TO_EDGE 0x00000300
+#define NV40TCL_TEX_WRAP_T_CLAMP_TO_BORDER 0x00000400
+#define NV40TCL_TEX_WRAP_T_CLAMP 0x00000500
+#define NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_EDGE 0x00000600
+#define NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_BORDER 0x00000700
+#define NV40TCL_TEX_WRAP_T_MIRROR_CLAMP 0x00000800
+#define NV40TCL_TEX_WRAP_EXPAND_NORMAL_SHIFT 12
+#define NV40TCL_TEX_WRAP_EXPAND_NORMAL_MASK 0x0000f000
+#define NV40TCL_TEX_WRAP_R_SHIFT 16
+#define NV40TCL_TEX_WRAP_R_MASK 0x000f0000
+#define NV40TCL_TEX_WRAP_R_REPEAT 0x00010000
+#define NV40TCL_TEX_WRAP_R_MIRRORED_REPEAT 0x00020000
+#define NV40TCL_TEX_WRAP_R_CLAMP_TO_EDGE 0x00030000
+#define NV40TCL_TEX_WRAP_R_CLAMP_TO_BORDER 0x00040000
+#define NV40TCL_TEX_WRAP_R_CLAMP 0x00050000
+#define NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_EDGE 0x00060000
+#define NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_BORDER 0x00070000
+#define NV40TCL_TEX_WRAP_R_MIRROR_CLAMP 0x00080000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_SHIFT 20
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_MASK 0x00f00000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_NONE 0x00000000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_RED 0x00100000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_GREEN 0x00200000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_BLUE 0x00400000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_ALL 0x00f00000
+#define NV40TCL_TEX_WRAP_RCOMP_SHIFT 28
+#define NV40TCL_TEX_WRAP_RCOMP_MASK 0xf0000000
+#define NV40TCL_TEX_WRAP_RCOMP_NEVER 0x00000000
+#define NV40TCL_TEX_WRAP_RCOMP_GREATER 0x10000000
+#define NV40TCL_TEX_WRAP_RCOMP_EQUAL 0x20000000
+#define NV40TCL_TEX_WRAP_RCOMP_GEQUAL 0x30000000
+#define NV40TCL_TEX_WRAP_RCOMP_LESS 0x40000000
+#define NV40TCL_TEX_WRAP_RCOMP_NOTEQUAL 0x50000000
+#define NV40TCL_TEX_WRAP_RCOMP_LEQUAL 0x60000000
+#define NV40TCL_TEX_WRAP_RCOMP_ALWAYS 0x70000000
+#define NV40TCL_TEX_ENABLE(x) (0x00001a0c+((x)*32))
+#define NV40TCL_TEX_ENABLE__SIZE 0x00000010
+#define NV40TCL_TEX_ENABLE_ENABLE (1 << 31)
+#define NV40TCL_TEX_ENABLE_MIPMAP_MIN_LOD_SHIFT 27
+#define NV40TCL_TEX_ENABLE_MIPMAP_MIN_LOD_MASK 0x38000000
+#define NV40TCL_TEX_ENABLE_MIPMAP_MAX_LOD_SHIFT 15
+#define NV40TCL_TEX_ENABLE_MIPMAP_MAX_LOD_MASK 0x00038000
+#define NV40TCL_TEX_ENABLE_ANISO_SHIFT 4
+#define NV40TCL_TEX_ENABLE_ANISO_MASK 0x000000f0
+#define NV40TCL_TEX_ENABLE_ANISO_NONE 0x00000000
+#define NV40TCL_TEX_ENABLE_ANISO_2X 0x00000010
+#define NV40TCL_TEX_ENABLE_ANISO_4X 0x00000020
+#define NV40TCL_TEX_ENABLE_ANISO_6X 0x00000030
+#define NV40TCL_TEX_ENABLE_ANISO_8X 0x00000040
+#define NV40TCL_TEX_ENABLE_ANISO_10X 0x00000050
+#define NV40TCL_TEX_ENABLE_ANISO_12X 0x00000060
+#define NV40TCL_TEX_ENABLE_ANISO_16X 0x00000070
+#define NV40TCL_TEX_SWIZZLE(x) (0x00001a10+((x)*32))
+#define NV40TCL_TEX_SWIZZLE__SIZE 0x00000010
+#define NV40TCL_TEX_SWIZZLE_S0_X_SHIFT 14
+#define NV40TCL_TEX_SWIZZLE_S0_X_MASK 0x0000c000
+#define NV40TCL_TEX_SWIZZLE_S0_X_ZERO 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S0_X_ONE 0x00004000
+#define NV40TCL_TEX_SWIZZLE_S0_X_S1 0x00008000
+#define NV40TCL_TEX_SWIZZLE_S0_Y_SHIFT 12
+#define NV40TCL_TEX_SWIZZLE_S0_Y_MASK 0x00003000
+#define NV40TCL_TEX_SWIZZLE_S0_Y_ZERO 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S0_Y_ONE 0x00001000
+#define NV40TCL_TEX_SWIZZLE_S0_Y_S1 0x00002000
+#define NV40TCL_TEX_SWIZZLE_S0_Z_SHIFT 10
+#define NV40TCL_TEX_SWIZZLE_S0_Z_MASK 0x00000c00
+#define NV40TCL_TEX_SWIZZLE_S0_Z_ZERO 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S0_Z_ONE 0x00000400
+#define NV40TCL_TEX_SWIZZLE_S0_Z_S1 0x00000800
+#define NV40TCL_TEX_SWIZZLE_S0_W_SHIFT 8
+#define NV40TCL_TEX_SWIZZLE_S0_W_MASK 0x00000300
+#define NV40TCL_TEX_SWIZZLE_S0_W_ZERO 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S0_W_ONE 0x00000100
+#define NV40TCL_TEX_SWIZZLE_S0_W_S1 0x00000200
+#define NV40TCL_TEX_SWIZZLE_S1_X_SHIFT 6
+#define NV40TCL_TEX_SWIZZLE_S1_X_MASK 0x000000c0
+#define NV40TCL_TEX_SWIZZLE_S1_X_W 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S1_X_Z 0x00000040
+#define NV40TCL_TEX_SWIZZLE_S1_X_Y 0x00000080
+#define NV40TCL_TEX_SWIZZLE_S1_X_X 0x000000c0
+#define NV40TCL_TEX_SWIZZLE_S1_Y_SHIFT 4
+#define NV40TCL_TEX_SWIZZLE_S1_Y_MASK 0x00000030
+#define NV40TCL_TEX_SWIZZLE_S1_Y_W 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S1_Y_Z 0x00000010
+#define NV40TCL_TEX_SWIZZLE_S1_Y_Y 0x00000020
+#define NV40TCL_TEX_SWIZZLE_S1_Y_X 0x00000030
+#define NV40TCL_TEX_SWIZZLE_S1_Z_SHIFT 2
+#define NV40TCL_TEX_SWIZZLE_S1_Z_MASK 0x0000000c
+#define NV40TCL_TEX_SWIZZLE_S1_Z_W 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S1_Z_Z 0x00000004
+#define NV40TCL_TEX_SWIZZLE_S1_Z_Y 0x00000008
+#define NV40TCL_TEX_SWIZZLE_S1_Z_X 0x0000000c
+#define NV40TCL_TEX_SWIZZLE_S1_W_SHIFT 0
+#define NV40TCL_TEX_SWIZZLE_S1_W_MASK 0x00000003
+#define NV40TCL_TEX_SWIZZLE_S1_W_W 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S1_W_Z 0x00000001
+#define NV40TCL_TEX_SWIZZLE_S1_W_Y 0x00000002
+#define NV40TCL_TEX_SWIZZLE_S1_W_X 0x00000003
+#define NV40TCL_TEX_FILTER(x) (0x00001a14+((x)*32))
+#define NV40TCL_TEX_FILTER__SIZE 0x00000010
+#define NV40TCL_TEX_FILTER_SIGNED_ALPHA (1 << 31)
+#define NV40TCL_TEX_FILTER_SIGNED_RED (1 << 30)
+#define NV40TCL_TEX_FILTER_SIGNED_GREEN (1 << 29)
+#define NV40TCL_TEX_FILTER_SIGNED_BLUE (1 << 28)
+#define NV40TCL_TEX_FILTER_MIN_SHIFT 16
+#define NV40TCL_TEX_FILTER_MIN_MASK 0x000f0000
+#define NV40TCL_TEX_FILTER_MIN_NEAREST 0x00010000
+#define NV40TCL_TEX_FILTER_MIN_LINEAR 0x00020000
+#define NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST 0x00030000
+#define NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST 0x00040000
+#define NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR 0x00050000
+#define NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR 0x00060000
+#define NV40TCL_TEX_FILTER_MAG_SHIFT 24
+#define NV40TCL_TEX_FILTER_MAG_MASK 0x0f000000
+#define NV40TCL_TEX_FILTER_MAG_NEAREST 0x01000000
+#define NV40TCL_TEX_FILTER_MAG_LINEAR 0x02000000
+#define NV40TCL_TEX_SIZE0(x) (0x00001a18+((x)*32))
+#define NV40TCL_TEX_SIZE0__SIZE 0x00000010
+#define NV40TCL_TEX_SIZE0_H_SHIFT 0
+#define NV40TCL_TEX_SIZE0_H_MASK 0x0000ffff
+#define NV40TCL_TEX_SIZE0_W_SHIFT 16
+#define NV40TCL_TEX_SIZE0_W_MASK 0xffff0000
+#define NV40TCL_TEX_BORDER_COLOR(x) (0x00001a1c+((x)*32))
+#define NV40TCL_TEX_BORDER_COLOR__SIZE 0x00000010
+#define NV40TCL_TEX_BORDER_COLOR_B_SHIFT 0
+#define NV40TCL_TEX_BORDER_COLOR_B_MASK 0x000000ff
+#define NV40TCL_TEX_BORDER_COLOR_G_SHIFT 8
+#define NV40TCL_TEX_BORDER_COLOR_G_MASK 0x0000ff00
+#define NV40TCL_TEX_BORDER_COLOR_R_SHIFT 16
+#define NV40TCL_TEX_BORDER_COLOR_R_MASK 0x00ff0000
+#define NV40TCL_TEX_BORDER_COLOR_A_SHIFT 24
+#define NV40TCL_TEX_BORDER_COLOR_A_MASK 0xff000000
+#define NV40TCL_VTX_ATTR_4F_X(x) (0x00001c00+((x)*16))
+#define NV40TCL_VTX_ATTR_4F_X__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4F_Y(x) (0x00001c04+((x)*16))
+#define NV40TCL_VTX_ATTR_4F_Y__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4F_Z(x) (0x00001c08+((x)*16))
+#define NV40TCL_VTX_ATTR_4F_Z__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4F_W(x) (0x00001c0c+((x)*16))
+#define NV40TCL_VTX_ATTR_4F_W__SIZE 0x00000010
+#define NV40TCL_FP_CONTROL 0x00001d60
+#define NV40TCL_FP_CONTROL_TEMP_COUNT_SHIFT 24
+#define NV40TCL_FP_CONTROL_TEMP_COUNT_MASK 0xff000000
+#define NV40TCL_FP_CONTROL_KIL (1 << 7)
+#define NV40TCL_MULTISAMPLE_CONTROL 0x00001d7c
+#define NV40TCL_CLEAR_VALUE_DEPTH 0x00001d8c
+#define NV40TCL_CLEAR_VALUE_COLOR 0x00001d90
+#define NV40TCL_CLEAR_VALUE_COLOR_B_SHIFT 0
+#define NV40TCL_CLEAR_VALUE_COLOR_B_MASK 0x000000ff
+#define NV40TCL_CLEAR_VALUE_COLOR_G_SHIFT 8
+#define NV40TCL_CLEAR_VALUE_COLOR_G_MASK 0x0000ff00
+#define NV40TCL_CLEAR_VALUE_COLOR_R_SHIFT 16
+#define NV40TCL_CLEAR_VALUE_COLOR_R_MASK 0x00ff0000
+#define NV40TCL_CLEAR_VALUE_COLOR_A_SHIFT 24
+#define NV40TCL_CLEAR_VALUE_COLOR_A_MASK 0xff000000
+#define NV40TCL_CLEAR_BUFFERS 0x00001d94
+#define NV40TCL_CLEAR_BUFFERS_COLOR_A (1 << 7)
+#define NV40TCL_CLEAR_BUFFERS_COLOR_B (1 << 6)
+#define NV40TCL_CLEAR_BUFFERS_COLOR_G (1 << 5)
+#define NV40TCL_CLEAR_BUFFERS_COLOR_R (1 << 4)
+#define NV40TCL_CLEAR_BUFFERS_STENCIL (1 << 1)
+#define NV40TCL_CLEAR_BUFFERS_DEPTH (1 << 0)
+#define NV40TCL_LINE_STIPPLE_ENABLE 0x00001db4
+#define NV40TCL_LINE_STIPPLE_PATTERN 0x00001db8
+#define NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT 0
+#define NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK 0x0000ffff
+#define NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT 16
+#define NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK 0xffff0000
+#define NV40TCL_VTX_ATTR_1F(x) (0x00001e40+((x)*4))
+#define NV40TCL_VTX_ATTR_1F__SIZE 0x00000010
+#define NV40TCL_VP_UPLOAD_FROM_ID 0x00001e9c
+#define NV40TCL_VP_START_FROM_ID 0x00001ea0
+#define NV40TCL_POINT_SIZE 0x00001ee0
+#define NV40TCL_POINT_SPRITE 0x00001ee8
+#define NV40TCL_POINT_SPRITE_ENABLE (1 << 0)
+#define NV40TCL_POINT_SPRITE_R_MODE_SHIFT 1
+#define NV40TCL_POINT_SPRITE_R_MODE_MASK 0x00000006
+#define NV40TCL_POINT_SPRITE_R_MODE_ZERO 0x00000000
+#define NV40TCL_POINT_SPRITE_R_MODE_R 0x00000002
+#define NV40TCL_POINT_SPRITE_R_MODE_S 0x00000004
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_0 (1 << 8)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_1 (1 << 9)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_2 (1 << 10)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_3 (1 << 11)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_4 (1 << 12)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_5 (1 << 13)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_6 (1 << 14)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_7 (1 << 15)
+#define NV40TCL_VP_UPLOAD_CONST_ID 0x00001efc
+#define NV40TCL_VP_UPLOAD_CONST_X(x) (0x00001f00+((x)*16))
+#define NV40TCL_VP_UPLOAD_CONST_X__SIZE 0x00000004
+#define NV40TCL_VP_UPLOAD_CONST_Y(x) (0x00001f04+((x)*16))
+#define NV40TCL_VP_UPLOAD_CONST_Y__SIZE 0x00000004
+#define NV40TCL_VP_UPLOAD_CONST_Z(x) (0x00001f08+((x)*16))
+#define NV40TCL_VP_UPLOAD_CONST_Z__SIZE 0x00000004
+#define NV40TCL_VP_UPLOAD_CONST_W(x) (0x00001f0c+((x)*16))
+#define NV40TCL_VP_UPLOAD_CONST_W__SIZE 0x00000004
+#define NV40TCL_TEX_CACHE_CTL 0x00001fd8
+#define NV40TCL_VP_ATTRIB_EN 0x00001ff0
+#define NV40TCL_VP_RESULT_EN 0x00001ff4
+
+
+#define NV44TCL 0x00004497
+
+
+
+#define NV50_2D 0x0000502d
+
+#define NV50_2D_NOP 0x00000100
+#define NV50_2D_NOTIFY 0x00000104
+#define NV50_2D_SERIALIZE 0x00000110
+#define NV50_2D_DMA_NOTIFY 0x00000180
+#define NV50_2D_DMA_DST 0x00000184
+#define NV50_2D_DMA_SRC 0x00000188
+#define NV50_2D_DMA_COND 0x0000018c
+#define NV50_2D_DST_FORMAT 0x00000200
+#define NV50_2D_DST_FORMAT_R32G32B32A32_FLOAT 0x000000c0
+#define NV50_2D_DST_FORMAT_R32G32B32A32_SINT 0x000000c1
+#define NV50_2D_DST_FORMAT_R32G32B32A32_UINT 0x000000c2
+#define NV50_2D_DST_FORMAT_R32G32B32X32_FLOAT 0x000000c3
+#define NV50_2D_DST_FORMAT_R16G16B16A16_UNORM 0x000000c6
+#define NV50_2D_DST_FORMAT_R16G16B16A16_SNORM 0x000000c7
+#define NV50_2D_DST_FORMAT_R16G16B16A16_SINT 0x000000c8
+#define NV50_2D_DST_FORMAT_R16G16B16A16_UINT 0x000000c9
+#define NV50_2D_DST_FORMAT_R16G16B16A16_FLOAT 0x000000ca
+#define NV50_2D_DST_FORMAT_R32G32_FLOAT 0x000000cb
+#define NV50_2D_DST_FORMAT_R32G32_SINT 0x000000cc
+#define NV50_2D_DST_FORMAT_R32G32_UINT 0x000000cd
+#define NV50_2D_DST_FORMAT_R16G16B16X16_FLOAT 0x000000ce
+#define NV50_2D_DST_FORMAT_A8R8G8B8_UNORM 0x000000cf
+#define NV50_2D_DST_FORMAT_A8R8G8B8_SRGB 0x000000d0
+#define NV50_2D_DST_FORMAT_A2B10G10R10_UNORM 0x000000d1
+#define NV50_2D_DST_FORMAT_A2B10G10R10_UINT 0x000000d2
+#define NV50_2D_DST_FORMAT_A8B8G8R8_UNORM 0x000000d5
+#define NV50_2D_DST_FORMAT_A8B8G8R8_SRGB 0x000000d6
+#define NV50_2D_DST_FORMAT_A8B8G8R8_SNORM 0x000000d7
+#define NV50_2D_DST_FORMAT_A8B8G8R8_SINT 0x000000d8
+#define NV50_2D_DST_FORMAT_A8B8G8R8_UINT 0x000000d9
+#define NV50_2D_DST_FORMAT_R16G16_UNORM 0x000000da
+#define NV50_2D_DST_FORMAT_R16G16_SNORM 0x000000db
+#define NV50_2D_DST_FORMAT_R16G16_SINT 0x000000dc
+#define NV50_2D_DST_FORMAT_R16G16_UINT 0x000000dd
+#define NV50_2D_DST_FORMAT_R16G16_FLOAT 0x000000de
+#define NV50_2D_DST_FORMAT_A2R10G10B10_UNORM 0x000000df
+#define NV50_2D_DST_FORMAT_B10G11R11_FLOAT 0x000000e0
+#define NV50_2D_DST_FORMAT_R32_FLOAT 0x000000e5
+#define NV50_2D_DST_FORMAT_X8R8G8B8_UNORM 0x000000e6
+#define NV50_2D_DST_FORMAT_X8R8G8B8_SRGB 0x000000e7
+#define NV50_2D_DST_FORMAT_R5G6B5_UNORM 0x000000e8
+#define NV50_2D_DST_FORMAT_A1R5G5B5_UNORM 0x000000e9
+#define NV50_2D_DST_FORMAT_R8G8_UNORM 0x000000ea
+#define NV50_2D_DST_FORMAT_R8G8_SNORM 0x000000eb
+#define NV50_2D_DST_FORMAT_R8G8_SINT 0x000000ec
+#define NV50_2D_DST_FORMAT_R8G8_UINT 0x000000ed
+#define NV50_2D_DST_FORMAT_R16_UNORM 0x000000ee
+#define NV50_2D_DST_FORMAT_R16_SNORM 0x000000ef
+#define NV50_2D_DST_FORMAT_R16_SINT 0x000000f0
+#define NV50_2D_DST_FORMAT_R16_UINT 0x000000f1
+#define NV50_2D_DST_FORMAT_R16_FLOAT 0x000000f2
+#define NV50_2D_DST_FORMAT_R8_UNORM 0x000000f3
+#define NV50_2D_DST_FORMAT_R8_SNORM 0x000000f4
+#define NV50_2D_DST_FORMAT_R8_SINT 0x000000f5
+#define NV50_2D_DST_FORMAT_R8_UINT 0x000000f6
+#define NV50_2D_DST_FORMAT_A8_UNORM 0x000000f7
+#define NV50_2D_DST_FORMAT_X1R5G5B5_UNORM 0x000000f8
+#define NV50_2D_DST_FORMAT_X8B8G8R8_UNORM 0x000000f9
+#define NV50_2D_DST_FORMAT_X8B8G8R8_SRGB 0x000000fa
+#define NV50_2D_DST_LINEAR 0x00000204
+#define NV50_2D_DST_TILE_MODE 0x00000208
+#define NV50_2D_DST_DEPTH 0x0000020c
+#define NV50_2D_DST_LAYER 0x00000210
+#define NV50_2D_DST_PITCH 0x00000214
+#define NV50_2D_DST_WIDTH 0x00000218
+#define NV50_2D_DST_HEIGHT 0x0000021c
+#define NV50_2D_DST_ADDRESS_HIGH 0x00000220
+#define NV50_2D_DST_ADDRESS_LOW 0x00000224
+#define NV50_2D_SRC_FORMAT 0x00000230
+#define NV50_2D_SRC_FORMAT_R32G32B32A32_FLOAT 0x000000c0
+#define NV50_2D_SRC_FORMAT_R32G32B32A32_SINT 0x000000c1
+#define NV50_2D_SRC_FORMAT_R32G32B32A32_UINT 0x000000c2
+#define NV50_2D_SRC_FORMAT_R32G32B32X32_FLOAT 0x000000c3
+#define NV50_2D_SRC_FORMAT_R16G16B16A16_UNORM 0x000000c6
+#define NV50_2D_SRC_FORMAT_R16G16B16A16_SNORM 0x000000c7
+#define NV50_2D_SRC_FORMAT_R16G16B16A16_SINT 0x000000c8
+#define NV50_2D_SRC_FORMAT_R16G16B16A16_UINT 0x000000c9
+#define NV50_2D_SRC_FORMAT_R16G16B16A16_FLOAT 0x000000ca
+#define NV50_2D_SRC_FORMAT_R32G32_FLOAT 0x000000cb
+#define NV50_2D_SRC_FORMAT_R32G32_SINT 0x000000cc
+#define NV50_2D_SRC_FORMAT_R32G32_UINT 0x000000cd
+#define NV50_2D_SRC_FORMAT_R16G16B16X16_FLOAT 0x000000ce
+#define NV50_2D_SRC_FORMAT_A8R8G8B8_UNORM 0x000000cf
+#define NV50_2D_SRC_FORMAT_A8R8G8B8_SRGB 0x000000d0
+#define NV50_2D_SRC_FORMAT_A2B10G10R10_UNORM 0x000000d1
+#define NV50_2D_SRC_FORMAT_A2B10G10R10_UINT 0x000000d2
+#define NV50_2D_SRC_FORMAT_A8B8G8R8_UNORM 0x000000d5
+#define NV50_2D_SRC_FORMAT_A8B8G8R8_SRGB 0x000000d6
+#define NV50_2D_SRC_FORMAT_A8B8G8R8_SNORM 0x000000d7
+#define NV50_2D_SRC_FORMAT_A8B8G8R8_SINT 0x000000d8
+#define NV50_2D_SRC_FORMAT_A8B8G8R8_UINT 0x000000d9
+#define NV50_2D_SRC_FORMAT_R16G16_UNORM 0x000000da
+#define NV50_2D_SRC_FORMAT_R16G16_SNORM 0x000000db
+#define NV50_2D_SRC_FORMAT_R16G16_SINT 0x000000dc
+#define NV50_2D_SRC_FORMAT_R16G16_UINT 0x000000dd
+#define NV50_2D_SRC_FORMAT_R16G16_FLOAT 0x000000de
+#define NV50_2D_SRC_FORMAT_A2R10G10B10_UNORM 0x000000df
+#define NV50_2D_SRC_FORMAT_B10G11R11_FLOAT 0x000000e0
+#define NV50_2D_SRC_FORMAT_R32_FLOAT 0x000000e5
+#define NV50_2D_SRC_FORMAT_X8R8G8B8_UNORM 0x000000e6
+#define NV50_2D_SRC_FORMAT_X8R8G8B8_SRGB 0x000000e7
+#define NV50_2D_SRC_FORMAT_R5G6B5_UNORM 0x000000e8
+#define NV50_2D_SRC_FORMAT_A1R5G5B5_UNORM 0x000000e9
+#define NV50_2D_SRC_FORMAT_R8G8_UNORM 0x000000ea
+#define NV50_2D_SRC_FORMAT_R8G8_SNORM 0x000000eb
+#define NV50_2D_SRC_FORMAT_R8G8_SINT 0x000000ec
+#define NV50_2D_SRC_FORMAT_R8G8_UINT 0x000000ed
+#define NV50_2D_SRC_FORMAT_R16_UNORM 0x000000ee
+#define NV50_2D_SRC_FORMAT_R16_SNORM 0x000000ef
+#define NV50_2D_SRC_FORMAT_R16_SINT 0x000000f0
+#define NV50_2D_SRC_FORMAT_R16_UINT 0x000000f1
+#define NV50_2D_SRC_FORMAT_R16_FLOAT 0x000000f2
+#define NV50_2D_SRC_FORMAT_R8_UNORM 0x000000f3
+#define NV50_2D_SRC_FORMAT_R8_SNORM 0x000000f4
+#define NV50_2D_SRC_FORMAT_R8_SINT 0x000000f5
+#define NV50_2D_SRC_FORMAT_R8_UINT 0x000000f6
+#define NV50_2D_SRC_FORMAT_A8_UNORM 0x000000f7
+#define NV50_2D_SRC_FORMAT_X1R5G5B5_UNORM 0x000000f8
+#define NV50_2D_SRC_FORMAT_X8B8G8R8_UNORM 0x000000f9
+#define NV50_2D_SRC_FORMAT_X8B8G8R8_SRGB 0x000000fa
+#define NV50_2D_SRC_LINEAR 0x00000234
+#define NV50_2D_SRC_TILE_MODE 0x00000238
+#define NV50_2D_SRC_DEPTH 0x0000023c
+#define NV50_2D_SRC_LAYER 0x00000240
+#define NV50_2D_SRC_PITCH 0x00000244
+#define NV50_2D_SRC_WIDTH 0x00000248
+#define NV50_2D_SRC_HEIGHT 0x0000024c
+#define NV50_2D_SRC_ADDRESS_HIGH 0x00000250
+#define NV50_2D_SRC_ADDRESS_LOW 0x00000254
+#define NV50_2D_COND_ADDRESS_HIGH 0x00000264
+#define NV50_2D_COND_ADDRESS_LOW 0x00000268
+#define NV50_2D_COND_MODE 0x0000026c
+#define NV50_2D_COND_MODE_NEVER 0x00000000
+#define NV50_2D_COND_MODE_ALWAYS 0x00000001
+#define NV50_2D_COND_MODE_RES 0x00000002
+#define NV50_2D_COND_MODE_NOT_RES_AND_NOT_ID 0x00000003
+#define NV50_2D_COND_MODE_RES_OR_ID 0x00000004
+#define NV50_2D_CLIP_X 0x00000280
+#define NV50_2D_CLIP_Y 0x00000284
+#define NV50_2D_CLIP_W 0x00000288
+#define NV50_2D_CLIP_H 0x0000028c
+#define NV50_2D_CLIP_ENABLE 0x00000290
+#define NV50_2D_COLOR_KEY_FORMAT 0x00000294
+#define NV50_2D_COLOR_KEY_FORMAT_16BPP 0x00000000
+#define NV50_2D_COLOR_KEY_FORMAT_15BPP 0x00000001
+#define NV50_2D_COLOR_KEY_FORMAT_24BPP 0x00000002
+#define NV50_2D_COLOR_KEY_FORMAT_30BPP 0x00000003
+#define NV50_2D_COLOR_KEY_FORMAT_8BPP 0x00000004
+#define NV50_2D_COLOR_KEY_FORMAT_16BPP2 0x00000005
+#define NV50_2D_COLOR_KEY_FORMAT_32BPP 0x00000006
+#define NV50_2D_COLOR_KEY 0x00000298
+#define NV50_2D_COLOR_KEY_ENABLE 0x0000029c
+#define NV50_2D_ROP 0x000002a0
+#define NV50_2D_OPERATION 0x000002ac
+#define NV50_2D_OPERATION_SRCCOPY_AND 0x00000000
+#define NV50_2D_OPERATION_ROP_AND 0x00000001
+#define NV50_2D_OPERATION_BLEND_AND 0x00000002
+#define NV50_2D_OPERATION_SRCCOPY 0x00000003
+#define NV50_2D_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV50_2D_OPERATION_BLEND_PREMULT 0x00000005
+#define NV50_2D_PATTERN_FORMAT 0x000002e8
+#define NV50_2D_PATTERN_FORMAT_16BPP 0x00000000
+#define NV50_2D_PATTERN_FORMAT_15BPP 0x00000001
+#define NV50_2D_PATTERN_FORMAT_32BPP 0x00000002
+#define NV50_2D_PATTERN_FORMAT_8BPP 0x00000003
+#define NV50_2D_PATTERN_COLOR(x) (0x000002f0+((x)*4))
+#define NV50_2D_PATTERN_COLOR__SIZE 0x00000002
+#define NV50_2D_PATTERN_BITMAP(x) (0x000002f8+((x)*4))
+#define NV50_2D_PATTERN_BITMAP__SIZE 0x00000002
+#define NV50_2D_DRAW_SHAPE 0x00000580
+#define NV50_2D_DRAW_SHAPE_POINTS 0x00000000
+#define NV50_2D_DRAW_SHAPE_LINES 0x00000001
+#define NV50_2D_DRAW_SHAPE_LINE_STRIP 0x00000002
+#define NV50_2D_DRAW_SHAPE_TRIANGLES 0x00000003
+#define NV50_2D_DRAW_SHAPE_RECTANGLES 0x00000004
+#define NV50_2D_DRAW_COLOR_FORMAT 0x00000584
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_FLOAT 0x000000c0
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_SINT 0x000000c1
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_UINT 0x000000c2
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32B32X32_FLOAT 0x000000c3
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_UNORM 0x000000c6
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_SNORM 0x000000c7
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_SINT 0x000000c8
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_UINT 0x000000c9
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_FLOAT 0x000000ca
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32_FLOAT 0x000000cb
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32_SINT 0x000000cc
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32_UINT 0x000000cd
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16X16_FLOAT 0x000000ce
+#define NV50_2D_DRAW_COLOR_FORMAT_A8R8G8B8_UNORM 0x000000cf
+#define NV50_2D_DRAW_COLOR_FORMAT_A8R8G8B8_SRGB 0x000000d0
+#define NV50_2D_DRAW_COLOR_FORMAT_A2B10G10R10_UNORM 0x000000d1
+#define NV50_2D_DRAW_COLOR_FORMAT_A2B10G10R10_UINT 0x000000d2
+#define NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_UNORM 0x000000d5
+#define NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SRGB 0x000000d6
+#define NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SNORM 0x000000d7
+#define NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SINT 0x000000d8
+#define NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_UINT 0x000000d9
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16_UNORM 0x000000da
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16_SNORM 0x000000db
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16_SINT 0x000000dc
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16_UINT 0x000000dd
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16_FLOAT 0x000000de
+#define NV50_2D_DRAW_COLOR_FORMAT_A2R10G10B10_UNORM 0x000000df
+#define NV50_2D_DRAW_COLOR_FORMAT_B10G11R11_FLOAT 0x000000e0
+#define NV50_2D_DRAW_COLOR_FORMAT_R32_FLOAT 0x000000e5
+#define NV50_2D_DRAW_COLOR_FORMAT_X8R8G8B8_UNORM 0x000000e6
+#define NV50_2D_DRAW_COLOR_FORMAT_X8R8G8B8_SRGB 0x000000e7
+#define NV50_2D_DRAW_COLOR_FORMAT_R5G6B5_UNORM 0x000000e8
+#define NV50_2D_DRAW_COLOR_FORMAT_A1R5G5B5_UNORM 0x000000e9
+#define NV50_2D_DRAW_COLOR_FORMAT_R8G8_UNORM 0x000000ea
+#define NV50_2D_DRAW_COLOR_FORMAT_R8G8_SNORM 0x000000eb
+#define NV50_2D_DRAW_COLOR_FORMAT_R8G8_SINT 0x000000ec
+#define NV50_2D_DRAW_COLOR_FORMAT_R8G8_UINT 0x000000ed
+#define NV50_2D_DRAW_COLOR_FORMAT_R16_UNORM 0x000000ee
+#define NV50_2D_DRAW_COLOR_FORMAT_R16_SNORM 0x000000ef
+#define NV50_2D_DRAW_COLOR_FORMAT_R16_SINT 0x000000f0
+#define NV50_2D_DRAW_COLOR_FORMAT_R16_UINT 0x000000f1
+#define NV50_2D_DRAW_COLOR_FORMAT_R16_FLOAT 0x000000f2
+#define NV50_2D_DRAW_COLOR_FORMAT_R8_UNORM 0x000000f3
+#define NV50_2D_DRAW_COLOR_FORMAT_R8_SNORM 0x000000f4
+#define NV50_2D_DRAW_COLOR_FORMAT_R8_SINT 0x000000f5
+#define NV50_2D_DRAW_COLOR_FORMAT_R8_UINT 0x000000f6
+#define NV50_2D_DRAW_COLOR_FORMAT_A8_UNORM 0x000000f7
+#define NV50_2D_DRAW_COLOR_FORMAT_X1R5G5B5_UNORM 0x000000f8
+#define NV50_2D_DRAW_COLOR_FORMAT_X8B8G8R8_UNORM 0x000000f9
+#define NV50_2D_DRAW_COLOR_FORMAT_X8B8G8R8_SRGB 0x000000fa
+#define NV50_2D_DRAW_COLOR 0x00000588
+#define NV50_2D_DRAW_POINT16 0x000005e0
+#define NV50_2D_DRAW_POINT16_X_SHIFT 0
+#define NV50_2D_DRAW_POINT16_X_MASK 0x0000ffff
+#define NV50_2D_DRAW_POINT16_Y_SHIFT 16
+#define NV50_2D_DRAW_POINT16_Y_MASK 0xffff0000
+#define NV50_2D_DRAW_POINT32_X(x) (0x00000600+((x)*8))
+#define NV50_2D_DRAW_POINT32_X__SIZE 0x00000040
+#define NV50_2D_DRAW_POINT32_Y(x) (0x00000604+((x)*8))
+#define NV50_2D_DRAW_POINT32_Y__SIZE 0x00000040
+#define NV50_2D_SIFC_BITMAP_ENABLE 0x00000800
+#define NV50_2D_SIFC_FORMAT 0x00000804
+#define NV50_2D_SIFC_FORMAT_R32G32B32A32_FLOAT 0x000000c0
+#define NV50_2D_SIFC_FORMAT_R32G32B32A32_SINT 0x000000c1
+#define NV50_2D_SIFC_FORMAT_R32G32B32A32_UINT 0x000000c2
+#define NV50_2D_SIFC_FORMAT_R32G32B32X32_FLOAT 0x000000c3
+#define NV50_2D_SIFC_FORMAT_R16G16B16A16_UNORM 0x000000c6
+#define NV50_2D_SIFC_FORMAT_R16G16B16A16_SNORM 0x000000c7
+#define NV50_2D_SIFC_FORMAT_R16G16B16A16_SINT 0x000000c8
+#define NV50_2D_SIFC_FORMAT_R16G16B16A16_UINT 0x000000c9
+#define NV50_2D_SIFC_FORMAT_R16G16B16A16_FLOAT 0x000000ca
+#define NV50_2D_SIFC_FORMAT_R32G32_FLOAT 0x000000cb
+#define NV50_2D_SIFC_FORMAT_R32G32_SINT 0x000000cc
+#define NV50_2D_SIFC_FORMAT_R32G32_UINT 0x000000cd
+#define NV50_2D_SIFC_FORMAT_R16G16B16X16_FLOAT 0x000000ce
+#define NV50_2D_SIFC_FORMAT_A8R8G8B8_UNORM 0x000000cf
+#define NV50_2D_SIFC_FORMAT_A8R8G8B8_SRGB 0x000000d0
+#define NV50_2D_SIFC_FORMAT_A2B10G10R10_UNORM 0x000000d1
+#define NV50_2D_SIFC_FORMAT_A2B10G10R10_UINT 0x000000d2
+#define NV50_2D_SIFC_FORMAT_A8B8G8R8_UNORM 0x000000d5
+#define NV50_2D_SIFC_FORMAT_A8B8G8R8_SRGB 0x000000d6
+#define NV50_2D_SIFC_FORMAT_A8B8G8R8_SNORM 0x000000d7
+#define NV50_2D_SIFC_FORMAT_A8B8G8R8_SINT 0x000000d8
+#define NV50_2D_SIFC_FORMAT_A8B8G8R8_UINT 0x000000d9
+#define NV50_2D_SIFC_FORMAT_R16G16_UNORM 0x000000da
+#define NV50_2D_SIFC_FORMAT_R16G16_SNORM 0x000000db
+#define NV50_2D_SIFC_FORMAT_R16G16_SINT 0x000000dc
+#define NV50_2D_SIFC_FORMAT_R16G16_UINT 0x000000dd
+#define NV50_2D_SIFC_FORMAT_R16G16_FLOAT 0x000000de
+#define NV50_2D_SIFC_FORMAT_A2R10G10B10_UNORM 0x000000df
+#define NV50_2D_SIFC_FORMAT_B10G11R11_FLOAT 0x000000e0
+#define NV50_2D_SIFC_FORMAT_R32_FLOAT 0x000000e5
+#define NV50_2D_SIFC_FORMAT_X8R8G8B8_UNORM 0x000000e6
+#define NV50_2D_SIFC_FORMAT_X8R8G8B8_SRGB 0x000000e7
+#define NV50_2D_SIFC_FORMAT_R5G6B5_UNORM 0x000000e8
+#define NV50_2D_SIFC_FORMAT_A1R5G5B5_UNORM 0x000000e9
+#define NV50_2D_SIFC_FORMAT_R8G8_UNORM 0x000000ea
+#define NV50_2D_SIFC_FORMAT_R8G8_SNORM 0x000000eb
+#define NV50_2D_SIFC_FORMAT_R8G8_SINT 0x000000ec
+#define NV50_2D_SIFC_FORMAT_R8G8_UINT 0x000000ed
+#define NV50_2D_SIFC_FORMAT_R16_UNORM 0x000000ee
+#define NV50_2D_SIFC_FORMAT_R16_SNORM 0x000000ef
+#define NV50_2D_SIFC_FORMAT_R16_SINT 0x000000f0
+#define NV50_2D_SIFC_FORMAT_R16_UINT 0x000000f1
+#define NV50_2D_SIFC_FORMAT_R16_FLOAT 0x000000f2
+#define NV50_2D_SIFC_FORMAT_R8_UNORM 0x000000f3
+#define NV50_2D_SIFC_FORMAT_R8_SNORM 0x000000f4
+#define NV50_2D_SIFC_FORMAT_R8_SINT 0x000000f5
+#define NV50_2D_SIFC_FORMAT_R8_UINT 0x000000f6
+#define NV50_2D_SIFC_FORMAT_A8_UNORM 0x000000f7
+#define NV50_2D_SIFC_FORMAT_X1R5G5B5_UNORM 0x000000f8
+#define NV50_2D_SIFC_FORMAT_X8B8G8R8_UNORM 0x000000f9
+#define NV50_2D_SIFC_FORMAT_X8B8G8R8_SRGB 0x000000fa
+#define NV50_2D_SIFC_BITMAP_UNK808 0x00000808
+#define NV50_2D_SIFC_BITMAP_LSB_FIRST 0x0000080c
+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE 0x00000810
+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED 0x00000000
+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE 0x00000001
+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD 0x00000002
+#define NV50_2D_SIFC_BITMAP_COLOR_BIT0 0x00000814
+#define NV50_2D_SIFC_BITMAP_COLOR_BIT1 0x00000818
+#define NV50_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE 0x0000081c
+#define NV50_2D_SIFC_WIDTH 0x00000838
+#define NV50_2D_SIFC_HEIGHT 0x0000083c
+#define NV50_2D_SIFC_DX_DU_FRACT 0x00000840
+#define NV50_2D_SIFC_DX_DU_INT 0x00000844
+#define NV50_2D_SIFC_DY_DV_FRACT 0x00000848
+#define NV50_2D_SIFC_DY_DV_INT 0x0000084c
+#define NV50_2D_SIFC_DST_X_FRACT 0x00000850
+#define NV50_2D_SIFC_DST_X_INT 0x00000854
+#define NV50_2D_SIFC_DST_Y_FRACT 0x00000858
+#define NV50_2D_SIFC_DST_Y_INT 0x0000085c
+#define NV50_2D_SIFC_DATA 0x00000860
+#define NV50_2D_BLIT_DST_X 0x000008b0
+#define NV50_2D_BLIT_DST_Y 0x000008b4
+#define NV50_2D_BLIT_DST_W 0x000008b8
+#define NV50_2D_BLIT_DST_H 0x000008bc
+#define NV50_2D_BLIT_DU_DX_FRACT 0x000008c0
+#define NV50_2D_BLIT_DU_DX_INT 0x000008c4
+#define NV50_2D_BLIT_DV_DY_FRACT 0x000008c8
+#define NV50_2D_BLIT_DV_DY_INT 0x000008cc
+#define NV50_2D_BLIT_SRC_X_FRACT 0x000008d0
+#define NV50_2D_BLIT_SRC_X_INT 0x000008d4
+#define NV50_2D_BLIT_SRC_Y_FRACT 0x000008d8
+#define NV50_2D_BLIT_SRC_Y_INT 0x000008dc
+
+
+#define NV50TCL 0x00005097
+
+#define NV50TCL_NOP 0x00000100
+#define NV50TCL_NOTIFY 0x00000104
+#define NV50TCL_SERIALIZE 0x00000110
+#define NV50TCL_DMA_NOTIFY 0x00000180
+#define NV50TCL_DMA_ZETA 0x00000184
+#define NV50TCL_DMA_QUERY 0x00000188
+#define NV50TCL_DMA_VTXBUF0 0x0000018c
+#define NV50TCL_DMA_LOCAL 0x00000190
+#define NV50TCL_DMA_STACK 0x00000194
+#define NV50TCL_DMA_CODE_CB 0x00000198
+#define NV50TCL_DMA_TSC 0x0000019c
+#define NV50TCL_DMA_TIC 0x000001a0
+#define NV50TCL_DMA_TEXTURE 0x000001a4
+#define NV50TCL_DMA_STRMOUT 0x000001a8
+#define NV50TCL_DMA_UNK01AC 0x000001ac
+#define NV50TCL_DMA_COLOR(x) (0x000001c0+((x)*4))
+#define NV50TCL_DMA_COLOR__SIZE 0x00000008
+#define NV50TCL_RT_ADDRESS_HIGH(x) (0x00000200+((x)*32))
+#define NV50TCL_RT_ADDRESS_HIGH__SIZE 0x00000008
+#define NV50TCL_RT_ADDRESS_LOW(x) (0x00000204+((x)*32))
+#define NV50TCL_RT_ADDRESS_LOW__SIZE 0x00000008
+#define NV50TCL_RT_FORMAT(x) (0x00000208+((x)*32))
+#define NV50TCL_RT_FORMAT__SIZE 0x00000008
+#define NV50TCL_RT_FORMAT_R32G32B32A32_FLOAT 0x000000c0
+#define NV50TCL_RT_FORMAT_R32G32B32A32_SINT 0x000000c1
+#define NV50TCL_RT_FORMAT_R32G32B32A32_UINT 0x000000c2
+#define NV50TCL_RT_FORMAT_R32G32B32X32_FLOAT 0x000000c3
+#define NV50TCL_RT_FORMAT_R16G16B16A16_UNORM 0x000000c6
+#define NV50TCL_RT_FORMAT_R16G16B16A16_SNORM 0x000000c7
+#define NV50TCL_RT_FORMAT_R16G16B16A16_SINT 0x000000c8
+#define NV50TCL_RT_FORMAT_R16G16B16A16_UINT 0x000000c9
+#define NV50TCL_RT_FORMAT_R16G16B16A16_FLOAT 0x000000ca
+#define NV50TCL_RT_FORMAT_R32G32_FLOAT 0x000000cb
+#define NV50TCL_RT_FORMAT_R32G32_SINT 0x000000cc
+#define NV50TCL_RT_FORMAT_R32G32_UINT 0x000000cd
+#define NV50TCL_RT_FORMAT_R16G16B16X16_FLOAT 0x000000ce
+#define NV50TCL_RT_FORMAT_A8R8G8B8_UNORM 0x000000cf
+#define NV50TCL_RT_FORMAT_A8R8G8B8_SRGB 0x000000d0
+#define NV50TCL_RT_FORMAT_A2B10G10R10_UNORM 0x000000d1
+#define NV50TCL_RT_FORMAT_A2B10G10R10_UINT 0x000000d2
+#define NV50TCL_RT_FORMAT_A8B8G8R8_UNORM 0x000000d5
+#define NV50TCL_RT_FORMAT_A8B8G8R8_SRGB 0x000000d6
+#define NV50TCL_RT_FORMAT_A8B8G8R8_SNORM 0x000000d7
+#define NV50TCL_RT_FORMAT_A8B8G8R8_SINT 0x000000d8
+#define NV50TCL_RT_FORMAT_A8B8G8R8_UINT 0x000000d9
+#define NV50TCL_RT_FORMAT_R16G16_UNORM 0x000000da
+#define NV50TCL_RT_FORMAT_R16G16_SNORM 0x000000db
+#define NV50TCL_RT_FORMAT_R16G16_SINT 0x000000dc
+#define NV50TCL_RT_FORMAT_R16G16_UINT 0x000000dd
+#define NV50TCL_RT_FORMAT_R16G16_FLOAT 0x000000de
+#define NV50TCL_RT_FORMAT_A2R10G10B10_UNORM 0x000000df
+#define NV50TCL_RT_FORMAT_B10G11R11_FLOAT 0x000000e0
+#define NV50TCL_RT_FORMAT_R32_FLOAT 0x000000e5
+#define NV50TCL_RT_FORMAT_X8R8G8B8_UNORM 0x000000e6
+#define NV50TCL_RT_FORMAT_X8R8G8B8_SRGB 0x000000e7
+#define NV50TCL_RT_FORMAT_R5G6B5_UNORM 0x000000e8
+#define NV50TCL_RT_FORMAT_A1R5G5B5_UNORM 0x000000e9
+#define NV50TCL_RT_FORMAT_R8G8_UNORM 0x000000ea
+#define NV50TCL_RT_FORMAT_R8G8_SNORM 0x000000eb
+#define NV50TCL_RT_FORMAT_R8G8_SINT 0x000000ec
+#define NV50TCL_RT_FORMAT_R8G8_UINT 0x000000ed
+#define NV50TCL_RT_FORMAT_R16_UNORM 0x000000ee
+#define NV50TCL_RT_FORMAT_R16_SNORM 0x000000ef
+#define NV50TCL_RT_FORMAT_R16_SINT 0x000000f0
+#define NV50TCL_RT_FORMAT_R16_UINT 0x000000f1
+#define NV50TCL_RT_FORMAT_R16_FLOAT 0x000000f2
+#define NV50TCL_RT_FORMAT_R8_UNORM 0x000000f3
+#define NV50TCL_RT_FORMAT_R8_SNORM 0x000000f4
+#define NV50TCL_RT_FORMAT_R8_SINT 0x000000f5
+#define NV50TCL_RT_FORMAT_R8_UINT 0x000000f6
+#define NV50TCL_RT_FORMAT_A8_UNORM 0x000000f7
+#define NV50TCL_RT_FORMAT_X1R5G5B5_UNORM 0x000000f8
+#define NV50TCL_RT_FORMAT_X8B8G8R8_UNORM 0x000000f9
+#define NV50TCL_RT_FORMAT_X8B8G8R8_SRGB 0x000000fa
+#define NV50TCL_RT_TILE_MODE(x) (0x0000020c+((x)*32))
+#define NV50TCL_RT_TILE_MODE__SIZE 0x00000008
+#define NV50TCL_RT_LAYER_STRIDE(x) (0x00000210+((x)*32))
+#define NV50TCL_RT_LAYER_STRIDE__SIZE 0x00000008
+#define NV50TCL_VTX_ATTR_1F(x) (0x00000300+((x)*4))
+#define NV50TCL_VTX_ATTR_1F__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_2H(x) (0x00000340+((x)*4))
+#define NV50TCL_VTX_ATTR_2H__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_2H_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_2H_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_2H_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_2H_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_2F_X(x) (0x00000380+((x)*8))
+#define NV50TCL_VTX_ATTR_2F_X__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_2F_Y(x) (0x00000384+((x)*8))
+#define NV50TCL_VTX_ATTR_2F_Y__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_3F_X(x) (0x00000400+((x)*16))
+#define NV50TCL_VTX_ATTR_3F_X__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_3F_Y(x) (0x00000404+((x)*16))
+#define NV50TCL_VTX_ATTR_3F_Y__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_3F_Z(x) (0x00000408+((x)*16))
+#define NV50TCL_VTX_ATTR_3F_Z__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4F_X(x) (0x00000500+((x)*16))
+#define NV50TCL_VTX_ATTR_4F_X__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4F_Y(x) (0x00000504+((x)*16))
+#define NV50TCL_VTX_ATTR_4F_Y__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4F_Z(x) (0x00000508+((x)*16))
+#define NV50TCL_VTX_ATTR_4F_Z__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4F_W(x) (0x0000050c+((x)*16))
+#define NV50TCL_VTX_ATTR_4F_W__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4H_0(x) (0x00000600+((x)*8))
+#define NV50TCL_VTX_ATTR_4H_0__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4H_0_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4H_0_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4H_0_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_4H_0_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4H_1(x) (0x00000604+((x)*8))
+#define NV50TCL_VTX_ATTR_4H_1__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4H_1_Z_SHIFT 0
+#define NV50TCL_VTX_ATTR_4H_1_Z_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4H_1_W_SHIFT 16
+#define NV50TCL_VTX_ATTR_4H_1_W_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_2I(x) (0x00000680+((x)*4))
+#define NV50TCL_VTX_ATTR_2I__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_2I_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_2I_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_2I_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_2I_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_2NI(x) (0x000006c0+((x)*4))
+#define NV50TCL_VTX_ATTR_2NI__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_2NI_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_2NI_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_2NI_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_2NI_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4I_0(x) (0x00000700+((x)*8))
+#define NV50TCL_VTX_ATTR_4I_0__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4I_0_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4I_0_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4I_0_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_4I_0_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4I_1(x) (0x00000704+((x)*8))
+#define NV50TCL_VTX_ATTR_4I_1__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4I_1_Z_SHIFT 0
+#define NV50TCL_VTX_ATTR_4I_1_Z_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4I_1_W_SHIFT 16
+#define NV50TCL_VTX_ATTR_4I_1_W_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4NI_0(x) (0x00000780+((x)*8))
+#define NV50TCL_VTX_ATTR_4NI_0__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4NI_0_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4NI_0_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4NI_0_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_4NI_0_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4NI_1(x) (0x00000784+((x)*8))
+#define NV50TCL_VTX_ATTR_4NI_1__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4NI_1_Z_SHIFT 0
+#define NV50TCL_VTX_ATTR_4NI_1_Z_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4NI_1_W_SHIFT 16
+#define NV50TCL_VTX_ATTR_4NI_1_W_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4UB(x) (0x00000800+((x)*4))
+#define NV50TCL_VTX_ATTR_4UB__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4UB_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4UB_X_MASK 0x000000ff
+#define NV50TCL_VTX_ATTR_4UB_Y_SHIFT 8
+#define NV50TCL_VTX_ATTR_4UB_Y_MASK 0x0000ff00
+#define NV50TCL_VTX_ATTR_4UB_Z_SHIFT 16
+#define NV50TCL_VTX_ATTR_4UB_Z_MASK 0x00ff0000
+#define NV50TCL_VTX_ATTR_4UB_W_SHIFT 24
+#define NV50TCL_VTX_ATTR_4UB_W_MASK 0xff000000
+#define NV50TCL_VTX_ATTR_4B(x) (0x00000840+((x)*4))
+#define NV50TCL_VTX_ATTR_4B__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4B_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4B_X_MASK 0x000000ff
+#define NV50TCL_VTX_ATTR_4B_Y_SHIFT 8
+#define NV50TCL_VTX_ATTR_4B_Y_MASK 0x0000ff00
+#define NV50TCL_VTX_ATTR_4B_Z_SHIFT 16
+#define NV50TCL_VTX_ATTR_4B_Z_MASK 0x00ff0000
+#define NV50TCL_VTX_ATTR_4B_W_SHIFT 24
+#define NV50TCL_VTX_ATTR_4B_W_MASK 0xff000000
+#define NV50TCL_VTX_ATTR_4NUB(x) (0x00000880+((x)*4))
+#define NV50TCL_VTX_ATTR_4NUB__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4NUB_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4NUB_X_MASK 0x000000ff
+#define NV50TCL_VTX_ATTR_4NUB_Y_SHIFT 8
+#define NV50TCL_VTX_ATTR_4NUB_Y_MASK 0x0000ff00
+#define NV50TCL_VTX_ATTR_4NUB_Z_SHIFT 16
+#define NV50TCL_VTX_ATTR_4NUB_Z_MASK 0x00ff0000
+#define NV50TCL_VTX_ATTR_4NUB_W_SHIFT 24
+#define NV50TCL_VTX_ATTR_4NUB_W_MASK 0xff000000
+#define NV50TCL_VTX_ATTR_4NB(x) (0x000008c0+((x)*4))
+#define NV50TCL_VTX_ATTR_4NB__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4NB_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4NB_X_MASK 0x000000ff
+#define NV50TCL_VTX_ATTR_4NB_Y_SHIFT 8
+#define NV50TCL_VTX_ATTR_4NB_Y_MASK 0x0000ff00
+#define NV50TCL_VTX_ATTR_4NB_Z_SHIFT 16
+#define NV50TCL_VTX_ATTR_4NB_Z_MASK 0x00ff0000
+#define NV50TCL_VTX_ATTR_4NB_W_SHIFT 24
+#define NV50TCL_VTX_ATTR_4NB_W_MASK 0xff000000
+#define NV50TCL_VERTEX_ARRAY_FORMAT(x) (0x00000900+((x)*16))
+#define NV50TCL_VERTEX_ARRAY_FORMAT__SIZE 0x00000010
+#define NV50TCL_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT 0
+#define NV50TCL_VERTEX_ARRAY_FORMAT_STRIDE_MASK 0x00000fff
+#define NV50TCL_VERTEX_ARRAY_FORMAT_ENABLE (1 << 29)
+#define NV50TCL_VERTEX_ARRAY_START_HIGH(x) (0x00000904+((x)*16))
+#define NV50TCL_VERTEX_ARRAY_START_HIGH__SIZE 0x00000010
+#define NV50TCL_VERTEX_ARRAY_START_LOW(x) (0x00000908+((x)*16))
+#define NV50TCL_VERTEX_ARRAY_START_LOW__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_SCALE_X(x) (0x00000a00+((x)*32))
+#define NV50TCL_VIEWPORT_SCALE_X__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_SCALE_Y(x) (0x00000a04+((x)*32))
+#define NV50TCL_VIEWPORT_SCALE_Y__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_SCALE_Z(x) (0x00000a08+((x)*32))
+#define NV50TCL_VIEWPORT_SCALE_Z__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_TRANSLATE_X(x) (0x00000a0c+((x)*32))
+#define NV50TCL_VIEWPORT_TRANSLATE_X__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_TRANSLATE_Y(x) (0x00000a10+((x)*32))
+#define NV50TCL_VIEWPORT_TRANSLATE_Y__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_TRANSLATE_Z(x) (0x00000a14+((x)*32))
+#define NV50TCL_VIEWPORT_TRANSLATE_Z__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_HORIZ(x) (0x00000c00+((x)*16))
+#define NV50TCL_VIEWPORT_HORIZ__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_HORIZ_X_SHIFT 0
+#define NV50TCL_VIEWPORT_HORIZ_X_MASK 0x0000ffff
+#define NV50TCL_VIEWPORT_HORIZ_W_SHIFT 16
+#define NV50TCL_VIEWPORT_HORIZ_W_MASK 0xffff0000
+#define NV50TCL_VIEWPORT_VERT(x) (0x00000c04+((x)*16))
+#define NV50TCL_VIEWPORT_VERT__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_VERT_Y_SHIFT 0
+#define NV50TCL_VIEWPORT_VERT_Y_MASK 0x0000ffff
+#define NV50TCL_VIEWPORT_VERT_H_SHIFT 16
+#define NV50TCL_VIEWPORT_VERT_H_MASK 0xffff0000
+#define NV50TCL_DEPTH_RANGE_NEAR(x) (0x00000c08+((x)*16))
+#define NV50TCL_DEPTH_RANGE_NEAR__SIZE 0x00000010
+#define NV50TCL_DEPTH_RANGE_FAR(x) (0x00000c0c+((x)*16))
+#define NV50TCL_DEPTH_RANGE_FAR__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_CLIP_HORIZ(x) (0x00000d00+((x)*8))
+#define NV50TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008
+#define NV50TCL_VIEWPORT_CLIP_VERT(x) (0x00000d04+((x)*8))
+#define NV50TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008
+#define NV50TCL_VERTEX_BUFFER_FIRST 0x00000d74
+#define NV50TCL_VERTEX_BUFFER_COUNT 0x00000d78
+#define NV50TCL_CLEAR_COLOR(x) (0x00000d80+((x)*4))
+#define NV50TCL_CLEAR_COLOR__SIZE 0x00000004
+#define NV50TCL_CLEAR_DEPTH 0x00000d90
+#define NV50TCL_STACK_ADDRESS_HIGH 0x00000d94
+#define NV50TCL_STACK_ADDRESS_LOW 0x00000d98
+#define NV50TCL_STACK_SIZE_LOG 0x00000d9c
+#define NV50TCL_CLEAR_STENCIL 0x00000da0
+#define NV50TCL_STRMOUT_PRIMITIVE_COUNT 0x00000da8
+#define NV50TCL_POLYGON_MODE_FRONT 0x00000dac
+#define NV50TCL_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NV50TCL_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NV50TCL_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NV50TCL_POLYGON_MODE_BACK 0x00000db0
+#define NV50TCL_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NV50TCL_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NV50TCL_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NV50TCL_POLYGON_SMOOTH_ENABLE 0x00000db4
+#define NV50TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000dc0
+#define NV50TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000dc4
+#define NV50TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000dc8
+#define NV50TCL_WATCHDOG_TIMER 0x00000de4
+#define NV50TCL_WINDOW_OFFSET_X 0x00000df8
+#define NV50TCL_WINDOW_OFFSET_Y 0x00000dfc
+#define NV50TCL_SCISSOR_ENABLE(x) (0x00000e00+((x)*16))
+#define NV50TCL_SCISSOR_ENABLE__SIZE 0x00000010
+#define NV50TCL_SCISSOR_HORIZ(x) (0x00000e04+((x)*16))
+#define NV50TCL_SCISSOR_HORIZ__SIZE 0x00000010
+#define NV50TCL_SCISSOR_HORIZ_MIN_SHIFT 0
+#define NV50TCL_SCISSOR_HORIZ_MIN_MASK 0x0000ffff
+#define NV50TCL_SCISSOR_HORIZ_MAX_SHIFT 16
+#define NV50TCL_SCISSOR_HORIZ_MAX_MASK 0xffff0000
+#define NV50TCL_SCISSOR_VERT(x) (0x00000e08+((x)*16))
+#define NV50TCL_SCISSOR_VERT__SIZE 0x00000010
+#define NV50TCL_SCISSOR_VERT_MIN_SHIFT 0
+#define NV50TCL_SCISSOR_VERT_MIN_MASK 0x0000ffff
+#define NV50TCL_SCISSOR_VERT_MAX_SHIFT 16
+#define NV50TCL_SCISSOR_VERT_MAX_MASK 0xffff0000
+#define NV50TCL_CB_ADDR 0x00000f00
+#define NV50TCL_CB_ADDR_ID_SHIFT 8
+#define NV50TCL_CB_ADDR_ID_MASK 0x003fff00
+#define NV50TCL_CB_ADDR_BUFFER_SHIFT 0
+#define NV50TCL_CB_ADDR_BUFFER_MASK 0x0000007f
+#define NV50TCL_CB_DATA(x) (0x00000f04+((x)*4))
+#define NV50TCL_CB_DATA__SIZE 0x00000010
+#define NV50TCL_LOCAL_WARPS_LOG_ALLOC 0x00000f44
+#define NV50TCL_LOCAL_WARPS_NO_CLAMP 0x00000f48
+#define NV50TCL_STACK_WARPS_LOG_ALLOC 0x00000f4c
+#define NV50TCL_STACK_WARPS_NO_CLAMP 0x00000f50
+#define NV50TCL_STENCIL_BACK_FUNC_REF 0x00000f54
+#define NV50TCL_STENCIL_BACK_MASK 0x00000f58
+#define NV50TCL_STENCIL_BACK_FUNC_MASK 0x00000f5c
+#define NV50TCL_GP_ADDRESS_HIGH 0x00000f70
+#define NV50TCL_GP_ADDRESS_LOW 0x00000f74
+#define NV50TCL_VP_ADDRESS_HIGH 0x00000f7c
+#define NV50TCL_VP_ADDRESS_LOW 0x00000f80
+#define NV50TCL_UNK0F84_ADDRESS_HIGH 0x00000f84
+#define NV50TCL_UNK0F84_ADDRESS_LOW 0x00000f88
+#define NV50TCL_DEPTH_BOUNDS(x) (0x00000f9c+((x)*4))
+#define NV50TCL_DEPTH_BOUNDS__SIZE 0x00000002
+#define NV50TCL_FP_ADDRESS_HIGH 0x00000fa4
+#define NV50TCL_FP_ADDRESS_LOW 0x00000fa8
+#define NV50TCL_MSAA_MASK(x) (0x00000fbc+((x)*4))
+#define NV50TCL_MSAA_MASK__SIZE 0x00000004
+#define NV50TCL_ZETA_ADDRESS_HIGH 0x00000fe0
+#define NV50TCL_ZETA_ADDRESS_LOW 0x00000fe4
+#define NV50TCL_ZETA_FORMAT 0x00000fe8
+#define NV50TCL_ZETA_FORMAT_Z32_FLOAT 0x0000000a
+#define NV50TCL_ZETA_FORMAT_Z16_UNORM 0x00000013
+#define NV50TCL_ZETA_FORMAT_Z24S8_UNORM 0x00000014
+#define NV50TCL_ZETA_FORMAT_X8Z24_UNORM 0x00000015
+#define NV50TCL_ZETA_FORMAT_S8Z24_UNORM 0x00000016
+#define NV50TCL_ZETA_FORMAT_Z32_FLOAT_X24S8_UNORM 0x00000019
+#define NV50TCL_ZETA_TILE_MODE 0x00000fec
+#define NV50TCL_ZETA_LAYER_STRIDE 0x00000ff0
+#define NV50TCL_SCREEN_SCISSOR_HORIZ 0x00000ff4
+#define NV50TCL_SCREEN_SCISSOR_HORIZ_W_SHIFT 16
+#define NV50TCL_SCREEN_SCISSOR_HORIZ_W_MASK 0xffff0000
+#define NV50TCL_SCREEN_SCISSOR_HORIZ_X_SHIFT 0
+#define NV50TCL_SCREEN_SCISSOR_HORIZ_X_MASK 0x0000ffff
+#define NV50TCL_SCREEN_SCISSOR_VERT 0x00000ff8
+#define NV50TCL_SCREEN_SCISSOR_VERT_H_SHIFT 16
+#define NV50TCL_SCREEN_SCISSOR_VERT_H_MASK 0xffff0000
+#define NV50TCL_SCREEN_SCISSOR_VERT_Y_SHIFT 0
+#define NV50TCL_SCREEN_SCISSOR_VERT_Y_MASK 0x0000ffff
+#define NV50TCL_VERTEX_ARRAY_LIMIT_HIGH(x) (0x00001080+((x)*8))
+#define NV50TCL_VERTEX_ARRAY_LIMIT_HIGH__SIZE 0x00000010
+#define NV50TCL_VERTEX_ARRAY_LIMIT_LOW(x) (0x00001084+((x)*8))
+#define NV50TCL_VERTEX_ARRAY_LIMIT_LOW__SIZE 0x00000010
+#define NV50TCL_RT_CONTROL 0x0000121c
+#define NV50TCL_RT_CONTROL_COUNT_SHIFT 0
+#define NV50TCL_RT_CONTROL_COUNT_MASK 0x0000000f
+#define NV50TCL_RT_CONTROL_MAP0_SHIFT 4
+#define NV50TCL_RT_CONTROL_MAP0_MASK 0x00000070
+#define NV50TCL_RT_CONTROL_MAP1_SHIFT 7
+#define NV50TCL_RT_CONTROL_MAP1_MASK 0x00000380
+#define NV50TCL_RT_CONTROL_MAP2_SHIFT 10
+#define NV50TCL_RT_CONTROL_MAP2_MASK 0x00001c00
+#define NV50TCL_RT_CONTROL_MAP3_SHIFT 13
+#define NV50TCL_RT_CONTROL_MAP3_MASK 0x0000e000
+#define NV50TCL_RT_CONTROL_MAP4_SHIFT 16
+#define NV50TCL_RT_CONTROL_MAP4_MASK 0x00070000
+#define NV50TCL_RT_CONTROL_MAP5_SHIFT 19
+#define NV50TCL_RT_CONTROL_MAP5_MASK 0x00380000
+#define NV50TCL_RT_CONTROL_MAP6_SHIFT 22
+#define NV50TCL_RT_CONTROL_MAP6_MASK 0x01c00000
+#define NV50TCL_RT_CONTROL_MAP7_SHIFT 25
+#define NV50TCL_RT_CONTROL_MAP7_MASK 0x0e000000
+#define NV50TCL_RT_ARRAY_MODE 0x00001224
+#define NV50TCL_RT_ARRAY_MODE_LAYERS_SHIFT 0
+#define NV50TCL_RT_ARRAY_MODE_LAYERS_MASK 0x0000ffff
+#define NV50TCL_RT_ARRAY_MODE_VOLUME (1 << 16)
+#define NV50TCL_ZETA_HORIZ 0x00001228
+#define NV50TCL_ZETA_VERT 0x0000122c
+#define NV50TCL_ZETA_ARRAY_MODE 0x00001230
+#define NV50TCL_ZETA_ARRAY_MODE_LAYERS_SHIFT 0
+#define NV50TCL_ZETA_ARRAY_MODE_LAYERS_MASK 0x0000ffff
+#define NV50TCL_ZETA_ARRAY_MODE_UNK (1 << 16)
+#define NV50TCL_LINKED_TSC 0x00001234
+#define NV50TCL_RT_HORIZ(x) (0x00001240+((x)*8))
+#define NV50TCL_RT_HORIZ__SIZE 0x00000008
+#define NV50TCL_RT_VERT(x) (0x00001244+((x)*8))
+#define NV50TCL_RT_VERT__SIZE 0x00000008
+#define NV50TCL_CB_DEF_ADDRESS_HIGH 0x00001280
+#define NV50TCL_CB_DEF_ADDRESS_LOW 0x00001284
+#define NV50TCL_CB_DEF_SET 0x00001288
+#define NV50TCL_CB_DEF_SET_SIZE_SHIFT 0
+#define NV50TCL_CB_DEF_SET_SIZE_MASK 0x0000ffff
+#define NV50TCL_CB_DEF_SET_BUFFER_SHIFT 16
+#define NV50TCL_CB_DEF_SET_BUFFER_MASK 0x007f0000
+#define NV50TCL_STRMOUT_BUFFERS_CTRL 0x00001294
+#define NV50TCL_STRMOUT_BUFFERS_CTRL_INTERLEAVED (1 << 0)
+#define NV50TCL_STRMOUT_BUFFERS_CTRL_SEPARATE_SHIFT 4
+#define NV50TCL_STRMOUT_BUFFERS_CTRL_SEPARATE_MASK 0x000000f0
+#define NV50TCL_STRMOUT_BUFFERS_CTRL_STRIDE_SHIFT 8
+#define NV50TCL_STRMOUT_BUFFERS_CTRL_STRIDE_MASK 0x0000ff00
+#define NV50TCL_FP_RESULT_COUNT 0x00001298
+#define NV50TCL_DEPTH_TEST_ENABLE 0x000012cc
+#define NV50TCL_SHADE_MODEL 0x000012d4
+#define NV50TCL_SHADE_MODEL_FLAT 0x00001d00
+#define NV50TCL_SHADE_MODEL_SMOOTH 0x00001d01
+#define NV50TCL_LOCAL_ADDRESS_HIGH 0x000012d8
+#define NV50TCL_LOCAL_ADDRESS_LOW 0x000012dc
+#define NV50TCL_LOCAL_SIZE_LOG 0x000012e0
+#define NV50TCL_DEPTH_WRITE_ENABLE 0x000012e8
+#define NV50TCL_ALPHA_TEST_ENABLE 0x000012ec
+#define NV50TCL_PM_SET(x) (0x000012f0+((x)*4))
+#define NV50TCL_PM_SET__SIZE 0x00000004
+#define NV50TCL_VB_ELEMENT_U8_SETUP 0x00001300
+#define NV50TCL_VB_ELEMENT_U8_SETUP_OFFSET_SHIFT 30
+#define NV50TCL_VB_ELEMENT_U8_SETUP_OFFSET_MASK 0xc0000000
+#define NV50TCL_VB_ELEMENT_U8_SETUP_COUNT_SHIFT 0
+#define NV50TCL_VB_ELEMENT_U8_SETUP_COUNT_MASK 0x3fffffff
+#define NV50TCL_VB_ELEMENT_U8 0x00001304
+#define NV50TCL_VB_ELEMENT_U8_I0_SHIFT 0
+#define NV50TCL_VB_ELEMENT_U8_I0_MASK 0x000000ff
+#define NV50TCL_VB_ELEMENT_U8_I1_SHIFT 8
+#define NV50TCL_VB_ELEMENT_U8_I1_MASK 0x0000ff00
+#define NV50TCL_VB_ELEMENT_U8_I2_SHIFT 16
+#define NV50TCL_VB_ELEMENT_U8_I2_MASK 0x00ff0000
+#define NV50TCL_VB_ELEMENT_U8_I3_SHIFT 24
+#define NV50TCL_VB_ELEMENT_U8_I3_MASK 0xff000000
+#define NV50TCL_DEPTH_TEST_FUNC 0x0000130c
+#define NV50TCL_DEPTH_TEST_FUNC_NEVER 0x00000200
+#define NV50TCL_DEPTH_TEST_FUNC_LESS 0x00000201
+#define NV50TCL_DEPTH_TEST_FUNC_EQUAL 0x00000202
+#define NV50TCL_DEPTH_TEST_FUNC_LEQUAL 0x00000203
+#define NV50TCL_DEPTH_TEST_FUNC_GREATER 0x00000204
+#define NV50TCL_DEPTH_TEST_FUNC_NOTEQUAL 0x00000205
+#define NV50TCL_DEPTH_TEST_FUNC_GEQUAL 0x00000206
+#define NV50TCL_DEPTH_TEST_FUNC_ALWAYS 0x00000207
+#define NV50TCL_ALPHA_TEST_REF 0x00001310
+#define NV50TCL_ALPHA_TEST_FUNC 0x00001314
+#define NV50TCL_ALPHA_TEST_FUNC_NEVER 0x00000200
+#define NV50TCL_ALPHA_TEST_FUNC_LESS 0x00000201
+#define NV50TCL_ALPHA_TEST_FUNC_EQUAL 0x00000202
+#define NV50TCL_ALPHA_TEST_FUNC_LEQUAL 0x00000203
+#define NV50TCL_ALPHA_TEST_FUNC_GREATER 0x00000204
+#define NV50TCL_ALPHA_TEST_FUNC_NOTEQUAL 0x00000205
+#define NV50TCL_ALPHA_TEST_FUNC_GEQUAL 0x00000206
+#define NV50TCL_ALPHA_TEST_FUNC_ALWAYS 0x00000207
+#define NV50TCL_BLEND_COLOR(x) (0x0000131c+((x)*4))
+#define NV50TCL_BLEND_COLOR__SIZE 0x00000004
+#define NV50TCL_TIC_FLUSH 0x00001330
+#define NV50TCL_TSC_FLUSH 0x00001334
+#define NV50TCL_TEX_CACHE_CTL 0x00001338
+#define NV50TCL_BLEND_EQUATION_RGB 0x00001340
+#define NV50TCL_BLEND_EQUATION_RGB_FUNC_ADD 0x00008006
+#define NV50TCL_BLEND_EQUATION_RGB_MIN 0x00008007
+#define NV50TCL_BLEND_EQUATION_RGB_MAX 0x00008008
+#define NV50TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a
+#define NV50TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV50TCL_BLEND_FUNC_SRC_RGB 0x00001344
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00000000
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE 0x00000001
+#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00000300
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00000302
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00000304
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00000306
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x00008001
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x00008003
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV50TCL_BLEND_FUNC_DST_RGB 0x00001348
+#define NV50TCL_BLEND_FUNC_DST_RGB_ZERO 0x00000000
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE 0x00000001
+#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00000300
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00000302
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00000304
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00000306
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x00008001
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x00008003
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV50TCL_BLEND_EQUATION_ALPHA 0x0000134c
+#define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_ADD 0x00008006
+#define NV50TCL_BLEND_EQUATION_ALPHA_MIN 0x00008007
+#define NV50TCL_BLEND_EQUATION_ALPHA_MAX 0x00008008
+#define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT 0x0000800a
+#define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA 0x00001350
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00000000
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00000001
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x00000300
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x00000302
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x00000304
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x00000306
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x00000307
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x00000308
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x00008001
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x00008003
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV50TCL_BLEND_FUNC_DST_ALPHA 0x00001358
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ZERO 0x00000000
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE 0x00000001
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR 0x00000300
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA 0x00000302
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA 0x00000304
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR 0x00000306
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR 0x00000307
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE 0x00000308
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR 0x00008001
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA 0x00008003
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV50TCL_BLEND_ENABLE(x) (0x00001360+((x)*4))
+#define NV50TCL_BLEND_ENABLE__SIZE 0x00000008
+#define NV50TCL_STENCIL_FRONT_ENABLE 0x00001380
+#define NV50TCL_STENCIL_FRONT_OP_FAIL 0x00001384
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_ZERO 0x00000000
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_INVERT 0x0000150a
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_KEEP 0x00001e00
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL 0x00001388
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_INVERT 0x0000150a
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_KEEP 0x00001e00
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR 0x00001e02
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR 0x00001e03
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS 0x0000138c
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_ZERO 0x00000000
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_INVERT 0x0000150a
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_KEEP 0x00001e00
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR 0x00001e02
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR 0x00001e03
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC 0x00001390
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207
+#define NV50TCL_STENCIL_FRONT_FUNC_REF 0x00001394
+#define NV50TCL_STENCIL_FRONT_MASK 0x00001398
+#define NV50TCL_STENCIL_FRONT_FUNC_MASK 0x0000139c
+#define NV50TCL_FRAG_COLOR_CLAMP_EN 0x000013a8
+#define NV50TCL_Y_ORIGIN_BOTTOM 0x000013ac
+#define NV50TCL_LINE_WIDTH 0x000013b0
+#define NV50TCL_TEX_LIMITS(x) (0x000013b4+((x)*4))
+#define NV50TCL_TEX_LIMITS__SIZE 0x00000003
+#define NV50TCL_TEX_LIMITS_SAMPLERS_LOG2_SHIFT 0
+#define NV50TCL_TEX_LIMITS_SAMPLERS_LOG2_MASK 0x0000000f
+#define NV50TCL_TEX_LIMITS_TEXTURES_LOG2_SHIFT 4
+#define NV50TCL_TEX_LIMITS_TEXTURES_LOG2_MASK 0x000000f0
+#define NV50TCL_POINT_COORD_REPLACE_MAP(x) (0x000013c0+((x)*4))
+#define NV50TCL_POINT_COORD_REPLACE_MAP__SIZE 0x00000008
+#define NV50TCL_VP_START_ID 0x0000140c
+#define NV50TCL_GP_START_ID 0x00001410
+#define NV50TCL_FP_START_ID 0x00001414
+#define NV50TCL_GP_VERTEX_OUTPUT_COUNT 0x00001420
+#define NV50TCL_VB_ELEMENT_BASE 0x00001434
+#define NV50TCL_CODE_CB_FLUSH 0x00001440
+#define NV50TCL_BIND_TSC(x) (0x00001444+((x)*8))
+#define NV50TCL_BIND_TSC__SIZE 0x00000003
+#define NV50TCL_BIND_TSC_VALID (1 << 0)
+#define NV50TCL_BIND_TSC_SAMPLER_SHIFT 4
+#define NV50TCL_BIND_TSC_SAMPLER_MASK 0x000000f0
+#define NV50TCL_BIND_TSC_TSC_SHIFT 12
+#define NV50TCL_BIND_TSC_TSC_MASK 0x001ff000
+#define NV50TCL_BIND_TIC(x) (0x00001448+((x)*8))
+#define NV50TCL_BIND_TIC__SIZE 0x00000003
+#define NV50TCL_BIND_TIC_VALID (1 << 0)
+#define NV50TCL_BIND_TIC_TEXTURE_SHIFT 1
+#define NV50TCL_BIND_TIC_TEXTURE_MASK 0x000001fe
+#define NV50TCL_BIND_TIC_TIC_SHIFT 9
+#define NV50TCL_BIND_TIC_TIC_MASK 0x7ffffe00
+#define NV50TCL_STRMOUT_MAP(x) (0x00001480+((x)*4))
+#define NV50TCL_STRMOUT_MAP__SIZE 0x00000020
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE 0x00001510
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_0 (1 << 0)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_1 (1 << 1)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_2 (1 << 2)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_3 (1 << 3)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_4 (1 << 4)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_5 (1 << 5)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_6 (1 << 6)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_7 (1 << 7)
+#define NV50TCL_SAMPLECNT_ENABLE 0x00001514
+#define NV50TCL_POINT_SIZE 0x00001518
+#define NV50TCL_POINT_SPRITE_ENABLE 0x00001520
+#define NV50TCL_SAMPLECNT_RESET 0x00001530
+#define NV50TCL_ZETA_ENABLE 0x00001538
+#define NV50TCL_MULTISAMPLE_CTRL 0x0000153c
+#define NV50TCL_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE (1 << 0)
+#define NV50TCL_MULTISAMPLE_CTRL_ALPHA_TO_ONE (1 << 4)
+#define NV50TCL_NOPERSPECTIVE_BITMAP(x) (0x00001540+((x)*4))
+#define NV50TCL_NOPERSPECTIVE_BITMAP__SIZE 0x00000004
+#define NV50TCL_COND_ADDRESS_HIGH 0x00001550
+#define NV50TCL_COND_ADDRESS_LOW 0x00001554
+#define NV50TCL_COND_MODE 0x00001558
+#define NV50TCL_COND_MODE_NEVER 0x00000000
+#define NV50TCL_COND_MODE_ALWAYS 0x00000001
+#define NV50TCL_COND_MODE_RES 0x00000002
+#define NV50TCL_COND_MODE_NOT_RES_AND_NOT_ID 0x00000003
+#define NV50TCL_COND_MODE_RES_OR_ID 0x00000004
+#define NV50TCL_TSC_ADDRESS_HIGH 0x0000155c
+#define NV50TCL_TSC_ADDRESS_LOW 0x00001560
+#define NV50TCL_TSC_LIMIT 0x00001564
+#define NV50TCL_POLYGON_OFFSET_FACTOR 0x0000156c
+#define NV50TCL_LINE_SMOOTH_ENABLE 0x00001570
+#define NV50TCL_TIC_ADDRESS_HIGH 0x00001574
+#define NV50TCL_TIC_ADDRESS_LOW 0x00001578
+#define NV50TCL_TIC_LIMIT 0x0000157c
+#define NV50TCL_PM_CONTROL(x) (0x00001580+((x)*4))
+#define NV50TCL_PM_CONTROL__SIZE 0x00000004
+#define NV50TCL_PM_CONTROL_UNK0 (1 << 0)
+#define NV50TCL_PM_CONTROL_UNK1_SHIFT 4
+#define NV50TCL_PM_CONTROL_UNK1_MASK 0x00000070
+#define NV50TCL_PM_CONTROL_UNK2_SHIFT 8
+#define NV50TCL_PM_CONTROL_UNK2_MASK 0xffffff00
+#define NV50TCL_STENCIL_BACK_ENABLE 0x00001594
+#define NV50TCL_STENCIL_BACK_OP_FAIL 0x00001598
+#define NV50TCL_STENCIL_BACK_OP_FAIL_ZERO 0x00000000
+#define NV50TCL_STENCIL_BACK_OP_FAIL_INVERT 0x0000150a
+#define NV50TCL_STENCIL_BACK_OP_FAIL_KEEP 0x00001e00
+#define NV50TCL_STENCIL_BACK_OP_FAIL_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_BACK_OP_FAIL_INCR 0x00001e02
+#define NV50TCL_STENCIL_BACK_OP_FAIL_DECR 0x00001e03
+#define NV50TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL 0x0000159c
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_ZERO 0x00000000
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_INVERT 0x0000150a
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_KEEP 0x00001e00
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_BACK_OP_ZPASS 0x000015a0
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_INVERT 0x0000150a
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_KEEP 0x00001e00
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC 0x000015a4
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_LESS 0x00000201
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207
+#define NV50TCL_FRAMEBUFFER_SRGB 0x000015b8
+#define NV50TCL_POLYGON_OFFSET_UNITS 0x000015bc
+#define NV50TCL_GP_BUILTIN_RESULT_EN 0x000015cc
+#define NV50TCL_GP_BUILTIN_RESULT_EN_VPORT_IDX (1 << 0)
+#define NV50TCL_GP_BUILTIN_RESULT_EN_LAYER_IDX (1 << 16)
+#define NV50TCL_MULTISAMPLE_SAMPLES_LOG2 0x000015d0
+#define NV50TCL_VERTEX_BEGIN 0x000015dc
+#define NV50TCL_VERTEX_BEGIN_POINTS 0x00000000
+#define NV50TCL_VERTEX_BEGIN_LINES 0x00000001
+#define NV50TCL_VERTEX_BEGIN_LINE_LOOP 0x00000002
+#define NV50TCL_VERTEX_BEGIN_LINE_STRIP 0x00000003
+#define NV50TCL_VERTEX_BEGIN_TRIANGLES 0x00000004
+#define NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP 0x00000005
+#define NV50TCL_VERTEX_BEGIN_TRIANGLE_FAN 0x00000006
+#define NV50TCL_VERTEX_BEGIN_QUADS 0x00000007
+#define NV50TCL_VERTEX_BEGIN_QUAD_STRIP 0x00000008
+#define NV50TCL_VERTEX_BEGIN_POLYGON 0x00000009
+#define NV50TCL_VERTEX_BEGIN_LINES_ADJACENCY 0x0000000a
+#define NV50TCL_VERTEX_BEGIN_LINE_STRIP_ADJACENCY 0x0000000b
+#define NV50TCL_VERTEX_BEGIN_TRIANGLES_ADJACENCY 0x0000000c
+#define NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP_ADJACENCY 0x0000000d
+#define NV50TCL_VERTEX_END 0x000015e0
+#define NV50TCL_EDGEFLAG_ENABLE 0x000015e4
+#define NV50TCL_VB_ELEMENT_U32 0x000015e8
+#define NV50TCL_VB_ELEMENT_U16_SETUP 0x000015ec
+#define NV50TCL_VB_ELEMENT_U16_SETUP_OFFSET_SHIFT 30
+#define NV50TCL_VB_ELEMENT_U16_SETUP_OFFSET_MASK 0xc0000000
+#define NV50TCL_VB_ELEMENT_U16_SETUP_COUNT_SHIFT 0
+#define NV50TCL_VB_ELEMENT_U16_SETUP_COUNT_MASK 0x3fffffff
+#define NV50TCL_VB_ELEMENT_U16 0x000015f0
+#define NV50TCL_VB_ELEMENT_U16_I0_SHIFT 0
+#define NV50TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff
+#define NV50TCL_VB_ELEMENT_U16_I1_SHIFT 16
+#define NV50TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000
+#define NV50TCL_VERTEX_DATA 0x00001640
+#define NV50TCL_PRIM_RESTART_ENABLE 0x00001644
+#define NV50TCL_PRIM_RESTART_INDEX 0x00001648
+#define NV50TCL_VP_GP_BUILTIN_ATTR_EN 0x0000164c
+#define NV50TCL_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID (1 << 0)
+#define NV50TCL_VP_GP_BUILTIN_ATTR_EN_INSTANCE_ID (1 << 4)
+#define NV50TCL_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID (1 << 8)
+#define NV50TCL_VP_GP_BUILTIN_ATTR_EN_UNK12 (1 << 12)
+#define NV50TCL_VP_ATTR_EN_0 0x00001650
+#define NV50TCL_VP_ATTR_EN_0_7_SHIFT 28
+#define NV50TCL_VP_ATTR_EN_0_7_MASK 0xf0000000
+#define NV50TCL_VP_ATTR_EN_0_7_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_7_XNNN 0x10000000
+#define NV50TCL_VP_ATTR_EN_0_7_NYNN 0x20000000
+#define NV50TCL_VP_ATTR_EN_0_7_XYNN 0x30000000
+#define NV50TCL_VP_ATTR_EN_0_7_NNZN 0x40000000
+#define NV50TCL_VP_ATTR_EN_0_7_XNZN 0x50000000
+#define NV50TCL_VP_ATTR_EN_0_7_NYZN 0x60000000
+#define NV50TCL_VP_ATTR_EN_0_7_XYZN 0x70000000
+#define NV50TCL_VP_ATTR_EN_0_7_NNNW 0x80000000
+#define NV50TCL_VP_ATTR_EN_0_7_XNNW 0x90000000
+#define NV50TCL_VP_ATTR_EN_0_7_NYNW 0xa0000000
+#define NV50TCL_VP_ATTR_EN_0_7_XYNW 0xb0000000
+#define NV50TCL_VP_ATTR_EN_0_7_NNZW 0xc0000000
+#define NV50TCL_VP_ATTR_EN_0_7_XNZW 0xd0000000
+#define NV50TCL_VP_ATTR_EN_0_7_NYZW 0xe0000000
+#define NV50TCL_VP_ATTR_EN_0_7_XYZW 0xf0000000
+#define NV50TCL_VP_ATTR_EN_0_6_SHIFT 24
+#define NV50TCL_VP_ATTR_EN_0_6_MASK 0x0f000000
+#define NV50TCL_VP_ATTR_EN_0_6_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_6_XNNN 0x01000000
+#define NV50TCL_VP_ATTR_EN_0_6_NYNN 0x02000000
+#define NV50TCL_VP_ATTR_EN_0_6_XYNN 0x03000000
+#define NV50TCL_VP_ATTR_EN_0_6_NNZN 0x04000000
+#define NV50TCL_VP_ATTR_EN_0_6_XNZN 0x05000000
+#define NV50TCL_VP_ATTR_EN_0_6_NYZN 0x06000000
+#define NV50TCL_VP_ATTR_EN_0_6_XYZN 0x07000000
+#define NV50TCL_VP_ATTR_EN_0_6_NNNW 0x08000000
+#define NV50TCL_VP_ATTR_EN_0_6_XNNW 0x09000000
+#define NV50TCL_VP_ATTR_EN_0_6_NYNW 0x0a000000
+#define NV50TCL_VP_ATTR_EN_0_6_XYNW 0x0b000000
+#define NV50TCL_VP_ATTR_EN_0_6_NNZW 0x0c000000
+#define NV50TCL_VP_ATTR_EN_0_6_XNZW 0x0d000000
+#define NV50TCL_VP_ATTR_EN_0_6_NYZW 0x0e000000
+#define NV50TCL_VP_ATTR_EN_0_6_XYZW 0x0f000000
+#define NV50TCL_VP_ATTR_EN_0_5_SHIFT 20
+#define NV50TCL_VP_ATTR_EN_0_5_MASK 0x00f00000
+#define NV50TCL_VP_ATTR_EN_0_5_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_5_XNNN 0x00100000
+#define NV50TCL_VP_ATTR_EN_0_5_NYNN 0x00200000
+#define NV50TCL_VP_ATTR_EN_0_5_XYNN 0x00300000
+#define NV50TCL_VP_ATTR_EN_0_5_NNZN 0x00400000
+#define NV50TCL_VP_ATTR_EN_0_5_XNZN 0x00500000
+#define NV50TCL_VP_ATTR_EN_0_5_NYZN 0x00600000
+#define NV50TCL_VP_ATTR_EN_0_5_XYZN 0x00700000
+#define NV50TCL_VP_ATTR_EN_0_5_NNNW 0x00800000
+#define NV50TCL_VP_ATTR_EN_0_5_XNNW 0x00900000
+#define NV50TCL_VP_ATTR_EN_0_5_NYNW 0x00a00000
+#define NV50TCL_VP_ATTR_EN_0_5_XYNW 0x00b00000
+#define NV50TCL_VP_ATTR_EN_0_5_NNZW 0x00c00000
+#define NV50TCL_VP_ATTR_EN_0_5_XNZW 0x00d00000
+#define NV50TCL_VP_ATTR_EN_0_5_NYZW 0x00e00000
+#define NV50TCL_VP_ATTR_EN_0_5_XYZW 0x00f00000
+#define NV50TCL_VP_ATTR_EN_0_4_SHIFT 16
+#define NV50TCL_VP_ATTR_EN_0_4_MASK 0x000f0000
+#define NV50TCL_VP_ATTR_EN_0_4_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_4_XNNN 0x00010000
+#define NV50TCL_VP_ATTR_EN_0_4_NYNN 0x00020000
+#define NV50TCL_VP_ATTR_EN_0_4_XYNN 0x00030000
+#define NV50TCL_VP_ATTR_EN_0_4_NNZN 0x00040000
+#define NV50TCL_VP_ATTR_EN_0_4_XNZN 0x00050000
+#define NV50TCL_VP_ATTR_EN_0_4_NYZN 0x00060000
+#define NV50TCL_VP_ATTR_EN_0_4_XYZN 0x00070000
+#define NV50TCL_VP_ATTR_EN_0_4_NNNW 0x00080000
+#define NV50TCL_VP_ATTR_EN_0_4_XNNW 0x00090000
+#define NV50TCL_VP_ATTR_EN_0_4_NYNW 0x000a0000
+#define NV50TCL_VP_ATTR_EN_0_4_XYNW 0x000b0000
+#define NV50TCL_VP_ATTR_EN_0_4_NNZW 0x000c0000
+#define NV50TCL_VP_ATTR_EN_0_4_XNZW 0x000d0000
+#define NV50TCL_VP_ATTR_EN_0_4_NYZW 0x000e0000
+#define NV50TCL_VP_ATTR_EN_0_4_XYZW 0x000f0000
+#define NV50TCL_VP_ATTR_EN_0_3_SHIFT 12
+#define NV50TCL_VP_ATTR_EN_0_3_MASK 0x0000f000
+#define NV50TCL_VP_ATTR_EN_0_3_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_3_XNNN 0x00001000
+#define NV50TCL_VP_ATTR_EN_0_3_NYNN 0x00002000
+#define NV50TCL_VP_ATTR_EN_0_3_XYNN 0x00003000
+#define NV50TCL_VP_ATTR_EN_0_3_NNZN 0x00004000
+#define NV50TCL_VP_ATTR_EN_0_3_XNZN 0x00005000
+#define NV50TCL_VP_ATTR_EN_0_3_NYZN 0x00006000
+#define NV50TCL_VP_ATTR_EN_0_3_XYZN 0x00007000
+#define NV50TCL_VP_ATTR_EN_0_3_NNNW 0x00008000
+#define NV50TCL_VP_ATTR_EN_0_3_XNNW 0x00009000
+#define NV50TCL_VP_ATTR_EN_0_3_NYNW 0x0000a000
+#define NV50TCL_VP_ATTR_EN_0_3_XYNW 0x0000b000
+#define NV50TCL_VP_ATTR_EN_0_3_NNZW 0x0000c000
+#define NV50TCL_VP_ATTR_EN_0_3_XNZW 0x0000d000
+#define NV50TCL_VP_ATTR_EN_0_3_NYZW 0x0000e000
+#define NV50TCL_VP_ATTR_EN_0_3_XYZW 0x0000f000
+#define NV50TCL_VP_ATTR_EN_0_2_SHIFT 8
+#define NV50TCL_VP_ATTR_EN_0_2_MASK 0x00000f00
+#define NV50TCL_VP_ATTR_EN_0_2_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_2_XNNN 0x00000100
+#define NV50TCL_VP_ATTR_EN_0_2_NYNN 0x00000200
+#define NV50TCL_VP_ATTR_EN_0_2_XYNN 0x00000300
+#define NV50TCL_VP_ATTR_EN_0_2_NNZN 0x00000400
+#define NV50TCL_VP_ATTR_EN_0_2_XNZN 0x00000500
+#define NV50TCL_VP_ATTR_EN_0_2_NYZN 0x00000600
+#define NV50TCL_VP_ATTR_EN_0_2_XYZN 0x00000700
+#define NV50TCL_VP_ATTR_EN_0_2_NNNW 0x00000800
+#define NV50TCL_VP_ATTR_EN_0_2_XNNW 0x00000900
+#define NV50TCL_VP_ATTR_EN_0_2_NYNW 0x00000a00
+#define NV50TCL_VP_ATTR_EN_0_2_XYNW 0x00000b00
+#define NV50TCL_VP_ATTR_EN_0_2_NNZW 0x00000c00
+#define NV50TCL_VP_ATTR_EN_0_2_XNZW 0x00000d00
+#define NV50TCL_VP_ATTR_EN_0_2_NYZW 0x00000e00
+#define NV50TCL_VP_ATTR_EN_0_2_XYZW 0x00000f00
+#define NV50TCL_VP_ATTR_EN_0_1_SHIFT 4
+#define NV50TCL_VP_ATTR_EN_0_1_MASK 0x000000f0
+#define NV50TCL_VP_ATTR_EN_0_1_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_1_XNNN 0x00000010
+#define NV50TCL_VP_ATTR_EN_0_1_NYNN 0x00000020
+#define NV50TCL_VP_ATTR_EN_0_1_XYNN 0x00000030
+#define NV50TCL_VP_ATTR_EN_0_1_NNZN 0x00000040
+#define NV50TCL_VP_ATTR_EN_0_1_XNZN 0x00000050
+#define NV50TCL_VP_ATTR_EN_0_1_NYZN 0x00000060
+#define NV50TCL_VP_ATTR_EN_0_1_XYZN 0x00000070
+#define NV50TCL_VP_ATTR_EN_0_1_NNNW 0x00000080
+#define NV50TCL_VP_ATTR_EN_0_1_XNNW 0x00000090
+#define NV50TCL_VP_ATTR_EN_0_1_NYNW 0x000000a0
+#define NV50TCL_VP_ATTR_EN_0_1_XYNW 0x000000b0
+#define NV50TCL_VP_ATTR_EN_0_1_NNZW 0x000000c0
+#define NV50TCL_VP_ATTR_EN_0_1_XNZW 0x000000d0
+#define NV50TCL_VP_ATTR_EN_0_1_NYZW 0x000000e0
+#define NV50TCL_VP_ATTR_EN_0_1_XYZW 0x000000f0
+#define NV50TCL_VP_ATTR_EN_0_0_SHIFT 0
+#define NV50TCL_VP_ATTR_EN_0_0_MASK 0x0000000f
+#define NV50TCL_VP_ATTR_EN_0_0_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_0_XNNN 0x00000001
+#define NV50TCL_VP_ATTR_EN_0_0_NYNN 0x00000002
+#define NV50TCL_VP_ATTR_EN_0_0_XYNN 0x00000003
+#define NV50TCL_VP_ATTR_EN_0_0_NNZN 0x00000004
+#define NV50TCL_VP_ATTR_EN_0_0_XNZN 0x00000005
+#define NV50TCL_VP_ATTR_EN_0_0_NYZN 0x00000006
+#define NV50TCL_VP_ATTR_EN_0_0_XYZN 0x00000007
+#define NV50TCL_VP_ATTR_EN_0_0_NNNW 0x00000008
+#define NV50TCL_VP_ATTR_EN_0_0_XNNW 0x00000009
+#define NV50TCL_VP_ATTR_EN_0_0_NYNW 0x0000000a
+#define NV50TCL_VP_ATTR_EN_0_0_XYNW 0x0000000b
+#define NV50TCL_VP_ATTR_EN_0_0_NNZW 0x0000000c
+#define NV50TCL_VP_ATTR_EN_0_0_XNZW 0x0000000d
+#define NV50TCL_VP_ATTR_EN_0_0_NYZW 0x0000000e
+#define NV50TCL_VP_ATTR_EN_0_0_XYZW 0x0000000f
+#define NV50TCL_VP_ATTR_EN_1 0x00001654
+#define NV50TCL_VP_ATTR_EN_1_15_SHIFT 28
+#define NV50TCL_VP_ATTR_EN_1_15_MASK 0xf0000000
+#define NV50TCL_VP_ATTR_EN_1_15_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_15_XNNN 0x10000000
+#define NV50TCL_VP_ATTR_EN_1_15_NYNN 0x20000000
+#define NV50TCL_VP_ATTR_EN_1_15_XYNN 0x30000000
+#define NV50TCL_VP_ATTR_EN_1_15_NNZN 0x40000000
+#define NV50TCL_VP_ATTR_EN_1_15_XNZN 0x50000000
+#define NV50TCL_VP_ATTR_EN_1_15_NYZN 0x60000000
+#define NV50TCL_VP_ATTR_EN_1_15_XYZN 0x70000000
+#define NV50TCL_VP_ATTR_EN_1_15_NNNW 0x80000000
+#define NV50TCL_VP_ATTR_EN_1_15_XNNW 0x90000000
+#define NV50TCL_VP_ATTR_EN_1_15_NYNW 0xa0000000
+#define NV50TCL_VP_ATTR_EN_1_15_XYNW 0xb0000000
+#define NV50TCL_VP_ATTR_EN_1_15_NNZW 0xc0000000
+#define NV50TCL_VP_ATTR_EN_1_15_XNZW 0xd0000000
+#define NV50TCL_VP_ATTR_EN_1_15_NYZW 0xe0000000
+#define NV50TCL_VP_ATTR_EN_1_15_XYZW 0xf0000000
+#define NV50TCL_VP_ATTR_EN_1_14_SHIFT 24
+#define NV50TCL_VP_ATTR_EN_1_14_MASK 0x0f000000
+#define NV50TCL_VP_ATTR_EN_1_14_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_14_XNNN 0x01000000
+#define NV50TCL_VP_ATTR_EN_1_14_NYNN 0x02000000
+#define NV50TCL_VP_ATTR_EN_1_14_XYNN 0x03000000
+#define NV50TCL_VP_ATTR_EN_1_14_NNZN 0x04000000
+#define NV50TCL_VP_ATTR_EN_1_14_XNZN 0x05000000
+#define NV50TCL_VP_ATTR_EN_1_14_NYZN 0x06000000
+#define NV50TCL_VP_ATTR_EN_1_14_XYZN 0x07000000
+#define NV50TCL_VP_ATTR_EN_1_14_NNNW 0x08000000
+#define NV50TCL_VP_ATTR_EN_1_14_XNNW 0x09000000
+#define NV50TCL_VP_ATTR_EN_1_14_NYNW 0x0a000000
+#define NV50TCL_VP_ATTR_EN_1_14_XYNW 0x0b000000
+#define NV50TCL_VP_ATTR_EN_1_14_NNZW 0x0c000000
+#define NV50TCL_VP_ATTR_EN_1_14_XNZW 0x0d000000
+#define NV50TCL_VP_ATTR_EN_1_14_NYZW 0x0e000000
+#define NV50TCL_VP_ATTR_EN_1_14_XYZW 0x0f000000
+#define NV50TCL_VP_ATTR_EN_1_13_SHIFT 20
+#define NV50TCL_VP_ATTR_EN_1_13_MASK 0x00f00000
+#define NV50TCL_VP_ATTR_EN_1_13_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_13_XNNN 0x00100000
+#define NV50TCL_VP_ATTR_EN_1_13_NYNN 0x00200000
+#define NV50TCL_VP_ATTR_EN_1_13_XYNN 0x00300000
+#define NV50TCL_VP_ATTR_EN_1_13_NNZN 0x00400000
+#define NV50TCL_VP_ATTR_EN_1_13_XNZN 0x00500000
+#define NV50TCL_VP_ATTR_EN_1_13_NYZN 0x00600000
+#define NV50TCL_VP_ATTR_EN_1_13_XYZN 0x00700000
+#define NV50TCL_VP_ATTR_EN_1_13_NNNW 0x00800000
+#define NV50TCL_VP_ATTR_EN_1_13_XNNW 0x00900000
+#define NV50TCL_VP_ATTR_EN_1_13_NYNW 0x00a00000
+#define NV50TCL_VP_ATTR_EN_1_13_XYNW 0x00b00000
+#define NV50TCL_VP_ATTR_EN_1_13_NNZW 0x00c00000
+#define NV50TCL_VP_ATTR_EN_1_13_XNZW 0x00d00000
+#define NV50TCL_VP_ATTR_EN_1_13_NYZW 0x00e00000
+#define NV50TCL_VP_ATTR_EN_1_13_XYZW 0x00f00000
+#define NV50TCL_VP_ATTR_EN_1_12_SHIFT 16
+#define NV50TCL_VP_ATTR_EN_1_12_MASK 0x000f0000
+#define NV50TCL_VP_ATTR_EN_1_12_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_12_XNNN 0x00010000
+#define NV50TCL_VP_ATTR_EN_1_12_NYNN 0x00020000
+#define NV50TCL_VP_ATTR_EN_1_12_XYNN 0x00030000
+#define NV50TCL_VP_ATTR_EN_1_12_NNZN 0x00040000
+#define NV50TCL_VP_ATTR_EN_1_12_XNZN 0x00050000
+#define NV50TCL_VP_ATTR_EN_1_12_NYZN 0x00060000
+#define NV50TCL_VP_ATTR_EN_1_12_XYZN 0x00070000
+#define NV50TCL_VP_ATTR_EN_1_12_NNNW 0x00080000
+#define NV50TCL_VP_ATTR_EN_1_12_XNNW 0x00090000
+#define NV50TCL_VP_ATTR_EN_1_12_NYNW 0x000a0000
+#define NV50TCL_VP_ATTR_EN_1_12_XYNW 0x000b0000
+#define NV50TCL_VP_ATTR_EN_1_12_NNZW 0x000c0000
+#define NV50TCL_VP_ATTR_EN_1_12_XNZW 0x000d0000
+#define NV50TCL_VP_ATTR_EN_1_12_NYZW 0x000e0000
+#define NV50TCL_VP_ATTR_EN_1_12_XYZW 0x000f0000
+#define NV50TCL_VP_ATTR_EN_1_11_SHIFT 12
+#define NV50TCL_VP_ATTR_EN_1_11_MASK 0x0000f000
+#define NV50TCL_VP_ATTR_EN_1_11_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_11_XNNN 0x00001000
+#define NV50TCL_VP_ATTR_EN_1_11_NYNN 0x00002000
+#define NV50TCL_VP_ATTR_EN_1_11_XYNN 0x00003000
+#define NV50TCL_VP_ATTR_EN_1_11_NNZN 0x00004000
+#define NV50TCL_VP_ATTR_EN_1_11_XNZN 0x00005000
+#define NV50TCL_VP_ATTR_EN_1_11_NYZN 0x00006000
+#define NV50TCL_VP_ATTR_EN_1_11_XYZN 0x00007000
+#define NV50TCL_VP_ATTR_EN_1_11_NNNW 0x00008000
+#define NV50TCL_VP_ATTR_EN_1_11_XNNW 0x00009000
+#define NV50TCL_VP_ATTR_EN_1_11_NYNW 0x0000a000
+#define NV50TCL_VP_ATTR_EN_1_11_XYNW 0x0000b000
+#define NV50TCL_VP_ATTR_EN_1_11_NNZW 0x0000c000
+#define NV50TCL_VP_ATTR_EN_1_11_XNZW 0x0000d000
+#define NV50TCL_VP_ATTR_EN_1_11_NYZW 0x0000e000
+#define NV50TCL_VP_ATTR_EN_1_11_XYZW 0x0000f000
+#define NV50TCL_VP_ATTR_EN_1_10_SHIFT 8
+#define NV50TCL_VP_ATTR_EN_1_10_MASK 0x00000f00
+#define NV50TCL_VP_ATTR_EN_1_10_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_10_XNNN 0x00000100
+#define NV50TCL_VP_ATTR_EN_1_10_NYNN 0x00000200
+#define NV50TCL_VP_ATTR_EN_1_10_XYNN 0x00000300
+#define NV50TCL_VP_ATTR_EN_1_10_NNZN 0x00000400
+#define NV50TCL_VP_ATTR_EN_1_10_XNZN 0x00000500
+#define NV50TCL_VP_ATTR_EN_1_10_NYZN 0x00000600
+#define NV50TCL_VP_ATTR_EN_1_10_XYZN 0x00000700
+#define NV50TCL_VP_ATTR_EN_1_10_NNNW 0x00000800
+#define NV50TCL_VP_ATTR_EN_1_10_XNNW 0x00000900
+#define NV50TCL_VP_ATTR_EN_1_10_NYNW 0x00000a00
+#define NV50TCL_VP_ATTR_EN_1_10_XYNW 0x00000b00
+#define NV50TCL_VP_ATTR_EN_1_10_NNZW 0x00000c00
+#define NV50TCL_VP_ATTR_EN_1_10_XNZW 0x00000d00
+#define NV50TCL_VP_ATTR_EN_1_10_NYZW 0x00000e00
+#define NV50TCL_VP_ATTR_EN_1_10_XYZW 0x00000f00
+#define NV50TCL_VP_ATTR_EN_1_9_SHIFT 4
+#define NV50TCL_VP_ATTR_EN_1_9_MASK 0x000000f0
+#define NV50TCL_VP_ATTR_EN_1_9_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_9_XNNN 0x00000010
+#define NV50TCL_VP_ATTR_EN_1_9_NYNN 0x00000020
+#define NV50TCL_VP_ATTR_EN_1_9_XYNN 0x00000030
+#define NV50TCL_VP_ATTR_EN_1_9_NNZN 0x00000040
+#define NV50TCL_VP_ATTR_EN_1_9_XNZN 0x00000050
+#define NV50TCL_VP_ATTR_EN_1_9_NYZN 0x00000060
+#define NV50TCL_VP_ATTR_EN_1_9_XYZN 0x00000070
+#define NV50TCL_VP_ATTR_EN_1_9_NNNW 0x00000080
+#define NV50TCL_VP_ATTR_EN_1_9_XNNW 0x00000090
+#define NV50TCL_VP_ATTR_EN_1_9_NYNW 0x000000a0
+#define NV50TCL_VP_ATTR_EN_1_9_XYNW 0x000000b0
+#define NV50TCL_VP_ATTR_EN_1_9_NNZW 0x000000c0
+#define NV50TCL_VP_ATTR_EN_1_9_XNZW 0x000000d0
+#define NV50TCL_VP_ATTR_EN_1_9_NYZW 0x000000e0
+#define NV50TCL_VP_ATTR_EN_1_9_XYZW 0x000000f0
+#define NV50TCL_VP_ATTR_EN_1_8_SHIFT 0
+#define NV50TCL_VP_ATTR_EN_1_8_MASK 0x0000000f
+#define NV50TCL_VP_ATTR_EN_1_8_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_8_XNNN 0x00000001
+#define NV50TCL_VP_ATTR_EN_1_8_NYNN 0x00000002
+#define NV50TCL_VP_ATTR_EN_1_8_XYNN 0x00000003
+#define NV50TCL_VP_ATTR_EN_1_8_NNZN 0x00000004
+#define NV50TCL_VP_ATTR_EN_1_8_XNZN 0x00000005
+#define NV50TCL_VP_ATTR_EN_1_8_NYZN 0x00000006
+#define NV50TCL_VP_ATTR_EN_1_8_XYZN 0x00000007
+#define NV50TCL_VP_ATTR_EN_1_8_NNNW 0x00000008
+#define NV50TCL_VP_ATTR_EN_1_8_XNNW 0x00000009
+#define NV50TCL_VP_ATTR_EN_1_8_NYNW 0x0000000a
+#define NV50TCL_VP_ATTR_EN_1_8_XYNW 0x0000000b
+#define NV50TCL_VP_ATTR_EN_1_8_NNZW 0x0000000c
+#define NV50TCL_VP_ATTR_EN_1_8_XNZW 0x0000000d
+#define NV50TCL_VP_ATTR_EN_1_8_NYZW 0x0000000e
+#define NV50TCL_VP_ATTR_EN_1_8_XYZW 0x0000000f
+#define NV50TCL_POINT_SPRITE_CTRL 0x00001660
+#define NV50TCL_LINE_STIPPLE_ENABLE 0x0000166c
+#define NV50TCL_LINE_STIPPLE_PATTERN 0x00001680
+#define NV50TCL_PROVOKING_VERTEX_LAST 0x00001684
+#define NV50TCL_VERTEX_TWO_SIDE_ENABLE 0x00001688
+#define NV50TCL_POLYGON_STIPPLE_ENABLE 0x0000168c
+#define NV50TCL_SET_PROGRAM_CB 0x00001694
+#define NV50TCL_SET_PROGRAM_CB_PROGRAM_SHIFT 4
+#define NV50TCL_SET_PROGRAM_CB_PROGRAM_MASK 0x000000f0
+#define NV50TCL_SET_PROGRAM_CB_PROGRAM_VERTEX 0x00000000
+#define NV50TCL_SET_PROGRAM_CB_PROGRAM_GEOMETRY 0x00000020
+#define NV50TCL_SET_PROGRAM_CB_PROGRAM_FRAGMENT 0x00000030
+#define NV50TCL_SET_PROGRAM_CB_INDEX_SHIFT 8
+#define NV50TCL_SET_PROGRAM_CB_INDEX_MASK 0x00000f00
+#define NV50TCL_SET_PROGRAM_CB_BUFFER_SHIFT 12
+#define NV50TCL_SET_PROGRAM_CB_BUFFER_MASK 0x0007f000
+#define NV50TCL_SET_PROGRAM_CB_VALID (1 << 0)
+#define NV50TCL_VP_RESULT_MAP_SIZE 0x000016ac
+#define NV50TCL_VP_REG_ALLOC_TEMP 0x000016b0
+#define NV50TCL_VP_REG_ALLOC_RESULT 0x000016b8
+#define NV50TCL_VP_RESULT_MAP(x) (0x000016bc+((x)*4))
+#define NV50TCL_VP_RESULT_MAP__SIZE 0x00000010
+#define NV50TCL_VP_RESULT_MAP_0_SHIFT 0
+#define NV50TCL_VP_RESULT_MAP_0_MASK 0x000000ff
+#define NV50TCL_VP_RESULT_MAP_1_SHIFT 8
+#define NV50TCL_VP_RESULT_MAP_1_MASK 0x0000ff00
+#define NV50TCL_VP_RESULT_MAP_2_SHIFT 16
+#define NV50TCL_VP_RESULT_MAP_2_MASK 0x00ff0000
+#define NV50TCL_VP_RESULT_MAP_3_SHIFT 24
+#define NV50TCL_VP_RESULT_MAP_3_MASK 0xff000000
+#define NV50TCL_POLYGON_STIPPLE_PATTERN(x) (0x00001700+((x)*4))
+#define NV50TCL_POLYGON_STIPPLE_PATTERN__SIZE 0x00000020
+#define NV50TCL_GP_ENABLE 0x00001798
+#define NV50TCL_GP_REG_ALLOC_TEMP 0x000017a0
+#define NV50TCL_GP_REG_ALLOC_RESULT 0x000017a8
+#define NV50TCL_GP_RESULT_MAP_SIZE 0x000017ac
+#define NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE 0x000017b0
+#define NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_POINTS 0x00000001
+#define NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_LINE_STRIP 0x00000002
+#define NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_TRIANGLE_STRIP 0x00000003
+#define NV50TCL_RASTERIZE_ENABLE 0x000017b4
+#define NV50TCL_STRMOUT_ENABLE 0x000017b8
+#define NV50TCL_GP_RESULT_MAP(x) (0x000017fc+((x)*4))
+#define NV50TCL_GP_RESULT_MAP__SIZE 0x00000020
+#define NV50TCL_GP_RESULT_MAP_0_SHIFT 0
+#define NV50TCL_GP_RESULT_MAP_0_MASK 0x000000ff
+#define NV50TCL_GP_RESULT_MAP_1_SHIFT 8
+#define NV50TCL_GP_RESULT_MAP_1_MASK 0x0000ff00
+#define NV50TCL_GP_RESULT_MAP_2_SHIFT 16
+#define NV50TCL_GP_RESULT_MAP_2_MASK 0x00ff0000
+#define NV50TCL_GP_RESULT_MAP_3_SHIFT 24
+#define NV50TCL_GP_RESULT_MAP_3_MASK 0xff000000
+#define NV50TCL_MAP_SEMANTIC_0 0x00001904
+#define NV50TCL_MAP_SEMANTIC_0_FFC0_ID_SHIFT 0
+#define NV50TCL_MAP_SEMANTIC_0_FFC0_ID_MASK 0x000000ff
+#define NV50TCL_MAP_SEMANTIC_0_BFC0_ID_SHIFT 8
+#define NV50TCL_MAP_SEMANTIC_0_BFC0_ID_MASK 0x0000ff00
+#define NV50TCL_MAP_SEMANTIC_0_COLR_NR_SHIFT 16
+#define NV50TCL_MAP_SEMANTIC_0_COLR_NR_MASK 0x00ff0000
+#define NV50TCL_MAP_SEMANTIC_0_CLMP_EN_SHIFT 24
+#define NV50TCL_MAP_SEMANTIC_0_CLMP_EN_MASK 0xff000000
+#define NV50TCL_MAP_SEMANTIC_1 0x00001908
+#define NV50TCL_MAP_SEMANTIC_1_CLIP_LO_SHIFT 0
+#define NV50TCL_MAP_SEMANTIC_1_CLIP_LO_MASK 0x000000ff
+#define NV50TCL_MAP_SEMANTIC_1_CLIP_HI_SHIFT 8
+#define NV50TCL_MAP_SEMANTIC_1_CLIP_HI_MASK 0x0000ff00
+#define NV50TCL_MAP_SEMANTIC_2 0x0000190c
+#define NV50TCL_MAP_SEMANTIC_2_LAYER_ID_SHIFT 0
+#define NV50TCL_MAP_SEMANTIC_2_LAYER_ID_MASK 0x000000ff
+#define NV50TCL_MAP_SEMANTIC_3 0x00001910
+#define NV50TCL_MAP_SEMANTIC_3_PTSZ_EN (1 << 0)
+#define NV50TCL_MAP_SEMANTIC_3_PTSZ_ID_SHIFT 4
+#define NV50TCL_MAP_SEMANTIC_3_PTSZ_ID_MASK 0x00000ff0
+#define NV50TCL_MAP_SEMANTIC_4 0x00001914
+#define NV50TCL_MAP_SEMANTIC_4_PRIM_ID_SHIFT 0
+#define NV50TCL_MAP_SEMANTIC_4_PRIM_ID_MASK 0x000000ff
+#define NV50TCL_CULL_FACE_ENABLE 0x00001918
+#define NV50TCL_FRONT_FACE 0x0000191c
+#define NV50TCL_FRONT_FACE_CW 0x00000900
+#define NV50TCL_FRONT_FACE_CCW 0x00000901
+#define NV50TCL_CULL_FACE 0x00001920
+#define NV50TCL_CULL_FACE_FRONT 0x00000404
+#define NV50TCL_CULL_FACE_BACK 0x00000405
+#define NV50TCL_CULL_FACE_FRONT_AND_BACK 0x00000408
+#define NV50TCL_VIEWPORT_TRANSFORM_EN 0x0000192c
+#define NV50TCL_VIEW_VOLUME_CLIP_CTRL 0x0000193c
+#define NV50TCL_VIEWPORT_CLIP_RECTS_EN 0x0000194c
+#define NV50TCL_FP_CTRL_UNK196C 0x0000196c
+#define NV50TCL_FP_INTERPOLANT_CTRL 0x00001988
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_SHIFT 24
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_MASK 0xff000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NONE 0x00000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNNN 0x01000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYNN 0x02000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYNN 0x03000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNZN 0x04000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNZN 0x05000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYZN 0x06000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYZN 0x07000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNNW 0x08000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNNW 0x09000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYNW 0x0a000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYNW 0x0b000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNZW 0x0c000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNZW 0x0d000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYZW 0x0e000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYZW 0x0f000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_COUNT_NONFLAT_SHIFT 16
+#define NV50TCL_FP_INTERPOLANT_CTRL_COUNT_NONFLAT_MASK 0x00ff0000
+#define NV50TCL_FP_INTERPOLANT_CTRL_OFFSET_SHIFT 8
+#define NV50TCL_FP_INTERPOLANT_CTRL_OFFSET_MASK 0x0000ff00
+#define NV50TCL_FP_INTERPOLANT_CTRL_COUNT_SHIFT 0
+#define NV50TCL_FP_INTERPOLANT_CTRL_COUNT_MASK 0x000000ff
+#define NV50TCL_FP_REG_ALLOC_TEMP 0x0000198c
+#define NV50TCL_WARP_HALVES 0x000019a0
+#define NV50TCL_FP_CONTROL 0x000019a8
+#define NV50TCL_FP_CONTROL_MULTIPLE_RESULTS (1 << 0)
+#define NV50TCL_FP_CONTROL_EXPORTS_Z (1 << 8)
+#define NV50TCL_FP_CONTROL_USES_KIL (1 << 20)
+#define NV50TCL_DEPTH_BOUNDS_EN 0x000019bc
+#define NV50TCL_LOGIC_OP_ENABLE 0x000019c4
+#define NV50TCL_LOGIC_OP 0x000019c8
+#define NV50TCL_LOGIC_OP_CLEAR 0x00001500
+#define NV50TCL_LOGIC_OP_AND 0x00001501
+#define NV50TCL_LOGIC_OP_AND_REVERSE 0x00001502
+#define NV50TCL_LOGIC_OP_COPY 0x00001503
+#define NV50TCL_LOGIC_OP_AND_INVERTED 0x00001504
+#define NV50TCL_LOGIC_OP_NOOP 0x00001505
+#define NV50TCL_LOGIC_OP_XOR 0x00001506
+#define NV50TCL_LOGIC_OP_OR 0x00001507
+#define NV50TCL_LOGIC_OP_NOR 0x00001508
+#define NV50TCL_LOGIC_OP_EQUIV 0x00001509
+#define NV50TCL_LOGIC_OP_INVERT 0x0000150a
+#define NV50TCL_LOGIC_OP_OR_REVERSE 0x0000150b
+#define NV50TCL_LOGIC_OP_COPY_INVERTED 0x0000150c
+#define NV50TCL_LOGIC_OP_OR_INVERTED 0x0000150d
+#define NV50TCL_LOGIC_OP_NAND 0x0000150e
+#define NV50TCL_LOGIC_OP_SET 0x0000150f
+#define NV50TCL_CLEAR_BUFFERS 0x000019d0
+#define NV50TCL_CLEAR_BUFFERS_Z (1 << 0)
+#define NV50TCL_CLEAR_BUFFERS_S (1 << 1)
+#define NV50TCL_CLEAR_BUFFERS_R (1 << 2)
+#define NV50TCL_CLEAR_BUFFERS_G (1 << 3)
+#define NV50TCL_CLEAR_BUFFERS_B (1 << 4)
+#define NV50TCL_CLEAR_BUFFERS_A (1 << 5)
+#define NV50TCL_CLEAR_BUFFERS_RT_SHIFT 6
+#define NV50TCL_CLEAR_BUFFERS_RT_MASK 0x000003c0
+#define NV50TCL_CLEAR_BUFFERS_LAYER_SHIFT 10
+#define NV50TCL_CLEAR_BUFFERS_LAYER_MASK 0x0007fc00
+#define NV50TCL_COLOR_MASK(x) (0x00001a00+((x)*4))
+#define NV50TCL_COLOR_MASK__SIZE 0x00000008
+#define NV50TCL_COLOR_MASK_R_SHIFT 0
+#define NV50TCL_COLOR_MASK_R_MASK 0x0000000f
+#define NV50TCL_COLOR_MASK_G_SHIFT 4
+#define NV50TCL_COLOR_MASK_G_MASK 0x000000f0
+#define NV50TCL_COLOR_MASK_B_SHIFT 8
+#define NV50TCL_COLOR_MASK_B_MASK 0x00000f00
+#define NV50TCL_COLOR_MASK_A_SHIFT 12
+#define NV50TCL_COLOR_MASK_A_MASK 0x0000f000
+#define NV50TCL_STRMOUT_ADDRESS_HIGH(x) (0x00001a80+((x)*16))
+#define NV50TCL_STRMOUT_ADDRESS_HIGH__SIZE 0x00000004
+#define NV50TCL_STRMOUT_ADDRESS_LOW(x) (0x00001a84+((x)*16))
+#define NV50TCL_STRMOUT_ADDRESS_LOW__SIZE 0x00000004
+#define NV50TCL_STRMOUT_NUM_ATTRIBS(x) (0x00001a88+((x)*16))
+#define NV50TCL_STRMOUT_NUM_ATTRIBS__SIZE 0x00000004
+#define NV50TCL_VERTEX_ARRAY_ATTRIB(x) (0x00001ac0+((x)*4))
+#define NV50TCL_VERTEX_ARRAY_ATTRIB__SIZE 0x00000010
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_BUFFER_SHIFT 0
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_BUFFER_MASK 0x0000000f
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_CONST (1 << 4)
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_OFFSET_SHIFT 5
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_OFFSET_MASK 0x0007ffe0
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_SHIFT 19
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_MASK 0x01f80000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32_32 0x00080000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32 0x00100000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16_16 0x00180000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32 0x00200000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16 0x00280000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8_8 0x00500000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16 0x00780000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32 0x00900000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8 0x00980000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8 0x00c00000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16 0x00d80000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8 0x00e80000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SHIFT 25
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_MASK 0x7e000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT 0x7e000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UNORM 0x24000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SNORM 0x12000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_USCALED 0x5a000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED 0x6c000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UINT 0x48000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SINT 0x36000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_BGRA (1 << 31)
+#define NV50TCL_QUERY_ADDRESS_HIGH 0x00001b00
+#define NV50TCL_QUERY_ADDRESS_LOW 0x00001b04
+#define NV50TCL_QUERY_COUNTER 0x00001b08
+#define NV50TCL_QUERY_GET 0x00001b0c
+
+
+#define NV84TCL 0x00008297
+
+
+
+#define NVA0TCL 0x00008397
+
+
+
+#define NVA8TCL 0x00008597
+
+
+
+#define NV50_COMPUTE 0x000050c0
+
+#define NV50_COMPUTE_NOP 0x00000100
+#define NV50_COMPUTE_NOTIFY 0x00000104
+#define NV50_COMPUTE_SERIALIZE 0x00000110
+#define NV50_COMPUTE_DMA_NOTIFY 0x00000180
+#define NV50_COMPUTE_DMA_GLOBAL 0x000001a0
+#define NV50_COMPUTE_DMA_QUERY 0x000001a4
+#define NV50_COMPUTE_DMA_LOCAL 0x000001b8
+#define NV50_COMPUTE_DMA_STACK 0x000001bc
+#define NV50_COMPUTE_DMA_CODE_CB 0x000001c0
+#define NV50_COMPUTE_DMA_TSC 0x000001c4
+#define NV50_COMPUTE_DMA_TIC 0x000001c8
+#define NV50_COMPUTE_DMA_TEXTURE 0x000001cc
+#define NV50_COMPUTE_CP_ADDRESS_HIGH 0x00000210
+#define NV50_COMPUTE_CP_ADDRESS_LOW 0x00000214
+#define NV50_COMPUTE_STACK_ADDRESS_HIGH 0x00000218
+#define NV50_COMPUTE_STACK_ADDRESS_LOW 0x0000021c
+#define NV50_COMPUTE_STACK_SIZE_LOG 0x00000220
+#define NV50_COMPUTE_TSC_ADDRESS_HIGH 0x0000022c
+#define NV50_COMPUTE_TSC_ADDRESS_LOW 0x00000230
+#define NV50_COMPUTE_TSC_LIMIT 0x00000234
+#define NV50_COMPUTE_CB_ADDR 0x00000238
+#define NV50_COMPUTE_CB_ADDR_ID_SHIFT 8
+#define NV50_COMPUTE_CB_ADDR_ID_MASK 0x003fff00
+#define NV50_COMPUTE_CB_ADDR_BUFFER_SHIFT 0
+#define NV50_COMPUTE_CB_ADDR_BUFFER_MASK 0x0000007f
+#define NV50_COMPUTE_CB_DATA(x) (0x0000023c+((x)*4))
+#define NV50_COMPUTE_CB_DATA__SIZE 0x00000010
+#define NV50_COMPUTE_DELAY1 0x00000284
+#define NV50_COMPUTE_WATCHDOG_TIMER 0x00000288
+#define NV50_COMPUTE_DELAY2 0x0000028c
+#define NV50_COMPUTE_LOCAL_ADDRESS_HIGH 0x00000294
+#define NV50_COMPUTE_LOCAL_ADDRESS_LOW 0x00000298
+#define NV50_COMPUTE_LOCAL_SIZE_LOG 0x0000029c
+#define NV50_COMPUTE_CB_DEF_ADDRESS_HIGH 0x000002a4
+#define NV50_COMPUTE_CB_DEF_ADDRESS_LOW 0x000002a8
+#define NV50_COMPUTE_CB_DEF_SET 0x000002ac
+#define NV50_COMPUTE_CB_DEF_SET_SIZE_SHIFT 0
+#define NV50_COMPUTE_CB_DEF_SET_SIZE_MASK 0x0000ffff
+#define NV50_COMPUTE_CB_DEF_SET_BUFFER_SHIFT 16
+#define NV50_COMPUTE_CB_DEF_SET_BUFFER_MASK 0x007f0000
+#define NV50_COMPUTE_BLOCK_ALLOC 0x000002b4
+#define NV50_COMPUTE_BLOCK_ALLOC_THREADS_SHIFT 0
+#define NV50_COMPUTE_BLOCK_ALLOC_THREADS_MASK 0x0000ffff
+#define NV50_COMPUTE_BLOCK_ALLOC_BARRIERS_SHIFT 16
+#define NV50_COMPUTE_BLOCK_ALLOC_BARRIERS_MASK 0xffff0000
+#define NV50_COMPUTE_CP_REG_ALLOC_TEMP 0x000002c0
+#define NV50_COMPUTE_TIC_ADDRESS_HIGH 0x000002c4
+#define NV50_COMPUTE_TIC_ADDRESS_LOW 0x000002c8
+#define NV50_COMPUTE_TIC_LIMIT 0x000002cc
+#define NV50_COMPUTE_PM_SET(x) (0x000002d0+((x)*4))
+#define NV50_COMPUTE_PM_SET__SIZE 0x00000004
+#define NV50_COMPUTE_PM_CONTROL(x) (0x000002e0+((x)*4))
+#define NV50_COMPUTE_PM_CONTROL__SIZE 0x00000004
+#define NV50_COMPUTE_PM_CONTROL_UNK0 (1 << 0)
+#define NV50_COMPUTE_PM_CONTROL_UNK1_SHIFT 4
+#define NV50_COMPUTE_PM_CONTROL_UNK1_MASK 0x00000070
+#define NV50_COMPUTE_PM_CONTROL_UNK2_SHIFT 8
+#define NV50_COMPUTE_PM_CONTROL_UNK2_MASK 0xffffff00
+#define NV50_COMPUTE_LOCAL_WARPS_LOG_ALLOC 0x000002fc
+#define NV50_COMPUTE_LOCAL_WARPS_NO_CLAMP 0x00000300
+#define NV50_COMPUTE_STACK_WARPS_LOG_ALLOC 0x00000304
+#define NV50_COMPUTE_STACK_WARPS_NO_CLAMP 0x00000308
+#define NV50_COMPUTE_QUERY_ADDRESS_HIGH 0x00000310
+#define NV50_COMPUTE_QUERY_ADDRESS_LOW 0x00000314
+#define NV50_COMPUTE_QUERY_COUNTER 0x00000318
+#define NV50_COMPUTE_QUERY_GET 0x0000031c
+#define NV50_COMPUTE_COND_ADDRESS_HIGH 0x00000320
+#define NV50_COMPUTE_COND_ADDRESS_LOW 0x00000324
+#define NV50_COMPUTE_COND_MODE 0x00000328
+#define NV50_COMPUTE_COND_MODE_NEVER 0x00000000
+#define NV50_COMPUTE_COND_MODE_ALWAYS 0x00000001
+#define NV50_COMPUTE_COND_MODE_RES 0x00000002
+#define NV50_COMPUTE_COND_MODE_NOT_RES_AND_NOT_ID 0x00000003
+#define NV50_COMPUTE_COND_MODE_RES_OR_ID 0x00000004
+#define NV50_COMPUTE_LAUNCH 0x00000368
+#define NV50_COMPUTE_USER_PARAM_COUNT 0x00000374
+#define NV50_COMPUTE_USER_PARAM_COUNT_COUNT_SHIFT 8
+#define NV50_COMPUTE_USER_PARAM_COUNT_COUNT_MASK 0x0000ff00
+#define NV50_COMPUTE_LINKED_TSC 0x00000378
+#define NV50_COMPUTE_CODE_CB_FLUSH 0x00000380
+#define NV50_COMPUTE_GRIDDIM 0x000003a4
+#define NV50_COMPUTE_GRIDDIM_X_SHIFT 0
+#define NV50_COMPUTE_GRIDDIM_X_MASK 0x0000ffff
+#define NV50_COMPUTE_GRIDDIM_Y_SHIFT 16
+#define NV50_COMPUTE_GRIDDIM_Y_MASK 0xffff0000
+#define NV50_COMPUTE_SHARED_SIZE 0x000003a8
+#define NV50_COMPUTE_BLOCKDIM_YX 0x000003ac
+#define NV50_COMPUTE_BLOCKDIM_YX_X_SHIFT 0
+#define NV50_COMPUTE_BLOCKDIM_YX_X_MASK 0x0000ffff
+#define NV50_COMPUTE_BLOCKDIM_YX_Y_SHIFT 16
+#define NV50_COMPUTE_BLOCKDIM_YX_Y_MASK 0xffff0000
+#define NV50_COMPUTE_BLOCKDIM_Z 0x000003b0
+#define NV50_COMPUTE_CP_START_ID 0x000003b4
+#define NV50_COMPUTE_WARP_HALVES 0x000003b8
+#define NV50_COMPUTE_TEX_LIMITS 0x000003bc
+#define NV50_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2_SHIFT 0
+#define NV50_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2_MASK 0x0000000f
+#define NV50_COMPUTE_TEX_LIMITS_TEXTURES_LOG2_SHIFT 4
+#define NV50_COMPUTE_TEX_LIMITS_TEXTURES_LOG2_MASK 0x000000f0
+#define NV50_COMPUTE_BIND_TSC 0x000003c0
+#define NV50_COMPUTE_BIND_TSC_VALID (1 << 0)
+#define NV50_COMPUTE_BIND_TSC_SAMPLER_SHIFT 4
+#define NV50_COMPUTE_BIND_TSC_SAMPLER_MASK 0x000000f0
+#define NV50_COMPUTE_BIND_TSC_TSC_SHIFT 12
+#define NV50_COMPUTE_BIND_TSC_TSC_MASK 0x001ff000
+#define NV50_COMPUTE_BIND_TIC 0x000003c4
+#define NV50_COMPUTE_BIND_TIC_VALID (1 << 0)
+#define NV50_COMPUTE_BIND_TIC_TEXTURE_SHIFT 1
+#define NV50_COMPUTE_BIND_TIC_TEXTURE_MASK 0x000001fe
+#define NV50_COMPUTE_BIND_TIC_TIC_SHIFT 9
+#define NV50_COMPUTE_BIND_TIC_TIC_MASK 0x7ffffe00
+#define NV50_COMPUTE_SET_PROGRAM_CB 0x000003c8
+#define NV50_COMPUTE_SET_PROGRAM_CB_INDEX_SHIFT 8
+#define NV50_COMPUTE_SET_PROGRAM_CB_INDEX_MASK 0x00000f00
+#define NV50_COMPUTE_SET_PROGRAM_CB_BUFFER_SHIFT 12
+#define NV50_COMPUTE_SET_PROGRAM_CB_BUFFER_MASK 0x0007f000
+#define NV50_COMPUTE_SET_PROGRAM_CB_VALID (1 << 0)
+#define NV50_COMPUTE_GLOBAL_ADDRESS_HIGH(x) (0x00000400+((x)*32))
+#define NV50_COMPUTE_GLOBAL_ADDRESS_HIGH__SIZE 0x00000010
+#define NV50_COMPUTE_GLOBAL_ADDRESS_LOW(x) (0x00000404+((x)*32))
+#define NV50_COMPUTE_GLOBAL_ADDRESS_LOW__SIZE 0x00000010
+#define NV50_COMPUTE_GLOBAL_PITCH(x) (0x00000408+((x)*32))
+#define NV50_COMPUTE_GLOBAL_PITCH__SIZE 0x00000010
+#define NV50_COMPUTE_GLOBAL_LIMIT(x) (0x0000040c+((x)*32))
+#define NV50_COMPUTE_GLOBAL_LIMIT__SIZE 0x00000010
+#define NV50_COMPUTE_GLOBAL_MODE(x) (0x00000410+((x)*32))
+#define NV50_COMPUTE_GLOBAL_MODE__SIZE 0x00000010
+#define NV50_COMPUTE_GLOBAL_MODE_LINEAR (1 << 0)
+#define NV50_COMPUTE_GLOBAL_MODE_TILE_MODE_SHIFT 8
+#define NV50_COMPUTE_GLOBAL_MODE_TILE_MODE_MASK 0x00000f00
+#define NV50_COMPUTE_USER_PARAM(x) (0x00000600+((x)*4))
+#define NV50_COMPUTE_USER_PARAM__SIZE 0x00000040
+
+
+#endif /* NOUVEAU_REG_H */
diff --git a/abs/core/mkinitcpio-busybox/PKGBUILD b/abs/core/mkinitcpio-busybox/PKGBUILD
new file mode 100644
index 0000000..3d2beaf
--- /dev/null
+++ b/abs/core/mkinitcpio-busybox/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 84550 2010-06-30 21:45:04Z thomas $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+pkgname=mkinitcpio-busybox
+pkgver=1.16.2
+pkgrel=1
+pkgdesc="base initramfs tools"
+arch=('i686' 'x86_64')
+url="http://www.busybox.net/"
+license=('GPL')
+depends=('glibc')
+source=(http://busybox.net/downloads/busybox-${pkgver}.tar.bz2
+ config
+ loadfont-setfont-optional-psf2-font-support.patch)
+sha256sums=('3bf1b1a41294d25335abdd10c65cffdb01c36337ca011f1b38c6ad89590115ba'
+ 'd629e936941c854e7aa5e1b564d74bde3a1d328f1e0dd30c86a958d2724685ce'
+ '624d21345cd869c174a3ae1b9cfe23a461ce8b463c7ac4c052726430890c4eb1')
+
+build() {
+ cd "${srcdir}/busybox-${pkgver}"
+
+ # Backport http://git.busybox.net/busybox/commit/?id=8ce1dc03c1b2b61e51527b987579c09c991cc4b2
+ # to busybox 1.16 to fix https://bugs.archlinux.org/task/19109
+ patch -p1 -i ../loadfont-setfont-optional-psf2-font-support.patch || return 1
+
+ unset CFLAGS CXXFLAGS
+ if [ ${CARCH} = "x86_64" ]; then
+ sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-march=x86-64 -mtune=generic -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config
+ else
+ sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-march=i686 -mtune=generic -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config
+ fi
+ make || return 1
+}
+
+package() {
+ install -D -m755 "${srcdir}/busybox-${pkgver}"/busybox "${pkgdir}/lib/initcpio/busybox"
+}
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/mkinitcpio-busybox/config b/abs/core/mkinitcpio-busybox/config
new file mode 100644
index 0000000..a67ca33
--- /dev/null
+++ b/abs/core/mkinitcpio-busybox/config
@@ -0,0 +1,922 @@
+#
+# Automatically generated make config: don't edit
+# Busybox version: 1.16.1
+# Sun Apr 11 13:13:36 2010
+#
+CONFIG_HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+# CONFIG_DESKTOP is not set
+# CONFIG_EXTRA_COMPAT is not set
+# CONFIG_INCLUDE_SUSv2 is not set
+# CONFIG_USE_PORTABLE_CODE is not set
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_COMPRESS_USAGE is not set
+CONFIG_FEATURE_INSTALLER=y
+# CONFIG_LOCALE_SUPPORT is not set
+# CONFIG_FEATURE_ASSUME_UNICODE is not set
+# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
+CONFIG_LONG_OPTS=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_PIDFILE is not set
+CONFIG_FEATURE_SUID=y
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_PREFER_APPLETS is not set
+CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox"
+CONFIG_FEATURE_SYSLOG=y
+CONFIG_FEATURE_HAVE_RPC=y
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_PIE is not set
+# CONFIG_NOMMU is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_INDIVIDUAL is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+CONFIG_CROSS_COMPILER_PREFIX=""
+CONFIG_EXTRA_CFLAGS=""
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_WERROR is not set
+CONFIG_NO_DEBUG_LIB=y
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
+# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
+# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
+CONFIG_PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+CONFIG_PASSWORD_MINLEN=6
+CONFIG_MD5_SIZE_VS_SPEED=3
+CONFIG_FEATURE_FAST_TOP=y
+# CONFIG_FEATURE_ETC_NETWORKS is not set
+CONFIG_FEATURE_EDITING=y
+CONFIG_FEATURE_EDITING_MAX_LEN=1024
+# CONFIG_FEATURE_EDITING_VI is not set
+CONFIG_FEATURE_EDITING_HISTORY=15
+# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
+CONFIG_FEATURE_TAB_COMPLETION=y
+# CONFIG_FEATURE_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
+# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
+CONFIG_FEATURE_NON_POSIX_CP=y
+CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
+CONFIG_FEATURE_COPYBUF_KB=4
+CONFIG_MONOTONIC_SYSCALL=y
+CONFIG_IOCTL_HEX2STR_ERROR=y
+# CONFIG_FEATURE_HWIB is not set
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+# CONFIG_FEATURE_SEAMLESS_LZMA is not set
+# CONFIG_FEATURE_SEAMLESS_BZ2 is not set
+# CONFIG_FEATURE_SEAMLESS_GZ is not set
+# CONFIG_FEATURE_SEAMLESS_Z is not set
+# CONFIG_AR is not set
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+# CONFIG_BUNZIP2 is not set
+# CONFIG_BZIP2 is not set
+# CONFIG_CPIO is not set
+# CONFIG_FEATURE_CPIO_O is not set
+# CONFIG_FEATURE_CPIO_P is not set
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+# CONFIG_GUNZIP is not set
+# CONFIG_GZIP is not set
+# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
+# CONFIG_LZOP is not set
+# CONFIG_LZOP_COMPR_HIGH is not set
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+# CONFIG_TAR is not set
+# CONFIG_FEATURE_TAR_CREATE is not set
+# CONFIG_FEATURE_TAR_AUTODETECT is not set
+# CONFIG_FEATURE_TAR_FROM is not set
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
+# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
+# CONFIG_FEATURE_TAR_GNU_EXTENSIONS is not set
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
+# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNLZMA is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
+# CONFIG_UNZIP is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+# CONFIG_CATV is not set
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
+CONFIG_CHROOT=y
+# CONFIG_CKSUM is not set
+# CONFIG_COMM is not set
+CONFIG_CP=y
+# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
+CONFIG_CUT=y
+# CONFIG_DATE is not set
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+# CONFIG_FEATURE_DATE_COMPAT is not set
+CONFIG_DD=y
+# CONFIG_FEATURE_DD_SIGNAL_HANDLING is not set
+# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
+# CONFIG_FEATURE_DD_IBS_OBS is not set
+CONFIG_DF=y
+# CONFIG_FEATURE_DF_FANCY is not set
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+# CONFIG_UNIX2DOS is not set
+CONFIG_DU=y
+# CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K is not set
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_FEATURE_ENV_LONG_OPTIONS=y
+# CONFIG_EXPAND is not set
+# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
+CONFIG_EXPR=y
+CONFIG_EXPR_MATH_SUPPORT_64=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+# CONFIG_FSYNC is not set
+CONFIG_HEAD=y
+CONFIG_FEATURE_FANCY_HEAD=y
+# CONFIG_HOSTID is not set
+# CONFIG_ID is not set
+CONFIG_INSTALL=y
+CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+# CONFIG_LOGNAME is not set
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+# CONFIG_FEATURE_LS_COLOR is not set
+# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
+# CONFIG_MD5SUM is not set
+CONFIG_MKDIR=y
+CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_FEATURE_MV_LONG_OPTIONS=y
+# CONFIG_NICE is not set
+# CONFIG_NOHUP is not set
+# CONFIG_OD is not set
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+# CONFIG_SHA256SUM is not set
+# CONFIG_SHA512SUM is not set
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_FEATURE_FLOAT_SLEEP=y
+CONFIG_SORT=y
+# CONFIG_FEATURE_SORT_BIG is not set
+# CONFIG_SPLIT is not set
+# CONFIG_FEATURE_SPLIT_FANCY is not set
+CONFIG_STAT=y
+CONFIG_FEATURE_STAT_FORMAT=y
+# CONFIG_STTY is not set
+# CONFIG_SUM is not set
+# CONFIG_SYNC is not set
+# CONFIG_TAC is not set
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+# CONFIG_TEE is not set
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+CONFIG_FEATURE_TEST_64=y
+CONFIG_TOUCH=y
+# CONFIG_TR is not set
+# CONFIG_FEATURE_TR_CLASSES is not set
+# CONFIG_FEATURE_TR_EQUIV is not set
+CONFIG_TRUE=y
+# CONFIG_TTY is not set
+CONFIG_UNAME=y
+# CONFIG_UNEXPAND is not set
+# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WC=y
+CONFIG_FEATURE_WC_LARGE=y
+# CONFIG_WHO is not set
+# CONFIG_WHOAMI is not set
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+# CONFIG_CHVT is not set
+# CONFIG_CLEAR is not set
+# CONFIG_DEALLOCVT is not set
+# CONFIG_DUMPKMAP is not set
+CONFIG_KBD_MODE=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+# CONFIG_RESET is not set
+# CONFIG_RESIZE is not set
+# CONFIG_FEATURE_RESIZE_PRINT is not set
+# CONFIG_SETCONSOLE is not set
+# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
+CONFIG_SETFONT=y
+# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
+CONFIG_DEFAULT_SETFONT_DIR=""
+# CONFIG_SETKEYCODES is not set
+# CONFIG_SETLOGCONS is not set
+# CONFIG_SHOWKEY is not set
+
+#
+# Common options for loadfont and setfont
+#
+CONFIG_FEATURE_LOADFONT_PSF2=y
+CONFIG_FEATURE_LOADFONT_RAW=y
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+# CONFIG_RUN_PARTS is not set
+# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
+# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
+# CONFIG_START_STOP_DAEMON is not set
+# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
+# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
+# CONFIG_WHICH is not set
+
+#
+# Editors
+#
+CONFIG_AWK=y
+# CONFIG_FEATURE_AWK_LIBM is not set
+# CONFIG_CMP is not set
+# CONFIG_DIFF is not set
+# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
+# CONFIG_FEATURE_DIFF_DIR is not set
+# CONFIG_ED is not set
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_MAX_LEN=4096
+CONFIG_FEATURE_VI_8BIT=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+CONFIG_FEATURE_VI_READONLY=y
+CONFIG_FEATURE_VI_SETOPTS=y
+CONFIG_FEATURE_VI_SET=y
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+# CONFIG_FEATURE_ALLOW_EXEC is not set
+
+#
+# Finding Utilities
+#
+# CONFIG_FIND is not set
+# CONFIG_FEATURE_FIND_PRINT0 is not set
+# CONFIG_FEATURE_FIND_MTIME is not set
+# CONFIG_FEATURE_FIND_MMIN is not set
+# CONFIG_FEATURE_FIND_PERM is not set
+# CONFIG_FEATURE_FIND_TYPE is not set
+# CONFIG_FEATURE_FIND_XDEV is not set
+# CONFIG_FEATURE_FIND_MAXDEPTH is not set
+# CONFIG_FEATURE_FIND_NEWER is not set
+# CONFIG_FEATURE_FIND_INUM is not set
+# CONFIG_FEATURE_FIND_EXEC is not set
+# CONFIG_FEATURE_FIND_USER is not set
+# CONFIG_FEATURE_FIND_GROUP is not set
+# CONFIG_FEATURE_FIND_NOT is not set
+# CONFIG_FEATURE_FIND_DEPTH is not set
+# CONFIG_FEATURE_FIND_PAREN is not set
+# CONFIG_FEATURE_FIND_SIZE is not set
+# CONFIG_FEATURE_FIND_PRUNE is not set
+# CONFIG_FEATURE_FIND_DELETE is not set
+# CONFIG_FEATURE_FIND_PATH is not set
+# CONFIG_FEATURE_FIND_REGEX is not set
+# CONFIG_FEATURE_FIND_CONTEXT is not set
+# CONFIG_FEATURE_FIND_LINKS is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+# CONFIG_FEATURE_GREP_FGREP_ALIAS is not set
+# CONFIG_FEATURE_GREP_CONTEXT is not set
+# CONFIG_XARGS is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_FEATURE_USE_INITTAB is not set
+# CONFIG_FEATURE_KILL_REMOVED is not set
+CONFIG_FEATURE_KILL_DELAY=0
+# CONFIG_FEATURE_INIT_SCTTY is not set
+# CONFIG_FEATURE_INIT_SYSLOG is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_INITRD is not set
+# CONFIG_HALT is not set
+# CONFIG_FEATURE_CALL_TELINIT is not set
+CONFIG_TELINIT_PATH=""
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_USE_BB_SHADOW is not set
+# CONFIG_USE_BB_CRYPT is not set
+# CONFIG_USE_BB_CRYPT_SHA is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
+# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
+# CONFIG_FEATURE_CHECK_NAMES is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
+CONFIG_FIRST_SYSTEM_ID=0
+CONFIG_LAST_SYSTEM_ID=0
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+# CONFIG_FEATURE_UTMP is not set
+# CONFIG_FEATURE_WTMP is not set
+# CONFIG_LOGIN is not set
+# CONFIG_PAM is not set
+# CONFIG_LOGIN_SCRIPTS is not set
+# CONFIG_FEATURE_NOLOGIN is not set
+# CONFIG_FEATURE_SECURETTY is not set
+# CONFIG_PASSWD is not set
+# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
+# CONFIG_CRYPTPW is not set
+# CONFIG_CHPASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_FEATURE_SU_SYSLOG is not set
+# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Linux Ext2 FS Progs
+#
+# CONFIG_CHATTR is not set
+# CONFIG_FSCK is not set
+# CONFIG_LSATTR is not set
+
+#
+# Linux Module Utilities
+#
+# CONFIG_MODPROBE_SMALL is not set
+# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
+# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
+CONFIG_INSMOD=y
+CONFIG_RMMOD=y
+CONFIG_LSMOD=y
+CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
+# CONFIG_MODPROBE is not set
+# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
+# CONFIG_DEPMOD is not set
+
+#
+# Options common to multiple modutils
+#
+# CONFIG_FEATURE_2_4_MODULES is not set
+# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_MODUTILS_ALIAS is not set
+# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
+CONFIG_DEFAULT_MODULES_DIR=""
+CONFIG_DEFAULT_DEPMOD_FILE=""
+
+#
+# Linux System Utilities
+#
+# CONFIG_ACPID is not set
+# CONFIG_FEATURE_ACPID_COMPAT is not set
+# CONFIG_BLKID is not set
+CONFIG_DMESG=y
+CONFIG_FEATURE_DMESG_PRETTY=y
+# CONFIG_FBSET is not set
+# CONFIG_FEATURE_FBSET_FANCY is not set
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+# CONFIG_FDISK is not set
+CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
+# CONFIG_FEATURE_FDISK_WRITABLE is not set
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FINDFS is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_EXT2 is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_FEATURE_MINIX2 is not set
+# CONFIG_MKFS_REISER is not set
+# CONFIG_MKFS_VFAT is not set
+CONFIG_GETOPT=y
+CONFIG_FEATURE_GETOPT_LONG=y
+CONFIG_HEXDUMP=y
+# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
+# CONFIG_HD is not set
+# CONFIG_HWCLOCK is not set
+# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
+# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+CONFIG_LOSETUP=y
+# CONFIG_LSPCI is not set
+# CONFIG_LSUSB is not set
+# CONFIG_MDEV is not set
+# CONFIG_FEATURE_MDEV_CONF is not set
+# CONFIG_FEATURE_MDEV_RENAME is not set
+# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
+# CONFIG_FEATURE_MDEV_EXEC is not set
+# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
+# CONFIG_MKSWAP is not set
+# CONFIG_FEATURE_MKSWAP_UUID is not set
+# CONFIG_MORE is not set
+# CONFIG_FEATURE_USE_TERMIOS is not set
+CONFIG_VOLUMEID=y
+# CONFIG_FEATURE_VOLUMEID_EXT is not set
+# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
+# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
+# CONFIG_FEATURE_VOLUMEID_FAT is not set
+# CONFIG_FEATURE_VOLUMEID_HFS is not set
+# CONFIG_FEATURE_VOLUMEID_JFS is not set
+# CONFIG_FEATURE_VOLUMEID_XFS is not set
+# CONFIG_FEATURE_VOLUMEID_NTFS is not set
+# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
+# CONFIG_FEATURE_VOLUMEID_UDF is not set
+# CONFIG_FEATURE_VOLUMEID_LUKS is not set
+# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
+# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
+# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
+# CONFIG_FEATURE_VOLUMEID_SYSV is not set
+# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
+# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
+CONFIG_MOUNT=y
+CONFIG_FEATURE_MOUNT_FAKE=y
+CONFIG_FEATURE_MOUNT_VERBOSE=y
+CONFIG_FEATURE_MOUNT_HELPERS=y
+CONFIG_FEATURE_MOUNT_LABEL=y
+CONFIG_FEATURE_MOUNT_NFS=y
+CONFIG_FEATURE_MOUNT_CIFS=y
+CONFIG_FEATURE_MOUNT_FLAGS=y
+CONFIG_FEATURE_MOUNT_FSTAB=y
+# CONFIG_PIVOT_ROOT is not set
+# CONFIG_RDATE is not set
+# CONFIG_RDEV is not set
+# CONFIG_READPROFILE is not set
+# CONFIG_RTCWAKE is not set
+# CONFIG_SCRIPT is not set
+# CONFIG_SCRIPTREPLAY is not set
+# CONFIG_SETARCH is not set
+# CONFIG_SWAPONOFF is not set
+# CONFIG_FEATURE_SWAPON_PRI is not set
+CONFIG_SWITCH_ROOT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_UMOUNT_ALL=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_BEEP is not set
+CONFIG_FEATURE_BEEP_FREQ=0
+CONFIG_FEATURE_BEEP_LENGTH_MS=0
+# CONFIG_CHAT is not set
+# CONFIG_FEATURE_CHAT_NOFAIL is not set
+# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
+# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
+# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
+# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
+# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
+# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
+# CONFIG_CHRT is not set
+# CONFIG_CROND is not set
+# CONFIG_FEATURE_CROND_D is not set
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+CONFIG_FEATURE_CROND_DIR=""
+# CONFIG_CRONTAB is not set
+# CONFIG_DC is not set
+# CONFIG_FEATURE_DC_LIBM is not set
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_FEATURE_DEVFS is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_EJECT is not set
+# CONFIG_FEATURE_EJECT_SCSI is not set
+# CONFIG_FBSPLASH is not set
+# CONFIG_FLASHCP is not set
+# CONFIG_FLASH_LOCK is not set
+# CONFIG_FLASH_UNLOCK is not set
+# CONFIG_FLASH_ERASEALL is not set
+# CONFIG_IONICE is not set
+# CONFIG_INOTIFYD is not set
+# CONFIG_LAST is not set
+# CONFIG_FEATURE_LAST_SMALL is not set
+# CONFIG_FEATURE_LAST_FANCY is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_MAXLINES=9999999
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
+# CONFIG_FEATURE_LESS_WINCH is not set
+# CONFIG_FEATURE_LESS_DASHCMD is not set
+# CONFIG_FEATURE_LESS_LINENUMS is not set
+# CONFIG_HDPARM is not set
+# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
+# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
+# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
+# CONFIG_MAN is not set
+# CONFIG_MICROCOM is not set
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_MT is not set
+# CONFIG_RAIDAUTORUN is not set
+# CONFIG_READAHEAD is not set
+# CONFIG_RUNLEVEL is not set
+# CONFIG_RX is not set
+# CONFIG_SETSID is not set
+CONFIG_STRINGS=y
+# CONFIG_TASKSET is not set
+# CONFIG_FEATURE_TASKSET_FANCY is not set
+# CONFIG_TIME is not set
+# CONFIG_TIMEOUT is not set
+# CONFIG_TTYSIZE is not set
+# CONFIG_VOLNAME is not set
+# CONFIG_WALL is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_FEATURE_UNIX_LOCAL is not set
+CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
+# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
+# CONFIG_ARP is not set
+# CONFIG_ARPING is not set
+# CONFIG_BRCTL is not set
+# CONFIG_FEATURE_BRCTL_FANCY is not set
+# CONFIG_FEATURE_BRCTL_SHOW is not set
+# CONFIG_DNSD is not set
+# CONFIG_ETHER_WAKE is not set
+# CONFIG_FAKEIDENTD is not set
+# CONFIG_FTPD is not set
+# CONFIG_FEATURE_FTP_WRITE is not set
+# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
+# CONFIG_HOSTNAME is not set
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_RANGES is not set
+# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
+# CONFIG_FEATURE_HTTPD_PROXY is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+CONFIG_FEATURE_IFCONFIG_SLIP=y
+CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
+CONFIG_FEATURE_IFCONFIG_HW=y
+CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
+# CONFIG_IFENSLAVE is not set
+# CONFIG_IFPLUGD is not set
+# CONFIG_IFUPDOWN is not set
+CONFIG_IFUPDOWN_IFSTATE_PATH=""
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
+# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
+# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
+# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
+# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
+# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+CONFIG_FEATURE_IP_RULE=y
+CONFIG_FEATURE_IP_SHORT_FORMS=y
+# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
+CONFIG_IPADDR=y
+CONFIG_IPLINK=y
+CONFIG_IPROUTE=y
+CONFIG_IPTUNNEL=y
+CONFIG_IPRULE=y
+# CONFIG_IPCALC is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
+# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
+# CONFIG_NAMEIF is not set
+# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
+CONFIG_NC=y
+CONFIG_NC_SERVER=y
+CONFIG_NC_EXTRA=y
+CONFIG_NETSTAT=y
+CONFIG_FEATURE_NETSTAT_WIDE=y
+CONFIG_FEATURE_NETSTAT_PRG=y
+CONFIG_NSLOOKUP=y
+# CONFIG_NTPD is not set
+# CONFIG_FEATURE_NTPD_SERVER is not set
+CONFIG_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING=y
+# CONFIG_PSCAN is not set
+CONFIG_ROUTE=y
+# CONFIG_SLATTACH is not set
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
+# CONFIG_TELNETD is not set
+# CONFIG_FEATURE_TELNETD_STANDALONE is not set
+# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
+CONFIG_TFTP=y
+# CONFIG_TFTPD is not set
+CONFIG_FEATURE_TFTP_GET=y
+# CONFIG_FEATURE_TFTP_PUT is not set
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
+# CONFIG_TFTP_DEBUG is not set
+# CONFIG_TRACEROUTE is not set
+# CONFIG_TRACEROUTE6 is not set
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+# CONFIG_UDHCPD is not set
+# CONFIG_DHCPRELAY is not set
+# CONFIG_DUMPLEASES is not set
+# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
+CONFIG_DHCPD_LEASES_FILE=""
+# CONFIG_UDHCPC is not set
+# CONFIG_FEATURE_UDHCPC_ARPING is not set
+# CONFIG_FEATURE_UDHCP_PORT is not set
+CONFIG_UDHCP_DEBUG=0
+# CONFIG_FEATURE_UDHCP_RFC3397 is not set
+CONFIG_UDHCPC_DEFAULT_SCRIPT=""
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
+CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+# CONFIG_ZCIP is not set
+# CONFIG_TCPSVD is not set
+# CONFIG_TUNCTL is not set
+# CONFIG_FEATURE_TUNCTL_UG is not set
+# CONFIG_UDPSVD is not set
+
+#
+# Print Utilities
+#
+# CONFIG_LPD is not set
+# CONFIG_LPR is not set
+# CONFIG_LPQ is not set
+
+#
+# Mail Utilities
+#
+# CONFIG_MAKEMIME is not set
+CONFIG_FEATURE_MIME_CHARSET=""
+# CONFIG_POPMAILDIR is not set
+# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
+# CONFIG_REFORMIME is not set
+# CONFIG_FEATURE_REFORMIME_COMPAT is not set
+# CONFIG_SENDMAIL is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+# CONFIG_FUSER is not set
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_KILLALL5 is not set
+# CONFIG_NMETER is not set
+CONFIG_PGREP=y
+CONFIG_PIDOF=y
+CONFIG_FEATURE_PIDOF_SINGLE=y
+CONFIG_FEATURE_PIDOF_OMIT=y
+# CONFIG_PKILL is not set
+CONFIG_PS=y
+CONFIG_FEATURE_PS_WIDE=y
+# CONFIG_FEATURE_PS_TIME is not set
+# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
+# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
+# CONFIG_RENICE is not set
+# CONFIG_BB_SYSCTL is not set
+# CONFIG_TOP is not set
+# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set
+# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set
+# CONFIG_FEATURE_TOP_SMP_CPU is not set
+# CONFIG_FEATURE_TOP_DECIMALS is not set
+# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
+# CONFIG_FEATURE_TOPMEM is not set
+# CONFIG_FEATURE_SHOW_THREADS is not set
+CONFIG_UPTIME=y
+# CONFIG_WATCH is not set
+
+#
+# Runit Utilities
+#
+# CONFIG_RUNSV is not set
+# CONFIG_RUNSVDIR is not set
+# CONFIG_FEATURE_RUNSVDIR_LOG is not set
+# CONFIG_SV is not set
+CONFIG_SV_DEFAULT_SERVICE_DIR=""
+# CONFIG_SVLOGD is not set
+# CONFIG_CHPST is not set
+# CONFIG_SETUIDGID is not set
+# CONFIG_ENVUIDGID is not set
+# CONFIG_ENVDIR is not set
+# CONFIG_SOFTLIMIT is not set
+# CONFIG_CHCON is not set
+# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
+# CONFIG_GETENFORCE is not set
+# CONFIG_GETSEBOOL is not set
+# CONFIG_LOAD_POLICY is not set
+# CONFIG_MATCHPATHCON is not set
+# CONFIG_RESTORECON is not set
+# CONFIG_RUNCON is not set
+# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
+# CONFIG_SELINUXENABLED is not set
+# CONFIG_SETENFORCE is not set
+# CONFIG_SETFILES is not set
+# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
+# CONFIG_SETSEBOOL is not set
+# CONFIG_SESTATUS is not set
+
+#
+# Shells
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+CONFIG_ASH_BASH_COMPAT=y
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_GETOPTS=y
+CONFIG_ASH_BUILTIN_ECHO=y
+CONFIG_ASH_BUILTIN_PRINTF=y
+CONFIG_ASH_BUILTIN_TEST=y
+CONFIG_ASH_CMDCMD=y
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+CONFIG_ASH_EXPAND_PRMT=y
+# CONFIG_HUSH is not set
+# CONFIG_HUSH_BASH_COMPAT is not set
+# CONFIG_HUSH_HELP is not set
+# CONFIG_HUSH_INTERACTIVE is not set
+# CONFIG_HUSH_JOB is not set
+# CONFIG_HUSH_TICK is not set
+# CONFIG_HUSH_IF is not set
+# CONFIG_HUSH_LOOPS is not set
+# CONFIG_HUSH_CASE is not set
+# CONFIG_HUSH_FUNCTIONS is not set
+# CONFIG_HUSH_LOCAL is not set
+# CONFIG_HUSH_EXPORT_N is not set
+# CONFIG_HUSH_RANDOM_SUPPORT is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+CONFIG_SH_MATH_SUPPORT=y
+# CONFIG_SH_MATH_SUPPORT_64 is not set
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE is not set
+# CONFIG_FEATURE_SH_NOFORK is not set
+CONFIG_CTTYHACK=y
+
+#
+# System Logging Utilities
+#
+# CONFIG_SYSLOGD is not set
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+# CONFIG_FEATURE_REMOTE_LOG is not set
+# CONFIG_FEATURE_SYSLOGD_DUP is not set
+# CONFIG_FEATURE_IPC_SYSLOG is not set
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
+# CONFIG_LOGREAD is not set
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+# CONFIG_KLOGD is not set
+# CONFIG_LOGGER is not set
diff --git a/abs/core/mkinitcpio-busybox/loadfont-setfont-optional-psf2-font-support.patch b/abs/core/mkinitcpio-busybox/loadfont-setfont-optional-psf2-font-support.patch
new file mode 100644
index 0000000..a7592de
--- /dev/null
+++ b/abs/core/mkinitcpio-busybox/loadfont-setfont-optional-psf2-font-support.patch
@@ -0,0 +1,453 @@
+From 8ce1dc03c1b2b61e51527b987579c09c991cc4b2 Mon Sep 17 00:00:00 2001
+From: Harald Becker <ralda@gmx.de>
+Date: Sun, 21 Feb 2010 12:10:26 +0000
+Subject: loadfont/setfont: optional PSF2 font support
+
+Signed-off-by: Harald Becker <ralda@gmx.de>
+Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+---
+diff --git a/console-tools/Config.in b/console-tools/Config.in
+index cd0a931..195685b 100644
+--- a/console-tools/Config.in
++++ b/console-tools/Config.in
+@@ -135,4 +135,21 @@ config SHOWKEY
+ help
+ Shows keys pressed.
+
++comment "Common options for loadfont and setfont"
++ depends on LOADFONT || SETFONT
++
++config FEATURE_LOADFONT_PSF2
++ bool "Support for PSF2 console fonts"
++ default n
++ depends on LOADFONT || SETFONT
++ help
++ Support PSF2 console fonts.
++
++config FEATURE_LOADFONT_RAW
++ bool "Support for old (raw) console fonts"
++ default n
++ depends on LOADFONT || SETFONT
++ help
++ Support old (raw) console fonts.
++
+ endmenu
+diff --git a/console-tools/loadfont.c b/console-tools/loadfont.c
+index e833474..e51142c 100644
+--- a/console-tools/loadfont.c
++++ b/console-tools/loadfont.c
+@@ -13,7 +13,7 @@
+ #include <sys/kd.h>
+
+ #ifndef KDFONTOP
+-#define KDFONTOP 0x4B72
++# define KDFONTOP 0x4B72
+ struct console_font_op {
+ unsigned op; /* KD_FONT_OP_* */
+ unsigned flags; /* KD_FONT_FLAG_* */
+@@ -21,91 +21,137 @@ struct console_font_op {
+ unsigned charcount;
+ unsigned char *data; /* font data with height fixed to 32 */
+ };
+-
+-#define KD_FONT_OP_SET 0 /* Set font */
+-#define KD_FONT_OP_GET 1 /* Get font */
+-#define KD_FONT_OP_SET_DEFAULT 2 /* Set font to default,
+- data points to name / NULL */
+-#define KD_FONT_OP_COPY 3 /* Copy from another console */
+-
+-#define KD_FONT_FLAG_OLD 0x80000000 /* Invoked via old interface */
+-#define KD_FONT_FLAG_DONT_RECALC 1 /* Don't call adjust_height() */
++# define KD_FONT_OP_SET 0 /* Set font */
++# define KD_FONT_OP_GET 1 /* Get font */
++# define KD_FONT_OP_SET_DEFAULT 2 /* Set font to default, data points to name / NULL */
++# define KD_FONT_OP_COPY 3 /* Copy from another console */
++# define KD_FONT_FLAG_OLD 0x80000000 /* Invoked via old interface */
++# define KD_FONT_FLAG_DONT_RECALC 1 /* Don't call adjust_height() */
+ /* (Used internally for PIO_FONT support) */
+ #endif /* KDFONTOP */
+
+
+ enum {
+- PSF_MAGIC1 = 0x36,
+- PSF_MAGIC2 = 0x04,
+-
+- PSF_MODE512 = 0x01,
+- PSF_MODEHASTAB = 0x02,
+- PSF_MAXMODE = 0x03,
+- PSF_SEPARATOR = 0xffff
++ PSF1_MAGIC0 = 0x36,
++ PSF1_MAGIC1 = 0x04,
++ PSF1_MODE512 = 0x01,
++ PSF1_MODEHASTAB = 0x02,
++ PSF1_MODEHASSEQ = 0x04,
++ PSF1_MAXMODE = 0x05,
++ PSF1_STARTSEQ = 0xfffe,
++ PSF1_SEPARATOR = 0xffff,
+ };
+
+-struct psf_header {
+- unsigned char magic1, magic2; /* Magic number */
++struct psf1_header {
++ unsigned char magic[2]; /* Magic number */
+ unsigned char mode; /* PSF font mode */
+ unsigned char charsize; /* Character size */
+ };
+
+-#define PSF_MAGIC_OK(x) ((x)->magic1 == PSF_MAGIC1 && (x)->magic2 == PSF_MAGIC2)
++#define psf1h(x) ((struct psf1_header*)(x))
++
++#define PSF1_MAGIC_OK(x) ( \
++ (x)->magic[0] == PSF1_MAGIC0 \
++ && (x)->magic[1] == PSF1_MAGIC1 \
++)
++
++#if ENABLE_FEATURE_LOADFONT_PSF2
++enum {
++ PSF2_MAGIC0 = 0x72,
++ PSF2_MAGIC1 = 0xb5,
++ PSF2_MAGIC2 = 0x4a,
++ PSF2_MAGIC3 = 0x86,
++ PSF2_HAS_UNICODE_TABLE = 0x01,
++ PSF2_MAXVERSION = 0,
++ PSF2_STARTSEQ = 0xfe,
++ PSF2_SEPARATOR = 0xff
++};
++
++struct psf2_header {
++ unsigned char magic[4];
++ unsigned int version;
++ unsigned int headersize; /* offset of bitmaps in file */
++ unsigned int flags;
++ unsigned int length; /* number of glyphs */
++ unsigned int charsize; /* number of bytes for each character */
++ unsigned int height; /* max dimensions of glyphs */
++ unsigned int width; /* charsize = height * ((width + 7) / 8) */
++};
++
++#define psf2h(x) ((struct psf2_header*)(x))
++
++#define PSF2_MAGIC_OK(x) ( \
++ (x)->magic[0] == PSF2_MAGIC0 \
++ && (x)->magic[1] == PSF2_MAGIC1 \
++ && (x)->magic[2] == PSF2_MAGIC2 \
++ && (x)->magic[3] == PSF2_MAGIC3 \
++)
++#endif /* ENABLE_FEATURE_LOADFONT_PSF2 */
+
+-static void do_loadfont(int fd, unsigned char *inbuf, int unit, int fontsize)
++
++static void do_loadfont(int fd, unsigned char *inbuf, int height, int width, int charsize, int fontsize)
+ {
+- char *buf;
++ unsigned char *buf;
++ int charwidth = 32 * ((width+7)/8);
+ int i;
+
+- if (unit < 1 || unit > 32)
+- bb_error_msg_and_die("bad character size %d", unit);
++ if (height < 1 || height > 32 || width < 1 || width > 32)
++ bb_error_msg_and_die("bad character size %dx%d", height, width);
+
+- buf = xzalloc(16 * 1024);
++ buf = xzalloc(charwidth * ((fontsize < 128) ? 128 : fontsize));
+ for (i = 0; i < fontsize; i++)
+- memcpy(buf + (32 * i), inbuf + (unit * i), unit);
++ memcpy(buf + (i*charwidth), inbuf + (i*charsize), charsize);
+
+ { /* KDFONTOP */
+ struct console_font_op cfo;
+-
+ cfo.op = KD_FONT_OP_SET;
+ cfo.flags = 0;
+- cfo.width = 8;
+- cfo.height = unit;
++ cfo.width = width;
++ cfo.height = height;
+ cfo.charcount = fontsize;
+- cfo.data = (void*)buf;
+-#if 0
+- if (!ioctl_or_perror(fd, KDFONTOP, &cfo, "KDFONTOP ioctl failed (will try PIO_FONTX)"))
+- goto ret; /* success */
+-#else
++ cfo.data = buf;
+ xioctl(fd, KDFONTOP, &cfo);
+-#endif
+ }
+
+-#if 0
+-/* These ones do not honour -C tty (they set font on current tty regardless)
+- * On x86, this distinction is visible on framebuffer consoles
+- * (regular character consoles may have only one shared font anyway)
+- */
+-#if defined(PIO_FONTX) && !defined(__sparc__)
+- {
+- struct consolefontdesc cfd;
+-
+- cfd.charcount = fontsize;
+- cfd.charheight = unit;
+- cfd.chardata = buf;
+-
+- if (!ioctl_or_perror(fd, PIO_FONTX, &cfd, "PIO_FONTX ioctl failed (will try PIO_FONT)"))
+- goto ret; /* success */
+- }
+-#endif
+- xioctl(fd, PIO_FONT, buf);
+- ret:
+-#endif /* 0 */
+ free(buf);
+ }
+
+-static void do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize)
++/*
++ * Format of the Unicode information:
++ *
++ * For each font position <uc>*<seq>*<term>
++ * where <uc> is a 2-byte little endian Unicode value (PSF1)
++ * or an UTF-8 coded value (PSF2),
++ * <seq> = <ss><uc><uc>*, <ss> = psf1 ? 0xFFFE : 0xFE,
++ * <term> = psf1 ? 0xFFFF : 0xFF.
++ * and * denotes zero or more occurrences of the preceding item.
++ *
++ * Semantics:
++ * The leading <uc>* part gives Unicode symbols that are all
++ * represented by this font position. The following sequences
++ * are sequences of Unicode symbols - probably a symbol
++ * together with combining accents - also represented by
++ * this font position.
++ *
++ * Example:
++ * At the font position for a capital A-ring glyph, we
++ * may have:
++ * 00C5,212B,FFFE,0041,030A,FFFF
++ * Some font positions may be described by sequences only,
++ * namely when there is no precomposed Unicode value for the glyph.
++ */
++#if !ENABLE_FEATURE_LOADFONT_PSF2
++#define do_loadtable(fd, inbuf, tailsz, fontsize, psf2) \
++ do_loadtable(fd, inbuf, tailsz, fontsize)
++#endif
++static void do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize, int psf2)
+ {
++#if !ENABLE_FEATURE_LOADFONT_PSF2
++/* gcc 4.3.1 code size: */
++# define psf2 0 /* +0 bytes */
++// const int psf2 = 0; /* +8 bytes */
++// enum { psf2 = 0 }; /* +13 bytes */
++#endif
+ struct unimapinit advice;
+ struct unimapdesc ud;
+ struct unipair *up;
+@@ -114,15 +160,48 @@ static void do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize)
+ uint16_t unicode;
+
+ maxct = tailsz; /* more than enough */
+- up = xmalloc(maxct * sizeof(struct unipair));
++ up = xmalloc(maxct * sizeof(*up));
+
+ for (glyph = 0; glyph < fontsize; glyph++) {
+- while (tailsz >= 2) {
+- unicode = (((uint16_t) inbuf[1]) << 8) + inbuf[0];
+- tailsz -= 2;
+- inbuf += 2;
+- if (unicode == PSF_SEPARATOR)
+- break;
++ while (tailsz > 0) {
++ if (!psf2) { /* PSF1 */
++ unicode = (((uint16_t) inbuf[1]) << 8) + inbuf[0];
++ tailsz -= 2;
++ inbuf += 2;
++ if (unicode == PSF1_SEPARATOR)
++ break;
++ } else { /* PSF2 */
++#if ENABLE_FEATURE_LOADFONT_PSF2
++ --tailsz;
++ unicode = *inbuf++;
++ if (unicode == PSF2_SEPARATOR) {
++ break;
++ } else if (unicode == PSF2_STARTSEQ) {
++ bb_error_msg_and_die("unicode sequences not implemented");
++ } else if (unicode >= 0xC0) {
++ if (unicode >= 0xFC)
++ unicode &= 0x01, maxct = 5;
++ else if (unicode >= 0xF8)
++ unicode &= 0x03, maxct = 4;
++ else if (unicode >= 0xF0)
++ unicode &= 0x07, maxct = 3;
++ else if (unicode >= 0xE0)
++ unicode &= 0x0F, maxct = 2;
++ else
++ unicode &= 0x1F, maxct = 1;
++ do {
++ if (tailsz <= 0 || *inbuf < 0x80 || *inbuf > 0xBF)
++ bb_error_msg_and_die("illegal UTF-8 character");
++ --tailsz;
++ unicode = (unicode << 6) + (*inbuf++ & 0x3F);
++ } while (--maxct > 0);
++ } else if (unicode >= 0x80) {
++ bb_error_msg_and_die("illegal UTF-8 character");
++ }
++#else
++ return;
++#endif
++ }
+ up[ct].unicode = unicode;
+ up[ct].fontpos = glyph;
+ ct++;
+@@ -139,58 +218,78 @@ static void do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize)
+ ud.entry_ct = ct;
+ ud.entries = up;
+ xioctl(fd, PIO_UNIMAP, &ud);
++#undef psf2
+ }
+
+-static void do_load(int fd, struct psf_header *psfhdr, size_t len)
++static void do_load(int fd, unsigned char *buffer, size_t len)
+ {
+- int unit;
+- int fontsize;
+- int hastable;
+- unsigned head0, head = head;
+-
+- /* test for psf first */
+- if (len >= sizeof(struct psf_header) && PSF_MAGIC_OK(psfhdr)) {
+- if (psfhdr->mode > PSF_MAXMODE)
++ int height;
++ int width = 8;
++ int charsize;
++ int fontsize = 256;
++ int has_table = 0;
++ unsigned char *font = buffer;
++ unsigned char *table;
++
++ if (len >= sizeof(struct psf1_header) && PSF1_MAGIC_OK(psf1h(buffer))) {
++ if (psf1h(buffer)->mode > PSF1_MAXMODE)
+ bb_error_msg_and_die("unsupported psf file mode");
+- fontsize = ((psfhdr->mode & PSF_MODE512) ? 512 : 256);
+-#if !defined(PIO_FONTX) || defined(__sparc__)
+- if (fontsize != 256)
+- bb_error_msg_and_die("only fontsize 256 supported");
++ if (psf1h(buffer)->mode & PSF1_MODE512)
++ fontsize = 512;
++ if (psf1h(buffer)->mode & PSF1_MODEHASTAB)
++ has_table = 1;
++ height = charsize = psf1h(buffer)->charsize;
++ font += sizeof(struct psf1_header);
++ } else
++#if ENABLE_FEATURE_LOADFONT_PSF2
++ if (len >= sizeof(struct psf2_header) && PSF2_MAGIC_OK(psf2h(buffer))) {
++ if (psf2h(buffer)->version > PSF2_MAXVERSION)
++ bb_error_msg_and_die("unsupported psf file version");
++ fontsize = psf2h(buffer)->length;
++ if (psf2h(buffer)->flags & PSF2_HAS_UNICODE_TABLE)
++ has_table = 2;
++ charsize = psf2h(buffer)->charsize;
++ height = psf2h(buffer)->height;
++ width = psf2h(buffer)->width;
++ font += psf2h(buffer)->headersize;
++ } else
+ #endif
+- hastable = (psfhdr->mode & PSF_MODEHASTAB);
+- unit = psfhdr->charsize;
+- head0 = sizeof(struct psf_header);
+-
+- head = head0 + fontsize * unit;
+- if (head > len || (!hastable && head != len))
+- bb_error_msg_and_die("input file: bad length");
+- } else {
+- /* file with three code pages? */
+- if (len == 9780) {
+- head0 = 40;
+- unit = 16;
+- } else {
+- /* bare font */
+- if (len & 0377)
+- bb_error_msg_and_die("input file: bad length");
+- head0 = 0;
+- unit = len / 256;
+- }
+- fontsize = 256;
+- hastable = 0;
++#if ENABLE_FEATURE_LOADFONT_RAW
++ if (len == 9780) { /* file with three code pages? */
++ charsize = height = 16;
++ font += 40;
++ } else if ((len & 0377) == 0) { /* bare font */
++ charsize = height = len / 256;
++ } else
++#endif
++ {
++ bb_error_msg_and_die("input file: bad length or unsupported font type");
+ }
+
+- do_loadfont(fd, (unsigned char *)psfhdr + head0, unit, fontsize);
+- if (hastable)
+- do_loadtable(fd, (unsigned char *)psfhdr + head, len - head, fontsize);
++#if !defined(PIO_FONTX) || defined(__sparc__)
++ if (fontsize != 256)
++ bb_error_msg_and_die("only fontsize 256 supported");
++#endif
++
++ table = font + fontsize * charsize;
++ buffer += len;
++
++ if (table > buffer || (!has_table && table != buffer))
++ bb_error_msg_and_die("input file: bad length");
++
++ do_loadfont(fd, font, height, width, charsize, fontsize);
++
++ if (has_table)
++ do_loadtable(fd, table, buffer - table, fontsize, has_table - 1);
+ }
+
++
+ #if ENABLE_LOADFONT
+ int loadfont_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int loadfont_main(int argc UNUSED_PARAM, char **argv)
+ {
+ size_t len;
+- struct psf_header *psfhdr;
++ unsigned char *buffer;
+
+ // no arguments allowed!
+ opt_complementary = "=0";
+@@ -202,11 +301,11 @@ int loadfont_main(int argc UNUSED_PARAM, char **argv)
+ * just read the entire file.
+ */
+ len = 32*1024; // can't be larger
+- psfhdr = xmalloc_read(STDIN_FILENO, &len);
++ buffer = xmalloc_read(STDIN_FILENO, &len);
+ // xmalloc_open_zipped_read_close(filename, &len);
+- if (!psfhdr)
++ if (!buffer)
+ bb_perror_msg_and_die("error reading input font");
+- do_load(get_console_fd_or_die(), psfhdr, len);
++ do_load(get_console_fd_or_die(), buffer, len);
+
+ return EXIT_SUCCESS;
+ }
+@@ -269,7 +368,7 @@ int setfont_main(int argc UNUSED_PARAM, char **argv)
+ size_t len;
+ unsigned opts;
+ int fd;
+- struct psf_header *psfhdr;
++ unsigned char *buffer;
+ char *mapfilename;
+ const char *tty_name = CURRENT_TTY;
+
+@@ -287,10 +386,10 @@ int setfont_main(int argc UNUSED_PARAM, char **argv)
+ }
+ // load font
+ len = 32*1024; // can't be larger
+- psfhdr = xmalloc_open_zipped_read_close(*argv, &len);
+- if (!psfhdr)
++ buffer = xmalloc_open_zipped_read_close(*argv, &len);
++ if (!buffer)
+ bb_simple_perror_msg_and_die(*argv);
+- do_load(fd, psfhdr, len);
++ do_load(fd, buffer, len);
+
+ // load the screen map, if any
+ if (opts & 1) { // -m
+--
+cgit v0.8.2.1
diff --git a/abs/core/mkinitcpio/PKGBUILD b/abs/core/mkinitcpio/PKGBUILD
index 6ba0f0f..9a87e42 100644
--- a/abs/core/mkinitcpio/PKGBUILD
+++ b/abs/core/mkinitcpio/PKGBUILD
@@ -1,31 +1,30 @@
-# $Id: PKGBUILD 24393 2009-01-15 23:25:29Z thomas $
+# $Id: PKGBUILD 85253 2010-07-11 10:05:21Z thomas $
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=mkinitcpio
-pkgver=0.5.21
-pkgrel=34
-pkgdesc="Advanced, modular initramfs image creation utility"
-arch=(i686 x86_64)
+pkgver=0.6.7
+pkgrel=1
+pkgdesc="Modular initramfs image creation utility"
+arch=(any)
url="http://www.archlinux.org/"
license=('GPL')
-groups=('base')
-depends=('klibc>=1.5.14-2' 'klibc-extras>=2.5' 'klibc-udev>=130'
- 'gen-init-cpio' 'klibc-module-init-tools' 'coreutils'
- 'bash' 'klibc-kbd' 'findutils' 'sed' 'grep'
- 'filesystem>=2009.01' 'udev' 'gzip' 'fbsplash')
-source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2 mkinitcpio.conf.diff)
+depends=('mkinitcpio-busybox>=1.16.1-2' 'module-init-tools' 'util-linux-ng>=2.17' 'gen-init-cpio' 'coreutils'
+ 'bash' 'findutils' 'sed' 'grep' 'filesystem>=2009.01-2' 'udev>=150' 'file' 'gzip'
+ 'which')
+optdepends=('xz: Use lzma compression for the initramfs image'
+ 'bzip2: Use bzip2 compression for the initramfs image'
+ 'mkinitcpio-nfs-utils: Support for root filesystem on NFS')
+replaces=('mkinitrd' 'mkinitramfs' 'klibc' 'klibc-extras' 'klibc-kbd'
+ 'klibc-module-init-tools' 'klibc-udev')
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz mkinitcpio.conf.diff)
backup=(etc/mkinitcpio.conf)
-replaces=('mkinitrd' 'mkinitramfs')
-md5sums=('d6673e8966d7c1f224c767d79434ed6b'
- '288d1555e8499cd791b693945ba9b3b1')
-build()
-{
- cd $startdir/src/${pkgname}-${pkgver}
+package() {
+ cd $srcdir/${pkgname}-${pkgver}
patch -p0 < ../mkinitcpio.conf.diff
- ./install.sh $startdir/pkg
- mkdir -p $pkgdir/usr/share
- mv $pkgdir/usr/man $pkgdir/usr/share
+ make DESTDIR="${pkgdir}" install
}
+sha256sums=('8d34bfa9c8018f02ee938ac68285e3aa16a1ad84ddc0433998e2d43a428cdcbd'
+ '1cc748bb291513e8202ad05f638def4ce9e48bf7d509061ba9c1f9ede3920454')
diff --git a/abs/core/mkinitcpio/mkinitcpio.conf.diff b/abs/core/mkinitcpio/mkinitcpio.conf.diff
index 1beff54..13f896b 100644
--- a/abs/core/mkinitcpio/mkinitcpio.conf.diff
+++ b/abs/core/mkinitcpio/mkinitcpio.conf.diff
@@ -1,8 +1,11 @@
---- mkinitcpio.conf.orig 2009-02-11 21:59:50.000000000 +0000
-+++ mkinitcpio.conf 2009-02-11 22:00:10.000000000 +0000
-@@ -55,4 +55,4 @@
+--- mkinitcpio.conf.orig 2010-08-15 23:10:21.000000000 +0000
++++ mkinitcpio.conf 2010-08-15 23:10:44.000000000 +0000
+@@ -54,7 +54,7 @@
#
# This setup loads an lvm2 volume group on a usb device.
# HOOKS="base udev usb lvm2 filesystems"
-HOOKS="base udev autodetect pata scsi sata filesystems"
+HOOKS="base udev autodetect pata scsi sata filesystems fbsplash"
+
+ # COMPRESSION
+ # Use this to compress the initramfs image. With kernels earlier than
diff --git a/abs/core/module-init-tools/PKGBUILD b/abs/core/module-init-tools/PKGBUILD
index b4260d1..a59ee80 100644
--- a/abs/core/module-init-tools/PKGBUILD
+++ b/abs/core/module-init-tools/PKGBUILD
@@ -1,33 +1,39 @@
-# $Id: PKGBUILD 5982 2008-07-22 12:44:28Z thomas $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 85722 2010-07-18 10:36:50Z allan $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
pkgname=module-init-tools
-pkgver=3.4
-pkgrel=10
-pkgdesc="Utilities for inserting and removing modules from the Linux kernel"
-arch=(i686 x86_64)
-url="http://www.kernel.org"
+pkgver=3.12
+pkgrel=1
+pkgdesc="utilities needed by Linux systems for managing loadable kernel modules"
+arch=('i686' 'x86_64')
+url="http://kerneltools.org"
license=('GPL')
-groups=('base')
depends=('glibc')
-backup=('etc/modprobe.conf')
+backup=('etc/modprobe.d/modprobe.conf')
source=(http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-$pkgver.tar.bz2
- ftp://sunsite.informatik.rwth-aachen.de/pub/linux/gentoo/distfiles/module-init-tools-$pkgver-manpages.tar.bz2
- makefile.patch
- modprobe.conf
- fix-modprobe-ignore-path.patch)
-md5sums=('db6ac059e80e8dd4389dbe81ee61f3c6'
- '006678277788b5a0402b171f4a235cd6'
- '47e14fda7a46668290d11d0444d81826'
- '6db59d41e04941a790f80c1a4432faef'
- '335c3f8317f257ddd70b09271b4360bd')
+ modprobe.conf)
+md5sums=('8b2257ce9abef74c4a44d825d23140f3'
+ '316f1bda4c21af02b30252eb014a0a55')
build() {
- cd $startdir/src/$pkgname-$pkgver
- patch -Np1 -i ../makefile.patch
- patch -Np0 -i ../fix-modprobe-ignore-path.patch || return 1
- sed -i 's|/usr/bin/install|/bin/install|g' install-with-care
+ cd $srcdir/$pkgname-$pkgver
+
+ # do not regenerate man pages
+ touch *.{5,8}
+
./configure --prefix=/usr --exec-prefix=/
- make || return 1
- INSTALL=/bin/install make DESTDIR=$startdir/pkg install || return 1
- install -D -m644 ../modprobe.conf $startdir/pkg/etc/modprobe.conf
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+
+ # Install our custom (read: empty) modprobe.conf
+ install -Dm644 $srcdir/modprobe.conf $pkgdir/etc/modprobe.d/modprobe.conf
+
+ # fix man page (FS#17559)
+ sed -i "s#mod#man5/mod#" $pkgdir/usr/share/man/man5/modprobe.d.5
}
diff --git a/abs/core/module-init-tools/modprobe.conf b/abs/core/module-init-tools/modprobe.conf
index d2fc24b..83865a3 100644
--- a/abs/core/module-init-tools/modprobe.conf
+++ b/abs/core/module-init-tools/modprobe.conf
@@ -1,3 +1,3 @@
#
-# /etc/modprobe.conf (for v2.6 kernels)
+# /etc/modprobe.d/modprobe.conf (for v2.6 kernels)
#
diff --git a/abs/core/mpfr/PKGBUILD b/abs/core/mpfr/PKGBUILD
index ac2ab77..e53757b 100644
--- a/abs/core/mpfr/PKGBUILD
+++ b/abs/core/mpfr/PKGBUILD
@@ -1,26 +1,29 @@
-# $Id: PKGBUILD 12992 2008-09-25 17:47:29Z jgc $
+# $Id: PKGBUILD 82426 2010-06-11 05:51:29Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: damir <damir@archlinux.org>
pkgname=mpfr
-pkgver=2.3.2
-pkgrel=2
-pkgdesc="multiple-precision floating-point library"
-arch=(i686 x86_64)
-license=('GPL' 'LGPL')
+pkgver=3.0.0
+pkgrel=1
+pkgdesc="Multiple-precision floating-point library"
+arch=('i686' 'x86_64')
+license=('LGPL')
url="http://www.mpfr.org/"
-depends=('gmp>=4.2.3' 'texinfo')
+depends=('gmp>=5.0')
options=('!libtool')
install=mpfr.install
-#source=(http://www.mpfr.org/mpfr-current/mpfr-${pkgver}.tar.gz)
+source=(http://www.mpfr.org/mpfr-current/mpfr-${pkgver}.tar.xz)
+md5sums=('8ab3bef2864b8c6e6a291f5603141bbd')
-source=(http://modular.math.washington.edu/home/novocin/tars/mpfr-2.3.2.tar.gz)
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --enable-thread-safe --enable-shared || return 1
make || return 1
+ make check || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install || return 1
- cd "${pkgdir}/usr/share/info" || return 1
- rm -f dir
- gzip * || return 1
}
diff --git a/abs/core/mpfr/mpfr.install b/abs/core/mpfr/mpfr.install
index a95dec6..46ef244 100644
--- a/abs/core/mpfr/mpfr.install
+++ b/abs/core/mpfr/mpfr.install
@@ -2,6 +2,7 @@ info_dir=/usr/share/info
info_files=(mpfr.info)
post_install() {
+ [ -x usr/bin/install-info ] || return 0
for f in ${info_files[@]}; do
install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
done
@@ -12,6 +13,7 @@ post_upgrade() {
}
pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for f in ${info_files[@]}; do
install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
done
diff --git a/abs/core/mysql-clients/PKGBUILD b/abs/core/mysql-clients/PKGBUILD
deleted file mode 100644
index 483e6e5..0000000
--- a/abs/core/mysql-clients/PKGBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# $Id: PKGBUILD 23698 2009-01-11 16:10:09Z douglas $
-# Maintainer: judd <jvinet@zeroflux.org>
-
-pkgname=mysql-clients
-pkgver=5.0.75
-pkgrel=2
-pkgdesc="MySQL client tools"
-arch=(i686 x86_64)
-depends=("libmysqlclient>=${pkgver}" 'gcc-libs' 'readline')
-makedepends=('tcp_wrappers' 'libtool' 'gcc')
-url=('http://www.mysql.com/')
-options=('!libtool')
-license=('GPL')
-source=(http://mirror.provenscaling.com/mysql/enterprise/source/5.0/mysql-${pkgver}.tar.gz)
-
-build() {
- cd $startdir/src/mysql-${pkgver}
- ./configure --prefix=/usr --libexecdir=/usr/sbin \
- --localstatedir=/var --sysconfdir=/etc \
- --without-debug --without-docs --without-bench --without-readline \
- --with-innodb --enable-local-infile --with-openssl \
- --with-charset=latin1 --with-collation=latin1_general_ci \
- --with-extra-charsets=complex --enable-thread-safe-client \
- --with-libwrap --with-berkeley-db --disable-server
-
- for dir in include strings regex mysys dbug extra; do
- pushd ${dir} || return 1
- make || return 1
- popd
- done
- cd client
- sed -i -e 's|\$(top_builddir)/libmysql/libmysqlclient.la|/usr/lib/mysql/libmysqlclient.so|g' Makefile
- make link_sources
- make || return 1
- make DESTDIR=${startdir}/pkg install
-}
-md5sums=('a234f0a60a7f8c290d9875cba3a2c5a2')
diff --git a/abs/core/mysql-python/PKGBUILD b/abs/core/mysql-python/PKGBUILD
index 1e3dea0..a2c8606 100644
--- a/abs/core/mysql-python/PKGBUILD
+++ b/abs/core/mysql-python/PKGBUILD
@@ -1,20 +1,19 @@
-# $Id: PKGBUILD 16696 2008-10-22 02:26:55Z allan $
-# Maintainer: damir <damir@archlinux.org>
+# $Id: PKGBUILD 59043 2009-11-19 16:20:45Z andrea $
+# Contributor: damir <damir@archlinux.org>
pkgname=mysql-python
-pkgver=1.2.2
+pkgver=1.2.3c1
pkgrel=2
pkgdesc="MySQL support for Python"
arch=("i686" "x86_64")
url="http://sourceforge.net/projects/mysql-python"
license=('GPL2')
-depends=('python>=2.6' 'libmysqlclient')
-makedepends=('mysql>=5.0.23' 'setuptools')
-source=("http://downloads.sourceforge.net/sourceforge/mysql-python/MySQL-python-${pkgver}.tar.gz")
-md5sums=('532268f02870bea18c1d465e88afff30')
-
+depends=('python>=2.6' 'libmysqlclient>=5.1.41-2')
+makedepends=('mysql>=5.1.41-2' 'setuptools')
+source=("http://downloads.sourceforge.net/${pkgname}/MySQL-python-${pkgver}.tar.gz")
+md5sums=('310dd856e439d070b59ece6dd7a0734d')
build() {
- cd ${startdir}/src/MySQL-python-${pkgver}
- yes | python setup.py install --root=${startdir}/pkg
+ cd ${srcdir}/MySQL-python-${pkgver}
+ python setup.py install --root=${pkgdir} || return 1
}
diff --git a/abs/core/mysql/PKGBUILD b/abs/core/mysql/PKGBUILD
index c91ac41..ed65173 100644
--- a/abs/core/mysql/PKGBUILD
+++ b/abs/core/mysql/PKGBUILD
@@ -1,56 +1,109 @@
-# $Id: PKGBUILD 23595 2009-01-11 13:14:19Z douglas $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# $Id: PKGBUILD 88432 2010-08-23 17:32:08Z pierre $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
-pkgname=mysql
-pkgver=5.0.75
-pkgrel=4
-pkgdesc="A fast SQL database server"
-arch=(i686 x86_64)
-backup=(etc/my.cnf etc/conf.d/mysqld)
-depends=("mysql-clients>=${pkgver}" 'tcp_wrappers')
-makedepends=('libtool')
-url=('http://www.mysql.com/')
-options=('!libtool')
-optdepends=('perl-dbi' 'perl-dbd-mysql')
+
+pkgbase=mysql
+pkgname=('libmysqlclient' 'mysql-clients' 'mysql')
+pkgver=5.1.50
+pkgrel=1
+arch=('i686' 'x86_64')
license=('GPL')
-source=(ftp://ftp.pucpr.br/mysql/Downloads/MySQL-5.0/mysql-${pkgver}.tar.gz
- mysql-no-clients.patch
- mysqld
- my.cnf
- mysqld.conf.d)
+url="http://www.mysql.com/"
+makedepends=('tcp_wrappers' 'zlib' 'perl' 'openssl' 'libtool' 'patch')
+options=('!libtool')
+source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.1/${pkgbase}-${pkgver}.tar.gz"
+ 'mysqld'
+ 'my.cnf'
+ 'skip-abi-check.patch')
build() {
- # PIC
- cd ${startdir}/src/${pkgname}-${pkgver}
- patch -Np1 -i ${startdir}/src/mysql-no-clients.patch || return 1
- ./configure --prefix=/usr --libexecdir=/usr/sbin \
- --without-debug --without-docs --without-bench --without-readline \
- --with-innodb --enable-local-infile --with-openssl \
- --with-charset=latin1 --with-collation=latin1_general_ci \
- --with-extra-charsets=complex --enable-thread-safe-client \
- --with-libwrap --with-berkeley-db --with-embedded-server
-
- # fixes
- sed -i -e 's/^.*HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE.*$/#define\ HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE/g' include/config.h || return 1
- sed -i -e 's/size_socket/socklen_t/g' sql/mysqld.cc || return 1
-
- pushd include || return
- make || return 1
- popd
- pushd libmysql
- make link_sources get_password.lo || return
- popd
- make || return 1
- make DESTDIR=${startdir}/pkg install
- rm -rf ${startdir}/pkg/usr/{mysql-test,sql-bench}
- install -D -m644 ../my.cnf ${startdir}/pkg/etc/my.cnf
- install -D -m755 ../mysqld ${startdir}/pkg/etc/rc.d/mysqld
- install -D -m644 ../mysqld.conf.d ${startdir}/pkg/etc/conf.d/mysqld
- rm -f ${startdir}/pkg/usr/bin/mysql_config
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ patch -Np0 -i "${srcdir}/skip-abi-check.patch"
+ # CFLAGS/CXXFLAGS as suggested upstream
+ CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
+ CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \
+ ./configure --prefix=/usr \
+ --libexecdir=/usr/sbin \
+ --localstatedir=/var \
+ --sysconfdir=/etc/mysql \
+ --without-docs \
+ --without-readline \
+ --with-ssl \
+ --with-libwrap \
+ --with-charset=utf8 \
+ --with-collation=utf8_general_ci \
+ --with-extra-charsets=complex \
+ --with-embedded-server \
+ --with-unix-socket-path=/var/run/mysqld/mysqld.sock \
+ --enable-local-infile \
+ --with-plugins=partition,ftexample,archive,blackhole,federated,heap,innobase,innodb_plugin,ndbcluster
+ make
+}
+
+package_libmysqlclient(){
+ pkgdesc="MySQL client libraries"
+ depends=('openssl' 'zlib' 'gcc-libs' 'tcp_wrappers')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ for dir in include libmysql libmysql_r libmysqld; do
+ make -C ${dir} DESTDIR="${pkgdir}" install
+ done
+ install -m644 include/*.h "${pkgdir}/usr/include/mysql/"
+
+ install -d "${pkgdir}/usr/bin"
+ install -m755 scripts/mysql_config "${pkgdir}/usr/bin/"
+
+ # create library symlinks in /usr/lib
+ ln -sf mysql/libmysqlclient.so.16 ${pkgdir}/usr/lib/libmysqlclient.so.16
+ ln -sf libmysqlclient.so.16 ${pkgdir}/usr/lib/libmysqlclient.so
+ ln -sf libmysqlclient.so.16 ${pkgdir}/usr/lib/libmysqlclient.so.1
+ ln -sf mysql/libmysqlclient_r.so.16 ${pkgdir}/usr/lib/libmysqlclient_r.so.16
+ ln -sf libmysqlclient_r.so.16 ${pkgdir}/usr/lib/libmysqlclient_r.so
+ ln -sf libmysqlclient_r.so.16 ${pkgdir}/usr/lib/libmysqlclient_r.so.1
}
-md5sums=('a234f0a60a7f8c290d9875cba3a2c5a2'
- 'e892aac36cbeb57f0e003ec0936afb3b'
- 'cfff3585dd70cde3ac1ce69e64008733'
- '078f6e824d6097d558bcf7c16d508d92'
- 'd81d1f51e9ee6941425a63456d07cb21')
+package_mysql-clients(){
+ pkgdesc="MySQL client tools"
+ depends=('libmysqlclient')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/client"
+ make DESTDIR="${pkgdir}" install
+
+ # provided by libmysqlclient
+ rm -rf "${pkgdir}/usr/lib/"
+
+ # provided by mysql
+ rm -f "${pkgdir}"/usr/bin/{mysql_upgrade,mysqlbinlog,mysqltest}
+}
+
+package_mysql(){
+ pkgdesc="A fast SQL database server"
+ backup=('etc/my.cnf' 'etc/mysql/my.cnf')
+ install=mysql.install
+ depends=('mysql-clients')
+ optdepends=('perl-dbi' 'perl-dbd-mysql')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR=${pkgdir} install
+
+ install -Dm644 ${srcdir}/my.cnf ${pkgdir}/etc/mysql/my.cnf
+ install -Dm755 ${srcdir}/mysqld ${pkgdir}/etc/rc.d/mysqld
+
+ # provided by libmysqlclient
+ rm -f ${pkgdir}/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
+ rm -f ${pkgdir}/usr/lib/mysql/libmysqlclient*
+ rm -f ${pkgdir}/usr/lib/mysql/libmysqld.a
+ rm -f ${pkgdir}/usr/include/mysql/*.h
+
+ # provided by mysql-clients
+ rm -f ${pkgdir}/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
+
+ # not needed
+ rm -rf ${pkgdir}/usr/{mysql-test,sql-bench}
+ rm -f ${pkgdir}/usr/lib/mysql/plugin/*.a
+}
+md5sums=('23bac4a0aafd683b077dac146ce2701f'
+ '2234207625baa29b2ff7d7b4f088abce'
+ '175b269b665019689d786f5af0968046'
+ 'a97e574945e19de3908575b956241026')
diff --git a/abs/core/mysql/__changelog b/abs/core/mysql/__changelog
index aa066aa..3362584 100644
--- a/abs/core/mysql/__changelog
+++ b/abs/core/mysql/__changelog
@@ -1,13 +1,2 @@
-my.cnf
--enable networking
--datadir /data/srv/mysql
--query_cache_size
--tmp_table_size
--max_heap_table_size
--thread_cache_size
--table_cache
-
-mysqld
- -redirect output to /dev/null
- --skip-name-resolve
- replace mkdir with mkdir -p
+using default arch pkgbuild
+my.cnf has data dir modified to use /data/srv
diff --git a/abs/core/mysql/my.cnf b/abs/core/mysql/my.cnf
index e13331e..4eaeaa0 100644
--- a/abs/core/mysql/my.cnf
+++ b/abs/core/mysql/my.cnf
@@ -1,4 +1,8 @@
-# mysql config file for LinHES.
+# mysql config file for medium systems.
+#
+# This is for a system with little memory (32M - 64M) where MySQL plays
+# a important part and systems up to 128M where MySQL is used together with
+# other programs (like a web server)
#
# One can in this file use all long options that the program supports.
# If you want to know which options a program support, run the program
@@ -8,27 +12,22 @@
[client]
#password = your_password
port = 3306
-socket = /tmp/mysql.sock
+socket = /var/run/mysqld/mysqld.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
-socket = /tmp/mysql.sock
+socket = /var/run/mysqld/mysqld.sock
datadir = /data/srv/mysql
-skip-locking
+skip-external-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 16K
myisam_sort_buffer_size = 8M
-query_cache_size = 8M
-tmp_table_size = 36M
-max_heap_table_size = 24M
-thread_cache_size = 4
-table_cache = 96
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
@@ -114,7 +113,6 @@ server-id = 1
#innodb_data_home_dir = /var/lib/mysql
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql
-#innodb_log_arch_dir = /var/lib/mysql
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
diff --git a/abs/core/mysql/mysql-no-clients.patch b/abs/core/mysql/mysql-no-clients.patch
deleted file mode 100644
index e1fb5e0..0000000
--- a/abs/core/mysql/mysql-no-clients.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff -ruN mysql-5.0.51.orig/Makefile.in mysql-5.0.51/Makefile.in
---- mysql-5.0.51.orig/Makefile.in 2007-12-07 12:59:21.000000000 +0000
-+++ mysql-5.0.51/Makefile.in 2007-12-07 13:03:21.000000000 +0000
-@@ -376,7 +376,7 @@
- SUBDIRS = . include @docs_dirs@ @zlib_dir@ @yassl_dir@ \
- @readline_topdir@ sql-common scripts \
- @thread_dirs@ pstack \
-- @sql_union_dirs@ @man_dirs@ tests \
-+ strings mysys dbug extra regex bdb innobase myisam myisammrg heap vio sql @man_dirs@ tests \
- netware @libmysqld_dirs@ \
- @bench_dirs@ support-files @tools_dirs@
-
-diff -ruN mysql-5.0.51.orig/include/Makefile.in mysql-5.0.51/include/Makefile.in
---- mysql-5.0.51.orig/include/Makefile.in 2007-12-07 12:59:20.000000000 +0000
-+++ mysql-5.0.51/include/Makefile.in 2007-12-07 13:00:12.000000000 +0000
-@@ -557,7 +557,6 @@
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
- install: $(BUILT_SOURCES)
-- $(MAKE) $(AM_MAKEFLAGS) install-am
- install-exec: install-exec-am
- install-data: install-data-am
- uninstall: uninstall-am
-diff -ruN mysql-5.0.51.orig/tests/Makefile.in mysql-5.0.51/tests/Makefile.in
---- mysql-5.0.51.orig/tests/Makefile.in 2007-12-07 12:59:20.000000000 +0000
-+++ mysql-5.0.51/tests/Makefile.in 2007-12-07 13:01:51.000000000 +0000
-@@ -96,7 +96,7 @@
- am_mysql_client_test_OBJECTS = mysql_client_test.$(OBJEXT) \
- my_memmem.$(OBJEXT)
- mysql_client_test_OBJECTS = $(am_mysql_client_test_OBJECTS)
--am__DEPENDENCIES_1 = $(top_builddir)/libmysql/libmysqlclient.la
-+am__DEPENDENCIES_1 = /usr/lib/mysql/libmysqlclient.so
- am__DEPENDENCIES_2 =
- mysql_client_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_2)
-@@ -106,7 +106,7 @@
- thread_test_SOURCES = thread_test.c
- thread_test_OBJECTS = thread_test.$(OBJEXT)
- thread_test_LDADD = $(LDADD)
--thread_test_DEPENDENCIES = $(top_builddir)/libmysql/libmysqlclient.la
-+thread_test_DEPENDENCIES = /usr/lib/mysql/libmysqlclient.so
- DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
- depcomp = $(SHELL) $(top_srcdir)/depcomp
- am__depfiles_maybe = depfiles
-@@ -405,7 +405,7 @@
- $(openssl_includes)
-
- LDADD = @CLIENT_EXTRA_LDFLAGS@ \
-- $(top_builddir)/libmysql/libmysqlclient.la
-+ /usr/lib/mysql/libmysqlclient.so
-
- mysql_client_test_LDADD = $(LDADD) $(CXXLDFLAGS)
- mysql_client_test_SOURCES = mysql_client_test.c\
-diff -ruN mysql-5.0.51.orig/tools/Makefile.in mysql-5.0.51/tools/Makefile.in
---- mysql-5.0.51.orig/tools/Makefile.in 2007-12-07 12:59:19.000000000 +0000
-+++ mysql-5.0.51/tools/Makefile.in 2007-12-07 13:02:32.000000000 +0000
-@@ -369,7 +369,7 @@
- $(openssl_includes)
-
- LDADD = @CLIENT_EXTRA_LDFLAGS@ \
-- $(top_builddir)/libmysql_r/libmysqlclient_r.la \
-+ /usr/lib/mysql/libmysqlclient_r.so \
- @openssl_libs@ @yassl_libs@ @ZLIB_LIBS@
-
- mysqltestmanager_SOURCES = mysqlmanager.c
diff --git a/abs/core/mysql/mysql.install b/abs/core/mysql/mysql.install
new file mode 100644
index 0000000..9e9011d
--- /dev/null
+++ b/abs/core/mysql/mysql.install
@@ -0,0 +1,20 @@
+post_install(){
+ groupadd -g 89 mysql &>/dev/null
+ useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
+ usr/bin/mysql_install_db --user=mysql
+ chown -R mysql:mysql var/lib/mysql &>/dev/null
+}
+
+post_upgrade(){
+ getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null
+ getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
+}
+
+post_remove(){
+ if getent passwd mysql >/dev/null 2>&1; then
+ userdel mysql
+ fi
+ if getent group mysql >/dev/null 2>&1; then
+ groupdel mysql
+ fi
+}
diff --git a/abs/core/mysql/mysqld b/abs/core/mysql/mysqld
index 5857df8..1ac88a7 100755
--- a/abs/core/mysql/mysqld
+++ b/abs/core/mysql/mysqld
@@ -1,48 +1,35 @@
#!/bin/bash
-MYSQLD_ROOT="/var/lib/mysql"
-# source application-specific settings
-[ -f /etc/conf.d/mysqld ] && . /etc/conf.d/mysqld
-
# general config
. /etc/rc.conf
. /etc/rc.d/functions
-PID=`pidof -o %PPID /usr/sbin/mysqld`
-if [ ! `egrep '^mysql:' /etc/group` ]; then
- stat_busy "Adding mysql group"
- groupadd -g 89 mysql
- stat_done
-fi
-if [ ! `egrep '^mysql:' /etc/passwd` ]; then
- stat_busy "Adding mysql user"
- useradd -u 89 -g mysql -d $MYSQLD_ROOT -s /bin/false mysql
- [ -d $MYSQLD_ROOT ] && chown -R mysql.mysql $MYSQLD_ROOT
- stat_done
-fi
-
-if [ ! -d $MYSQLD_ROOT ]; then
- mkdir -p $MYSQLD_ROOT
- /usr/bin/mysql_install_db --datadir=$MYSQLD_ROOT --user=mysql 2>/dev/null 1>/dev/null
- chown -R mysql.mysql $MYSQLD_ROOT
-fi
+getPID() {
+ echo $(pgrep -u mysql mysqld 2>/dev/null);
+}
case "$1" in
start)
- stat_busy "Starting MySQL"
- if [ -z "$PID" ]; then
- /usr/bin/mysqld_safe --skip-name-resolve --datadir=$MYSQLD_ROOT >/dev/null 2>/dev/null &
+ stat_busy "Starting MySQL Server"
+ [ ! -d /var/run/mysqld ] && install -d -g mysql -o mysql /var/run/mysqld &>/dev/null
+ if [ -z "$(getPID)" ]; then
+ /usr/bin/mysqld_safe --user=mysql &>/dev/null &
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
- sleep 1 # wait on children
- PID=`pidof -o %PPID /usr/sbin/mysqld`
- if [ -z "$PID" ]; then
+ timeo=30
+ while [ $timeo -gt 0 ]; do
+ response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break
+ echo "$response" | grep -q "mysqld is alive" && break
+ sleep 1
+ let timeo=${timeo}-1
+ done
+ if [ $timeo -eq 0 ]; then
stat_fail
exit 1
else
- echo $PID >/var/run/mysqld.pid
+ echo $(getPID) > /var/run/mysqld/mysqld.pid
add_daemon mysqld
stat_done
fi
@@ -54,16 +41,25 @@ case "$1" in
;;
stop)
- stat_busy "Stopping MySQL"
- if [ ! -z "$PID" ]; then
- kill $PID &> /dev/null
+ stat_busy "Stopping MySQL Server"
+ if [ ! -z "$(getPID)" ]; then
+ timeo=30
+ kill $(getPID) &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
exit 1
- else
- rm -f /var/run/mysqld.pid &>/dev/null
+ fi
+ while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do
+ sleep 1
+ let timeo=${timeo}-1
+ done
+ if [ -z "$(getPID)" ]; then
+ rm -f /var/run/mysqld/mysqld.pid &>/dev/null
rm_daemon mysqld
stat_done
+ else
+ stat_fail
+ exit 1
fi
else
stat_fail
@@ -73,10 +69,9 @@ case "$1" in
restart)
$0 stop
- sleep 3
$0 start
;;
*)
- echo "usage: $0 {start|stop|restart}"
+ echo "usage: $0 {start|stop|restart}"
esac
exit 0
diff --git a/abs/core/mysql/mysqld.conf.d b/abs/core/mysql/mysqld.conf.d
deleted file mode 100644
index 10b7098..0000000
--- a/abs/core/mysql/mysqld.conf.d
+++ /dev/null
@@ -1 +0,0 @@
-MYSQLD_ROOT="/data/srv/mysql"
diff --git a/abs/core/mysql/skip-abi-check.patch b/abs/core/mysql/skip-abi-check.patch
new file mode 100644
index 0000000..6791deb
--- /dev/null
+++ b/abs/core/mysql/skip-abi-check.patch
@@ -0,0 +1,13 @@
+--- Makefile.in.orig 2010-05-28 20:03:46.507224494 +0200
++++ Makefile.in 2010-05-28 20:04:05.737221909 +0200
+@@ -1126,10 +1126,8 @@
+ #
+
+ abi_check: $(API_PREPROCESSOR_HEADER)
+- $(MAKE) abi_headers="$^" do_abi_check
+
+ abi_check_all: $(TEST_PREPROCESSOR_HEADER)
+- $(MAKE) abi_headers="$^" do_abi_check
+
+ do_abi_check:
+ set -ex; \
diff --git a/abs/core/mythdb-initial/PKGBUILD b/abs/core/mythdb-initial/PKGBUILD
index 16a59e1..485e501 100755
--- a/abs/core/mythdb-initial/PKGBUILD
+++ b/abs/core/mythdb-initial/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythdb-initial
-pkgver=1
-pkgrel=54
+pkgver=2
+pkgrel=2
pkgdesc="setup the initial mythtv database for linhes"
url=""
license=""
@@ -21,3 +21,7 @@ build() {
cp custom.sql $startdir/pkg/data/database/custom.sql
cp dvd_transcode_r6.sql $startdir/pkg/data/database/dvd_transcode_r6.sql
}
+md5sums=('c6e44759313d455387ecfa6bfd17332a'
+ 'ad0e57ac5e7c3677808a670e16634bba'
+ 'dd44c6b14247c9ad09b80f3a1fb6c339'
+ 'd3108f4b98229ceec53aa8fb72639e9b')
diff --git a/abs/core/mythdb-initial/mythdb.install b/abs/core/mythdb-initial/mythdb.install
index a4dcb84..f5e45f6 100755
--- a/abs/core/mythdb-initial/mythdb.install
+++ b/abs/core/mythdb-initial/mythdb.install
@@ -13,9 +13,9 @@ post_install() {
cp /data/database/permissions.sql /data/database/permissions.sql.fixed
cp /data/database/custom.sql /data/database/custom.sql.fixed
else
- sed -e "s/larch5/$HOST/g" /data/database/mc.sql.initial > /data/database/mc.sql.fixed
- sed -e "s/larch5/$HOST/g" /data/database/permissions.sql > /data/database/permissions.sql.fixed
- sed -e "s/larch5/$HOST/g" /data/database/custom.sql > /data/database/custom.sql.fixed
+ sed -e "s/fireball/$HOST/g" /data/database/mc.sql.initial > /data/database/mc.sql.fixed
+ sed -e "s/fireball/$HOST/g" /data/database/permissions.sql > /data/database/permissions.sql.fixed
+ sed -e "s/fireball/$HOST/g" /data/database/custom.sql > /data/database/custom.sql.fixed
fi
diff --git a/abs/core/mythinstall/PKGBUILD b/abs/core/mythinstall/PKGBUILD
index c84c9de..e86e796 100644
--- a/abs/core/mythinstall/PKGBUILD
+++ b/abs/core/mythinstall/PKGBUILD
@@ -1,11 +1,11 @@
# Maintainer: Jams
pkgname=mythinstall
pkgver=2
-pkgrel=26
+pkgrel=49
pkgdesc="LinHES installer/systemconfig GUI."
arch=i686
depends=()
-makedepends=('mythtv>=0.22')
+makedepends=('mythtv>=0.23')
source=('install-ui.xml')
build() {
diff --git a/abs/core/mythinstall/checkout_MythVantage.sh b/abs/core/mythinstall/checkout_MythVantage.sh
index 58849bf..eea6727 100755
--- a/abs/core/mythinstall/checkout_MythVantage.sh
+++ b/abs/core/mythinstall/checkout_MythVantage.sh
@@ -1,6 +1,6 @@
#!/bin/bash
MYDIR=`pwd`
-MYTHPATH="\/data\/LinHES-PKGBUILD\/abs\/core-testing\/mythtv\/stable-0.22\/mythtv\/src\/mythtv"
+MYTHPATH="\/data\/LinHES-PKGBUILD\/abs\/core-testing\/mythtv\/stable-0.23\/mythtv\/src\/mythtv"
function setup_links {
rm mythinstall.bin
diff --git a/abs/core/mythtv/stable-0.23/mythtv/PKGBUILD b/abs/core/mythtv/stable-0.23/mythtv/PKGBUILD
index a3420b5..3854417 100755
--- a/abs/core/mythtv/stable-0.23/mythtv/PKGBUILD
+++ b/abs/core/mythtv/stable-0.23/mythtv/PKGBUILD
@@ -46,28 +46,34 @@ build() {
[ "$CARCH" = "x86_64" ] && ARCH="x86-64"
# clean up from last build
+ echo " simple configure to makesure the distclean works"
+ ./configure
make distclean
-
# configure
- ./configure --prefix=/usr --arch=${ARCH} \
+ #./configure --prefix=/usr --arch=${ARCH} \
+ echo "our configure"
+ ./configure --prefix=/usr \
--enable-vdpau --enable-xvmc --enable-xvmc-pro \
--enable-opengl-vsync --enable-libfaad --enable-dvb --enable-firewire \
--compile-type=release --with-bindings=perl,python \
- --enable-audio-alsa --disable-audio-jack --disable-audio-pulseoutput || return 1
-
+ --enable-audio-alsa --disable-audio-jack --disable-audio-pulseoutput
+ #--enable-audio-alsa --disable-audio-jack --disable-audio-pulseoutput || return 1
+ echo "post configure"
# build and install
- . /etc/profile
+ #. /etc/profile
+ echo "post profile"
make || return 1
+ echo "post make"
make INSTALL_ROOT=$startdir/pkg install || return 1
# install db schema, scripts and docs
install -m0644 database/mc.sql $startdir/pkg/usr/share/mythtv/ || return 1
install -D -m0755 ../mythbackend $startdir/pkg/etc/rc.d/mythbackend || return 1
# cp -r docs $startdir/pkg/usr/share/mythtv/ || return 1
- rsync -arp --exclude .svn --delete-excluded docs $startdir/pkg/usr/share/mythtv/ || return 1
+ rsync -arp --exclude .svn --delete-excluded docs $startdir/pkg/usr/share/mythtv/ || return 1
# install contrib
- rsync -arp --exclude .svn --delete-excluded contrib $startdir/pkg/usr/share/mythtv/ || return 1
+ rsync -arp --exclude .svn --delete-excluded contrib $startdir/pkg/usr/share/mythtv/ || return 1
#cp -r contrib $startdir/pkg/usr/share/mythtv/ || return 1
# patch the xml LinHES style
diff --git a/abs/core/mythtv/stable/glass-wide/PKGBUILD b/abs/core/mythtv/stable/glass-wide/PKGBUILD
deleted file mode 100644
index 2d0cb11..0000000
--- a/abs/core/mythtv/stable/glass-wide/PKGBUILD
+++ /dev/null
@@ -1,15 +0,0 @@
-pkgname=glass-wide
-pkgver=1
-pkgrel=1
-pkgdesc="glass-wide theme for mythtv .21 ."
-arch=('i686' 'x86_64')
-license=('GPL2')
-url="unkown"
-source="http://iw.net/~brfransen/myth/glass-wide.tar.gz"
-
-build() {
- cd $startdir/src/
- mkdir -p $startdir/pkg/usr/share/mythtv/themes
- cp -a glass-wide $startdir/pkg/usr/share/mythtv/themes
- rm -rf $startdir/pkg/usr/shar/mythtv/themes/.DS_Store
-}
diff --git a/abs/core/mythtv/stable/linhes-theme/PKGBUILD b/abs/core/mythtv/stable/linhes-theme/PKGBUILD
deleted file mode 100644
index 310bb96..0000000
--- a/abs/core/mythtv/stable/linhes-theme/PKGBUILD
+++ /dev/null
@@ -1,17 +0,0 @@
-# $Id: PKGBUILD 5936 2008-07-21 20:24:16Z thomas $
-# Maintainer: Cecil Watson<knoppmyth@gmail.com>
-
-pkgname=linhes-theme
-pkgver=1
-pkgrel=10
-pkgdesc="Default LinHES theme."
-arch=('i686' 'x86_64')
-license=('GPL2')
-url="http://linhes.org/"
-source=(ftp://ftp.knoppmyth.net/R6/sources/linhes-theme.tar.bz2)
-
-build() {
- cd $startdir/src/
- mkdir -p $startdir/pkg/usr/share/mythtv/themes
- cp -a LinHES $startdir/pkg/usr/share/mythtv/themes
-}
diff --git a/abs/core/mythtv/stable/morethemes/PKGBUILD b/abs/core/mythtv/stable/morethemes/PKGBUILD
deleted file mode 100644
index dd05575..0000000
--- a/abs/core/mythtv/stable/morethemes/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=morethemes
-pkgver=0.21
-pkgrel=1
-pkgdesc="Additional themes for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org/"
-license=('GPL')
-depends=("mythtv>=${pkgver}")
-source=("ftp://ftp.knoppmyth.net/R6/sources/${pkgname}.tar.bz2")
-md5sums=('53f87f0498bc516585df78ff932785f4')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/themes
- . /etc/profile.d/qt3.sh
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- ./configure --prefix=/usr || return 1
-
- qmake $pkgname.pro
- make qmake || return 1
- make || return 1
-
- # basic install
- make INSTALL_ROOT=$startdir/pkg install || return 1
-}
-
diff --git a/abs/core/mythtv/stable/mytharchive/PKGBUILD b/abs/core/mythtv/stable/mytharchive/PKGBUILD
deleted file mode 100644
index f5c51f2..0000000
--- a/abs/core/mythtv/stable/mytharchive/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mytharchive
-pkgver=0.21
-pkgrel=9
-pkgdesc="MythTV plugin that lets you create DVDs from or archive your recorded shows."
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}" 'libxmu' 'mysql-python' 'pil' 'dvdauthor' 'mjpegtools' 'transcode')
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
- svn update
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
-
- sed -i 's#kde3#kde#' configure || return 1
- ./configure --prefix=/usr --enable-opengl --disable-all \
- --enable-create-archive --enable-create-dvd --enable-mytharchive || return 1
-
- qmake mythplugins.pro || return 1
- make qmake || return 1
- sed -i 's#kde3#kde#' ./mytharchive/mytharchive/Makefile || return 1
- make -j 2 || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/stable/mythbrowser/PKGBUILD b/abs/core/mythtv/stable/mythbrowser/PKGBUILD
deleted file mode 100644
index 51a27d2..0000000
--- a/abs/core/mythtv/stable/mythbrowser/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 7374 2008-07-31 06:53:36Z eric $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythbrowser
-pkgver=0.21
-pkgrel=6
-pkgdesc="Mini web browser for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}" 'wget' 'libxvmc' 'kdelibs3' 'qt3')
-groups=('mythtv-extras')
-options=('!makeflags')
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
- . /etc/profile.d/kde3.sh
- svn update
- sed -i 's#kde3#kde#' configure || return 1
- ./configure --prefix=/usr --enable-opengl --disable-all --enable-mythbrowser || return 1
-
- qmake mythplugins.pro || return 1
- make qmake || return 1
- sed -i 's#kde3#kde#' ./mythbrowser/mythbrowser/Makefile || return 1
- make || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/stable/mythcontrols/PKGBUILD b/abs/core/mythtv/stable/mythcontrols/PKGBUILD
deleted file mode 100644
index 669278c..0000000
--- a/abs/core/mythtv/stable/mythcontrols/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <travis@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythcontrols
-pkgver=0.21
-pkgrel=4
-pkgdesc="Experimental controls for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}")
-options=('!makeflags')
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
- svn update
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- ./configure --prefix=/usr --disable-all --enable-opengl --enable-mythcontrols
-
- qmake mythplugins.pro
- make qmake || return 1
- make || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/stable/mythdb-initial/PKGBUILD b/abs/core/mythtv/stable/mythdb-initial/PKGBUILD
deleted file mode 100755
index aa1feef..0000000
--- a/abs/core/mythtv/stable/mythdb-initial/PKGBUILD
+++ /dev/null
@@ -1,21 +0,0 @@
-pkgname=mythdb-initial
-pkgver=1
-pkgrel=42
-pkgdesc="setup the initial mythtv database for linhes"
-url=""
-license=""
-depends=(mysql)
-makedepends=()
-conflicts=()
-replaces=()
-backup=()
-install=mythdb.install
-source=(mc.sql permissions.sql)
-md5sums=()
-arch=('i686')
-build() {
- cd $startdir/src
- mkdir -p $startdir/pkg/data/database
- cp mc.sql $startdir/pkg/data/database/mc.sql.initial
- cp permissions.sql $startdir/pkg/data/database/permissions.sql
-}
diff --git a/abs/core/mythtv/stable/mythdb-initial/__changelog b/abs/core/mythtv/stable/mythdb-initial/__changelog
deleted file mode 100644
index c53f2f6..0000000
--- a/abs/core/mythtv/stable/mythdb-initial/__changelog
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
-('Hostpluginmytharchive','1','larch5'),
-('Hostpluginmythbrowser','1','larch5'),
-('Hostpluginmythcontrols','1','larch5'),
-('Hostpluginmythflix','1','larch5'),
-('Hostpluginmythgallery','1','larch5'),
-('Hostpluginmythgame','1','larch5'),
-('HostpluginmythgameFceu','1','larch5'),
-('HostpluginmythgameMame','1','larch5'),
-('HostpluginmythgameZsnes','1','larch5'),
-('Hostpluginmythmovietime','1','larch5'),
-('Hostpluginmythmusic','1','larch5'),
-('Hostpluginmythnews','1','larch5'),
-('Hostpluginmythphone','1','larch5'),
-('Hostpluginmythsmolt','1','larch5'),
-('Hostpluginmythvideo','1','larch5'),
-('Hostpluginmythvideo_dvdcss','0','larch5'),
-('Hostpluginmythweather','1','larch5'),
-('HostAudiotype','ALSA','larch5')
-
-INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
-('WOLbackendReconnectWaitTime','5',NULL);
-
diff --git a/abs/core/mythtv/stable/mythdb-initial/mc.sql b/abs/core/mythtv/stable/mythdb-initial/mc.sql
deleted file mode 100644
index cdb22d4..0000000
--- a/abs/core/mythtv/stable/mythdb-initial/mc.sql
+++ /dev/null
@@ -1,2835 +0,0 @@
--- MySQL dump 10.11
---
--- Host: localhost Database: mythconverg
--- ------------------------------------------------------
--- Server version 5.0.60
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
---
--- Table structure for table `archiveitems`
---
-
-DROP TABLE IF EXISTS `archiveitems`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `archiveitems` (
- `intid` int(10) unsigned NOT NULL auto_increment,
- `type` set('Recording','Video','File') default NULL,
- `title` varchar(128) default NULL,
- `subtitle` varchar(128) default NULL,
- `description` text,
- `startdate` varchar(30) default NULL,
- `starttime` varchar(30) default NULL,
- `size` bigint(20) unsigned NOT NULL,
- `filename` text NOT NULL,
- `hascutlist` tinyint(1) NOT NULL default '0',
- `cutlist` text,
- PRIMARY KEY (`intid`),
- KEY `title` (`title`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `archiveitems`
---
-
-LOCK TABLES `archiveitems` WRITE;
-/*!40000 ALTER TABLE `archiveitems` DISABLE KEYS */;
-/*!40000 ALTER TABLE `archiveitems` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `callsignnetworkmap`
---
-
-DROP TABLE IF EXISTS `callsignnetworkmap`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `callsignnetworkmap` (
- `id` int(11) NOT NULL auto_increment,
- `callsign` varchar(20) NOT NULL default '',
- `network` varchar(20) NOT NULL default '',
- PRIMARY KEY (`id`),
- UNIQUE KEY `callsign` (`callsign`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `callsignnetworkmap`
---
-
-LOCK TABLES `callsignnetworkmap` WRITE;
-/*!40000 ALTER TABLE `callsignnetworkmap` DISABLE KEYS */;
-/*!40000 ALTER TABLE `callsignnetworkmap` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `capturecard`
---
-
-DROP TABLE IF EXISTS `capturecard`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `capturecard` (
- `cardid` int(10) unsigned NOT NULL auto_increment,
- `videodevice` varchar(128) default NULL,
- `audiodevice` varchar(128) default NULL,
- `vbidevice` varchar(128) default NULL,
- `cardtype` varchar(32) default 'V4L',
- `defaultinput` varchar(32) default 'Television',
- `audioratelimit` int(11) default NULL,
- `hostname` varchar(255) default NULL,
- `dvb_swfilter` int(11) default '0',
- `dvb_sat_type` int(11) NOT NULL default '0',
- `dvb_wait_for_seqstart` int(11) NOT NULL default '1',
- `skipbtaudio` tinyint(1) default '0',
- `dvb_on_demand` tinyint(4) NOT NULL default '0',
- `dvb_diseqc_type` smallint(6) default NULL,
- `firewire_port` int(10) unsigned NOT NULL default '0',
- `firewire_node` int(10) unsigned NOT NULL default '2',
- `firewire_speed` int(10) unsigned NOT NULL default '0',
- `firewire_model` varchar(32) default NULL,
- `firewire_connection` int(10) unsigned NOT NULL default '0',
- `dbox2_port` int(10) unsigned NOT NULL default '31338',
- `dbox2_httpport` int(10) unsigned NOT NULL default '80',
- `dbox2_host` varchar(32) default NULL,
- `signal_timeout` int(11) NOT NULL default '1000',
- `channel_timeout` int(11) NOT NULL default '3000',
- `dvb_tuning_delay` int(10) unsigned NOT NULL default '0',
- `contrast` int(11) NOT NULL default '0',
- `brightness` int(11) NOT NULL default '0',
- `colour` int(11) NOT NULL default '0',
- `hue` int(11) NOT NULL default '0',
- `diseqcid` int(10) unsigned default NULL,
- `dvb_eitscan` tinyint(1) NOT NULL default '1',
- PRIMARY KEY (`cardid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `capturecard`
---
-
-LOCK TABLES `capturecard` WRITE;
-/*!40000 ALTER TABLE `capturecard` DISABLE KEYS */;
-/*!40000 ALTER TABLE `capturecard` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `cardinput`
---
-
-DROP TABLE IF EXISTS `cardinput`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `cardinput` (
- `cardinputid` int(10) unsigned NOT NULL auto_increment,
- `cardid` int(10) unsigned NOT NULL default '0',
- `sourceid` int(10) unsigned NOT NULL default '0',
- `inputname` varchar(32) NOT NULL default '',
- `externalcommand` varchar(128) default NULL,
- `preference` int(11) NOT NULL default '0',
- `shareable` char(1) default 'N',
- `tunechan` varchar(10) default NULL,
- `startchan` varchar(10) default NULL,
- `freetoaironly` tinyint(1) default '1',
- `diseqc_port` smallint(6) default NULL,
- `diseqc_pos` float default NULL,
- `lnb_lof_switch` int(11) default '11700000',
- `lnb_lof_hi` int(11) default '10600000',
- `lnb_lof_lo` int(11) default '9750000',
- `displayname` varchar(64) NOT NULL default '',
- `radioservices` tinyint(1) default '1',
- `dishnet_eit` tinyint(1) NOT NULL default '0',
- `recpriority` int(11) NOT NULL default '0',
- `quicktune` tinyint(4) NOT NULL default '0',
- PRIMARY KEY (`cardinputid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `cardinput`
---
-
-LOCK TABLES `cardinput` WRITE;
-/*!40000 ALTER TABLE `cardinput` DISABLE KEYS */;
-/*!40000 ALTER TABLE `cardinput` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `channel`
---
-
-DROP TABLE IF EXISTS `channel`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `channel` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `channum` varchar(10) NOT NULL default '',
- `freqid` varchar(10) default NULL,
- `sourceid` int(10) unsigned default NULL,
- `callsign` varchar(20) NOT NULL default '',
- `name` varchar(64) NOT NULL default '',
- `icon` varchar(255) NOT NULL default 'none',
- `finetune` int(11) default NULL,
- `videofilters` varchar(255) NOT NULL default '',
- `xmltvid` varchar(64) NOT NULL default '',
- `recpriority` int(10) NOT NULL default '0',
- `contrast` int(11) default '32768',
- `brightness` int(11) default '32768',
- `colour` int(11) default '32768',
- `hue` int(11) default '32768',
- `tvformat` varchar(10) NOT NULL default 'Default',
- `commfree` tinyint(4) NOT NULL default '0',
- `visible` tinyint(1) NOT NULL default '1',
- `outputfilters` varchar(255) NOT NULL default '',
- `useonairguide` tinyint(1) default '0',
- `mplexid` smallint(6) default NULL,
- `serviceid` mediumint(8) unsigned default NULL,
- `atscsrcid` int(11) default NULL,
- `tmoffset` int(11) NOT NULL default '0',
- `atsc_major_chan` int(10) unsigned NOT NULL default '0',
- `atsc_minor_chan` int(10) unsigned NOT NULL default '0',
- `last_record` datetime NOT NULL,
- `default_authority` varchar(32) NOT NULL default '',
- `commmethod` int(11) NOT NULL default '-1',
- PRIMARY KEY (`chanid`),
- KEY `channel_src` (`channum`,`sourceid`),
- KEY `sourceid` (`sourceid`,`xmltvid`,`chanid`),
- KEY `visible` (`visible`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `channel`
---
-
-LOCK TABLES `channel` WRITE;
-/*!40000 ALTER TABLE `channel` DISABLE KEYS */;
-/*!40000 ALTER TABLE `channel` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `codecparams`
---
-
-DROP TABLE IF EXISTS `codecparams`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `codecparams` (
- `profile` int(10) unsigned NOT NULL default '0',
- `name` varchar(128) NOT NULL default '',
- `value` varchar(128) default NULL,
- PRIMARY KEY (`profile`,`name`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `codecparams`
---
-
-LOCK TABLES `codecparams` WRITE;
-/*!40000 ALTER TABLE `codecparams` DISABLE KEYS */;
-/*!40000 ALTER TABLE `codecparams` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `credits`
---
-
-DROP TABLE IF EXISTS `credits`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `credits` (
- `person` mediumint(8) unsigned NOT NULL default '0',
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `role` set('actor','director','producer','executive_producer','writer','guest_star','host','adapter','presenter','commentator','guest') NOT NULL default '',
- UNIQUE KEY `chanid` (`chanid`,`starttime`,`person`,`role`),
- KEY `person` (`person`,`role`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `credits`
---
-
-LOCK TABLES `credits` WRITE;
-/*!40000 ALTER TABLE `credits` DISABLE KEYS */;
-/*!40000 ALTER TABLE `credits` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `customexample`
---
-
-DROP TABLE IF EXISTS `customexample`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `customexample` (
- `rulename` varchar(64) NOT NULL,
- `fromclause` text NOT NULL,
- `whereclause` text NOT NULL,
- `search` tinyint(4) NOT NULL default '0',
- PRIMARY KEY (`rulename`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `customexample`
---
-
-LOCK TABLES `customexample` WRITE;
-/*!40000 ALTER TABLE `customexample` DISABLE KEYS */;
-INSERT INTO `customexample` (`rulename`, `fromclause`, `whereclause`, `search`) VALUES ('New Flix','','program.category_type = \'movie\' AND program.airdate >= \n YEAR(DATE_SUB(NOW(), INTERVAL 1 YEAR)) \nAND program.stars > 0.5 ',1);
-/*!40000 ALTER TABLE `customexample` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `diseqc_config`
---
-
-DROP TABLE IF EXISTS `diseqc_config`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `diseqc_config` (
- `cardinputid` int(10) unsigned NOT NULL,
- `diseqcid` int(10) unsigned NOT NULL,
- `value` varchar(16) NOT NULL default '',
- KEY `id` (`cardinputid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `diseqc_config`
---
-
-LOCK TABLES `diseqc_config` WRITE;
-/*!40000 ALTER TABLE `diseqc_config` DISABLE KEYS */;
-/*!40000 ALTER TABLE `diseqc_config` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `diseqc_tree`
---
-
-DROP TABLE IF EXISTS `diseqc_tree`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `diseqc_tree` (
- `diseqcid` int(10) unsigned NOT NULL auto_increment,
- `parentid` int(10) unsigned default NULL,
- `ordinal` tinyint(3) unsigned NOT NULL,
- `type` varchar(16) NOT NULL default '',
- `subtype` varchar(16) NOT NULL default '',
- `description` varchar(32) NOT NULL default '',
- `switch_ports` tinyint(3) unsigned NOT NULL default '0',
- `rotor_hi_speed` float NOT NULL default '0',
- `rotor_lo_speed` float NOT NULL default '0',
- `rotor_positions` varchar(255) NOT NULL default '',
- `lnb_lof_switch` int(10) NOT NULL default '0',
- `lnb_lof_hi` int(10) NOT NULL default '0',
- `lnb_lof_lo` int(10) NOT NULL default '0',
- `cmd_repeat` int(11) NOT NULL default '1',
- `lnb_pol_inv` tinyint(4) NOT NULL default '0',
- PRIMARY KEY (`diseqcid`),
- KEY `parentid` (`parentid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `diseqc_tree`
---
-
-LOCK TABLES `diseqc_tree` WRITE;
-/*!40000 ALTER TABLE `diseqc_tree` DISABLE KEYS */;
-/*!40000 ALTER TABLE `diseqc_tree` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `displayprofilegroups`
---
-
-DROP TABLE IF EXISTS `displayprofilegroups`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `displayprofilegroups` (
- `name` varchar(128) NOT NULL,
- `hostname` varchar(255) NOT NULL,
- `profilegroupid` int(10) unsigned NOT NULL auto_increment,
- PRIMARY KEY (`name`,`hostname`),
- UNIQUE KEY `profilegroupid` (`profilegroupid`)
-) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `displayprofilegroups`
---
-
-LOCK TABLES `displayprofilegroups` WRITE;
-/*!40000 ALTER TABLE `displayprofilegroups` DISABLE KEYS */;
-INSERT INTO `displayprofilegroups` (`name`, `hostname`, `profilegroupid`) VALUES ('CPU++','larch5',1),('CPU+','larch5',2),('CPU--','larch5',3),('High Quality','larch5',4),('Normal','larch5',5),('Slim','larch5',6);
-/*!40000 ALTER TABLE `displayprofilegroups` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `displayprofiles`
---
-
-DROP TABLE IF EXISTS `displayprofiles`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `displayprofiles` (
- `profilegroupid` int(10) unsigned NOT NULL,
- `profileid` int(10) unsigned NOT NULL auto_increment,
- `value` varchar(128) NOT NULL,
- `data` varchar(255) NOT NULL default '',
- KEY `profilegroupid` (`profilegroupid`),
- KEY `profileid` (`profileid`,`value`),
- KEY `profileid_2` (`profileid`)
-) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `displayprofiles`
---
-
-LOCK TABLES `displayprofiles` WRITE;
-/*!40000 ALTER TABLE `displayprofiles` DISABLE KEYS */;
-INSERT INTO `displayprofiles` (`profilegroupid`, `profileid`, `value`, `data`) VALUES (1,1,'pref_priority','1'),(1,1,'pref_cmp0','> 0 0'),(1,1,'pref_decoder','ffmpeg'),(1,1,'pref_max_cpus','1'),(1,1,'pref_videorenderer','xv-blit'),(1,1,'pref_osdrenderer','softblend'),(1,1,'pref_osdfade','1'),(1,1,'pref_deint0','bobdeint'),(1,1,'pref_deint1','linearblend'),(1,1,'pref_filters',''),(1,2,'pref_priority','2'),(1,2,'pref_cmp0','> 0 0'),(1,2,'pref_decoder','ffmpeg'),(1,2,'pref_max_cpus','1'),(1,2,'pref_videorenderer','quartz-blit'),(1,2,'pref_osdrenderer','softblend'),(1,2,'pref_osdfade','1'),(1,2,'pref_deint0','linearblend'),(1,2,'pref_deint1','linearblend'),(1,2,'pref_filters',''),(2,3,'pref_priority','1'),(2,3,'pref_cmp0','<= 720 576'),(2,3,'pref_cmp1','> 0 0'),(2,3,'pref_decoder','ffmpeg'),(2,3,'pref_max_cpus','1'),(2,3,'pref_videorenderer','xv-blit'),(2,3,'pref_osdrenderer','softblend'),(2,3,'pref_osdfade','1'),(2,3,'pref_deint0','bobdeint'),(2,3,'pref_deint1','linearblend'),(2,3,'pref_filters',''),(2,4,'pref_priority','2'),(2,4,'pref_cmp0','<= 1280 720'),(2,4,'pref_cmp1','> 720 576'),(2,4,'pref_decoder','xvmc'),(2,4,'pref_max_cpus','1'),(2,4,'pref_videorenderer','xvmc-blit'),(2,4,'pref_osdrenderer','opengl'),(2,4,'pref_osdfade','1'),(2,4,'pref_deint0','bobdeint'),(2,4,'pref_deint1','onefield'),(2,4,'pref_filters',''),(2,5,'pref_priority','3'),(2,5,'pref_cmp0','<= 1280 720'),(2,5,'pref_cmp1','> 720 576'),(2,5,'pref_decoder','libmpeg2'),(2,5,'pref_max_cpus','1'),(2,5,'pref_videorenderer','xv-blit'),(2,5,'pref_osdrenderer','softblend'),(2,5,'pref_osdfade','1'),(2,5,'pref_deint0','bobdeint'),(2,5,'pref_deint1','onefield'),(2,5,'pref_filters',''),(2,6,'pref_priority','4'),(2,6,'pref_cmp0','> 0 0'),(2,6,'pref_decoder','xvmc'),(2,6,'pref_max_cpus','1'),(2,6,'pref_videorenderer','xvmc-blit'),(2,6,'pref_osdrenderer','ia44blend'),(2,6,'pref_osdfade','0'),(2,6,'pref_deint0','bobdeint'),(2,6,'pref_deint1','onefield'),(2,6,'pref_filters',''),(2,7,'pref_priority','5'),(2,7,'pref_cmp0','> 0 0'),(2,7,'pref_decoder','libmpeg2'),(2,7,'pref_max_cpus','1'),(2,7,'pref_videorenderer','xv-blit'),(2,7,'pref_osdrenderer','chromakey'),(2,7,'pref_osdfade','0'),(2,7,'pref_deint0','bobdeint'),(2,7,'pref_deint1','onefield'),(2,7,'pref_filters',''),(3,8,'pref_priority','1'),(3,8,'pref_cmp0','<= 720 576'),(3,8,'pref_cmp1','> 0 0'),(3,8,'pref_decoder','ivtv'),(3,8,'pref_max_cpus','1'),(3,8,'pref_videorenderer','ivtv'),(3,8,'pref_osdrenderer','ivtv'),(3,8,'pref_osdfade','1'),(3,8,'pref_deint0','none'),(3,8,'pref_deint1','none'),(3,8,'pref_filters',''),(3,9,'pref_priority','2'),(3,9,'pref_cmp0','<= 720 576'),(3,9,'pref_cmp1','> 0 0'),(3,9,'pref_decoder','xvmc'),(3,9,'pref_max_cpus','1'),(3,9,'pref_videorenderer','xvmc-blit'),(3,9,'pref_osdrenderer','ia44blend'),(3,9,'pref_osdfade','0'),(3,9,'pref_deint0','bobdeint'),(3,9,'pref_deint1','onefield'),(3,9,'pref_filters',''),(3,10,'pref_priority','3'),(3,10,'pref_cmp0','<= 1280 720'),(3,10,'pref_cmp1','> 720 576'),(3,10,'pref_decoder','xvmc'),(3,10,'pref_max_cpus','1'),(3,10,'pref_videorenderer','xvmc-blit'),(3,10,'pref_osdrenderer','ia44blend'),(3,10,'pref_osdfade','0'),(3,10,'pref_deint0','bobdeint'),(3,10,'pref_deint1','onefield'),(3,10,'pref_filters',''),(3,11,'pref_priority','4'),(3,11,'pref_cmp0','> 0 0'),(3,11,'pref_decoder','xvmc'),(3,11,'pref_max_cpus','1'),(3,11,'pref_videorenderer','xvmc-blit'),(3,11,'pref_osdrenderer','ia44blend'),(3,11,'pref_osdfade','0'),(3,11,'pref_deint0','bobdeint'),(3,11,'pref_deint1','onefield'),(3,11,'pref_filters',''),(3,12,'pref_priority','5'),(3,12,'pref_cmp0','> 0 0'),(3,12,'pref_decoder','libmpeg2'),(3,12,'pref_max_cpus','1'),(3,12,'pref_videorenderer','xv-blit'),(3,12,'pref_osdrenderer','chromakey'),(3,12,'pref_osdfade','0'),(3,12,'pref_deint0','none'),(3,12,'pref_deint1','none'),(3,12,'pref_filters',''),(4,13,'pref_priority','1'),(4,13,'pref_cmp0','>= 1920 1080'),(4,13,'pref_decoder','ffmpeg'),(4,13,'pref_max_cpus','2'),(4,13,'pref_videorenderer','xv-blit'),(4,13,'pref_osdrenderer','softblend'),(4,13,'pref_osdfade','1'),(4,13,'pref_deint0','linearblend'),(4,13,'pref_deint1','linearblend'),(4,13,'pref_filters',''),(4,14,'pref_priority','2'),(4,14,'pref_cmp0','> 0 0'),(4,14,'pref_decoder','ffmpeg'),(4,14,'pref_max_cpus','1'),(4,14,'pref_videorenderer','xv-blit'),(4,14,'pref_osdrenderer','softblend'),(4,14,'pref_osdfade','1'),(4,14,'pref_deint0','yadifdoubleprocessdeint'),(4,14,'pref_deint1','yadifdeint'),(4,14,'pref_filters',''),(4,15,'pref_priority','3'),(4,15,'pref_cmp0','>= 1920 1080'),(4,15,'pref_decoder','ffmpeg'),(4,15,'pref_max_cpus','2'),(4,15,'pref_videorenderer','quartz-blit'),(4,15,'pref_osdrenderer','softblend'),(4,15,'pref_osdfade','1'),(4,15,'pref_deint0','linearblend'),(4,15,'pref_deint1','linearblend'),(4,15,'pref_filters',''),(4,16,'pref_priority','4'),(4,16,'pref_cmp0','> 0 0'),(4,16,'pref_decoder','ffmpeg'),(4,16,'pref_max_cpus','1'),(4,16,'pref_videorenderer','quartz-blit'),(4,16,'pref_osdrenderer','softblend'),(4,16,'pref_osdfade','1'),(4,16,'pref_deint0','yadifdoubleprocessdeint'),(4,16,'pref_deint1','yadifdeint'),(4,16,'pref_filters',''),(5,17,'pref_priority','1'),(5,17,'pref_cmp0','>= 1280 720'),(5,17,'pref_decoder','ffmpeg'),(5,17,'pref_max_cpus','1'),(5,17,'pref_videorenderer','xv-blit'),(5,17,'pref_osdrenderer','softblend'),(5,17,'pref_osdfade','0'),(5,17,'pref_deint0','linearblend'),(5,17,'pref_deint1','linearblend'),(5,17,'pref_filters',''),(5,18,'pref_priority','2'),(5,18,'pref_cmp0','> 0 0'),(5,18,'pref_decoder','ffmpeg'),(5,18,'pref_max_cpus','1'),(5,18,'pref_videorenderer','xv-blit'),(5,18,'pref_osdrenderer','softblend'),(5,18,'pref_osdfade','1'),(5,18,'pref_deint0','greedyhdoubleprocessdeint'),(5,18,'pref_deint1','kerneldeint'),(5,18,'pref_filters',''),(5,19,'pref_priority','3'),(5,19,'pref_cmp0','>= 1280 720'),(5,19,'pref_decoder','ffmpeg'),(5,19,'pref_max_cpus','1'),(5,19,'pref_videorenderer','quartz-blit'),(5,19,'pref_osdrenderer','softblend'),(5,19,'pref_osdfade','0'),(5,19,'pref_deint0','linearblend'),(5,19,'pref_deint1','linearblend'),(5,19,'pref_filters',''),(5,20,'pref_priority','4'),(5,20,'pref_cmp0','> 0 0'),(5,20,'pref_decoder','ffmpeg'),(5,20,'pref_max_cpus','1'),(5,20,'pref_videorenderer','quartz-blit'),(5,20,'pref_osdrenderer','softblend'),(5,20,'pref_osdfade','1'),(5,20,'pref_deint0','greedyhdoubleprocessdeint'),(5,20,'pref_deint1','kerneldeint'),(5,20,'pref_filters',''),(6,21,'pref_priority','1'),(6,21,'pref_cmp0','>= 1280 720'),(6,21,'pref_decoder','ffmpeg'),(6,21,'pref_max_cpus','1'),(6,21,'pref_videorenderer','xv-blit'),(6,21,'pref_osdrenderer','softblend'),(6,21,'pref_osdfade','0'),(6,21,'pref_deint0','onefield'),(6,21,'pref_deint1','onefield'),(6,21,'pref_filters',''),(6,22,'pref_priority','2'),(6,22,'pref_cmp0','> 0 0'),(6,22,'pref_decoder','ffmpeg'),(6,22,'pref_max_cpus','1'),(6,22,'pref_videorenderer','xv-blit'),(6,22,'pref_osdrenderer','softblend'),(6,22,'pref_osdfade','1'),(6,22,'pref_deint0','linearblend'),(6,22,'pref_deint1','linearblend'),(6,22,'pref_filters',''),(6,23,'pref_priority','3'),(6,23,'pref_cmp0','>= 1280 720'),(6,23,'pref_decoder','ffmpeg'),(6,23,'pref_max_cpus','1'),(6,23,'pref_videorenderer','quartz-blit'),(6,23,'pref_osdrenderer','softblend'),(6,23,'pref_osdfade','0'),(6,23,'pref_deint0','onefield'),(6,23,'pref_deint1','onefield'),(6,23,'pref_filters',''),(6,24,'pref_priority','4'),(6,24,'pref_cmp0','> 0 0'),(6,24,'pref_decoder','ffmpeg'),(6,24,'pref_max_cpus','1'),(6,24,'pref_videorenderer','quartz-blit'),(6,24,'pref_osdrenderer','softblend'),(6,24,'pref_osdfade','1'),(6,24,'pref_deint0','linearblend'),(6,24,'pref_deint1','linearblend'),(6,24,'pref_filters','');
-/*!40000 ALTER TABLE `displayprofiles` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `dtv_multiplex`
---
-
-DROP TABLE IF EXISTS `dtv_multiplex`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `dtv_multiplex` (
- `mplexid` smallint(6) NOT NULL auto_increment,
- `sourceid` smallint(6) default NULL,
- `transportid` int(11) default NULL,
- `networkid` int(11) default NULL,
- `frequency` int(11) default NULL,
- `inversion` char(1) default 'a',
- `symbolrate` int(11) default NULL,
- `fec` varchar(10) default 'auto',
- `polarity` char(1) default NULL,
- `modulation` varchar(10) default 'auto',
- `bandwidth` char(1) default 'a',
- `lp_code_rate` varchar(10) default 'auto',
- `transmission_mode` char(1) default 'a',
- `guard_interval` varchar(10) default 'auto',
- `visible` smallint(1) NOT NULL default '0',
- `constellation` varchar(10) default 'auto',
- `hierarchy` varchar(10) default 'auto',
- `hp_code_rate` varchar(10) default 'auto',
- `sistandard` varchar(10) default 'dvb',
- `serviceversion` smallint(6) default '33',
- `updatetimestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- PRIMARY KEY (`mplexid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `dtv_multiplex`
---
-
-LOCK TABLES `dtv_multiplex` WRITE;
-/*!40000 ALTER TABLE `dtv_multiplex` DISABLE KEYS */;
-/*!40000 ALTER TABLE `dtv_multiplex` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `dtv_privatetypes`
---
-
-DROP TABLE IF EXISTS `dtv_privatetypes`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `dtv_privatetypes` (
- `sitype` varchar(4) NOT NULL default '',
- `networkid` int(11) NOT NULL default '0',
- `private_type` varchar(20) NOT NULL default '',
- `private_value` varchar(100) NOT NULL default ''
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `dtv_privatetypes`
---
-
-LOCK TABLES `dtv_privatetypes` WRITE;
-/*!40000 ALTER TABLE `dtv_privatetypes` DISABLE KEYS */;
-INSERT INTO `dtv_privatetypes` (`sitype`, `networkid`, `private_type`, `private_value`) VALUES ('dvb',9018,'channel_numbers','131'),('dvb',9018,'guide_fixup','2'),('dvb',256,'guide_fixup','1'),('dvb',257,'guide_fixup','1'),('dvb',256,'tv_types','1,150,134,133'),('dvb',257,'tv_types','1,150,134,133'),('dvb',4100,'sdt_mapping','1'),('dvb',4101,'sdt_mapping','1'),('dvb',4102,'sdt_mapping','1'),('dvb',4103,'sdt_mapping','1'),('dvb',4104,'sdt_mapping','1'),('dvb',4105,'sdt_mapping','1'),('dvb',4106,'sdt_mapping','1'),('dvb',4107,'sdt_mapping','1'),('dvb',4097,'sdt_mapping','1'),('dvb',4098,'sdt_mapping','1'),('dvb',4100,'tv_types','1,145,154'),('dvb',4101,'tv_types','1,145,154'),('dvb',4102,'tv_types','1,145,154'),('dvb',4103,'tv_types','1,145,154'),('dvb',4104,'tv_types','1,145,154'),('dvb',4105,'tv_types','1,145,154'),('dvb',4106,'tv_types','1,145,154'),('dvb',4107,'tv_types','1,145,154'),('dvb',4097,'tv_types','1,145,154'),('dvb',4098,'tv_types','1,145,154'),('dvb',4100,'guide_fixup','1'),('dvb',4101,'guide_fixup','1'),('dvb',4102,'guide_fixup','1'),('dvb',4103,'guide_fixup','1'),('dvb',4104,'guide_fixup','1'),('dvb',4105,'guide_fixup','1'),('dvb',4106,'guide_fixup','1'),('dvb',4107,'guide_fixup','1'),('dvb',4096,'guide_fixup','5'),('dvb',4097,'guide_fixup','1'),('dvb',4098,'guide_fixup','1'),('dvb',94,'tv_types','1,128'),('atsc',1793,'guide_fixup','3'),('dvb',40999,'guide_fixup','4'),('dvb',70,'force_guide_present','yes'),('dvb',70,'guide_ranges','80,80,96,96'),('dvb',4112,'channel_numbers','131'),('dvb',4115,'channel_numbers','131'),('dvb',4116,'channel_numbers','131'),('dvb',12802,'channel_numbers','131'),('dvb',12803,'channel_numbers','131'),('dvb',12829,'channel_numbers','131'),('dvb',40999,'parse_subtitle_list','1070,1308,1041,1306,1307,1030,1016,1131,1068,1069'),('dvb',4096,'guide_fixup','5');
-/*!40000 ALTER TABLE `dtv_privatetypes` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `dvdbookmark`
---
-
-DROP TABLE IF EXISTS `dvdbookmark`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `dvdbookmark` (
- `serialid` varchar(16) NOT NULL default '',
- `name` varchar(32) default NULL,
- `title` smallint(6) NOT NULL default '0',
- `audionum` tinyint(4) NOT NULL default '-1',
- `subtitlenum` tinyint(4) NOT NULL default '-1',
- `framenum` bigint(20) NOT NULL default '0',
- `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- PRIMARY KEY (`serialid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `dvdbookmark`
---
-
-LOCK TABLES `dvdbookmark` WRITE;
-/*!40000 ALTER TABLE `dvdbookmark` DISABLE KEYS */;
-/*!40000 ALTER TABLE `dvdbookmark` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `dvdinput`
---
-
-DROP TABLE IF EXISTS `dvdinput`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `dvdinput` (
- `intid` int(10) unsigned NOT NULL,
- `hsize` int(10) unsigned default NULL,
- `vsize` int(10) unsigned default NULL,
- `ar_num` int(10) unsigned default NULL,
- `ar_denom` int(10) unsigned default NULL,
- `fr_code` int(10) unsigned default NULL,
- `letterbox` tinyint(1) default NULL,
- `v_format` varchar(16) default NULL,
- PRIMARY KEY (`intid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `dvdinput`
---
-
-LOCK TABLES `dvdinput` WRITE;
-/*!40000 ALTER TABLE `dvdinput` DISABLE KEYS */;
-INSERT INTO `dvdinput` (`intid`, `hsize`, `vsize`, `ar_num`, `ar_denom`, `fr_code`, `letterbox`, `v_format`) VALUES (1,720,480,16,9,1,1,'ntsc'),(2,720,480,16,9,1,0,'ntsc'),(3,720,480,4,3,1,1,'ntsc'),(4,720,480,4,3,1,0,'ntsc'),(5,720,576,16,9,3,1,'pal'),(6,720,576,16,9,3,0,'pal'),(7,720,576,4,3,3,1,'pal'),(8,720,576,4,3,3,0,'pal');
-/*!40000 ALTER TABLE `dvdinput` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `dvdtranscode`
---
-
-DROP TABLE IF EXISTS `dvdtranscode`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `dvdtranscode` (
- `intid` int(11) NOT NULL auto_increment,
- `input` int(10) unsigned default NULL,
- `name` varchar(128) NOT NULL,
- `sync_mode` int(10) unsigned default NULL,
- `use_yv12` tinyint(1) default NULL,
- `cliptop` int(11) default NULL,
- `clipbottom` int(11) default NULL,
- `clipleft` int(11) default NULL,
- `clipright` int(11) default NULL,
- `f_resize_h` int(11) default NULL,
- `f_resize_w` int(11) default NULL,
- `hq_resize_h` int(11) default NULL,
- `hq_resize_w` int(11) default NULL,
- `grow_h` int(11) default NULL,
- `grow_w` int(11) default NULL,
- `clip2top` int(11) default NULL,
- `clip2bottom` int(11) default NULL,
- `clip2left` int(11) default NULL,
- `clip2right` int(11) default NULL,
- `codec` varchar(128) NOT NULL,
- `codec_param` varchar(128) default NULL,
- `bitrate` int(11) default NULL,
- `a_sample_r` int(11) default NULL,
- `a_bitrate` int(11) default NULL,
- `two_pass` tinyint(1) default NULL,
- `tc_param` varchar(128) default NULL,
- PRIMARY KEY (`intid`)
-) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `dvdtranscode`
---
-
-LOCK TABLES `dvdtranscode` WRITE;
-/*!40000 ALTER TABLE `dvdtranscode` DISABLE KEYS */;
-INSERT INTO `dvdtranscode` (`intid`, `input`, `name`, `sync_mode`, `use_yv12`, `cliptop`, `clipbottom`, `clipleft`, `clipright`, `f_resize_h`, `f_resize_w`, `hq_resize_h`, `hq_resize_w`, `grow_h`, `grow_w`, `clip2top`, `clip2bottom`, `clip2left`, `clip2right`, `codec`, `codec_param`, `bitrate`, `a_sample_r`, `a_bitrate`, `two_pass`, `tc_param`) VALUES (1,1,'Good',2,1,16,16,0,0,2,0,0,0,0,0,32,32,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(2,2,'Excellent',2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'divx5',NULL,0,NULL,NULL,1,NULL),(3,2,'Good',2,1,0,0,8,8,0,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(4,2,'Medium',2,1,0,0,8,8,5,5,0,0,0,0,0,0,0,0,'divx5',NULL,1200,NULL,NULL,0,NULL),(5,3,'Good',2,1,0,0,0,0,0,0,0,0,2,0,80,80,8,8,'divx5',NULL,0,NULL,NULL,0,NULL),(6,4,'Excellent',2,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,'divx5',NULL,0,NULL,NULL,1,NULL),(7,4,'Good',2,1,0,0,8,8,0,2,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(8,5,'Good',1,1,16,16,0,0,5,0,0,0,0,0,40,40,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(9,6,'Good',1,1,0,0,16,16,5,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(10,7,'Good',1,1,0,0,0,0,1,0,0,0,0,0,76,76,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(11,8,'Good',1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL);
-/*!40000 ALTER TABLE `dvdtranscode` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `eit_cache`
---
-
-DROP TABLE IF EXISTS `eit_cache`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `eit_cache` (
- `chanid` int(10) NOT NULL,
- `eventid` int(10) unsigned NOT NULL default '0',
- `tableid` tinyint(3) unsigned NOT NULL,
- `version` tinyint(3) unsigned NOT NULL,
- `endtime` int(10) unsigned NOT NULL,
- `status` tinyint(4) NOT NULL default '0',
- PRIMARY KEY (`chanid`,`eventid`,`status`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `eit_cache`
---
-
-LOCK TABLES `eit_cache` WRITE;
-/*!40000 ALTER TABLE `eit_cache` DISABLE KEYS */;
-/*!40000 ALTER TABLE `eit_cache` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `favorites`
---
-
-DROP TABLE IF EXISTS `favorites`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `favorites` (
- `favid` int(11) unsigned NOT NULL auto_increment,
- `userid` int(11) unsigned NOT NULL default '0',
- `chanid` int(11) unsigned NOT NULL default '0',
- PRIMARY KEY (`favid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `favorites`
---
-
-LOCK TABLES `favorites` WRITE;
-/*!40000 ALTER TABLE `favorites` DISABLE KEYS */;
-/*!40000 ALTER TABLE `favorites` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `filemarkup`
---
-
-DROP TABLE IF EXISTS `filemarkup`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `filemarkup` (
- `filename` text NOT NULL,
- `mark` mediumint(8) unsigned NOT NULL default '0',
- `offset` bigint(20) unsigned default NULL,
- `type` tinyint(4) NOT NULL default '0',
- KEY `filename` (`filename`(255))
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `filemarkup`
---
-
-LOCK TABLES `filemarkup` WRITE;
-/*!40000 ALTER TABLE `filemarkup` DISABLE KEYS */;
-/*!40000 ALTER TABLE `filemarkup` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `gallerymetadata`
---
-
-DROP TABLE IF EXISTS `gallerymetadata`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `gallerymetadata` (
- `image` varchar(255) NOT NULL,
- `angle` int(11) NOT NULL,
- PRIMARY KEY (`image`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `gallerymetadata`
---
-
-LOCK TABLES `gallerymetadata` WRITE;
-/*!40000 ALTER TABLE `gallerymetadata` DISABLE KEYS */;
-/*!40000 ALTER TABLE `gallerymetadata` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `gamemetadata`
---
-
-DROP TABLE IF EXISTS `gamemetadata`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `gamemetadata` (
- `system` varchar(128) NOT NULL default '',
- `romname` varchar(128) NOT NULL default '',
- `gamename` varchar(128) NOT NULL default '',
- `genre` varchar(128) NOT NULL default '',
- `year` varchar(10) NOT NULL default '',
- `publisher` varchar(128) NOT NULL default '',
- `favorite` tinyint(1) default NULL,
- `rompath` varchar(255) NOT NULL default '',
- `gametype` varchar(64) NOT NULL default '',
- `diskcount` tinyint(1) NOT NULL default '1',
- `country` varchar(128) NOT NULL default '',
- `crc_value` varchar(64) NOT NULL default '',
- `display` tinyint(1) NOT NULL default '1',
- `version` varchar(64) NOT NULL default '',
- KEY `system` (`system`),
- KEY `year` (`year`),
- KEY `romname` (`romname`),
- KEY `gamename` (`gamename`),
- KEY `genre` (`genre`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `gamemetadata`
---
-
-LOCK TABLES `gamemetadata` WRITE;
-/*!40000 ALTER TABLE `gamemetadata` DISABLE KEYS */;
-/*!40000 ALTER TABLE `gamemetadata` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `gameplayers`
---
-
-DROP TABLE IF EXISTS `gameplayers`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `gameplayers` (
- `gameplayerid` int(10) unsigned NOT NULL auto_increment,
- `playername` varchar(64) NOT NULL default '',
- `workingpath` varchar(255) NOT NULL default '',
- `rompath` varchar(255) NOT NULL default '',
- `screenshots` varchar(255) NOT NULL default '',
- `commandline` text NOT NULL,
- `gametype` varchar(64) NOT NULL default '',
- `extensions` varchar(128) NOT NULL default '',
- `spandisks` tinyint(1) NOT NULL default '0',
- PRIMARY KEY (`gameplayerid`),
- UNIQUE KEY `playername` (`playername`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `gameplayers`
---
-
-LOCK TABLES `gameplayers` WRITE;
-/*!40000 ALTER TABLE `gameplayers` DISABLE KEYS */;
-/*!40000 ALTER TABLE `gameplayers` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `housekeeping`
---
-
-DROP TABLE IF EXISTS `housekeeping`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `housekeeping` (
- `tag` varchar(64) NOT NULL default '',
- `lastrun` datetime default NULL,
- PRIMARY KEY (`tag`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `housekeeping`
---
-
-LOCK TABLES `housekeeping` WRITE;
-/*!40000 ALTER TABLE `housekeeping` DISABLE KEYS */;
-/*!40000 ALTER TABLE `housekeeping` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `inputgroup`
---
-
-DROP TABLE IF EXISTS `inputgroup`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `inputgroup` (
- `cardinputid` int(10) unsigned NOT NULL,
- `inputgroupid` int(10) unsigned NOT NULL,
- `inputgroupname` varchar(32) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `inputgroup`
---
-
-LOCK TABLES `inputgroup` WRITE;
-/*!40000 ALTER TABLE `inputgroup` DISABLE KEYS */;
-/*!40000 ALTER TABLE `inputgroup` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `inuseprograms`
---
-
-DROP TABLE IF EXISTS `inuseprograms`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `inuseprograms` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `recusage` varchar(128) NOT NULL default '',
- `lastupdatetime` datetime NOT NULL default '0000-00-00 00:00:00',
- `hostname` varchar(255) NOT NULL default '',
- `rechost` varchar(64) NOT NULL,
- `recdir` varchar(255) NOT NULL default '',
- KEY `chanid` (`chanid`,`starttime`),
- KEY `recusage` (`recusage`,`lastupdatetime`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `inuseprograms`
---
-
-LOCK TABLES `inuseprograms` WRITE;
-/*!40000 ALTER TABLE `inuseprograms` DISABLE KEYS */;
-/*!40000 ALTER TABLE `inuseprograms` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `jobqueue`
---
-
-DROP TABLE IF EXISTS `jobqueue`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `jobqueue` (
- `id` int(11) NOT NULL auto_increment,
- `chanid` int(10) NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `inserttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `type` int(11) NOT NULL default '0',
- `cmds` int(11) NOT NULL default '0',
- `flags` int(11) NOT NULL default '0',
- `status` int(11) NOT NULL default '0',
- `statustime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `hostname` varchar(255) NOT NULL default '',
- `args` blob NOT NULL,
- `comment` varchar(128) NOT NULL default '',
- `schedruntime` datetime NOT NULL default '2007-01-01 00:00:00',
- PRIMARY KEY (`id`),
- UNIQUE KEY `chanid` (`chanid`,`starttime`,`type`,`inserttime`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `jobqueue`
---
-
-LOCK TABLES `jobqueue` WRITE;
-/*!40000 ALTER TABLE `jobqueue` DISABLE KEYS */;
-/*!40000 ALTER TABLE `jobqueue` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `jumppoints`
---
-
-DROP TABLE IF EXISTS `jumppoints`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `jumppoints` (
- `destination` varchar(128) NOT NULL default '',
- `description` varchar(255) default NULL,
- `keylist` varchar(128) default NULL,
- `hostname` varchar(255) NOT NULL default '',
- PRIMARY KEY (`destination`,`hostname`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `jumppoints`
---
-
-LOCK TABLES `jumppoints` WRITE;
-/*!40000 ALTER TABLE `jumppoints` DISABLE KEYS */;
-INSERT INTO `jumppoints` (`destination`, `description`, `keylist`, `hostname`) VALUES ('Reload Theme','','','larch5'),('Main Menu','','','larch5'),('Program Guide','','','larch5'),('Program Finder','','','larch5'),('Manage Recordings / Fix Conflicts','','','larch5'),('Program Recording Priorities','','','larch5'),('Channel Recording Priorities','','','larch5'),('TV Recording Playback','','','larch5'),('TV Recording Deletion','','','larch5'),('Live TV','','','larch5'),('Live TV In Guide','','','larch5'),('Manual Record Scheduling','','','larch5'),('Status Screen','','','larch5'),('Previously Recorded','','','larch5'),('Netflix Browser','Browse Netflix titles','','larch5'),('Netflix Queue','Administer Netflix Queue','','larch5'),('Netflix History','View Netflix History','','larch5'),('MythGallery','Image viewer / slideshow','','larch5'),('MythGame','Game frontend','','larch5'),('Play music','','','larch5'),('Select music playlists','','','larch5'),('Rip CD','','','larch5'),('Scan music','','','larch5'),('Show Music Miniplayer','','','larch5'),('MythNews','RSS News feed reader','','larch5'),('MythVideo','The MythVideo default view','','larch5'),('Video Manager','The MythVideo video manager','','larch5'),('Video Browser','The MythVideo video browser','','larch5'),('Video Listings','The MythVideo video listings','','larch5'),('Video Gallery','The MythVideo video gallery','','larch5'),('Play DVD','Play a DVD','','larch5'),('Play VCD','Play a VCD','','larch5'),('Rip DVD','Import a DVD into your MythVideo database','','larch5'),('MythWeather','Weather forecasts','','larch5');
-/*!40000 ALTER TABLE `jumppoints` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `keybindings`
---
-
-DROP TABLE IF EXISTS `keybindings`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `keybindings` (
- `context` varchar(32) NOT NULL default '',
- `action` varchar(32) NOT NULL default '',
- `description` varchar(255) default NULL,
- `keylist` varchar(128) default NULL,
- `hostname` varchar(255) NOT NULL default '',
- PRIMARY KEY (`context`,`action`,`hostname`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `keybindings`
---
-
-LOCK TABLES `keybindings` WRITE;
-/*!40000 ALTER TABLE `keybindings` DISABLE KEYS */;
-INSERT INTO `keybindings` (`context`, `action`, `description`, `keylist`, `hostname`) VALUES ('Global','UP','Up Arrow','Up','larch5'),('Global','DOWN','Down Arrow','Down','larch5'),('Global','LEFT','Left Arrow','Left','larch5'),('Global','RIGHT','Right Arrow','Right','larch5'),('Global','SELECT','Select','Return,Enter,Space','larch5'),('Global','ESCAPE','Escape','Esc','larch5'),('Global','MENU','Pop-up menu','M','larch5'),('Global','INFO','More information','I','larch5'),('Global','PAGEUP','Page Up','PgUp','larch5'),('Global','PAGEDOWN','Page Down','PgDown','larch5'),('Global','PREVVIEW','Previous View','Home','larch5'),('Global','NEXTVIEW','Next View','End','larch5'),('Global','HELP','Help','F1','larch5'),('Global','EJECT','Eject Removable Media','','larch5'),('Global','0','0','0','larch5'),('Global','1','1','1','larch5'),('Global','2','2','2','larch5'),('Global','3','3','3','larch5'),('Global','4','4','4','larch5'),('Global','5','5','5','larch5'),('Global','6','6','6','larch5'),('Global','7','7','7','larch5'),('Global','8','8','8','larch5'),('Global','9','9','9','larch5'),('qt','DELETE','Delete','D','larch5'),('qt','EDIT','Edit','E','larch5'),('TV Frontend','PAGEUP','Page Up','3','larch5'),('TV Frontend','PAGEDOWN','Page Down','9','larch5'),('TV Frontend','PAGETOP','Page to top of list','','larch5'),('TV Frontend','PAGEMIDDLE','Page to middle of list','','larch5'),('TV Frontend','PAGEBOTTOM','Page to bottom of list','','larch5'),('TV Frontend','DELETE','Delete Program','D','larch5'),('TV Frontend','PLAYBACK','Play Program','P','larch5'),('TV Frontend','TOGGLERECORD','Toggle recording status of current program','R','larch5'),('TV Frontend','DAYLEFT','Page the program guide back one day','Home,7','larch5'),('TV Frontend','DAYRIGHT','Page the program guide forward one day','End,1','larch5'),('TV Frontend','PAGELEFT','Page the program guide left',',,<','larch5'),('TV Frontend','PAGERIGHT','Page the program guide right','>,.','larch5'),('TV Frontend','TOGGLEFAV','Toggle the current channel as a favorite','?','larch5'),('TV Frontend','TOGGLEEPGORDER','Reverse the channel order in the program guide','0','larch5'),('TV Frontend','GUIDE','Show the Program Guide','S','larch5'),('TV Frontend','FINDER','Show the Program Finder','#','larch5'),('TV Frontend','NEXTFAV','Toggle showing all channels or just favorites in the program guide.','/','larch5'),('TV Frontend','CHANUPDATE','Switch channels without exiting guide in Live TV mode.','X','larch5'),('TV Frontend','VOLUMEDOWN','Volume down','[,{,F10,Volume Down','larch5'),('TV Frontend','VOLUMEUP','Volume up','],},F11,Volume Up','larch5'),('TV Frontend','MUTE','Mute','|,\\,F9,Volume Mute','larch5'),('TV Frontend','RANKINC','Increase program or channel rank','Right','larch5'),('TV Frontend','RANKDEC','Decrease program or channel rank','Left','larch5'),('TV Frontend','UPCOMING','List upcoming episodes','O','larch5'),('TV Frontend','DETAILS','Show program details','U','larch5'),('TV Frontend','VIEWCARD','Switch Capture Card view','Y','larch5'),('TV Frontend','VIEWINPUT','Switch Capture Card view','C','larch5'),('TV Frontend','CUSTOMEDIT','Edit Custom Record Rule','E','larch5'),('TV Frontend','CHANGERECGROUP','Change Recording Group','','larch5'),('TV Frontend','CHANGEGROUPVIEW','Change Group View','','larch5'),('TV Playback','CLEAROSD','Clear OSD','Backspace','larch5'),('TV Playback','PAUSE','Pause','P','larch5'),('TV Playback','DELETE','Delete Program','D','larch5'),('TV Playback','SEEKFFWD','Fast Forward','Right','larch5'),('TV Playback','SEEKRWND','Rewind','Left','larch5'),('TV Playback','ARBSEEK','Arbitrary Seek','*','larch5'),('TV Playback','CHANNELUP','Channel up','Up','larch5'),('TV Playback','CHANNELDOWN','Channel down','Down','larch5'),('TV Playback','NEXTFAV','Switch to the next favorite channel','/','larch5'),('TV Playback','PREVCHAN','Switch to the previous channel','H','larch5'),('TV Playback','JUMPFFWD','Jump ahead','PgDown','larch5'),('TV Playback','JUMPRWND','Jump back','PgUp','larch5'),('TV Playback','JUMPBKMRK','Jump to bookmark','K','larch5'),('TV Playback','FFWDSTICKY','Fast Forward (Sticky) or Forward one frame while paused','>,.','larch5'),('TV Playback','RWNDSTICKY','Rewind (Sticky) or Rewind one frame while paused',',,<','larch5'),('TV Playback','NEXTSOURCE','Next Video Source','Y','larch5'),('TV Playback','PREVSOURCE','Previous Video Source','Ctrl+Y','larch5'),('TV Playback','NEXTINPUT','Next Input','C','larch5'),('TV Playback','NEXTCARD','Next Card','','larch5'),('TV Playback','SKIPCOMMERCIAL','Skip Commercial','Z,End','larch5'),('TV Playback','SKIPCOMMBACK','Skip Commercial (Reverse)','Q,Home','larch5'),('TV Playback','JUMPSTART','Jump to the start of the recording.','Ctrl+B','larch5'),('TV Playback','TOGGLEBROWSE','Toggle channel browse mode','O','larch5'),('TV Playback','TOGGLERECORD','Toggle recording status of current program','R','larch5'),('TV Playback','TOGGLEFAV','Toggle the current channel as a favorite','?','larch5'),('TV Playback','VOLUMEDOWN','Volume down','[,{,F10,Volume Down','larch5'),('TV Playback','VOLUMEUP','Volume up','],},F11,Volume Up','larch5'),('TV Playback','MUTE','Mute','|,\\,F9,Volume Mute','larch5'),('TV Playback','TOGGLEPIPMODE','Toggle Picture-in-Picture mode','V','larch5'),('TV Playback','TOGGLEPIPWINDOW','Toggle active PiP window','B','larch5'),('TV Playback','SWAPPIP','Swap PiP/Main','N','larch5'),('TV Playback','TOGGLEASPECT','Toggle the video aspect ratio','Ctrl+W','larch5'),('TV Playback','TOGGLEFILL','Next Preconfigured Zoom mode','W','larch5'),('TV Playback','TOGGLECC','Toggle any captions','T','larch5'),('TV Playback','TOGGLETTC','Toggle Teletext Captions','','larch5'),('TV Playback','TOGGLESUBTITLE','Toggle Subtitles','','larch5'),('TV Playback','TOGGLECC608','Toggle VBI CC','','larch5'),('TV Playback','TOGGLECC708','Toggle ATSC CC','','larch5'),('TV Playback','TOGGLETTM','Toggle Teletext Menu','','larch5'),('TV Playback','SELECTAUDIO_0','Play audio track 1','','larch5'),('TV Playback','SELECTAUDIO_1','Play audio track 2','','larch5'),('TV Playback','SELECTSUBTITLE_0','Display subtitle 1','','larch5'),('TV Playback','SELECTSUBTITLE_1','Display subtitle 2','','larch5'),('TV Playback','SELECTCC608_0','Display VBI CC1','','larch5'),('TV Playback','SELECTCC608_1','Display VBI CC2','','larch5'),('TV Playback','SELECTCC608_2','Display VBI CC3','','larch5'),('TV Playback','SELECTCC608_3','Display VBI CC4','','larch5'),('TV Playback','SELECTCC708_0','Display ATSC CC1','','larch5'),('TV Playback','SELECTCC708_1','Display ATSC CC2','','larch5'),('TV Playback','SELECTCC708_2','Display ATSC CC3','','larch5'),('TV Playback','SELECTCC708_3','Display ATSC CC4','','larch5'),('TV Playback','NEXTAUDIO','Next audio track','+','larch5'),('TV Playback','PREVAUDIO','Previous audio track','-','larch5'),('TV Playback','NEXTSUBTITLE','Next subtitle track','','larch5'),('TV Playback','PREVSUBTITLE','Previous subtitle track','','larch5'),('TV Playback','NEXTCC608','Next VBI CC track','','larch5'),('TV Playback','PREVCC608','Previous VBI CC track','','larch5'),('TV Playback','NEXTCC708','Next ATSC CC track','','larch5'),('TV Playback','PREVCC708','Previous ATSC CC track','','larch5'),('TV Playback','NEXTCC','Next of any captions','','larch5'),('TV Playback','NEXTSCAN','Next video scan overidemode','','larch5'),('TV Playback','QUEUETRANSCODE','Queue the current recording for transcoding','X','larch5'),('TV Playback','SPEEDINC','Increase the playback speed','U','larch5'),('TV Playback','SPEEDDEC','Decrease the playback speed','J','larch5'),('TV Playback','ADJUSTSTRETCH','Turn on time stretch control','A','larch5'),('TV Playback','STRETCHINC','Increase time stretch speed','','larch5'),('TV Playback','STRETCHDEC','Decrease time stretch speed','','larch5'),('TV Playback','TOGGLESTRETCH','Toggle time stretch speed','','larch5'),('TV Playback','TOGGLEAUDIOSYNC','Turn on audio sync adjustment controls','','larch5'),('TV Playback','TOGGLEPICCONTROLS','Playback picture adjustments','F','larch5'),('TV Playback','TOGGLECHANCONTROLS','Recording picture adjustments for this channel','Ctrl+G','larch5'),('TV Playback','TOGGLERECCONTROLS','Recording picture adjustments for this recorder','G','larch5'),('TV Playback','TOGGLEEDIT','Start Edit Mode','E','larch5'),('TV Playback','CYCLECOMMSKIPMODE','Cycle Commercial Skip mode','','larch5'),('TV Playback','GUIDE','Show the Program Guide','S','larch5'),('TV Playback','FINDER','Show the Program Finder','#','larch5'),('TV Playback','TOGGLESLEEP','Toggle the Sleep Timer','F8','larch5'),('TV Playback','PLAY','Play','Ctrl+P','larch5'),('TV Playback','JUMPPREV','Jump to previously played recording','','larch5'),('TV Playback','JUMPREC','Display menu of recorded programs to jump to','','larch5'),('TV Playback','VIEWSCHEDULED','Display scheduled recording list','','larch5'),('TV Playback','SIGNALMON','Monitor Signal Quality','Alt+F7','larch5'),('TV Playback','JUMPTODVDROOTMENU','Jump to the DVD Root Menu','','larch5'),('TV Playback','EXITSHOWNOPROMPTS','Exit Show without any prompts','','larch5'),('TV Playback','SCREENSHOT','Save screenshot of current video frame','','larch5'),('TV Playback','MENURED','Menu Red','F2','larch5'),('TV Playback','MENUGREEN','Menu Green','F3','larch5'),('TV Playback','MENUYELLOW','Menu Yellow','F4','larch5'),('TV Playback','MENUBLUE','Menu Blue','F5','larch5'),('TV Playback','TEXTEXIT','Menu Exit','F6','larch5'),('TV Playback','MENUTEXT','Menu Text','F7','larch5'),('TV Playback','MENUEPG','Menu EPG','F12','larch5'),('TV Editing','CLEARMAP','Clear editing cut points','C,Q,Home','larch5'),('TV Editing','INVERTMAP','Invert Begin/End cut points','I','larch5'),('TV Editing','LOADCOMMSKIP','Load cut list from commercial skips','Z,End','larch5'),('TV Editing','NEXTCUT','Jump to the next cut point','PgDown','larch5'),('TV Editing','PREVCUT','Jump to the previous cut point','PgUp','larch5'),('TV Editing','BIGJUMPREW','Jump back 10x the normal amount',',,<','larch5'),('TV Editing','BIGJUMPFWD','Jump forward 10x the normal amount','>,.','larch5'),('TV Editing','TOGGLEEDIT','Exit out of Edit Mode','E','larch5'),('Teletext Menu','NEXTPAGE','Next Page','Down','larch5'),('Teletext Menu','PREVPAGE','Previous Page','Up','larch5'),('Teletext Menu','NEXTSUBPAGE','Next Subpage','Right','larch5'),('Teletext Menu','PREVSUBPAGE','Previous Subpage','Left','larch5'),('Teletext Menu','TOGGLETT','Toggle Teletext','T','larch5'),('Teletext Menu','MENURED','Menu Red','F2','larch5'),('Teletext Menu','MENUGREEN','Menu Green','F3','larch5'),('Teletext Menu','MENUYELLOW','Menu Yellow','F4','larch5'),('Teletext Menu','MENUBLUE','Menu Blue','F5','larch5'),('Teletext Menu','MENUWHITE','Menu White','F6','larch5'),('Teletext Menu','TOGGLEBACKGROUND','Toggle Background','F7','larch5'),('Teletext Menu','REVEAL','Reveal hidden Text','F8','larch5'),('Archive','TOGGLECUT','Toggle use cut list state for selected program','C','larch5'),('NetFlix','MOVETOTOP','Moves movie to top of queue','1','larch5'),('NetFlix','REMOVE','Removes movie from queue','D','larch5'),('Gallery','PLAY','Start/Stop Slideshow','P','larch5'),('Gallery','HOME','Go to the first image in thumbnail view','Home','larch5'),('Gallery','END','Go to the last image in thumbnail view','End','larch5'),('Gallery','MENU','Toggle activating menu in thumbnail view','M','larch5'),('Gallery','SLIDESHOW','Start Slideshow in thumbnail view','S','larch5'),('Gallery','RANDOMSHOW','Start Random Slideshow in thumbnail view','R','larch5'),('Gallery','ROTRIGHT','Rotate image right 90 degrees','],3','larch5'),('Gallery','ROTLEFT','Rotate image left 90 degrees','[,1','larch5'),('Gallery','ZOOMOUT','Zoom image out','7','larch5'),('Gallery','ZOOMIN','Zoom image in','9','larch5'),('Gallery','SCROLLUP','Scroll image up','2','larch5'),('Gallery','SCROLLLEFT','Scroll image left','4','larch5'),('Gallery','SCROLLRIGHT','Scroll image right','6','larch5'),('Gallery','SCROLLDOWN','Scroll image down','8','larch5'),('Gallery','RECENTER','Recenter image','5','larch5'),('Gallery','FULLSIZE','Full-size (un-zoom) image','0','larch5'),('Gallery','UPLEFT','Go to the upper-left corner of the image','PgUp','larch5'),('Gallery','LOWRIGHT','Go to the lower-right corner of the image','PgDown','larch5'),('Gallery','INFO','Toggle Showing Information about Image','I','larch5'),('Gallery','DELETE','Delete marked images or current image if none are marked','D','larch5'),('Gallery','MARK','Mark image','T','larch5'),('Gallery','FULLSCREEN','Toggle scale to fullscreen/scale to fit','W','larch5'),('Game','TOGGLEFAV','Toggle the current game as a favorite','?,/','larch5'),('Game','INCSEARCH','Show incremental search dialog','Ctrl+S','larch5'),('Game','INCSEARCHNEXT','Incremental search find next match','Ctrl+N','larch5'),('Music','DELETE','Delete track from playlist','D','larch5'),('Music','NEXTTRACK','Move to the next track','>,.,Z,End','larch5'),('Music','PREVTRACK','Move to the previous track',',,<,Q,Home','larch5'),('Music','FFWD','Fast forward','PgDown','larch5'),('Music','RWND','Rewind','PgUp','larch5'),('Music','PAUSE','Pause/Start playback','P','larch5'),('Music','PLAY','Start playback','','larch5'),('Music','STOP','Stop playback','O','larch5'),('Music','VOLUMEDOWN','Volume down','[,{,F10,Volume Down','larch5'),('Music','VOLUMEUP','Volume up','],},F11,Volume Up','larch5'),('Music','MUTE','Mute','|,\\,F9,Volume Mute','larch5'),('Music','CYCLEVIS','Cycle visualizer mode','6','larch5'),('Music','BLANKSCR','Blank screen','5','larch5'),('Music','THMBUP','Increase rating','9','larch5'),('Music','THMBDOWN','Decrease rating','7','larch5'),('Music','REFRESH','Refresh music tree','8','larch5'),('Music','FILTER','Filter All My Music','F','larch5'),('Music','INCSEARCH','Show incremental search dialog','Ctrl+S','larch5'),('Music','INCSEARCHNEXT','Incremental search find next match','Ctrl+N','larch5'),('Music','SPEEDUP','Increase Play Speed','W','larch5'),('Music','SPEEDDOWN','Decrease Play Speed','X','larch5'),('News','RETRIEVENEWS','Update news items','I','larch5'),('News','FORCERETRIEVE','Force update news items','M','larch5'),('News','CANCEL','Cancel news item updating','C','larch5'),('Phone','0','0','0','larch5'),('Phone','1','1','1','larch5'),('Phone','2','2','2','larch5'),('Phone','3','3','3','larch5'),('Phone','4','4','4','larch5'),('Phone','5','5','5','larch5'),('Phone','6','6','6','larch5'),('Phone','7','7','7','larch5'),('Phone','8','8','8','larch5'),('Phone','9','9','9','larch5'),('Phone','HASH','HASH','#','larch5'),('Phone','STAR','STAR','*','larch5'),('Phone','Up','Up','Up','larch5'),('Phone','Down','Down','Down','larch5'),('Phone','Left','Left','Left','larch5'),('Phone','Right','Right','Right','larch5'),('Phone','VOLUMEDOWN','Volume down','[,{,F10,Volume Down','larch5'),('Phone','VOLUMEUP','Volume up','],},F11,Volume Up','larch5'),('Phone','MUTE','Mute','|,\\,F9,Volume Mute','larch5'),('Phone','ZOOMIN','Zoom the video window in','>,.,Z,End','larch5'),('Phone','ZOOMOUT','Zoom the video window out',',,<,Q,Home','larch5'),('Phone','FULLSCRN','Show received video full-screen','P','larch5'),('Phone','HANGUP','Hangup an active call','O','larch5'),('Phone','LOOPBACK','Loopback Video','L','larch5'),('Video','FILTER','Open video filter dialog','F','larch5'),('Video','DELETE','Delete video','D','larch5'),('Video','BROWSE','Change browsable in video manager','B','larch5'),('Video','INCPARENT','Increase Parental Level','],},F11','larch5'),('Video','DECPARENT','Decrease Parental Level','[,{,F10','larch5'),('Video','HOME','Go to the first video','Home','larch5'),('Video','END','Go to the last video','End','larch5'),('Weather','PAUSE','Pause current page','P','larch5'),('Weather','SEARCH','Search List','/','larch5'),('Weather','NEXTSEARCH','Search List','n','larch5'),('Weather','UPDATE','Search List','u','larch5'),('Weather','DELETE','Delete screen from list','D','larch5');
-/*!40000 ALTER TABLE `keybindings` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `keyword`
---
-
-DROP TABLE IF EXISTS `keyword`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `keyword` (
- `phrase` varchar(128) NOT NULL default '',
- `searchtype` int(10) unsigned NOT NULL default '3',
- UNIQUE KEY `phrase` (`phrase`,`searchtype`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `keyword`
---
-
-LOCK TABLES `keyword` WRITE;
-/*!40000 ALTER TABLE `keyword` DISABLE KEYS */;
-/*!40000 ALTER TABLE `keyword` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_albumart`
---
-
-DROP TABLE IF EXISTS `music_albumart`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_albumart` (
- `albumart_id` int(20) NOT NULL auto_increment,
- `filename` varchar(255) NOT NULL default '',
- `directory_id` int(20) NOT NULL default '0',
- `imagetype` tinyint(3) NOT NULL default '0',
- `song_id` int(11) NOT NULL default '0',
- `embedded` tinyint(1) NOT NULL default '0',
- PRIMARY KEY (`albumart_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_albumart`
---
-
-LOCK TABLES `music_albumart` WRITE;
-/*!40000 ALTER TABLE `music_albumart` DISABLE KEYS */;
-/*!40000 ALTER TABLE `music_albumart` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_albums`
---
-
-DROP TABLE IF EXISTS `music_albums`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_albums` (
- `album_id` int(11) unsigned NOT NULL auto_increment,
- `artist_id` int(11) unsigned NOT NULL default '0',
- `album_name` varchar(255) NOT NULL default '',
- `year` smallint(6) NOT NULL default '0',
- `compilation` tinyint(1) unsigned NOT NULL default '0',
- PRIMARY KEY (`album_id`),
- KEY `idx_album_name` (`album_name`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_albums`
---
-
-LOCK TABLES `music_albums` WRITE;
-/*!40000 ALTER TABLE `music_albums` DISABLE KEYS */;
-/*!40000 ALTER TABLE `music_albums` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_artists`
---
-
-DROP TABLE IF EXISTS `music_artists`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_artists` (
- `artist_id` int(11) unsigned NOT NULL auto_increment,
- `artist_name` varchar(255) NOT NULL default '',
- PRIMARY KEY (`artist_id`),
- KEY `idx_artist_name` (`artist_name`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_artists`
---
-
-LOCK TABLES `music_artists` WRITE;
-/*!40000 ALTER TABLE `music_artists` DISABLE KEYS */;
-/*!40000 ALTER TABLE `music_artists` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_directories`
---
-
-DROP TABLE IF EXISTS `music_directories`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_directories` (
- `directory_id` int(20) NOT NULL auto_increment,
- `path` text NOT NULL,
- `parent_id` int(20) NOT NULL default '0',
- PRIMARY KEY (`directory_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_directories`
---
-
-LOCK TABLES `music_directories` WRITE;
-/*!40000 ALTER TABLE `music_directories` DISABLE KEYS */;
-/*!40000 ALTER TABLE `music_directories` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_genres`
---
-
-DROP TABLE IF EXISTS `music_genres`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_genres` (
- `genre_id` int(11) unsigned NOT NULL auto_increment,
- `genre` varchar(255) NOT NULL default '',
- PRIMARY KEY (`genre_id`),
- KEY `idx_genre` (`genre`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_genres`
---
-
-LOCK TABLES `music_genres` WRITE;
-/*!40000 ALTER TABLE `music_genres` DISABLE KEYS */;
-/*!40000 ALTER TABLE `music_genres` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_playlists`
---
-
-DROP TABLE IF EXISTS `music_playlists`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_playlists` (
- `playlist_id` int(11) unsigned NOT NULL auto_increment,
- `playlist_name` varchar(255) NOT NULL default '',
- `playlist_songs` text NOT NULL,
- `last_accessed` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `length` int(11) unsigned NOT NULL default '0',
- `songcount` smallint(8) unsigned NOT NULL default '0',
- `hostname` varchar(255) NOT NULL default '',
- PRIMARY KEY (`playlist_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_playlists`
---
-
-LOCK TABLES `music_playlists` WRITE;
-/*!40000 ALTER TABLE `music_playlists` DISABLE KEYS */;
-/*!40000 ALTER TABLE `music_playlists` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_smartplaylist_categories`
---
-
-DROP TABLE IF EXISTS `music_smartplaylist_categories`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_smartplaylist_categories` (
- `categoryid` int(10) unsigned NOT NULL auto_increment,
- `name` varchar(128) NOT NULL,
- PRIMARY KEY (`categoryid`),
- KEY `name` (`name`)
-) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_smartplaylist_categories`
---
-
-LOCK TABLES `music_smartplaylist_categories` WRITE;
-/*!40000 ALTER TABLE `music_smartplaylist_categories` DISABLE KEYS */;
-INSERT INTO `music_smartplaylist_categories` (`categoryid`, `name`) VALUES (1,'Decades'),(2,'Favourite Tracks'),(3,'New Tracks');
-/*!40000 ALTER TABLE `music_smartplaylist_categories` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_smartplaylist_items`
---
-
-DROP TABLE IF EXISTS `music_smartplaylist_items`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_smartplaylist_items` (
- `smartplaylistitemid` int(10) unsigned NOT NULL auto_increment,
- `smartplaylistid` int(10) unsigned NOT NULL,
- `field` varchar(50) NOT NULL,
- `operator` varchar(20) NOT NULL,
- `value1` varchar(255) NOT NULL,
- `value2` varchar(255) NOT NULL,
- PRIMARY KEY (`smartplaylistitemid`),
- KEY `smartplaylistid` (`smartplaylistid`)
-) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_smartplaylist_items`
---
-
-LOCK TABLES `music_smartplaylist_items` WRITE;
-/*!40000 ALTER TABLE `music_smartplaylist_items` DISABLE KEYS */;
-INSERT INTO `music_smartplaylist_items` (`smartplaylistitemid`, `smartplaylistid`, `field`, `operator`, `value1`, `value2`) VALUES (1,1,'Year','is between','1960','1969'),(2,2,'Year','is between','1970','1979'),(3,3,'Year','is between','1980','1989'),(4,4,'Year','is between','1990','1999'),(5,5,'Year','is between','2000','2009'),(6,6,'Rating','is greater than','7','0'),(7,7,'Play Count','is greater than','0','0'),(8,8,'Play Count','is equal to','0','0');
-/*!40000 ALTER TABLE `music_smartplaylist_items` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_smartplaylists`
---
-
-DROP TABLE IF EXISTS `music_smartplaylists`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_smartplaylists` (
- `smartplaylistid` int(10) unsigned NOT NULL auto_increment,
- `name` varchar(128) NOT NULL,
- `categoryid` int(10) unsigned NOT NULL,
- `matchtype` set('All','Any') NOT NULL default 'All',
- `orderby` varchar(128) NOT NULL default '',
- `limitto` int(10) unsigned NOT NULL default '0',
- PRIMARY KEY (`smartplaylistid`),
- KEY `name` (`name`),
- KEY `categoryid` (`categoryid`)
-) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_smartplaylists`
---
-
-LOCK TABLES `music_smartplaylists` WRITE;
-/*!40000 ALTER TABLE `music_smartplaylists` DISABLE KEYS */;
-INSERT INTO `music_smartplaylists` (`smartplaylistid`, `name`, `categoryid`, `matchtype`, `orderby`, `limitto`) VALUES (1,'1960\'s',1,'All','Artist (A)',0),(2,'1970\'s',1,'All','Artist (A)',0),(3,'1980\'s',1,'All','Artist (A)',0),(4,'1990\'s',1,'All','Artist (A)',0),(5,'2000\'s',1,'All','Artist (A)',0),(6,'Favorite Tracks',2,'All','Artist (A), Album (A)',0),(7,'100 Most Played Tracks',2,'All','Play Count (D)',100),(8,'Never Played Tracks',3,'All','Artist (A), Album (A)',0);
-/*!40000 ALTER TABLE `music_smartplaylists` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_songs`
---
-
-DROP TABLE IF EXISTS `music_songs`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_songs` (
- `song_id` int(11) unsigned NOT NULL auto_increment,
- `filename` text NOT NULL,
- `name` varchar(255) NOT NULL default '',
- `track` smallint(6) unsigned NOT NULL default '0',
- `artist_id` int(11) unsigned NOT NULL default '0',
- `album_id` int(11) unsigned NOT NULL default '0',
- `genre_id` int(11) unsigned NOT NULL default '0',
- `year` smallint(6) NOT NULL default '0',
- `length` int(11) unsigned NOT NULL default '0',
- `numplays` int(11) unsigned NOT NULL default '0',
- `rating` tinyint(4) unsigned NOT NULL default '0',
- `lastplay` datetime default NULL,
- `date_entered` datetime default NULL,
- `date_modified` datetime default NULL,
- `format` varchar(4) NOT NULL default '0',
- `mythdigest` varchar(255) default NULL,
- `size` bigint(20) unsigned default NULL,
- `description` varchar(255) default NULL,
- `comment` varchar(255) default NULL,
- `disc_count` smallint(5) unsigned default '0',
- `disc_number` smallint(5) unsigned default '0',
- `track_count` smallint(5) unsigned default '0',
- `start_time` int(10) unsigned default '0',
- `stop_time` int(10) unsigned default NULL,
- `eq_preset` varchar(255) default NULL,
- `relative_volume` tinyint(4) default '0',
- `sample_rate` int(10) unsigned default '0',
- `bitrate` int(10) unsigned default '0',
- `bpm` smallint(5) unsigned default NULL,
- `directory_id` int(20) NOT NULL default '0',
- PRIMARY KEY (`song_id`),
- KEY `idx_name` (`name`),
- KEY `idx_mythdigest` (`mythdigest`),
- KEY `directory_id` (`directory_id`),
- KEY `album_id` (`album_id`),
- KEY `genre_id` (`genre_id`),
- KEY `artist_id` (`artist_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_songs`
---
-
-LOCK TABLES `music_songs` WRITE;
-/*!40000 ALTER TABLE `music_songs` DISABLE KEYS */;
-/*!40000 ALTER TABLE `music_songs` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `music_stats`
---
-
-DROP TABLE IF EXISTS `music_stats`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `music_stats` (
- `num_artists` smallint(5) unsigned NOT NULL default '0',
- `num_albums` smallint(5) unsigned NOT NULL default '0',
- `num_songs` mediumint(8) unsigned NOT NULL default '0',
- `num_genres` tinyint(3) unsigned NOT NULL default '0',
- `total_time` varchar(12) NOT NULL default '0',
- `total_size` varchar(10) NOT NULL default '0'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `music_stats`
---
-
-LOCK TABLES `music_stats` WRITE;
-/*!40000 ALTER TABLE `music_stats` DISABLE KEYS */;
-/*!40000 ALTER TABLE `music_stats` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `musicmetadata`
---
-
-DROP TABLE IF EXISTS `musicmetadata`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `musicmetadata` (
- `intid` int(10) unsigned NOT NULL auto_increment,
- `artist` varchar(128) NOT NULL,
- `compilation_artist` varchar(128) NOT NULL,
- `album` varchar(128) NOT NULL,
- `title` varchar(128) NOT NULL,
- `genre` varchar(128) NOT NULL,
- `year` int(10) unsigned NOT NULL,
- `tracknum` int(10) unsigned NOT NULL,
- `length` int(10) unsigned NOT NULL,
- `filename` text NOT NULL,
- `rating` int(10) unsigned NOT NULL default '5',
- `lastplay` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `playcount` int(10) unsigned NOT NULL default '0',
- `mythdigest` varchar(255) default NULL,
- `size` bigint(20) unsigned default NULL,
- `date_added` datetime default NULL,
- `date_modified` datetime default NULL,
- `format` varchar(4) default NULL,
- `description` varchar(255) default NULL,
- `comment` varchar(255) default NULL,
- `compilation` tinyint(4) default '0',
- `composer` varchar(255) default NULL,
- `disc_count` smallint(5) unsigned default '0',
- `disc_number` smallint(5) unsigned default '0',
- `track_count` smallint(5) unsigned default '0',
- `start_time` int(10) unsigned default '0',
- `stop_time` int(10) unsigned default NULL,
- `eq_preset` varchar(255) default NULL,
- `relative_volume` tinyint(4) default '0',
- `sample_rate` int(10) unsigned default NULL,
- `bpm` smallint(5) unsigned default NULL,
- PRIMARY KEY (`intid`),
- KEY `artist` (`artist`),
- KEY `album` (`album`),
- KEY `title` (`title`),
- KEY `genre` (`genre`),
- KEY `mythdigest` (`mythdigest`),
- KEY `compilation_artist` (`compilation_artist`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `musicmetadata`
---
-
-LOCK TABLES `musicmetadata` WRITE;
-/*!40000 ALTER TABLE `musicmetadata` DISABLE KEYS */;
-/*!40000 ALTER TABLE `musicmetadata` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `musicplaylist`
---
-
-DROP TABLE IF EXISTS `musicplaylist`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `musicplaylist` (
- `playlistid` int(10) unsigned NOT NULL auto_increment,
- `name` varchar(128) NOT NULL,
- `hostname` varchar(255) default NULL,
- `songlist` text NOT NULL,
- PRIMARY KEY (`playlistid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `musicplaylist`
---
-
-LOCK TABLES `musicplaylist` WRITE;
-/*!40000 ALTER TABLE `musicplaylist` DISABLE KEYS */;
-/*!40000 ALTER TABLE `musicplaylist` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mythlog`
---
-
-DROP TABLE IF EXISTS `mythlog`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `mythlog` (
- `logid` int(10) unsigned NOT NULL auto_increment,
- `module` varchar(32) NOT NULL default '',
- `priority` int(11) NOT NULL default '0',
- `acknowledged` tinyint(1) default '0',
- `logdate` datetime default NULL,
- `host` varchar(128) default NULL,
- `message` varchar(255) NOT NULL default '',
- `details` text,
- PRIMARY KEY (`logid`),
- KEY `module` (`module`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `mythlog`
---
-
-LOCK TABLES `mythlog` WRITE;
-/*!40000 ALTER TABLE `mythlog` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mythlog` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `netflix`
---
-
-DROP TABLE IF EXISTS `netflix`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `netflix` (
- `name` varchar(100) NOT NULL,
- `category` varchar(255) NOT NULL,
- `url` varchar(255) NOT NULL,
- `ico` varchar(255) default NULL,
- `updated` int(10) unsigned default NULL,
- `is_queue` int(10) unsigned default NULL,
- `queue` varchar(32) NOT NULL default '',
- PRIMARY KEY (`name`,`queue`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `netflix`
---
-
-LOCK TABLES `netflix` WRITE;
-/*!40000 ALTER TABLE `netflix` DISABLE KEYS */;
-/*!40000 ALTER TABLE `netflix` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `networkiconmap`
---
-
-DROP TABLE IF EXISTS `networkiconmap`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `networkiconmap` (
- `id` int(11) NOT NULL auto_increment,
- `network` varchar(20) NOT NULL default '',
- `url` varchar(255) NOT NULL default '',
- PRIMARY KEY (`id`),
- UNIQUE KEY `network` (`network`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `networkiconmap`
---
-
-LOCK TABLES `networkiconmap` WRITE;
-/*!40000 ALTER TABLE `networkiconmap` DISABLE KEYS */;
-/*!40000 ALTER TABLE `networkiconmap` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `oldfind`
---
-
-DROP TABLE IF EXISTS `oldfind`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `oldfind` (
- `recordid` int(11) NOT NULL default '0',
- `findid` int(11) NOT NULL default '0',
- PRIMARY KEY (`recordid`,`findid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `oldfind`
---
-
-LOCK TABLES `oldfind` WRITE;
-/*!40000 ALTER TABLE `oldfind` DISABLE KEYS */;
-/*!40000 ALTER TABLE `oldfind` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `oldprogram`
---
-
-DROP TABLE IF EXISTS `oldprogram`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `oldprogram` (
- `oldtitle` varchar(128) NOT NULL default '',
- `airdate` datetime NOT NULL default '0000-00-00 00:00:00',
- PRIMARY KEY (`oldtitle`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `oldprogram`
---
-
-LOCK TABLES `oldprogram` WRITE;
-/*!40000 ALTER TABLE `oldprogram` DISABLE KEYS */;
-/*!40000 ALTER TABLE `oldprogram` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `oldrecorded`
---
-
-DROP TABLE IF EXISTS `oldrecorded`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `oldrecorded` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `endtime` datetime NOT NULL default '0000-00-00 00:00:00',
- `title` varchar(128) NOT NULL default '',
- `subtitle` varchar(128) NOT NULL default '',
- `description` text NOT NULL,
- `category` varchar(64) NOT NULL default '',
- `seriesid` varchar(40) NOT NULL default '',
- `programid` varchar(40) NOT NULL default '',
- `findid` int(11) NOT NULL default '0',
- `recordid` int(11) NOT NULL default '0',
- `station` varchar(20) NOT NULL default '',
- `rectype` int(10) unsigned NOT NULL default '0',
- `duplicate` tinyint(1) NOT NULL default '0',
- `recstatus` int(11) NOT NULL default '0',
- `reactivate` smallint(6) NOT NULL default '0',
- `generic` tinyint(1) default '0',
- PRIMARY KEY (`station`,`starttime`,`title`),
- KEY `endtime` (`endtime`),
- KEY `title` (`title`),
- KEY `seriesid` (`seriesid`),
- KEY `programid` (`programid`),
- KEY `recordid` (`recordid`),
- KEY `recstatus` (`recstatus`,`programid`,`seriesid`),
- KEY `recstatus_2` (`recstatus`,`title`,`subtitle`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `oldrecorded`
---
-
-LOCK TABLES `oldrecorded` WRITE;
-/*!40000 ALTER TABLE `oldrecorded` DISABLE KEYS */;
-/*!40000 ALTER TABLE `oldrecorded` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `people`
---
-
-DROP TABLE IF EXISTS `people`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `people` (
- `person` mediumint(8) unsigned NOT NULL auto_increment,
- `name` char(128) NOT NULL default '',
- PRIMARY KEY (`person`),
- UNIQUE KEY `name` (`name`(41))
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `people`
---
-
-LOCK TABLES `people` WRITE;
-/*!40000 ALTER TABLE `people` DISABLE KEYS */;
-/*!40000 ALTER TABLE `people` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `phonecallhistory`
---
-
-DROP TABLE IF EXISTS `phonecallhistory`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `phonecallhistory` (
- `recid` int(10) unsigned NOT NULL auto_increment,
- `displayname` text NOT NULL,
- `url` text NOT NULL,
- `timestamp` text NOT NULL,
- `duration` int(10) unsigned NOT NULL,
- `directionin` int(10) unsigned NOT NULL,
- `directoryref` int(10) unsigned default NULL,
- PRIMARY KEY (`recid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `phonecallhistory`
---
-
-LOCK TABLES `phonecallhistory` WRITE;
-/*!40000 ALTER TABLE `phonecallhistory` DISABLE KEYS */;
-/*!40000 ALTER TABLE `phonecallhistory` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `phonedirectory`
---
-
-DROP TABLE IF EXISTS `phonedirectory`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `phonedirectory` (
- `intid` int(10) unsigned NOT NULL auto_increment,
- `nickname` text NOT NULL,
- `firstname` text,
- `surname` text,
- `url` text NOT NULL,
- `directory` text NOT NULL,
- `photofile` text,
- `speeddial` int(10) unsigned NOT NULL,
- `onhomelan` int(10) unsigned default '0',
- PRIMARY KEY (`intid`)
-) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `phonedirectory`
---
-
-LOCK TABLES `phonedirectory` WRITE;
-/*!40000 ALTER TABLE `phonedirectory` DISABLE KEYS */;
-INSERT INTO `phonedirectory` (`intid`, `nickname`, `firstname`, `surname`, `url`, `directory`, `photofile`, `speeddial`, `onhomelan`) VALUES (1,'Me(larch5)','Local Myth Host','larch5','','My MythTVs','',1,1);
-/*!40000 ALTER TABLE `phonedirectory` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `pidcache`
---
-
-DROP TABLE IF EXISTS `pidcache`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `pidcache` (
- `chanid` smallint(6) NOT NULL default '0',
- `pid` int(11) NOT NULL default '-1',
- `tableid` int(11) NOT NULL default '-1',
- KEY `chanid` (`chanid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `pidcache`
---
-
-LOCK TABLES `pidcache` WRITE;
-/*!40000 ALTER TABLE `pidcache` DISABLE KEYS */;
-/*!40000 ALTER TABLE `pidcache` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `playgroup`
---
-
-DROP TABLE IF EXISTS `playgroup`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `playgroup` (
- `name` varchar(32) NOT NULL default '',
- `titlematch` varchar(255) NOT NULL default '',
- `skipahead` int(11) NOT NULL default '0',
- `skipback` int(11) NOT NULL default '0',
- `timestretch` int(11) NOT NULL default '0',
- `jump` int(11) NOT NULL default '0',
- PRIMARY KEY (`name`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `playgroup`
---
-
-LOCK TABLES `playgroup` WRITE;
-/*!40000 ALTER TABLE `playgroup` DISABLE KEYS */;
-INSERT INTO `playgroup` (`name`, `titlematch`, `skipahead`, `skipback`, `timestretch`, `jump`) VALUES ('Default','',30,5,100,0);
-/*!40000 ALTER TABLE `playgroup` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `powerpriority`
---
-
-DROP TABLE IF EXISTS `powerpriority`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `powerpriority` (
- `priorityname` varchar(64) NOT NULL,
- `recpriority` int(10) NOT NULL default '0',
- `selectclause` text NOT NULL,
- PRIMARY KEY (`priorityname`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `powerpriority`
---
-
-LOCK TABLES `powerpriority` WRITE;
-/*!40000 ALTER TABLE `powerpriority` DISABLE KEYS */;
-/*!40000 ALTER TABLE `powerpriority` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `profilegroups`
---
-
-DROP TABLE IF EXISTS `profilegroups`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `profilegroups` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `name` varchar(128) default NULL,
- `cardtype` varchar(32) NOT NULL default 'V4L',
- `is_default` int(1) default '0',
- `hostname` varchar(255) default NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `name` (`name`,`hostname`),
- KEY `cardtype` (`cardtype`)
-) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `profilegroups`
---
-
-LOCK TABLES `profilegroups` WRITE;
-/*!40000 ALTER TABLE `profilegroups` DISABLE KEYS */;
-INSERT INTO `profilegroups` (`id`, `name`, `cardtype`, `is_default`, `hostname`) VALUES (1,'Software Encoders (v4l based)','V4L',1,NULL),(2,'MPEG-2 Encoders (PVR-x50, PVR-500)','MPEG',1,NULL),(3,'Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)','MJPEG',1,NULL),(4,'Hardware HDTV','HDTV',1,NULL),(5,'Hardware DVB Encoders','DVB',1,NULL),(6,'Transcoders','TRANSCODE',1,NULL),(7,'FireWire Input','FIREWIRE',1,NULL),(8,'USB Mpeg-4 Encoder (Plextor ConvertX, etc)','GO7007',1,NULL),(9,'DBOX2 Input','DBOX2',1,NULL),(10,'Freebox Input','Freebox',1,NULL),(11,'HDHomeRun Recorders','HDHOMERUN',1,NULL),(12,'CRC IP Recorders','CRC_IP',1,NULL);
-/*!40000 ALTER TABLE `profilegroups` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `program`
---
-
-DROP TABLE IF EXISTS `program`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `program` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `endtime` datetime NOT NULL default '0000-00-00 00:00:00',
- `title` varchar(128) NOT NULL default '',
- `subtitle` varchar(128) NOT NULL default '',
- `description` text NOT NULL,
- `category` varchar(64) NOT NULL default '',
- `category_type` varchar(64) NOT NULL default '',
- `airdate` year(4) NOT NULL default '0000',
- `stars` float NOT NULL default '0',
- `previouslyshown` tinyint(4) NOT NULL default '0',
- `title_pronounce` varchar(128) NOT NULL default '',
- `stereo` tinyint(1) NOT NULL default '0',
- `subtitled` tinyint(1) NOT NULL default '0',
- `hdtv` tinyint(1) NOT NULL default '0',
- `closecaptioned` tinyint(1) NOT NULL default '0',
- `partnumber` int(11) NOT NULL default '0',
- `parttotal` int(11) NOT NULL default '0',
- `seriesid` varchar(40) NOT NULL default '',
- `originalairdate` date default NULL,
- `showtype` varchar(30) NOT NULL default '',
- `colorcode` varchar(20) NOT NULL default '',
- `syndicatedepisodenumber` varchar(20) NOT NULL default '',
- `programid` varchar(40) NOT NULL default '',
- `manualid` int(10) unsigned NOT NULL default '0',
- `generic` tinyint(1) default '0',
- `listingsource` int(11) NOT NULL default '0',
- `first` tinyint(1) NOT NULL default '0',
- `last` tinyint(1) NOT NULL default '0',
- `audioprop` set('STEREO','MONO','SURROUND','DOLBY','HARDHEAR','VISUALIMPAIR') NOT NULL,
- `subtitletypes` set('HARDHEAR','NORMAL','ONSCREEN','SIGNED') NOT NULL,
- `videoprop` set('HDTV','WIDESCREEN','AVC') NOT NULL,
- PRIMARY KEY (`chanid`,`starttime`,`manualid`),
- KEY `endtime` (`endtime`),
- KEY `title` (`title`),
- KEY `title_pronounce` (`title_pronounce`),
- KEY `seriesid` (`seriesid`),
- KEY `id_start_end` (`chanid`,`starttime`,`endtime`),
- KEY `program_manualid` (`manualid`),
- KEY `previouslyshown` (`previouslyshown`),
- KEY `programid` (`programid`,`starttime`),
- KEY `starttime` (`starttime`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `program`
---
-
-LOCK TABLES `program` WRITE;
-/*!40000 ALTER TABLE `program` DISABLE KEYS */;
-/*!40000 ALTER TABLE `program` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `programgenres`
---
-
-DROP TABLE IF EXISTS `programgenres`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `programgenres` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `relevance` char(1) NOT NULL default '',
- `genre` char(30) default NULL,
- PRIMARY KEY (`chanid`,`starttime`,`relevance`),
- KEY `genre` (`genre`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `programgenres`
---
-
-LOCK TABLES `programgenres` WRITE;
-/*!40000 ALTER TABLE `programgenres` DISABLE KEYS */;
-/*!40000 ALTER TABLE `programgenres` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `programrating`
---
-
-DROP TABLE IF EXISTS `programrating`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `programrating` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `system` char(8) NOT NULL default '',
- `rating` char(16) default NULL,
- UNIQUE KEY `chanid` (`chanid`,`starttime`,`system`,`rating`),
- KEY `starttime` (`starttime`,`system`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `programrating`
---
-
-LOCK TABLES `programrating` WRITE;
-/*!40000 ALTER TABLE `programrating` DISABLE KEYS */;
-/*!40000 ALTER TABLE `programrating` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `recgrouppassword`
---
-
-DROP TABLE IF EXISTS `recgrouppassword`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `recgrouppassword` (
- `recgroup` varchar(32) NOT NULL default '',
- `password` varchar(10) NOT NULL default '',
- PRIMARY KEY (`recgroup`),
- UNIQUE KEY `recgroup` (`recgroup`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `recgrouppassword`
---
-
-LOCK TABLES `recgrouppassword` WRITE;
-/*!40000 ALTER TABLE `recgrouppassword` DISABLE KEYS */;
-/*!40000 ALTER TABLE `recgrouppassword` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `record`
---
-
-DROP TABLE IF EXISTS `record`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `record` (
- `recordid` int(10) unsigned NOT NULL auto_increment,
- `type` int(10) unsigned NOT NULL default '0',
- `chanid` int(10) unsigned default NULL,
- `starttime` time NOT NULL default '00:00:00',
- `startdate` date NOT NULL default '0000-00-00',
- `endtime` time NOT NULL default '00:00:00',
- `enddate` date NOT NULL default '0000-00-00',
- `title` varchar(128) NOT NULL default '',
- `subtitle` varchar(128) NOT NULL default '',
- `description` text NOT NULL,
- `category` varchar(64) NOT NULL default '',
- `profile` varchar(128) NOT NULL default 'Default',
- `recpriority` int(10) NOT NULL default '0',
- `autoexpire` int(11) NOT NULL default '0',
- `maxepisodes` int(11) NOT NULL default '0',
- `maxnewest` int(11) NOT NULL default '0',
- `startoffset` int(11) NOT NULL default '0',
- `endoffset` int(11) NOT NULL default '0',
- `recgroup` varchar(32) NOT NULL default 'Default',
- `dupmethod` int(11) NOT NULL default '6',
- `dupin` int(11) NOT NULL default '15',
- `station` varchar(20) NOT NULL default '',
- `seriesid` varchar(40) NOT NULL default '',
- `programid` varchar(40) NOT NULL default '',
- `search` int(10) unsigned NOT NULL default '0',
- `autotranscode` tinyint(1) NOT NULL default '0',
- `autocommflag` tinyint(1) NOT NULL default '0',
- `autouserjob1` tinyint(1) NOT NULL default '0',
- `autouserjob2` tinyint(1) NOT NULL default '0',
- `autouserjob3` tinyint(1) NOT NULL default '0',
- `autouserjob4` tinyint(1) NOT NULL default '0',
- `findday` tinyint(4) NOT NULL default '0',
- `findtime` time NOT NULL default '00:00:00',
- `findid` int(11) NOT NULL default '0',
- `inactive` tinyint(1) NOT NULL default '0',
- `parentid` int(11) NOT NULL default '0',
- `transcoder` int(11) NOT NULL default '0',
- `tsdefault` float NOT NULL default '1',
- `playgroup` varchar(32) NOT NULL default 'Default',
- `prefinput` int(10) NOT NULL default '0',
- `next_record` datetime NOT NULL,
- `last_record` datetime NOT NULL,
- `last_delete` datetime NOT NULL,
- `storagegroup` varchar(32) NOT NULL default 'Default',
- `avg_delay` int(11) NOT NULL default '100',
- PRIMARY KEY (`recordid`),
- KEY `chanid` (`chanid`,`starttime`),
- KEY `title` (`title`),
- KEY `seriesid` (`seriesid`),
- KEY `programid` (`programid`),
- KEY `maxepisodes` (`maxepisodes`),
- KEY `search` (`search`),
- KEY `type` (`type`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `record`
---
-
-LOCK TABLES `record` WRITE;
-/*!40000 ALTER TABLE `record` DISABLE KEYS */;
-/*!40000 ALTER TABLE `record` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `recorded`
---
-
-DROP TABLE IF EXISTS `recorded`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `recorded` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `endtime` datetime NOT NULL default '0000-00-00 00:00:00',
- `title` varchar(128) NOT NULL default '',
- `subtitle` varchar(128) NOT NULL default '',
- `description` text NOT NULL,
- `category` varchar(64) NOT NULL default '',
- `hostname` varchar(255) NOT NULL default '',
- `bookmark` tinyint(1) NOT NULL default '0',
- `editing` int(10) unsigned NOT NULL default '0',
- `cutlist` tinyint(1) NOT NULL default '0',
- `autoexpire` int(11) NOT NULL default '0',
- `commflagged` int(10) unsigned NOT NULL default '0',
- `recgroup` varchar(32) NOT NULL default 'Default',
- `recordid` int(11) default NULL,
- `seriesid` varchar(40) NOT NULL default '',
- `programid` varchar(40) NOT NULL default '',
- `lastmodified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- `filesize` bigint(20) NOT NULL default '0',
- `stars` float NOT NULL default '0',
- `previouslyshown` tinyint(1) default '0',
- `originalairdate` date default NULL,
- `preserve` tinyint(1) NOT NULL default '0',
- `findid` int(11) NOT NULL default '0',
- `deletepending` tinyint(1) NOT NULL default '0',
- `transcoder` int(11) NOT NULL default '0',
- `timestretch` float NOT NULL default '1',
- `recpriority` int(11) NOT NULL default '0',
- `basename` varchar(255) NOT NULL,
- `progstart` datetime NOT NULL default '0000-00-00 00:00:00',
- `progend` datetime NOT NULL default '0000-00-00 00:00:00',
- `playgroup` varchar(32) NOT NULL default 'Default',
- `profile` varchar(32) NOT NULL default '',
- `duplicate` tinyint(1) NOT NULL default '0',
- `transcoded` tinyint(1) NOT NULL default '0',
- `watched` tinyint(4) NOT NULL default '0',
- `storagegroup` varchar(32) NOT NULL default 'Default',
- PRIMARY KEY (`chanid`,`starttime`),
- KEY `endtime` (`endtime`),
- KEY `seriesid` (`seriesid`),
- KEY `programid` (`programid`),
- KEY `title` (`title`),
- KEY `recordid` (`recordid`),
- KEY `deletepending` (`deletepending`,`lastmodified`),
- KEY `recgroup` (`recgroup`,`endtime`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `recorded`
---
-
-LOCK TABLES `recorded` WRITE;
-/*!40000 ALTER TABLE `recorded` DISABLE KEYS */;
-/*!40000 ALTER TABLE `recorded` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `recordedcredits`
---
-
-DROP TABLE IF EXISTS `recordedcredits`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `recordedcredits` (
- `person` mediumint(8) unsigned NOT NULL default '0',
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `role` set('actor','director','producer','executive_producer','writer','guest_star','host','adapter','presenter','commentator','guest') NOT NULL default '',
- UNIQUE KEY `chanid` (`chanid`,`starttime`,`person`,`role`),
- KEY `person` (`person`,`role`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `recordedcredits`
---
-
-LOCK TABLES `recordedcredits` WRITE;
-/*!40000 ALTER TABLE `recordedcredits` DISABLE KEYS */;
-/*!40000 ALTER TABLE `recordedcredits` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `recordedfile`
---
-
-DROP TABLE IF EXISTS `recordedfile`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `recordedfile` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `basename` varchar(128) NOT NULL default '',
- `filesize` bigint(20) NOT NULL default '0',
- `width` smallint(5) unsigned NOT NULL default '0',
- `height` smallint(5) unsigned NOT NULL default '0',
- `fps` float(6,3) NOT NULL default '0.000',
- `aspect` float(8,6) NOT NULL default '0.000000',
- `audio_sample_rate` smallint(5) unsigned NOT NULL default '0',
- `audio_bits_per_sample` smallint(5) unsigned NOT NULL default '0',
- `audio_channels` tinyint(3) unsigned NOT NULL default '0',
- `audio_type` varchar(255) NOT NULL default '',
- `video_type` varchar(255) NOT NULL default '',
- `comment` varchar(255) NOT NULL default '',
- PRIMARY KEY (`chanid`,`starttime`),
- KEY `basename` (`basename`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `recordedfile`
---
-
-LOCK TABLES `recordedfile` WRITE;
-/*!40000 ALTER TABLE `recordedfile` DISABLE KEYS */;
-/*!40000 ALTER TABLE `recordedfile` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `recordedmarkup`
---
-
-DROP TABLE IF EXISTS `recordedmarkup`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `recordedmarkup` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `mark` mediumint(8) unsigned NOT NULL default '0',
- `offset` varchar(32) default NULL,
- `type` tinyint(4) NOT NULL default '0',
- PRIMARY KEY (`chanid`,`starttime`,`type`,`mark`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `recordedmarkup`
---
-
-LOCK TABLES `recordedmarkup` WRITE;
-/*!40000 ALTER TABLE `recordedmarkup` DISABLE KEYS */;
-/*!40000 ALTER TABLE `recordedmarkup` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `recordedprogram`
---
-
-DROP TABLE IF EXISTS `recordedprogram`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `recordedprogram` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `endtime` datetime NOT NULL default '0000-00-00 00:00:00',
- `title` varchar(128) NOT NULL default '',
- `subtitle` varchar(128) NOT NULL default '',
- `description` text NOT NULL,
- `category` varchar(64) NOT NULL default '',
- `category_type` varchar(64) NOT NULL default '',
- `airdate` year(4) NOT NULL default '0000',
- `stars` float unsigned NOT NULL default '0',
- `previouslyshown` tinyint(4) NOT NULL default '0',
- `title_pronounce` varchar(128) NOT NULL default '',
- `stereo` tinyint(1) NOT NULL default '0',
- `subtitled` tinyint(1) NOT NULL default '0',
- `hdtv` tinyint(1) NOT NULL default '0',
- `closecaptioned` tinyint(1) NOT NULL default '0',
- `partnumber` int(11) NOT NULL default '0',
- `parttotal` int(11) NOT NULL default '0',
- `seriesid` varchar(40) NOT NULL default '',
- `originalairdate` date default NULL,
- `showtype` varchar(30) NOT NULL default '',
- `colorcode` varchar(20) NOT NULL default '',
- `syndicatedepisodenumber` varchar(20) NOT NULL default '',
- `programid` varchar(40) NOT NULL default '',
- `manualid` int(10) unsigned NOT NULL default '0',
- `generic` tinyint(1) default '0',
- `listingsource` int(11) NOT NULL default '0',
- `first` tinyint(1) NOT NULL default '0',
- `last` tinyint(1) NOT NULL default '0',
- `audioprop` set('STEREO','MONO','SURROUND','DOLBY','HARDHEAR','VISUALIMPAIR') NOT NULL,
- `subtitletypes` set('HARDHEAR','NORMAL','ONSCREEN','SIGNED') NOT NULL,
- `videoprop` set('HDTV','WIDESCREEN','AVC') NOT NULL,
- PRIMARY KEY (`chanid`,`starttime`,`manualid`),
- KEY `endtime` (`endtime`),
- KEY `title` (`title`),
- KEY `title_pronounce` (`title_pronounce`),
- KEY `seriesid` (`seriesid`),
- KEY `programid` (`programid`),
- KEY `id_start_end` (`chanid`,`starttime`,`endtime`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `recordedprogram`
---
-
-LOCK TABLES `recordedprogram` WRITE;
-/*!40000 ALTER TABLE `recordedprogram` DISABLE KEYS */;
-/*!40000 ALTER TABLE `recordedprogram` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `recordedrating`
---
-
-DROP TABLE IF EXISTS `recordedrating`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `recordedrating` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `system` char(8) NOT NULL default '',
- `rating` char(16) default NULL,
- UNIQUE KEY `chanid` (`chanid`,`starttime`,`system`,`rating`),
- KEY `starttime` (`starttime`,`system`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `recordedrating`
---
-
-LOCK TABLES `recordedrating` WRITE;
-/*!40000 ALTER TABLE `recordedrating` DISABLE KEYS */;
-/*!40000 ALTER TABLE `recordedrating` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `recordedseek`
---
-
-DROP TABLE IF EXISTS `recordedseek`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `recordedseek` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `mark` mediumint(8) unsigned NOT NULL default '0',
- `offset` bigint(20) unsigned NOT NULL,
- `type` tinyint(4) NOT NULL default '0',
- PRIMARY KEY (`chanid`,`starttime`,`type`,`mark`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `recordedseek`
---
-
-LOCK TABLES `recordedseek` WRITE;
-/*!40000 ALTER TABLE `recordedseek` DISABLE KEYS */;
-/*!40000 ALTER TABLE `recordedseek` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `recordingprofiles`
---
-
-DROP TABLE IF EXISTS `recordingprofiles`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `recordingprofiles` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `name` varchar(128) default NULL,
- `videocodec` varchar(128) default NULL,
- `audiocodec` varchar(128) default NULL,
- `profilegroup` int(10) unsigned NOT NULL default '0',
- PRIMARY KEY (`id`),
- KEY `profilegroup` (`profilegroup`)
-) ENGINE=MyISAM AUTO_INCREMENT=50 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `recordingprofiles`
---
-
-LOCK TABLES `recordingprofiles` WRITE;
-/*!40000 ALTER TABLE `recordingprofiles` DISABLE KEYS */;
-INSERT INTO `recordingprofiles` (`id`, `name`, `videocodec`, `audiocodec`, `profilegroup`) VALUES (1,'Default',NULL,NULL,1),(2,'Live TV',NULL,NULL,1),(3,'High Quality',NULL,NULL,1),(4,'Low Quality',NULL,NULL,1),(5,'Default',NULL,NULL,2),(6,'Live TV',NULL,NULL,2),(7,'High Quality',NULL,NULL,2),(8,'Low Quality',NULL,NULL,2),(9,'Default',NULL,NULL,3),(10,'Live TV',NULL,NULL,3),(11,'High Quality',NULL,NULL,3),(12,'Low Quality',NULL,NULL,3),(13,'Default',NULL,NULL,4),(14,'Live TV',NULL,NULL,4),(15,'High Quality',NULL,NULL,4),(16,'Low Quality',NULL,NULL,4),(17,'Default',NULL,NULL,5),(18,'Live TV',NULL,NULL,5),(19,'High Quality',NULL,NULL,5),(20,'Low Quality',NULL,NULL,5),(21,'RTjpeg/MPEG4',NULL,NULL,6),(22,'MPEG2',NULL,NULL,6),(23,'Default',NULL,NULL,8),(24,'Live TV',NULL,NULL,8),(25,'High Quality',NULL,NULL,8),(26,'Low Quality',NULL,NULL,8),(27,'High Quality',NULL,NULL,6),(28,'Medium Quality',NULL,NULL,6),(29,'Low Quality',NULL,NULL,6),(30,'Default',NULL,NULL,10),(31,'Live TV',NULL,NULL,10),(32,'High Quality',NULL,NULL,10),(33,'Low Quality',NULL,NULL,10),(34,'Default',NULL,NULL,11),(35,'Live TV',NULL,NULL,11),(36,'High Quality',NULL,NULL,11),(37,'Low Quality',NULL,NULL,11),(38,'Default',NULL,NULL,12),(39,'Live TV',NULL,NULL,12),(40,'High Quality',NULL,NULL,12),(41,'Low Quality',NULL,NULL,12),(42,'Default',NULL,NULL,7),(43,'Live TV',NULL,NULL,7),(44,'High Quality',NULL,NULL,7),(45,'Low Quality',NULL,NULL,7),(46,'Default',NULL,NULL,9),(47,'Live TV',NULL,NULL,9),(48,'High Quality',NULL,NULL,9),(49,'Low Quality',NULL,NULL,9);
-/*!40000 ALTER TABLE `recordingprofiles` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `recordmatch`
---
-
-DROP TABLE IF EXISTS `recordmatch`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `recordmatch` (
- `recordid` int(10) unsigned default NULL,
- `chanid` int(10) unsigned default NULL,
- `starttime` datetime default NULL,
- `manualid` int(10) unsigned default NULL,
- `oldrecduplicate` tinyint(1) default NULL,
- `recduplicate` tinyint(1) default NULL,
- `findduplicate` tinyint(1) default NULL,
- `oldrecstatus` int(11) default NULL,
- KEY `recordid` (`recordid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `recordmatch`
---
-
-LOCK TABLES `recordmatch` WRITE;
-/*!40000 ALTER TABLE `recordmatch` DISABLE KEYS */;
-/*!40000 ALTER TABLE `recordmatch` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `romdb`
---
-
-DROP TABLE IF EXISTS `romdb`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `romdb` (
- `crc` varchar(64) NOT NULL default '',
- `name` varchar(128) NOT NULL default '',
- `description` varchar(128) NOT NULL default '',
- `category` varchar(128) NOT NULL default '',
- `year` varchar(10) NOT NULL default '',
- `manufacturer` varchar(128) NOT NULL default '',
- `country` varchar(128) NOT NULL default '',
- `publisher` varchar(128) NOT NULL default '',
- `platform` varchar(64) NOT NULL default '',
- `filesize` int(12) default NULL,
- `flags` varchar(64) NOT NULL default '',
- `version` varchar(64) NOT NULL default '',
- `binfile` varchar(64) NOT NULL default '',
- KEY `crc` (`crc`),
- KEY `year` (`year`),
- KEY `category` (`category`),
- KEY `name` (`name`),
- KEY `description` (`description`),
- KEY `platform` (`platform`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `romdb`
---
-
-LOCK TABLES `romdb` WRITE;
-/*!40000 ALTER TABLE `romdb` DISABLE KEYS */;
-/*!40000 ALTER TABLE `romdb` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `schemalock`
---
-
-DROP TABLE IF EXISTS `schemalock`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `schemalock` (
- `schemalock` int(1) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `schemalock`
---
-
-LOCK TABLES `schemalock` WRITE;
-/*!40000 ALTER TABLE `schemalock` DISABLE KEYS */;
-/*!40000 ALTER TABLE `schemalock` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `settings`
---
-
-DROP TABLE IF EXISTS `settings`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `settings` (
- `value` varchar(128) NOT NULL default '',
- `data` text,
- `hostname` varchar(255) default NULL,
- KEY `value` (`value`,`hostname`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `settings`
---
-
-LOCK TABLES `settings` WRITE;
-/*!40000 ALTER TABLE `settings` DISABLE KEYS */;
-INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES ('mythfilldatabaseLastRunStart',NULL,NULL),('mythfilldatabaseLastRunEnd',NULL,NULL),('mythfilldatabaseLastRunStatus',NULL,NULL),('DataDirectMessage',NULL,NULL),('HaveRepeats','0',NULL),('DBSchemaVer','1214',NULL),('DefaultTranscoder','0',NULL),('MythFillSuggestedRunTime','1970-01-01T00:00:00',NULL),('MythFillGrabberSuggestsTime','1',NULL),('MythFillFixProgramIDsHasRunOnce','1','larch5'),('Language','EN','larch5'),('BackendServerIP','127.0.0.1','larch5'),('BackendServerPort','6543','larch5'),('BackendStatusPort','6544','larch5'),('SecurityPin','','larch5'),('MasterServerIP','127.0.0.1',NULL),('MasterServerPort','6543',NULL),('TVFormat','NTSC',NULL),('VbiFormat','None',NULL),('FreqTable','us-bcast',NULL),('TimeOffset','None',NULL),('MasterBackendOverride','1',NULL),('DeletesFollowLinks','1',NULL),('TruncateDeletesSlowly','0','larch5'),('HDRingbufferSize','9400',NULL),('MiscStatusScript','','larch5'),('DisableFirewireReset','0','larch5'),('EITTransportTimeout','5',NULL),('EITIgnoresSource','0',NULL),('EITCrawIdleStart','60',NULL),('startupCommand','',NULL),('blockSDWUwithoutClient','1',NULL),('idleWaitForRecordingTime','15',NULL),('StartupSecsBeforeRecording','120',NULL),('WakeupTimeFormat','hh:mm yyyy-MM-dd',NULL),('SetWakeuptimeCommand','',NULL),('ServerHaltCommand','sudo /sbin/halt -p',NULL),('preSDWUCheckCommand','',NULL),('WOLbackendConnectRetry','5',NULL),('WOLbackendCommand','',NULL),('WOLslaveBackendsCommand','',NULL),('JobQueueMaxSimultaneousJobs','1','larch5'),('JobQueueCheckFrequency','60','larch5'),('JobQueueWindowStart','00:00','larch5'),('JobQueueWindowEnd','23:59','larch5'),('JobQueueCPU','0','larch5'),('JobAllowCommFlag','1','larch5'),('JobAllowTranscode','1','larch5'),('JobAllowUserJob1','0','larch5'),('JobAllowUserJob2','0','larch5'),('JobAllowUserJob3','0','larch5'),('JobAllowUserJob4','0','larch5'),('JobsRunOnRecordHost','0',NULL),('AutoCommflagWhileRecording','0',NULL),('JobQueueCommFlagCommand','mythcommflag',NULL),('JobQueueTranscodeCommand','mythtranscode',NULL),('AutoTranscodeBeforeAutoCommflag','0',NULL),('SaveTranscoding','0',NULL),('UserJobDesc1','User Job #1',NULL),('UserJob1','',NULL),('UserJobDesc2','User Job #2',NULL),('UserJob2','',NULL),('UserJobDesc3','User Job #3',NULL),('UserJob3','',NULL),('UserJobDesc4','User Job #4',NULL),('UserJob4','',NULL),('DefaultVideoPlaybackProfile','CPU+','larch5'),('RealtimePriority','1','larch5'),('DecodeExtraAudio','1','larch5'),('AudioNag','1','larch5'),('UseVideoTimebase','0','larch5'),('ClearSavedPosition','1','larch5'),('AltClearSavedPosition','1','larch5'),('JumpToProgramOSD','1','larch5'),('ContinueEmbeddedTVPlay','0','larch5'),('AutomaticSetWatched','0','larch5'),('AlwaysStreamFiles','1','larch5'),('UseOpenGLVSync','0','larch5'),('UseOutputPictureControls','1','larch5'),('AspectOverride','0','larch5'),('AdjustFill','0','larch5'),('LetterboxColour','0','larch5'),('PIPLocation','0','larch5'),('PlaybackExitPrompt','2','larch5'),('EndOfRecordingExitPrompt','1','larch5'),('PlayBoxOrdering','1','larch5'),('PlayBoxEpisodeSort','Date','larch5'),('GeneratePreviewPixmaps','0','larch5'),('PreviewPixmapOffset','64',NULL),('PreviewFromBookmark','1','larch5'),('PlaybackPreview','1','larch5'),('PlaybackBoxStartInTitle','1','larch5'),('ShowGroupInfo','0','larch5'),('AllRecGroupPassword','',NULL),('DisplayRecGroup','All Programs','larch5'),('QueryInitialFilter','0','larch5'),('RememberRecGroup','1','larch5'),('DispRecGroupAsAllProg','0','larch5'),('LiveTVInAllPrograms','0','larch5'),('DisplayGroupDefaultView','0','larch5'),('DisplayGroupTitleSort','0','larch5'),('PlaybackWatchList','1','larch5'),('PlaybackWLStart','0','larch5'),('PlaybackWLAutoExpire','0','larch5'),('PlaybackWLMaxAge','60','larch5'),('PlaybackWLBlackOut','2','larch5'),('SmartForward','0','larch5'),('StickyKeys','0','larch5'),('FFRewReposTime','100','larch5'),('FFRewReverse','1','larch5'),('ExactSeeking','0','larch5'),('AutoCommercialSkip','0','larch5'),('MaximumCommercialSkip','3600',NULL),('CommSkipAllBlanks','1',NULL),('PVR350OutputEnable','0','larch5'),('PVR350EPGAlphaValue','164','larch5'),('PVR350InternalAudioOnly','0','larch5'),('OSDTheme','blueosd','larch5'),('OSDGeneralTimeout','2','larch5'),('OSDProgramInfoTimeout','3','larch5'),('OSDFont','FreeMono.ttf','larch5'),('OSDThemeFontSizeType','default','larch5'),('EnableMHEG','0','larch5'),('PersistentBrowseMode','1','larch5'),('OSDNotifyTimeout','5','larch5'),('UDPNotifyPort','6948','larch5'),('OSDCCFont','FreeMono.ttf','larch5'),('CCBackground','0','larch5'),('DefaultCCMode','0','larch5'),('Prefer708Captions','1','larch5'),('OSDCC708TextZoom','100','larch5'),('OSDCC708DefaultFontType','MonoSerif','larch5'),('OSDCC708MonoSerifFont','FreeMono.ttf','larch5'),('OSDCC708PropSerifFont','FreeMono.ttf','larch5'),('OSDCC708MonoSansSerifFont','FreeMono.ttf','larch5'),('OSDCC708PropSansSerifFont','FreeMono.ttf','larch5'),('OSDCC708CasualFont','FreeMono.ttf','larch5'),('OSDCC708CursiveFont','FreeMono.ttf','larch5'),('OSDCC708CapitalsFont','FreeMono.ttf','larch5'),('OSDCC708MonoSerifItalicFont','FreeMono.ttf','larch5'),('OSDCC708PropSerifItalicFont','FreeMono.ttf','larch5'),('OSDCC708MonoSansSerifItalicFont','FreeMono.ttf','larch5'),('OSDCC708PropSansSerifItalicFont','FreeMono.ttf','larch5'),('OSDCC708CasualItalicFont','FreeMono.ttf','larch5'),('OSDCC708CursiveItalicFont','FreeMono.ttf','larch5'),('OSDCC708CapitalsItalicFont','FreeMono.ttf','larch5'),('ChannelOrdering','channum','larch5'),('ChannelFormat','<num> <sign>','larch5'),('LongChannelFormat','<num> <name>','larch5'),('SmartChannelChange','0','larch5'),('LastFreeCard','0',NULL),('LiveTVPriority','0',NULL),('AutoExpireMethod','2',NULL),('AutoExpireDefault','1',NULL),('RerecordWatched','1',NULL),('AutoExpireWatchedPriority','0',NULL),('AutoExpireLiveTVMaxAge','1',NULL),('AutoExpireDayPriority','3',NULL),('AutoExpireExtraSpace','1',NULL),('AutoExpireInsteadOfDelete','0',NULL),('DeletedFifoOrder','0',NULL),('CommercialSkipMethod','255',NULL),('AggressiveCommDetect','1',NULL),('AutoCommercialFlag','1',NULL),('AutoTranscode','0',NULL),('AutoRunUserJob1','0',NULL),('AutoRunUserJob2','0',NULL),('AutoRunUserJob3','0',NULL),('AutoRunUserJob4','0',NULL),('OverTimeCategory','category name',NULL),('CategoryOverTime','30',NULL),('EPGFillType','12','larch5'),('EPGShowCategoryColors','1','larch5'),('EPGShowCategoryText','1','larch5'),('EPGScrollType','1','larch5'),('EPGShowChannelIcon','1','larch5'),('EPGShowFavorites','0','larch5'),('WatchTVGuide','0','larch5'),('chanPerPage','5','larch5'),('timePerPage','4','larch5'),('UnknownTitle','Unknown','larch5'),('UnknownCategory','Unknown','larch5'),('DefaultTVChannel','3','larch5'),('SelectChangesChannel','0','larch5'),('SelChangeRecThreshold','16','larch5'),('EPGEnableJumpToChannel','0',NULL),('Theme','LinHES','larch5'),('RandomTheme','0','larch5'),('ThemeCacheSize','1','larch5'),('ThemePainter','qt','larch5'),('Style','Desktop Style','larch5'),('ThemeFontSizeType','default','larch5'),('MenuTheme','default','larch5'),('XineramaScreen','0','larch5'),('XineramaMonitorAspectRatio','1.3333','larch5'),('GuiSizeForTV','1','larch5'),('HideMouseCursor','1','larch5'),('RunFrontendInWindow','0','larch5'),('UseVideoModes','0','larch5'),('GuiVidModeResolution','640x480','larch5'),('TVVidModeResolution','320x200','larch5'),('TVVidModeForceAspect','0.0','larch5'),('TVVidModeResolution0','320x200','larch5'),('TVVidModeForceAspect0','0.0','larch5'),('TVVidModeResolution1','320x200','larch5'),('TVVidModeForceAspect1','0.0','larch5'),('TVVidModeResolution2','320x200','larch5'),('TVVidModeForceAspect2','0.0','larch5'),('ISO639Language0','eng','larch5'),('ISO639Language1','eng','larch5'),('DateFormat','ddd MMM d','larch5'),('ShortDateFormat','M/d','larch5'),('TimeFormat','h:mm AP','larch5'),('QtFontSmall','12','larch5'),('QtFontMedium','16','larch5'),('QtFontBig','25','larch5'),('PlayBoxTransparency','1','larch5'),('PlayBoxShading','0','larch5'),('UseVirtualKeyboard','1','larch5'),('LCDEnable','0','larch5'),('LCDShowTime','1','larch5'),('LCDShowMenu','1','larch5'),('LCDShowMusic','1','larch5'),('LCDShowMusicItems','ArtistTitle','larch5'),('LCDShowChannel','1','larch5'),('LCDShowRecStatus','0','larch5'),('LCDShowVolume','1','larch5'),('LCDShowGeneric','1','larch5'),('LCDBacklightOn','1','larch5'),('LCDHeartBeatOn','0','larch5'),('LCDBigClock','0','larch5'),('LCDKeyString','ABCDEF','larch5'),('LCDPopupTime','5','larch5'),('AudioOutputDevice','ALSA:default','larch5'),('PassThruOutputDevice','Default','larch5'),('MaxChannels','2','larch5'),('AudioUpmixType','0','larch5'),('AC3PassThru','0','larch5'),('DTSPassThru','0','larch5'),('AggressiveSoundcardBuffer','0','larch5'),('MythControlsVolume','1','larch5'),('MixerDevice','ALSA:default','larch5'),('MixerControl','PCM','larch5'),('MasterMixerVolume','100','larch5'),('PCMMixerVolume','50','larch5'),('IndividualMuteControl','0','larch5'),('LircKeyPressedApp','','larch5'),('AllowQuitShutdown','4','larch5'),('NoPromptOnExit','1','larch5'),('UseArrowAccels','1','larch5'),('NetworkControlEnabled','0','larch5'),('NetworkControlPort','6546','larch5'),('MonitorDrives','0','larch5'),('MediaChangeEvents','0','larch5'),('IgnoreDevices','','larch5'),('SetupPinCodeRequired','0','larch5'),('OverrideExitMenu','0','larch5'),('HaltCommand','sudo /sbin/halt','larch5'),('RebootCommand','sudo /sbin/reboot','larch5'),('EnableXbox','0','larch5'),('LogEnabled','0',NULL),('LogMaxCount','100','larch5'),('LogPrintLevel','8','larch5'),('LogCleanEnabled','0','larch5'),('LogCleanPeriod','14','larch5'),('LogCleanDays','14','larch5'),('LogCleanMax','30','larch5'),('MythFillEnabled','1',NULL),('MythFillDatabasePath','mythfilldatabase',NULL),('MythFillDatabaseArgs','',NULL),('MythFillDatabaseLog','',NULL),('MythFillPeriod','1',NULL),('MythFillMinHour','2',NULL),('MythFillMaxHour','5',NULL),('SchedMoveHigher','1',NULL),('SchedOpenEnd','0',NULL),('ComplexPriority','0',NULL),('PrefInputPriority','2',NULL),('SingleRecordRecPriority','1',NULL),('FindOneRecordRecPriority','-1',NULL),('ArchiveDBSchemaVer','1001',NULL),('MythArchiveTempDir','/myth/tmp','larch5'),('MythArchiveShareDir','/usr/share/mythtv/mytharchive/','larch5'),('MythArchiveVideoFormat','NTSC','larch5'),('MythArchiveFileFilter','*.mpg *.mov *.avi *.mpeg *.nuv','larch5'),('MythArchiveDVDLocation','/dev/dvd','larch5'),('MythArchiveDVDPlayerCmd','Internal','larch5'),('MythArchiveEncodeToAc3','0','larch5'),('MythArchiveCopyRemoteFiles','0','larch5'),('MythArchiveAlwaysUseMythTranscode','1','larch5'),('MythArchiveUseProjectX','0','larch5'),('MythArchiveAddSubtitles','0','larch5'),('MythArchiveUseFIFO','1','larch5'),('MythArchiveDefaultEncProfile','SP','larch5'),('MythArchiveMainMenuAR','16:9','larch5'),('MythArchiveChapterMenuAR','Video','larch5'),('MythArchiveDateFormat','%a %b %d','larch5'),('MythArchiveTimeFormat','%I:%M %p','larch5'),('MythArchiveFfmpegCmd','ffmpeg','larch5'),('MythArchiveMplexCmd','mplex','larch5'),('MythArchiveDvdauthorCmd','dvdauthor','larch5'),('MythArchiveSpumuxCmd','spumux','larch5'),('MythArchiveMpeg2encCmd','mpeg2enc','larch5'),('MythArchiveMkisofsCmd','mkisofs','larch5'),('MythArchiveGrowisofsCmd','growisofs','larch5'),('MythArchiveTcrequantCmd','tcrequant','larch5'),('MythArchiveJpeg2yuvCmd','jpeg2yuv','larch5'),('MythArchiveProjectXCmd','projectx','larch5'),('FlixDBSchemaVer','1001',NULL),('GalleryDBSchemaVer','1000',NULL),('GalleryDir','/myth/gallery','larch5'),('GalleryThumbnailLocation','1','larch5'),('GallerySortOrder','20','larch5'),('GalleryImportDirs','/mnt/cdrom:/mnt/camera','larch5'),('GalleryMoviePlayerCmd','mplayer -fs %s','larch5'),('SlideshowUseOpenGL','0','larch5'),('SlideshowDelay','5','larch5'),('SlideshowOpenGLTransition','none','larch5'),('SlideshowOpenGLTransitionLength','2000','larch5'),('SlideshowTransition','random','larch5'),('SlideshowBackground','black','larch5'),('GameDBSchemaVer','1012',NULL),('MusicDBSchemaVer','1013',NULL),('VisualMode','','larch5'),('MusicLocation','/myth/music/','larch5'),('MusicAudioDevice','default','larch5'),('CDDevice','/dev/cdrom','larch5'),('AutoLookupCD','1','larch5'),('AutoPlayCD','0','larch5'),('KeyboardAccelerators','1','larch5'),('TreeLevels','splitartist artist album title','larch5'),('ArtistTreeGroups','0','larch5'),('NonID3FileNameFormat','GENRE/ARTIST/ALBUM/TRACK_TITLE','larch5'),('Ignore_ID3','0','larch5'),('MusicTagEncoding','utf16','larch5'),('CDWriterEnabled','1','larch5'),('CDDiskSize','1','larch5'),('CDCreateDir','1','larch5'),('CDWriteSpeed','0','larch5'),('CDBlankType','fast','larch5'),('PlayMode','none','larch5'),('ResumeMode','off','larch5'),('MaxSearchResults','300','larch5'),('MusicShowRatings','0','larch5'),('ShowWholeTree','0','larch5'),('ListAsShuffled','0','larch5'),('IntelliRatingWeight','35','larch5'),('IntelliPlayCountWeight','25','larch5'),('IntelliLastPlayWeight','25','larch5'),('IntelliRandomWeight','15','larch5'),('VisualCycleOnSongChange','0','larch5'),('VisualAlbumArtOnSongChange','0','larch5'),('VisualRandomize','0','larch5'),('VisualModeDelay','0','larch5'),('VisualScaleWidth','1','larch5'),('VisualScaleHeight','1','larch5'),('ParanoiaLevel','Full','larch5'),('FilenameTemplate','ARTIST/ALBUM/TRACK-TITLE','larch5'),('NoWhitespace','0','larch5'),('PostCDRipScript','','larch5'),('EjectCDAfterRipping','1','larch5'),('EncoderType','ogg','larch5'),('DefaultRipQuality','1','larch5'),('Mp3UseVBR','0','larch5'),('PhoneDBSchemaVer','1001',NULL),('SipRegisterWithProxy','1','larch5'),('SipProxyName','fwd.pulver.com','larch5'),('SipProxyAuthName','','larch5'),('SipProxyAuthPassword','','larch5'),('MySipName','Me','larch5'),('SipAutoanswer','0','larch5'),('SipBindInterface','eth0','larch5'),('SipLocalPort','5060','larch5'),('NatTraversalMethod','None','larch5'),('NatIpAddress','http://checkip.dyndns.org','larch5'),('AudioLocalPort','21232','larch5'),('VideoLocalPort','21234','larch5'),('MicrophoneDevice','None','larch5'),('CodecPriorityList','GSM;G.711u;G.711a','larch5'),('PlayoutAudioCall','40','larch5'),('PlayoutVideoCall','110','larch5'),('TxResolution','176x144','larch5'),('TransmitFPS','5','larch5'),('TransmitBandwidth','256','larch5'),('CaptureResolution','352x288','larch5'),('TimeToAnswer','10','larch5'),('DefaultVxmlUrl','http://127.0.0.1/vxml/index.vxml','larch5'),('DefaultVoicemailPrompt','I am not at home, please leave a message after the tone','larch5'),('mythvideo.DBSchemaVer','1016',NULL),('VideoStartupDir','/myth/video','larch5'),('VideoArtworkDir','/myth/video/.covers','larch5'),('Default MythVideo View','2','larch5'),('VideoListUnknownFiletypes','1','larch5'),('VideoBrowserNoDB','1','larch5'),('VideoGalleryNoDB','1','larch5'),('VideoTreeNoDB','1','larch5'),('VideoTreeLoadMetaData','1','larch5'),('VideoNewBrowsable','1','larch5'),('mythvideo.sort_ignores_case','1','larch5'),('mythvideo.db_folder_view','1','larch5'),('mythvideo.VideoTreeRemember','1','larch5'),('mythvideo.ImageCacheSize','50','larch5'),('DVDDeviceLocation','/dev/dvd','larch5'),('VCDDeviceLocation','/dev/cdrom','larch5'),('DVDOnInsertDVD','1','larch5'),('DVDDriveSpeed','2','larch5'),('EnableDVDBookmark','1','larch5'),('DVDBookmarkPrompt','1','larch5'),('DVDBookmarkDays','10','larch5'),('MovieListCommandLine','/usr/share/mythtv/mythvideo/scripts/imdb.pl -M tv=no;video=no','larch5'),('MoviePosterCommandLine','/usr/share/mythtv/mythvideo/scripts/imdb.pl -P','larch5'),('MovieDataCommandLine','/usr/share/mythtv/mythvideo/scripts/imdb.pl -D','larch5'),('VideoGalleryColsPerPage','4','larch5'),('VideoGalleryRowsPerPage','3','larch5'),('VideoGallerySubtitle','1','larch5'),('VideoDefaultParentalLevel','4','larch5'),('VideoAggressivePC','0','larch5'),('mythvideo.ParentalLevelFromRating','0','larch5'),('mythvideo.AutoR2PL1','G','larch5'),('mythvideo.AutoR2PL2','PG','larch5'),('mythvideo.AutoR2PL3','PG-13','larch5'),('mythvideo.AutoR2PL4','R:NC-17','larch5'),('VideoDefaultPlayer','mplayer -fs -zoom -quiet -vo xv %s','larch5'),('mythdvd.DVDPlayerCommand','Internal','larch5'),('VCDPlayerCommand','mplayer vcd:// -cdrom-device %d -fs -zoom -vo xv','larch5'),('DVDRipLocation','/myth/tmp','larch5'),('TitlePlayCommand','mplayer dvd://%t -dvd-device %d -fs -zoom -vo xv -aid %a -channels %c','larch5'),('SubTitleCommand','-sid %s','larch5'),('TranscodeCommand','transcode','larch5'),('MTDPort','2442','larch5'),('MTDNiceLevel','20','larch5'),('MTDConcurrentTranscodes','1','larch5'),('MTDLogFlag','0','larch5'),('MTDac3Flag','0','larch5'),('MTDxvidFlag','1','larch5'),('mythvideo.TrustTranscodeFRDetect','1','larch5'),('WeatherDBSchemaVer','1000',NULL),('TVVidModeRefreshRate','0','larch5'),('TVVidModeRefreshRate0','0','larch5'),('TVVidModeRefreshRate1','0','larch5'),('TVVidModeRefreshRate2','0','larch5'),('GalleryRecursiveSlideshow','1','larch5'),('WebBrowserZoomLevel','20','larch5'),('WebBrowserCommand','/usr/bin/mythbrowser','larch5'),('WebBrowserScrollMode','1','larch5'),('WebBrowserScrollSpeed','4','larch5'),('WebBrowserHideScrollbars','0','larch5'),('RepeatMode','all','larch5'),('MusicAutoShowPlayer','1','larch5'),('HOSTOSsize','5','larch5'),('HostMyhostname','type_hostname_here','larch5'),('NetworkControlEnabled','1','larch5');
-INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
-('Hostpluginmytharchive','1','larch5'),
-('Hostpluginmythbrowser','1','larch5'),
-('Hostpluginmythcontrols','1','larch5'),
-('Hostpluginmythflix','1','larch5'),
-('Hostpluginmythgallery','1','larch5'),
-('Hostpluginmythgame','1','larch5'),
-('HostpluginmythgameFceu','1','larch5'),
-('HostpluginmythgameMame','1','larch5'),
-('HostpluginmythgameZsnes','1','larch5'),
-('Hostpluginmythmovietime','1','larch5'),
-('Hostpluginmythmusic','1','larch5'),
-('Hostpluginmythnews','1','larch5'),
-('Hostpluginmythphone','1','larch5'),
-('Hostpluginmythsmolt','1','larch5'),
-('Hostpluginmythvideo','1','larch5'),
-('Hostpluginmythvideo_dvdcss','0','larch5'),
-('Hostpluginmythweather','1','larch5'),
-('HostAudiotype','ALSA','larch5'),
-('HostpluginmythgameZsnes','1','larch5'),
-('HostpluginmythgameMame','1','larch5'),
-('Hostpluginmythvideo_dvdcss','0','larch5'),
-('Hostpluginmythappletrailers','1','larch5'),
-('Hostpluginmythstream','1','larch5'),
-('Hostpluginmythvodka','1','larch5'),
-('HostMiro','1','larch5'),
-('HostpluginmythgameXE','1','larch5'),
-('HostpluginmythgameROMDB','1','larch5'),
-('HostXine','1','larch5'),
-('HOSTOSsize','5','larch5'),
-('HostMyhostname','type_hostname_here','larch5'),
-('NetworkControlEnabled','1','larch5'),
-('Hostaccessuser','1','larch5');
-
-INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
-('WOLbackendReconnectWaitTime','5',NULL);
-
-
-/*!40000 ALTER TABLE `settings` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `storagegroup`
---
-
-DROP TABLE IF EXISTS `storagegroup`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `storagegroup` (
- `id` int(11) NOT NULL auto_increment,
- `groupname` varchar(32) NOT NULL,
- `hostname` varchar(64) NOT NULL default '',
- `dirname` varchar(255) NOT NULL default '',
- PRIMARY KEY (`id`),
- UNIQUE KEY `grouphostdir` (`groupname`,`hostname`,`dirname`),
- KEY `hostname` (`hostname`)
-) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `storagegroup`
---
-
-LOCK TABLES `storagegroup` WRITE;
-/*!40000 ALTER TABLE `storagegroup` DISABLE KEYS */;
-INSERT INTO `storagegroup` (`id`, `groupname`, `hostname`, `dirname`) VALUES (1,'Default','larch5','/myth/tv/');
-/*!40000 ALTER TABLE `storagegroup` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `tvchain`
---
-
-DROP TABLE IF EXISTS `tvchain`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `tvchain` (
- `chanid` int(10) unsigned NOT NULL default '0',
- `starttime` datetime NOT NULL default '0000-00-00 00:00:00',
- `chainid` varchar(128) NOT NULL default '',
- `chainpos` int(10) NOT NULL default '0',
- `discontinuity` tinyint(1) NOT NULL default '0',
- `watching` int(10) NOT NULL default '0',
- `hostprefix` varchar(128) NOT NULL default '',
- `cardtype` varchar(32) NOT NULL default 'V4L',
- `input` varchar(32) NOT NULL default '',
- `channame` varchar(32) NOT NULL default '',
- `endtime` datetime NOT NULL default '0000-00-00 00:00:00',
- PRIMARY KEY (`chanid`,`starttime`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `tvchain`
---
-
-LOCK TABLES `tvchain` WRITE;
-/*!40000 ALTER TABLE `tvchain` DISABLE KEYS */;
-/*!40000 ALTER TABLE `tvchain` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `upnpmedia`
---
-
-DROP TABLE IF EXISTS `upnpmedia`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `upnpmedia` (
- `intid` int(10) unsigned NOT NULL default '0',
- `class` varchar(64) NOT NULL default '',
- `itemtype` varchar(128) NOT NULL default '',
- `parentid` int(10) unsigned NOT NULL default '0',
- `itemproperties` varchar(255) NOT NULL default '',
- `filepath` varchar(512) NOT NULL default '',
- `title` varchar(255) NOT NULL default '',
- `filename` varchar(512) NOT NULL default '',
- `coverart` varchar(512) NOT NULL default '',
- PRIMARY KEY (`intid`),
- KEY `class` (`class`),
- KEY `filepath` (`filepath`),
- KEY `parentid` (`parentid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `upnpmedia`
---
-
-LOCK TABLES `upnpmedia` WRITE;
-/*!40000 ALTER TABLE `upnpmedia` DISABLE KEYS */;
-/*!40000 ALTER TABLE `upnpmedia` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `videocast`
---
-
-DROP TABLE IF EXISTS `videocast`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `videocast` (
- `intid` int(10) unsigned NOT NULL auto_increment,
- `cast` varchar(128) NOT NULL,
- PRIMARY KEY (`intid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `videocast`
---
-
-LOCK TABLES `videocast` WRITE;
-/*!40000 ALTER TABLE `videocast` DISABLE KEYS */;
-/*!40000 ALTER TABLE `videocast` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `videocategory`
---
-
-DROP TABLE IF EXISTS `videocategory`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `videocategory` (
- `intid` int(10) unsigned NOT NULL auto_increment,
- `category` varchar(128) NOT NULL,
- PRIMARY KEY (`intid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `videocategory`
---
-
-LOCK TABLES `videocategory` WRITE;
-/*!40000 ALTER TABLE `videocategory` DISABLE KEYS */;
-/*!40000 ALTER TABLE `videocategory` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `videocountry`
---
-
-DROP TABLE IF EXISTS `videocountry`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `videocountry` (
- `intid` int(10) unsigned NOT NULL auto_increment,
- `country` varchar(128) NOT NULL,
- PRIMARY KEY (`intid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `videocountry`
---
-
-LOCK TABLES `videocountry` WRITE;
-/*!40000 ALTER TABLE `videocountry` DISABLE KEYS */;
-/*!40000 ALTER TABLE `videocountry` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `videogenre`
---
-
-DROP TABLE IF EXISTS `videogenre`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `videogenre` (
- `intid` int(10) unsigned NOT NULL auto_increment,
- `genre` varchar(128) NOT NULL,
- PRIMARY KEY (`intid`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `videogenre`
---
-
-LOCK TABLES `videogenre` WRITE;
-/*!40000 ALTER TABLE `videogenre` DISABLE KEYS */;
-/*!40000 ALTER TABLE `videogenre` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `videometadata`
---
-
-DROP TABLE IF EXISTS `videometadata`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `videometadata` (
- `intid` int(10) unsigned NOT NULL auto_increment,
- `title` varchar(128) NOT NULL,
- `director` varchar(128) NOT NULL,
- `plot` text,
- `rating` varchar(128) NOT NULL,
- `inetref` varchar(255) NOT NULL,
- `year` int(10) unsigned NOT NULL,
- `userrating` float NOT NULL,
- `length` int(10) unsigned NOT NULL,
- `showlevel` int(10) unsigned NOT NULL,
- `filename` text NOT NULL,
- `coverfile` text NOT NULL,
- `childid` int(11) NOT NULL default '-1',
- `browse` tinyint(1) NOT NULL default '1',
- `playcommand` varchar(255) default NULL,
- `category` int(10) unsigned NOT NULL default '0',
- PRIMARY KEY (`intid`),
- KEY `director` (`director`),
- KEY `title` (`title`),
- KEY `title_2` (`title`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `videometadata`
---
-
-LOCK TABLES `videometadata` WRITE;
-/*!40000 ALTER TABLE `videometadata` DISABLE KEYS */;
-/*!40000 ALTER TABLE `videometadata` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `videometadatacast`
---
-
-DROP TABLE IF EXISTS `videometadatacast`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `videometadatacast` (
- `idvideo` int(10) unsigned NOT NULL,
- `idcast` int(10) unsigned NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `videometadatacast`
---
-
-LOCK TABLES `videometadatacast` WRITE;
-/*!40000 ALTER TABLE `videometadatacast` DISABLE KEYS */;
-/*!40000 ALTER TABLE `videometadatacast` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `videometadatacountry`
---
-
-DROP TABLE IF EXISTS `videometadatacountry`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `videometadatacountry` (
- `idvideo` int(10) unsigned NOT NULL,
- `idcountry` int(10) unsigned NOT NULL,
- KEY `idvideo` (`idvideo`),
- KEY `idcountry` (`idcountry`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `videometadatacountry`
---
-
-LOCK TABLES `videometadatacountry` WRITE;
-/*!40000 ALTER TABLE `videometadatacountry` DISABLE KEYS */;
-/*!40000 ALTER TABLE `videometadatacountry` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `videometadatagenre`
---
-
-DROP TABLE IF EXISTS `videometadatagenre`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `videometadatagenre` (
- `idvideo` int(10) unsigned NOT NULL,
- `idgenre` int(10) unsigned NOT NULL,
- KEY `idvideo` (`idvideo`),
- KEY `idgenre` (`idgenre`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `videometadatagenre`
---
-
-LOCK TABLES `videometadatagenre` WRITE;
-/*!40000 ALTER TABLE `videometadatagenre` DISABLE KEYS */;
-/*!40000 ALTER TABLE `videometadatagenre` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `videosource`
---
-
-DROP TABLE IF EXISTS `videosource`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `videosource` (
- `sourceid` int(10) unsigned NOT NULL auto_increment,
- `name` varchar(128) NOT NULL default '',
- `xmltvgrabber` varchar(128) default NULL,
- `userid` varchar(128) NOT NULL default '',
- `freqtable` varchar(16) NOT NULL default 'default',
- `lineupid` varchar(64) default NULL,
- `password` varchar(64) default NULL,
- `useeit` smallint(6) NOT NULL default '0',
- PRIMARY KEY (`sourceid`),
- UNIQUE KEY `name` (`name`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `videosource`
---
-
-LOCK TABLES `videosource` WRITE;
-/*!40000 ALTER TABLE `videosource` DISABLE KEYS */;
-/*!40000 ALTER TABLE `videosource` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `videotypes`
---
-
-DROP TABLE IF EXISTS `videotypes`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `videotypes` (
- `intid` int(10) unsigned NOT NULL auto_increment,
- `extension` varchar(128) NOT NULL,
- `playcommand` varchar(255) NOT NULL,
- `f_ignore` tinyint(1) default NULL,
- `use_default` tinyint(1) default NULL,
- PRIMARY KEY (`intid`)
-) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `videotypes`
---
-
-LOCK TABLES `videotypes` WRITE;
-/*!40000 ALTER TABLE `videotypes` DISABLE KEYS */;
-INSERT INTO `videotypes` (`intid`, `extension`, `playcommand`, `f_ignore`, `use_default`) VALUES (1,'txt','',1,0),(2,'log','',1,0),(3,'mpg','Internal',0,0),(4,'avi','',0,1),(5,'vob','Internal',0,0),(6,'mpeg','Internal',0,0),(7,'VIDEO_TS','Internal',0,0),(8,'iso','Internal',0,0),(9,'img','Internal',0,0),(10,'mkv','Internal',0,1);
-/*!40000 ALTER TABLE `videotypes` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `weatherdatalayout`
---
-
-DROP TABLE IF EXISTS `weatherdatalayout`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `weatherdatalayout` (
- `location` varchar(64) NOT NULL,
- `dataitem` varchar(64) NOT NULL,
- `weatherscreens_screen_id` int(10) unsigned NOT NULL,
- `weathersourcesettings_sourceid` int(10) unsigned NOT NULL,
- PRIMARY KEY (`location`,`dataitem`,`weatherscreens_screen_id`,`weathersourcesettings_sourceid`),
- KEY `weatherdatalayout_FKIndex1` (`weatherscreens_screen_id`),
- KEY `weatherdatalayout_FKIndex2` (`weathersourcesettings_sourceid`),
- CONSTRAINT `weatherdatalayout_ibfk_1` FOREIGN KEY (`weatherscreens_screen_id`) REFERENCES `weatherscreens` (`screen_id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `weatherdatalayout_ibfk_2` FOREIGN KEY (`weathersourcesettings_sourceid`) REFERENCES `weathersourcesettings` (`sourceid`) ON UPDATE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `weatherdatalayout`
---
-
-LOCK TABLES `weatherdatalayout` WRITE;
-/*!40000 ALTER TABLE `weatherdatalayout` DISABLE KEYS */;
-/*!40000 ALTER TABLE `weatherdatalayout` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `weatherscreens`
---
-
-DROP TABLE IF EXISTS `weatherscreens`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `weatherscreens` (
- `screen_id` int(10) unsigned NOT NULL auto_increment,
- `draworder` int(10) unsigned NOT NULL,
- `container` varchar(64) NOT NULL,
- `hostname` varchar(255) default NULL,
- `units` tinyint(3) unsigned NOT NULL,
- PRIMARY KEY (`screen_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `weatherscreens`
---
-
-LOCK TABLES `weatherscreens` WRITE;
-/*!40000 ALTER TABLE `weatherscreens` DISABLE KEYS */;
-/*!40000 ALTER TABLE `weatherscreens` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `weathersourcesettings`
---
-
-DROP TABLE IF EXISTS `weathersourcesettings`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `weathersourcesettings` (
- `sourceid` int(10) unsigned NOT NULL auto_increment,
- `source_name` varchar(64) NOT NULL,
- `update_timeout` int(10) unsigned NOT NULL default '600',
- `retrieve_timeout` int(10) unsigned NOT NULL default '60',
- `hostname` varchar(255) default NULL,
- `path` varchar(255) default NULL,
- `author` varchar(128) default NULL,
- `version` varchar(32) default NULL,
- `email` varchar(255) default NULL,
- `types` mediumtext,
- PRIMARY KEY (`sourceid`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `weathersourcesettings`
---
-
-LOCK TABLES `weathersourcesettings` WRITE;
-/*!40000 ALTER TABLE `weathersourcesettings` DISABLE KEYS */;
-/*!40000 ALTER TABLE `weathersourcesettings` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `websites`
---
-
-DROP TABLE IF EXISTS `websites`;
-SET @saved_cs_client = @@character_set_client;
-SET character_set_client = utf8;
-CREATE TABLE `websites` (
- `grp` varchar(255) NOT NULL,
- `dsc` varchar(255) default NULL,
- `url` varchar(255) NOT NULL,
- `updated` int(10) unsigned default NULL,
- PRIMARY KEY (`url`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-SET character_set_client = @saved_cs_client;
-
---
--- Dumping data for table `websites`
---
-
-LOCK TABLES `websites` WRITE;
-/*!40000 ALTER TABLE `websites` DISABLE KEYS */;
-INSERT INTO `websites` (`grp`, `dsc`, `url`, `updated`) VALUES ('LinHES','','http://knoppmyth.net',NULL),('LinHES','','http://knoppmythwiki.org',NULL);
-/*!40000 ALTER TABLE `websites` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
--- Dump completed on 2008-09-07 21:09:33
diff --git a/abs/core/mythtv/stable/mythdb-initial/mythdb.install b/abs/core/mythtv/stable/mythdb-initial/mythdb.install
deleted file mode 100755
index 4834c69..0000000
--- a/abs/core/mythtv/stable/mythdb-initial/mythdb.install
+++ /dev/null
@@ -1,31 +0,0 @@
-mydate=`date +%m-%d-%y`
-HOST=`hostname`
-post_install() {
-#echo backup the old database
- mysqldump mythconverg >/data/database/mythconverg.${mydate}.sql
-# echo dropping the old database
- mysql -u root -e 'drop database mythconverg;'
- mysql -u root -e 'create database mythconverg;'
- echo installing the default database
- if [ $HOST = 'larch5' ]
- then
- cp /data/database/mc.sql.initial /data/database/mc.sql.fixed
- cp /data/database/permissions.sql /data/database/permissions.sql.fixed
- else
- sed -e "s/larch5/$HOST/g" /data/database/mc.sql.initial > /data/database/mc.sql.fixed
- sed -e "s/larch5/$HOST/g" /data/database/permissions.sql > /data/database/permissions.sql.fixed
-
- fi
-
- mysql mythconverg < /data/database/mc.sql.fixed 2>/dev/null
- mysql < /data/database/permissions.sql.fixed 2>/dev/null
-
- rm /data/database/mc.sql.initial
-}
-post_upgrade() {
- echo "nothing to do"
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/mythtv/stable/mythdb-initial/permissions.sql b/abs/core/mythtv/stable/mythdb-initial/permissions.sql
deleted file mode 100755
index 5a36e15..0000000
--- a/abs/core/mythtv/stable/mythdb-initial/permissions.sql
+++ /dev/null
@@ -1,11 +0,0 @@
-
-GRANT ALL ON mythconverg.* TO mythtv@localhost IDENTIFIED BY "mythtv";
-GRANT ALL ON mythconverg.* TO mythtv@'%' IDENTIFIED BY "mythtv";
-GRANT ALL ON mythconverg.* TO mythtv@myhost IDENTIFIED BY "mythtv";
-GRANT FILE ON *.* TO 'mythtv'@'%';
-FLUSH PRIVILEGES;
-GRANT CREATE TEMPORARY TABLES ON mythconverg.* TO mythtv@localhost IDENTIFIED BY "mythtv";
-GRANT CREATE TEMPORARY TABLES ON mythconverg.* TO mythtv@'%' IDENTIFIED BY "mythtv";
-GRANT CREATE TEMPORARY TABLES ON mythconverg.* TO mythtv@myhost IDENTIFIED BY "mythtv";
-FLUSH PRIVILEGES;
-ALTER DATABASE mythconverg DEFAULT CHARACTER SET latin1;
diff --git a/abs/core/mythtv/stable/mythflix/PKGBUILD b/abs/core/mythtv/stable/mythflix/PKGBUILD
deleted file mode 100644
index 5423c06..0000000
--- a/abs/core/mythtv/stable/mythflix/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Maintainer: kleptophobiac@gmail.com
-
-pkgname=mythflix
-PLUGIN=$pkgname
-pkgver=0.21
-pkgrel=5
-pkgdesc="Netflix access plugin for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}")
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
- svn update
- cd $startdir/src/mythplugins
- grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro
- if [ $? != 0 ]
- then
- echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
- msg "appending program lib"
- fi
- cd -
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- ./configure --prefix=/usr --disable-all --enable-opengl --enable-mythflix
-
- qmake mythplugins.pro
- make qmake || return 1
-# make -j 2 || return 1
- make || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/stable/mythgallery/PKGBUILD b/abs/core/mythtv/stable/mythgallery/PKGBUILD
deleted file mode 100644
index bdf7b57..0000000
--- a/abs/core/mythtv/stable/mythgallery/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <travis@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythgallery
-pkgver=0.21
-pkgrel=5
-pkgdesc="Image gallery plugin for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}" 'libexif' 'libtiff')
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
- svn update
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- ./configure --prefix=/usr --disable-all --enable-opengl --enable-mythgallery --enable-exif
-
- qmake mythplugins.pro
- make qmake || return 1
- make -j 2 || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
-
diff --git a/abs/core/mythtv/stable/mythgame/PKGBUILD b/abs/core/mythtv/stable/mythgame/PKGBUILD
deleted file mode 100644
index aac284a..0000000
--- a/abs/core/mythtv/stable/mythgame/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythgame
-pkgver=0.21
-pkgrel=4
-pkgdesc="Emulation plugin for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}" 'zlib')
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- export QMAKESPEC='linux-g++'
- source /etc/profile.d/qt3.sh
-# svn update
-
- ./configure --prefix=/usr --disable-all --enable-opengl --enable-mythgame
-
- qmake mythplugins.pro
- make qmake || return 1
-# make -j 2 || return 1
- make || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/stable/mythmovies/PKGBUILD b/abs/core/mythtv/stable/mythmovies/PKGBUILD
deleted file mode 100644
index c07b3a2..0000000
--- a/abs/core/mythtv/stable/mythmovies/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythmovies
-pkgver=0.21
-pkgrel=5
-pkgdesc="Displays information about movies playing in the area."
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=('mythtv>=${pkgver}')
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
- svn update
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
-
- ./configure --prefix=/usr --enable-opengl --disable-all --enable-mythmovies
-
- qmake mythplugins.pro
- make qmake || return 1
- make -j 2 || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/stable/mythmusic/PKGBUILD b/abs/core/mythtv/stable/mythmusic/PKGBUILD
deleted file mode 100644
index b422f34..0000000
--- a/abs/core/mythtv/stable/mythmusic/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id: PKGBUILD 5680 2008-07-20 05:15:42Z eric $
-# Maintainer: Juergen Hoetzel <travis@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythmusic
-pkgver=0.21
-pkgrel=12
-pkgdesc="Music playing plugin for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}" 'libid3tag' 'libmad' 'libvorbis' 'flac>=1.1.4' 'libcdaudio' \
- 'cdparanoia' 'fftw2' 'sdl' 'faad2>=2.6.1' 'lame' 'taglib' \
- 'libvisual-plugins' 'libvisual-projectm')
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- ./configure --prefix=/usr --disable-all --enable-mythmusic --enable-fftw \
- --enable-sdl --enable-aac --enable-opengl --enable-libvisual
-
- qmake mythplugins.pro
- make qmake || return 1
-# make -j 2 || return 1
- make
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/stable/mythmusic/music_flac.patch b/abs/core/mythtv/stable/mythmusic/music_flac.patch
deleted file mode 100644
index b152249..0000000
--- a/abs/core/mythtv/stable/mythmusic/music_flac.patch
+++ /dev/null
@@ -1,293 +0,0 @@
---- flacdecoder.cpp.old 2007-03-11 18:14:37.000000000 -0400
-+++ flacdecoder.cpp 2007-03-11 18:15:34.000000000 -0400
-@@ -17,7 +17,7 @@
-
- #include <qtimer.h>
-
--static FLAC__SeekableStreamDecoderReadStatus flacread(const FLAC__SeekableStreamDecoder *decoder, FLAC__byte bufferp[], unsigned *bytes, void *client_data)
-+static FLAC__StreamDecoderReadStatus flacread(const FLAC__StreamDecoder *decoder, FLAC__byte bufferp[], unsigned *bytes, void *client_data)
- {
- decoder = decoder;
-
-@@ -26,27 +26,27 @@
-
- if (len == -1)
- {
-- return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR;
-+ return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM;
- }
-
- *bytes = len;
-- return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK;
-+ return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
- }
-
--static FLAC__SeekableStreamDecoderSeekStatus flacseek(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)
-+static FLAC__StreamDecoderSeekStatus flacseek(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)
- {
- decoder = decoder;
- FlacDecoder *dflac = (FlacDecoder *)client_data;
-
- if (!dflac->input()->isDirectAccess())
-- return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR;
-+ return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
-
- if (dflac->input()->at(absolute_byte_offset))
-- return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK;
-- return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR;
-+ return FLAC__STREAM_DECODER_SEEK_STATUS_OK;
-+ return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
- }
-
--static FLAC__SeekableStreamDecoderTellStatus flactell(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
-+static FLAC__StreamDecoderTellStatus flactell(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
- {
- decoder = decoder;
- FlacDecoder *dflac = (FlacDecoder *)client_data;
-@@ -54,20 +54,20 @@
- long t = dflac->input()->at();
- *absolute_byte_offset = t;
-
-- return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK;
-+ return FLAC__STREAM_DECODER_TELL_STATUS_OK;
- }
-
--static FLAC__SeekableStreamDecoderLengthStatus flaclength(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)
-+static FLAC__StreamDecoderLengthStatus flaclength(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)
- {
- decoder = decoder;
-
- FlacDecoder *dflac = (FlacDecoder *)client_data;
-
- *stream_length = dflac->input()->size();
-- return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK;
-+ return FLAC__STREAM_DECODER_LENGTH_STATUS_OK;
- }
-
--static FLAC__bool flaceof(const FLAC__SeekableStreamDecoder *decoder, void *client_data)
-+static FLAC__bool flaceof(const FLAC__StreamDecoder *decoder, void *client_data)
- {
- decoder = decoder;
-
-@@ -76,7 +76,7 @@
- return dflac->input()->atEnd();
- }
-
--static FLAC__StreamDecoderWriteStatus flacwrite(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
-+static FLAC__StreamDecoderWriteStatus flacwrite(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
- {
- decoder = decoder;
-
-@@ -132,7 +132,7 @@
- }
- }
-
--static void flacmetadata(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
-+static void flacmetadata(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
- {
- decoder = decoder;
-
-@@ -156,11 +156,11 @@
- }
- }
-
--static void flacerror(const FLAC__SeekableStreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
-+static void flacerror(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
- {
- decoder = decoder;
-
-- FLAC__FileDecoder *file_decoder = (FLAC__FileDecoder *)client_data;
-+ FLAC__StreamDecoder *file_decoder = (FLAC__StreamDecoder *)client_data;
-
- file_decoder = file_decoder;
- status = status;
-@@ -262,17 +262,8 @@
- }
- }
-
-- decoder = FLAC__seekable_stream_decoder_new();
-- FLAC__seekable_stream_decoder_set_md5_checking(decoder, false);
-- FLAC__seekable_stream_decoder_set_read_callback(decoder, flacread);
-- FLAC__seekable_stream_decoder_set_seek_callback(decoder, flacseek);
-- FLAC__seekable_stream_decoder_set_tell_callback(decoder, flactell);
-- FLAC__seekable_stream_decoder_set_length_callback(decoder, flaclength);
-- FLAC__seekable_stream_decoder_set_eof_callback(decoder, flaceof);
-- FLAC__seekable_stream_decoder_set_write_callback(decoder, flacwrite);
-- FLAC__seekable_stream_decoder_set_metadata_callback(decoder, flacmetadata);
-- FLAC__seekable_stream_decoder_set_error_callback(decoder, flacerror);
-- FLAC__seekable_stream_decoder_set_client_data(decoder, this);
-+ decoder = FLAC__stream_decoder_new();
-+ FLAC__stream_decoder_set_md5_checking(decoder, false);
-
- freq = 0;
- bitrate = 0;
-@@ -281,8 +272,17 @@
- totalTime = 0;
- totalTime = totalTime < 0 ? 0 : totalTime;
-
-- FLAC__seekable_stream_decoder_init(decoder);
-- FLAC__seekable_stream_decoder_process_until_end_of_metadata(decoder);
-+ FLAC__stream_decoder_init_stream(decoder,
-+ flacread,
-+ flacseek,
-+ flactell,
-+ flaclength,
-+ flaceof,
-+ flacwrite,
-+ flacmetadata,
-+ flacerror,
-+ this);
-+ FLAC__stream_decoder_process_until_end_of_metadata(decoder);
-
- inited = TRUE;
- return TRUE;
-@@ -295,8 +295,8 @@
-
- void FlacDecoder::deinit()
- {
-- FLAC__seekable_stream_decoder_finish(decoder);
-- FLAC__seekable_stream_decoder_delete(decoder);
-+ FLAC__stream_decoder_finish(decoder);
-+ FLAC__stream_decoder_delete(decoder);
-
- if (input()->isOpen())
- input()->close();
-@@ -330,7 +330,7 @@
- }
-
- bool flacok = true;
-- FLAC__SeekableStreamDecoderState decoderstate;
-+ FLAC__StreamDecoderState decoderstate;
-
- while (! done && ! finish) {
- lock();
-@@ -340,12 +340,12 @@
- FLAC__uint64 sample = (FLAC__uint64)(seekTime * 44100.0);
- if (sample > totalsamples - 50)
- sample = totalsamples - 50;
-- FLAC__seekable_stream_decoder_seek_absolute(decoder, sample);
-+ FLAC__stream_decoder_seek_absolute(decoder, sample);
- seekTime = -1.0;
- }
-
-- flacok = FLAC__seekable_stream_decoder_process_single(decoder);
-- decoderstate = FLAC__seekable_stream_decoder_get_state(decoder);
-+ flacok = FLAC__stream_decoder_process_single(decoder);
-+ decoderstate = FLAC__stream_decoder_get_state(decoder);
-
- if (decoderstate == 0 || decoderstate == 1)
- {
---- flacdecoder.h.old 2007-03-11 18:14:37.000000000 -0400
-+++ flacdecoder.h 2007-03-11 18:14:12.000000000 -0400
-@@ -35,7 +35,7 @@
- char *output_buf;
- ulong output_bytes, output_at;
-
-- FLAC__SeekableStreamDecoder *decoder;
-+ FLAC__StreamDecoder *decoder;
-
- unsigned int bks;
- bool done, finish;
---- flacencoder.cpp.old 2007-03-11 18:14:37.000000000 -0400
-+++ flacencoder.cpp 2007-03-11 18:14:12.000000000 -0400
-@@ -9,7 +9,7 @@
- #include "flacencoder.h"
- #include "metaioflacvorbiscomment.h"
-
--#include <FLAC/file_encoder.h>
-+#include <FLAC/stream_encoder.h>
- #include <FLAC/assert.h>
- #include <mythtv/mythcontext.h>
-
-@@ -29,32 +29,32 @@
- int rice_parameter_search_dist = 0;
- int max_lpc_order = 8;
-
-- encoder = FLAC__file_encoder_new();
-+ encoder = FLAC__stream_encoder_new();
-
-- FLAC__file_encoder_set_streamable_subset(encoder, true);
-- FLAC__file_encoder_set_do_mid_side_stereo(encoder, do_mid_side);
-- FLAC__file_encoder_set_loose_mid_side_stereo(encoder, loose_mid_side);
-- FLAC__file_encoder_set_channels(encoder, NUM_CHANNELS);
-- FLAC__file_encoder_set_bits_per_sample(encoder, 16);
-- FLAC__file_encoder_set_sample_rate(encoder, 44100);
-- FLAC__file_encoder_set_blocksize(encoder, blocksize);
-- FLAC__file_encoder_set_max_lpc_order(encoder, max_lpc_order);
-- FLAC__file_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision);
-- FLAC__file_encoder_set_do_qlp_coeff_prec_search(encoder, false);
-- FLAC__file_encoder_set_do_escape_coding(encoder, do_escape_coding);
-- FLAC__file_encoder_set_do_exhaustive_model_search(encoder,
-+ FLAC__stream_encoder_set_streamable_subset(encoder, true);
-+ FLAC__stream_encoder_set_do_mid_side_stereo(encoder, do_mid_side);
-+ FLAC__stream_encoder_set_loose_mid_side_stereo(encoder, loose_mid_side);
-+ FLAC__stream_encoder_set_channels(encoder, NUM_CHANNELS);
-+ FLAC__stream_encoder_set_bits_per_sample(encoder, 16);
-+ FLAC__stream_encoder_set_sample_rate(encoder, 44100);
-+ FLAC__stream_encoder_set_blocksize(encoder, blocksize);
-+ FLAC__stream_encoder_set_max_lpc_order(encoder, max_lpc_order);
-+ FLAC__stream_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision);
-+ FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder, false);
-+ FLAC__stream_encoder_set_do_escape_coding(encoder, do_escape_coding);
-+ FLAC__stream_encoder_set_do_exhaustive_model_search(encoder,
- do_exhaustive_model_search);
-- FLAC__file_encoder_set_min_residual_partition_order(encoder,
-+ FLAC__stream_encoder_set_min_residual_partition_order(encoder,
- min_residual_partition_order);
-- FLAC__file_encoder_set_max_residual_partition_order(encoder,
-+ FLAC__stream_encoder_set_max_residual_partition_order(encoder,
- max_residual_partition_order);
-- FLAC__file_encoder_set_rice_parameter_search_dist(encoder,
-+ FLAC__stream_encoder_set_rice_parameter_search_dist(encoder,
- rice_parameter_search_dist);
-
-- FLAC__file_encoder_set_filename(encoder, outfile.local8Bit());
-+
-
-- int ret = FLAC__file_encoder_init(encoder);
-- if (ret != FLAC__FILE_ENCODER_OK)
-+ int ret = FLAC__stream_encoder_init_file(encoder, outfile.local8Bit(), NULL, NULL);
-+ if (ret != FLAC__STREAM_ENCODER_OK)
- {
- VERBOSE(VB_GENERAL, QString("Error initializing FLAC encoder."
- " Got return code: %1").arg(ret));
-@@ -70,8 +70,8 @@
-
- if (encoder)
- {
-- FLAC__file_encoder_finish(encoder);
-- FLAC__file_encoder_delete(encoder);
-+ FLAC__stream_encoder_finish(encoder);
-+ FLAC__stream_encoder_delete(encoder);
- }
-
- if (metadata)
-@@ -102,7 +102,7 @@
-
- if(sampleindex == MAX_SAMPLES || (length == 0 && sampleindex > 0) )
- {
-- if (!FLAC__file_encoder_process(encoder,
-+ if (!FLAC__stream_encoder_process(encoder,
- (const FLAC__int32 * const *) input,
- sampleindex))
- {
---- flacencoder.h.old 2007-03-11 18:14:37.000000000 -0400
-+++ flacencoder.h 2007-03-11 18:14:12.000000000 -0400
-@@ -4,7 +4,7 @@
- #include <qstring.h>
-
- #define HAVE_INTTYPES_H
--#include <FLAC/file_encoder.h>
-+#include <FLAC/stream_encoder.h>
-
- #include "encoder.h"
-
-@@ -21,7 +21,7 @@
- int addSamples(int16_t *bytes, unsigned int len);
-
- private:
-- FLAC__FileEncoder *encoder;
-+ FLAC__StreamEncoder *encoder;
- unsigned int sampleindex;
- FLAC__int32 inputin[NUM_CHANNELS][MAX_SAMPLES];
- FLAC__int32 *input[NUM_CHANNELS];
diff --git a/abs/core/mythtv/stable/mythmusic/mythmusic-0.21.patch b/abs/core/mythtv/stable/mythmusic/mythmusic-0.21.patch
deleted file mode 100644
index f3fa930..0000000
--- a/abs/core/mythtv/stable/mythmusic/mythmusic-0.21.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur mythplugins-0.21.old/mythmusic/mythmusic/aacdecoder.cpp mythplugins-0.21/mythmusic/mythmusic/aacdecoder.cpp
---- mythplugins-0.21.old/mythmusic/mythmusic/aacdecoder.cpp 2007-08-25 17:49:44.000000000 +0200
-+++ mythplugins-0.21/mythmusic/mythmusic/aacdecoder.cpp 2008-03-27 00:16:38.000000000 +0100
-@@ -19,6 +19,7 @@
- #include <qobject.h>
- #include <qiodevice.h>
- #include <qfile.h>
-+#include <stdlib.h>
-
- #include "aacdecoder.h"
- #include "constants.h"
-diff -ur mythplugins-0.21.old/mythmusic/mythmusic/metaiomp4.cpp mythplugins-0.21/mythmusic/mythmusic/metaiomp4.cpp
---- mythplugins-0.21.old/mythmusic/mythmusic/metaiomp4.cpp 2006-08-22 04:06:03.000000000 +0200
-+++ mythplugins-0.21/mythmusic/mythmusic/metaiomp4.cpp 2008-03-27 00:17:05.000000000 +0100
-@@ -3,6 +3,7 @@
- #include <fcntl.h>
- #include <unistd.h>
- #include <sys/types.h>
-+#include <stdlib.h>
-
- using namespace std;
-
diff --git a/abs/core/mythtv/stable/mythnews/PKGBUILD b/abs/core/mythtv/stable/mythnews/PKGBUILD
deleted file mode 100644
index 1f22161..0000000
--- a/abs/core/mythtv/stable/mythnews/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <travis@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythnews
-pkgver=0.21
-pkgrel=4
-pkgdesc="News checking plugin for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}")
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
- svn update
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- ./configure --prefix=/usr --disable-all --enable-mythnews
-
- qmake mythplugins.pro
- make qmake || return 1
- make -j 2 || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/stable/mythphone/PKGBUILD b/abs/core/mythtv/stable/mythphone/PKGBUILD
deleted file mode 100644
index 1ce2d5a..0000000
--- a/abs/core/mythtv/stable/mythphone/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <travis@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythphone
-pkgver=0.21
-pkgrel=3
-pkgdesc="Plugin that allows phone calls to be made to MythTv"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}")
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- ./configure --prefix=/usr --enable-opengl --disable-all --enable-mythphone || return 1
-
- qmake mythplugins.pro || return 1
- make qmake || return 1
- sed -i 's#kde3#kde#' ./mythphone/mythphone/Makefile || return 1
- make -j 2 || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/stable/mythsmolt/PKGBUILD b/abs/core/mythtv/stable/mythsmolt/PKGBUILD
deleted file mode 100644
index 25c91cf..0000000
--- a/abs/core/mythtv/stable/mythsmolt/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-pkgname=mythsmolt
-pkgver=0.21
-pkgrel=8
-pkgdesc="mythsmolt, a hardware profileing tool"
-arch=('i686' 'x86_64')
-url="http://www.mythvantage.com"
-license=('GPL')
-depends=("mythtv>=${pkgver}" urlgrabber)
-source=("http://www.mythvantage.com/request.php?4")
-
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythsmolt_src/mythsmolt
- . /etc/profile.d/qt3.sh
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- echo "INCLUDEPATH += /usr/include/mythtv" >> mythsmolt.pro.usr
-
- qmake mythsmolt.pro.usr
- make qmake || return 1
- make -j 2 || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
diff --git a/abs/core/mythtv/stable/mythstream/PKGBUILD b/abs/core/mythtv/stable/mythstream/PKGBUILD
deleted file mode 100644
index 275afa8..0000000
--- a/abs/core/mythtv/stable/mythstream/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythstream
-pkgver=0.18_1
-pkgrel=8
-pkgdesc="Unofficial MythTV plugin for Internet audio and video streams."
-arch=('i686' 'x86_64')
-url="http://home.kabelfoon.nl/~moongies/streamtuned.html"
-license=('GPL')
-depends=('mythtv' 'perl-xml-simple')
-source=("http://home.kabelfoon.nl/~moongies/sw9vc4htz2/mythstream-v0.18_1.tar.gz" "http://home.kabelfoon.nl/~moongies/sw9vc4htz2/mythstream.cpp.patch_svn20071123" "mythstream.diff")
-md5sums=('')
-install=mythstream.install
-groups=('mythtv-extras')
-install=mythstream.install
-
-build() {
- cd $startdir/src/mythstream-0.18_1
- patch -p1 < ../mythstream.diff
- patch -p0 < ../mythstream.cpp.patch_svn20071123
- ln -s ../../../mythtv/src/mythtv-0.21/libs/lib* .
- . /etc/profile.d/qt3.sh
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- echo "INCLUDEPATH += /usr/include/mythtv" >> mythstream/mythstream.pro
-
- qmake mythstream.pro
- make qmake || return 1
- make -j 2 || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
diff --git a/abs/core/mythtv/stable/mythstream/mythstream.diff b/abs/core/mythtv/stable/mythstream/mythstream.diff
deleted file mode 100644
index 477881c..0000000
--- a/abs/core/mythtv/stable/mythstream/mythstream.diff
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -ruaN mythstream-0.18_1.orig/libs/fft.cpp mythstream-0.18_1/libs/fft.cpp
---- mythstream-0.18_1.orig/libs/fft.cpp 2006-11-06 22:50:22.000000000 +0000
-+++ mythstream-0.18_1/libs/fft.cpp 2009-01-26 02:44:33.000000000 +0000
-@@ -23,7 +23,7 @@
- // development snapshot, many todo's
-
- #include <iostream>
--
-+#include <math.h>
-
- #include <qapplication.h>
- #include <unistd.h>
-diff -ruaN mythstream-0.18_1.orig/libs/harvester.cpp mythstream-0.18_1/libs/harvester.cpp
---- mythstream-0.18_1.orig/libs/harvester.cpp 2007-09-25 22:58:20.000000000 +0000
-+++ mythstream-0.18_1/libs/harvester.cpp 2009-01-26 02:44:55.000000000 +0000
-@@ -47,6 +47,7 @@
- #include <qdom.h>
-
- #include <sys/stat.h>
-+#include <cstdlib>
-
- #include "harvester.h"
-
-diff -ruaN mythstream-0.18_1.orig/libs/recorder.cpp mythstream-0.18_1/libs/recorder.cpp
---- mythstream-0.18_1.orig/libs/recorder.cpp 2005-05-14 13:22:51.000000000 +0000
-+++ mythstream-0.18_1/libs/recorder.cpp 2009-01-26 02:45:14.000000000 +0000
-@@ -34,6 +34,7 @@
- #include <qvbox.h>
- #include <qlayout.h>
- #include <qregexp.h>
-+#include <cstdlib>
-
- #include <qurl.h>
-
-diff -ruaN mythstream-0.18_1.orig/libs/storageconfig.cpp mythstream-0.18_1/libs/storageconfig.cpp
---- mythstream-0.18_1.orig/libs/storageconfig.cpp 2007-09-05 21:03:14.000000000 +0000
-+++ mythstream-0.18_1/libs/storageconfig.cpp 2009-01-26 02:45:35.000000000 +0000
-@@ -26,6 +26,7 @@
- #include <qlayout.h>
- #include <qcursor.h>
- #include <qregexp.h>
-+#include <cstdlib>
-
- #include "storageconfig.h"
-
-diff -ruaN mythstream-0.18_1.orig/libs/streamconfig.cpp mythstream-0.18_1/libs/streamconfig.cpp
---- mythstream-0.18_1.orig/libs/streamconfig.cpp 2007-09-05 20:36:21.000000000 +0000
-+++ mythstream-0.18_1/libs/streamconfig.cpp 2009-01-26 02:45:48.000000000 +0000
-@@ -28,6 +28,7 @@
- #include <qregexp.h>
- #include <qtextedit.h>
- #include <qtextstream.h>
-+#include <cstdlib>
-
- #include "streamconfig.h"
-
-diff -ruaN mythstream-0.18_1.orig/libs/streamstatus.cpp mythstream-0.18_1/libs/streamstatus.cpp
---- mythstream-0.18_1.orig/libs/streamstatus.cpp 2007-09-19 00:13:45.000000000 +0000
-+++ mythstream-0.18_1/libs/streamstatus.cpp 2009-01-26 02:46:05.000000000 +0000
-@@ -38,7 +38,7 @@
- #include <qregexp.h>
- #include <qurl.h>
- #include <math.h>
--
-+#include <cstdlib>
-
- #include "streamstatus.h"
-
-diff -ruaN mythstream-0.18_1.orig/libs/streamstorage.cpp mythstream-0.18_1/libs/streamstorage.cpp
---- mythstream-0.18_1.orig/libs/streamstorage.cpp 2007-09-23 18:26:15.000000000 +0000
-+++ mythstream-0.18_1/libs/streamstorage.cpp 2009-01-26 02:46:28.000000000 +0000
-@@ -34,6 +34,7 @@
-
- #include "streamstorage.h"
- #include "configelements.h"
-+#include <cstdlib>
-
- #include <sys/stat.h>
-
diff --git a/abs/core/mythtv/stable/mythstream/mythstream.install b/abs/core/mythtv/stable/mythstream/mythstream.install
deleted file mode 100644
index 5af96f2..0000000
--- a/abs/core/mythtv/stable/mythstream/mythstream.install
+++ /dev/null
@@ -1,23 +0,0 @@
-# arg 1: the new package version
-post_install() {
- mv /usr/share/mythtv/is.xml /tmp
- grep -v -e /mythmenu /tmp/is.xml > /tmp/is.xml.tmp
- echo "<!--#MythStream-->" >> /tmp/is.xml.tmp
- echo " <button>" >> /tmp/is.xml.tmp
- echo " <type>STREAM</type>" >> /tmp/is.xml.tmp
- echo " <text>MythStream</text>" >> /tmp/is.xml.tmp
- echo " <action>PLUGIN mythstream</action>" >> /tmp/is.xml.tmp
- echo " </button>" >> /tmp/is.xml.tmp
- echo "<!--#MythStream-->" >> /tmp/is.xml.tmp
- echo "" >> /tmp/is.xml.tmp
- echo "</mythmenu>" >> /tmp/is.xml.tmp
- mv /tmp/is.xml.tmp /usr/share/mythtv/is.xml
-}
-post_remove() {
- mv /usr/share/mythtv/is.xml /tmp/is.xml.tmp
- sed -e '/\#MythStream/,/\#MythStream/d' < /tmp/is.xml.tmp > /usr/share/mythtv/is.xml
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/mythtv/stable/myththemes/PKGBUILD b/abs/core/mythtv/stable/myththemes/PKGBUILD
deleted file mode 100644
index 6c0a0bb..0000000
--- a/abs/core/mythtv/stable/myththemes/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=myththemes
-pkgver=0.21
-pkgrel=3
-pkgdesc="Themes for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org/"
-license=('GPL')
-depends=("mythtv>=${pkgver}")
-source=("ftp://ftp.knoppmyth.net/R6/sources/${pkgname}-${pkgver}-fixes.tar.bz2")
-md5sums=('25d4642344cbfd8ee0ceab75022e13fb')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/$pkgname
- . /etc/profile.d/qt3.sh
- svn update
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- ./configure --prefix=/usr || return 1
-
- qmake $pkgname.pro
- make qmake || return 1
- make || return 1
-
- # basic install
- make INSTALL_ROOT=$startdir/pkg install || return 1
-}
-
diff --git a/abs/core/mythtv/stable/mythtv/2.6.28_dvb_api_version.diff b/abs/core/mythtv/stable/mythtv/2.6.28_dvb_api_version.diff
deleted file mode 100644
index 0116023..0000000
--- a/abs/core/mythtv/stable/mythtv/2.6.28_dvb_api_version.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: libs/libmythtv/dvbtypes.h
-===================================================================
---- libs/libmythtv/dvbtypes.h (revision 19792)
-+++ libs/libmythtv/dvbtypes.h (working copy)
-@@ -19,7 +19,7 @@
- #include <linux/dvb/frontend.h>
- #include <linux/dvb/dmx.h>
-
--#if (DVB_API_VERSION != 3)
-+#if (DVB_API_VERSION != 3 && DVB_API_VERSION != 5)
- # error "DVB driver includes with API version 3 not found!"
- #endif
-
-@@ -27,7 +27,7 @@
- # define DVB_API_VERSION_MINOR 0
- #endif
-
--#if (DVB_API_VERSION >= 3 && DVB_API_VERSION_MINOR >= 1)
-+#if ((DVB_API_VERSION == 3 && DVB_API_VERSION_MINOR >= 1) || DVB_API_VERSION == 5)
- # define USE_ATSC
- #else
- #warning DVB API version < 3.1
diff --git a/abs/core/mythtv/stable/mythtv/PKGBUILD b/abs/core/mythtv/stable/mythtv/PKGBUILD
deleted file mode 100644
index af084fc..0000000
--- a/abs/core/mythtv/stable/mythtv/PKGBUILD
+++ /dev/null
@@ -1,98 +0,0 @@
-pkgname=mythtv
-pkgver=0.21
-pkgrel=90
-pkgdesc="A Homebrew PVR project"
-arch=('i686' 'x86_64')
-depends=('bash' 'mysql-clients>=5.0' 'qt3' 'lame' 'lirc-utils' 'ffmpeg'
- 'libxvmc' 'libavc1394' 'libdc1394' 'libiec61883' 'perl-net-upnp'
- 'perl-time-format')
-backup=(etc/mythtv/mythbackend.conf etc/mythtv/mysql.txt usr/share/mythtv/is.xmlusr/share/mythtv/media_settings.xml )
-source=(ftp://ftp.knoppmyth.net/R6/sources/${pkgname}-${pkgver}-fixes.tar.bz2
- mythbackend myththemedmenu.cpp.patch myththemedmenu.h.patch
- smolt_jump.patch pretty gnome_screensaver.patch mpegpspatch
- mythbackend.lr mythfrontend.lr)
-
-license=('GPL2')
-makedepends=(libgl subversion python perl)
-groups=('pvr')
-url="http://www.mythtv.org/"
-install=mythtv.install
-
-build() {
- cd $startdir/src/${pkgname}-${pkgver} || return 1
- svn update
-
-#apply patches
- patch -p0 < ../myththemedmenu.cpp.patch
- patch -p0 < ../myththemedmenu.h.patch
-# patch -p0 < ../pop_be_restart.h.patch
-# patch -p0 < ../pop_be_restart.cpp.patch
- patch -p0 < ../smolt_jump.patch
-# patch -p0 < ../2.6.28_dvb_api_version.diff
- patch -p0 < ../gnome_screensaver.patch
-# cd libs/libavformat
-# patch -p0 < $startdir/src/mpegpspatch
-# cd -
-
- . /etc/profile.d/qt3.sh
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
- [ "$CARCH" = "i686" ] && ARCH="i686"
- [ "$CARCH" = "x86_64" ] && ARCH="x86-64"
-
- ./configure --prefix=/usr --cpu=${ARCH} --enable-mmx --enable-audio-oss \
- --enable-audio-alsa --enable-dvb --enable-lirc --enable-joystick-menu \
- --enable-firewire --enable-v4l --enable-ivtv --enable-dvb \
- --dvb-path=/usr/include --enable-xvmc --disable-ffmpeg \
- --enable-xvmc-pro --enable-xvmc-vld --enable-opengl-vsync \
- --disable-audio-jack --disable-audio-arts --disable-directfb || return 1
-
- # build
- #needs the subversion program
- pkgversubversion=`svnversion`
- echo $pkgversubversion
- sed -i -e "s/\`(svnversion \$\${SVNTREEDIR} 2>\/dev\/null) || echo Unknown\`/$pkgversubversion/" version.pro
-
-
-# qmake mythtv.pro || return 1
-# make qmake || return 1
- make || return 1
-
- # basic install
- make INSTALL_ROOT=$startdir/pkg install || return 1
-
- # install db schema
- install -m0644 database/mc.sql $startdir/pkg/usr/share/mythtv/ \
- || return 1
- install -D -m0755 ../mythbackend $startdir/pkg/etc/rc.d/mythbackend \
- || return 1
- cp -r docs $startdir/pkg/usr/share/mythtv/ || return 1
- # cp ../QUICKSTART.archlinux $startdir/pkg/usr/share/mythtv/ \
-# || return 1
-
- # install contrib
- mkdir -p $startdir/pkg/usr/share/mythtv/contrib || return 1
- rsync -a --exclude=.svn --exclude=*~ contrib $startdir/pkg/usr/share/mythtv/
-# cp -rap contrib $startdir/pkg/usr/share/mythtv/contrib
- #install -m0755 contrib/* $startdir/pkg/usr/share/mythtv/contrib
-
- # set suid on mythfrontend
- #chmod a+s $startdir/pkg/usr/bin/mythfrontend
-
-#Patch the xml LinHES style
- cp -r $startdir/menu-xml/*.xml $startdir/pkg/usr/share/mythtv
- cd $startdir/pkg/usr/share/mythtv
- patch -Np0 < $startdir/menu-xml/mainmenu.xml.patch || return 1
- patch -Np0 < $startdir/menu-xml/optical_menu.xml.patch || return 1
- patch -Np0 < $startdir/menu-xml/library.xml.patch || return 1
- patch -Np0 < $startdir/menu-xml/util_menu.xml.patch || return 1
-
-#Make log dir
- mkdir -p $startdir/pkg/var/log/mythtv
- chown 1000.1000 $startdir/pkg/var/log/mythtv
- mkdir -p $startdir/pkg/etc/cron.hourly
- install -m0755 $startdir/src/pretty $startdir/pkg/etc/cron.hourly/
- mkdir -p $startdir/pkg/etc/logrotate.d/
- cp $startdir/src/*.lr $startdir/pkg/etc/logrotate.d
-}
diff --git a/abs/core/mythtv/stable/mythtv/QUICKSTART.archlinux b/abs/core/mythtv/stable/mythtv/QUICKSTART.archlinux
deleted file mode 100644
index 310705c..0000000
--- a/abs/core/mythtv/stable/mythtv/QUICKSTART.archlinux
+++ /dev/null
@@ -1,69 +0,0 @@
-MythTV QUICKSTART
-=================
-This Arch Linux package provides a generic MythTV installation. It
-requires extensive user configuration. This is a skeletal document, and
-more extensive information is available in /usr/share/mythtv/docs.
-
-MythTV is split into a backend and a frontend. The backend records
-television programming, keeps up with scheduling, does commercial
-flagging, transcoding, and other such jobs. The frontend provides a
-pretty GUI which allows playback and edition of the recorded programs.
-It also provides a means to schedule recordings. There are a number of
-plugins available for MythTV, and most of the official ones are
-available as Arch packages. There are two configurations; the backend
-and frontend can be on the same machine, or on two different machines on
-the same network.
-
-Backend Configuration
----------------------
-MythTV keeps the majority of its settings and program information in a
-mysql database. Before running the backend configuration program, it is
-necessary to initialize the datase. Make sure mysql is running properly.
-
-# mysql < /usr/share/mythtv/mc.sql
-
-If your frontend is going to be remote, you must allow other computers
-on your network to have access to your database. Substitute 192.168.1.%
-with whatever IP range you use. If you have a root mysql password (as
-you should), leave the -p in the mysql command line. Otherwise remove
-the switch.
-
-# mysql -u root -p
- mysql> connect mythconverg;
- mysql> grant all on mythconverg.* to mythtv@"192.168.1.%" identified by "mythtv";
- mysql> flush privileges;
- mysql> quit
-
-In order to configure the MythTV backend, you will need to run the
-mythtv-setup program. Note that this requires X. If your backend is
-headless, considering using vnc as a quick and dirty "fix".
-
-# mythtv-setup
-
-Go through all the menus. You will need to know information like your
-capture card device (/dev/v4l/video[0-9]) and your program information
-acquisition method. United States users will most likely subscribe to
-Zap2it Labs' DataDirect service. It requires that users take a survey
-every three months in order to continue service. This isn't as hard as
-it sounds.
-
-It is necessary to update the database with all the current TV listings.
-Run the mythfilldatabase program to grab the listings using whatever
-method you specified in mythtv-setup.
-
-# mythfilldatabase
-
-Run mythbackend from the command line to make sure everything starts ok.
-
-# mythbackend
-
-If so, you may kill the task with "ctrl-c" on your keyboard, and add the
-backend to /etc/rc.conf. In the DAEMONS line, just add "mythbackend" to
-the list.
-
-In the future, you will need to run mythfilldatabase regularly. I allow
-my frontend computer to do this, as it runs continuously, and it is an
-option within MythTV. Otherwise, you can set up a cron job, or move
-mythfilldatabasecron to /etc/cron.daily
-
-cp /usr/share/mythtv/mythfilldatabasecron /etc/cron.daily
diff --git a/abs/core/mythtv/stable/mythtv/gnome_screensaver.patch b/abs/core/mythtv/stable/mythtv/gnome_screensaver.patch
deleted file mode 100644
index 6da37be..0000000
--- a/abs/core/mythtv/stable/mythtv/gnome_screensaver.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- libs/libmyth/screensaver-x11.cpp.orig 2009-03-15 19:10:47.000000000 +0000
-+++ libs/libmyth/screensaver-x11.cpp 2009-03-15 19:10:56.000000000 +0000
-@@ -143,9 +143,13 @@
- (m_last_deactivated.secsTo(current_time) > 30))
- {
- if (m_xscreensaverRunning)
-+ {
- myth_system("xscreensaver-command -deactivate >&- 2>&- &");
-- else if (m_gscreensaverRunning)
-- myth_system("gnome-screensaver-command --poke >&- 2>&- &");
-+ }
-+ if (m_gscreensaverRunning)
-+ {
-+ myth_system("gnome-screensaver-command -dp &");
-+ }
- m_last_deactivated = current_time;
- }
- }
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/HOST_SETTINGS.xml b/abs/core/mythtv/stable/mythtv/menu-xml/HOST_SETTINGS.xml
deleted file mode 100644
index ac52497..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/HOST_SETTINGS.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<mythmenu name="HOST_SETTINGS">
-
- <button>
- <type>MV_NETWORK_SETUP_MENU</type>
- <text>Network Settings</text>
- <action>EXEC mythinstall -s network </action>
- </button>
-
- <button>
- <type>MV_NETWORK_SETUP_MENU</type>
- <text>DDNS Settings</text>
- <action>EXEC mythinstall -s ddns </action>
- </button>
- <button>
- <type>MV_SYSTEM_SETUP_MENU</type>
- <text>System Type</text>
- <action>EXEC mythinstall -s hostype </action>
- </button>
-
- <button>
- <type>MV_SCREENSAVER_SETUP_MENU</type>
- <text>Screensaver Settings</text>
- <action>EXEC mythinstall -s screensaver </action>
- </button>
-
- <button>
- <type>MV_IR_SETUP_MENU</type>
- <text>Remotes</text>
- <action>EXEC mythinstall -s ir </action>
- </button>
-
- <button>
- <type>MV_MISC_SETUP_MENU</type>
- <text>Miscellanous Settings</text>
- <action>EXEC mythinstall -s misc </action>
- </button>
-
- <button>
- <type>MV_SOFTWARE_MENU</type>
- <text>Software</text>
- <action>EXEC mythinstall -s plugins </action>
- </button>
-
- <button>
- <type>MV_SHUTDOWN_SETUP_MENU</type>
- <text>Shutdown Settings</text>
- <action>EXEC mythinstall -s sleep </action>
- </button>
-
- <button>
- <type>MV_ADVANCED_X_SETUP_MENU</type>
- <text>Display Settings</text>
- <action>EXEC mythinstall -s advancedX</action>
- </button>
-
- <button>
- <type>MV_ADVANCED_SETUP_MENU</type>
- <text>Advanced Settings</text>
- <action>EXEC mythinstall -s advanced</action>
- </button>
-
- <button>
- <type>MV_AUDIO_SETUP_MENU</type>
- <text>Audio Settings</text>
- <action>EXEC mythinstall -s sound </action>
- </button>
-
- <button>
- <type>MV_ACCESS_SETUP_MENU</type>
- <text>Access Control</text>
- <action>EXEC mythinstall -s accesscontrol </action>
- </button>
-
- <button>
- <type>MV_USER_SETUP_MENU</type>
- <text>User Accounts</text>
- <action>EXEC mythinstall -s user </action>
- </button>
-
- <button>
- <type>MV_WEBACCESS_SETUP_MENU</type>
- <text>Web Security</text>
- <action>EXEC mythinstall -s webuser </action>
- </button>
-
- <!--
- <button>
- <type>SETUP_MENU</type>
- <text>Settings Profile Manager</text>
- <action>EXEC mythinstall -t </action>
- </button>
- -->
-
-</mythmenu>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/is.xml b/abs/core/mythtv/stable/mythtv/menu-xml/is.xml
deleted file mode 100644
index 88b7e6b..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/is.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<mythmenu name="Internet Steams">
-
-</mythmenu>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/library.xml.patch b/abs/core/mythtv/stable/mythtv/menu-xml/library.xml.patch
deleted file mode 100644
index 749e1e7..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/library.xml.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- library.xml.orig 2009-03-15 19:20:15.000000000 +0000
-+++ library.xml 2009-03-15 19:20:44.000000000 +0000
-@@ -119,10 +119,8 @@
-
- <button>
- <type>STREAM</type>
-- <text>Play Online Streams</text>
-- <text lang="HE">נגן מדיה מכוונת</text>
-- <action>PLUGIN mythstream</action>
-- <depends>mythstream</depends>
-+ <text>Online Streams</text>
-+ <action>MENU is.xml</action>
- </button>
-
- <button>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/linhes.xml b/abs/core/mythtv/stable/mythtv/menu-xml/linhes.xml
deleted file mode 100644
index 80bd3c9..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/linhes.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<mythmenu name="LinHES">
-
- <button>
- <type>SETUP_GENERAL</type>
- <text>MythTV Configuration</text>
- <text lang="IT">Impostazioni</text>
- <text lang="ES">Configuración</text>
- <text lang="CA">Configurar</text>
- <text lang="FR">paramètres</text>
- <text lang="DE">Zubehör / Konfiguration</text>
- <text lang="DK">Tilbehør/Indstillinger</text>
- <text lang="IS">Uppsetning</text>
- <text lang="NL">Configuratie</text>
- <text lang="PT">Utensílios</text>
- <text lang="SV">Verktyg / Inställningar</text>
- <text lang="JA">設定</text>
- <text lang="FI">Oheis/Asetukset</text>
- <text lang="ZH_TW">工具/設定</text>
- <text lang="SI">Nastavitve</text>
- <text lang="ET">Utiliidid / sätted</text>
- <text lang="NB">Verktøy/Oppsett</text>
- <text lang="CZ">Pomůcky</text>
- <text lang="RU">Утилиты / Настройки</text>
- <text lang="AR">تضبيطات</text>
- <text lang="PL">Narzędzia / ustawienia</text>
- <text lang="HE">עזרים / הגדרות</text>
- <alttext lang="DE">Verschiedenes</alttext>
- <alttext lang="SV">Inställningar</alttext>
- <alttext lang="ET">Sätted</alttext>
- <alttext lang="RU">Настройки</alttext>
- <alttext lang="AR">تضبيطات</alttext>
- <action>MENU util_menu.xml</action>
- </button>
-
- <button>
- <type>LINHES_SETUP</type>
- <text>LinHES Configuration</text>
- <action>MENU HOST_SETTINGS.xml</action>
- </button>
-
- <button>
- <type>BACKUP</type>
- <text>Backup LinHES</text>
- <action>MENU mythbackup.xml</action>
- </button>
-
- <button>
- <type>RESTORE</type>
- <text>Restore LinHES</text>
- <action>MENU mythrestore.xml</action>
- </button>
-
-<!--#Check for updates-->
- <button>
- <type>UPGRADE</type>
- <text>Upgrade LinHES</text>
- <action>MENU update.xml</action>
- </button>
-<!--#Check for updates-->
-</mythmenu>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/mainmenu.xml.patch b/abs/core/mythtv/stable/mythtv/menu-xml/mainmenu.xml.patch
deleted file mode 100644
index a299325..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/mainmenu.xml.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- mainmenu.xml.orig 2009-01-09 02:45:07.000000000 +0000
-+++ mainmenu.xml 2009-01-22 08:04:28.000000000 +0000
-@@ -158,34 +158,8 @@
-
- <button>
- <type>MENU_UTILITIES_SETUP</type>
-- <text>Utilities / Setup</text>
-- <text lang="IT">Impostazioni</text>
-- <text lang="ES">Configuración</text>
-- <text lang="CA">Configurar</text>
-- <text lang="FR">paramètres</text>
-- <text lang="DE">Zubehör / Konfiguration</text>
-- <text lang="DK">Tilbehør/Indstillinger</text>
-- <text lang="IS">Uppsetning</text>
-- <text lang="NL">Configuratie</text>
-- <text lang="PT">Utensílios</text>
-- <text lang="SV">Verktyg / Inställningar</text>
-- <text lang="JA">設定</text>
-- <text lang="FI">Oheis/Asetukset</text>
-- <text lang="ZH_TW">工具/設定</text>
-- <text lang="SI">Nastavitve</text>
-- <text lang="ET">Utiliidid / sätted</text>
-- <text lang="NB">Verktøy/Oppsett</text>
-- <text lang="CZ">Pomůcky</text>
-- <text lang="RU">Утилиты / Настройки</text>
-- <text lang="AR">تضبيطات</text>
-- <text lang="PL">Narzędzia / ustawienia</text>
-- <text lang="HE">עזרים / הגדרות</text>
-- <alttext lang="DE">Verschiedenes</alttext>
-- <alttext lang="SV">Inställningar</alttext>
-- <alttext lang="ET">Sätted</alttext>
-- <alttext lang="RU">Настройки</alttext>
-- <alttext lang="AR">تضبيطات</alttext>
-- <action>MENU util_menu.xml</action>
-+ <text>Service Menu</text>
-+ <action>MENU linhes.xml</action>
- </button>
-
- <!-- <button>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/mythbackup.xml b/abs/core/mythtv/stable/mythtv/menu-xml/mythbackup.xml
deleted file mode 100644
index 5914b33..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/mythbackup.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<mythmenu name="LinHES">
-
- <button>
- <type>BACKUP</type>
- <text>Do you wish to backup?</text>
- <action>NONE</action>
- </button>
-
- <button>
- <type>BACKUP</type>
- <text>Yes</text>
- <action>EXEC sudo /usr/LH/bin/mythbackup</action>
- </button>
-
- <button>
- <type>BACKUP</type>
- <text>No</text>
- <action>UPMENU</action>
- </button>
-</mythmenu>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/mythrestore.xml b/abs/core/mythtv/stable/mythtv/menu-xml/mythrestore.xml
deleted file mode 100644
index 8f5c285..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/mythrestore.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<mythmenu name="LinHES">
-
- <button>
- <type>RESTORE</type>
- <text>Do you wish to restore?</text>
- <action>NONE</action>
- </button>
-
- <button>
- <type>RESTORE</type>
- <text>Yes</text>
- <action>EXEC sudo /usr/LH/bin/mythrestore</action>
- </button>
-
- <button>
- <type>BACKUP</type>
- <text>No</text>
- <action>UPMENU</action>
- </button>
-</mythmenu>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/optical_menu.xml.patch b/abs/core/mythtv/stable/mythtv/menu-xml/optical_menu.xml.patch
deleted file mode 100644
index d1cb70c..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/optical_menu.xml.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- optical_menu.xml.orig 2008-10-02 22:46:30.000000000 +0000
-+++ optical_menu.xml 2008-07-02 04:05:15.000000000 +0000
-@@ -129,6 +129,12 @@
- </button>
-
- <button>
-+ <type>DVD_RIP</type>
-+ <text>Import video files from DVD</text>
-+ <action>EXEC /usr/LH/bin/importfiles.sh</action>
-+ </button>
-+
-+ <button>
- <type>EJECT</type>
- <text>Eject media</text>
- <text lang="IT">Espelli Media</text>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/original/create_patch.sh b/abs/core/mythtv/stable/mythtv/menu-xml/original/create_patch.sh
deleted file mode 100644
index 34d8b8c..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/original/create_patch.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-for i in *.xml
-do
- diff -u $i.orig $i > ../$i.patch
-done
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/setup.xml b/abs/core/mythtv/stable/mythtv/menu-xml/setup.xml
deleted file mode 100644
index f56bb6f..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/setup.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<mythmenu name="MAIN">
-
- <button>
- <type>SETUP_GENERAL</type>
- <text>1. General</text>
- <text lang="IT">1. Generale</text>
- <text lang="PT">1. Geral</text>
- <text lang="SV">1. Generellt</text>
- <text lang="JA">1. 一般</text>
- <text lang="DE">1. Allgemeines</text>
- <text lang="FI">1. Yleiset</text>
- <text lang="FR">1. Général</text>
- <text lang="SI">1. Splošno</text>
- <text lang="ET">1. Üldine</text>
- <text lang="NB">1 Generelt</text>
- <text lang="DK">1. Generelt</text>
- <text lang="ES">1. General</text>
- <text lang="CZ">1. Obecný</text>
- <text lang="RU">1. Общие</text>
- <action>GENERAL</action>
- </button>
-
- <button>
- <type>SETUP_CAPTURE_CARDS</type>
- <text>2. Capture cards</text>
- <text lang="IT">2. Schede di Acquisizione</text>
- <text lang="PT">2. Placas de Captura</text>
- <text lang="SV">2. TV-kort</text>
- <text lang="JA">2. キャプチャカード</text>
- <text lang="DE">2. TV-Karten</text>
- <text lang="FI">2. TV-kortit</text>
- <text lang="FR">2. Cartes d'acquisition</text>
- <text lang="SI">2. Kartice za zajem</text>
- <text lang="ET">2. TV-kaardid</text>
- <text lang="NB">2 TV-kort</text>
- <text lang="DK">2. TV-kort</text>
- <text lang="ES">2. Capturadoras</text>
- <text lang="CZ">2. Zachytávací karty</text>
- <text lang="RU">2. Карты захвата</text>
- <action>CAPTURE CARDS</action>
- </button>
-
- <button>
- <type>SETUP_VIDEO_SOURCES</type>
- <text>3. Video sources</text>
- <text lang="IT">3. Fonte Video</text>
- <text lang="PT">3. Fontes de Vídeo</text>
- <text lang="SV">3. Videokällor</text>
- <text lang="JA">3. ビデオソース</text>
- <text lang="DE">3. Videoquellen</text>
- <text lang="FI">3. Kuvanlähteet</text>
- <text lang="FR">3. Sources vidéo</text>
- <text lang="SI">3. Video viri</text>
- <text lang="ET">3. Videosisendid</text>
- <text lang="NB">3 Videokilder</text>
- <text lang="DK">3. Videokilder</text>
- <text lang="ES">3. Fuentes de Vídeo</text>
- <text lang="CZ">3. Zdroje obrazu</text>
- <text lang="RU">3. Видео источники</text>
- <action>VIDEO SOURCES</action>
- </button>
-
- <button>
- <type>SETUP_INPUT_CONNECTIONS</type>
- <text>4. Input connections</text>
- <text lang="IT">4. Connessioni di Ingresso</text>
- <text lang="PT">4. Ligações de Entrada</text>
- <text lang="SV">4. Anslutningar</text>
- <text lang="JA">4. 入力とソースの接続</text>
- <text lang="DE">4. Verknüpfungen</text>
- <text lang="FI">4. Sisääntuloasetukset</text>
- <text lang="FR">4. Entrées Vidéos</text>
- <text lang="SI">4. Vhodne povezave</text>
- <text lang="ET">4. Sisendite ühendused</text>
- <text lang="NB">4 Inndata</text>
- <text lang="DK">4. Indgange</text>
- <text lang="ES">4. Conexiones</text>
- <text lang="CZ">4. Připojení vstupů</text>
- <text lang="RU">4. Соединение входов</text>
- <action>CARD INPUTS</action>
- </button>
-
- <button>
- <type>SETUP_CHANNEL_EDITOR</type>
- <text>5. Channel Editor</text>
- <text lang="IT">5. Modifica Canali</text>
- <text lang="SV">5. Kanaleditor</text>
- <text lang="JA">5. チャンネル設定</text>
- <text lang="DE">5. Sender bearbeiten</text>
- <text lang="FI">5. Kanavanviritys</text>
- <text lang="FR">5. Editeur de chaînes</text>
- <text lang="SI">5. Urejanje kanalov</text>
- <text lang="ET">5. Kanaliredaktor</text>
- <text lang="NB">5 Kanalredigerer</text>
- <text lang="DK">5. Kanal opsætning</text>
- <text lang="ES">5. Editor Canales</text>
- <text lang="CZ">5. Editor kanálů</text>
- <text lang="RU">5. Редактор каналов</text>
- <action>CHANNEL EDITOR</action>
- </button>
-
- <button>
- <type>SETUP_STORAGE_GROUPS</type>
- <text>6. Storage Directories</text>
- <text lang="IT">6. Cartelle</text>
- <text lang="FI">Tallennusryhmät</text>
- <text lang="SV">Lagringsgrupper</text>
- <action>STORAGE GROUPS</action>
- </button>
-
-</mythmenu>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/siriusmenu.xml b/abs/core/mythtv/stable/mythtv/menu-xml/siriusmenu.xml
deleted file mode 100644
index e317b36..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/siriusmenu.xml
+++ /dev/null
@@ -1,419 +0,0 @@
-<mythmenu name="SIRIUS">
- <button>
- <type>MUSIC</type>
- <text>Sirius Hits 1</text>
- <action>EXEC /usr/bin/cliSipie siriushits1</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>StarLite</text>
- <action>EXEC /usr/bin/cliSipie starlite</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Sirius Love</text>
- <action>EXEC /usr/bin/cliSipie siriuslove</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Movin EZ</text>
- <action>EXEC /usr/bin/cliSipie movineasy</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Sirius Gold</text>
- <action>EXEC /usr/bin/cliSipie siriusgold</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>'60s Vibrations</text>
- <action>EXEC /usr/bin/cliSipie 60svibrations</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Totally '70s</text>
- <action>EXEC /usr/bin/cliSipie totally70s</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Big '80s</text>
- <action>EXEC /usr/bin/cliSipie big80s</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>ThePulse</text>
- <action>EXEC /usr/bin/cliSipie thepulse</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Bridge</text>
- <action>EXEC /usr/bin/cliSipie thebridge</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>BBC Radio 1</text>
- <action>EXEC /usr/bin/cliSipie bbcradio1</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Super Shuffle</text>
- <action>EXEC /usr/bin/cliSipie supershuffle</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Elvis Radio</text>
- <action>EXEC /usr/bin/cliSipie elvisradio</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Classic Vinyl</text>
- <action>EXEC /usr/bin/cliSipie classicvinyl</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Classic Rewind</text>
- <action>EXEC /usr/bin/cliSipie classicrewind</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>TheVault</text>
- <action>EXEC /usr/bin/cliSipie thevault</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Jam_ON</text>
- <action>EXEC /usr/bin/cliSipie jamon</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Spectrum</text>
- <action>EXEC /usr/bin/cliSipie thespectrum</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>BuzzSaw</text>
- <action>EXEC /usr/bin/cliSipie buzzsaw</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Octane</text>
- <action>EXEC /usr/bin/cliSipie octane</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Alt Nation</text>
- <action>EXEC /usr/bin/cliSipie altnation</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>1st Wave</text>
- <action>EXEC /usr/bin/cliSipie firstwave</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Hair Nation</text>
- <action>EXEC /usr/bin/cliSipie hairnation</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>'90s Alternative</text>
- <action>EXEC /usr/bin/cliSipie 90salternative</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Garage</text>
- <action>EXEC /usr/bin/cliSipie undergroundgarage</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Left of Center</text>
- <action>EXEC /usr/bin/cliSipie leftofcenter</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Hard Attack</text>
- <action>EXEC /usr/bin/cliSipie hardattack</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Faction</text>
- <action>EXEC /usr/bin/cliSipie faction</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Punk</text>
- <action>EXEC /usr/bin/cliSipie punk</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>The Coffee House</text>
- <action>EXEC /usr/bin/cliSipie coffeehouse</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Margaritaville</text>
- <action>EXEC /usr/bin/cliSipie radiomargaritaville</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Sirius Disorder</text>
- <action>EXEC /usr/bin/cliSipie siriusdisorder</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Reggae</text>
- <action>EXEC /usr/bin/cliSipie reggaerhythms</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Area 33</text>
- <action>EXEC /usr/bin/cliSipie area33</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Boombox</text>
- <action>EXEC /usr/bin/cliSipie boombox</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Chill</text>
- <action>EXEC /usr/bin/cliSipie chill</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>The Beat</text>
- <action>EXEC /usr/bin/cliSipie thebeat</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Strobe</text>
- <action>EXEC /usr/bin/cliSipie thestrobe</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Hip-Hop Nation</text>
- <action>EXEC /usr/bin/cliSipie hiphopnation</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>BackSpin</text>
- <action>EXEC /usr/bin/cliSipie backspin</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Shade 45</text>
- <action>EXEC /usr/bin/cliSipie shade45</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Hot Jamz</text>
- <action>EXEC /usr/bin/cliSipie hotjamz</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Heart &amp; Soul</text>
- <action>EXEC /usr/bin/cliSipie heartandsoul</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>SoulTown</text>
- <action>EXEC /usr/bin/cliSipie soultown</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>New Country</text>
- <action>EXEC /usr/bin/cliSipie newcountry</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Prime Country</text>
- <action>EXEC /usr/bin/cliSipie primecountry</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Roadhouse</text>
- <action>EXEC /usr/bin/cliSipie theroadhouse</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Outlaw Country</text>
- <action>EXEC /usr/bin/cliSipie outlawcountry</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Bluegrass</text>
- <action>EXEC /usr/bin/cliSipie bluegrass</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Spirit</text>
- <action>EXEC /usr/bin/cliSipie spirit</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Praise</text>
- <action>EXEC /usr/bin/cliSipie praise</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Planet Jazz</text>
- <action>EXEC /usr/bin/cliSipie planetjazz</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>JazzCafe</text>
- <action>EXEC /usr/bin/cliSipie jazzcafe</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>PureJazz</text>
- <action>EXEC /usr/bin/cliSipie purejazz</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Spa 73</text>
- <action>EXEC /usr/bin/cliSipie spa73</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Blues</text>
- <action>EXEC /usr/bin/cliSipie siriusblues</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Siriusly Sinatra</text>
- <action>EXEC /usr/bin/cliSipie siriuslysinatra</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Broadway's Best</text>
- <action>EXEC /usr/bin/cliSipie broadwaysbest</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Symphony Hall</text>
- <action>EXEC /usr/bin/cliSipie symphonyhall</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Met Opera Radio</text>
- <action>EXEC /usr/bin/cliSipie metropolitanopera</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Sirius Pops</text>
- <action>EXEC /usr/bin/cliSipie siriuspops</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Universo Latino</text>
- <action>EXEC /usr/bin/cliSipie universolatino</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Rumbon</text>
- <action>EXEC /usr/bin/cliSipie rumbon</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Martha Stewart</text>
- <action>EXEC /usr/bin/cliSipie marthastewartlivingradio</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Sirius Stars</text>
- <action>EXEC /usr/bin/cliSipie siriusstars</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>OutQ Gay Radio</text>
- <action>EXEC /usr/bin/cliSipie siriusoutq</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Patriot</text>
- <action>EXEC /usr/bin/cliSipie siriuspatriot</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Left</text>
- <action>EXEC /usr/bin/cliSipie siriusleft</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>CNN</text>
- <action>EXEC /usr/bin/cliSipie cnn</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>wrn</text>
- <action>EXEC /usr/bin/cliSipie wrn</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Blue Collar Comedy</text>
- <action>EXEC /usr/bin/cliSipie bluecollarcomedy</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Raw Dog Comedy</text>
- <action>EXEC /usr/bin/cliSipie rawdog</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Laugh Break Comedy</text>
- <action>EXEC /usr/bin/cliSipie laughbreak</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>thefoxxhole</text>
- <action>EXEC /usr/bin/cliSipie thefoxxhole</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>lime</text>
- <action>EXEC /usr/bin/cliSipie lime</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Kids Stuff</text>
- <action>EXEC /usr/bin/cliSipie kidsstuff</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Catholic Channel</text>
- <action>EXEC /usr/bin/cliSipie thecatholicchannel</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>EWTN</text>
- <action>EXEC /usr/bin/cliSipie ewtnglobal</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>christiantalk</text>
- <action>EXEC /usr/bin/cliSipie christiantalk</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Sirius NFL Radio</text>
- <action>EXEC /usr/bin/cliSipie siriusnflradio</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Maxim Radio</text>
- <action>EXEC /usr/bin/cliSipie maximradio</action>
- </button>
- <button>
- <type>MUSIC</type>
- <text>Cosmo Radio</text>
- <action>EXEC /usr/bin/cliSipie cosmopolitanradio</action>
- </button>
- <button>
- <type>TV_DELETE</type>
- <text>Stop Listening</text>
- <action>EXEC /usr/bin/sipie_kill</action>
- </button>
-
-</mythmenu>
-
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/update.xml b/abs/core/mythtv/stable/mythtv/menu-xml/update.xml
deleted file mode 100644
index 5b28833..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/update.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<mythmenu name="LinHES">
-
- <button>
- <type>UPGRADE</type>
- <text>Check for updates?</text>
- <action>NONE</action>
- </button>
-
- <button>
- <type>UPGRADE</type>
- <text>Yes</text>
- <action>EXEC sudo /usr/LH/bin/linhes_update.sh</action>
- </button>
-
- <button>
- <type>UPGRADE</type>
- <text>No</text>
- <action>UPMENU</action>
- </button>
-</mythmenu>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/update2.xml b/abs/core/mythtv/stable/mythtv/menu-xml/update2.xml
deleted file mode 100644
index 2ab82ea..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/update2.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<mythmenu name="LinHES">
-
- <button>
- <type>UPGRADE</type>
- <text>Perform updates?</text>
- <action>NONE</action>
- </button>
-
- <button>
- <type>UPGRADE</type>
- <text>Yes</text>
- <action>EXEC sudo /usr/LH/bin/linhes_update2.sh</action>
- </button>
-
- <button>
- <type>UPGRADE</type>
- <text>No</text>
- <action>UPMENU</action>
- </button>
-
- <button>
- <type>UPGRADE</type>
- <text>View files to be upgraded.</text>
- <action>EXEC sudo /usr/LH/bin/linhes_update3.sh</action>
- </button>
-</mythmenu>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/util_menu.xml.patch b/abs/core/mythtv/stable/mythtv/menu-xml/util_menu.xml.patch
deleted file mode 100644
index 26ac863..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/util_menu.xml.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- util_menu.xml.orig 2009-01-09 02:45:07.000000000 +0000
-+++ util_menu.xml 2009-01-22 08:04:28.000000000 +0000
-@@ -76,7 +76,13 @@
- <action>PLUGIN mythcontrols</action>
- <depends>mythcontrols</depends>
- </button>
--
-+
-+ <button>
-+ <type>VIDEO_SCREENSHOOTER</type>
-+ <text>Thumbnail Generator</text>
-+ <action>EXEC /usr/LH/bin/shootscreens-mythtv.sh</action>
-+ </button>
-+
- <button>
- <type>SETUP_MENU</type>
- <text>Setup</text>
diff --git a/abs/core/mythtv/stable/mythtv/menu-xml/xmmenu.xml b/abs/core/mythtv/stable/mythtv/menu-xml/xmmenu.xml
deleted file mode 100644
index 6b26d11..0000000
--- a/abs/core/mythtv/stable/mythtv/menu-xml/xmmenu.xml
+++ /dev/null
@@ -1,574 +0,0 @@
-<!-- Current as of April 25, 2007 -->
-<mythmenu name="XM">
-
- <button>
- <type>MUSIC</type>
- <text>The '40s</text>
- <action>EXEC /usr/bin/xamp kill 4</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The '50s</text>
- <action>EXEC /usr/bin/xamp kill 5</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The '60s</text>
- <action>EXEC /usr/bin/xamp kill 6</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The '70s</text>
- <action>EXEC /usr/bin/xamp kill 7</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The '80s</text>
- <action>EXEC /usr/bin/xamp kill 8</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The '90s</text>
- <action>EXEC /usr/bin/xamp kill 9</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>America</text>
- <action>EXEC /usr/bin/xamp kill 10</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>X Country</text>
- <action>EXEC /usr/bin/xamp kill 12</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Willie's Place</text>
- <action>EXEC /usr/bin/xamp kill 13</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Bluegrass Junction</text>
- <action>EXEC /usr/bin/xamp kill 14</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Village</text>
- <action>EXEC /usr/bin/xamp kill 15</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Highway 16</text>
- <action>EXEC /usr/bin/xamp kill 16</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>US Country</text>
- <action>EXEC /usr/bin/xamp kill 17</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>20 on 20</text>
- <action>EXEC /usr/bin/xamp kill 20</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Heart</text>
- <action>EXEC /usr/bin/xamp kill 23</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Blend</text>
- <action>EXEC /usr/bin/xamp kill 25</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Flight 26</text>
- <action>EXEC /usr/bin/xamp kill 26</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Cinemagic</text>
- <action>EXEC /usr/bin/xamp kill 27</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>On Broadway</text>
- <action>EXEC /usr/bin/xamp kill 28</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>U-Pop</text>
- <action>EXEC /usr/bin/xamp kill 29</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>XM Hitlist</text>
- <action>EXEC /usr/bin/xamp kill 30</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Torch</text>
- <action>EXEC /usr/bin/xamp kill 31</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Message</text>
- <action>EXEC /usr/bin/xamp kill 32</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Spirit</text>
- <action>EXEC /usr/bin/xamp kill 33</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>enLighten</text>
- <action>EXEC /usr/bin/xamp kill 34</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Deep Tracks</text>
- <action>EXEC /usr/bin/xamp kill 40</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Boneyard</text>
- <action>EXEC /usr/bin/xamp kill 41</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>XM Liquid Metal</text>
- <action>EXEC /usr/bin/xamp kill 42</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>XMU</text>
- <action>EXEC /usr/bin/xamp kill 43</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Fred</text>
- <action>EXEC /usr/bin/xamp kill 44</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>XM Cafe</text>
- <action>EXEC /usr/bin/xamp kill 45</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Top Tracks</text>
- <action>EXEC /usr/bin/xamp kill 46</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Ethel</text>
- <action>EXEC /usr/bin/xamp kill 47</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Squizz</text>
- <action>EXEC /usr/bin/xamp kill 48</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Big Tracks</text>
- <action>EXEC /usr/bin/xamp kill 49</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Loft</text>
- <action>EXEC /usr/bin/xamp kill 50</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>XM Music Lab</text>
- <action>EXEC /usr/bin/xamp kill 51</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Verge</text>
- <action>EXEC /usr/bin/xamp kill 52</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Fungus</text>
- <action>EXEC /usr/bin/xamp kill 53</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Lucy</text>
- <action>EXEC /usr/bin/xamp kill 54</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Soul Street</text>
- <action>EXEC /usr/bin/xamp kill 60</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Flow</text>
- <action>EXEC /usr/bin/xamp kill 61</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Suite 62</text>
- <action>EXEC /usr/bin/xamp kill 62</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Groove</text>
- <action>EXEC /usr/bin/xamp kill 64</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Rhyme</text>
- <action>EXEC /usr/bin/xamp kill 65</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>RAW</text>
- <action>EXEC /usr/bin/xamp kill 66</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The City</text>
- <action>EXEC /usr/bin/xamp kill 67</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Heat</text>
- <action>EXEC /usr/bin/xamp kill 68</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Real Jazz</text>
- <action>EXEC /usr/bin/xamp kill 70</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Watercolors</text>
- <action>EXEC /usr/bin/xamp kill 71</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Beyond Jazz</text>
- <action>EXEC /usr/bin/xamp kill 72</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>High Standards</text>
- <action>EXEC /usr/bin/xamp kill 73</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Bluesville</text>
- <action>EXEC /usr/bin/xamp kill 74</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Hear Music</text>
- <action>EXEC /usr/bin/xamp kill 75</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Fine Tuning</text>
- <action>EXEC /usr/bin/xamp kill 76</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Audio Visions</text>
- <action>EXEC /usr/bin/xamp kill 77</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Escape</text>
- <action>EXEC /usr/bin/xamp kill 78</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>On The Rocks</text>
- <action>EXEC /usr/bin/xamp kill 79</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Move</text>
- <action>EXEC /usr/bin/xamp kill 80</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>BPM</text>
- <action>EXEC /usr/bin/xamp kill 81</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The System</text>
- <action>EXEC /usr/bin/xamp kill 82</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Chrome</text>
- <action>EXEC /usr/bin/xamp kill 83</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>XM-Chill</text>
- <action>EXEC /usr/bin/xamp kill 84</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Fuego</text>
- <action>EXEC /usr/bin/xamp kill 90</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Viva</text>
- <action>EXEC /usr/bin/xamp kill 91</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Aguila</text>
- <action>EXEC /usr/bin/xamp kill 92</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Caliente</text>
- <action>EXEC /usr/bin/xamp kill 94</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Luna</text>
- <action>EXEC /usr/bin/xamp kill 95</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Air Musique</text>
- <action>EXEC /usr/bin/xamp kill 100</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Joint</text>
- <action>EXEC /usr/bin/xamp kill 101</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Sur La Route</text>
- <action>EXEC /usr/bin/xamp kill 102</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>World Zone</text>
- <action>EXEC /usr/bin/xamp kill 103</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Ngoma</text>
- <action>EXEC /usr/bin/xamp kill 104</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>XM Classics</text>
- <action>EXEC /usr/bin/xamp kill 110</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Vox</text>
- <action>EXEC /usr/bin/xamp kill 112</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>XM Pops</text>
- <action>EXEC /usr/bin/xamp kill 113</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>XM Kids</text>
- <action>EXEC /usr/bin/xamp kill 116</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Bob Edwards Show</text>
- <action>EXEC /usr/bin/xamp kill 133</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>XM Comedy</text>
- <action>EXEC /usr/bin/xamp kill 150</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Laugh USA</text>
- <action>EXEC /usr/bin/xamp kill 151</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Special X</text>
- <action>EXEC /usr/bin/xamp kill 154</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Agenda</text>
- <action>EXEC /usr/bin/xamp kill 134</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Oprah and Friends</text>
- <action>EXEC /usr/bin/xamp kill 156</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>The Virus</text>
- <action>EXEC /usr/bin/xamp kill 202</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>1 Hit Wonders</text>
- <action>EXEC /usr/bin/xamp kill 300</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Metalcore</text>
- <action>EXEC /usr/bin/xamp kill 301</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>New Indie First</text>
- <action>EXEC /usr/bin/xamp kill 302</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Late Night Mix</text>
- <action>EXEC /usr/bin/xamp kill 303</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Sessions@AOL</text>
- <action>EXEC /usr/bin/xamp kill 304</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>Shuffle</text>
- <action>EXEC /usr/bin/xamp kill 305</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>New Rock First</text>
- <action>EXEC /usr/bin/xamp kill 306</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>New Country First</text>
- <action>EXEC /usr/bin/xamp kill 307</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>New Hip Hop First</text>
- <action>EXEC /usr/bin/xamp kill 308</action>
- </button>
-
- <button>
- <type>MUSIC</type>
- <text>New Pop First</text>
- <action>EXEC /usr/bin/xamp kill 309</action>
- </button>
-
- <button>
- <type>TV_DELETE</type>
- <text>Stop Listening</text>
- <action>EXEC /usr/bin/xamp kill</action>
- </button>
-
-</mythmenu>
diff --git a/abs/core/mythtv/stable/mythtv/mpegpspatch b/abs/core/mythtv/stable/mythtv/mpegpspatch
deleted file mode 100644
index eed08eb..0000000
--- a/abs/core/mythtv/stable/mythtv/mpegpspatch
+++ /dev/null
@@ -1,66 +0,0 @@
---- orig_mpeg.c 2009-03-23 11:26:22.000000000 -0700
-+++ mpeg.c 2009-03-23 11:28:09.000000000 -0700
-@@ -66,35 +66,40 @@
-
- static int mpegps_probe(AVProbeData *p)
- {
-+ uint32_t code= -1;
-+ int sys=0, pspack=0, priv1=0, vid=0, audio=0, invalid=0;
- int i;
-- int size= FFMIN(2048, p->buf_size);
-- uint32_t code=0xFF;
-+ int score=0;
-
-- /* we search the first start code. If it is a packet start code,
-- then we decide it is mpeg ps. We do not send highest value to
-- give a chance to mpegts */
-- /* NOTE: the search range was restricted to avoid too many false
-- detections */
--
-- for (i = 0; i < size; i++) {
-- code = (code << 8) | p->buf[i];
-+ for(i=0; i<p->buf_size; i++){
-+ code = (code<<8) + p->buf[i];
- if ((code & 0xffffff00) == 0x100) {
-- if (code == PACK_START_CODE ||
-- code == SYSTEM_HEADER_START_CODE ||
-- (code >= 0x1e0 && code <= 0x1ef) ||
-- (code >= 0x1c0 && code <= 0x1df) ||
-- code == PRIVATE_STREAM_2 ||
-- code == PROGRAM_STREAM_MAP ||
-- code == PRIVATE_STREAM_1 ||
-- code == PADDING_STREAM ||
-- code >= 0x100 && code <= 0x1b0)
-- return AVPROBE_SCORE_MAX - 2;
-- else
-- return 0;
-+ int pes= check_pes(p->buf+i, p->buf+p->buf_size);
-+
-+ if(code == SYSTEM_HEADER_START_CODE) sys++;
-+ else if(code == PRIVATE_STREAM_1) priv1++;
-+ else if(code == PACK_START_CODE) pspack++;
-+ else if((code & 0xf0) == VIDEO_ID && pes) vid++;
-+ else if((code & 0xe0) == AUDIO_ID && pes) audio++;
-+
-+ else if((code & 0xf0) == VIDEO_ID && !pes) invalid++;
-+ else if((code & 0xe0) == AUDIO_ID && !pes) invalid++;
- }
- }
-
-- return 0;
-+ if(vid+audio > invalid) /* invalid VDR files nd short PES streams */
-+ score= AVPROBE_SCORE_MAX/4;
-+
-+//av_log(NULL, AV_LOG_ERROR, "%d %d %d %d %d len:%d\n", sys, priv1, pspack,vid, audio, p->buf_size);
-+ if(sys>invalid && sys*9 <= pspack*10)
-+ return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg
-+ if(priv1 + vid + audio > invalid && (priv1+vid+audio)*9 <= pspack*10)
-+ return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg
-+ if((!!vid ^ !!audio) && (audio > 4 || vid > 1) && !sys && !pspack && p->buf_size>2048) /* PES stream */
-+ return AVPROBE_SCORE_MAX/2+2;
-+
-+ //02-Penguin.flac has sys:0 priv1:0 pspack:0 vid:0 audio:1
-+ return score;
- }
-
- typedef struct MpegDemuxContext {
diff --git a/abs/core/mythtv/stable/mythtv/mythbackend b/abs/core/mythtv/stable/mythtv/mythbackend
deleted file mode 100755
index 93773a2..0000000
--- a/abs/core/mythtv/stable/mythtv/mythbackend
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID /usr/bin/mythbackend`
-case "$1" in
- start)
- stat_busy "Starting MythTV Backend"
- [ ! -e /var/run/mysqld.pid ] && echo -n "mysqld not started" && stat_fail && exit
- [ -z "$PID" ] && /usr/bin/mythbackend -d -l /var/log/mythbackend.log -v important
- if [ $? -gt 0 ]; then
- stat_fail
- else
- echo $PID > /var/run/mythbackend.pid
- add_daemon mythbackend
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping MythTV Backend"
- [ ! -z "$PID" ] && kill $PID &>/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon mythbackend
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1s
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/abs/core/mythtv/stable/mythtv/mythbackend.lr b/abs/core/mythtv/stable/mythtv/mythbackend.lr
deleted file mode 100644
index 4f218bc..0000000
--- a/abs/core/mythtv/stable/mythtv/mythbackend.lr
+++ /dev/null
@@ -1,9 +0,0 @@
-/var/log/mythtv/mythbackend.log {
- copytruncate
- daily
- size 10M
- missingok
- rotate 7
- compress
- notifempty
-}
diff --git a/abs/core/mythtv/stable/mythtv/mythfrontend.lr b/abs/core/mythtv/stable/mythtv/mythfrontend.lr
deleted file mode 100644
index 1580533..0000000
--- a/abs/core/mythtv/stable/mythtv/mythfrontend.lr
+++ /dev/null
@@ -1,9 +0,0 @@
-/var/log/mythtv/mythfrontend.log {
- copytruncate
- daily
- size 10M
- missingok
- rotate 7
- compress
- notifempty
-}
diff --git a/abs/core/mythtv/stable/mythtv/myththemedmenu.cpp.patch b/abs/core/mythtv/stable/mythtv/myththemedmenu.cpp.patch
deleted file mode 100644
index e5c57ef..0000000
--- a/abs/core/mythtv/stable/mythtv/myththemedmenu.cpp.patch
+++ /dev/null
@@ -1,125 +0,0 @@
---- libs/libmythui/myththemedmenu.cpp.orig 2008-01-31 15:26:38.000000000 +0000
-+++ libs/libmythui/myththemedmenu.cpp 2008-02-07 22:24:27.000000000 +0000
-@@ -2102,6 +2102,10 @@
- }
- lastbutton = NULL;
- }
-+ else if (action == "MENU")
-+ {
-+ parent->doMenu();
-+ }
- else if (action == "EJECT")
- {
- myth_eject();
-@@ -2482,6 +2486,8 @@
-
- if (d->foundtheme)
- d->parseMenu(menufile);
-+
-+ m_menuPopup = NULL;
- }
-
- MythThemedMenu::~MythThemedMenu(void)
-@@ -2592,3 +2598,102 @@
- MythScreenType::aboutToShow();
- d->updateLCD();
- }
-+void MythThemedMenu::doMenu()
-+{
-+ int allowsd = gContext->GetNumSetting("AllowQuitShutdown");
-+ if (m_menuPopup)
-+ return;
-+ QString label = "System Menu";
-+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
-+ m_menuPopup = new MythDialogBox(label, mainStack, "menuPopup");
-+ if (m_menuPopup->Create())
-+ mainStack->AddScreen(m_menuPopup);
-+
-+ //changed line to always show shutdown/reboot
-+ if ( allowsd != 10 && allowsd !=14 )
-+ {
-+ m_menuPopup->SetReturnEvent(this,"popmenu_exit");
-+ m_menuPopup->AddButton("Power off");
-+ m_menuPopup->AddButton("Reboot");
-+ m_menuPopup->AddButton("About");
-+ m_menuPopup->AddButton("Cancel");
-+ }
-+ else
-+ {
-+ m_menuPopup->SetReturnEvent(this,"popmenu_noexit");
-+ m_menuPopup->AddButton("About");
-+ m_menuPopup->AddButton("Cancel");
-+ }
-+}
-+
-+void MythThemedMenu::aboutScreen()
-+{
-+{
-+ extern const char *myth_source_version;
-+ extern const char *myth_source_path;
-+ QString distro_line;
-+ distro_line="";
-+
-+ QFile file("/etc/os_myth_release");
-+ if ( file.open(IO_ReadOnly | IO_Translate) )
-+ {
-+ QTextStream t( &file ); // use a text stream
-+ distro_line = t.readLine();
-+ file.close();
-+ }
-+
-+ QString label = "";
-+ label.append(QObject::tr("Revision: ") + myth_source_version + " \n Branch:" + myth_source_path + "\n" + distro_line );
-+
-+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
-+ m_menuPopup = new MythDialogBox(label, mainStack, "About");
-+ if (m_menuPopup->Create())
-+ mainStack->AddScreen(m_menuPopup);
-+
-+ m_menuPopup->SetReturnEvent(this,"About");
-+ m_menuPopup->AddButton("OK!");
-+ }
-+}
-+
-+void MythThemedMenu::customEvent(QCustomEvent *event)
-+{
-+ if (event->type() == kMythDialogBoxCompletionEventType)
-+ {
-+ DialogCompletionEvent *dce =
-+ dynamic_cast<DialogCompletionEvent*>(event);
-+
-+ QString resultid= dce->GetId();
-+ int buttonnum = dce->GetResult();
-+ if (resultid == "popmenu_exit")
-+ {
-+ if (buttonnum == 0)
-+ {
-+ QString halt_cmd = gContext->GetSetting("HaltCommand",
-+ "sudo /sbin/halt -p");
-+ if (!halt_cmd.isEmpty())
-+ system(halt_cmd.ascii());
-+ }
-+
-+ if (buttonnum == 1)
-+ {
-+ QString reboot_cmd = gContext->GetSetting("RebootCommand",
-+ "sudo /sbin/reboot");
-+ if (!reboot_cmd.isEmpty())
-+ system(reboot_cmd.ascii());
-+ }
-+
-+ if (buttonnum == 2)
-+ {
-+ aboutScreen();
-+ }
-+ }
-+
-+ if (resultid == "popmenu_noexit")
-+ {
-+ if (buttonnum == 0)
-+ aboutScreen();
-+ }
-+
-+ m_menuPopup = NULL;
-+ }
-+}
diff --git a/abs/core/mythtv/stable/mythtv/myththemedmenu.h.patch b/abs/core/mythtv/stable/mythtv/myththemedmenu.h.patch
deleted file mode 100644
index 9744b11..0000000
--- a/abs/core/mythtv/stable/mythtv/myththemedmenu.h.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- libs/libmythui/myththemedmenu.h.orig 2008-01-31 15:26:45.000000000 +0000
-+++ libs/libmythui/myththemedmenu.h 2008-02-07 21:00:22.000000000 +0000
-@@ -2,6 +2,7 @@
- #define MYTHTHEMEDMENU_H_
-
- #include "mythscreentype.h"
-+#include "mythdialogbox.h"
-
- class MythMainWindow;
- class MythThemedMenuPrivate;
-@@ -26,8 +27,14 @@
-
- void ReloadTheme(void);
- void ReloadExitKey(void);
-+
- virtual void aboutToShow(void);
-
-+ void doMenu();
-+ void aboutScreen();
-+ MythDialogBox *m_menuPopup;
-+ void customEvent(QCustomEvent *event);
-+
- protected:
- virtual bool keyPressEvent(QKeyEvent *e);
- virtual void gestureEvent(MythUIType *origtype, MythGestureEvent *ge);
diff --git a/abs/core/mythtv/stable/mythtv/mythtv.install b/abs/core/mythtv/stable/mythtv/mythtv.install
deleted file mode 100644
index db1da94..0000000
--- a/abs/core/mythtv/stable/mythtv/mythtv.install
+++ /dev/null
@@ -1,55 +0,0 @@
-# arg 1: the new package version
-post_install() {
- if [ ! -d /var/log/mythtv ]
- then
- mkdir -p /var/log/mythv
- chown -R mythtv /var/log/mythtv
- echo "---" > /var/log/mythtv/mythbackend.log
- chown mythtv /var/log/mythtv/mythbackend.log
- fi
- if [ -e /tmp/is.xml ]
- then
- cp /tmp/is.xml /usr/share/mythtv/is.xml
- fi
-
- if [ -e /tmp/media_settings.xml ]
- then
- cp /tmp/media_settings.xml /usr/share/mythtv/media_settings.xml
- fi
-}
-pre_upgrade() {
- if [ -e /usr/share/mythtv/is.xml ]
- then
- cp /usr/share/mythtv/is.xml /tmp
- fi
-
- if [ -e /usr/share/mythtv/media_settings.xml ]
- then
- cp /usr/share/mythtv/media_settings.xml /tmp
- fi
-}
-
-post_upgrade() {
- cp /tmp/is.xml /usr/share/mythtv/
- cp /tmp/media_settings.xml /usr/share/mythtv/
- if [ ! -d /var/log/mythtv ]
- then
- mkdir -p /var/log/mythv
- chown -R mythtv /var/log/mythtv
- fi
- chown root.mythtv /etc/systemconfig
- chmod 664 /etc/systemconfig
-}
-pre_remove () {
- pre_upgrade
-}
-
-# arg 1: the old package version
-post_remove() {
- /bin/true
-
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/mythtv/stable/mythtv/pretty b/abs/core/mythtv/stable/mythtv/pretty
deleted file mode 100644
index e47aaec..0000000
--- a/abs/core/mythtv/stable/mythtv/pretty
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-su mythtv -c "perl /usr/share/mythtv/contrib/mythrename.pl --link /myth/pretty"
diff --git a/abs/core/mythtv/stable/mythtv/smolt_jump.patch b/abs/core/mythtv/stable/mythtv/smolt_jump.patch
deleted file mode 100644
index 696be80..0000000
--- a/abs/core/mythtv/stable/mythtv/smolt_jump.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- programs/mythfrontend/networkcontrol.cpp.orig 2008-03-23 23:00:25.000000000 +0000
-+++ programs/mythfrontend/networkcontrol.cpp 2008-03-23 23:01:33.000000000 +0000
-@@ -81,6 +81,7 @@
- jumpMap["zoneminderliveview"] = "ZoneMinder Live View";
- jumpMap["zoneminderevents"] = "ZoneMinder Events";
-+ jumpMap["mythsmolt"] = "MythSmolt";
-
- // These jump point names match the (lowercased) locations from gContext
- jumpMap["channelrecpriority"] = "Channel Recording Priorities";
diff --git a/abs/core/mythtv/stable/mythvideo/PKGBUILD b/abs/core/mythtv/stable/mythvideo/PKGBUILD
deleted file mode 100644
index a233549..0000000
--- a/abs/core/mythtv/stable/mythvideo/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <travis@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythvideo
-pkgver=0.21
-pkgrel=9
-pkgdesc="Video playback and browsing plugin for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}" 'mplayer' 'perlxml' 'perl-libwww' 'perl-uri' 'perl-xml-simple' 'ffmpeg')
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2"\
- "ftp://ftp.knoppmyth.net/R6/sources/tmdb.tar.bz2" \
- mtd mythvideo-6338-use_tmdb_in_fixes.patch)
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe' '48cff8f7095586c85ec70989746736b4' '476c12ba074794ad7f4ae092bdf949d6' '4bd38d054dfc4b0b1724f398d38676f7')
-replaces=('mythdvd')
-groups=('mythtv-extras')
-install=mythvideo.install
-
-build() {
- cd $startdir/src/mythplugins
- svn update
- patch -p1 < ../mythvideo-6338-use_tmdb_in_fixes.patch
- . /etc/profile.d/qt3.sh
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
-
- ./configure --prefix=/usr --disable-all --enable-mythvideo
-
- qmake mythplugins.pro
- make qmake || return 1
- make -j 2 || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
- install -D -m755 ../mtd $startdir/pkg/etc/rc.d/mtd
- cp -Rv $startdir/src/tmdb/* $startdir/pkg/usr/share/mythtv/mythvideo/scripts/
-}
-
-
diff --git a/abs/core/mythtv/stable/mythvideo/mythvideo-6338-use_tmdb_in_fixes.patch b/abs/core/mythtv/stable/mythvideo/mythvideo-6338-use_tmdb_in_fixes.patch
deleted file mode 100644
index a5a182d..0000000
--- a/abs/core/mythtv/stable/mythvideo/mythvideo-6338-use_tmdb_in_fixes.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-Index: mythplugins/mythvideo/mythvideo/videomanager.cpp
-===================================================================
---- mythplugins.orig/mythvideo/mythvideo/videomanager.cpp 2009-03-09 22:39:40.000000000 -0400
-+++ mythplugins/mythvideo/mythvideo/videomanager.cpp 2009-03-09 23:04:55.000000000 -0400
-@@ -1535,6 +1535,56 @@
- }
- }
-
-+ // Since there's no DB update to remove imdb.pl settings in -fixes,
-+ // check for the old imdb.pl command and, if it's the old default,
-+ // use tmdb.pl, instead (if available in the same location or the
-+ // scripts dir)). Checks to see if cmd ends with end (the end of the
-+ // old default imdb.pl command line). If so, it checks for tmdb, and
-+ // if it exists in either the same location as specified in cmd or in
-+ // the MythVideo scripts directory, replace end with "/tmdb.pl " + arg
-+ QString UpdateCommandForTMDB(const QString cmd, const QString end,
-+ const QString arg)
-+ {
-+ QString updated_cmd = cmd;
-+ if (updated_cmd.endsWith(end))
-+ {
-+ QString script_path = updated_cmd;
-+ script_path.truncate(updated_cmd.findRev(end,
-+ 0 - end.length()));
-+ QString tmdb_path(script_path + "/tmdb.pl");
-+ if (QFile::exists(tmdb_path))
-+ {
-+ VERBOSE(VB_GENERAL, QString("Overriding old default "
-+ "grabber script command line. "
-+ "Using tmdb.pl, instead."));
-+ updated_cmd = tmdb_path + " " + arg;
-+ }
-+ else
-+ {
-+ // It's possible the user has a non-default imdb.pl
-+ // command-line--including path location--in the setting,
-+ // so check to see if we've already checked the mythvideo
-+ // scripts directory
-+ QString def_path = QDir::cleanDirPath(QString("%1/%2")
-+ .arg(gContext->GetShareDir())
-+ .arg("mythvideo/scripts"));
-+ if (script_path != def_path)
-+ {
-+ tmdb_path = def_path + "/tmdb.pl";
-+ if (QFile::exists(tmdb_path))
-+ {
-+ VERBOSE(VB_GENERAL, QString("Overriding old "
-+ "default grabber script command line. "
-+ "Using tmdb.pl, instead."));
-+ updated_cmd = tmdb_path + " " + arg;
-+ }
-+ }
-+ }
-+ }
-+
-+ return updated_cmd;
-+ }
-+
- virtual void OnExecDone(bool normal_exit, const QStringList &out,
- const QStringList &err) = 0;
-
-@@ -1624,9 +1674,16 @@
-
- QString def_cmd = QDir::cleanDirPath(QString("%1/%2")
- .arg(gContext->GetShareDir())
-- .arg("mythvideo/scripts/imdb.pl -M tv=no;video=no"));
-+ .arg("mythvideo/scripts/tmdb.pl -M"));
-
-- QString cmd = gContext->GetSetting("MovieListCommandLine", def_cmd);
-+ // Since there's no DB update to remove imdb.pl settings in -fixes,
-+ // check for the old imdb.pl command and, if it's the old default,
-+ // use tmdb.pl, instead (if available in the same location or the
-+ // scripts dir))
-+ QString cmd = UpdateCommandForTMDB(
-+ gContext->GetSetting("MovieListCommandLine",
-+ def_cmd),
-+ "/imdb.pl -M tv=no;video=no", "-M");
-
- QStringList args;
- args += title;
-@@ -1682,9 +1739,15 @@
-
- const QString def_cmd = QDir::cleanDirPath(QString("%1/%2")
- .arg(gContext->GetShareDir())
-- .arg("mythvideo/scripts/imdb.pl -D"));
-- const QString cmd = gContext->GetSetting("MovieDataCommandLine",
-- def_cmd);
-+ .arg("mythvideo/scripts/tmdb.pl -D"));
-+ // Since there's no DB update to remove imdb.pl settings in -fixes,
-+ // check for the old imdb.pl command and, if it's the old default,
-+ // use tmdb.pl, instead (if available in the same location or the
-+ // scripts dir))
-+ const QString cmd = UpdateCommandForTMDB(
-+ gContext->GetSetting("MovieDataCommandLine",
-+ def_cmd),
-+ "/imdb.pl -D", "-D");
-
- StartRun(cmd, video_uid, "Video Data Query");
- }
-@@ -1726,9 +1789,16 @@
- const QString default_cmd =
- QDir::cleanDirPath(QString("%1/%2")
- .arg(gContext->GetShareDir())
-- .arg("mythvideo/scripts/imdb.pl -P"));
-- const QString cmd = gContext->GetSetting("MoviePosterCommandLine",
-- default_cmd);
-+ .arg("mythvideo/scripts/tmdb.pl -P"));
-+ // Since there's no DB update to remove imdb.pl settings in -fixes,
-+ // check for the old imdb.pl command and, if it's the old default,
-+ // use tmdb.pl, instead (if available in the same location or the
-+ // scripts dir))
-+ const QString cmd = UpdateCommandForTMDB(
-+ gContext->GetSetting("MoviePosterCommandLine",
-+ default_cmd),
-+ "/imdb.pl -P", "-P");
-+
- StartRun(cmd, video_uid, "Poster Query");
- }
-
-Index: mythplugins/mythvideo/mythvideo/globalsettings.cpp
-===================================================================
---- mythplugins.orig/mythvideo/mythvideo/globalsettings.cpp 2009-03-09 22:39:40.000000000 -0400
-+++ mythplugins/mythvideo/mythvideo/globalsettings.cpp 2009-03-09 22:42:47.000000000 -0400
-@@ -210,8 +210,7 @@
- {
- HostLineEdit *gc = new HostLineEdit("MovieListCommandLine");
- gc->setLabel(QObject::tr("Command to search for movie listings"));
-- gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/imdb.pl " +
-- "-M tv=no;video=no");
-+ gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/tmdb.pl -M");
- gc->setHelpText(QObject::tr("This command must be "
- "executable by the user running MythVideo."));
- return gc;
-@@ -221,7 +220,7 @@
- {
- HostLineEdit *gc = new HostLineEdit("MoviePosterCommandLine");
- gc->setLabel(QObject::tr("Command to search for movie posters"));
-- gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/imdb.pl -P");
-+ gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/tmdb.pl -P");
- gc->setHelpText(QObject::tr("This command must be "
- "executable by the user running MythVideo."));
- return gc;
-@@ -231,7 +230,7 @@
- {
- HostLineEdit *gc = new HostLineEdit("MovieDataCommandLine");
- gc->setLabel(QObject::tr("Command to extract data for movies"));
-- gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/imdb.pl -D");
-+ gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/tmdb.pl -D");
- gc->setHelpText(QObject::tr("This command must be "
- "executable by the user running MythVideo."));
- return gc;
diff --git a/abs/core/mythtv/stable/mythvideo/mythvideo.install b/abs/core/mythtv/stable/mythvideo/mythvideo.install
deleted file mode 100644
index a06777d..0000000
--- a/abs/core/mythtv/stable/mythvideo/mythvideo.install
+++ /dev/null
@@ -1,20 +0,0 @@
-# arg 1: the new package version
-post_install() {
- ln -s /myth/video /data/srv/httpd/htdocs/mythweb/data/video
- ln -s /myth/video/.covers /data/srv/httpd/htdocs/mythweb/data/video_covers
-}
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- /bin/true
-}
-
-# arg 1: the old package version
-post_remove() {
- rm -fr /data/srv/httpd/htdocs/mythweb/data/video
- rm -fr /data/srv/httpd/htdocs/mythweb/data/video_covers
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/mythtv/stable/mythweather/PKGBUILD b/abs/core/mythtv/stable/mythweather/PKGBUILD
deleted file mode 100644
index 201ea5d..0000000
--- a/abs/core/mythtv/stable/mythweather/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythweather
-pkgver=0.21
-pkgrel=3
-pkgdesc="Weather checking plugin for MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}" 'wget')
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
-
- ./configure --prefix=/usr --enable-opengl --disable-all --enable-mythweather
-
- qmake mythplugins.pro
- make qmake || return 1
- make -j 2 || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/stable/mythweb/PKGBUILD b/abs/core/mythtv/stable/mythweb/PKGBUILD
deleted file mode 100644
index 20e9e3d..0000000
--- a/abs/core/mythtv/stable/mythweb/PKGBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-pkgname=mythweb
-pkgver=0.21
-pkgrel=20
-pkgdesc="Web interface for MythTV's backend"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}" 'lighttpd' 'php' 'local-website')
-install=mythweb.install
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2" wiiweb.tar.bz2 transcoders.patch)
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-DOCROOT=/data/srv/httpd/htdocs/mythweb
-
-build() {
- cd $startdir/src/mythplugins/mythweb
- svn update
- mkdir -p $startdir/pkg/$DOCROOT/{image_cache,php_sessions}
-#apply gallery patches here
-# cd $startdir/src/mythplugins-$pkgver/$pkgname/
-# patch -p0 < $startdir/patch/mythweb_gallery_updated1.diff
-# patch -p2 < $startdir/patch/2923-mythweb-gallery-English_GB_lang.diff
-# tar -zxvf $startdir/patch/icons.tar.gz
-###
-
- # Workaround for LIGHTTPD bug in mythweb.pl (affects DB queries)
- cd $startdir/src/mythplugins/$pkgname/
- patch -p0 < $startdir/patch/mythweb.pl.diff
- patch -p1 < $startdir/transcoders.patch
-
- cp -r $startdir/src/mythplugins/$pkgname/* $startdir/pkg/$DOCROOT
-# cp $startdir/src/mythplugins-$pkgver/$pkgname/data/.htaccess $startdir/pkg/$DOCROOT
- rm $startdir/pkg/srv/$DOCROOT/README
- tar xjvf $srcdir/wiiweb.tar.bz2 -C $pkgdir/$DOCROOT
- chown -R http:users $startdir/pkg/$DOCROOT
- chmod g+rw $startdir/pkg/$DOCROOT/{image_cache,php_sessions,data}
-}
-
-
diff --git a/abs/core/mythtv/stable/mythweb/mythweb.install b/abs/core/mythtv/stable/mythweb/mythweb.install
deleted file mode 100644
index a2aa1bd..0000000
--- a/abs/core/mythtv/stable/mythweb/mythweb.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- if [ ! -e /data/srv/httpd/htdocs/mythweb/data/video ]
- then
- ln -s /myth/video /data/srv/httpd/htdocs/mythweb/data/video
- fi
-}
-
-post_upgrade(){
- post_install $1
-}
-op=$1
-shift
-$op $*
diff --git a/abs/core/mythtv/stable/mythweb/patch/2923-mythweb-gallery-English_GB_lang.diff b/abs/core/mythtv/stable/mythweb/patch/2923-mythweb-gallery-English_GB_lang.diff
deleted file mode 100644
index 103fb2f..0000000
--- a/abs/core/mythtv/stable/mythweb/patch/2923-mythweb-gallery-English_GB_lang.diff
+++ /dev/null
@@ -1,102 +0,0 @@
-Index: mythplugins/mythweb/modules/_shared/lang/English_GB.lang
-===================================================================
---- mythplugins/mythweb/modules/_shared/lang/English_GB.lang (revision 16505)
-+++ mythplugins/mythweb/modules/_shared/lang/English_GB.lang (working copy)
-@@ -154,6 +154,7 @@
- "Current Conditions"
- "Current Recording"
- "Current recordings"
-+"Current path"
- "Currently Browsing: $1"
- "Currently Recording: Edit"
- "Custom"
-@@ -169,6 +170,7 @@
- Deaf Signed
- "Default"
- "Default MythVideo View"
-+"Default view size"
- "Delete"
- "delete"
- "Delete $1"
-@@ -247,6 +249,8 @@
- "freqid"
- "Friday"
- "Frontends"
-+"Gallery"
-+"Gallery image path"
- "generic_date"
- %a %b %e, %Y
- "generic_time"
-@@ -270,12 +274,14 @@
- "Hide"
- "High"
- "Home"
-+"Horizontal screen resolution"
- "Host"
- "Hosted by"
- "Hour"
- "Hour Format"
- "hue"
- "Humidity"
-+"Images per page"
- "IMDB"
- "IMDBTYPE"
- "Inactive"
-@@ -334,6 +340,8 @@
- "length"
- "Length"
- "Length (min)"
-+"List of allowed image formats"
-+"List of available view sizes"
- "Listing &quot;Jump to&quot;"
- "Listing Time Key"
- "Listings"
-@@ -383,6 +391,7 @@
- "mythvideo.sort_ignores_case"
- "MythWeb"
- "MythWeb Defaults"
-+"MythWeb Gallery"
- "MythWeb Global Defaults"
- "MythWeb Session"
- "MythWeb Skin"
-@@ -413,6 +422,7 @@
- "Number of shows"
- "Number of Songs"
- "Number of timeslots"
-+"of"
- "Only display favourite channels"
- "Only match commercial-free channels"
- "Only match HD programs"
-@@ -429,6 +439,7 @@
- "Past Month"
- "Past Week"
- "Past Year"
-+"Path where the thumbnails are"
- "Paused"
- "Pending"
- "People"
-@@ -688,6 +699,7 @@
- "Subtitles Available"
- "Sunday"
- "Surround Sound"
-+"Switch view mode"
- "Tab"
- "The requested recording schedule has been deleted."
- "There are no items in this Playlist!"
-@@ -705,6 +717,7 @@
- "Title Match"
- "Title search"
- "Title Search"
-+"to"
- "Today"
- "Tomorrow"
- "Too Many"
-@@ -791,6 +804,8 @@
- "Wednesday"
- "welcome: backend_log"
- Show the server logs.
-+"welcome: gallery"
-+ Browse your picture collection.
- "welcome: music"
- Browse your music collection.
- "welcome: remote"
diff --git a/abs/core/mythtv/stable/mythweb/patch/icons.tar.gz b/abs/core/mythtv/stable/mythweb/patch/icons.tar.gz
deleted file mode 100644
index 691d28e..0000000
--- a/abs/core/mythtv/stable/mythweb/patch/icons.tar.gz
+++ /dev/null
Binary files differ
diff --git a/abs/core/mythtv/stable/mythweb/patch/mythweb.pl.diff b/abs/core/mythtv/stable/mythweb/patch/mythweb.pl.diff
deleted file mode 100644
index 6dcbf99..0000000
--- a/abs/core/mythtv/stable/mythweb/patch/mythweb.pl.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-*** mythweb-unpatched.pl 2009-06-02 14:55:24.011861459 -0400
---- mythweb.pl 2009-06-02 14:56:24.386441304 -0400
-***************
-*** 49,57 ****
-
- # Connect to the database
- END { $dbh->disconnect() if ($dbh); }
-! our $dbh = DBI->connect("dbi:mysql:database=$ENV{'db_name'}:host=$ENV{'db_server'}",
-! $ENV{'db_login'},
-! $ENV{'db_password'});
- unless ($dbh) {
- print header(),
- "Cannot connect to database: $!\n\n";
---- 49,57 ----
-
- # Connect to the database
- END { $dbh->disconnect() if ($dbh); }
-! our $dbh = DBI->connect("dbi:mysql:database=$ENV{'DB_NAME'}:host=$ENV{'DB_SERVER'}",
-! $ENV{'DB_LOGIN'},
-! $ENV{'DB_PASSWORD'});
- unless ($dbh) {
- print header(),
- "Cannot connect to database: $!\n\n";
diff --git a/abs/core/mythtv/stable/mythweb/patch/mythweb_gallery_updated1.diff b/abs/core/mythtv/stable/mythweb/patch/mythweb_gallery_updated1.diff
deleted file mode 100644
index f683b17..0000000
--- a/abs/core/mythtv/stable/mythweb/patch/mythweb_gallery_updated1.diff
+++ /dev/null
@@ -1,1657 +0,0 @@
-diff -Naur ../mythweb-orig/modules/gallery/handler.php ./modules/gallery/handler.php
---- ../mythweb-orig/modules/gallery/handler.php 1969-12-31 19:00:00.000000000 -0500
-+++ ./modules/gallery/handler.php 2007-08-20 22:33:02.000000000 -0400
-@@ -0,0 +1,35 @@
-+<?php
-+/**
-+ * Handler for the Gallery module.
-+ *
-+ * @url $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/gallery/handler.php $
-+ * @date $Date: 2006-12-19 09:17:33 +0100 (Di, 19 Dez 2006) $
-+ * @version $Revision: 12295 $
-+ * @author $Author: rsiebert $
-+ * @license GPL
-+ *
-+ * @package MythWeb
-+ * @subpackage MythGallery
-+ *
-+/**/
-+
-+// Load settings functions
-+require_once 'includes/objects/Settings.php';
-+
-+// Load Gallery class
-+require_once 'includes/objects/Gallery.php';
-+
-+// Load configuration
-+loadGalleryConfig();
-+
-+// Create the gallery
-+global $gallery;
-+
-+$gallery = new Gallery();
-+
-+// Print the gallery page template
-+require_once tmpl_dir.'gallery.php';
-+
-+// Exit
-+exit;
-+
-diff -Naur ../mythweb-orig/modules/gallery/includes/objects/Gallery.php ./modules/gallery/includes/objects/Gallery.php
---- ../mythweb-orig/modules/gallery/includes/objects/Gallery.php 1969-12-31 19:00:00.000000000 -0500
-+++ ./modules/gallery/includes/objects/Gallery.php 2007-08-20 22:27:02.000000000 -0400
-@@ -0,0 +1,608 @@
-+<?php
-+/**
-+ * Gallery Functions for the Gallery module
-+ *
-+ * @url $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/gallery/tmpl/default/gallery.php $
-+ * @date $Date: 2006-12-19 09:17:33 +0100 (Di, 19 Dez 2006) $
-+ * @version $Revision: 12295 $
-+ * @author $Author: xris $
-+ * @license GPL
-+ *
-+ * @package MythWeb
-+ *
-+/**/
-+
-+class Gallery {
-+
-+ var $config;
-+
-+ function Gallery() {
-+ // load default configuration
-+ $this->config['image_path'] = $_SESSION['gallery']['image_path'];
-+ $this->config['cache_path'] = $_SESSION['gallery']['cache_path'];
-+ $this->config['default_viewsize'] = $_SESSION['gallery']['default_viewsize'];
-+ $this->config['screen_width'] = $_SESSION['gallery']['screen_width'];
-+ $this->config['viewsizes'] = $_SESSION['gallery']['viewsizes'];
-+ $this->config['valid_image_files'] = $_SESSION['gallery']['valid_image_files'];
-+
-+ }
-+
-+ // =======================================================
-+ function start() {
-+
-+ // the current selected directory where the cached images are stored
-+ $current_path = $this->getCurrentImagePath();
-+ // the path to the real images
-+ $image_path = $this->config['image_path'];
-+ // the filename of a selected image
-+ $image_name = $this->getImageName();
-+ // the current viewsize mode
-+ $image_viewsize = $this->getImageViewSize();
-+ // get the image index for the viewsize medium
-+ $image_index = $this->getImageIndex();
-+ // get the contents of the folders
-+ $folderList = $this->getFolderList( $current_path );
-+ // check what kind of images should be displayed
-+ if ($image_viewsize == 'fullsize') {
-+ // create the images if there are not yet in the directory
-+ $this->makeImages( $current_path, $folderList, $image_viewsize, $image_index );
-+ // display the big image
-+ $this->showFullsizeImage( $current_path, $folderList, $image_index );
-+ // there is nothing else to do
-+ exit;
-+ }
-+ // show the horizontal navigation bar
-+ $this->showGalleryHeader( $current_path, $image_viewsize, $image_index );
-+ // check if the thumbnail directory is there, if not create it
-+ $this->makeDirectory( $current_path );
-+ // create the images if there are not yet in the directory
-+ $this->makeImages( $current_path, $folderList, $image_viewsize, $image_index );
-+ echo '<table width="100%" cellspacing="0" cellpadding="0">'."\n".
-+ '<tr>'."\n".
-+ '<td class="folder_navigation">'."\n";
-+ $this->showFolderTree( $current_path, $folderList );
-+ echo '</td>'."\n".
-+ '<td class="image_listing">'."\n";
-+ if ($this->onlyDirectoriesAvailable( $current_path, $folderList, $image_viewsize, $image_index ) == false ) {
-+ echo '<table class="imagelist_and_navigation" cellspacing="0" cellpadding="0">'."\n".
-+ '<tr>'."\n".
-+ '<td>'."\n";
-+ $this->showNavigation( $current_path, $folderList, $image_viewsize, $image_index );
-+ echo '</td>'."\n".
-+ '</tr>'."\n".
-+ '<tr>'."\n".
-+ '<td>'."\n";
-+ $this->showImages( $current_path, $folderList, $image_viewsize, $image_index );
-+ echo '</td>'."\n".
-+ '</tr>'."\n".
-+ '</tr>'."\n".
-+ '</table>'."\n";
-+ } else {
-+ echo '&nbsp;';
-+ }
-+ echo '</td>'."\n".
-+ '</tr>'."\n".
-+ '</table>'."\n";
-+ }
-+
-+ // =======================================================
-+ function getViewSizesList() {
-+ $viewsizesList = explode(';',preg_replace('/ /','',$this->config['viewsizes']));
-+ return $viewsizesList;
-+ }
-+
-+
-+ // =======================================================
-+ function getCurrentImagePath() {
-+ switch ($_SERVER['REQUEST_METHOD']) {
-+ case 'GET':
-+ $current_path = stripslashes($_GET['path']);
-+ break;
-+ case 'POST':
-+ $current_path = stripslashes($_POST['path']);
-+ break;
-+ }
-+ if (!is_dir($current_path) ) {
-+ $current_path = $this->config['image_path'];
-+ }
-+ return $current_path;
-+ }
-+
-+ // =======================================================
-+ function getImageViewSize() {
-+ switch ($_SERVER['REQUEST_METHOD']) {
-+ case 'GET':
-+ $viewsize = stripslashes($_GET[viewsize]);
-+ break;
-+ case 'POST':
-+ $viewsize = stripslashes($_POST[viewsize]);
-+ break;
-+ }
-+ // check if the given viewsize is one of the viewsizes
-+ // specified in the config. fullsize is also needed
-+ if (isset($viewsize) &&
-+ (($viewsize == 'fullsize') ||
-+ in_array($viewsize, $this->getViewSizesList()))) {
-+ return $viewsize;
-+ } else {
-+ return $this->config['default_viewsize'];
-+ }
-+ }
-+
-+ // =======================================================
-+ function getImageName() {
-+ switch ($_SERVER['REQUEST_METHOD']) {
-+ case 'GET':
-+ $image_name = $_GET['file'];
-+ break;
-+ case 'POST':
-+ $image_name = $_POST['file'];
-+ break;
-+ }
-+ return $image_name;
-+ }
-+
-+ // =======================================================
-+ function getImageIndex() {
-+ if (isset($_GET['index']))
-+ return $_GET['index'];
-+ return 1;
-+ }
-+
-+
-+ // =======================================================
-+ // displays the path of the choosen directories horizontally
-+ // so one can navigate back
-+ function showGalleryHeader( $current_path, $image_viewsize, $image_index ) {
-+ echo '<table class="current_path_and_viewsize" cellspacing="0" cellpadding="0">'."\n".
-+ '<tr>'."\n".
-+ '<td class="current_path">'.
-+ t('Current path').': ';
-+ $folders = explode('/', $current_path);
-+ for ($i=1; $i < count($folders); $i++) {
-+ echo '<a class="header" href="'.root.'gallery/gallery.php?'.path.'=';
-+ // show thefolders in the navigation bar
-+ for ($j=1; $j <= $i; $j++) {
-+ echo '/'.$folders[$j];
-+ }
-+ echo '&'.viewsize.'='.$this->getImageViewSize().'">'.
-+ $folders[$i].'</a>'."\n";
-+ // don't show the separators when there are no more subfolders
-+ if ($i < (count($folders)-1)) {
-+ echo ' / ';
-+ }
-+ }
-+ // display the menu where one can shoose between small and medium images
-+ echo '</td>'."\n".
-+ '<td class="change_viewsize_text">'.
-+ t('Switch view mode').':&nbsp;&nbsp;'.
-+ '</td>'."\n".
-+ '<form name="change_viewsize" method="post">'."\n".
-+ '<td class="change_viewsize_selection">'."\n".
-+ '<select class="change_viewsize" name="'.
-+ viewsize.'" onChange="submit()" size="1">'."\n";
-+ $viewsizesList = $this->getViewSizesList();
-+ for ($i=0; $i < count($viewsizesList); $i++) {
-+ echo '<option value="'.$viewsizesList[$i].'" ';
-+ if ($this->getImageViewSize() == $viewsizesList[$i]) {
-+ echo 'selected';
-+ }
-+ $str = strtr($viewsizesList[$i], ',','x');
-+ echo '>'.$str.' '.t('Images per page').'</option>'."\n";
-+ }
-+ echo '</select>'."\n".
-+ '<input type="hidden" name="'.index.'" value="'.$image_index.'">'.
-+ '<input type="hidden" name="'.path.'" value="'.$current_path.'">';
-+ echo '</td></form>'."\n".
-+ '</tr>'."\n".
-+ '</table>'."\n";
-+ }
-+
-+ // =======================================================
-+ function showFolderTree( $current_path, $folderList ) {
-+
-+ // dont go into the directory if there are not subdirs
-+ if ($this->getFolderCount( $current_path, $folderList[$i]) == 0) {
-+ $current_path = substr($current_path, 0, strrpos($current_path, '/'));
-+ $folderList = $this->getFolderList( $current_path );
-+ }
-+ // displays the directory tree and the pictures
-+ echo '<table class="folder_navigation" width="100%" cellspacing="0" cellpadding="0">'."\n".
-+ '<tr>'."\n".
-+ '<td>'."\n";
-+ // display the directories
-+ for ($i = 0; $i < count( $folderList ); $i++) {
-+ // only display folders that are not hidden or special
-+ if ((is_dir( $current_path.'/'.$folderList[$i] )) &&
-+ ($folderList[$i] != '..')){
-+ echo '<div class="folder_navigation" '.
-+ 'onmouseover="this.className=\'folder_navigation_active\'" '.
-+ 'onmouseout="this.className=\'folder_navigation\'">';
-+ $link = $this->getFolderLink( $current_path, $folderList[$i] );
-+ $folderCount = $this->getFolderCount( $current_path, $folderList[$i] );
-+ // display the folder as a link and the number of subfolder next to it
-+ $this->displayFolderLink( $link, $folderList[$i], $folderCount );
-+ echo '</div>';
-+ }
-+ }
-+ echo '</td>'."\n".
-+ '</tr>'."\n".
-+ '</table>'."\n";
-+ }
-+
-+ // =======================================================
-+ function getFolderList( $current_path ) {
-+ if ($current_path != $this->config['cache_path'] ) {
-+ $folderList[] = '..';
-+ }
-+ // get the image extensions
-+ $extenstionList = explode(',',$this->config['valid_image_files']);
-+ // get the directories and files
-+ if ($dh = opendir($current_path)) {
-+ while (($file = readdir($dh)) !== false) {
-+ // only add the file/dir if its a directory or a file
-+ // with the specified extension
-+
-+ if ((substr($file,0,1) != '.') &&
-+ (is_dir($current_path.'/'.$file)) ||
-+ (in_array(strtolower(substr($file,-3)), $extenstionList)))
-+ {
-+ $folderList[] = $file;
-+ }
-+ }
-+ }
-+ // delete the first entry when we are at the image_path
-+ // to prevent from going a directory up
-+ if ($current_path == $this->config['image_path'])
-+ array_shift($folderList);
-+ // sort the array alphabetically
-+ sort($folderList);
-+ return $folderList;
-+ }
-+
-+ // =======================================================
-+ function getFolderLink( $current_path, $folder ) {
-+ $link = '<a class="folderlist" href="'.root.'gallery/gallery.php?'.path.'=';
-+ // display the .. directory only if there is another
-+ // directory above this one.
-+ if (($folder == '..') && ($current_path != $this->config['cache_path'])) {
-+ $folderList = explode( '/', $current_path.'/');
-+ for( $i=1; $i < count($folderList)-2; $i++ ) {
-+ $link .= '/'.$folderList[$i];
-+ }
-+ } else {
-+ $link .= $current_path.'/'.$folder;
-+ }
-+ $link .= '&'.viewsize.'='.$this->getImageViewSize().'">';
-+ return $link;
-+ }
-+
-+ // =======================================================
-+ function displayFolderLink( $link, $folder, $folderCount ) {
-+ echo '<table class="folderlink_inactive" cellspacing="0" cellpadding="0">'.
-+ '<tr>'.
-+ '<td align="left" width="30px">'.
-+ '<img class="navigation" src="'.root.skin_dir.'/img/gallery/dir.png">'.
-+ '</td>'.
-+ '<td align="left" width="auto">'.
-+ $link.$folder.'</a>';
-+ $this->displayFolderCount( $folderCount );
-+ echo '</td>'.
-+ '</tr>'.
-+ '</table>'."\n";
-+ }
-+
-+ // =======================================================
-+ function getFolderCount($current_path, $folder) {
-+ // dont get the folder count if its the .. directory
-+ if ($folder != '..') {
-+ return count(glob($current_path.'/'.$folder.'/*',GLOB_ONLYDIR));
-+ }
-+ }
-+
-+ // =======================================================
-+ // shows how many sub directories the specified folder has
-+ function displayFolderCount( $folderCount ) {
-+ if ($folderCount == 1) {
-+ echo ' ('.$folderCount.')';// '.t('subfolder');
-+ }
-+ if ($folderCount > 1) {
-+ echo ' ('.$folderCount.')';// '.t('subfolders');
-+ }
-+ }
-+
-+
-+ // =======================================================
-+ // creates the directory for the thumbnails. the directory
-+ // structure is identical to the one of original pictures
-+ function makeDirectory( $current_path ) {
-+ if (!file_exists( $this->config['cache_path'].$current_path )) {
-+ // add the document root to the thumbnail directory
-+ // because mkdir works with absolute paths
-+ $cache_path = $_SERVER[DOCUMENT_ROOT].$this->config['cache_path'];
-+ // split the directory string into separate directories
-+ $folderList = explode( '/', $current_path );
-+ // go through all folder and create each one
-+ for($i=1; $i < count($folderList); $i++) {
-+ $cache_path .= '/'.$folderList[$i];
-+ // check if the directory is already there
-+ if (!file_exists($cache_path)) {
-+ mkdir ($cache_path);
-+ }
-+ }
-+ }
-+ }
-+
-+ // =======================================================
-+ // check if the images are there, if not create them
-+ function makeImages( $current_path, $folderList, $image_viewsize, $image_index ) {
-+ $path = $_SERVER[DOCUMENT_ROOT].$this->config['cache_path'].$current_path;
-+ // use the image_viewsize numbers as a prefix if fullsize is not requested
-+ if ( $image_viewsize != fullsize ) {
-+ // only so many images will be created that will be displayed on the screen
-+ $max_cols = substr($image_viewsize, 0, 1);
-+ $max_rows = substr($image_viewsize, 2, 1);
-+ $max_number = ($max_cols * $max_rows);
-+ // the prefix that will be added to a file so that
-+ // different sizes have different names
-+ $file_prefix = strtr($image_viewsize, ',','_').'_';
-+ } else {
-+ $max_number = 1;
-+ // the prefix that will be added to a file so that
-+ // different sizes have different names
-+ $file_prefix = $image_viewsize.'_';
-+ }
-+ // get the amount of subfolders. increase the count in the loop by these
-+ // subfolders
-+ $folder_count = count(glob($current_path.'/'.$folder.'/*',GLOB_ONLYDIR));
-+ for ($i = $image_index; $i < ($max_number + $image_index + $folder_count); $i++) {
-+ // show the picture only if its not hidden and not a directory
-+ if (!is_dir( $current_path.'/'.$folderList[$i] )) {
-+ // check if there is already a thumbnail available, if not create it
-+ if (!file_exists( $path.'/'.$file_prefix.$folderList[$i] )) {
-+ // get the extension of the file
-+ $fileParts = explode('.', $folderList[$i]);
-+ $file_extension = strtolower($fileParts[count($fileParts)-1]);
-+ // get image pointer
-+ $image_p = null;
-+ if ($file_extension == 'jpg')
-+ $image_p = @imagecreatefromjpeg( $current_path.'/'.$folderList[$i] );
-+ if ($file_extension == 'png')
-+ $image_p = @imagecreatefrompng( $current_path.'/'.$folderList[$i] );
-+ if ($file_extension == 'gif')
-+ $image_p = @imagecreatefromgif( $current_path.'/'.$folderList[$i] );
-+ // proceed if we have an image pointer
-+ if ($image_p) {
-+ // get the image size for the cached images
-+ $size = getimagesize( $current_path.'/'.$folderList[$i]);
-+ $width = $size[0];
-+ $height = $size[1];
-+ // get the width for the choosen viewsize
-+ // calculate it from the columns and rows if fullsize is not
-+ // requested, otherwise use the original image size
-+ if ( $image_viewsize != fullsize ) {
-+ $new_width = (( $this->config['screen_width'] / $max_cols ) - 50 );
-+ // calculate new image dimensions
-+ $new_height = ($height/$width) * $new_width;
-+ if ( $height > $width ) {
-+ $new_width = ($width/$height) * $new_height;
-+ }
-+ } else {
-+ $new_width = $width;
-+ $new_height = $height;
-+ }
-+ // get a new image pointer
-+ $new_image_p = imagecreatetruecolor($new_width, $new_height);
-+ // resample the old image to the new one
-+ imagecopyresampled($new_image_p, $image_p, 0, 0, 0, 0,
-+ $new_width, $new_height, $width, $height );
-+ // save the image
-+ if ($file_extension == 'jpg')
-+ imagejpeg($new_image_p, $path.'/'.$file_prefix.$folderList[$i] );
-+ if ($file_extension == 'png')
-+ imagepng($new_image_p, $path.'/'.$file_prefix.$folderList[$i] );
-+ if ($file_extension == 'gif')
-+ imagegif($new_image_p, $path.'/'.$file_prefix.$folderList[$i] );
-+ // destroy the old pointers
-+ imagedestroy( $image_p );
-+ imagedestroy( $new_image_p );
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ // =======================================================
-+ function showImages( $current_path, $folderList, $image_viewsize, $image_index ) {
-+
-+ $path = $_SERVER[DOCUMENT_ROOT].$this->config['cache_path'].$current_path;
-+ // get the column and row values, display that many images in a row
-+ $max_cols = substr($image_viewsize, 0, 1);
-+ $max_rows = substr($image_viewsize, 2, 1);
-+ // counter for the current column and row
-+ $current_col = 0;
-+ // the prefix that will be added to a file so that different sizes have different names
-+ $file_prefix = strtr($image_viewsize, ',','_').'_';
-+
-+ // get the amount of subfolders
-+ $folder_count = count(glob($current_path.'/'.$folder.'/*',GLOB_ONLYDIR));
-+ // increase the index by the folder count
-+ for ($i = 1; $i <= $folder_count; $i++) {
-+ $image_index += 1;
-+ }
-+ echo '<table width="100%" cellspacing="0" cellpadding="0">'."\n".
-+ '<tr>'.
-+ '<td colspan="'.$max_cols.'">'.
-+ '&nbsp;'.
-+ '</td>'.
-+ '</tr>';
-+ // go through all entries in the folderList
-+ for ($i = $image_index; $i < (($max_cols * $max_rows)+$image_index); $i++) {
-+ if (( file_exists( $path.'/'.$file_prefix.$folderList[$i] )) &&
-+ ( isset($folderList[$i]) )) {
-+ // if the column is zero then start a new row
-+ // the specified number of images will be displayed side by side
-+ if ( $current_col == 0 ) echo '<tr>'."\n";
-+ // stretch the table cells to equal size
-+ echo '<td class="single_image" style="width:';
-+ // calculate the width of the cells
-+ echo floor( 100 / $max_cols );
-+ echo '%;">'."\n".
-+ // display the image centered and put border around it
-+ '<div align="center">'."\n".
-+ '<a href="'.root.'gallery/gallery.php?'.
-+ path.'='.$current_path.
-+ '&'.index.'='.$i.
-+ '&'.viewsize.'='.fullsize.
-+ '" target="blank">'."\n".
-+ '<img class="single_image" src="'.
-+ $this->config['cache_path'].$current_path.'/'.
-+ $file_prefix.$folderList[$i].'" '.
-+ 'onmouseover="this.className=\'single_image_active\'" '.
-+ 'onmouseout="this.className=\'single_image\'">'."\n".
-+ '</a>'."\n".
-+ '</div>'."\n".
-+ '<div align="center">'."\n".
-+ // show the filename
-+ $folderList[$i]."\n".
-+ '</div>'."\n".
-+ '</td>'."\n";
-+ // if the max number of columns are reached close the row
-+ if ( $current_col == $max_cols ) echo '</tr>'."\n";
-+ // reset the column count back to zero
-+ $current_col++;
-+ if ( $current_col == $max_cols ) $current_col = 0;
-+ }
-+ }
-+ echo '</table>';
-+ }
-+
-+
-+ // =======================================================
-+ function onlyDirectoriesAvailable( $current_path, $folderList, $image_viewsize, $image_index ) {
-+ $path = $_SERVER[DOCUMENT_ROOT].$this->config['cache_path'].$current_path;
-+ // only so many images will be created that will be displayed on the screen
-+ $max_cols = substr($image_viewsize, 0, 1);
-+ $max_rows = substr($image_viewsize, 2, 1);
-+ $max_number = ($max_cols * $max_rows);
-+ // the prefix that will be added to a file so that different sizes have different names
-+ $file_prefix = strtr($image_viewsize, ',','_').'_';
-+
-+ // go through the folderList. if there are only directories in it
-+ // then dont display the navigation stuff
-+ $only_dirs = true;
-+ for ($i = 0; $i < count($folderList); $i++) {
-+ if ( file_exists( $path.'/'.$file_prefix.$folderList[$i] )) {
-+ $only_dirs = false;
-+ break;
-+ }
-+ }
-+ return $only_dirs;
-+ }
-+
-+ // =======================================================
-+ function showNavigation( $current_path, $folderList, $image_viewsize, $image_index ) {
-+ $path = $_SERVER[DOCUMENT_ROOT].$this->config['cache_path'].$current_path;
-+ // only so many images will be created that will be displayed on the screen
-+ $max_cols = substr($image_viewsize, 0, 1);
-+ $max_rows = substr($image_viewsize, 2, 1);
-+ $max_number = ($max_cols * $max_rows);
-+ // the prefix that will be added to a file so that different sizes have different names
-+ $file_prefix = strtr($image_viewsize, ',','_').'_';
-+
-+ echo '<table width="100%" cellspacing="0" cellpadding="0">'."\n".
-+ '<tr>'."\n".
-+ '<td class="image_navigation">&nbsp;'."\n".
-+ '</td>'."\n".
-+ '<td class="image_navigation">'."\n";
-+ // display the goto first page link
-+ if ($image_index != 1) {
-+ echo '<a href="'.root.'gallery/gallery.php?'.
-+ '&'.path.'='.$current_path.
-+ '&'.index.'=1'.
-+ '&'.viewsize.'='.$image_viewsize.'">'."\n".
-+ // display the right arrow
-+ '<img src="'.root.skin_dir.'/img/gallery/first_page.png">'.
-+ '</a>'."\n";
-+ } else {
-+ echo '<img src="'.root.skin_dir.'/img/gallery/first_page_disabled.png">'."\n";
-+ }
-+ // display the previous page icon if there are more than one entries
-+ if ($image_index != 1) {
-+ echo '<a href="'.root.'gallery/gallery.php?'.
-+ '&'.path.'='.$current_path.
-+ '&'.index.'=';
-+ if ($image_index < $max_number) {
-+ echo 1;
-+ } else {
-+ echo ($image_index - $max_number);
-+ }
-+ echo '&'.viewsize.'='.$image_viewsize.'">'."\n".
-+ // display the left arrow
-+ '<img src="'.root.skin_dir.'/img/gallery/prev_page.png">'.
-+ '</a>'."\n";
-+ } else {
-+ echo '<img src="'.root.skin_dir.'/img/gallery/prev_page_disabled.png">'."\n";
-+ }
-+ echo '</td>'."\n".
-+ '<td class="image_navigation">'."\n".
-+ // display an info in what page we are right now
-+ '( '.$image_index.' '.t('to').' ';
-+ if (($image_index + $max_number) < count($folderList)) {
-+ echo ($image_index+$max_number-1);
-+ } else {
-+ echo (count($folderList)-1);
-+ }
-+ echo ' '.t('of').' '.(count($folderList)-1).' )'."\n".
-+ '</td>'."\n".
-+ '<td class="image_navigation">'."\n";
-+ // display the next page link
-+ if (($image_index + $max_number) < count($folderList)) {
-+ echo '<a href="'.root.'gallery/gallery.php?'.
-+ '&'.path.'='.$current_path.
-+ '&'.index.'='.($image_index + $max_number).
-+ '&'.viewsize.'='.$image_viewsize.'">'."\n".
-+ // display the right arrow
-+ '<img src="'.root.skin_dir.'/img/gallery/next_page.png">'.
-+ '</a>'."\n";
-+ } else {
-+ echo '<img src="'.root.skin_dir.'/img/gallery/next_page_disabled.png">'."\n";
-+ }
-+ // display the goto last page link
-+ if (($image_index + $max_number) < count($folderList)) {
-+ echo '<a href="'.root.'gallery/gallery.php?'.
-+ '&'.path.'='.$current_path.
-+ '&'.index.'='.
-+ (count($folderList) - (count($folderList) % $max_number)+1).
-+ '&'.viewsize.'='.$image_viewsize.'">'."\n".
-+ // display the right arrow
-+ '<img src="'.root.skin_dir.'/img/gallery/last_page.png">'.
-+ '</a>'."\n";
-+ } else {
-+ echo '<img src="'.root.skin_dir.'/img/gallery/last_page_disabled.png">'."\n";
-+ }
-+ echo '</td>'."\n".
-+ '<td class="image_navigation">&nbsp;'."\n".
-+ '</td>'."\n".
-+ '</tr>'."\n".
-+ '</table>'."\n";
-+ }
-+
-+ // =======================================================
-+ function showFullsizeImage( $current_path, $folderList, $image_index ) {
-+ echo '<html>'."\n".
-+ '<head>'."\n".
-+ '<title>'.$folderList[$image_index].'</title>'."\n".
-+ '</head>'."\n".
-+ '<body>'."\n".
-+ '<div>'."\n".
-+ '<img src="'."\n".
-+ $this->config['cache_path'].$current_path.'/'.
-+ fullsize.'_'.$folderList[$image_index].'">'."\n".
-+ '</div>'."\n".
-+ '</body>'."\n".
-+ '</html>';
-+ }
-+
-+ // =======================================================
-+}
-diff -Naur ../mythweb-orig/modules/gallery/includes/objects/Settings.php ./modules/gallery/includes/objects/Settings.php
---- ../mythweb-orig/modules/gallery/includes/objects/Settings.php 1969-12-31 19:00:00.000000000 -0500
-+++ ./modules/gallery/includes/objects/Settings.php 2007-08-20 22:28:02.000000000 -0400
-@@ -0,0 +1,243 @@
-+<?php
-+/**
-+ * Gallery Settings Functions
-+ *
-+ * @url $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/gallery/set_prefs.php $
-+ * @date $Date: 2006-12-19 09:17:33 +0100 (Di, 19 Dez 2006) $
-+ * @version $Revision: 12295 $
-+ * @author $Author: xris $
-+ * @license GPL
-+ *
-+ * @package MythWeb
-+ * @subpackage Gallery
-+/**/
-+
-+// Load the available configuration from the session variable
-+// or if this one is empty then form the database
-+function loadGalleryConfig()
-+{
-+ $_SESSION['gallery']['image_path'] = getGalleryImagePath();
-+ $_SESSION['gallery']['cache_path'] = getGalleryCachePath();
-+ $_SESSION['gallery']['default_viewsize'] = getGalleryDefaultViewSize();
-+ $_SESSION['gallery']['screen_width'] = getGalleryScreenWidth();
-+ $_SESSION['gallery']['viewsizes'] = getGalleryViewSizes();
-+ $_SESSION['gallery']['valid_image_files'] = getGalleryValidImageFiles();
-+}
-+
-+
-+// Load all of the known mythtv frontend hosts
-+function getGalleryHostnames()
-+{
-+ $Settings_Hosts = array('' => t('MythWeb Session'));
-+ global $db;
-+ $sh = $db->query('SELECT DISTINCT hostname FROM settings WHERE value="locale" ORDER BY hostname');
-+
-+ // add all the found hosts into an array
-+ while (list($host) = $sh->fetch_row())
-+ {
-+ if (empty($host))
-+ continue;
-+ $Settings_Hosts[$host] = $host;
-+ }
-+ $sh->finish();
-+ return $Settings_Hosts;
-+}
-+
-+
-+// update the values in the database if necessary
-+function saveGalleryConfig( $Settings_Hosts )
-+{
-+ // Make sure we have a valid host selected
-+ if (!isset( $Settings_Hosts[$_SESSION['settings']['host']]) )
-+ {
-+ // we have no valid host, reset the array
-+ $_SESSION['settings']['host'] = reset(array_keys($Settings_Hosts));
-+ } else {
-+ // we have a valid host, check if the data should be saved
-+ if ($_POST['save'] && isset($_POST['host']))
-+ {
-+ // Changing settings for this MythWeb session
-+ if (empty($_POST['host']))
-+ {
-+ // save the image path in the session variable
-+ $_SESSION['gallery']['image_path'] = $_POST['image_path'];
-+ $_SESSION['gallery']['cache_path'] = $_POST['cache_path'];
-+ $_SESSION['gallery']['default_viewsize'] = $_POST['default_viewsize'];
-+ $_SESSION['gallery']['screen_width'] = $_POST['screen_width'];
-+ $_SESSION['gallery']['viewsizes'] = $_POST['viewsizes'];
-+ $_SESSION['gallery']['valid_image_files'] = $_POST['valid_image_files'];
-+ } else {
-+ // save the settings in the database
-+// setGalleryImagePath( $_POST['image_path'], $_POST['host'] );
-+ setGalleryCachePath( $_POST['cache_path'], $_POST['host'] );
-+ setGalleryDefaultViewSize( $_POST['default_viewsize'], $_POST['host'] );
-+ setGalleryScreenWidth( $_POST['screen_width'], $_POST['host'] );
-+ setGalleryViewSizes( $_POST['viewsizes'], $_POST['host'] );
-+ setGalleryValidImageFiles( $_POST['valid_image_files'],$_POST['host'] );
-+ }
-+ // Make sure the session host gets updated to the posted one.
-+ $_SESSION['settings']['host'] = $_POST['host'];
-+ }
-+ }
-+}
-+
-+// the absolute path where the images are
-+// get it from the database or the session variable
-+function getGalleryImagePath()
-+{
-+ global $db;
-+ if (!empty($_SESSION['settings']['host'])) {
-+ $imagePath = $db->query_col('SELECT data FROM settings
-+ WHERE value="GalleryDir" AND hostname=?', $_SESSION['settings']['host']);
-+ }
-+
-+ if (!$imagePath)
-+ {
-+ $imagePath = _or($_SESSION['gallery']['image_path'], '/myth/gallery');
-+ }
-+
-+ return $imagePath;
-+}
-+
-+// directory where the cached images are stored
-+// this directory is relative to the htdocs directory
-+function getGalleryCachePath()
-+{
-+ global $db;
-+ if (!empty($_SESSION['settings']['host'])) {
-+ $cachePath = $db->query_col('SELECT data FROM settings
-+ WHERE value="GalleryCachePath" AND hostname=?', $_SESSION['settings']['host']);
-+ }
-+
-+ if (!$cachePath)
-+ {
-+ $cachePath = _or($_SESSION['gallery']['cache_path'], '/mythweb/data/cache');
-+ }
-+
-+ return $cachePath;
-+}
-+
-+
-+// defines the default view mode
-+// default is 4 columns and 4 rows per page
-+function getGalleryDefaultViewSize()
-+{
-+ global $db;
-+ if (!empty($_SESSION['settings']['host'])) {
-+ $defaultViewSize = $db->query_col('SELECT data FROM settings
-+ WHERE value="GalleryDefaultViewSize" AND hostname=?', $_SESSION['settings']['host']);
-+ }
-+
-+ if (!$defaultViewSize)
-+ {
-+ $defaultViewSize = _or($_SESSION['gallery']['default_viewsize'], '4,3');
-+ }
-+
-+ return $defaultViewSize;
-+}
-+
-+
-+// width if the screen-200 (example 1024-200)
-+// this is needed to calculate the width of the images
-+function getGalleryScreenWidth()
-+{
-+ global $db;
-+ if (!empty($_SESSION['settings']['host'])) {
-+ $screenWidth = $db->query_col('SELECT data FROM settings
-+ WHERE value="GalleryScreenWidth" AND hostname=?', $_SESSION['settings']['host']);
-+ }
-+
-+ if (!$screenWidth)
-+ {
-+ $screenWidth = _or($_SESSION['gallery']['screen_width'], '1024');
-+ }
-+
-+ return $screenWidth;
-+}
-+
-+
-+// columns and rows that are shown on one page, ; separates another mode
-+function getGalleryViewSizes()
-+{
-+ global $db;
-+ if (!empty($_SESSION['settings']['host'])) {
-+ $viewSizes = $db->query_col('SELECT data FROM settings
-+ WHERE value="GalleryViewSizes" AND hostname=?', $_SESSION['settings']['host']);
-+ }
-+
-+ if (!$viewSizes)
-+ {
-+ $viewSizes = _or($_SESSION['gallery']['viewsizes'], '5,4 ; 4,4 ; 4,3 ; 3,3 ; 2,2 ; 1,1');
-+ }
-+
-+ return $viewSizes;
-+}
-+
-+
-+// image extensions that will be shown, everything else
-+// will not work, currently there four are supported
-+function getGalleryValidImageFiles()
-+{
-+ global $db;
-+ if (!empty($_SESSION['settings']['host'])) {
-+ $validImageFiles = $db->query_col('SELECT data FROM settings
-+ WHERE value="GalleryValidImageFiles" AND hostname=?', $_SESSION['settings']['host']);
-+ }
-+
-+ if (!$validImageFiles)
-+ {
-+ $validImageFiles = _or($_SESSION['gallery']['valid_image_files'], 'jpg,png,gif,bmp');
-+ }
-+
-+ return $validImageFiles;
-+}
-+
-+
-+// save the image path in the database
-+//function setGalleryImagePath( $imagePath, $host )
-+//{
-+// global $db;
-+// $db->query('UPDATE settings SET data = ?
-+// WHERE value="GalleryDir" AND hostname=?', $imagePath, $host);
-+//}
-+
-+function setGalleryCachePath( $cachePath, $host )
-+{
-+ global $db;
-+ $db->query('UPDATE settings SET data = ?
-+ WHERE value="GalleryCachePath" AND hostname=?', $cachePath, $host);
-+}
-+
-+
-+function setGalleryDefaultViewSize( $defaultViewSize, $host )
-+{
-+ global $db;
-+ $db->query('UPDATE settings SET data = ?
-+ WHERE value="GalleryDefaultViewSize" AND hostname=?', $defaultViewSize, $host);
-+}
-+
-+
-+function setGalleryScreenWidth( $screenWidth, $host )
-+{
-+ global $db;
-+ $db->query('UPDATE settings SET data = ?
-+ WHERE value="GalleryScreenWidth" AND hostname=?', $screenWidth, $host);
-+}
-+
-+
-+function setGalleryViewSizes( $viewSizes, $host )
-+{
-+ global $db;
-+ $db->query('UPDATE settings SET data = ?
-+ WHERE value="GalleryViewSizes" AND hostname=?', $viewSizes, $host);
-+}
-+
-+
-+function setGalleryValidImageFiles( $validImageFiles, $host )
-+{
-+ global $db;
-+ $db->query('UPDATE settings SET data = ?
-+ WHERE value="GalleryValidImageFiles" AND hostname=?', $validImageFiles, $host);
-+}
-+
-+
-diff -Naur ../mythweb-orig/modules/gallery/init.php ./modules/gallery/init.php
---- ../mythweb-orig/modules/gallery/init.php 1969-12-31 19:00:00.000000000 -0500
-+++ ./modules/gallery/init.php 2007-08-19 23:21:33.000000000 -0400
-@@ -0,0 +1,38 @@
-+<?php
-+/**
-+ * Initialization routines for the MythWeb Gallery module
-+ *
-+ * @url $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/gallery/init.php $
-+ * @date $Date: 2006-12-19 09:17:33 +0100 (Di, 19 Dez 2006) $
-+ * @version $Revision: 12295 $
-+ * @author $Author: rsiebert $
-+ * @license GPL
-+ *
-+ * @package MythWeb
-+ * @subpackage Gallery
-+ *
-+/**/
-+
-+// Settings options
-+ $Settings['gallery'] = array('name' => t('Gallery'),
-+ 'choices' => array('prefs' => t('Preferences'), ),
-+ 'default' => 'prefs',
-+ );
-+
-+// First, we should check to see that MythGallery is configured.
-+ $has_gallery = $_SESSION['locale']
-+ ? true
-+ : $db->query_col('SELECT COUNT(data)
-+ FROM settings
-+ WHERE value="locale"');
-+
-+
-+
-+// If gallery is enabled, add it to the list.
-+ if ($has_gallery) {
-+ $Modules['gallery'] = array('path' => 'gallery',
-+ 'sort' => 5,
-+ 'name' => t('Gallery'),
-+ 'description' => t('Local Image Gallery')
-+ );
-+ }
-diff -Naur ../mythweb-orig/modules/gallery/set_prefs.php ./modules/gallery/set_prefs.php
---- ../mythweb-orig/modules/gallery/set_prefs.php 1969-12-31 19:00:00.000000000 -0500
-+++ ./modules/gallery/set_prefs.php 2007-08-20 22:29:12.000000000 -0400
-@@ -0,0 +1,24 @@
-+<?php
-+/**
-+ * Gallery settings
-+ *
-+ * @url $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/gallery/set_prefs.php $
-+ * @date $Date: 2006-12-19 09:17:33 +0100 (Di, 19 Dez 2006) $
-+ * @version $Revision: 12295 $
-+ * @author $Author: xris $
-+ * @license GPL
-+ *
-+ * @package MythWeb
-+ * @subpackage Gallery
-+/**/
-+
-+// Load functions
-+require_once 'includes/objects/Settings.php';
-+
-+// Load all of the known mythtv frontend hosts
-+$Settings_Hosts = getGalleryHostnames();
-+
-+// update the values in the database if necessary
-+saveGalleryConfig( $Settings_Hosts );
-+loadGalleryConfig();
-+
-diff -Naur ../mythweb-orig/modules/gallery/tmpl/default/gallery.php ./modules/gallery/tmpl/default/gallery.php
---- ../mythweb-orig/modules/gallery/tmpl/default/gallery.php 1969-12-31 19:00:00.000000000 -0500
-+++ ./modules/gallery/tmpl/default/gallery.php 2007-08-22 00:21:05.000000000 -0400
-@@ -0,0 +1,39 @@
-+<?php
-+/**
-+ * Display template for the Gallery module
-+ *
-+ * @url $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/gallery/tmpl/default/gallery.php $
-+ * @date $Date: 2006-12-19 09:17:33 +0100 (Di, 19 Dez 2006) $
-+ * @version $Revision: 12295 $
-+ * @author $Author: xris $
-+ * @license GPL
-+ *
-+ * @package MythWeb
-+ *
-+/**/
-+
-+// Page title
-+$page_title = 'MythWeb - '.t('Gallery');
-+
-+// the current viewsize mode
-+$image_viewsize = $gallery->getImageViewSize();
-+
-+// If displaying full size image don't display header and footer
-+if ($image_viewsize == 'fullsize') {
-+ // Print the gallery part
-+ $gallery->start();
-+}
-+else
-+{
-+ // Load this page's custom stylesheet
-+ $headers[] = '<link rel="stylesheet" type="text/css" href="'.root.skin_dir.'/gallery.css" />';
-+
-+ // Print the page header
-+ require 'modules/_shared/tmpl/'.tmpl.'/header.php';
-+
-+ // Print the gallery part
-+ $gallery->start();
-+
-+ // Print the page footer
-+ require 'modules/_shared/tmpl/'.tmpl.'/footer.php';
-+}
-\ No newline at end of file
-diff -Naur ../mythweb-orig/modules/gallery/tmpl/default/set_prefs.php ./modules/gallery/tmpl/default/set_prefs.php
---- ../mythweb-orig/modules/gallery/tmpl/default/set_prefs.php 1969-12-31 19:00:00.000000000 -0500
-+++ ./modules/gallery/tmpl/default/set_prefs.php 2007-08-19 23:21:33.000000000 -0400
-@@ -0,0 +1,93 @@
-+<?php
-+/**
-+ * Display/save MythGallery settings
-+ *
-+ * @url $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/gallery/tmpl/default/set_prefs.php $
-+ * @date $Date: 2007-01-09 07:37:34 +0100 (Di, 09 Jan 2007) $
-+ * @version $Revision: 12460 $
-+ * @author $Author: xris $
-+ * @license GPL
-+ *
-+ * @package MythWeb
-+ * @subpackage Gallery
-+ *
-+/**/
-+
-+// Display the gui for the settings
-+$galleryConfigTheme = new GalleryConfigTheme();
-+$galleryConfigTheme->showConfig();
-+
-+class GalleryConfigTheme
-+{
-+ function GalleryConfigTheme()
-+ {
-+
-+ }
-+
-+ function showConfig()
-+ {
-+ echo '<form class="form" method="post" action="'. form_action .'">'.
-+ '<input type="hidden" name="host" value="'. html_entities($_SESSION['settings']['host']) .'"/>'.
-+ '<table border="0" cellspacing="0" cellpadding="0">'.
-+ '<tr class="_sep">'.
-+ '<td>'.
-+ t('Gallery image path').':&nbsp;'.
-+ '</td>'.
-+ '<td>'.
-+ '<input class="_text" type="text" name="image_path" value="'.getGalleryImagePath().'">'.
-+ '</td>'.
-+ '</tr>'.
-+ '<tr class="_sep">'.
-+ '<td>'.
-+ t('Path where the thumbnails are').':&nbsp;'.
-+ '</td>'.
-+ '<td>'.
-+ '<input class="_text" type="text" name="cache_path" value="'.getGalleryCachePath().'">'.
-+ '</td>'.
-+ '</tr>'.
-+ '<tr class="_sep">'.
-+ '<td>'.
-+ t('Default view size').':&nbsp;'.
-+ '</td>'.
-+ '<td>'.
-+ '<input class="_text" type="text" name="default_viewsize" value="'.getGalleryDefaultViewSize().'">'.
-+ '</td>'.
-+ '</tr>'.
-+ '<tr class="_sep">'.
-+ '<td>'.
-+ t('Horizontal screen resolution').':&nbsp;'.
-+ '</td>'.
-+ '<td>'.
-+ '<input class="_text" type="text" name="screen_width" value="'.getGalleryScreenWidth().'">'.
-+ '</td>'.
-+ '</tr>'.
-+ '<tr class="_sep">'.
-+ '<td>'.
-+ t('List of available view sizes').':&nbsp;'.
-+ '</td>'.
-+ '<td>'.
-+ '<input class="_text" type="text" name="viewsizes" value="'.getGalleryViewSizes().'">'.
-+ '</td>'.
-+ '</tr>'.
-+ '<tr class="_sep">'.
-+ '<td>'.
-+ t('List of allowed image formats').':&nbsp;'.
-+ '</td>'.
-+ '<td>'.
-+ '<input class="_text" type="text" name="valid_image_files" value="'.getGalleryValidImageFiles().'">'.
-+ '</td>'.
-+ '</tr>'.
-+ '<tr>'.
-+ '<td align="center">'.
-+ '<input class="_button" type="reset" class="submit" value="'.t('Reset').'">'.
-+ '</td>'.
-+ '<td align="center">'.
-+ '<input class="_button" type="submit" class="submit" name="save" value="'.t('Save') .'">'.
-+ '</td>'.
-+ '</tr>'.
-+ '</table>'.
-+ '</form>';
-+ }
-+}
-+
-+?>
-\ No newline at end of file
-diff -Naur ../mythweb-orig/modules/gallery/tmpl/default/welcome.php ./modules/gallery/tmpl/default/welcome.php
---- ../mythweb-orig/modules/gallery/tmpl/default/welcome.php 1969-12-31 19:00:00.000000000 -0500
-+++ ./modules/gallery/tmpl/default/welcome.php 2007-08-19 23:21:33.000000000 -0400
-@@ -0,0 +1,26 @@
-+<?php
-+/**
-+ * Welcome page description of the Gallery module.
-+ *
-+ * @url $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/gallery/tmpl/default/welcome.php $
-+ * @date $Date: 2005-12-13 08:23:18 +0100 (Di, 13 Dez 2005) $
-+ * @version $Revision: 8252 $
-+ * @author $Author: xris $
-+ * @license GPL
-+ *
-+ * @package MythWeb
-+ *
-+/**/
-+
-+// Open with a div and an image
-+ echo '<div id="info_gallery" class="hidden">',
-+ '<img src="', skin_url, '/img/gallery.png" class="module_icon" />',
-+
-+// Print a basic overview of what this module does
-+ t('welcome: gallery'),
-+
-+// Next, print a list of possible subsectons
-+ ####
-+
-+// Close the div
-+ "</div>\n";
-\ No newline at end of file
-diff -Naur ../mythweb-orig/modules/_shared/lang/English.lang ./modules/_shared/lang/English.lang
---- ../mythweb-orig/modules/_shared/lang/English.lang 2007-08-19 23:20:01.000000000 -0400
-+++ ./modules/_shared/lang/English.lang 2007-08-19 23:26:41.000000000 -0400
-@@ -153,6 +153,7 @@
- "Create Schedule"
- "Current Conditions"
- "Current recordings"
-+"Current path"
- "Currently Browsing: $1"
- "Currently Recording: Edit"
- "Custom"
-@@ -164,6 +165,7 @@
- "Deactivated"
- "Default"
- "Default MythVideo View"
-+"Default view size"
- "Delete"
- "delete"
- "Delete $1"
-@@ -242,6 +244,8 @@
- "freqid"
- "Friday"
- "Frontends"
-+"Gallery"
-+"Gallery image path"
- "generic_date"
- %a %b %e, %Y
- "generic_time"
-@@ -269,6 +273,7 @@
- "Hide"
- "High"
- "Home"
-+"Horizontal screen resolution"
- "Host"
- "Hosted by"
- "Hosts"
-@@ -276,6 +281,7 @@
- "Hour Format"
- "hue"
- "Humidity"
-+"Images per page"
- "IMDB"
- "imdb rating"
- "IMDBTYPE"
-@@ -318,6 +324,8 @@
- "length"
- "Length"
- "Length (min)"
-+"List of allowed image formats"
-+"List of available view sizes"
- "Listing &quot;Jump to&quot;"
- "Listing Time Key"
- "Listings"
-@@ -367,6 +375,7 @@
- "mythvideo.sort_ignores_case"
- "MythWeb"
- "MythWeb Defaults"
-+"MythWeb Gallery."
- "MythWeb Global Defaults"
- "MythWeb Session"
- "MythWeb session settings"
-@@ -401,6 +410,7 @@
- "Number of shows"
- "Number of Songs"
- "Number of timeslots"
-+"of"
- "Only display favourite channels"
- "Only match commercial-free channels"
- "Only match HD programs"
-@@ -415,6 +425,7 @@
- "Past Month"
- "Past Week"
- "Past Year"
-+"Path where the thumbnails are"
- "Paused"
- "Pending"
- "People"
-@@ -673,6 +684,7 @@
- "Subtitles Available"
- "Sunday"
- "Surround Sound"
-+"Switch view mode"
- "Tab"
- "The requested recording schedule has been deleted."
- "There are no items in this Playlist!"
-@@ -690,6 +702,7 @@
- "Title Match"
- "Title search"
- "Title Search"
-+"to"
- "Today"
- "Tomorrow"
- "Too Many"
-@@ -784,6 +797,8 @@
- "Wednesday"
- "welcome: backend_log"
- Show the server logs.
-+"welcome: gallery"
-+ Browse your picture collection.
- "welcome: music"
- Browse your music collection.
- "welcome: remote"
-diff -Naur ../mythweb-orig/modules/_shared/lang/German.lang ./modules/_shared/lang/German.lang
---- ../mythweb-orig/modules/_shared/lang/German.lang 2007-08-19 23:20:01.000000000 -0400
-+++ ./modules/_shared/lang/German.lang 2007-08-19 23:27:54.000000000 -0400
-@@ -209,6 +209,8 @@
- "Create a Random Mix"
- "Create Schedule"
- Speichern
-+"Current path"
-+ Aktueller Pfad
- "Current Conditions"
- Das aktuelle Wetter
- "Current recordings"
-@@ -231,6 +233,8 @@
- "Default"
- Standard
- "Default MythVideo View"
-+"Default view size"
-+ Standardansicht
- "Delete"
- Löschen
- "delete"
-@@ -343,6 +347,10 @@
- "Friday"
- Freitag
- "Frontends"
-+"Gallery"
-+ Gallerie
-+"Gallery image path"
-+ Pfad der Bilder
- "generic_date"
- %e.%m.%Y
- "generic_time"
-@@ -379,6 +387,8 @@
- "High"
- Max
- "Home"
-+"Horizontal screen resolution"
-+ Horizontale Bildschirmauflösung
- "Host"
- "Hosted by"
- "Hosts"
-@@ -390,6 +400,8 @@
- Farbton
- "Humidity"
- Luftfeuchtigkeit
-+"Images per page"
-+ Bilder pro Seite
- "IMDB"
- IMDB
- "imdb rating"
-@@ -438,6 +450,10 @@
- Dauer
- "Length (min)"
- Dauer (Min.)
-+"List of allowed image formats"
-+ Liste der erlaubten Bildformate
-+"List of available view sizes"
-+ Liste der möglichen Ansichten
- "Listing &quot;Jump to&quot;"
- TV Programm &quot;Gehe zu&quot;
- "Listing Time Key"
-@@ -502,6 +518,8 @@
- "mythvideo.sort_ignores_case"
- "MythWeb"
- "MythWeb Defaults"
-+"MythWeb Gallery."
-+ Gallerie
- "MythWeb Global Defaults"
- "MythWeb Session"
- "MythWeb session settings"
-@@ -548,6 +566,8 @@
- "Number of shows"
- "Number of Songs"
- "Number of timeslots"
-+"of"
-+ von
- "Only display favourite channels"
- Nur Favoriten anzeigen
- "Only match commercial-free channels"
-@@ -562,6 +582,8 @@
- "Override"
- "Page Down"
- "Page Up"
-+"Path where the thumbnails are"
-+ Thumbnails speichern unter
- "Part $1 of $2"
- Teil $1 von $2
- "Past Month"
-@@ -870,6 +892,10 @@
- "Streaming"
- "Sub and Desc (Empty matches)"
- Untertitel & Beschr. (kein Ergebnis)
-+"subfolder"
-+ Unterordner
-+"subfolders"
-+ Unterordner
- "Submit Search"
- "subtitle"
- "Subtitle"
-@@ -882,6 +908,8 @@
- "Subtitles Available"
- "Sunday"
- Sonntag
-+"Switch view mode"
-+ Ansichtsmodus wechseln
- "Surround Sound"
- "Tab"
- "The requested recording schedule has been deleted."
-@@ -907,6 +935,8 @@
- "Title search"
- "Title Search"
- Titel Suche
-+"to"
-+ bis
- "Today"
- Heute
- "Tomorrow"
-@@ -1024,6 +1054,8 @@
- Mittwoch
- "welcome: backend_log"
- Backend Log
-+"welcome: gallery"
-+ Gallerie
- "welcome: music"
- Musik
- "welcome: remote"
-diff -Naur ../mythweb-orig/modules/_shared/tmpl/default/header.php ./modules/_shared/tmpl/default/header.php
---- ../mythweb-orig/modules/_shared/tmpl/default/header.php 2007-08-19 23:20:01.000000000 -0400
-+++ ./modules/_shared/tmpl/default/header.php 2007-08-19 23:21:33.000000000 -0400
-@@ -96,6 +96,13 @@
- </a>
- <?php
- }
-+ if ($Modules['gallery']) {
-+?>
-+ <a id="gallery_link"<?php if ($Path[0] == 'gallery') echo ' class="current_section"' ?> href="<?php echo root ?>gallery" onmouseover="return help_text('<?php echo str_replace("'", "\\'", t('MythWeb Gallery.')) ?>')" onmouseout="return help_text()">
-+ <img src="<?php echo skin_url ?>img/gallery.png" width="48" height="48" class="alpha_png" alt="MythGallery" />
-+ </a>
-+<?php
-+ }
- ?>
- <a id="settings_link"<?php if ($Path[0] == 'settings') echo ' class="current_section"' ?> href="<?php echo root ?>settings" onmouseover="return help_text('<?php echo str_replace("'", "\\'", t('Edit MythWeb and some MythTV settings.')) ?>')" onmouseout="return help_text()">
- <img src="<?php echo skin_url ?>img/settings.png" width="48" height="48" class="alpha_png" alt="<?php echo t('Settings') ?>" />
-diff -Naur ../mythweb-orig/skins/default/gallery.css ./skins/default/gallery.css
---- ../mythweb-orig/skins/default/gallery.css 1969-12-31 19:00:00.000000000 -0500
-+++ ./skins/default/gallery.css 2007-08-19 23:21:33.000000000 -0400
-@@ -0,0 +1,108 @@
-+img {
-+ border: 0px;
-+ border-color: #000000;
-+}
-+
-+table.current_path_and_viewsize {
-+ margin-top:5px;
-+ border:1px solid #626262;
-+ padding:5px;
-+ width:100%;
-+}
-+
-+a {
-+ color:#000000;
-+ text-decoration:none;
-+}
-+
-+a.header {
-+ font-weight:bold;
-+ font-style:italic;
-+}
-+
-+a.folderlist {
-+ font-style:italic;
-+}
-+
-+td.current_path {
-+ text-align:left;
-+ width:auto;
-+}
-+
-+td.change_viewsize_text {
-+ text-align:right;
-+ width:160px;
-+}
-+
-+td.change_viewsize_selection {
-+ text-align:right;
-+ width:140px;
-+}
-+
-+select.change_viewsize {
-+ border:1px solid #323232;
-+ background-color: #191c26;
-+ color: #FFFFFF;
-+}
-+
-+td.folder_navigation {
-+ width:200px;
-+ vertical-align:top;
-+}
-+
-+table.folder_navigation {
-+ margin-top:5px;
-+ border:1px solid #626262;
-+ padding:4px;
-+ width:100%;
-+}
-+
-+div.folder_navigation_active {
-+ background-color: #224477;
-+ border:1px solid #191c26;
-+ text-align:left;
-+ padding:4px;
-+}
-+
-+div.folder_navigation {
-+ border:1px solid #191c26;
-+ text-align:left;
-+ padding:4px;
-+}
-+
-+td.image_listing {
-+ width:auto;
-+ vertical-align:top;
-+}
-+
-+table.imagelist_and_navigation {
-+ margin-top:5px;
-+ margin-left:5px;
-+ border:1px solid #626262;
-+ padding:5px;
-+ width:100%;
-+}
-+
-+td.image_navigation {
-+ text-align:center;
-+ vertical-align:middle;
-+ width:20%;
-+ border-width: 0px;
-+}
-+
-+td.single_image {
-+ font-size:9pt;
-+ padding:5px;
-+ text-align:center;
-+}
-+
-+img.single_image {
-+ padding:7px;
-+ border:1px solid #323232;
-+}
-+
-+img.single_image_active {
-+ background-color: #224477;
-+ padding:7px;
-+ border:1px solid #323232;
-+}
-\ No newline at end of file
-diff -Naur ../mythweb-orig/skins/grey/gallery.css ./skins/grey/gallery.css
---- ../mythweb-orig/skins/grey/gallery.css 1969-12-31 19:00:00.000000000 -0500
-+++ ./skins/grey/gallery.css 2007-08-19 23:21:33.000000000 -0400
-@@ -0,0 +1,107 @@
-+img {
-+ border: 0px;
-+ border-color: #000000;
-+}
-+
-+table.current_path_and_viewsize {
-+ margin-top:5px;
-+ border:1px solid #626262;
-+ padding:5px;
-+ width:100%;
-+}
-+
-+a {
-+ color:#000000;
-+ text-decoration:none;
-+}
-+
-+a.header {
-+ font-weight:bold;
-+ font-style:italic;
-+}
-+
-+a.folderlist {
-+ font-style:italic;
-+}
-+
-+td.current_path {
-+ text-align:left;
-+ width:auto;
-+}
-+
-+td.change_viewsize_text {
-+ text-align:right;
-+ width:160px;
-+}
-+
-+td.change_viewsize_selection {
-+ text-align:right;
-+ width:140px;
-+}
-+
-+select.change_viewsize {
-+ border:1px solid #323232;
-+ background-color: #212121;
-+}
-+
-+td.folder_navigation {
-+ width:200px;
-+ vertical-align:top;
-+}
-+
-+table.folder_navigation {
-+ margin-top:5px;
-+ border:1px solid #626262;
-+ padding:4px;
-+ width:100%;
-+}
-+
-+div.folder_navigation_active {
-+ background-color: #626262;
-+ border:1px solid #212121;
-+ text-align:left;
-+ padding:4px;
-+}
-+
-+div.folder_navigation {
-+ border:1px solid #212121;
-+ text-align:left;
-+ padding:4px;
-+}
-+
-+td.image_listing {
-+ width:auto;
-+ vertical-align:top;
-+}
-+
-+table.imagelist_and_navigation {
-+ margin-top:5px;
-+ margin-left:5px;
-+ border:1px solid #626262;
-+ padding:5px;
-+ width:100%;
-+}
-+
-+td.image_navigation {
-+ text-align:center;
-+ vertical-align:middle;
-+ width:20%;
-+ border-width: 0px;
-+}
-+
-+td.single_image {
-+ font-size:9pt;
-+ padding:5px;
-+ text-align:center;
-+}
-+
-+img.single_image {
-+ padding:7px;
-+ border:1px solid #323232;
-+}
-+
-+img.single_image_active {
-+ background-color: #626262;
-+ padding:7px;
-+ border:1px solid #323232;
-+}
-\ No newline at end of file
-diff -Naur ../mythweb-orig/skins/grey/settings.css ./skins/grey/settings.css
---- ../mythweb-orig/skins/grey/settings.css 2007-08-19 23:20:00.000000000 -0400
-+++ ./skins/grey/settings.css 2007-08-19 23:21:33.000000000 -0400
-@@ -94,7 +94,7 @@
-
- #settings .-host {
- text-align: right;
-- border-bottom: 2px solid #eee;
-+ border-bottom: 2px solid #aaa;
- }
-
- /* A notification/warning */
-@@ -115,3 +115,33 @@
- border: 2px solid #999;
- border-top: none;
- }
-+
-+ #settings ._content input._text {
-+ margin: 2px;
-+ padding: 2px;
-+ border: 1px solid #333333;
-+ }
-+
-+ #settings ._content input._button {
-+ margin: 2px;
-+ padding: 2px;
-+ border: 1px solid #333333;
-+ color: #DDDDDD;
-+ }
-+
-+ #settings ._content table {
-+ width: 100%;
-+ }
-+ #settings ._content table th, #settings ._content table td {
-+ padding: .5em;
-+ }
-+
-+ #settings ._content th, #settings ._content td {
-+ text-align: right;
-+ font-weight: normal;
-+ white-space: nowrap;
-+ }
-+
-+ #settings ._content tr._sep th, #settings ._content tr._sep td {
-+ border-bottom: 1px solid #304943;
-+ }
diff --git a/abs/core/mythtv/stable/mythweb/transcoders.patch b/abs/core/mythtv/stable/mythweb/transcoders.patch
deleted file mode 100644
index c1aeb6c..0000000
--- a/abs/core/mythtv/stable/mythweb/transcoders.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -ruaN mythweb.orig/modules/_shared/lang/English.lang mythweb/modules/_shared/lang/English.lang
---- mythweb.orig/modules/_shared/lang/English.lang 2009-01-09 02:44:23.000000000 +0000
-+++ mythweb/modules/_shared/lang/English.lang 2009-07-31 06:29:11.000000000 +0000
-@@ -816,3 +816,5 @@
- "Year"
- "Yes"
- "Yesterday"
-+"Myth2iPod"
-+"Myt2XviD3"
-diff -ruaN mythweb.orig/modules/_shared/tmpl/default/header.php mythweb/modules/_shared/tmpl/default/header.php
---- mythweb.orig/modules/_shared/tmpl/default/header.php 2009-01-09 02:44:23.000000000 +0000
-+++ mythweb/modules/_shared/tmpl/default/header.php 2009-07-31 06:28:54.000000000 +0000
-@@ -171,6 +171,10 @@
- <a href="<?php echo root ?>tv/recorded"><?php echo t('Recorded Programs') ?></a>
- &nbsp; | &nbsp;
- <a href="<?php echo root ?>status"><?php echo t('Backend Status') ?></a>
-+ &nbsp; | &nbsp;
-+ <a href="/ipodfeed/m2iweb.php"><?php echo t('Myth2iPod') ?></a>
-+ &nbsp; | &nbsp;
-+ <a href="/archive/archive.php"><?php echo t('Myt2XviD3') ?></a>
- <?php if ($Modules['backend_log']) { ?>
- &nbsp; | &nbsp;
- <a href="<?php echo root ?>backend_log"><?php echo t('Backend Logs') ?></a>
diff --git a/abs/core/mythtv/stable/mythweb/wiiweb.tar.bz2 b/abs/core/mythtv/stable/mythweb/wiiweb.tar.bz2
deleted file mode 100644
index 200b8c3..0000000
--- a/abs/core/mythtv/stable/mythweb/wiiweb.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/abs/core/mythtv/stable/mythzoneminder/PKGBUILD b/abs/core/mythtv/stable/mythzoneminder/PKGBUILD
deleted file mode 100644
index 45e0bac..0000000
--- a/abs/core/mythtv/stable/mythzoneminder/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Contributor: kleptophobiac@gmail.com
-
-pkgname=mythzoneminder
-pkgver=0.21
-pkgrel=4
-pkgdesc="Integrates ZoneMinder into MythTV"
-arch=('i686' 'x86_64')
-url="http://www.mythtv.org"
-license=('GPL')
-depends=("mythtv>=${pkgver}" 'zoneminder=1.23.3')
-source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2")
-md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe')
-groups=('mythtv-extras')
-
-build() {
- cd $startdir/src/mythplugins
- . /etc/profile.d/qt3.sh
-
- # use QT3 qmake
- export PATH=$QTDIR/bin:$PATH
-
- ./configure --prefix=/usr --enable-opengl --disable-all --enable-mythzoneminder --zm-version=1.23.3
-
- qmake mythplugins.pro
- make qmake || return 1
- make -j 2 || return 1
-
- make INSTALL_ROOT=$startdir/pkg install
-}
-
diff --git a/abs/core/mythtv/trunk/mythflix/PKGBUILD b/abs/core/mythtv/trunk/mythflix/PKGBUILD
deleted file mode 100644
index e4ffbbf..0000000
--- a/abs/core/mythtv/trunk/mythflix/PKGBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-pkgname=mythflix-svn
-pkgver=21495
-pkgrel=1
-pkgdesc="Netflix access plugin for MythTV"
-url="http://www.mythtv.org"
-license="GPL"
-arch=('i686' 'x86_64')
-
-depends=('mythtv-svn')
-conflicts=('mythflix')
-groups=('mythtv-extras-svn')
-
-patches=()
-source=(`echo ${patches[@]:0}`)
-_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins
-_svnmod=mythplugins
-
-
-build() {
-
- svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
- svn revert -R $_svnmod
-
- cd $startdir/src/$_svnmod
-
- echo "--------------------------applying patches----------------------------------------------------"
- for i in `echo ${patches[@]:0} `
- do
- echo applying $i
- echo "-----------------------------"
- patch -Np0 -i ${startdir}/src/$i || return 1
- done
- echo "--------------------------done applying patches-----------------------------------------------"
-
- [ "$CARCH" = "i686" ] && ARCH="i686"
- [ "$CARCH" = "x86_64" ] && ARCH="x86-64"
-
- # clean up
- make distclean
-
- # configure
- ./configure --prefix=/usr --cpu=${ARCH} --disable-all --enable-opengl \
- --enable-mythflix || return 1
-
- # build and install
- . /etc/profile
- make || return 1
- make INSTALL_ROOT=$startdir/pkg install || return 1
-
-}
diff --git a/abs/core/ndiswrapper-utils/PKGBUILD b/abs/core/ndiswrapper-utils/PKGBUILD
index 3467469..17126fb 100644
--- a/abs/core/ndiswrapper-utils/PKGBUILD
+++ b/abs/core/ndiswrapper-utils/PKGBUILD
@@ -1,22 +1,27 @@
-#$Id: PKGBUILD 7905 2008-08-05 07:01:47Z tpowa $
+#$Id: PKGBUILD 77959 2010-04-19 07:17:40Z allan $
#Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=ndiswrapper-utils
-pkgver=1.53
-pkgrel=1
+pkgver=1.56
+pkgrel=2
pkgdesc="Binaries for ndiswrapper module"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('GPL')
url="http://ndiswrapper.sourceforge.net"
-depends=(wireless_tools glibc)
+depends=('wireless_tools' 'glibc' 'perl')
replaces=('ndiswrapper-bin')
conflicts=('ndiswrapper-bin')
source=(http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-$pkgver.tar.gz)
+md5sums=('1431f7ed5f8e92e752d330bbb3aed333')
build()
{
- cd $startdir/src/ndiswrapper-$pkgver/utils
+ cd $srcdir/ndiswrapper-$pkgver/utils
make || return 1
- make DESTDIR=$startdir/pkg install
}
-md5sums=('393c6e6ab0803963148e18538601cdec')
+
+package() {
+ cd $srcdir/ndiswrapper-$pkgver/utils
+ make DESTDIR=$pkgdir install
+}
+
diff --git a/abs/core/ndiswrapper/PKGBUILD b/abs/core/ndiswrapper/PKGBUILD
index d0c9886..b6662fb 100644
--- a/abs/core/ndiswrapper/PKGBUILD
+++ b/abs/core/ndiswrapper/PKGBUILD
@@ -1,28 +1,23 @@
-#$Id: PKGBUILD 22488 2008-12-26 22:47:09Z tpowa $
+#$Id: PKGBUILD 80412 2010-05-17 07:56:55Z tpowa $
#Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=ndiswrapper
-_kernver=2.6.28-LinHES
-pkgver=1.53
-pkgrel=6
+_kernver=2.6.34-LinHES
+pkgver=1.56
+pkgrel=3
pkgdesc="Module for NDIS (Windows Network Drivers) drivers supplied by vendors. For stock arch 2.6 kernel."
license=('GPL')
arch=(i686 x86_64)
url="http://ndiswrapper.sourceforge.net"
install="ndiswrapper.install"
-depends=("ndiswrapper-utils=$pkgver" 'kernel26>=2.6.28' 'kernel26<2.6.29')
-source=(http://downloads.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-$pkgver.tar.gz
- kernel-2.6.27.patch
- ndiswrapper-CVE-2008-4395.patch)
-md5sums=('393c6e6ab0803963148e18538601cdec'
- 'cd09562c4afdbd20a0237a5e6d976b31'
- 'b35e548a0c9eb1395f6f7b434a258ddf')
+depends=("ndiswrapper-utils=$pkgver" 'kernel26>=2.6.34' 'kernel26<2.6.35')
+makedepends=('kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
+source=(http://downloads.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-$pkgver.tar.gz)
+md5sums=('1431f7ed5f8e92e752d330bbb3aed333')
build()
{
cd $srcdir/ndiswrapper-$pkgver/driver
- patch -Np1 -i ../../kernel-2.6.27.patch || return 1
- patch -Np3 -i ../../ndiswrapper-CVE-2008-4395.patch || return 1
make KVERS=$_kernver || return 1
make DESTDIR=$pkgdir KVERS=$_kernver install || return 1
rm $pkgdir/lib/modules/$_kernver/modules.* #wtf?
@@ -33,3 +28,4 @@ build()
mv $pkgdir/lib/modules/$_kernver/misc/* $pkgdir/lib/modules/$_kernver/kernel/drivers/net/wireless/ndiswrapper/
rm -r $pkgdir/lib/modules/$_kernver/misc/
}
+
diff --git a/abs/core/ndiswrapper/ndiswrapper.install b/abs/core/ndiswrapper/ndiswrapper.install
index e173d14..fafe580 100644
--- a/abs/core/ndiswrapper/ndiswrapper.install
+++ b/abs/core/ndiswrapper/ndiswrapper.install
@@ -2,8 +2,8 @@
post_install()
{
ndiswrapper -m
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
# arg 1: the new package version
@@ -11,18 +11,13 @@ post_install()
post_upgrade()
{
ndiswrapper -m
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
# arg 1: the old package version
post_remove()
{
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/core/netcfg/PKGBUILD b/abs/core/netcfg/PKGBUILD
deleted file mode 100644
index de024a2..0000000
--- a/abs/core/netcfg/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: James Rayner <james@archlinux.org>
-pkgname=netcfg
-pkgver=2.0.6
-pkgrel=1
-pkgdesc="Network configuration and profile scripts"
-url="http://archlinux.org"
-license=("BSD")
-backup=(etc/iftab)
-depends=(wireless_tools wpa_supplicant net-tools mktemp)
-source=(http://dev.archlinux.org/~james/netcfg/netcfg-$pkgver.tar.gz)
-md5sums=('8bf6861e800a5b35f9f8ee4db8e07151')
-#source=(netcfg-$pkgver.tar.gz)
-arch=(i686 x86_64)
-
-build() {
- cd $startdir/src/netcfg-$pkgver
- sed -i 's|/man/|/share/man/|' Makefile
- make DESTDIR=$startdir/pkg install
- make DESTDIR=$startdir/pkg install-contrib
- install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/netcfg/LICENSE
-
- # Uncomment once initscripts patch merged
- # ln -s /usr/bin/netcfg2 $startdir/pkg/usr/bin/netcfg
-}
diff --git a/abs/core/ntfs-3g/25-ntfs-config-write-policy.fdi b/abs/core/ntfs-3g/25-ntfs-config-write-policy.fdi
new file mode 100644
index 0000000..54195d8
--- /dev/null
+++ b/abs/core/ntfs-3g/25-ntfs-config-write-policy.fdi
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deviceinfo version="0.2">
+ <device>
+ <match key="volume.fstype" string="ntfs">
+ <append key="volume.fstype.alternative" type="copy_property">volume.fstype</append>
+ <merge key="volume.mount.ntfs.valid_options" type="copy_property">volume.mount.valid_options</merge>
+ <merge key="volume.unmount.ntfs.valid_options" type="copy_property">volume.unmount.valid_options</merge>
+ <merge key="volume.fstype" type="string">ntfs-3g</merge>
+ <merge key="volume.mount.valid_options" type="strlist">ro</merge>
+ <append key="volume.mount.valid_options" type="strlist">atime</append>
+ <append key="volume.mount.valid_options" type="strlist">noatime</append>
+ <append key="volume.mount.valid_options" type="strlist">relatime</append>
+ <append key="volume.mount.valid_options" type="strlist">fake_rw</append>
+ <append key="volume.mount.valid_options" type="strlist">no_def_opts</append>
+ <append key="volume.mount.valid_options" type="strlist">default_permissions</append>
+ <append key="volume.mount.valid_options" type="strlist">umask=</append>
+ <append key="volume.mount.valid_options" type="strlist">fmask=</append>
+ <append key="volume.mount.valid_options" type="strlist">dmask=</append>
+ <append key="volume.mount.valid_options" type="strlist">uid=</append>
+ <append key="volume.mount.valid_options" type="strlist">gid=</append>
+ <append key="volume.mount.valid_options" type="strlist">show_sys_files</append>
+ <append key="volume.mount.valid_options" type="strlist">silent</append>
+ <append key="volume.mount.valid_options" type="strlist">force</append>
+ <append key="volume.mount.valid_options" type="strlist">remove_hiberfile</append>
+ <append key="volume.mount.valid_options" type="strlist">locale=</append>
+ <append key="volume.mount.valid_options" type="strlist">streams_interface=</append>
+ <append key="volume.mount.valid_options" type="strlist">debug</append>
+ <append key="volume.mount.valid_options" type="strlist">no_detatch</append>
+ <append key="volume.mount.valid_options" type="strlist">sync</append>
+ <append key="volume.mount.valid_options" type="strlist">dirsync</append>
+ <append key="volume.mount.valid_options" type="strlist">nodiratime</append>
+ <append key="volume.mount.valid_options" type="strlist">noexec</append>
+ <append key="volume.mount.valid_options" type="strlist">quiet</append>
+ <append key="volume.mount.valid_options" type="strlist">remount</append>
+ <append key="volume.mount.valid_options" type="strlist">exec</append>
+ <append key="volume.mount.valid_options" type="strlist">recover</append>
+ <append key="volume.mount.valid_options" type="strlist">norecover</append>
+ <merge key="volume.unmount.valid_options" type="strlist">lazy</merge>
+ <merge key="volume.policy.mount_filesystem" type="string">ntfs-3g</merge>
+ </match>
+ </device>
+</deviceinfo>
diff --git a/abs/core/ntfs-3g/PKGBUILD b/abs/core/ntfs-3g/PKGBUILD
index a8ae6e5..8c69b19 100644
--- a/abs/core/ntfs-3g/PKGBUILD
+++ b/abs/core/ntfs-3g/PKGBUILD
@@ -1,31 +1,33 @@
-# $Id: PKGBUILD 35598 2009-04-14 08:38:34Z ronald $
+# $Id: PKGBUILD 82467 2010-06-11 12:01:11Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Thomas Bchler <thomas.archlinux.org>
pkgname=ntfs-3g
-pkgver=2009.4.4
-pkgrel=3
+pkgver=2010.5.22
+pkgrel=1
pkgdesc="Stable read and write NTFS driver"
-url="http://www.ntfs-3g.org/"
+url="http://www.tuxera.com"
arch=('i686' 'x86_64')
license=('GPL2')
-install=ntfs-3g.install
-depends=('glibc')
+depends=('glibc' 'fuse')
makedepends=('pkgconfig')
options=('!libtool')
-source=(http://www.ntfs-3g.org/${pkgname}-${pkgver}.tgz
- 20-ntfs-config-write-policy.fdi)
-md5sums=('e0b5c170f088a8d82968f0a6b34d31da'
- 'ece35a9108837e2008e5a47f3390755e')
+source=(http://www.tuxera.com/opensource/${pkgname}-${pkgver}.tgz
+ 25-ntfs-config-write-policy.fdi)
+sha1sums=('300c433dc455967a9b95009b89ef6931b3eae90e'
+ '200029f2999a2c284fd30ae25734abf6459c3501')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- # use internal fuse at least until fuse 2.8.0 is relased, it contains
- # some bug & security fixes
+ cd "${srcdir}/${pkgname}-${pkgver}"
ac_cv_path_LDCONFIG=/bin/true ./configure --prefix=/usr \
- --with-fuse=internal || return 1
+ --with-fuse=external --disable-static || return 1
make || return 1
- make DESTDIR=${pkgdir} install || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
+ ln -s /bin/ntfs-3g "${pkgdir}/sbin/mount.ntfs" || return 1
install -m755 -d "${pkgdir}/usr/share/hal/fdi/policy/10osvendor"
- install -m644 "${srcdir}/20-ntfs-config-write-policy.fdi" "${pkgdir}/usr/share/hal/fdi/policy/10osvendor/" || return 1
+ install -m644 "${srcdir}/25-ntfs-config-write-policy.fdi" "${pkgdir}/usr/share/hal/fdi/policy/10osvendor/" || return 1
}
diff --git a/abs/core/ntfsprogs/PKGBUILD b/abs/core/ntfsprogs/PKGBUILD
index 9f24ad6..56bf765 100644
--- a/abs/core/ntfsprogs/PKGBUILD
+++ b/abs/core/ntfsprogs/PKGBUILD
@@ -1,26 +1,24 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# $Id: PKGBUILD 48342 2009-08-01 14:46:45Z jgc $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
pkgname=ntfsprogs
pkgver=2.0.0
-pkgrel=2
-depends=('glibc' 'fuse' 'e2fsprogs')
+pkgrel=4
+depends=('glibc' 'fuse' 'util-linux-ng>=2.16')
makedepends=('pkgconfig')
-pkgdesc="NTFS Resizing Tool"
+pkgdesc="NTFS filesystem utilities"
arch=(i686 x86_64)
license=('GPL')
-#source=(http://heanet.dl.sourceforge.net/sourceforge/linux-ntfs/$pkgname-$pkgver.tar.gz)
-#source=(http://mesh.dl.sourceforge.net/sourceforge/linux-ntfs/$pkgname-$pkgver.tar.gz)
-source=(http://switch.dl.sourceforge.net/sourceforge/linux-ntfs/$pkgname-$pkgver.tar.gz)
-url="http://linux-ntfs.sourceforge.net"
-install=('ntfsprogs.install')
+source=(http://downloads.sourceforge.net/sourceforge/linux-ntfs/${pkgname}-${pkgver}.tar.gz)
+url="http://www.linux-ntfs.org/"
options=(!libtool)
md5sums=('2c402b647bb7aeb1d3f8ce1cc354fd68')
build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr --disable-gnome-vfs --enable-fuse-module PKG_CONFIG=/usr/bin/pkg-config
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-gnome-vfs \
+ --mandir=/usr/share/man || return 1
make || return 1
- make DESTDIR=$startdir/pkg install
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core/ntp/PKGBUILD b/abs/core/ntp/PKGBUILD
index 83e77ad..772e0bf 100755
--- a/abs/core/ntp/PKGBUILD
+++ b/abs/core/ntp/PKGBUILD
@@ -1,30 +1,89 @@
+# $Id: PKGBUILD 75563 2010-04-01 20:42:21Z giovanni $
+# Maintainer: dorphell <dorphell@archlinux.org>
+
pkgname=ntp
pkgver=4.2.6p2
-pkgrel=1
+pkgrel=3
pkgdesc="NTP (Network Time Protocol) tries to keep servers in sync"
arch=(i686 x86_64)
+license=('custom')
url="http://www.ntp.org/"
-depends=('openssl' 'readline' )
-backup=('etc/ntp.conf' 'conf.d/ntp-client.conf')
-source=(http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${pkgver}.tar.gz \
- ntp.conf ntp-client.conf ntpd ntpdate )
+depends=('openssl' 'readline' 'libcap')
+makedepends=('perl-html-parser')
+backup=('etc/ntp.conf' 'etc/conf.d/ntp-client.conf')
+options=('!emptydirs')
+source=(http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${pkgver}.tar.gz
+ ntp-4.2.4_p7-nano.patch
+ fix-ipv6.patch
+ ntp-4.2.4-html2man.patch
+ ntp.conf
+ ntp-client.conf
+ ntpd
+ ntpdate)
+sha1sums=('a1f21b23c8c80f35801d59e30ba30779f2025a72' '4de6cd3fad1946146107f86d1f161eb835fbb2d3'\
+ '3632f8a00838f48e484bca24de06db443cc14fff' '7f8783e243e23c8853a9f9fb5b36f467aab8dc15'\
+ '3625ed2aa71d9e0dd04634f32e65d83b76cfe780' 'c8e388f2577b4329da5e77f0455083db6dd97fa8'\
+ 'd9b09de9d718a864270e9330e20109e182dfbdd9' '6dfc3b6996f591123ee8938fd0fe7c27eb5c7552')
build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr
+ cd "$srcdir/$pkgname-$pkgver" || return 1
+ # fix glibc build issue
+ patch -Np1 -i ../ntp-4.2.4_p7-nano.patch || return 1
+ # fix ipv6 support
+ patch -Np1 -i ../fix-ipv6.patch || return 1
+ # fix man page generation
+ patch -Np1 -i ../ntp-4.2.4-html2man.patch || return 1
+ # configure
+ export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
+ libtoolize --copy --force || return 1
+ ac_cv_header_dns_sd_h=0 ./configure --prefix=/usr --mandir=/usr/share/man --enable-linux-caps || return 1
+
+ # build and install
make || return 1
- make prefix=$startdir/pkg/usr install
- mkdir -p $startdir/pkg/usr/share/ntp/ $startdir/pkg/usr/man/man1/
- install -D -m644 conf/* $startdir/pkg/usr/share/ntp/
- install -D -m755 $startdir/ntpd $startdir/pkg/etc/rc.d/ntpd
- install -D -m755 $startdir/ntpdate $startdir/pkg/etc/rc.d/ntpdate
- install -D -m644 $startdir/src/man/* $startdir/pkg/usr/man/man1/
- install -D -m644 $startdir/ntp-client.conf $startdir/pkg/etc/conf.d/ntp-client.conf
- install -D -m644 $startdir/ntp.conf $startdir/pkg/etc/ntp.conf
-}
+ make DESTDIR="$pkgdir" install || return 1
+
+ # install conf files
+ mkdir -p "$pkgdir/usr/share/ntp" || return 1
+ install -D -m644 conf/* "$pkgdir/usr/share/ntp/" || return 1
+
+ # install launch scripts
+ mkdir -p "$pkgdir/etc/rc.d" || return 1
+ install -D -m755 "$srcdir"/{ntpd,ntpdate} "$pkgdir/etc/rc.d/" || return 1
+ # install man pages
+ cd html
+ ../scripts/html2man || return 1
+ sed -i 's/^[\t\ ]*$//;/./,/^$/!d' man/man*/*.[58] || return 1
+ install -d "$pkgdir"/usr/share/man/man{5,8}
+ install -m644 man/man5/* "$pkgdir/usr/share/man/man5/" || return 1
+ install -m644 man/man8/* "$pkgdir/usr/share/man/man8/" || return 1
+ mv "$pkgdir/usr/share/man/man8/ntpd.8" "$pkgdir/usr/share/man/man8/ntp-ntpd.8" || return 1
+ cd ..
+
+ # install sample configs
+ install -D -m644 "$srcdir/ntp.conf" "$pkgdir/etc/ntp.conf" || return 1
+ install -D -m644 "$srcdir/ntp-client.conf" \
+ "$pkgdir/etc/conf.d/ntp-client.conf" || return 1
+
+ # create /var/lib/ntp
+ mkdir -p "$pkgdir/var/lib/ntp" || return 1
+ touch "$pkgdir/var/lib/ntp/.placeholder" || return 1
+
+ install -Dm644 "$srcdir/$pkgname-$pkgver/COPYRIGHT" "$pkgdir/usr/share/licenses/$pkgname/COPYRIGHT"
+}
md5sums=('cf73cd85f248232c62f8029e6eb05938'
- '833c9d699765bd60825b5713670be460'
- '25eb8d2176fe642b488e4b9fa03179ac'
- 'b1a1798b9cd1907d65a7fc794294d6ce'
+ '36c5711228cb0cf48966daa993e06f55'
+ '9dabdbc6b8cd020f2205515df7972c21'
+ '1b04e888717bb31479a6087632981723'
+ '5bd3924f5720b97837969ec4ec4d5e09'
+ 'c7f50632b69bd4f32cf052d0b1848463'
+ '46118a8ec2c4f5bbfafd730af21b7c03'
'140855352baeb89da0c6c1c475c18b57')
+sha1sums=('04b5e3c3755fe9e5bcec5bd5d29255cfef2102c4'
+ '4de6cd3fad1946146107f86d1f161eb835fbb2d3'
+ '3632f8a00838f48e484bca24de06db443cc14fff'
+ '7f8783e243e23c8853a9f9fb5b36f467aab8dc15'
+ '3625ed2aa71d9e0dd04634f32e65d83b76cfe780'
+ 'c8e388f2577b4329da5e77f0455083db6dd97fa8'
+ 'd9b09de9d718a864270e9330e20109e182dfbdd9'
+ '6dfc3b6996f591123ee8938fd0fe7c27eb5c7552')
diff --git a/abs/core/ntp/fix-ipv6.patch b/abs/core/ntp/fix-ipv6.patch
new file mode 100644
index 0000000..eecd766
--- /dev/null
+++ b/abs/core/ntp/fix-ipv6.patch
@@ -0,0 +1,10 @@
+--- ntp-4.2.4p7-orig/configure.ac 2009-06-18 14:48:12.151346763 +0200
++++ ntp-4.2.4p7/configure.ac 2009-06-18 14:50:07.054692531 +0200
+@@ -4456,6 +4456,7 @@
+ [
+ AC_LANG_PROGRAM(
+ [
++ #define _GNU_SOURCE
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
diff --git a/abs/core/ntp/ntp-4.2.4-html2man.patch b/abs/core/ntp/ntp-4.2.4-html2man.patch
new file mode 100644
index 0000000..333d452
--- /dev/null
+++ b/abs/core/ntp/ntp-4.2.4-html2man.patch
@@ -0,0 +1,183 @@
+--- ntp-4.2.4/scripts/html2man.in.html2man 2006-06-06 22:17:10.000000000 +0200
++++ ntp-4.2.4/scripts/html2man.in 2007-01-08 12:47:31.000000000 +0100
+@@ -23,10 +23,10 @@
+ 'ntpq' => ['ntpq', 8, 'ntpd(8), ntpdc(8)'],
+ 'ntpdate' => ['ntpdate', 8, 'ntpd(8)'],
+ 'ntpdc' => ['ntpdc', 8, 'ntpd(8)'],
+- 'ntptime' => ['ntpdtime', 8, 'ntpd(8), ntpdate(8)'],
++ 'ntptime' => ['ntptime', 8, 'ntpd(8), ntpdate(8)'],
+ 'ntptrace' => ['ntptrace', 8, 'ntpd(8)'],
+ 'keygen' => ['ntp-keygen', 8, 'ntpd(8), ntp_auth(5)'],
+- 'confopt' => ['ntp.conf', 5, 'ntpd(8)'],
++ 'confopt' => ['ntp.conf', 5, 'ntpd(8), ntp_auth(5), ntp_mon(5), ntp_acc(5), ntp_clock(5), ntp_misc(5)'],
+ 'authopt' => ['ntp_auth', 5, 'ntp.conf(5), ntpd(8)'],
+ 'monopt' => ['ntp_mon', 5, 'ntp.conf(5)'],
+ 'accopt' => ['ntp_acc', 5, 'ntp.conf(5)'],
+@@ -34,17 +34,8 @@
+ 'miscopt' => ['ntp_misc', 5, 'ntp.conf(5)']);
+
+ # Disclaimer to go in SEE ALSO section of the man page
+-$seealso_disclaimer = 'These man pages are automatically hacked from the main NTP ' .
+- 'documentation pages, which are maintained in HTML format. These files are ' .
+- 'included in the NTP source distribution. If you installed NTP from a binary ' .
+- 'package, or it came pre-installed on your system, chances are the documentation ' .
+- 'was also included in the usual place for your system. The HTML files are more ' .
+- 'correct and complete than these man pages, which are provided for your reference ' .
+- 'only.';
+-
+-# Disclaimer to go right at the top
+-$top_disclaimer = 'This file was automatically generated from HTML source, and may be ' .
+- 'incorrect. See the SEE ALSO section at the end of this file for more info';
++$seealso_disclaimer = "Primary source of documentation: /usr/share/doc/ntp-*\n\n" .
++ "This file was automatically generated from HTML source.\n";
+
+ mkdir $MANDIR, 0777;
+ mkdir "$MANDIR/man8", 0777;
+@@ -64,7 +55,8 @@
+ $fileinfo = $manfiles{$filename};
+
+ $p = HTML::TokeParser->new("$filename.html") || die "Can't open $filename.html: $!";
+- open(MANOUT, ">$MANDIR/man$fileinfo->[1]/$fileinfo->[0].$fileinfo->[1]")
++ $fileout = "$MANDIR/man$fileinfo->[1]/$fileinfo->[0].$fileinfo->[1]";
++ open(MANOUT, ">$fileout")
+ || die "Can't open: $!";
+
+ $p->get_tag("title");
+@@ -73,7 +65,6 @@
+
+ # Setup man header
+ print MANOUT ".TH " . $fileinfo->[0] . " " . $fileinfo->[1] . "\n";
+- print MANOUT ".UC 4\n";
+ print MANOUT ".SH NAME\n";
+ $pat = $fileinfo->[0];
+ if ($name =~ /$pat/) {
+@@ -81,10 +72,12 @@
+ # Add the manpage name, if not in the HTML title already
+ print MANOUT "$fileinfo->[0] - ";
+ }
+- print MANOUT "$name\n\n";
+-
+- print MANOUT "$top_disclaimer\n";
++ print MANOUT "$name\n.SH \\ \n\n";
+
++ @fontstack = ();
++ $deflevel = 0;
++ $pre = 0;
++ $ignore = 0;
+ # Now start scanning. We basically print everything after translating some tags.
+ # $token->[0] has "T", "S", "E" for Text, Start, End
+ # $token->[1] has the tag name, or text (for "T" case)
+@@ -92,19 +85,37 @@
+ while (my $token = $p->get_token) {
+ if($token->[0] eq "T") {
+ my $text = $token->[1];
+- if($tag) {
+- $text =~ s/^[\n ]*//;
+- $text =~ s/[\n ]*$/ /;
++ if (!$pre) {
++ if($tag) {
++ $text =~ s/^[\n\t ]*//;
++ }
++ $text =~ s/^[\n\t ][\n\t ]+$//;
++ $text =~ s/[\n\t ]+/ /g;
++ $text =~ s/&nbsp\;/ /g;
++ $text =~ s/&gt\;/>/g;
++ $text =~ s/&lt\;/</g;
++ $text =~ s/&quot\;/"/g;
++ $text =~ s/&amp\;/&/g;
++ $text =~ s/^\./\\[char46]/;
+ }
+- $text =~ s/&nbsp\;/ /g;
+- $text =~ s/^\./\\./;
+ print MANOUT "$text";
+ $tag = 0;
+ }
+ if($token->[0] eq "S") {
+ if($token->[1] eq "h4") {
+ my $text = uc($p->get_trimmed_text("/h4"));
+- print MANOUT ".SH $text\n";
++ # ignore these two sections in ntpd.html
++ if ($filename eq "ntpd" &&
++ ($text eq "FILES" || $text eq "CONFIGURATION OPTIONS")) {
++ $ignore = 1;
++ close(MANOUT);
++ open(MANOUT, ">/dev/null");
++ } elsif ($ignore) {
++ $ignore = 0;
++ close(MANOUT);
++ open(MANOUT, ">>$fileout");
++ }
++ print MANOUT "\n\n.SH $text\n";
+ }
+ if($token->[1] eq "tt") {
+ push @fontstack, "tt";
+@@ -118,22 +129,30 @@
+ my $text = $p->get_trimmed_text("/address");
+ print MANOUT "\n.SH AUTHOR\n$text\n";
+ }
+- if($token->[1] eq "dt") {
+- $tmp = $deflevel-4;
+- print MANOUT "\n.RS $tmp\n";
++ if($token->[1] eq "dt" || $token->[1] eq "br" && $deflevel > 0) {
++ print MANOUT "\n.TP 8\n";
+ $tag = 1;
+ }
+ if($token->[1] eq "dd") {
+- print MANOUT "\n.RS $deflevel\n";
++ print MANOUT "\n";
+ $tag = 1;
+ }
+ if($token->[1] eq "dl") {
+- $deflevel+=4;
++ $deflevel+=1;
++ if ($deflevel > 0) {
++ print MANOUT "\n.RS ", $deflevel > 1 ? 8 : 0;
++ }
++ }
++ if($token->[1] eq "p") {
++ print MANOUT "\n";
++ }
++ if($token->[1] eq "pre") {
++ print MANOUT "\n.nf";
++ $pre = 1;
+ }
+ }
+ elsif($token->[0] eq "E") {
+- if($token->[1] eq "dd") {
+- print MANOUT "\n.RE\n";
++ if($token->[1] eq "h4") {
+ $tag = 1;
+ }
+ if($token->[1] eq "tt") {
+@@ -157,15 +176,27 @@
+ print MANOUT "$fontswitch";
+ }
+ if($token->[1] eq "dl") {
+- $deflevel-=4;
++ if ($deflevel > 0) {
++ print MANOUT "\n.RE";
++ }
++ print MANOUT "\n";
++ $deflevel-=1;
+ }
+- if($token->[1] eq "dt") {
+- print MANOUT "\n.RE";
++ if($token->[1] eq "p") {
++ print MANOUT "\n";
+ $tag = 1;
+ }
++ if($token->[1] eq "pre") {
++ print MANOUT "\n.fi";
++ $pre = 0;
++ }
+ }
+ }
+- print MANOUT ".SH SEE ALSO\n\n";
++ if ($ignore) {
++ close(MANOUT);
++ open(MANOUT, ">>$fileout");
++ }
++ print MANOUT "\n.SH SEE ALSO\n\n";
+ print MANOUT "$fileinfo->[2]\n\n";
+ print MANOUT "$seealso_disclaimer\n";
+ close(MANOUT);
diff --git a/abs/core/ntp/ntp-4.2.4_p7-nano.patch b/abs/core/ntp/ntp-4.2.4_p7-nano.patch
new file mode 100644
index 0000000..b31ea0a
--- /dev/null
+++ b/abs/core/ntp/ntp-4.2.4_p7-nano.patch
@@ -0,0 +1,20 @@
+http://bugs.gentoo.org/270483
+
+ripped from fedora
+
+--- ntp-4.2.4p7/include/ntp_syscall.h
++++ ntp-4.2.4p7/include/ntp_syscall.h
+@@ -14,5 +14,13 @@
+ # include <sys/timex.h>
+ #endif
+
++#if defined(ADJ_NANO) && !defined(MOD_NANO)
++#define MOD_NANO ADJ_NANO
++#endif
++
++#if defined(ADJ_TAI) && !defined(MOD_TAI)
++#define MOD_TAI ADJ_TAI
++#endif
++
+ #ifndef NTP_SYSCALLS_LIBC
+ #ifdef NTP_SYSCALLS_STD
diff --git a/abs/core/ntp/ntp-client.conf b/abs/core/ntp/ntp-client.conf
index ace4daf..a0463b7 100755
--- a/abs/core/ntp/ntp-client.conf
+++ b/abs/core/ntp/ntp-client.conf
@@ -1,7 +1,11 @@
# change this to a server closer to your location
NTP_CLIENT_SERVER="pool.ntp.org"
+
# client options
NTP_CLIENT_OPTION="-b -u"
# timeout for the ntp-client
NTPCLIENT_TIMEOUT=10
+
+# arguments passed to ntpd when started
+NTPD_ARGS="-g"
diff --git a/abs/core/ntp/ntp.conf b/abs/core/ntp/ntp.conf
index 9411643..93fc919 100755
--- a/abs/core/ntp/ntp.conf
+++ b/abs/core/ntp/ntp.conf
@@ -1,57 +1,47 @@
-# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
+# NOTES:
+# - you should only have to update the server line below
+# - if you start getting lines like 'restrict' and 'fudge'
+# and you didnt add them, AND you run dhcpcd on your
+# network interfaces, be sure to add '-Y -N' to the
+# dhcpcd_ethX variables in /etc/conf.d/net
-#driftfile /var/lib/ntp/ntp.drift
-driftfile /etc/ntp.drift
+# Name of the servers ntpd should sync with
+# Please respect the access policy as stated by the responsible person.
+#server ntp.example.tld iburst
+server pool.ntp.org
-# Enable this if you want statistics to be logged.
-#statsdir /var/log/ntpstats/
-
-statistics loopstats peerstats clockstats
-filegen loopstats file loopstats type day enable
-filegen peerstats file peerstats type day enable
-filegen clockstats file clockstats type day enable
-
+##
+# A list of available servers can be found here:
+# http://www.pool.ntp.org/
+# http://www.pool.ntp.org/#use
+# A good way to get servers for your machine is:
+# netselect -s 3 pool.ntp.org
+##
-# You do need to talk to an NTP server or two (or three).
-#server ntp.your-provider.example
+# you should not need to modify the following paths
+driftfile /var/lib/ntp/ntp.drift
-# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will
-# pick a different set every time it starts up. Please consider joining the
-# pool: <http://www.pool.ntp.org/join.html>
-server pool.ntp.org
-server 0.us.pool.ntp.org iburst
-server 1.us.pool.ntp.org iburst
-server 2.us.pool.ntp.org iburst
-server 3.us.pool.ntp.org iburst
+#server ntplocal.example.com prefer
+#server timeserver.example.org
+# Warning: Using default NTP settings will leave your NTP
+# server accessible to all hosts on the Internet.
-# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
-# details. The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
-# might also be helpful.
-#
-# Note that "restrict" applies to both servers and clients, so a configuration
-# that might be intended to block requests from certain clients could also end
-# up blocking replies from your own upstream servers.
+# If you want to deny all machines (including your own)
+# from accessing the NTP server, uncomment:
+#restrict default ignore
-# By default, exchange time with everybody, but don't allow configuration.
-restrict -4 default kod notrap nomodify nopeer noquery
-restrict -6 default kod notrap nomodify nopeer noquery
-# Local users may interrogate the ntp server more closely.
+# To deny other machines from changing the
+# configuration but allow localhost:
+restrict default nomodify nopeer
restrict 127.0.0.1
-restrict ::1
-
-# Clients from this (example!) subnet have unlimited access, but only if
-# cryptographically authenticated.
-#restrict 192.168.123.0 mask 255.255.255.0 notrust
-# If you want to provide time to your local subnet, change the next line.
-# (Again, the address is an example only.)
-#broadcast 192.168.123.255
-
-# If you want to listen to time broadcasts on your local subnet, de-comment the
-# next lines. Please do this only if you trust everybody on the network!
-#disable auth
-#broadcastclient \ No newline at end of file
+# To allow machines within your network to synchronize
+# their clocks with your server, but ensure they are
+# not allowed to configure the server or used as peers
+# to synchronize against, uncomment this line.
+#
+#restrict 192.168.0.0 mask 255.255.255.0 nomodify nopeer notrap
diff --git a/abs/core/ntp/ntpd b/abs/core/ntp/ntpd
index bb39123..56f6248 100755
--- a/abs/core/ntp/ntpd
+++ b/abs/core/ntp/ntpd
@@ -2,13 +2,14 @@
. /etc/rc.conf
. /etc/rc.d/functions
+. /etc/conf.d/ntp-client.conf
PID=`pidof -o %PPID /usr/bin/ntpd`
case "$1" in
start)
stat_busy "Starting NTP Daemon"
if [ -z "$PID" ]; then
- /usr/bin/ntpd -g &
+ /usr/bin/ntpd $NTPD_ARGS &
fi
if [ ! -z "$PID" -o $? -gt 0 ]; then
stat_fail
diff --git a/abs/core/nvidia-173xx-utils/20-nvidia.conf b/abs/core/nvidia-173xx-utils/20-nvidia.conf
new file mode 100644
index 0000000..227ac7d
--- /dev/null
+++ b/abs/core/nvidia-173xx-utils/20-nvidia.conf
@@ -0,0 +1,5 @@
+Section "Device"
+ Identifier "Default nvidia Device"
+ Driver "nvidia"
+ Option "NoLogo" "True"
+EndSection
diff --git a/abs/core/nvidia-173xx-utils/PKGBUILD b/abs/core/nvidia-173xx-utils/PKGBUILD
index 042c1ee..c16e97b 100644
--- a/abs/core/nvidia-173xx-utils/PKGBUILD
+++ b/abs/core/nvidia-173xx-utils/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 69361 2010-02-20 11:24:49Z tpowa $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# $Id: PKGBUILD 28365 2009-03-01 00:11:38Z pierre $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=nvidia-173xx-utils
-pkgver=173.14.25
+pkgver=173.14.27
pkgrel=1
pkgdesc="NVIDIA drivers utilities and libraries, 173xx branch."
arch=('i686' 'x86_64')
@@ -16,9 +16,15 @@ provides=('libgl')
license=('custom')
install=nvidia.install
options=(!strip)
+backup=('etc/X11/xorg.conf.d/20-nvidia.conf')
source=("http://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run")
+md5sums=('35a6531f71cd6b070f10be8ed11093d4')
+[ "$CARCH" = "x86_64" ] && md5sums=('269425dbc2d9d4ecdc54692281d6d738')
-build() {
+source[1]='20-nvidia.conf'
+md5sums[1]='37e417b2c69e46de1346a653e07027fa'
+
+package() {
cd $srcdir
sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run --extract-only
cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/
@@ -51,12 +57,12 @@ build() {
ln -s libglx.so.$pkgver libglx.so || return 1
install -m644 $srcdir/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/LICENSE $pkgdir/usr/share/licenses/nvidia-173xx/ || return 1
- ln -s nvidia-173xx $startdir/pkg/usr/share/licenses/nvidia-173xx-utils || return 1
+ ln -s nvidia-173xx $pkgdir/usr/share/licenses/nvidia-173xx-utils || return 1
install -D -m644 $srcdir/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/share/doc/README.txt $pkgdir/usr/share/doc/nvidia-173xx/README || return 1
find $pkgdir/usr -type d -exec chmod 755 {} \;
-}
-
-md5sums=('397bac51f760505ea57e863c1db9c572')
+ # Install xorg.conf.d file for nvidia autodetection in xorg.conf-less configurations
+ install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf
+}
diff --git a/abs/core/nvidia-173xx/PKGBUILD b/abs/core/nvidia-173xx/PKGBUILD
index 845e606..83d4b8d 100644
--- a/abs/core/nvidia-173xx/PKGBUILD
+++ b/abs/core/nvidia-173xx/PKGBUILD
@@ -1,22 +1,23 @@
-# $Id: PKGBUILD 69360 2010-02-20 11:24:15Z tpowa $
+# $Id: PKGBUILD 28363 2009-03-01 00:06:27Z pierre $
# Maintainer : Thomas Baechler <thomas@archlinux.org>
pkgname=nvidia-173xx
-pkgver=173.14.25
-_kernver='2.6.28-LinHES'
-
+pkgver=173.14.27
+_kernver='2.6.34-LinHES'
pkgrel=1
pkgdesc="NVIDIA drivers for kernel26, 173xx branch."
arch=('i686' 'x86_64')
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-173xx-utils')
-makedepends=('kernel-headers>=2.6.28' 'kernel-headers<2.6.29')
-conflicts=('nvidia' 'nvidia-173xx')
+depends=('kernel26>=2.6.34' 'kernel26<2.6.35' 'nvidia-173xx-utils')
+makedepends=('kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
+conflicts=('nvidia-96xx' 'nvidia')
license=('custom')
install=nvidia.install
source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run")
+md5sums=('35a6531f71cd6b070f10be8ed11093d4')
+[ "$CARCH" = "x86_64" ] && md5sums=('269425dbc2d9d4ecdc54692281d6d738')
build() {
cd $srcdir
@@ -25,10 +26,13 @@ build() {
cd usr/src/nv/
ln -s Makefile.kbuild Makefile
make SYSSRC=/lib/modules/${_kernver}/build module || return 1
+}
+package() {
+ cd $srcdir/NVIDIA-Linux-$ARCH-${pkgver}-pkg0/usr/src/nv/
mkdir -p $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/
install -m644 nvidia.ko $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/
-
+ mkdir -p $pkgdir/etc/modprobe.d
+ echo "blacklist nouveau" >> $pkgdir/etc/modprobe.d/nouveau_blacklist.conf || return 1
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/nvidia.install
}
-md5sums=('397bac51f760505ea57e863c1db9c572')
diff --git a/abs/core/nvidia-173xx/nvidia.install b/abs/core/nvidia-173xx/nvidia.install
index ab86ea2..a7e09f9 100644
--- a/abs/core/nvidia-173xx/nvidia.install
+++ b/abs/core/nvidia-173xx/nvidia.install
@@ -1,5 +1,5 @@
post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
+ KERNEL_VERSION='2.6.34-LinHES'
depmod $KERNEL_VERSION
}
@@ -9,6 +9,6 @@ post_upgrade() {
}
post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
+ KERNEL_VERSION='2.6.34-LinHES'
depmod $KERNEL_VERSION
}
diff --git a/abs/core/nvidia-96xx-utils/nvidia-96xx.install b/abs/core/nvidia-96xx-utils/nvidia-96xx.install
deleted file mode 100644
index bb1fff2..0000000
--- a/abs/core/nvidia-96xx-utils/nvidia-96xx.install
+++ /dev/null
@@ -1,22 +0,0 @@
-# arg 1: the new package version
-post_install() {
-
- echo -------------------------------
- echo By using this package you accept the NVIDIA license,
- echo which has been installed in /usr/share/licenses/nvidia/LICENSE
- echo If you do not accept this license, you must remove the package immediately.
- echo Dont forget to update your /etc/X11/xorg.conf
- echo In order to use nvidia-settings, you need to install 'gtk2' package.
- echo -------------------------------
-
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- post_install $1
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch b/abs/core/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch
deleted file mode 100644
index 1ba936b..0000000
--- a/abs/core/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/nv.c NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv.c
---- usr/src/nv/nv.c 2008-07-18 03:42:50.000000000 +0200
-+++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv.c 2008-08-12 00:35:45.000000000 +0200
-@@ -1296,14 +1296,22 @@
- if (get_cpu() == cpu)
- __nv_setup_pat_entries(NULL);
- else
-+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+ smp_call_function(__nv_setup_pat_entries, hcpu, 1);
-+ #else
- smp_call_function(__nv_setup_pat_entries, hcpu, 1, 1);
-+ #endif
- put_cpu();
- break;
- case CPU_DOWN_PREPARE:
- if (get_cpu() == cpu)
- __nv_restore_pat_entries(NULL);
- else
-+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+ smp_call_function(__nv_restore_pat_entries, hcpu, 1);
-+ #else
- smp_call_function(__nv_restore_pat_entries, hcpu, 1, 1);
-+ #endif
- put_cpu();
- break;
- }
-diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/nv-linux.h NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv-linux.h
---- usr/src/nv/nv-linux.h 2008-07-18 03:42:51.000000000 +0200
-+++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv-linux.h 2008-08-12 00:44:27.000000000 +0200
-@@ -104,7 +104,10 @@
- #endif
-
- #include <linux/spinlock.h>
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+#else
- #include <asm/semaphore.h>
-+#endif
- #include <linux/completion.h>
- #include <linux/highmem.h>
-
-@@ -665,13 +668,21 @@
- #if defined(preempt_disable)
- preempt_disable();
- #endif
-+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+ ret = smp_call_function(func, info, 1);
-+ #else
- ret = smp_call_function(func, info, 1, 1);
-+ #endif
- func(info);
- #if defined(preempt_enable)
- preempt_enable();
- #endif
- #else
-+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+ ret = on_each_cpu(func, info, 1);
-+ #else
- ret = on_each_cpu(func, info, 1, 1);
-+ #endif
- #endif
- return ret;
- }
-diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/os-interface.c NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/os-interface.c
---- usr/src/nv/os-interface.c 2008-07-18 03:42:50.000000000 +0200
-+++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/os-interface.c 2008-08-12 00:48:07.000000000 +0200
-@@ -48,7 +48,11 @@
- #endif
- local_bh_disable();
- atomic_set(&os_smp_barrier, 1);
-+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+ ret = smp_call_function(ipi_handler, NULL, 0);
-+ #else
- ret = smp_call_function(ipi_handler, NULL, 1, 0);
-+ #endif
- #endif
- return (ret == 0) ? RM_OK : RM_ERROR;
- }
-@@ -704,7 +708,9 @@
- U032 sig
- )
- {
-+ #if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 26)
- return kill_proc(pid, sig, 1) ? RM_ERR_OPERATING_SYSTEM : RM_OK;
-+ #endif
- }
-
- /*******************************************************************************/
diff --git a/abs/core/nvidia-96xx/PKGBUILD b/abs/core/nvidia-96xx/PKGBUILD
index df89e5f..78cd2ca 100644
--- a/abs/core/nvidia-96xx/PKGBUILD
+++ b/abs/core/nvidia-96xx/PKGBUILD
@@ -3,16 +3,17 @@
pkgname=nvidia-96xx
pkgver=96.43.16
-_kernver='2.6.28-LinHES'
+_kernver='2.6.34-LinHES'
-pkgrel=1
+pkgrel=2
pkgdesc="NVIDIA drivers for kernel26, 96xx branch."
arch=('i686' 'x86_64')
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-96xx-utils')
-makedepends=('kernel-headers>=2.6.28' 'kernel-headers<2.6.29')
+#depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-96xx-utils')
+depends=('kernel26' 'nvidia-96xx-utils')
+makedepends=('kernel-headers')
conflicts=('nvidia' 'nvidia-173xx')
license=('custom')
install=nvidia.install
diff --git a/abs/core/nvidia-96xx/nvidia-96xx.install b/abs/core/nvidia-96xx/nvidia-96xx.install
deleted file mode 100644
index 23e04af..0000000
--- a/abs/core/nvidia-96xx/nvidia-96xx.install
+++ /dev/null
@@ -1,22 +0,0 @@
-# arg 1: the new package version
-post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- post_install $1
- rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
-}
-
-# arg 1: the old package version
-post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/nvidia-96xx/nvidia.install b/abs/core/nvidia-96xx/nvidia.install
index ab86ea2..a7e09f9 100644
--- a/abs/core/nvidia-96xx/nvidia.install
+++ b/abs/core/nvidia-96xx/nvidia.install
@@ -1,5 +1,5 @@
post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
+ KERNEL_VERSION='2.6.34-LinHES'
depmod $KERNEL_VERSION
}
@@ -9,6 +9,6 @@ post_upgrade() {
}
post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
+ KERNEL_VERSION='2.6.34-LinHES'
depmod $KERNEL_VERSION
}
diff --git a/abs/core/nvidia-utils/20-nvidia.conf b/abs/core/nvidia-utils/20-nvidia.conf
index 171f613..227ac7d 100644
--- a/abs/core/nvidia-utils/20-nvidia.conf
+++ b/abs/core/nvidia-utils/20-nvidia.conf
@@ -3,4 +3,3 @@ Section "Device"
Driver "nvidia"
Option "NoLogo" "True"
EndSection
-
diff --git a/abs/core/nvidia-utils/PKGBUILD b/abs/core/nvidia-utils/PKGBUILD
index 88c2709..369253c 100644
--- a/abs/core/nvidia-utils/PKGBUILD
+++ b/abs/core/nvidia-utils/PKGBUILD
@@ -18,93 +18,92 @@ options=('!strip')
backup=('etc/X11/xorg.conf.d/20-nvidia.conf')
if [ "$CARCH" = "i686" ]; then
- _arch='x86'
- _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
- source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('f6af8917a500de28396a438f3f548c88')
+ _arch='x86'
+ _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
+ source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
+ md5sums=('f6af8917a500de28396a438f3f548c88')
elif [ "$CARCH" = "x86_64" ]; then
- _arch='x86_64'
- _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
- source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('7b5924f14a4d2326b4d916efdb7852ff')
+ _arch='x86_64'
+ _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
+ source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
+ md5sums=('7b5924f14a4d2326b4d916efdb7852ff')
fi
source[1]='20-nvidia.conf'
-md5sums[1]='a3ddac4732c06d5cec7aefeed4d719c3'
+md5sums[1]='37e417b2c69e46de1346a653e07027fa'
build() {
- cd $srcdir
- sh ${_pkg}.run --extract-only
+ cd $srcdir
+ sh ${_pkg}.run --extract-only
}
package() {
- cd $srcdir/${_pkg}
+ cd $srcdir/${_pkg}
- # X driver
- install -D -m755 nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers/nvidia_drv.so
- # GLX extension module for X
- install -D -m755 libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so.$pkgver
- ln -s libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so # X doesn't find glx otherwise
- # OpenGL library
- install -D -m755 libGL.so.$pkgver $pkgdir/usr/lib/libGL.so.$pkgver
- # OpenGL core library
- install -D -m755 libnvidia-glcore.so.$pkgver $pkgdir/usr/lib/libnvidia-glcore.so.$pkgver
- # XvMC
- install -D -m644 libXvMCNVIDIA.a $pkgdir/usr/lib/libXvMCNVIDIA.a
- install -D -m755 libXvMCNVIDIA.so.$pkgver $pkgdir/usr/lib/libXvMCNVIDIA.so.$pkgver
- # VDPAU
- install -D -m755 libvdpau_nvidia.so.$pkgver $pkgdir/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver
- # CUDA
- install -D -m755 libcuda.so.$pkgver $pkgdir/usr/lib/libcuda.so.$pkgver
- install -D -m644 cuda.h $pkgdir/usr/include/cuda/cuda.h
- install -D -m644 cudaGL.h $pkgdir/usr/include/cuda/cudaGL.h
- install -D -m644 cudaVDPAU.h $pkgdir/usr/include/cuda/cudaVDPAU.h
- # nvidia-tls libraries
- install -D -m755 libnvidia-tls.so.$pkgver $pkgdir/usr/lib/libnvidia-tls.so.$pkgver
- install -D -m755 tls/libnvidia-tls.so.$pkgver $pkgdir/usr/lib/tls/libnvidia-tls.so.$pkgver
- # OpenCL
- install -D -m755 libnvidia-compiler.so.$pkgver $pkgdir/usr/lib/libnvidia-compiler.so.$pkgver
- install -D -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1.0.0
- install -D -m644 cl.h $pkgdir/usr/include/CL/cl.h
- install -D -m644 cl_gl.h $pkgdir/usr/include/CL/cl_gl.h
- install -D -m644 nvidia.icd $pkgdir/etc/OpenCL/vendors/nvidia.icd
- install -D -m644 cl_platform.h $pkgdir/usr/include/CL/cl_platform.h
+ # X driver
+ install -D -m755 nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers/nvidia_drv.so
+ # GLX extension module for X
+ install -D -m755 libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so.$pkgver
+ ln -s libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so # X doesn't find glx otherwise
+ # OpenGL library
+ install -D -m755 libGL.so.$pkgver $pkgdir/usr/lib/libGL.so.$pkgver
+ # OpenGL core library
+ install -D -m755 libnvidia-glcore.so.$pkgver $pkgdir/usr/lib/libnvidia-glcore.so.$pkgver
+ # XvMC
+ install -D -m644 libXvMCNVIDIA.a $pkgdir/usr/lib/libXvMCNVIDIA.a
+ install -D -m755 libXvMCNVIDIA.so.$pkgver $pkgdir/usr/lib/libXvMCNVIDIA.so.$pkgver
+ # VDPAU
+ install -D -m755 libvdpau_nvidia.so.$pkgver $pkgdir/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver
+ # CUDA
+ install -D -m755 libcuda.so.$pkgver $pkgdir/usr/lib/libcuda.so.$pkgver
+ install -D -m644 cuda.h $pkgdir/usr/include/cuda/cuda.h
+ install -D -m644 cudaGL.h $pkgdir/usr/include/cuda/cudaGL.h
+ install -D -m644 cudaVDPAU.h $pkgdir/usr/include/cuda/cudaVDPAU.h
+ # nvidia-tls libraries
+ install -D -m755 libnvidia-tls.so.$pkgver $pkgdir/usr/lib/libnvidia-tls.so.$pkgver
+ install -D -m755 tls/libnvidia-tls.so.$pkgver $pkgdir/usr/lib/tls/libnvidia-tls.so.$pkgver
+ # OpenCL
+ install -D -m755 libnvidia-compiler.so.$pkgver $pkgdir/usr/lib/libnvidia-compiler.so.$pkgver
+ install -D -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1.0.0
+ install -D -m644 cl.h $pkgdir/usr/include/CL/cl.h
+ install -D -m644 cl_gl.h $pkgdir/usr/include/CL/cl_gl.h
+ install -D -m644 nvidia.icd $pkgdir/etc/OpenCL/vendors/nvidia.icd
+ install -D -m644 cl_platform.h $pkgdir/usr/include/CL/cl_platform.h
- install -D -m755 libnvidia-cfg.so.$pkgver $pkgdir/usr/lib/libnvidia-cfg.so.$pkgver
+ install -D -m755 libnvidia-cfg.so.$pkgver $pkgdir/usr/lib/libnvidia-cfg.so.$pkgver
- # create soname links
- for _lib in $(find $pkgdir -name '*.so*'); do
- _soname="$(dirname ${_lib})/$(readelf -d "$_lib" | sed -nr 's/.*Library soname: \[(.*)\].*/\1/p')"
- if [ ! -e "${_soname}" ]; then
- ln -s "$(basename ${_lib})" "${_soname}"
- ln -s "$(basename ${_soname})" "${_soname/.[0-9]*/}"
- fi
- done
+ # create soname links
+ for _lib in $(find $pkgdir -name '*.so*'); do
+ _soname="$(dirname ${_lib})/$(readelf -d "$_lib" | sed -nr 's/.*Library soname: \[(.*)\].*/\1/p')"
+ if [ ! -e "${_soname}" ]; then
+ ln -s "$(basename ${_lib})" "${_soname}"
+ ln -s "$(basename ${_soname})" "${_soname/.[0-9]*/}"
+ fi
+ done
- # nvidia-xconfig
- install -D -m755 nvidia-xconfig $pkgdir/usr/bin/nvidia-xconfig
- install -D -m644 nvidia-xconfig.1.gz $pkgdir/usr/share/man/man1/nvidia-xconfig.1.gz
- # nvidia-settings
- install -D -m755 nvidia-settings $pkgdir/usr/bin/nvidia-settings
- install -D -m644 nvidia-settings.1.gz $pkgdir/usr/share/man/man1/nvidia-settings.1.gz
- install -D -m644 nvidia-settings.desktop $pkgdir/usr/share/applications/nvidia-settings.desktop
- install -D -m644 nvidia-settings.png $pkgdir/usr/share/pixmaps/nvidia-settings.png
- sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop
- # nvidia-bug-report
- install -D -m755 nvidia-bug-report.sh $pkgdir/usr/bin/nvidia-bug-report.sh
- # nvidia-smi
- install -D -m755 nvidia-smi $pkgdir/usr/bin/nvidia-smi
- install -D -m644 nvidia-smi.1.gz $pkgdir/usr/share/man/man1/nvidia-smi.1.gz
+ # nvidia-xconfig
+ install -D -m755 nvidia-xconfig $pkgdir/usr/bin/nvidia-xconfig
+ install -D -m644 nvidia-xconfig.1.gz $pkgdir/usr/share/man/man1/nvidia-xconfig.1.gz
+ # nvidia-settings
+ install -D -m755 nvidia-settings $pkgdir/usr/bin/nvidia-settings
+ install -D -m644 nvidia-settings.1.gz $pkgdir/usr/share/man/man1/nvidia-settings.1.gz
+ install -D -m644 nvidia-settings.desktop $pkgdir/usr/share/applications/nvidia-settings.desktop
+ install -D -m644 nvidia-settings.png $pkgdir/usr/share/pixmaps/nvidia-settings.png
+ sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop
+ # nvidia-bug-report
+ install -D -m755 nvidia-bug-report.sh $pkgdir/usr/bin/nvidia-bug-report.sh
+ # nvidia-smi
+ install -D -m755 nvidia-smi $pkgdir/usr/bin/nvidia-smi
+ install -D -m644 nvidia-smi.1.gz $pkgdir/usr/share/man/man1/nvidia-smi.1.gz
- install -D -m644 LICENSE $pkgdir/usr/share/licenses/nvidia/LICENSE
- ln -s nvidia $pkgdir/usr/share/licenses/nvidia-utils
- install -D -m644 README.txt $pkgdir/usr/share/doc/nvidia/README
- install -D -m644 NVIDIA_Changelog $pkgdir/usr/share/doc/nvidia/NVIDIA_Changelog
- ln -s nvidia $pkgdir/usr/share/doc/nvidia-utils
+ install -D -m644 LICENSE $pkgdir/usr/share/licenses/nvidia/LICENSE
+ ln -s nvidia $pkgdir/usr/share/licenses/nvidia-utils
+ install -D -m644 README.txt $pkgdir/usr/share/doc/nvidia/README
+ install -D -m644 NVIDIA_Changelog $pkgdir/usr/share/doc/nvidia/NVIDIA_Changelog
+ ln -s nvidia $pkgdir/usr/share/doc/nvidia-utils
- # Install xorg.conf.d file for nvidia autodetection in xorg.conf-less configurations
- install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf
+ # Install xorg.conf.d file for nvidia autodetection in xorg.conf-less configurations
+ install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf
}
-
diff --git a/abs/core/nvidia-utils/nvidia.install b/abs/core/nvidia-utils/nvidia.install
index 7d46ed6..297e5b6 100644
--- a/abs/core/nvidia-utils/nvidia.install
+++ b/abs/core/nvidia-utils/nvidia.install
@@ -1,40 +1,5 @@
-# arg 1: the new package version
post_install() {
-
- echo -------------------------------
- echo By using this package you accept the NVIDIA license,
- echo which has been installed in /usr/share/licenses/nvidia/LICENSE
- echo If you do not accept this license, you must remove the package immediately.
- echo Dont forget to update your /etc/X11/xorg.conf
- echo In order to use nvidia-settings, you need to install the 'gtk2' package.
- echo In order to use nvidia-xconfig, you need to install the 'pkgconfig' package.
- echo -------------------------------
- echo nvidia 9746 drops support for Geforce 3 and 4 cards
- echo If you have such a card, install the nvidia-96xx, nvidia-96xx-utils,
- echo nvidia-96xx-ck, nvidia-96xx-beyond, nvidia-96xx-suspend2 packages
- echo For a list of supported cards, see /usr/share/doc/nvidia/supported-cards.txt
- echo -------------------------------
-
- #echo ":: Updating symlinks to use built-in libwfb"
- #ln -sf /usr/lib/xorg/modules/libnvidia-wfb.so.* \
- # /usr/lib/xorg/modules/libwfb.so
+ echo 'By using this package you accept the NVIDIA license,'
+ echo 'which has been installed in /usr/share/licenses/nvidia/LICENSE'
+ echo 'If you do not accept this license, you must remove the package immediately.'
}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- post_install $1
- echo ":: Updating symlinks to use xorg-server libwfb"
- ln -sf /usr/lib/xorg/modules/libwfb.so.* \
- /usr/lib/xorg/modules/libwfb.so
-}
-
-post_remove() {
- echo ":: Updating symlinks to use xorg-server libwfb"
- ln -sf /usr/lib/xorg/modules/libwfb.so.* \
- /usr/lib/xorg/modules/libwfb.so
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/nvidia/NVIDIA_kernel-169.12-2286310.diff b/abs/core/nvidia/NVIDIA_kernel-169.12-2286310.diff
deleted file mode 100644
index e511cfb..0000000
--- a/abs/core/nvidia/NVIDIA_kernel-169.12-2286310.diff
+++ /dev/null
@@ -1,637 +0,0 @@
-diff -ru usr/src/nv/Makefile.kbuild usr/src/nv.2286310/Makefile.kbuild
---- usr/src/nv/Makefile.kbuild 2008-03-16 14:13:10.000000000 -0700
-+++ usr/src/nv.2286310/Makefile.kbuild 2008-03-16 14:37:47.204131496 -0700
-@@ -177,6 +177,7 @@
- vmap \
- signal_struct \
- agp_backend_acquire \
-+ set_pages_uc \
- change_page_attr \
- pci_get_class \
- sysctl_max_map_count \
-diff -ru usr/src/nv/conftest.sh usr/src/nv.2286310/conftest.sh
---- usr/src/nv/conftest.sh 2008-03-16 14:13:10.000000000 -0700
-+++ usr/src/nv.2286310/conftest.sh 2008-03-16 14:37:47.204131496 -0700
-@@ -100,6 +100,32 @@
- fi
- ;;
-
-+ set_pages_uc)
-+ #
-+ # Determine if the set_pages_uc() function is present.
-+ #
-+ echo "#include <linux/autoconf.h>
-+ #include <asm/cacheflush.h>
-+ void conftest_set_pages_uc(void) {
-+ set_pages_uc();
-+ }" > conftest$$.c
-+
-+ $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1
-+ rm -f conftest$$.c
-+
-+ if [ -f conftest$$.o ]; then
-+ rm -f conftest$$.o
-+ echo "#undef NV_SET_PAGES_UC_PRESENT" >> conftest.h
-+ return
-+ else
-+ echo "#ifdef NV_CHANGE_PAGE_ATTR_PRESENT" >> conftest.h
-+ echo "#undef NV_CHANGE_PAGE_ATTR_PRESENT" >> conftest.h
-+ echo "#endif" >> conftest.h
-+ echo "#define NV_SET_PAGES_UC_PRESENT" >> conftest.h
-+ return
-+ fi
-+ ;;
-+
- change_page_attr)
- #
- # Determine if the change_page_attr() function is
-@@ -124,7 +150,9 @@
- rm -f conftest$$.o
- return
- else
-+ echo "#ifndef NV_SET_PAGES_UC_PRESENT" >> conftest.h
- echo "#define NV_CHANGE_PAGE_ATTR_PRESENT" >> conftest.h
-+ echo "#endif" >> conftest.h
- return
- fi
- ;;
-@@ -524,6 +552,8 @@
- return
- fi
-
-+ rm -f conftest$$.o
-+
- echo "#include <linux/autoconf.h>
- #include <linux/interrupt.h>
- irq_handler_t conftest_isr;
-diff -ru usr/src/nv/nv-linux.h usr/src/nv.2286310/nv-linux.h
---- usr/src/nv/nv-linux.h 2008-03-16 14:13:10.000000000 -0700
-+++ usr/src/nv.2286310/nv-linux.h 2008-03-16 14:37:47.204131496 -0700
-@@ -871,9 +871,10 @@
-
- #define NV_PGD_OFFSET(address, kernel, mm) \
- ({ \
-+ struct mm_struct *__mm = (mm); \
- pgd_t *__pgd; \
- if (!kernel) \
-- __pgd = pgd_offset(mm, address); \
-+ __pgd = pgd_offset(__mm, address); \
- else \
- __pgd = pgd_offset_k(address); \
- __pgd; \
-@@ -1208,21 +1209,24 @@
- nv_check_pci_config_space(nv, cb); \
- }
-
-+extern int nv_update_memory_types;
-+
- /*
-- * a BUG() is triggered on early 2.6 x86_64 kernels. the underlying
-- * problem actually exists on many architectures and kernels, but
-- * these are the only kernels that check the condition and trigger
-- * a BUG(). note that this is a problem of the core kernel, not an
-- * nvidia bug (and can still be triggered by agpgart). let's avoid
-- * change_page_attr on those kernels.
-+ * Using change_page_attr() on early Linux/x86-64 2.6 kernels may
-+ * result in a BUG() being triggered. The underlying problem
-+ * actually exists on multiple architectures and kernels, but only
-+ * the above check for the condition and trigger a BUG().
-+ *
-+ * Note that this is a due to a bug in the Linux kernel, not an
-+ * NVIDIA driver bug (it can also be triggered by AGPGART).
-+ *
-+ * We therefore need to determine at runtime if change_page_attr()
-+ * can be used safely on these kernels.
- */
--#if defined(NV_CHANGE_PAGE_ATTR_PRESENT)
--extern int nv_use_cpa;
--
--#if defined(NVCPU_X86_64) && !defined(KERNEL_2_4) && \
-- (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 11))
--#define NV_CHANGE_PAGE_ATTR_BUG_PRESENT 1
--#endif
-+#if defined(NV_CHANGE_PAGE_ATTR_PRESENT) && defined(NVCPU_X86_64) && \
-+ !defined(KERNEL_2_4) && \
-+ (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 11))
-+#define NV_CHANGE_PAGE_ATTR_BUG_PRESENT
- #endif
-
- #if defined(NVCPU_X86) || defined(NVCPU_X86_64)
-@@ -1234,7 +1238,7 @@
- *
- * We need to be careful to mask out _PAGE_NX when the host system
- * doesn't support this feature or when it's disabled: the kernel
-- * may not do this in its implementation of the change_page_attr()
-+ * may not do this in its implementation of the change_page_attr()
- * interface.
- */
- #ifndef X86_FEATURE_NX
-diff -ru usr/src/nv/nv-reg.h usr/src/nv.2286310/nv-reg.h
---- usr/src/nv/nv-reg.h 2008-03-16 14:13:10.000000000 -0700
-+++ usr/src/nv.2286310/nv-reg.h 2008-03-16 14:37:47.204131496 -0700
-@@ -391,34 +391,36 @@
- #define NV_REG_REMAP_LIMIT NV_REG_STRING(__NV_REMAP_LIMIT)
-
- /*
-- * Option: UseCPA
-+ * Option: UpdateMemoryTypes
- *
- * Description:
- *
-- * Many kernels have a broken implementation of change_page_attr that leads
-- * to cache aliasing problems. x86_64 kernels between 2.6.0 and 2.6.10 will
-- * force a kernel BUG_ON() when this condition is encountered. For this
-- * reason, the NVIDIA driver is very careful about not using the CPA kernel
-- * interface on these kernels.
-- *
-- * Some distributions have backported this fix to kernel versions that fall
-- * within this version range. The NVIDIA driver attempts to automatically
-- * detect these fixes and reenable usage of the change_page_attr interface.
-- *
-- * Due to the serious nature of the problems that can arise from this, the
-- * NVIDIA driver implements a manual registry key to force usage of this API
-- * to be enabled or disabled. This registry key can be used to force usage
-- * of the API on a known fixed kernel if the NVIDIA driver fails to detect
-- * the kernel as fixed. This registry key can also be used to disable usage
-- * of the API on a bad kernel that is misdetected as a fixed kernel.
-- *
-- * The default value is '-1' (use NVIDIA driver default logic)
-- * A value of '0' will forcibly disable change_page_attr calls.
-- * A value of '1' will forcibly enable change_page_attr calls.
-+ * Many kernels have broken implementations of the change_page_attr()
-+ * kernel interface that may cause cache aliasing problems. Linux/x86-64
-+ * kernels between 2.6.0 and 2.6.10 may prompt kernel BUG()s due to
-+ * improper accounting in the interface's large page management code, for
-+ * example. For this reason, the NVIDIA Linux driver is very careful about
-+ * not using the change_page_attr() kernel interface on these kernels.
-+ *
-+ * Due to the serious nature of the problems that can arise from bugs in
-+ * the change_page_attr(), set_pages_{uc,wb}() and other kernel interfaces
-+ * used to modify memory types, the NVIDIA driver implements a manual
-+ * registry key override to allow forcibly enabling or disabling use of
-+ * these APIs.
-+ *
-+ * Possible values:
-+ *
-+ * ~0 = use the NVIDIA driver's default logic (default)
-+ * 0 = enable use of change_page_attr(), etc.
-+ * 1 = disable use of change_page_attr(), etc.
-+ *
-+ * By default, the NVIDIA driver will attempt to auto-detect if it can
-+ * safely use the change_page_attr() and other kernel interfaces to modify
-+ * the memory types of kernel mappings.
- */
-
--#define __NV_USE_CPA UseCPA
--#define NV_REG_USE_CPA NV_REG_STRING(__NV_USE_CPA)
-+#define __NV_UPDATE_MEMORY_TYPES UpdateMemoryTypes
-+#define NV_REG_UPDATE_MEMORY_TYPES NV_REG_STRING(__NV_UPDATE_MEMORY_TYPES)
-
- /*
- * Option: RegistryDwords
-@@ -490,7 +492,7 @@
- NV_DEFINE_REG_ENTRY(__NV_DEVICE_FILE_GID, 0);
- NV_DEFINE_REG_ENTRY(__NV_DEVICE_FILE_MODE, 0666);
- NV_DEFINE_REG_ENTRY(__NV_REMAP_LIMIT, 0);
--NV_DEFINE_REG_ENTRY(__NV_USE_CPA, -1);
-+NV_DEFINE_REG_ENTRY(__NV_UPDATE_MEMORY_TYPES, ~0);
- NV_DEFINE_REG_ENTRY(__NV_USE_VBIOS, 1);
- NV_DEFINE_REG_ENTRY(__NV_RM_EDGE_INTR_CHECK, 1);
-
-@@ -535,7 +537,7 @@
- NV_DEFINE_PARAMS_TABLE_ENTRY(__NV_DEVICE_FILE_GID),
- NV_DEFINE_PARAMS_TABLE_ENTRY(__NV_DEVICE_FILE_MODE),
- NV_DEFINE_PARAMS_TABLE_ENTRY(__NV_REMAP_LIMIT),
-- NV_DEFINE_PARAMS_TABLE_ENTRY(__NV_USE_CPA),
-+ NV_DEFINE_PARAMS_TABLE_ENTRY(__NV_UPDATE_MEMORY_TYPES),
- NV_DEFINE_PARAMS_TABLE_ENTRY(__NV_USE_VBIOS),
- NV_DEFINE_PARAMS_TABLE_ENTRY(__NV_RM_EDGE_INTR_CHECK),
- {NULL, NULL, NULL}
-diff -ru usr/src/nv/nv-vm.c usr/src/nv.2286310/nv-vm.c
---- usr/src/nv/nv-vm.c 2008-03-16 14:13:09.000000000 -0700
-+++ usr/src/nv.2286310/nv-vm.c 2008-03-16 14:37:47.204131496 -0700
-@@ -43,42 +43,40 @@
- }
- #endif
-
--/*
-- * AMD Athlon processors expose a subtle bug in the Linux
-- * kernel, that may lead to AGP memory corruption. Recent
-- * kernel versions had a workaround for this problem, but
-- * 2.4.20 is the first kernel to address it properly. The
-- * page_attr API provides the means to solve the problem.
-- */
--
- static inline void nv_set_page_attrib_uncached(nv_pte_t *page_ptr)
- {
--#if defined(NV_CHANGE_PAGE_ATTR_PRESENT)
-- if (nv_use_cpa)
-+ if (nv_update_memory_types)
- {
-- struct page *page = virt_to_page(__va(page_ptr->phys_addr));
-+#if defined(NV_SET_PAGES_UC_PRESENT)
-+ struct page *page = NV_GET_PAGE_STRUCT(page_ptr->phys_addr);
-+ set_pages_uc(page, 1);
-+#elif defined(NV_CHANGE_PAGE_ATTR_PRESENT)
-+ struct page *page = NV_GET_PAGE_STRUCT(page_ptr->phys_addr);
- pgprot_t prot = PAGE_KERNEL_NOCACHE;
- #if defined(NVCPU_X86) || defined(NVCPU_X86_64)
- pgprot_val(prot) &= __nv_supported_pte_mask;
- #endif
- change_page_attr(page, 1, prot);
-- }
- #endif
-+ }
- }
-
- static inline void nv_set_page_attrib_cached(nv_pte_t *page_ptr)
- {
--#if defined(NV_CHANGE_PAGE_ATTR_PRESENT)
-- if (nv_use_cpa)
-+ if (nv_update_memory_types)
- {
-- struct page *page = virt_to_page(__va(page_ptr->phys_addr));
-+#if defined(NV_SET_PAGES_UC_PRESENT)
-+ struct page *page = NV_GET_PAGE_STRUCT(page_ptr->phys_addr);
-+ set_pages_wb(page, 1);
-+#elif defined(NV_CHANGE_PAGE_ATTR_PRESENT)
-+ struct page *page = NV_GET_PAGE_STRUCT(page_ptr->phys_addr);
- pgprot_t prot = PAGE_KERNEL;
- #if defined(NVCPU_X86) || defined(NVCPU_X86_64)
- pgprot_val(prot) &= __nv_supported_pte_mask;
- #endif
- change_page_attr(page, 1, prot);
-+#endif
- }
--#endif /* NV_CHANGE_PAGE_ATTR_PRESENT */
- }
-
- static inline void nv_lock_page(nv_pte_t *page_ptr)
-@@ -360,7 +358,8 @@
- #if defined(NV_CPA_NEEDS_FLUSHING)
- nv_execute_on_all_cpus(cache_flush, NULL);
- #endif
--#if defined (NVCPU_X86) || defined (NVCPU_X86_64)
-+#if (defined(NVCPU_X86) || defined(NVCPU_X86_64)) && \
-+ defined(NV_CHANGE_PAGE_ATTR_PRESENT)
- global_flush_tlb();
- #endif
- nv_ext_flush_caches(); // handle other platform flushes if present
-@@ -662,7 +661,7 @@
-
- address = (unsigned long)virt_addr + i * PAGE_SIZE;
-
-- pgd = NV_PGD_OFFSET(address, 1, &init_mm);
-+ pgd = NV_PGD_OFFSET(address, 1, NULL);
- if (!NV_PGD_PRESENT(pgd))
- goto failed;
-
-diff -ru usr/src/nv/nv.c usr/src/nv.2286310/nv.c
---- usr/src/nv/nv.c 2008-03-16 14:13:09.000000000 -0700
-+++ usr/src/nv.2286310/nv.c 2008-03-16 14:37:47.208131723 -0700
-@@ -15,6 +15,7 @@
- #include "nv_compiler.h"
- #include "os-agp.h"
- #include "nv-vm.h"
-+#include "nv-reg.h"
-
- #ifdef MODULE_ALIAS_CHARDEV_MAJOR
- MODULE_ALIAS_CHARDEV_MAJOR(NV_MAJOR_DEVICE_NUMBER);
-@@ -116,10 +117,7 @@
- unsigned int nv_remap_limit;
- #endif
-
--#if defined(NV_CHANGE_PAGE_ATTR_PRESENT)
--int nv_use_cpa = 1;
--#endif
--
-+int nv_update_memory_types = 1;
- static int nv_mmconfig_failure_detected = 0;
-
- static void *nv_pte_t_cache = NULL;
-@@ -1030,30 +1028,26 @@
- #endif /* defined(NV_BUILD_NV_PAT_SUPPORT) */
- }
-
--
- #if defined(NV_CHANGE_PAGE_ATTR_BUG_PRESENT)
--
--/* nv_verify_cpa_interface - determine if the change_page_attr bug is fixed
-- * in this kernel.
-+/*
-+ * nv_verify_cpa_interface() - determine if the change_page_attr() large page
-+ * management accounting bug known to exist in early Linux/x86-64 kernels
-+ * is present in this kernel.
- *
-- * there's really not a good way to determine if change_page_attr is fixed.
-- * we can't really use cpa on 2.6 x86_64 kernels < 2.6.11, as if we run into
-- * the accounting bug, the kernel will throw a BUG. this isn't 100% accurate,
-- * as it doesn't throw a bug until we try to restore the caching attributes
-- * of the page. so if we can track down a 4M allocation, we can mark it
-- * uncached and see if the accounting was done correctly.
-- *
-- * this is a little ugly, but the most accurate approach to determining if
-- * this kernel is good.
-+ * There's really no good way to determine if change_page_attr() is working
-+ * correctly. We can't reliably use change_page_attr() on Linux/x86-64 2.6
-+ * kernels < 2.6.11: if we run into the accounting bug, the Linux kernel will
-+ * trigger a BUG() if we attempt to restore the WB memory type of a page
-+ * originally part of a large page.
- *
-- * why do we even bother? some distributions have back-ported the cpa fix to
-- * kernels < 2.6.11. we want to use change_page_attr to avoid random corruption
-- * and hangs, but need to make sure it's safe to do so.
-+ * So if we can successfully allocate such a page, change its memory type to
-+ * UC and check if the accounting was done correctly, we can determine if
-+ * the change_page_attr() interface can be used safely.
- *
-- * return values:
-- * 0 - test passed, interface works
-- * 1 - test failed, status unclear
-- * -1 - test failed, interface broken
-+ * Return values:
-+ * 0 - test passed, the change_page_attr() interface works
-+ * 1 - test failed, the status is unclear
-+ * -1 - test failed, the change_page_attr() interface is broken
- */
-
- static inline pte_t *check_large_page(unsigned long vaddr)
-@@ -1061,7 +1055,7 @@
- pgd_t *pgd = NULL;
- pmd_t *pmd = NULL;
-
-- pgd = NV_PGD_OFFSET(vaddr, 1, &init_mm);
-+ pgd = NV_PGD_OFFSET(vaddr, 1, NULL);
- if (!NV_PGD_PRESENT(pgd))
- return NULL;
-
-@@ -1171,20 +1165,29 @@
-
- return 1;
- }
--
- #endif /* defined(NV_CHANGE_PAGE_ATTR_BUG_PRESENT) */
-
--
--// verify that the kernel's mapping matches the requested type
--// this is to protect against accidental cache aliasing problems
-+/*
-+ * nv_verify_page_mappings() - verify that the kernel mapping of the specified
-+ * page matches the specified type. This is to help detect bugs in the Linux
-+ * kernel's change_page_attr() interface, early.
-+ *
-+ * This function relies on the ability to perform kernel virtul address to PFN
-+ * translations and therefore on 'init_mm'. Unfortunately, the latter is no
-+ * longer exported in recent Linux/x86 2.6 kernels. The export was removed at
-+ * roughtly the same time as the set_pages_{uc,wb}() change_page_attr()
-+ * replacement interfaces were introduced; hopefully, it will be sufficient to
-+ * check for their presence.
-+ */
- int nv_verify_page_mappings(
- nv_pte_t *page_ptr,
- unsigned int cachetype
- )
- {
-+#if defined(NV_CHANGE_PAGE_ATTR_PRESENT) || \
-+ (defined(NV_SET_PAGES_UC_PRESENT) && !defined(NVCPU_X86))
- unsigned long retval = -1;
- #if defined(NVCPU_X86) || defined(NVCPU_X86_64)
-- struct mm_struct *mm;
- pgd_t *pgd = NULL;
- pmd_t *pmd = NULL;
- pte_t *pte = NULL;
-@@ -1192,15 +1195,12 @@
- unsigned long address;
- static int count = 0;
-
--#if defined(NV_CHANGE_PAGE_ATTR_PRESENT)
-- if (!nv_use_cpa)
-+ if (!nv_update_memory_types)
- return 0;
--#endif
-
- address = (unsigned long)__va(page_ptr->phys_addr);
-- mm = &init_mm; // always a kernel page
-
-- pgd = NV_PGD_OFFSET(address, 1, mm);
-+ pgd = NV_PGD_OFFSET(address, 1, NULL);
- if (!NV_PGD_PRESENT(pgd))
- {
- nv_printf(NV_DBG_ERRORS, "NVRM: pgd not present for addr 0x%lx\n", address);
-@@ -1266,8 +1266,11 @@
- }
-
- failed:
--#endif
-+#endif /* defined(NVCPU_X86) || defined(NVCPU_X86_64) */
- return retval;
-+#else
-+ return 0;
-+#endif
- }
-
- #if defined(NV_BUILD_NV_PAT_SUPPORT) && defined(CONFIG_HOTPLUG_CPU)
-@@ -1313,7 +1316,7 @@
- static int __init nvidia_init_module(void)
- {
- int rc;
-- U032 i, count;
-+ U032 i, count, data;
- nv_state_t *nv = NV_STATE_PTR(&nv_ctl_device);
- nv_stack_t *sp = NULL;
-
-@@ -1485,43 +1488,42 @@
- /* create /proc/driver/nvidia */
- nvos_proc_create();
-
--#if defined(NV_CHANGE_PAGE_ATTR_PRESENT)
-+ /*
-+ * Give users an opportunity to disable the driver's use of
-+ * the change_page_attr() and set_pages_{uc,wb}() kernel
-+ * interfaces.
-+ */
-+ rc = rm_read_registry_dword(sp, nv,
-+ "NVreg", NV_REG_UPDATE_MEMORY_TYPES, &data);
-+ if ((rc == 0) && ((int)data != ~0))
- {
-- int data;
--
-- // allow the user to override us with a registry key
-- rc = rm_read_registry_dword(sp, nv, "NVreg", "UseCPA", &data);
-- if ((rc == 0) && (data != -1))
-- {
-- nv_use_cpa = data;
-- }
-+ nv_update_memory_types = data;
-+ }
- #if defined(NV_CHANGE_PAGE_ATTR_BUG_PRESENT)
-- else
-+ /*
-+ * Unless we explicitely detect that the change_page_attr()
-+ * inteface is fixed, disable usage of the interface on
-+ * this kernel. Notify the user of this problem using the
-+ * driver's /proc warnings interface (read by the installer
-+ * and the bug report script).
-+ */
-+ else
-+ {
-+ rc = nv_verify_cpa_interface();
-+ if (rc < 0)
- {
-- /*
-- * Unless we explicitely detect that the change_page_attr()
-- * inteface is fixed, disable usage of the interface on
-- * this kernel. Notify the user of this problem using the
-- * driver's /proc warnings interface (read by the installer
-- * and the bug report script).
-- */
-- rc = nv_verify_cpa_interface();
-- if (rc < 0)
-- {
-- nv_prints(NV_DBG_ERRORS, __cpgattr_warning);
-- nvos_proc_add_warning_file("change_page_attr", __cpgattr_warning);
-- nv_use_cpa = 0;
-- }
-- else if (rc != 0)
-- {
-- nv_prints(NV_DBG_ERRORS, __cpgattr_warning_2);
-- nvos_proc_add_warning_file("change_page_attr", __cpgattr_warning_2);
-- nv_use_cpa = 0;
-- }
-+ nv_prints(NV_DBG_ERRORS, __cpgattr_warning);
-+ nvos_proc_add_warning_file("change_page_attr", __cpgattr_warning);
-+ nv_update_memory_types = 0;
-+ }
-+ else if (rc != 0)
-+ {
-+ nv_prints(NV_DBG_ERRORS, __cpgattr_warning_2);
-+ nvos_proc_add_warning_file("change_page_attr", __cpgattr_warning_2);
-+ nv_update_memory_types = 0;
- }
--#endif
- }
--#endif
-+#endif /* defined(NV_CHANGE_PAGE_ATTR_BUG_PRESENT) */
-
- #if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL)
- /* Register ioctl()'s for 32-bit clients */
-@@ -3482,8 +3484,21 @@
- pte_t *pte = NULL;
- NvU64 retval;
-
-- mm = (kern) ? &init_mm : current->mm;
-- if (!kern) down_read(&current->mm->mmap_sem);
-+ if (!kern)
-+ {
-+ mm = current->mm;
-+ down_read(&mm->mmap_sem);
-+ }
-+ else
-+ {
-+#if defined(NV_SET_PAGES_UC_PRESENT) && defined(NVCPU_X86)
-+ /* nv_printf(NV_DBG_ERRORS,
-+ "NVRM: can't translate KVA in nv_get_phys_address()!\n"); */
-+ return 0;
-+#else
-+ mm = NULL;
-+#endif
-+ }
-
- pgd = NV_PGD_OFFSET(address, kern, mm);
- if (!NV_PGD_PRESENT(pgd))
-@@ -3504,22 +3519,24 @@
- retval &= ~_PAGE_NX;
- #endif
-
-- if (!kern) up_read(&current->mm->mmap_sem);
-+ if (!kern)
-+ up_read(&mm->mmap_sem);
- return retval;
-
- failed:
-- if (!kern) up_read(&current->mm->mmap_sem);
-+ if (!kern)
-+ up_read(&mm->mmap_sem);
- return 0;
- }
-
- NvU64 NV_API_CALL nv_get_kern_phys_address(NvU64 address)
- {
-- // make sure this address is a kernel pointer
-+ /* make sure this address is a kernel virtual address */
- #if defined(DEBUG) && !defined(CONFIG_X86_4G)
- if (address < PAGE_OFFSET)
- {
- nv_printf(NV_DBG_WARNINGS,
-- "NVRM: user address passed to get_kern_phys_address: 0x%lx\n",
-+ "NVRM: user address passed to get_kern_phys_address: 0x%llx!\n",
- address);
- return 0;
- }
-@@ -3534,12 +3551,12 @@
-
- NvU64 NV_API_CALL nv_get_kern_user_address(NvU64 address)
- {
-- // make sure this address is not a kernel pointer
-+ /* make sure this address is not a kernel virtual address */
- #if defined(DEBUG) && !defined(CONFIG_X86_4G)
- if (address >= PAGE_OFFSET)
- {
- nv_printf(NV_DBG_WARNINGS,
-- "NVRM: kernel address passed to get_user_phys_address: 0x%lx\n",
-+ "NVRM: kernel address passed to get_user_phys_address: 0x%llx!\n",
- address);
- return 0;
- }
-@@ -4316,16 +4333,12 @@
- return -1;
- }
-
--int NV_API_CALL nv_no_incoherent_mappings
--(
-- void
--)
-+int NV_API_CALL nv_no_incoherent_mappings(void)
- {
- if(nv_ext_no_incoherent_mappings() == 1)
- return 1;
--
--#if defined(NV_CHANGE_PAGE_ATTR_PRESENT)
-- return 1;
-+#if defined(NV_CHANGE_PAGE_ATTR_PRESENT) || defined(NV_SET_PAGES_UC_PRESENT)
-+ return (nv_update_memory_types);
- #else
- return 0;
- #endif
-diff -ru usr/src/nv/os-interface.c usr/src/nv.2286310/os-interface.c
---- usr/src/nv/os-interface.c 2008-03-16 14:13:09.000000000 -0700
-+++ usr/src/nv.2286310/os-interface.c 2008-03-16 14:37:47.208131723 -0700
-@@ -1198,6 +1198,18 @@
- {
- void *vaddr;
-
-+ if (start == 0)
-+ {
-+ if (mode != NV_MEMORY_CACHED)
-+ {
-+ nv_printf(NV_DBG_ERRORS,
-+ "NVRM: os_map_kernel_space: won't map address 0x%0llx UC!\n", start);
-+ return NULL;
-+ }
-+ else
-+ return (void *)PAGE_OFFSET;
-+ }
-+
- if (!NV_MAY_SLEEP())
- {
- nv_printf(NV_DBG_ERRORS,
-@@ -1230,6 +1242,9 @@
- NvU64 size_bytes
- )
- {
-+ if (addr == (void *)PAGE_OFFSET)
-+ return;
-+
- NV_IOUNMAP(addr, size_bytes);
- }
-
diff --git a/abs/core/nvidia/PKGBUILD b/abs/core/nvidia/PKGBUILD
index ca1d20f..40e9bba 100644
--- a/abs/core/nvidia/PKGBUILD
+++ b/abs/core/nvidia/PKGBUILD
@@ -3,41 +3,40 @@
pkgname=nvidia
pkgver=256.35
-_kernver='2.6.28-LinHES'
+_kernver='2.6.34-LinHES'
pkgrel=1
pkgdesc="NVIDIA drivers for kernel26."
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29' "nvidia-utils=${pkgver}")
-makedepends=('kernel-headers>=2.6.28' 'kernel-headers<2.6.29')
+depends=('kernel26>=2.6.34' 'kernel26<2.6.35' "nvidia-utils=${pkgver}")
+makedepends=('kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
conflicts=('nvidia-96xx' 'nvidia-173xx')
license=('custom')
install=nvidia.install
if [ "$CARCH" = "i686" ]; then
- _arch='x86'
- _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
- source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('f6af8917a500de28396a438f3f548c88')
+ _arch='x86'
+ _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
+ source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
+ md5sums=('f6af8917a500de28396a438f3f548c88')
elif [ "$CARCH" = "x86_64" ]; then
- _arch='x86_64'
- _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
- source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('7b5924f14a4d2326b4d916efdb7852ff')
+ _arch='x86_64'
+ _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
+ source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
+ md5sums=('7b5924f14a4d2326b4d916efdb7852ff')
fi
build() {
- cd $srcdir
- sh ${_pkg}.run --extract-only
- cd ${_pkg}/kernel
- make SYSSRC=/lib/modules/${_kernver}/build module
+ cd $srcdir
+ sh ${_pkg}.run --extract-only
+ cd ${_pkg}/kernel
+ make SYSSRC=/lib/modules/${_kernver}/build module
}
package() {
- install -D -m644 $srcdir/${_pkg}/kernel/nvidia.ko \
- $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/nvidia.ko
+ install -D -m644 $srcdir/${_pkg}/kernel/nvidia.ko \
+ $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/nvidia.ko
install -d -m755 $pkgdir/etc/modprobe.d
echo "blacklist nouveau" >> $pkgdir/etc/modprobe.d/nouveau_blacklist.conf
- sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/nvidia.install
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/nvidia.install
}
-
diff --git a/abs/core/nvidia/nvidia.install b/abs/core/nvidia/nvidia.install
index 23e04af..a7e09f9 100644
--- a/abs/core/nvidia/nvidia.install
+++ b/abs/core/nvidia/nvidia.install
@@ -1,22 +1,14 @@
-# arg 1: the new package version
post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod $KERNEL_VERSION
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
- post_install $1
- rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
+ post_install
+ rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
}
-# arg 1: the old package version
post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod $KERNEL_VERSION
}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/openssh/PKGBUILD b/abs/core/openssh/PKGBUILD
index fb2ec18..36a82bd 100644
--- a/abs/core/openssh/PKGBUILD
+++ b/abs/core/openssh/PKGBUILD
@@ -1,67 +1,64 @@
-# $Id: PKGBUILD 20515 2008-12-05 12:08:00Z allan $
+# $Id: PKGBUILD 89278 2010-08-30 21:38:00Z thomas $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=openssh
-pkgver=5.5p1
+pkgver=5.6p1
pkgrel=1
-#_gsskexver=20080404
pkgdesc='A Secure SHell server/client'
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('custom')
url="http://www.openssh.org/portable.html"
backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd')
-depends=('openssl>=0.9.8g' 'zlib' 'pam' 'tcp_wrappers' 'heimdal>=1.2-1')
-source=(ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$pkgname-$pkgver.tar.gz
- sshd sshd.confd sshd.pam sshd.patch)
- #http://www.sxw.org.uk/computing/patches/$pkgname-$pkgver-gsskex-$_gsskexver.patch
+depends=('openssl' 'zlib' 'pam' 'tcp_wrappers' 'heimdal')
+source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"
+ 'sshd' 'sshd.confd' 'sshd.pam')
+md5sums=('e6ee52e47c768bf0ec42a232b5d18fb0'
+ '17b1b1bf0f578a55945ee204bd4462af'
+ 'e2cea70ac13af7e63d40eb04415eacd5'
+ '1c7c2ea8734ec7e3ca58d820634dc73a')
build() {
- cd $startdir/src/$pkgname-$pkgver
- patch -p1 < ../sshd.patch
- #patch -up0 < $startdir/src/$pkgname-$pkgver-gsskex-$_gsskexver.patch
+ cd ${srcdir}/${pkgname}-${pkgver}
#NOTE we disable-strip so that makepkg can decide whether to strip or not
./configure --prefix=/usr --libexecdir=/usr/lib/ssh \
--sysconfdir=/etc/ssh --with-tcp-wrappers --with-privsep-user=nobody \
- --with-md5-passwords --with-pam --with-mantype=man --mandir=/usr/man \
- --with-xauth=/usr/bin/xauth --with-kerberos5=/usr --disable-strip
+ --with-md5-passwords --with-pam --with-mantype=man --mandir=/usr/share/man \
+ --with-xauth=/usr/bin/xauth --with-kerberos5=/usr --with-ssl-engine \
+ --disable-strip
make || return 1
- make DESTDIR=$startdir/pkg install
+}
- #What is this for? Is it needed?
- mkdir -p $startdir/pkg/var/empty
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
- install -D -m755 $startdir/src/sshd $startdir/pkg/etc/rc.d/sshd
+ install -Dm755 ${srcdir}/sshd ${pkgdir}/etc/rc.d/sshd
- install -D -m644 LICENCE $startdir/pkg/usr/share/licenses/$pkgname/LICENCE
- install -D -m644 $startdir/src/sshd.pam $startdir/pkg/etc/pam.d/sshd
- install -D -m644 $startdir/src/sshd.confd $startdir/pkg/etc/conf.d/sshd
+ install -Dm644 LICENCE ${pkgdir}/usr/share/licenses/${pkgname}/LICENCE
+ install -Dm644 ${srcdir}/sshd.pam ${pkgdir}/etc/pam.d/sshd
+ install -Dm644 ${srcdir}/sshd.confd ${pkgdir}/etc/conf.d/sshd
- rm $startdir/pkg/usr/man/man1/slogin.1
- ln -sf ssh.1.gz $startdir/pkg/usr/man/man1/slogin.1.gz
+ rm ${pkgdir}/usr/share/man/man1/slogin.1
+ ln -sf ssh.1.gz ${pkgdir}/usr/share/man/man1/slogin.1.gz
#additional contrib scripts that we like
- install -D -m755 contrib/findssl.sh $startdir/pkg/usr/bin/findssl.sh
- install -D -m755 contrib/ssh-copy-id $startdir/pkg/usr/bin/ssh-copy-id
- install -D -m644 contrib/ssh-copy-id.1 $startdir/pkg/usr/man/man1/ssh-copy-id.1
+ install -Dm755 contrib/findssl.sh ${pkgdir}/usr/bin/findssl.sh
+ install -Dm755 contrib/ssh-copy-id ${pkgdir}/usr/bin/ssh-copy-id
+ install -Dm644 contrib/ssh-copy-id.1 ${pkgdir}/usr/share/man/man1/ssh-copy-id.1
- i# sshd_config
+ # sshd_config
sed -i \
-e 's|^#ListenAddress 0.0.0.0|ListenAddress 0.0.0.0|g' \
-e 's|^#UsePAM no|UsePAM yes|g' \
-e 's|^#ChallengeResponseAuthentication yes|ChallengeResponseAuthentication no|g' \
- $startdir/pkg/etc/ssh/sshd_config
- echo "HashKnownHosts yes" >> $startdir/pkg/etc/ssh/ssh_config
- echo "StrictHostKeyChecking ask" >> $startdir/pkg/etc/ssh/ssh_config
+ ${pkgdir}/etc/ssh/sshd_config
+ echo "HashKnownHosts yes" >> ${pkgdir}/etc/ssh/ssh_config
+ echo "StrictHostKeyChecking ask" >> ${pkgdir}/etc/ssh/ssh_config
#ssh_config
sed -i \
-e 's|^# Host \*|Host *|g' \
- $startdir/pkg/etc/ssh/ssh_config
+ ${pkgdir}/etc/ssh/ssh_config
}
-md5sums=('88633408f4cb1eb11ec7e2ec58b519eb'
- 'd9ee5e0a0d143689b3d6f11454a2a892'
- 'e2cea70ac13af7e63d40eb04415eacd5'
- '1c7c2ea8734ec7e3ca58d820634dc73a'
- 'ea43aad77b405518aaadad172e0f91eb')
diff --git a/abs/core/openssh/sshd b/abs/core/openssh/sshd
index 875028a..bc0e453 100755
--- a/abs/core/openssh/sshd
+++ b/abs/core/openssh/sshd
@@ -4,13 +4,14 @@
. /etc/rc.d/functions
. /etc/conf.d/sshd
-PID=`cat /var/run/sshd.pid 2>/dev/null`
+PID="$(cat /var/run/sshd.pid 2>/dev/null)"
case "$1" in
start)
stat_busy "Starting Secure Shell Daemon"
[ -f /etc/ssh/ssh_host_key ] || { /usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key >/dev/null; }
[ -f /etc/ssh/ssh_host_rsa_key ] || { /usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key >/dev/null; }
[ -f /etc/ssh/ssh_host_dsa_key ] || { /usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key >/dev/null; }
+ [ -d /var/empty ] || mkdir -p /var/empty
[ -z "$PID" ] && /usr/sbin/sshd $SSHD_ARGS
if [ $? -gt 0 ]; then
stat_fail
diff --git a/abs/core/openssh/sshd.patch b/abs/core/openssh/sshd.patch
deleted file mode 100644
index f3ba392..0000000
--- a/abs/core/openssh/sshd.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- openssh-5.1p1/sshd_config.org 2010-03-08 23:43:07.000000000 +0000
-+++ openssh-5.1p1/sshd_config 2010-03-08 23:45:37.000000000 +0000
-@@ -38,14 +38,14 @@
- # Authentication:
-
- #LoginGraceTime 2m
--#PermitRootLogin yes
-+PermitRootLogin no
- #StrictModes yes
- #MaxAuthTries 6
- #MaxSessions 10
-
- #RSAAuthentication yes
--#PubkeyAuthentication yes
--#AuthorizedKeysFile .ssh/authorized_keys
-+PubkeyAuthentication yes
-+AuthorizedKeysFile .ssh/authorized_keys
-
- # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
- #RhostsRSAAuthentication no
-@@ -88,7 +88,7 @@
- #AllowAgentForwarding yes
- #AllowTcpForwarding yes
- #GatewayPorts no
--#X11Forwarding no
-+X11Forwarding yes
- #X11DisplayOffset 10
- #X11UseLocalhost yes
- #PrintMotd yes
-@@ -110,10 +110,11 @@
- #Banner none
-
- # override default of no subsystems
--Subsystem sftp /usr/libexec/sftp-server
-+Subsystem sftp /usr/lib/ssh/sftp-server
-
- # Example of overriding settings on a per-user basis
- #Match User anoncvs
- # X11Forwarding no
- # AllowTcpForwarding no
- # ForceCommand cvs server
-+DenyUsers mythtv
diff --git a/abs/core/openssh/sshd_config.diff b/abs/core/openssh/sshd_config.diff
deleted file mode 100644
index e69de29..0000000
--- a/abs/core/openssh/sshd_config.diff
+++ /dev/null
diff --git a/abs/core/openssl/PKGBUILD b/abs/core/openssl/PKGBUILD
index 457c646..9853a57 100644
--- a/abs/core/openssl/PKGBUILD
+++ b/abs/core/openssl/PKGBUILD
@@ -1,28 +1,56 @@
-# $Id: PKGBUILD 23270 2009-01-07 15:42:29Z pierre $
+# $Id: PKGBUILD 81714 2010-06-02 11:00:36Z pierre $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=openssl
-pkgver=0.9.8j
-pkgrel=1
+_ver=1.0.0a
+# use a pacman compatible version scheme
+pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
+pkgrel=2
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security'
arch=('i686' 'x86_64')
-url='http://www.openssl.org'
+url='https://www.openssl.org'
license=('custom:BSD')
-depends=('zlib' 'perl')
+depends=('perl')
optdepends=('ca-certificates')
options=('!makeflags')
-source=("http://www.openssl.org/source/${pkgname}-${pkgver}.tar.gz" \
- 'http://www.linuxfromscratch.org/patches/blfs/svn/openssl-0.9.8j-fix_manpages-1.patch')
+backup=('etc/ssl/openssl.cnf')
+source=("https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz"
+ 'fix-manpages.patch'
+ 'no-rpath.patch'
+ 'ca-dir.patch')
+md5sums=('e3873edfffc783624cfbdb65e2249cbd'
+ 'f540cd9e0e3047d589d0581fe7a2d0f2'
+ 'dc78d3d06baffc16217519242ce92478'
+ '3bf51be3a1bbd262be46dc619f92aa90')
+
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd $srcdir/$pkgname-$_ver
- patch -p1 -i $srcdir/openssl-0.9.8j-fix_manpages-1.patch || return 1
- ./config --prefix=/usr --openssldir=/etc/ssl shared zlib -Wa,--noexecstack
+ # avoid conflicts with other man pages
+ # see http://www.linuxfromscratch.org/patches/downloads/openssl/
+ patch -p0 -i $srcdir/fix-manpages.patch || return 1
+ # remove rpath: http://bugs.archlinux.org/task/14367
+ patch -p0 -i $srcdir/no-rpath.patch || return 1
+ # set ca dir to /etc/ssl by default
+ patch -p0 -i $srcdir/ca-dir.patch || return 1
+ # mark stack as non-executable: http://bugs.archlinux.org/task/12434
+ ./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib \
+ shared zlib enable-md2 -Wa,--noexecstack || return 1
make || return 1
- make test || return 1
- make INSTALL_PREFIX=$pkgdir MANDIR=/usr/share/man install
+ # the test fails due to missing write permissions in /etc/ssl
+ # revert this patch for make test
+ #patch -p0 -R -i $srcdir/ca-dir.patch
+ #make test || return 1
+ #patch -p0 -i $srcdir/ca-dir.patch
+}
+
+package() {
+ cd $srcdir/$pkgname-$_ver
+ make INSTALL_PREFIX=$pkgdir MANDIR=/usr/share/man install
install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/abs/core/openssl/ca-dir.patch b/abs/core/openssl/ca-dir.patch
new file mode 100644
index 0000000..41d1386
--- /dev/null
+++ b/abs/core/openssl/ca-dir.patch
@@ -0,0 +1,33 @@
+--- apps/CA.pl.in 2006-04-28 02:30:49.000000000 +0200
++++ apps/CA.pl.in 2010-04-01 00:35:02.600553509 +0200
+@@ -53,7 +53,7 @@
+ $X509="$openssl x509";
+ $PKCS12="$openssl pkcs12";
+
+-$CATOP="./demoCA";
++$CATOP="/etc/ssl";
+ $CAKEY="cakey.pem";
+ $CAREQ="careq.pem";
+ $CACERT="cacert.pem";
+--- apps/CA.sh 2009-10-15 19:27:47.000000000 +0200
++++ apps/CA.sh 2010-04-01 00:35:02.600553509 +0200
+@@ -68,7 +68,7 @@
+ X509="$OPENSSL x509"
+ PKCS12="openssl pkcs12"
+
+-if [ -z "$CATOP" ] ; then CATOP=./demoCA ; fi
++if [ -z "$CATOP" ] ; then CATOP=/etc/ssl ; fi
+ CAKEY=./cakey.pem
+ CAREQ=./careq.pem
+ CACERT=./cacert.pem
+--- apps/openssl.cnf 2009-04-04 20:09:43.000000000 +0200
++++ apps/openssl.cnf 2010-04-01 00:35:02.607220681 +0200
+@@ -39,7 +39,7 @@
+ ####################################################################
+ [ CA_default ]
+
+-dir = ./demoCA # Where everything is kept
++dir = /etc/ssl # Where everything is kept
+ certs = $dir/certs # Where the issued certs are kept
+ crl_dir = $dir/crl # Where the issued crl are kept
+ database = $dir/index.txt # database index file.
diff --git a/abs/core/openssl/fix-manpages.patch b/abs/core/openssl/fix-manpages.patch
new file mode 100644
index 0000000..e043081
--- /dev/null
+++ b/abs/core/openssl/fix-manpages.patch
@@ -0,0 +1,1887 @@
+--- crypto/rand/md_rand.c 2009-01-03 10:25:32.000000000 +0100
++++ crypto/rand/md_rand.c 2010-04-01 00:45:00.746327192 +0200
+@@ -196,7 +196,7 @@
+ int do_not_lock;
+
+ /*
+- * (Based on the rand(3) manpage)
++ * (Based on the openssl_rand(3) manpage)
+ *
+ * The input is chopped up into units of 20 bytes (or less for
+ * the last block). Each of these blocks is run through the hash
+@@ -361,7 +361,7 @@
+ num_ceil = (1 + (num-1)/(MD_DIGEST_LENGTH/2)) * (MD_DIGEST_LENGTH/2);
+
+ /*
+- * (Based on the rand(3) manpage:)
++ * (Based on the openssl_rand(3) manpage)
+ *
+ * For each group of 10 bytes (or less), we do the following:
+ *
+--- doc/apps/openssl-passwd.pod 1970-01-01 01:00:00.000000000 +0100
++++ doc/apps/openssl-passwd.pod 2010-04-01 00:45:00.796327220 +0200
+@@ -0,0 +1,82 @@
++=pod
++
++=head1 NAME
++
++openssl-passwd - compute password hashes
++
++=head1 SYNOPSIS
++
++B<openssl passwd>
++[B<-crypt>]
++[B<-1>]
++[B<-apr1>]
++[B<-salt> I<string>]
++[B<-in> I<file>]
++[B<-stdin>]
++[B<-noverify>]
++[B<-quiet>]
++[B<-table>]
++{I<password>}
++
++=head1 DESCRIPTION
++
++The B<passwd> command computes the hash of a password typed at
++run-time or the hash of each password in a list. The password list is
++taken from the named file for option B<-in file>, from stdin for
++option B<-stdin>, or from the command line, or from the terminal otherwise.
++The Unix standard algorithm B<crypt> and the MD5-based BSD password
++algorithm B<1> and its Apache variant B<apr1> are available.
++
++=head1 OPTIONS
++
++=over 4
++
++=item B<-crypt>
++
++Use the B<crypt> algorithm (default).
++
++=item B<-1>
++
++Use the MD5 based BSD password algorithm B<1>.
++
++=item B<-apr1>
++
++Use the B<apr1> algorithm (Apache variant of the BSD algorithm).
++
++=item B<-salt> I<string>
++
++Use the specified salt.
++When reading a password from the terminal, this implies B<-noverify>.
++
++=item B<-in> I<file>
++
++Read passwords from I<file>.
++
++=item B<-stdin>
++
++Read passwords from B<stdin>.
++
++=item B<-noverify>
++
++Don't verify when reading a password from the terminal.
++
++=item B<-quiet>
++
++Don't output warnings when passwords given at the command line are truncated.
++
++=item B<-table>
++
++In the output list, prepend the cleartext password and a TAB character
++to each password hash.
++
++=back
++
++=head1 EXAMPLES
++
++B<openssl passwd -crypt -salt xx password> prints B<xxj31ZMTZzkVA>.
++
++B<openssl passwd -1 -salt xxxxxxxx password> prints B<$1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a.>.
++
++B<openssl passwd -apr1 -salt xxxxxxxx password> prints B<$apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0>.
++
++=cut
+--- doc/apps/openssl.pod 2010-01-21 19:46:28.000000000 +0100
++++ doc/apps/openssl.pod 2010-04-01 00:45:00.796327220 +0200
+@@ -163,7 +163,7 @@
+
+ Online Certificate Status Protocol utility.
+
+-=item L<B<passwd>|passwd(1)>
++=item L<B<passwd>|openssl-passwd(1)>
+
+ Generation of hashed passwords.
+
+@@ -401,7 +401,7 @@
+ L<dhparam(1)|dhparam(1)>, L<dsa(1)|dsa(1)>, L<dsaparam(1)|dsaparam(1)>,
+ L<enc(1)|enc(1)>, L<gendsa(1)|gendsa(1)>, L<genpkey(1)|genpkey(1)>,
+ L<genrsa(1)|genrsa(1)>, L<nseq(1)|nseq(1)>, L<openssl(1)|openssl(1)>,
+-L<passwd(1)|passwd(1)>,
++L<openssl-passwd(1)|openssl-passwd(1)>,
+ L<pkcs12(1)|pkcs12(1)>, L<pkcs7(1)|pkcs7(1)>, L<pkcs8(1)|pkcs8(1)>,
+ L<rand(1)|rand(1)>, L<req(1)|req(1)>, L<rsa(1)|rsa(1)>,
+ L<rsautl(1)|rsautl(1)>, L<s_client(1)|s_client(1)>,
+--- doc/apps/passwd.pod 2002-10-04 14:59:00.000000000 +0200
++++ doc/apps/passwd.pod 1970-01-01 01:00:00.000000000 +0100
+@@ -1,82 +0,0 @@
+-=pod
+-
+-=head1 NAME
+-
+-passwd - compute password hashes
+-
+-=head1 SYNOPSIS
+-
+-B<openssl passwd>
+-[B<-crypt>]
+-[B<-1>]
+-[B<-apr1>]
+-[B<-salt> I<string>]
+-[B<-in> I<file>]
+-[B<-stdin>]
+-[B<-noverify>]
+-[B<-quiet>]
+-[B<-table>]
+-{I<password>}
+-
+-=head1 DESCRIPTION
+-
+-The B<passwd> command computes the hash of a password typed at
+-run-time or the hash of each password in a list. The password list is
+-taken from the named file for option B<-in file>, from stdin for
+-option B<-stdin>, or from the command line, or from the terminal otherwise.
+-The Unix standard algorithm B<crypt> and the MD5-based BSD password
+-algorithm B<1> and its Apache variant B<apr1> are available.
+-
+-=head1 OPTIONS
+-
+-=over 4
+-
+-=item B<-crypt>
+-
+-Use the B<crypt> algorithm (default).
+-
+-=item B<-1>
+-
+-Use the MD5 based BSD password algorithm B<1>.
+-
+-=item B<-apr1>
+-
+-Use the B<apr1> algorithm (Apache variant of the BSD algorithm).
+-
+-=item B<-salt> I<string>
+-
+-Use the specified salt.
+-When reading a password from the terminal, this implies B<-noverify>.
+-
+-=item B<-in> I<file>
+-
+-Read passwords from I<file>.
+-
+-=item B<-stdin>
+-
+-Read passwords from B<stdin>.
+-
+-=item B<-noverify>
+-
+-Don't verify when reading a password from the terminal.
+-
+-=item B<-quiet>
+-
+-Don't output warnings when passwords given at the command line are truncated.
+-
+-=item B<-table>
+-
+-In the output list, prepend the cleartext password and a TAB character
+-to each password hash.
+-
+-=back
+-
+-=head1 EXAMPLES
+-
+-B<openssl passwd -crypt -salt xx password> prints B<xxj31ZMTZzkVA>.
+-
+-B<openssl passwd -1 -salt xxxxxxxx password> prints B<$1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a.>.
+-
+-B<openssl passwd -apr1 -salt xxxxxxxx password> prints B<$apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0>.
+-
+-=cut
+--- doc/crypto/BN_generate_prime.pod 2003-01-13 14:18:22.000000000 +0100
++++ doc/crypto/BN_generate_prime.pod 2010-04-01 00:45:00.824035190 +0200
+@@ -90,7 +90,7 @@
+
+ =head1 SEE ALSO
+
+-L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>
++L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/bn.pod 2008-07-03 21:59:24.000000000 +0200
++++ doc/crypto/bn.pod 2010-04-01 00:45:01.022993777 +0200
+@@ -167,7 +167,7 @@
+ =head1 SEE ALSO
+
+ L<bn_internal(3)|bn_internal(3)>,
+-L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
++L<dh(3)|dh(3)>, L<openssl_err(3)|openssl_err(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>,
+ L<BN_new(3)|BN_new(3)>, L<BN_CTX_new(3)|BN_CTX_new(3)>,
+ L<BN_copy(3)|BN_copy(3)>, L<BN_swap(3)|BN_swap(3)>, L<BN_num_bytes(3)|BN_num_bytes(3)>,
+ L<BN_add(3)|BN_add(3)>, L<BN_add_word(3)|BN_add_word(3)>,
+--- doc/crypto/BN_rand.pod 2002-09-25 15:33:26.000000000 +0200
++++ doc/crypto/BN_rand.pod 2010-04-01 00:45:00.824035190 +0200
+@@ -45,7 +45,7 @@
+
+ =head1 SEE ALSO
+
+-L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<RAND_add(3)|RAND_add(3)>, L<RAND_bytes(3)|RAND_bytes(3)>
+
+ =head1 HISTORY
+--- doc/crypto/CONF_modules_free.pod 2006-12-21 22:13:27.000000000 +0100
++++ doc/crypto/CONF_modules_free.pod 2010-04-01 00:45:00.827162198 +0200
+@@ -37,7 +37,7 @@
+ =head1 SEE ALSO
+
+ L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>,
+-L<CONF_modules_load_file(3), CONF_modules_load_file(3)>
++L<CONF_modules_load_file(3)|CONF_modules_load_file(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/CONF_modules_load_file.pod 2004-03-02 14:31:32.000000000 +0100
++++ doc/crypto/CONF_modules_load_file.pod 2010-04-01 00:45:00.833827289 +0200
+@@ -51,7 +51,7 @@
+ =head1 SEE ALSO
+
+ L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>,
+-L<CONF_free(3), CONF_free(3)>, L<err(3),err(3)>
++L<CONF_free(3)|CONF_free(3)>, L<openssl_err(3)|openssl_err(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/crypto.pod 2002-10-06 14:59:25.000000000 +0200
++++ doc/crypto/crypto.pod 2010-04-01 00:45:01.029660428 +0200
+@@ -46,7 +46,7 @@
+
+ =item AUXILIARY FUNCTIONS
+
+-L<err(3)|err(3)>, L<threads(3)|threads(3)>, L<rand(3)|rand(3)>,
++L<openssl_err(3)|openssl_err(3)>, L<openssl_threads(3)|openssl_threads(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<OPENSSL_VERSION_NUMBER(3)|OPENSSL_VERSION_NUMBER(3)>
+
+ =item INPUT/OUTPUT, DATA ENCODING
+--- doc/crypto/des.pod 2003-10-01 17:02:45.000000000 +0200
++++ doc/crypto/des.pod 2010-04-01 00:45:01.036327160 +0200
+@@ -115,7 +115,7 @@
+ the key; it is used to speed the encryption process.
+
+ DES_random_key() generates a random key. The PRNG must be seeded
+-prior to using this function (see L<rand(3)|rand(3)>). If the PRNG
++prior to using this function (see L<openssl_rand(3)|openssl_rand(3)>). If the PRNG
+ could not generate a secure key, 0 is returned.
+
+ Before a DES key can be used, it must be converted into the
+@@ -317,7 +317,7 @@
+
+ =head1 SEE ALSO
+
+-crypt(3), L<des_modes(7)|des_modes(7)>, L<evp(3)|evp(3)>, L<rand(3)|rand(3)>
++crypt(3), L<des_modes(7)|des_modes(7)>, L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/DH_generate_key.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DH_generate_key.pod 2010-04-01 00:45:00.840494142 +0200
+@@ -40,7 +40,7 @@
+
+ =head1 SEE ALSO
+
+-L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<DH_size(3)|DH_size(3)>
++L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<DH_size(3)|DH_size(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/DH_generate_parameters.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DH_generate_parameters.pod 2010-04-01 00:45:00.847161913 +0200
+@@ -59,7 +59,7 @@
+
+ =head1 SEE ALSO
+
+-L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<DH_free(3)|DH_free(3)>
+
+ =head1 HISTORY
+--- doc/crypto/dh.pod 2002-08-05 18:27:01.000000000 +0200
++++ doc/crypto/dh.pod 2010-04-01 00:45:01.036327160 +0200
+@@ -67,8 +67,8 @@
+
+ =head1 SEE ALSO
+
+-L<dhparam(1)|dhparam(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<err(3)|err(3)>,
+-L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<engine(3)|engine(3)>,
++L<dhparam(1)|dhparam(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<openssl_err(3)|openssl_err(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>, L<engine(3)|engine(3)>,
+ L<DH_set_method(3)|DH_set_method(3)>, L<DH_new(3)|DH_new(3)>,
+ L<DH_get_ex_new_index(3)|DH_get_ex_new_index(3)>,
+ L<DH_generate_parameters(3)|DH_generate_parameters(3)>,
+--- doc/crypto/DSA_do_sign.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DSA_do_sign.pod 2010-04-01 00:45:00.847161913 +0200
+@@ -36,7 +36,7 @@
+
+ =head1 SEE ALSO
+
+-L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<DSA_SIG_new(3)|DSA_SIG_new(3)>,
+ L<DSA_sign(3)|DSA_sign(3)>
+
+--- doc/crypto/DSA_generate_key.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DSA_generate_key.pod 2010-04-01 00:45:00.847161913 +0200
+@@ -24,7 +24,7 @@
+
+ =head1 SEE ALSO
+
+-L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<DSA_generate_parameters(3)|DSA_generate_parameters(3)>
+
+ =head1 HISTORY
+--- doc/crypto/DSA_generate_parameters.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DSA_generate_parameters.pod 2010-04-01 00:45:00.847161913 +0200
+@@ -90,7 +90,7 @@
+
+ =head1 SEE ALSO
+
+-L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<DSA_free(3)|DSA_free(3)>
+
+ =head1 HISTORY
+--- doc/crypto/dsa.pod 2002-08-05 18:27:01.000000000 +0200
++++ doc/crypto/dsa.pod 2010-04-01 00:45:01.042994012 +0200
+@@ -100,7 +100,7 @@
+
+ =head1 SEE ALSO
+
+-L<bn(3)|bn(3)>, L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>,
++L<bn(3)|bn(3)>, L<dh(3)|dh(3)>, L<openssl_err(3)|openssl_err(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<rsa(3)|rsa(3)>, L<sha(3)|sha(3)>, L<engine(3)|engine(3)>,
+ L<DSA_new(3)|DSA_new(3)>,
+ L<DSA_size(3)|DSA_size(3)>,
+--- doc/crypto/DSA_sign.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DSA_sign.pod 2010-04-01 00:45:00.847161913 +0200
+@@ -55,7 +55,7 @@
+
+ =head1 SEE ALSO
+
+-L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<DSA_do_sign(3)|DSA_do_sign(3)>
+
+ =head1 HISTORY
+--- doc/crypto/engine.pod 2007-11-19 10:18:03.000000000 +0100
++++ doc/crypto/engine.pod 2010-04-01 00:45:01.049660583 +0200
+@@ -594,6 +594,6 @@
+
+ =head1 SEE ALSO
+
+-L<rsa(3)|rsa(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>, L<rand(3)|rand(3)>
++L<rsa(3)|rsa(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>, L<openssl_rand(3)|openssl_rand(3)>
+
+ =cut
+--- doc/crypto/ERR_clear_error.pod 2000-02-01 02:36:58.000000000 +0100
++++ doc/crypto/ERR_clear_error.pod 2010-04-01 00:45:00.857161750 +0200
+@@ -20,7 +20,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
++L<openssl_err(3)|openssl_err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/ERR_error_string.pod 2004-11-14 16:11:37.000000000 +0100
++++ doc/crypto/ERR_error_string.pod 2010-04-01 00:45:00.863828202 +0200
+@@ -60,7 +60,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
++L<openssl_err(3)|openssl_err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
+ L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
+ L<SSL_load_error_strings(3)|SSL_load_error_strings(3)>
+ L<ERR_print_errors(3)|ERR_print_errors(3)>
+--- doc/crypto/ERR_get_error.pod 2002-11-29 15:21:54.000000000 +0100
++++ doc/crypto/ERR_get_error.pod 2010-04-01 00:45:00.870494614 +0200
+@@ -61,7 +61,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
++L<openssl_err(3)|openssl_err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
+ L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>
+
+ =head1 HISTORY
+--- doc/crypto/ERR_GET_LIB.pod 2000-02-01 02:36:58.000000000 +0100
++++ doc/crypto/ERR_GET_LIB.pod 2010-04-01 00:45:00.850495218 +0200
+@@ -41,7 +41,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
++L<openssl_err(3)|openssl_err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/ERR_load_crypto_strings.pod 2000-02-24 12:55:08.000000000 +0100
++++ doc/crypto/ERR_load_crypto_strings.pod 2010-04-01 00:45:00.873827919 +0200
+@@ -35,7 +35,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>
++L<openssl_err(3)|openssl_err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/ERR_load_strings.pod 2000-02-24 12:55:08.000000000 +0100
++++ doc/crypto/ERR_load_strings.pod 2010-04-01 00:45:00.876327759 +0200
+@@ -43,7 +43,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
++L<openssl_err(3)|openssl_err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/err.pod 2002-07-10 21:35:46.000000000 +0200
++++ doc/crypto/err.pod 1970-01-01 01:00:00.000000000 +0100
+@@ -1,187 +0,0 @@
+-=pod
+-
+-=head1 NAME
+-
+-err - error codes
+-
+-=head1 SYNOPSIS
+-
+- #include <openssl/err.h>
+-
+- unsigned long ERR_get_error(void);
+- unsigned long ERR_peek_error(void);
+- unsigned long ERR_get_error_line(const char **file, int *line);
+- unsigned long ERR_peek_error_line(const char **file, int *line);
+- unsigned long ERR_get_error_line_data(const char **file, int *line,
+- const char **data, int *flags);
+- unsigned long ERR_peek_error_line_data(const char **file, int *line,
+- const char **data, int *flags);
+-
+- int ERR_GET_LIB(unsigned long e);
+- int ERR_GET_FUNC(unsigned long e);
+- int ERR_GET_REASON(unsigned long e);
+-
+- void ERR_clear_error(void);
+-
+- char *ERR_error_string(unsigned long e, char *buf);
+- const char *ERR_lib_error_string(unsigned long e);
+- const char *ERR_func_error_string(unsigned long e);
+- const char *ERR_reason_error_string(unsigned long e);
+-
+- void ERR_print_errors(BIO *bp);
+- void ERR_print_errors_fp(FILE *fp);
+-
+- void ERR_load_crypto_strings(void);
+- void ERR_free_strings(void);
+-
+- void ERR_remove_state(unsigned long pid);
+-
+- void ERR_put_error(int lib, int func, int reason, const char *file,
+- int line);
+- void ERR_add_error_data(int num, ...);
+-
+- void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
+- unsigned long ERR_PACK(int lib, int func, int reason);
+- int ERR_get_next_error_library(void);
+-
+-=head1 DESCRIPTION
+-
+-When a call to the OpenSSL library fails, this is usually signalled
+-by the return value, and an error code is stored in an error queue
+-associated with the current thread. The B<err> library provides
+-functions to obtain these error codes and textual error messages.
+-
+-The L<ERR_get_error(3)|ERR_get_error(3)> manpage describes how to
+-access error codes.
+-
+-Error codes contain information about where the error occurred, and
+-what went wrong. L<ERR_GET_LIB(3)|ERR_GET_LIB(3)> describes how to
+-extract this information. A method to obtain human-readable error
+-messages is described in L<ERR_error_string(3)|ERR_error_string(3)>.
+-
+-L<ERR_clear_error(3)|ERR_clear_error(3)> can be used to clear the
+-error queue.
+-
+-Note that L<ERR_remove_state(3)|ERR_remove_state(3)> should be used to
+-avoid memory leaks when threads are terminated.
+-
+-=head1 ADDING NEW ERROR CODES TO OPENSSL
+-
+-See L<ERR_put_error(3)> if you want to record error codes in the
+-OpenSSL error system from within your application.
+-
+-The remainder of this section is of interest only if you want to add
+-new error codes to OpenSSL or add error codes from external libraries.
+-
+-=head2 Reporting errors
+-
+-Each sub-library has a specific macro XXXerr() that is used to report
+-errors. Its first argument is a function code B<XXX_F_...>, the second
+-argument is a reason code B<XXX_R_...>. Function codes are derived
+-from the function names; reason codes consist of textual error
+-descriptions. For example, the function ssl23_read() reports a
+-"handshake failure" as follows:
+-
+- SSLerr(SSL_F_SSL23_READ, SSL_R_SSL_HANDSHAKE_FAILURE);
+-
+-Function and reason codes should consist of upper case characters,
+-numbers and underscores only. The error file generation script translates
+-function codes into function names by looking in the header files
+-for an appropriate function name, if none is found it just uses
+-the capitalized form such as "SSL23_READ" in the above example.
+-
+-The trailing section of a reason code (after the "_R_") is translated
+-into lower case and underscores changed to spaces.
+-
+-When you are using new function or reason codes, run B<make errors>.
+-The necessary B<#define>s will then automatically be added to the
+-sub-library's header file.
+-
+-Although a library will normally report errors using its own specific
+-XXXerr macro, another library's macro can be used. This is normally
+-only done when a library wants to include ASN1 code which must use
+-the ASN1err() macro.
+-
+-=head2 Adding new libraries
+-
+-When adding a new sub-library to OpenSSL, assign it a library number
+-B<ERR_LIB_XXX>, define a macro XXXerr() (both in B<err.h>), add its
+-name to B<ERR_str_libraries[]> (in B<crypto/err/err.c>), and add
+-C<ERR_load_XXX_strings()> to the ERR_load_crypto_strings() function
+-(in B<crypto/err/err_all.c>). Finally, add an entry
+-
+- L XXX xxx.h xxx_err.c
+-
+-to B<crypto/err/openssl.ec>, and add B<xxx_err.c> to the Makefile.
+-Running B<make errors> will then generate a file B<xxx_err.c>, and
+-add all error codes used in the library to B<xxx.h>.
+-
+-Additionally the library include file must have a certain form.
+-Typically it will initially look like this:
+-
+- #ifndef HEADER_XXX_H
+- #define HEADER_XXX_H
+-
+- #ifdef __cplusplus
+- extern "C" {
+- #endif
+-
+- /* Include files */
+-
+- #include <openssl/bio.h>
+- #include <openssl/x509.h>
+-
+- /* Macros, structures and function prototypes */
+-
+-
+- /* BEGIN ERROR CODES */
+-
+-The B<BEGIN ERROR CODES> sequence is used by the error code
+-generation script as the point to place new error codes, any text
+-after this point will be overwritten when B<make errors> is run.
+-The closing #endif etc will be automatically added by the script.
+-
+-The generated C error code file B<xxx_err.c> will load the header
+-files B<stdio.h>, B<openssl/err.h> and B<openssl/xxx.h> so the
+-header file must load any additional header files containing any
+-definitions it uses.
+-
+-=head1 USING ERROR CODES IN EXTERNAL LIBRARIES
+-
+-It is also possible to use OpenSSL's error code scheme in external
+-libraries. The library needs to load its own codes and call the OpenSSL
+-error code insertion script B<mkerr.pl> explicitly to add codes to
+-the header file and generate the C error code file. This will normally
+-be done if the external library needs to generate new ASN1 structures
+-but it can also be used to add more general purpose error code handling.
+-
+-TBA more details
+-
+-=head1 INTERNALS
+-
+-The error queues are stored in a hash table with one B<ERR_STATE>
+-entry for each pid. ERR_get_state() returns the current thread's
+-B<ERR_STATE>. An B<ERR_STATE> can hold up to B<ERR_NUM_ERRORS> error
+-codes. When more error codes are added, the old ones are overwritten,
+-on the assumption that the most recent errors are most important.
+-
+-Error strings are also stored in hash table. The hash tables can
+-be obtained by calling ERR_get_err_state_table(void) and
+-ERR_get_string_table(void) respectively.
+-
+-=head1 SEE ALSO
+-
+-L<CRYPTO_set_id_callback(3)|CRYPTO_set_id_callback(3)>,
+-L<CRYPTO_set_locking_callback(3)|CRYPTO_set_locking_callback(3)>,
+-L<ERR_get_error(3)|ERR_get_error(3)>,
+-L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>,
+-L<ERR_clear_error(3)|ERR_clear_error(3)>,
+-L<ERR_error_string(3)|ERR_error_string(3)>,
+-L<ERR_print_errors(3)|ERR_print_errors(3)>,
+-L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
+-L<ERR_remove_state(3)|ERR_remove_state(3)>,
+-L<ERR_put_error(3)|ERR_put_error(3)>,
+-L<ERR_load_strings(3)|ERR_load_strings(3)>,
+-L<SSL_get_error(3)|SSL_get_error(3)>
+-
+-=cut
+--- doc/crypto/ERR_print_errors.pod 2000-02-01 02:36:59.000000000 +0100
++++ doc/crypto/ERR_print_errors.pod 2010-04-01 00:45:00.879660945 +0200
+@@ -38,7 +38,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
++L<openssl_err(3)|openssl_err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
+ L<ERR_get_error(3)|ERR_get_error(3)>,
+ L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
+ L<SSL_load_error_strings(3)|SSL_load_error_strings(3)>
+--- doc/crypto/ERR_put_error.pod 2000-02-24 12:55:08.000000000 +0100
++++ doc/crypto/ERR_put_error.pod 2010-04-01 00:45:00.886327158 +0200
+@@ -34,7 +34,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
++L<openssl_err(3)|openssl_err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/ERR_remove_state.pod 2000-05-19 09:54:42.000000000 +0200
++++ doc/crypto/ERR_remove_state.pod 2010-04-01 00:45:00.892994288 +0200
+@@ -25,7 +25,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>
++L<openssl_err(3)|openssl_err(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/EVP_BytesToKey.pod 2004-11-25 18:47:30.000000000 +0100
++++ doc/crypto/EVP_BytesToKey.pod 2010-04-01 00:45:00.899660540 +0200
+@@ -59,7 +59,7 @@
+
+ =head1 SEE ALSO
+
+-L<evp(3)|evp(3)>, L<rand(3)|rand(3)>,
++L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>
+
+ =head1 HISTORY
+--- doc/crypto/EVP_OpenInit.pod 2000-09-23 09:16:14.000000000 +0200
++++ doc/crypto/EVP_OpenInit.pod 2010-04-01 00:45:00.906327633 +0200
+@@ -54,7 +54,7 @@
+
+ =head1 SEE ALSO
+
+-L<evp(3)|evp(3)>, L<rand(3)|rand(3)>,
++L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>,
+ L<EVP_SealInit(3)|EVP_SealInit(3)>
+
+--- doc/crypto/EVP_SealInit.pod 2005-03-29 19:50:08.000000000 +0200
++++ doc/crypto/EVP_SealInit.pod 2010-04-01 00:45:00.912995642 +0200
+@@ -74,7 +74,7 @@
+
+ =head1 SEE ALSO
+
+-L<evp(3)|evp(3)>, L<rand(3)|rand(3)>,
++L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>,
+ L<EVP_OpenInit(3)|EVP_OpenInit(3)>
+
+--- doc/crypto/EVP_SignInit.pod 2006-07-12 14:31:29.000000000 +0200
++++ doc/crypto/EVP_SignInit.pod 2010-04-01 00:45:00.919661935 +0200
+@@ -89,7 +89,7 @@
+ =head1 SEE ALSO
+
+ L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>,
+-L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>,
++L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<openssl_err(3)|openssl_err(3)>,
+ L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
+ L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
+ L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
+--- doc/crypto/EVP_VerifyInit.pod 2006-07-12 14:31:30.000000000 +0200
++++ doc/crypto/EVP_VerifyInit.pod 2010-04-01 00:45:00.926327388 +0200
+@@ -80,7 +80,7 @@
+
+ L<evp(3)|evp(3)>,
+ L<EVP_SignInit(3)|EVP_SignInit(3)>,
+-L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>,
++L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<openssl_err(3)|openssl_err(3)>,
+ L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
+ L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
+ L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
+--- doc/crypto/OPENSSL_config.pod 2005-06-03 01:19:56.000000000 +0200
++++ doc/crypto/OPENSSL_config.pod 2010-04-01 00:45:00.932995118 +0200
+@@ -73,7 +73,7 @@
+ =head1 SEE ALSO
+
+ L<conf(5)|conf(5)>, L<CONF_load_modules_file(3)|CONF_load_modules_file(3)>,
+-L<CONF_modules_free(3),CONF_modules_free(3)>
++L<CONF_modules_free(3)|CONF_modules_free(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/openssl_err.pod 1970-01-01 01:00:00.000000000 +0100
++++ doc/crypto/openssl_err.pod 2010-04-01 00:45:01.059660101 +0200
+@@ -0,0 +1,187 @@
++=pod
++
++=head1 NAME
++
++openssl_err - error codes
++
++=head1 SYNOPSIS
++
++ #include <openssl/err.h>
++
++ unsigned long ERR_get_error(void);
++ unsigned long ERR_peek_error(void);
++ unsigned long ERR_get_error_line(const char **file, int *line);
++ unsigned long ERR_peek_error_line(const char **file, int *line);
++ unsigned long ERR_get_error_line_data(const char **file, int *line,
++ const char **data, int *flags);
++ unsigned long ERR_peek_error_line_data(const char **file, int *line,
++ const char **data, int *flags);
++
++ int ERR_GET_LIB(unsigned long e);
++ int ERR_GET_FUNC(unsigned long e);
++ int ERR_GET_REASON(unsigned long e);
++
++ void ERR_clear_error(void);
++
++ char *ERR_error_string(unsigned long e, char *buf);
++ const char *ERR_lib_error_string(unsigned long e);
++ const char *ERR_func_error_string(unsigned long e);
++ const char *ERR_reason_error_string(unsigned long e);
++
++ void ERR_print_errors(BIO *bp);
++ void ERR_print_errors_fp(FILE *fp);
++
++ void ERR_load_crypto_strings(void);
++ void ERR_free_strings(void);
++
++ void ERR_remove_state(unsigned long pid);
++
++ void ERR_put_error(int lib, int func, int reason, const char *file,
++ int line);
++ void ERR_add_error_data(int num, ...);
++
++ void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
++ unsigned long ERR_PACK(int lib, int func, int reason);
++ int ERR_get_next_error_library(void);
++
++=head1 DESCRIPTION
++
++When a call to the OpenSSL library fails, this is usually signalled
++by the return value, and an error code is stored in an error queue
++associated with the current thread. The B<err> library provides
++functions to obtain these error codes and textual error messages.
++
++The L<ERR_get_error(3)|ERR_get_error(3)> manpage describes how to
++access error codes.
++
++Error codes contain information about where the error occurred, and
++what went wrong. L<ERR_GET_LIB(3)|ERR_GET_LIB(3)> describes how to
++extract this information. A method to obtain human-readable error
++messages is described in L<ERR_error_string(3)|ERR_error_string(3)>.
++
++L<ERR_clear_error(3)|ERR_clear_error(3)> can be used to clear the
++error queue.
++
++Note that L<ERR_remove_state(3)|ERR_remove_state(3)> should be used to
++avoid memory leaks when threads are terminated.
++
++=head1 ADDING NEW ERROR CODES TO OPENSSL
++
++See L<ERR_put_error(3)> if you want to record error codes in the
++OpenSSL error system from within your application.
++
++The remainder of this section is of interest only if you want to add
++new error codes to OpenSSL or add error codes from external libraries.
++
++=head2 Reporting errors
++
++Each sub-library has a specific macro XXXerr() that is used to report
++errors. Its first argument is a function code B<XXX_F_...>, the second
++argument is a reason code B<XXX_R_...>. Function codes are derived
++from the function names; reason codes consist of textual error
++descriptions. For example, the function ssl23_read() reports a
++"handshake failure" as follows:
++
++ SSLerr(SSL_F_SSL23_READ, SSL_R_SSL_HANDSHAKE_FAILURE);
++
++Function and reason codes should consist of upper case characters,
++numbers and underscores only. The error file generation script translates
++function codes into function names by looking in the header files
++for an appropriate function name, if none is found it just uses
++the capitalized form such as "SSL23_READ" in the above example.
++
++The trailing section of a reason code (after the "_R_") is translated
++into lower case and underscores changed to spaces.
++
++When you are using new function or reason codes, run B<make errors>.
++The necessary B<#define>s will then automatically be added to the
++sub-library's header file.
++
++Although a library will normally report errors using its own specific
++XXXerr macro, another library's macro can be used. This is normally
++only done when a library wants to include ASN1 code which must use
++the ASN1err() macro.
++
++=head2 Adding new libraries
++
++When adding a new sub-library to OpenSSL, assign it a library number
++B<ERR_LIB_XXX>, define a macro XXXerr() (both in B<err.h>), add its
++name to B<ERR_str_libraries[]> (in B<crypto/err/err.c>), and add
++C<ERR_load_XXX_strings()> to the ERR_load_crypto_strings() function
++(in B<crypto/err/err_all.c>). Finally, add an entry
++
++ L XXX xxx.h xxx_err.c
++
++to B<crypto/err/openssl.ec>, and add B<xxx_err.c> to the Makefile.
++Running B<make errors> will then generate a file B<xxx_err.c>, and
++add all error codes used in the library to B<xxx.h>.
++
++Additionally the library include file must have a certain form.
++Typically it will initially look like this:
++
++ #ifndef HEADER_XXX_H
++ #define HEADER_XXX_H
++
++ #ifdef __cplusplus
++ extern "C" {
++ #endif
++
++ /* Include files */
++
++ #include <openssl/bio.h>
++ #include <openssl/x509.h>
++
++ /* Macros, structures and function prototypes */
++
++
++ /* BEGIN ERROR CODES */
++
++The B<BEGIN ERROR CODES> sequence is used by the error code
++generation script as the point to place new error codes, any text
++after this point will be overwritten when B<make errors> is run.
++The closing #endif etc will be automatically added by the script.
++
++The generated C error code file B<xxx_err.c> will load the header
++files B<stdio.h>, B<openssl/err.h> and B<openssl/xxx.h> so the
++header file must load any additional header files containing any
++definitions it uses.
++
++=head1 USING ERROR CODES IN EXTERNAL LIBRARIES
++
++It is also possible to use OpenSSL's error code scheme in external
++libraries. The library needs to load its own codes and call the OpenSSL
++error code insertion script B<mkerr.pl> explicitly to add codes to
++the header file and generate the C error code file. This will normally
++be done if the external library needs to generate new ASN1 structures
++but it can also be used to add more general purpose error code handling.
++
++TBA more details
++
++=head1 INTERNALS
++
++The error queues are stored in a hash table with one B<ERR_STATE>
++entry for each pid. ERR_get_state() returns the current thread's
++B<ERR_STATE>. An B<ERR_STATE> can hold up to B<ERR_NUM_ERRORS> error
++codes. When more error codes are added, the old ones are overwritten,
++on the assumption that the most recent errors are most important.
++
++Error strings are also stored in hash table. The hash tables can
++be obtained by calling ERR_get_err_state_table(void) and
++ERR_get_string_table(void) respectively.
++
++=head1 SEE ALSO
++
++L<CRYPTO_set_id_callback(3)|CRYPTO_set_id_callback(3)>,
++L<CRYPTO_set_locking_callback(3)|CRYPTO_set_locking_callback(3)>,
++L<ERR_get_error(3)|ERR_get_error(3)>,
++L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>,
++L<ERR_clear_error(3)|ERR_clear_error(3)>,
++L<ERR_error_string(3)|ERR_error_string(3)>,
++L<ERR_print_errors(3)|ERR_print_errors(3)>,
++L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
++L<ERR_remove_state(3)|ERR_remove_state(3)>,
++L<ERR_put_error(3)|ERR_put_error(3)>,
++L<ERR_load_strings(3)|ERR_load_strings(3)>,
++L<SSL_get_error(3)|SSL_get_error(3)>
++
++=cut
+--- doc/crypto/openssl_rand.pod 1970-01-01 01:00:00.000000000 +0100
++++ doc/crypto/openssl_rand.pod 2010-04-01 00:45:01.059660101 +0200
+@@ -0,0 +1,175 @@
++=pod
++
++=head1 NAME
++
++openssl_rand - pseudo-random number generator
++
++=head1 SYNOPSIS
++
++ #include <openssl/rand.h>
++
++ int RAND_set_rand_engine(ENGINE *engine);
++
++ int RAND_bytes(unsigned char *buf, int num);
++ int RAND_pseudo_bytes(unsigned char *buf, int num);
++
++ void RAND_seed(const void *buf, int num);
++ void RAND_add(const void *buf, int num, int entropy);
++ int RAND_status(void);
++
++ int RAND_load_file(const char *file, long max_bytes);
++ int RAND_write_file(const char *file);
++ const char *RAND_file_name(char *file, size_t num);
++
++ int RAND_egd(const char *path);
++
++ void RAND_set_rand_method(const RAND_METHOD *meth);
++ const RAND_METHOD *RAND_get_rand_method(void);
++ RAND_METHOD *RAND_SSLeay(void);
++
++ void RAND_cleanup(void);
++
++ /* For Win32 only */
++ void RAND_screen(void);
++ int RAND_event(UINT, WPARAM, LPARAM);
++
++=head1 DESCRIPTION
++
++Since the introduction of the ENGINE API, the recommended way of controlling
++default implementations is by using the ENGINE API functions. The default
++B<RAND_METHOD>, as set by RAND_set_rand_method() and returned by
++RAND_get_rand_method(), is only used if no ENGINE has been set as the default
++"rand" implementation. Hence, these two functions are no longer the recommened
++way to control defaults.
++
++If an alternative B<RAND_METHOD> implementation is being used (either set
++directly or as provided by an ENGINE module), then it is entirely responsible
++for the generation and management of a cryptographically secure PRNG stream. The
++mechanisms described below relate solely to the software PRNG implementation
++built in to OpenSSL and used by default.
++
++These functions implement a cryptographically secure pseudo-random
++number generator (PRNG). It is used by other library functions for
++example to generate random keys, and applications can use it when they
++need randomness.
++
++A cryptographic PRNG must be seeded with unpredictable data such as
++mouse movements or keys pressed at random by the user. This is
++described in L<RAND_add(3)|RAND_add(3)>. Its state can be saved in a seed file
++(see L<RAND_load_file(3)|RAND_load_file(3)>) to avoid having to go through the
++seeding process whenever the application is started.
++
++L<RAND_bytes(3)|RAND_bytes(3)> describes how to obtain random data from the
++PRNG.
++
++=head1 INTERNALS
++
++The RAND_SSLeay() method implements a PRNG based on a cryptographic
++hash function.
++
++The following description of its design is based on the SSLeay
++documentation:
++
++First up I will state the things I believe I need for a good RNG.
++
++=over 4
++
++=item 1
++
++A good hashing algorithm to mix things up and to convert the RNG 'state'
++to random numbers.
++
++=item 2
++
++An initial source of random 'state'.
++
++=item 3
++
++The state should be very large. If the RNG is being used to generate
++4096 bit RSA keys, 2 2048 bit random strings are required (at a minimum).
++If your RNG state only has 128 bits, you are obviously limiting the
++search space to 128 bits, not 2048. I'm probably getting a little
++carried away on this last point but it does indicate that it may not be
++a bad idea to keep quite a lot of RNG state. It should be easier to
++break a cipher than guess the RNG seed data.
++
++=item 4
++
++Any RNG seed data should influence all subsequent random numbers
++generated. This implies that any random seed data entered will have
++an influence on all subsequent random numbers generated.
++
++=item 5
++
++When using data to seed the RNG state, the data used should not be
++extractable from the RNG state. I believe this should be a
++requirement because one possible source of 'secret' semi random
++data would be a private key or a password. This data must
++not be disclosed by either subsequent random numbers or a
++'core' dump left by a program crash.
++
++=item 6
++
++Given the same initial 'state', 2 systems should deviate in their RNG state
++(and hence the random numbers generated) over time if at all possible.
++
++=item 7
++
++Given the random number output stream, it should not be possible to determine
++the RNG state or the next random number.
++
++=back
++
++The algorithm is as follows.
++
++There is global state made up of a 1023 byte buffer (the 'state'), a
++working hash value ('md'), and a counter ('count').
++
++Whenever seed data is added, it is inserted into the 'state' as
++follows.
++
++The input is chopped up into units of 20 bytes (or less for
++the last block). Each of these blocks is run through the hash
++function as follows: The data passed to the hash function
++is the current 'md', the same number of bytes from the 'state'
++(the location determined by in incremented looping index) as
++the current 'block', the new key data 'block', and 'count'
++(which is incremented after each use).
++The result of this is kept in 'md' and also xored into the
++'state' at the same locations that were used as input into the
++hash function. I
++believe this system addresses points 1 (hash function; currently
++SHA-1), 3 (the 'state'), 4 (via the 'md'), 5 (by the use of a hash
++function and xor).
++
++When bytes are extracted from the RNG, the following process is used.
++For each group of 10 bytes (or less), we do the following:
++
++Input into the hash function the local 'md' (which is initialized from
++the global 'md' before any bytes are generated), the bytes that are to
++be overwritten by the random bytes, and bytes from the 'state'
++(incrementing looping index). From this digest output (which is kept
++in 'md'), the top (up to) 10 bytes are returned to the caller and the
++bottom 10 bytes are xored into the 'state'.
++
++Finally, after we have finished 'num' random bytes for the caller,
++'count' (which is incremented) and the local and global 'md' are fed
++into the hash function and the results are kept in the global 'md'.
++
++I believe the above addressed points 1 (use of SHA-1), 6 (by hashing
++into the 'state' the 'old' data from the caller that is about to be
++overwritten) and 7 (by not using the 10 bytes given to the caller to
++update the 'state', but they are used to update 'md').
++
++So of the points raised, only 2 is not addressed (but see
++L<RAND_add(3)|RAND_add(3)>).
++
++=head1 SEE ALSO
++
++L<BN_rand(3)|BN_rand(3)>, L<RAND_add(3)|RAND_add(3)>,
++L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_egd(3)|RAND_egd(3)>,
++L<RAND_bytes(3)|RAND_bytes(3)>,
++L<RAND_set_rand_method(3)|RAND_set_rand_method(3)>,
++L<RAND_cleanup(3)|RAND_cleanup(3)>
++
++=cut
+--- doc/crypto/openssl_threads.pod 1970-01-01 01:00:00.000000000 +0100
++++ doc/crypto/openssl_threads.pod 2009-10-01 01:40:52.000000000 +0200
+@@ -0,0 +1,210 @@
++=pod
++
++=head1 NAME
++
++CRYPTO_THREADID_set_callback, CRYPTO_THREADID_get_callback,
++CRYPTO_THREADID_current, CRYPTO_THREADID_cmp, CRYPTO_THREADID_cpy,
++CRYPTO_THREADID_hash, CRYPTO_set_locking_callback, CRYPTO_num_locks,
++CRYPTO_set_dynlock_create_callback, CRYPTO_set_dynlock_lock_callback,
++CRYPTO_set_dynlock_destroy_callback, CRYPTO_get_new_dynlockid,
++CRYPTO_destroy_dynlockid, CRYPTO_lock - OpenSSL thread support
++
++=head1 SYNOPSIS
++
++ #include <openssl/crypto.h>
++
++ /* Don't use this structure directly. */
++ typedef struct crypto_threadid_st
++ {
++ void *ptr;
++ unsigned long val;
++ } CRYPTO_THREADID;
++ /* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */
++ void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val);
++ void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr);
++ int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *));
++ void (*CRYPTO_THREADID_get_callback(void))(CRYPTO_THREADID *);
++ void CRYPTO_THREADID_current(CRYPTO_THREADID *id);
++ int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a,
++ const CRYPTO_THREADID *b);
++ void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest,
++ const CRYPTO_THREADID *src);
++ unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id);
++
++ int CRYPTO_num_locks(void);
++
++ /* struct CRYPTO_dynlock_value needs to be defined by the user */
++ struct CRYPTO_dynlock_value;
++
++ void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *
++ (*dyn_create_function)(char *file, int line));
++ void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)
++ (int mode, struct CRYPTO_dynlock_value *l,
++ const char *file, int line));
++ void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)
++ (struct CRYPTO_dynlock_value *l, const char *file, int line));
++
++ int CRYPTO_get_new_dynlockid(void);
++
++ void CRYPTO_destroy_dynlockid(int i);
++
++ void CRYPTO_lock(int mode, int n, const char *file, int line);
++
++ #define CRYPTO_w_lock(type) \
++ CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
++ #define CRYPTO_w_unlock(type) \
++ CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
++ #define CRYPTO_r_lock(type) \
++ CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__)
++ #define CRYPTO_r_unlock(type) \
++ CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__)
++ #define CRYPTO_add(addr,amount,type) \
++ CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__)
++
++=head1 DESCRIPTION
++
++OpenSSL can safely be used in multi-threaded applications provided
++that at least two callback functions are set, locking_function and
++threadid_func.
++
++locking_function(int mode, int n, const char *file, int line) is
++needed to perform locking on shared data structures.
++(Note that OpenSSL uses a number of global data structures that
++will be implicitly shared whenever multiple threads use OpenSSL.)
++Multi-threaded applications will crash at random if it is not set.
++
++locking_function() must be able to handle up to CRYPTO_num_locks()
++different mutex locks. It sets the B<n>-th lock if B<mode> &
++B<CRYPTO_LOCK>, and releases it otherwise.
++
++B<file> and B<line> are the file number of the function setting the
++lock. They can be useful for debugging.
++
++threadid_func(CRYPTO_THREADID *id) is needed to record the currently-executing
++thread's identifier into B<id>. The implementation of this callback should not
++fill in B<id> directly, but should use CRYPTO_THREADID_set_numeric() if thread
++IDs are numeric, or CRYPTO_THREADID_set_pointer() if they are pointer-based.
++If the application does not register such a callback using
++CRYPTO_THREADID_set_callback(), then a default implementation is used - on
++Windows and BeOS this uses the system's default thread identifying APIs, and on
++all other platforms it uses the address of B<errno>. The latter is satisfactory
++for thread-safety if and only if the platform has a thread-local error number
++facility.
++
++Once threadid_func() is registered, or if the built-in default implementation is
++to be used;
++
++=over 4
++
++=item *
++CRYPTO_THREADID_current() records the currently-executing thread ID into the
++given B<id> object.
++
++=item *
++CRYPTO_THREADID_cmp() compares two thread IDs (returning zero for equality, ie.
++the same semantics as memcmp()).
++
++=item *
++CRYPTO_THREADID_cpy() duplicates a thread ID value,
++
++=item *
++CRYPTO_THREADID_hash() returns a numeric value usable as a hash-table key. This
++is usually the exact numeric or pointer-based thread ID used internally, however
++this also handles the unusual case where pointers are larger than 'long'
++variables and the platform's thread IDs are pointer-based - in this case, mixing
++is done to attempt to produce a unique numeric value even though it is not as
++wide as the platform's true thread IDs.
++
++=back
++
++Additionally, OpenSSL supports dynamic locks, and sometimes, some parts
++of OpenSSL need it for better performance. To enable this, the following
++is required:
++
++=over 4
++
++=item *
++Three additional callback function, dyn_create_function, dyn_lock_function
++and dyn_destroy_function.
++
++=item *
++A structure defined with the data that each lock needs to handle.
++
++=back
++
++struct CRYPTO_dynlock_value has to be defined to contain whatever structure
++is needed to handle locks.
++
++dyn_create_function(const char *file, int line) is needed to create a
++lock. Multi-threaded applications might crash at random if it is not set.
++
++dyn_lock_function(int mode, CRYPTO_dynlock *l, const char *file, int line)
++is needed to perform locking off dynamic lock numbered n. Multi-threaded
++applications might crash at random if it is not set.
++
++dyn_destroy_function(CRYPTO_dynlock *l, const char *file, int line) is
++needed to destroy the lock l. Multi-threaded applications might crash at
++random if it is not set.
++
++CRYPTO_get_new_dynlockid() is used to create locks. It will call
++dyn_create_function for the actual creation.
++
++CRYPTO_destroy_dynlockid() is used to destroy locks. It will call
++dyn_destroy_function for the actual destruction.
++
++CRYPTO_lock() is used to lock and unlock the locks. mode is a bitfield
++describing what should be done with the lock. n is the number of the
++lock as returned from CRYPTO_get_new_dynlockid(). mode can be combined
++from the following values. These values are pairwise exclusive, with
++undefined behaviour if misused (for example, CRYPTO_READ and CRYPTO_WRITE
++should not be used together):
++
++ CRYPTO_LOCK 0x01
++ CRYPTO_UNLOCK 0x02
++ CRYPTO_READ 0x04
++ CRYPTO_WRITE 0x08
++
++=head1 RETURN VALUES
++
++CRYPTO_num_locks() returns the required number of locks.
++
++CRYPTO_get_new_dynlockid() returns the index to the newly created lock.
++
++The other functions return no values.
++
++=head1 NOTES
++
++You can find out if OpenSSL was configured with thread support:
++
++ #define OPENSSL_THREAD_DEFINES
++ #include <openssl/opensslconf.h>
++ #if defined(OPENSSL_THREADS)
++ // thread support enabled
++ #else
++ // no thread support
++ #endif
++
++Also, dynamic locks are currently not used internally by OpenSSL, but
++may do so in the future.
++
++=head1 EXAMPLES
++
++B<crypto/threads/mttest.c> shows examples of the callback functions on
++Solaris, Irix and Win32.
++
++=head1 HISTORY
++
++CRYPTO_set_locking_callback() is
++available in all versions of SSLeay and OpenSSL.
++CRYPTO_num_locks() was added in OpenSSL 0.9.4.
++All functions dealing with dynamic locks were added in OpenSSL 0.9.5b-dev.
++B<CRYPTO_THREADID> and associated functions were introduced in OpenSSL 1.0.0
++to replace (actually, deprecate) the previous CRYPTO_set_id_callback(),
++CRYPTO_get_id_callback(), and CRYPTO_thread_id() functions which assumed
++thread IDs to always be represented by 'unsigned long'.
++
++=head1 SEE ALSO
++
++L<crypto(3)|crypto(3)>
++
++=cut
+--- doc/crypto/RAND_add.pod 2000-03-22 16:30:03.000000000 +0100
++++ doc/crypto/RAND_add.pod 2010-04-01 00:45:00.939660251 +0200
+@@ -65,7 +65,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>, L<RAND_egd(3)|RAND_egd(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<RAND_egd(3)|RAND_egd(3)>,
+ L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
+
+ =head1 HISTORY
+--- doc/crypto/RAND_bytes.pod 2007-09-24 13:01:18.000000000 +0200
++++ doc/crypto/RAND_bytes.pod 2010-04-01 00:45:00.946326823 +0200
+@@ -38,7 +38,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
+ L<RAND_add(3)|RAND_add(3)>
+
+ =head1 HISTORY
+--- doc/crypto/RAND_cleanup.pod 2000-01-27 02:25:06.000000000 +0100
++++ doc/crypto/RAND_cleanup.pod 2010-04-01 00:45:00.952993593 +0200
+@@ -20,7 +20,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>
++L<openssl_rand(3)|openssl_rand(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/RAND_egd.pod 2008-11-10 12:26:44.000000000 +0100
++++ doc/crypto/RAND_egd.pod 2010-04-01 00:45:00.959660646 +0200
+@@ -72,7 +72,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>, L<RAND_add(3)|RAND_add(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<RAND_add(3)|RAND_add(3)>,
+ L<RAND_cleanup(3)|RAND_cleanup(3)>
+
+ =head1 HISTORY
+--- doc/crypto/RAND_load_file.pod 2001-03-21 16:25:56.000000000 +0100
++++ doc/crypto/RAND_load_file.pod 2010-04-01 00:45:00.976327494 +0200
+@@ -43,7 +43,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>, L<RAND_add(3)|RAND_add(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
++L<openssl_rand(3)|openssl_rand(3)>, L<RAND_add(3)|RAND_add(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/rand.pod 2002-08-05 18:27:01.000000000 +0200
++++ doc/crypto/rand.pod 1970-01-01 01:00:00.000000000 +0100
+@@ -1,175 +0,0 @@
+-=pod
+-
+-=head1 NAME
+-
+-rand - pseudo-random number generator
+-
+-=head1 SYNOPSIS
+-
+- #include <openssl/rand.h>
+-
+- int RAND_set_rand_engine(ENGINE *engine);
+-
+- int RAND_bytes(unsigned char *buf, int num);
+- int RAND_pseudo_bytes(unsigned char *buf, int num);
+-
+- void RAND_seed(const void *buf, int num);
+- void RAND_add(const void *buf, int num, int entropy);
+- int RAND_status(void);
+-
+- int RAND_load_file(const char *file, long max_bytes);
+- int RAND_write_file(const char *file);
+- const char *RAND_file_name(char *file, size_t num);
+-
+- int RAND_egd(const char *path);
+-
+- void RAND_set_rand_method(const RAND_METHOD *meth);
+- const RAND_METHOD *RAND_get_rand_method(void);
+- RAND_METHOD *RAND_SSLeay(void);
+-
+- void RAND_cleanup(void);
+-
+- /* For Win32 only */
+- void RAND_screen(void);
+- int RAND_event(UINT, WPARAM, LPARAM);
+-
+-=head1 DESCRIPTION
+-
+-Since the introduction of the ENGINE API, the recommended way of controlling
+-default implementations is by using the ENGINE API functions. The default
+-B<RAND_METHOD>, as set by RAND_set_rand_method() and returned by
+-RAND_get_rand_method(), is only used if no ENGINE has been set as the default
+-"rand" implementation. Hence, these two functions are no longer the recommened
+-way to control defaults.
+-
+-If an alternative B<RAND_METHOD> implementation is being used (either set
+-directly or as provided by an ENGINE module), then it is entirely responsible
+-for the generation and management of a cryptographically secure PRNG stream. The
+-mechanisms described below relate solely to the software PRNG implementation
+-built in to OpenSSL and used by default.
+-
+-These functions implement a cryptographically secure pseudo-random
+-number generator (PRNG). It is used by other library functions for
+-example to generate random keys, and applications can use it when they
+-need randomness.
+-
+-A cryptographic PRNG must be seeded with unpredictable data such as
+-mouse movements or keys pressed at random by the user. This is
+-described in L<RAND_add(3)|RAND_add(3)>. Its state can be saved in a seed file
+-(see L<RAND_load_file(3)|RAND_load_file(3)>) to avoid having to go through the
+-seeding process whenever the application is started.
+-
+-L<RAND_bytes(3)|RAND_bytes(3)> describes how to obtain random data from the
+-PRNG.
+-
+-=head1 INTERNALS
+-
+-The RAND_SSLeay() method implements a PRNG based on a cryptographic
+-hash function.
+-
+-The following description of its design is based on the SSLeay
+-documentation:
+-
+-First up I will state the things I believe I need for a good RNG.
+-
+-=over 4
+-
+-=item 1
+-
+-A good hashing algorithm to mix things up and to convert the RNG 'state'
+-to random numbers.
+-
+-=item 2
+-
+-An initial source of random 'state'.
+-
+-=item 3
+-
+-The state should be very large. If the RNG is being used to generate
+-4096 bit RSA keys, 2 2048 bit random strings are required (at a minimum).
+-If your RNG state only has 128 bits, you are obviously limiting the
+-search space to 128 bits, not 2048. I'm probably getting a little
+-carried away on this last point but it does indicate that it may not be
+-a bad idea to keep quite a lot of RNG state. It should be easier to
+-break a cipher than guess the RNG seed data.
+-
+-=item 4
+-
+-Any RNG seed data should influence all subsequent random numbers
+-generated. This implies that any random seed data entered will have
+-an influence on all subsequent random numbers generated.
+-
+-=item 5
+-
+-When using data to seed the RNG state, the data used should not be
+-extractable from the RNG state. I believe this should be a
+-requirement because one possible source of 'secret' semi random
+-data would be a private key or a password. This data must
+-not be disclosed by either subsequent random numbers or a
+-'core' dump left by a program crash.
+-
+-=item 6
+-
+-Given the same initial 'state', 2 systems should deviate in their RNG state
+-(and hence the random numbers generated) over time if at all possible.
+-
+-=item 7
+-
+-Given the random number output stream, it should not be possible to determine
+-the RNG state or the next random number.
+-
+-=back
+-
+-The algorithm is as follows.
+-
+-There is global state made up of a 1023 byte buffer (the 'state'), a
+-working hash value ('md'), and a counter ('count').
+-
+-Whenever seed data is added, it is inserted into the 'state' as
+-follows.
+-
+-The input is chopped up into units of 20 bytes (or less for
+-the last block). Each of these blocks is run through the hash
+-function as follows: The data passed to the hash function
+-is the current 'md', the same number of bytes from the 'state'
+-(the location determined by in incremented looping index) as
+-the current 'block', the new key data 'block', and 'count'
+-(which is incremented after each use).
+-The result of this is kept in 'md' and also xored into the
+-'state' at the same locations that were used as input into the
+-hash function. I
+-believe this system addresses points 1 (hash function; currently
+-SHA-1), 3 (the 'state'), 4 (via the 'md'), 5 (by the use of a hash
+-function and xor).
+-
+-When bytes are extracted from the RNG, the following process is used.
+-For each group of 10 bytes (or less), we do the following:
+-
+-Input into the hash function the local 'md' (which is initialized from
+-the global 'md' before any bytes are generated), the bytes that are to
+-be overwritten by the random bytes, and bytes from the 'state'
+-(incrementing looping index). From this digest output (which is kept
+-in 'md'), the top (up to) 10 bytes are returned to the caller and the
+-bottom 10 bytes are xored into the 'state'.
+-
+-Finally, after we have finished 'num' random bytes for the caller,
+-'count' (which is incremented) and the local and global 'md' are fed
+-into the hash function and the results are kept in the global 'md'.
+-
+-I believe the above addressed points 1 (use of SHA-1), 6 (by hashing
+-into the 'state' the 'old' data from the caller that is about to be
+-overwritten) and 7 (by not using the 10 bytes given to the caller to
+-update the 'state', but they are used to update 'md').
+-
+-So of the points raised, only 2 is not addressed (but see
+-L<RAND_add(3)|RAND_add(3)>).
+-
+-=head1 SEE ALSO
+-
+-L<BN_rand(3)|BN_rand(3)>, L<RAND_add(3)|RAND_add(3)>,
+-L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_egd(3)|RAND_egd(3)>,
+-L<RAND_bytes(3)|RAND_bytes(3)>,
+-L<RAND_set_rand_method(3)|RAND_set_rand_method(3)>,
+-L<RAND_cleanup(3)|RAND_cleanup(3)>
+-
+-=cut
+--- doc/crypto/RAND_set_rand_method.pod 2007-11-19 10:18:03.000000000 +0100
++++ doc/crypto/RAND_set_rand_method.pod 2010-04-01 00:45:00.982994946 +0200
+@@ -67,7 +67,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>, L<engine(3)|engine(3)>
++L<openssl_rand(3)|openssl_rand(3)>, L<engine(3)|engine(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/RSA_blinding_on.pod 2000-02-24 12:55:10.000000000 +0100
++++ doc/crypto/RSA_blinding_on.pod 2010-04-01 00:45:00.989661318 +0200
+@@ -34,7 +34,7 @@
+
+ =head1 SEE ALSO
+
+-L<rsa(3)|rsa(3)>, L<rand(3)|rand(3)>
++L<rsa(3)|rsa(3)>, L<openssl_rand(3)|openssl_rand(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/RSA_generate_key.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/RSA_generate_key.pod 2010-04-01 00:45:00.996327969 +0200
+@@ -59,7 +59,7 @@
+
+ =head1 SEE ALSO
+
+-L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
++L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>,
+ L<RSA_free(3)|RSA_free(3)>
+
+ =head1 HISTORY
+--- doc/crypto/rsa.pod 2002-08-04 23:08:36.000000000 +0200
++++ doc/crypto/rsa.pod 2010-04-01 00:45:01.062995006 +0200
+@@ -108,7 +108,7 @@
+ =head1 SEE ALSO
+
+ L<rsa(1)|rsa(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>,
+-L<rand(3)|rand(3)>, L<engine(3)|engine(3)>, L<RSA_new(3)|RSA_new(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<engine(3)|engine(3)>, L<RSA_new(3)|RSA_new(3)>,
+ L<RSA_public_encrypt(3)|RSA_public_encrypt(3)>,
+ L<RSA_sign(3)|RSA_sign(3)>, L<RSA_size(3)|RSA_size(3)>,
+ L<RSA_generate_key(3)|RSA_generate_key(3)>,
+--- doc/crypto/RSA_public_encrypt.pod 2004-03-23 22:01:34.000000000 +0100
++++ doc/crypto/RSA_public_encrypt.pod 2010-04-01 00:45:01.002994781 +0200
+@@ -73,7 +73,7 @@
+
+ =head1 SEE ALSO
+
+-L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
++L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>,
+ L<RSA_size(3)|RSA_size(3)>
+
+ =head1 HISTORY
+--- doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod 2002-09-25 15:33:28.000000000 +0200
++++ doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod 2010-04-01 00:45:01.009660553 +0200
+@@ -48,7 +48,7 @@
+ =head1 SEE ALSO
+
+ L<ERR_get_error(3)|ERR_get_error(3)>, L<objects(3)|objects(3)>,
+-L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>,
+ L<RSA_verify(3)|RSA_verify(3)>
+
+ =head1 HISTORY
+--- doc/crypto/threads.pod 2009-10-01 01:40:52.000000000 +0200
++++ doc/crypto/threads.pod 1970-01-01 01:00:00.000000000 +0100
+@@ -1,210 +0,0 @@
+-=pod
+-
+-=head1 NAME
+-
+-CRYPTO_THREADID_set_callback, CRYPTO_THREADID_get_callback,
+-CRYPTO_THREADID_current, CRYPTO_THREADID_cmp, CRYPTO_THREADID_cpy,
+-CRYPTO_THREADID_hash, CRYPTO_set_locking_callback, CRYPTO_num_locks,
+-CRYPTO_set_dynlock_create_callback, CRYPTO_set_dynlock_lock_callback,
+-CRYPTO_set_dynlock_destroy_callback, CRYPTO_get_new_dynlockid,
+-CRYPTO_destroy_dynlockid, CRYPTO_lock - OpenSSL thread support
+-
+-=head1 SYNOPSIS
+-
+- #include <openssl/crypto.h>
+-
+- /* Don't use this structure directly. */
+- typedef struct crypto_threadid_st
+- {
+- void *ptr;
+- unsigned long val;
+- } CRYPTO_THREADID;
+- /* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */
+- void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val);
+- void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr);
+- int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *));
+- void (*CRYPTO_THREADID_get_callback(void))(CRYPTO_THREADID *);
+- void CRYPTO_THREADID_current(CRYPTO_THREADID *id);
+- int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a,
+- const CRYPTO_THREADID *b);
+- void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest,
+- const CRYPTO_THREADID *src);
+- unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id);
+-
+- int CRYPTO_num_locks(void);
+-
+- /* struct CRYPTO_dynlock_value needs to be defined by the user */
+- struct CRYPTO_dynlock_value;
+-
+- void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *
+- (*dyn_create_function)(char *file, int line));
+- void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)
+- (int mode, struct CRYPTO_dynlock_value *l,
+- const char *file, int line));
+- void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)
+- (struct CRYPTO_dynlock_value *l, const char *file, int line));
+-
+- int CRYPTO_get_new_dynlockid(void);
+-
+- void CRYPTO_destroy_dynlockid(int i);
+-
+- void CRYPTO_lock(int mode, int n, const char *file, int line);
+-
+- #define CRYPTO_w_lock(type) \
+- CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
+- #define CRYPTO_w_unlock(type) \
+- CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
+- #define CRYPTO_r_lock(type) \
+- CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__)
+- #define CRYPTO_r_unlock(type) \
+- CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__)
+- #define CRYPTO_add(addr,amount,type) \
+- CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__)
+-
+-=head1 DESCRIPTION
+-
+-OpenSSL can safely be used in multi-threaded applications provided
+-that at least two callback functions are set, locking_function and
+-threadid_func.
+-
+-locking_function(int mode, int n, const char *file, int line) is
+-needed to perform locking on shared data structures.
+-(Note that OpenSSL uses a number of global data structures that
+-will be implicitly shared whenever multiple threads use OpenSSL.)
+-Multi-threaded applications will crash at random if it is not set.
+-
+-locking_function() must be able to handle up to CRYPTO_num_locks()
+-different mutex locks. It sets the B<n>-th lock if B<mode> &
+-B<CRYPTO_LOCK>, and releases it otherwise.
+-
+-B<file> and B<line> are the file number of the function setting the
+-lock. They can be useful for debugging.
+-
+-threadid_func(CRYPTO_THREADID *id) is needed to record the currently-executing
+-thread's identifier into B<id>. The implementation of this callback should not
+-fill in B<id> directly, but should use CRYPTO_THREADID_set_numeric() if thread
+-IDs are numeric, or CRYPTO_THREADID_set_pointer() if they are pointer-based.
+-If the application does not register such a callback using
+-CRYPTO_THREADID_set_callback(), then a default implementation is used - on
+-Windows and BeOS this uses the system's default thread identifying APIs, and on
+-all other platforms it uses the address of B<errno>. The latter is satisfactory
+-for thread-safety if and only if the platform has a thread-local error number
+-facility.
+-
+-Once threadid_func() is registered, or if the built-in default implementation is
+-to be used;
+-
+-=over 4
+-
+-=item *
+-CRYPTO_THREADID_current() records the currently-executing thread ID into the
+-given B<id> object.
+-
+-=item *
+-CRYPTO_THREADID_cmp() compares two thread IDs (returning zero for equality, ie.
+-the same semantics as memcmp()).
+-
+-=item *
+-CRYPTO_THREADID_cpy() duplicates a thread ID value,
+-
+-=item *
+-CRYPTO_THREADID_hash() returns a numeric value usable as a hash-table key. This
+-is usually the exact numeric or pointer-based thread ID used internally, however
+-this also handles the unusual case where pointers are larger than 'long'
+-variables and the platform's thread IDs are pointer-based - in this case, mixing
+-is done to attempt to produce a unique numeric value even though it is not as
+-wide as the platform's true thread IDs.
+-
+-=back
+-
+-Additionally, OpenSSL supports dynamic locks, and sometimes, some parts
+-of OpenSSL need it for better performance. To enable this, the following
+-is required:
+-
+-=over 4
+-
+-=item *
+-Three additional callback function, dyn_create_function, dyn_lock_function
+-and dyn_destroy_function.
+-
+-=item *
+-A structure defined with the data that each lock needs to handle.
+-
+-=back
+-
+-struct CRYPTO_dynlock_value has to be defined to contain whatever structure
+-is needed to handle locks.
+-
+-dyn_create_function(const char *file, int line) is needed to create a
+-lock. Multi-threaded applications might crash at random if it is not set.
+-
+-dyn_lock_function(int mode, CRYPTO_dynlock *l, const char *file, int line)
+-is needed to perform locking off dynamic lock numbered n. Multi-threaded
+-applications might crash at random if it is not set.
+-
+-dyn_destroy_function(CRYPTO_dynlock *l, const char *file, int line) is
+-needed to destroy the lock l. Multi-threaded applications might crash at
+-random if it is not set.
+-
+-CRYPTO_get_new_dynlockid() is used to create locks. It will call
+-dyn_create_function for the actual creation.
+-
+-CRYPTO_destroy_dynlockid() is used to destroy locks. It will call
+-dyn_destroy_function for the actual destruction.
+-
+-CRYPTO_lock() is used to lock and unlock the locks. mode is a bitfield
+-describing what should be done with the lock. n is the number of the
+-lock as returned from CRYPTO_get_new_dynlockid(). mode can be combined
+-from the following values. These values are pairwise exclusive, with
+-undefined behaviour if misused (for example, CRYPTO_READ and CRYPTO_WRITE
+-should not be used together):
+-
+- CRYPTO_LOCK 0x01
+- CRYPTO_UNLOCK 0x02
+- CRYPTO_READ 0x04
+- CRYPTO_WRITE 0x08
+-
+-=head1 RETURN VALUES
+-
+-CRYPTO_num_locks() returns the required number of locks.
+-
+-CRYPTO_get_new_dynlockid() returns the index to the newly created lock.
+-
+-The other functions return no values.
+-
+-=head1 NOTES
+-
+-You can find out if OpenSSL was configured with thread support:
+-
+- #define OPENSSL_THREAD_DEFINES
+- #include <openssl/opensslconf.h>
+- #if defined(OPENSSL_THREADS)
+- // thread support enabled
+- #else
+- // no thread support
+- #endif
+-
+-Also, dynamic locks are currently not used internally by OpenSSL, but
+-may do so in the future.
+-
+-=head1 EXAMPLES
+-
+-B<crypto/threads/mttest.c> shows examples of the callback functions on
+-Solaris, Irix and Win32.
+-
+-=head1 HISTORY
+-
+-CRYPTO_set_locking_callback() is
+-available in all versions of SSLeay and OpenSSL.
+-CRYPTO_num_locks() was added in OpenSSL 0.9.4.
+-All functions dealing with dynamic locks were added in OpenSSL 0.9.5b-dev.
+-B<CRYPTO_THREADID> and associated functions were introduced in OpenSSL 1.0.0
+-to replace (actually, deprecate) the previous CRYPTO_set_id_callback(),
+-CRYPTO_get_id_callback(), and CRYPTO_thread_id() functions which assumed
+-thread IDs to always be represented by 'unsigned long'.
+-
+-=head1 SEE ALSO
+-
+-L<crypto(3)|crypto(3)>
+-
+-=cut
+--- doc/crypto/X509_NAME_ENTRY_get_object.pod 2006-05-14 13:27:59.000000000 +0200
++++ doc/crypto/X509_NAME_ENTRY_get_object.pod 2010-04-01 00:45:01.016327524 +0200
+@@ -65,7 +65,7 @@
+ =head1 SEE ALSO
+
+ L<ERR_get_error(3)|ERR_get_error(3)>, L<d2i_X509_NAME(3)|d2i_X509_NAME(3)>,
+-L<OBJ_nid2obj(3),OBJ_nid2obj(3)>
++L<OBJ_nid2obj(3)|OBJ_nid2obj(3)>
+
+ =head1 HISTORY
+
+--- doc/ssl/SSL_get_error.pod 2005-03-30 13:50:14.000000000 +0200
++++ doc/ssl/SSL_get_error.pod 2010-04-01 00:45:03.069662282 +0200
+@@ -105,7 +105,7 @@
+
+ =head1 SEE ALSO
+
+-L<ssl(3)|ssl(3)>, L<err(3)|err(3)>
++L<ssl(3)|ssl(3)>, L<openssl_err(3)|openssl_err(3)>
+
+ =head1 HISTORY
+
+--- doc/ssl/SSL_want.pod 2005-03-30 13:50:14.000000000 +0200
++++ doc/ssl/SSL_want.pod 2010-04-01 00:45:03.082993225 +0200
+@@ -72,6 +72,6 @@
+
+ =head1 SEE ALSO
+
+-L<ssl(3)|ssl(3)>, L<err(3)|err(3)>, L<SSL_get_error(3)|SSL_get_error(3)>
++L<ssl(3)|ssl(3)>, L<openssl_err(3)|openssl_err(3)>, L<SSL_get_error(3)|SSL_get_error(3)>
+
+ =cut
+--- FAQ 2010-03-29 15:11:53.000000000 +0200
++++ FAQ 2010-04-01 00:46:00.593821225 +0200
+@@ -724,7 +724,7 @@
+ CRYPTO_set_id_callback(), for all versions of OpenSSL up to and
+ including 0.9.8[abc...]. As of version 0.9.9, CRYPTO_set_id_callback()
+ and associated APIs are deprecated by CRYPTO_THREADID_set_callback()
+-and friends. This is described in the threads(3) manpage.
++and friends. This is described in the openssl_threads(3) manpage.
+
+ * I've compiled a program under Windows and it crashes: why?
+
diff --git a/abs/core/openssl/no-rpath.patch b/abs/core/openssl/no-rpath.patch
new file mode 100644
index 0000000..ebd95e2
--- /dev/null
+++ b/abs/core/openssl/no-rpath.patch
@@ -0,0 +1,11 @@
+--- Makefile.shared.no-rpath 2005-06-23 22:47:54.000000000 +0200
++++ Makefile.shared 2005-11-16 22:35:37.000000000 +0100
+@@ -153,7 +153,7 @@
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+
+-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
++DO_GNU_APP=LDFLAGS="$(CFLAGS)"
+
+ #This is rather special. It's a special target with which one can link
+ #applications without bothering with any features that have anything to
diff --git a/abs/core/pacman-mirrorlist/PKGBUILD b/abs/core/pacman-mirrorlist/PKGBUILD
index 32bd639..76aa033 100644
--- a/abs/core/pacman-mirrorlist/PKGBUILD
+++ b/abs/core/pacman-mirrorlist/PKGBUILD
@@ -1,22 +1,34 @@
-# $Id: PKGBUILD 23382 2009-01-08 14:18:33Z allan $
+# $Id: PKGBUILD 83368 2010-06-21 12:46:38Z dan $
# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=pacman-mirrorlist
-pkgver=20090108
+pkgver=20100621
pkgrel=1
pkgdesc="Arch Linux mirror list for use by pacman"
-arch=('i686' 'x86_64')
+arch=('any')
url="http://www.archlinux.org/pacman/"
license=('GPL')
-groups=('base')
backup=(etc/pacman.d/mirrorlist)
source=(mirrorlist)
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
+
+# NOTE on building this package:
+# * Go to the trunk/ directory
+# * Run bash -c ". PKGBUILD; updatelist"
+# * Update the checksums, update pkgver
+# * Build the package
+
+updatelist() {
+ wget -O mirrorlist http://www.archlinux.org/mirrorlist/i686/all/
+ sed -i 's/i686/$arch/' mirrorlist
+}
+
build() {
mkdir -p $pkgdir/etc/pacman.d
install -m644 $srcdir/mirrorlist $pkgdir/etc/pacman.d/
- # customize mirrorlist to architecture
- sed -i -e "s/@carch@/${CARCH}/g" $pkgdir/etc/pacman.d/mirrorlist
}
-md5sums=('854aff1843e1cff2cf45aeef79a89279')
+md5sums=('506e96c2c64c5dbea880112bc5070a22')
+sha256sums=('03507e32ab9fc9988e0df164cb82c75316a0b043c584ae9240cf801600e55c31')
diff --git a/abs/core/pacman-mirrorlist/mirrorlist b/abs/core/pacman-mirrorlist/mirrorlist
index ef691e9..d8498f3 100644
--- a/abs/core/pacman-mirrorlist/mirrorlist
+++ b/abs/core/pacman-mirrorlist/mirrorlist
@@ -1,116 +1,282 @@
#
# Arch Linux repository mirrorlist
+# Generated on 2010-06-21
#
-# North America
-# - United States
-Server = ftp://ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/@carch@
-Server = http://archlinux.unixheads.org/$repo/os/@carch@
-Server = ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/@carch@
-Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/@carch@
-Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/@carch@
-Server = http://archlinux.umflint.edu/mirrors/archlinux/$repo/os/@carch@
-Server = http://mirror.neotuli.net/arch/$repo/os/@carch@
-Server = http://mirror.rit.edu/archlinux/$repo/os/@carch@
-Server = http://mirror.umoss.org/archlinux/$repo/os/@carch@
-Server = http://schlunix.org/archlinux/$repo/os/@carch@
-Server = http://mirror.archlinux.com.ve/$repo/os/@carch@
-Server = http://mirrors.gigenet.com/archlinux/$repo/os/@carch@
-# - Canada
-Server = ftp://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/@carch@
-Server = ftp://mirrors.portafixe.com/archlinux/$repo/os/@carch@
-
-# South America
-# - Brazil
-Server = http://archlinux.c3sl.ufpr.br/$repo/os/@carch@
-Server = ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/@carch@
-Server = ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/@carch@
-# - Venezuela
-Server = http://mirror2.archlinux.com.ve/$repo/os/@carch@
-
-# Europe
-# - Austria
-Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/@carch@
-# - Belgium
-Server = ftp://ftp.belnet.be/mirror/archlinux.org/$repo/os/@carch@
-# - Czech Republic
-Server = ftp://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/@carch@
-# - Denmark
-Server = ftp://ftp.klid.dk/archlinux/$repo/os/@carch@
-# - Estonia
-Server = ftp://ftp.estpak.ee/pub/archlinux/$repo/os/@carch@
-# - France
-Server = ftp://mir1.archlinuxfr.org/archlinux/$repo/os/@carch@
-Server = ftp://mir2.archlinuxfr.org/archlinux/$repo/os/@carch@
-Server = ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/@carch@
-Server = http://mir.archlinux.fr/$repo/os/@carch@
-Server = ftp://ftp.free.fr/mirrors/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/$repo/os/@carch@
-# - Germany
-Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.uni-bayreuth.de/pub/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.archlinuxppc.org/@carch@/$repo/os/@carch@
-Server = ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/@carch@
-Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/@carch@
-Server = ftp://mirrors.igprolin-online.org/archlinux/$repo/os/@carch@
-Server = ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/@carch@
-# - Great Britain
-Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://mirrors.uk2.net/pub/archlinux/$repo/os/@carch@
-Server = http://archlinux.mirrors.uk2.net/$repo/os/@carch@
-Server = ftp://mirror.lividpenguin.com/pub/archlinux/$repo/os/@carch@
-# - Greece
-Server = ftp://ftp.ntua.gr/pub/linux/archlinux/$repo/os/@carch@
-# - Hungary
-Server = ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.archlinux.org/$repo/os/@carch@
-# - Ireland
-Server = ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/@carch@
-# - Italy
-Server = ftp://mi.mirror.garr.it/mirrors/archlinux/$repo/os/@carch@
-# - Netherlands
-Server = ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/@carch@
-Server = ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/@carch@
-# - Norway
-Server = http://mirror.archlinux.no/$repo/os/@carch@
-# - Poland
-Server = ftp://mirror.icis.pcz.pl/archlinux/$repo/os/@carch@
-Server = http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/@carch@
-Server = http://unix.net.pl/archlinux.org/$repo/os/@carch@
-# - Portugal
-Server = ftp://cesium.di.uminho.pt/pub/archlinux/$repo/os/@carch@
-# - Romania
-Server = ftp://ftp.iasi.roedu.net/mirrors/archlinux.org/$repo/os/@carch@
-# - Russia
-Server = ftp://mirror.yandex.ru/archlinux/$repo/os/@carch@
-Server = http://archlinux.freeside.ru/$repo/os/@carch@
-# - Sweden
-Server = ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.gigabit.nu/$repo/os/@carch@
-# - Switzerland
-Server = http://archlinux.puzzle.ch/$repo/os/@carch@
-# - Turkey
-Server = ftp://ftp.linux.org.tr/pub/mirrors/archlinux/$repo/os/@carch@
-# - Ukraine
-Server = ftp://archlinux.hell.org.ua/archlinux/$repo/os/@carch@
-Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/@carch@
-
-# Asia
-# - Indonesia
-Server = http://archlinux.cbn.net.id/$repo/os/@carch@
-Server = ftp://archlinux.cbn.net.id/pub/archlinux/$repo/os/@carch@
-# - Israel
-Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/@carch@
-# - Vietnam
-# Domain name is ftp.indochinalinux.com but there are frequent DNS problems
-Server = ftp://202.78.230.5/archlinux/$repo/os/@carch@
+# Any
+#Server = ftp://mirrors.kernel.org/archlinux/$repo/os/$arch
+#Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch
# Australia
-Server = ftp://mirror.pacific.net.au/linux/archlinux/$repo/os/@carch@
-Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/@carch@
-Server = ftp://ftp.iinet.net.au/pub/archlinux/$repo/os/@carch@
-Server = http://mirror.internode.on.net/pub/archlinux/$repo/os/@carch@
+#Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch
+#Server = http://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch
+#Server = ftp://ftp.iinet.net.au/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.iinet.net.au/pub/archlinux/$repo/os/$arch
+#Server = ftp://mirror.internode.on.net/pub/archlinux/$repo/os/$arch
+#Server = http://mirror.internode.on.net/pub/archlinux/$repo/os/$arch
+#Server = ftp://ftp.netspace.net.au/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.netspace.net.au/pub/archlinux/$repo/os/$arch
+#Server = ftp://mirror.optus.net/archlinux/$repo/os/$arch
+#Server = http://mirror.optus.net/archlinux/$repo/os/$arch
+
+# Austria
+#Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/$arch
+#Server = http://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/$arch
+
+# Belgium
+#Server = ftp://ftp.belnet.be/packages/archlinux/$repo/os/$arch
+#Server = http://ftp.belnet.be/mirror/archlinux.org/$repo/os/$arch
+#Server = ftp://archlinux.mirror.kangaroot.net/pub/archlinux/$repo/os/$arch
+#Server = http://archlinux.mirror.kangaroot.net/$repo/os/$arch
+
+# Brazil
+#Server = ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/$arch
+#Server = http://archlinux.c3sl.ufpr.br/$repo/os/$arch
+#Server = ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/$arch
+#Server = http://www.las.ic.unicamp.br/pub/archlinux/$repo/os/$arch
+#Server = http://pet.inf.ufsc.br/mirrors/archlinux/$repo/os/$arch
+
+# Bulgaria
+#Server = http://archlinux.igor.onlinedirect.bg/$repo/os/$arch
+
+# Canada
+#Server = ftp://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch
+#Server = http://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch
+#Server = ftp://mirror.its.dal.ca/archlinux/$repo/os/$arch
+#Server = http://mirror.its.dal.ca/archlinux/$repo/os/$arch
+#Server = http://mirror.twilightlair.net/arch/$repo/os/$arch
+
+# Chile
+#Server = ftp://mirror.archlinux.cl/$repo/os/$arch
+
+# China
+#Server = http://mirrors.163.com/archlinux/$repo/os/$arch
+#Server = http://mirror.bjtu.edu.cn/archlinux/$repo/os/$arch
+#Server = http://mirror6.bjtu.edu.cn/archlinux/$repo/os/$arch
+#Server = ftp://mirrors.sohu.com/archlinux/$repo/os/$arch
+#Server = http://mirrors.sohu.com/archlinux/$repo/os/$arch
+
+# Czech Republic
+#Server = ftp://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/$arch
+#Server = http://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/$arch
+
+# Denmark
+#Server = ftp://mirrors.dotsrc.org/archlinux/$repo/os/$arch
+#Server = http://mirrors.dotsrc.org/archlinux/$repo/os/$arch
+#Server = ftp://ftp.klid.dk/archlinux/$repo/os/$arch
+
+# Estonia
+#Server = ftp://ftp.eenet.ee/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.eenet.ee/pub/archlinux/$repo/os/$arch
+
+# Finland
+#Server = ftp://mirror.archlinux.fi/archlinux/$repo/os/$arch
+#Server = http://mirror.archlinux.fi/archlinux/$repo/os/$arch
+
+# France
+#Server = http://mir.archlinux.fr/$repo/os/$arch
+#Server = ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/$arch
+#Server = http://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.free.fr/mirrors/ftp.archlinux.org/$repo/os/$arch
+#Server = ftp://mir1.archlinux.fr/archlinux/$repo/os/$arch
+#Server = http://mir1.archlinux.fr/archlinux/$repo/os/$arch
+#Server = ftp://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch
+#Server = http://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch
+#Server = ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/$repo/os/$arch
+
+# Germany
+#Server = http://archlinux.limun.org/$repo/os/$arch
+#Server = ftp://artfiles.org/archlinux/$repo/os/$arch
+#Server = http://artfiles.org/archlinux/$repo/os/$arch
+#Server = http://archlinux.giantix-server.de/$repo/os/$arch
+#Server = ftp://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
+#Server = http://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
+#Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch
+#Server = http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch
+#Server = ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch
+#Server = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch
+#Server = ftp://mirror.selfnet.de/archlinux/$repo/os/$arch
+#Server = http://mirror.selfnet.de/archlinux/$repo/os/$arch
+#Server = ftp://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch
+#Server = http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch
+#Server = ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.uni-bayreuth.de/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.uni-bayreuth.de/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch
+
+# Great Britain
+#Server = ftp://mirror.lividpenguin.com/pub/archlinux/$repo/os/$arch
+#Server = http://mirror.lividpenguin.com/pub/archlinux/$repo/os/$arch
+#Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch
+#Server = ftp://mirrors.uk2.net/pub/archlinux/$repo/os/$arch
+#Server = http://archlinux.mirrors.uk2.net/$repo/os/$arch
+
+# Greece
+#Server = ftp://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.ntua.gr/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.ntua.gr/pub/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.otenet.gr/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.otenet.gr/linux/archlinux/$repo/os/$arch
+
+# Hungary
+#Server = ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.archlinux.org/$repo/os/$arch
+
+# India
+#Server = ftp://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
+#Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
+
+# Indonesia
+#Server = ftp://archlinux.cbn.net.id/pub/archlinux/$repo/os/$arch
+#Server = http://archlinux.cbn.net.id/$repo/os/$arch
+#Server = ftp://mirror.unej.ac.id/archlinux/$repo/os/$arch
+#Server = http://mirror.unej.ac.id/archlinux/$repo/os/$arch
+
+# Ireland
+#Server = ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/$arch
+#Server = http://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/$arch
+
+# Israel
+#Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/$arch
+
+# Italy
+#Server = ftp://mi.mirror.garr.it/mirrors/archlinux/$repo/os/$arch
+#Server = http://mi.mirror.garr.it/mirrors/archlinux/$repo/os/$arch
+
+# Japan
+#Server = ftp://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
+#Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
+#Server = ftp://ftp.yz.yamagata-u.ac.jp/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.yz.yamagata-u.ac.jp/pub/linux/archlinux/$repo/os/$arch
+
+# Kazakhstan
+#Server = ftp://archlinux.linuxforum.kz/$repo/os/$arch
+#Server = http://archlinux.linuxforum.kz/$repo/os/$arch
+
+# Latvia
+#Server = http://archlinux.goodsoft.lv/$repo/os/$arch
+
+# Lithuania
+#Server = ftp://atviras.lt/archmirror/$repo/os/$arch
+#Server = http://atviras.lt/archmirror/$repo/os/$arch
+
+# Netherlands
+#Server = ftp://mirror.leaseweb.com/archlinux/$repo/os/$arch
+#Server = http://mirror.leaseweb.com/archlinux/$repo/os/$arch
+#Server = ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/$arch
+#Server = http://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/$arch
+#Server = ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/$arch
+#Server = http://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/$arch
+
+# New Caledonia
+#Server = ftp://archlinux.nautile.nc/archlinux/$repo/os/$arch
+#Server = http://archlinux.nautile.nc/archlinux/$repo/os/$arch
+
+# New Zealand
+#Server = http://mirror.ihug.co.nz/archlinux/$repo/os/$arch
+#Server = http://mirror.ihug.co.nz/archlinux/$repo/os/$arch
+
+# Norway
+#Server = ftp://mirror.archlinux.no/$repo/os/$arch
+#Server = http://mirror.archlinux.no/$repo/os/$arch
+
+# Poland
+#Server = ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/$arch
+#Server = http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/$arch
+#Server = ftp://ftp.pwsz.elblag.pl/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = http://ftp.pwsz.elblag.pl/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = ftp://ftp.tpnet.pl/pub/linux/archlinux/$repo/os/$arch
+#Server = http://unix.net.pl/archlinux.org/$repo/os/$arch
+
+# Portugal
+#Server = ftp://cesium.di.uminho.pt/pub/archlinux/$repo/os/$arch
+#Server = http://cesium.di.uminho.pt/pub/archlinux/$repo/os/$arch
+#Server = http://darkstar.ist.utl.pt/archlinux/$repo/os/$arch
+#Server = ftp://ftp.nux.ipb.pt/pub/dists/archlinux/$repo/os/$arch
+#Server = http://ftp.nux.ipb.pt/pub/dists/archlinux/$repo/os/$arch
+#Server = ftp://ftp.rnl.ist.utl.pt/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.rnl.ist.utl.pt/pub/archlinux/$repo/os/$arch
+
+# Romania
+#Server = ftp://mirror.archlinux.ro/archlinux/$repo/os/$arch
+#Server = http://mirror.archlinux.ro/archlinux/$repo/os/$arch
+#Server = ftp://ftp.roedu.net/mirrors/archlinux.org/$repo/os/$arch
+#Server = http://ftp.roedu.net/mirrors/archlinux.org/$repo/os/$arch
+
+# Russia
+#Server = http://archlinux.freeside.ru/$repo/os/$arch
+#Server = ftp://mirror.svk.su/archlinux/$repo/os/$arch
+#Server = http://mirror.svk.su/archlinux/$repo/os/$arch
+#Server = ftp://mirror.yandex.ru/archlinux/$repo/os/$arch
+#Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch
+
+# Spain
+#Server = ftp://ftp.rediris.es/mirror/archlinux/$repo/os/$arch
+#Server = http://sunsite.rediris.es/mirror/archlinux/$repo/os/$arch
+
+# Sweden
+#Server = ftp://ftp.df.lth.se/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.df.lth.se/pub/archlinux/$repo/os/$arch
+#Server = ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.gigabit.nu/$repo/os/$arch
+#Server = http://ftp.gigabit.nu/$repo/os/$arch
+#Server = ftp://ftp.port80.se/archlinux/$repo/os/$arch
+#Server = http://ftp.port80.se/archlinux/$repo/os/$arch
+
+# Switzerland
+#Server = ftp://archlinux.puzzle.ch/$repo/os/$arch
+#Server = http://archlinux.puzzle.ch/$repo/os/$arch
+
+# Taiwan
+#Server = ftp://ftp.mirror.tw/pub/ArchLinux/$repo/os/$arch
+#Server = http://www.mirror.tw/pub/ArchLinux/$repo/os/$arch
+#Server = ftp://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/$arch
+#Server = http://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/$arch
+
+# Turkey
+#Server = ftp://ftp.linux.org.tr/archlinux/$repo/os/$arch
+
+# Ukraine
+#Server = ftp://archlinux.hell.org.ua/archlinux/$repo/os/$arch
+#Server = http://archlinux.hell.org.ua/archlinux/$repo/os/$arch
+#Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/$arch
+#Server = http://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/$arch
+
+# United States
+#Server = http://mirror.ams.sunysb.edu/archlinux/$repo/os/$arch
+#Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/$arch
+#Server = http://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/$arch
+#Server = ftp://mirrors.easynews.com/linux/archlinux/$repo/os/$arch
+#Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.archlinux.org/$repo/os/$arch
+#Server = ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = http://www.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = ftp://mirrors.hosef.org/archlinux/$repo/os/$arch
+#Server = http://mirrors.hosef.org/archlinux/$repo/os/$arch
+#Server = ftp://ibiblio.org/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = http://distro.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = http://archlinux.linuxfreedom.com/$repo/os/$arch
+#Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/$arch
+#Server = ftp://lug.mtu.edu/archlinux/ftpfull/$repo/os/$arch
+#Server = http://lug.mtu.edu/archlinux/ftpfull/$repo/os/$arch
+#Server = ftp://mirrors.xmission.com/archlinux/$repo/os/$arch
+#Server = http://mirrors.xmission.com/archlinux/$repo/os/$arch
+#Server = ftp://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
+#Server = ftp://mirror.rit.edu/archlinux/$repo/os/$arch
+#Server = http://mirror.rit.edu/archlinux/$repo/os/$arch
+#Server = http://schlunix.org/archlinux/$repo/os/$arch
+#Server = http://archlinux.umflint.edu/$repo/os/$arch
+#Server = http://mirror.umoss.org/archlinux/$repo/os/$arch
+
+# Vietnam
+#Server = ftp://202.78.230.5/archlinux/$repo/os/$arch
+#Server = ftp://ftp.indochinalinux.com/archlinux/$repo/os/$arch
+#Server = ftp://mirror-fpt-telecom.fpt.net/archlinux/$repo/os/$arch
+#Server = http://mirror-fpt-telecom.fpt.net/archlinux/$repo/os/$arch
diff --git a/abs/core/pacman/PKGBUILD b/abs/core/pacman/PKGBUILD
index 239abb8..27dd4ca 100644
--- a/abs/core/pacman/PKGBUILD
+++ b/abs/core/pacman/PKGBUILD
@@ -1,10 +1,9 @@
-# $Id: PKGBUILD 58635 2009-11-11 00:00:52Z dan $
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# $Id: PKGBUILD 89780 2010-09-04 01:05:26Z dan $
# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=pacman
-pkgver=3.3.3
-pkgrel=10
+pkgver=3.4.1
+pkgrel=1
pkgdesc="A library-based package manager with dependency support"
arch=('i686' 'x86_64')
url="http://www.archlinux.org/pacman/"
@@ -12,21 +11,25 @@ license=('GPL')
groups=('base')
depends=('bash' 'libarchive>=2.7.1' 'libfetch>=2.25' 'pacman-mirrorlist')
optdepends=('fakeroot: for makepkg usage as normal user'
- 'python: for rankmirrors script usage')
+ 'curl: for rankmirrors usage')
backup=(etc/pacman.conf etc/makepkg.conf)
install=pacman.install
options=(!libtool)
source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz
pacman.conf
+ pacman.conf.x86_64
makepkg.conf)
-md5sums=('a8cef73d68e2a4c3a46fb46c33210719'
- 'abe70dabacee7036368c7afeb686eb10'
- '52c7bc651b107d73f9902755b7594458')
+md5sums=('4e4e8e4f636d9878fbed9cf840f162cf'
+ 'eda9cbdb47f85fabda2e7e63801e3e16'
+ '9ba146b4fa7bcb3cc18204b06d1f6157'
+ 'aef317285c7d16ac495b0e53deeb948d')
+
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
build() {
cd $srcdir/$pkgname-$pkgver
-
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-doc
make || return 1
}
@@ -36,7 +39,14 @@ package() {
# install Arch specific stuff
mkdir -p $pkgdir/etc
- install -m644 $srcdir/pacman.conf $pkgdir/etc/
+ case "$CARCH" in
+ i686)
+ install -m644 $srcdir/pacman.conf $pkgdir/etc/pacman.conf
+ ;;
+ x86_64)
+ install -m644 $srcdir/pacman.conf.x86_64 $pkgdir/etc/pacman.conf
+ ;;
+ esac
install -m644 $srcdir/makepkg.conf $pkgdir/etc/
# set things correctly in the default conf file
case "$CARCH" in
diff --git a/abs/core/pacman/makepkg.conf b/abs/core/pacman/makepkg.conf
index 12cfebd..ff08a0f 100644
--- a/abs/core/pacman/makepkg.conf
+++ b/abs/core/pacman/makepkg.conf
@@ -72,6 +72,12 @@ OPTIONS=(strip docs libtool emptydirs zipman purge)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
+#-- Options to be used when stripping binaries. See `man strip' for details.
+STRIP_BINARIES="--strip-all"
+#-- Options to be used when stripping shared libraries. See `man strip' for details.
+STRIP_SHARED="--strip-unneeded"
+#-- Options to be used when stripping static libraries. See `man strip' for details.
+STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
@@ -91,6 +97,8 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#PKGDEST=/home/packages
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources
+#-- Source packages: specify a fixed directory where all src packages will be placed
+#SRCPKGDEST=/home/srcpackages
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
@@ -101,7 +109,7 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
-PKGEXT='.pkg.tar.gz'
+PKGEXT='.pkg.tar.xz'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:
diff --git a/abs/core/pacman/old/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch b/abs/core/pacman/old/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch
new file mode 100644
index 0000000..8baa35e
--- /dev/null
+++ b/abs/core/pacman/old/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch
@@ -0,0 +1,32 @@
+From dc817a2061699cd1f33ca93f0d93a1fbc2f33ea1 Mon Sep 17 00:00:00 2001
+From: Allan McRae <allan@archlinux.org>
+Date: Thu, 17 Jun 2010 14:32:08 +1000
+Subject: [PATCH] makepkg: fallback to sane defaults for library stripping
+
+If the library stripping variables are not defined in makepkg.conf,
+libraries will be fully stripped and become broken. Fallback to a
+sane default stripping level.
+
+Signed-off-by: Allan McRae <allan@archlinux.org>
+Signed-off-by: Dan McGee <dan@archlinux.org>
+---
+ scripts/makepkg.sh.in | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
+index d986701..e64b564 100644
+--- a/scripts/makepkg.sh.in
++++ b/scripts/makepkg.sh.in
+@@ -864,6 +864,9 @@ tidy_install() {
+
+ if [[ $(check_option strip) = y && -n ${STRIP_DIRS[*]} ]]; then
+ msg2 "$(gettext "Stripping unneeded symbols from binaries and libraries...")"
++ # make sure library stripping variables are defined to prevent excess stripping
++ [[ -z ${STRIP_SHARED+x} ]] && STRIP_SHARED="-S"
++ [[ -z ${STRIP_STATIC+x} ]] && STRIP_STATIC="-S"
+ local binary
+ find ${STRIP_DIRS[@]} -type f -perm -u+w 2>/dev/null | while read binary ; do
+ case "$(file -bi "$binary")" in
+--
+1.7.1
+
diff --git a/abs/core/pacman/old/PKGBUILD b/abs/core/pacman/old/PKGBUILD
new file mode 100644
index 0000000..a138950
--- /dev/null
+++ b/abs/core/pacman/old/PKGBUILD
@@ -0,0 +1,74 @@
+# $Id: PKGBUILD 83376 2010-06-21 12:52:09Z dan $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Maintainer: Dan McGee <dan@archlinux.org>
+
+pkgname=pacman
+pkgver=3.4.0
+pkgrel=3
+pkgdesc="A library-based package manager with dependency support"
+arch=('i686' 'x86_64')
+url="http://www.archlinux.org/pacman/"
+license=('GPL')
+groups=('base')
+depends=('bash' 'libarchive>=2.7.1' 'libfetch>=2.25' 'pacman-mirrorlist')
+optdepends=('fakeroot: for makepkg usage as normal user')
+backup=(etc/pacman.conf etc/makepkg.conf)
+install=pacman.install
+options=(!libtool)
+source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz
+ pacman.conf
+ makepkg.conf
+ 0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch)
+md5sums=('50ad71be1faaad84842c576e239d1bb5'
+ '80f5bb2a606553512d0db857f78d9ac2'
+ 'aef317285c7d16ac495b0e53deeb948d'
+ 'f8c4a3cc7702a7a70d177659441495c5')
+sha256sums=('cd80e206ee653ce337555c73b7064088e672e9341245317fe09dc52d06bff3c3'
+ '97fb68536c1179a7de52dfb8a107c6e9bf3a71eaa6a98d6ae74dc224d4ca5838'
+ '3a60e1f895c90c8e74f5ca389fa05fb3328745e9873c5452b8cd1b2e68bee418'
+ '99f1d108f930b134cfb4c1ca8c86cd282fe9efb69de39cd747218f3d448dda44')
+
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np1 < $srcdir/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-doc
+ make || return 1
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install || return 1
+
+ # install Arch specific stuff
+ mkdir -p $pkgdir/etc
+ install -m644 $srcdir/pacman.conf $pkgdir/etc/
+ install -m644 $srcdir/makepkg.conf $pkgdir/etc/
+ # set things correctly in the default conf file
+ case "$CARCH" in
+ i686)
+ mycarch="i686"
+ mychost="i686-pc-linux-gnu"
+ myflags="-march=i686 "
+ ;;
+ x86_64)
+ mycarch="x86_64"
+ mychost="x86_64-unknown-linux-gnu"
+ myflags="-march=x86-64 "
+ ;;
+ esac
+ sed -i $pkgdir/etc/makepkg.conf \
+ -e "s|@CARCH[@]|$mycarch|g" \
+ -e "s|@CHOST[@]|$mychost|g" \
+ -e "s|@CARCHFLAGS[@]|$myflags|g"
+
+ # install completion files
+ mkdir -p $pkgdir/etc/bash_completion.d/
+ install -m644 contrib/bash_completion $pkgdir/etc/bash_completion.d/pacman
+ mkdir -p $pkgdir/usr/share/zsh/site-functions/
+ install -m644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman
+}
+
+# vim: set ts=2 sw=2 et:
diff --git a/abs/core/pacman/old/makepkg.conf b/abs/core/pacman/old/makepkg.conf
new file mode 100644
index 0000000..ff08a0f
--- /dev/null
+++ b/abs/core/pacman/old/makepkg.conf
@@ -0,0 +1,115 @@
+#
+# /etc/makepkg.conf
+#
+
+#########################################################################
+# SOURCE ACQUISITION
+#########################################################################
+#
+#-- The download utilities that makepkg should use to acquire sources
+# Format: 'protocol::agent'
+DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
+ 'http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u'
+ 'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
+ 'rsync::/usr/bin/rsync -z %u %o'
+ 'scp::/usr/bin/scp -C %u %o')
+
+# Other common tools:
+# /usr/bin/snarf
+# /usr/bin/lftpget -c
+# /usr/bin/curl
+
+#########################################################################
+# ARCHITECTURE, COMPILE FLAGS
+#########################################################################
+#
+CARCH="@CARCH@"
+CHOST="@CHOST@"
+
+#-- Exclusive: will only run on @CARCH@
+# -march (or -mcpu) builds exclusively for an architecture
+# -mtune optimizes for an architecture, but builds for whole processor family
+CFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
+CXXFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
+LDFLAGS="-Wl,--hash-style=gnu -Wl,--as-needed"
+#-- Make Flags: change this for DistCC/SMP systems
+#MAKEFLAGS="-j2"
+
+#########################################################################
+# BUILD ENVIRONMENT
+#########################################################################
+#
+# Defaults: BUILDENV=(fakeroot !distcc color !ccache)
+# A negated environment option will do the opposite of the comments below.
+#
+#-- fakeroot: Allow building packages as a non-root user
+#-- distcc: Use the Distributed C/C++/ObjC compiler
+#-- color: Colorize output messages
+#-- ccache: Use ccache to cache compilation
+#
+BUILDENV=(fakeroot !distcc color !ccache)
+#
+#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
+#-- specify a space-delimited list of hosts running in the DistCC cluster.
+#DISTCC_HOSTS=""
+
+#########################################################################
+# GLOBAL PACKAGE OPTIONS
+# These are default values for the options=() settings
+#########################################################################
+#
+# Default: OPTIONS=(strip docs libtool emptydirs zipman purge)
+# A negated option will do the opposite of the comments below.
+#
+#-- strip: Strip symbols from binaries/libraries in STRIP_DIRS
+#-- docs: Save doc directories specified by DOC_DIRS
+#-- libtool: Leave libtool (.la) files in packages
+#-- emptydirs: Leave empty directories in packages
+#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
+#-- purge: Remove files specified by PURGE_TARGETS
+#
+OPTIONS=(strip docs libtool emptydirs zipman purge)
+
+#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
+INTEGRITY_CHECK=(md5)
+#-- Options to be used when stripping binaries. See `man strip' for details.
+STRIP_BINARIES="--strip-all"
+#-- Options to be used when stripping shared libraries. See `man strip' for details.
+STRIP_SHARED="--strip-unneeded"
+#-- Options to be used when stripping static libraries. See `man strip' for details.
+STRIP_STATIC="--strip-debug"
+#-- Manual (man and info) directories to compress (if zipman is specified)
+MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
+#-- Doc directories to remove (if !docs is specified)
+DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
+#-- Directories to be searched for the strip option (if strip is specified)
+STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,sbin})
+#-- Files to be removed from all packages (if purge is specified)
+PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
+
+#########################################################################
+# PACKAGE OUTPUT
+#########################################################################
+#
+# Default: put built package and cached source in build directory
+#
+#-- Destination: specify a fixed directory where all packages will be placed
+#PKGDEST=/home/packages
+#-- Source cache: specify a fixed directory where source files will be cached
+#SRCDEST=/home/sources
+#-- Source packages: specify a fixed directory where all src packages will be placed
+#SRCPKGDEST=/home/srcpackages
+#-- Packager: name/email of the person or organization building packages
+#PACKAGER="John Doe <john@doe.com>"
+
+#########################################################################
+# EXTENSION DEFAULTS
+#########################################################################
+#
+# WARNING: Do NOT modify these variables unless you know what you are
+# doing.
+#
+PKGEXT='.pkg.tar.xz'
+SRCEXT='.src.tar.gz'
+
+# vim: set ft=sh ts=2 sw=2 et:
diff --git a/abs/core/pacman/mirrorlist b/abs/core/pacman/old/mirrorlist
index 83e75ae..83e75ae 100644
--- a/abs/core/pacman/mirrorlist
+++ b/abs/core/pacman/old/mirrorlist
diff --git a/abs/core/pacman/old/pacman.conf b/abs/core/pacman/old/pacman.conf
new file mode 100644
index 0000000..911c23d
--- /dev/null
+++ b/abs/core/pacman/old/pacman.conf
@@ -0,0 +1,84 @@
+#
+# /etc/pacman.conf
+#
+# See the pacman.conf(5) manpage for option and repository directives
+
+#
+# GENERAL OPTIONS
+#
+[options]
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir = /
+#DBPath = /var/lib/pacman/
+#CacheDir = /var/cache/pacman/pkg/
+#LogFile = /var/log/pacman.log
+HoldPkg = pacman glibc
+# If upgrades are available for these packages they will be asked for first
+SyncFirst = pacman
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#XferCommand = /usr/bin/curl -C - %u > %o
+#CleanMethod = KeepInstalled
+Architecture = auto
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg =
+#IgnoreGroup =
+
+#NoUpgrade =
+#NoExtract =
+
+# Misc options (all disabled by default)
+#UseSyslog
+#ShowSize
+#UseDelta
+#TotalDownload
+
+#
+# REPOSITORIES
+# - can be defined here or included from another file
+# - pacman will search repositories in the order defined here
+# - local/custom mirrors can be added here or in separate files
+# - repositories listed first will take precedence when packages
+# have identical names, regardless of version number
+# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+# [repo-name]
+# Server = ServerName
+# Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+#[testing]
+## Add your preferred servers here, they will be used first
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+# Add your preferred servers here, they will be used first
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+# Add your preferred servers here, they will be used first
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+## Add your preferred servers here, they will be used first
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+# Add your preferred servers here, they will be used first
+Include = /etc/pacman.d/mirrorlist
+
+# An example of a custom package repository. See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#Server = file:///home/custompkgs
+
diff --git a/abs/core/pacman/old/pacman.install b/abs/core/pacman/old/pacman.install
new file mode 100644
index 0000000..294222e
--- /dev/null
+++ b/abs/core/pacman/old/pacman.install
@@ -0,0 +1,53 @@
+#!/bin/sh
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ # one time stuff for md5sum issue with older pacman versions
+ if [ "$(vercmp $2 3.0.2)" -lt 0 ]; then
+ _resetbackups
+ fi
+}
+
+_resetbackups() {
+ echo ">>> Performing one-time reset of NoUpgrade md5sums. After this reset"
+ echo ">>> you are able to remove all NoUpgrade lines of already protected"
+ echo ">>> files from pacman.conf."
+ echo ">>>"
+
+ # path variables
+ pacconf="/etc/pacman.conf"
+ dbpath="/var/lib/pacman/local"
+
+ # get a list of NoUpgrade files from the user's pacman.conf
+ echo ">>> Retrieving pacman.conf NoUpgrade list..."
+ config=$(grep "^NoUpgrade" $pacconf | cut -d'=' -f2)
+ # add the standard list of files, even if they are already above
+ config="$config \
+ etc/passwd etc/group etc/shadow etc/sudoers \
+ etc/fstab etc/raidtab etc/ld.so.conf \
+ etc/rc.conf etc/rc.local \
+ etc/modprobe.conf etc/modules.conf \
+ etc/lilo.conf boot/grub/menu.lst"
+
+ # blank md5sum for use in sed expression
+ zeroes='00000000000000000000000000000000'
+
+ for file in $config; do
+ echo ">>> -> finding owner of /$file..."
+ line=$(LC_ALL=C LANG=C pacman -Qo /$file 2>/dev/null)
+ # if file is owned by a package, go find its incorrectly stored sum
+ if [ ! -z "$line" ]; then
+ # get the name and version of the package owning file
+ name=$(echo $line | awk '{print $5}')
+ version=$(echo $line | awk '{print $6}')
+ # set the path to the backup array holding the md5sum
+ path="$dbpath/$name-$version/files"
+ # run a sed on the path to reset the line containing $file
+ # NOTE: literal tab characters in sed expression after $file
+ echo ">>> -> resetting sum of /$file..."
+ sed -i "s#$file [0-9a-fA-F]*#$file $zeroes#" $path
+ else
+ echo ">>> -> $file is unowned."
+ fi
+ done
+}
diff --git a/abs/core/pacman/pacman-3.4.1-1-i686.pkg.tar.gz b/abs/core/pacman/pacman-3.4.1-1-i686.pkg.tar.gz
new file mode 120000
index 0000000..5d96387
--- /dev/null
+++ b/abs/core/pacman/pacman-3.4.1-1-i686.pkg.tar.gz
@@ -0,0 +1 @@
+/data/pkg_repo/packages/pacman-3.4.1-1-i686.pkg.tar.gz \ No newline at end of file
diff --git a/abs/core/pacman/pacman.conf b/abs/core/pacman/pacman.conf
index de7e17d..3a5d875 100644
--- a/abs/core/pacman/pacman.conf
+++ b/abs/core/pacman/pacman.conf
@@ -17,8 +17,9 @@ HoldPkg = pacman glibc
# If upgrades are available for these packages they will be asked for first
SyncFirst = pacman
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
-#XferCommand = /usr/bin/curl %u > %o
+#XferCommand = /usr/bin/curl -C - %u > %o
#CleanMethod = KeepInstalled
+Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
@@ -41,6 +42,7 @@ SyncFirst = pacman
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
@@ -56,23 +58,18 @@ SyncFirst = pacman
# after the header, and they will be used before the default mirrors.
#[testing]
-## Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist
[core]
-# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist
[extra]
-# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist
#[community-testing]
-## Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist
[community]
-# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
diff --git a/abs/core/pacman/pacman.conf.x86_64 b/abs/core/pacman/pacman.conf.x86_64
new file mode 100644
index 0000000..e825b4b
--- /dev/null
+++ b/abs/core/pacman/pacman.conf.x86_64
@@ -0,0 +1,84 @@
+#
+# /etc/pacman.conf
+#
+# See the pacman.conf(5) manpage for option and repository directives
+
+#
+# GENERAL OPTIONS
+#
+[options]
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir = /
+#DBPath = /var/lib/pacman/
+#CacheDir = /var/cache/pacman/pkg/
+#LogFile = /var/log/pacman.log
+HoldPkg = pacman glibc
+# If upgrades are available for these packages they will be asked for first
+SyncFirst = pacman
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#XferCommand = /usr/bin/curl -C - %u > %o
+#CleanMethod = KeepInstalled
+Architecture = auto
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg =
+#IgnoreGroup =
+
+#NoUpgrade =
+#NoExtract =
+
+# Misc options (all disabled by default)
+#UseSyslog
+#ShowSize
+#UseDelta
+#TotalDownload
+
+#
+# REPOSITORIES
+# - can be defined here or included from another file
+# - pacman will search repositories in the order defined here
+# - local/custom mirrors can be added here or in separate files
+# - repositories listed first will take precedence when packages
+# have identical names, regardless of version number
+# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+# [repo-name]
+# Server = ServerName
+# Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+#[testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+Include = /etc/pacman.d/mirrorlist
+
+# If you want to run 32 bit applications on your x86_64 system,
+# enable the multilib repository here.
+#[multilib]
+#Include = /etc/pacman.d/mirrorlist
+
+# An example of a custom package repository. See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#Server = file:///home/custompkgs
+
diff --git a/abs/core/pacman/pacman.install b/abs/core/pacman/pacman.install
index ed10f0d..294222e 100644
--- a/abs/core/pacman/pacman.install
+++ b/abs/core/pacman/pacman.install
@@ -3,13 +3,9 @@
# arg 2: the old package version
post_upgrade() {
# one time stuff for md5sum issue with older pacman versions
- if [ -f /usr/bin/vercmp ]
- then
- if [ "$(vercmp $2 3.0.2)" -lt 0 ]
- then
- _resetbackups
- fi
- fi
+ if [ "$(vercmp $2 3.0.2)" -lt 0 ]; then
+ _resetbackups
+ fi
}
_resetbackups() {
diff --git a/abs/core/pango/PKGBUILD b/abs/core/pango/PKGBUILD
index c67dec2..7711dfb 100644
--- a/abs/core/pango/PKGBUILD
+++ b/abs/core/pango/PKGBUILD
@@ -1,24 +1,24 @@
-# $Id: PKGBUILD 36027 2009-04-19 18:20:15Z jgc $
+# $Id: PKGBUILD 82790 2010-06-17 13:43:36Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=pango
-pkgver=1.24.1
+pkgver=1.28.1
pkgrel=1
pkgdesc="A library for layout and rendering of text"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('LGPL')
-depends=('glib2>=2.20.1' 'cairo>=1.8.6' 'libxft>=2.1.13' 'libthai>=0.1.11' 'freetype2>=2.3.9')
-makedepends=('pkgconfig' 'libxt')
+depends=('glib2>=2.24.1' 'cairo>=1.8.10' 'libxft>=2.1.14' 'libthai>=0.1.14' 'freetype2>=2.3.12')
+makedepends=('pkgconfig' 'libxt' 'gobject-introspection')
options=('!libtool' '!emptydirs')
install=pango.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.24/${pkgname}-${pkgver}.tar.bz2)
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.28/${pkgname}-${pkgver}.tar.bz2)
url="http://www.pango.org/"
-md5sums=('af0beac1dd1825e241c5728081f16acd')
+sha256sums=('8f3eaab506f613dd25bb1fa65ea87a145d523d066d90c227bdb3016523451bc2')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var || return 1
+ --localstatedir=/var --with-included-modules=basic-fc || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core/pango/pango.install b/abs/core/pango/pango.install
index 9978739..73b0f5b 100644
--- a/abs/core/pango/pango.install
+++ b/abs/core/pango/pango.install
@@ -19,8 +19,3 @@ post_upgrade() {
pre_remove() {
rm etc/pango/pango.modules
}
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/core/parted/PKGBUILD b/abs/core/parted/PKGBUILD
index be2d735..d166fd8 100644
--- a/abs/core/parted/PKGBUILD
+++ b/abs/core/parted/PKGBUILD
@@ -1,24 +1,31 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
-# Contributor: dorphell <dorphell@archlinux.org>
+# $Id: PKGBUILD 82289 2010-06-10 01:52:54Z andrea $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
pkgname=parted
-pkgver=1.8.8
-pkgrel=2
+pkgver=2.3
+pkgrel=1
pkgdesc="A program for creating, destroying, resizing, checking and copying partitions"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('GPL3')
url="http://www.gnu.org/software/parted/parted.html"
-depends=('e2fsprogs')
-source=(ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz parted-1.7.1-fix-seg.patch)
-md5sums=('0d494591731082ec57cc18627728124a' '88f3c5b45fdd1d3dce70a1a19bf48481')
-options=(!libtool !emptydirs)
+depends=('device-mapper' 'e2fsprogs')
+options=('!libtool')
+install=${pkgname}.install
+source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('30ceb6df7e8681891e865e2fe5a7903d')
build() {
- cd $startdir/src/$pkgname-$pkgver
- #Arch64 fix - still needed?
- [ "$CARCH" = "x86_64" ] && patch -Np1 -i ../parted-1.7.1-fix-seg.patch
- ./configure --prefix=/usr --disable-debug --disable-Werror
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --disable-debug \
+ --disable-rpath \
+ --disable-Werror || return 1
make || return 1
- make DESTDIR=$startdir/pkg install
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core/parted/__changelog b/abs/core/parted/__changelog
deleted file mode 100644
index 0717177..0000000
--- a/abs/core/parted/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-modify pkgbuild to not include emptydirs
-+options=(!libtool !emptydirs)
diff --git a/abs/core/parted/parted-1.7.1-fix-seg.patch b/abs/core/parted/parted-1.7.1-fix-seg.patch
deleted file mode 100644
index a05c57c..0000000
--- a/abs/core/parted/parted-1.7.1-fix-seg.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- parted-1.7.1/libparted/fs/hfs/probe.c 2006-05-25 13:28:58.000000000 -0400
-+++ parted-1.7.1.new/libparted/fs/hfs/probe.c 2006-06-09 16:58:35.000000000 -0400
-@@ -42,8 +42,9 @@
- {
- PedDevice* dev;
-
-+ dev = geom->dev;
- PED_ASSERT (geom != NULL, return 0);
-- PED_ASSERT ((dev = geom->dev) != NULL, return 0);
-+ PED_ASSERT (dev != NULL, return 0);
-
- if (dev->sector_size != PED_SECTOR_SIZE_DEFAULT) {
- ped_exception_throw (
diff --git a/abs/core/parted/parted.install b/abs/core/parted/parted.install
new file mode 100644
index 0000000..5e00699
--- /dev/null
+++ b/abs/core/parted/parted.install
@@ -0,0 +1,18 @@
+info_dir=/usr/share/info
+info_files=(parted.info)
+
+post_install() {
+ for f in ${info_files[@]}; do
+ install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ for f in ${info_files[@]}; do
+ install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
diff --git a/abs/core/pcre/ChangeLog b/abs/core/pcre/ChangeLog
index a1850cf..cdff568 100644
--- a/abs/core/pcre/ChangeLog
+++ b/abs/core/pcre/ChangeLog
@@ -1,3 +1,27 @@
+2010-03-24 Eric Belanger <eric@archlinux.org>
+
+ * pcre 8.02-1
+ * Upstream update
+
+2010-01-23 Eric Belanger <eric@archlinux.org>
+
+ * pcre 8.01-1
+ * Upstream update
+
+2009-10-26 Eric Belanger <eric@archlinux.org>
+
+ * pcre 8.00-1
+ * Upstream update
+
+2009-04-13 Eric Belanger <eric@archlinux.org>
+
+ * pcre 7.9-1
+ * Upstream update
+
+2008-10-19 Eric Belanger <eric@archlinux.org>
+
+ * Updated url
+
2008-09-05 Eric Belanger <eric@archlinux.org>
* pcre 7.8-1
diff --git a/abs/core/pcre/PKGBUILD b/abs/core/pcre/PKGBUILD
index b019bed..d31e23c 100644
--- a/abs/core/pcre/PKGBUILD
+++ b/abs/core/pcre/PKGBUILD
@@ -1,30 +1,36 @@
-# $Id: PKGBUILD 11888 2008-09-06 03:23:26Z eric $
-# Maintainer: Eric Belanger <eric@archlinux.org>
+# $Id: PKGBUILD 84661 2010-07-03 04:01:39Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=pcre
-pkgver=7.8
+pkgver=8.10
pkgrel=1
pkgdesc="A library that implements Perl 5-style regular expressions"
arch=('i686' 'x86_64')
-url="http://pcre.sourceforge.net"
+url="http://www.pcre.org/"
license=('BSD')
-groups=('base')
depends=('gcc-libs')
-options=('!libtool' '!makeflags')
+options=('!libtool')
source=(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('141132d6af14dccc7b08fa797e4fd441')
-sha1sums=('552909f9d18e1954eec639f926957a4cb2de1ec3')
+md5sums=('780867a700e9d4e4b9cb47aa5453e4b2')
+sha1sums=('8b345da0f835b2caabff071b0b5bab40564652be')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd "${srcdir}"/${pkgname}-${pkgver}
[ "${CARCH}" = "x86_64" ] && export CFLAGS="${CFLAGS} -fPIC"
- ./configure --prefix=/usr --enable-utf8 --enable-unicode-properties || return 1
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
+ ./configure --prefix=/usr --enable-utf8 --enable-unicode-properties
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
# grep uses pcre, so we need the libs in /lib
- mkdir -p ${pkgdir}/lib
- mv ${pkgdir}/usr/lib/libpcre.so.* ${pkgdir}/lib/ || return 1
- ln -sf ../../lib/libpcre.so.0 ${pkgdir}/usr/lib/libpcre.so || return 1
- install -D -m644 LICENCE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
+ install -dm755 "${pkgdir}"/lib
+ mv "${pkgdir}"/usr/lib/libpcre.so.* "${pkgdir}"/lib/
+ ln -sf ../../lib/libpcre.so.0 "${pkgdir}"/usr/lib/libpcre.so
+
+ install -Dm644 LICENCE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core/perl-xml-dom/PKGBUILD b/abs/core/perl-xml-dom/PKGBUILD
deleted file mode 100644
index ab6e8a5..0000000
--- a/abs/core/perl-xml-dom/PKGBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
-# Contributor: François Charette <firmicus ατ gmx δοτ net>
-
-pkgname=perl-xml-dom
-pkgver=1.44
-pkgrel=5
-pkgdesc="Implements Level 1 of W3's DOM"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~TJMATHER/XML-DOM"
-license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0' 'perlxml>=2.30' 'perl-xml-regexp' 'libxml-perl>=0.07' 'perl-libwww')
-options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/T/TJ/TJMATHER/XML-DOM-$pkgver.tar.gz)
-md5sums=('1ec2032a06e5762984f7a332c199c205')
-
-build() {
- cd $startdir/src/XML-DOM-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
- make install DESTDIR=$startdir/pkg || return 1
- find $startdir/pkg -name '.packlist' -delete
- find $startdir/pkg -name '*.pod' -delete
-}
diff --git a/abs/core/perlxml/PKGBUILD b/abs/core/perlxml/PKGBUILD
deleted file mode 100644
index c9b2f30..0000000
--- a/abs/core/perlxml/PKGBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: dorphell <dorphell@archlinux.org>
-# Contributor: herb <hrose@archlinux.org>
-
-pkgname=perlxml
-_realname=XML-Parser
-pkgver=2.36
-pkgrel=1
-pkgdesc="XML::Parser - an XML parser module for perl"
-arch=(i686 x86_64)
-license=('GPL' 'PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl>=5.10.0' 'expat>=2.0')
-options=(!emptydirs)
-source=(http://search.cpan.org/CPAN/authors/id/M/MS/MSERGEANT/${_realname}-${pkgver}.tar.gz)
-md5sums=('1b868962b658bd87e1563ecd56498ded')
-
-build() {
- cd ${startdir}/src/${_realname}-${pkgver}
-
- # install module in vendor directories.
- perl Makefile.PL INSTALLDIRS=vendor || return 1
- make MAN1EXT=1p MAN3EXT=3pm || return 1
- make install MAN1EXT=1p MAN3EXT=3pm DESTDIR=${startdir}/pkg || return 1
-
- # remove perllocal.pod and .packlist.
- find ${startdir}/pkg -name perllocal.pod -delete
- find ${startdir}/pkg -name .packlist -delete
-}
diff --git a/abs/core/php/php.install b/abs/core/php/php.install
index 469db4a..1981a63 100644
--- a/abs/core/php/php.install
+++ b/abs/core/php/php.install
@@ -4,7 +4,7 @@ post_install() {
. /etc/systemconfig
if [ -f /etc/php/php.ini ]
then
- sed -i 's/^.*date.timezone.*$/date.timezone='${timezone}'/' /etc/php/php.ini
+ sed -i 's|^.*date.timezone.*$|date.timezone='${timezone}'|' /etc/php/php.ini
fi
fi
}
@@ -40,7 +40,7 @@ post_upgrade() {
. /etc/systemconfig
if [ -f /etc/php/php.ini ]
then
- sed -i 's/^.*date.timezone.*$/date.timezone='${timezone}'/' /etc/php/php.ini
+ sed -i 's|^.*date.timezone.*$|date.timezone='${timezone}'|' /etc/php/php.ini
fi
fi
echo 'Updating extension dir...'
diff --git a/abs/core/pixman/PKGBUILD b/abs/core/pixman/PKGBUILD
index 306acd9..d15bf4b 100644
--- a/abs/core/pixman/PKGBUILD
+++ b/abs/core/pixman/PKGBUILD
@@ -1,21 +1,23 @@
-# $Id: PKGBUILD 12786 2008-09-20 08:34:14Z jgc $
+# $Id: PKGBUILD 80841 2010-05-22 14:31:00Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=pixman
-pkgver=0.12.0
+pkgver=0.18.2
pkgrel=1
pkgdesc="Pixman library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org"
-license=()
+license=('custom')
depends=('glibc')
options=('!libtool')
source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('494af78c1c7d825c9ad6815d7b91f17d')
+sha1sums=('d66ab37ebc111e8031dd6d0ff1edf19b7adab5be')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/pkg-config/PKGBUILD b/abs/core/pkg-config/PKGBUILD
new file mode 100644
index 0000000..9c671df
--- /dev/null
+++ b/abs/core/pkg-config/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 85540 2010-07-15 04:44:14Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Committer: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=pkg-config
+pkgver=0.25
+pkgrel=2
+pkgdesc="A system for managing library compile/link flags"
+arch=('i686' 'x86_64')
+url="http://pkgconfig.freedesktop.org/wiki/"
+license=('GPL')
+groups=('base-devel')
+depends=('glibc')
+provides=("pkgconfig=${pkgver}")
+conflicts=('pkgconfig')
+replaces=('pkgconfig')
+source=(http://pkgconfig.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz
+ autoconf-2.66.patch)
+md5sums=('a3270bab3f4b69b7dc6dbdacbcae9745'
+ '0fbfc1a5088f792bbeec7b5090e449f1')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np1 -i $srcdir/autoconf-2.66.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/abs/core/pkg-config/autoconf-2.66.patch b/abs/core/pkg-config/autoconf-2.66.patch
new file mode 100644
index 0000000..14cabdf
--- /dev/null
+++ b/abs/core/pkg-config/autoconf-2.66.patch
@@ -0,0 +1,12 @@
+diff -Naur pkg-config-0.25-old//pkg.m4 pkg-config-0.25/pkg.m4
+--- pkg-config-0.25-old//pkg.m4 2009-12-07 06:39:02.000000000 +1000
++++ pkg-config-0.25/pkg.m4 2010-07-15 14:44:37.466942978 +1000
+@@ -135,7 +135,7 @@
+ Consider adjusting the PKG_CONFIG_PATH environment variable if you
+ installed software in a non-standard prefix.
+
+-_PKG_TEXT])dnl
++_PKG_TEXT])[]dnl
+ ])
+ elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
diff --git a/abs/core/pkgconfig/PKGBUILD b/abs/core/pkgconfig/PKGBUILD
deleted file mode 100644
index 2cecd38..0000000
--- a/abs/core/pkgconfig/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 1407 2008-05-07 22:55:37Z andyrtr $
-# Maintainer: dorphell <dorphell@archlinux.org>
-# Committer: Judd Vinet <jvinet@zeroflux.org>
-
-pkgname=pkgconfig
-pkgver=0.23
-pkgrel=1
-pkgdesc="A system for managing library compile/link flags"
-arch=(i686 x86_64)
-url="http://pkgconfig.freedesktop.org/wiki/"
-license=('GPL')
-groups=('base-devel')
-depends=(glibc)
-source=(http://pkgconfig.freedesktop.org/releases/pkg-config-${pkgver}.tar.gz)
-md5sums=('d922a88782b64441d06547632fd85744')
-
-build() {
- cd ${startdir}/src/pkg-config-${pkgver}
- ./configure --prefix=/usr
- make || return 1
- make DESTDIR=${startdir}/pkg install
-}
diff --git a/abs/core/pm-utils/PKGBUILD b/abs/core/pm-utils/PKGBUILD
index 0ca060c..0d87a34 100644
--- a/abs/core/pm-utils/PKGBUILD
+++ b/abs/core/pm-utils/PKGBUILD
@@ -1,29 +1,31 @@
-#$Id: PKGBUILD 7546 2008-08-02 21:35:07Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 83839 2010-06-23 08:36:02Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
pkgname=pm-utils
-pkgver=1.1.2.4
+pkgver=1.4.0
pkgrel=1
-pkgdesc="Utilities and scripts for power management"
+pkgdesc="Utilities and scripts for suspend and hibernate power management"
arch=('i686' 'x86_64')
url="http://pm-utils.freedesktop.org"
license=('GPL')
-depends=('glibc' 'vbetool' 'procps')
-makedepends=('xmlto')
-install=pm-utils.install
+depends=('bash' 'procps' 'vbetool' 'pm-quirks')
+optdepends=('upower')
+makedepends=('xmlto' 'docbook-xml' 'docbook-xsl')
source=(http://pm-utils.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz
- service.patch
- 11netcfg)
-md5sums=('5aa6d338fb8172f1826a1b08ae601a42'
- '3e170a6c7ae7d9110f95bab54235c089'
+ 11netcfg)
+md5sums=('132005cf1d33e33802eb78121a6ceb22'
'9839687c8787d99fd4ff36aa3238c27b')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- patch -Np0 -i ${startdir}/src/service.patch || return 1
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+ make DESTDIR="${pkgdir}" install
- #Install additional hooks
- install -m755 ${startdir}/src/11netcfg ${startdir}/pkg/usr/lib/pm-utils/sleep.d/11netcfg || return 1
+ # install additional hooks
+ install -m755 "${srcdir}/11netcfg" "${pkgdir}/usr/lib/pm-utils/sleep.d/"
}
diff --git a/abs/core/ppl/PKGBUILD b/abs/core/ppl/PKGBUILD
new file mode 100644
index 0000000..ee5979a
--- /dev/null
+++ b/abs/core/ppl/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 87232 2010-08-11 12:07:18Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: ezzetabi <ezzetabi at gawab dot com>
+
+pkgname=ppl
+pkgver=0.11
+pkgrel=1
+pkgdesc="A modern library for convex polyhedra and other numerical abstractions."
+arch=('i686' 'x86_64')
+url="http://www.cs.unipr.it/ppl"
+license=('GPL3')
+depends=('gmp>=5.0')
+options=('!docs' '!libtool')
+source=(http://www.cs.unipr.it/ppl/Download/ftp/releases/$pkgver/ppl-$pkgver.tar.gz)
+md5sums=('ba527ec0ffc830ce16fad8a4195a337e')
+
+build() {
+ cd $srcdir/ppl-$pkgver
+ ./configure --prefix=/usr --enable-interfaces="c,cxx"
+ make
+ make check
+}
+
+package() {
+ cd $srcdir/ppl-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/abs/core/ppl/ppl-0.10.2-gmp-5.0.patch b/abs/core/ppl/ppl-0.10.2-gmp-5.0.patch
new file mode 100644
index 0000000..4d6964a
--- /dev/null
+++ b/abs/core/ppl/ppl-0.10.2-gmp-5.0.patch
@@ -0,0 +1,30 @@
+diff --git a/m4/ac_check_gmp.m4 b/m4/ac_check_gmp.m4
+index 60cecdc..15acb18 100644
+--- a/m4/ac_check_gmp.m4
++++ b/m4/ac_check_gmp.m4
+@@ -71,6 +71,10 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #GMP version 4.1.3 or higher is required
+ #endif
+
++#ifndef BITS_PER_MP_LIMB
++#define BITS_PER_MP_LIMB GMP_LIMB_BITS
++#endif
++
+ int
+ main() {
+ std::string header_version;
+@@ -97,11 +101,11 @@ main() {
+ return 1;
+ }
+
+- if (sizeof(mp_limb_t)*CHAR_BIT != GMP_LIMB_BITS
+- || GMP_LIMB_BITS != mp_bits_per_limb) {
++ if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
++ || BITS_PER_MP_LIMB != mp_bits_per_limb) {
+ std::cerr
+ << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
+- << "header gives " << __GMP_BITS_PER_MP_LIMB << ";\n"
++ << "header gives " << BITS_PER_MP_LIMB << ";\n"
+ << "library gives " << mp_bits_per_limb << ".\n"
+ << "This probably means you are on a bi-arch system and\n"
+ << "you are compiling with the wrong header or linking with\n"
diff --git a/abs/core/procinfo-ng/PKGBUILD b/abs/core/procinfo-ng/PKGBUILD
new file mode 100644
index 0000000..abe31c2
--- /dev/null
+++ b/abs/core/procinfo-ng/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 77945 2010-04-19 06:20:55Z allan $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+
+pkgname=procinfo-ng
+pkgver=2.0.304
+pkgrel=1
+pkgdesc="Displays useful information from /proc"
+arch=('i686' 'x86_64')
+url="http://procinfo-ng.sourceforge.net/"
+license=('GPL2' 'LGPL2.1')
+depends=('ncurses' 'perl')
+provides=('procinfo')
+conflicts=('procinfo')
+replaces=('procinfo')
+source=(http://downloads.sourceforge.net/project/procinfo-ng/procinfo-ng/2.0.304/$pkgname-$pkgver.tar.bz2
+ ftp://ftp.cistron.nl/pub/people/00-OLD/svm/procinfo-18.tar.gz)
+md5sums=('ed018fe37becc36ceb1ebe3ed909c4d2'
+ '27658d0a69040aca05a65b9888599d50')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+
+ # install tools from old procinfo package
+ cd $srcdir/procinfo-18
+ install -m755 lsdev.pl $pkgdir/usr/bin/lsdev
+ install -m755 socklist.pl $pkgdir/usr/bin/socklist
+ install -m644 lsdev.8 $pkgdir/usr/share/man/man8/lsdev.8
+ install -m644 socklist.8 $pkgdir/usr/share/man/man8/socklist.8
+}
+
diff --git a/abs/core/procinfo/PKGBUILD b/abs/core/procinfo/PKGBUILD
deleted file mode 100644
index ccff37e..0000000
--- a/abs/core/procinfo/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: judd <jvinet@zeroflux.org>
-pkgname=procinfo
-pkgver=19
-pkgrel=11
-pkgdesc="Displays useful information from /proc"
-arch=(i686 x86_64)
-license=('GPL')
-groups=('base')
-depends=('glibc' 'ncurses' 'perl')
-source=(ftp://ftp.cistron.nl/pub/people/00-OLD/svm/$pkgname-18.tar.gz
- procinfo-19.2.patch)
-md5sums=('27658d0a69040aca05a65b9888599d50'
- '6520e2f7d7884069d3ee41251d36a86c')
-
-build() {
- cd $startdir/src/$pkgname-18
- patch -Np1 -i ../procinfo-19.2.patch || return 1
- make LDLIBS=-lncurses || return 1
- make prefix=$startdir/pkg/usr install
-}
-
diff --git a/abs/core/procinfo/procinfo-19.2.patch b/abs/core/procinfo/procinfo-19.2.patch
deleted file mode 100644
index 1fb622a..0000000
--- a/abs/core/procinfo/procinfo-19.2.patch
+++ /dev/null
@@ -1,325 +0,0 @@
-diff -ruN procinfo-18/procinfo.c procinfo-19/procinfo.c
---- procinfo-18/procinfo.c 2001-02-25 12:29:16.000000000 +0100
-+++ procinfo-19/procinfo.c 2005-07-02 17:37:31.000000000 +0200
-@@ -5,9 +5,10 @@
- Displays general info from /proc.
-
- Date: 1995-07-08 05:30:34
-- Last Change: 2001-02-25 00:27:21
-+ Last Change: 2005-07-02 17:25:53
-
- Copyright (c) 1994-2001 svm@kozmix.cistron.nl
-+ Copyright (c) 2004-2005 procinfo@meisel.cc (upgrades for 2.6 kernel)
-
- This software is released under the GNU Public Licence. See the file
- `COPYING' for details. Since you're probably running Linux I'm sure
-@@ -26,6 +27,7 @@
- #include <string.h>
- #include <termios.h>
- #include <termcap.h>
-+#include <ctype.h>
- #include <time.h>
- #include <unistd.h>
- #include <sys/param.h> /* for HZ -- should be in <time.h> ? */
-@@ -72,9 +74,9 @@
- int nr_irqs = 0;
- int nr_cpus = 0;
-
--FILE *loadavgfp, *meminfofp, *modulesfp, *statfp, *uptimefp,
-+FILE *loadavgfp, *meminfofp, *modulesfp, *statfp, *uptimefp, *diskstatsfp,
- *devicesfp, *filesystemsfp, *interruptsfp, *dmafp, *cmdlinefp,
-- *versionfp, *cpuinfofp;
-+ *versionfp, *cpuinfofp, *vmstatfp;
-
- char line[1024], cmdline[1024], booted[40], *version = NULL, *message = NULL;
-
-@@ -89,9 +91,13 @@
- {
- unsigned long elapsed;
- char loadavg[32];
-- int i;
-+ int i, havetwosix = 0, lastdisk;
- static int have_m_c = -1; /* Do we have cache info? */
- static int have_m_l = -1; /* Do we have new-style-one-datum-per-line? */
-+ char devicename[10];
-+ char *last;
-+ unsigned int q,w,a,s,d,f,g,h,j,k,l,y,x;
-+ int disk_counter = 0, ret;
-
-
- /**** /proc/uptime ****/
-@@ -237,6 +243,50 @@
-
- printf ("Bootup: %s Load average: %s\n\n", booted, loadavg);
-
-+/**** /proc/vmstat ... 2.6.x kernel only ****/
-+ if (vmstatfp) {
-+ havetwosix = 1;
-+ fseek (vmstatfp, 0L, SEEK_SET);
-+ while (fgets (line, sizeof (line), vmstatfp)) {
-+ char *type = strtok (line, " ");
-+ if (ISSTR ("pgpgin")) {
-+ new.pgin = VAL;
-+ } else if (ISSTR ("pgpgout")) {
-+ new.pgout = VAL;
-+ } else if (ISSTR ("pgactivate")) {
-+ new.pgac = VAL;
-+ } else if (ISSTR ("pgdeactivate")) {
-+ new.pgdeac = VAL;
-+ } else if (ISSTR ("pgfault")) {
-+ new.pgfault = VAL;
-+ } else if (ISSTR ("pswpin")) {
-+ new.swin = VAL;
-+ } else if (ISSTR ("pswpout")) {
-+ new.swout = VAL;
-+ }
-+ }
-+ }
-+
-+/**** /proc/diskstats ... 2.6.x kernel only ****/
-+ if (diskstatsfp) {
-+ havetwosix = 1;
-+ fseek (diskstatsfp, 0L, SEEK_SET);
-+ while (fgets (line, sizeof (line), diskstatsfp)) {
-+ char *type = strtok (line, "\n");
-+ ret = sscanf (type, "%d%d%s%d%d%d%d%d%d%d%d%d%d%d", &q, &w, devicename, &a, &s, &d, &f, &g, &h, &j, &k, &l, &y, &x);
-+ if (ret != 14) /* Everything with less than 14 elements is not a disk device */
-+ continue;
-+ last = devicename+strlen(devicename)-1;
-+ if (isalpha(*last)) {/* Is the last char is a number ignore it .. like fd0 */
-+ if (++disk_counter > 7) /* 7 disks is all we have room for */
-+ continue;
-+ else {
-+ new.disk_r[disk_counter-1] = a;
-+ new.disk_w[disk_counter-1] = g;
-+ }
-+ }
-+ }
-+ }
-
- /**** /proc/stat ****/
-
-@@ -249,6 +299,9 @@
- new.cpu_nice = VAL;
- new.cpu_sys = VAL;
- new.cpu_idle = VAL;
-+ new.cpu_iowait = VAL;
-+ new.cpu_hirq = VAL;
-+ new.cpu_sirq = VAL;
- /*
- * according to bug #1959, sometimes the cpu_idle
- * seems to go backwards(!) on SMP boxes. This may
-@@ -262,34 +315,54 @@
- new.disk[1] = VAL;
- new.disk[2] = VAL;
- new.disk[3] = VAL;
-+ new.disk[4] = VAL;
-+ new.disk[5] = VAL;
-+ new.disk[6] = VAL;
- } else if (ISSTR ("disk_rio") && io_or_blk == 0) {
- new.disk_r[0] = VAL;
- new.disk_r[1] = VAL;
- new.disk_r[2] = VAL;
- new.disk_r[3] = VAL;
-+ new.disk_r[4] = VAL;
-+ new.disk_r[5] = VAL;
-+ new.disk_r[6] = VAL;
-+ } else if (ISSTR ("disk_wio") && io_or_blk == 0) {
-+ new.disk_w[0] = VAL;
-+ } else if (ISSTR ("disk_wio") && io_or_blk == 0) {
-+ new.disk_w[0] = VAL;
-+ } else if (ISSTR ("disk_wio") && io_or_blk == 0) {
-+ new.disk_w[0] = VAL;
- } else if (ISSTR ("disk_wio") && io_or_blk == 0) {
- new.disk_w[0] = VAL;
- new.disk_w[1] = VAL;
- new.disk_w[2] = VAL;
- new.disk_w[3] = VAL;
-+ new.disk_w[4] = VAL;
-+ new.disk_w[5] = VAL;
-+ new.disk_w[6] = VAL;
- } else if (ISSTR ("disk_rblk") && io_or_blk == 1) {
- new.disk_r[0] = VAL;
- new.disk_r[1] = VAL;
- new.disk_r[2] = VAL;
- new.disk_r[3] = VAL;
-+ new.disk_r[4] = VAL;
-+ new.disk_r[5] = VAL;
-+ new.disk_r[6] = VAL;
- } else if (ISSTR ("disk_wblk") && io_or_blk == 1) {
- new.disk_w[0] = VAL;
- new.disk_w[1] = VAL;
- new.disk_w[2] = VAL;
- new.disk_w[3] = VAL;
-+ new.disk_w[4] = VAL;
-+ new.disk_w[5] = VAL;
-+ new.disk_w[6] = VAL;
- } else if (ISSTR ("disk_io:")) {
-- int disk_counter = 0, ret;
- unsigned int q, w, e, r, t, y, u; /* I'm NOT in the mood today. */
- char *barf;
-
- while ((barf = strtok (NULL, " "))) {
-
-- if (++disk_counter > 4) /* 4 is all we have room for */
-+ if (++disk_counter > 7) /* 7 is all we have room for */
- continue;
-
- ret = sscanf (barf, "(%d,%d):(%d,%d,%d,%d,%d)",
-@@ -374,7 +447,10 @@
-
- printf ("system: %s %s",
- hms (bDIFF (cpu_sys)), perc (bDIFF (cpu_sys), elapsed, nr_cpus));
-- printf (" swap in :%9lu", bDIFF (swin));
-+ if (havetwosix)
-+ printf (" page act:%9lu", bDIFF (pgac));
-+ else
-+ printf (" swap in :%9lu", bDIFF (swin));
- if (new.disk_r[2])
- printf (" disk 3: %8lur%8luw\n", bDIFF (disk_r[2]),
- bDIFF (disk_w[2]));
-@@ -383,14 +459,53 @@
- else
- putchar ('\n');
-
-+ if (havetwosix) {
-+ printf ("IOwait: %s %s",
-+ hms (bDIFF (cpu_iowait)), perc (bDIFF (cpu_iowait), elapsed, nr_cpus));
-+ printf (" page dea:%9lu", bDIFF (pgdeac));
-+ if (new.disk_r[3])
-+ printf (" disk 4: %8lur%8luw\n", bDIFF (disk_r[3]),
-+ bDIFF (disk_w[3]));
-+ else if (new.disk[3])
-+ printf (" disk 4: %8lu\n", bDIFF (disk[3]));
-+ else
-+ putchar ('\n');
-+
-+ printf ("hw irq: %s %s",
-+ hms (bDIFF (cpu_hirq)), perc (bDIFF (cpu_hirq), elapsed, nr_cpus));
-+ printf (" page flt:%9lu", bDIFF (pgfault));
-+ if (new.disk_r[4])
-+ printf (" disk 5: %8lur%8luw\n", bDIFF (disk_r[4]),
-+ bDIFF (disk_w[4]));
-+ else if (new.disk[4])
-+ printf (" disk 5: %8lu\n", bDIFF (disk[4]));
-+ else
-+ putchar ('\n');
-+
-+ printf ("sw irq: %s %s",
-+ hms (bDIFF (cpu_sirq)), perc (bDIFF (cpu_sirq), elapsed, nr_cpus));
-+ printf (" swap in :%9lu", bDIFF (swin));
-+ if (new.disk_r[5])
-+ printf (" disk 6: %8lur%8luw\n", bDIFF (disk_r[5]),
-+ bDIFF (disk_w[5]));
-+ else if (new.disk[5])
-+ printf (" disk 6: %8lu\n", bDIFF (disk[5]));
-+ else
-+ putchar ('\n');
-+ }
-+
- printf ("idle : %s %s",
- hms (bDIFF (cpu_idle)), perc (bDIFF (cpu_idle), elapsed, nr_cpus));
- printf (" swap out:%9lu", bDIFF (swout));
-- if (new.disk_r[3])
-- printf (" disk 4: %8lur%8luw\n", bDIFF (disk_r[3]),
-- bDIFF (disk_w[3]));
-- else if (new.disk[3])
-- printf (" disk 4: %8lu\n", bDIFF (disk[3]));
-+ if (havetwosix)
-+ lastdisk = 5;
-+ else
-+ lastdisk = 2;
-+ if (new.disk_r[lastdisk])
-+ printf (" disk %d: %8lur%8luw\n", lastdisk+1, bDIFF (disk_r[lastdisk]),
-+ bDIFF (disk_w[lastdisk]));
-+ else if (new.disk[lastdisk])
-+ printf (" disk %d: %8lu\n", lastdisk+1, bDIFF (disk[lastdisk]));
- else
- putchar ('\n');
-
-@@ -786,6 +901,8 @@
- meminfofp = myfopen (PROC_DIR "meminfo");
- statfp = myfopen (PROC_DIR "stat");
- /* These may be missing, so check for NULL later. */
-+ diskstatsfp = fopen (PROC_DIR "diskstats", "r");
-+ vmstatfp = fopen (PROC_DIR "vmstat", "r");
- modulesfp = fopen (PROC_DIR "modules", "r");
- devicesfp = fopen (PROC_DIR "devices", "r");
- filesystemsfp = fopen (PROC_DIR "filesystems", "r");
-@@ -990,6 +1107,9 @@
- new.disk_r[1] = new.disk_w[1] =
- new.disk_r[2] = new.disk_w[2] =
- new.disk_r[3] = new.disk_w[3] = 0;
-+ new.disk_r[4] = new.disk_w[4] = 0;
-+ new.disk_r[5] = new.disk_w[5] = 0;
-+ new.disk_r[6] = new.disk_w[6] = 0;
- redrawn = 1;
- message = io_or_blk ? "showing I/O in blocks" :
- "showing I/O per requests";
-diff -ruN procinfo-18/procinfo.h procinfo-19/procinfo.h
---- procinfo-18/procinfo.h 2001-02-25 00:30:45.000000000 +0100
-+++ procinfo-19/procinfo.h 2005-07-02 17:37:54.000000000 +0200
-@@ -3,9 +3,10 @@
- procinfo.h
-
- Date: 1995-04-15 23:54:06
-- Last Change: 2001-02-24 23:43:08
-+ Last Change: 2005-07-02 17:37:32
-
- Copyright (C) 1995-2001 Sander van Malssen <svm@kozmix.cistron.nl>
-+ Copyright (c) 2004-2005 procinfo@meisel.cc (upgrades for 2.6 kernel)
-
- This software is released under the GNU Public Licence. See the file
- `COPYING' for details. Since you're probably running Linux I'm sure
-@@ -47,7 +48,7 @@
- new.x)
-
- #define bDIFF(x) (show_diff ? \
-- (unsigned long) (((new.x)-(old.x))/rate) : \
-+ (unsigned long) ((((new.x)-(old.x))/rate)*10) : \
- (show_from_baseline ? \
- new.x - base.x : new.x))
-
-@@ -81,11 +82,11 @@
- unsigned long uptime;
- long m_to, m_us, m_fr, m_sh, m_bu, m_ca;
- long s_to, s_us, s_fr;
-- unsigned long cpu_user, cpu_nice, cpu_sys, cpu_idle;
-- unsigned long disk[5];
-- unsigned long disk_r[5];
-- unsigned long disk_w[5];
-- unsigned long pgin, pgout, swin, swout;
-+ unsigned long cpu_user, cpu_nice, cpu_sys, cpu_idle, cpu_iowait, cpu_hirq, cpu_sirq;
-+ unsigned long disk[8];
-+ unsigned long disk_r[8];
-+ unsigned long disk_w[8];
-+ unsigned long pgin, pgout, pgac, pgdeac, pgfault, swin, swout;
- unsigned long *intr; /* Phew. That's better. */
- unsigned long old_intr;
- unsigned long ctxt;
-diff -ruN procinfo-18/routines.c procinfo-19/routines.c
---- procinfo-18/routines.c 2001-02-25 00:30:45.000000000 +0100
-+++ procinfo-19/routines.c 2005-07-02 17:18:36.000000000 +0200
-@@ -388,9 +388,13 @@
- hms (unsigned long t)
- {
- unsigned int d, h, m, s;
-+ unsigned long q;
- static char buf[22];
-
-- t = t * 100 / HZ;
-+ q = 100 / HZ; /* We need this because the libc does something funny here */
-+ /* if we try to use: t = t * 100 / HZ; here! */
-+ /* procinfo@meisel.cc 11. Feb. 2004 */
-+ t = t * q;
- d = (int) (t / 8640000);
- t = t - (long) (d * 8640000);
- h = (int) (t / 360000);
-@@ -424,6 +428,7 @@
- /* if (v > 1000)
- return "+++.+%";
- else */
-+ //sprintf (buf, "%3u.%u%%", v, v % 10);
- sprintf (buf, "%3u.%u%%", v / 10, v % 10);
- return buf;
- }
diff --git a/abs/core/python-decorator/LICENSE.txt b/abs/core/python-decorator/LICENSE.txt
new file mode 100644
index 0000000..a6a4929
--- /dev/null
+++ b/abs/core/python-decorator/LICENSE.txt
@@ -0,0 +1,26 @@
+Copyright (c) 2007, Michele Simionato
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ Redistributions in bytecode form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
diff --git a/abs/core/python-decorator/PKGBUILD b/abs/core/python-decorator/PKGBUILD
new file mode 100644
index 0000000..a7cd692
--- /dev/null
+++ b/abs/core/python-decorator/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Pierre Chapuis <catwell at archlinux dot us>
+
+pkgname=python-decorator
+pkgver=3.2.0
+pkgrel=1
+pkgdesc='Python Decorator module'
+arch=('any')
+url='http://pypi.python.org/pypi/decorator'
+license=('BSD')
+depends=('python')
+source=("http://pypi.python.org/packages/source/d/decorator/decorator-${pkgver}.tar.gz"
+ 'LICENSE.txt')
+md5sums=('6208cd51365083c168ab3a04426a646b'
+ '0ca76d2c707f09dbb04acc425ea1a08b')
+
+build() {
+ cd decorator-${pkgver}
+
+ python setup.py build
+}
+
+package() {
+ cd decorator-${pkgver}
+
+ python setup.py install --root=${pkgdir} --optimize=1
+
+ install -D -m644 ${srcdir}/LICENSE.txt ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/abs/core/python-iplib/PKGBUILD b/abs/core/python-iplib/PKGBUILD
index 9171293..9909832 100755
--- a/abs/core/python-iplib/PKGBUILD
+++ b/abs/core/python-iplib/PKGBUILD
@@ -1,15 +1,16 @@
pkgname=python-iplib
-pkgver=1.0
+pkgver=1.1
pkgrel=1
pkgdesc="IPlib is a Python module useful to convert amongst many different notations and to manage couples of address/netmask in the CIDR notation."
url="http://www.pymedia.org"
license=""
depends=('python')
makedepends=('python>=2.3')
-source=(http://erlug.linux.it/~da/soft/iplib/iplib-1.0.tar.gz)
+source=(http://erlug.linux.it/~da/soft/iplib/iplib-1.1.tar.gz)
arch=('i686')
build() {
cd $startdir/src/iplib*
yes "" | python setup.py install --root=$startdir/pkg --prefix=/usr
}
+md5sums=('3437ddbfc1986b2d06e7f4a0724ac5a0')
diff --git a/abs/core/python-parted/PKGBUILD b/abs/core/python-parted/PKGBUILD
index 8d2ef38..759bddf 100644
--- a/abs/core/python-parted/PKGBUILD
+++ b/abs/core/python-parted/PKGBUILD
@@ -1,11 +1,12 @@
pkgname=python-parted
__pkgname=pyparted
pkgver=2.0.12
-pkgrel=1
+pkgver=3.4
+pkgrel=2
pkgdesc="Python bindings for libparted"
arch=(i686 x86_64)
license=('LGPL' 'MPL')
-depends=('python' 'parted')
+depends=('python' 'parted' 'python-decorator')
options=('!libtool')
source=(https://fedorahosted.org/releases/p/y/pyparted/pyparted-${pkgver}.tar.gz)
url="https://fedorahosted.org/pyparted/"
@@ -16,3 +17,9 @@ build() {
make || return 1
make DESTDIR="${pkgdir}" install || return 1
}
+md5sums=('8fc485db0b88e59bbdfc4be8ba4068fa')
+md5sums=('cc064f12110a6f0d0c236ee7b18fee88')
+md5sums=('f244958142c9fd3ff5ee95f578e2f76d')
+md5sums=('7f5d06bd6336f3a699840d8639ab8a0d')
+md5sums=('f244958142c9fd3ff5ee95f578e2f76d')
+md5sums=('cc064f12110a6f0d0c236ee7b18fee88')
diff --git a/abs/core/python/PKGBUILD b/abs/core/python/PKGBUILD
index 16ebac5..6de8863 100644
--- a/abs/core/python/PKGBUILD
+++ b/abs/core/python/PKGBUILD
@@ -1,42 +1,41 @@
-# $Id: PKGBUILD 20912 2008-12-07 08:52:24Z allan $
+# $Id: PKGBUILD 75257 2010-04-01 05:30:58Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributer: Jason Chu <jason@archlinux.org>
pkgname=python
-pkgver=2.6.1
-pkgrel=1
+pkgver=2.6.5
+pkgrel=3
_pybasever=2.6
pkgdesc="A high-level scripting language"
arch=('i686' 'x86_64')
-license=('custom')
+license=('PSF')
url="http://www.python.org"
-depends=('db' 'bzip2' 'gdbm' 'openssl>=0.9.8d' 'zlib')
-makedepends=('tk>=8.5.0' 'sqlite3')
+depends=('db>=4.8' 'bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite3')
+makedepends=('tk>=8.5.0')
optdepends=('tk: for IDLE, pynche and modulator')
-provides=('python-elementtree' 'python-ctypes')
+provides=('python2' 'python-elementtree' 'python-ctypes')
replaces=('python-elementtree' 'python-ctypes')
source=(http://www.python.org/ftp/python/${pkgver}/Python-${pkgver}.tar.bz2
python-2.6-internal-expat.patch
- python-2.6-gdbm.patch
+ python-2.6-db-4.8.patch
modulator-launcher
pynche-launcher)
-md5sums=('e81c2f0953aa60f8062c05a4673f2be0'
+md5sums=('6bef0417e71a1a1737ccf5750420fdb3'
'993800dbcc0c4f199c1ceee998a06e71'
- '13fab4bb2cacbc433e62d7191a17f71e'
+ '10eb5449ead95b9cb13eae9f9a65894e'
'b4a531570415280dc406c8d5c1fa8d83'
'9f731b9033db285132a3524fb36409e7')
-
build() {
cd ${srcdir}/Python-${pkgver}
patch -Np0 -i ${srcdir}/python-2.6-internal-expat.patch
- patch -Np1 -i ${srcdir}/python-2.6-gdbm.patch
+ #http://bugs.python.org/issue6949
+ patch -Np0 -i ${srcdir}/python-2.6-db-4.8.patch
+
+ export OPT="${CFLAGS}"
./configure --prefix=/usr --enable-shared --with-threads --enable-unicode
-
- # temporary backwards compatibility stuff...
- sed -i 's#SITEPATH=#SITEPATH=:/usr/lib/python2.5/site-packages#' Makefile
make || return 1
make DESTDIR=${pkgdir} install
@@ -45,6 +44,9 @@ build() {
ln -sf python${_pybasever} ${pkgdir}/usr/bin/python
ln -sf python${_pybasever} ${pkgdir}/usr/bin/python2
+ ln -sf ../../libpython${_pybasever}.so \
+ ${pkgdir}/usr/lib/python${_pybasever}/config/libpython${_pybasever}.so
+
# Install the tools
#modulator
sed -i "s#%%PYBASEVER%%#${_pybasever}#" ${srcdir}/modulator-launcher
@@ -62,8 +64,8 @@ build() {
install -m755 Tools/i18n/msgfmt.py ${pkgdir}/usr/bin/
mkdir -p ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts
- install Tools/scripts/README ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/
- install Tools/scripts/*py ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/
+ install -m644 Tools/scripts/README ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/
+ install -m755 Tools/scripts/*py ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/
# license
install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
diff --git a/abs/core/python/python-2.6-db-4.8.patch b/abs/core/python/python-2.6-db-4.8.patch
new file mode 100644
index 0000000..2032f92
--- /dev/null
+++ b/abs/core/python/python-2.6-db-4.8.patch
@@ -0,0 +1,123 @@
+Index: setup.py
+===================================================================
+--- setup.py (revision 74955)
++++ setup.py (working copy)
+@@ -695,7 +695,7 @@
+ # a release. Most open source OSes come with one or more
+ # versions of BerkeleyDB already installed.
+
+- max_db_ver = (4, 7)
++ max_db_ver = (4, 8)
+ min_db_ver = (3, 3)
+ db_setup_debug = False # verbose debug prints from this script?
+
+Index: Modules/_bsddb.c
+===================================================================
+--- Modules/_bsddb.c (revision 74955)
++++ Modules/_bsddb.c (working copy)
+@@ -215,7 +215,11 @@
+ #define DB_BUFFER_SMALL ENOMEM
+ #endif
+
++#if (DBVER < 48)
++#define DB_GID_SIZE DB_XIDDATASIZE
++#endif
+
++
+ /* --------------------------------------------------------------------- */
+ /* Structure definitions */
+
+@@ -4501,7 +4505,11 @@
+ DBTxnObject *txn;
+ #define PREPLIST_LEN 16
+ DB_PREPLIST preplist[PREPLIST_LEN];
++#if (DBVER < 48)
+ long retp;
++#else
++ u_int32_t retp;
++#endif
+
+ CHECK_ENV_NOT_CLOSED(self);
+
+@@ -4522,7 +4530,7 @@
+ flags=DB_NEXT; /* Prepare for next loop pass */
+ for (i=0; i<retp; i++) {
+ gid=PyBytes_FromStringAndSize((char *)(preplist[i].gid),
+- DB_XIDDATASIZE);
++ DB_GID_SIZE);
+ if (!gid) {
+ Py_DECREF(list);
+ return NULL;
+@@ -5047,6 +5055,7 @@
+ }
+
+
++#if (DBVER < 48)
+ static PyObject*
+ DBEnv_set_rpc_server(DBEnvObject* self, PyObject* args, PyObject* kwargs)
+ {
+@@ -5068,6 +5077,7 @@
+ RETURN_IF_ERR();
+ RETURN_NONE();
+ }
++#endif
+
+ static PyObject*
+ DBEnv_set_verbose(DBEnvObject* self, PyObject* args)
+@@ -5947,9 +5957,9 @@
+ if (!PyArg_ParseTuple(args, "s#:prepare", &gid, &gid_size))
+ return NULL;
+
+- if (gid_size != DB_XIDDATASIZE) {
++ if (gid_size != DB_GID_SIZE) {
+ PyErr_SetString(PyExc_TypeError,
+- "gid must be DB_XIDDATASIZE bytes long");
++ "gid must be DB_GID_SIZE bytes long");
+ return NULL;
+ }
+
+@@ -6539,8 +6549,10 @@
+ #endif
+ {"set_get_returns_none",(PyCFunction)DBEnv_set_get_returns_none, METH_VARARGS},
+ {"txn_recover", (PyCFunction)DBEnv_txn_recover, METH_NOARGS},
++#if (DBVER < 48)
+ {"set_rpc_server", (PyCFunction)DBEnv_set_rpc_server,
+ METH_VARARGS||METH_KEYWORDS},
++#endif
+ {"set_verbose", (PyCFunction)DBEnv_set_verbose, METH_VARARGS},
+ #if (DBVER >= 42)
+ {"get_verbose", (PyCFunction)DBEnv_get_verbose, METH_VARARGS},
+@@ -7089,6 +7101,7 @@
+ ADD_INT(d, DB_MAX_PAGES);
+ ADD_INT(d, DB_MAX_RECORDS);
+
++#if (DBVER < 48)
+ #if (DBVER >= 42)
+ ADD_INT(d, DB_RPCCLIENT);
+ #else
+@@ -7096,7 +7109,11 @@
+ /* allow apps to be written using DB_RPCCLIENT on older Berkeley DB */
+ _addIntToDict(d, "DB_RPCCLIENT", DB_CLIENT);
+ #endif
++#endif
++
++#if (DBVER < 48)
+ ADD_INT(d, DB_XA_CREATE);
++#endif
+
+ ADD_INT(d, DB_CREATE);
+ ADD_INT(d, DB_NOMMAP);
+@@ -7113,7 +7130,13 @@
+ ADD_INT(d, DB_INIT_TXN);
+ ADD_INT(d, DB_JOINENV);
+
++#if (DBVER >= 48)
++ ADD_INT(d, DB_GID_SIZE);
++#else
+ ADD_INT(d, DB_XIDDATASIZE);
++ /* Allow new code to work in old BDB releases */
++ _addIntToDict(d, "DB_GID_SIZE", DB_XIDDATASIZE);
++#endif
+
+ ADD_INT(d, DB_RECOVER);
+ ADD_INT(d, DB_RECOVER_FATAL);
diff --git a/abs/core/qt/PKGBUILD b/abs/core/qt/PKGBUILD
index e315180..75e4737 100755..100644
--- a/abs/core/qt/PKGBUILD
+++ b/abs/core/qt/PKGBUILD
@@ -1,43 +1,23 @@
-# $Id$
+# $Id: PKGBUILD 82062 2010-06-08 11:58:32Z pierre $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=qt
-pkgver=4.5.2
-pkgrel=5
-_kdeqtver=2d1727e396d5dca24ae0fb6a45d35ffc1abd0c12
+pkgver=4.6.3
+pkgrel=2
pkgdesc='A cross-platform application and UI framework'
arch=('i686' 'x86_64')
-url='http://www.qt.nokia.com/'
+url='http://qt.nokia.com/'
license=('GPL3' 'LGPL')
-depends=('libpng' 'mesa' 'fontconfig' 'libtiff>=3.8.2-5' 'libmng>=1.0.10-2' 'sqlite3'
- 'libxrandr' 'glib2' 'libxi' 'dbus' 'libxcursor' 'libxinerama' 'libxrender')
+depends=('libpng' 'fontconfig' 'libtiff' 'libmng' 'sqlite3' 'xdg-utils' 'ca-certificates'
+ 'hicolor-icon-theme' 'alsa-lib' 'glib2' 'dbus' 'libxrender' 'libgl' 'libsm')
optdepends=('postgresql-libs' 'libmysqlclient' 'unixodbc')
-makedepends=('inputproto' 'postgresql-libs' 'mysql' 'unixodbc' 'libxfixes' 'gtk2')
-provides=("qt4=${pkgver}")
-replaces=('qt4')
-conflicts=('qt4')
+makedepends=('mesa' 'inputproto' 'postgresql-libs' 'mysql' 'unixodbc' 'libxfixes' 'gtk2')
+install=qt.install
options=('!libtool')
-_pkgfqn="qt-x11-opensource-src-${pkgver}"
-source=("http://get.qt.nokia.com/qt/source/${_pkgfqn}.tar.bz2"
- "ftp://ftp.archlinux.org/other/kde-qt/kde-qt-patches-${_kdeqtver}.tar.bz2"
+_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
+source=("ftp://ftp.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz"
'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qtconfig.desktop'
- 'qdoc3.patch' 'QtWebKit_Flash.patch')
-
-_create-kdeqt-patches() {
- local codir=$(mktemp -d)
- mkdir -p "${codir}/kde-qt"
- git clone git://gitorious.org/+kde-developers/qt/kde-qt.git "${codir}/kde-qt"
- pushd "${codir}/kde-qt"
- local kdeqtver=$(git --no-pager show --format='%H' "${pkgver}-patched")
- mkdir "../kde-qt-patches-${kdeqtver}"
- git format-patch -k "v${pkgver}..${pkgver}-patched" -o "../kde-qt-patches-${kdeqtver}"
- popd
- pushd "${codir}"
- bsdtar -cjf "kde-qt-patches-${kdeqtver}.tar.bz2" kde-qt-patches-${kdeqtver}
- popd
- mv "${codir}/kde-qt-patches-${kdeqtver}.tar.bz2" .
- rm -rf "${codir}"
-}
+ 'ca-certificates.patch' 'qt-webkit-4.6.3-flash-plugin-segfault.patch')
build() {
unset QMAKESPEC
@@ -46,16 +26,15 @@ build() {
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
cd $srcdir/$_pkgfqn
- for i in $srcdir/kde-qt-patches-${_kdeqtver}/*; do
- echo "applying $i"
- patch -p1 -i $i || return 1
- done
- patch -p0 -i $srcdir/qdoc3.patch
- patch < $srcdir/QtWebKit_Flash.patch ${srcdir}/${_pkgfqn}/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp || return 1
+ # see http://cvs.fedoraproject.org/viewvc/rpms/qt/devel/
+ # use system ssl cert bundle
+ patch -p1 -i $srcdir/ca-certificates.patch || return 1
+ patch -p0 < $srcdir/qt-webkit-4.6.3-flash-plugin-segfault.patch || return 1
sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf
+ sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf
./configure -confirm-license -opensource \
-prefix /usr \
@@ -71,6 +50,7 @@ build() {
-system-sqlite \
-xmlpatterns \
-no-phonon \
+ -no-phonon-backend \
-svg \
-webkit \
-scripttools \
@@ -87,35 +67,44 @@ build() {
-silent \
-optimized-qmake \
-dbus \
- -reduce-relocations \
-no-separate-debug-info \
+ -reduce-relocations \
-gtkstyle \
-opengl \
+ -no-openvg \
-glib
-
make
+}
+
+package() {
+ cd $srcdir/$_pkgfqn
make INSTALL_ROOT=$pkgdir install
- install -D -m644 tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/pixmaps/assistant.png
- install -D -m644 tools/linguist/linguist/images/appicon.png ${pkgdir}/usr/share/pixmaps/linguist.png
- install -D -m644 tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/pixmaps/designer.png
- install -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/pixmaps/qtlogo.png
+ # install missing icons and desktop files
+ for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
+ size=$(echo $(basename ${icon}) | cut -d- -f2)
+ install -p -D -m644 ${icon} ${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png
+ done
+ install -p -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/icons/hicolor/64x64/apps/qtlogo.png
+ install -p -D -m644 tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png
+ install -p -D -m644 tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/icons/hicolor/128x128/apps/designer.png
install -d ${pkgdir}/usr/share/applications
install -m644 ${srcdir}/{linguist,designer,assistant,qtconfig}.desktop ${pkgdir}/usr/share/applications/
+
+ # install license addition
install -D -m644 LGPL_EXCEPTION.txt ${pkgdir}/usr/share/licenses/qt/LGPL_EXCEPTION.txt
- # cleanup and path fixes
- find $pkgdir/usr/lib -type f -name '*prl' -print -exec sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" {} \;
- sed -i -e "s|-L$srcdir/${_pkgfqn}/lib||g" $pkgdir/usr/lib/pkgconfig/*.pc
- sed -i -e "s|$srcdir/${_pkgfqn}/bin/moc|/usr/bin/moc|g" $pkgdir/usr/lib/pkgconfig/*.pc
- sed -i -e "s|$srcdir/${_pkgfqn}/bin/uic|/usr/bin/uic|g" $pkgdir/usr/lib/pkgconfig/*.pc
+ # Fix wrong path in pkgconfig files
+ find ${pkgdir}/usr/lib/pkgconfig -type f -name '*.pc' \
+ -exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \;
+ # Fix wrong path in prl files
+ find ${pkgdir}/usr/lib -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
}
-
-md5sums=('28a7e8ac9805a6f614d2a27ee1a6ac9d'
- '4b333add3031f59538629b35858178d9'
- 'b352b4b70faba2571af3fce5d119580a'
- '491a96682faa03407f768a53cca71db5'
- 'cda7ed7e132689991dc2968a0043b4b0'
- '717669b728a0a795217d2f52969e454c'
- '9c0a0db3569e889a54a6cddcd55c538c'
- '0e2f5e43ed9dba32816fd4142b021762')
+md5sums=('5c69f16d452b0bb3d44bc3c10556c072'
+ 'a445c6917086d80f1cfc1e40cb6b0132'
+ 'd457f0a0ad68a3861c3cadefe3b42ded'
+ '668331d9798a0e2b94381efb7be4c513'
+ 'c29f2993d6a0f73d756d2fa36e130e1c'
+ 'd5c4cad7af93f1d736d4569a207bd739'
+ '17382f5532888268bb50d1ab47e5fa19')
diff --git a/abs/core/qt/assistant.desktop b/abs/core/qt/assistant.desktop
index 48105b9..1b9f0a7 100644
--- a/abs/core/qt/assistant.desktop
+++ b/abs/core/qt/assistant.desktop
@@ -2,7 +2,7 @@
Exec=/usr/bin/assistant
Name=Qt Assistant
GenericName=Qt Document Browser
-Icon=/usr/share/pixmaps/assistant.png
+Icon=assistant
Terminal=false
Type=Application
Categories=Qt;Development;Documentation
diff --git a/abs/core/qt/ca-certificates.patch b/abs/core/qt/ca-certificates.patch
new file mode 100644
index 0000000..02ebbad
--- /dev/null
+++ b/abs/core/qt/ca-certificates.patch
@@ -0,0 +1,25 @@
+diff -up qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp
+--- qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates 2009-09-29 06:01:38.000000000 -0500
++++ qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp 2009-10-02 11:20:10.674662746 -0500
+@@ -482,8 +482,20 @@ void QSslSocketPrivate::resetDefaultCiph
+
+ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
+ {
++
++ QFile caBundle;
++
++#ifdef Q_OS_UNIX
++ // Check known locations for the system's default bundle. ### On Windows,
++ // we should use CAPI to find the bundle, and not rely on default unix
++ // locations.
++ caBundle.setFileName(QLatin1String("/etc/ssl/certs/ca-certificates.crt"));
++ if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
++ return QSslCertificate::fromDevice(&caBundle);
++#endif
++
+ // Qt provides a default bundle of certificates
+- QFile caBundle(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
++ caBundle.setFileName(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
+ if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QSslCertificate::fromDevice(&caBundle);
+
diff --git a/abs/core/qt/designer.desktop b/abs/core/qt/designer.desktop
index fefe095..8f36273 100644
--- a/abs/core/qt/designer.desktop
+++ b/abs/core/qt/designer.desktop
@@ -3,7 +3,7 @@ Exec=/usr/bin/designer
Name=Qt Designer
GenericName=Interface Designer
MimeType=application/x-designer
-Icon=/usr/share/pixmaps/designer.png
+Icon=designer
Terminal=false
Type=Application
Categories=Qt;Development;GUIDesigner
diff --git a/abs/core/qt/linguist.desktop b/abs/core/qt/linguist.desktop
index 04519bf..94e92c1 100644
--- a/abs/core/qt/linguist.desktop
+++ b/abs/core/qt/linguist.desktop
@@ -5,5 +5,5 @@ GenericName=Translation Tool
MimeType=application/x-linguist
Terminal=false
Type=Application
-Icon=/usr/share/pixmaps/linguist.png
+Icon=linguist
Categories=Qt;Development;Translation
diff --git a/abs/core/qt/qdoc3.patch b/abs/core/qt/qdoc3.patch
deleted file mode 100644
index c967b6e..0000000
--- a/abs/core/qt/qdoc3.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- tools/qdoc3/qdoc3.pro 2009-06-25 17:34:42.000000000 +0200
-+++ tools/qdoc3/qdoc3.pro.new 2009-06-25 17:35:42.000000000 +0200
-@@ -8,6 +8,11 @@
- CONFIG -= build_all
- CONFIG += release
- }
-+
-+TARGET= qdoc3
-+target.path = $$[QT_INSTALL_BINS]
-+INSTALLS += target
-+
- mac:CONFIG -= app_bundle
- HEADERS += apigenerator.h \
- archiveextractor.h \
-diff -up qt-x11-opensource-src-4.5.0/tools/tools.pro.qdoc3 qt-x11-opensource-src-4.5.0/tools/tools.pro
---- tools/tools.pro.qdoc3 2009-02-25 15:09:27.000000000 -0600
-+++ tools/tools.pro 2009-03-04 09:44:18.000000000 -0600
-@@ -13,6 +13,7 @@ no-png {
- SUBDIRS += designer
- }
- SUBDIRS += linguist
-+ SUBDIRS += qdoc3
- wince*: SUBDIRS = qtestlib designer
- unix:!mac:!embedded:contains(QT_CONFIG, qt3support):SUBDIRS += qtconfig
- win32:!wince*:!contains(QT_EDITION, OpenSource|Console):SUBDIRS += activeqt
diff --git a/abs/core/qt/QtWebKit_Flash.patch b/abs/core/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch
index 102f73c..6fc87ca 100644
--- a/abs/core/qt/QtWebKit_Flash.patch
+++ b/abs/core/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch
@@ -1,48 +1,43 @@
---- PluginPackageQt.cpp.orig 2010-06-30 21:29:47.178707288 +0000
-+++ PluginPackageQt.cpp 2010-06-30 21:35:40.185441603 +0000
-@@ -36,6 +36,8 @@
-
- namespace WebCore {
-
-+typedef void gtkInitFunc(int *argc, char ***argv);
-+
- bool PluginPackage::fetchInfo()
- {
- if (!load())
-@@ -100,7 +102,8 @@
-
- NP_InitializeFuncPtr NP_Initialize;
- NPError npErr;
--
-+ gtkInitFunc* gtkInit;
-+
- NP_Initialize = (NP_InitializeFuncPtr)m_module->resolve("NP_Initialize");
- m_NPP_Shutdown = (NPP_ShutdownProcPtr)m_module->resolve("NP_Shutdown");
-
-@@ -157,6 +160,26 @@
- m_browserFuncs.enumerate = _NPN_Enumerate;
- m_browserFuncs.construct = _NPN_Construct;
-
-+ // WORKAROUND: Prevent gtk based plugin crashes such as BR# 40567 by
-+ // explicitly forcing the initializing of Gtk, i.e. calling gtk_init,
-+ // whenver the symbol is present in the plugin library loaded above.
-+ // Note that this workaround is based on code from the NSPluginClass ctor
-+ // in KDE's kdebase/apps/nsplugins/viewer/nsplugin.cpp file.
-+ gtkInit = (gtkInitFunc*)m_module->resolve("gtk_init");
-+ if (gtkInit) {
-+ // Prevent gtk_init() from replacing the X error handlers, since the Gtk
-+ // handlers abort when they receive an X error, thus killing the viewer.
-+#ifdef Q_WS_X11
-+ int (*old_error_handler)(Display*, XErrorEvent*) = XSetErrorHandler(0);
-+ int (*old_io_error_handler)(Display*) = XSetIOErrorHandler(0);
-+#endif
-+ gtkInit(0, 0);
-+#ifdef Q_WS_X11
-+ XSetErrorHandler(old_error_handler);
-+ XSetIOErrorHandler(old_io_error_handler);
-+#endif
-+}
-+
- #if defined(XP_UNIX)
- npErr = NP_Initialize(&m_browserFuncs, &m_pluginFuncs);
- #else
+This patch fixes WebKit Bug 40567: [Qt] QtWebKit crashes while initializing
+flash plugin 10.1.53.64...
+https://bugs.webkit.org/show_bug.cgi?id=40567
+
+--- src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp
++++ src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp
+@@ -35,4 +35,6 @@
+
+ namespace WebCore {
++
++typedef void gtkInitFunc(int *argc, char ***argv);
+
+ bool PluginPackage::fetchInfo()
+@@ -110,4 +112,5 @@
+ NP_InitializeFuncPtr NP_Initialize;
+ NPError npErr;
++ gtkInitFunc* gtkInit;
+
+ NP_Initialize = (NP_InitializeFuncPtr)m_module->resolve("NP_Initialize");
+@@ -126,4 +129,24 @@
+ // It does so in NP_Initialize with a null instance, therefore it is done this way:
+ m_browserFuncs.getvalue = staticPluginQuirkRequiresGtkToolKit_NPN_GetValue;
++ }
++
++ // WORKAROUND: Prevent gtk based plugin crashes such as BR# 40567 by
++ // explicitly forcing the initializing of Gtk, i.e. calling gtk_init,
++ // whenver the symbol is present in the plugin library loaded above.
++ // Note that this workaround is based on code from the NSPluginClass ctor
++ // in KDE's kdebase/apps/nsplugins/viewer/nsplugin.cpp file.
++ gtkInit = (gtkInitFunc*)m_module->resolve("gtk_init");
++ if (gtkInit) {
++ // Prevent gtk_init() from replacing the X error handlers, since the Gtk
++ // handlers abort when they receive an X error, thus killing the viewer.
++#ifdef Q_WS_X11
++ int (*old_error_handler)(Display*, XErrorEvent*) = XSetErrorHandler(0);
++ int (*old_io_error_handler)(Display*) = XSetIOErrorHandler(0);
++#endif
++ gtkInit(0, 0);
++#ifdef Q_WS_X11
++ XSetErrorHandler(old_error_handler);
++ XSetIOErrorHandler(old_io_error_handler);
++#endif
+ }
diff --git a/abs/core/qt/qt.install b/abs/core/qt/qt.install
new file mode 100644
index 0000000..e70c054
--- /dev/null
+++ b/abs/core/qt/qt.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/core/qt/qtconfig.desktop b/abs/core/qt/qtconfig.desktop
index 633d921..7c221e5 100644
--- a/abs/core/qt/qtconfig.desktop
+++ b/abs/core/qt/qtconfig.desktop
@@ -2,7 +2,7 @@
Name=Qt Config
Comment=Configure Qt behavior, styles, fonts
Exec=/usr/bin/qtconfig
-Icon=/usr/share/pixmaps/qtlogo
+Icon=qtlogo
Terminal=false
Type=Application
Categories=Qt;Settings;
diff --git a/abs/core/readline/PKGBUILD b/abs/core/readline/PKGBUILD
index e4c7716..489b22f 100644
--- a/abs/core/readline/PKGBUILD
+++ b/abs/core/readline/PKGBUILD
@@ -1,36 +1,56 @@
-# $Id: PKGBUILD 25790 2009-01-29 09:50:30Z allan $
+# $Id: PKGBUILD 82724 2010-06-16 04:51:23Z allan $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=readline
-pkgver=5.2.013
-pkgrel=2
+_patchlevel=002 #prepare for some patches
+pkgver=6.1.$_patchlevel
+pkgrel=1
pkgdesc="GNU readline library"
arch=(i686 x86_64)
url="http://tiswww.case.edu/php/chet/readline/rltop.html"
license=('GPL')
-groups=('base')
depends=('glibc' 'ncurses')
backup=("etc/inputrc")
-source=(ftp://ftp.cwru.edu/pub/bash/readline-${pkgver}.tar.gz
- inputrc)
-md5sums=('07666d8dabefdfc7fb328b14cd6ce843'
- 'e5fc955f56d9fa5beb871f3279b8fa8b')
+source=(http://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz
+ inputrc)
+if [ $_patchlevel -gt 00 ]; then
+ for (( p=1; p<=$_patchlevel; p++ )); do
+ source=(${source[@]} http://ftp.gnu.org/gnu/readline/readline-6.1-patches/readline61-$(printf "%03d" $p))
+ done
+fi
+md5sums=('fc2f7e714fe792db1ce6ddc4c9fb4ef3'
+ 'e5fc955f56d9fa5beb871f3279b8fa8b'
+ 'c642f2e84d820884b0bf9fd176bc6c3f'
+ '1a76781a1ea734e831588285db7ec9b1')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
+ cd ${srcdir}/${pkgname}-6.1
+ for p in ../readline61-*; do
+ [ -e "$p" ] || continue
+ msg "applying patch ${p}"
+ patch -Np0 -i ${p} || return 1
+ done
+
+ # Remove RPATH from shared objects (FS#14366)
+ sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf
+
+ # build with -fPIC for x86_64 (FS#15634)
+ [ $CARCH == "x86_64" ] && CFLAGS="$CFLAGS -fPIC"
+
+ ./configure --prefix=/usr --libdir=/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info
make SHLIB_LIBS=-lncurses || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
- mkdir -p ${startdir}/pkg/etc
- install -m644 ../inputrc ${startdir}/pkg/etc/inputrc || return 1
+ mkdir -p ${pkgdir}/etc
+ install -m644 ../inputrc ${pkgdir}/etc/inputrc || return 1
+ #FHS recommends only shared libs in /lib
+ mkdir -p $pkgdir/usr/lib
+ mv $pkgdir/lib/*.a $pkgdir/usr/lib
- cd ${startdir}/pkg
- mkdir -pv lib
- mv -v usr/lib/lib{readline,history}.so.5* lib/ || return 1
- ln -svf ../../lib/libreadline.so.5 usr/lib/libreadline.so || return 1
- ln -svf ../../lib/libhistory.so.5 usr/lib/libhistory.so || return 1
-
- rm -f ${pkgdir}/usr/share/info/dir
+ # to make the linker find the shared lib and fix compile issues
+ cd ${pkgdir}/usr/lib
+ ln -sv /lib/libreadline.so .
+ ln -sv /lib/libhistory.so .
}
diff --git a/abs/core/readline/readline.install b/abs/core/readline/readline.install
index 8e3de84..0d40c51 100644
--- a/abs/core/readline/readline.install
+++ b/abs/core/readline/readline.install
@@ -4,7 +4,7 @@ filelist=(history.info readline.info rluserman.info)
post_install() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
@@ -16,7 +16,7 @@ post_upgrade() {
pre_remove() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core/reiserfsprogs/PKGBUILD b/abs/core/reiserfsprogs/PKGBUILD
index 6e3cb6d..1e20cc2 100644
--- a/abs/core/reiserfsprogs/PKGBUILD
+++ b/abs/core/reiserfsprogs/PKGBUILD
@@ -1,26 +1,24 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 48336 2009-08-01 14:36:12Z jgc $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
pkgname=reiserfsprogs
-pkgver=3.6.20
-pkgrel=12
+pkgver=3.6.21
+pkgrel=2
pkgdesc="Reiserfs utilities"
arch=(i686 x86_64)
-url="http://www.namesys.com"
+url=http://www.kernel.org/pub/linux/utils/fs/reiserfs/README
license=('GPL')
groups=('base')
-depends=('e2fsprogs')
-source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz
- #namesys server is down atm
- #ftp://ftp.namesys.com/pub/$pkgname/$pkgname-$pkgver.tar.gz
-)
-md5sums=('3b3392f59c5d302cf858bc4cf194b258')
+depends=('util-linux-ng>=2.16')
+source=(http://www.kernel.org/pub/linux/utils/fs/reiserfs/reiserfsprogs-${pkgver}.tar.bz2)
+md5sums=('0639cefac8f8150536cfa7531c2aa2d2')
build() {
- export MAKEFLAGS="-j1"
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sbindir=/sbin || return 1
make || return 1
- make DESTDIR=$startdir/pkg install
- mv $startdir/pkg/usr/sbin $startdir/pkg
- #ln -s reiserfsck $startdir/pkg/sbin/fsck.reiserfs
+ make DESTDIR="${pkgdir}" install || return 1
+ ln -s reiserfsck "${pkgdir}/sbin/fsck.reiserfs"
+ ln -s mkreiserfs "${pkgdir}/sbin/mkfs.reiserfs"
}
diff --git a/abs/core/rpcbind/PKGBUILD b/abs/core/rpcbind/PKGBUILD
new file mode 100644
index 0000000..11d8a91
--- /dev/null
+++ b/abs/core/rpcbind/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 54912 2009-10-11 20:12:23Z giovanni $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=rpcbind
+pkgver=0.2.0
+pkgrel=1
+pkgdesc="portmap replacement which supports RPC over various protocols"
+arch=(i686 x86_64)
+depends=('bash' 'glibc' 'libtirpc')
+url="http://rpcbind.sourceforge.net"
+license=('custom')
+replaces=('portmap')
+source=(http://downloads.sourceforge.net/sourceforge/rpcbind/rpcbind-0.2.0.tar.bz2
+ rpcbind)
+md5sums=('1a77ddb1aaea8099ab19c351eeb26316'
+ '78a963654f57cbb209e228884767836e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+ # install daemon
+ install -D -m755 $srcdir/rpcbind $pkgdir/etc/rc.d/rpcbind
+ # install license
+ install -D -m644 COPYING $pkgdir/usr/share/licenses/rpcbind/COPYING
+}
diff --git a/abs/core/rpcbind/rpcbind b/abs/core/rpcbind/rpcbind
new file mode 100755
index 0000000..87c5b50
--- /dev/null
+++ b/abs/core/rpcbind/rpcbind
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID="$(pidof -o %PPID /usr/bin/rpcbind)"
+case "$1" in
+ start)
+ stat_busy "Starting rpcbind"
+ [ -z "$PID" ] && /usr/bin/rpcbind &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ PID=$(pidof -o %PPID /usr/bin/rpcbind)
+ echo $PID > /var/run/rpcbind.pid
+ add_daemon rpcbind
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping rpcbind"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/rpcbind.pid
+ rm_daemon rpcbind
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/core/rsync/ChangeLog b/abs/core/rsync/ChangeLog
deleted file mode 100644
index 1e26b1c..0000000
--- a/abs/core/rsync/ChangeLog
+++ /dev/null
@@ -1,20 +0,0 @@
-2008-09-06 Eric Belanger <eric@archlinux.org>
-
- * rsync 3.0.4-1
- * Upstream update
-
-2008-07-05 Eric Belanger <eric@archlinux.org>
-
- * rsync 3.0.3-1
- * Upstream update
-
-2008-04-13 Eric Belanger <eric@archlinux.org>
-
- * rsync 3.0.2-1
- * Upstream update
-
-2008-03-01 Eric Belanger <eric@archlinux.org>
-
- * rsync 3.0.0-1
- * Upstream update
- * Updated license
diff --git a/abs/core/rt2500/PKGBUILD b/abs/core/rt2500/PKGBUILD
deleted file mode 100644
index 605b031..0000000
--- a/abs/core/rt2500/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 22503 2008-12-26 22:53:05Z tpowa $
-# Maintainer: James Rayner <iphitus@gmail.com>
-
-pkgname=rt2500
-_kernver=2.6.28-LinHES
-pkgver=1.1.0_B4
-_pkgver=1.1.0-b4
-pkgrel=28
-pkgdesc="Drivers for rt2500 chipset wireless cards"
-url="http://rt2x00.serialmonkey.com/wiki/index.php/Main_Page"
-license=('GPL2')
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29')
-arch=('i686' 'x86_64')
-install=rt2500.install
-source=(http://downloads.sourceforge.net/sourceforge/rt2400/rt2500-${_pkgver}.tar.gz \
- kernel-2.6.22.patch
- kernel-2.6.24.patch
- kernel-2.6.27.patch)
-md5sums=('83b8b9a091705c08d99268479f3b3b6a'
- 'a74f8e9cbba7b29620f11fba8fd7c50d'
- 'ccf0da667cc6642dacf39dea1aac254f'
- 'ccb923f4ebf408e781544d7cf4074bf2')
-
-build() {
- cd $startdir/src/rt2500-$_pkgver/
- patch -Np1 -i ../kernel-2.6.22.patch || return 1
- patch -Np1 -i ../kernel-2.6.24.patch || return 1
- patch -Np1 -i ../kernel-2.6.27.patch || return 1
- cd $startdir/src/rt2500-$_pkgver/Module
- make KERNDIR=/lib/modules/$_kernver/build || return 1
- install -D -m 644 rt2500.ko $startdir/pkg/lib/modules/$_kernver/kernel/drivers/net/wireless/rt2500.ko
- sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
-}
diff --git a/abs/core/rt2500/kernel-2.6.22.patch b/abs/core/rt2500/kernel-2.6.22.patch
deleted file mode 100644
index 530bf0a..0000000
--- a/abs/core/rt2500/kernel-2.6.22.patch
+++ /dev/null
@@ -1,24125 +0,0 @@
-diff -Nur rt2500-1.1.0-b4/CHANGELOG rt2500-cvs-2007061011/CHANGELOG
---- rt2500-1.1.0-b4/CHANGELOG 2006-06-17 22:12:57.000000000 +0200
-+++ rt2500-cvs-2007061011/CHANGELOG 2007-06-08 20:09:53.000000000 +0200
-@@ -1,28 +1,40 @@
--/***************************************************************************
-- * RT2x00 SourceForge Project - http://rt2x00.sourceforge.net *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2003. *
-+/***************************************************************************
-+ * RT2x00 SourceForge Project - http://rt2x00.sourceforge.net *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2003. *
- ***************************************************************************/
--
-+
- Changelog for 802.11g rt2500 driver and RAConfig2500 Utility
-
-- Version: 1.1.0-beta4
-+ Version: CVS
-+ * Forward compatibility with kernel 2.6.22 pci bus driver i/f changes
-+ and skbuff changes.
-+ * SIOCGIWSCAN returns EAGAIN until all channels scanned.
-+ * More cruft removal.
-+ * Updated base code to Ralink 1.4.6.6 driver version.
-+ * In-kernel compile support (Bug #1642144): Declare debug var
-+ as static. Implement as bit mask.
-+ * Fix to WPA RSN IE mismatched bug
-+ * Compatibility fixes for kernels >= 2.6.19
-+ * Fix essid truncation on kernels >= 2.6.19
-+
-+ Version: 1.1.0-beta4
- * Fix pre-up config panic (1307957)
- * Fix noise levels in scan results (1246025)
- * RFMON TX Support for aircrack
-@@ -31,9 +43,9 @@
- * Promisc/Monitor code missing node->AP packets (1009565)
- * Channel set in RFMON before ifup now works (1254806)
- * Fixes for suspend/resume
-- * Enhancement for RaConfig to support non-ra? interfaces
-+ * Enhancement for RaConfig to support non-ra? interfaces
- * Channel list updates after region change
-- * TxPower changes to support dBm values
-+ * TxPower changes to support dBm values
- * Pre-up panic for setting WirelessMode
- * Cleanup of iwpriv syntax
- * Fixes for SMP support (1099089)
-@@ -47,7 +59,7 @@
- * Power Saving Modes (1159331)
- * Bridging with other interfaces
-
-- Version: 1.1.0-beta3
-+ Version: 1.1.0-beta3
- * PCI Management Cleanup
- * Fix for RaConfig crashing on statistics (ChrisH)
- * Big-Endian fix for RaConfig
-@@ -63,15 +75,15 @@
- * Fix iwconfig - Link Quality(means Channel Quality), Signal level and Noise level.
- * Fix iwlist ra0 channel - print out
-
-- Version: 1.1.0-beta2
-+ Version: 1.1.0-beta2
- * Removed Kernel tainting
- * Updated all file headers for this project
- * kmalloc stability fixes to the MLME
- * Cleanup on memory management functions (NDisFill/Move/Zero)
- * Rollin of Robin Cornelius RFMon Patch
- * RFMon support through iwconfig mode
-- * Debugging and general logging cleanups
-- * Rolling of changes in Ralink 1.4.5.0 release
-+ * Debugging and general logging cleanups
-+ * Rolling of changes in Ralink 1.4.5.0 release
- * Debug switching
- * Spinlock changes for stability
- * GCC 3.4 compilation
-@@ -86,5 +98,5 @@
-
- Version: 1.0.0
- * Initial baseline code from Ralink (1.4.4.0)
--
--
-+
-+
-diff -Nur rt2500-1.1.0-b4/LICENSE rt2500-cvs-2007061011/LICENSE
---- rt2500-1.1.0-b4/LICENSE 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/LICENSE 2007-05-29 05:57:52.000000000 +0200
-@@ -1,340 +1,340 @@
-- GNU GENERAL PUBLIC LICENSE
-- Version 2, June 1991
--
-- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-- Everyone is permitted to copy and distribute verbatim copies
-- of this license document, but changing it is not allowed.
--
-- Preamble
--
-- The licenses for most software are designed to take away your
--freedom to share and change it. By contrast, the GNU General Public
--License is intended to guarantee your freedom to share and change free
--software--to make sure the software is free for all its users. This
--General Public License applies to most of the Free Software
--Foundation's software and to any other program whose authors commit to
--using it. (Some other Free Software Foundation software is covered by
--the GNU Library General Public License instead.) You can apply it to
--your programs, too.
--
-- When we speak of free software, we are referring to freedom, not
--price. Our General Public Licenses are designed to make sure that you
--have the freedom to distribute copies of free software (and charge for
--this service if you wish), that you receive source code or can get it
--if you want it, that you can change the software or use pieces of it
--in new free programs; and that you know you can do these things.
--
-- To protect your rights, we need to make restrictions that forbid
--anyone to deny you these rights or to ask you to surrender the rights.
--These restrictions translate to certain responsibilities for you if you
--distribute copies of the software, or if you modify it.
--
-- For example, if you distribute copies of such a program, whether
--gratis or for a fee, you must give the recipients all the rights that
--you have. You must make sure that they, too, receive or can get the
--source code. And you must show them these terms so they know their
--rights.
--
-- We protect your rights with two steps: (1) copyright the software, and
--(2) offer you this license which gives you legal permission to copy,
--distribute and/or modify the software.
--
-- Also, for each author's protection and ours, we want to make certain
--that everyone understands that there is no warranty for this free
--software. If the software is modified by someone else and passed on, we
--want its recipients to know that what they have is not the original, so
--that any problems introduced by others will not reflect on the original
--authors' reputations.
--
-- Finally, any free program is threatened constantly by software
--patents. We wish to avoid the danger that redistributors of a free
--program will individually obtain patent licenses, in effect making the
--program proprietary. To prevent this, we have made it clear that any
--patent must be licensed for everyone's free use or not licensed at all.
--
-- The precise terms and conditions for copying, distribution and
--modification follow.
--
-- GNU GENERAL PUBLIC LICENSE
-- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
--
-- 0. This License applies to any program or other work which contains
--a notice placed by the copyright holder saying it may be distributed
--under the terms of this General Public License. The "Program", below,
--refers to any such program or work, and a "work based on the Program"
--means either the Program or any derivative work under copyright law:
--that is to say, a work containing the Program or a portion of it,
--either verbatim or with modifications and/or translated into another
--language. (Hereinafter, translation is included without limitation in
--the term "modification".) Each licensee is addressed as "you".
--
--Activities other than copying, distribution and modification are not
--covered by this License; they are outside its scope. The act of
--running the Program is not restricted, and the output from the Program
--is covered only if its contents constitute a work based on the
--Program (independent of having been made by running the Program).
--Whether that is true depends on what the Program does.
--
-- 1. You may copy and distribute verbatim copies of the Program's
--source code as you receive it, in any medium, provided that you
--conspicuously and appropriately publish on each copy an appropriate
--copyright notice and disclaimer of warranty; keep intact all the
--notices that refer to this License and to the absence of any warranty;
--and give any other recipients of the Program a copy of this License
--along with the Program.
--
--You may charge a fee for the physical act of transferring a copy, and
--you may at your option offer warranty protection in exchange for a fee.
--
-- 2. You may modify your copy or copies of the Program or any portion
--of it, thus forming a work based on the Program, and copy and
--distribute such modifications or work under the terms of Section 1
--above, provided that you also meet all of these conditions:
--
-- a) You must cause the modified files to carry prominent notices
-- stating that you changed the files and the date of any change.
--
-- b) You must cause any work that you distribute or publish, that in
-- whole or in part contains or is derived from the Program or any
-- part thereof, to be licensed as a whole at no charge to all third
-- parties under the terms of this License.
--
-- c) If the modified program normally reads commands interactively
-- when run, you must cause it, when started running for such
-- interactive use in the most ordinary way, to print or display an
-- announcement including an appropriate copyright notice and a
-- notice that there is no warranty (or else, saying that you provide
-- a warranty) and that users may redistribute the program under
-- these conditions, and telling the user how to view a copy of this
-- License. (Exception: if the Program itself is interactive but
-- does not normally print such an announcement, your work based on
-- the Program is not required to print an announcement.)
--
--These requirements apply to the modified work as a whole. If
--identifiable sections of that work are not derived from the Program,
--and can be reasonably considered independent and separate works in
--themselves, then this License, and its terms, do not apply to those
--sections when you distribute them as separate works. But when you
--distribute the same sections as part of a whole which is a work based
--on the Program, the distribution of the whole must be on the terms of
--this License, whose permissions for other licensees extend to the
--entire whole, and thus to each and every part regardless of who wrote it.
--
--Thus, it is not the intent of this section to claim rights or contest
--your rights to work written entirely by you; rather, the intent is to
--exercise the right to control the distribution of derivative or
--collective works based on the Program.
--
--In addition, mere aggregation of another work not based on the Program
--with the Program (or with a work based on the Program) on a volume of
--a storage or distribution medium does not bring the other work under
--the scope of this License.
--
-- 3. You may copy and distribute the Program (or a work based on it,
--under Section 2) in object code or executable form under the terms of
--Sections 1 and 2 above provided that you also do one of the following:
--
-- a) Accompany it with the complete corresponding machine-readable
-- source code, which must be distributed under the terms of Sections
-- 1 and 2 above on a medium customarily used for software interchange; or,
--
-- b) Accompany it with a written offer, valid for at least three
-- years, to give any third party, for a charge no more than your
-- cost of physically performing source distribution, a complete
-- machine-readable copy of the corresponding source code, to be
-- distributed under the terms of Sections 1 and 2 above on a medium
-- customarily used for software interchange; or,
--
-- c) Accompany it with the information you received as to the offer
-- to distribute corresponding source code. (This alternative is
-- allowed only for noncommercial distribution and only if you
-- received the program in object code or executable form with such
-- an offer, in accord with Subsection b above.)
--
--The source code for a work means the preferred form of the work for
--making modifications to it. For an executable work, complete source
--code means all the source code for all modules it contains, plus any
--associated interface definition files, plus the scripts used to
--control compilation and installation of the executable. However, as a
--special exception, the source code distributed need not include
--anything that is normally distributed (in either source or binary
--form) with the major components (compiler, kernel, and so on) of the
--operating system on which the executable runs, unless that component
--itself accompanies the executable.
--
--If distribution of executable or object code is made by offering
--access to copy from a designated place, then offering equivalent
--access to copy the source code from the same place counts as
--distribution of the source code, even though third parties are not
--compelled to copy the source along with the object code.
--
-- 4. You may not copy, modify, sublicense, or distribute the Program
--except as expressly provided under this License. Any attempt
--otherwise to copy, modify, sublicense or distribute the Program is
--void, and will automatically terminate your rights under this License.
--However, parties who have received copies, or rights, from you under
--this License will not have their licenses terminated so long as such
--parties remain in full compliance.
--
-- 5. You are not required to accept this License, since you have not
--signed it. However, nothing else grants you permission to modify or
--distribute the Program or its derivative works. These actions are
--prohibited by law if you do not accept this License. Therefore, by
--modifying or distributing the Program (or any work based on the
--Program), you indicate your acceptance of this License to do so, and
--all its terms and conditions for copying, distributing or modifying
--the Program or works based on it.
--
-- 6. Each time you redistribute the Program (or any work based on the
--Program), the recipient automatically receives a license from the
--original licensor to copy, distribute or modify the Program subject to
--these terms and conditions. You may not impose any further
--restrictions on the recipients' exercise of the rights granted herein.
--You are not responsible for enforcing compliance by third parties to
--this License.
--
-- 7. If, as a consequence of a court judgment or allegation of patent
--infringement or for any other reason (not limited to patent issues),
--conditions are imposed on you (whether by court order, agreement or
--otherwise) that contradict the conditions of this License, they do not
--excuse you from the conditions of this License. If you cannot
--distribute so as to satisfy simultaneously your obligations under this
--License and any other pertinent obligations, then as a consequence you
--may not distribute the Program at all. For example, if a patent
--license would not permit royalty-free redistribution of the Program by
--all those who receive copies directly or indirectly through you, then
--the only way you could satisfy both it and this License would be to
--refrain entirely from distribution of the Program.
--
--If any portion of this section is held invalid or unenforceable under
--any particular circumstance, the balance of the section is intended to
--apply and the section as a whole is intended to apply in other
--circumstances.
--
--It is not the purpose of this section to induce you to infringe any
--patents or other property right claims or to contest validity of any
--such claims; this section has the sole purpose of protecting the
--integrity of the free software distribution system, which is
--implemented by public license practices. Many people have made
--generous contributions to the wide range of software distributed
--through that system in reliance on consistent application of that
--system; it is up to the author/donor to decide if he or she is willing
--to distribute software through any other system and a licensee cannot
--impose that choice.
--
--This section is intended to make thoroughly clear what is believed to
--be a consequence of the rest of this License.
--
-- 8. If the distribution and/or use of the Program is restricted in
--certain countries either by patents or by copyrighted interfaces, the
--original copyright holder who places the Program under this License
--may add an explicit geographical distribution limitation excluding
--those countries, so that distribution is permitted only in or among
--countries not thus excluded. In such case, this License incorporates
--the limitation as if written in the body of this License.
--
-- 9. The Free Software Foundation may publish revised and/or new versions
--of the General Public License from time to time. Such new versions will
--be similar in spirit to the present version, but may differ in detail to
--address new problems or concerns.
--
--Each version is given a distinguishing version number. If the Program
--specifies a version number of this License which applies to it and "any
--later version", you have the option of following the terms and conditions
--either of that version or of any later version published by the Free
--Software Foundation. If the Program does not specify a version number of
--this License, you may choose any version ever published by the Free Software
--Foundation.
--
-- 10. If you wish to incorporate parts of the Program into other free
--programs whose distribution conditions are different, write to the author
--to ask for permission. For software which is copyrighted by the Free
--Software Foundation, write to the Free Software Foundation; we sometimes
--make exceptions for this. Our decision will be guided by the two goals
--of preserving the free status of all derivatives of our free software and
--of promoting the sharing and reuse of software generally.
--
-- NO WARRANTY
--
-- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
--FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
--OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
--PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
--OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
--MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
--TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
--PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
--REPAIR OR CORRECTION.
--
-- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
--WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
--REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
--INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
--OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
--TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
--YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
--PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
--POSSIBILITY OF SUCH DAMAGES.
--
-- END OF TERMS AND CONDITIONS
--
-- How to Apply These Terms to Your New Programs
--
-- If you develop a new program, and you want it to be of the greatest
--possible use to the public, the best way to achieve this is to make it
--free software which everyone can redistribute and change under these terms.
--
-- To do so, attach the following notices to the program. It is safest
--to attach them to the start of each source file to most effectively
--convey the exclusion of warranty; and each file should have at least
--the "copyright" line and a pointer to where the full notice is found.
--
-- &lt;one line to give the program's name and a brief idea of what it does.&gt;
-- Copyright (C) &lt;year&gt; &lt;name of author&gt;
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--
--
--Also add information on how to contact you by electronic and paper mail.
--
--If the program is interactive, make it output a short notice like this
--when it starts in an interactive mode:
--
-- Gnomovision version 69, Copyright (C) year name of author
-- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-- This is free software, and you are welcome to redistribute it
-- under certain conditions; type `show c' for details.
--
--The hypothetical commands `show w' and `show c' should show the appropriate
--parts of the General Public License. Of course, the commands you use may
--be called something other than `show w' and `show c'; they could even be
--mouse-clicks or menu items--whatever suits your program.
--
--You should also get your employer (if you work as a programmer) or your
--school, if any, to sign a "copyright disclaimer" for the program, if
--necessary. Here is a sample; alter the names:
--
-- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-- `Gnomovision' (which makes passes at compilers) written by James Hacker.
--
-- &lt;signature of Ty Coon&gt;, 1 April 1989
-- Ty Coon, President of Vice
--
--This General Public License does not permit incorporating your program into
--proprietary programs. If your program is a subroutine library, you may
--consider it more useful to permit linking proprietary applications with the
--library. If this is what you want to do, use the GNU Library General
-+ GNU GENERAL PUBLIC LICENSE
-+ Version 2, June 1991
-+
-+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ Everyone is permitted to copy and distribute verbatim copies
-+ of this license document, but changing it is not allowed.
-+
-+ Preamble
-+
-+ The licenses for most software are designed to take away your
-+freedom to share and change it. By contrast, the GNU General Public
-+License is intended to guarantee your freedom to share and change free
-+software--to make sure the software is free for all its users. This
-+General Public License applies to most of the Free Software
-+Foundation's software and to any other program whose authors commit to
-+using it. (Some other Free Software Foundation software is covered by
-+the GNU Library General Public License instead.) You can apply it to
-+your programs, too.
-+
-+ When we speak of free software, we are referring to freedom, not
-+price. Our General Public Licenses are designed to make sure that you
-+have the freedom to distribute copies of free software (and charge for
-+this service if you wish), that you receive source code or can get it
-+if you want it, that you can change the software or use pieces of it
-+in new free programs; and that you know you can do these things.
-+
-+ To protect your rights, we need to make restrictions that forbid
-+anyone to deny you these rights or to ask you to surrender the rights.
-+These restrictions translate to certain responsibilities for you if you
-+distribute copies of the software, or if you modify it.
-+
-+ For example, if you distribute copies of such a program, whether
-+gratis or for a fee, you must give the recipients all the rights that
-+you have. You must make sure that they, too, receive or can get the
-+source code. And you must show them these terms so they know their
-+rights.
-+
-+ We protect your rights with two steps: (1) copyright the software, and
-+(2) offer you this license which gives you legal permission to copy,
-+distribute and/or modify the software.
-+
-+ Also, for each author's protection and ours, we want to make certain
-+that everyone understands that there is no warranty for this free
-+software. If the software is modified by someone else and passed on, we
-+want its recipients to know that what they have is not the original, so
-+that any problems introduced by others will not reflect on the original
-+authors' reputations.
-+
-+ Finally, any free program is threatened constantly by software
-+patents. We wish to avoid the danger that redistributors of a free
-+program will individually obtain patent licenses, in effect making the
-+program proprietary. To prevent this, we have made it clear that any
-+patent must be licensed for everyone's free use or not licensed at all.
-+
-+ The precise terms and conditions for copying, distribution and
-+modification follow.
-+
-+ GNU GENERAL PUBLIC LICENSE
-+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-+
-+ 0. This License applies to any program or other work which contains
-+a notice placed by the copyright holder saying it may be distributed
-+under the terms of this General Public License. The "Program", below,
-+refers to any such program or work, and a "work based on the Program"
-+means either the Program or any derivative work under copyright law:
-+that is to say, a work containing the Program or a portion of it,
-+either verbatim or with modifications and/or translated into another
-+language. (Hereinafter, translation is included without limitation in
-+the term "modification".) Each licensee is addressed as "you".
-+
-+Activities other than copying, distribution and modification are not
-+covered by this License; they are outside its scope. The act of
-+running the Program is not restricted, and the output from the Program
-+is covered only if its contents constitute a work based on the
-+Program (independent of having been made by running the Program).
-+Whether that is true depends on what the Program does.
-+
-+ 1. You may copy and distribute verbatim copies of the Program's
-+source code as you receive it, in any medium, provided that you
-+conspicuously and appropriately publish on each copy an appropriate
-+copyright notice and disclaimer of warranty; keep intact all the
-+notices that refer to this License and to the absence of any warranty;
-+and give any other recipients of the Program a copy of this License
-+along with the Program.
-+
-+You may charge a fee for the physical act of transferring a copy, and
-+you may at your option offer warranty protection in exchange for a fee.
-+
-+ 2. You may modify your copy or copies of the Program or any portion
-+of it, thus forming a work based on the Program, and copy and
-+distribute such modifications or work under the terms of Section 1
-+above, provided that you also meet all of these conditions:
-+
-+ a) You must cause the modified files to carry prominent notices
-+ stating that you changed the files and the date of any change.
-+
-+ b) You must cause any work that you distribute or publish, that in
-+ whole or in part contains or is derived from the Program or any
-+ part thereof, to be licensed as a whole at no charge to all third
-+ parties under the terms of this License.
-+
-+ c) If the modified program normally reads commands interactively
-+ when run, you must cause it, when started running for such
-+ interactive use in the most ordinary way, to print or display an
-+ announcement including an appropriate copyright notice and a
-+ notice that there is no warranty (or else, saying that you provide
-+ a warranty) and that users may redistribute the program under
-+ these conditions, and telling the user how to view a copy of this
-+ License. (Exception: if the Program itself is interactive but
-+ does not normally print such an announcement, your work based on
-+ the Program is not required to print an announcement.)
-+
-+These requirements apply to the modified work as a whole. If
-+identifiable sections of that work are not derived from the Program,
-+and can be reasonably considered independent and separate works in
-+themselves, then this License, and its terms, do not apply to those
-+sections when you distribute them as separate works. But when you
-+distribute the same sections as part of a whole which is a work based
-+on the Program, the distribution of the whole must be on the terms of
-+this License, whose permissions for other licensees extend to the
-+entire whole, and thus to each and every part regardless of who wrote it.
-+
-+Thus, it is not the intent of this section to claim rights or contest
-+your rights to work written entirely by you; rather, the intent is to
-+exercise the right to control the distribution of derivative or
-+collective works based on the Program.
-+
-+In addition, mere aggregation of another work not based on the Program
-+with the Program (or with a work based on the Program) on a volume of
-+a storage or distribution medium does not bring the other work under
-+the scope of this License.
-+
-+ 3. You may copy and distribute the Program (or a work based on it,
-+under Section 2) in object code or executable form under the terms of
-+Sections 1 and 2 above provided that you also do one of the following:
-+
-+ a) Accompany it with the complete corresponding machine-readable
-+ source code, which must be distributed under the terms of Sections
-+ 1 and 2 above on a medium customarily used for software interchange; or,
-+
-+ b) Accompany it with a written offer, valid for at least three
-+ years, to give any third party, for a charge no more than your
-+ cost of physically performing source distribution, a complete
-+ machine-readable copy of the corresponding source code, to be
-+ distributed under the terms of Sections 1 and 2 above on a medium
-+ customarily used for software interchange; or,
-+
-+ c) Accompany it with the information you received as to the offer
-+ to distribute corresponding source code. (This alternative is
-+ allowed only for noncommercial distribution and only if you
-+ received the program in object code or executable form with such
-+ an offer, in accord with Subsection b above.)
-+
-+The source code for a work means the preferred form of the work for
-+making modifications to it. For an executable work, complete source
-+code means all the source code for all modules it contains, plus any
-+associated interface definition files, plus the scripts used to
-+control compilation and installation of the executable. However, as a
-+special exception, the source code distributed need not include
-+anything that is normally distributed (in either source or binary
-+form) with the major components (compiler, kernel, and so on) of the
-+operating system on which the executable runs, unless that component
-+itself accompanies the executable.
-+
-+If distribution of executable or object code is made by offering
-+access to copy from a designated place, then offering equivalent
-+access to copy the source code from the same place counts as
-+distribution of the source code, even though third parties are not
-+compelled to copy the source along with the object code.
-+
-+ 4. You may not copy, modify, sublicense, or distribute the Program
-+except as expressly provided under this License. Any attempt
-+otherwise to copy, modify, sublicense or distribute the Program is
-+void, and will automatically terminate your rights under this License.
-+However, parties who have received copies, or rights, from you under
-+this License will not have their licenses terminated so long as such
-+parties remain in full compliance.
-+
-+ 5. You are not required to accept this License, since you have not
-+signed it. However, nothing else grants you permission to modify or
-+distribute the Program or its derivative works. These actions are
-+prohibited by law if you do not accept this License. Therefore, by
-+modifying or distributing the Program (or any work based on the
-+Program), you indicate your acceptance of this License to do so, and
-+all its terms and conditions for copying, distributing or modifying
-+the Program or works based on it.
-+
-+ 6. Each time you redistribute the Program (or any work based on the
-+Program), the recipient automatically receives a license from the
-+original licensor to copy, distribute or modify the Program subject to
-+these terms and conditions. You may not impose any further
-+restrictions on the recipients' exercise of the rights granted herein.
-+You are not responsible for enforcing compliance by third parties to
-+this License.
-+
-+ 7. If, as a consequence of a court judgment or allegation of patent
-+infringement or for any other reason (not limited to patent issues),
-+conditions are imposed on you (whether by court order, agreement or
-+otherwise) that contradict the conditions of this License, they do not
-+excuse you from the conditions of this License. If you cannot
-+distribute so as to satisfy simultaneously your obligations under this
-+License and any other pertinent obligations, then as a consequence you
-+may not distribute the Program at all. For example, if a patent
-+license would not permit royalty-free redistribution of the Program by
-+all those who receive copies directly or indirectly through you, then
-+the only way you could satisfy both it and this License would be to
-+refrain entirely from distribution of the Program.
-+
-+If any portion of this section is held invalid or unenforceable under
-+any particular circumstance, the balance of the section is intended to
-+apply and the section as a whole is intended to apply in other
-+circumstances.
-+
-+It is not the purpose of this section to induce you to infringe any
-+patents or other property right claims or to contest validity of any
-+such claims; this section has the sole purpose of protecting the
-+integrity of the free software distribution system, which is
-+implemented by public license practices. Many people have made
-+generous contributions to the wide range of software distributed
-+through that system in reliance on consistent application of that
-+system; it is up to the author/donor to decide if he or she is willing
-+to distribute software through any other system and a licensee cannot
-+impose that choice.
-+
-+This section is intended to make thoroughly clear what is believed to
-+be a consequence of the rest of this License.
-+
-+ 8. If the distribution and/or use of the Program is restricted in
-+certain countries either by patents or by copyrighted interfaces, the
-+original copyright holder who places the Program under this License
-+may add an explicit geographical distribution limitation excluding
-+those countries, so that distribution is permitted only in or among
-+countries not thus excluded. In such case, this License incorporates
-+the limitation as if written in the body of this License.
-+
-+ 9. The Free Software Foundation may publish revised and/or new versions
-+of the General Public License from time to time. Such new versions will
-+be similar in spirit to the present version, but may differ in detail to
-+address new problems or concerns.
-+
-+Each version is given a distinguishing version number. If the Program
-+specifies a version number of this License which applies to it and "any
-+later version", you have the option of following the terms and conditions
-+either of that version or of any later version published by the Free
-+Software Foundation. If the Program does not specify a version number of
-+this License, you may choose any version ever published by the Free Software
-+Foundation.
-+
-+ 10. If you wish to incorporate parts of the Program into other free
-+programs whose distribution conditions are different, write to the author
-+to ask for permission. For software which is copyrighted by the Free
-+Software Foundation, write to the Free Software Foundation; we sometimes
-+make exceptions for this. Our decision will be guided by the two goals
-+of preserving the free status of all derivatives of our free software and
-+of promoting the sharing and reuse of software generally.
-+
-+ NO WARRANTY
-+
-+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-+REPAIR OR CORRECTION.
-+
-+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-+POSSIBILITY OF SUCH DAMAGES.
-+
-+ END OF TERMS AND CONDITIONS
-+
-+ How to Apply These Terms to Your New Programs
-+
-+ If you develop a new program, and you want it to be of the greatest
-+possible use to the public, the best way to achieve this is to make it
-+free software which everyone can redistribute and change under these terms.
-+
-+ To do so, attach the following notices to the program. It is safest
-+to attach them to the start of each source file to most effectively
-+convey the exclusion of warranty; and each file should have at least
-+the "copyright" line and a pointer to where the full notice is found.
-+
-+ &lt;one line to give the program's name and a brief idea of what it does.&gt;
-+ Copyright (C) &lt;year&gt; &lt;name of author&gt;
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+
-+
-+Also add information on how to contact you by electronic and paper mail.
-+
-+If the program is interactive, make it output a short notice like this
-+when it starts in an interactive mode:
-+
-+ Gnomovision version 69, Copyright (C) year name of author
-+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-+ This is free software, and you are welcome to redistribute it
-+ under certain conditions; type `show c' for details.
-+
-+The hypothetical commands `show w' and `show c' should show the appropriate
-+parts of the General Public License. Of course, the commands you use may
-+be called something other than `show w' and `show c'; they could even be
-+mouse-clicks or menu items--whatever suits your program.
-+
-+You should also get your employer (if you work as a programmer) or your
-+school, if any, to sign a "copyright disclaimer" for the program, if
-+necessary. Here is a sample; alter the names:
-+
-+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
-+
-+ &lt;signature of Ty Coon&gt;, 1 April 1989
-+ Ty Coon, President of Vice
-+
-+This General Public License does not permit incorporating your program into
-+proprietary programs. If your program is a subroutine library, you may
-+consider it more useful to permit linking proprietary applications with the
-+library. If this is what you want to do, use the GNU Library General
- Public License instead of this License.
-\ Kein Zeilenumbruch am Dateiende.
-diff -Nur rt2500-1.1.0-b4/Module/Makefile rt2500-cvs-2007061011/Module/Makefile
---- rt2500-1.1.0-b4/Module/Makefile 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/Makefile 2007-05-29 05:54:38.000000000 +0200
-@@ -1,39 +1,39 @@
--###########################################################################
--# RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com #
--# #
--# This program is free software; you can redistribute it and/or modify #
--# it under the terms of the GNU General Public License as published by #
--# the Free Software Foundation; either version 2 of the License, or #
--# (at your option) any later version. #
--# #
--# This program is distributed in the hope that it will be useful, #
--# but WITHOUT ANY WARRANTY; without even the implied warranty of #
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
--# GNU General Public License for more details. #
--# #
--# You should have received a copy of the GNU General Public License #
--# along with this program; if not, write to the #
--# Free Software Foundation, Inc., #
--# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #
--# #
--# Licensed under the GNU GPL #
--# Original code supplied under license from RaLink Inc, 2004. #
--###########################################################################
--
--###########################################################################
--# Module Name: Makefile
--#
--# Abstract: Makefile for rt2500 kernel module
--#
--# Revision History:
--# Who When What
--# -------- ----------- -----------------------------
--# MarkW 8th Dec 04 Rewrite of Makefile
-+###########################################################################
-+# RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com #
-+# #
-+# This program is free software; you can redistribute it and/or modify #
-+# it under the terms of the GNU General Public License as published by #
-+# the Free Software Foundation; either version 2 of the License, or #
-+# (at your option) any later version. #
-+# #
-+# This program is distributed in the hope that it will be useful, #
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-+# GNU General Public License for more details. #
-+# #
-+# You should have received a copy of the GNU General Public License #
-+# along with this program; if not, write to the #
-+# Free Software Foundation, Inc., #
-+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #
-+# #
-+# Licensed under the GNU GPL #
-+# Original code supplied under license from RaLink Inc, 2004. #
-+###########################################################################
-+
-+###########################################################################
-+# Module Name: Makefile
-+#
-+# Abstract: Makefile for rt2500 kernel module
-+#
-+# Revision History:
-+# Who When What
-+# -------- ----------- -----------------------------
-+# MarkW 8th Dec 04 Rewrite of Makefile
- # AmirS 1st Jan 05 Update for gmake compat
- # MarkW 20th Jan 05 Fixed permissions on directory
- # MichalL 5th Mar 05 Module installation fixes
- # MarkW 29th Jul 05 Allow install dir override
--###########################################################################
-+###########################################################################
-
-
-
-@@ -41,7 +41,7 @@
-
- MODULE_NAME := rt2500
-
--#PATCHLEVEL := 6
-+#PATCHLEVEL := 6
- #KERNDIR=/usr/src/linux-2.6
- #MODDIR=/lib/modules/2.6.12/extra
-
-@@ -94,7 +94,7 @@
- $(LD) $(EXTRA_LDFLAGS) -r -o $@ $($(MODULE_NAME)-objs)
- endif
-
--KBUILD_PARAMS := -C $(KERNEL_SOURCES) SUBDIRS=$(PWD) $(KERNEL_OUTPUT)
-+KBUILD_PARAMS := -C $(KERNEL_SOURCES) SUBDIRS=$(CURDIR) $(KERNEL_OUTPUT)
-
- module:
- @$(MAKE) $(KBUILD_PARAMS) modules; \
-@@ -110,22 +110,29 @@
- exit 1; \
- fi
-
-+debugfs:
-+ @$(MAKE) $(KBUILD_PARAMS) 'EXTRA_CFLAGS=-I$(src) -DRT2500_DBG -DRT2X00DEBUGFS' modules; \
-+ if ! [ -f $(MODULE_OBJECT) ]; then \
-+ echo "$(MODULE_OBJECT) failed to build!"; \
-+ exit 1; \
-+ fi
-+
- clean:
- @rm -f $(RESMAN_GLUE_OBJS) $(RESMAN_CORE_OBJS) .*.{cmd,flags}
- @rm -f $(MODULE_NAME).{o,ko,mod.{o,c}} built-in.o $(VERSION_HEADER) *~
-- @rm -fr .tmp_versions
-+ @rm -fr .tmp_versions Module.symvers
-
- modules_install:
--ifeq ($(PATCHLEVEL),4)
-- if ! [ -f $(MODULE_OBJECT) ]; then \
-- module; \
-+ @if ! [ -f $(MODULE_OBJECT) ]; then \
-+ $(MAKE) module; \
- fi
-+ifeq ($(PATCHLEVEL),4)
- @echo "install '$(MODULE_OBJECT)' to $(MODULE_ROOT)"
- install -m 755 -o 0 -g 0 -d $(MODULE_ROOT)
- install -m 644 -o 0 -g 0 $(MODULE_OBJECT) $(MODULE_ROOT)
-- /sbin/depmod -a
-+ /sbin/depmod -ae
- else
-- echo "2.6 module install"
-+ @echo "2.6 module install"
- make $(KBUILD_PARAMS) modules_install
- /sbin/depmod -a
- endif
-@@ -144,7 +151,7 @@
- install -m 755 -o 0 -g 0 -d $(MODULE_ROOT)
- install -m 644 -o 0 -g 0 $(MODULE_OBJECT) $(MODULE_ROOT)
- /sbin/depmod -a
--
-+
- @if ! grep -q 'wlan0' /etc/modprobe.conf ; then \
- echo "append 'alias wlan0 rt2500' to /etc/modprobe.conf"; \
- echo "alias wlan0 rt2500" >> /etc/modprobe.conf ; \
-diff -Nur rt2500-1.1.0-b4/Module/README rt2500-cvs-2007061011/Module/README
---- rt2500-1.1.0-b4/Module/README 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/README 2007-05-29 05:54:39.000000000 +0200
-@@ -1,7 +1,7 @@
- Installation instructions for the rt2500 Module
-
- ======================================================================
--Build Instructions:
-+Build Instructions:
- ====================
- For 2.4 or 2.6 series kernel:
- a. $tar -xvzf rt2500-x.x.x.tar.gz
-@@ -9,10 +9,10 @@
-
- b. $make # compile driver source code
-
--c. $make install # installs kernel module driver
-+c. $make install # installs kernel module driver
-+
-+(read end of file for FedoraCore3 specific information)
-
--(read end of file for FedoraCore3 specific information)
--
- ======================================================================
- To BUILD UTILITY
- ====================
-@@ -21,26 +21,26 @@
-
- b. run 'qmake -o Makefile raconfig2500.pro'
- If qmake command is not found in your system, you can download
-- the QT tool 'qt-x11-free-3.2.1' or later at
-+ the QT tool 'qt-x11-free-3.2.1' or later at
- http://www.trolltech.com/
--
-- (qmake comes with RedHat 7.3 or later QT Package)
-+
-+ (qmake comes with RedHat 7.3 or later QT Package)
-
- c. run 'make" to compile the utility source code.
--
-+
- d. After all, an execution file would be generated "RaConfig2500"
- run "RaConfig2500" to config the driver as you want
-
-
-
- ======================================================================
--CONFIGURATION:
-+CONFIGURATION:
- ====================
--RT2500 driver can be configured via following interfaces,
-+RT2500 driver can be configured via following interfaces,
- i.e. (i)"iwconfig" command, (ii)"iwpriv" command, (iii) configuration
- file, (iv) RaConfig2500
-
--i) iwconfig comes with kernel.
-+i) iwconfig comes with kernel.
- ii) iwpriv usage, please refer to file "iwpriv_usage.txt" for details.
- iii)copy configuration file "RT2500STA.dat" to
- /etc/Wireless/RT2500STA/RT2500STA.dat.
-@@ -48,7 +48,7 @@
- iv) RT2500 provides API : RaConfig2500, please go to directory
- ./Utility and refer to how-to-compile.txt
-
--
-+
- Configuration File : RT2500STA.dat
-
- # Copy this file to /etc/Wireless/RT2500STA/RT2500STA.dat
-@@ -56,7 +56,7 @@
- # module.
- #
- # Use "vi -b RT2500STA.dat" to modify settings according to your need.
--#
-+#
- # 1.) set NetworkType to "Adhoc" for using Adhoc-mode, otherwise
- # using as Infrastructure-mode.
- # 2.) set Channel to "0" for auto-select on Infrastructure mode.
-@@ -94,7 +94,7 @@
- FragThreshold=2312
- PSMode=CAM
- -----------------------------------------------
--syntax is 'Param'='Value' and described below.
-+syntax is 'Param'='Value' and described below.
-
- 1. CountryRegion=value
- value
-@@ -125,13 +125,14 @@
- OPEN For Open System
- SHARED For Shared key system
- AUTO
-- WPAPSK
-+ WPANONE For pre-shared key in adhoc mode
-+ WPAPSK For pre-shared key in infrastructure mode
- 7. EncrypType=value
- value
- NONE :For AuthMode=OPEN
- WEP :For AuthMode=OPEN or AuthMode=SHARED
-- TKIP :For AuthMode=WPAPSK
-- AES :For AuthMode=WPAPSK
-+ TKIP :For AuthMode=WPAPSK or AuthMode=WPANONE
-+ AES :For AuthMode=WPAPSK or AuthMode=WPANONE
- 8. DefaultKeyID=value
- value
- 1 ~ 4
-@@ -189,7 +190,7 @@
- 1: 1 Mbps
- 2: 2 Mbps
- 3: 5.5 Mbps
-- 4: 11 Mbps
-+ 4: 11 Mbps
- 5: 6 Mbps //WirelessMode must be 0
- 6: 9 Mbps //WirelessMode must be 0
- 7: 12 Mbps //WirelessMode must be 0
-@@ -210,13 +211,13 @@
-
- 23. AdhocOfdm=value
- value
-- 0: Tx MAX rate will be 11Mbps in Adhoc mode.
-- 1: Tx MAX rate will be 54Mbps in Adhoc mode.
-+ 0: Tx MAX rate will be 11Mbps in Adhoc mode.
-+ 1: Tx MAX rate will be 54Mbps in Adhoc mode.
-
- 24. StaWithEtherBridge=value
- value
-- 0: Disable sta with ethernet to wireless bridge.
-- 1: Enable sta with ethernet to wireless bridge.
-+ 0: Disable sta with ethernet to wireless bridge.
-+ 1: Enable sta with ethernet to wireless bridge.
-
-
- MORE INFORMATION
-@@ -224,25 +225,25 @@
- If you want for rt2500 driver to auto-load at boot time:
- A) choose ra0 for first RT2500 WLAN card, ra1 for second RT2500 WLAN
- card, etc.
--
--B) create(edit) 'ifcfg-ra0' file in /etc/sysconfig/network-scripts/,
-+
-+B) create(edit) 'ifcfg-ra0' file in /etc/sysconfig/network-scripts/,
- edit( or add the line) in /etc/modules.conf:
-- alias ra0 rt2500
--
--C) edit(create) the file /etc/sysconfig/network-scripts/ifcfg-ra0
-+ alias ra0 rt2500
-+
-+C) edit(create) the file /etc/sysconfig/network-scripts/ifcfg-ra0
- DEVICE='ra0'
-- ONBOOT='yes'
-+ ONBOOT='yes'
-
-
- NOTE:
- if you use dhcp, add this line too .
- BOOTPROTO='dhcp'
-
--*D) To ease the Default Gateway setting,
-+*D) To ease the Default Gateway setting,
- add the line
-- GATEWAY=x.x.x.x
-+ GATEWAY=x.x.x.x
- in /etc/sysconfig/network
--
-+
- INFORMATION FOR FEDORA CORE 3 USERS (USE AT YOUR OWN RISK !!!)
- ======================================================================
- While this information is directed to Fedora Core 3 users, there is no
-@@ -267,8 +268,8 @@
- alias added to modprobe.conf (2.6 kernels) or modules.conf
- (2.4 kernels).
-
--Start 'system-config-network',
--New->Wireless connection,
-+Start 'system-config-network',
-+New->Wireless connection,
- Select 'RaLink Ralink RT2500 802.11 Cardbus Reference Card (wlan0)'
- If it does not appear, well then it didn't work for you :)
-
-diff -Nur rt2500-1.1.0-b4/Module/TESTING rt2500-cvs-2007061011/Module/TESTING
---- rt2500-1.1.0-b4/Module/TESTING 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/TESTING 2007-05-29 05:54:39.000000000 +0200
-@@ -1,51 +1,63 @@
--Below is information on how you can help out the team with testing
--of the rt2500 kernel module.
-+Below are the steps you need to follow to help out the team with
-+testing/debugging of the rt2500 kernel module:
-
--1. Get the latest source from the CVS tree. Easiest way todo this is to
--get the nightly tarball from our website at
-- http://rt2x00.serialmonkey.com/rt2500-cvs-daily.tar.gz
--
--2. Enable module debugging. Todo this run 'make clean' to remove any
--compiled objects you have and then run 'make debug'.
--This will recompile the Module with debugging turned on and reinstall
--it over your existing module.
--
--3. Install the module as per the INSTALL instructions.
-- e.g. make install
--
--4. Ensure there are no compies of the module in memory.
-- ifconfig ra0 down
-- rmmod rt2500
--
--5. Load the module with full debug enabled using the commands
-- modprobe rt2500 debug=1
--
--6. Check the output of your syslog (most likely /var/log/messages).
--If you don't see any debug you need to add the following line to
--your /etc/syslog.conf and reboot.
-- kern.* /var/log/debug
--
--7. Any bugs/issues you find please report the following information
--to the rt2400-devel mailing list
-- * Steps to reproduce
-- * The whole contents of your debugging output
-- * Your hardware architecture (i.e. x86, AMD64, Sparc)
-- * Your kernel version (i.e. 2.4.25 or 2.6.4)
-- * Your rt2400 hardware manufacturer and model
-- * Anything else you may think will help us resolve the issue
-- (even a patch if you are so inclined)
--
--8. Sign up to the rt2400-devel mailing list and watch out for requests
--for testing. Whenever we do major changes to the source and always
--just before a release we will call for testing to be done before we
--make the general release.
-+
-+1. Get the latest source from the CVS tree.
-+ Easiest way to do this is to download the hourly tarball from our website:
-+ http://rt2x00.serialmonkey.com/rt2500-cvs-daily.tar.gz
-+ Alternatively, you can anonymously check out the current CVS code:
-+ $ cvs -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 login
-+ $ cvs -z3 -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 \
-+ co -P source/rt2500
-+
-+2. Compile the module with debug logging:
-+ $ make clean
-+ $ make debug
-+
-+3. Ensure there are no copies of the module left in memory:
-+ # ifconfig ra0 down
-+ # rmmod rt2500
-+
-+4. Load the module with full debug enabled:
-+ # insmod rt2500.ko debug=31
-+ Then proceed as usual (config, ifup, etc)...
-+
-+5. Check the debug output.
-+ It is located in your system log file (most likely /var/log/debug or
-+ /var/log/syslog). If you don't see any debug you probably need to add the
-+ following line to your /etc/syslog.conf and reboot:
-+ kern.=debug /var/log/debug
-+ If you system hard-locks before it's able to log anything interesting
-+ in these files, you'll have to rely on the netconsole module to remotely
-+ log your kernel messages to another box (see netconsole.txt in your
-+ kernel sources Documentation folder).
-+
-+6. Report the following to the rt2400-devel mailing list (or rt2500 forum):
-+ * Steps to reproduce the bug
-+ * The _whole_content_ of your debugging output
-+ * Your module details, i.e. the output of:
-+ # modinfo rt2500.ko
-+ * Your kernel details, i.e. the output of:
-+ $ uname -a
-+ * Your rt2500 hardware manufacturer, model and revision
-+ * Anything else you think may help us resolve the issue (even a patch if
-+ you are so inclined)
-+
-+7. Monitor the mailing list (or forum thread) for replies/further queries. :-)
-+
-+
-+Whenever we do major changes to the source - and always just before a release -
-+we will call for testing to be done before we make the general release. You're
-+very much welcome to help us with this testing and report any success/issue you
-+experience with this code.
-
-
- !!!! NOTE !!!!
-
--AS PER STEP 7 ABOVE. Please provide the whole debug output. The last
--few lines are hardly any good. If it's large (which it will be) then
--GZip it and either upload it somewhere and give it a link or email
--it directly to the developer you are working with.
-+AS PER STEP 6 ABOVE: Please provide the *whole* debug output! The last few lines
-+are hardly any good.
-+If it's large (which it will be) then GZip it. Either attach it to your forum
-+post or, if you're going to report via the mailing list, upload it somewhere and
-+give a link to it (or email it directly to the developer you are working with).
-
--!!!! END NOTE !!!!
-+!!!! END NOTE !!!!
-diff -Nur rt2500-1.1.0-b4/Module/assoc.c rt2500-cvs-2007061011/Module/assoc.c
---- rt2500-1.1.0-b4/Module/assoc.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/assoc.c 2007-03-21 05:25:34.000000000 +0100
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: assoc.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: assoc.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW 5th Jun 05 Fix no-SSID broadcasting assoc.
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -78,15 +78,15 @@
- };
- UCHAR CipherSuiteWpaPskAesLen = (sizeof(CipherSuiteWpaPskAes) / sizeof(UCHAR));
-
--/*
-+/*
- ==========================================================================
-- Description:
-+ Description:
- association state machine init, including state transition and timer init
-- Parameters:
-+ Parameters:
- S - pointer to the association state machine
- Note:
-- The state machine looks like the following
--
-+ The state machine looks like the following
-+
- ASSOC_IDLE ASSOC_WAIT_RSP REASSOC_WAIT_RSP DISASSOC_WAIT_RSP
- MT2_MLME_ASSOC_REQ mlme_assoc_req_action invalid_state_when_assoc invalid_state_when_assoc invalid_state_when_assoc
- MT2_MLME_REASSOC_REQ mlme_reassoc_req_action invalid_state_when_reassoc invalid_state_when_reassoc invalid_state_when_reassoc
-@@ -103,9 +103,9 @@
- ==========================================================================
- */
- VOID AssocStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-- OUT STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
-+ OUT STATE_MACHINE_FUNC Trans[])
- {
- StateMachineInit(S, (STATE_MACHINE_FUNC*)Trans, MAX_ASSOC_STATE, MAX_ASSOC_MSG, (STATE_MACHINE_FUNC)Drop, ASSOC_IDLE, ASSOC_MACHINE_BASE);
-
-@@ -115,7 +115,7 @@
- StateMachineSetAction(S, ASSOC_IDLE, MT2_MLME_DISASSOC_REQ, (STATE_MACHINE_FUNC)MlmeDisassocReqAction);
- StateMachineSetAction(S, ASSOC_IDLE, MT2_PEER_DISASSOC_REQ, (STATE_MACHINE_FUNC)PeerDisassocAction);
- // StateMachineSetAction(S, ASSOC_IDLE, MT2_CLS3ERR, (STATE_MACHINE_FUNC)Cls3errAction);
--
-+
- // second column
- StateMachineSetAction(S, ASSOC_WAIT_RSP, MT2_MLME_ASSOC_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenAssoc);
- StateMachineSetAction(S, ASSOC_WAIT_RSP, MT2_MLME_REASSOC_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenReassoc);
-@@ -151,14 +151,14 @@
- /*
- ==========================================================================
- Description:
-- Association timeout procedure. After association timeout, this function
-+ Association timeout procedure. After association timeout, this function
- will be called and it will put a message into the MLME queue
- Parameters:
- Standard timer parameters
- ==========================================================================
- */
- VOID AssocTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - enqueue MT2_ASSOC_TIMEOUT \n");
-@@ -169,14 +169,14 @@
- /*
- ==========================================================================
- Description:
-- Reassociation timeout procedure. After reassociation timeout, this
-+ Reassociation timeout procedure. After reassociation timeout, this
- function will be called and put a message into the MLME queue
- Parameters:
- Standard timer parameters
- ==========================================================================
- */
- VOID ReassocTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - enqueue MT2_REASSOC_TIMEOUT \n");
-@@ -187,14 +187,14 @@
- /*
- ==========================================================================
- Description:
-- Disassociation timeout procedure. After disassociation timeout, this
-+ Disassociation timeout procedure. After disassociation timeout, this
- function will be called and put a message into the MLME queue
- Parameters:
- Standard timer parameters
- ==========================================================================
- */
- VOID DisassocTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - enqueue MT2_DISASSOC_TIMEOUT \n");
-@@ -222,8 +222,8 @@
- ==========================================================================
- */
- VOID MlmeAssocReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR ApAddr;
- MACHDR AssocHdr;
-@@ -243,9 +243,9 @@
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - Block Assoc request durning WPA block period!\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_ASSOC_CONF, MLME_STATE_MACHINE_REJECT);
-- }
-+ }
- // check sanity first
-- else if (MlmeAssocReqSanity(pAd, Elem->Msg, Elem->MsgLen, &ApAddr, &CapabilityInfo, &Timeout, &ListenIntv))
-+ else if (MlmeAssocReqSanity(pAd, Elem->Msg, Elem->MsgLen, &ApAddr, &CapabilityInfo, &Timeout, &ListenIntv))
- {
- RTMPCancelTimer(&pAd->Mlme.AssocAux.AssocTimer);
- COPY_MAC_ADDR(&pAd->Mlme.AssocAux.Addr, &ApAddr);
-@@ -255,23 +255,23 @@
- pAd->Mlme.AssocAux.ListenIntv = ListenIntv;
-
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-- if (NStatus != NDIS_STATUS_SUCCESS)
-+ if (NStatus != NDIS_STATUS_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - MlmeAssocReqAction() allocate memory failed \n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_ASSOC_CONF, MLME_FAIL_NO_RESOURCE);
- return;
- }
--
-+
- // Add by James 03/06/27
- pAd->PortCfg.AssocInfo.Length = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION); //+ sizeof(NDIS_802_11_FIXED_IEs); // Filled in assoc request
- pAd->PortCfg.AssocInfo.AvailableRequestFixedIEs =
- NDIS_802_11_AI_REQFI_CAPABILITIES | NDIS_802_11_AI_REQFI_LISTENINTERVAL | NDIS_802_11_AI_REQFI_CURRENTAPADDRESS;
- pAd->PortCfg.AssocInfo.RequestFixedIEs.Capabilities = CapabilityInfo;
-- pAd->PortCfg.AssocInfo.RequestFixedIEs.ListenInterval = ListenIntv;
-+ pAd->PortCfg.AssocInfo.RequestFixedIEs.ListenInterval = ListenIntv;
- memcpy(pAd->PortCfg.AssocInfo.RequestFixedIEs.CurrentAPAddress, &AssocHdr, sizeof(NDIS_802_11_MAC_ADDRESS));
- pAd->PortCfg.AssocInfo.OffsetRequestIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION); // No request Variables IEs
--
-+
- // First add SSID
- VarIesOffset = 0;
- memcpy(pAd->PortCfg.ReqVarIEs + VarIesOffset, &SsidIe, 1);
-@@ -299,7 +299,7 @@
- 2, &CapabilityInfo,
- 2, &ListenIntv,
- 1, &SsidIe,
-- 1, &pAd->Mlme.SyncAux.SsidLen,
-+ 1, &pAd->Mlme.SyncAux.SsidLen,
- pAd->Mlme.SyncAux.SsidLen, pAd->Mlme.SyncAux.Ssid,
- 1, &RateIe,
- 1, &pAd->PortCfg.SupRateLen,
-@@ -310,11 +310,11 @@
- MakeOutgoingFrame(OutBuffer + FrameLen, &tmp,
- 1, &ExtRateIe,
- 1, &pAd->PortCfg.ExtRateLen,
-- pAd->PortCfg.ExtRateLen, pAd->PortCfg.ExtRate,
-+ pAd->PortCfg.ExtRateLen, pAd->PortCfg.ExtRate,
- END_OF_ARGS);
- FrameLen += tmp;
- }
--
-+
- if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA) && (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled))
- {
- MakeOutgoingFrame(OutBuffer + FrameLen, &tmp,
-@@ -323,7 +323,7 @@
- CipherSuiteWpaTkipLen, &CipherSuiteWpaTkip[0],
- END_OF_ARGS);
- FrameLen += tmp;
--
-+
- // Add by James 03/06/27
- // Third add RSN
- memcpy(pAd->PortCfg.ReqVarIEs + VarIesOffset, &WpaIe, 1);
-@@ -339,9 +339,9 @@
-
- // OffsetResponseIEs follow ReqVarIE
- pAd->PortCfg.AssocInfo.OffsetResponseIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION) + pAd->PortCfg.ReqVarIELen;
-- // End Add by James
-+ // End Add by James
- }
--
-+
- else if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA) && (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled))
- {
- MakeOutgoingFrame(OutBuffer + FrameLen, &tmp,
-@@ -350,7 +350,7 @@
- CipherSuiteWpaAesLen, &CipherSuiteWpaAes[0],
- END_OF_ARGS);
- FrameLen += tmp;
--
-+
- // Add by James 03/06/27
- // Third add RSN
- memcpy(pAd->PortCfg.ReqVarIEs + VarIesOffset, &WpaIe, 1);
-@@ -366,7 +366,7 @@
-
- // OffsetResponseIEs follow ReqVarIE
- pAd->PortCfg.AssocInfo.OffsetResponseIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION) + pAd->PortCfg.ReqVarIELen;
-- // End Add by James
-+ // End Add by James
- }
- else if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK) && (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled))
- {
-@@ -392,7 +392,7 @@
-
- // OffsetResponseIEs follow ReqVarIE
- pAd->PortCfg.AssocInfo.OffsetResponseIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION) + pAd->PortCfg.ReqVarIELen;
-- // End Add by James
-+ // End Add by James
- }
- else if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK) && (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled))
- {
-@@ -418,7 +418,7 @@
-
- // OffsetResponseIEs follow ReqVarIE
- pAd->PortCfg.AssocInfo.OffsetResponseIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION) + pAd->PortCfg.ReqVarIELen;
-- // End Add by James
-+ // End Add by James
- }
- else
- {
-@@ -429,14 +429,14 @@
-
- // OffsetResponseIEs follow ReqVarIE
- pAd->PortCfg.AssocInfo.OffsetResponseIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION) + pAd->PortCfg.ReqVarIELen;
-- // End Add by James
-+ // End Add by James
- }
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
--
-+
- RTMPSetTimer(pAd, &pAd->Mlme.AssocAux.AssocTimer, Timeout);
- pAd->Mlme.AssocMachine.CurrState = ASSOC_WAIT_RSP;
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - MlmeAssocReqAction() sanity check failed. BUG!!!!!! \n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -450,7 +450,7 @@
- Description:
- mlme reassoc req handling procedure
- Parameters:
-- Elem -
-+ Elem -
- Pre:
- -# SSID (Adapter->PortCfg.ssid[])
- -# BSSID (AP address, Adapter->PortCfg.bssid)
-@@ -460,8 +460,8 @@
- ==========================================================================
- */
- VOID MlmeReassocReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR ApAddr;
- MACHDR ReassocHdr;
-@@ -479,14 +479,14 @@
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - Block ReAssoc request durning WPA block period!\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_ASSOC_CONF, MLME_STATE_MACHINE_REJECT);
-- }
-+ }
- // the parameters are the same as the association
-- else if(MlmeAssocReqSanity(pAd, Elem->Msg, Elem->MsgLen, &ApAddr, &CapabilityInfo, &Timeout, &ListenIntv))
-+ else if(MlmeAssocReqSanity(pAd, Elem->Msg, Elem->MsgLen, &ApAddr, &CapabilityInfo, &Timeout, &ListenIntv))
- {
- RTMPCancelTimer(&pAd->Mlme.AssocAux.ReassocTimer);
-
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-- if(NStatus != NDIS_STATUS_SUCCESS)
-+ if(NStatus != NDIS_STATUS_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - MlmeReassocReqAction() allocate memory failed \n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -509,8 +509,8 @@
- 2, &ListenIntv,
- ETH_ALEN, &pAd->PortCfg.Bssid,
- 1, &SsidIe,
-- 1, &pAd->PortCfg.SsidLen,
-- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
-+ 1, &pAd->PortCfg.SsidLen,
-+ pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
- 1, &RateIe,
- 1, &pAd->PortCfg.SupRateLen,
- pAd->PortCfg.SupRateLen, pAd->PortCfg.SupRate,
-@@ -520,16 +520,16 @@
- MakeOutgoingFrame(OutBuffer + FrameLen, &tmp,
- 1, &ExtRateIe,
- 1, &pAd->PortCfg.ExtRateLen,
-- pAd->PortCfg.ExtRateLen, pAd->PortCfg.ExtRate,
-+ pAd->PortCfg.ExtRateLen, pAd->PortCfg.ExtRate,
- END_OF_ARGS);
- FrameLen += tmp;
- }
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
--
-+
- RTMPSetTimer(pAd, &pAd->Mlme.AssocAux.ReassocTimer, Timeout); /* in mSec */
- pAd->Mlme.AssocMachine.CurrState = REASSOC_WAIT_RSP;
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - MlmeReassocReqAction() sanity check failed. BUG!!!! \n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -546,8 +546,8 @@
- ==========================================================================
- */
- VOID MlmeDisassocReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MLME_DISASSOC_REQ_STRUCT *DisassocReq;
- MACHDR DisassocHdr;
-@@ -560,25 +560,25 @@
- DisassocReq = (MLME_DISASSOC_REQ_STRUCT *)(Elem->Msg);
-
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-- if (NStatus != NDIS_STATUS_SUCCESS)
-+ if (NStatus != NDIS_STATUS_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - MlmeDisassocReqAction() allocate memory failed\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_DISASSOC_CONF, MLME_FAIL_NO_RESOURCE);
- return;
- }
--
-+
- RTMPCancelTimer(&pAd->Mlme.AssocAux.DisassocTimer);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - Send DISASSOC request\n");
- MgtMacHeaderInit(pAd, &DisassocHdr, SUBTYPE_DISASSOC, 0, &pAd->PortCfg.Bssid, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- sizeof(MACHDR), &DisassocHdr,
-- 2, &DisassocReq->Reason,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ sizeof(MACHDR), &DisassocHdr,
-+ 2, &DisassocReq->Reason,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- memset(&(pAd->PortCfg.Bssid), 0, ETH_ALEN);
--
-+
- pAd->PortCfg.DisassocReason = REASON_DISASSOC_STA_LEAVING;
- COPY_MAC_ADDR(&pAd->PortCfg.DisassocSta, &DisassocReq->Addr);
-
-@@ -595,31 +595,31 @@
- ==========================================================================
- */
- VOID PeerAssocRspAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT CapabilityInfo, Status, Aid;
- UCHAR Rates[MAX_LEN_OF_SUPPORTED_RATES], RatesLen;
- MACADDR Addr2;
- BOOLEAN ExtendedRateIeExist;
-
-- if (PeerAssocRspSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &CapabilityInfo, &Status, &Aid, Rates, &RatesLen, &ExtendedRateIeExist))
-+ if (PeerAssocRspSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &CapabilityInfo, &Status, &Aid, Rates, &RatesLen, &ExtendedRateIeExist))
- {
- // The frame is for me ?
-- if(MAC_ADDR_EQUAL(&Addr2, &pAd->Mlme.AssocAux.Addr))
-+ if(MAC_ADDR_EQUAL(&Addr2, &pAd->Mlme.AssocAux.Addr))
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - receive ASSOC_RSP to me (status=%d)\n", Status);
- RTMPCancelTimer(&pAd->Mlme.AssocAux.AssocTimer);
-- if(Status == MLME_SUCCESS)
-+ if(Status == MLME_SUCCESS)
- {
- // go to procedure listed on page 376
- // Mask out unnecessary capability information
- CapabilityInfo &= SUPPORTED_CAPABILITY_INFO; // pAd->PortCfg.SupportedCapabilityInfo;
- AssocPostProc(pAd, &Addr2, CapabilityInfo, Aid, Rates, RatesLen, ExtendedRateIeExist);
-- }
-+ }
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_ASSOC_CONF, Status);
-- }
-+ }
- }
- else
- {
-@@ -636,8 +636,8 @@
- ==========================================================================
- */
- VOID PeerReassocRspAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT CapabilityInfo;
- USHORT Status;
-@@ -647,24 +647,24 @@
- MACADDR Addr2;
- BOOLEAN ExtendedRateIeExist;
-
-- if(PeerAssocRspSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &CapabilityInfo, &Status, &Aid, Rates, &RatesLen, &ExtendedRateIeExist))
-+ if(PeerAssocRspSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &CapabilityInfo, &Status, &Aid, Rates, &RatesLen, &ExtendedRateIeExist))
- {
- if(MAC_ADDR_EQUAL(&Addr2, &pAd->Mlme.AssocAux.Addr)) // The frame is for me ?
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - receive REASSOC_RSP to me (status=%d)\n", Status);
- RTMPCancelTimer(&pAd->Mlme.AssocAux.ReassocTimer);
--
-- if(Status == MLME_SUCCESS)
-+
-+ if(Status == MLME_SUCCESS)
- {
- // Mask out unnecessary capability information
- CapabilityInfo &= SUPPORTED_CAPABILITY_INFO; // pAd->PortCfg.SupportedCapabilityInfo;
- // go to procedure listed on page 376
- AssocPostProc(pAd, &Addr2, CapabilityInfo, Aid, Rates, RatesLen, ExtendedRateIeExist);
-- }
-+ }
-
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_REASSOC_CONF, Status);
-- }
-+ }
- }
- else
- {
-@@ -675,28 +675,28 @@
- /*
- ==========================================================================
- Description:
-- procedures on IEEE 802.11/1999 p.376
-+ procedures on IEEE 802.11/1999 p.376
- Parametrs:
- ==========================================================================
- */
- VOID AssocPostProc(
-- IN PRTMP_ADAPTER pAd,
-- IN PMACADDR Addr2,
-- IN USHORT CapabilityInfo,
-- IN USHORT Aid,
-- IN UCHAR Rates[],
-+ IN PRTMP_ADAPTER pAd,
-+ IN PMACADDR Addr2,
-+ IN USHORT CapabilityInfo,
-+ IN USHORT Aid,
-+ IN UCHAR Rates[],
- IN UCHAR RatesLen,
-- IN BOOLEAN ExtendedRateIeExist)
-+ IN BOOLEAN ExtendedRateIeExist)
- {
- ULONG Idx;
- UCHAR RateIe = IE_SUPP_RATES;
- UCHAR VarIesOffset;
-
-- // 2003/12/11 - skip the following because experiment show that we can not
-+ // 2003/12/11 - skip the following because experiment show that we can not
- // trust the "privacy" bit in AssocRsp. We can only trust "Privacy" bit specified in
- // BEACON and ProbeRsp.
- // pAd->PortCfg.PrivacyInvoked = CAP_IS_PRIVACY_ON(CapabilityInfo);
--
-+
- pAd->PortCfg.Aid = Aid;
- memcpy(pAd->PortCfg.SupportedRates, Rates, RatesLen);
- pAd->PortCfg.SupportedRatesLen = RatesLen;
-@@ -709,7 +709,7 @@
-
- // Set New WPA information
- Idx = BssTableSearch(&pAd->PortCfg.BssTab, Addr2);
-- if (Idx == BSS_NOT_FOUND)
-+ if (Idx == BSS_NOT_FOUND)
- {
- DBGPRINT(RT_DEBUG_ERROR, "ASSOC - Can't find BSS after receiving Assoc response\n");
- }
-@@ -736,7 +736,7 @@
- // Second add RSN
- memcpy(pAd->PortCfg.ResVarIEs + VarIesOffset, pAd->PortCfg.BssTab.BssEntry[Idx].VarIEs, pAd->PortCfg.BssTab.BssEntry[Idx].VarIELen);
- VarIesOffset += pAd->PortCfg.BssTab.BssEntry[Idx].VarIELen;
--
-+
- // Set Variable IEs Length
- pAd->PortCfg.ResVarIELen = VarIesOffset;
- pAd->PortCfg.AssocInfo.ResponseIELength = VarIesOffset;
-@@ -747,22 +747,22 @@
- /*
- ==========================================================================
- Description:
-- left part of IEEE 802.11/1999 p.374
-+ left part of IEEE 802.11/1999 p.374
- Parameters:
- Elem - MLME message containing the received frame
- ==========================================================================
- */
- VOID PeerDisassocAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Addr2;
- USHORT Reason;
-
-- if(PeerDisassocSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Reason))
-+ if(PeerDisassocSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Reason))
- {
-- if (INFRA_ON(pAd) && MAC_ADDR_EQUAL(&pAd->PortCfg.Bssid, &Addr2))
-- {
-+ if (INFRA_ON(pAd) && MAC_ADDR_EQUAL(&pAd->PortCfg.Bssid, &Addr2))
-+ {
- LinkDown(pAd);
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-
-@@ -786,8 +786,8 @@
- ==========================================================================
- */
- VOID AssocTimeoutAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - AssocTimeoutAction\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -801,8 +801,8 @@
- ==========================================================================
- */
- VOID ReassocTimeoutAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - ReassocTimeoutAction\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -816,8 +816,8 @@
- ==========================================================================
- */
- VOID DisassocTimeoutAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - DisassocTimeoutAction\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -825,30 +825,30 @@
- }
-
- VOID InvalidStateWhenAssoc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenAssoc(state=%d), reset ASSOC state machine\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenAssoc(state=%d), reset ASSOC state machine\n",
- pAd->Mlme.AssocMachine.CurrState);
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_ASSOC_CONF, MLME_STATE_MACHINE_REJECT);
- }
-
- VOID InvalidStateWhenReassoc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenReassoc(state=%d), reset ASSOC state machine\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenReassoc(state=%d), reset ASSOC state machine\n",
- pAd->Mlme.AssocMachine.CurrState);
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_REASSOC_CONF, MLME_STATE_MACHINE_REJECT);
- }
-
- VOID InvalidStateWhenDisassociate(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenDisassoc(state=%d), reset ASSOC state machine\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenDisassoc(state=%d), reset ASSOC state machine\n",
- pAd->Mlme.AssocMachine.CurrState);
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_DISASSOC_CONF, MLME_STATE_MACHINE_REJECT);
-@@ -858,15 +858,15 @@
- ==========================================================================
- Description:
- right part of IEEE 802.11/1999 page 374
-- Note:
-+ Note:
- This event should never cause ASSOC state machine perform state
- transition, and has no relationship with CNTL machine. So we separate
- this routine as a service outside of ASSOC state transition table.
- ==========================================================================
- */
- VOID Cls3errAction(
-- IN PRTMP_ADAPTER pAd,
-- IN PMACADDR pAddr)
-+ IN PRTMP_ADAPTER pAd,
-+ IN PMACADDR pAddr)
- {
- MACHDR DisassocHdr;
- CHAR *OutBuffer = NULL;
-@@ -875,19 +875,19 @@
- USHORT Reason = REASON_CLS3ERR;
-
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-- if (NStatus != NDIS_STATUS_SUCCESS)
-+ if (NStatus != NDIS_STATUS_SUCCESS)
- return;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - Class 3 Error, Send DISASSOC frame\n");
- MgtMacHeaderInit(pAd, &DisassocHdr, SUBTYPE_DISASSOC, 0, pAddr, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- sizeof(MACHDR), &DisassocHdr,
-- 2, &Reason,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ sizeof(MACHDR), &DisassocHdr,
-+ 2, &Reason,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
-
- pAd->PortCfg.DisassocReason = REASON_CLS3ERR;
- COPY_MAC_ADDR(&pAd->PortCfg.DisassocSta, pAddr);
- }
--
-+
-
-diff -Nur rt2500-1.1.0-b4/Module/auth.c rt2500-cvs-2007061011/Module/auth.c
---- rt2500-1.1.0-b4/Module/auth.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/auth.c 2007-05-06 11:13:44.000000000 +0200
-@@ -1,35 +1,35 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: auth.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: auth.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -41,7 +41,7 @@
- Sm - pointer to the auth state machine
- Note:
- The state machine looks like this
--
-+
- AUTH_REQ_IDLE AUTH_WAIT_SEQ2 AUTH_WAIT_SEQ4
- MT2_MLME_AUTH_REQ mlme_auth_req_action invalid_state_when_auth invalid_state_when_auth
- MT2_MLME_DEAUTH_REQ mlme_deauth_req_action mlme_deauth_req_action mlme_deauth_req_action
-@@ -52,12 +52,12 @@
- */
-
- void AuthStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *Sm,
-- OUT STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *Sm,
-+ OUT STATE_MACHINE_FUNC Trans[])
- {
- StateMachineInit(Sm, (STATE_MACHINE_FUNC*)Trans, MAX_AUTH_STATE, MAX_AUTH_MSG, (STATE_MACHINE_FUNC)Drop, AUTH_REQ_IDLE, AUTH_MACHINE_BASE);
--
-+
- // the first column
- StateMachineSetAction(Sm, AUTH_REQ_IDLE, MT2_MLME_AUTH_REQ, (STATE_MACHINE_FUNC)MlmeAuthReqAction);
- // StateMachineSetAction(Sm, AUTH_REQ_IDLE, MT2_MLME_DEAUTH_REQ, (STATE_MACHINE_FUNC)MlmeDeauthReqAction);
-@@ -69,14 +69,14 @@
- // StateMachineSetAction(Sm, AUTH_WAIT_SEQ2, MT2_CLS2ERR, (STATE_MACHINE_FUNC)Cls2errAction);
- StateMachineSetAction(Sm, AUTH_WAIT_SEQ2, MT2_PEER_AUTH_EVEN, (STATE_MACHINE_FUNC)PeerAuthRspAtSeq2Action);
- StateMachineSetAction(Sm, AUTH_WAIT_SEQ2, MT2_AUTH_TIMEOUT, (STATE_MACHINE_FUNC)AuthTimeoutAction);
--
-+
- // the third column
- StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_MLME_AUTH_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenAuth);
- // StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_MLME_DEAUTH_REQ, (STATE_MACHINE_FUNC)MlmeDeauthReqAction);
- // StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_CLS2ERR, (STATE_MACHINE_FUNC)Cls2errAction);
- StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_PEER_AUTH_EVEN, (STATE_MACHINE_FUNC)PeerAuthRspAtSeq4Action);
- StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_AUTH_TIMEOUT, (STATE_MACHINE_FUNC)AuthTimeoutAction);
--
-+
- RTMPInitTimer(pAd, &pAd->Mlme.AuthAux.AuthTimer, AuthTimeout);
- }
-
-@@ -90,7 +90,7 @@
- IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"AUTH - AuthTimeout\n");
- MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_AUTH_TIMEOUT, 0, NULL);
- MlmeHandler(pAd);
-@@ -103,8 +103,8 @@
- ==========================================================================
- */
- VOID MlmeAuthReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Addr;
- USHORT Alg, Seq, Status;
-@@ -121,16 +121,15 @@
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
- MlmeCntlConfirm(pAd, MT2_AUTH_CONF, MLME_STATE_MACHINE_REJECT);
- }
-- else if(MlmeAuthReqSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr, &Timeout, &Alg))
-+ else if(MlmeAuthReqSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr, &Timeout, &Alg))
- {
-- // reset timer
-- RTMPCancelTimer(&pAd->Mlme.AuthAux.AuthTimer);
-+ RTMPCancelTimer(&pAd->Mlme.AuthAux.AuthTimer);
- pAd->Mlme.AuthAux.Addr = Addr;
- pAd->Mlme.AuthAux.Alg = Alg;
- pAd->PortCfg.Mauth = FALSE;
- Seq = 1;
- Status = MLME_SUCCESS;
--
-+
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
- if(NStatus != NDIS_STATUS_SUCCESS)
- {
-@@ -142,18 +141,18 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Send AUTH request seq#1 (Alg=%d)...\n", Alg);
- MgtMacHeaderInit(pAd, &AuthHdr, SUBTYPE_AUTH, 0, &Addr, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- MAC_HDR_LEN, &AuthHdr,
-- 2, &Alg,
-- 2, &Seq,
-- 2, &Status,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ MAC_HDR_LEN, &AuthHdr,
-+ 2, &Alg,
-+ 2, &Seq,
-+ 2, &Status,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
-
- RTMPSetTimer(pAd, &pAd->Mlme.AuthAux.AuthTimer, Timeout);
- pAd->Mlme.AuthMachine.CurrState = AUTH_WAIT_SEQ2;
-- }
-- else
-+ }
-+ else
- {
- printk(KERN_ERR DRV_NAME "AUTH - MlmeAuthReqAction() sanity check failed. BUG!!!!!\n");
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
-@@ -167,8 +166,8 @@
- ==========================================================================
- */
- VOID PeerAuthRspAtSeq2Action(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Addr2;
- USHORT Seq, Status, RemoteStatus, Alg;
-@@ -180,21 +179,21 @@
- NDIS_STATUS NStatus;
- ULONG FrameLen = 0;
-
-- if (PeerAuthSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Alg, &Seq, &Status, ChlgText))
-+ if (PeerAuthSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Alg, &Seq, &Status, ChlgText))
- {
-- if (MAC_ADDR_EQUAL(&pAd->Mlme.AuthAux.Addr, &Addr2) && Seq == 2)
-+ if (MAC_ADDR_EQUAL(&pAd->Mlme.AuthAux.Addr, &Addr2) && Seq == 2)
- {
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Receive AUTH_RSP seq#2 to me (Alg=%d, Status=%d)\n", Alg, Status);
- RTMPCancelTimer(&pAd->Mlme.AuthAux.AuthTimer);
--
-- if (Status == MLME_SUCCESS)
-+
-+ if (Status == MLME_SUCCESS)
- {
-- if (pAd->Mlme.AuthAux.Alg == Ndis802_11AuthModeOpen)
-+ if (pAd->Mlme.AuthAux.Alg == Ndis802_11AuthModeOpen)
- {
- pAd->PortCfg.Mauth = TRUE;
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
- MlmeCntlConfirm(pAd, MT2_AUTH_CONF, MLME_SUCCESS);
-- }
-+ }
- else
- {
- // 2. shared key, need to be challenged
-@@ -208,7 +207,7 @@
- MlmeCntlConfirm(pAd, MT2_AUTH_CONF, MLME_FAIL_NO_RESOURCE);
- return;
- }
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Send AUTH request seq#3...\n");
- MgtMacHeaderInit(pAd, &AuthHdr, SUBTYPE_AUTH, 0, &Addr2, &pAd->PortCfg.Bssid);
- AuthHdr.Wep = 1;
-@@ -234,9 +233,9 @@
- RTMPEncryptData(pAd, Element, CyperChlgText + 10, 2);
- RTMPEncryptData(pAd, ChlgText, CyperChlgText + 12, 128);
- RTMPSetICV(pAd, CyperChlgText + 140);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- MAC_HDR_LEN, &AuthHdr,
-- CIPHER_TEXT_LEN + 16, CyperChlgText,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ MAC_HDR_LEN, &AuthHdr,
-+ CIPHER_TEXT_LEN + 16, CyperChlgText,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- #ifdef BIG_ENDIAN
-@@ -245,8 +244,8 @@
- RTMPSetTimer(pAd, &pAd->Mlme.AuthAux.AuthTimer, AUTH_TIMEOUT);
- pAd->Mlme.AuthMachine.CurrState = AUTH_WAIT_SEQ4;
- }
-- }
-- else
-+ }
-+ else
- {
- pAd->PortCfg.AuthFailReason = Status;
- COPY_MAC_ADDR(&pAd->PortCfg.AuthFailSta, &Addr2);
-@@ -267,29 +266,29 @@
- ==========================================================================
- */
- VOID PeerAuthRspAtSeq4Action(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Addr2;
- USHORT Alg, Seq, Status;
- CHAR ChlgText[CIPHER_TEXT_LEN];
-
-- if(PeerAuthSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Alg, &Seq, &Status, ChlgText))
-+ if(PeerAuthSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Alg, &Seq, &Status, ChlgText))
- {
-- if(MAC_ADDR_EQUAL(&(pAd->Mlme.AuthAux.Addr), &Addr2) && Seq == 4)
-+ if(MAC_ADDR_EQUAL(&(pAd->Mlme.AuthAux.Addr), &Addr2) && Seq == 4)
- {
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Receive AUTH_RSP seq#4 to me\n");
- RTMPCancelTimer(&pAd->Mlme.AuthAux.AuthTimer);
--
-- if(Status == MLME_SUCCESS)
-+
-+ if(Status == MLME_SUCCESS)
- {
- pAd->PortCfg.Mauth = TRUE;
-- }
-- else
-+ }
-+ else
- {
- pAd->PortCfg.AuthFailReason = Status;
- pAd->PortCfg.AuthFailSta = Addr2;
-- }
-+ }
-
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
- MlmeCntlConfirm(pAd, MT2_AUTH_CONF, Status);
-@@ -307,8 +306,8 @@
- ==========================================================================
- */
- VOID MlmeDeauthReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MLME_DEAUTH_REQ_STRUCT *Info;
- MACHDR Hdr;
-@@ -329,12 +328,12 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Send DE-AUTH request...\n");
- MgtMacHeaderInit(pAd, &Hdr, SUBTYPE_DEAUTH, 0, &Info->Addr, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- sizeof(MACHDR), &Hdr,
-- 2, &Info->Reason,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ sizeof(MACHDR), &Hdr,
-+ 2, &Info->Reason,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
--
-+
- pAd->PortCfg.DeauthReason = Info->Reason;
- COPY_MAC_ADDR(&pAd->PortCfg.DeauthSta, &Info->Addr);
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
-@@ -347,8 +346,8 @@
- ==========================================================================
- */
- VOID AuthTimeoutAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - AuthTimeoutAction\n");
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
-@@ -361,8 +360,8 @@
- ==========================================================================
- */
- VOID InvalidStateWhenAuth(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - InvalidStateWhenAuth (state=%d), reset AUTH state machine\n", pAd->Mlme.AuthMachine.CurrState);
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
-@@ -379,24 +378,24 @@
- ==========================================================================
- */
- VOID Cls2errAction(
-- IN PRTMP_ADAPTER pAd,
-- IN PMACADDR pAddr)
-+ IN PRTMP_ADAPTER pAd,
-+ IN PMACADDR pAddr)
- {
- MACHDR Hdr;
- UCHAR *OutBuffer = NULL;
- NDIS_STATUS NStatus;
- ULONG FrameLen = 0;
- USHORT Reason = REASON_CLS2ERR;
--
-+
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
- if (NStatus != NDIS_STATUS_SUCCESS)
- return;
-
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Class 2 error, Send DEAUTH frame...\n");
- MgtMacHeaderInit(pAd, &Hdr, SUBTYPE_DEAUTH, 0, pAddr, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- sizeof(MACHDR), &Hdr,
-- 2, &Reason,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ sizeof(MACHDR), &Hdr,
-+ 2, &Reason,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
-
-diff -Nur rt2500-1.1.0-b4/Module/auth_rsp.c rt2500-cvs-2007061011/Module/auth_rsp.c
---- rt2500-1.1.0-b4/Module/auth_rsp.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/auth_rsp.c 2007-03-21 05:25:34.000000000 +0100
-@@ -1,35 +1,35 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: auth_rsp.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: auth_rsp.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -40,8 +40,8 @@
- Parameters:
- Sm - the state machine
- Note:
-- the state machine looks like the following
--
-+ the state machine looks like the following
-+
- AUTH_RSP_IDLE AUTH_RSP_WAIT_CHAL
- MT2_AUTH_CHALLENGE_TIMEOUT auth_rsp_challenge_timeout_action auth_rsp_challenge_timeout_action
- MT2_PEER_AUTH_ODD peer_auth_at_auth_rsp_idle_action peer_auth_at_auth_rsp_wait_action
-@@ -49,9 +49,9 @@
- ==========================================================================
- */
- VOID AuthRspStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN PSTATE_MACHINE Sm,
-- IN STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN PSTATE_MACHINE Sm,
-+ IN STATE_MACHINE_FUNC Trans[])
- {
- ULONG NOW;
-
-@@ -83,10 +83,10 @@
- ==========================================================================
- */
- VOID AuthRspChallengeTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"AUTH_RSP - AuthRspChallengeTimeout \n");
- MlmeEnqueue(&pAd->Mlme.Queue, AUTH_RSP_STATE_MACHINE, MT2_AUTH_CHALLENGE_TIMEOUT, 0, NULL);
- MlmeHandler(pAd);
-@@ -98,12 +98,12 @@
- ==========================================================================
- */
- VOID PeerAuthSimpleRspGenAndSend(
-- IN PRTMP_ADAPTER pAd,
-- IN PMACHDR Hdr,
-- IN USHORT Alg,
-- IN USHORT Seq,
-- IN USHORT Reason,
-- IN USHORT Status)
-+ IN PRTMP_ADAPTER pAd,
-+ IN PMACHDR Hdr,
-+ IN USHORT Alg,
-+ IN USHORT Seq,
-+ IN USHORT Reason,
-+ IN USHORT Status)
- {
- MACHDR AuthHdr;
- UINT FrameLen = 0;
-@@ -118,11 +118,11 @@
- {
- DBGPRINT(RT_DEBUG_TRACE, "Send AUTH response (seq#2)...\n");
- MgtMacHeaderInit(pAd, &AuthHdr, SUBTYPE_AUTH, 0, &Hdr->Addr2, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- sizeof(MACHDR), &AuthHdr,
-- 2, &Alg,
-- 2, &Seq,
-- 2, &Reason,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ sizeof(MACHDR), &AuthHdr,
-+ 2, &Alg,
-+ 2, &Seq,
-+ 2, &Reason,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- }
-@@ -139,8 +139,8 @@
- ==========================================================================
- */
- VOID PeerDeauthAction(
-- IN PRTMP_ADAPTER pAd,
-- IN PMLME_QUEUE_ELEM Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN PMLME_QUEUE_ELEM Elem)
- {
- MACADDR Addr2;
- USHORT Reason;
-diff -Nur rt2500-1.1.0-b4/Module/connect.c rt2500-cvs-2007061011/Module/connect.c
---- rt2500-1.1.0-b4/Module/connect.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/connect.c 2007-03-21 05:25:34.000000000 +0100
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: connect.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- * Ivo (rt2400) 15th Dec 04 Timing ESSID set
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: connect.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ * Ivo (rt2400) 15th Dec 04 Timing ESSID set
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -62,11 +62,11 @@
- ==========================================================================
- */
- VOID MlmeCntlInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-- OUT STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
-+ OUT STATE_MACHINE_FUNC Trans[])
- {
-- // Control state machine differs from other state machines, the interface
-+ // Control state machine differs from other state machines, the interface
- // follows the standard interface
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
- }
-@@ -77,9 +77,9 @@
- ==========================================================================
- */
- VOID MlmeCntlMachinePerformAction(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- switch (Elem->MsgType)
- {
-@@ -94,7 +94,7 @@
- return;
- }
-
-- switch(pAd->Mlme.CntlMachine.CurrState)
-+ switch(pAd->Mlme.CntlMachine.CurrState)
- {
- case CNTL_IDLE:
- CntlIdleProc(pAd, Elem);
-@@ -105,17 +105,17 @@
- case CNTL_WAIT_JOIN:
- CntlWaitJoinProc(pAd, Elem);
- break;
--
-+
- // CNTL_WAIT_REASSOC is the only state in CNTL machine that does
-- // not triggered directly or indirectly by "RTMPSetInformation(OID_xxx)".
-- // Therefore not protected by NDIS's "only one outstanding OID request"
-+ // not triggered directly or indirectly by "RTMPSetInformation(OID_xxx)".
-+ // Therefore not protected by NDIS's "only one outstanding OID request"
- // rule. Which means NDIS may SET OID in the middle of ROAMing attempts.
- // Current approach is to block new SET request at RTMPSetInformation()
- // when CntlMachine.CurrState is not CNTL_IDLE
- case CNTL_WAIT_REASSOC:
- CntlWaitReassocProc(pAd, Elem);
- break;
--
-+
- case CNTL_WAIT_START:
- CntlWaitStartProc(pAd, Elem);
- break;
-@@ -130,7 +130,7 @@
- break;
-
- case CNTL_WAIT_OID_LIST_SCAN:
-- if(Elem->MsgType == MT2_SCAN_CONF)
-+ if(Elem->MsgType == MT2_SCAN_CONF)
- {
- // Resume TxRing after SCANING complete. We hope the out-of-service time
- // won't be too long to let upper layer time-out the waiting frames
-@@ -143,9 +143,9 @@
- if (pAd->MediaState == NdisMediaStateDisconnected)
- MlmeAutoReconnectLastSSID(pAd);
- break;
--
-+
- case CNTL_WAIT_OID_DISASSOC:
-- if (Elem->MsgType == MT2_DISASSOC_CONF)
-+ if (Elem->MsgType == MT2_DISASSOC_CONF)
- {
- LinkDown(pAd);
-
-@@ -169,11 +169,11 @@
- ==========================================================================
- */
- VOID CntlIdleProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MLME_DISASSOC_REQ_STRUCT DisassocReq;
--
-+
- if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF))
- {
- if (pAd->Mlme.CntlAux.CurrReqIsFromNdis)
-@@ -183,7 +183,7 @@
- return;
- }
-
-- switch(Elem->MsgType)
-+ switch(Elem->MsgType)
- {
- case OID_802_11_DISASSOCIATE:
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_DISASSOC_STA_LEAVING);
-@@ -198,7 +198,7 @@
- case MT2_MLME_ROAMING_REQ:
- CntlMlmeRoamingProc(pAd, Elem);
- break;
--
-+
- default:
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Illegal message in CntlIdleProc(MsgType=%d)\n",Elem->MsgType);
- break;
-@@ -220,7 +220,7 @@
- // for best SCANNING reult;
- AsicRestoreBbpSensibility(pAd);
-
-- // record current BSS if network is connected.
-+ // record current BSS if network is connected.
- // 2003-2-13 do not include current IBSS if this is the only STA in this IBSS.
- if (pAd->MediaState == NdisMediaStateConnected) // if (INFRA_ON(pAd) || ADHOC_ON(pAd))
- {
-@@ -230,19 +230,19 @@
- memcpy(&CurrBss, &pAd->PortCfg.BssTab.BssEntry[BssIdx], sizeof(BSS_ENTRY));
-
- // 2003-2-20 reset this RSSI to a low value but not zero. In normal case, the coming SCAN
-- // should return a correct RSSI to overwrite this. If no BEEACON received after SCAN,
-+ // should return a correct RSSI to overwrite this. If no BEEACON received after SCAN,
- // at least we still report a "greater than 0" RSSI since we claim it's CONNECTED.
- CurrBss.Rssi = 18; // about -82 dB
- }
- }
--
-+
- // clean up previous SCAN result, add current BSS back to table if any
-- BssTableInit(&pAd->PortCfg.BssTab);
-+ BssTableInit(&pAd->PortCfg.BssTab);
- if (BssIdx != BSS_NOT_FOUND)
- {
-- // DDK Note: If the NIC is associated with a particular BSSID and SSID
-- // that are not contained in the list of BSSIDs generated by this scan, the
-- // BSSID description of the currently associated BSSID and SSID should be
-+ // DDK Note: If the NIC is associated with a particular BSSID and SSID
-+ // that are not contained in the list of BSSIDs generated by this scan, the
-+ // BSSID description of the currently associated BSSID and SSID should be
- // appended to the list of BSSIDs in the NIC's database.
- // To ensure this, we append this BSS as the first entry in SCAN result
- memcpy(&pAd->PortCfg.BssTab.BssEntry[0], &CurrBss, sizeof(BSS_ENTRY));
-@@ -251,7 +251,7 @@
-
- BroadSsid[0] = '\0';
- ScanParmFill(pAd, &ScanReq, BroadSsid, 0, BSS_ANY, SCAN_PASSIVE);
-- MlmeEnqueue(&pAd->Mlme.Queue, SYNC_STATE_MACHINE, MT2_MLME_SCAN_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, SYNC_STATE_MACHINE, MT2_MLME_SCAN_REQ,
- sizeof(MLME_SCAN_REQ_STRUCT), &ScanReq);
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_OID_LIST_SCAN;
- }
-@@ -262,15 +262,15 @@
- ==========================================================================
- */
- VOID CntlOidSsidProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM * Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM * Elem)
- {
- NDIS_802_11_SSID *OidSsid = (NDIS_802_11_SSID *)Elem->Msg;
- MLME_DISASSOC_REQ_STRUCT DisassocReq;
- ULONG Now;
-
-- // Step 0.
-- // record the desired SSID and all matching BSSes into CntlAux.SsidBssTab for
-+ // Step 0.
-+ // record the desired SSID and all matching BSSes into CntlAux.SsidBssTab for
- // later-on iteration. Sort by RSSI order
- memcpy(pAd->Mlme.CntlAux.Ssid, OidSsid->Ssid, OidSsid->SsidLength);
- pAd->Mlme.CntlAux.SsidLen = (UCHAR)OidSsid->SsidLength;
-@@ -286,11 +286,11 @@
- if (((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA) || (pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK)) &&
- (pAd->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED))
- {
-- // For WPA, WPA-PSK, if the 1x port is not secured, we have to redo
-+ // For WPA, WPA-PSK, if the 1x port is not secured, we have to redo
- // connection process
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - disassociate with current AP...\n");
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_DISASSOC_STA_LEAVING);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
- sizeof(MLME_DISASSOC_REQ_STRUCT), &DisassocReq);
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_DISASSOC;
- }
-@@ -299,7 +299,7 @@
- // Config has changed, we have to reconnect the same AP
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - disassociate with current AP Because config changed...\n");
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_DISASSOC_STA_LEAVING);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
- sizeof(MLME_DISASSOC_REQ_STRUCT), &DisassocReq);
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_DISASSOC;
- }
-@@ -313,24 +313,24 @@
- {
- }
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-- }
-- else if (INFRA_ON(pAd))
-+ }
-+ }
-+ else if (INFRA_ON(pAd))
- {
- // case 1. active association existent
- // roaming is done within miniport driver, nothing to do with configuration
-- // utility. so upon a new SET(OID_802_11_SSID) is received, we just
-- // disassociate with the current (or previous) associated AP, if any,
-- // then perform a new association with this new SSID, no matter the
-+ // utility. so upon a new SET(OID_802_11_SSID) is received, we just
-+ // disassociate with the current (or previous) associated AP, if any,
-+ // then perform a new association with this new SSID, no matter the
- // new/old SSID are the same or npt.
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - disassociate with current AP...\n");
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_DISASSOC_STA_LEAVING);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
- sizeof(MLME_DISASSOC_REQ_STRUCT), &DisassocReq);
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_DISASSOC;
- }
- else
-- {
-+ {
- if (ADHOC_ON(pAd))
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - drop current ADHOC\n");
-@@ -356,7 +356,7 @@
- {
- IterateOnBssTab(pAd);
- }
-- }
-+ }
- }
-
- /*
-@@ -365,18 +365,18 @@
- ==========================================================================
- */
- VOID CntlOidRTBssidProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM * Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM * Elem)
- {
- ULONG BssIdx;
- MACADDR *pOidBssid = (MACADDR *)Elem->Msg;
- MLME_DISASSOC_REQ_STRUCT DisassocReq;
- MLME_JOIN_REQ_STRUCT JoinReq;
--
-+
- COPY_MAC_ADDR(&pAd->Mlme.CntlAux.Bssid, pOidBssid);
- BssIdx = BssTableSearch(&pAd->PortCfg.BssTab, pOidBssid);
--
-- if (BssIdx == BSS_NOT_FOUND)
-+
-+ if (BssIdx == BSS_NOT_FOUND)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - BSSID not found. reply NDIS_STATUS_NOT_ACCEPTED\n");
- if (pAd->Mlme.CntlAux.CurrReqIsFromNdis)
-@@ -394,7 +394,7 @@
-
- // Add SSID into Mlme.CntlAux for site surey joining hidden SSID
- pAd->Mlme.CntlAux.SsidLen = pAd->Mlme.CntlAux.SsidBssTab.BssEntry[0].SsidLen;
-- memcpy(pAd->Mlme.CntlAux.Ssid, pAd->Mlme.CntlAux.SsidBssTab.BssEntry[0].Ssid, pAd->Mlme.CntlAux.SsidLen);
-+ memcpy(pAd->Mlme.CntlAux.Ssid, pAd->Mlme.CntlAux.SsidBssTab.BssEntry[0].Ssid, pAd->Mlme.CntlAux.SsidLen);
-
- // 2002-11-26 skip the following checking. i.e. if user wants to re-connect to same AP
- // we just follow normal procedure. The reason of user doing this may because he/she changed
-@@ -412,15 +412,15 @@
- {
- }
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-- else
-+ }
-+ else
- {
- if (INFRA_ON(pAd))
- {
- // disassoc from current AP first
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - disassociate with current AP ...\n");
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_DISASSOC_STA_LEAVING);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
- sizeof(MLME_DISASSOC_REQ_STRUCT), &DisassocReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_DISASSOC;
-@@ -434,7 +434,7 @@
- pAd->MediaState = NdisMediaStateDisconnected;
- DBGPRINT(RT_DEBUG_TRACE, "NDIS_STATUS_MEDIA_DISCONNECT Event C!\n");
- }
--
-+
- // No active association, join the BSS immediately
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - joining %02x:%02x:%02x:%02x:%02x:%02x ...\n",
- pOidBssid->Octet[0],pOidBssid->Octet[1],pOidBssid->Octet[2],
-@@ -444,27 +444,27 @@
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_JOIN;
- }
-- }
-+ }
- }
-
- // Roaming is the only external request triggering CNTL state machine
--// despite of other "SET OID" operation. All "SET OID" related oerations
-+// despite of other "SET OID" operation. All "SET OID" related oerations
- // happen in sequence, because no other SET OID will be sent to this device
- // until the the previous SET operation is complete (successful o failed).
- // So, how do we quarantee this ROAMING request won't corrupt other "SET OID"?
- // or been corrupted by other "SET OID"?
- VOID CntlMlmeRoamingProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
-- // TODO:
-+ // TODO:
- // AP in different channel may show lower RSSI than actual value??
- // should we add a weighting factor to compensate it?
- DBGPRINT(RT_DEBUG_TRACE,"CNTL - Roaming in CntlAux.RoamTab...\n");
- BssTableSortByRssi(&pAd->Mlme.CntlAux.RoamTab);
- pAd->Mlme.CntlAux.RoamIdx=0;
- IterateOnBssTab2(pAd);
--
-+
- }
-
- /*
-@@ -473,17 +473,17 @@
- ==========================================================================
- */
- VOID CntlWaitDisassocProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MLME_START_REQ_STRUCT StartReq;
--
-- if (Elem->MsgType == MT2_DISASSOC_CONF)
-+
-+ if (Elem->MsgType == MT2_DISASSOC_CONF)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Dis-associate successful\n");
- LinkDown(pAd);
-
-- // case 1. no matching BSS, and user wants ADHOC, so we just start a new one
-+ // case 1. no matching BSS, and user wants ADHOC, so we just start a new one
- if ((pAd->Mlme.CntlAux.SsidBssTab.BssNr==0) && (pAd->PortCfg.BssType == BSS_INDEP))
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - No matching BSS, start a new ADHOC (Ssid=%s)...\n",pAd->Mlme.CntlAux.Ssid);
-@@ -505,16 +505,16 @@
- ==========================================================================
- */
- VOID CntlWaitJoinProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Reason;
- MLME_AUTH_REQ_STRUCT AuthReq;
-
-- if (Elem->MsgType == MT2_JOIN_CONF)
-+ if (Elem->MsgType == MT2_JOIN_CONF)
- {
- memcpy(&Reason, Elem->Msg, sizeof(USHORT));
-- if (Reason == MLME_SUCCESS)
-+ if (Reason == MLME_SUCCESS)
- {
- // 1. joined an IBSS, we are pretty much done here
- if (pAd->PortCfg.BssType == BSS_INDEP)
-@@ -524,9 +524,9 @@
- {
- }
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-+ }
- // 2. joined a new INFRA network, start from authentication
-- else
-+ else
- {
- // either Ndis802_11AuthModeShared or Ndis802_11AuthModeAutoSwitch, try shared key first
- if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeShared) ||
-@@ -538,7 +538,7 @@
- {
- AuthParmFill(pAd, &AuthReq, &pAd->PortCfg.Bssid, Ndis802_11AuthModeOpen);
- }
-- MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
- sizeof(MLME_AUTH_REQ_STRUCT), &AuthReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_AUTH;
-@@ -549,7 +549,7 @@
- // 3. failed, try next BSS
- pAd->Mlme.CntlAux.BssIdx++;
- IterateOnBssTab(pAd);
-- }
-+ }
- }
- }
-
-@@ -560,18 +560,18 @@
- ==========================================================================
- */
- VOID CntlWaitStartProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Result;
-
-- if (Elem->MsgType == MT2_START_CONF)
-+ if (Elem->MsgType == MT2_START_CONF)
- {
- memcpy(&Result, Elem->Msg, sizeof(USHORT));
-- if (Result == MLME_SUCCESS)
-+ if (Result == MLME_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - We have started a new ADHOC network\n");
-- DBGPRINT(RT_DEBUG_TRACE, "CNTL - BSSID %02x:%02x:%02x:%02x:%02x:%02x ...\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "CNTL - BSSID %02x:%02x:%02x:%02x:%02x:%02x ...\n",
- pAd->PortCfg.Bssid.Octet[0],
- pAd->PortCfg.Bssid.Octet[1],
- pAd->PortCfg.Bssid.Octet[2],
-@@ -601,29 +601,29 @@
- ==========================================================================
- */
- VOID CntlWaitAuthProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Reason;
- MLME_ASSOC_REQ_STRUCT AssocReq;
- MLME_AUTH_REQ_STRUCT AuthReq;
-
-- if (Elem->MsgType == MT2_AUTH_CONF)
-+ if (Elem->MsgType == MT2_AUTH_CONF)
- {
- memcpy(&Reason, Elem->Msg, sizeof(USHORT));
-- if (Reason == MLME_SUCCESS)
-+ if (Reason == MLME_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - AUTH OK\n");
-- AssocParmFill(pAd, &AssocReq, &pAd->PortCfg.Bssid, pAd->PortCfg.CapabilityInfo,
-+ AssocParmFill(pAd, &AssocReq, &pAd->PortCfg.Bssid, pAd->PortCfg.CapabilityInfo,
- ASSOC_TIMEOUT, pAd->PortCfg.DefaultListenCount);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_ASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_ASSOC_REQ,
- sizeof(MLME_ASSOC_REQ_STRUCT), &AssocReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_ASSOC;
-- }
-+ }
- else
- {
-- // This fail may because of the AP already keep us in its MAC table without
-+ // This fail may because of the AP already keep us in its MAC table without
- // ageing-out. The previous authentication attempt must have let it remove us.
- // so try Authentication again may help. For D-Link DWL-900AP+ compatibility.
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - AUTH FAIL, try again...\n");
-@@ -638,7 +638,7 @@
- AuthParmFill(pAd, &AuthReq, &pAd->PortCfg.Bssid, Ndis802_11AuthModeOpen);
- }
-
-- MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
- sizeof(MLME_AUTH_REQ_STRUCT), &AuthReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_AUTH2;
-@@ -652,26 +652,26 @@
- ==========================================================================
- */
- VOID CntlWaitAuthProc2(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Reason;
- MLME_ASSOC_REQ_STRUCT AssocReq;
- MLME_AUTH_REQ_STRUCT AuthReq;
-
-- if (Elem->MsgType == MT2_AUTH_CONF)
-+ if (Elem->MsgType == MT2_AUTH_CONF)
- {
- memcpy(&Reason, Elem->Msg, sizeof(USHORT));
-- if (Reason == MLME_SUCCESS)
-+ if (Reason == MLME_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - AUTH OK\n");
-- AssocParmFill(pAd, &AssocReq, &pAd->PortCfg.Bssid, pAd->PortCfg.CapabilityInfo,
-+ AssocParmFill(pAd, &AssocReq, &pAd->PortCfg.Bssid, pAd->PortCfg.CapabilityInfo,
- ASSOC_TIMEOUT, pAd->PortCfg.DefaultListenCount);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_ASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_ASSOC_REQ,
- sizeof(MLME_ASSOC_REQ_STRUCT), &AssocReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_ASSOC;
-- }
-+ }
- else
- {
- if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeAutoSwitch) &&
-@@ -679,12 +679,12 @@
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - AUTH FAIL, try OPEN system...\n");
- AuthParmFill(pAd, &AuthReq, &pAd->PortCfg.Bssid, Ndis802_11AuthModeOpen);
-- MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
- sizeof(MLME_AUTH_REQ_STRUCT), &AuthReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_AUTH2;
- }
-- else
-+ else
- {
- // not success, try next BSS
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - AUTH FAIL, give up; try next BSS\n");
-@@ -693,7 +693,7 @@
- IterateOnBssTab(pAd);
- }
- }
-- }
-+ }
- }
-
- /*
-@@ -702,15 +702,15 @@
- ==========================================================================
- */
- VOID CntlWaitAssocProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Reason;
-
-- if (Elem->MsgType == MT2_ASSOC_CONF)
-+ if (Elem->MsgType == MT2_ASSOC_CONF)
- {
- memcpy(&Reason, Elem->Msg, sizeof(USHORT));
-- if (Reason == MLME_SUCCESS)
-+ if (Reason == MLME_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Association successful on BSS #%d\n",pAd->Mlme.CntlAux.BssIdx);
- LinkUp(pAd, BSS_INFRA);
-@@ -718,8 +718,8 @@
- {
- }
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-- else
-+ }
-+ else
- {
- // not success, try next BSS
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Association fails on BSS #%d\n",pAd->Mlme.CntlAux.BssIdx);
-@@ -735,21 +735,21 @@
- ==========================================================================
- */
- VOID CntlWaitReassocProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Result;
-
-- if (Elem->MsgType == MT2_REASSOC_CONF)
-+ if (Elem->MsgType == MT2_REASSOC_CONF)
- {
- memcpy(&Result, Elem->Msg, sizeof(USHORT));
-- if (Result == MLME_SUCCESS)
-+ if (Result == MLME_SUCCESS)
- {
- BSS_ENTRY *pBss = &pAd->Mlme.CntlAux.RoamTab.BssEntry[pAd->Mlme.CntlAux.RoamIdx];
-
- // COPY_MAC_ADDR(&pAd->PortCfg.Bssid, &pBss->Bssid);
- // AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
--
-+
- // The following steps are supposed to be done after JOIN in normal procedure
- // But since this RE-ASSOC skips the JOIN procedure, we have to do it after
- // RE-ASSOC succeeds. If RE-ASSOC fails, then stay at original AP without any change
-@@ -768,14 +768,14 @@
- pAd->PortCfg.CfpDurRemain = pBss->CfpDurRemaining;
- pAd->PortCfg.CfpCount = pBss->CfpCount;
-
-- //
-+ //
- // NDIS requires a new Link UP indication but no Link Down for RE-ASSOC
- //
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Re-assocition successful on BSS #%d\n", pAd->Mlme.CntlAux.RoamIdx);
- LinkUp(pAd, BSS_INFRA);
-- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-- else
-+ pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-+ }
-+ else
- {
- // reassoc failed, try to pick next BSS in the BSS Table
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Re-assocition fails on BSS #%d\n", pAd->Mlme.CntlAux.RoamIdx);
-@@ -792,7 +792,7 @@
- */
- VOID LinkUp(
- IN PRTMP_ADAPTER pAd,
-- IN UCHAR BssType)
-+ IN UCHAR BssType)
- {
- ULONG Now;
-
-@@ -810,7 +810,7 @@
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - !!! Set to short preamble!!!\n");
- MlmeSetTxPreamble(pAd, Rt802_11PreambleShort);
- }
--
-+
- pAd->PortCfg.BssType = BssType;
- if (BssType == BSS_INDEP)
- {
-@@ -856,11 +856,11 @@
- // NOTE:
- // the decision to use "RTC/CTS" or "CTS-to-self" protection or not may change dynamically
- // due to new STA association to the AP. so we have to decide that upon parsing BEACON, not here
--
-+
- ComposePsPoll(pAd);
- ComposeNullFrame(pAd);
- AsicEnableBssSync(pAd);
--
-+
- // only INFRASTRUCTURE mode need to indicate connectivity immediately; ADHOC mode
- // should wait until at least 2 active nodes in this BSSID.
- pAd->MediaState = NdisMediaStateConnected;
-@@ -885,7 +885,7 @@
- ==========================================================================
- */
- VOID LinkDown(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - !!! LINK DOWN !!!\n");
-
-@@ -913,7 +913,7 @@
- DBGPRINT(RT_DEBUG_TRACE, "NDIS_STATUS_MEDIA_DISCONNECT Event A!\n");
- BssTableDeleteEntry(&pAd->PortCfg.BssTab, &(pAd->PortCfg.Bssid));
-
-- // restore back to -
-+ // restore back to -
- // 1. long slot (20 us) or short slot (9 us) time
- // 2. turn on/off RTS/CTS and/or CTS-to-self protection
- // 3. short preamble
-@@ -970,9 +970,9 @@
- ==========================================================================
- */
- VOID MlmeCntlConfirm(
-- IN PRTMP_ADAPTER pAd,
-- IN ULONG MsgType,
-- IN USHORT Msg)
-+ IN PRTMP_ADAPTER pAd,
-+ IN ULONG MsgType,
-+ IN USHORT Msg)
- {
- MlmeEnqueue(&pAd->Mlme.Queue, MLME_CNTL_STATE_MACHINE, MsgType, sizeof(USHORT), &Msg);
- }
-@@ -983,16 +983,16 @@
- ==========================================================================
- */
- VOID IterateOnBssTab(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- MLME_START_REQ_STRUCT StartReq;
- MLME_JOIN_REQ_STRUCT JoinReq;
- ULONG BssIdx;
-
- BssIdx = pAd->Mlme.CntlAux.BssIdx;
-- if (BssIdx < pAd->Mlme.CntlAux.SsidBssTab.BssNr)
-+ if (BssIdx < pAd->Mlme.CntlAux.SsidBssTab.BssNr)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Trying BSSID %02x:%02x:%02x:%02x:%02x:%02x ...\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "CNTL - Trying BSSID %02x:%02x:%02x:%02x:%02x:%02x ...\n",
- pAd->Mlme.CntlAux.SsidBssTab.BssEntry[BssIdx].Bssid.Octet[0],
- pAd->Mlme.CntlAux.SsidBssTab.BssEntry[BssIdx].Bssid.Octet[1],
- pAd->Mlme.CntlAux.SsidBssTab.BssEntry[BssIdx].Bssid.Octet[2],
-@@ -1018,12 +1018,12 @@
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - All BSS fail; reply NDIS_STATUS_NOT_ACCEPTED\n");
- }
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-+ }
- }
-
- // for re-association only
- VOID IterateOnBssTab2(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- MLME_REASSOC_REQ_STRUCT ReassocReq;
- ULONG BssIdx;
-@@ -1034,19 +1034,19 @@
-
- if (BssIdx < pAd->Mlme.CntlAux.RoamTab.BssNr)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "CNTL - try BSS #%d %02x:%02x:%02x:%02x:%02x:%02x ...\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "CNTL - try BSS #%d %02x:%02x:%02x:%02x:%02x:%02x ...\n",
- BssIdx, pBss->Bssid.Octet[0],pBss->Bssid.Octet[1],pBss->Bssid.Octet[2],
- pBss->Bssid.Octet[3],pBss->Bssid.Octet[4],pBss->Bssid.Octet[5]);
-
- AsicSwitchChannel(pAd, pBss->Channel);
- AsicLockChannel(pAd, pBss->Channel);
--
-+
- // reassociate message has the same structure as associate message
-- AssocParmFill(pAd, &ReassocReq, &pBss->Bssid, pBss->CapabilityInfo,
-+ AssocParmFill(pAd, &ReassocReq, &pBss->Bssid, pBss->CapabilityInfo,
- ASSOC_TIMEOUT, pAd->PortCfg.DefaultListenCount);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_REASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_REASSOC_REQ,
- sizeof(MLME_REASSOC_REQ_STRUCT), &ReassocReq);
--
-+
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_REASSOC;
- }
- else // no more BSS
-@@ -1055,7 +1055,7 @@
- AsicSwitchChannel(pAd, pAd->PortCfg.Channel);
- AsicLockChannel(pAd, pAd->PortCfg.Channel);
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-+ }
- }
-
- /*
-@@ -1064,9 +1064,9 @@
- ==========================================================================
- */
- VOID JoinParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_JOIN_REQ_STRUCT *JoinReq,
-- IN ULONG BssIdx)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_JOIN_REQ_STRUCT *JoinReq,
-+ IN ULONG BssIdx)
- {
- JoinReq->BssIdx = BssIdx;
- }
-@@ -1077,12 +1077,12 @@
- ==========================================================================
- */
- VOID AssocParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_ASSOC_REQ_STRUCT *AssocReq,
-- IN MACADDR *Addr,
-- IN USHORT CapabilityInfo,
-- IN ULONG Timeout,
-- IN USHORT ListenIntv)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_ASSOC_REQ_STRUCT *AssocReq,
-+ IN MACADDR *Addr,
-+ IN USHORT CapabilityInfo,
-+ IN ULONG Timeout,
-+ IN USHORT ListenIntv)
- {
- COPY_MAC_ADDR(&AssocReq->Addr, Addr);
- // Add mask to support 802.11b mode only
-@@ -1097,12 +1097,12 @@
- ==========================================================================
- */
- VOID ScanParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_SCAN_REQ_STRUCT *ScanReq,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-- IN UCHAR ScanType)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_SCAN_REQ_STRUCT *ScanReq,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
-+ IN UCHAR ScanType)
- {
- ScanReq->SsidLen = SsidLen;
- memcpy(ScanReq->Ssid, Ssid, SsidLen);
-@@ -1116,10 +1116,10 @@
- ==========================================================================
- */
- VOID DisassocParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_DISASSOC_REQ_STRUCT *DisassocReq,
-- IN MACADDR *Addr,
-- IN USHORT Reason)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_DISASSOC_REQ_STRUCT *DisassocReq,
-+ IN MACADDR *Addr,
-+ IN USHORT Reason)
- {
- COPY_MAC_ADDR(&DisassocReq->Addr, Addr);
- DisassocReq->Reason = Reason;
-@@ -1131,12 +1131,12 @@
- ==========================================================================
- */
- VOID StartParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_START_REQ_STRUCT *StartReq,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_START_REQ_STRUCT *StartReq,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen)
- {
-- memcpy(StartReq->Ssid, Ssid, SsidLen);
-+ memcpy(StartReq->Ssid, Ssid, SsidLen);
- StartReq->SsidLen = SsidLen;
- }
-
-@@ -1146,10 +1146,10 @@
- ==========================================================================
- */
- VOID AuthParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_AUTH_REQ_STRUCT *AuthReq,
-- IN MACADDR *Addr,
-- IN USHORT Alg)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_AUTH_REQ_STRUCT *AuthReq,
-+ IN MACADDR *Addr,
-+ IN USHORT Alg)
- {
- COPY_MAC_ADDR(&AuthReq->Addr, Addr);
- AuthReq->Alg = Alg;
-@@ -1187,9 +1187,9 @@
- ==========================================================================
- */
- ULONG MakeIbssBeacon(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
-- UCHAR SsidIe = IE_SSID, DsIe = IE_DS_PARM, IbssIe = IE_IBSS_PARM, SuppIe = IE_SUPP_RATES,
-+ UCHAR SsidIe = IE_SSID, DsIe = IE_DS_PARM, IbssIe = IE_IBSS_PARM, SuppIe = IE_SUPP_RATES,
- DsLen = 1, IbssLen = 2;
- UCHAR ExtRateIe = IE_EXT_SUPP_RATES, ExtRatesLen;
- UCHAR ErpIe[3] = {IE_ERP, 1, 0x04};
-@@ -1244,28 +1244,28 @@
-
- // compose IBSS beacon frame
- MgtMacHeaderInit(pAd, &BcnHdr, SUBTYPE_BEACON, 0, &pAd->PortCfg.Broadcast, &pAd->PortCfg.Bssid);
-- Privacy = (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) ||
-- (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) ||
-+ Privacy = (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) ||
-+ (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) ||
- (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled);
- CapabilityInfo = CAP_GENERATE(0, 1, 0, 0, Privacy, (pAd->PortCfg.WindowsTxPreamble == Rt802_11PreambleShort));
- if (SupportedRatesLen <= 8)
- {
- MakeOutgoingFrame(pBeaconFrame, &FrameLen,
-- MAC_HDR_LEN, &BcnHdr,
-+ MAC_HDR_LEN, &BcnHdr,
- TIMESTAMP_LEN, &FakeTimestamp,
- 2, &pAd->PortCfg.BeaconPeriod,
- 2, &CapabilityInfo,
-- 1, &SsidIe,
-- 1, &pAd->PortCfg.SsidLen,
-+ 1, &SsidIe,
-+ 1, &pAd->PortCfg.SsidLen,
- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
-- 1, &SuppIe,
-+ 1, &SuppIe,
- 1, &SupportedRatesLen,
-- SupportedRatesLen, SupportedRates,
-- 1, &DsIe,
-- 1, &DsLen,
-+ SupportedRatesLen, SupportedRates,
-+ 1, &DsIe,
-+ 1, &DsLen,
- 1, &pAd->PortCfg.Channel,
-- 1, &IbssIe,
-- 1, &IbssLen,
-+ 1, &IbssIe,
-+ 1, &IbssLen,
- 2, &pAd->PortCfg.AtimWin,
- END_OF_ARGS);
- }
-@@ -1274,21 +1274,21 @@
- ExtRatesLen = SupportedRatesLen - 8;
- SupportedRatesLen = 8;
- MakeOutgoingFrame(pBeaconFrame, &FrameLen,
-- MAC_HDR_LEN, &BcnHdr,
-+ MAC_HDR_LEN, &BcnHdr,
- TIMESTAMP_LEN, &FakeTimestamp,
- 2, &pAd->PortCfg.BeaconPeriod,
- 2, &CapabilityInfo,
-- 1, &SsidIe,
-- 1, &pAd->PortCfg.SsidLen,
-+ 1, &SsidIe,
-+ 1, &pAd->PortCfg.SsidLen,
- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
-- 1, &SuppIe,
-+ 1, &SuppIe,
- 1, &SupportedRatesLen,
-- SupportedRatesLen, SupportedRates,
-- 1, &DsIe,
-- 1, &DsLen,
-+ SupportedRatesLen, SupportedRates,
-+ 1, &DsIe,
-+ 1, &DsLen,
- 1, &pAd->PortCfg.Channel,
-- 1, &IbssIe,
-- 1, &IbssLen,
-+ 1, &IbssIe,
-+ 1, &IbssLen,
- 2, &pAd->PortCfg.AtimWin,
- 3, ErpIe,
- 1, &ExtRateIe,
-@@ -1301,7 +1301,7 @@
- {
- ULONG tmp;
- UCHAR WpaIe = IE_WPA;
--
-+
- if (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) // Tkip
- {
- MakeOutgoingFrame(pBeaconFrame + FrameLen, &tmp,
-@@ -1325,7 +1325,7 @@
- RTMPFrameEndianChange(pAd, pBeaconFrame, DIR_WRITE, FALSE);
- #endif
-
-- RTMPWriteTxDescriptor(pTxD, FALSE, CIPHER_NONE, FALSE, FALSE, TRUE, SHORT_RETRY, IFS_NEW_BACKOFF,
-+ RTMPWriteTxDescriptor(pTxD, FALSE, CIPHER_NONE, FALSE, FALSE, TRUE, SHORT_RETRY, IFS_NEW_BACKOFF,
- pAd->PortCfg.MlmeRate, 4, FrameLen, pAd->PortCfg.TxPreambleInUsed, 0);
-
- DBGPRINT(RT_DEBUG_TRACE, "MakeIbssBeacon (len=%d)\n", FrameLen);
-diff -Nur rt2500-1.1.0-b4/Module/eeprom.c rt2500-cvs-2007061011/Module/eeprom.c
---- rt2500-1.1.0-b4/Module/eeprom.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/eeprom.c 2007-03-21 05:25:34.000000000 +0100
-@@ -1,35 +1,35 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: eeprom.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: eeprom.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -183,7 +183,7 @@
- RaiseClock(pAd, &x);
- LowerClock(pAd, &x);
-
-- // output the read_opcode and register number in that order
-+ // output the read_opcode and register number in that order
- ShiftOutBits(pAd, EEPROM_READ_OPCODE, 3);
- ShiftOutBits(pAd, Offset, pAd->EEPROMAddressNum);
-
-diff -Nur rt2500-1.1.0-b4/Module/iwpriv_usage.txt rt2500-cvs-2007061011/Module/iwpriv_usage.txt
---- rt2500-1.1.0-b4/Module/iwpriv_usage.txt 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/iwpriv_usage.txt 2007-01-09 12:47:14.000000000 +0100
-@@ -1,151 +1,161 @@
--
--This file provides some basic examples on the configuration of the driver using standard linux wireless tools. Where possible iwconfig should be used to adjust settings. Some settings are currently not avaiable via iwconfig and these include WPA, for these functions it is currently necessary to use iwpriv.
--
--
--Configuration Examples
--===================================================================
---------------------------------------------------------------------------------------------------------
--Example I: Config STA to link with AP which is OPEN/NONE(Authentication/Encryption)
-- 1. iwconfig ra0 mode managed
-- 2. iwconfig ra0 key open
-- 3. iwconfig ra0 key off
-- 4. iwconfig ra0 essid "AP's SSID"
--
--Example II: Config STA to link with AP which is SHARED/WEP(Authentication/Encryption)
-- 1. iwconfig ra0 mode managed
-- 2. iwconfig ra0 key restricted
-- 3. iwconfig ra0 Key [1] "s:AP's wep key"
-- 4. iwconfig ra0 key [1]
-- 5. iwconfig ra0 essid "AP's SSID"
--
--Example III: Config STA to create/link as adhoc mode
-- 1. iwconfig ra0 mode ad-hoc
-- 2. iwconfig ra0 key off
-- 4. iwconfig ra0 essid "AP's SSID"
--
--Example IV: Config STA to link with AP which is WPAPSK/TKIP(Authentication/Encryption)
-- 1. iwconfig ra0 mode managed
-- 2. iwpriv ra0 set AuthMode=WPAPSK
-- 3. iwpriv ra0 set EncrypType=TKIP
-- 4. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
-- 5. iwconfig ra0 essid "AP's SSID"
--
--Example V: Config STA to link with AP which is WPAPSK/AES(Authentication/Encryption)
-- 1. iwconfig ra0 mode managed
-- 2. iwpriv ra0 set AuthMode=WPAPSK
-- 3. iwpriv ra0 set EncrypType=AES
-- 5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
-- 6. iwconfig ra0 essid "AP's SSID"
--
--
--
--iwpriv
--=================
--This is detailed explanation of each parameters for iwpriv.
--Before reading this document, make sure you already read README.
--
---------------------------------------------------------------------------------------------------------
--USAGE:
-- iwpriv ra0 set [parameters]=[val]
--
--where
--
--[parameters] [val] range explaination
------------------- ----------------------- ---------------------------------------------
--CountryRegion {0~7} Set country region
-- 0: use 1 ~ 11 Channel
-- 1: use 1 ~ 11 Channel
-- 2: use 1 ~ 13 Channel
-- 3: use 10, 11 Channel
-- 4: use 10 ~ 13 Channel
-- 5: use 14 Channel
-- 6: use 1 ~ 14 Channel
-- 7: use 3 ~ 9 Channel
--
--WirelessMode {0~2} Set Wireless Mode
-- 0:11b/g mixed, 1:11B only
--
--TxRate {0~12} Set TxRate
-- 0:Auto, 1:1Mbps, 2:2Mbps, 3:5.5Mbps, 4:11Mbps,
-- 5:6Mbps, 6:9Mbps, 7:12Mbps, 8:18Mbps, 9:24Mbps,
-- 10:36Mbps, 11:48Mbps, 12:54Mbps
--
--BGProtection {0~2} Set 11B/11G Protection
-- 0:Auto, 1:Always on, 2:Always off
--
--TxPreamble {0~2} Set TxPreamble
-- 0:Preamble Long, 1:Preamble Short, 2:Auto
--
--TxBurst {0,1} Set TxBurst Enable or Disable
-- 0:Disable, 1:Enable
--
--TurboRate {0,1} Set TurboRate Enable or Disable
-- 0:Disable, 1:Enable
--
--AdhocOfdm {0, 1} Set Adhoc mode tx rate
-- 0: adhere WIFI spec., 1: violate WIFI spec.
-- (802.11g WIFI spec disallow OFDM rates in 802.11g ADHOC mode)
-- AuthMode {OPEN,SHARED,WPAPSK} Set Authentication mode
--
--EncrypType {NONE,WEP,TKIP,AES} Set Encryption Type
--
--WPAPSK {8~63 ASCII or 64 HEX characters} WPA Pre-Shared Key
--
--ApClient {0,1} Set ApClient mode
-- 0:Disable, 1:Enable
--
--iwlist
--=================
--This is detailed explanation of each parameters for iwlist.
--
---------------------------------------------------------------------------------------------------------
--
--iwlist ra0 scanning ; list the result after scanning(site survey)
--
--
--
--
------------------------------------------------------------------------------------------------------------------------------------
--
--
--Deprecated iwpriv
--=================
--
--*** PLEASE DO NOT USE THESE FUNCTIONS, THIS IS FOR HISTORICAL REFERENCE ONLY ***
--As the configuration utility still uses some iwpriv commands they have not been
--removed from the driver yet. These commands are likely to dissapear if the utility is
--updated.
--
--** ALL THESE COMMANDS HAVE A IWCONFIG REPLACEMENT, USE IT ****
--
--SSID {0~z, less than 32 characters} Set SoftAP SSID
--
--Channel {1~14} depends on country region Set Channel
--
--RTSThreshold {1~2347} Set RTS Threshold
--
--FragThreshold {256~2346} Set Fragment Threshold
--
--NetworkType {Infra,Adhoc} Set Network type
--
--DefaultKeyID {1~4} Set Default Key ID
--
--Key1 {5 ascii characters or Set Key1 String
-- 10 hex number or
-- 13 ascii characters or
-- 26 hex numbers}
--
--Key2 {5 ascii characters or Set Key2 String
-- 10 hex number or
-- 13 ascii characters or
-- 26 hex numbers}
--
--Key3 {5 ascii characters or Set Key3 String
-- 10 hex number or
-- 13 ascii characters or
-- 26 hex numbers}
--
--Key4 {5 ascii characters or Set Key4 String
-- 10 hex number or
-- 13 ascii characters or
-- 26 hex numbers}
-+This file provides some basic examples on the configuration of the
-+driver using standard linux wireless tools. Where possible iwconfig
-+should be used to adjust settings. Some settings are currently not
-+avaiable via iwconfig and these include WPA, for these functions it is
-+currently necessary to use iwpriv.
-+
-+
-+Configuration Examples
-+======================================================================
-+----------------------------------------------------------------------
-+Example I: STA with AP using OPEN/NONE(Authentication/Encryption)
-+ 1. iwconfig ra0 mode managed
-+ 2. iwconfig ra0 key open
-+ 3. iwconfig ra0 key off
-+ 4. iwconfig ra0 essid "AP's SSID"
-+
-+Example II: STA with AP using SHARED/WEP(Authentication/Encryption)
-+ 1. iwconfig ra0 mode managed
-+ 2. iwconfig ra0 key restricted
-+ 3. iwconfig ra0 Key [1] "s:AP's wep key"
-+ 4. iwconfig ra0 key [1]
-+ 5. iwconfig ra0 essid "AP's SSID"
-+
-+Example III: STA using adhoc mode
-+ 1. iwconfig ra0 mode ad-hoc
-+ 2. iwconfig ra0 key off
-+ 4. iwconfig ra0 essid "STA's SSID"
-+
-+Example IV: STA with AP using WPAPSK/TKIP(Authentication/Encryption)
-+ 1. iwconfig ra0 mode managed
-+ 2. iwpriv ra0 set AuthMode=WPAPSK
-+ 3. iwpriv ra0 set EncrypType=TKIP
-+ 4. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
-+ 5. iwconfig ra0 essid "AP's SSID"
-+
-+Example V: STA with AP using WPAPSK/AES(Authentication/Encryption)
-+ 1. iwconfig ra0 mode managed
-+ 2. iwpriv ra0 set AuthMode=WPAPSK
-+ 3. iwpriv ra0 set EncrypType=AES
-+ 5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
-+ 6. iwconfig ra0 essid "AP's SSID"
-+
-+
-+
-+iwpriv
-+=================
-+This is detailed explanation of each parameters for iwpriv.
-+Before reading this document, make sure you already read README.
-+
-+----------------------------------------------------------------------
-+USAGE:
-+ iwpriv ra0 set [parameters]=[val]
-+
-+where
-+
-+[parameters] [val] range explanation
-+------------ -------------------- ---------------------
-+CountryRegion {0~7} Set country region
-+ 0: use 1 ~ 11 Channel
-+ 1: use 1 ~ 11 Channel
-+ 2: use 1 ~ 13 Channel
-+ 3: use 10, 11 Channel
-+ 4: use 10 ~ 13 Channel
-+ 5: use 14 Channel
-+ 6: use 1 ~ 14 Channel
-+ 7: use 3 ~ 9 Channel
-+
-+WirelessMode {0~2} Set Wireless Mode
-+ 0:11b/g mixed, 1:11B only
-+
-+TxRate {0~12} Set TxRate
-+ 0:Auto, 1:1Mbps, 2:2Mbps,
-+ 3:5.5Mbps, 4:11Mbps, 5:6Mbps,
-+ 6:9Mbps, 7:12Mbps, 8:18Mbps,
-+ 9:24Mbps, 10:36Mbps,
-+ 11:48Mbps, 12:54Mbps
-+
-+BGProtection {0~2} Set 11B/11G Protection
-+ 0:Auto, 1:Always on,
-+ 2:Always off
-+
-+TxPreamble {0~2} Set TxPreamble
-+ 0:Preamble Long,
-+ 1:Preamble Short,
-+ 2:Auto
-+
-+TxBurst {0,1} Enable/Disable
-+ 0:Disable, 1:Enable
-+
-+TurboRate {0,1} Enable/Disable
-+ 0:Disable, 1:Enable
-+
-+AdhocOfdm {0, 1} Adhoc mode OFDM
-+ 0: Disallow 1: Allow
-+
-+AuthMode {OPEN,SHARED,WPAPSK} Authentication mode
-+
-+EncrypType {NONE,WEP,TKIP,AES} Encryption Type
-+
-+WPAPSK {8~63 ASCII or 64 HEX characters}
-+ WPA Pre-Shared Key
-+
-+ApClient {0,1} Set ApClient mode
-+ 0:Disable, 1:Enable
-+
-+iwlist
-+=================
-+This is detailed explanation of each parameters for iwlist.
-+
-+----------------------------------------------------------------------
-+
-+iwlist ra0 scanning; list the result after scanning(site survey)
-+
-+
-+
-+
-+----------------------------------------------------------------------
-+
-+
-+Deprecated iwpriv
-+=================
-+
-+*** PLEASE DO NOT USE THESE FUNCTIONS, THIS IS FOR HISTORICAL
-+ REFERENCE ONLY ***
-+As the configuration utility still uses some iwpriv commands they have
-+not been removed from the driver yet. These commands are likely to
-+dissapear if the utility is updated.
-+
-+** ALL THESE COMMANDS HAVE A IWCONFIG REPLACEMENT, USE IT ****
-+
-+SSID {0~z, less than 32 characters} Set SoftAP SSID
-+
-+Channel {1~14} depends on country region Set Channel
-+
-+RTSThreshold {1~2347} Set RTS Threshold
-+
-+FragThreshold {256~2346} Set Fragment Threshold
-+
-+NetworkType {Infra,Adhoc} Set Network type
-+
-+DefaultKeyID {1~4} Set Default Key ID
-+
-+Key1 {5 ascii characters or Set Key1 String
-+ 10 hex number or
-+ 13 ascii characters or
-+ 26 hex numbers}
-+
-+Key2 {5 ascii characters or Set Key2 String
-+ 10 hex number or
-+ 13 ascii characters or
-+ 26 hex numbers}
-+
-+Key3 {5 ascii characters or Set Key3 String
-+ 10 hex number or
-+ 13 ascii characters or
-+ 26 hex numbers}
-+
-+Key4 {5 ascii characters or Set Key4 String
-+ 10 hex number or
-+ 13 ascii characters or
-+ 26 hex numbers}
-diff -Nur rt2500-1.1.0-b4/Module/load rt2500-cvs-2007061011/Module/load
---- rt2500-1.1.0-b4/Module/load 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/load 1970-01-01 01:00:00.000000000 +0100
-@@ -1,3 +0,0 @@
--/sbin/insmod rt2500.o
--/sbin/ifconfig ra0 inet 192.168.1.234 up
--/sbin/route add default gw 192.168.1.1
-\ Kein Zeilenumbruch am Dateiende.
-diff -Nur rt2500-1.1.0-b4/Module/md5.c rt2500-cvs-2007061011/Module/md5.c
---- rt2500-1.1.0-b4/Module/md5.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/md5.c 2007-05-29 05:49:17.000000000 +0200
-@@ -1,38 +1,38 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
- * This MD5 code is based on code from Dynamics -- HUT Mobile IP *
- * Copyright (C) 1998-2001, Dynamics group *
-- ***************************************************************************/
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: md5.c
-- *
-+ *
- * Abstract: contain MD5 and AES cipher algorithm
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * JanL 28th Oct 03 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * JanL 28th Oct 03 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -48,7 +48,8 @@
- * md5_mac() determines the message authentication code by using secure hash
- * MD5(key | data | key).
- */
--void md5_mac(u8 *key, size_t key_len, u8 *data, size_t data_len, u8 *mac)
-+void md5_mac(UCHAR *key, ULONG key_len, UCHAR *data, ULONG data_len,
-+ UCHAR *mac)
- {
- MD5_CTX context;
-
-@@ -71,12 +72,13 @@
- * hmac_md5() determines the message authentication code using HMAC-MD5.
- * This implementation is based on the sample code presented in RFC 2104.
- */
--void hmac_md5(u8 *key, size_t key_len, u8 *data, size_t data_len, u8 *mac)
-+void hmac_md5(UCHAR *key, ULONG key_len, UCHAR *data, ULONG data_len,
-+ UCHAR *mac)
- {
- MD5_CTX context;
-- u8 k_ipad[65]; /* inner padding - key XORd with ipad */
-- u8 k_opad[65]; /* outer padding - key XORd with opad */
-- u8 tk[16];
-+ UCHAR k_ipad[65]; /* inner padding - key XORd with ipad */
-+ UCHAR k_opad[65]; /* outer padding - key XORd with opad */
-+ UCHAR tk[16];
- int i;
-
- //assert(key != NULL && data != NULL && mac != NULL);
-@@ -128,25 +130,6 @@
- MD5Final(mac, &context); /* finish up 2nd pass */
- }
-
--
--/* ===== start - public domain MD5 implementation ===== */
--/*
-- * This code implements the MD5 message-digest algorithm.
-- * The algorithm is due to Ron Rivest. This code was
-- * written by Colin Plumb in 1993, no copyright is claimed.
-- * This code is in the public domain; do with it what you wish.
-- *
-- * Equivalent code is available from RSA Data Security, Inc.
-- * This code has been tested against that, and is equivalent,
-- * except that you don't need to include two pages of legalese
-- * with every copy.
-- *
-- * To compute the message digest of a chunk of bytes, declare an
-- * MD5Context structure, pass it to MD5Init, call MD5Update as
-- * needed on buffers full of bytes, and then call MD5Final, which
-- * will fill a supplied 16-byte array with the digest.
-- */
--
- #ifndef BIG_ENDIAN
- #define byteReverse(buf, len) /* Nothing */
- #else
-@@ -160,588 +143,808 @@
- }
- #endif
-
-+/* ========================== MD5 implementation =========================== */
-+// four base functions for MD5
-+#define MD5_F1(x, y, z) (((x) & (y)) | ((~x) & (z)))
-+#define MD5_F2(x, y, z) (((x) & (z)) | ((y) & (~z)))
-+#define MD5_F3(x, y, z) ((x) ^ (y) ^ (z))
-+#define MD5_F4(x, y, z) ((y) ^ ((x) | (~z)))
-+#define CYCLIC_LEFT_SHIFT(w, s) (((w) << (s)) | ((w) >> (32-(s))))
-+
-+#define MD5Step(f, w, x, y, z, data, t, s) \
-+ ( w += f(x, y, z) + data + t, w = (CYCLIC_LEFT_SHIFT(w, s)) & 0xffffffff, w += x )
-+
- /*
-- * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
-- * initialization constants.
-+ * Function Description:
-+ * Initiate MD5 Context satisfied in RFC 1321
-+ *
-+ * Arguments:
-+ * pCtx Pointer to MD5 context
-+ *
-+ * Return Value:
-+ * None
- */
--void MD5Init(struct MD5Context *ctx)
-+VOID MD5Init(MD5_CTX *pCtx)
- {
-- ctx->buf[0] = 0x67452301;
-- ctx->buf[1] = 0xefcdab89;
-- ctx->buf[2] = 0x98badcfe;
-- ctx->buf[3] = 0x10325476;
-+ pCtx->Buf[0] = 0x67452301;
-+ pCtx->Buf[1] = 0xefcdab89;
-+ pCtx->Buf[2] = 0x98badcfe;
-+ pCtx->Buf[3] = 0x10325476;
-
-- ctx->bits[0] = 0;
-- ctx->bits[1] = 0;
-+ pCtx->LenInBitCount[0] = 0;
-+ pCtx->LenInBitCount[1] = 0;
- }
-
- /*
-- * Update context to reflect the concatenation of another buffer full
-- * of bytes.
-+ * Function Description:
-+ * Update MD5 Context, allow of an arrary of octets as the next portion
-+ * of the message
-+ *
-+ * Arguments:
-+ * pCtx Pointer to MD5 context
-+ * pData Pointer to input data
-+ * LenInBytes The length of input data (unit: byte)
-+ *
-+ * Return Value:
-+ * None
-+ *
-+ * Note:
-+ * Called after MD5Init or MD5Update(itself)
- */
--void MD5Update(struct MD5Context *ctx, unsigned char *buf, unsigned len)
-+VOID MD5Update(MD5_CTX *pCtx, UCHAR *pData, ULONG LenInBytes)
- {
-- u32 t;
-+ ULONG TfTimes;
-+ ULONG temp;
-+ unsigned int i;
-
-- /* Update bitcount */
-+ temp = pCtx->LenInBitCount[0];
-
-- t = ctx->bits[0];
-- if ((ctx->bits[0] = t + ((u32) len << 3)) < t)
-- ctx->bits[1]++; /* Carry from low to high */
-- ctx->bits[1] += len >> 29;
--
-- t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */
--
-- /* Handle any leading odd-sized chunks */
--
-- if (t) {
-- unsigned char *p = (unsigned char *) ctx->in + t;
--
-- t = 64 - t;
-- if (len < t) {
-- memcpy(p, buf, len);
-- return;
-- }
-- memcpy(p, buf, t);
-- byteReverse(ctx->in, 16);
-- MD5Transform(ctx->buf, (u32 *) ctx->in);
-- buf += t;
-- len -= t;
-- }
-- /* Process data in 64-byte chunks */
-+ pCtx->LenInBitCount[0] =
-+ (ULONG) (pCtx->LenInBitCount[0] + (LenInBytes << 3));
-
-- while (len >= 64) {
-- memcpy(ctx->in, buf, 64);
-- byteReverse(ctx->in, 16);
-- MD5Transform(ctx->buf, (u32 *) ctx->in);
-- buf += 64;
-- len -= 64;
-- }
-+ if (pCtx->LenInBitCount[0] < temp)
-+ pCtx->LenInBitCount[1]++; //carry in
-+
-+ pCtx->LenInBitCount[1] += LenInBytes >> 29;
-+
-+ // mod 64 bytes
-+ temp = (temp >> 3) & 0x3f;
-+
-+ // process lacks of 64-byte data
-+ if (temp) {
-+ UCHAR *pAds = (UCHAR *) pCtx->Input + temp;
-+
-+ if ((temp + LenInBytes) < 64) {
-+ memcpy(pAds, (UCHAR *) pData, LenInBytes);
-+ return;
-+ }
-
-- /* Handle any remaining bytes of data. */
-+ memcpy(pAds, (UCHAR *) pData, 64 - temp);
-+ byteReverse(pCtx->Input, 16);
-+ MD5Transform(pCtx->Buf, (ULONG *) pCtx->Input);
-
-- memcpy(ctx->in, buf, len);
-+ pData += 64 - temp;
-+ LenInBytes -= 64 - temp;
-+ } // end of if (temp)
-+
-+ TfTimes = (LenInBytes >> 6);
-+
-+ for (i = TfTimes; i > 0; i--) {
-+ memcpy(pCtx->Input, (UCHAR *) pData, 64);
-+ byteReverse(pCtx->Input, 16);
-+ MD5Transform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ pData += 64;
-+ LenInBytes -= 64;
-+ } // end of for
-+
-+ // buffering lacks of 64-byte data
-+ if (LenInBytes)
-+ memcpy(pCtx->Input, (UCHAR *) pData, LenInBytes);
- }
-
- /*
-- * Final wrapup - pad to 64-byte boundary with the bit pattern
-- * 1 0* (64-bit count of bits processed, MSB-first)
-+ * Function Description:
-+ * Append padding bits and length of original message in the tail
-+ * The message digest has to be completed in the end
-+ *
-+ * Arguments:
-+ * Digest Output of Digest-Message for MD5
-+ * pCtx Pointer to MD5 context
-+ *
-+ * Return Value:
-+ * None
-+ *
-+ * Note:
-+ * Called after MD5Update
- */
--void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
-+VOID MD5Final(UCHAR Digest[16], MD5_CTX *pCtx)
- {
-- unsigned count;
-- unsigned char *p;
--
-- /* Compute number of bytes mod 64 */
-- count = (ctx->bits[0] >> 3) & 0x3F;
--
-- /* Set the first char of padding to 0x80. This is safe since there is
-- always at least one byte free */
-- p = ctx->in + count;
-- *p++ = 0x80;
--
-- /* Bytes of padding needed to make 64 bytes */
-- count = 64 - 1 - count;
--
-- /* Pad out to 56 mod 64 */
-- if (count < 8) {
-- /* Two lots of padding: Pad the first block to 64 bytes */
-- memset(p, 0, count);
-- byteReverse(ctx->in, 16);
-- MD5Transform(ctx->buf, (u32 *) ctx->in);
--
-- /* Now fill the next block with 56 bytes */
-- memset(ctx->in, 0, 56);
-- } else {
-- /* Pad block to 56 bytes */
-- memset(p, 0, count - 8);
-- }
-- byteReverse(ctx->in, 14);
-+ UCHAR Remainder;
-+ UCHAR PadLenInBytes;
-+ UCHAR *pAppend = 0;
-+ unsigned int i;
-+
-+ Remainder = (UCHAR) ((pCtx->LenInBitCount[0] >> 3) & 0x3f);
-+
-+ PadLenInBytes = (Remainder < 56) ? (56 - Remainder) : (120 - Remainder);
-+
-+ pAppend = (UCHAR *) pCtx->Input + Remainder;
-+
-+ // padding bits without crossing block(64-byte based) boundary
-+ if (Remainder < 56) {
-+ *pAppend = 0x80;
-+ PadLenInBytes--;
-+
-+ memset((UCHAR *) pCtx->Input + Remainder + 1, 0,
-+ PadLenInBytes);
-+
-+ // add data-length field, from low to high
-+ for (i = 0; i < 4; i++) {
-+ pCtx->Input[56 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[0] >> (i << 3)) & 0xff);
-+ pCtx->Input[60 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[1] >> (i << 3)) & 0xff);
-+ }
-+
-+ byteReverse(pCtx->Input, 16);
-+ MD5Transform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ } // end of if
-+
-+ // padding bits with crossing block(64-byte based) boundary
-+ else {
-+ // the first block ===
-+ *pAppend = 0x80;
-+ PadLenInBytes--;
-+
-+ memset((UCHAR *) pCtx->Input + Remainder + 1, 0,
-+ (64 - Remainder - 1));
-+ PadLenInBytes -= (64 - Remainder - 1);
-+
-+ byteReverse(pCtx->Input, 16);
-+ MD5Transform(pCtx->Buf, (ULONG *) pCtx->Input);
-+
-+ // the second block ===
-+ memset((UCHAR *) pCtx->Input, 0, PadLenInBytes);
-+
-+ // add data-length field
-+ for (i = 0; i < 4; i++) {
-+ pCtx->Input[56 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[0] >> (i << 3)) & 0xff);
-+ pCtx->Input[60 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[1] >> (i << 3)) & 0xff);
-+ }
-+
-+ byteReverse(pCtx->Input, 16);
-+ MD5Transform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ } // end of else
-+
-+ memcpy((UCHAR *) Digest, (ULONG *) pCtx->Buf, 16); // output
-+ byteReverse((UCHAR *) Digest, 4);
-+ memset(pCtx, 0, sizeof(pCtx)); // memory free
-+}
-
-- /* Append length in bits and transform */
-- ((u32 *) ctx->in)[14] = ctx->bits[0];
-- ((u32 *) ctx->in)[15] = ctx->bits[1];
-+/*
-+ * Function Description:
-+ * The central algorithm of MD5, consists of four rounds and sixteen
-+ * steps per round
-+ *
-+ * Arguments:
-+ * Buf Buffers of four states (output: 16 bytes)
-+ * Mes Input data (input: 64 bytes)
-+ *
-+ * Return Value:
-+ * None
-+ *
-+ * Note:
-+ * Called by MD5Update or MD5Final
-+ */
-+VOID MD5Transform(ULONG Buf[4], ULONG Mes[16])
-+{
-+ ULONG Reg[4], Temp;
-+ unsigned int i;
-
-- MD5Transform(ctx->buf, (u32 *) ctx->in);
-- byteReverse((unsigned char *) ctx->buf, 4);
-- memcpy(digest, ctx->buf, 16);
-- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
-+ static UCHAR LShiftVal[16] = {
-+ 7, 12, 17, 22,
-+ 5, 9, 14, 20,
-+ 4, 11, 16, 23,
-+ 6, 10, 15, 21,
-+ };
-+
-+ // [equal to 4294967296*abs(sin(index))]
-+ static ULONG MD5Table[64] = {
-+ 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee,
-+ 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501,
-+ 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,
-+ 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821,
-+
-+ 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa,
-+ 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8,
-+ 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed,
-+ 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a,
-+
-+ 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,
-+ 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70,
-+ 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05,
-+ 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
-+
-+ 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039,
-+ 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1,
-+ 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
-+ 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391
-+ };
-+
-+ for (i = 0; i < 4; i++)
-+ Reg[i] = Buf[i];
-+
-+ // 64 steps in MD5 algorithm
-+ for (i = 0; i < 16; i++) {
-+ MD5Step(MD5_F1, Reg[0], Reg[1], Reg[2], Reg[3], Mes[i],
-+ MD5Table[i], LShiftVal[i & 0x3]);
-+
-+ // one-word right shift
-+ Temp = Reg[3];
-+ Reg[3] = Reg[2];
-+ Reg[2] = Reg[1];
-+ Reg[1] = Reg[0];
-+ Reg[0] = Temp;
-+ }
-+ for (i = 16; i < 32; i++) {
-+ MD5Step(MD5_F2, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Mes[(5 * (i & 0xf) + 1) & 0xf], MD5Table[i],
-+ LShiftVal[(0x1 << 2) + (i & 0x3)]);
-+
-+ // one-word right shift
-+ Temp = Reg[3];
-+ Reg[3] = Reg[2];
-+ Reg[2] = Reg[1];
-+ Reg[1] = Reg[0];
-+ Reg[0] = Temp;
-+ }
-+ for (i = 32; i < 48; i++) {
-+ MD5Step(MD5_F3, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Mes[(3 * (i & 0xf) + 5) & 0xf], MD5Table[i],
-+ LShiftVal[(0x1 << 3) + (i & 0x3)]);
-+
-+ // one-word right shift
-+ Temp = Reg[3];
-+ Reg[3] = Reg[2];
-+ Reg[2] = Reg[1];
-+ Reg[1] = Reg[0];
-+ Reg[0] = Temp;
-+ }
-+ for (i = 48; i < 64; i++) {
-+ MD5Step(MD5_F4, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Mes[(7 * (i & 0xf)) & 0xf], MD5Table[i],
-+ LShiftVal[(0x3 << 2) + (i & 0x3)]);
-+
-+ // one-word right shift
-+ Temp = Reg[3];
-+ Reg[3] = Reg[2];
-+ Reg[2] = Reg[1];
-+ Reg[1] = Reg[0];
-+ Reg[0] = Temp;
-+ }
-+
-+ // (temporary)output
-+ for (i = 0; i < 4; i++)
-+ Buf[i] += Reg[i];
- }
-
--//#ifndef ASM_MD5
--#if 1
-+/* ========================= SHA-1 implementation ========================== */
-+// four base functions for SHA-1
-+#define SHA1_F1(b, c, d) (((b) & (c)) | ((~b) & (d)))
-+#define SHA1_F2(b, c, d) ((b) ^ (c) ^ (d))
-+#define SHA1_F3(b, c, d) (((b) & (c)) | ((b) & (d)) | ((c) & (d)))
-+
-+#define SHA1Step(f, a, b, c, d, e, w, k) \
-+ ( e += ( f(b, c, d) + w + k + CYCLIC_LEFT_SHIFT(a, 5)) & 0xffffffff, \
-+ b = CYCLIC_LEFT_SHIFT(b, 30) )
-
--/* The four core functions - F1 is optimized somewhat */
--
--/* #define F1(x, y, z) (x & y | ~x & z) */
--#define F1(x, y, z) (z ^ (x & (y ^ z)))
--#define F2(x, y, z) F1(z, x, y)
--#define F3(x, y, z) (x ^ y ^ z)
--#define F4(x, y, z) (y ^ (x | ~z))
-+//Initiate SHA-1 Context satisfied in RFC 3174
-+VOID SHAInit(SHA_CTX * pCtx)
-+{
-+ pCtx->Buf[0] = 0x67452301;
-+ pCtx->Buf[1] = 0xefcdab89;
-+ pCtx->Buf[2] = 0x98badcfe;
-+ pCtx->Buf[3] = 0x10325476;
-+ pCtx->Buf[4] = 0xc3d2e1f0;
-
--/* This is the central step in the MD5 algorithm. */
--#define MD5STEP(f, w, x, y, z, data, s) \
-- ( w += f(x, y, z) + data, w =( w<<s | w>>(32-s))&0xffffffff, w += x )
-+ pCtx->LenInBitCount[0] = 0;
-+ pCtx->LenInBitCount[1] = 0;
-+}
-
- /*
-- * The core of the MD5 algorithm, this alters an existing MD5 hash to
-- * reflect the addition of 16 longwords of new data. MD5Update blocks
-- * the data and converts bytes into longwords for this routine.
-+ * Function Description:
-+ * Update SHA-1 Context, allow of an arrary of octets as the next
-+ * portion of the message
-+ *
-+ * Arguments:
-+ * pCtx Pointer to SHA-1 context
-+ * pData Pointer to input data
-+ * LenInBytes The length of input data (unit: byte)
-+ *
-+ * Return Value:
-+ * error indicate more than pow(2,64) bits of data
-+ *
-+ * Note:
-+ * Called after SHAInit or SHAUpdate(itself)
- */
--void MD5Transform(u32 buf[4], u32 in[16])
-+UCHAR SHAUpdate(SHA_CTX * pCtx, UCHAR * pData, ULONG LenInBytes)
- {
-- register u32 a, b, c, d;
-+ ULONG TfTimes;
-+ ULONG temp1, temp2;
-+ unsigned int i;
-+ UCHAR err = 1;
-+
-+ temp1 = pCtx->LenInBitCount[0];
-+ temp2 = pCtx->LenInBitCount[1];
-+
-+ pCtx->LenInBitCount[0] =
-+ (ULONG) (pCtx->LenInBitCount[0] + (LenInBytes << 3));
-+ if (pCtx->LenInBitCount[0] < temp1)
-+ pCtx->LenInBitCount[1]++; //carry in
-+
-+ pCtx->LenInBitCount[1] =
-+ (ULONG) (pCtx->LenInBitCount[1] + (LenInBytes >> 29));
-+ if (pCtx->LenInBitCount[1] < temp2)
-+ return (err); //check total length of original data
-+
-+ // mod 64 bytes
-+ temp1 = (temp1 >> 3) & 0x3f;
-+
-+ // process lacks of 64-byte data
-+ if (temp1) {
-+ UCHAR *pAds = (UCHAR *) pCtx->Input + temp1;
-+
-+ if ((temp1 + LenInBytes) < 64) {
-+ memcpy(pAds, (UCHAR *) pData, LenInBytes);
-+ return (0);
-+ }
-+
-+ memcpy(pAds, (UCHAR *) pData, 64 - temp1);
-+ byteReverse((UCHAR *) pCtx->Input, 16);
-+
-+ memset((UCHAR *) pCtx->Input + 64, 0, 16);
-+ SHATransform(pCtx->Buf, (ULONG *) pCtx->Input);
-+
-+ pData += 64 - temp1;
-+ LenInBytes -= 64 - temp1;
-+ } // end of if (temp1)
-+
-+ TfTimes = (LenInBytes >> 6);
-+
-+ for (i = TfTimes; i > 0; i--) {
-+ memcpy(pCtx->Input, (UCHAR *) pData, 64);
-+ byteReverse((UCHAR *) pCtx->Input, 16);
-+
-+ memset((UCHAR *) pCtx->Input + 64, 0, 16);
-+ SHATransform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ pData += 64;
-+ LenInBytes -= 64;
-+ } // end of for
-+
-+ // buffering lacks of 64-byte data
-+ if (LenInBytes)
-+ memcpy(pCtx->Input, (UCHAR *) pData, LenInBytes);
-
-- a = buf[0];
-- b = buf[1];
-- c = buf[2];
-- d = buf[3];
--
-- MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
-- MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
-- MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
-- MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
-- MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
-- MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
-- MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
-- MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
-- MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
-- MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
-- MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
-- MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
-- MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
-- MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
-- MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
-- MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
--
-- MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
-- MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
-- MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
-- MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
-- MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
-- MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
-- MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
-- MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
-- MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
-- MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
-- MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
-- MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
-- MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
-- MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
-- MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
-- MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
--
-- MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
-- MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
-- MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
-- MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
-- MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
-- MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
-- MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
-- MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
-- MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
-- MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
-- MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
-- MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
-- MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
-- MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
-- MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
-- MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
--
-- MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
-- MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
-- MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
-- MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
-- MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
-- MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
-- MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
-- MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
-- MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
-- MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
-- MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
-- MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
-- MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
-- MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
-- MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
-- MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
--
-- buf[0] += a;
-- buf[1] += b;
-- buf[2] += c;
-- buf[3] += d;
-+ return (0);
- }
--#endif
-
--void SHAInit(SHA_CTX *ctx) {
-- int i;
--
-- ctx->lenW = 0;
-- ctx->sizeHi = ctx->sizeLo = 0;
--
-- /* Initialize H with the magic constants (see FIPS180 for constants)
-- */
-- ctx->H[0] = 0x67452301L;
-- ctx->H[1] = 0xefcdab89L;
-- ctx->H[2] = 0x98badcfeL;
-- ctx->H[3] = 0x10325476L;
-- ctx->H[4] = 0xc3d2e1f0L;
--
-- for (i = 0; i < 80; i++)
-- ctx->W[i] = 0;
-- }
--
--#define SHA_ROTL(X,n) ((((X) << (n)) | ((X) >> (32-(n)))) & 0xffffffffL)
--
--void SHAHashBlock(SHA_CTX *ctx) {
-- int t;
-- unsigned long A,B,C,D,E,TEMP;
--
-- for (t = 16; t <= 79; t++)
-- ctx->W[t] = SHA_ROTL(ctx->W[t-3] ^ ctx->W[t-8] ^ ctx->W[t-14] ^ ctx->W[t-16], 1);
--
-- A = ctx->H[0];
-- B = ctx->H[1];
-- C = ctx->H[2];
-- D = ctx->H[3];
-- E = ctx->H[4];
--
-- for (t = 0; t <= 19; t++) {
-- TEMP = (SHA_ROTL(A,5) + (((C^D)&B)^D) + E + ctx->W[t] + 0x5a827999L) & 0xffffffffL;
-- E = D; D = C; C = SHA_ROTL(B, 30); B = A; A = TEMP;
-- }
-- for (t = 20; t <= 39; t++) {
-- TEMP = (SHA_ROTL(A,5) + (B^C^D) + E + ctx->W[t] + 0x6ed9eba1L) & 0xffffffffL;
-- E = D; D = C; C = SHA_ROTL(B, 30); B = A; A = TEMP;
-- }
-- for (t = 40; t <= 59; t++) {
-- TEMP = (SHA_ROTL(A,5) + ((B&C)|(D&(B|C))) + E + ctx->W[t] + 0x8f1bbcdcL) & 0xffffffffL;
-- E = D; D = C; C = SHA_ROTL(B, 30); B = A; A = TEMP;
-- }
-- for (t = 60; t <= 79; t++) {
-- TEMP = (SHA_ROTL(A,5) + (B^C^D) + E + ctx->W[t] + 0xca62c1d6L) & 0xffffffffL;
-- E = D; D = C; C = SHA_ROTL(B, 30); B = A; A = TEMP;
-- }
--
-- ctx->H[0] += A;
-- ctx->H[1] += B;
-- ctx->H[2] += C;
-- ctx->H[3] += D;
-- ctx->H[4] += E;
-+// Append padding bits and length of original message in the tail
-+// The message digest has to be completed in the end
-+VOID SHAFinal(SHA_CTX * pCtx, UCHAR Digest[20])
-+{
-+ UCHAR Remainder;
-+ UCHAR PadLenInBytes;
-+ UCHAR *pAppend = 0;
-+ unsigned int i;
-+
-+ Remainder = (UCHAR) ((pCtx->LenInBitCount[0] >> 3) & 0x3f);
-+
-+ pAppend = (UCHAR *) pCtx->Input + Remainder;
-+
-+ PadLenInBytes = (Remainder < 56) ? (56 - Remainder) : (120 - Remainder);
-+
-+ // padding bits without crossing block(64-byte based) boundary
-+ if (Remainder < 56) {
-+ *pAppend = 0x80;
-+ PadLenInBytes--;
-+
-+ memset((UCHAR *) pCtx->Input + Remainder + 1, 0,
-+ PadLenInBytes);
-+
-+ // add data-length field, from high to low
-+ for (i = 0; i < 4; i++) {
-+ pCtx->Input[56 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[1] >> ((3 - i) << 3)) &
-+ 0xff);
-+ pCtx->Input[60 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[0] >> ((3 - i) << 3)) &
-+ 0xff);
-+ }
-+
-+ byteReverse((UCHAR *) pCtx->Input, 16);
-+ memset((UCHAR *) pCtx->Input + 64, 0, 14);
-+ SHATransform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ } // end of if
-+
-+ // padding bits with crossing block(64-byte based) boundary
-+ else {
-+ // the first block ===
-+ *pAppend = 0x80;
-+ PadLenInBytes--;
-+
-+ memset((UCHAR *) pCtx->Input + Remainder + 1, 0,
-+ (64 - Remainder - 1));
-+ PadLenInBytes -= (64 - Remainder - 1);
-+
-+ byteReverse((UCHAR *) pCtx->Input, 16);
-+ memset((UCHAR *) pCtx->Input + 64, 0, 16);
-+ SHATransform(pCtx->Buf, (ULONG *) pCtx->Input);
-+
-+ // the second block ===
-+ memset((UCHAR *) pCtx->Input, 0, PadLenInBytes);
-+
-+ // add data-length field
-+ for (i = 0; i < 4; i++) {
-+ pCtx->Input[56 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[1] >> ((3 - i) << 3)) &
-+ 0xff);
-+ pCtx->Input[60 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[0] >> ((3 - i) << 3)) &
-+ 0xff);
-+ }
-+
-+ byteReverse((UCHAR *) pCtx->Input, 16);
-+ memset((UCHAR *) pCtx->Input + 64, 0, 16);
-+ SHATransform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ } // end of else
-+
-+ //Output, bytereverse
-+ for (i = 0; i < 20; i++) {
-+ Digest[i] = (UCHAR) (pCtx->Buf[i >> 2] >> 8 * (3 - (i & 0x3)));
-+ }
-+
-+ memset(pCtx, 0, sizeof(pCtx)); // memory free
- }
-
--void SHAUpdate(SHA_CTX *ctx, unsigned char *dataIn, int len)
-+// The central algorithm of SHA-1, consists of four rounds and
-+// twenty steps per round
-+VOID SHATransform(ULONG Buf[5], ULONG Mes[20])
- {
-- int i;
--
-- /* Read the data into W and process blocks as they get full
-- */
-- for (i = 0; i < len; i++) {
-- ctx->W[ctx->lenW / 4] <<= 8;
-- ctx->W[ctx->lenW / 4] |= (unsigned long)dataIn[i];
-- if ((++ctx->lenW) % 64 == 0) {
-- SHAHashBlock(ctx);
-- ctx->lenW = 0;
-- }
-- ctx->sizeLo += 8;
-- ctx->sizeHi += (ctx->sizeLo < 8);
-- }
-+ ULONG Reg[5], Temp;
-+ unsigned int i;
-+ ULONG W[80];
-+
-+ static ULONG SHA1Table[4] = { 0x5a827999, 0x6ed9eba1,
-+ 0x8f1bbcdc, 0xca62c1d6
-+ };
-+
-+ Reg[0] = Buf[0];
-+ Reg[1] = Buf[1];
-+ Reg[2] = Buf[2];
-+ Reg[3] = Buf[3];
-+ Reg[4] = Buf[4];
-+
-+ //the first octet of a word is stored in the 0th element, bytereverse
-+ for (i = 0; i < 16; i++) {
-+ W[i] = (Mes[i] >> 24) & 0xff;
-+ W[i] |= (Mes[i] >> 8) & 0xff00;
-+ W[i] |= (Mes[i] << 8) & 0xff0000;
-+ W[i] |= (Mes[i] << 24) & 0xff000000;
-+ }
-+
-+ for (i = 0; i < 64; i++)
-+ W[16 + i] =
-+ CYCLIC_LEFT_SHIFT(W[i] ^ W[2 + i] ^ W[8 + i] ^ W[13 + i],
-+ 1);
-+
-+ // 80 steps in SHA-1 algorithm
-+ for (i = 0; i < 80; i++) {
-+ if (i < 20)
-+ SHA1Step(SHA1_F1, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Reg[4], W[i], SHA1Table[0]);
-+
-+ else if (i >= 20 && i < 40)
-+ SHA1Step(SHA1_F2, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Reg[4], W[i], SHA1Table[1]);
-+
-+ else if (i >= 40 && i < 60)
-+ SHA1Step(SHA1_F3, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Reg[4], W[i], SHA1Table[2]);
-+
-+ else
-+ SHA1Step(SHA1_F2, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Reg[4], W[i], SHA1Table[3]);
-+
-+ // one-word right shift
-+ Temp = Reg[4];
-+ Reg[4] = Reg[3];
-+ Reg[3] = Reg[2];
-+ Reg[2] = Reg[1];
-+ Reg[1] = Reg[0];
-+ Reg[0] = Temp;
-+
-+ } // end of for-loop
-+
-+ // (temporary)output
-+ for (i = 0; i < 5; i++)
-+ Buf[i] += Reg[i];
- }
-
--
--void SHAFinal(SHA_CTX *ctx, unsigned char hashout[20]) {
-- unsigned char pad0x80 = 0x80;
-- unsigned char pad0x00 = 0x00;
-- unsigned char padlen[8];
-- int i;
--
-- /* Pad with a binary 1 (e.g. 0x80), then zeroes, then length
-- */
-- padlen[0] = (unsigned char)((ctx->sizeHi >> 24) & 255);
-- padlen[1] = (unsigned char)((ctx->sizeHi >> 16) & 255);
-- padlen[2] = (unsigned char)((ctx->sizeHi >> 8) & 255);
-- padlen[3] = (unsigned char)((ctx->sizeHi >> 0) & 255);
-- padlen[4] = (unsigned char)((ctx->sizeLo >> 24) & 255);
-- padlen[5] = (unsigned char)((ctx->sizeLo >> 16) & 255);
-- padlen[6] = (unsigned char)((ctx->sizeLo >> 8) & 255);
-- padlen[7] = (unsigned char)((ctx->sizeLo >> 0) & 255);
-- SHAUpdate(ctx, &pad0x80, 1);
-- while (ctx->lenW != 56)
-- SHAUpdate(ctx, &pad0x00, 1);
-- SHAUpdate(ctx, padlen, 8);
--
-- /* Output hash
-- */
-- for (i = 0; i < 20; i++) {
-- hashout[i] = (unsigned char)(ctx->H[i / 4] >> 24);
-- ctx->H[i / 4] <<= 8;
-- }
--
-- /*
-- * Re-initialize the context (also zeroizes contents)
-- */
-- SHAInit(ctx);
--}
-+/* ========================= AES En/Decryption ========================== */
-
- /* forward S-box */
--
--static uint32 FSb[256] =
--{
-- 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5,
-- 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76,
-- 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0,
-- 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0,
-- 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC,
-- 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15,
-- 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A,
-- 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75,
-- 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0,
-- 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84,
-- 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B,
-- 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF,
-- 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85,
-- 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8,
-- 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5,
-- 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2,
-- 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17,
-- 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73,
-- 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88,
-- 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB,
-- 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C,
-- 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79,
-- 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9,
-- 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08,
-- 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6,
-- 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A,
-- 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E,
-- 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E,
-- 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94,
-- 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF,
-- 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68,
-- 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16
-+static uint32 FSb[256] = {
-+ 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5,
-+ 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76,
-+ 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0,
-+ 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0,
-+ 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC,
-+ 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15,
-+ 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A,
-+ 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75,
-+ 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0,
-+ 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84,
-+ 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B,
-+ 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF,
-+ 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85,
-+ 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8,
-+ 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5,
-+ 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2,
-+ 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17,
-+ 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73,
-+ 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88,
-+ 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB,
-+ 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C,
-+ 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79,
-+ 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9,
-+ 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08,
-+ 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6,
-+ 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A,
-+ 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E,
-+ 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E,
-+ 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94,
-+ 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF,
-+ 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68,
-+ 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16
- };
-
- /* forward table */
--
--#define FT \
-+#define FT \
- \
-- V(C6,63,63,A5), V(F8,7C,7C,84), V(EE,77,77,99), V(F6,7B,7B,8D), \
-- V(FF,F2,F2,0D), V(D6,6B,6B,BD), V(DE,6F,6F,B1), V(91,C5,C5,54), \
-- V(60,30,30,50), V(02,01,01,03), V(CE,67,67,A9), V(56,2B,2B,7D), \
-- V(E7,FE,FE,19), V(B5,D7,D7,62), V(4D,AB,AB,E6), V(EC,76,76,9A), \
-- V(8F,CA,CA,45), V(1F,82,82,9D), V(89,C9,C9,40), V(FA,7D,7D,87), \
-- V(EF,FA,FA,15), V(B2,59,59,EB), V(8E,47,47,C9), V(FB,F0,F0,0B), \
-- V(41,AD,AD,EC), V(B3,D4,D4,67), V(5F,A2,A2,FD), V(45,AF,AF,EA), \
-- V(23,9C,9C,BF), V(53,A4,A4,F7), V(E4,72,72,96), V(9B,C0,C0,5B), \
-- V(75,B7,B7,C2), V(E1,FD,FD,1C), V(3D,93,93,AE), V(4C,26,26,6A), \
-- V(6C,36,36,5A), V(7E,3F,3F,41), V(F5,F7,F7,02), V(83,CC,CC,4F), \
-- V(68,34,34,5C), V(51,A5,A5,F4), V(D1,E5,E5,34), V(F9,F1,F1,08), \
-- V(E2,71,71,93), V(AB,D8,D8,73), V(62,31,31,53), V(2A,15,15,3F), \
-- V(08,04,04,0C), V(95,C7,C7,52), V(46,23,23,65), V(9D,C3,C3,5E), \
-- V(30,18,18,28), V(37,96,96,A1), V(0A,05,05,0F), V(2F,9A,9A,B5), \
-- V(0E,07,07,09), V(24,12,12,36), V(1B,80,80,9B), V(DF,E2,E2,3D), \
-- V(CD,EB,EB,26), V(4E,27,27,69), V(7F,B2,B2,CD), V(EA,75,75,9F), \
-- V(12,09,09,1B), V(1D,83,83,9E), V(58,2C,2C,74), V(34,1A,1A,2E), \
-- V(36,1B,1B,2D), V(DC,6E,6E,B2), V(B4,5A,5A,EE), V(5B,A0,A0,FB), \
-- V(A4,52,52,F6), V(76,3B,3B,4D), V(B7,D6,D6,61), V(7D,B3,B3,CE), \
-- V(52,29,29,7B), V(DD,E3,E3,3E), V(5E,2F,2F,71), V(13,84,84,97), \
-- V(A6,53,53,F5), V(B9,D1,D1,68), V(00,00,00,00), V(C1,ED,ED,2C), \
-- V(40,20,20,60), V(E3,FC,FC,1F), V(79,B1,B1,C8), V(B6,5B,5B,ED), \
-- V(D4,6A,6A,BE), V(8D,CB,CB,46), V(67,BE,BE,D9), V(72,39,39,4B), \
-- V(94,4A,4A,DE), V(98,4C,4C,D4), V(B0,58,58,E8), V(85,CF,CF,4A), \
-- V(BB,D0,D0,6B), V(C5,EF,EF,2A), V(4F,AA,AA,E5), V(ED,FB,FB,16), \
-- V(86,43,43,C5), V(9A,4D,4D,D7), V(66,33,33,55), V(11,85,85,94), \
-- V(8A,45,45,CF), V(E9,F9,F9,10), V(04,02,02,06), V(FE,7F,7F,81), \
-- V(A0,50,50,F0), V(78,3C,3C,44), V(25,9F,9F,BA), V(4B,A8,A8,E3), \
-- V(A2,51,51,F3), V(5D,A3,A3,FE), V(80,40,40,C0), V(05,8F,8F,8A), \
-- V(3F,92,92,AD), V(21,9D,9D,BC), V(70,38,38,48), V(F1,F5,F5,04), \
-- V(63,BC,BC,DF), V(77,B6,B6,C1), V(AF,DA,DA,75), V(42,21,21,63), \
-- V(20,10,10,30), V(E5,FF,FF,1A), V(FD,F3,F3,0E), V(BF,D2,D2,6D), \
-- V(81,CD,CD,4C), V(18,0C,0C,14), V(26,13,13,35), V(C3,EC,EC,2F), \
-- V(BE,5F,5F,E1), V(35,97,97,A2), V(88,44,44,CC), V(2E,17,17,39), \
-- V(93,C4,C4,57), V(55,A7,A7,F2), V(FC,7E,7E,82), V(7A,3D,3D,47), \
-- V(C8,64,64,AC), V(BA,5D,5D,E7), V(32,19,19,2B), V(E6,73,73,95), \
-- V(C0,60,60,A0), V(19,81,81,98), V(9E,4F,4F,D1), V(A3,DC,DC,7F), \
-- V(44,22,22,66), V(54,2A,2A,7E), V(3B,90,90,AB), V(0B,88,88,83), \
-- V(8C,46,46,CA), V(C7,EE,EE,29), V(6B,B8,B8,D3), V(28,14,14,3C), \
-- V(A7,DE,DE,79), V(BC,5E,5E,E2), V(16,0B,0B,1D), V(AD,DB,DB,76), \
-- V(DB,E0,E0,3B), V(64,32,32,56), V(74,3A,3A,4E), V(14,0A,0A,1E), \
-- V(92,49,49,DB), V(0C,06,06,0A), V(48,24,24,6C), V(B8,5C,5C,E4), \
-- V(9F,C2,C2,5D), V(BD,D3,D3,6E), V(43,AC,AC,EF), V(C4,62,62,A6), \
-- V(39,91,91,A8), V(31,95,95,A4), V(D3,E4,E4,37), V(F2,79,79,8B), \
-- V(D5,E7,E7,32), V(8B,C8,C8,43), V(6E,37,37,59), V(DA,6D,6D,B7), \
-- V(01,8D,8D,8C), V(B1,D5,D5,64), V(9C,4E,4E,D2), V(49,A9,A9,E0), \
-- V(D8,6C,6C,B4), V(AC,56,56,FA), V(F3,F4,F4,07), V(CF,EA,EA,25), \
-- V(CA,65,65,AF), V(F4,7A,7A,8E), V(47,AE,AE,E9), V(10,08,08,18), \
-- V(6F,BA,BA,D5), V(F0,78,78,88), V(4A,25,25,6F), V(5C,2E,2E,72), \
-- V(38,1C,1C,24), V(57,A6,A6,F1), V(73,B4,B4,C7), V(97,C6,C6,51), \
-- V(CB,E8,E8,23), V(A1,DD,DD,7C), V(E8,74,74,9C), V(3E,1F,1F,21), \
-- V(96,4B,4B,DD), V(61,BD,BD,DC), V(0D,8B,8B,86), V(0F,8A,8A,85), \
-- V(E0,70,70,90), V(7C,3E,3E,42), V(71,B5,B5,C4), V(CC,66,66,AA), \
-- V(90,48,48,D8), V(06,03,03,05), V(F7,F6,F6,01), V(1C,0E,0E,12), \
-- V(C2,61,61,A3), V(6A,35,35,5F), V(AE,57,57,F9), V(69,B9,B9,D0), \
-- V(17,86,86,91), V(99,C1,C1,58), V(3A,1D,1D,27), V(27,9E,9E,B9), \
-- V(D9,E1,E1,38), V(EB,F8,F8,13), V(2B,98,98,B3), V(22,11,11,33), \
-- V(D2,69,69,BB), V(A9,D9,D9,70), V(07,8E,8E,89), V(33,94,94,A7), \
-- V(2D,9B,9B,B6), V(3C,1E,1E,22), V(15,87,87,92), V(C9,E9,E9,20), \
-- V(87,CE,CE,49), V(AA,55,55,FF), V(50,28,28,78), V(A5,DF,DF,7A), \
-- V(03,8C,8C,8F), V(59,A1,A1,F8), V(09,89,89,80), V(1A,0D,0D,17), \
-- V(65,BF,BF,DA), V(D7,E6,E6,31), V(84,42,42,C6), V(D0,68,68,B8), \
-- V(82,41,41,C3), V(29,99,99,B0), V(5A,2D,2D,77), V(1E,0F,0F,11), \
-- V(7B,B0,B0,CB), V(A8,54,54,FC), V(6D,BB,BB,D6), V(2C,16,16,3A)
-+ V(C6,63,63,A5), V(F8,7C,7C,84), V(EE,77,77,99), V(F6,7B,7B,8D), \
-+ V(FF,F2,F2,0D), V(D6,6B,6B,BD), V(DE,6F,6F,B1), V(91,C5,C5,54), \
-+ V(60,30,30,50), V(02,01,01,03), V(CE,67,67,A9), V(56,2B,2B,7D), \
-+ V(E7,FE,FE,19), V(B5,D7,D7,62), V(4D,AB,AB,E6), V(EC,76,76,9A), \
-+ V(8F,CA,CA,45), V(1F,82,82,9D), V(89,C9,C9,40), V(FA,7D,7D,87), \
-+ V(EF,FA,FA,15), V(B2,59,59,EB), V(8E,47,47,C9), V(FB,F0,F0,0B), \
-+ V(41,AD,AD,EC), V(B3,D4,D4,67), V(5F,A2,A2,FD), V(45,AF,AF,EA), \
-+ V(23,9C,9C,BF), V(53,A4,A4,F7), V(E4,72,72,96), V(9B,C0,C0,5B), \
-+ V(75,B7,B7,C2), V(E1,FD,FD,1C), V(3D,93,93,AE), V(4C,26,26,6A), \
-+ V(6C,36,36,5A), V(7E,3F,3F,41), V(F5,F7,F7,02), V(83,CC,CC,4F), \
-+ V(68,34,34,5C), V(51,A5,A5,F4), V(D1,E5,E5,34), V(F9,F1,F1,08), \
-+ V(E2,71,71,93), V(AB,D8,D8,73), V(62,31,31,53), V(2A,15,15,3F), \
-+ V(08,04,04,0C), V(95,C7,C7,52), V(46,23,23,65), V(9D,C3,C3,5E), \
-+ V(30,18,18,28), V(37,96,96,A1), V(0A,05,05,0F), V(2F,9A,9A,B5), \
-+ V(0E,07,07,09), V(24,12,12,36), V(1B,80,80,9B), V(DF,E2,E2,3D), \
-+ V(CD,EB,EB,26), V(4E,27,27,69), V(7F,B2,B2,CD), V(EA,75,75,9F), \
-+ V(12,09,09,1B), V(1D,83,83,9E), V(58,2C,2C,74), V(34,1A,1A,2E), \
-+ V(36,1B,1B,2D), V(DC,6E,6E,B2), V(B4,5A,5A,EE), V(5B,A0,A0,FB), \
-+ V(A4,52,52,F6), V(76,3B,3B,4D), V(B7,D6,D6,61), V(7D,B3,B3,CE), \
-+ V(52,29,29,7B), V(DD,E3,E3,3E), V(5E,2F,2F,71), V(13,84,84,97), \
-+ V(A6,53,53,F5), V(B9,D1,D1,68), V(00,00,00,00), V(C1,ED,ED,2C), \
-+ V(40,20,20,60), V(E3,FC,FC,1F), V(79,B1,B1,C8), V(B6,5B,5B,ED), \
-+ V(D4,6A,6A,BE), V(8D,CB,CB,46), V(67,BE,BE,D9), V(72,39,39,4B), \
-+ V(94,4A,4A,DE), V(98,4C,4C,D4), V(B0,58,58,E8), V(85,CF,CF,4A), \
-+ V(BB,D0,D0,6B), V(C5,EF,EF,2A), V(4F,AA,AA,E5), V(ED,FB,FB,16), \
-+ V(86,43,43,C5), V(9A,4D,4D,D7), V(66,33,33,55), V(11,85,85,94), \
-+ V(8A,45,45,CF), V(E9,F9,F9,10), V(04,02,02,06), V(FE,7F,7F,81), \
-+ V(A0,50,50,F0), V(78,3C,3C,44), V(25,9F,9F,BA), V(4B,A8,A8,E3), \
-+ V(A2,51,51,F3), V(5D,A3,A3,FE), V(80,40,40,C0), V(05,8F,8F,8A), \
-+ V(3F,92,92,AD), V(21,9D,9D,BC), V(70,38,38,48), V(F1,F5,F5,04), \
-+ V(63,BC,BC,DF), V(77,B6,B6,C1), V(AF,DA,DA,75), V(42,21,21,63), \
-+ V(20,10,10,30), V(E5,FF,FF,1A), V(FD,F3,F3,0E), V(BF,D2,D2,6D), \
-+ V(81,CD,CD,4C), V(18,0C,0C,14), V(26,13,13,35), V(C3,EC,EC,2F), \
-+ V(BE,5F,5F,E1), V(35,97,97,A2), V(88,44,44,CC), V(2E,17,17,39), \
-+ V(93,C4,C4,57), V(55,A7,A7,F2), V(FC,7E,7E,82), V(7A,3D,3D,47), \
-+ V(C8,64,64,AC), V(BA,5D,5D,E7), V(32,19,19,2B), V(E6,73,73,95), \
-+ V(C0,60,60,A0), V(19,81,81,98), V(9E,4F,4F,D1), V(A3,DC,DC,7F), \
-+ V(44,22,22,66), V(54,2A,2A,7E), V(3B,90,90,AB), V(0B,88,88,83), \
-+ V(8C,46,46,CA), V(C7,EE,EE,29), V(6B,B8,B8,D3), V(28,14,14,3C), \
-+ V(A7,DE,DE,79), V(BC,5E,5E,E2), V(16,0B,0B,1D), V(AD,DB,DB,76), \
-+ V(DB,E0,E0,3B), V(64,32,32,56), V(74,3A,3A,4E), V(14,0A,0A,1E), \
-+ V(92,49,49,DB), V(0C,06,06,0A), V(48,24,24,6C), V(B8,5C,5C,E4), \
-+ V(9F,C2,C2,5D), V(BD,D3,D3,6E), V(43,AC,AC,EF), V(C4,62,62,A6), \
-+ V(39,91,91,A8), V(31,95,95,A4), V(D3,E4,E4,37), V(F2,79,79,8B), \
-+ V(D5,E7,E7,32), V(8B,C8,C8,43), V(6E,37,37,59), V(DA,6D,6D,B7), \
-+ V(01,8D,8D,8C), V(B1,D5,D5,64), V(9C,4E,4E,D2), V(49,A9,A9,E0), \
-+ V(D8,6C,6C,B4), V(AC,56,56,FA), V(F3,F4,F4,07), V(CF,EA,EA,25), \
-+ V(CA,65,65,AF), V(F4,7A,7A,8E), V(47,AE,AE,E9), V(10,08,08,18), \
-+ V(6F,BA,BA,D5), V(F0,78,78,88), V(4A,25,25,6F), V(5C,2E,2E,72), \
-+ V(38,1C,1C,24), V(57,A6,A6,F1), V(73,B4,B4,C7), V(97,C6,C6,51), \
-+ V(CB,E8,E8,23), V(A1,DD,DD,7C), V(E8,74,74,9C), V(3E,1F,1F,21), \
-+ V(96,4B,4B,DD), V(61,BD,BD,DC), V(0D,8B,8B,86), V(0F,8A,8A,85), \
-+ V(E0,70,70,90), V(7C,3E,3E,42), V(71,B5,B5,C4), V(CC,66,66,AA), \
-+ V(90,48,48,D8), V(06,03,03,05), V(F7,F6,F6,01), V(1C,0E,0E,12), \
-+ V(C2,61,61,A3), V(6A,35,35,5F), V(AE,57,57,F9), V(69,B9,B9,D0), \
-+ V(17,86,86,91), V(99,C1,C1,58), V(3A,1D,1D,27), V(27,9E,9E,B9), \
-+ V(D9,E1,E1,38), V(EB,F8,F8,13), V(2B,98,98,B3), V(22,11,11,33), \
-+ V(D2,69,69,BB), V(A9,D9,D9,70), V(07,8E,8E,89), V(33,94,94,A7), \
-+ V(2D,9B,9B,B6), V(3C,1E,1E,22), V(15,87,87,92), V(C9,E9,E9,20), \
-+ V(87,CE,CE,49), V(AA,55,55,FF), V(50,28,28,78), V(A5,DF,DF,7A), \
-+ V(03,8C,8C,8F), V(59,A1,A1,F8), V(09,89,89,80), V(1A,0D,0D,17), \
-+ V(65,BF,BF,DA), V(D7,E6,E6,31), V(84,42,42,C6), V(D0,68,68,B8), \
-+ V(82,41,41,C3), V(29,99,99,B0), V(5A,2D,2D,77), V(1E,0F,0F,11), \
-+ V(7B,B0,B0,CB), V(A8,54,54,FC), V(6D,BB,BB,D6), V(2C,16,16,3A)
-
--#define V(a,b,c,d) 0x##a##b##c##d
-+#define V(a,b,c,d) 0x##a##b##c##d
- static uint32 FT0[256] = { FT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##d##a##b##c
-+#define V(a,b,c,d) 0x##d##a##b##c
- static uint32 FT1[256] = { FT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##c##d##a##b
-+#define V(a,b,c,d) 0x##c##d##a##b
- static uint32 FT2[256] = { FT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##b##c##d##a
-+#define V(a,b,c,d) 0x##b##c##d##a
- static uint32 FT3[256] = { FT };
-+
- #undef V
-
- #undef FT
-
- /* reverse S-box */
-
--static uint32 RSb[256] =
--{
-- 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38,
-- 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB,
-- 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87,
-- 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB,
-- 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D,
-- 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E,
-- 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2,
-- 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25,
-- 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16,
-- 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92,
-- 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA,
-- 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84,
-- 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A,
-- 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06,
-- 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02,
-- 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B,
-- 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA,
-- 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73,
-- 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85,
-- 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E,
-- 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89,
-- 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B,
-- 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20,
-- 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4,
-- 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31,
-- 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F,
-- 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D,
-- 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF,
-- 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0,
-- 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61,
-- 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26,
-- 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D
-+static uint32 RSb[256] = {
-+ 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38,
-+ 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB,
-+ 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87,
-+ 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB,
-+ 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D,
-+ 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E,
-+ 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2,
-+ 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25,
-+ 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16,
-+ 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92,
-+ 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA,
-+ 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84,
-+ 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A,
-+ 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06,
-+ 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02,
-+ 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B,
-+ 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA,
-+ 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73,
-+ 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85,
-+ 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E,
-+ 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89,
-+ 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B,
-+ 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20,
-+ 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4,
-+ 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31,
-+ 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F,
-+ 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D,
-+ 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF,
-+ 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0,
-+ 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61,
-+ 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26,
-+ 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D
- };
-
- /* reverse table */
-
--#define RT \
-+#define RT \
- \
-- V(51,F4,A7,50), V(7E,41,65,53), V(1A,17,A4,C3), V(3A,27,5E,96), \
-- V(3B,AB,6B,CB), V(1F,9D,45,F1), V(AC,FA,58,AB), V(4B,E3,03,93), \
-- V(20,30,FA,55), V(AD,76,6D,F6), V(88,CC,76,91), V(F5,02,4C,25), \
-- V(4F,E5,D7,FC), V(C5,2A,CB,D7), V(26,35,44,80), V(B5,62,A3,8F), \
-- V(DE,B1,5A,49), V(25,BA,1B,67), V(45,EA,0E,98), V(5D,FE,C0,E1), \
-- V(C3,2F,75,02), V(81,4C,F0,12), V(8D,46,97,A3), V(6B,D3,F9,C6), \
-- V(03,8F,5F,E7), V(15,92,9C,95), V(BF,6D,7A,EB), V(95,52,59,DA), \
-- V(D4,BE,83,2D), V(58,74,21,D3), V(49,E0,69,29), V(8E,C9,C8,44), \
-- V(75,C2,89,6A), V(F4,8E,79,78), V(99,58,3E,6B), V(27,B9,71,DD), \
-- V(BE,E1,4F,B6), V(F0,88,AD,17), V(C9,20,AC,66), V(7D,CE,3A,B4), \
-- V(63,DF,4A,18), V(E5,1A,31,82), V(97,51,33,60), V(62,53,7F,45), \
-- V(B1,64,77,E0), V(BB,6B,AE,84), V(FE,81,A0,1C), V(F9,08,2B,94), \
-- V(70,48,68,58), V(8F,45,FD,19), V(94,DE,6C,87), V(52,7B,F8,B7), \
-- V(AB,73,D3,23), V(72,4B,02,E2), V(E3,1F,8F,57), V(66,55,AB,2A), \
-- V(B2,EB,28,07), V(2F,B5,C2,03), V(86,C5,7B,9A), V(D3,37,08,A5), \
-- V(30,28,87,F2), V(23,BF,A5,B2), V(02,03,6A,BA), V(ED,16,82,5C), \
-- V(8A,CF,1C,2B), V(A7,79,B4,92), V(F3,07,F2,F0), V(4E,69,E2,A1), \
-- V(65,DA,F4,CD), V(06,05,BE,D5), V(D1,34,62,1F), V(C4,A6,FE,8A), \
-- V(34,2E,53,9D), V(A2,F3,55,A0), V(05,8A,E1,32), V(A4,F6,EB,75), \
-- V(0B,83,EC,39), V(40,60,EF,AA), V(5E,71,9F,06), V(BD,6E,10,51), \
-- V(3E,21,8A,F9), V(96,DD,06,3D), V(DD,3E,05,AE), V(4D,E6,BD,46), \
-- V(91,54,8D,B5), V(71,C4,5D,05), V(04,06,D4,6F), V(60,50,15,FF), \
-- V(19,98,FB,24), V(D6,BD,E9,97), V(89,40,43,CC), V(67,D9,9E,77), \
-- V(B0,E8,42,BD), V(07,89,8B,88), V(E7,19,5B,38), V(79,C8,EE,DB), \
-- V(A1,7C,0A,47), V(7C,42,0F,E9), V(F8,84,1E,C9), V(00,00,00,00), \
-- V(09,80,86,83), V(32,2B,ED,48), V(1E,11,70,AC), V(6C,5A,72,4E), \
-- V(FD,0E,FF,FB), V(0F,85,38,56), V(3D,AE,D5,1E), V(36,2D,39,27), \
-- V(0A,0F,D9,64), V(68,5C,A6,21), V(9B,5B,54,D1), V(24,36,2E,3A), \
-- V(0C,0A,67,B1), V(93,57,E7,0F), V(B4,EE,96,D2), V(1B,9B,91,9E), \
-- V(80,C0,C5,4F), V(61,DC,20,A2), V(5A,77,4B,69), V(1C,12,1A,16), \
-- V(E2,93,BA,0A), V(C0,A0,2A,E5), V(3C,22,E0,43), V(12,1B,17,1D), \
-- V(0E,09,0D,0B), V(F2,8B,C7,AD), V(2D,B6,A8,B9), V(14,1E,A9,C8), \
-- V(57,F1,19,85), V(AF,75,07,4C), V(EE,99,DD,BB), V(A3,7F,60,FD), \
-- V(F7,01,26,9F), V(5C,72,F5,BC), V(44,66,3B,C5), V(5B,FB,7E,34), \
-- V(8B,43,29,76), V(CB,23,C6,DC), V(B6,ED,FC,68), V(B8,E4,F1,63), \
-- V(D7,31,DC,CA), V(42,63,85,10), V(13,97,22,40), V(84,C6,11,20), \
-- V(85,4A,24,7D), V(D2,BB,3D,F8), V(AE,F9,32,11), V(C7,29,A1,6D), \
-- V(1D,9E,2F,4B), V(DC,B2,30,F3), V(0D,86,52,EC), V(77,C1,E3,D0), \
-- V(2B,B3,16,6C), V(A9,70,B9,99), V(11,94,48,FA), V(47,E9,64,22), \
-- V(A8,FC,8C,C4), V(A0,F0,3F,1A), V(56,7D,2C,D8), V(22,33,90,EF), \
-- V(87,49,4E,C7), V(D9,38,D1,C1), V(8C,CA,A2,FE), V(98,D4,0B,36), \
-- V(A6,F5,81,CF), V(A5,7A,DE,28), V(DA,B7,8E,26), V(3F,AD,BF,A4), \
-- V(2C,3A,9D,E4), V(50,78,92,0D), V(6A,5F,CC,9B), V(54,7E,46,62), \
-- V(F6,8D,13,C2), V(90,D8,B8,E8), V(2E,39,F7,5E), V(82,C3,AF,F5), \
-- V(9F,5D,80,BE), V(69,D0,93,7C), V(6F,D5,2D,A9), V(CF,25,12,B3), \
-- V(C8,AC,99,3B), V(10,18,7D,A7), V(E8,9C,63,6E), V(DB,3B,BB,7B), \
-- V(CD,26,78,09), V(6E,59,18,F4), V(EC,9A,B7,01), V(83,4F,9A,A8), \
-- V(E6,95,6E,65), V(AA,FF,E6,7E), V(21,BC,CF,08), V(EF,15,E8,E6), \
-- V(BA,E7,9B,D9), V(4A,6F,36,CE), V(EA,9F,09,D4), V(29,B0,7C,D6), \
-- V(31,A4,B2,AF), V(2A,3F,23,31), V(C6,A5,94,30), V(35,A2,66,C0), \
-- V(74,4E,BC,37), V(FC,82,CA,A6), V(E0,90,D0,B0), V(33,A7,D8,15), \
-- V(F1,04,98,4A), V(41,EC,DA,F7), V(7F,CD,50,0E), V(17,91,F6,2F), \
-- V(76,4D,D6,8D), V(43,EF,B0,4D), V(CC,AA,4D,54), V(E4,96,04,DF), \
-- V(9E,D1,B5,E3), V(4C,6A,88,1B), V(C1,2C,1F,B8), V(46,65,51,7F), \
-- V(9D,5E,EA,04), V(01,8C,35,5D), V(FA,87,74,73), V(FB,0B,41,2E), \
-- V(B3,67,1D,5A), V(92,DB,D2,52), V(E9,10,56,33), V(6D,D6,47,13), \
-- V(9A,D7,61,8C), V(37,A1,0C,7A), V(59,F8,14,8E), V(EB,13,3C,89), \
-- V(CE,A9,27,EE), V(B7,61,C9,35), V(E1,1C,E5,ED), V(7A,47,B1,3C), \
-- V(9C,D2,DF,59), V(55,F2,73,3F), V(18,14,CE,79), V(73,C7,37,BF), \
-- V(53,F7,CD,EA), V(5F,FD,AA,5B), V(DF,3D,6F,14), V(78,44,DB,86), \
-- V(CA,AF,F3,81), V(B9,68,C4,3E), V(38,24,34,2C), V(C2,A3,40,5F), \
-- V(16,1D,C3,72), V(BC,E2,25,0C), V(28,3C,49,8B), V(FF,0D,95,41), \
-- V(39,A8,01,71), V(08,0C,B3,DE), V(D8,B4,E4,9C), V(64,56,C1,90), \
-- V(7B,CB,84,61), V(D5,32,B6,70), V(48,6C,5C,74), V(D0,B8,57,42)
-+ V(51,F4,A7,50), V(7E,41,65,53), V(1A,17,A4,C3), V(3A,27,5E,96), \
-+ V(3B,AB,6B,CB), V(1F,9D,45,F1), V(AC,FA,58,AB), V(4B,E3,03,93), \
-+ V(20,30,FA,55), V(AD,76,6D,F6), V(88,CC,76,91), V(F5,02,4C,25), \
-+ V(4F,E5,D7,FC), V(C5,2A,CB,D7), V(26,35,44,80), V(B5,62,A3,8F), \
-+ V(DE,B1,5A,49), V(25,BA,1B,67), V(45,EA,0E,98), V(5D,FE,C0,E1), \
-+ V(C3,2F,75,02), V(81,4C,F0,12), V(8D,46,97,A3), V(6B,D3,F9,C6), \
-+ V(03,8F,5F,E7), V(15,92,9C,95), V(BF,6D,7A,EB), V(95,52,59,DA), \
-+ V(D4,BE,83,2D), V(58,74,21,D3), V(49,E0,69,29), V(8E,C9,C8,44), \
-+ V(75,C2,89,6A), V(F4,8E,79,78), V(99,58,3E,6B), V(27,B9,71,DD), \
-+ V(BE,E1,4F,B6), V(F0,88,AD,17), V(C9,20,AC,66), V(7D,CE,3A,B4), \
-+ V(63,DF,4A,18), V(E5,1A,31,82), V(97,51,33,60), V(62,53,7F,45), \
-+ V(B1,64,77,E0), V(BB,6B,AE,84), V(FE,81,A0,1C), V(F9,08,2B,94), \
-+ V(70,48,68,58), V(8F,45,FD,19), V(94,DE,6C,87), V(52,7B,F8,B7), \
-+ V(AB,73,D3,23), V(72,4B,02,E2), V(E3,1F,8F,57), V(66,55,AB,2A), \
-+ V(B2,EB,28,07), V(2F,B5,C2,03), V(86,C5,7B,9A), V(D3,37,08,A5), \
-+ V(30,28,87,F2), V(23,BF,A5,B2), V(02,03,6A,BA), V(ED,16,82,5C), \
-+ V(8A,CF,1C,2B), V(A7,79,B4,92), V(F3,07,F2,F0), V(4E,69,E2,A1), \
-+ V(65,DA,F4,CD), V(06,05,BE,D5), V(D1,34,62,1F), V(C4,A6,FE,8A), \
-+ V(34,2E,53,9D), V(A2,F3,55,A0), V(05,8A,E1,32), V(A4,F6,EB,75), \
-+ V(0B,83,EC,39), V(40,60,EF,AA), V(5E,71,9F,06), V(BD,6E,10,51), \
-+ V(3E,21,8A,F9), V(96,DD,06,3D), V(DD,3E,05,AE), V(4D,E6,BD,46), \
-+ V(91,54,8D,B5), V(71,C4,5D,05), V(04,06,D4,6F), V(60,50,15,FF), \
-+ V(19,98,FB,24), V(D6,BD,E9,97), V(89,40,43,CC), V(67,D9,9E,77), \
-+ V(B0,E8,42,BD), V(07,89,8B,88), V(E7,19,5B,38), V(79,C8,EE,DB), \
-+ V(A1,7C,0A,47), V(7C,42,0F,E9), V(F8,84,1E,C9), V(00,00,00,00), \
-+ V(09,80,86,83), V(32,2B,ED,48), V(1E,11,70,AC), V(6C,5A,72,4E), \
-+ V(FD,0E,FF,FB), V(0F,85,38,56), V(3D,AE,D5,1E), V(36,2D,39,27), \
-+ V(0A,0F,D9,64), V(68,5C,A6,21), V(9B,5B,54,D1), V(24,36,2E,3A), \
-+ V(0C,0A,67,B1), V(93,57,E7,0F), V(B4,EE,96,D2), V(1B,9B,91,9E), \
-+ V(80,C0,C5,4F), V(61,DC,20,A2), V(5A,77,4B,69), V(1C,12,1A,16), \
-+ V(E2,93,BA,0A), V(C0,A0,2A,E5), V(3C,22,E0,43), V(12,1B,17,1D), \
-+ V(0E,09,0D,0B), V(F2,8B,C7,AD), V(2D,B6,A8,B9), V(14,1E,A9,C8), \
-+ V(57,F1,19,85), V(AF,75,07,4C), V(EE,99,DD,BB), V(A3,7F,60,FD), \
-+ V(F7,01,26,9F), V(5C,72,F5,BC), V(44,66,3B,C5), V(5B,FB,7E,34), \
-+ V(8B,43,29,76), V(CB,23,C6,DC), V(B6,ED,FC,68), V(B8,E4,F1,63), \
-+ V(D7,31,DC,CA), V(42,63,85,10), V(13,97,22,40), V(84,C6,11,20), \
-+ V(85,4A,24,7D), V(D2,BB,3D,F8), V(AE,F9,32,11), V(C7,29,A1,6D), \
-+ V(1D,9E,2F,4B), V(DC,B2,30,F3), V(0D,86,52,EC), V(77,C1,E3,D0), \
-+ V(2B,B3,16,6C), V(A9,70,B9,99), V(11,94,48,FA), V(47,E9,64,22), \
-+ V(A8,FC,8C,C4), V(A0,F0,3F,1A), V(56,7D,2C,D8), V(22,33,90,EF), \
-+ V(87,49,4E,C7), V(D9,38,D1,C1), V(8C,CA,A2,FE), V(98,D4,0B,36), \
-+ V(A6,F5,81,CF), V(A5,7A,DE,28), V(DA,B7,8E,26), V(3F,AD,BF,A4), \
-+ V(2C,3A,9D,E4), V(50,78,92,0D), V(6A,5F,CC,9B), V(54,7E,46,62), \
-+ V(F6,8D,13,C2), V(90,D8,B8,E8), V(2E,39,F7,5E), V(82,C3,AF,F5), \
-+ V(9F,5D,80,BE), V(69,D0,93,7C), V(6F,D5,2D,A9), V(CF,25,12,B3), \
-+ V(C8,AC,99,3B), V(10,18,7D,A7), V(E8,9C,63,6E), V(DB,3B,BB,7B), \
-+ V(CD,26,78,09), V(6E,59,18,F4), V(EC,9A,B7,01), V(83,4F,9A,A8), \
-+ V(E6,95,6E,65), V(AA,FF,E6,7E), V(21,BC,CF,08), V(EF,15,E8,E6), \
-+ V(BA,E7,9B,D9), V(4A,6F,36,CE), V(EA,9F,09,D4), V(29,B0,7C,D6), \
-+ V(31,A4,B2,AF), V(2A,3F,23,31), V(C6,A5,94,30), V(35,A2,66,C0), \
-+ V(74,4E,BC,37), V(FC,82,CA,A6), V(E0,90,D0,B0), V(33,A7,D8,15), \
-+ V(F1,04,98,4A), V(41,EC,DA,F7), V(7F,CD,50,0E), V(17,91,F6,2F), \
-+ V(76,4D,D6,8D), V(43,EF,B0,4D), V(CC,AA,4D,54), V(E4,96,04,DF), \
-+ V(9E,D1,B5,E3), V(4C,6A,88,1B), V(C1,2C,1F,B8), V(46,65,51,7F), \
-+ V(9D,5E,EA,04), V(01,8C,35,5D), V(FA,87,74,73), V(FB,0B,41,2E), \
-+ V(B3,67,1D,5A), V(92,DB,D2,52), V(E9,10,56,33), V(6D,D6,47,13), \
-+ V(9A,D7,61,8C), V(37,A1,0C,7A), V(59,F8,14,8E), V(EB,13,3C,89), \
-+ V(CE,A9,27,EE), V(B7,61,C9,35), V(E1,1C,E5,ED), V(7A,47,B1,3C), \
-+ V(9C,D2,DF,59), V(55,F2,73,3F), V(18,14,CE,79), V(73,C7,37,BF), \
-+ V(53,F7,CD,EA), V(5F,FD,AA,5B), V(DF,3D,6F,14), V(78,44,DB,86), \
-+ V(CA,AF,F3,81), V(B9,68,C4,3E), V(38,24,34,2C), V(C2,A3,40,5F), \
-+ V(16,1D,C3,72), V(BC,E2,25,0C), V(28,3C,49,8B), V(FF,0D,95,41), \
-+ V(39,A8,01,71), V(08,0C,B3,DE), V(D8,B4,E4,9C), V(64,56,C1,90), \
-+ V(7B,CB,84,61), V(D5,32,B6,70), V(48,6C,5C,74), V(D0,B8,57,42)
-
--#define V(a,b,c,d) 0x##a##b##c##d
-+#define V(a,b,c,d) 0x##a##b##c##d
- static uint32 RT0[256] = { RT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##d##a##b##c
-+#define V(a,b,c,d) 0x##d##a##b##c
- static uint32 RT1[256] = { RT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##c##d##a##b
-+#define V(a,b,c,d) 0x##c##d##a##b
- static uint32 RT2[256] = { RT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##b##c##d##a
-+#define V(a,b,c,d) 0x##b##c##d##a
- static uint32 RT3[256] = { RT };
-+
- #undef V
-
- #undef RT
-
- /* round constants */
-
--static uint32 RCON[10] =
--{
-- 0x01000000, 0x02000000, 0x04000000, 0x08000000,
-- 0x10000000, 0x20000000, 0x40000000, 0x80000000,
-- 0x1B000000, 0x36000000
-+static uint32 RCON[10] = {
-+ 0x01000000, 0x02000000, 0x04000000, 0x08000000,
-+ 0x10000000, 0x20000000, 0x40000000, 0x80000000,
-+ 0x1B000000, 0x36000000
- };
-
--/* key schedule tables */
-+/* key schedule tables */
-
- static int KT_init = 1;
-
-@@ -750,451 +953,445 @@
- static uint32 KT2[256];
- static uint32 KT3[256];
-
--/* platform-independant 32-bit integer manipulation macros */
-+/* platform-independant 32-bit integer manipulation macros */
-+
-+#define GET_UINT32(n,b,i) \
-+{ \
-+ (n) = ( (uint32) (b)[(i) ] << 24 ) \
-+ | ( (uint32) (b)[(i) + 1] << 16 ) \
-+ | ( (uint32) (b)[(i) + 2] << 8 ) \
-+ | ( (uint32) (b)[(i) + 3] ); \
-+}
-
--#define GET_UINT32(n,b,i) \
--{ \
-- (n) = ( (uint32) (b)[(i) ] << 24 ) \
-- | ( (uint32) (b)[(i) + 1] << 16 ) \
-- | ( (uint32) (b)[(i) + 2] << 8 ) \
-- | ( (uint32) (b)[(i) + 3] ); \
--}
--
--#define PUT_UINT32(n,b,i) \
--{ \
-- (b)[(i) ] = (uint8) ( (n) >> 24 ); \
-- (b)[(i) + 1] = (uint8) ( (n) >> 16 ); \
-- (b)[(i) + 2] = (uint8) ( (n) >> 8 ); \
-- (b)[(i) + 3] = (uint8) ( (n) ); \
-+#define PUT_UINT32(n,b,i) \
-+{ \
-+ (b)[(i) ] = (uint8) ( (n) >> 24 ); \
-+ (b)[(i) + 1] = (uint8) ( (n) >> 16 ); \
-+ (b)[(i) + 2] = (uint8) ( (n) >> 8 ); \
-+ (b)[(i) + 3] = (uint8) ( (n) ); \
- }
-
- /* AES key scheduling routine */
-
--int aes_set_key( aes_context *ctx, uint8 *key, int nbits )
-+int aes_set_key(aes_context * ctx, uint8 * key, int nbits)
- {
-- int i;
-- uint32 *RK, *SK;
--
-- switch( nbits )
-- {
-- case 128: ctx->nr = 10; break;
-- case 192: ctx->nr = 12; break;
-- case 256: ctx->nr = 14; break;
-- default : return( 1 );
-- }
--
-- RK = ctx->erk;
--
-- for( i = 0; i < (nbits >> 5); i++ )
-- {
-- GET_UINT32( RK[i], key, i * 4 );
-- }
--
-- /* setup encryption round keys */
--
-- switch( nbits )
-- {
-- case 128:
--
-- for( i = 0; i < 10; i++, RK += 4 )
-- {
-- RK[4] = RK[0] ^ RCON[i] ^
-- ( FSb[ (uint8) ( RK[3] >> 16 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( RK[3] >> 8 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( RK[3] ) ] << 8 ) ^
-- ( FSb[ (uint8) ( RK[3] >> 24 ) ] );
--
-- RK[5] = RK[1] ^ RK[4];
-- RK[6] = RK[2] ^ RK[5];
-- RK[7] = RK[3] ^ RK[6];
-- }
-- break;
--
-- case 192:
--
-- for( i = 0; i < 8; i++, RK += 6 )
-- {
-- RK[6] = RK[0] ^ RCON[i] ^
-- ( FSb[ (uint8) ( RK[5] >> 16 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( RK[5] >> 8 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( RK[5] ) ] << 8 ) ^
-- ( FSb[ (uint8) ( RK[5] >> 24 ) ] );
--
-- RK[7] = RK[1] ^ RK[6];
-- RK[8] = RK[2] ^ RK[7];
-- RK[9] = RK[3] ^ RK[8];
-- RK[10] = RK[4] ^ RK[9];
-- RK[11] = RK[5] ^ RK[10];
-- }
-- break;
--
-- case 256:
--
-- for( i = 0; i < 7; i++, RK += 8 )
-- {
-- RK[8] = RK[0] ^ RCON[i] ^
-- ( FSb[ (uint8) ( RK[7] >> 16 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( RK[7] >> 8 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( RK[7] ) ] << 8 ) ^
-- ( FSb[ (uint8) ( RK[7] >> 24 ) ] );
--
-- RK[9] = RK[1] ^ RK[8];
-- RK[10] = RK[2] ^ RK[9];
-- RK[11] = RK[3] ^ RK[10];
--
-- RK[12] = RK[4] ^
-- ( FSb[ (uint8) ( RK[11] >> 24 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( RK[11] >> 16 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( RK[11] >> 8 ) ] << 8 ) ^
-- ( FSb[ (uint8) ( RK[11] ) ] );
--
-- RK[13] = RK[5] ^ RK[12];
-- RK[14] = RK[6] ^ RK[13];
-- RK[15] = RK[7] ^ RK[14];
-- }
-- break;
-- }
--
-- /* setup decryption round keys */
-+ int i;
-+ uint32 *RK, *SK;
-
-- if( KT_init )
-- {
-- for( i = 0; i < 256; i++ )
-- {
-- KT0[i] = RT0[ FSb[i] ];
-- KT1[i] = RT1[ FSb[i] ];
-- KT2[i] = RT2[ FSb[i] ];
-- KT3[i] = RT3[ FSb[i] ];
-- }
-+ switch (nbits) {
-+ case 128:
-+ ctx->nr = 10;
-+ break;
-+ case 192:
-+ ctx->nr = 12;
-+ break;
-+ case 256:
-+ ctx->nr = 14;
-+ break;
-+ default:
-+ return (1);
-+ }
-+
-+ RK = ctx->erk;
-+
-+ for (i = 0; i < (nbits >> 5); i++) {
-+ GET_UINT32(RK[i], key, i * 4);
-+ }
-+
-+ /* setup encryption round keys */
-+
-+ switch (nbits) {
-+ case 128:
-+
-+ for (i = 0; i < 10; i++, RK += 4) {
-+ RK[4] = RK[0] ^ RCON[i] ^
-+ (FSb[(uint8) (RK[3] >> 16)] << 24) ^
-+ (FSb[(uint8) (RK[3] >> 8)] << 16) ^
-+ (FSb[(uint8) (RK[3])] << 8) ^
-+ (FSb[(uint8) (RK[3] >> 24)]);
-+
-+ RK[5] = RK[1] ^ RK[4];
-+ RK[6] = RK[2] ^ RK[5];
-+ RK[7] = RK[3] ^ RK[6];
-+ }
-+ break;
-+
-+ case 192:
-+
-+ for (i = 0; i < 8; i++, RK += 6) {
-+ RK[6] = RK[0] ^ RCON[i] ^
-+ (FSb[(uint8) (RK[5] >> 16)] << 24) ^
-+ (FSb[(uint8) (RK[5] >> 8)] << 16) ^
-+ (FSb[(uint8) (RK[5])] << 8) ^
-+ (FSb[(uint8) (RK[5] >> 24)]);
-+
-+ RK[7] = RK[1] ^ RK[6];
-+ RK[8] = RK[2] ^ RK[7];
-+ RK[9] = RK[3] ^ RK[8];
-+ RK[10] = RK[4] ^ RK[9];
-+ RK[11] = RK[5] ^ RK[10];
-+ }
-+ break;
-+
-+ case 256:
-+
-+ for (i = 0; i < 7; i++, RK += 8) {
-+ RK[8] = RK[0] ^ RCON[i] ^
-+ (FSb[(uint8) (RK[7] >> 16)] << 24) ^
-+ (FSb[(uint8) (RK[7] >> 8)] << 16) ^
-+ (FSb[(uint8) (RK[7])] << 8) ^
-+ (FSb[(uint8) (RK[7] >> 24)]);
-+
-+ RK[9] = RK[1] ^ RK[8];
-+ RK[10] = RK[2] ^ RK[9];
-+ RK[11] = RK[3] ^ RK[10];
-+
-+ RK[12] = RK[4] ^
-+ (FSb[(uint8) (RK[11] >> 24)] << 24) ^
-+ (FSb[(uint8) (RK[11] >> 16)] << 16) ^
-+ (FSb[(uint8) (RK[11] >> 8)] << 8) ^
-+ (FSb[(uint8) (RK[11])]);
-+
-+ RK[13] = RK[5] ^ RK[12];
-+ RK[14] = RK[6] ^ RK[13];
-+ RK[15] = RK[7] ^ RK[14];
-+ }
-+ break;
-+ }
-+
-+ /* setup decryption round keys */
-+
-+ if (KT_init) {
-+ for (i = 0; i < 256; i++) {
-+ KT0[i] = RT0[FSb[i]];
-+ KT1[i] = RT1[FSb[i]];
-+ KT2[i] = RT2[FSb[i]];
-+ KT3[i] = RT3[FSb[i]];
-+ }
-+
-+ KT_init = 0;
-+ }
-+
-+ SK = ctx->drk;
-+
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-+
-+ for (i = 1; i < ctx->nr; i++) {
-+ RK -= 8;
-+
-+ *SK++ = KT0[(uint8) (*RK >> 24)] ^
-+ KT1[(uint8) (*RK >> 16)] ^
-+ KT2[(uint8) (*RK >> 8)] ^ KT3[(uint8) (*RK)];
-+ RK++;
-+
-+ *SK++ = KT0[(uint8) (*RK >> 24)] ^
-+ KT1[(uint8) (*RK >> 16)] ^
-+ KT2[(uint8) (*RK >> 8)] ^ KT3[(uint8) (*RK)];
-+ RK++;
-+
-+ *SK++ = KT0[(uint8) (*RK >> 24)] ^
-+ KT1[(uint8) (*RK >> 16)] ^
-+ KT2[(uint8) (*RK >> 8)] ^ KT3[(uint8) (*RK)];
-+ RK++;
-+
-+ *SK++ = KT0[(uint8) (*RK >> 24)] ^
-+ KT1[(uint8) (*RK >> 16)] ^
-+ KT2[(uint8) (*RK >> 8)] ^ KT3[(uint8) (*RK)];
-+ RK++;
-+ }
-+
-+ RK -= 8;
-+
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-
-- KT_init = 0;
-- }
--
-- SK = ctx->drk;
--
-- *SK++ = *RK++;
-- *SK++ = *RK++;
-- *SK++ = *RK++;
-- *SK++ = *RK++;
--
-- for( i = 1; i < ctx->nr; i++ )
-- {
-- RK -= 8;
--
-- *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
-- KT1[ (uint8) ( *RK >> 16 ) ] ^
-- KT2[ (uint8) ( *RK >> 8 ) ] ^
-- KT3[ (uint8) ( *RK ) ]; RK++;
--
-- *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
-- KT1[ (uint8) ( *RK >> 16 ) ] ^
-- KT2[ (uint8) ( *RK >> 8 ) ] ^
-- KT3[ (uint8) ( *RK ) ]; RK++;
--
-- *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
-- KT1[ (uint8) ( *RK >> 16 ) ] ^
-- KT2[ (uint8) ( *RK >> 8 ) ] ^
-- KT3[ (uint8) ( *RK ) ]; RK++;
--
-- *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
-- KT1[ (uint8) ( *RK >> 16 ) ] ^
-- KT2[ (uint8) ( *RK >> 8 ) ] ^
-- KT3[ (uint8) ( *RK ) ]; RK++;
-- }
--
-- RK -= 8;
--
-- *SK++ = *RK++;
-- *SK++ = *RK++;
-- *SK++ = *RK++;
-- *SK++ = *RK++;
--
-- return( 0 );
-+ return (0);
- }
-
--/* AES 128-bit block encryption routine */
-+/* AES 128-bit block encryption routine */
-
--void aes_encrypt(aes_context *ctx, uint8 input[16], uint8 output[16] )
-+void aes_encrypt(aes_context * ctx, uint8 input[16], uint8 output[16])
- {
-- uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
-+ uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
-
-- RK = ctx->erk;
-- GET_UINT32( X0, input, 0 ); X0 ^= RK[0];
-- GET_UINT32( X1, input, 4 ); X1 ^= RK[1];
-- GET_UINT32( X2, input, 8 ); X2 ^= RK[2];
-- GET_UINT32( X3, input, 12 ); X3 ^= RK[3];
--
--#define AES_FROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
--{ \
-- RK += 4; \
-- \
-- X0 = RK[0] ^ FT0[ (uint8) ( Y0 >> 24 ) ] ^ \
-- FT1[ (uint8) ( Y1 >> 16 ) ] ^ \
-- FT2[ (uint8) ( Y2 >> 8 ) ] ^ \
-- FT3[ (uint8) ( Y3 ) ]; \
-- \
-- X1 = RK[1] ^ FT0[ (uint8) ( Y1 >> 24 ) ] ^ \
-- FT1[ (uint8) ( Y2 >> 16 ) ] ^ \
-- FT2[ (uint8) ( Y3 >> 8 ) ] ^ \
-- FT3[ (uint8) ( Y0 ) ]; \
-- \
-- X2 = RK[2] ^ FT0[ (uint8) ( Y2 >> 24 ) ] ^ \
-- FT1[ (uint8) ( Y3 >> 16 ) ] ^ \
-- FT2[ (uint8) ( Y0 >> 8 ) ] ^ \
-- FT3[ (uint8) ( Y1 ) ]; \
-- \
-- X3 = RK[3] ^ FT0[ (uint8) ( Y3 >> 24 ) ] ^ \
-- FT1[ (uint8) ( Y0 >> 16 ) ] ^ \
-- FT2[ (uint8) ( Y1 >> 8 ) ] ^ \
-- FT3[ (uint8) ( Y2 ) ]; \
--}
--
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 1 */
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 2 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 3 */
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 4 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 5 */
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 6 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 7 */
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 8 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 9 */
--
-- if( ctx->nr > 10 )
-- {
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 10 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 11 */
-- }
--
-- if( ctx->nr > 12 )
-- {
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 12 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 13 */
-- }
--
-- /* last round */
--
-- RK += 4;
-+ RK = ctx->erk;
-+ GET_UINT32(X0, input, 0);
-+ X0 ^= RK[0];
-+ GET_UINT32(X1, input, 4);
-+ X1 ^= RK[1];
-+ GET_UINT32(X2, input, 8);
-+ X2 ^= RK[2];
-+ GET_UINT32(X3, input, 12);
-+ X3 ^= RK[3];
-+
-+#define AES_FROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
-+{ \
-+ RK += 4; \
-+ \
-+ X0 = RK[0] ^ FT0[ (uint8) ( Y0 >> 24 ) ] ^ \
-+ FT1[ (uint8) ( Y1 >> 16 ) ] ^ \
-+ FT2[ (uint8) ( Y2 >> 8 ) ] ^ \
-+ FT3[ (uint8) ( Y3 ) ]; \
-+ \
-+ X1 = RK[1] ^ FT0[ (uint8) ( Y1 >> 24 ) ] ^ \
-+ FT1[ (uint8) ( Y2 >> 16 ) ] ^ \
-+ FT2[ (uint8) ( Y3 >> 8 ) ] ^ \
-+ FT3[ (uint8) ( Y0 ) ]; \
-+ \
-+ X2 = RK[2] ^ FT0[ (uint8) ( Y2 >> 24 ) ] ^ \
-+ FT1[ (uint8) ( Y3 >> 16 ) ] ^ \
-+ FT2[ (uint8) ( Y0 >> 8 ) ] ^ \
-+ FT3[ (uint8) ( Y1 ) ]; \
-+ \
-+ X3 = RK[3] ^ FT0[ (uint8) ( Y3 >> 24 ) ] ^ \
-+ FT1[ (uint8) ( Y0 >> 16 ) ] ^ \
-+ FT2[ (uint8) ( Y1 >> 8 ) ] ^ \
-+ FT3[ (uint8) ( Y2 ) ]; \
-+}
-
-- X0 = RK[0] ^ ( FSb[ (uint8) ( Y0 >> 24 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( Y1 >> 16 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( Y2 >> 8 ) ] << 8 ) ^
-- ( FSb[ (uint8) ( Y3 ) ] );
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 1 */
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 2 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 3 */
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 4 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 5 */
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 6 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 7 */
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 8 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 9 */
-+
-+ if (ctx->nr > 10) {
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 10 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 11 */
-+ }
-+
-+ if (ctx->nr > 12) {
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 12 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 13 */
-+ }
-+
-+ /* last round */
-+
-+ RK += 4;
-+
-+ X0 = RK[0] ^ (FSb[(uint8) (Y0 >> 24)] << 24) ^
-+ (FSb[(uint8) (Y1 >> 16)] << 16) ^
-+ (FSb[(uint8) (Y2 >> 8)] << 8) ^ (FSb[(uint8) (Y3)]);
-+
-+ X1 = RK[1] ^ (FSb[(uint8) (Y1 >> 24)] << 24) ^
-+ (FSb[(uint8) (Y2 >> 16)] << 16) ^
-+ (FSb[(uint8) (Y3 >> 8)] << 8) ^ (FSb[(uint8) (Y0)]);
-+
-+ X2 = RK[2] ^ (FSb[(uint8) (Y2 >> 24)] << 24) ^
-+ (FSb[(uint8) (Y3 >> 16)] << 16) ^
-+ (FSb[(uint8) (Y0 >> 8)] << 8) ^ (FSb[(uint8) (Y1)]);
-+
-+ X3 = RK[3] ^ (FSb[(uint8) (Y3 >> 24)] << 24) ^
-+ (FSb[(uint8) (Y0 >> 16)] << 16) ^
-+ (FSb[(uint8) (Y1 >> 8)] << 8) ^ (FSb[(uint8) (Y2)]);
-+
-+ PUT_UINT32(X0, output, 0);
-+ PUT_UINT32(X1, output, 4);
-+ PUT_UINT32(X2, output, 8);
-+ PUT_UINT32(X3, output, 12);
-+}
-
-- X1 = RK[1] ^ ( FSb[ (uint8) ( Y1 >> 24 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( Y2 >> 16 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( Y3 >> 8 ) ] << 8 ) ^
-- ( FSb[ (uint8) ( Y0 ) ] );
-+/* AES 128-bit block decryption routine */
-
-- X2 = RK[2] ^ ( FSb[ (uint8) ( Y2 >> 24 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( Y3 >> 16 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( Y0 >> 8 ) ] << 8 ) ^
-- ( FSb[ (uint8) ( Y1 ) ] );
-+void aes_decrypt(aes_context * ctx, uint8 input[16], uint8 output[16])
-+{
-+ uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
-
-- X3 = RK[3] ^ ( FSb[ (uint8) ( Y3 >> 24 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( Y0 >> 16 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( Y1 >> 8 ) ] << 8 ) ^
-- ( FSb[ (uint8) ( Y2 ) ] );
-+ RK = ctx->drk;
-
-- PUT_UINT32( X0, output, 0 );
-- PUT_UINT32( X1, output, 4 );
-- PUT_UINT32( X2, output, 8 );
-- PUT_UINT32( X3, output, 12 );
-+ GET_UINT32(X0, input, 0);
-+ X0 ^= RK[0];
-+ GET_UINT32(X1, input, 4);
-+ X1 ^= RK[1];
-+ GET_UINT32(X2, input, 8);
-+ X2 ^= RK[2];
-+ GET_UINT32(X3, input, 12);
-+ X3 ^= RK[3];
-+
-+#define AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
-+{ \
-+ RK += 4; \
-+ \
-+ X0 = RK[0] ^ RT0[ (uint8) ( Y0 >> 24 ) ] ^ \
-+ RT1[ (uint8) ( Y3 >> 16 ) ] ^ \
-+ RT2[ (uint8) ( Y2 >> 8 ) ] ^ \
-+ RT3[ (uint8) ( Y1 ) ]; \
-+ \
-+ X1 = RK[1] ^ RT0[ (uint8) ( Y1 >> 24 ) ] ^ \
-+ RT1[ (uint8) ( Y0 >> 16 ) ] ^ \
-+ RT2[ (uint8) ( Y3 >> 8 ) ] ^ \
-+ RT3[ (uint8) ( Y2 ) ]; \
-+ \
-+ X2 = RK[2] ^ RT0[ (uint8) ( Y2 >> 24 ) ] ^ \
-+ RT1[ (uint8) ( Y1 >> 16 ) ] ^ \
-+ RT2[ (uint8) ( Y0 >> 8 ) ] ^ \
-+ RT3[ (uint8) ( Y3 ) ]; \
-+ \
-+ X3 = RK[3] ^ RT0[ (uint8) ( Y3 >> 24 ) ] ^ \
-+ RT1[ (uint8) ( Y2 >> 16 ) ] ^ \
-+ RT2[ (uint8) ( Y1 >> 8 ) ] ^ \
-+ RT3[ (uint8) ( Y0 ) ]; \
- }
-
--/* AES 128-bit block decryption routine */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 1 */
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 2 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 3 */
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 4 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 5 */
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 6 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 7 */
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 8 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 9 */
-+
-+ if (ctx->nr > 10) {
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 10 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 11 */
-+ }
-+
-+ if (ctx->nr > 12) {
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 12 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 13 */
-+ }
-+
-+ /* last round */
-+
-+ RK += 4;
-+
-+ X0 = RK[0] ^ (RSb[(uint8) (Y0 >> 24)] << 24) ^
-+ (RSb[(uint8) (Y3 >> 16)] << 16) ^
-+ (RSb[(uint8) (Y2 >> 8)] << 8) ^ (RSb[(uint8) (Y1)]);
-+
-+ X1 = RK[1] ^ (RSb[(uint8) (Y1 >> 24)] << 24) ^
-+ (RSb[(uint8) (Y0 >> 16)] << 16) ^
-+ (RSb[(uint8) (Y3 >> 8)] << 8) ^ (RSb[(uint8) (Y2)]);
-+
-+ X2 = RK[2] ^ (RSb[(uint8) (Y2 >> 24)] << 24) ^
-+ (RSb[(uint8) (Y1 >> 16)] << 16) ^
-+ (RSb[(uint8) (Y0 >> 8)] << 8) ^ (RSb[(uint8) (Y3)]);
-+
-+ X3 = RK[3] ^ (RSb[(uint8) (Y3 >> 24)] << 24) ^
-+ (RSb[(uint8) (Y2 >> 16)] << 16) ^
-+ (RSb[(uint8) (Y1 >> 8)] << 8) ^ (RSb[(uint8) (Y0)]);
-+
-+ PUT_UINT32(X0, output, 0);
-+ PUT_UINT32(X1, output, 4);
-+ PUT_UINT32(X2, output, 8);
-+ PUT_UINT32(X3, output, 12);
-+}
-
--void aes_decrypt( aes_context *ctx, uint8 input[16], uint8 output[16] )
-+void hmac_sha1(unsigned char *text, int text_len, unsigned char *key,
-+ int key_len, unsigned char *digest)
- {
-- uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
--
-- RK = ctx->drk;
--
-- GET_UINT32( X0, input, 0 ); X0 ^= RK[0];
-- GET_UINT32( X1, input, 4 ); X1 ^= RK[1];
-- GET_UINT32( X2, input, 8 ); X2 ^= RK[2];
-- GET_UINT32( X3, input, 12 ); X3 ^= RK[3];
--
--#define AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
--{ \
-- RK += 4; \
-- \
-- X0 = RK[0] ^ RT0[ (uint8) ( Y0 >> 24 ) ] ^ \
-- RT1[ (uint8) ( Y3 >> 16 ) ] ^ \
-- RT2[ (uint8) ( Y2 >> 8 ) ] ^ \
-- RT3[ (uint8) ( Y1 ) ]; \
-- \
-- X1 = RK[1] ^ RT0[ (uint8) ( Y1 >> 24 ) ] ^ \
-- RT1[ (uint8) ( Y0 >> 16 ) ] ^ \
-- RT2[ (uint8) ( Y3 >> 8 ) ] ^ \
-- RT3[ (uint8) ( Y2 ) ]; \
-- \
-- X2 = RK[2] ^ RT0[ (uint8) ( Y2 >> 24 ) ] ^ \
-- RT1[ (uint8) ( Y1 >> 16 ) ] ^ \
-- RT2[ (uint8) ( Y0 >> 8 ) ] ^ \
-- RT3[ (uint8) ( Y3 ) ]; \
-- \
-- X3 = RK[3] ^ RT0[ (uint8) ( Y3 >> 24 ) ] ^ \
-- RT1[ (uint8) ( Y2 >> 16 ) ] ^ \
-- RT2[ (uint8) ( Y1 >> 8 ) ] ^ \
-- RT3[ (uint8) ( Y0 ) ]; \
--}
--
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 1 */
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 2 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 3 */
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 4 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 5 */
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 6 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 7 */
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 8 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 9 */
--
-- if( ctx->nr > 10 )
-- {
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 10 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 11 */
-- }
--
-- if( ctx->nr > 12 )
-- {
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 12 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 13 */
-- }
-+ SHA_CTX context;
-+ unsigned char k_ipad[65]; /* inner padding - key XORd with ipad */
-+ unsigned char k_opad[65]; /* outer padding - key XORd with opad */
-+ int i;
-+
-+ /* if key is longer than 64 bytes reset it to key=SHA1(key) */
-+ if (key_len > 64) {
-+ SHA_CTX tctx;
-+
-+ SHAInit(&tctx);
-+ SHAUpdate(&tctx, key, key_len);
-+ SHAFinal(&tctx, key);
-+
-+ key_len = 20;
-+ }
-+
-+ /*
-+ * the HMAC_SHA1 transform looks like:
-+ *
-+ * SHA1(K XOR opad, SHA1(K XOR ipad, text))
-+ *
-+ * where K is an n byte key
-+ * ipad is the byte 0x36 repeated 64 times
-+ * opad is the byte 0x5c repeated 64 times
-+ * and text is the data being protected
-+ */
-+
-+ /* start out by storing key in pads */
-+ memset(k_ipad, 0, sizeof k_ipad);
-+ memset(k_opad, 0, sizeof k_opad);
-+ memcpy(k_ipad, key, key_len);
-+ memcpy(k_opad, key, key_len);
-+
-+ /* XOR key with ipad and opad values */
-+ for (i = 0; i < 64; i++) {
-+ k_ipad[i] ^= 0x36;
-+ k_opad[i] ^= 0x5c;
-+ }
-+
-+ /* perform inner SHA1 */
-+ SHAInit(&context); /* init context for 1st pass */
-+ SHAUpdate(&context, k_ipad, 64); /* start with inner pad */
-+ SHAUpdate(&context, text, text_len); /* then text of datagram */
-+ SHAFinal(&context, digest); /* finish up 1st pass */
-+
-+ /* perform outer SHA1 */
-+ SHAInit(&context); /* init context for 2nd pass */
-+ SHAUpdate(&context, k_opad, 64); /* start with outer pad */
-+ SHAUpdate(&context, digest, 20); /* then results of 1st hash */
-+ SHAFinal(&context, digest); /* finish up 2nd pass */
-+}
-
-- /* last round */
-+/*
-+* F(P, S, c, i) = U1 xor U2 xor ... Uc
-+* U1 = PRF(P, S || Int(i))
-+* U2 = PRF(P, U1)
-+* Uc = PRF(P, Uc-1)
-+*/
-
-- RK += 4;
-+void F(char *password, unsigned char *ssid, int ssidlength, int iterations,
-+ int count, unsigned char *output)
-+{
-+ unsigned char digest[36], digest1[SHA_DIGEST_LEN];
-+ int i, j;
-
-- X0 = RK[0] ^ ( RSb[ (uint8) ( Y0 >> 24 ) ] << 24 ) ^
-- ( RSb[ (uint8) ( Y3 >> 16 ) ] << 16 ) ^
-- ( RSb[ (uint8) ( Y2 >> 8 ) ] << 8 ) ^
-- ( RSb[ (uint8) ( Y1 ) ] );
--
-- X1 = RK[1] ^ ( RSb[ (uint8) ( Y1 >> 24 ) ] << 24 ) ^
-- ( RSb[ (uint8) ( Y0 >> 16 ) ] << 16 ) ^
-- ( RSb[ (uint8) ( Y3 >> 8 ) ] << 8 ) ^
-- ( RSb[ (uint8) ( Y2 ) ] );
--
-- X2 = RK[2] ^ ( RSb[ (uint8) ( Y2 >> 24 ) ] << 24 ) ^
-- ( RSb[ (uint8) ( Y1 >> 16 ) ] << 16 ) ^
-- ( RSb[ (uint8) ( Y0 >> 8 ) ] << 8 ) ^
-- ( RSb[ (uint8) ( Y3 ) ] );
--
-- X3 = RK[3] ^ ( RSb[ (uint8) ( Y3 >> 24 ) ] << 24 ) ^
-- ( RSb[ (uint8) ( Y2 >> 16 ) ] << 16 ) ^
-- ( RSb[ (uint8) ( Y1 >> 8 ) ] << 8 ) ^
-- ( RSb[ (uint8) ( Y0 ) ] );
--
-- PUT_UINT32( X0, output, 0 );
-- PUT_UINT32( X1, output, 4 );
-- PUT_UINT32( X2, output, 8 );
-- PUT_UINT32( X3, output, 12 );
--}
--
--void hmac_sha1(unsigned char *text, int text_len, unsigned char *key, int key_len, unsigned char *digest)
--{
-- SHA_CTX context;
-- unsigned char k_ipad[65]; /* inner padding - key XORd with ipad */
-- unsigned char k_opad[65]; /* outer padding - key XORd with opad */
-- int i;
--
-- /* if key is longer than 64 bytes reset it to key=SHA1(key) */
-- if (key_len > 64)
-- {
-- SHA_CTX tctx;
--
-- SHAInit(&tctx);
-- SHAUpdate(&tctx, key, key_len);
-- SHAFinal(&tctx, key);
--
-- key_len = 20;
-- }
--
-- /*
-- * the HMAC_SHA1 transform looks like:
-- *
-- * SHA1(K XOR opad, SHA1(K XOR ipad, text))
-- *
-- * where K is an n byte key
-- * ipad is the byte 0x36 repeated 64 times
-- * opad is the byte 0x5c repeated 64 times
-- * and text is the data being protected
-- */
--
-- /* start out by storing key in pads */
-- memset(k_ipad, 0, sizeof k_ipad);
-- memset(k_opad, 0, sizeof k_opad);
-- memcpy(k_ipad, key, key_len);
-- memcpy(k_opad, key, key_len);
--
-- /* XOR key with ipad and opad values */
-- for (i = 0; i < 64; i++)
-- {
-- k_ipad[i] ^= 0x36;
-- k_opad[i] ^= 0x5c;
-- }
--
-- /* perform inner SHA1*/
-- SHAInit(&context); /* init context for 1st pass */
-- SHAUpdate(&context, k_ipad, 64); /* start with inner pad */
-- SHAUpdate(&context, text, text_len); /* then text of datagram */
-- SHAFinal(&context, digest); /* finish up 1st pass */
--
-- /* perform outer SHA1 */
-- SHAInit(&context); /* init context for 2nd pass */
-- SHAUpdate(&context, k_opad, 64); /* start with outer pad */
-- SHAUpdate(&context, digest, 20); /* then results of 1st hash */
-- SHAFinal(&context, digest); /* finish up 2nd pass */
--}
-+ /* U1 = PRF(P, S || int(i)) */
-+ memcpy(digest, ssid, ssidlength);
-+ digest[ssidlength] = (unsigned char)((count >> 24) & 0xff);
-+ digest[ssidlength + 1] = (unsigned char)((count >> 16) & 0xff);
-+ digest[ssidlength + 2] = (unsigned char)((count >> 8) & 0xff);
-+ digest[ssidlength + 3] = (unsigned char)(count & 0xff);
-+ hmac_sha1(digest, ssidlength + 4, (unsigned char *)password, (int)strlen(password), digest1); // for WPA update
-+
-+ /* output = U1 */
-+ memcpy(output, digest1, SHA_DIGEST_LEN);
-+
-+ for (i = 1; i < iterations; i++) {
-+ /* Un = PRF(P, Un-1) */
-+ hmac_sha1(digest1, SHA_DIGEST_LEN, (unsigned char *)password, (int)strlen(password), digest); // for WPA update
-+ memcpy(digest1, digest, SHA_DIGEST_LEN);
-+
-+ /* output = output xor Un */
-+ for (j = 0; j < SHA_DIGEST_LEN; j++) {
-+ output[j] ^= digest[j];
-+ }
-+ }
-+}
-
- /*
--* F(P, S, c, i) = U1 xor U2 xor ... Uc
--* U1 = PRF(P, S || Int(i))
--* U2 = PRF(P, U1)
--* Uc = PRF(P, Uc-1)
--*/
--
--void F(char *password, unsigned char *ssid, int ssidlength, int iterations, int count, unsigned char *output)
--{
-- unsigned char digest[36], digest1[SHA_DIGEST_LEN];
-- int i, j;
--
-- /* U1 = PRF(P, S || int(i)) */
-- memcpy(digest, ssid, ssidlength);
-- digest[ssidlength] = (unsigned char)((count>>24) & 0xff);
-- digest[ssidlength+1] = (unsigned char)((count>>16) & 0xff);
-- digest[ssidlength+2] = (unsigned char)((count>>8) & 0xff);
-- digest[ssidlength+3] = (unsigned char)(count & 0xff);
-- hmac_sha1(digest, ssidlength+4, (unsigned char*) password, (int) strlen(password), digest1); // for WPA update
--
-- /* output = U1 */
-- memcpy(output, digest1, SHA_DIGEST_LEN);
--
-- for (i = 1; i < iterations; i++)
-- {
-- /* Un = PRF(P, Un-1) */
-- hmac_sha1(digest1, SHA_DIGEST_LEN, (unsigned char*) password, (int) strlen(password), digest); // for WPA update
-- memcpy(digest1, digest, SHA_DIGEST_LEN);
--
-- /* output = output xor Un */
-- for (j = 0; j < SHA_DIGEST_LEN; j++)
-- {
-- output[j] ^= digest[j];
-- }
-- }
--}
--/*
--* password - ascii string up to 63 characters in length
--* ssid - octet string up to 32 octets
--* ssidlength - length of ssid in octets
--* output must be 40 octets in length and outputs 256 bits of key
--*/
--int PasswordHash(char *password, unsigned char *ssid, int ssidlength, unsigned char *output)
--{
-- if ((strlen(password) > 63) || (ssidlength > 32))
-- return 0;
--
-- F(password, ssid, ssidlength, 4096, 1, output);
-- F(password, ssid, ssidlength, 4096, 2, &output[SHA_DIGEST_LEN]);
-- return 1;
-+* password - ascii string up to 63 characters in length
-+* ssid - octet string up to 32 octets
-+* ssidlength - length of ssid in octets
-+* output must be 40 octets in length and outputs 256 bits of key
-+*/
-+int PasswordHash(char *password, unsigned char *ssid, int ssidlength,
-+ unsigned char *output)
-+{
-+ if ((strlen(password) > 63) || (ssidlength > 32))
-+ return 0;
-+
-+ F(password, ssid, ssidlength, 4096, 1, output);
-+ F(password, ssid, ssidlength, 4096, 2, &output[SHA_DIGEST_LEN]);
-+ return 1;
- }
-diff -Nur rt2500-1.1.0-b4/Module/md5.h rt2500-cvs-2007061011/Module/md5.h
---- rt2500-1.1.0-b4/Module/md5.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/md5.h 2007-05-29 05:49:17.000000000 +0200
-@@ -1,94 +1,96 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
- * This MD5 code is based on code from Dynamics -- HUT Mobile IP *
- * Copyright (C) 1998-2001, Dynamics group *
-- ***************************************************************************/
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: md5.h
-- *
-+ *
- * Abstract: contain MD5 and AES cipher algorithm
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
--#ifndef MD5_H
--#define MD5_H
-+#ifndef __MD5_H__
-+#define __MD5_H__
-
- #define MD5_MAC_LEN 16
- #define SHA_DIGEST_LEN 20
-
--struct MD5Context {
-- u32 buf[4];
-- u32 bits[2];
-- u8 in[64];
--};
-+typedef struct _MD5_CTX {
-+ ULONG Buf[4]; // buffers of four states
-+ UCHAR Input[64]; // input message
-+ ULONG LenInBitCount[2]; // length counter for input message, 0 up to 64 bits
-+} MD5_CTX;
-+
-+VOID MD5Init(MD5_CTX * pCtx);
-+VOID MD5Update(MD5_CTX * pCtx, UCHAR * pData, ULONG LenInBytes);
-+VOID MD5Final(UCHAR Digest[16], MD5_CTX * pCtx);
-+VOID MD5Transform(ULONG Buf[4], ULONG Mes[16]);
-+
-+void md5_mac(UCHAR * key, ULONG key_len, UCHAR * data, ULONG data_len,
-+ UCHAR * mac);
-+void hmac_md5(UCHAR * key, ULONG key_len, UCHAR * data, ULONG data_len,
-+ UCHAR * mac);
-+
-+#endif // __MD5_H__
-+
-+/******************************************************************************/
-+
-+VOID SHAInit(SHA_CTX * pCtx);
-+UCHAR SHAUpdate(SHA_CTX * pCtx, UCHAR * pData, ULONG LenInBytes);
-+VOID SHAFinal(SHA_CTX * pCtx, UCHAR Digest[20]);
-+VOID SHATransform(ULONG Buf[5], ULONG Mes[20]);
-+
-+void hmac_sha1(unsigned char *text, int text_len, unsigned char *key,
-+ int key_len, unsigned char *digest);
-+void F(char *password, unsigned char *ssid, int ssidlength, int iterations,
-+ int count, unsigned char *output);
-+int PasswordHash(char *password, unsigned char *ssid, int ssidlength,
-+ unsigned char *output);
-+
-+/******************************************************************************/
-+#ifndef _AES_H
-+#define _AES_H
-
--void MD5Init(struct MD5Context *context);
--void MD5Update(struct MD5Context *context, unsigned char *buf, unsigned len);
--void MD5Final(unsigned char digest[16], struct MD5Context *context);
--void MD5Transform(u32 buf[4], u32 in[16]);
--
--typedef struct MD5Context MD5_CTX;
--
--
--void md5_mac(u8 *key, size_t key_len, u8 *data, size_t data_len, u8 *mac);
--void hmac_md5(u8 *key, size_t key_len, u8 *data, size_t data_len, u8 *mac);
--
--#endif /* MD5_H */
--
--#ifndef _AES_H
--#define _AES_H
--
--#ifndef uint8
--#define uint8 unsigned char
-+#ifndef uint8
-+#define uint8 unsigned char
- #endif
-
--#ifndef uint32
--#define uint32 unsigned long int
-+#ifndef uint32
-+#define uint32 unsigned long int
- #endif
-
--typedef struct
--{
-- uint32 erk[64]; /* encryption round keys */
-- uint32 drk[64]; /* decryption round keys */
-- int nr; /* number of rounds */
--}
--aes_context;
--
--int aes_set_key( aes_context *ctx, uint8 *key, int nbits );
--void aes_encrypt( aes_context *ctx, uint8 input[16], uint8 output[16] );
--void aes_decrypt( aes_context *ctx, uint8 input[16], uint8 output[16] );
--
--
--void SHAInit(SHA_CTX *ctx);
--void SHAUpdate(SHA_CTX *ctx, unsigned char *dataIn, int len);
--void SHAFinal(SHA_CTX *ctx, unsigned char hashout[20]);
--void SHAHashBlock(SHA_CTX *ctx);
--void hmac_sha1(unsigned char *text, int text_len, unsigned char *key, int key_len, unsigned char *digest);
--void F(char *password, unsigned char *ssid, int ssidlength, int iterations, int count, unsigned char *output);
--int PasswordHash(char *password, unsigned char *ssid, int ssidlength, unsigned char *output);
--
--#endif /* aes.h */
-+typedef struct {
-+ uint32 erk[64]; /* encryption round keys */
-+ uint32 drk[64]; /* decryption round keys */
-+ int nr; /* number of rounds */
-+} aes_context;
-+
-+int aes_set_key(aes_context * ctx, uint8 * key, int nbits);
-+void aes_encrypt(aes_context * ctx, uint8 input[16], uint8 output[16]);
-+void aes_decrypt(aes_context * ctx, uint8 input[16], uint8 output[16]);
-
-+#endif /* aes.h */
-diff -Nur rt2500-1.1.0-b4/Module/mlme.c rt2500-cvs-2007061011/Module/mlme.c
---- rt2500-1.1.0-b4/Module/mlme.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/mlme.c 2007-05-15 21:41:34.000000000 +0200
-@@ -1,54 +1,54 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: mlme.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW 8th Dec 04 kmalloc ATOMIC fixes
-- * RobinC 10th Dec 04 RFMON Support
-- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-- * Ivo (rt2400) 15th Dec 04 Uninitialised timer
-+ * RobinC 10th Dec 04 RFMON Support
-+ * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-+ * Ivo (rt2400) 15th Dec 04 Uninitialised timer
- * MarkW 17th Dec 04 Monitor mode through iwconfig
- * BrunoH 3rd Feb 04 Fix for 802.11b adhoc association
-- * JohnC 19th Mar 04 Fixes for quality reporting
-+ * JohnC 19th Mar 04 Fixes for quality reporting
- * MarkW 13th Jun 05 Fix to allow adhoc network creation
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
- #include <stdarg.h>
-
--// e.g. RssiSafeLevelForTxRate[RATE_36]" means if the current RSSI is greater than
--// this value, then it's quaranteed capable of operating in 36 mbps TX rate in
-+// e.g. RssiSafeLevelForTxRate[RATE_36]" means if the current RSSI is greater than
-+// this value, then it's quaranteed capable of operating in 36 mbps TX rate in
- // clean environment.
- // TxRate: 1 2 5.5 11 6 9 12 18 24 36 48 54 72 100
- CHAR RssiSafeLevelForTxRate[] ={ -92, -91, -90, -87, -88, -86, -85, -83, -81, -78, -72, -71, -40, -40 };
-
-- // 1 2 5.5 11
-+ // 1 2 5.5 11
- UCHAR Phy11BNextRateDownward[] = {RATE_1, RATE_1, RATE_2, RATE_5_5};
- UCHAR Phy11BNextRateUpward[] = {RATE_2, RATE_5_5, RATE_11, RATE_11};
-
-@@ -68,10 +68,10 @@
-
- USHORT OldRateUpPER[] = { 40, 40, 40, 40, 30, 30, 30, 30, 20, 20, 10, 10 }; // in percentage
- USHORT OldRateDownPER[] = { 45, 45, 45, 45, 35, 35, 35, 35, 25, 25, 25, 12 }; // in percentage
--
-+
- UCHAR RateIdToMbps[] = { 1, 2, 5, 11, 6, 9, 12, 18, 24, 36, 48, 54, 72, 100};
- USHORT RateIdTo500Kbps[] = { 2, 4, 11, 22, 12, 18, 24, 36, 48, 72, 96, 108, 144, 200};
--
-+
- RTMP_RF_REGS RF2522RegTable[] = {
- // ch R1 R2 R3(TX0~4=0) R4
- {1, 0x94002050, 0x940c1fda, 0x94000101, 0},
-@@ -144,10 +144,10 @@
- {14, 0x94032020, 0x94000d1a, 0x94000101, 0x94000a03}
- };
- #define NUM_OF_2524_CHNL (sizeof(RF2524RegTable) / sizeof(RTMP_RF_REGS))
--
-+
- RTMP_RF_REGS RF2525RegTable[] = {
- // ch R1 R2 R3(TX0~4=0) R4
-- {1, 0x94022020, 0x94080c9e, 0x94060111, 0x94000a1b}, // {1, 0x94022010, 0x9408062e, 0x94060111, 0x94000a23},
-+ {1, 0x94022020, 0x94080c9e, 0x94060111, 0x94000a1b}, // {1, 0x94022010, 0x9408062e, 0x94060111, 0x94000a23},
- {2, 0x94022020, 0x94080ca2, 0x94060111, 0x94000a1b},
- {3, 0x94022020, 0x94080ca6, 0x94060111, 0x94000a1b},
- {4, 0x94022020, 0x94080caa, 0x94060111, 0x94000a1b},
-@@ -157,15 +157,15 @@
- {8, 0x94022020, 0x94080cba, 0x94060111, 0x94000a1b},
- {9, 0x94022020, 0x94080cbe, 0x94060111, 0x94000a1b},
- {10, 0x94022020, 0x94080d02, 0x94060111, 0x94000a1b},
-- {11, 0x94022020, 0x94080d06, 0x94060111, 0x94000a1b}, // {11, 0x94022010, 0x94080682, 0x94060111, 0x94000a23},
-+ {11, 0x94022020, 0x94080d06, 0x94060111, 0x94000a1b}, // {11, 0x94022010, 0x94080682, 0x94060111, 0x94000a23},
- {12, 0x94022020, 0x94080d0a, 0x94060111, 0x94000a1b},
-- {13, 0x94022020, 0x94080d0e, 0x94060111, 0x94000a1b}, // {13, 0x94022010, 0x94080686, 0x94060111, 0x94000a23},
-+ {13, 0x94022020, 0x94080d0e, 0x94060111, 0x94000a1b}, // {13, 0x94022010, 0x94080686, 0x94060111, 0x94000a23},
- {14, 0x94022020, 0x94080d1a, 0x94060111, 0x94000a03}
- };
- #define NUM_OF_2525_CHNL (sizeof(RF2525RegTable) / sizeof(RTMP_RF_REGS))
-
- RTMP_RF_REGS RF2525HBOffsetRegTable[] = {
-- {1, 0x94022020, 0x94080cbe, 0x94060111, 0x94000a1b},
-+ {1, 0x94022020, 0x94080cbe, 0x94060111, 0x94000a1b},
- {2, 0x94022020, 0x94080d02, 0x94060111, 0x94000a1b},
- {3, 0x94022020, 0x94080d06, 0x94060111, 0x94000a1b},
- {4, 0x94022020, 0x94080d0a, 0x94060111, 0x94000a1b},
-@@ -175,9 +175,9 @@
- {8, 0x94022020, 0x94080d1a, 0x94060111, 0x94000a1b},
- {9, 0x94022020, 0x94080d1e, 0x94060111, 0x94000a1b},
- {10, 0x94022020, 0x94080d22, 0x94060111, 0x94000a1b},
-- {11, 0x94022020, 0x94080d26, 0x94060111, 0x94000a1b},
-+ {11, 0x94022020, 0x94080d26, 0x94060111, 0x94000a1b},
- {12, 0x94022020, 0x94080d2a, 0x94060111, 0x94000a1b},
-- {13, 0x94022020, 0x94080d2e, 0x94060111, 0x94000a1b},
-+ {13, 0x94022020, 0x94080d2e, 0x94060111, 0x94000a1b},
- {14, 0x94022020, 0x94080d3a, 0x94060111, 0x94000a03}
- };
-
-@@ -195,7 +195,7 @@
- {8, 0x94022020, 0x94081192, 0x94060111, 0x94000a0b},
- {9, 0x94022020, 0x94081196, 0x94060111, 0x94000a0b},
- {10, 0x94022020, 0x9408119a, 0x94060111, 0x94000a0b},
-- {11, 0x94022020, 0x9408119e, 0x94060111, 0x94000a0b},
-+ {11, 0x94022020, 0x9408119e, 0x94060111, 0x94000a0b},
- {12, 0x94022020, 0x940811a2, 0x94060111, 0x94000a0b},
- {13, 0x94022020, 0x940811a6, 0x94060111, 0x94000a0b},
- {14, 0x94022020, 0x940811ae, 0x94060111, 0x94000a1b}
-@@ -212,7 +212,7 @@
- {8, 0x94022010, 0x940808aa, 0x94060111, 0x94000a07},
- {9, 0x94022010, 0x940808aa, 0x94060111, 0x94000a1b},
- {10, 0x94022010, 0x940808ae, 0x94060111, 0x94000a07},
-- {11, 0x94022010, 0x940808ae, 0x94060111, 0x94000a1b},
-+ {11, 0x94022010, 0x940808ae, 0x94060111, 0x94000a1b},
- {12, 0x94022010, 0x940808b2, 0x94060111, 0x94000a07},
- {13, 0x94022010, 0x940808b2, 0x94060111, 0x94000a1b},
- {14, 0x94022010, 0x940808b6, 0x94060111, 0x94000a23}
-@@ -238,7 +238,7 @@
- {14, 0x94022020, 0x940011ae, 0x94000101, 0x94000a1b},
-
- // still lack of MMAC(Japan) ch 34,38,42,46
--
-+
- {36, 0x94022010, 0x94018896, 0x94000101, 0x94000a1f},
- {40, 0x94022010, 0x9401889a, 0x94000101, 0x94000a1f},
- {44, 0x94022010, 0x9401889e, 0x94000101, 0x94000a1f},
-@@ -247,7 +247,7 @@
- {66, 0x94022010, 0x940188aa, 0x94000101, 0x94000a1f},
- {60, 0x94022010, 0x940188ae, 0x94000101, 0x94000a1f},
- {64, 0x94022010, 0x940188b2, 0x94000101, 0x94000a1f},
--
-+
- {100, 0x94022010, 0x94008802, 0x94000101, 0x94000a0f},
- {104, 0x94022010, 0x94008806, 0x94000101, 0x94000a0f},
- {108, 0x94022010, 0x9400880a, 0x94000101, 0x94000a0f},
-@@ -259,7 +259,7 @@
- {132, 0x94022010, 0x94008822, 0x94000101, 0x94000a0f},
- {136, 0x94022010, 0x94008826, 0x94000101, 0x94000a0f},
- {140, 0x94022010, 0x9400882a, 0x94000101, 0x94000a0f},
--
-+
- {149, 0x94022020, 0x940090a6, 0x94000101, 0x94000a07},
- {153, 0x94022020, 0x940090ae, 0x94000101, 0x94000a07},
- {157, 0x94022020, 0x940090b6, 0x94000101, 0x94000a07},
-@@ -270,14 +270,14 @@
- /*
- ==========================================================================
- Description:
-- initialize the MLME task and its data structure (queue, spinlock,
-+ initialize the MLME task and its data structure (queue, spinlock,
- timer, state machines).
- Return:
- always return NDIS_STATUS_SUCCESS
- ==========================================================================
- */
- NDIS_STATUS MlmeInit(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- NDIS_STATUS Status = NDIS_STATUS_SUCCESS;
-
-@@ -285,8 +285,8 @@
- return Status;
-
- DBGPRINT(RT_DEBUG_TRACE, "--> MLME Initialize\n");
--
-- do
-+
-+ do
- {
- pAd->Mlme.Running = FALSE;
- spin_lock_init(&pAd->Mlme.TaskLock);
-@@ -298,10 +298,10 @@
- // init state machines
- ASSERT(ASSOC_FUNC_SIZE == MAX_ASSOC_MSG * MAX_ASSOC_STATE);
- AssocStateMachineInit(pAd, &pAd->Mlme.AssocMachine, pAd->Mlme.AssocFunc);
--
-+
- ASSERT(AUTH_FUNC_SIZE == MAX_AUTH_MSG * MAX_AUTH_STATE);
- AuthStateMachineInit(pAd, &pAd->Mlme.AuthMachine, pAd->Mlme.AuthFunc);
--
-+
- ASSERT(AUTH_RSP_FUNC_SIZE == MAX_AUTH_RSP_MSG * MAX_AUTH_RSP_STATE);
- AuthRspStateMachineInit(pAd, &pAd->Mlme.AuthRspMachine, pAd->Mlme.AuthRspFunc);
-
-@@ -310,8 +310,8 @@
-
- ASSERT(WPA_PSK_FUNC_SIZE == MAX_WPA_PSK_MSG * MAX_WPA_PSK_STATE);
- WpaPskStateMachineInit(pAd,&pAd->Mlme.WpaPskMachine,pAd->Mlme.WpaPskFunc);
--
-- // Since we are using switch/case to implement it, the init is different from the above
-+
-+ // Since we are using switch/case to implement it, the init is different from the above
- // state machine init
- MlmeCntlInit(pAd, &pAd->Mlme.CntlMachine, NULL);
-
-@@ -332,7 +332,7 @@
- } while (FALSE);
-
- RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_MLME_INITIALIZED);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "<-- MLME Initialize\n");
-
- return Status;
-@@ -347,83 +347,70 @@
- Mlme has to be initialized, and there are something inside the queue
- Note:
- This function is invoked from MPSetInformation and MPReceive;
-- This task guarantee only one MlmeHandler will run.
-+ This task guarantee only one MlmeHandler will run.
- ==========================================================================
- */
- VOID MlmeHandler(
-- IN PRTMP_ADAPTER pAd)
--{
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-- schedule_work(&pAd->mlme_work);
--}
--
--VOID MlmeWork(void *vpAd)
-+ IN PRTMP_ADAPTER pAd)
- {
-- PRTMP_ADAPTER pAd = vpAd;
--#endif
- MLME_QUEUE_ELEM *Elem = NULL;
- unsigned long flags;
-- int loops = 0;
-
- // Only accept MLME and Frame from peer side, no other (control/data) frame should
- // get into this state machine
-
-- spin_lock_irqsave(&pAd->Mlme.TaskLock,flags);
-- if(pAd->Mlme.Running)
-+ spin_lock_irqsave(&pAd->Mlme.TaskLock, flags);
-+ if(pAd->Mlme.Running)
- {
-- spin_unlock_irqrestore(&pAd->Mlme.TaskLock,flags);
-+ spin_unlock_irqrestore(&pAd->Mlme.TaskLock, flags);
- return;
-- }
-- else
-+ }
-+ else
- {
- pAd->Mlme.Running = TRUE;
- }
-- spin_unlock_irqrestore(&pAd->Mlme.TaskLock,flags);
-+ spin_unlock_irqrestore(&pAd->Mlme.TaskLock, flags);
-+
-+ while (TRUE) {
-+ spin_lock_irqsave(&pAd->Mlme.Queue.Lock, flags);
-+ if (!MlmeDequeue(&pAd->Mlme.Queue, &Elem)) {
-+ spin_unlock_irqrestore(&pAd->Mlme.Queue.Lock, flags);
-+ break;
-+ }
-+ spin_unlock_irqrestore(&pAd->Mlme.Queue.Lock, flags);
-+
-+ if (pAd->PortCfg.BssType == BSS_MONITOR)
-+ continue;
-
-- while (MlmeDequeue(&pAd->Mlme.Queue, &Elem))
-- {
- //From message type, determine which state machine I should drive
-- if (pAd->PortCfg.BssType != BSS_MONITOR)
-+ switch (Elem->Machine)
- {
-- // if dequeue success
-- switch (Elem->Machine)
-- {
-- case ASSOC_STATE_MACHINE:
-- StateMachinePerformAction(pAd, &pAd->Mlme.AssocMachine, Elem);
-- break;
-- case AUTH_STATE_MACHINE:
-- StateMachinePerformAction(pAd, &pAd->Mlme.AuthMachine, Elem);
-- break;
-- case AUTH_RSP_STATE_MACHINE:
-- StateMachinePerformAction(pAd, &pAd->Mlme.AuthRspMachine, Elem);
-- break;
-- case SYNC_STATE_MACHINE:
-- StateMachinePerformAction(pAd, &pAd->Mlme.SyncMachine, Elem);
-- break;
-- case MLME_CNTL_STATE_MACHINE:
-- MlmeCntlMachinePerformAction(pAd, &pAd->Mlme.CntlMachine, Elem);
-- break;
-- case WPA_PSK_STATE_MACHINE:
-- StateMachinePerformAction(pAd, &pAd->Mlme.WpaPskMachine, Elem);
-- break;
-- default:
-- DBGPRINT(RT_DEBUG_TRACE, "ERROR: Illegal machine in MlmeHandler()\n");
-- break;
-- } // end of switch
-+ case ASSOC_STATE_MACHINE:
-+ StateMachinePerformAction(pAd, &pAd->Mlme.AssocMachine, Elem);
-+ break;
-+ case AUTH_STATE_MACHINE:
-+ StateMachinePerformAction(pAd, &pAd->Mlme.AuthMachine, Elem);
-+ break;
-+ case AUTH_RSP_STATE_MACHINE:
-+ StateMachinePerformAction(pAd, &pAd->Mlme.AuthRspMachine, Elem);
-+ break;
-+ case SYNC_STATE_MACHINE:
-+ StateMachinePerformAction(pAd, &pAd->Mlme.SyncMachine, Elem);
-+ break;
-+ case MLME_CNTL_STATE_MACHINE:
-+ MlmeCntlMachinePerformAction(pAd, &pAd->Mlme.CntlMachine, Elem);
-+ break;
-+ case WPA_PSK_STATE_MACHINE:
-+ StateMachinePerformAction(pAd, &pAd->Mlme.WpaPskMachine, Elem);
-+ break;
-+ default:
-+ DBGPRINT(RT_DEBUG_TRACE, "ERROR: Illegal machine in MlmeHandler()\n");
-+ break;
-+ } // end of switch
-
-- // free MLME element
-- Elem->Occupied = FALSE;
-- Elem->MsgLen = 0;
--
-- }
-- else
-- {
-- printk(KERN_ERR DRV_NAME "ERROR: empty Elem in MlmeQueue\n");
-- }
-- loops++;
-- if (loops > 50)
-- /* something wrong - avoid locking up the computer solid */
-- break;
-+ // free MLME element
-+ Elem->Occupied = FALSE;
-+ Elem->MsgLen = 0;
- }
-
- spin_lock_irqsave(&pAd->Mlme.TaskLock,flags);
-@@ -442,7 +429,7 @@
- ==========================================================================
- */
- VOID MlmeHalt(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- MLME_DISASSOC_REQ_STRUCT DisReq;
- MLME_QUEUE_ELEM *MsgElem;
-@@ -455,8 +442,8 @@
- return;
-
- DBGPRINT(RT_DEBUG_TRACE, "==> MlmeHalt\n");
--
-- if (INFRA_ON(pAd) && !RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))
-+
-+ if (INFRA_ON(pAd) && !RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))
- {
- COPY_MAC_ADDR(&DisReq.Addr, &pAd->PortCfg.Bssid);
- DisReq.Reason = REASON_DISASSOC_STA_LEAVING;
-@@ -476,7 +463,7 @@
- // disable BEACON generation and other BEACON related hardware timers
- AsicDisableSync(pAd);
- }
--
-+
- // Cancel pending timers
- RTMPCancelTimer(&pAd->Mlme.AssocAux.AssocTimer);
- RTMPCancelTimer(&pAd->Mlme.AssocAux.ReassocTimer);
-@@ -496,7 +483,7 @@
-
- RTMPCancelTimer(&pAd->PortCfg.RxAnt.RxAntDiversityTimer);
- udelay(1000);
--
-+
- MlmeQueueDestroy(&pAd->Mlme.Queue);
- StateMachineDestroy(&pAd->Mlme.AssocMachine);
- StateMachineDestroy(&pAd->Mlme.AuthMachine);
-@@ -506,11 +493,11 @@
- //NdisFreeSpinLock(&pAd->Mlme.Queue.Lock);
- //NdisFreeSpinLock(&pAd->Mlme.TaskLock);
- // NdisFreeSpinLock(&pAd->PortCfg.MacTab.Lock);
--
-+
- MlmeFreeMemoryHandler(pAd); //Free MLME memory handler
-
- RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_MLME_INITIALIZED);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "<== MlmeHalt\n");
- kfree(MsgElem);
- }
-@@ -519,42 +506,33 @@
- ==========================================================================
- Description:
- This routine is executed periodically to -
-- 1. Decide if it's a right time to turn on PwrMgmt bit of all
-+ 1. Decide if it's a right time to turn on PwrMgmt bit of all
- outgoiing frames
- 2. Calculate ChannelQuality based on statistics of the last
-- period, so that TX rate won't toggling very frequently between a
-+ period, so that TX rate won't toggling very frequently between a
- successful TX and a failed TX.
-- 3. If the calculated ChannelQuality indicated current connection not
-+ 3. If the calculated ChannelQuality indicated current connection not
- healthy, then a ROAMing attempt is tried here.
- ==========================================================================
- */
- #define ADHOC_BEACON_LOST_TIME (10*HZ) // 4 sec
- VOID MlmePeriodicExec(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
- ULONG Now32;
- CSR15_STRUC Csr15;
-
-- if (pAd->PortCfg.BssType == BSS_MONITOR)
-- {
-- RTMPSetTimer(pAd, &pAd->Mlme.PeriodicTimer, MLME_TASK_EXEC_INTV);
-- return;
-- }
--
-- if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF))
-- {
-- RTMPSetTimer(pAd, &pAd->Mlme.PeriodicTimer, MLME_TASK_EXEC_INTV);
-- return;
-- }
--
-- if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS))
-- {
-- RTMPSetTimer(pAd, &pAd->Mlme.PeriodicTimer, MLME_TASK_EXEC_INTV);
-+ if ((pAd->PortCfg.BssType == BSS_MONITOR)
-+ || RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)
-+ || RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS)
-+ || RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)
-+ ) {
-+ RTMPSetTimer(pAd, &pAd->Mlme.PeriodicTimer, MLME_TASK_EXEC_INTV);
- return;
- }
-
-- // check every 2 second. If rcv-beacon less than 5 in the past 2 second, then AvgRSSI is no longer a
-+ // check every 2 second. If rcv-beacon less than 5 in the past 2 second, then AvgRSSI is no longer a
- // valid indication of the distance between this AP and its clients.
- if (pAd->MediaState == NdisMediaStateConnected)
- {
-@@ -568,7 +546,7 @@
- else
- pAd->PortCfg.NumOfAvgRssiSample = 0;
- }
--
-+
- Now32 = jiffies;
-
- if (pAd->RalinkCounters.MgmtRingFullCount >= 2)
-@@ -579,7 +557,7 @@
- {
- pAd->RalinkCounters.MgmtRingFullCount = 0;
- }
--
-+
- if ((pAd->PortCfg.bBlockAssoc == TRUE) && (pAd->PortCfg.LastMicErrorTime + (60 * HZ) < Now32))
- {
- pAd->PortCfg.bBlockAssoc = FALSE;
-@@ -600,11 +578,11 @@
- }
-
-
--#ifndef WIFI_TEST
-+#ifndef WIFI_TEST
- // danamic tune BBP R17 to find a balance between sensibility and noise isolation
-- // 2003-12-05 For 2560C and before, to avoid collision with MAC ASIC, limit
-+ // 2003-12-05 For 2560C and before, to avoid collision with MAC ASIC, limit
- // BBP R17 tuning to be within 20 seconds after LINK UP. 2560D (R0=4) and
-- // after can always enable R17 tuning
-+ // after can always enable R17 tuning
- if (pAd->PortCfg.Rt2560Version >= RT2560_VER_D)
- AsicBbpTuning(pAd);
- else if ((pAd->MediaState == NdisMediaStateConnected) && (pAd->Mlme.PeriodicRound <= 20))
-@@ -642,23 +620,23 @@
- if (pAd->PortCfg.MicErrCnt >= 3)
- {
- MLME_DISASSOC_REQ_STRUCT DisassocReq;
--
-+
- // disassoc from current AP first
- DBGPRINT(RT_DEBUG_TRACE, "MLME - disassociate with current AP after sending second continuous EAPOL frame\n");
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_MIC_FAILURE);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
- sizeof(MLME_DISASSOC_REQ_STRUCT), &DisassocReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_DISASSOC;
- pAd->PortCfg.bBlockAssoc = TRUE;
- }
--
-- else
-+
-+ else
- {
- // send out a NULL frame every 10 sec. for what??? inform "PwrMgmt" bit?
- if ((pAd->Mlme.PeriodicRound % 10) == 8)
- EnqueueNullFrame(pAd, pAd->PortCfg.TxRate);
--
-+
- if (CQI_IS_BAD(pAd->Mlme.ChannelQuality))
- {
- pAd->RalinkCounters.BadCQIAutoRecoveryCount ++;
-@@ -669,7 +647,7 @@
- else if (CQI_IS_FAIR(pAd->Mlme.ChannelQuality) || CQI_IS_POOR(pAd->Mlme.ChannelQuality))
- {
- // perform aggresive roaming only when SECURITY OFF or WEP64/128;
-- // WPA and WPA-PSK has no aggresive roaming because re-negotiation
-+ // WPA and WPA-PSK has no aggresive roaming because re-negotiation
- // between 802.1x supplicant and authenticator/AAA server is required
- // but can't be guaranteed.
- if (pAd->PortCfg.AuthMode < Ndis802_11AuthModeWPA)
-@@ -686,7 +664,7 @@
- // minimum BEACON to tell the peer I'm alive.
- // drawback is that this BEACON won't well align at TBTT boundary.
- RTMP_IO_READ32(pAd, CSR15, &Csr15.word); // read-n-clear "BcnSent" bit
-- if (Csr15.field.BeaconSent == 0)
-+ if (Csr15.field.BeaconSent == 0)
- EnqueueBeaconFrame(pAd); // software send BEACON
- }
- else
-@@ -697,14 +675,14 @@
- (pAd->PortCfg.MaxDesiredRate > RATE_11) &&
- ((pAd->PortCfg.Last11bBeaconRxTime + (5 * HZ)) < Now32))
- {
-- DBGPRINT(RT_DEBUG_TRACE, "last 11B peer left, update Tx rates\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "last 11B peer left, update Tx rates\n");
- memcpy(pAd->PortCfg.SupportedRates, pAd->PortCfg.IbssConfig.SupportedRates, MAX_LEN_OF_SUPPORTED_RATES);
- pAd->PortCfg.SupportedRatesLen = pAd->PortCfg.IbssConfig.SupportedRatesLen;
- MlmeUpdateTxRates(pAd, FALSE);
- MakeIbssBeacon(pAd); // supported rates changed
- }
- }
--
-+
- #ifndef SINGLE_ADHOC_LINKUP
- // If all peers leave, and this STA becomes the last one in this IBSS, then change MediaState
- // to DISCONNECTED. But still holding this IBSS (i.e. sending BEACON) so that other STAs can
-@@ -712,7 +690,7 @@
- if ((pAd->PortCfg.LastBeaconRxTime + ADHOC_BEACON_LOST_TIME < Now32) &&
- (pAd->MediaState == NdisMediaStateConnected))
- {
-- DBGPRINT(RT_DEBUG_TRACE, "MMCHK - excessive BEACON lost, last STA in this IBSS, MediaState=Disconnected\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "MMCHK - excessive BEACON lost, last STA in this IBSS, MediaState=Disconnected\n");
-
- pAd->MediaState = NdisMediaStateDisconnected;
- // clean up previous SCAN result, add current BSS back to table if any
-@@ -731,7 +709,7 @@
- if ((pAd->PortCfg.BssTab.BssNr==0) && (pAd->Mlme.CntlMachine.CurrState == CNTL_IDLE))
- {
- MLME_SCAN_REQ_STRUCT ScanReq;
--
-+
- if ((pAd->PortCfg.LastScanTime + 10 * HZ) < Now32)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - No matching BSS, start a new scan\n");
-@@ -745,7 +723,7 @@
- }
- else if (pAd->PortCfg.BssType == BSS_INDEP) // Quit the forever scan when in a very clean room
- MlmeAutoRecoverNetwork(pAd);
-- //MlmeAutoReconnectLastSSID(pAd);
-+ //MlmeAutoReconnectLastSSID(pAd);
- }
- else if (pAd->Mlme.CntlMachine.CurrState == CNTL_IDLE)
- {
-@@ -759,7 +737,7 @@
- }
- else
- MlmeAutoReconnectLastSSID(pAd);
--
-+
- DBGPRINT(RT_DEBUG_INFO, "pAd->PortCfg.AutoReconnect is TRUE\n");
- }
- }
-@@ -772,7 +750,7 @@
-
- RTMPSetTimer(pAd, &pAd->Mlme.PeriodicTimer, MLME_TASK_EXEC_INTV);
- }
--
-+
- VOID MlmeAutoScan(
- IN PRTMP_ADAPTER pAd)
- {
-@@ -783,17 +761,17 @@
-
- // tell CNTL state machine NOT to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by driver itself.
-- pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
--
-- MlmeEnqueue(&pAd->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_BSSID_LIST_SCAN,
-- 0,
-+ pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+
-+ MlmeEnqueue(&pAd->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_BSSID_LIST_SCAN,
-+ 0,
- NULL);
- MlmeHandler(pAd);
- }
- }
--
-+
- VOID MlmeAutoRecoverNetwork(
- IN PRTMP_ADAPTER pAd)
- {
-@@ -808,18 +786,18 @@
-
- // tell CNTL state machine NOT to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by driver itself.
-- pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
--
-- MlmeEnqueue(&pAd->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_SSID,
-- sizeof(NDIS_802_11_SSID),
-+ pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+
-+ MlmeEnqueue(&pAd->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_SSID,
-+ sizeof(NDIS_802_11_SSID),
- &OidSsid);
- MlmeHandler(pAd);
- }
-
- }
--
-+
- VOID MlmeAutoReconnectLastSSID(
- IN PRTMP_ADAPTER pAd)
- {
-@@ -833,12 +811,12 @@
- DBGPRINT(RT_DEBUG_TRACE, "Driver auto reconnect to last OID_802_11_SSID setting - %s\n", pAd->Mlme.CntlAux.Ssid);
-
- // We will only try this attemp once, therefore change the AutoReconnect flag afterwards.
-- pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
--
-- MlmeEnqueue(&pAd->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_SSID,
-- sizeof(NDIS_802_11_SSID),
-+ pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+
-+ MlmeEnqueue(&pAd->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_SSID,
-+ sizeof(NDIS_802_11_SSID),
- &OidSsid);
- MlmeHandler(pAd);
- }
-@@ -867,17 +845,17 @@
- for (i = 0; i < pBssTab->BssNr; i++)
- {
- pBss = &pBssTab->BssEntry[i];
--
-- if ((pBssTab->BssEntry[i].LastBeaconRxTime + BEACON_LOST_TIME) < Now32)
-+
-+ if ((pBssTab->BssEntry[i].LastBeaconRxTime + BEACON_LOST_TIME) < Now32)
- continue; // AP disappear
- if (pBss->Rssi <= RSSI_THRESHOLD_FOR_ROAMING)
- continue; // RSSI too weak. forget it.
- if (MAC_ADDR_EQUAL(&pBssTab->BssEntry[i].Bssid, &pAd->PortCfg.Bssid))
- continue; // skip current AP
-- if (CQI_IS_FAIR(pAd->Mlme.ChannelQuality) && (pAd->PortCfg.LastRssi + RSSI_DELTA > pBss->Rssi))
-+ if (CQI_IS_FAIR(pAd->Mlme.ChannelQuality) && (pAd->PortCfg.LastRssi + RSSI_DELTA > pBss->Rssi))
- continue; // we're still okay, only AP with stronger RSSI is eligible for roaming
-
-- // AP passing all above rules is put into roaming candidate table
-+ // AP passing all above rules is put into roaming candidate table
- memcpy(&pRoamTab->BssEntry[pRoamTab->BssNr], pBss, sizeof(BSS_ENTRY));
- pRoamTab->BssNr += 1;
- }
-@@ -889,23 +867,23 @@
- {
- // tell CNTL state machine NOT to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by driver itself, not from NDIS.
-- pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
--
-+ pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+
- pAd->RalinkCounters.PoorCQIRoamingCount ++;
- DBGPRINT(RT_DEBUG_TRACE, "MMCHK - Roaming attempt #%d\n", pAd->RalinkCounters.PoorCQIRoamingCount);
- MlmeEnqueue(&pAd->Mlme.Queue, MLME_CNTL_STATE_MACHINE, MT2_MLME_ROAMING_REQ, 0, NULL);
- MlmeHandler(pAd);
- }
- }
--
-+
- }
-
- /*
- ==========================================================================
- Description:
-- This routine calculates TxPER, RxPER of the past N-sec period. And
-- according to the calculation result, ChannelQuality is calculated here
-- to decide if current AP is still doing the job.
-+ This routine calculates TxPER, RxPER of the past N-sec period. And
-+ according to the calculation result, ChannelQuality is calculated here
-+ to decide if current AP is still doing the job.
-
- If ChannelQuality is not good, a ROAMing attempt may be tried later.
- Output:
-@@ -923,11 +901,11 @@
- //
- // monitor TX counters change for the past period
- //
-- TxFailCnt = pAd->WlanCounters.FailedCount.vv.LowPart -
-+ TxFailCnt = pAd->WlanCounters.FailedCount.vv.LowPart -
- pAd->Mlme.PrevWlanCounters.FailedCount.vv.LowPart;
-- TxRetryCnt = pAd->WlanCounters.RetryCount.vv.LowPart -
-+ TxRetryCnt = pAd->WlanCounters.RetryCount.vv.LowPart -
- pAd->Mlme.PrevWlanCounters.RetryCount.vv.LowPart;
-- TxOkCnt = pAd->WlanCounters.TransmittedFragmentCount.vv.LowPart -
-+ TxOkCnt = pAd->WlanCounters.TransmittedFragmentCount.vv.LowPart -
- pAd->Mlme.PrevWlanCounters.TransmittedFragmentCount.vv.LowPart;
- TxCnt = TxOkCnt + TxFailCnt;
-
-@@ -947,16 +925,16 @@
- pAd->WlanCounters.FCSErrorCount.vv.LowPart += ((Cnt0 & 0x0000ffff) >> 7);
- if (pAd->WlanCounters.FCSErrorCount.vv.LowPart < OldFcsCount)
- pAd->WlanCounters.FCSErrorCount.vv.HighPart++;
--
-+
- // Add FCS error count to private counters
- OldFcsCount = pAd->RalinkCounters.RealFcsErrCount.vv.LowPart;
- pAd->RalinkCounters.RealFcsErrCount.vv.LowPart += Cnt0;
- if (pAd->RalinkCounters.RealFcsErrCount.vv.LowPart < OldFcsCount)
- pAd->RalinkCounters.RealFcsErrCount.vv.HighPart++;
--
-- RxOkCnt = pAd->WlanCounters.ReceivedFragmentCount.vv.LowPart -
-+
-+ RxOkCnt = pAd->WlanCounters.ReceivedFragmentCount.vv.LowPart -
- pAd->Mlme.PrevWlanCounters.ReceivedFragmentCount.vv.LowPart;
-- RxFailCnt = pAd->RalinkCounters.RealFcsErrCount.vv.LowPart -
-+ RxFailCnt = pAd->RalinkCounters.RealFcsErrCount.vv.LowPart -
- pAd->Mlme.PrevWlanCounters.FCSErrorCount.vv.LowPart;
- RxCnt = RxOkCnt + RxFailCnt;
-
-@@ -966,8 +944,8 @@
- //
- // decide ChannelQuality based on: 1)last BEACON received time, 2)last RSSI, 3)TxPER, and 4)RxPER
- //
-- // This value also decides when all roaming fails (or no roaming candidates at
-- // all), should this STA stay with original AP, or a LinkDown signal
-+ // This value also decides when all roaming fails (or no roaming candidates at
-+ // all), should this STA stay with original AP, or a LinkDown signal
- // is indicated to NDIS
- //
- if (INFRA_ON(pAd) &&
-@@ -977,7 +955,7 @@
- // Ignore lost beacon if traffic still goes well
- if (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS) && (TxOkCnt < 2))
- {
-- DBGPRINT(RT_DEBUG_TRACE, "BEACON lost for more than %d sec with TxOkCnt=%d, let CQI = 0\n", BEACON_LOST_TIME/HZ, TxOkCnt);
-+ DBGPRINT(RT_DEBUG_TRACE, "BEACON lost for more than %d sec with TxOkCnt=%d, let CQI = 0\n", BEACON_LOST_TIME/HZ, TxOkCnt);
- pAd->Mlme.ChannelQuality = 0;
- // Lost AP, send disconnect & link down event
- LinkDown(pAd);
-@@ -986,19 +964,19 @@
- else
- {
- // ChannelQuality = W1*RSSI + W2*TxPRR + W3*RxPER (RSSI 0..100), (TxPER 100..0), (RxPER 100..0)
-- pAd->Mlme.ChannelQuality = (RSSI_WEIGHTING * pAd->PortCfg.LastRssi +
-- TX_WEIGHTING * (100 - TxPRR) +
-+ pAd->Mlme.ChannelQuality = (RSSI_WEIGHTING * pAd->PortCfg.LastRssi +
-+ TX_WEIGHTING * (100 - TxPRR) +
- RX_WEIGHTING* (100 - RxPER)) / 100;
- if (pAd->Mlme.ChannelQuality >= 100)
- pAd->Mlme.ChannelQuality = 100;
- }
--
-+
- // latch current WLAN counters for next check-for-roaming usage
- memcpy(&pAd->Mlme.PrevWlanCounters, &pAd->WlanCounters, sizeof(COUNTER_802_11));
- // make sure copy the real FCS counts into previous mlme counter structure.
- pAd->Mlme.PrevWlanCounters.FCSErrorCount = pAd->RalinkCounters.RealFcsErrCount;
--
-- DBGPRINT(RT_DEBUG_INFO, "MMCHK - CQI= %d, (Tx Fail=%d/Retry=%d/Total=%d, Rx Fail=%d/Total=%d, RSSI=%d dbm)\n",
-+
-+ DBGPRINT(RT_DEBUG_INFO, "MMCHK - CQI= %d, (Tx Fail=%d/Retry=%d/Total=%d, Rx Fail=%d/Total=%d, RSSI=%d dbm)\n",
- pAd->Mlme.ChannelQuality, TxFailCnt, TxRetryCnt, TxCnt, RxFailCnt, RxCnt, pAd->PortCfg.LastRssi - pAd->PortCfg.RssiToDbm);
-
- }
-@@ -1006,13 +984,13 @@
- /*
- ==========================================================================
- Description:
-- This routine calculates the acumulated TxPER of eaxh TxRate. And
-- according to the calculation result, change PortCfg.TxRate which
-- is the stable TX Rate we expect the Radio situation could sustained.
-+ This routine calculates the acumulated TxPER of eaxh TxRate. And
-+ according to the calculation result, change PortCfg.TxRate which
-+ is the stable TX Rate we expect the Radio situation could sustained.
-
-- PortCfg.TxRate will change dynamically within {RATE_1/RATE_6, MaxTxRate}
-+ PortCfg.TxRate will change dynamically within {RATE_1/RATE_6, MaxTxRate}
- Output:
-- PortCfg.TxRate -
-+ PortCfg.TxRate -
- NOTE:
- call this routine every second
- ==========================================================================
-@@ -1032,9 +1010,9 @@
- {
- if (pAd->PortCfg.EnableAutoRateSwitching == FALSE)
- break;
--
-+
- // if no traffic in the past 1-sec period, don't change TX rate,
-- // but clear all bad history. because the bad history may affect the next
-+ // but clear all bad history. because the bad history may affect the next
- // Chariot throughput test
- if (TxTotalCnt == 0)
- {
-@@ -1043,7 +1021,7 @@
- memset(pAd->DrsCounters.PER, 0, MAX_LEN_OF_SUPPORTED_RATES);
- break;
- }
--
-+
- // decide the next upgrade rate and downgrade rate, if any
- if (pAd->PortCfg.PhyMode == PHY_11BG_MIXED)
- {
-@@ -1062,7 +1040,7 @@
- }
- else // PHY_11ABG_MIXED
- {
-- if (pAd->PortCfg.Channel > 14)
-+ if (pAd->PortCfg.Channel > 14)
- {
- UpRate = Phy11ANextRateUpward[CurrRate];
- DownRate = Phy11ANextRateDownward[CurrRate];
-@@ -1081,7 +1059,7 @@
- if (TxTotalCnt > 15)
- {
- TxErrorRatio = ((pAd->DrsCounters.OneSecTxRetryOkCount + pAd->DrsCounters.OneSecTxFailCount) *100) / TxTotalCnt;
--
-+
- // 2560D and after has implemented ASIC-based OFDM rate switching,
- // but not 2560C & before. thus software use different PER for rate switching
- if (pAd->PortCfg.Rt2560Version >= RT2560_VER_D)
-@@ -1106,20 +1084,20 @@
- fUpgradeQuality = TRUE;
- if (pAd->DrsCounters.TxQuality[CurrRate])
- pAd->DrsCounters.TxQuality[CurrRate] --; // quality very good in CurrRate
--
-+
- if (pAd->DrsCounters.TxRateUpPenalty)
- pAd->DrsCounters.TxRateUpPenalty --;
- else if (pAd->DrsCounters.TxQuality[UpRate])
- pAd->DrsCounters.TxQuality[UpRate] --; // may improve next UP rate's quality
- }
--
-+
- }
--
-+
- // if not enough TX samples, decide by heuristic rules
- else
- {
- TxErrorRatio = 0;
--
-+
- // Downgrade TX quality upon any TX failure in the past second
- if (pAd->DrsCounters.OneSecTxFailCount)
- {
-@@ -1155,22 +1133,22 @@
-
- if (pAd->DrsCounters.fNoisyEnvironment)
- {
-- DBGPRINT(RT_DEBUG_TRACE,"DRS(noisy):");
-+ DBGPRINT(RT_DEBUG_TRACE,"DRS(noisy):");
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE,"DRS:");
-+ DBGPRINT(RT_DEBUG_TRACE,"DRS:");
- }
-- DBGPRINT(RT_DEBUG_TRACE, "Qty[%d]=%d PER=%d%% %d-sec, Qty[%d]=%d, Pty=%d\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "Qty[%d]=%d PER=%d%% %d-sec, Qty[%d]=%d, Pty=%d\n",
- RateIdToMbps[CurrRate], pAd->DrsCounters.TxQuality[CurrRate],
- TxErrorRatio,
- pAd->DrsCounters.CurrTxRateStableTime,
- RateIdToMbps[UpRate], pAd->DrsCounters.TxQuality[UpRate],
- pAd->DrsCounters.TxRateUpPenalty);
--
-+
- // 2004-3-13 special case: Claim noisy environment
-- // decide if there was a false "rate down" in the past 2 sec due to noisy
-- // environment. if so, we would rather switch back to the higher TX rate.
-+ // decide if there was a false "rate down" in the past 2 sec due to noisy
-+ // environment. if so, we would rather switch back to the higher TX rate.
- // criteria -
- // 1. there's a higher rate available, AND
- // 2. there was a rate-down happened, AND
-@@ -1179,8 +1157,8 @@
- if ((UpRate != CurrRate) &&
- (pAd->DrsCounters.LastSecTxRateChangeAction == 2) &&
- (TxTotalCnt > 15) && // this line is to prevent the case that not enough TX sample causing PER=0%
-- (pAd->DrsCounters.PER[CurrRate] < 75) &&
-- ((pAd->DrsCounters.PER[CurrRate] > 20) || (pAd->DrsCounters.fNoisyEnvironment)) &&
-+ (pAd->DrsCounters.PER[CurrRate] < 75) &&
-+ ((pAd->DrsCounters.PER[CurrRate] > 20) || (pAd->DrsCounters.fNoisyEnvironment)) &&
- ((pAd->DrsCounters.PER[CurrRate]+5) > pAd->DrsCounters.PER[UpRate]))
- {
- // we believe this is a noisy environment. better stay at UpRate
-@@ -1218,12 +1196,12 @@
-
- if (JumpUpRate > pAd->PortCfg.MaxTxRate)
- JumpUpRate = pAd->PortCfg.MaxTxRate;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"DRS: #### leave Noisy environment ####, RSSI=%d, JumpUpRate=%d\n",
-
- pAd->PortCfg.AvgRssi - RSSI_TO_DBM_OFFSET, RateIdToMbps[JumpUpRate]);
-
--
-+
- if (JumpUpRate > CurrRate)
- {
- pAd->PortCfg.TxRate = JumpUpRate;
-@@ -1231,15 +1209,15 @@
- }
- }
-
-- // we're going to upgrade CurrRate to UpRate at next few seconds,
-- // but before that, we'd better try a NULL frame @ UpRate and
-+ // we're going to upgrade CurrRate to UpRate at next few seconds,
-+ // but before that, we'd better try a NULL frame @ UpRate and
- // see if UpRate is stable or not. If this NULL frame fails, it will
- // downgrade TxQuality[CurrRate], so that STA won't switch to
- // to UpRate in the next second
- // 2004-04-07 requested by David Tung - sent test frames only in OFDM rates
-- if (fUpgradeQuality &&
-- INFRA_ON(pAd) &&
-- (UpRate != CurrRate) &&
-+ if (fUpgradeQuality &&
-+ INFRA_ON(pAd) &&
-+ (UpRate != CurrRate) &&
- (UpRate > RATE_11) &&
- (pAd->DrsCounters.TxQuality[CurrRate] <= 1) &&
- (pAd->DrsCounters.TxQuality[UpRate] <= 1))
-@@ -1260,16 +1238,16 @@
- #endif
- pAd->PortCfg.TxRate = DownRate;
- }
-- else if ((pAd->DrsCounters.TxQuality[CurrRate] <= 0) &&
-+ else if ((pAd->DrsCounters.TxQuality[CurrRate] <= 0) &&
- (pAd->DrsCounters.TxQuality[UpRate] <=0) &&
- (CurrRate != UpRate))
- {
- pAd->PortCfg.TxRate = UpRate;
- }
--
-+
- }while (FALSE);
-
--
-+
- // if rate-up happen, clear all bad history of all TX rates
- if (pAd->PortCfg.TxRate > CurrRate)
- {
-@@ -1291,7 +1269,7 @@
- pAd->DrsCounters.TxRateUpPenalty = 2; // add 2 sec penalty
- else // >= 8 sec
- pAd->DrsCounters.TxRateUpPenalty = 0; // no penalty
--
-+
- pAd->DrsCounters.CurrTxRateStableTime = 0;
- pAd->DrsCounters.LastSecTxRateChangeAction = 2; // rate DOWN
- pAd->DrsCounters.TxQuality[pAd->PortCfg.TxRate] = 0;
-@@ -1299,7 +1277,7 @@
- }
- else
- pAd->DrsCounters.LastSecTxRateChangeAction = 0; // rate no change
--
-+
- // reset all OneSecxxx counters
- pAd->DrsCounters.OneSecTxFailCount = 0;
- pAd->DrsCounters.OneSecTxOkCount = 0;
-@@ -1309,10 +1287,10 @@
- /*
- ==========================================================================
- Description:
-- This routine is executed periodically inside MlmePeriodicExec() after
-+ This routine is executed periodically inside MlmePeriodicExec() after
- association with an AP.
- It checks if PortCfg.Psm is consistent with user policy (recorded in
-- PortCfg.WindowsPowerMode). If not, enforce user policy. However,
-+ PortCfg.WindowsPowerMode). If not, enforce user policy. However,
- there're some conditions to consider:
- 1. we don't support power-saving in ADHOC mode, so Psm=PWR_ACTIVE all
- the time when Mibss==TRUE
-@@ -1334,7 +1312,7 @@
- // 4. CNTL state machine is not doing SCANning
- // 5. no TX SUCCESS event for the past period
- PowerMode = pAd->PortCfg.WindowsPowerMode;
--
-+
- if (INFRA_ON(pAd) &&
- (PowerMode != Ndis802_11PowerModeCAM) &&
- (pAd->PortCfg.Psm == PWR_ACTIVE) &&
-@@ -1344,21 +1322,21 @@
- MlmeSetPsmBit(pAd, PWR_SAVE);
- EnqueueNullFrame(pAd, pAd->PortCfg.TxRate);
- }
--
-+
- // latch current count for next-time comparison
- pAd->Mlme.PrevTxCnt = pAd->WlanCounters.TransmittedFragmentCount.vv.LowPart;
-
- }
-
- VOID MlmeSetPsmBit(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN USHORT psm)
- {
- TXCSR7_STRUC txcsr7;
--
-+
- txcsr7.word = 0;
-- pAd->PortCfg.Psm = psm;
--
-+ pAd->PortCfg.Psm = psm;
-+
- DBGPRINT(RT_DEBUG_TRACE, "MMCHK - change PSM bit to %d <<<\n", psm);
- if (psm == PWR_SAVE)
- {
-@@ -1373,14 +1351,14 @@
- }
-
- VOID MlmeSetTxPreamble(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN USHORT TxPreamble)
- {
- ULONG Plcp1MCsr = 0x00700400; // 0x13c, ACK/CTS PLCP at 1 Mbps
- ULONG Plcp2MCsr = 0x00380401; // 0x140, ACK/CTS PLCP at 2 Mbps
- ULONG Plcp5MCsr = 0x00150402; // 0x144, ACK/CTS PLCP at 5.5 Mbps
- ULONG Plcp11MCsr = 0x000b8403; // 0x148, ACK/CTS PLCP at 11 Mbps
--
-+
- if (TxPreamble == Rt802_11PreambleShort)
- {
- DBGPRINT(RT_DEBUG_TRACE, "MlmeSetTxPreamble (= SHORT PREAMBLE)\n");
-@@ -1401,7 +1379,7 @@
- RTMP_IO_WRITE32(pAd, PLCP5MCSR, Plcp5MCsr);
- RTMP_IO_WRITE32(pAd, PLCP11MCSR, Plcp11MCsr);
- }
--
-+
- VOID MlmeUpdateTxRates(
- IN PRTMP_ADAPTER pAd,
- IN BOOLEAN bLinkUp)
-@@ -1436,14 +1414,14 @@
-
- // 2003-12-10 802.11g WIFI spec disallow OFDM rates in 802.11g ADHOC mode
- if ((pAd->PortCfg.BssType == BSS_INDEP) &&
-- (pAd->PortCfg.PhyMode == PHY_11BG_MIXED) &&
-+ (pAd->PortCfg.PhyMode == PHY_11BG_MIXED) &&
- (pAd->PortCfg.AdhocMode == 0) &&
- (MaxDesire > RATE_11))
- MaxDesire = RATE_11;
--
-+
- pAd->PortCfg.MaxDesiredRate = MaxDesire;
--
-- // Auto rate switching is enabled only if more than one DESIRED RATES are
-+
-+ // Auto rate switching is enabled only if more than one DESIRED RATES are
- // specified; otherwise disabled
- if (num <= 1)
- pAd->PortCfg.EnableAutoRateSwitching = FALSE;
-@@ -1455,66 +1433,66 @@
- {
- switch (pAd->PortCfg.SupportedRates[i] & 0x7f)
- {
-- case 2: Rate = RATE_1;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0001;
-+ case 2: Rate = RATE_1;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0001;
- break;
-- case 4: Rate = RATE_2;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0002;
-+ case 4: Rate = RATE_2;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0002;
- break;
-- case 11:
-- Rate = RATE_5_5;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0004;
-+ case 11:
-+ Rate = RATE_5_5;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0004;
- break;
-- case 22:
-- Rate = RATE_11;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0008;
-+ case 22:
-+ Rate = RATE_11;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0008;
- break;
-- case 12:
-- Rate = RATE_6;
--// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0010;
-+ case 12:
-+ Rate = RATE_6;
-+// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0010;
- break;
-- case 18:
-- Rate = RATE_9;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0020;
-+ case 18:
-+ Rate = RATE_9;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0020;
- break;
-- case 24:
-- Rate = RATE_12;
--// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0040;
-+ case 24:
-+ Rate = RATE_12;
-+// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0040;
- break;
-- case 36:
-- Rate = RATE_18;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0080;
-+ case 36:
-+ Rate = RATE_18;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0080;
- break;
-- case 48:
-- Rate = RATE_24;
--// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0100;
-+ case 48:
-+ Rate = RATE_24;
-+// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0100;
- break;
-- case 72:
-- Rate = RATE_36;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0200;
-+ case 72:
-+ Rate = RATE_36;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0200;
- break;
-- case 96:
-- Rate = RATE_48;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0400;
-+ case 96:
-+ Rate = RATE_48;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0400;
- break;
-- case 108:
-- Rate = RATE_54;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0800;
-+ case 108:
-+ Rate = RATE_54;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0800;
- break;
-- default:
-- Rate = RATE_1;
-+ default:
-+ Rate = RATE_1;
- break;
- }
- if (MaxSupport < Rate) MaxSupport = Rate;
-@@ -1530,7 +1508,7 @@
- pAd->PortCfg.ExpectedACKRate[i] = CurrBasicRate;
- DBGPRINT(RT_DEBUG_INFO,"Expected ACK rate[%d] = %d Mbps\n", RateIdToMbps[i], RateIdToMbps[CurrBasicRate]);
- }
--
-+
- // max tx rate = min {max desire rate, max supported rate}
- if (MaxSupport < MaxDesire)
- pAd->PortCfg.MaxTxRate = MaxSupport;
-@@ -1547,13 +1525,13 @@
- {
- if (pAd->PortCfg.Channel > 14)
- pAd->PortCfg.TxRate = RATE_6; // 802.11a
-- else
-+ else
- {
- short dbm = pAd->PortCfg.AvgRssi - pAd->PortCfg.RssiToDbm;
- if (bLinkUp == TRUE && pAd->PortCfg.MaxTxRate >= RATE_24)
- pAd->PortCfg.TxRate = RATE_24;
- else
-- pAd->PortCfg.TxRate = pAd->PortCfg.MaxTxRate;
-+ pAd->PortCfg.TxRate = pAd->PortCfg.MaxTxRate;
- if (dbm < -75)
- pAd->PortCfg.TxRate = RATE_11;
- else if ((dbm < -70) && (pAd->PortCfg.TxRate > RATE_24))
-@@ -1568,7 +1546,7 @@
- case PHY_11BG_MIXED:
- case PHY_11B:
- pAd->PortCfg.MlmeRate = RATE_2;
--#ifdef WIFI_TEST
-+#ifdef WIFI_TEST
- pAd->PortCfg.RtsRate = RATE_11;
- #else
- pAd->PortCfg.RtsRate = RATE_2;
-@@ -1595,10 +1573,10 @@
- pAd->PortCfg.RtsRate = RATE_2;
- break;
- }
--
-- DBGPRINT(RT_DEBUG_TRACE, " MlmeUpdateTxRates (MaxDesire=%d, MaxSupport=%d, MaxTxRate=%d, Rate Switching =%d)\n",
-+
-+ DBGPRINT(RT_DEBUG_TRACE, " MlmeUpdateTxRates (MaxDesire=%d, MaxSupport=%d, MaxTxRate=%d, Rate Switching =%d)\n",
- RateIdToMbps[MaxDesire], RateIdToMbps[MaxSupport], RateIdToMbps[pAd->PortCfg.MaxTxRate], pAd->PortCfg.EnableAutoRateSwitching);
-- DBGPRINT(RT_DEBUG_TRACE, " MlmeUpdateTxRates (TxRate=%d, RtsRate=%d, BasicRateBitmap=0x%04x)\n",
-+ DBGPRINT(RT_DEBUG_TRACE, " MlmeUpdateTxRates (TxRate=%d, RtsRate=%d, BasicRateBitmap=0x%04x)\n",
- RateIdToMbps[pAd->PortCfg.TxRate], RateIdToMbps[pAd->PortCfg.RtsRate], BasicRateBitmap);
- }
-
-@@ -1623,14 +1601,14 @@
- {
- ASIC_LED_ACT_OFF(pAd);
- }
--
-+
- // Clean up old bss table
- BssTableInit(&pAd->PortCfg.BssTab);
- }
-
- VOID MlmeRadioOn(
- IN PRTMP_ADAPTER pAd)
--{
-+{
- // Turn on radio
- RTMP_IO_WRITE32(pAd, PWRCSR0, 0x3f3b3100);
-
-@@ -1665,12 +1643,12 @@
- * \post
- */
- VOID BssTableInit(
-- IN BSS_TABLE *Tab)
-+ IN BSS_TABLE *Tab)
- {
- int i;
-
- Tab->BssNr = 0;
-- for (i = 0; i < MAX_LEN_OF_BSS_TABLE; i++)
-+ for (i = 0; i < MAX_LEN_OF_BSS_TABLE; i++)
- {
- memset(&Tab->BssEntry[i], 0, sizeof(BSS_ENTRY));
- }
-@@ -1678,23 +1656,23 @@
-
- /*! \brief search the BSS table by SSID
- * \param p_tab pointer to the bss table
-- * \param ssid SSID string
-+ * \param ssid SSID string
- * \return index of the table, BSS_NOT_FOUND if not in the table
- * \pre
- * \post
- * \note search by sequential search
- */
- ULONG BssTableSearch(
-- IN BSS_TABLE *Tab,
-- IN PMACADDR Bssid)
-+ IN BSS_TABLE *Tab,
-+ IN PMACADDR Bssid)
- {
- UCHAR i;
--
-- for (i = 0; i < Tab->BssNr; i++)
-+
-+ for (i = 0; i < Tab->BssNr; i++)
- {
- //printf("comparing %s and %s\n", p_tab->bss[i].ssid, ssid);
-- if (MAC_ADDR_EQUAL(&(Tab->BssEntry[i].Bssid), Bssid))
-- {
-+ if (MAC_ADDR_EQUAL(&(Tab->BssEntry[i].Bssid), Bssid))
-+ {
- return i;
- }
- }
-@@ -1702,15 +1680,15 @@
- }
-
- VOID BssTableDeleteEntry(
-- IN OUT BSS_TABLE *Tab,
-- IN PMACADDR Bssid)
-+ IN OUT BSS_TABLE *Tab,
-+ IN PMACADDR Bssid)
- {
- UCHAR i, j;
--
-- for (i = 0; i < Tab->BssNr; i++)
-+
-+ for (i = 0; i < Tab->BssNr; i++)
- {
- //printf("comparing %s and %s\n", p_tab->bss[i].ssid, ssid);
-- if (MAC_ADDR_EQUAL(&(Tab->BssEntry[i].Bssid), Bssid))
-+ if (MAC_ADDR_EQUAL(&(Tab->BssEntry[i].Bssid), Bssid))
- {
- for (j = i; j < Tab->BssNr - 1; j++)
- {
-@@ -1724,36 +1702,63 @@
-
- UCHAR ZeroSsid[32] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
-+
-+static NDIS_802_11_WEP_STATUS setWepStatus(
-+ IN USHORT mask, // Peer cipher capability set
-+ IN NDIS_802_11_WEP_STATUS WepStatus) // local cipher selection
-+{
-+ static const unsigned char transtoieee[] = {
-+ CIPHER_TYPE_WEP104,0,0,0,CIPHER_TYPE_TKIP,0,CIPHER_TYPE_CCMP,0
-+ };
-+ static const unsigned char transtondis[] = {
-+ Ndis802_11EncryptionDisabled, Ndis802_11WEPEnabled,
-+ Ndis802_11Encryption2Enabled, Ndis802_11WEPKeyAbsent,
-+ Ndis802_11Encryption3Enabled, Ndis802_11WEPEnabled
-+ };
-+ NDIS_802_11_WEP_STATUS wepstatus = Ndis802_11WEPDisabled;
-+ USHORT suite = transtoieee[WepStatus];
-+
-+ DBGPRINT(RT_DEBUG_TRACE, " - (%s) mask 0x%04x wepstatus %d ieee %d\n",
-+ __FUNCTION__, mask, WepStatus, suite);
-+
-+ if (suite && (mask & 0x01 << suite)) {
-+ wepstatus = transtondis[suite];
-+ }
-+ return wepstatus;
-+
-+} /* End setWepStatus () */
-+
- /*! \brief
-- * \param
-+ * \param
- * \return
- * \pre
- * \post
- */
- VOID BssEntrySet(
-- IN PRTMP_ADAPTER pAd,
-- OUT BSS_ENTRY *pBss,
-- IN MACADDR *pBssid,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-- IN USHORT BeaconPeriod,
-+ IN PRTMP_ADAPTER pAd,
-+ OUT BSS_ENTRY *pBss,
-+ IN MACADDR *pBssid,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
-+ IN USHORT BeaconPeriod,
- IN BOOLEAN CfExist,
-- IN CF_PARM *pCfParm,
-- IN USHORT AtimWin,
-- IN USHORT CapabilityInfo,
-- IN UCHAR Rates[],
-+ IN CF_PARM *pCfParm,
-+ IN USHORT AtimWin,
-+ IN USHORT CapabilityInfo,
-+ IN UCHAR Rates[],
- IN UCHAR RatesLen,
- IN BOOLEAN ExtendedRateIeExist,
- IN UCHAR Channel,
- IN UCHAR Rssi,
- IN UCHAR Noise,
- IN LARGE_INTEGER TimeStamp,
-- IN PNDIS_802_11_VARIABLE_IEs pVIE)
-+ IN USHORT VarIELen, // Length of all saved IEs.
-+ IN PNDIS_802_11_VARIABLE_IEs pVIE)
- {
- COPY_MAC_ADDR(&pBss->Bssid, pBssid);
- // Default Hidden SSID to be TRUE, it will be turned to FALSE after coping SSID
-- pBss->Hidden = 1;
-+ pBss->Hidden = 1;
- if (SsidLen > 0)
- {
- // For hidden SSID AP, it might send beacon with SSID len equal to 0
-@@ -1769,17 +1774,17 @@
- }
- pBss->BssType = BssType;
- pBss->BeaconPeriod = BeaconPeriod;
-- if (BssType == BSS_INFRA)
-+ if (BssType == BSS_INFRA)
- {
-- if (CfExist)
-+ if (CfExist)
- {
- pBss->CfpCount = pCfParm->CfpCount;
- pBss->CfpPeriod = pCfParm->CfpPeriod;
- pBss->CfpMaxDuration = pCfParm->CfpMaxDuration;
- pBss->CfpDurRemaining = pCfParm->CfpDurRemaining;
- }
-- }
-- else
-+ }
-+ else
- {
- pBss->AtimWin = AtimWin;
- }
-@@ -1801,15 +1806,23 @@
- pBss->FixIEs.Capabilities = CapabilityInfo;
-
- // New for microsoft Variable IEs
-- if (pVIE->Length != 0)
-+ pBss->VarIELen = VarIELen;
-+ if (VarIELen != 0)
- {
-- pBss->VarIELen = pVIE->Length + 2;
-- memcpy(pBss->VarIEs, pVIE, pBss->VarIELen);
-- pBss->WepStatus = BssCipherParse(pBss->VarIEs);
-+ memcpy(pBss->VarIEs, pVIE, VarIELen);
-+ pBss->CipherCap = BssCipherParse((PBEACON_EID_STRUCT)pBss->VarIEs,
-+ VarIELen);
-+ if (pBss->CipherCap & (0x01 << CIPHER_TYPE_GRP)) {
-+ pBss->WepStatus = setWepStatus(pBss->CipherCap >> 8,
-+ pAd->PortCfg.WepStatus);
-+ }
-+ else {
-+ pBss->WepStatus = setWepStatus(pBss->CipherCap,
-+ pAd->PortCfg.WepStatus);
-+ }
- }
- else
- {
-- pBss->VarIELen = 0;
- // No SSN ID, if security is on, this is WEP algorithm
- if (pBss->Privacy)
- pBss->WepStatus = Ndis802_11WEPEnabled;
-@@ -1817,9 +1830,11 @@
- else
- pBss->WepStatus = Ndis802_11WEPDisabled;
- }
-+ DBGPRINT(RT_DEBUG_TRACE, "%s: Ndis WepStatus (Local=%d, Remote=%d)\n",
-+ __FUNCTION__, pAd->PortCfg.WepStatus, pBss->WepStatus);
- }
-
--/*!
-+/*!
- * \brief insert an entry into the bss table
- * \param p_tab The BSS table
- * \param Bssid BSSID
-@@ -1840,17 +1855,17 @@
- * \note If SSID is identical, the old entry will be replaced by the new one
- */
- ULONG BssTableSetEntry(
-- IN PRTMP_ADAPTER pAd,
-- OUT BSS_TABLE *Tab,
-- IN MACADDR *Bssid,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-- IN USHORT BeaconPeriod,
-- IN BOOLEAN CfExist,
-- IN CF_PARM *CfParm,
-- IN USHORT AtimWin,
-- IN USHORT CapabilityInfo,
-+ IN PRTMP_ADAPTER pAd,
-+ OUT BSS_TABLE *Tab,
-+ IN MACADDR *Bssid,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
-+ IN USHORT BeaconPeriod,
-+ IN BOOLEAN CfExist,
-+ IN CF_PARM *CfParm,
-+ IN USHORT AtimWin,
-+ IN USHORT CapabilityInfo,
- IN UCHAR Rates[],
- IN UCHAR RatesLen,
- IN BOOLEAN ExtendedRateIeExist,
-@@ -1858,50 +1873,52 @@
- IN UCHAR Rssi,
- IN UCHAR Noise,
- IN LARGE_INTEGER TimeStamp,
-+ IN USHORT VarIELen, // Length of all saved IEs.
- IN PNDIS_802_11_VARIABLE_IEs pVIE)
- {
- ULONG Idx;
-+
- Idx = BssTableSearch(Tab, Bssid);
-- if (Idx == BSS_NOT_FOUND)
-+ if (Idx == BSS_NOT_FOUND)
- {
- if (Tab->BssNr >= MAX_LEN_OF_BSS_TABLE)
- return BSS_NOT_FOUND;
--
-+
- Idx = Tab->BssNr;
- BssEntrySet(pAd, &Tab->BssEntry[Idx], Bssid, Ssid, SsidLen, BssType, BeaconPeriod,
- CfExist, CfParm, AtimWin, CapabilityInfo, Rates, RatesLen, ExtendedRateIeExist,
-- ChannelNo, Rssi, Noise, TimeStamp, pVIE);
-+ ChannelNo, Rssi, Noise, TimeStamp, VarIELen, pVIE);
- Tab->BssNr++;
-- }
-+ }
- else
- {
- BssEntrySet(pAd, &Tab->BssEntry[Idx], Bssid, Ssid, SsidLen, BssType, BeaconPeriod,
- CfExist, CfParm, AtimWin, CapabilityInfo, Rates, RatesLen, ExtendedRateIeExist,
-- ChannelNo, Rssi, Noise, TimeStamp, pVIE);
-+ ChannelNo, Rssi, Noise, TimeStamp, VarIELen, pVIE);
- }
--
-+
- return Idx;
- }
-
- VOID BssTableSsidSort(
-- IN PRTMP_ADAPTER pAd,
-- OUT BSS_TABLE *OutTab,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen)
-+ IN PRTMP_ADAPTER pAd,
-+ OUT BSS_TABLE *OutTab,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen)
- {
- INT i;
- BssTableInit(OutTab);
-
-- for (i = 0; i < pAd->PortCfg.BssTab.BssNr; i++)
-+ for (i = 0; i < pAd->PortCfg.BssTab.BssNr; i++)
- {
- BSS_ENTRY *pInBss = &pAd->PortCfg.BssTab.BssEntry[i];
--
-- if ((pInBss->BssType == pAd->PortCfg.BssType) &&
-+
-+ if ((pInBss->BssType == pAd->PortCfg.BssType) &&
- ((pInBss->SsidLen==SsidLen) && RTMPEqualMemory(pInBss->Ssid, Ssid, (ULONG) SsidLen)))
- {
- BSS_ENTRY *pOutBss = &OutTab->BssEntry[OutTab->BssNr];
-
-- // Bss Type matched, SSID matched.
-+ // Bss Type matched, SSID matched.
- // We will check wepstatus for qualification Bss
- if (pAd->PortCfg.WepStatus != pInBss->WepStatus)
- continue;
-@@ -1911,24 +1928,24 @@
- // CCX also require not even try to connect it!!
- if (SsidLen == 0)
- continue;
--
-+
- // copy matching BSS from InTab to OutTab
- memcpy(pOutBss, pInBss, sizeof(BSS_ENTRY));
--
-+
- OutTab->BssNr++;
- }
- else if ((pInBss->BssType == pAd->PortCfg.BssType) && (SsidLen == 0))
- {
- BSS_ENTRY *pOutBss = &OutTab->BssEntry[OutTab->BssNr];
-
-- // Bss Type matched, SSID matched.
-+ // Bss Type matched, SSID matched.
- // We will check wepstatus for qualification Bss
- if (pAd->PortCfg.WepStatus != pInBss->WepStatus)
- continue;
--
-+
- // copy matching BSS from InTab to OutTab
- memcpy(pOutBss, pInBss, sizeof(BSS_ENTRY));
--
-+
- OutTab->BssNr++;
- }
- #if 0
-@@ -1937,36 +1954,36 @@
- // Add for hidden SSID. But we have to verify the security suite too.
- BSS_ENTRY *pOutBss = &OutTab->BssEntry[OutTab->BssNr];
-
-- // Bss Type matched, SSID matched.
-+ // Bss Type matched, SSID matched.
- // We will check wepstatus for qualification Bss
- if (pAd->PortCfg.WepStatus != pInBss->WepStatus)
- continue;
--
-+
- // copy matching BSS from InTab to OutTab
- memcpy(pOutBss, pInBss, sizeof(BSS_ENTRY));
--
-- OutTab->BssNr++;
-+
-+ OutTab->BssNr++;
- }
--#endif
-+#endif
- if (OutTab->BssNr >= MAX_LEN_OF_BSS_TABLE)
- break;
--
-+
- }
--
-+
- BssTableSortByRssi(OutTab);
- }
-
- VOID BssTableSortByRssi(
-- IN OUT BSS_TABLE *OutTab)
-+ IN OUT BSS_TABLE *OutTab)
- {
- INT i, j;
- BSS_ENTRY TmpBss;
-
-- for (i = 0; i < OutTab->BssNr - 1; i++)
-+ for (i = 0; i < OutTab->BssNr - 1; i++)
- {
-- for (j = i+1; j < OutTab->BssNr; j++)
-+ for (j = i+1; j < OutTab->BssNr; j++)
- {
-- if (OutTab->BssEntry[j].Rssi > OutTab->BssEntry[i].Rssi)
-+ if (OutTab->BssEntry[j].Rssi > OutTab->BssEntry[i].Rssi)
- {
- memcpy(&TmpBss, &OutTab->BssEntry[j], sizeof(BSS_ENTRY));
- memcpy(&OutTab->BssEntry[j], &OutTab->BssEntry[i], sizeof(BSS_ENTRY));
-@@ -1976,34 +1993,178 @@
- }
- }
-
--NDIS_802_11_WEP_STATUS BssCipherParse(
-- IN PUCHAR pCipher)
-+/*
-+ * ============================================================================
-+ * Description:
-+ * Scan cipher suite list and return cipher capability set.
-+ * ============================================================================
-+ */
-+static USHORT scan_csl(
-+ IN suite_list_t *psl,
-+ IN USHORT curtype)
- {
-- PBEACON_EID_STRUCT pEid;
-- PUCHAR pTmp;
-+ USHORT ciphertype = curtype; // Cipher "capability set"
-+ int i, j;
-+
-+ DBGPRINT(RT_DEBUG_TRACE, " - scan %d pair cipher(s)\n", psl->count);
-+
-+ for (i = 0, j = psl->count; i < j; i++) {
-
-- pEid = (PBEACON_EID_STRUCT) pCipher;
-+ if (psl->suite[i].type < NUM_CIPHER_TYPES) {
-+ ciphertype |= 0x01 << psl->suite[i].type;
-+ }
-+ else {
-+ DBGPRINT(RT_DEBUG_ERROR, " - invalid pair cipher type %d\n",
-+ psl->suite[i].type);
-+ }
-+ DBGPRINT(RT_DEBUG_TRACE, " - (pair) CipherType now=0x%04x\n",
-+ ciphertype);
-+ }
-+ return ciphertype;
-
-- // Double check sanity information, although it should be done at peer beacon sanity check already.
-- if (pEid->Eid != IE_WPA)
-- return (Ndis802_11WEPDisabled);
--
-- // Double check Var IE length, it must be no less than 0x16
-- if (pEid->Len < 0x16)
-- return (Ndis802_11WEPDisabled);
--
-- // Skip OUI, version, and multicast suite
-- // This part should be improved in the future when AP supported multiple cipher suite.
-- // For now, it's OK since almost all APs have fixed cipher suite supported.
-- pTmp = (PUCHAR) pEid->Octet;
-- pTmp += 9;
--
-- if (*pTmp == 4) // AES
-- return (Ndis802_11Encryption3Enabled);
-- else if (*pTmp == 2) // TKIP
-- return (Ndis802_11Encryption2Enabled);
-+} /* End scan_csl () */
-+
-+USHORT BssCipherParse(
-+ IN PBEACON_EID_STRUCT pEid,
-+ IN USHORT VarIELen) // Length of all saved IEs.
-+{
-+ USHORT ciphertype = 0;
-+ PBEACON_EID_STRUCT ptEid;
-+ USHORT len;
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "%s: using VarIELen=%d\n", __FUNCTION__, VarIELen);
-+
-+ // Handle the stinerman problem (a too-short WPA IE followed by
-+ // a long-enough WPA IE from an AP), the onishin/dacull problem
-+ // (a RSN - WPA2 - IE followed by a WPA1 IE from an AP), and the
-+ // holtzmichel problem (a WPA1 IE followed by a WPA2 IE). We end
-+ // up using the *last* one we find. This may (or may not) really
-+ // be the thing to do. - bb
-+ for (ptEid = pEid, len = 0; len < VarIELen;
-+ len += ptEid->Len + 2,
-+ ptEid = (PBEACON_EID_STRUCT)((UCHAR *)pEid + len)) {
-+
-+ DBGPRINT(RT_DEBUG_TRACE, " - examining IE=%d, Len=%d\n",
-+ ptEid->Eid, ptEid->Len);
-+
-+ switch (ptEid->Eid) {
-+ default:
-+ DBGPRINT(RT_DEBUG_ERROR, " - Not a WPA/WPA2 IE=%d, Len=%d\n",
-+ ptEid->Eid, ptEid->Len);
-+ break;
-+
-+ case IE_WPA: {
-+ #define p ((PRSN_EID_STRUCT)ptEid)
-+
-+ // Double check Var IE length, it must be no less than 0x16
-+ // Silently ignore if not
-+ if (ptEid->Len < 0x16) {
-+ DBGPRINT(RT_DEBUG_ERROR, " - Len %d too short\n",
-+ ptEid->Len);
-+ break;
-+ }
-+ // Skip OUI, version, and multicast suite
-+ // This part should be improved in the future when AP
-+ // supported multiple cipher suite. For now, it's OK since
-+ // almost all APs have fixed cipher suite supported.
-+ // (The future is now - bb)
-+ if (p->Multicast[3] < NUM_CIPHER_TYPES) {
-+ ciphertype |= 0x100 << p->Multicast[3];
-+ }
-+ else {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_WPA invalid group cipher %d\n",
-+ p->Multicast[3]);
-+ }
-+ DBGPRINT(RT_DEBUG_TRACE, " - WPA CipherType now=0x%04x\n",
-+ ciphertype);
-
-- return (Ndis802_11WEPDisabled);
-+ if (p->Length >= sizeof(RSN_EID_STRUCT) -
-+ offsetof(RSN_EID_STRUCT, Oui)) {
-+ suite_list_p psl = (suite_list_p)((UCHAR *)p +
-+ offsetof(RSN_EID_STRUCT, Count));
-+
-+ if (psl->count * sizeof(suite_sel_t) +
-+ offsetof(RSN_EID_STRUCT,Count) -
-+ offsetof(RSN_EID_STRUCT,Oui) >
-+ p->Length) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - malformed WPA pair cipher count "
-+ "(needs %d bytes, %d bytes avail)\n",
-+ psl->count*sizeof(suite_sel_t) +
-+ offsetof(RSN_EID_STRUCT,Count) -
-+ offsetof(RSN_EID_STRUCT,Oui),
-+ p->Length);
-+ break;
-+ }
-+ ciphertype = scan_csl(psl, ciphertype);
-+ }
-+ else {
-+ ciphertype |= 0x01; // Indicate use group cipher
-+ }
-+ #undef p
-+ break;
-+ }
-+ case IE_RSN: { // 802.11i pp. 27 - 32
-+ #define p ((rsn_ie_p)ptEid)
-+
-+ if (p->length == sizeof(p->version)) {
-+ ciphertype = 0x01 | 0x100 << CIPHER_TYPE_CCMP;
-+ break;
-+ }
-+ if (p->length >= sizeof(p->version) + sizeof(p->gcsuite)) {
-+
-+ // Right now, we use the group cipher suite since it
-+ // appears (to me, at any rate) that that's what is
-+ // being used from the WPA IE.
-+ // (SWAG - cf. RSN_EID_STRUCT - is that WPA_IE is RSN_IE
-+ // with 4 bytes in front of the version tag. So we
-+ // use the group cipher suite ala case IE_WPA above.)
-+ // cf. the Holtzmichel problem: Looks like the Sinus 154
-+ // Basic 3 includes either 3 pairwise cipher suites, or
-+ // 1 pairwise cipher suite, 1 AKM suite, and an RSN
-+ // capabilities field, because the len is 20.
-+ if (p->gcsuite.type < NUM_CIPHER_TYPES) {
-+ ciphertype |= 0x100 << p->gcsuite.type;
-+ }
-+ else {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_RSN invalid group cipher %d\n",
-+ p->gcsuite.type);
-+ }
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ " - (grp) CipherType now=0x%04x\n", ciphertype);
-+ }
-+ if (p->length > sizeof(p->version) + sizeof(p->gcsuite)) {
-+ suite_list_p psl = (suite_list_p)((UCHAR *)p +
-+ offsetof(rsn_ie_t, version) +
-+ sizeof(ie_version_t) + sizeof(suite_sel_t));
-+
-+ if (psl->count * sizeof(suite_sel_t) +
-+ sizeof(ie_version_t) + sizeof(suite_sel_t) >
-+ p->length) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - malformed RSN pair cipher count "
-+ "(needs %d bytes, %d bytes avail)\n",
-+ psl->count*sizeof(suite_sel_t) +
-+ sizeof(ie_version_t) + sizeof(suite_sel_t),
-+ p->length);
-+ break;
-+ }
-+ ciphertype = scan_csl(psl, ciphertype);
-+ }
-+ else {
-+ ciphertype |= 0x01; // Indicate use group cipher
-+ }
-+ #undef p
-+ break;
-+ } /* End case IE_RSN */
-+ } /* End switch EID */
-+ } /* End for () */
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "%s: return CipherType=0x%04x\n",
-+ __FUNCTION__, ciphertype);
-+ return ciphertype;
- }
-
- // ===========================================================================================
-@@ -2017,16 +2178,16 @@
- * \post
- */
- VOID MacAddrRandomBssid(
-- IN PRTMP_ADAPTER pAd,
-- OUT MACADDR *Addr)
-+ IN PRTMP_ADAPTER pAd,
-+ OUT MACADDR *Addr)
- {
- INT i;
-
-- for (i = 0; i < ETH_ALEN; i++)
-+ for (i = 0; i < ETH_ALEN; i++)
- {
- Addr->Octet[i] = RandomByte(pAd);
- }
--
-+
- Addr->Octet[0] = (Addr->Octet[0] & 0xfe) | 0x02; // the first 2 bits must be 01xxxxxxxx
- }
-
-@@ -2042,12 +2203,12 @@
- * \note this function initializes the following field
- */
- VOID MgtMacHeaderInit(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT PMACHDR Hdr,
-- IN UCHAR Subtype,
-- IN UCHAR ToDs,
-- IN PMACADDR Ds,
-- IN PMACADDR Bssid)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT PMACHDR Hdr,
-+ IN UCHAR Subtype,
-+ IN UCHAR ToDs,
-+ IN PMACADDR Ds,
-+ IN PMACADDR Bssid)
- {
- memset(Hdr, 0, sizeof(MACHDR));
- Hdr->Type = BTYPE_MGMT;
-@@ -2063,8 +2224,8 @@
- // ===========================================================================================
-
- /*!***************************************************************************
-- * This routine build an outgoing frame, and fill all information specified
-- * in argument list to the frame body. The actual frame size is the summation
-+ * This routine build an outgoing frame, and fill all information specified
-+ * in argument list to the frame body. The actual frame size is the summation
- * of all arguments.
- * input params:
- * Buffer - pointer to a pre-allocated memory segment
-@@ -2073,12 +2234,12 @@
- * function will FAIL!!!
- * return:
- * Size of the buffer
-- * usage:
-+ * usage:
- * MakeOutgoingFrame(Buffer, output_length, 2, &fc, 2, &dur, 6, p_addr1, 6,p_addr2, END_OF_ARGS);
- ****************************************************************************/
- ULONG MakeOutgoingFrame(
-- OUT CHAR *Buffer,
-- OUT ULONG *FrameLen, ...)
-+ OUT CHAR *Buffer,
-+ OUT ULONG *FrameLen, ...)
- {
- CHAR *p;
- int leng;
-@@ -2088,10 +2249,10 @@
- // calculates the total length
- TotLeng = 0;
- va_start(Args, FrameLen);
-- do
-+ do
- {
- leng = va_arg(Args, int);
-- if (leng == END_OF_ARGS)
-+ if (leng == END_OF_ARGS)
- {
- break;
- }
-@@ -2117,7 +2278,7 @@
- * \note Because this is done only once (at the init stage), no need to be locked
- */
- NDIS_STATUS MlmeQueueInit(
-- IN MLME_QUEUE *Queue)
-+ IN MLME_QUEUE *Queue)
- {
- INT i;
-
-@@ -2127,7 +2288,7 @@
- Queue->Head = 0;
- Queue->Tail = 0;
-
-- for (i = 0; i < MAX_LEN_OF_MLME_QUEUE; i++)
-+ for (i = 0; i < MAX_LEN_OF_MLME_QUEUE; i++)
- {
- Queue->Entry[i].Occupied = FALSE;
- Queue->Entry[i].MsgLen = 0;
-@@ -2150,11 +2311,11 @@
- * \note The message has to be initialized
- */
- BOOLEAN MlmeEnqueue(
-- OUT MLME_QUEUE *Queue,
-- IN ULONG Machine,
-- IN ULONG MsgType,
-- IN ULONG MsgLen,
-- IN VOID *Msg)
-+ OUT MLME_QUEUE *Queue,
-+ IN ULONG Machine,
-+ IN ULONG MsgType,
-+ IN ULONG MsgLen,
-+ IN VOID *Msg)
- {
- INT Tail;
- unsigned long flags;
-@@ -2164,30 +2325,25 @@
- DBGPRINT(RT_DEBUG_ERROR, "MlmeEnqueueForRecv mlme frame too large, size = %d \n", MsgLen);
- return FALSE;
- }
--
-- spin_lock_irqsave(&(Queue->Lock), flags);
-- if (MlmeQueueFull(Queue))
-- {
-+
-+ spin_lock_irqsave(&Queue->Lock, flags);
-+ if (Queue->Num == MAX_LEN_OF_MLME_QUEUE) {
-+ spin_unlock_irqrestore(&Queue->Lock, flags);
- printk(KERN_ERR DRV_NAME "MlmeEnqueue full, msg dropped and may corrupt MLME\n");
-- spin_unlock_irqrestore(&(Queue->Lock), flags);
- return FALSE;
- }
--
-- Tail = Queue->Tail;
-- Queue->Tail++;
-+ Tail = Queue->Tail++;
-+ Queue->Tail %= MAX_LEN_OF_MLME_QUEUE;
- Queue->Num++;
-- if (Queue->Tail == MAX_LEN_OF_MLME_QUEUE)
-- {
-- Queue->Tail = 0;
-- }
-+ spin_unlock_irqrestore(&Queue->Lock, flags);
- DBGPRINT(RT_DEBUG_INFO, "MlmeEnqueue, num=%d\n",Queue->Num);
--
-+
- Queue->Entry[Tail].Occupied = TRUE;
- Queue->Entry[Tail].Machine = Machine;
- Queue->Entry[Tail].MsgType = MsgType;
- Queue->Entry[Tail].MsgLen = MsgLen;
-- memcpy(Queue->Entry[Tail].Msg, Msg, MsgLen);
-- spin_unlock_irqrestore(&(Queue->Lock), flags);
-+ if (Msg != NULL)
-+ memcpy(Queue->Entry[Tail].Msg, Msg, MsgLen);
- return TRUE;
- }
-
-@@ -2203,14 +2359,14 @@
- * \post
- */
- BOOLEAN MlmeEnqueueForRecv(
-- IN PRTMP_ADAPTER pAd,
-- OUT MLME_QUEUE *Queue,
-- IN ULONG TimeStampHigh,
-+ IN PRTMP_ADAPTER pAd,
-+ OUT MLME_QUEUE *Queue,
-+ IN ULONG TimeStampHigh,
- IN ULONG TimeStampLow,
- IN UCHAR Rssi,
-- IN UCHAR Noise,
-- IN ULONG MsgLen,
-- IN VOID *Msg)
-+ IN UCHAR Noise,
-+ IN ULONG MsgLen,
-+ IN VOID *Msg)
- {
- INT Tail, Machine;
- MACFRAME *Fr = (MACFRAME *)Msg;
-@@ -2225,31 +2381,25 @@
- }
-
-
-- if (!MsgTypeSubst(Fr, &Machine, &MsgType))
-+ if (!MsgTypeSubst(Fr, &Machine, &MsgType))
- {
- DBGPRINT(RT_DEBUG_ERROR, "MlmeEnqueueForRecv (drop mgmt->subtype=%d)\n",Fr->Hdr.SubType);
- return FALSE;
- }
-
-- spin_lock_irqsave(&(Queue->Lock), flags);
-- if (MlmeQueueFull(Queue))
-- {
-+ spin_lock_irqsave(&Queue->Lock, flags);
-+ if (Queue->Num == MAX_LEN_OF_MLME_QUEUE) {
-+ spin_unlock_irqrestore(&Queue->Lock, flags);
- DBGPRINT(RT_DEBUG_ERROR, "MlmeEnqueueForRecv (queue full error) \n");
-- spin_unlock_irqrestore(&(Queue->Lock), flags);
- return FALSE;
- }
--
-- // OK, we got all the informations, it is time to put things into queue
-- Tail = Queue->Tail;
-- Queue->Tail++;
-+ Tail = Queue->Tail++;
-+ Queue->Tail %= MAX_LEN_OF_MLME_QUEUE;
- Queue->Num++;
-- if (Queue->Tail == MAX_LEN_OF_MLME_QUEUE)
-- {
-- Queue->Tail = 0;
-- }
--
-+ spin_unlock_irqrestore(&Queue->Lock, flags);
- DBGPRINT(RT_DEBUG_INFO, "MlmeEnqueueForRecv, num=%d\n",Queue->Num);
--
-+
-+ // OK, we got all the informations, it is time to put things into queue
- Queue->Entry[Tail].Occupied = TRUE;
- Queue->Entry[Tail].Machine = Machine;
- Queue->Entry[Tail].MsgType = MsgType;
-@@ -2258,8 +2408,8 @@
- Queue->Entry[Tail].TimeStamp.vv.HighPart = TimeStampHigh;
- Queue->Entry[Tail].Rssi = Rssi;
- Queue->Entry[Tail].Noise = (Noise > BBP_R17_DYNAMIC_UP_BOUND) ? BBP_R17_DYNAMIC_UP_BOUND : ((ULONG) Noise);
-- memcpy(Queue->Entry[Tail].Msg, Msg, MsgLen);
-- spin_unlock_irqrestore(&(Queue->Lock), flags);
-+ if (Msg != NULL)
-+ memcpy(Queue->Entry[Tail].Msg, Msg, MsgLen);
-
- MlmeHandler(pAd);
-
-@@ -2267,6 +2417,7 @@
- }
-
- /*! \brief Dequeue a message from the MLME Queue
-+ * WARNING: Must be call with Mlme.Queue.Lock held
- * \param *Queue The MLME Queue
- * \param *Elem The message dequeued from MLME Queue
- * \return TRUE if the Elem contains something, FALSE otherwise
-@@ -2274,23 +2425,14 @@
- * \post
- */
- BOOLEAN MlmeDequeue(
-- IN MLME_QUEUE *Queue,
-- OUT MLME_QUEUE_ELEM **Elem)
-+ IN MLME_QUEUE *Queue,
-+ OUT MLME_QUEUE_ELEM **Elem)
- {
-- unsigned long flags;
-- spin_lock_irqsave(&(Queue->Lock), flags);
-- if (Queue->Num == 0) {
-- spin_unlock_irqrestore(&(Queue->Lock),flags);
-+ if (Queue->Num == 0)
- return FALSE;
-- }
-- *Elem = &(Queue->Entry[Queue->Head]);
-+ *Elem = &Queue->Entry[Queue->Head++];
-+ Queue->Head %= MAX_LEN_OF_MLME_QUEUE;
- Queue->Num--;
-- Queue->Head++;
-- if (Queue->Head == MAX_LEN_OF_MLME_QUEUE)
-- {
-- Queue->Head = 0;
-- }
-- spin_unlock_irqrestore(&(Queue->Lock), flags);
- DBGPRINT(RT_DEBUG_INFO, "MlmeDequeue, num=%d\n",Queue->Num);
-
- return TRUE;
-@@ -2308,29 +2450,27 @@
- DBGPRINT(RT_DEBUG_ERROR, "Failure to initialize mlme.\n");
- // Continue the reset procedure...
- }
--
-+
- spin_lock_irqsave(&pAd->Mlme.TaskLock, flags);
-- if(pAd->Mlme.Running)
-+ if(pAd->Mlme.Running)
- {
- spin_unlock_irqrestore(&pAd->Mlme.TaskLock, flags);
- return;
-- }
-- else
-+ }
-+ else
- {
- pAd->Mlme.Running = TRUE;
- }
- spin_unlock_irqrestore(&pAd->Mlme.TaskLock, flags);
-
- // Remove all Mlme queues elements
-- while (MlmeDequeue(&pAd->Mlme.Queue, &Elem))
-- {
-- //From message type, determine which state machine I should drive
--
-- // free MLME element
-- Elem->Occupied = FALSE;
-- Elem->MsgLen = 0;
--
-- }
-+ spin_lock_irqsave(&pAd->Mlme.Queue.Lock, flags);
-+ while (MlmeDequeue(&pAd->Mlme.Queue, &Elem)) {
-+ // free MLME element
-+ Elem->Occupied = FALSE;
-+ Elem->MsgLen = 0;
-+ }
-+ spin_unlock_irqrestore(&pAd->Mlme.Queue.Lock, flags);
-
- // Cancel all timer events
- // Be careful to cancel new added timer
-@@ -2356,54 +2496,22 @@
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
- pAd->Mlme.AuthRspMachine.CurrState = AUTH_RSP_IDLE;
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
--
-+
- // Remove running state
- spin_lock_irqsave(&pAd->Mlme.TaskLock, flags);
- pAd->Mlme.Running = FALSE;
- spin_unlock_irqrestore(&pAd->Mlme.TaskLock, flags);
- }
-
--/*! \brief test if the MLME Queue is empty
-- * \param *Queue The MLME Queue
-- * \return TRUE if the Queue is empty, FALSE otherwise
-- * \pre
-- * \post
-- */
--BOOLEAN MlmeQueueEmpty(
-- IN MLME_QUEUE *Queue)
--{
-- BOOLEAN Ans;
--
-- Ans = (Queue->Num == 0);
--
-- return Ans;
--}
--
--/*! \brief test if the MLME Queue is full
-- * \param *Queue The MLME Queue
-- * \return TRUE if the Queue is empty, FALSE otherwise
-- * \pre
-- * \post
-- */
--BOOLEAN MlmeQueueFull(
-- IN MLME_QUEUE *Queue)
--{
-- BOOLEAN Ans;
--
-- Ans = (Queue->Num == MAX_LEN_OF_MLME_QUEUE);
--
-- return Ans;
--}
--
- /*! \brief The destructor of MLME Queue
-- * \param
-+ * \param
- * \return
- * \pre
- * \post
- * \note Clear Mlme Queue, Set Queue->Num to Zero.
- */
- VOID MlmeQueueDestroy(
-- IN MLME_QUEUE *Queue)
-+ IN MLME_QUEUE *Queue)
- {
- unsigned long flags;
- spin_lock_irqsave(&(Queue->Lock), flags);
-@@ -2422,22 +2530,22 @@
- * \post
- */
- BOOLEAN MsgTypeSubst(
-- IN MACFRAME *Fr,
-- OUT INT *Machine,
-- OUT INT *MsgType)
-+ IN MACFRAME *Fr,
-+ OUT INT *Machine,
-+ OUT INT *MsgType)
- {
- USHORT Seq;
- UCHAR EAPType;
-
- // The only data type will pass to this function is EAPOL frame
-- if (Fr->Hdr.Type == BTYPE_DATA)
-- {
-+ if (Fr->Hdr.Type == BTYPE_DATA)
-+ {
- *Machine = WPA_PSK_STATE_MACHINE;
- EAPType = *((UCHAR*)Fr + LENGTH_802_11 + LENGTH_802_1_H + 1);
- return(WpaMsgTypeSubst(EAPType, MsgType));
- }
-
-- switch (Fr->Hdr.SubType)
-+ switch (Fr->Hdr.SubType)
- {
- case SUBTYPE_ASSOC_REQ:
- *Machine = ASSOC_STATE_MACHINE;
-@@ -2478,17 +2586,17 @@
- case SUBTYPE_AUTH:
- // get the sequence number from payload 24 Mac Header + 2 bytes algorithm
- memcpy(&Seq, &Fr->Octet[2], sizeof(USHORT));
-- if (Seq == 1 || Seq == 3)
-+ if (Seq == 1 || Seq == 3)
- {
- *Machine = AUTH_RSP_STATE_MACHINE;
- *MsgType = MT2_PEER_AUTH_ODD;
-- }
-- else if (Seq == 2 || Seq == 4)
-+ }
-+ else if (Seq == 2 || Seq == 4)
- {
- *Machine = AUTH_STATE_MACHINE;
- *MsgType = MT2_PEER_AUTH_EVEN;
-- }
-- else
-+ }
-+ else
- {
- return FALSE;
- }
-@@ -2510,25 +2618,25 @@
- // ===========================================================================================
-
- /*! \brief Initialize the state machine.
-- * \param *S pointer to the state machine
-+ * \param *S pointer to the state machine
- * \param Trans State machine transition function
-- * \param StNr number of states
-- * \param MsgNr number of messages
-- * \param DefFunc default function, when there is invalid state/message combination
-- * \param InitState initial state of the state machine
-+ * \param StNr number of states
-+ * \param MsgNr number of messages
-+ * \param DefFunc default function, when there is invalid state/message combination
-+ * \param InitState initial state of the state machine
- * \param Base StateMachine base, internal use only
- * \pre p_sm should be a legal pointer
- * \post
- */
-
- VOID StateMachineInit(
-- IN STATE_MACHINE *S,
-- IN STATE_MACHINE_FUNC Trans[],
-- IN ULONG StNr,
-- IN ULONG MsgNr,
-- IN STATE_MACHINE_FUNC DefFunc,
-- IN ULONG InitState,
-- IN ULONG Base)
-+ IN STATE_MACHINE *S,
-+ IN STATE_MACHINE_FUNC Trans[],
-+ IN ULONG StNr,
-+ IN ULONG MsgNr,
-+ IN STATE_MACHINE_FUNC DefFunc,
-+ IN ULONG InitState,
-+ IN ULONG Base)
- {
- ULONG i, j;
-
-@@ -2538,22 +2646,22 @@
- S->Base = Base;
-
- S->TransFunc = Trans;
--
-+
- // init all state transition to default function
-- for (i = 0; i < StNr; i++)
-+ for (i = 0; i < StNr; i++)
- {
-- for (j = 0; j < MsgNr; j++)
-+ for (j = 0; j < MsgNr; j++)
- {
- S->TransFunc[i * MsgNr + j] = DefFunc;
- }
- }
--
-+
- // set the starting state
- S->CurrState = InitState;
-
- }
-
--/*! \brief This function fills in the function pointer into the cell in the state machine
-+/*! \brief This function fills in the function pointer into the cell in the state machine
- * \param *S pointer to the state machine
- * \param St state
- * \param Msg incoming message
-@@ -2562,20 +2670,20 @@
- * \post
- */
- VOID StateMachineSetAction(
-- IN STATE_MACHINE *S,
-- IN ULONG St,
-- IN ULONG Msg,
-- IN STATE_MACHINE_FUNC Func)
-+ IN STATE_MACHINE *S,
-+ IN ULONG St,
-+ IN ULONG Msg,
-+ IN STATE_MACHINE_FUNC Func)
- {
- ULONG MsgIdx;
--
-+
- MsgIdx = Msg - S->Base;
-
-- if (St < S->NrState && MsgIdx < S->NrMsg)
-+ if (St < S->NrState && MsgIdx < S->NrMsg)
- {
- // boundary checking before setting the action
- S->TransFunc[St * S->NrMsg + MsgIdx] = Func;
-- }
-+ }
- }
-
- /*! \brief The destructor of the state machine
-@@ -2583,7 +2691,7 @@
- * \note doing nothing at this moment, may need to do something if the implementation changed
- */
- VOID
--StateMachineDestroy(IN STATE_MACHINE *S)
-+StateMachineDestroy(IN STATE_MACHINE *S)
- {
- }
-
-@@ -2594,9 +2702,9 @@
- * \return None
- */
- VOID StateMachinePerformAction(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- (*(S->TransFunc[S->CurrState * S->NrMsg + Elem->MsgType - S->Base]))(pAd, Elem);
- }
-@@ -2604,14 +2712,14 @@
- /*
- ==========================================================================
- Description:
-- The drop function, when machine executes this, the message is simply
-- ignored. This function does nothing, the message is freed in
-+ The drop function, when machine executes this, the message is simply
-+ ignored. This function does nothing, the message is freed in
- StateMachinePerformAction()
- ==========================================================================
- */
- VOID Drop(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- #if 0
- if ((Elem->MsgType == MT2_PEER_BEACON) ||
-@@ -2622,7 +2730,7 @@
- {
- DBGPRINT(RT_DEBUG_TRACE, ("Warn:>>Drop Msg=%d<<\n",Elem->MsgType));
- }
--#endif
-+#endif
- }
-
- // ===========================================================================================
-@@ -2635,12 +2743,12 @@
- ==========================================================================
- */
- VOID LfsrInit(
-- IN PRTMP_ADAPTER pAd,
-- IN ULONG Seed)
-+ IN PRTMP_ADAPTER pAd,
-+ IN ULONG Seed)
- {
-- if (Seed == 0)
-+ if (Seed == 0)
- pAd->Mlme.ShiftReg = 1;
-- else
-+ else
- pAd->Mlme.ShiftReg = Seed;
- }
-
-@@ -2650,21 +2758,21 @@
- ==========================================================================
- */
- UCHAR RandomByte(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- ULONG i;
- UCHAR R, Result;
-
- R = 0;
-
-- for (i = 0; i < 8; i++)
-+ for (i = 0; i < 8; i++)
- {
-- if (pAd->Mlme.ShiftReg & 0x00000001)
-+ if (pAd->Mlme.ShiftReg & 0x00000001)
- {
- pAd->Mlme.ShiftReg = ((pAd->Mlme.ShiftReg ^ LFSR_MASK) >> 1) | 0x80000000;
- Result = 1;
-- }
-- else
-+ }
-+ else
- {
- pAd->Mlme.ShiftReg = pAd->Mlme.ShiftReg >> 1;
- Result = 0;
-@@ -2681,17 +2789,17 @@
- ==========================================================================
- */
- VOID AsicSwitchChannel(
-- IN PRTMP_ADAPTER pAd,
-- IN UCHAR Channel)
-+ IN PRTMP_ADAPTER pAd,
-+ IN UCHAR Channel)
- {
- ULONG R3;
- UCHAR index;
- int Value;
-
- // TODO: need to update E2PROM format to add 802.11a channel's TX power calibration values
-- if (Channel <= 14)
-+ if (Channel <= 14)
- R3 = pAd->PortCfg.ChannelTxPower[Channel - 1];
-- else
-+ else
- R3 = pAd->PortCfg.ChannelTxPower[0];
-
- if (R3 > 31) R3 = 31;
-@@ -2706,10 +2814,10 @@
- Value = (Value > 31) ? 31 : Value;
- Value = (Value < 0) ? 0 : Value;
- R3 = Value;
--
-+
- // Krellan: Save value for readout to user
- pAd->PortCfg.TxPowerDriver = R3;
--
-+
- R3 = R3 << 9; // shift TX power control to correct RF R3 bit position
-
- switch (pAd->PortCfg.RfType)
-@@ -2772,7 +2880,7 @@
- }
- }
- break;
--
-+
- case RFIC_2525:
- for (index = 0; index < NUM_OF_2525_CHNL; index++)
- {
-@@ -2800,7 +2908,7 @@
- }
- }
- break;
--
-+
- case RFIC_2525E:
- for (index = 0; index < NUM_OF_2525E_CHNL; index++)
- {
-@@ -2820,7 +2928,7 @@
- }
- }
- break;
--
-+
- case RFIC_5222:
- for (index = 0; index < NUM_OF_5222_CHNL; index++)
- {
-@@ -2846,12 +2954,12 @@
- }
-
- DBGPRINT(RT_DEBUG_INFO, "AsicSwitchChannel(RF=%d) to #%d, TXPwr=%d, R1=0x%08x, R2=0x%08x, R3=0x%08x, R4=0x%08x\n",
-- pAd->PortCfg.RfType,
-- pAd->PortCfg.LatchRfRegs.Channel,
-+ pAd->PortCfg.RfType,
-+ pAd->PortCfg.LatchRfRegs.Channel,
- pAd->PortCfg.TxPower,
-- pAd->PortCfg.LatchRfRegs.R1,
-- pAd->PortCfg.LatchRfRegs.R2,
-- pAd->PortCfg.LatchRfRegs.R3,
-+ pAd->PortCfg.LatchRfRegs.R1,
-+ pAd->PortCfg.LatchRfRegs.R2,
-+ pAd->PortCfg.LatchRfRegs.R3,
- pAd->PortCfg.LatchRfRegs.R4);
- }
-
-@@ -2865,8 +2973,8 @@
- ==========================================================================
- */
- VOID AsicLockChannel(
-- IN PRTMP_ADAPTER pAd,
-- IN UCHAR Channel)
-+ IN PRTMP_ADAPTER pAd,
-+ IN UCHAR Channel)
- {
- UCHAR r70;
- ULONG FcsCnt;
-@@ -2899,14 +3007,14 @@
- case RFIC_2525E:
- pAd->PortCfg.LatchRfRegs.R1 &= 0xfffdffff; // RF R1.bit17 "tune_en1" OFF
- pAd->PortCfg.LatchRfRegs.R3 &= 0xfffffeff; // RF R3.bit8 "tune_en2" OFF
-- RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R1);
-- RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R3);
-+ RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R1);
-+ RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R3);
- DBGPRINT(RT_DEBUG_INFO, "AsicRfTuningExec(R1=0x%x,R3=0x%x)\n",pAd->PortCfg.LatchRfRegs.R1,pAd->PortCfg.LatchRfRegs.R3);
- break;
--
-+
- case RFIC_2523:
- pAd->PortCfg.LatchRfRegs.R3 &= 0xfffffeff; // RF R3.bit8 "tune_en2" OFF
-- RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R3);
-+ RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R3);
- DBGPRINT(RT_DEBUG_INFO, "AsicRfTuningExec(R3=0x%x)\n",pAd->PortCfg.LatchRfRegs.R3);
- break;
-
-@@ -2929,16 +3037,16 @@
- ==========================================================================
- */
- VOID AsicAdjustTxPower(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- ULONG R3, Channel, CurrTxPwr;
- int Value;
-
- if ((pAd->PortCfg.Channel >= 1) && (pAd->PortCfg.Channel <= 14))
- Channel = pAd->PortCfg.Channel;
-- else
-+ else
- Channel = 1; // don't have calibration info for 11A, temporarily use Channel 1
--
-+
- // get TX Power base from E2PROM
- R3 = pAd->PortCfg.ChannelTxPower[Channel - 1];
- if (R3 > 31) R3 = 31;
-@@ -2948,7 +3056,7 @@
- Value = (Value > 31) ? 31 : Value;
- Value = (Value < 0) ? 0 : Value;
- R3 = Value;
--
-+
- // E2PROM setting is calibrated for maximum TX power (i.e. 100%)
- // We lower TX power here according to the percentage specified from UI
- if (pAd->PortCfg.TxPowerAuto == TRUE) // AUTO TX POWER control
-@@ -2959,10 +3067,10 @@
- // low TX power upon very-short distance to AP to solve some vendor's AP RX problem
- // in this case, no TSSI compensation is required.
-
-- if ((pAd->DrsCounters.fNoisyEnvironment == FALSE) &&
-+ if ((pAd->DrsCounters.fNoisyEnvironment == FALSE) &&
- (pAd->PortCfg.AvgRssi > (pAd->PortCfg.RssiToDbm - RSSI_FOR_LOWEST_TX_POWER)))
- R3 -= LOWEST_TX_POWER_DELTA;
-- else if ((pAd->DrsCounters.fNoisyEnvironment == FALSE) &&
-+ else if ((pAd->DrsCounters.fNoisyEnvironment == FALSE) &&
- (pAd->PortCfg.AvgRssi > (pAd->PortCfg.RssiToDbm - RSSI_FOR_LOW_TX_POWER)))
- R3 -= LOW_TX_POWER_DELTA;
-
-@@ -2973,7 +3081,7 @@
- R3 +=2;
- if (R3 > 31) R3 = 31;
- }
--
-+
- // 2 exclusive rules applied on CCK rates only -
- // 1. always plus 2 db for CCK
- // 2. adjust TX Power based on TSSI
-@@ -2986,10 +3094,10 @@
- R3 += 2; // plus 2 db
- if (R3 > 31) R3 = 31;
- }
--
-- // Auto calibrate Tx AGC if bAutoTxAgc is TRUE and TX rate is CCK,
-+
-+ // Auto calibrate Tx AGC if bAutoTxAgc is TRUE and TX rate is CCK,
- // because E2PROM's TSSI reference is valid only in CCK range.
-- else
-+ else
- {
- UCHAR R1,TxPowerRef, TssiRef;
-
-@@ -3005,7 +3113,7 @@
- // Need R3 adjustment. However, we have to make sure there is only
- // plus / minus 5 variation allowed
- if (TssiRef > R1)
-- {
-+ {
- R3 = (R3 < (ULONG) (TxPowerRef + 5)) ? (R3 + 1) : R3;
- if (R3 > 31)
- R3 = 31;
-@@ -3020,7 +3128,7 @@
- }
- }
- }
--
-+
- }
- }
- else // fixed AUTO TX power
-@@ -3035,7 +3143,7 @@
-
- // Krellan: Save value for readout to user
- pAd->PortCfg.TxPowerDriver = R3;
--
-+
- // compare the desired R3.TxPwr value with current R3, if not equal
- // set new R3.TxPwr
- CurrTxPwr = (pAd->PortCfg.LatchRfRegs.R3 >> 9) & 0x0000001f;
-@@ -3058,8 +3166,8 @@
- ==========================================================================
- */
- VOID AsicSleepThenAutoWakeup(
-- IN PRTMP_ADAPTER pAd,
-- IN USHORT TbttNumToNextWakeUp)
-+ IN PRTMP_ADAPTER pAd,
-+ IN USHORT TbttNumToNextWakeUp)
- {
- CSR20_STRUC Csr20;
- PWRCSR1_STRUC Pwrcsr1;
-@@ -3067,9 +3175,9 @@
- // we have decided to SLEEP, so at least do it for a BEACON period.
- if (TbttNumToNextWakeUp==0)
- TbttNumToNextWakeUp=1;
--
-+
- // PWRCSR0 remains untouched
--
-+
- // set CSR20 for next wakeup
- Csr20.word = 0;
- Csr20.field.NumBcnBeforeWakeup = TbttNumToNextWakeUp - 1;
-@@ -3141,17 +3249,17 @@
- ==========================================================================
- */
- VOID AsicSetBssid(
-- IN PRTMP_ADAPTER pAd,
-- IN MACADDR *Bssid)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MACADDR *Bssid)
- {
- ULONG Addr4;
-
-- Addr4 = (ULONG)(Bssid->Octet[0]) |
-- (ULONG)(Bssid->Octet[1] << 8) |
-+ Addr4 = (ULONG)(Bssid->Octet[0]) |
-+ (ULONG)(Bssid->Octet[1] << 8) |
- (ULONG)(Bssid->Octet[2] << 16) |
- (ULONG)(Bssid->Octet[3] << 24);
- RTMP_IO_WRITE32(pAd, CSR5, Addr4);
--
-+
- Addr4 = (ULONG)(Bssid->Octet[4]) | (ULONG)(Bssid->Octet[5] << 8);
- RTMP_IO_WRITE32(pAd, CSR6, Addr4);
- }
-@@ -3162,7 +3270,7 @@
- ==========================================================================
- */
- VOID AsicDisableSync(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- // TIMECSR_STRUC TimeCsr;
- DBGPRINT(RT_DEBUG_TRACE, "--->Disable TSF synchronization\n");
-@@ -3174,7 +3282,7 @@
- RTMP_IO_WRITE32(pAd, CSR14, 0x00000000);
- #endif
-
--#if 0
-+#if 0
- RTMP_IO_READ32(pAd, TIMECSR, &TimeCsr.word);
-
- // restore to 33 PCI-tick-per-Usec. for 2560a only where PCI-clock is used as TSF timing source
-@@ -3192,7 +3300,7 @@
- ==========================================================================
- */
- VOID AsicEnableBssSync(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- CSR12_STRUC Csr12;
- CSR13_STRUC Csr13;
-@@ -3201,14 +3309,14 @@
- BOOLEAN IsApPc;
-
- DBGPRINT(RT_DEBUG_TRACE, "--->AsicEnableBssSync(INFRA mode)\n");
--
-+
- RTMP_IO_WRITE32(pAd, CSR14, 0x00000000);
--
-+
- Csr12.word = 0;
- Csr12.field.BeaconInterval = pAd->PortCfg.BeaconPeriod << 4; // ASIC register in units of 1/16 TU
- Csr12.field.CfpMaxDuration = pAd->PortCfg.CfpMaxDuration << 4; // ASIC register in units of 1/16 TU
- RTMP_IO_WRITE32(pAd, CSR12, Csr12.word);
--
-+
- Csr13.word = 0;
- Csr13.field.CfpPeriod = pAd->PortCfg.CfpDurRemain << 4; // ASIC register in units of 1/16 TU
- RTMP_IO_WRITE32(pAd, CSR13, Csr13.word);
-@@ -3218,14 +3326,14 @@
- Bcncsr1.field.BeaconCwMin = 5;
- RTMP_IO_WRITE32(pAd, BCNCSR1, Bcncsr1.word);
-
-- IsApPc = (CAP_IS_CF_POLLABLE_ON(pAd->PortCfg.CapabilityInfo) &&
-+ IsApPc = (CAP_IS_CF_POLLABLE_ON(pAd->PortCfg.CapabilityInfo) &&
- CAP_IS_CF_POLL_REQ_ON(pAd->PortCfg.CapabilityInfo));
- IsApPc = FALSE; // TODO: not support so far
--
-+
- Csr14.word = 0;
- Csr14.field.TsfCount = 1;
- Csr14.field.TsfSync = 1; // sync TSF in INFRASTRUCTURE mode
-- if (IsApPc)
-+ if (IsApPc)
- {
- Csr14.field.CfpCntPreload = pAd->PortCfg.CfpCount;
- Csr14.field.Tcfp = 1;
-@@ -3234,13 +3342,13 @@
- // Csr14.field.TbcnPreload = (pAd->PortCfg.BeaconPeriod - 30) << 4; // TODO: ???? 1 TU ???
- Csr14.field.Tbcn = 1;
- RTMP_IO_WRITE32(pAd, CSR14, Csr14.word);
--
-+
- }
-
- /*
- ==========================================================================
- Description:
-- Note:
-+ Note:
- BEACON frame in shared memory should be built ok before this routine
- can be called. Otherwise, a garbage frame maybe transmitted out every
- Beacon period.
-@@ -3254,7 +3362,7 @@
- CSR14_STRUC Csr14;
- // BCNCSR_STRUC Bcncsr;
- BCNCSR1_STRUC Bcncsr1;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "--->AsicEnableIbssSync(ADHOC mode)\n");
-
- RTMP_IO_WRITE32(pAd, CSR14, 0x00000000);
-@@ -3279,7 +3387,7 @@
- Bcncsr1.field.Preload = 700; // 24 + ((MAC_HDR_LEN << 4) / RateIdTo500Kbps[pAd->PortCfg.MlmeRate]);
- }
- RTMP_IO_WRITE32(pAd, BCNCSR1, Bcncsr1.word);
--
-+
- Csr14.word = 0;
- Csr14.field.TsfCount = 1;
- Csr14.field.TsfSync = 2; // sync TSF in IBSS mode
-@@ -3289,16 +3397,16 @@
- }
-
- VOID AsicLedPeriodicExec(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
- ULONG LedCsr = 0x0000461E; // 0x0000461E;
--
-+
- pAd->PortCfg.LedCntl.fOdd = ! pAd->PortCfg.LedCntl.fOdd;
-
-- if (INFRA_ON(pAd) || ADHOC_ON(pAd))
-+ if (INFRA_ON(pAd) || ADHOC_ON(pAd))
- LedCsr |= 0x00010000; // enable hardwired TX activity LED
-- if (pAd->PortCfg.LedCntl.fOdd && pAd->PortCfg.LedCntl.fRxActivity)
-+ if (pAd->PortCfg.LedCntl.fOdd && pAd->PortCfg.LedCntl.fRxActivity)
- LedCsr |= 0x00020000; // turn on software-based RX activity LED
- pAd->PortCfg.LedCntl.fRxActivity = FALSE;
-
-@@ -3315,17 +3423,17 @@
- // pAd->PortCfg.CurrentRxAntenna
- // 0xff: diversity, 0:antenna A, 1:antenna B
- VOID AsicSetRxAnt(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- UCHAR RxValue, TxValue;
- ULONG Bbpcsr1;
--
-+
- RTMPCancelTimer(&pAd->PortCfg.RxAnt.RxAntDiversityTimer);
- pAd->PortCfg.RxAnt.AvgRssi[0] = (-95 + 120) << 3; // reset Ant-A's RSSI history
- pAd->PortCfg.RxAnt.AvgRssi[1] = (-95 + 120) << 3; // reset Ant-B's RSSI history
-
- pAd->PortCfg.RxAnt.PrimaryInUsed = TRUE;
--
-+
- if (pAd->PortCfg.CurrentRxAntenna == 0xff) // Diversity
- {
- pAd->PortCfg.RxAnt.PrimaryRxAnt = 1; // assume ant-B
-@@ -3344,7 +3452,7 @@
-
- DBGPRINT(RT_DEBUG_TRACE,"AntDiv - set RxAnt=%d, primary=%d, second=%d\n",
- pAd->PortCfg.CurrentRxAntenna, pAd->PortCfg.RxAnt.PrimaryRxAnt, pAd->PortCfg.RxAnt.SecondaryRxAnt);
--
-+
- // use primary antenna
- RTMP_IO_READ32(pAd, BBPCSR1, &Bbpcsr1);
- TxValue = pAd->PortCfg.BbpWriteLatch[BBP_Tx_Configure];
-@@ -3352,34 +3460,34 @@
- if (pAd->PortCfg.RxAnt.PrimaryRxAnt == 0) // ant-A
- {
- TxValue = (TxValue & 0xFC) | 0x00;
-- RxValue = 0x1c;
-+ RxValue = 0x1c;
- Bbpcsr1 = (Bbpcsr1 & 0xFFFCFFFC) | 0x00000000;
- }
- else // ant-B
- {
- TxValue = (TxValue & 0xFC) | 0x02;
-- RxValue = 0x1e;
-+ RxValue = 0x1e;
- Bbpcsr1 = (Bbpcsr1 & 0xFFFCFFFC) | 0x00020002;
- }
- RTMP_IO_WRITE32(pAd, BBPCSR1, Bbpcsr1);
- //RTMP_BBP_IO_WRITE32_BY_REG_ID(pAd, BBP_Tx_Configure, TxValue);
- RTMP_BBP_IO_WRITE32_BY_REG_ID(pAd, BBP_Rx_Configure, RxValue);
--
-+
- }
-
- // switch to secondary RxAnt for a while to collect it's average RSSI
--// also set a timeout routine to DO the actual evaluation. If evaluation
-+// also set a timeout routine to DO the actual evaluation. If evaluation
- // result shows a much better RSSI using secondary RxAnt, then a official
- // RX antenna switch is performed.
- VOID AsicEvaluateSecondaryRxAnt(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- UCHAR RxValue, TxValue;
- ULONG Bbpcsr1;
-
- if (pAd->PortCfg.CurrentRxAntenna != 0xff)
- return;
--
-+
- pAd->PortCfg.RxAnt.PrimaryInUsed = FALSE;
- pAd->PortCfg.RxAnt.FirstPktArrivedWhenEvaluate = FALSE;
- pAd->PortCfg.RxAnt.RcvPktNumWhenEvaluate = 0;
-@@ -3387,16 +3495,16 @@
- // pAd->PortCfg.RxAnt.AvgRssi[pAd->PortCfg.RxAnt.SecondaryRxAnt] = 0;
-
- DBGPRINT(RT_DEBUG_TRACE,"AntDiv - evaluate Ant #%d\n", pAd->PortCfg.RxAnt.SecondaryRxAnt);
--
-+
- // temporarily switch to secondary antenna
- RxValue = pAd->PortCfg.BbpWriteLatch[BBP_Rx_Configure];
- TxValue = pAd->PortCfg.BbpWriteLatch[BBP_Tx_Configure];
- RTMP_IO_READ32(pAd, BBPCSR1, &Bbpcsr1);
--
-+
- if (pAd->PortCfg.RxAnt.SecondaryRxAnt == 0) // ant-A
- {
- TxValue = (TxValue & 0xFC) | 0x00;
-- RxValue = 0x1c;
-+ RxValue = 0x1c;
- Bbpcsr1 = (Bbpcsr1 & 0xFFFCFFFC) | 0x00000000;
- }
- else // ant-B
-@@ -3411,7 +3519,7 @@
-
- // a one-shot timer to end the evalution
- if (pAd->MediaState == NdisMediaStateConnected)
-- RTMPSetTimer(pAd, &pAd->PortCfg.RxAnt.RxAntDiversityTimer, 150);
-+ RTMPSetTimer(pAd, &pAd->PortCfg.RxAnt.RxAntDiversityTimer, 150);
- else
- RTMPSetTimer(pAd, &pAd->PortCfg.RxAnt.RxAntDiversityTimer, 300);
- }
-@@ -3419,17 +3527,17 @@
- // this timeout routine collect AvgRssi[SecondaryRxAnt] and decide if
- // SecondaryRxAnt is much better than PrimaryRxAnt
- VOID AsicRxAntEvalTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
-
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"AntDiv - AsicRxAntEvalTimeout, \n");
- // Do nothing if the driver is starting halt state.
- // This might happen when timer already been fired before cancel timer with mlmehalt
- if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS))
- return;
--
-+
- if (pAd->PortCfg.RxAnt.PrimaryInUsed == TRUE)
-
- return;
-@@ -3445,7 +3553,7 @@
- pAd->PortCfg.RxAnt.PrimaryRxAnt = pAd->PortCfg.RxAnt.SecondaryRxAnt;
- pAd->PortCfg.RxAnt.SecondaryRxAnt = temp;
- pAd->PortCfg.LastAvgRssi = (pAd->PortCfg.RxAnt.AvgRssi[pAd->PortCfg.RxAnt.SecondaryRxAnt] >> 3) - pAd->PortCfg.RssiToDbm;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"AntDiv - Switch to Ant #%d, RSSI[0,1]=<%d, %d>\n",
- pAd->PortCfg.RxAnt.PrimaryRxAnt, pAd->PortCfg.RxAnt.AvgRssi[0], pAd->PortCfg.RxAnt.AvgRssi[1]);
- }
-@@ -3453,7 +3561,7 @@
- {
- UCHAR RxValue, TxValue;
- ULONG Bbpcsr1;
--
-+
- // end of evaluation, swicth back to primary antenna
- RxValue = pAd->PortCfg.BbpWriteLatch[BBP_Rx_Configure];
- TxValue = pAd->PortCfg.BbpWriteLatch[BBP_Tx_Configure];
-@@ -3461,7 +3569,7 @@
- if (pAd->PortCfg.RxAnt.PrimaryRxAnt == 0) // ant-A
- {
- TxValue = (TxValue & 0xFC) | 0x00;
-- RxValue = 0x1c;
-+ RxValue = 0x1c;
- Bbpcsr1 = (Bbpcsr1 & 0xFFFCFFFC) | 0x00000000;
- }
- else // ant-B
-@@ -3491,7 +3599,7 @@
- */
- VOID AsicSetSlotTime(
- IN PRTMP_ADAPTER pAd,
-- IN BOOLEAN UseShortSlotTime)
-+ IN BOOLEAN UseShortSlotTime)
- {
- CSR11_STRUC Csr11;
- CSR18_STRUC Csr18;
-@@ -3499,7 +3607,7 @@
- UCHAR PhyMode;
-
- pAd->PortCfg.ShortSlotInUsed = UseShortSlotTime;
--
-+
- PhyMode = pAd->PortCfg.PhyMode;
- if (PhyMode == PHY_11ABG_MIXED)
- {
-@@ -3527,7 +3635,7 @@
- else
- Csr19.field.EIFS = 60; // roughly = SIFS + ACK @6Mbps
- RTMP_IO_WRITE32(pAd, CSR19, Csr19.word);
--
-+
- #if 1
- // force using short SLOT time for FAE to demo performance only
- if (pAd->PortCfg.EnableTxBurst == 1)
-@@ -3543,7 +3651,7 @@
- ==========================================================================
- Description:
- This routine is used for 2560a only where 2560a still use non-accurate
-- PCI-clock as TSF 1-usec source. we have to dynamically change tick-per-usec
-+ PCI-clock as TSF 1-usec source. we have to dynamically change tick-per-usec
- to avoid ADHOC synchronization issue with SYMBOL 11b card
- ==========================================================================
- */
-@@ -3575,7 +3683,7 @@
- /*
- ==========================================================================
- Description:
-- danamic tune BBP R17 to find a balance between sensibility and
-+ danamic tune BBP R17 to find a balance between sensibility and
- noise isolation
- ==========================================================================
- */
-@@ -3586,13 +3694,13 @@
- UCHAR R17;
- ULONG FalseCcaUpperThreshold = pAd->PortCfg.BbpTuning.FalseCcaUpperThreshold << 7;
- int dbm = pAd->PortCfg.AvgRssi - pAd->PortCfg.RssiToDbm;
--
-+
- if ((! pAd->PortCfg.BbpTuningEnable) || (pAd->PortCfg.BbpTuning.VgcDelta==0))
- return;
--
-+
- R17 = pAd->PortCfg.BbpWriteLatch[17];
-
-- if ((pAd->PortCfg.Rt2560Version >= RT2560_VER_D) &&
-+ if ((pAd->PortCfg.Rt2560Version >= RT2560_VER_D) &&
- (pAd->MediaState == NdisMediaStateConnected))
- {
- // Rule 0.
-@@ -3609,7 +3717,7 @@
- return;
- }
- // Rule 1. "special big-R17 for short-distance" when not SCANNING
-- else if ((dbm >= RSSI_FOR_LOW_SENSIBILITY) &&
-+ else if ((dbm >= RSSI_FOR_LOW_SENSIBILITY) &&
- (pAd->Mlme.CntlMachine.CurrState == CNTL_IDLE))
- {
- if (R17 != BBP_R17_LOW_SENSIBILITY)
-@@ -3621,7 +3729,7 @@
- return;
- }
- // Rule 2. "special mid-R17 for mid-distance" when not SCANNING
-- else if ((dbm >= RSSI_FOR_MID_SENSIBILITY) &&
-+ else if ((dbm >= RSSI_FOR_MID_SENSIBILITY) &&
- (pAd->Mlme.CntlMachine.CurrState == CNTL_IDLE))
- {
- if (R17 != BBP_R17_MID_SENSIBILITY)
-@@ -3632,7 +3740,7 @@
- DBGPRINT(RT_DEBUG_INFO, "RSSI = %d dbm, fixed R17 at 0x%x\n", dbm, R17);
- return;
- }
-- // Rule 3. leave "short or mid-distance" condition, restore R17 to the
-+ // Rule 3. leave "short or mid-distance" condition, restore R17 to the
- // dynamic tuning range <E2PROM-6, BBP_R17_DYNAMIC_UP_BOUND>
- else if (R17 >= BBP_R17_MID_SENSIBILITY)
- {
-@@ -3642,13 +3750,13 @@
- return;
- }
- }
--
-+
- // Rule 3. otherwise, R17 is currenly in dyanmic tuning range: <E2PROM-6, BBP_R17_DYNAMIC_UP_BOUND>.
- // Keep dynamic tuning based on False CCA conter
--
-+
- RTMP_IO_READ32(pAd, CNT3, &Value);
- pAd->PrivateInfo.CCAErrCnt = (Value & 0x0000ffff);
-- DBGPRINT(RT_DEBUG_INFO, "CCA flase alarm = %d, Avg RSSI= %d dbm\n",
-+ DBGPRINT(RT_DEBUG_INFO, "CCA flase alarm = %d, Avg RSSI= %d dbm\n",
- pAd->PrivateInfo.CCAErrCnt, dbm);
-
- if ((pAd->PrivateInfo.CCAErrCnt > FalseCcaUpperThreshold) &&
-@@ -3697,7 +3805,7 @@
-
- Return Value:
- None
--
-+
- Note:
-
- ========================================================================
-@@ -3714,7 +3822,7 @@
- DBGPRINT(RT_DEBUG_INFO, "==> MlmeFreeMemory\n");
- spin_lock(&pAd->MemLock);
- if (pAd->Mlme.MemHandler.MemRunning)
-- {
-+ {
- //Mlme memory handler is busy.
- //Move it to the Pending array for later free
- pAd->Mlme.MemHandler.MemFreePending[pAd->Mlme.MemHandler.PendingCount++] = (PULONG) AllocVa;
-@@ -3738,7 +3846,7 @@
- while (pMlmeMemoryStruct)
- {
- if (pMlmeMemoryStruct->AllocVa == (PVOID) pAd->Mlme.MemHandler.MemFreePending[Index])
-- {
-+ {
- //Found virtual address in the in-used link list
- //Remove it from the memory in-used link list, and move it to the unused link list
- if (pPrevious == NULL)
-@@ -3865,7 +3973,7 @@
- pAd->Mlme.MemHandler.MemRunning = FALSE;
- spin_unlock(&pAd->MemLock);
-
-- DBGPRINT(RT_DEBUG_INFO, "<== MlmeFreeMemory [IN:%d][UN:%d][Pending:%d]\n",
-+ DBGPRINT(RT_DEBUG_INFO, "<== MlmeFreeMemory [IN:%d][UN:%d][Pending:%d]\n",
- pAd->Mlme.MemHandler.InUseCount, pAd->Mlme.MemHandler.UnUseCount, pAd->Mlme.MemHandler.PendingCount);
- }
-
-@@ -3883,7 +3991,7 @@
- NDIS_STATUS_SUCCESS
- NDIS_STATUS_FAILURE
- NDIS_STATUS_RESOURCES
--
-+
- Note:
-
- ========================================================================
-@@ -3911,7 +4019,7 @@
- }
-
- if (pAd->Mlme.MemHandler.pUnUseHead == NULL)
-- { //There are no available memory for caller use
-+ { //There are no available memory for caller use
- Status = NDIS_STATUS_RESOURCES;
- pAd->Mlme.MemHandler.MemRunning = FALSE;
- spin_unlock(&pAd->MemLock);
-@@ -3963,7 +4071,7 @@
- Return Value:
- NDIS_STATUS_SUCCESS
- NDIS_STATUS_RESOURCES
--
-+
- Note:
-
- ========================================================================
-@@ -3994,7 +4102,7 @@
- //
- if (Number > MAX_MLME_HANDLER_MEMORY)
- Number = MAX_MLME_HANDLER_MEMORY;
--
-+
- for (i = 0; i < Number; i++)
- {
- //Allocate a nonpaged memory for link list use.
-diff -Nur rt2500-1.1.0-b4/Module/mlme.h rt2500-cvs-2007061011/Module/mlme.h
---- rt2500-1.1.0-b4/Module/mlme.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/mlme.h 2007-03-21 05:25:34.000000000 +0100
-@@ -1,43 +1,43 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: mlme.h
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * John 28th Aug 03 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * John 28th Aug 03 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #ifndef __MLME_H__
- #define __MLME_H__
-
- #include "oid.h"
-
--// maximum supported capability information -
-+// maximum supported capability information -
- // ESS, IBSS, Privacy, Short Preamble, Short Slot
- #define SUPPORTED_CAPABILITY_INFO 0x0433
-
-@@ -61,7 +61,7 @@
-
- #define RSSI_TO_DBM_OFFSET 120 // for RT2530 RSSI-115 = dBm
- #define RSSI_FOR_MID_TX_POWER 55 // -55 db is considered mid-distance
--#define RSSI_FOR_LOW_TX_POWER 45 // -45 db is considered very short distance and
-+#define RSSI_FOR_LOW_TX_POWER 45 // -45 db is considered very short distance and
- // eligible to use a lower TX power
- #define RSSI_FOR_LOWEST_TX_POWER 30
- #define MID_TX_POWER_DELTA 0 // -3 db from full TX power upon mid-distance to AP
-@@ -212,7 +212,7 @@
- #define TX_FER_TOO_HIGH(TxFER) ((TxFER) > 15) // consider rate down if FER>15%
- #define TX_FER_VERY_LOW(TxFER) ((TxFER) < 7) // consider rate up if FER<7%
- #define FAIR_FER 10 // any value between TOO_HIGH and VERY_LOW
--#define DRS_TX_QUALITY_WORST_BOUND 3
-+#define DRS_TX_QUALITY_WORST_BOUND 3
- #define DRS_PENALTY 8
-
- // Ralink timer control block
-@@ -329,13 +329,14 @@
- USHORT CfpDurRemaining;
- UCHAR SsidLen;
- CHAR Ssid[MAX_LEN_OF_SSID];
--
-+
- ULONG LastBeaconRxTime; // OS's timestamp
-
- // New for microsoft WPA support
-+ USHORT CipherCap; // Pair (0:7), Group (8:15) cipher cap
- NDIS_802_11_FIXED_IEs FixIEs;
- NDIS_802_11_WEP_STATUS WepStatus;
-- UCHAR VarIELen; // Length of next VIE include EID & Length
-+ USHORT VarIELen; // Length of all saved IEs.
- UCHAR VarIEs[MAX_VIE_LEN];
- } BSS_ENTRY, *PBSS_ENTRY;
-
-@@ -384,7 +385,7 @@
- ULONG BssIdx;
- ULONG RoamIdx;
- BOOLEAN CurrReqIsFromNdis; // TRUE - then we should call NdisMSetInformationComplete()
-- // FALSE - req is from driver itself.
-+ // FALSE - req is from driver itself.
- // no NdisMSetInformationComplete() is required
- } CNTL_AUX, *PCNTL_AUX;
-
-@@ -394,7 +395,7 @@
- USHORT CapabilityInfo;
- USHORT ListenIntv;
- CHAR Ssid[MAX_LEN_OF_SSID];
-- UCHAR SsidLen;
-+ UCHAR SsidLen;
- RALINK_TIMER_STRUCT AssocTimer, ReassocTimer, DisassocTimer;
- } ASSOC_AUX, *PASSOC_AUX;
-
-@@ -482,10 +483,10 @@
- typedef struct PACKED _BEACON_EID_STRUCT {
- UCHAR Eid;
- UCHAR Len;
-- CHAR Octet[1];
-+ UCHAR Octet[1];
- } BEACON_EID_STRUCT,*PBEACON_EID_STRUCT;
-
--// New for WPA cipher suite
-+// New for WPA cipher suite
- typedef struct PACKED _RSN_EID_STRUCT {
- UCHAR Eid;
- UCHAR Length;
-@@ -497,6 +498,98 @@
- UCHAR Oui[4];
- } Unicast[1];
- } RSN_EID_STRUCT, *PRSN_EID_STRUCT;
-+#define MIN_WPA_KEYDATA_LEN (4 + sizeof(ie_version_t) + sizeof(suite_sel_t) + \
-+ 2*sizeof(suite_list_t))
-+
-+
-+/* Country Information Element (802.11d pp. 4, 5) */
-+
-+typedef struct country_subelement {
-+ unsigned char first_chan,
-+ num_chans;
-+ signed char max_tx_pwr; // in dBm
-+} PACKED country_subelement_t, *country_subelement_p;
-+
-+typedef struct country_string { // (all alpha)
-+ UCHAR co[2]; // ISO/IEC 3166-1 country code
-+ UCHAR env; // ' '/'O'/'I' - 802.11d pp. 19
-+} PACKED country_string_t, *country_string_p;
-+
-+typedef struct country_ie {
-+ UCHAR eid;
-+ UCHAR length;
-+ country_string_t cs;
-+ country_subelement_t chans[1];
-+ UCHAR pad[0]; // may or may not be present
-+} PACKED country_ie_t, *country_ie_p;
-+
-+
-+/* WPA2 (cf. 802.11i pp. 27 ff.) */
-+
-+// access
-+#define wtohs(x) (le16_to_cpu(x))// sic (802.11 is "native" little-endian)
-+#define htows(x) (cpu_to_le16(x))// i.e. opposite of internet byte order
-+
-+// primitives
-+typedef USHORT ie_version_t;
-+typedef USHORT ie_count_t;
-+typedef UCHAR ie_oui_t[3]; // Organizationally Unique Identifier
-+typedef UCHAR pmkid_t[16], *pmkid_p;// 802.11i pp. 76
-+
-+typedef struct rsncap {
-+#ifdef BIG_ENDIAN
-+ USHORT Reserved:10;
-+ USHORT GTKSAReplayCounter:2; // 0/2/4/16 replay counters
-+ USHORT PTKSAReplayCounter:2;
-+ USHORT NoPairwise:1; // WEP key 0 and pairwise key n/a
-+ USHORT PreAuth:1; // AP STA supports pre-authentication
-+#else
-+ USHORT PreAuth:1; // AP STA supports pre-authentication
-+ USHORT NoPairwise:1; // WEP key 0 and pairwise key n/a
-+ USHORT PTKSAReplayCounter:2;
-+ USHORT GTKSAReplayCounter:2; // 0/2/4/16 replay counters
-+ USHORT Reserved:10;
-+#endif
-+} PACKED rsncap_t, *rsncap_p;
-+
-+typedef struct suite_sel {
-+ ie_oui_t oui;
-+ UCHAR type;
-+} PACKED suite_sel_t, *suite_sel_p;
-+
-+/* Cipher suite selectors - 802.11i pp. 28, 29 */
-+#define CIPHER_TYPE_GRP 0
-+#define CIPHER_TYPE_WEP40 1
-+#define CIPHER_TYPE_TKIP 2
-+#define CIPHER_TYPE_RES 3
-+#define CIPHER_TYPE_CCMP 4
-+#define CIPHER_TYPE_WEP104 5
-+#define NUM_CIPHER_TYPES 6
-+
-+/* Authentication and Key Management suite selectors - 802.11i pp. 30 */
-+#define AKM_TYPE_802_1X 1
-+#define AKM_TYPE_PSK 2
-+
-+typedef struct suite_list {
-+ ie_count_t count;
-+ suite_sel_t suite[1];
-+} PACKED suite_list_t, *suite_list_p;
-+
-+typedef struct pmkid_list {
-+ ie_count_t count;
-+ pmkid_t list[1];
-+} PACKED pmkid_list_t, *pmkid_list_p;
-+
-+typedef struct rsn_ie {
-+ UCHAR eid;
-+ UCHAR length;
-+ ie_version_t version;
-+
-+ // Optional fields
-+ suite_sel_t gcsuite; // Group Cipher Suite
-+} PACKED rsn_ie_t, *rsn_ie_p;
-+#define MIN_RSN_KEYDATA_LEN (sizeof(ie_version_t) + sizeof(suite_sel_t) + \
-+ 2*sizeof(suite_list_t))
-
- extern UCHAR RateIdToMbps[];
- extern USHORT RateIdTo500Kbps[];
-diff -Nur rt2500-1.1.0-b4/Module/oid.h rt2500-cvs-2007061011/Module/oid.h
---- rt2500-1.1.0-b4/Module/oid.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/oid.h 2007-03-21 05:25:34.000000000 +0100
-@@ -1,36 +1,37 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: oid.h
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- * RobinC 10th Dec 04 RFMON Support
-- ***************************************************************************/
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ * RobinC 10th Dec 04 RFMON Support
-+ * RomainB 31st Dec 06 RFMON getter
-+ ***************************************************************************/
-
- #ifndef _OID_H_
- #define _OID_H_
-@@ -56,7 +57,8 @@
- #define RTPRIV_IOCTL_BBP SIOCIWFIRSTPRIV + 0x03
- #define RTPRIV_IOCTL_MAC SIOCIWFIRSTPRIV + 0x05
- #define RTPRIV_IOCTL_E2P SIOCIWFIRSTPRIV + 0x07
--#define RTPRIV_IOCTL_RFMONTX SIOCIWFIRSTPRIV + 0x0D
-+#define RTPRIV_IOCTL_SET_RFMONTX SIOCIWFIRSTPRIV + 0x0C
-+#define RTPRIV_IOCTL_GET_RFMONTX SIOCIWFIRSTPRIV + 0x0D
-
- #define OID_GET_SET_TOGGLE 0x8000
-
-@@ -168,8 +170,8 @@
- // Added new types for OFDM 5G and 2.4G
- typedef enum _NDIS_802_11_NETWORK_TYPE
- {
-- Ndis802_11FH,
-- Ndis802_11DS,
-+ Ndis802_11FH,
-+ Ndis802_11DS,
- Ndis802_11OFDM5,
- Ndis802_11OFDM24,
- Ndis802_11NetworkTypeMax // not a real type, defined as an upper bound
-@@ -199,7 +201,7 @@
- typedef struct _NDIS_802_11_CONFIGURATION_FH
- {
- ULONG Length; // Length of structure
-- ULONG HopPattern; // As defined by 802.11, MSB set
-+ ULONG HopPattern; // As defined by 802.11, MSB set
- ULONG HopSet; // to one if non-802.11
- ULONG DwellTime; // units are Kusec
- } NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;
-@@ -237,7 +239,7 @@
- typedef struct _NDIS_802_11_KEY
- {
- ULONG Length; // Length of this structure
-- ULONG KeyIndex;
-+ ULONG KeyIndex;
- ULONG KeyLength; // length of key in bytes
- NDIS_802_11_MAC_ADDRESS BSSID;
- NDIS_802_11_KEY_RSC KeyRSC;
-@@ -247,8 +249,8 @@
- typedef struct _NDIS_802_11_REMOVE_KEY
- {
- ULONG Length; // Length of this structure
-- ULONG KeyIndex;
-- NDIS_802_11_MAC_ADDRESS BSSID;
-+ ULONG KeyIndex;
-+ NDIS_802_11_MAC_ADDRESS BSSID;
- } NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY;
-
- typedef struct PACKED _NDIS_802_11_WEP
-@@ -285,7 +287,7 @@
- typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; // Set of 8 data rates
- typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; // Set of 16 data rates
-
--typedef struct PACKED _NDIS_802_11_SSID
-+typedef struct PACKED _NDIS_802_11_SSID
- {
- ULONG SsidLength; // length of SSID field below, in bytes;
- // this can be zero.
-@@ -338,14 +340,14 @@
- NDIS_WLAN_BSSID_EX Bssid[1];
- } NDIS_802_11_BSSID_LIST_EX, *PNDIS_802_11_BSSID_LIST_EX;
-
--typedef struct _NDIS_802_11_FIXED_IEs
-+typedef struct _NDIS_802_11_FIXED_IEs
- {
- UCHAR Timestamp[8];
- USHORT BeaconInterval;
- USHORT Capabilities;
- } NDIS_802_11_FIXED_IEs, *PNDIS_802_11_FIXED_IEs;
-
--typedef struct _NDIS_802_11_VARIABLE_IEs
-+typedef struct _NDIS_802_11_VARIABLE_IEs
- {
- UCHAR ElementID;
- UCHAR Length; // Number of bytes in data field
-@@ -428,7 +430,7 @@
- NDIS_802_11_STATUS_INDICATION Status;
- NDIS_802_11_AUTHENTICATION_REQUEST Request[1];
- } NDIS_802_11_AUTHENTICATION_EVENT, *PNDIS_802_11_AUTHENTICATION_EVENT;
--
-+
- typedef struct _NDIS_802_11_TEST
- {
- ULONG Length;
-diff -Nur rt2500-1.1.0-b4/Module/rt2560.h rt2500-cvs-2007061011/Module/rt2560.h
---- rt2500-1.1.0-b4/Module/rt2560.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rt2560.h 2007-03-21 05:25:34.000000000 +0100
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rt2560.h
-- *
-+ *
- * Abstract: RT2560 ASIC related definition & structures
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-- ***************************************************************************/
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-+ ***************************************************************************/
-
- #ifndef __RT2560_H__
- #define __RT2560_H__
-@@ -370,10 +370,10 @@
-
- // Word 5
- ULONG Eiv;
--
-+
- // Word 6-9
- UCHAR Key[16];
--
-+
- // Word 10 - 11 Reserved, not necessary to put into the structure.
- #ifdef BIG_ENDIAN
- ULONG Rsv2:31;
-@@ -676,7 +676,7 @@
- #endif
- } field;
- ULONG word;
--} CSR11_STRUC, *PCSR11_STRUC;
-+} CSR11_STRUC, *PCSR11_STRUC;
-
- //
- // CSR12: Synchronization configuration register 0
-@@ -869,7 +869,7 @@
- // =================================================================================
-
- //
--// TXCSR0 <0x0060> : TX Control Register
-+// TXCSR0 <0x0060> : TX Control Register
- //
- typedef union _TXCSR0_STRUC {
- struct {
-@@ -880,13 +880,13 @@
- ULONG KickAtim:1; // Kick ATIM ring
- ULONG KickTx:1; // Kick Tx ring
- #else
-- ULONG KickTx:1; // Kick Tx ring
-+ ULONG KickTx:1; // Kick Tx ring
- ULONG KickAtim:1; // Kick ATIM ring
- ULONG KickPrio:1; // Kick priority ring
- ULONG Abort:1; // Abort all transmit related ring operation
- ULONG Rsvd:28;
- #endif
-- } field;
-+ } field;
- ULONG word;
- } TXCSR0_STRUC, *PTXCSR0_STRUC;
-
-@@ -1184,7 +1184,7 @@
- ULONG BbpDesireState:2;
- ULONG SetState:1;
- #else
-- ULONG SetState:1;
-+ ULONG SetState:1;
- ULONG BbpDesireState:2;
- ULONG RfDesireState:2;
- ULONG BbpCurrState:2;
-@@ -1304,13 +1304,13 @@
- #ifdef BIG_ENDIAN
- ULONG Rsvd:15;
- ULONG WriteControl:1; // 1: Write BBP, 0: Read BBP
-- ULONG Busy:1; // 1: ASIC is busy execute BBP programming.
-+ ULONG Busy:1; // 1: ASIC is busy execute BBP programming.
- ULONG RegNum:7; // Selected BBP register
- ULONG Value:8; // Register value to program into BBP
- #else
- ULONG Value:8; // Register value to program into BBP
- ULONG RegNum:7; // Selected BBP register
-- ULONG Busy:1; // 1: ASIC is busy execute BBP programming.
-+ ULONG Busy:1; // 1: ASIC is busy execute BBP programming.
- ULONG WriteControl:1; // 1: Write BBP, 0: Read BBP
- ULONG Rsvd:15;
- #endif
-diff -Nur rt2500-1.1.0-b4/Module/rt2x00debug.h rt2500-cvs-2007061011/Module/rt2x00debug.h
---- rt2500-1.1.0-b4/Module/rt2x00debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ rt2500-cvs-2007061011/Module/rt2x00debug.h 2007-02-20 20:02:18.000000000 +0100
-@@ -0,0 +1,76 @@
-+/*
-+ Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
-+ <http://rt2x00.serialmonkey.com>
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the
-+ Free Software Foundation, Inc.,
-+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ */
-+
-+/*
-+ Module: rt2x00debug
-+ Abstract: Data structures for the rt2x00debug module.
-+ Supported chipsets: RT2460, RT2560, RT2570,
-+ rt2561, rt2561s, rt2661 & rt2573.
-+ */
-+
-+typedef void (debug_access_t)(void *dev, const unsigned long word, void *data);
-+
-+struct rt2x00debug_reg {
-+ debug_access_t *read;
-+ debug_access_t *write;
-+
-+ unsigned int word_size;
-+ unsigned int length;
-+};
-+
-+struct rt2x00debug {
-+ /*
-+ * Name of the interface.
-+ */
-+ char intf_name[16];
-+
-+ /*
-+ * Reference to the modules structure.
-+ */
-+ struct module *owner;
-+
-+ /*
-+ * Driver module information
-+ */
-+ char *mod_name;
-+ char *mod_version;
-+
-+ /*
-+ * Register access information.
-+ */
-+ struct rt2x00debug_reg reg_csr;
-+ struct rt2x00debug_reg reg_eeprom;
-+ struct rt2x00debug_reg reg_bbp;
-+
-+ /*
-+ * Pointer to driver structure where
-+ * this debugfs entry belongs to.
-+ */
-+ void *dev;
-+
-+ /*
-+ * Pointer to rt2x00debug private data,
-+ * individual driver should not touch this.
-+ */
-+ void *priv;
-+};
-+
-+extern int rt2x00debug_register(struct rt2x00debug *debug);
-+extern void rt2x00debug_deregister(struct rt2x00debug *debug);
-diff -Nur rt2500-1.1.0-b4/Module/rt_config.h rt2500-cvs-2007061011/Module/rt_config.h
---- rt2500-1.1.0-b4/Module/rt_config.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rt_config.h 2007-06-10 18:35:24.000000000 +0200
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rt_config.h
-- *
-+ *
- * Abstract: Central header file for all includes
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * RoryC 21st Dec 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * RoryC 21st Dec 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #ifndef __RT_CONFIG_H__
- #define __RT_CONFIG_H__
-@@ -39,14 +39,14 @@
- #define NIC_DEVICE_NAME "RT2500STA"
-
- #define DRV_NAME "rt2500"
--#define DRV_VERSION "1.1.0 BETA4"
--#define DRV_RELDATE "2006/06/18"
-+#define DRV_VERSION "1.1.0 CVS"
-+#define DRV_RELDATE "2007061011"
- #define DRV_VERSION_MAJOR 1
--#define DRV_VERSION_MINOR 1
-+#define DRV_VERSION_MINOR 1
- #define DRV_VERSION_SUB 0
--#define DRV_BUILD_YEAR 2006
--#define DRV_BUILD_MONTH 06
--#define DRV_BUILD_DAY 18
-+#define DRV_BUILD_YEAR 2007
-+#define DRV_BUILD_MONTH 05
-+#define DRV_BUILD_DAY 13
-
- /* Operational parameters that are set at compile time. */
- #if !defined(__OPTIMIZE__) || !defined(__KERNEL__)
-@@ -55,7 +55,6 @@
- #error You must compile this driver with "-O".
- #endif
-
--#include <linux/config.h> //can delete
- #include <linux/module.h>
- #include <linux/version.h>
- #include <linux/kernel.h>
-@@ -71,7 +70,6 @@
- #include <linux/skbuff.h>
- #include <linux/init.h> //can delete
- #include <linux/delay.h> // can delete
--#include <linux/ethtool.h>
- #include <linux/wireless.h>
- #include <linux/proc_fs.h>
- #include <linux/delay.h>
-@@ -90,9 +88,9 @@
-
- // The type definition has to be placed before including rt2460.h
- #ifndef ULONG
--#define CHAR char
-+#define CHAR signed char
- #define INT int
--#define SHORT int
-+#define SHORT short
- #define UINT u32
- #define ULONG u32
- #define USHORT u16
-@@ -144,6 +142,7 @@
- #include "rtmp_type.h"
- #include "rtmp_def.h"
- #include "rt2560.h"
-+#include "rt2x00debug.h"
- #include "rtmp.h"
- #include "mlme.h"
- #include "oid.h"
-@@ -156,7 +155,7 @@
- RT2560A = 0,
- };
-
--#ifdef RTMP_EMBEDDED
-+#if 1 //#ifdef RTMP_EMBEDDED
- #undef GFP_KERNEL
- #define GFP_KERNEL (GFP_DMA | GFP_ATOMIC)
- #endif
-diff -Nur rt2500-1.1.0-b4/Module/rtmp.h rt2500-cvs-2007061011/Module/rtmp.h
---- rt2500-1.1.0-b4/Module/rtmp.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp.h 2007-06-08 20:09:53.000000000 +0200
-@@ -1,43 +1,44 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rt_config.h
-- *
-+ *
- * Abstract: Central header file for all includes
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * RoryC 21st Dec 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * RoryC 21st Dec 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW (rt2400) 8th Dec 04 Promisc mode support
- * Flavio (rt2400) 8th Dec 04 Elegant irqreturn_t handling
- * RobinC 10th Dec 04 RFMON Support
-- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-- * MarkW (rt2400) 15th Dec 04 Spinlock fix
-+ * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-+ * MarkW (rt2400) 15th Dec 04 Spinlock fix
- * Ivo (rt2400) 15th Dec 04 Debug level switching
- * GregorG 29th Mar 05 Big endian fixes
-- ***************************************************************************/
-+ * RomainB 31st Dec 06 RFMON getter
-+ ***************************************************************************/
-
- #ifndef __RTMP_H__
- #define __RTMP_H__
-@@ -62,6 +63,13 @@
- #endif /*(LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
- #endif /* pci_name */
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22))
-+#define pci_module_init pci_register_driver
-+#endif
-+
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22))
-+#define skb_reset_mac_header(skb) (skb->mac.raw = skb->data)
-+#endif
-
- // Krellan: Limit range of user TxPower settings from -31 to +0 dBm.
- // We could accept -31 to +31 dBm, relative to 0 dBm which is defined
-@@ -87,21 +95,40 @@
- //
- // MACRO for debugging information
- //
--extern int debug;
- #ifdef RT2500_DBG
--#define DBGPRINT(Level, fmt, args...) \
-- if(debug){printk(Level DRV_NAME ": " fmt, ## args);}
-+extern VOID rt2500_setdbg(long);
-+extern INT rt2500_dbgprint(int, const char *, ...);
-+#define DBGPRINT(mask, fmt, args...) \
-+ (rt2500_dbgprint(mask, KERN_DEBUG DRV_NAME ": " fmt, ## args))
-+
-+/* Do not enclose in parentheses ()! */
-+#define DBGENTER DBGPRINT(RT_DEBUG_TRACE, "==> %s\n", __FUNCTION__)
-+#define DBGRETURN DBGPRINT(RT_DEBUG_TRACE, "<== %s\n", __FUNCTION__)
-+
-+#define DBGHEXSTR(level, prefix, src, len) \
-+ { \
-+ char buf[128]; /* allows 64 bytes/512 bits */ \
-+ int i, j; \
-+ unsigned char *p; \
-+ \
-+ if (len > 0) { \
-+ j = len < sizeof(buf)/2? len: sizeof(buf)/2 - 1; \
-+ \
-+ for (p = (unsigned char *)(src), i = 0; i < j; i++) { \
-+ sprintf(&buf[i*2], "%02x", *p++); \
-+ } \
-+ DBGPRINT(level, prefix "%s\n", buf); \
-+ } \
-+ }
- #else
-+#define DBGENTER
-+#define DBGRETURN
- #define DBGPRINT(Level, fmt, args...) \
- while(0){}
-+#define DBGHEXSTR(level, prefix, src, len) \
-+ while(0){}
- #endif
-
--//
--// spin_lock enhanced for Nested spin lock
--//
--
--extern unsigned long IrqFlags;
--
- // Assert MACRO to make sure program running
- //
- #undef ASSERT
-@@ -145,12 +172,12 @@
- // ULONG Register_Offset,
- // ULONG Value)
- //
--#ifdef RTMP_EMBEDDED
-+#if 0 //#ifdef RTMP_EMBEDDED
- #define RTMP_IO_READ32(_A, _R, _pV) (*_pV = PCIMemRead32(__mem_pci(_A->CSRBaseAddress+_R)))
- #define RTMP_IO_WRITE32(_A, _R, _V) (PCIMemWrite32(__mem_pci(_A->CSRBaseAddress+_R),_V))
- #else
--#define RTMP_IO_READ32(_A, _R, _pV) (*_pV = readl( (void*) (_A->CSRBaseAddress + _R) ) )
--#define RTMP_IO_WRITE32(_A, _R, _V) (writel(_V, (void*) (_A->CSRBaseAddress + _R) ) )
-+#define RTMP_IO_READ32(_A, _R, _pV) (*_pV = readl((void*)(_A->CSRBaseAddress + _R) ) )
-+#define RTMP_IO_WRITE32(_A, _R, _V) (writel(_V, (void*)(_A->CSRBaseAddress + _R) ) )
- #endif
-
- //
-@@ -363,7 +390,7 @@
- ULONG RxRingErrCount;
- ULONG EncryptCount;
- ULONG KickTxCount;
-- ULONG TxRingErrCount;
-+ ULONG TxRingErrCount;
- LARGE_INTEGER RealFcsErrCount;
- } COUNTER_RALINK, *PCOUNTER_RALINK;
-
-@@ -400,10 +427,10 @@
- typedef struct _WPA_KEY {
- UCHAR KeyLen; // Key length for each key, 0: entry is invalid
- UCHAR Key[16]; // right now we implement 4 keys, 128 bits max
-- UCHAR RxMic[8];
-- UCHAR TxMic[8];
-+ UCHAR RxMic[8]; // Message Integrity Code
-+ UCHAR TxMic[8]; // MIC
- NDIS_802_11_MAC_ADDRESS BssId; // For pairwise key only
-- UCHAR TxTsc[6]; // 48bit TSC value
-+ UCHAR TxTsc[6]; // 48bit TKIP Sequence Counter value
- UCHAR RxTsc[6]; // 48bit TSC value
- UCHAR Type; // Indicate Pairwise / Group
- } WPA_KEY, *PWPA_KEY;
-@@ -413,7 +440,7 @@
- {
- union
- {
-- struct
-+ struct
- {
- UCHAR rc0;
- UCHAR rc1;
-@@ -436,38 +463,36 @@
- UCHAR Byte;
- } CONTROL;
- } field;
--
-+
- ULONG word;
- } IV16;
--
-+
- ULONG IV32;
- } TKIP_IV, *PTKIP_IV;
- #endif
-
--typedef struct _IV_CONTROL_
-+typedef struct PACKED _IV_CONTROL_
- {
-- union
-- {
-- struct
-- {
-+ union PACKED {
-+ struct PACKED {
- #ifdef BIG_ENDIAN
-- ULONG KeyID:2;
-- ULONG ExtIV:1;
-- ULONG Rsvd:5;
-- ULONG rc2:8;
-- ULONG rc1:8;
-- ULONG rc0:8;
-+ ULONG KeyID:2;
-+ ULONG ExtIV:1;
-+ ULONG Rsvd:5;
-+ ULONG rc2:8;
-+ ULONG rc1:8;
-+ ULONG rc0:8;
- #else
-- ULONG rc0:8;
-- ULONG rc1:8;
-- ULONG rc2:8;
-- ULONG Rsvd:5;
-- ULONG ExtIV:1;
-- ULONG KeyID:2;
-+ ULONG rc0:8;
-+ ULONG rc1:8;
-+ ULONG rc2:8;
-+ ULONG Rsvd:5;
-+ ULONG ExtIV:1;
-+ ULONG KeyID:2;
- #endif
-- }field;
-- ULONG word;
-- }IV16;
-+ }field;
-+ ULONG word;
-+ }IV16;
-
- ULONG IV32;
- } TKIP_IV, *PTKIP_IV;
-@@ -499,7 +524,7 @@
-
- typedef struct _SOFT_RX_ANT_DIVERSITY_STRUCT {
- BOOLEAN PrimaryInUsed;
-- BOOLEAN FirstPktArrivedWhenEvaluate;
-+ BOOLEAN FirstPktArrivedWhenEvaluate;
- UCHAR PrimaryRxAnt; // 0:Ant-A, 1:Ant-B
- UCHAR SecondaryRxAnt; // 0:Ant-A, 1:Ant-B
- UCHAR CurrentRxAnt; // 0:Ant-A, 1:Ant-B
-@@ -535,7 +560,7 @@
-
- NDIS_802_11_AUTHENTICATION_MODE AuthMode; // This should match to whatever microsoft defined
- NDIS_802_11_WEP_STATUS WepStatus;
--
-+
- // MIB:ieee802dot11.dot11smt(1).dot11WEPDefaultKeysTable(3)
- WEP_KEY SharedKey[SHARE_KEY_NO]; // Keep for backward compatiable
- WPA_KEY PairwiseKey[PAIRWISE_KEY_NO];
-@@ -566,8 +591,8 @@
- // MIB:ieee802dot11.dot11mac(2).dot11OperationTable(1)
- USHORT RtsThreshold; // in units of BYTE
- USHORT FragmentThreshold;
-- BOOLEAN bFragmentZeroDisable; // Microsoft use 0 as disable
--
-+ BOOLEAN bFragmentZeroDisable; // Microsoft use 0 as disable
-+
- // MIB:ieee802dot11.dot11phy(4).dot11PhyAntennaTable(2)
- UCHAR CurrentTxAntenna;
- UCHAR CurrentRxAntenna;
-@@ -582,19 +607,19 @@
- UCHAR TxPowerDriver; // Driver's last TxPower setting written to hardware, in raw units
- int TxPowerUser; // User's desired fixed TxPower setting, in dBm
- BOOLEAN TxPowerAuto; // 1 - enable auto TxPower; 0 - fixed
--
-+
- // MIB:ieee802dot11.dot11phy(4).dot11PhyDSSSTable(5)
- UCHAR Channel; // current (I)BSS channel used in the station
- UCHAR CountryRegion; // Enum of country region, 0:FCC, 1:IC, 2:ETSI, 3:SPAIN, 4:France, 5:MKK, 6:MKK1, 7:Israel
--
-+
- // MIB:ieee802dot11.dot11phy(4).dot11AntennasListTable(8)
- BOOLEAN AntennaSupportTx;
- BOOLEAN AntennaSupportRx;
- BOOLEAN AntennaSupportDiversityRx;
-
- // Use user changed MAC
-- BOOLEAN bLocalAdminMAC;
--
-+ BOOLEAN bLocalAdminMAC;
-+
- // MIB:ieee802dot11.dot11phy(4).dot11SupportedDataRatesTxTable(9)
- // MIB:ieee802dot11.dot11phy(4).dot11SupportedDataRatesRxTable(10)
- UCHAR SupportedRates[MAX_LEN_OF_SUPPORTED_RATES]; // Supported rates
-@@ -661,7 +686,7 @@
- UCHAR ChannelList[MAX_LEN_OF_CHANNELS]; // list all supported channels for site survey
- UCHAR ChannelListNum; // number of channel in ChannelList[]
- BOOLEAN bShowHiddenSSID;
--
-+
- // configuration to be used when this STA starts a new ADHOC network
- IBSS_CONFIG IbssConfig;
-
-@@ -679,7 +704,7 @@
- UCHAR LedMode;
- RALINK_TIMER_STRUCT RfTuningTimer;
- STA_WITH_ETHER_BRIDGE StaWithEtherBridge;
--
-+
- // New for WPA, windows want us to to keep association information and
- // Fixed IEs from last association response
- NDIS_802_11_ASSOCIATION_INFORMATION AssocInfo;
-@@ -700,7 +725,7 @@
- ULONG BGProtectionInUsed; // 0: not in-used, 1: in-used
- ULONG ShortSlotInUsed; // 0: not in-used, 1: in-used
- USHORT TxPreambleInUsed; // Rt802_11PreambleLong, Rt802_11PreambleShort
--
-+
- // PCI clock adjustment round
- UCHAR PciAdjustmentRound;
-
-@@ -718,8 +743,8 @@
-
-
- ULONG SystemErrorBitmap; // b0: E2PROM version error
--
-- // This soft Rx Antenna Diversity mechanism is used only when user set
-+
-+ // This soft Rx Antenna Diversity mechanism is used only when user set
- // RX Antenna = DIVERSITY ON
- SOFT_RX_ANT_DIVERSITY RxAnt;
-
-@@ -753,13 +778,13 @@
- STATE_MACHINE_FUNC CntlFunc[CNTL_FUNC_SIZE], AssocFunc[ASSOC_FUNC_SIZE];
- STATE_MACHINE_FUNC AuthFunc[AUTH_FUNC_SIZE], AuthRspFunc[AUTH_RSP_FUNC_SIZE];
- STATE_MACHINE_FUNC SyncFunc[SYNC_FUNC_SIZE], WpaPskFunc[WPA_PSK_FUNC_SIZE];
--
-+
- ASSOC_AUX AssocAux;
- AUTH_AUX AuthAux;
- AUTH_RSP_AUX AuthRspAux;
- SYNC_AUX SyncAux;
- CNTL_AUX CntlAux;
--
-+
- COUNTER_802_11 PrevWlanCounters;
- ULONG ChannelQuality; // 0..100, Channel Quality Indication for Roaming
-
-@@ -770,7 +795,7 @@
- UINT ShiftReg;
- PSPOLL_FRAME PsFr;
- MACHDR NullFr;
--
-+
- RALINK_TIMER_STRUCT PeriodicTimer;
- ULONG PeriodicRound;
- ULONG PrevTxCnt;
-@@ -849,7 +874,7 @@
- typedef struct PACKED _TUPLE_CACHE {
- BOOLEAN Valid;
- MACADDR MAC;
-- USHORT Sequence;
-+ USHORT Sequence;
- USHORT Frag;
- } TUPLE_CACHE, *PTUPLE_CACHE;
-
-@@ -872,7 +897,7 @@
- typedef struct PACKED _TKIP_KEY_INFO {
- UINT nBytesInM; // # bytes in M for MICKEY
- ULONG IV16;
-- ULONG IV32;
-+ ULONG IV32;
- ULONG K0; // for MICKEY Low
- ULONG K1; // for MICKEY Hig
- ULONG L; // Current state for MICKEY
-@@ -937,12 +962,14 @@
- //
- typedef struct _RTMP_ADAPTER
- {
-- char nickn[IW_ESSID_MAX_SIZE+1]; // nickname, only used in the iwconfig i/f
-+ char nickn[IW_ESSID_MAX_SIZE+1]; // nickname, only used in the iwconfig i/f
- int chip_id;
-
- unsigned long CSRBaseAddress; // PCI MMIO Base Address, all access will use
- // NdisReadRegisterXx or NdisWriteRegisterXx
-
-+ struct rt2x00debug debug;
-+
- // configuration
- UCHAR PermanentAddress[ETH_ALEN]; // Factory default MAC address
- UCHAR CurrentAddress[ETH_ALEN]; // User changed MAC address
-@@ -958,7 +985,7 @@
- struct ring_desc BeaconRing; // Beacon Ring, only one
-
- MGMT_STRUC MgmtRing[MGMT_RING_SIZE]; // management ring size
--
-+
- ULONG CurRxIndex; // Next RxD read pointer
- ULONG CurDecryptIndex; // Next RxD decrypt read pointer
- ULONG CurTxIndex; // Next TxD write pointer
-@@ -985,17 +1012,17 @@
- struct sk_buff_head TxSwQueue0; // Tx software priority queue 0 mapped to 0.1
- struct sk_buff_head TxSwQueue1; // Tx software priority queue 1 mapped to 2.3
- struct sk_buff_head TxSwQueue2; // Tx software priority queue 2 mapped to 4.5
-- struct sk_buff_head TxSwQueue3;
-+ struct sk_buff_head TxSwQueue3;
-
- USHORT Sequence; // Current sequence number
-
- TUPLE_CACHE TupleCache[MAX_CLIENT]; // Maximum number of tuple caches, only useful in Ad-Hoc
- UCHAR TupleCacheLastUpdateIndex; // 0..MAX_CLIENT-1
- FRAGMENT_FRAME FragFrame; // Frame storage for fragment frame
--
-+
- // For MiniportTransferData
- PUCHAR pRxData; // Pointer to current RxRing offset / fragment frame offset
--
-+
- // Counters for 802.3 & generic.
- // Add 802.11 specific counters later
- COUNTER_802_3 Counters; // 802.3 counters
-@@ -1021,11 +1048,11 @@
- BOOLEAN bAcceptBroadcast;
- BOOLEAN bAcceptAllMulticast;
- BOOLEAN bAcceptPromiscuous;
--
-+
- // Control to check Tx hang
- BOOLEAN bTxBusy;
- //PQUEUE_ENTRY FirstEntryInQueue; // The first packet in Tx queue
--
-+
- // Control disconnect / connect event generation
- ULONG LinkDownTime;
- ULONG LastRxRate;
-@@ -1044,7 +1071,7 @@
-
- BOOLEAN bNetDeviceStopQueue;
- BOOLEAN NeedSwapToLittleEndian;
--
-+
- #if WIRELESS_EXT >= 12
- struct iw_statistics iw_stats;
- #endif
-@@ -1054,9 +1081,6 @@
- ATE_INFO ate;
- #endif //#ifdef RALINK_ATE
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-- struct work_struct mlme_work;
--#endif
- } RTMP_ADAPTER, *PRTMP_ADAPTER;
-
- //
-@@ -1064,10 +1088,9 @@
- //
- typedef struct _SHA_CTX
- {
-- ULONG H[5];
-- ULONG W[80];
-- INT lenW;
-- ULONG sizeHi, sizeLo;
-+ ULONG Buf[5]; // buffers of five states
-+ UCHAR Input[80]; // input message
-+ ULONG LenInBitCount[2]; // length counter for input message, 0 up to 64 bits
- } SHA_CTX;
-
- //
-@@ -1085,7 +1108,7 @@
- IN PRTMP_ADAPTER pAd)
- {
- // 0xFF37 : Txdone & Rxdone, 0xFF07: Txdonw, Rxdone, PrioDone, AtimDone,
-- RTMP_IO_WRITE32(pAd, CSR8, 0xFE14);
-+ RTMP_IO_WRITE32(pAd, CSR8, 0xFE14);
- RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_INTERRUPT_ACTIVE);
- }
-
-@@ -1096,10 +1119,16 @@
- INT RT2500_close(
- IN struct net_device *net_dev);
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
- irqreturn_t RTMPIsr(
-- IN INT irq,
-- IN VOID *dev_instance,
-+ IN INT irq,
-+ IN VOID *dev_instance,
- IN struct pt_regs *rgs);
-+#else
-+irqreturn_t RTMPIsr(
-+ IN INT irq,
-+ IN VOID *dev_instance);
-+#endif
-
- VOID RT2500_timer(
- IN unsigned long data);
-@@ -1108,16 +1137,16 @@
- IN struct net_device *net_dev);
-
- INT RTMPSendPackets(
-- IN struct sk_buff *skb,
-+ IN struct sk_buff *skb,
- IN struct net_device *net_dev);
-
- INT RT2500_probe(
-- IN struct pci_dev *pPci_Dev,
-+ IN struct pci_dev *pPci_Dev,
- IN const struct pci_device_id *ent);
-
- INT RT2500_ioctl(
-- IN struct net_device *net_dev,
-- IN OUT struct ifreq *rq,
-+ IN struct net_device *net_dev,
-+ IN OUT struct ifreq *rq,
- IN INT cmd);
-
- VOID RTMPRingCleanUp(
-@@ -1179,7 +1208,7 @@
- INT RTMPGetKeyParameter(
- IN PUCHAR section,
- IN PCHAR key,
-- OUT PCHAR dest,
-+ OUT PCHAR dest,
- IN INT destsize,
- IN PCHAR buffer);
-
-@@ -1187,7 +1216,7 @@
- IN PRTMP_ADAPTER pAd);
-
- #define RTMPEqualMemory(p1,p2,n) (memcmp((p1),(p2),(n)) == 0)
--
-+
- ULONG RTMPCompareMemory(
- IN PVOID pSrc1,
- IN PVOID pSrc2,
-@@ -1244,7 +1273,7 @@
- NDIS_STATUS RTMPSendPacket(
- IN PRTMP_ADAPTER pAdapter,
- IN struct sk_buff *skb);
--
-+
- //VOID RTMPDeQueuePacket(
- // IN PRTMP_ADAPTER pAdapter,
- // IN PQUEUE_HEADER pQueue);
-@@ -1320,8 +1349,8 @@
- IN UCHAR TxRate);
-
- NDIS_STATUS RTMPApplyPacketFilter(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PRXD_STRUC pRxD,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PRXD_STRUC pRxD,
- IN PHEADER_802_11 pHeader);
-
- struct sk_buff_head* RTMPCheckTxSwQueue(
-@@ -1329,20 +1358,20 @@
- OUT UCHAR *AccessCategory);
-
- VOID RTMPReportMicError(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PWPA_KEY pWpaKey);
- //
- // Private routines in rtmp_wep.c
- //
- VOID RTMPInitWepEngine(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pKey,
- IN UCHAR KeyId,
-- IN UCHAR KeyLen,
-+ IN UCHAR KeyLen,
- IN PUCHAR pDest);
-
- VOID RTMPEncryptData(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pSrc,
- IN PUCHAR pDest,
- IN UINT Len);
-@@ -1366,7 +1395,7 @@
-
- VOID ARCFOUR_DECRYPT(
- IN PARCFOURCONTEXT Ctx,
-- IN PUCHAR pDest,
-+ IN PUCHAR pDest,
- IN PUCHAR pSrc,
- IN UINT Len);
-
-@@ -1394,18 +1423,18 @@
- IN PRTMP_ADAPTER pAd);
-
- VOID AsicSwitchChannel(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN UCHAR Channel);
-
- VOID AsicLockChannel(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN UCHAR Channel) ;
-
- VOID AsicRfTuningExec(
- IN unsigned long data);
-
- VOID AsicSleepThenAutoWakeup(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN USHORT TbttNumToNextWakeUp);
-
- VOID AsicForceSleep(
-@@ -1415,7 +1444,7 @@
- IN PRTMP_ADAPTER pAdapter);
-
- VOID AsicSetBssid(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MACADDR *Bssid);
-
- VOID AsicDisableSync(
-@@ -1453,16 +1482,16 @@
- IN PRTMP_ADAPTER pAd);
-
- VOID MacAddrRandomBssid(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- OUT PMACADDR Addr);
-
- VOID MgtMacHeaderInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT PMACHDR Hdr,
-- IN UCHAR Subtype,
-- IN UCHAR ToDs,
--// IN UCHAR AddrType,
-- IN PMACADDR Ds,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT PMACHDR Hdr,
-+ IN UCHAR Subtype,
-+ IN UCHAR ToDs,
-+// IN UCHAR AddrType,
-+ IN PMACADDR Ds,
- IN PMACADDR Bssid);
-
- VOID MlmeRadioOff(
-@@ -1475,66 +1504,69 @@
- IN BSS_TABLE *Tab);
-
- ULONG BssTableSearch(
-- IN BSS_TABLE *Tab,
-+ IN BSS_TABLE *Tab,
- IN PMACADDR Bssid);
-
- VOID BssTableDeleteEntry(
-- IN OUT BSS_TABLE *Tab,
-+ IN OUT BSS_TABLE *Tab,
- IN PMACADDR Bssid);
-
- VOID BssEntrySet(
-- IN PRTMP_ADAPTER pAdapter,
-- OUT BSS_ENTRY *Bss,
-- IN MACADDR *Bssid,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-+ IN PRTMP_ADAPTER pAdapter,
-+ OUT BSS_ENTRY *Bss,
-+ IN MACADDR *Bssid,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
- IN USHORT BeaconPeriod,
-- IN BOOLEAN CfExist,
-- IN CF_PARM *CfParm,
-- IN USHORT AtimWin,
-- IN USHORT CapabilityInfo,
-- IN UCHAR Rates[],
-+ IN BOOLEAN CfExist,
-+ IN CF_PARM *CfParm,
-+ IN USHORT AtimWin,
-+ IN USHORT CapabilityInfo,
-+ IN UCHAR Rates[],
- IN UCHAR RatesLen,
- IN BOOLEAN ExtendedRateIeExist,
- IN UCHAR Channel,
- IN UCHAR Rssi,
- IN UCHAR Noise,
- IN LARGE_INTEGER TimeStamp,
-+ IN USHORT VarIELen, // Length of all saved IEs.
- IN PNDIS_802_11_VARIABLE_IEs pVIE);
-
- ULONG BssTableSetEntry(
-- IN PRTMP_ADAPTER pAdapter,
-- OUT BSS_TABLE *Tab,
-- IN MACADDR *Bssid,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-- IN USHORT BeaconPeriod,
-- IN BOOLEAN CfExist,
-- IN CF_PARM *CfParm,
-- IN USHORT AtimWin,
-- IN USHORT CapabilityInfo,
-- IN UCHAR Rates[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ OUT BSS_TABLE *Tab,
-+ IN MACADDR *Bssid,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
-+ IN USHORT BeaconPeriod,
-+ IN BOOLEAN CfExist,
-+ IN CF_PARM *CfParm,
-+ IN USHORT AtimWin,
-+ IN USHORT CapabilityInfo,
-+ IN UCHAR Rates[],
- IN UCHAR RatesLen,
- IN BOOLEAN ExtendedRateIeExist,
- IN UCHAR Channel,
- IN UCHAR Rssi,
- IN UCHAR Noise,
- IN LARGE_INTEGER TimeStamp,
-+ IN USHORT VarIELen, // Length of all saved IEs.
- IN PNDIS_802_11_VARIABLE_IEs pVIE);
-
- VOID BssTableSsidSort(
-- IN PRTMP_ADAPTER pAd,
-- OUT BSS_TABLE *OutTab,
-- IN CHAR Ssid[],
-+ IN PRTMP_ADAPTER pAd,
-+ OUT BSS_TABLE *OutTab,
-+ IN CHAR Ssid[],
- IN UCHAR SsidLen);
-
- VOID BssTableSortByRssi(
- IN OUT BSS_TABLE *OutTab);
-
--NDIS_802_11_WEP_STATUS BssCipherParse(
-- IN PUCHAR pCipher);
-+USHORT BssCipherParse(
-+ IN PBEACON_EID_STRUCT pEid,
-+ IN USHORT VarIELen); // Length of all saved IEs.
-
- NDIS_STATUS MlmeQueueInit(
- IN MLME_QUEUE *Queue);
-@@ -1543,70 +1575,64 @@
- IN MLME_QUEUE *Queue);
-
- BOOLEAN MlmeEnqueue(
-- OUT MLME_QUEUE *Queue,
-- IN ULONG Machine,
-- IN ULONG MsgType,
-- IN ULONG MsgLen,
-+ OUT MLME_QUEUE *Queue,
-+ IN ULONG Machine,
-+ IN ULONG MsgType,
-+ IN ULONG MsgLen,
- IN VOID *Msg);
-
- BOOLEAN MlmeEnqueueForRecv(
-- IN PRTMP_ADAPTER pAdapter,
-- OUT MLME_QUEUE *Queue,
-- IN ULONG TimeStampHigh,
-- IN ULONG TimeStampLow,
-- IN UCHAR Rssi,
-+ IN PRTMP_ADAPTER pAdapter,
-+ OUT MLME_QUEUE *Queue,
-+ IN ULONG TimeStampHigh,
-+ IN ULONG TimeStampLow,
-+ IN UCHAR Rssi,
- IN UCHAR Noise,
-- IN ULONG MsgLen,
-+ IN ULONG MsgLen,
- IN PVOID Msg);
-
- BOOLEAN MlmeDequeue(
-- IN MLME_QUEUE *Queue,
-+ IN MLME_QUEUE *Queue,
- OUT MLME_QUEUE_ELEM **Elem);
-
- VOID MlmeRestartStateMachine(
- IN PRTMP_ADAPTER pAd);
-
--BOOLEAN MlmeQueueEmpty(
-- IN MLME_QUEUE *Queue);
--
--BOOLEAN MlmeQueueFull(
-- IN MLME_QUEUE *Queue);
--
- BOOLEAN MsgTypeSubst(
-- IN MACFRAME *Fr,
-- OUT INT *Machine,
-+ IN MACFRAME *Fr,
-+ OUT INT *Machine,
- OUT INT *MsgType);
-
- VOID StateMachineInit(
-- IN STATE_MACHINE *Sm,
-- IN STATE_MACHINE_FUNC Trans[],
-- IN ULONG StNr,
-- IN ULONG MsgNr,
-- IN STATE_MACHINE_FUNC DefFunc,
-- IN ULONG InitState,
-+ IN STATE_MACHINE *Sm,
-+ IN STATE_MACHINE_FUNC Trans[],
-+ IN ULONG StNr,
-+ IN ULONG MsgNr,
-+ IN STATE_MACHINE_FUNC DefFunc,
-+ IN ULONG InitState,
- IN ULONG Base);
-
- VOID StateMachineSetAction(
-- IN STATE_MACHINE *S,
-- IN ULONG St,
-- ULONG Msg,
-+ IN STATE_MACHINE *S,
-+ IN ULONG St,
-+ ULONG Msg,
- IN STATE_MACHINE_FUNC F);
-
- VOID StateMachinePerformAction(
-- IN PRTMP_ADAPTER pAdapter,
-- IN STATE_MACHINE *S,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN STATE_MACHINE *S,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID Drop(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID StateMachineDestroy(
- IN STATE_MACHINE *Sm);
-
- VOID AssocStateMachineInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN STATE_MACHINE *Sm,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN STATE_MACHINE *Sm,
- OUT STATE_MACHINE_FUNC Trans[]);
-
- VOID ReassocTimeout(
-@@ -1620,43 +1646,43 @@
-
- //----------------------------------------------
- VOID MlmeDisassocReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID MlmeAssocReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID MlmeReassocReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID MlmeDisassocReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAssocRspAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerReassocRspAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerDisassocAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID DisassocTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID AssocTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID ReassocTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID Cls3errAction(
-@@ -1682,60 +1708,60 @@
- IN PRTMP_ADAPTER pAdapter);
-
- VOID AssocPostProc(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MACADDR *Addr2,
-- IN USHORT CapabilityInfo,
-- IN USHORT Aid,
-- IN UCHAR Rates[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MACADDR *Addr2,
-+ IN USHORT CapabilityInfo,
-+ IN USHORT Aid,
-+ IN UCHAR Rates[],
- IN UCHAR RatesLen,
- IN BOOLEAN ExtendedRateIeExist);
-
- VOID AuthStateMachineInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PSTATE_MACHINE sm,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PSTATE_MACHINE sm,
- OUT STATE_MACHINE_FUNC Trans[]);
-
- VOID AuthTimeout(
- IN unsigned long data);
-
- VOID MlmeAuthReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAuthRspAtSeq2Action(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAuthRspAtSeq4Action(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID AuthTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID Cls2errAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PMACADDR pAddr);
-
- VOID MlmeDeauthReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID InvalidStateWhenAuth(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- //VOID MlmeDeauthReqProc(
--// IN PRTMP_ADAPTER pAdapter,
--// IN MACADDR *Addr,
-+// IN PRTMP_ADAPTER pAdapter,
-+// IN MACADDR *Addr,
- // IN USHORT Reason);
-
- //=============================================
-
- VOID AuthRspStateMachineInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PSTATE_MACHINE Sm,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PSTATE_MACHINE Sm,
- IN STATE_MACHINE_FUNC Trans[]);
-
-
-@@ -1743,34 +1769,34 @@
- IN unsigned long data);
-
- VOID AuthRspChallengeTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAuthAtAuthRspIdleAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAuthAtAuthRspWaitAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerDeauthAction(
-- IN PRTMP_ADAPTER pAdaptor,
-+ IN PRTMP_ADAPTER pAdaptor,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAuthSimpleRspGenAndSend(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PMACHDR Hdr,
-- IN USHORT Alg,
-- IN USHORT Seq,
-- IN USHORT Reason,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PMACHDR Hdr,
-+ IN USHORT Alg,
-+ IN USHORT Seq,
-+ IN USHORT Reason,
- IN USHORT Status);
-
- //========================================
-
- VOID SyncStateMachineInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN STATE_MACHINE *Sm,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN STATE_MACHINE *Sm,
- OUT STATE_MACHINE_FUNC Trans[]);
-
- VOID BeaconTimeout(
-@@ -1783,23 +1809,23 @@
- IN unsigned long data);
-
- VOID MlmeScanReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID InvalidStateWhenScan(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID InvalidStateWhenJoin(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID InvalidStateWhenStart(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerBeacon(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID EnqueueProbeRequest(
-@@ -1808,61 +1834,61 @@
- //=========================================
-
- VOID MlmeCntlInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN STATE_MACHINE *S,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN STATE_MACHINE *S,
- OUT STATE_MACHINE_FUNC Trans[]);
-
- VOID MlmeCntlMachinePerformAction(
-- IN PRTMP_ADAPTER pAdapter,
-- IN STATE_MACHINE *S,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN STATE_MACHINE *S,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlIdleProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlOidScanProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlOidSsidProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM * Elem);
-
- VOID CntlOidRTBssidProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlMlmeRoamingProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitDisassocProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitJoinProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitReassocProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitStartProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitAuthProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitAuthProc2(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitAssocProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID LinkUp(
-@@ -1873,8 +1899,8 @@
- IN PRTMP_ADAPTER pAdapter);
-
- VOID MlmeCntlConfirm(
-- IN PRTMP_ADAPTER pAdapter,
-- IN ULONG MsgType,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN ULONG MsgType,
- IN USHORT Msg);
-
- VOID IterateOnBssTab(
-@@ -1884,42 +1910,42 @@
- IN PRTMP_ADAPTER pAdapter);;
-
- VOID JoinParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_JOIN_REQ_STRUCT *JoinReq,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_JOIN_REQ_STRUCT *JoinReq,
- IN ULONG BssIdx);
-
- VOID AssocParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_ASSOC_REQ_STRUCT *AssocReq,
-- IN MACADDR *Addr,
-- IN USHORT CapabilityInfo,
-- IN ULONG Timeout,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_ASSOC_REQ_STRUCT *AssocReq,
-+ IN MACADDR *Addr,
-+ IN USHORT CapabilityInfo,
-+ IN ULONG Timeout,
- IN USHORT ListenIntv);
-
- VOID ScanParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_SCAN_REQ_STRUCT *ScanReq,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-- IN UCHAR ScanType);
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_SCAN_REQ_STRUCT *ScanReq,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
-+ IN UCHAR ScanType);
-
- VOID DisassocParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_DISASSOC_REQ_STRUCT *DisassocReq,
-- IN MACADDR *Addr,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_DISASSOC_REQ_STRUCT *DisassocReq,
-+ IN MACADDR *Addr,
- IN USHORT Reason);
-
- VOID StartParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_START_REQ_STRUCT *StartReq,
-- IN CHAR Ssid[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_START_REQ_STRUCT *StartReq,
-+ IN CHAR Ssid[],
- IN UCHAR SsidLen);
-
- VOID AuthParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_AUTH_REQ_STRUCT *AuthReq,
-- IN MACADDR *Addr,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_AUTH_REQ_STRUCT *AuthReq,
-+ IN MACADDR *Addr,
- IN USHORT Alg);
-
- VOID EnqueuePsPoll(
-@@ -1933,39 +1959,39 @@
- IN UCHAR TxRate);
-
- VOID MlmeJoinReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID MlmeScanReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID MlmeStartReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID ScanTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID BeaconTimeoutAtJoinAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerBeaconAtScanAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerBeaconAtJoinAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerBeacon(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerProbeReqAction(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID ScanNextChannel(
-@@ -1975,142 +2001,143 @@
- IN PRTMP_ADAPTER pAdapter);
-
- BOOLEAN MlmeScanReqSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT UCHAR *BssType,
-- OUT CHAR ssid[],
-- OUT UCHAR *SsidLen,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT UCHAR *BssType,
-+ OUT CHAR ssid[],
-+ OUT UCHAR *SsidLen,
- OUT UCHAR *ScanType);
-
- BOOLEAN PeerBeaconAndProbeRspSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT MACADDR *Bssid,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen,
-- OUT UCHAR *BssType,
-- OUT USHORT *BeaconPeriod,
-- OUT UCHAR *Channel,
-- OUT LARGE_INTEGER *Timestamp,
-- OUT BOOLEAN *CfExist,
-- OUT CF_PARM *Cf,
-- OUT USHORT *AtimWin,
-- OUT USHORT *CapabilityInfo,
-- OUT UCHAR Rate[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT MACADDR *Bssid,
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen,
-+ OUT UCHAR *BssType,
-+ OUT USHORT *BeaconPeriod,
-+ OUT UCHAR *Channel,
-+ OUT LARGE_INTEGER *Timestamp,
-+ OUT BOOLEAN *CfExist,
-+ OUT CF_PARM *Cf,
-+ OUT USHORT *AtimWin,
-+ OUT USHORT *CapabilityInfo,
-+ OUT UCHAR Rate[],
- OUT UCHAR *RateLen,
- OUT BOOLEAN *ExtendedRateIeExist,
- OUT UCHAR *Erp,
-- OUT UCHAR *DtimCount,
-- OUT UCHAR *DtimPeriod,
-- OUT UCHAR *BcastFlag,
-- OUT UCHAR *MessageToMe,
-+ OUT UCHAR *DtimCount,
-+ OUT UCHAR *DtimPeriod,
-+ OUT UCHAR *BcastFlag,
-+ OUT UCHAR *MessageToMe,
- OUT UCHAR *Legacy,
- OUT UCHAR SupRate[],
- OUT UCHAR *SupRateLen,
- OUT UCHAR ExtRate[],
- OUT UCHAR *ExtRateLen,
-+ OUT USHORT *VarIELen, // Length of all saved IEs.
- OUT PNDIS_802_11_VARIABLE_IEs pVIE);
-
- //BOOLEAN JoinParmSanity(
--// IN PRTMP_ADAPTER pAdapter,
--// IN VOID *Msg,
--// IN ULONG MsgLen,
-+// IN PRTMP_ADAPTER pAdapter,
-+// IN VOID *Msg,
-+// IN ULONG MsgLen,
- // OUT ULONG *BssIdx,
--// OUT UCHAR SupportedRates[],
-+// OUT UCHAR SupportedRates[],
- // OUT UCHAR *SupportedRatesLen);
-
- BOOLEAN MlmeAssocReqSanity(
- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *ApAddr,
-- OUT USHORT *CapabilityInfo,
-- OUT ULONG *Timeout,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *ApAddr,
-+ OUT USHORT *CapabilityInfo,
-+ OUT ULONG *Timeout,
- OUT USHORT *ListenIntv);
-
- BOOLEAN MlmeAuthReqSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr,
-- OUT ULONG *Timeout,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr,
-+ OUT ULONG *Timeout,
- OUT USHORT *Alg);
-
- BOOLEAN MlmeStartReqSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT CHAR Ssid[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT CHAR Ssid[],
- OUT UCHAR *Ssidlen);
-
- BOOLEAN PeerAuthSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr,
-- OUT USHORT *Alg,
-- OUT USHORT *Seq,
-- OUT USHORT *Status,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr,
-+ OUT USHORT *Alg,
-+ OUT USHORT *Seq,
-+ OUT USHORT *Status,
- OUT CHAR ChlgText[]);
-
- BOOLEAN PeerAssocRspSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT USHORT *CapabilityInfo,
-- OUT USHORT *Status,
-- OUT USHORT *Aid,
-- OUT UCHAR Rates[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT USHORT *CapabilityInfo,
-+ OUT USHORT *Status,
-+ OUT USHORT *Aid,
-+ OUT UCHAR Rates[],
- OUT UCHAR *RatesLen,
- OUT BOOLEAN *ExtendedRateIeExist);
-
- BOOLEAN PeerDisassocSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
- OUT USHORT *Reason);
-
- BOOLEAN PeerDeauthSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
- OUT USHORT *Reason);
-
- BOOLEAN PeerProbeReqSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
- OUT MACADDR *Addr2,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen);
--// OUT UCHAR Rates[],
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen);
-+// OUT UCHAR Rates[],
- // OUT UCHAR *RatesLen);
-
- BOOLEAN GetTimBit(
-- IN CHAR *Ptr,
-- IN USHORT Aid,
-- OUT UCHAR *TimLen,
-- OUT UCHAR *BcastFlag,
-- OUT UCHAR *DtimCount,
-- OUT UCHAR *DtimPeriod,
-+ IN CHAR *Ptr,
-+ IN USHORT Aid,
-+ OUT UCHAR *TimLen,
-+ OUT UCHAR *BcastFlag,
-+ OUT UCHAR *DtimCount,
-+ OUT UCHAR *DtimPeriod,
- OUT UCHAR *MessageToMe);
-
- BOOLEAN GetLegacy(
-- IN CHAR *Ptr,
-+ IN CHAR *Ptr,
- OUT UCHAR *Legacy);
-
- ULONG MakeOutgoingFrame(
-- OUT CHAR *Buffer,
-+ OUT CHAR *Buffer,
- OUT ULONG *Length, ...);
-
- VOID LfsrInit(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN ULONG Seed);
-
- UCHAR RandomByte(
-@@ -2129,26 +2156,26 @@
- IN PRTMP_ADAPTER pAdapter);
-
- VOID MlmeCheckForRoaming(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN ULONG Now32);
-
- VOID MlmeCheckDynamicTxRateSwitching(
- IN PRTMP_ADAPTER pAd);
-
- VOID MlmeCheckChannelQuality(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN ULONG Now);
-
- VOID MlmeCheckForPsmChange(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN ULONG Now32);
-
- VOID MlmeSetPsmBit(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN USHORT psm);
-
- VOID MlmeSetTxPreamble(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN USHORT TxPreamble);
-
- VOID MlmeUpdateTxRates(
-@@ -2214,7 +2241,7 @@
-
- VOID EWEN(
- IN PRTMP_ADAPTER pAd);
--
-+
- USHORT RTMP_EEPROM_READ16(
- IN PRTMP_ADAPTER pAd,
- IN USHORT Offset);
-@@ -2223,16 +2250,16 @@
- IN PRTMP_ADAPTER pAd,
- IN USHORT Offset,
- IN USHORT Data);
--
-+
- UCHAR ChannelSanity(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN UCHAR channel);
-
- //
- // Prototypes of function definition in rtmp_tkip.c
- //
- VOID RTMPInitTkipEngine(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pTKey,
- IN UCHAR KeyId,
- IN PUCHAR pTA,
-@@ -2242,14 +2269,14 @@
- OUT PULONG pIV32);
-
- VOID RTMPInitMICEngine(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pKey,
- IN PUCHAR pDA,
- IN PUCHAR pSA,
- IN PUCHAR pMICKey);
-
- BOOLEAN RTMPTkipCompareMICValue(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pSrc,
- IN PUCHAR pDA,
- IN PUCHAR pSA,
-@@ -2272,12 +2299,12 @@
- IN PUCHAR pMICKey,
- IN UINT Len);
-
--VOID RTMPTkipAppend(
-- IN PTKIP_KEY_INFO pTkip,
-+VOID RTMPTkipAppend(
-+ IN PTKIP_KEY_INFO pTkip,
- IN PUCHAR pSrc,
- IN UINT nBytes);
-
--VOID RTMPTkipGetMIC(
-+VOID RTMPTkipGetMIC(
- IN PTKIP_KEY_INFO pTkip);
-
- NDIS_STATUS RTMPWPAAddKeyProc(
-@@ -2292,7 +2319,7 @@
- IN PRTMP_ADAPTER pAdapter);
-
- VOID RTMPSetPhyMode(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN ULONG phymode);
-
- VOID RTMPSetDesiredRates(
-@@ -2313,102 +2340,102 @@
- // Prototypes of function definition for *iwpriv* in rtmp_info.c
- //
- INT Set_CountryRegion_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_SSID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_WirelessMode_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_TxRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_AdhocModeRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_Channel_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PUCHAR
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PUCHAR
- arg);
-
- #ifdef RT2500_DBG
- INT Set_Debug_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
- #endif
-
- INT Set_BGProtection_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_TxPreamble_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_StaWithEtherBridge_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_RTSThreshold_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_FragThreshold_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_TxBurst_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_TurboRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_NetworkType_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
--
-+
- INT Set_AuthMode_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_EncrypType_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_DefaultKeyID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_Key1_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_Key2_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_Key3_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_Key4_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_WPAPSK_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_WPANONE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- VOID RTMPIoctlBBP(
-@@ -2425,10 +2452,14 @@
- IN struct iwreq *wrq);
- #endif
-
--int RTMPIoctlRFMONTX(
-- IN OUT PRTMP_ADAPTER pAdapter,
-+int RTMPIoctlSetRFMONTX(
-+ IN PRTMP_ADAPTER pAdapter,
- IN struct iwreq *wrq);
-
-+int RTMPIoctlGetRFMONTX(
-+ IN PRTMP_ADAPTER pAdapter,
-+ OUT struct iwreq *wrq);
-+
- //
- // prototype in wpa.c
- //
-@@ -2437,31 +2468,31 @@
- OUT ULONG *MsgType);
-
- VOID WpaPskStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
- OUT STATE_MACHINE_FUNC Trans[]);
-
- VOID WpaEAPOLKeyAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID WpaPairMsg1Action(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID WpaPairMsg3Action(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MLME_QUEUE_ELEM *Elem);
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MLME_QUEUE_ELEM *Elem);
-
- VOID WpaGroupMsg1Action(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID WpaMacHeaderInit(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT PHEADER_802_11 Hdr,
-- IN UCHAR wep,
-- IN PMACADDR pAddr1);
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT PHEADER_802_11 Hdr,
-+ IN UCHAR wep,
-+ IN PMACADDR pAddr1);
-
- VOID WpaHardEncrypt(
- IN PRTMP_ADAPTER pAdapter,
-@@ -2495,15 +2526,15 @@
- IN UINT len);
-
- VOID GenRandom(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- OUT UCHAR *random);
-
--VOID AES_GTK_KEY_UNWRAP(
-+VOID AES_GTK_KEY_UNWRAP(
- IN UCHAR *key,
- OUT UCHAR *plaintext,
- IN UCHAR *ciphertext);
-
--ULONG RTMPTkipGetUInt32(
-+ULONG RTMPTkipGetUInt32(
- IN PUCHAR pMICKey);
-
- char * rtstrstr(
-@@ -2512,39 +2543,39 @@
-
- #ifdef RALINK_ATE
- INT Set_ATE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_DA_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_SA_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_BSSID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_CHANNEL_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_TX_POWER_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_TX_LENGTH_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_TX_COUNT_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_TX_RATE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- VOID RTMPStationStop(
-@@ -2559,11 +2590,15 @@
-
- #ifdef BIG_ENDIAN
- VOID RTMPFrameEndianChange(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PUCHAR pData,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PUCHAR pData,
- IN ULONG Dir,
- IN BOOLEAN FromRxDoneInt);
-
-+VOID WriteBackToDescriptor(IN PUCHAR Dest,
-+ IN PUCHAR Src,
-+ IN BOOLEAN DoEncrypt, IN ULONG DescriptorType);
-+
- VOID RTMPDescriptorEndianChange(
- IN PUCHAR pData,
- IN ULONG DescriptorType);
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_data.c rt2500-cvs-2007061011/Module/rtmp_data.c
---- rt2500-1.1.0-b4/Module/rtmp_data.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_data.c 2007-06-08 20:09:53.000000000 +0200
-@@ -1,42 +1,42 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_data.c
-- *
-+ *
- * Abstract: Data path subroutines
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
- * John 25th Feb 03 Modify for rt2560
-- * MarkW 8th Dec 04 Baseline code
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW (rt2400) 8th Dec 04 Promisc mode support
- * RobinC 10th Dec 04 RFMON Support
-- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-+ * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
- * MarkW 17th Dec 04 Monitor mode through iwconfig
- * MarkW 19th Feb 05 Fixes to incoming byte count
- * GregorG 29th Mar 05 Big endian fixes
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -46,12 +46,12 @@
-
- static UCHAR IPX[] = {0x81, 0x37};
- static UCHAR APPLE_TALK[] = {0x80, 0xf3};
--static UCHAR PlcpSignal[12] = {
-+static UCHAR PlcpSignal[12] = {
- 0, /* RATE_1 */ 1, /* RATE_2 */ 2, /* RATE_5_5 */ 3, /* RATE_11 */ // see BBP spec
- 11, /* RATE_6 */ 15, /* RATE_9 */ 10, /* RATE_12 */ 14, /* RATE_18 */ // see IEEE802.11a-1999 p.14
- 9, /* RATE_24 */ 13, /* RATE_36 */ 8, /* RATE_48 */ 12 /* RATE_54 */ }; // see IEEE802.11a-1999 p.14
- static UINT _11G_RATES[12] = { 0, 0, 0, 0, 6, 9, 12, 18, 24, 36, 48, 54 };
--
-+
- #define COLLECT_RX_ANTENNA_AVERAGE_RSSI(_pAd, _RxAnt, _rssi) \
- { \
- USHORT AvgRssi; \
-@@ -84,16 +84,16 @@
-
- Routine Description:
- Check Rx descriptor, return NDIS_STATUS_FAILURE if any error dound
--
-+
- Arguments:
- pRxD Pointer to the Rx descriptor
--
-+
- Return Value:
- NDIS_STATUS_SUCCESS No err
- NDIS_STATUS_FAILURE Error
--
-+
- Note:
--
-+
- ========================================================================
- */
- inline NDIS_STATUS RTMPCheckRxDescriptor(
-@@ -102,7 +102,7 @@
- // Phy errors
- if (pRxD->PhyErr)
- return(NDIS_STATUS_FAILURE);
--
-+
- // CRC errors
- if (pRxD->Crc)
- return(NDIS_STATUS_FAILURE);
-@@ -120,15 +120,15 @@
-
- Routine Description:
- Endian conversion of Tx/Rx descriptor .
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pData Pointer to Tx/Rx descriptor
- DescriptorType Direction of the frame
--
-+
- Return Value:
- None
--
-+
- Note:
- Call this function when read or update descriptor
- ========================================================================
-@@ -143,12 +143,26 @@
- *(ULONG *)pData = SWAP32(*(ULONG *)pData); // Byte 0; this must be swapped last
- }
-
-+VOID WriteBackToDescriptor(IN PUCHAR Dest,
-+ IN PUCHAR Src,
-+ IN BOOLEAN DoEncrypt, IN ULONG DescriptorType)
-+{
-+ PULONG p1, p2;
-+ UCHAR i;
-+
-+ p1 = ((PULONG) Dest) + 1;
-+ p2 = ((PULONG) Src) + 1;
-+ for (i = 1; i < RING_DESCRIPTOR_SIZE / 4; i++)
-+ *p1++ = *p2++;
-+ *(PULONG) Dest = *(PULONG) Src;
-+}
-+
- /*
- ========================================================================
-
- Routine Description:
- Endian conversion of all kinds of 802.11 frames .
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pData Pointer to the 802.11 frame structure
-@@ -157,14 +171,14 @@
-
- Return Value:
- None
--
-+
- Note:
- Call this function when read or update buffer data
- ========================================================================
- */
- VOID RTMPFrameEndianChange(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PUCHAR pData,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PUCHAR pData,
- IN ULONG Dir,
- IN BOOLEAN FromRxDoneInt)
- {
-@@ -182,7 +196,7 @@
-
- // swab 16 bit fields - Duration/ID field
- *(USHORT *)(pMacHdr + 2) = SWAP16(*(USHORT *)(pMacHdr + 2));
--
-+
- // swab 16 bit fields - Sequence Control field
- *(USHORT *)(pMacHdr + 22) = SWAP16(*(USHORT *)(pMacHdr + 22));
-
-@@ -210,7 +224,7 @@
- // swab 16 bit fields - Status Code field
- pMacHdr += 2;
- *(USHORT *)pMacHdr = SWAP16(*(USHORT *)pMacHdr);
--
-+
- // swab 16 bit fields - AID field
- pMacHdr += 2;
- *(USHORT *)pMacHdr = SWAP16(*(USHORT *)pMacHdr);
-@@ -271,6 +285,7 @@
- *(USHORT *)pData = SWAP16(*(USHORT *)pData);
- }
- }
-+
- #endif
-
- /*
-@@ -353,14 +368,14 @@
- pAdapter->RalinkCounters.RxRingErrCount++;
- break;
- }
--
-+
- #ifdef RALINK_ATE
- if(pAdapter->ate.Mode == ATE_RXFRAME)
- {
- bDropFrame = TRUE;
- }
- #endif //#ifdef RALINK_ATE
--
-+
- // Point to Rx ring buffer where stores the real data frame
- pData = (PUCHAR) (pAdapter->RxRing[pAdapter->CurRxIndex].va_data_addr);
- // Cast to 802.11 header for flags checking
-@@ -372,11 +387,11 @@
-
- // Check for all RxD errors
- Status = RTMPCheckRxDescriptor(pRxD);
--
-+
- // Apply packet filtering rule based on microsoft requirements.
- if (Status == NDIS_STATUS_SUCCESS)
- Status = RTMPApplyPacketFilter(pAdapter, pRxD, pHeader);
--
-+
- // Add receive counters
- if (Status == NDIS_STATUS_SUCCESS)
- {
-@@ -394,7 +409,7 @@
- // Increase general counters
- pAdapter->Counters.RxErrors++;
- }
--
-+
- // Check for retry bit, if this bit is on, search the cache with SA & sequence
- // as index, if matched, discard this frame, otherwise, update cache
- // This check only apply to unicast data & management frames
-@@ -453,7 +468,7 @@
- bDropFrame = TRUE;
- break;
- }
--
-+
- // Drop frame from AP while we are in Ad-hoc mode or not associated
- if (pHeader->Controlhead.Frame.FrDs)
- {
-@@ -471,11 +486,11 @@
- bDropFrame = TRUE;
- break;
- }
--
-+
- // Good data frame appears, increase the counters
- INC_COUNTER(pAdapter->WlanCounters.ReceivedFragmentCount);
-- pAdapter->RalinkCounters.ReceivedByteCount += pRxD->DataByteCnt;
--
-+ pAdapter->RalinkCounters.ReceivedByteCount += pRxD->DataByteCnt;
-+
- // Process Multicast data frame
- if (pRxD->Mcast)
- {
-@@ -486,18 +501,18 @@
-
- // Init WPA Key to NULL
- pWpaKey = (PWPA_KEY) NULL;
--
-+
- // Find the WPA key, either Group or Pairwise Key
- if ((pAdapter->PortCfg.AuthMode >= Ndis802_11AuthModeWPA) && (pHeader->Controlhead.Frame.Wep))
- {
- INT idx;
--
-+
- // First lookup the DA, if it's a group address, use GROUP key
- if (pRxD->Bcast || pRxD->Mcast)
- {
--
-+
- idx = (*(pData + 3) & 0xc0) >> 6;
-- if ((pAdapter->PortCfg.GroupKey[idx].KeyLen != 0) &&
-+ if ((pAdapter->PortCfg.GroupKey[idx].KeyLen != 0) &&
- ((INFRA_ON(pAdapter) && (NdisEqualMemory(&pHeader->Controlhead.Addr2, &pAdapter->PortCfg.Bssid, 6))) ||
- (ADHOC_ON(pAdapter) && (NdisEqualMemory(&pHeader->Addr3, &pAdapter->PortCfg.Bssid, 6)))))
- {
-@@ -520,15 +535,15 @@
- break;
- }
- }
--#if 1
-+#if 1
- // Use default Group Key if there is no Pairwise key present
- if ((pWpaKey == NULL) && (pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId].KeyLen != 0))
- {
-- pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId];
-+ pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId];
- pWpaKey->Type = GROUP_KEY;
- DBGPRINT(RT_DEBUG_INFO, "Rx Use Group Key\n");
- }
--#endif
-+#endif
- }
- }
-
-@@ -542,16 +557,16 @@
- Status = NDIS_STATUS_FAILURE;
- bDropFrame = TRUE;
- break;
-- }
--
-+ }
-+
- // Filter out Bcast frame which AP relayed for us
- if (pHeader->Controlhead.Frame.FrDs && RTMPEqualMemory(&pHeader->Addr3, pAdapter->CurrentAddress, 6))
- {
- Status = NDIS_STATUS_FAILURE;
- bDropFrame = TRUE;
- break;
-- }
--
-+ }
-+
- // WEP encrypted frame
- if (pHeader->Controlhead.Frame.Wep)
- {
-@@ -560,27 +575,27 @@
- {
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
-- memcpy(pRxD->Key, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
-+ memcpy(pRxD->Key, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
- if (pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen == 5)
- pRxD->CipherAlg = CIPHER_WEP64;
- else
-- pRxD->CipherAlg = CIPHER_WEP128;
-+ pRxD->CipherAlg = CIPHER_WEP128;
- }
- else if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) && (pWpaKey != NULL)) // TKIP
- {
- UCHAR Eiv_Tmp[4];
--
-+
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
- // Swap EIV byte order, due to ASIC's bug.
- Eiv_Tmp[0] = *(pData + 7);
- Eiv_Tmp[1] = *(pData + 6);
- Eiv_Tmp[2] = *(pData + 5);
-- Eiv_Tmp[3] = *(pData + 4);
-+ Eiv_Tmp[3] = *(pData + 4);
- memcpy((PUCHAR) &pRxD->Eiv, Eiv_Tmp, 4); //Get WEP EIV
- // Copy TA into RxD
- memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
-- memcpy(pRxD->Key, pWpaKey->Key, 16);
-+ memcpy(pRxD->Key, pWpaKey->Key, 16);
- pRxD->CipherAlg = CIPHER_TKIP;
- }
- else if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption3Enabled) && (pWpaKey != NULL)) // AES
-@@ -588,9 +603,9 @@
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
- memcpy((PUCHAR) &pRxD->Eiv, (pData + 4), 4); //Get WEP EIV
- // Copy TA into RxD
-- memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
-+ memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
-- memcpy(pRxD->Key, pWpaKey->Key, 16);
-+ memcpy(pRxD->Key, pWpaKey->Key, 16);
- pRxD->CipherAlg = CIPHER_AES;
- }
- else
-@@ -606,17 +621,17 @@
- pRxD->CipherAlg = CIPHER_NONE;
- }
- }
--
-+
- // Begin process unicast to me frame
- else if (pRxD->U2M || pAdapter->bAcceptPromiscuous == TRUE)
- {
-- // Send PS-Poll for AP to send next data frame
-+ // Send PS-Poll for AP to send next data frame
- if ((pHeader->Controlhead.Frame.MoreData) && INFRA_ON(pAdapter) && (pAdapter->PortCfg.Psm == PWR_SAVE))
- {
- EnqueuePsPoll(pAdapter);
- DBGPRINT(RT_DEBUG_TRACE, "Sending PS-POLL\n");
- }
--
-+
- //
- // Begin frame processing
- //
-@@ -634,11 +649,11 @@
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
-
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
-- memcpy(pRxD->Key, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
-+ memcpy(pRxD->Key, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
- if (pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen == 5)
- pRxD->CipherAlg = CIPHER_WEP64;
- else
-- pRxD->CipherAlg = CIPHER_WEP128;
-+ pRxD->CipherAlg = CIPHER_WEP128;
- }
- else if ((pAdapter->PortCfg.PrivacyFilter == Ndis802_11PrivFilter8021xWEP) &&
- (pHeader->Frag == 0))
-@@ -659,18 +674,18 @@
- if (pHeader->Controlhead.Frame.Wep)
- {
- UCHAR Eiv_Tmp[4];
--
-+
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
- // Swap EIV byte order, due to ASIC's bug.
- Eiv_Tmp[0] = *(pData + 7);
- Eiv_Tmp[1] = *(pData + 6);
- Eiv_Tmp[2] = *(pData + 5);
-- Eiv_Tmp[3] = *(pData + 4);
-+ Eiv_Tmp[3] = *(pData + 4);
- memcpy((PUCHAR) &pRxD->Eiv, Eiv_Tmp, 4); //Get WEP EIV
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
- // Copy TA into RxD
- memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
-- memcpy(pRxD->Key, pWpaKey->Key, 16);
-+ memcpy(pRxD->Key, pWpaKey->Key, 16);
- pRxD->CipherAlg = CIPHER_TKIP;
- }
- else if ((pAdapter->PortCfg.PrivacyFilter == Ndis802_11PrivFilter8021xWEP) &&
-@@ -694,9 +709,9 @@
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
- memcpy((PUCHAR) &pRxD->Eiv, (pData + 4), 4); //Get WEP EIV
- // Copy TA into RxD
-- memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
-+ memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
-- memcpy(pRxD->Key, pWpaKey->Key, 16);
-+ memcpy(pRxD->Key, pWpaKey->Key, 16);
- pRxD->CipherAlg = CIPHER_AES;
- }
- else if ((pAdapter->PortCfg.PrivacyFilter == Ndis802_11PrivFilter8021xWEP) &&
-@@ -719,7 +734,7 @@
- Status = NDIS_STATUS_FAILURE;
- bDropFrame = TRUE;
- break;
-- }
-+ }
- else // Not encryptrd frames
- {
- pRxD->CipherAlg = CIPHER_NONE;
-@@ -756,13 +771,14 @@
- pRxD->Drop = 0;
- pRxD->IvOffset = LENGTH_802_11;
- }
--
-+
- pRxD->CipherOwner = DESC_OWN_NIC;
-
- #ifdef BIG_ENDIAN
- RTMPFrameEndianChange(pAdapter, (PUCHAR)pHeader, DIR_WRITE, TRUE);
- RTMPDescriptorEndianChange((PUCHAR)pRxD, TYPE_RXD);
-- *pDestRxD = RxD;
-+ //*pDestRxD = RxD;
-+ WriteBackToDescriptor((PUCHAR)pDestRxD, (PUCHAR)pRxD, TRUE, TYPE_RXD);
- #endif
-
- pAdapter->CurRxIndex++;
-@@ -771,9 +787,9 @@
- pAdapter->CurRxIndex = 0;
- }
- Count++;
--
-+
- pAdapter->RalinkCounters.RxCount ++;
--
-+
- } while (Count < MAX_RX_PROCESS);
-
- // Kick Decrypt Control Register, based on ASIC's implementation
-@@ -810,10 +826,10 @@
- #endif
- UCHAR Count;
- unsigned long irqflag;
--
-+
- // Make sure Tx ring resource won't be used by other threads
- spin_lock_irqsave(&pAdapter->TxRingLock, irqflag);
--
-+
- Count = 0;
- do
- {
-@@ -832,22 +848,22 @@
- }
-
- RTMPHardTransmitDone(
-- pAdapter,
-- pTxD,
-+ pAdapter,
-+ pTxD,
- pAdapter->TxRing[pAdapter->NextTxDoneIndex].FrameType);
--
-+
- // It might happend with no Ndis packet to indicate back to upper layer
- // Clear for NdisSendComplete request
- pTxD->Valid = FALSE;
--
-+
- // Increase Total transmit byte counter after real data sent out
- pAdapter->RalinkCounters.TransmittedByteCount += pTxD->DataByteCnt;
--
-+
- #ifdef BIG_ENDIAN
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- *pDestTxD = TxD;
- #endif
--
-+
- pAdapter->NextTxDoneIndex++;
- if (pAdapter->NextTxDoneIndex >= TX_RING_SIZE)
- {
-@@ -885,16 +901,16 @@
-
- // Make sure to release Tx ring resource
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
--
-+
- if(pAdapter->bNetDeviceStopQueue)
- {
- DBGPRINT(RT_DEBUG_TRACE, "NetDevice start queue!!!\n\n");
- pAdapter->bNetDeviceStopQueue = FALSE;
- netif_start_queue(pAdapter->net_dev);
- }
--
-+
- // Some Tx ring resource freed, check for pending send frame for hard transmit
-- if ((!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) &&
-+ if ((!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) &&
- (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RADIO_OFF)) &&
- (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RESET_IN_PROGRESS)))
- {
-@@ -932,10 +948,10 @@
- UCHAR Count;
- PMGMT_STRUC pMgmt;
- unsigned long irqflag;
--
-+
- // Make sure Prio ring resource won't be used by other threads
-- spin_lock_irqsave(&pAdapter->PrioRingLock, irqflag);
--
-+ spin_lock_irqsave(&pAdapter->PrioRingLock, irqflag);
-+
- Count = 0;
- do
- {
-@@ -957,16 +973,16 @@
- #endif
- break;
- }
--
-+
- // No need to put in reply for MLME
- RTMPHardTransmitDone(
-- pAdapter,
-- pTxD,
-+ pAdapter,
-+ pTxD,
- pAdapter->PrioRing[pAdapter->NextPrioDoneIndex].FrameType);
--
-+
- // It might happend with no Ndis packet to indicate back to upper layer
-- pTxD->Valid = FALSE;
--
-+ pTxD->Valid = FALSE;
-+
- // Increase Total transmit byte counter after real data sent out
- pAdapter->RalinkCounters.TransmittedByteCount += pTxD->DataByteCnt;
-
-@@ -983,11 +999,11 @@
- } while (++Count < MAX_TX_PROCESS);
-
- // Make sure to release Prio ring resource
-- spin_unlock_irqrestore(&pAdapter->PrioRingLock, irqflag);
--
-+ spin_unlock_irqrestore(&pAdapter->PrioRingLock, irqflag);
-+
- if (RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RADIO_OFF))
- return;
--
-+
-
- spin_lock_irqsave(&pAdapter->PrioRingLock, irqflag);
- if (pAdapter->PushMgmtIndex != pAdapter->PopMgmtIndex)
-@@ -1008,7 +1024,7 @@
- }
- }
- }
-- }
-+ }
- spin_unlock_irqrestore(&pAdapter->PrioRingLock, irqflag);
- }
-
-@@ -1033,12 +1049,12 @@
- {
- // PTXD_STRUC pTxD;
- // UCHAR Count;
--
-+
- // Make sure Atim ring resource won't be used by other threads
- //spin_lock_irqsave(&pAdapter->AtimRingLock);
--
-+
- // Did not support ATIM, remove everything.
--
-+
- // Make sure to release Atim ring resource
- //spin_unlock_irqrestore(&pAdapter->AtimRingLock);
- }
-@@ -1083,10 +1099,10 @@
- ULONG i;
- struct sk_buff *skb;
- unsigned long irqflag;
--
-+
- // Make sure Rx ring resource won't be used by other threads
- spin_lock_irqsave(&pAdapter->RxRingLock, irqflag);
--
-+
- RTMP_IO_READ32(pAdapter, SECCSR0, &RegValue);
- HwDecryptIndex = RegValue - pAdapter->RxRing[0].pa_addr;
- do_div(HwDecryptIndex, RING_DESCRIPTOR_SIZE);
-@@ -1104,11 +1120,11 @@
- pRxD = &RxD;
- RTMPDescriptorEndianChange((PUCHAR)pRxD, TYPE_RXD);
- #endif
--
-+
- // In case of false alarm or processed at last instance
- if ((pRxD->Owner != DESC_OWN_HOST) || (pRxD->CipherOwner != DESC_OWN_HOST))
- break;
--
-+
- // Point to Rx ring buffer where stores the real data frame
- pData = (PUCHAR) (pAdapter->RxRing[pAdapter->CurDecryptIndex].va_data_addr);
- // Cast to 802.11 header for flags checking
-@@ -1117,15 +1133,18 @@
- #ifdef BIG_ENDIAN
- RTMPFrameEndianChange(pAdapter, (PUCHAR)pHeader, DIR_READ, FALSE);
- #endif
-- // Driver will check the decrypt algorithm and decide whether this ICV is true or not
-+ // Driver will check the decrypt algorithm and decide whether this ICV is true or not
- if ((pRxD->IcvError == 1) && (pRxD->CipherAlg == CIPHER_NONE))
- pRxD->IcvError = 0;
--
-+
- // Since we already process header at RxDone interrupt, there is no need to proces
- // header sanity again, the only thing we have to check is icv_err bit
-- if (pRxD->IcvError == 1)
-+ //if (pRxD->IcvError == 1)
-+ if ((pRxD->IcvError == 1) && (pRxD->CipherAlg != CIPHER_NONE))
- {
-- DBGPRINT(RT_DEBUG_TRACE,"Rx DecryptDone - ICV error (len %d)\n", pRxD->DataByteCnt);
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "Rx DecryptDone - ICV error (CipherAlg=%d) (len %d)\n",
-+ pRxD->CipherAlg, pRxD->DataByteCnt);
- pRxD->Drop =1; // Drop frame with icv error
- }
- // Saved data pointer for management frame which will pass to MLME block
-@@ -1135,7 +1154,7 @@
- {
- struct sk_buff *skb;
- wlan_ng_prism2_header *ph;
--
-+
- if ((skb = __dev_alloc_skb(2048, GFP_DMA|GFP_ATOMIC)) != NULL)
- {
- if (pAdapter->PortCfg.MallowRFMONTx == TRUE)
-@@ -1196,12 +1215,12 @@
-
- skb->dev = pAdapter->net_dev;
- memcpy(skb_put(skb, pRxD->DataByteCnt), pData, pRxD->DataByteCnt);
-- skb->mac.raw = skb->data;
-+ skb_reset_mac_header(skb);
- skb->pkt_type = PACKET_OTHERHOST;
- skb->protocol = htons(ETH_P_802_2);
- skb->ip_summed = CHECKSUM_NONE;
- netif_rx(skb);
-- }
-+ }
- pRxD->Drop = 1;
- }
-
-@@ -1211,7 +1230,7 @@
- // The total available payload should exclude 24-byte 802.11 Header
- // If Security is enabled, IV, EIV, ICV size is excluded by ASIC
- PacketSize = (USHORT) pRxD->DataByteCnt - LENGTH_802_11;
--
-+
- // Find the WPA key, either Group or Pairwise Key
- // Although the data has been decrypted by ASIC,
- // driver has to calculate the RxMIC which required the key.
-@@ -1221,7 +1240,7 @@
- if ((pAdapter->PortCfg.AuthMode >= Ndis802_11AuthModeWPA) && (pHeader->Controlhead.Frame.Wep))
- {
- INT idx;
--
-+
- // First lookup the DA, if it's a group address, use GROUP key
- if (pRxD->Bcast || pRxD->Mcast)
- {
-@@ -1231,7 +1250,7 @@
- #else
- idx = (pRxD->Iv & 0xc0000000) >> 30;
- #endif
-- if ((pAdapter->PortCfg.GroupKey[idx].KeyLen != 0) &&
-+ if ((pAdapter->PortCfg.GroupKey[idx].KeyLen != 0) &&
- ((INFRA_ON(pAdapter) && (NdisEqualMemory(&pHeader->Controlhead.Addr2, &pAdapter->PortCfg.Bssid, 6))) ||
- (ADHOC_ON(pAdapter) && (NdisEqualMemory(&pHeader->Addr3, &pAdapter->PortCfg.Bssid, 6)))))
- {
-@@ -1254,22 +1273,22 @@
- break;
- }
- }
--#if 1
-+#if 1
- // Use default Group Key if there is no Pairwise key present
- if ((pWpaKey == NULL) && (pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId].KeyLen != 0))
- {
-- pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId];
-+ pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId];
- pWpaKey->Type = GROUP_KEY;
- DBGPRINT(RT_DEBUG_INFO, "Rx Use Group Key\n");
- }
--#endif
-+#endif
- }
-
- // If there is no WPA key matched, this frame should be dropped
- if (pWpaKey == NULL)
- pRxD->Drop = 1;
- }
--
-+
- //
- // Start of main loop to parse receiving frames.
- // The sequence will be Type first, then subtype...
-@@ -1287,10 +1306,10 @@
- pSrcMac = (PUCHAR) &(pHeader->Addr3);
- else
- pSrcMac = (PUCHAR) &(pHeader->Controlhead.Addr2);
--
-+
- // Process Broadcast & Multicast data frame
- if (pRxD->Bcast || pRxD->Mcast)
-- {
-+ {
- // For TKIP frame, calculate the MIC value
- if (pRxD->CipherAlg == CIPHER_TKIP)
- {
-@@ -1302,7 +1321,7 @@
- Status = NDIS_STATUS_FAILURE;
- break;
- }
--
-+
- // Minus MIC length
- PacketSize -= 8;
- if (RTMPTkipCompareMICValue(
-@@ -1313,7 +1332,7 @@
- pWpaKey->RxMic,
- PacketSize) == FALSE)
- {
-- DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error\n");
-+ DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error\n");
- RTMPReportMicError(pAdapter, pWpaKey);
- Status = NDIS_STATUS_FAILURE;
- break;
-@@ -1329,21 +1348,17 @@
- // Rx TSC has done one full cycle, since re-key is done by transmitter
- // We did not do anything for Rx path
- }
--
-+
- // build 802.3 header and decide if remove the 8-byte LLC/SNAP encapsulation
- CONVERT_TO_802_3(Header802_3, pDestMac, pSrcMac, pData, PacketSize);
--
-+
- pAdapter->PortCfg.LedCntl.fRxActivity = TRUE; // for RX ACTIVITY LED
-
- // For miniportTransferData
- pAdapter->pRxData = pData;
--
-+
- // Acknolwdge upper layer the received frame
--#ifdef RTMP_EMBEDDED
- if ((skb = __dev_alloc_skb(PacketSize + LENGTH_802_3 + 2, GFP_DMA|GFP_ATOMIC)) != NULL)
--#else
-- if ((skb = dev_alloc_skb(PacketSize + LENGTH_802_3 + 2)) != NULL)
--#endif
- {
- skb->dev = pAdapter->net_dev;
- skb_reserve(skb, 2); // 16 byte align the IP header
-@@ -1354,10 +1369,10 @@
- pAdapter->net_dev->last_rx = jiffies;
- pAdapter->stats.rx_packets++;
- }
--
-+
- DBGPRINT(RT_DEBUG_INFO, "!!! Broadcast Ethenet rx Indicated !!!\n");
- }
--
-+
- // Begin process unicast to me frame
- else if (pRxD->U2M || pAdapter->bAcceptPromiscuous == TRUE)
- {
-@@ -1383,12 +1398,12 @@
- else if (pRxD->BBR0 == 110)
- pAdapter->LastRxRate = 3;
- }
--
-+
- if (pHeader->Frag == 0) // First or Only fragment
- {
- // For TKIP frame, calculate the MIC value
- if ((pHeader->Controlhead.Frame.MoreFrag == FALSE) &&
-- (pRxD->CipherAlg == CIPHER_TKIP) &&
-+ (pRxD->CipherAlg == CIPHER_TKIP) &&
- (pHeader->Controlhead.Frame.Wep))
- {
- if (pWpaKey == NULL)
-@@ -1407,17 +1422,17 @@
- pWpaKey->RxMic,
- PacketSize) == FALSE)
- {
-- DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error\n");
-+ DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error\n");
- RTMPReportMicError(pAdapter, pWpaKey);
- Status = NDIS_STATUS_FAILURE;
- break;
- }
- }
--
-+
- pAdapter->FragFrame.Flags &= 0xFFFFFFFE;
--
-+
- // Check for encapsulation other than RFC1042 & Bridge tunnel
-- if ((!RTMPEqualMemory(SNAP_802_1H, pData, 6)) &&
-+ if ((!RTMPEqualMemory(SNAP_802_1H, pData, 6)) &&
- (!RTMPEqualMemory(SNAP_BRIDGE_TUNNEL, pData, 6)))
- {
- LLC_Len[0] = PacketSize / 256;
-@@ -1427,13 +1442,13 @@
- else
- {
- char *pProto = pData + 6;
--
-+
- // Remove 802.11 H header & reconstruct 802.3 header
- // pData += (LENGTH_802_1_H - LENGTH_802_3_TYPE);
- // Check for EAPOL frame when driver supplicant enabled
- // TODO: It is not strickly correct. There is no fragment handling. It might damage driver
- // TODO: But for WPAPSK, it's not likely fragment on EAPOL frame will happen
-- if (RTMPEqualMemory(EAPOL, pProto, 2) && ((pAdapter->PortCfg.WpaState != SS_NOTUSE)))
-+ if (RTMPEqualMemory(EAPOL, pProto, 2) && ((pAdapter->PortCfg.WpaState != SS_NOTUSE)))
- {
- RTMP_IO_READ32(pAdapter, CSR17, &High32TSF); // TSF value
- RTMP_IO_READ32(pAdapter, CSR16, &Low32TSF); // TSF vlaue
-@@ -1441,16 +1456,16 @@
- // Enqueue this frame to MLME engine
- MlmeEnqueueForRecv(
- pAdapter,
-- &pAdapter->Mlme.Queue,
-- High32TSF,
-+ &pAdapter->Mlme.Queue,
-+ High32TSF,
- Low32TSF,
-- (UCHAR)pRxD->BBR1, (UCHAR)pAdapter->PortCfg.LastR17Value,
-- PacketSize,
-- pManage);
-+ (UCHAR)pRxD->BBR1, (UCHAR)pAdapter->PortCfg.LastR17Value,
-+ PacketSize,
-+ pManage);
- break;
- }
-
-- if ((RTMPEqualMemory(IPX, pProto, 2) || RTMPEqualMemory(APPLE_TALK, pProto, 2)) &&
-+ if ((RTMPEqualMemory(IPX, pProto, 2) || RTMPEqualMemory(APPLE_TALK, pProto, 2)) &&
- RTMPEqualMemory(SNAP_802_1H, pData, 6))
- {
- // preserved the LLC/SNAP filed
-@@ -1468,21 +1483,17 @@
- pAdapter->FragFrame.Flags |= 0x01;
- }
- }
--
-+
- // One & The only fragment
- if (pHeader->Controlhead.Frame.MoreFrag == FALSE)
- {
- // For miniportTransferData
- pAdapter->pRxData = pData;
--
-+
- pAdapter->PortCfg.LedCntl.fRxActivity = TRUE; // for RX ACTIVITY LED
-
- // Acknowledge upper layer the received frame
--#ifdef RTMP_EMBEDDED
- if ((skb = __dev_alloc_skb(PacketSize + LENGTH_802_3 + 2, GFP_DMA|GFP_ATOMIC)) != NULL)
--#else
-- if ((skb = dev_alloc_skb(PacketSize + LENGTH_802_3 + 2)) != NULL)
--#endif
- {
- skb->dev = pAdapter->net_dev;
- skb_reserve(skb, 2); // 16 byte align the IP header
-@@ -1499,7 +1510,7 @@
-
- // Increase general counters
- pAdapter->Counters.GoodReceives++;
--
-+
- }
- // First fragment of fragmented frames
- else
-@@ -1516,7 +1527,7 @@
- else
- {
- // No LLC-SNAP header in except the first fragment frame
--
-+
- if ((pHeader->Sequence != pAdapter->FragFrame.Sequence) ||
- (pHeader->Frag != (pAdapter->FragFrame.LastFrag + 1)))
- {
-@@ -1525,7 +1536,7 @@
- memset(&pAdapter->FragFrame, 0, sizeof(FRAGMENT_FRAME));
- Status = NDIS_STATUS_FAILURE;
- break;
-- }
-+ }
- else if ((pAdapter->FragFrame.RxSize + PacketSize) > MAX_FRAME_SIZE)
- {
- // Fragment frame is too large, it exeeds the maximum frame size.
-@@ -1535,12 +1546,12 @@
- Status = NDIS_STATUS_FAILURE;
- break;
- }
--
-+
- // concatenate this fragment into the re-assembly buffer
- memcpy(&pAdapter->FragFrame.Buffer[LENGTH_802_3 + pAdapter->FragFrame.RxSize], pData, PacketSize);
- pAdapter->FragFrame.RxSize += PacketSize;
- pAdapter->FragFrame.LastFrag = pHeader->Frag; // Update fragment number
--
-+
- // Last fragment
- if (pHeader->Controlhead.Frame.MoreFrag == FALSE)
- {
-@@ -1555,7 +1566,7 @@
- }
- // Minus MIC length
- pAdapter->FragFrame.RxSize -= 8;
--
-+
- if (pAdapter->FragFrame.Flags & 0x00000001)
- {
- // originally there's an LLC/SNAP field in the first fragment
-@@ -1563,9 +1574,9 @@
- // this LLC/SNAP field upon calculating TKIP MIC
- // Copy LLC data to the position in front of real data for MIC calculation
- memcpy(&pAdapter->FragFrame.Buffer[LENGTH_802_3 - LENGTH_802_1_H],
-- pAdapter->FragFrame.Header_LLC,
-+ pAdapter->FragFrame.Header_LLC,
- LENGTH_802_1_H);
-- pData = (PUCHAR) &pAdapter->FragFrame.Buffer[LENGTH_802_3 - LENGTH_802_1_H];
-+ pData = (PUCHAR) &pAdapter->FragFrame.Buffer[LENGTH_802_3 - LENGTH_802_1_H];
- PacketSize = (USHORT)pAdapter->FragFrame.RxSize + LENGTH_802_1_H;
- //cketSize = (USHORT)pAdapter->FragFrame.RxSize + 8;
- }
-@@ -1583,29 +1594,25 @@
- pWpaKey->RxMic,
- PacketSize) == FALSE)
- {
-- DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error 2\n");
-+ DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error 2\n");
- RTMPReportMicError(pAdapter, pWpaKey);
- Status = NDIS_STATUS_FAILURE;
- break;
- }
--
-+
- // TODO:
- // Getting RxTSC from Rx descriptor
-- }
-+ }
-
- // for RX ACTIVITY LED
-- pAdapter->PortCfg.LedCntl.fRxActivity = TRUE;
-+ pAdapter->PortCfg.LedCntl.fRxActivity = TRUE;
-
- // For miniportTransferData
- pAdapter->pRxData = &pAdapter->FragFrame.Buffer[LENGTH_802_3];
-
- memcpy(pAdapter->FragFrame.Buffer, pAdapter->FragFrame.Header802_3, LENGTH_802_3);
- // Acknowledge upper layer the received frame
--#ifdef RTMP_EMBEDDED
- if ((skb = __dev_alloc_skb(pAdapter->FragFrame.RxSize + LENGTH_802_3 + 2, GFP_DMA|GFP_ATOMIC)) != NULL)
--#else
-- if ((skb = dev_alloc_skb(pAdapter->FragFrame.RxSize + LENGTH_802_3 + 2)) != NULL)
--#endif
- {
- skb->dev = pAdapter->net_dev;
- skb_reserve(skb, 2); /* 16 byte align the IP header */
-@@ -1619,7 +1626,7 @@
-
- // Increase general counters
- pAdapter->Counters.GoodReceives++;
--
-+
- // Clear Fragment frame contents
- memset(&pAdapter->FragFrame, 0, sizeof(FRAGMENT_FRAME));
- DBGPRINT(RT_DEBUG_INFO, "!!! Frame with Fragment Indicated !!!\n");
-@@ -1627,42 +1634,42 @@
- }
- }
- break;
--
-+
- case BTYPE_MGMT:
- // Read required regsiter for MLME engine
- RTMP_IO_READ32(pAdapter, CSR17, &High32TSF); // TSF value
- RTMP_IO_READ32(pAdapter, CSR16, &Low32TSF); // TSF vlaue
--
-+
- // Enqueue this frame to MLME engine
- MlmeEnqueueForRecv(
- pAdapter,
-- &pAdapter->Mlme.Queue,
-- High32TSF,
-+ &pAdapter->Mlme.Queue,
-+ High32TSF,
- Low32TSF,
- (UCHAR)pRxD->BBR1,
-- (UCHAR)pAdapter->PortCfg.LastR17Value,
-- pRxD->DataByteCnt,
-- pManage);
-+ (UCHAR)pAdapter->PortCfg.LastR17Value,
-+ pRxD->DataByteCnt,
-+ pManage);
- break;
--
-+
- case BTYPE_CNTL:
- // Ignore ???
- break;
--
-+
- default :
- break;
- }
- }
--
-+
- pAdapter->CurDecryptIndex++;
- if (pAdapter->CurDecryptIndex >= RX_RING_SIZE)
- {
- pAdapter->CurDecryptIndex = 0;
- }
- Count++;
--
-+
- pAdapter->RalinkCounters.DecryptCount ++;
--
-+
- // Clear Cipherowner bit & Rx Owner bit for all drop & non-drop frames
- pRxD->CipherOwner = DESC_OWN_HOST;
- pRxD->Owner = DESC_OWN_NIC;
-@@ -1673,7 +1680,7 @@
- }
- //} while (Count < RX_RING_SIZE);
- //} while (pAdapter->CurDecryptIndex != HwDecryptIndex);
--
-+
- // Make sure to release Rx ring resource
- spin_unlock_irqrestore(&pAdapter->RxRingLock, irqflag);
- }
-@@ -1706,10 +1713,10 @@
- ULONG RegValue;
- ULONGLONG HwEncryptIndex;
- unsigned long irqflag;
--
-+
- // Make sure Prio ring resource won't be used by other threads
-- spin_lock_irqsave(&pAdapter->TxRingLock, irqflag);
--
-+ spin_lock_irqsave(&pAdapter->TxRingLock, irqflag);
-+
- RTMP_IO_READ32(pAdapter, SECCSR1, &RegValue);
- HwEncryptIndex = RegValue - pAdapter->TxRing[0].pa_addr;
- do_div(HwEncryptIndex, RING_DESCRIPTOR_SIZE);
-@@ -1749,17 +1756,18 @@
- *pTmp = Eiv_Tmp[3];
- *(pTmp + 1) = Eiv_Tmp[2];
- *(pTmp + 2) = Eiv_Tmp[1];
-- *(pTmp + 3) = Eiv_Tmp[0];
-+ *(pTmp + 3) = Eiv_Tmp[0];
- }
- // Sanity Check, CurTxIndex should equal to NextEncryptDoneIndex
- // ASSERT(pAdapter->CurTxIndex == pAdapter->NextEncryptDoneIndex);
--
-+
- pTxD->Valid = TRUE;
- pTxD->Owner = DESC_OWN_NIC;
-
- #ifdef BIG_ENDIAN
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-- *pDestTxD = TxD;
-+ //*pDestTxD = TxD;
-+ WriteBackToDescriptor((PUCHAR)pDestTxD, (PUCHAR)pTxD, FALSE, TYPE_TXD);
- #endif
-
- pAdapter->NextEncryptDoneIndex++;
-@@ -1778,9 +1786,9 @@
-
- // Kick Tx Control Register at the end of all ring buffer preparation
- RTMP_IO_WRITE32(pAdapter, TXCSR0, 0x1);
--
-+
- // Make sure to release Tx ring resource
-- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
-+ spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- }
-
- /*
-@@ -1854,7 +1862,7 @@
- INC_COUNTER(pAdapter->WlanCounters.RTSSuccessCount);
- pTxD->RTS = 0;
- }
--
-+
- // Increase general counters
- pAdapter->Counters.GoodTransmits++;
- INC_COUNTER(pAdapter->WlanCounters.TransmittedFragmentCount);
-@@ -1865,22 +1873,22 @@
- pAdapter->DrsCounters.OneSecTxOkCount ++;
- }
- break;
--
-+
- case SUCCESS_WITH_RETRY: // Success with some retry
- // DBGPRINT(RT_DEBUG_INFO, "TX Success with retry(=%d)<<<\n",pTxD->RetryCount);
- // Increase 802.11 counters
- INC_COUNTER(pAdapter->WlanCounters.RetryCount);
- INC_COUNTER(pAdapter->WlanCounters.ACKFailureCount);
- INC_COUNTER(pAdapter->WlanCounters.TransmittedFragmentCount);
--
-+
- // Increase general counters
- pAdapter->Counters.GoodTransmits++;
--
-+
- if (pTxD->RetryCount > 1)
- {
- // Increase 802.11 counters
- INC_COUNTER(pAdapter->WlanCounters.MultipleRetryCount);
--
-+
- // Increase general counters
- pAdapter->Counters.MoreCollisions++;
- }
-@@ -1889,7 +1897,7 @@
- // Increase general counters
- pAdapter->Counters.OneCollision++;
- }
--
-+
- if (pTxD->RTS)
- {
- INC_COUNTER(pAdapter->WlanCounters.RTSSuccessCount);
-@@ -1901,7 +1909,7 @@
- {
- if (pTxD->TxRate > pAdapter->PortCfg.TxRate)
- {
-- // DRS - must be NULL frame retried @ UpRate; downgrade
-+ // DRS - must be NULL frame retried @ UpRate; downgrade
- // TxQuality[UpRate] so that not upgrade TX rate
- pAdapter->DrsCounters.TxQuality[pTxD->TxRate] += 2;
- if (pAdapter->DrsCounters.TxQuality[pTxD->TxRate] > DRS_TX_QUALITY_WORST_BOUND)
-@@ -1917,10 +1925,10 @@
- // Increase 802.11 counters
- INC_COUNTER(pAdapter->WlanCounters.FailedCount);
- INC_COUNTER(pAdapter->WlanCounters.ACKFailureCount);
--
-+
- // Increase general counters
- pAdapter->Counters.TxErrors++;
--
-+
- if (pTxD->RTS)
- {
- INC_COUNTER(pAdapter->WlanCounters.RTSFailureCount);
-@@ -1932,7 +1940,7 @@
- {
- if (pTxD->TxRate > pAdapter->PortCfg.TxRate)
- {
-- // DRS - must be NULL frame failed @ UpRate; downgrade
-+ // DRS - must be NULL frame failed @ UpRate; downgrade
- // TxQuality[UpRate] so that not upgrade TX rate
- pAdapter->DrsCounters.TxQuality[pTxD->TxRate] = DRS_TX_QUALITY_WORST_BOUND;
- }
-@@ -1942,35 +1950,35 @@
- }
- }
- break;
--
-+
- case FAIL_INVALID:
- // DBGPRINT(RT_DEBUG_WARN, ("TX Failed (INVALID)<<<\n"));
- // Increase general counters
- pAdapter->Counters.TxErrors++;
--
-+
- if (pTxD->RTS)
- {
- INC_COUNTER(pAdapter->WlanCounters.RTSFailureCount);
- pTxD->RTS = 0;
- }
-- break;
--
-+ break;
-+
- case FAIL_OTHER:
- default:
- // DBGPRINT(RT_DEBUG_ERROR, ("TX Failed (other=%d)<<<\n",pTxD->TxResult));
- // Increase 802.11 counters
- INC_COUNTER(pAdapter->WlanCounters.FailedCount);
- INC_COUNTER(pAdapter->WlanCounters.ACKFailureCount);
--
-+
- // Increase general counters
- pAdapter->Counters.TxErrors++;
--
-+
- if (pTxD->RTS)
- {
- INC_COUNTER(pAdapter->WlanCounters.RTSFailureCount);
- pTxD->RTS = 0;
- }
-- break;
-+ break;
- }
- }
-
-@@ -1980,19 +1988,19 @@
- Routine Description:
- API for MLME to transmit management frame to AP (BSS Mode)
- or station (IBSS Mode)
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- Buffer Pointer to memory of outgoing frame
- Length Size of outgoing management frame
--
-+
- Return Value:
- NDIS_STATUS_FAILURE
- NDIS_STATUS_PENDING
- NDIS_STATUS_SUCCESS
-
- Note:
--
-+
- ========================================================================
- */
- NDIS_STATUS MiniportMMRequest(
-@@ -2001,28 +2009,28 @@
- IN ULONG Length)
- {
- PMGMT_STRUC pMgmt;
-- NDIS_STATUS Status = NDIS_STATUS_SUCCESS;
-+ NDIS_STATUS Status = NDIS_STATUS_SUCCESS;
- unsigned long irqflag;
-
- DBGPRINT(RT_DEBUG_INFO, "---> MiniportMMRequest\n");
- // Check management ring free avaliability
- pMgmt = (PMGMT_STRUC) &pAdapter->MgmtRing[pAdapter->PushMgmtIndex];
--
-+
- // This management cell has been occupied
-- if (pMgmt->Valid == TRUE)
-+ if (pMgmt->Valid == TRUE)
- {
- // No Management ring buffer avaliable
- MlmeFreeMemory(pAdapter, pBuffer);
-- Status = NDIS_STATUS_FAILURE;
-+ Status = NDIS_STATUS_FAILURE;
- DBGPRINT(RT_DEBUG_WARN, "<--- MiniportMMRequest (error:: MgmtRing full)\n");
- pAdapter->RalinkCounters.MgmtRingFullCount++;
- return (Status);
- }
--
-+
- // Insert this request into software managemnet ring
- if (pBuffer)
- {
-- pMgmt->pBuffer = pBuffer;
-+ pMgmt->pBuffer = pBuffer;
- pMgmt->Length = Length;
- pMgmt->Valid = TRUE;
- pAdapter->PushMgmtIndex++;
-@@ -2031,19 +2039,19 @@
- {
- pAdapter->PushMgmtIndex = 0;
- }
-- }
-+ }
- else
- {
- // Null pBuffer, no need to free memory buffer.
- // This should not happen
- DBGPRINT(RT_DEBUG_WARN, "<--- MiniportMMRequest (error:: NULL msg)\n");
-- Status = NDIS_STATUS_FAILURE;
-+ Status = NDIS_STATUS_FAILURE;
- return (Status);
- }
--
-+
- if (RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RADIO_OFF))
- return (Status);
--
-+
- // Check Free priority queue
- spin_lock_irqsave(&pAdapter->PrioRingLock, irqflag);
- if (RTMPFreeDescriptorRequest(pAdapter, PRIO_RING, 1) == NDIS_STATUS_SUCCESS)
-@@ -2076,21 +2084,21 @@
- ========================================================================
-
- Routine Description:
-- Copy frame from waiting queue into relative ring buffer and set
-+ Copy frame from waiting queue into relative ring buffer and set
- appropriate ASIC register to kick hardware transmit function
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pBuffer Pointer to memory of outgoing frame
- Length Size of outgoing management frame
--
-+
- Return Value:
- NDIS_STATUS_FAILURE
- NDIS_STATUS_PENDING
- NDIS_STATUS_SUCCESS
-
- Note:
--
-+
- ========================================================================
- */
- VOID MlmeHardTransmit(
-@@ -2103,15 +2111,15 @@
- PTXD_STRUC pDestTxD;
- TXD_STRUC TxD;
- #endif
-- PUCHAR pDest;
-+ PUCHAR pDest;
- PHEADER_802_11 pHeader_802_11;
- BOOLEAN AckRequired, InsertTimestamp;
--
-+
- DBGPRINT(RT_DEBUG_INFO, "MlmeHardTransmit\n");
--
-+
- // Make sure Prio ring resource won't be used by other threads
--
-- pDest = (PUCHAR) pAdapter->PrioRing[pAdapter->CurPrioIndex].va_data_addr;
-+
-+ pDest = (PUCHAR) pAdapter->PrioRing[pAdapter->CurPrioIndex].va_data_addr;
- #ifndef BIG_ENDIAN
- pTxD = (PTXD_STRUC) pAdapter->PrioRing[pAdapter->CurPrioIndex].va_addr;
- #else
-@@ -2120,7 +2128,7 @@
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- if (pTxD->Owner == DESC_OWN_NIC)
- {
- // Descriptor owned by NIC. No descriptor avaliable
-@@ -2138,10 +2146,10 @@
- // The buffer shouldn't be NULL
- return;
- }
--
-- // outgoing frame always wakeup PHY to prevent frame lost
-+
-+ // outgoing frame always wakeup PHY to prevent frame lost
- AsicForceWakeup(pAdapter);
--
-+
- pHeader_802_11 = (PHEADER_802_11) pBuffer;
- pHeader_802_11->Controlhead.Frame.PwrMgt = 0; // (pAdapter->PortCfg.Psm == PWR_SAVE);
- InsertTimestamp = FALSE;
-@@ -2175,7 +2183,7 @@
- RTMPFrameEndianChange(pAdapter, (PUCHAR)pBuffer, DIR_WRITE, FALSE);
- #endif
- memcpy(pDest, pBuffer, Length);
--
-+
- // Initialize Priority Descriptor
- // For inter-frame gap, the number is for this frame and next frame
- // For MLME rate, we will fix as 2Mb to match other vendor's implement
-@@ -2193,28 +2201,28 @@
- {
- pAdapter->CurPrioIndex = 0;
- }
--
-+
- // Kick priority ring transmit
- RTMP_IO_WRITE32(pAdapter,TXCSR0,0x4);
--
-+
- // Make sure to release Prio ring resource
--}
-+}
- /*
- ========================================================================
-
- Routine Description:
- This routine is used to en-queue outgoing packets when
- there is no enough shread memory
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pPacket Pointer to send packet
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- NDIS_STATUS RTMPSendPacket(
-@@ -2225,51 +2233,42 @@
- UINT AllowFragSize;
- UCHAR NumberOfFrag;
- UCHAR RTSRequired;
-- NDIS_STATUS Status = NDIS_STATUS_FAILURE;
-- UCHAR PsMode;
--
-+
- struct sk_buff_head *pTxQueue = NULL;
- ULONG Priority;
- UCHAR AccessCategory;
- unsigned long irqflag;
--
-- DBGPRINT(RT_DEBUG_INFO, "<==== RTMPSendPacket\n");
-
-- // Init priority value
-- Priority = 0;
-- AccessCategory = 0;
--
-- if (skb)
-- {
-- Priority = skb->priority;
-- // 802.11e/d4.4 June, 2003
-- if (Priority <=2)
-- AccessCategory = 0;
-- else if (Priority == 3)
-- AccessCategory = 1;
-- else if (Priority <= 5)
-- AccessCategory = 2;
-- else
-- AccessCategory = 3;
-- DBGPRINT(RT_DEBUG_INFO, "Priority = %d, AC = %d\n", Priority, AccessCategory);
-- }
-+ DBGPRINT(RT_DEBUG_INFO, "====> RTMPSendPacket\n");
-+
-+ if (skb == NULL)
-+ return NDIS_STATUS_SUCCESS;
-+
-+ Priority = skb->priority;
-+ // 802.11e/d4.4 June, 2003
-+ if (Priority <=2)
-+ AccessCategory = 0;
-+ else if (Priority == 3)
-+ AccessCategory = 1;
-+ else if (Priority <= 5)
-+ AccessCategory = 2;
-+ else
-+ AccessCategory = 3;
-+ DBGPRINT(RT_DEBUG_INFO, "Priority = %d, AC = %d\n", Priority,
-+ AccessCategory);
-
- // For TKIP, MIC value is treated as payload, it might be fragmented through
- // different MPDUs.
- if (pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled)
-- {
- skb->data_len += 8;
-- }
-
- pVirtualAddress = (PVOID)skb->data;
-
- // Check for virtual address allocation, it might fail !!!
- if (pVirtualAddress == NULL)
-- {
-- // Resourece is low, system did not allocation virtual address
-+ // Resource is low, system did not allocate virtual address
- // return NDIS_STATUS_FAILURE directly to upper layer
-- return (Status);
-- }
-+ return NDIS_STATUS_FAILURE;
-
- // Store Ethernet MAC address when APClinet mode on
- if ((pAdapter->PortCfg.StaWithEtherBridge.Enable)
-@@ -2296,7 +2295,7 @@
- pAdapter->CurrentAddress[3] = StaMacReg0.field.Byte3;
- pAdapter->CurrentAddress[4] = StaMacReg1.field.Byte4;
- pAdapter->CurrentAddress[5] = StaMacReg1.field.Byte5;
--
-+
- RTMP_IO_WRITE32(pAdapter, CSR3, StaMacReg0.word);
- RTMP_IO_WRITE32(pAdapter, CSR4, StaMacReg1.word);
-
-@@ -2304,7 +2303,7 @@
- pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[0],pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[1],pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[2],
- pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[3],pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[4],pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[5]);
- }
--
-+
- //
- // Check for multicast or broadcast (First byte of DA)
- //
-@@ -2322,37 +2321,30 @@
- NumberOfFrag = ((skb->data_len - LENGTH_802_3 + LENGTH_802_1_H) / AllowFragSize) + 1;
- // Minus 1 if the size just match to allowable fragment size
- if (((skb->data_len - LENGTH_802_3 + LENGTH_802_1_H) % AllowFragSize) == 0)
-- {
- NumberOfFrag--;
-- }
- }
-
-- // Check for requirement of RTS
-+ // Check for requirement of RTS
- if (NumberOfFrag > 1)
-- {
- // If multiple fragment required, RTS is required only for the first fragment
- // if the fragment size large than RTS threshold
- RTSRequired = (pAdapter->PortCfg.FragmentThreshold > pAdapter->PortCfg.RtsThreshold) ? 1 : 0;
-- }
- else
-- {
- RTSRequired = (skb->data_len > pAdapter->PortCfg.RtsThreshold) ? 1 : 0;
-- }
-- DBGPRINT(RT_DEBUG_INFO, "Number of fragments include RTS :%d\n", NumberOfFrag + RTSRequired);
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "Number of fragments include RTS :%d\n",
-+ NumberOfFrag + RTSRequired);
-+
-+ // RTS/CTS may also be required in order to protect OFDM frame
-+ if ((pAdapter->PortCfg.TxRate >= RATE_FIRST_OFDM_RATE) && pAdapter->PortCfg.BGProtectionInUsed)
-+ RTSRequired = 1;
-
-- // RTS/CTS may also be required in order to protect OFDM frame
-- if ((pAdapter->PortCfg.TxRate >= RATE_FIRST_OFDM_RATE) && pAdapter->PortCfg.BGProtectionInUsed)
-- RTSRequired = 1;
--
- // Save framnet number to Ndis packet reserved field
- RTMP_SET_PACKET_FRAGMENTS(skb, NumberOfFrag);
-
- // Save RTS requirement to Ndis packet reserved field
- RTMP_SET_PACKET_RTS(skb, RTSRequired);
-
-- // Make sure SendTxWait queue resource won't be used by other threads
-- spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
--
- // Select the right priority queue
- // There should be no else statement since it should always fall within 0-3
- if (AccessCategory== 0)
-@@ -2363,56 +2355,49 @@
- pTxQueue = &pAdapter->TxSwQueue2;
- else if (AccessCategory== 3)
- pTxQueue = &pAdapter->TxSwQueue3;
--
-+
- //
- // For infrastructure mode, enqueue this frame immediately to sendwaitqueue
- // For Ad-hoc mode, check the DA power state, then decide which queue to enqueue
- //
-- if (INFRA_ON(pAdapter))
-- {
-- // In infrastructure mode, simply enqueue the packet into Tx waiting queue.
-- DBGPRINT(RT_DEBUG_INFO, "Infrastructure -> Enqueue one frame\n");
--
-- // Enqueue Ndis packet to end of Tx wait queue
-- skb_queue_tail(pTxQueue, skb);
-- Status = NDIS_STATUS_SUCCESS;
-- }
-- else
-- {
-- // In IBSS mode, power state of destination should be considered.
-- PsMode = PWR_ACTIVE; // Faked
-- if (PsMode == PWR_ACTIVE)
-- {
-- DBGPRINT(RT_DEBUG_INFO,"Ad-Hoc -> Enqueue one frame\n");
--
-+ if (INFRA_ON(pAdapter)) {
-+ // In infrastructure mode, simply enqueue the packet into Tx waiting queue.
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "<=== RTMPSendPacket Infrastructure -> Enqueue one frame\n");
- // Enqueue Ndis packet to end of Tx wait queue
-+ spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
- skb_queue_tail(pTxQueue, skb);
-- Status = NDIS_STATUS_SUCCESS;
-- }
-+ spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
-+ return NDIS_STATUS_SUCCESS;
- }
--
-+ // Ad-hoc mode (power state of destination might be considered).
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "<=== RTMPSendPacket Ad-Hoc -> Enqueue one frame\n");
-+ // Enqueue Ndis packet to end of Tx wait queue
-+ spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
-+ skb_queue_tail(pTxQueue, skb);
- spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
-- return (Status);
-+ return NDIS_STATUS_SUCCESS;
- }
-
- /*
- ========================================================================
-
- Routine Description:
-- To do the enqueue operation and extract the first item of waiting
-- list. If a number of available shared memory segments could meet
-+ To do the enqueue operation and extract the first item of waiting
-+ list. If a number of available shared memory segments could meet
- the request of extracted item, the extracted item will be fragmented
- into shared memory segments.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pQueue Pointer to Waiting Queue
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPDeQueuePacket(
-@@ -2424,69 +2409,64 @@
- struct sk_buff_head *pQueue;
- UCHAR AccessCategory;
- struct sk_buff *skb;
-- unsigned long irqflag;
--
-- // Make sure SendTxWait queue resource won't be used by other threads
-- spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
-+ unsigned long irqflag;
-
-- while (Count < MAX_TX_PROCESS)
-- // Check queue before dequeue
-- // while ((pQueue->Head != NULL) && (Count < MAX_TX_PROCESS))
-- {
-+ while (Count < MAX_TX_PROCESS) {
- // Reset is in progress, stop immediately
- if (RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RESET_IN_PROGRESS))
- break;
-
- pQueue = RTMPCheckTxSwQueue(pAdapter, &AccessCategory);
- if(!pQueue)
-- break;
-+ break;
-
- // Dequeue the first entry from head of queue list
-+ spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
- skb = skb_dequeue(pQueue);
-+ spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
-
- if(!skb)
-- break;
-+ break;
-
- // RTS or CTS-to-self for B/G protection mode has been set already.
-- // There is no need to re-do it here.
-+ // There is no need to re-do it here.
- // Total fragment required = number of fragment + RST if required
- FragmentRequired = RTMP_GET_PACKET_FRAGMENTS(skb) + RTMP_GET_PACKET_RTS(skb);
--
-- if (RTMPFreeDescriptorRequest(pAdapter, TX_RING, FragmentRequired) == NDIS_STATUS_SUCCESS)
-- {
-- // Avaliable ring descriptors are enough for this frame
-- // Call hard transmit
-- Status = RTMPHardEncrypt(pAdapter, skb, FragmentRequired, pAdapter->PortCfg.EnableTxBurst, AccessCategory);
-
-- if (Status == NDIS_STATUS_FAILURE)
-- {
-- // Packet failed due to various Ndis Packet error
-- dev_kfree_skb_irq(skb);
-- break;
-- }
-- else if (Status == NDIS_STATUS_RESOURCES)
-- {
-- // Not enough free tx ring, it might happen due to free descriptor inquery might be not correct
-- // It also might change to NDIS_STATUS_FAILURE to simply drop the frame
-- // Put the frame back into head of queue
-- skb_queue_head(pQueue, skb);
-- break;
-- }
-- Count++;
-- }
-- else
-- {
-+ if (RTMPFreeDescriptorRequest(pAdapter, TX_RING,
-+ FragmentRequired) != NDIS_STATUS_SUCCESS) {
-+ spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
- skb_queue_head(pQueue, skb);
-+ spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
- pAdapter->PrivateInfo.TxRingFullCnt++;
-- DBGPRINT(RT_DEBUG_INFO,"RTMPDequeuePacket --> Not enough free Tx Ring descriptor (CurEncryptIndex=%d,CurTxIndex=%d, NextTxDoneIndex=%d)!!!\n",
-- pAdapter->CurEncryptIndex, pAdapter->CurTxIndex, pAdapter->NextTxDoneIndex);
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "RTMPDequeuePacket --> Not enough free Tx Ring descriptor (CurEncryptIndex=%d,CurTxIndex=%d, NextTxDoneIndex=%d)!!!\n",
-+ pAdapter->CurEncryptIndex,
-+ pAdapter->CurTxIndex,
-+ pAdapter->NextTxDoneIndex);
- break;
- }
-+ // Available ring descriptors are enough for this frame
-+ // Call hard transmit
-+ Status = RTMPHardEncrypt(pAdapter, skb, FragmentRequired, pAdapter->PortCfg.EnableTxBurst, AccessCategory);
-+ if (Status == NDIS_STATUS_FAILURE) {
-+ // Packet failed due to various Ndis Packet error
-+ dev_kfree_skb_irq(skb);
-+ break;
-+ } else if (Status == NDIS_STATUS_RESOURCES) {
-+ // Not enough free tx ring, it might happen due to free descriptor inquery might be not correct
-+ // It also might change to NDIS_STATUS_FAILURE to simply drop the frame
-+ // Put the frame back into head of queue
-+ spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
-+ skb_queue_head(pQueue, skb);
-+ spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
-+ break;
-+ }
-+
-+ Count++;
- }
-
-- // Release TxSwQueue0 resources
-- spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
--}
-+}
-
- /*
- ========================================================================
-@@ -2494,17 +2474,17 @@
- Routine Description:
- This subroutine will scan through releative ring descriptor to find
- out avaliable free ring descriptor and compare with request size.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- RingType Selected Ring
--
-+
- Return Value:
- NDIS_STATUS_FAILURE Not enough free descriptor
- NDIS_STATUS_SUCCESS Enough free descriptor
-
- Note:
--
-+
- ========================================================================
- */
- NDIS_STATUS RTMPFreeDescriptorRequest(
-@@ -2557,18 +2537,18 @@
- {
- Index = 0;
- }
--
-+
- } while (FreeNumber < NumberRequired); // Quit here ! Free number is enough !
--
-+
- if (FreeNumber >= NumberRequired)
- {
- Status = NDIS_STATUS_SUCCESS;
- }
--
-+
- // Make sure to release Tx ring resource
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- break;
--
-+
- case PRIO_RING:
- Index = pAdapter->CurPrioIndex;
- do
-@@ -2581,7 +2561,7 @@
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- // While Owner bit is NIC, obviously ASIC still need it.
- // If valid bit is TRUE, indicate that TxDone has not process yet
- // We should not use it until TxDone finish cleanup job
-@@ -2594,26 +2574,26 @@
- {
- break;
- }
--
-+
- Index++;
- if (Index >= PRIO_RING_SIZE) // Wrap around issue
- {
- Index = 0;
- }
--
-+
- } while (FreeNumber < NumberRequired); // Quit here ! Free number is enough !
--
-+
- if (FreeNumber >= NumberRequired)
- {
- Status = NDIS_STATUS_SUCCESS;
- }
--
-+
- break;
-
- default:
- break;
- }
--
-+
- return (Status);
- }
-
-@@ -2631,7 +2611,7 @@
- TXD_STRUC TxD;
- #endif
- unsigned long irqflag;
--
-+
- if (pBuffer == NULL)
- {
- return;
-@@ -2642,19 +2622,19 @@
- MlmeFreeMemory(pAdapter, pBuffer);
- return;
- }
--
-+
- // WPA 802.1x secured port control
-- if (((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
-+ if (((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
- (pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK)) &&
-- (pAdapter->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED))
-+ (pAdapter->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED))
- {
- MlmeFreeMemory(pAdapter, pBuffer);
- return;
-- }
--
-+ }
-+
- FrameGap = IFS_BACKOFF; // Default frame gap mode
-
-- // outgoing frame always wakeup PHY to prevent frame lost and
-+ // outgoing frame always wakeup PHY to prevent frame lost and
- // turn off PSM bit to improve performance
- AsicForceWakeup(pAdapter);
- #if 0
-@@ -2664,13 +2644,13 @@
- DBGPRINT(RT_DEBUG_TRACE,("Drop Null frame due to Tx queue not empty!\n"));
- }
- else
--#endif
-+#endif
- {
- // Make sure Tx ring resource won't be used by other threads
- spin_lock_irqsave(&pAdapter->TxRingLock, irqflag);
--
-+
- // Get the Tx Ring descriptor & Dma Buffer address
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- #ifndef BIG_ENDIAN
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- #else
-@@ -2679,11 +2659,11 @@
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- if ((pTxD->Owner == DESC_OWN_HOST) && (pTxD->CipherOwn == DESC_OWN_HOST) && (pTxD->Valid == FALSE))
- {
- HEADER_802_11 *pHeader_802_11;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - send NULL Frame @%d Mbps...\n", RateIdToMbps[TxRate]);
- #ifdef BIG_ENDIAN
- RTMPFrameEndianChange(pAdapter, (PUCHAR)pBuffer, DIR_WRITE, FALSE);
-@@ -2693,14 +2673,14 @@
-
- pHeader_802_11 = (PHEADER_802_11) pDest;
- pHeader_802_11->Controlhead.Frame.PwrMgt = (pAdapter->PortCfg.Psm == PWR_SAVE);
--
-+
- #ifdef BIG_ENDIAN
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- *pDestTxD = TxD;
- pTxD = pDestTxD;
- #endif
-
-- RTMPWriteTxDescriptor(pTxD, TRUE, CIPHER_NONE, TRUE, FALSE, FALSE, LONG_RETRY, IFS_BACKOFF,
-+ RTMPWriteTxDescriptor(pTxD, TRUE, CIPHER_NONE, TRUE, FALSE, FALSE, LONG_RETRY, IFS_BACKOFF,
- TxRate, 4, Length, pAdapter->PortCfg.TxPreambleInUsed, 0);
-
- // Increase & maintain Tx Ring Index
-@@ -2709,13 +2689,13 @@
- {
- pAdapter->CurEncryptIndex = 0;
- }
--
-+
- pAdapter->RalinkCounters.EncryptCount++;
-
- // Kick Encrypt Control Register at the end of all ring buffer preparation
- RTMP_IO_WRITE32(pAdapter, SECCSR1, 0x1);
--
-- }
-+
-+ }
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- }
- MlmeFreeMemory(pAdapter, pBuffer);
-@@ -2725,20 +2705,20 @@
- ========================================================================
-
- Routine Description:
-- Copy frame from waiting queue into relative ring buffer and set
-+ Copy frame from waiting queue into relative ring buffer and set
- appropriate ASIC register to kick hardware encryption before really
- sent out to air.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- PNDIS_PACKET Pointer to outgoing Ndis frame
- NumberOfFrag Number of fragment required
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- NDIS_STATUS RTMPHardEncrypt(
-@@ -2794,7 +2774,7 @@
- if (pAdapter->PortCfg.BssType == BSS_MONITOR && pAdapter->PortCfg.MallowRFMONTx == TRUE)
- {
- pAdapter->TxRing[pAdapter->CurEncryptIndex].FrameType = BTYPE_DATA;
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- MlmeSetPsmBit(pAdapter, PWR_ACTIVE);
- memcpy(pDest,skb->data,skb->len);
-@@ -2812,25 +2792,25 @@
- FrameGap = IFS_SIFS;
- else
- FrameGap = IFS_BACKOFF; // Default frame gap mode
--
-- // outgoing frame always wakeup PHY to prevent frame lost and
-+
-+ // outgoing frame always wakeup PHY to prevent frame lost and
- // turn off PSM bit to improve performance
- if (pAdapter->PortCfg.Psm == PWR_SAVE)
- {
- MlmeSetPsmBit(pAdapter, PWR_ACTIVE);
- }
- AsicForceWakeup(pAdapter);
--
-+
- // Sequence Number is identical for all fragments belonged to the same frame
- // Sequence is 0 - 4095
- pAdapter->Sequence = ((pAdapter->Sequence) + 1) & (MAX_SEQ_NUMBER);
--
-+
- AckRate = pAdapter->PortCfg.ExpectedACKRate[pAdapter->PortCfg.TxRate];
- AckDuration = RTMPCalcDuration(pAdapter, AckRate, 14);
-
- pVirtualAddress = skb->data;
- NdisBufferLength = skb->len;
--
-+
- if ((*((PUCHAR) pVirtualAddress) & 0x01) != 0) // Multicast or Broadcast
- {
- INC_COUNTER(pAdapter->WlanCounters.MulticastTransmittedFrameCount);
-@@ -2843,7 +2823,7 @@
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- return (NDIS_STATUS_FAILURE);
- }
--
-+
- //
- // Start making 802.11 frame header
- //
-@@ -2855,14 +2835,14 @@
- memcpy(&Header_802_11.Addr3, (PUCHAR) pVirtualAddress, ETH_ALEN);
- Header_802_11.Controlhead.Frame.ToDs = 1;
- }
-- else
-+ else
- {
- // Address 1 - DA, Address 2 - this STA, Address 3 - BSSID
- memcpy(&Header_802_11.Controlhead.Addr1, (PUCHAR) pVirtualAddress, ETH_ALEN);
- memcpy(&Header_802_11.Addr3, &pAdapter->PortCfg.Bssid, ETH_ALEN);
- }
- memcpy(&Header_802_11.Controlhead.Addr2, pAdapter->CurrentAddress, ETH_ALEN);
--
-+
- Header_802_11.Sequence = pAdapter->Sequence; // Sequence number
- Header_802_11.Controlhead.Frame.Type = BTYPE_DATA; // Frame type
- Header_802_11.Controlhead.Frame.PwrMgt = (pAdapter->PortCfg.Psm == PWR_SAVE);
-@@ -2878,9 +2858,9 @@
- }
- else
- EAPOLFrame = FALSE;
--
-+
- // WPA 802.1x secured port control
-- if (((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
-+ if (((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
- (pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK)) &&
- ((pAdapter->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED) || (pAdapter->PortCfg.MicErrCnt >= 2)) &&
- (EAPOLFrame == FALSE))
-@@ -2889,28 +2869,28 @@
- // Make sure to release Tx ring resource
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- return (NDIS_STATUS_FAILURE);
-- }
--
-+ }
-+
- MICFrag = FALSE; // Flag to indicate MIC shall spread into two MPDUs
- Encapped = FALSE;
- pEncap = NULL;
--
-+
- pSrc = (PUCHAR) pVirtualAddress;
- Protocol = *(pSrc + 12) * 256 + *(pSrc + 13);
- if (Protocol > 1500) // CHeck for LLC encaped
- {
- pEncap = SNAP_802_1H;
- Encapped = TRUE;
-- if (RTMPEqualMemory(IPX, pSrc + 12, 2) ||
-+ if (RTMPEqualMemory(IPX, pSrc + 12, 2) ||
- RTMPEqualMemory(APPLE_TALK, pSrc + 12, 2))
- {
- pEncap = SNAP_BRIDGE_TUNNEL;
- }
- }
-
-- if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) &&
-+ if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) &&
- (pAdapter->PortCfg.SharedKey[pAdapter->PortCfg.DefaultKeyId].KeyLen != 0))
-- EncryptionOverhead = 8; // WEP: IV + ICV
-+ EncryptionOverhead = 8; // WEP: IV + ICV
- else if (pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled)
- EncryptionOverhead = 12; // TKIP: IV + EIV + ICV, MIC already added to TotalPacketLength
- else if (pAdapter->PortCfg.WepStatus == Ndis802_11Encryption3Enabled)
-@@ -2925,11 +2905,11 @@
- {
- PCONTROL_HEADER pControlHeader;
- ULONG NextFragSize;
--
-+
- // RTS-protected frame should use LONG_RETRY (=4), other frames use SHORT_RETRY (=7)
- RetryMode = LONG_RETRY;
--
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- #ifndef BIG_ENDIAN
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- #else
-@@ -2938,7 +2918,7 @@
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- if ((pTxD->Owner == DESC_OWN_NIC) || (pTxD->CipherOwn == DESC_OWN_NIC))
- {
- // Descriptor owned by NIC. No descriptor avaliable
-@@ -2961,11 +2941,11 @@
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- *pDestTxD = TxD;
- #endif
--
-+
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- return (NDIS_STATUS_RESOURCES);
- }
--
-+
- pAdapter->TxRing[pAdapter->CurEncryptIndex].FrameType = BTYPE_CNTL;
- pControlHeader = (PCONTROL_HEADER) pDest;
- memset(pControlHeader, 0, sizeof(CONTROL_HEADER));
-@@ -2987,27 +2967,32 @@
- }
- pControlHeader->Duration = 2 * (pAdapter->PortCfg.Dsifs)
- + RTMPCalcDuration(pAdapter, pAdapter->PortCfg.TxRate, NextFragSize + EncryptionOverhead)
-- + AckDuration;
-+ + AckDuration;
-
- // Write Tx descriptor
- // Don't kick tx start until all frames are prepared
- // RTS has to set more fragment bit for fragment burst
-- // RTS did not encrypt
-+ // RTS did not encrypt
- if (pAdapter->PortCfg.BGProtectionInUsed == 1)
- {
- DBGPRINT(RT_DEBUG_TRACE,"Making CTS-to-self Frame\n");
-- pControlHeader->Frame.Subtype = SUBTYPE_CTS;
-+ pControlHeader->Frame.Subtype = SUBTYPE_CTS;
- memcpy(&pControlHeader->Addr1, pAdapter->CurrentAddress, ETH_ALEN);
-
- #ifdef BIG_ENDIAN
-- RTMPFrameEndianChange(pAdapter, (PUCHAR)pControlHeader, DIR_WRITE, FALSE);
-- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-- *pDestTxD = TxD;
-- pTxD = pDestTxD;
-+ // Write Tx descriptor
-+ // Don't kick tx start until all frames are prepared
-+ // CTS has to set more fragment bit for fragment burst
-+ // CTS did not encrypt
-+ // CTS-to-self will never receive ACK
-+ RTMPFrameEndianChange(pAdapter, (PUCHAR)pControlHeader,
-+ DIR_WRITE, FALSE);
-+ RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-+ *pDestTxD = TxD;
-+ pTxD = pDestTxD;
- #endif
-
--
--#ifdef WIFI_TEST
-+#ifdef WIFI_TEST
- RTMPWriteTxDescriptor(pTxD, TRUE, CIPHER_NONE, FALSE, FALSE, FALSE, SHORT_RETRY,
- FrameGap, pAdapter->PortCfg.RtsRate, 4, 10, Rt802_11PreambleShort,
- AccessCategory);
-@@ -3019,42 +3004,51 @@
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE,"Making RTS Frame\n");
-- pControlHeader->Frame.Subtype = SUBTYPE_RTS;
-- if (INFRA_ON(pAdapter))
-- memcpy(&pControlHeader->Addr1, &pAdapter->PortCfg.Bssid, ETH_ALEN);
-- else
-- memcpy(&pControlHeader->Addr1, (PUCHAR) pVirtualAddress, ETH_ALEN);
-- memcpy(&pControlHeader->Addr2, pAdapter->CurrentAddress, ETH_ALEN);
-+ DBGPRINT(RT_DEBUG_TRACE,"Making RTS Frame\n");
-+ pControlHeader->Frame.Subtype = SUBTYPE_RTS;
-+ if (INFRA_ON(pAdapter))
-+ memcpy(&pControlHeader->Addr1,
-+ &pAdapter->PortCfg.Bssid, ETH_ALEN);
-+ else
-+ memcpy(&pControlHeader->Addr1,
-+ (PUCHAR) pVirtualAddress, ETH_ALEN);
-+ memcpy(&pControlHeader->Addr2,
-+ pAdapter->CurrentAddress, ETH_ALEN);
-+
-+ // Write Tx descriptor
-+ // Don't kick tx start until all frames are prepared
-+ // RTS has to set more fragment bit for fragment burst
-+ // RTS did not encrypt
-+ pTxD->RTS = 1;
- #ifdef BIG_ENDIAN
-- RTMPFrameEndianChange(pAdapter, (PUCHAR)pControlHeader, DIR_WRITE, FALSE);
-- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-- *pDestTxD = TxD;
-- pTxD = pDestTxD;
-+ RTMPFrameEndianChange(pAdapter, (PUCHAR)pControlHeader,
-+ DIR_WRITE, FALSE);
-+ RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-+ *pDestTxD = TxD;
-+ pTxD = pDestTxD;
- #endif
- RTMPWriteTxDescriptor(pTxD, TRUE, CIPHER_NONE, TRUE, TRUE, FALSE, SHORT_RETRY,
- FrameGap, pAdapter->PortCfg.RtsRate, 4, sizeof(CONTROL_HEADER),
- pAdapter->PortCfg.TxPreambleInUsed, AccessCategory);
-- pTxD->RTS = 1;
- }
--
-+
- FrameGap = IFS_SIFS; // Init frame gap for coming data after RTS
- NumberRequired--;
--
-+
- // Increase & maintain Tx Ring Index
- pAdapter->CurEncryptIndex++;
- if (pAdapter->CurEncryptIndex >= TX_RING_SIZE)
- {
- pAdapter->CurEncryptIndex = 0;
- }
-- pAdapter->RalinkCounters.EncryptCount++;
-+ pAdapter->RalinkCounters.EncryptCount++;
- }
-
- // Find the WPA key, either Group or Pairwise Key
- if (pAdapter->PortCfg.AuthMode >= Ndis802_11AuthModeWPA)
- {
- INT idx;
--
-+
- pWpaKey = (PWPA_KEY) NULL;
- // First lookup the DA, if it's a group address, use GROUP key
- if (Header_802_11.Controlhead.Addr1.Octet[0] & 0x01)
-@@ -3101,17 +3095,17 @@
- {
- // Get the Tx Ring descriptor & Dma Buffer address
- #ifndef BIG_ENDIAN
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- #else
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- pOriginDest = pDest;
- pDestTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- TxD = *pDestTxD;
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- if ((pTxD->Owner == DESC_OWN_NIC) || (pTxD->CipherOwn == DESC_OWN_NIC))
- {
- // Descriptor owned by NIC. No descriptor avaliable
-@@ -3127,12 +3121,14 @@
- // This should not happen since caller guaranteed.
- // Make sure to release Tx ring resource
- pTxD->Valid = FALSE;
--
-+
- #ifdef BIG_ENDIAN
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-- *pDestTxD = TxD;
-+ //*pDestTxD = TxD;
-+ WriteBackToDescriptor((PUCHAR)pDestRxD, (PUCHAR)pRxD, FALSE,
-+ TYPE_RXD);
- #endif
--
-+
- pAdapter->RalinkCounters.TxRingErrCount++;
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- return (NDIS_STATUS_RESOURCES);
-@@ -3144,7 +3140,7 @@
- Header_802_11.Frag = 0; // Start of fragment burst / Single Frame
- else
- Header_802_11.Frag++; // Rest of fragmented frames.
--
-+
- // Maximum allowable payload with one ring buffer, bound by fragment size
- FreeFragSize = pAdapter->PortCfg.FragmentThreshold - LENGTH_CRC;
-
-@@ -3155,12 +3151,12 @@
- {
- ULONG NextFragSize;
- Header_802_11.Controlhead.Frame.MoreFrag = 1;
--
-+
- if (NumberRequired == 2)
- NextFragSize = RemainSize - pAdapter->PortCfg.FragmentThreshold + LENGTH_802_11 + LENGTH_802_11 + LENGTH_CRC;
- else
- NextFragSize = pAdapter->PortCfg.FragmentThreshold;
--
-+
- Header_802_11.Controlhead.Duration = 3 * pAdapter->PortCfg.Dsifs
- + 2 * AckDuration
- + RTMPCalcDuration(pAdapter, pAdapter->PortCfg.TxRate, NextFragSize + EncryptionOverhead);
-@@ -3168,7 +3164,7 @@
- else // this is the last or only fragment
- {
- Header_802_11.Controlhead.Frame.MoreFrag = 0;
--
-+
- if (Header_802_11.Controlhead.Addr1.Octet[0] & 0x01) // multicast/broadcast
- Header_802_11.Controlhead.Duration = 0;
- else
-@@ -3183,7 +3179,7 @@
- Header_802_11.Controlhead.Frame.Wep = 1;
- else if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption3Enabled) && (pWpaKey != NULL))
- Header_802_11.Controlhead.Frame.Wep = 1;
--
-+
- //
- // Copy 802.11 header to Tx ring buffer
- //
-@@ -3191,12 +3187,15 @@
- pDest += sizeof(Header_802_11);
- FreeFragSize -= sizeof(Header_802_11);
-
-- DBGPRINT(RT_DEBUG_TRACE,"pWpaKey = %s\n", pWpaKey == NULL ? "NULL" : "not NULL");
-+ DBGPRINT(RT_DEBUG_INFO, "pWpaKey = %s\n",
-+ pWpaKey == NULL ? "NULL" : "not NULL");
-
- if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) && (EAPOLFrame == FALSE) &&
- (pAdapter->PortCfg.SharedKey[pAdapter->PortCfg.DefaultKeyId].KeyLen != 0))
- {
-- DBGPRINT(RT_DEBUG_TRACE,"Ndis802_11Encryption1Enabled::DefaultKeyId = %d\n", pAdapter->PortCfg.DefaultKeyId);
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "Ndis802_11Encryption1Enabled::DefaultKeyId = %d\n",
-+ pAdapter->PortCfg.DefaultKeyId);
- // Prepare IV, IV offset, Key for Hardware encryption
- RTMPInitWepEngine(
- pAdapter,
-@@ -3216,12 +3215,14 @@
- memcpy(
- pTxD->Key,
- pAdapter->PortCfg.SharedKey[pAdapter->PortCfg.DefaultKeyId].Key,
-- pAdapter->PortCfg.SharedKey[pAdapter->PortCfg.DefaultKeyId].KeyLen);
-+ pAdapter->PortCfg.SharedKey[pAdapter->PortCfg.DefaultKeyId].KeyLen);
- }
- else if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) && (pWpaKey != NULL))
- {
- INT i = 0;
-- DBGPRINT(RT_DEBUG_TRACE,"Ndis802_11Encryption2Enabled::DefaultKeyId = %d\n", pAdapter->PortCfg.DefaultKeyId);
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "Ndis802_11Encryption2Enabled::DefaultKeyId = %d\n",
-+ pAdapter->PortCfg.DefaultKeyId);
- // Prepare 8 bytes TKIP encapsulation for MPDU
- {
- TKIP_IV tkipIv;
-@@ -3232,31 +3233,20 @@
- tkipIv.IV16.field.rc2 = *pWpaKey->TxTsc;
- tkipIv.IV16.field.ExtIV = 1;// 0: non-extended IV, 1: extended IV
- tkipIv.IV16.field.KeyID = pAdapter->PortCfg.DefaultKeyId;
-- tkipIv.IV32 = *(PULONG)(pWpaKey->TxTsc + 2);
--#if 0 //jett, 2004-1222 ------------------
--#if BIG_ENDIAN == TRUE
-- pTxD->Iv = (tkipIv.IV16.field.rc0 << 24) | (tkipIv.IV16.field.rc1 << 16) | (tkipIv.IV16.field.rc2 << 8) | (tkipIv.IV16.field.CONTROL.Byte);
--#endif
--
--#ifdef RTMP_EMBEDDED
-- pTxD->Iv = (tkipIv.IV16.field.CONTROL.Byte << 24) | (tkipIv.IV16.field.rc2 << 16) | (tkipIv.IV16.field.rc1 << 8) | (tkipIv.IV16.field.rc0);
--#else
-- pTxD->Iv = tkipIv.IV16.word;
--#endif
--#else //----------------------------------
-+ //tkipIv.IV32 = *(PULONG)(pWpaKey->TxTsc + 2);
-+ memcpy(&tkipIv.IV32, &pWpaKey->TxTsc[2], 4);
- #ifdef BIG_ENDIAN
-- pTxD->Iv = SWAP32(tkipIv.IV16.word);
-+ pTxD->Iv = SWAP32(tkipIv.IV16.word);
- #else
-- pTxD->Iv = tkipIv.IV16.word;
-+ pTxD->Iv = tkipIv.IV16.word;
- #endif
--#endif //----------------------------------
-
- *((PUCHAR) &pTxD->Eiv) = *((PUCHAR) &tkipIv.IV32 + 3);
- *((PUCHAR) &pTxD->Eiv + 1) = *((PUCHAR) &tkipIv.IV32 + 2);
- *((PUCHAR) &pTxD->Eiv + 2) = *((PUCHAR) &tkipIv.IV32 + 1);
- *((PUCHAR) &pTxD->Eiv + 3) = *((PUCHAR) &tkipIv.IV32);
- }
--
-+
- // Increase TxTsc value for next transmission
- while (++pWpaKey->TxTsc[i] == 0x0)
- {
-@@ -3264,13 +3254,13 @@
- if (i == 6)
- break;
- }
--
-+
- // Set IV offset
- pTxD->IvOffset = LENGTH_802_11;
-
- // Copy TKey
- memcpy(pTxD->Key, pWpaKey->Key, 16);
--
-+
- // Set Cipher suite
- CipherAlg = CIPHER_TKIP;
- }
-@@ -3279,15 +3269,20 @@
- INT i;
- PUCHAR pTmp;
-
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "Ndis802_11Encryption3Enabled::DefaultKeyId = %d\n",
-+ pAdapter->PortCfg.DefaultKeyId);
-+
- i = 0;
- pTmp = (PUCHAR) &Iv16;
- *pTmp = pWpaKey->TxTsc[0];
- *(pTmp + 1) = pWpaKey->TxTsc[1];
- *(pTmp + 2) = 0;
- *(pTmp + 3) = (pAdapter->PortCfg.DefaultKeyId << 6) | 0x20;
--
-- Iv32 = *(PULONG)(&pWpaKey->TxTsc[2]);
--
-+
-+ //Iv32 = *(PULONG)(&pWpaKey->TxTsc[2]);
-+ memcpy(&Iv32, &pWpaKey->TxTsc[2], 4);
-+
- // Increase TxTsc value for next transmission
- while (++pWpaKey->TxTsc[i] == 0x0)
- {
-@@ -3300,7 +3295,7 @@
- // TODO: TSC has done one full cycle, do re-keying stuff follow specs
- // Should send a special event microsoft defined to request re-key
- }
--
-+
- memcpy(&pTxD->Iv, &Iv16, 4); // Copy IV
- memcpy(&pTxD->Eiv, &Iv32, 4); // Copy EIV
- pTxD->IvOffset = LENGTH_802_11; // Set IV offset
-@@ -3308,8 +3303,11 @@
- CipherAlg = CIPHER_AES; // Set Cipher suite
- }
- else
-+ {
-+ DBGPRINT(RT_DEBUG_TRACE,"Ndis802_11EncryptionDisabled\n");
- CipherAlg = CIPHER_NONE;
--
-+ }
-+
- //
- // Only the first fragment required LLC-SNAP header !!!
- //
-@@ -3332,7 +3330,7 @@
- pSrc = (PUCHAR) pVirtualAddress;
- memcpy(pDest, pSrc + 12, 2);
- pDest += 2;
--
-+
- // Exclude 802.3 header size, we will recalculate the size at
- // the end of fragment preparation.
- NdisBufferLength -= LENGTH_802_3;
-@@ -3346,11 +3344,11 @@
- // Calculate MSDU MIC Value
- RTMPCalculateMICValue(pAdapter, skb, pEncap, 0, pWpaKey);
- }
--
-+
- pSrc = (PUCHAR) pVirtualAddress + LENGTH_802_3;
- NdisBufferLength -= LENGTH_802_3;
- }
--
-+
- // Start copying payload
- BytesCopied = 0;
- do
-@@ -3375,23 +3373,25 @@
- pDest += NdisBufferLength;
- FreeFragSize -= NdisBufferLength;
- }
--
-+
- // No more buffer descriptor
- // Add MIC value if needed
-- if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) &&
-+ if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) &&
- (MICFrag == FALSE) &&
- (pWpaKey != NULL))
- {
-- INT i;
--
- NdisBufferLength = 8; // Set length to MIC length
-- DBGPRINT(RT_DEBUG_INFO, "Calculated TX MIC value =");
-- for (i = 0; i < 8; i++)
-- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PrivateInfo.Tx.MIC[i]);
-- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
--
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "--- TX MIC=%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x\n",
-+ pAdapter->PrivateInfo.Tx.MIC[0],
-+ pAdapter->PrivateInfo.Tx.MIC[1],
-+ pAdapter->PrivateInfo.Tx.MIC[2],
-+ pAdapter->PrivateInfo.Tx.MIC[3],
-+ pAdapter->PrivateInfo.Tx.MIC[4],
-+ pAdapter->PrivateInfo.Tx.MIC[5],
-+ pAdapter->PrivateInfo.Tx.MIC[6],
-+ pAdapter->PrivateInfo.Tx.MIC[7]);
-+
- if (FreeFragSize >= NdisBufferLength)
- {
- memcpy(pDest, pAdapter->PrivateInfo.Tx.MIC, NdisBufferLength);
-@@ -3413,7 +3413,7 @@
- }
- }
- } while (FALSE); // End of copying payload
--
-+
- // Real packet size, No 802.1H header for fragments except the first one.
- if ((StartOfFrame == TRUE) && (Encapped == TRUE))
- {
-@@ -3425,7 +3425,7 @@
- }
-
- RemainSize = RemainSize - BytesCopied;
--
-+
- if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) && (Header_802_11.Controlhead.Frame.Wep == 1))
- {
- // IV + ICV which ASIC added after encryption done
-@@ -3441,7 +3441,7 @@
- // IV + EIV + HW MIC
- TxSize += 16;
- }
--
-+
- // Prepare Tx descriptors before kicking tx.
- // The BBP register index in Tx descriptor has to be configured too.
- #ifdef BIG_ENDIAN
-@@ -3453,12 +3453,12 @@
- if (Header_802_11.Controlhead.Addr1.Octet[0] & 0x01)
- {
- // Multicast, retry bit is off
-- RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, FALSE, FALSE, FALSE, RetryMode, FrameGap,
-+ RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, FALSE, FALSE, FALSE, RetryMode, FrameGap,
- pAdapter->PortCfg.TxRate, 4, TxSize, pAdapter->PortCfg.TxPreambleInUsed, AccessCategory);
- }
- else
- {
-- RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, TRUE, FALSE, FALSE, RetryMode, FrameGap,
-+ RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, TRUE, FALSE, FALSE, RetryMode, FrameGap,
- pAdapter->PortCfg.TxRate, 4, TxSize, pAdapter->PortCfg.TxPreambleInUsed, AccessCategory);
- }
-
-@@ -3467,23 +3467,23 @@
- StartOfFrame = FALSE;
- FrameGap = IFS_SIFS;
- NumberRequired--;
--
-+
- // Increase & maintain Tx Ring Index
- pAdapter->CurEncryptIndex++;
- if (pAdapter->CurEncryptIndex >= TX_RING_SIZE)
- {
- pAdapter->CurEncryptIndex = 0;
- }
--
-+
- pAdapter->RalinkCounters.EncryptCount++;
--
-+
- } while (NumberRequired > 0);
-
- skip_packet_handling:
--
-+
- // Kick Encrypt Control Register at the end of all ring buffer preparation
- RTMP_IO_WRITE32(pAdapter, SECCSR1, 0x1);
--
-+
- // Acknowledge protocol send complete of pending packet.
- dev_kfree_skb_irq(skb);
-
-@@ -3497,19 +3497,19 @@
- ========================================================================
-
- Routine Description:
-- Calculates the duration which is required to transmit out frames
-+ Calculates the duration which is required to transmit out frames
- with given size and specified rate.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- Rate Transmit rate
- Size Frame size in units of byte
--
-+
- Return Value:
- Duration number in units of usec
-
- Note:
--
-+
- ========================================================================
- */
- USHORT RTMPCalcDuration(
-@@ -3525,7 +3525,7 @@
- Duration = 96; // 72+24 preamble+plcp
- else
- Duration = 192; // 144+48 preamble+plcp
--
-+
- Duration += (USHORT)((Size << 4) / RateIdTo500Kbps[Rate]);
- if ((Size << 4) % RateIdTo500Kbps[Rate])
- Duration ++;
-@@ -3537,18 +3537,18 @@
- if ((11 + Size * 4) % RateIdTo500Kbps[Rate])
- Duration += 4;
- }
--
-+
- return (USHORT)Duration;
--
-+
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
-- Calculates the duration which is required to transmit out frames
-+ Calculates the duration which is required to transmit out frames
- with given size and specified rate.
--
-+
- Arguments:
- pTxD Pointer to transmit descriptor
- Ack Setting for Ack requirement bit
-@@ -3560,10 +3560,10 @@
- Length Frame length
- TxPreamble Short or Long preamble when using CCK rates
- AccessCategory - 0-3, according to 802.11e/d4.4 June/2003
--
-+
- Return Value:
- None
--
-+
- ========================================================================
- */
- VOID RTMPWriteTxDescriptor(
-@@ -3624,7 +3624,7 @@
- pTxD->Aifs = 2;
- break;
- }
--
-+
- if (Rate < RATE_FIRST_OFDM_RATE)
- pTxD->Ofdm = 0;
- else
-@@ -3671,7 +3671,7 @@
- pTxD->PlcpLengthHigh = Length / 64; // high 6-bit of total byte count
- pTxD->PlcpLengthLow = Length % 64; // low 6-bit of total byte count
- }
--
-+
- if (DoEncrypt == TRUE) // Do encryption only
- {
- pTxD->Owner = DESC_OWN_HOST;
-@@ -3687,8 +3687,10 @@
- pTxD->Owner = DESC_OWN_NIC;
- }
- #ifdef BIG_ENDIAN
-- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-- *pSourceTxD = *pTxD;
-+ RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-+ //*pSourceTxD = *pTxD;
-+ WriteBackToDescriptor((PUCHAR) pSourceTxD, (PUCHAR) pTxD, FALSE,
-+ TYPE_TXD);
- #endif
- }
-
-@@ -3697,17 +3699,17 @@
-
- Routine Description:
- Search tuple cache for receive duplicate frame from unicast frames.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pHeader 802.11 header of receiving frame
--
-+
- Return Value:
- TRUE found matched tuple cache
- FALSE no matched found
-
- Note:
--
-+
- ========================================================================
- */
- BOOLEAN RTMPSearchTupleCache(
-@@ -3720,12 +3722,12 @@
- {
- if (pAdapter->TupleCache[Index].Valid == FALSE)
- continue;
--
-+
- if (RTMPEqualMemory(&pAdapter->TupleCache[Index].MAC, &pHeader->Controlhead.Addr2, 6) &&
- (pAdapter->TupleCache[Index].Sequence == pHeader->Sequence) &&
- (pAdapter->TupleCache[Index].Frag == pHeader->Frag))
- {
--// DBGPRINT(RT_DEBUG_TRACE,("DUPCHECK - duplicate frame hit entry %d\n", Index));
-+// DBGPRINT(RT_DEBUG_TRACE,("DUPCHECK - duplicate frame hit entry %d\n", Index));
- return (TRUE);
- }
- }
-@@ -3737,16 +3739,16 @@
-
- Routine Description:
- Update tuple cache for new received unicast frames.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pHeader 802.11 header of receiving frame
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPUpdateTupleCache(
-@@ -3765,7 +3767,7 @@
- pAdapter->TupleCache[Index].Frag = pHeader->Frag;
- pAdapter->TupleCache[Index].Valid = TRUE;
- pAdapter->TupleCacheLastUpdateIndex = Index;
-- DBGPRINT(RT_DEBUG_INFO,"DUPCHECK - Add Entry %d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
-+ DBGPRINT(RT_DEBUG_INFO,"DUPCHECK - Add Entry %d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
- Index, pAdapter->TupleCache[Index].MAC.Octet[0], pAdapter->TupleCache[Index].MAC.Octet[1],
- pAdapter->TupleCache[Index].MAC.Octet[2], pAdapter->TupleCache[Index].MAC.Octet[3],
- pAdapter->TupleCache[Index].MAC.Octet[4], pAdapter->TupleCache[Index].MAC.Octet[5]);
-@@ -3794,7 +3796,7 @@
- pAdapter->TupleCache[Index].Sequence = pHeader->Sequence;
- pAdapter->TupleCache[Index].Frag = pHeader->Frag;
- pAdapter->TupleCache[Index].Valid = TRUE;
-- DBGPRINT(RT_DEBUG_INFO,"DUPCHECK - replace Entry %d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
-+ DBGPRINT(RT_DEBUG_INFO,"DUPCHECK - replace Entry %d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
- Index, pAdapter->TupleCache[Index].MAC.Octet[0], pAdapter->TupleCache[Index].MAC.Octet[1],
- pAdapter->TupleCache[Index].MAC.Octet[2], pAdapter->TupleCache[Index].MAC.Octet[3],
- pAdapter->TupleCache[Index].MAC.Octet[4], pAdapter->TupleCache[Index].MAC.Octet[5]);
-@@ -3806,15 +3808,15 @@
-
- Routine Description:
- Suspend MSDU transmission
--
-+
- Arguments:
- pAdapter Pointer to our adapter
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPSuspendMsduTransmission(
-@@ -3829,15 +3831,15 @@
-
- Routine Description:
- Resume MSDU transmission
--
-+
- Arguments:
- pAdapter Pointer to our adapter
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPResumeMsduTransmission(
-@@ -3863,40 +3865,40 @@
- Routine Description:
- Apply packet filter policy, return NDIS_STATUS_FAILURE if this frame
- should be dropped.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pRxD Pointer to the Rx descriptor
- pHeader Pointer to the 802.11 frame header
--
-+
- Return Value:
- NDIS_STATUS_SUCCESS Accept frame
- NDIS_STATUS_FAILURE Drop Frame
--
-+
- Note:
- Maganement frame should bypass this filtering rule.
--
-+
- ========================================================================
- */
- NDIS_STATUS RTMPApplyPacketFilter(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PRXD_STRUC pRxD,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PRXD_STRUC pRxD,
- IN PHEADER_802_11 pHeader)
- {
- UCHAR i;
--
-+
- // 0. Management frame should bypass all these filtering rules.
- if (pHeader->Controlhead.Frame.Type == BTYPE_MGMT)
- {
- return(NDIS_STATUS_SUCCESS);
- }
--
-+
- // 0.1 Drop all Rx frames if MIC countermeasures kicks in
- if (pAdapter->PortCfg.MicErrCnt >= 2)
- {
- return(NDIS_STATUS_FAILURE);
- }
--
-+
- // 1. Drop unicast to me packet if NDIS_PACKET_TYPE_DIRECTED is FALSE
- if (pRxD->U2M)
- {
-@@ -3905,7 +3907,7 @@
- return(NDIS_STATUS_FAILURE);
- }
- }
--
-+
- // 2. Drop broadcast packet if NDIS_PACKET_TYPE_BROADCAST is FALSE
- else if (pRxD->Bcast)
- {
-@@ -3914,7 +3916,7 @@
- return(NDIS_STATUS_FAILURE);
- }
- }
--
-+
- // 3. Drop multicast packet if NDIS_PACKET_TYPE_ALL_MULTICAST is false
- // and NDIS_PACKET_TYPE_MULTICAST is false.
- // If NDIS_PACKET_TYPE_MULTICAST is true, but NDIS_PACKET_TYPE_ALL_MULTICAST is false.
-@@ -3964,8 +3966,8 @@
- {
- return(NDIS_STATUS_FAILURE);
- }
--
-- return(NDIS_STATUS_SUCCESS);
-+
-+ return(NDIS_STATUS_SUCCESS);
- }
-
- /*
-@@ -3973,15 +3975,15 @@
-
- Routine Description:
- Check and fine the packet waiting in SW queue with highest priority
--
-+
- Arguments:
- pAdapter Pointer to our adapter
--
-+
- Return Value:
- pQueue Pointer to Waiting Queue
-
- Note:
--
-+
- ========================================================================
- */
- struct sk_buff_head* RTMPCheckTxSwQueue(
-@@ -4019,20 +4021,20 @@
-
- Routine Description:
- Process MIC error indication and record MIC error timer.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pWpaKey Pointer to the WPA key structure
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPReportMicError(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PWPA_KEY pWpaKey)
- {
- ULONG Now;
-@@ -4044,7 +4046,7 @@
-
- // 0. Set Status to indicate auth error
- Report.Status.StatusType = Ndis802_11StatusType_Authentication;
--
-+
- // 1. Check for Group or Pairwise MIC error
- if (pWpaKey->Type == PAIRWISE_KEY)
- Report.Request.Flags = NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR;
-@@ -4069,13 +4071,13 @@
- if ((pAdapter->PortCfg.LastMicErrorTime + (60 * HZ)) < Now)
- {
- // Update Last MIC error time, this did not violate two MIC errors within 60 seconds
-- pAdapter->PortCfg.LastMicErrorTime = Now;
-+ pAdapter->PortCfg.LastMicErrorTime = Now;
- }
- else
- {
-- pAdapter->PortCfg.LastMicErrorTime = Now;
-+ pAdapter->PortCfg.LastMicErrorTime = Now;
- // Violate MIC error counts, MIC countermeasures kicks in
-- pAdapter->PortCfg.MicErrCnt++;
-+ pAdapter->PortCfg.MicErrCnt++;
- // We shall block all reception
- // We shall clean all Tx ring and disassoicate from AP after next EAPOL frame
- RTMPRingCleanUp(pAdapter, TX_RING);
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_def.h rt2500-cvs-2007061011/Module/rtmp_def.h
---- rt2500-1.1.0-b4/Module/rtmp_def.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_def.h 2007-03-21 05:25:35.000000000 +0100
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_def.h
-- *
-+ *
- * Abstract: Miniport related definition header
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulL 1st Aug 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulL 1st Aug 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #ifndef __RTMP_DEF_H__
- #define __RTMP_DEF_H__
-@@ -38,11 +38,12 @@
- //
- // Debug information verbosity: lower values indicate higher urgency
- //
--#define RT_DEBUG_ERROR KERN_ERR
--#define RT_DEBUG_WARN KERN_WARNING
--#define RT_DEBUG_TRACE KERN_NOTICE
--#define RT_DEBUG_INFO KERN_INFO
--#define RT_DEBUG_LOUD KERN_DEBUG
-+#define RT_DEBUG_OFF 0
-+#define RT_DEBUG_ERROR 1
-+#define RT_DEBUG_WARN 2
-+#define RT_DEBUG_TRACE 4
-+#define RT_DEBUG_INFO 8
-+#define RT_DEBUG_LOUD 16
-
- //
- // update the driver version number every time you release a new driver
-@@ -190,8 +191,8 @@
- #define HASH_TABLE_SIZE 256
- #define MAX_LEN_OF_MLME_BUFFER 1024
- #define MAX_FRAME_LEN 2338
--#define MAX_VIE_LEN 128 // New for WPA cipher suite variable IE sizes.
--#define MAX_MLME_HANDLER_MEMORY 20 //each them cantains MAX_LEN_OF_MLME_BUFFER size
-+#define MAX_VIE_LEN 257 // sum of WPAx IEs
-+#define MAX_MLME_HANDLER_MEMORY 20 //each them cantains MAX_LEN_OF_MLME_BUFFER size
- #define MAX_INI_BUFFER_SIZE 1024
-
- #define MAX_TX_POWER_LEVEL 100 /* mW */
-@@ -265,7 +266,7 @@
- #define MLME_SUCCESS 0
- #define MLME_UNSPECIFY_FAIL 1
- #define MLME_CANNOT_SUPPORT_CAP 10
--#define MLME_REASSOC_DENY_ASSOC_EXIST 11
-+#define MLME_REASSOC_DENY_ASSOC_EXIST 11
- #define MLME_ASSOC_DENY_OUT_SCOPE 12
- #define MLME_ALG_NOT_SUPPORT 13
- #define MLME_SEQ_NR_OUT_OF_SEQUENCE 14
-@@ -317,7 +318,7 @@
-
- #define MT2_MLME_ASSOC_REQ 0
- #define MT2_MLME_REASSOC_REQ 1
--#define MT2_MLME_DISASSOC_REQ 2
-+#define MT2_MLME_DISASSOC_REQ 2
- #define MT2_PEER_DISASSOC_REQ 3
- #define MT2_PEER_ASSOC_REQ 4
- #define MT2_PEER_ASSOC_RSP 5
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_info.c rt2500-cvs-2007061011/Module/rtmp_info.c
---- rt2500-1.1.0-b4/Module/rtmp_info.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_info.c 2007-05-31 22:45:43.000000000 +0200
-@@ -1,49 +1,50 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_info.c
-- *
-- * Abstract: IOCTL related subroutines
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * RoryC 3rd Jan 03 Initial code
-- * MarkW 8th Dec 04 Baseline code
-+ *
-+ * Abstract: IOCTL related subroutines
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * RoryC 3rd Jan 03 Initial code
-+ * MarkW 8th Dec 04 Baseline code
- * RobinC 10th Dec 04 RFMON Support
-- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-+ * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
- * MarkW 15th Dec 04 Removed debug iwpriv
- * RobinC 16th Dec 04 Fix for range values
- * RobinC 16th Dec 04 support ifpreup scripts
- * RobinC 17th Dec 04 Link Quality reporting
- * MarkW 17th Dec 04 iwconfig frequency fix
-- * MarkW 17th Dec 04 Monitor mode through iwconfig
-+ * MarkW 17th Dec 04 Monitor mode through iwconfig
- * MarkW 22nd Dec 04 RSSI reporting for iwlist scanning
- * MarkW 31st Jan 05 if pre-up fix for RaConfig
- * LuisCorreia 23rd Feb 05 fix unknown IOCTL's
- * MarkW 9th Mar 05 Quality reporting in scan for current
- * MarkW 9th Jun 05 Fix channel change for ADHOC mode
-- ***************************************************************************/
-+ * RomainB 31st Dec 06 RFMON getter
-+ ***************************************************************************/
-
- #include "rt_config.h"
- #include <net/iw_handler.h>
-@@ -154,7 +155,7 @@
- }
-
- struct iw_priv_args privtab[] = {
--{ RTPRIV_IOCTL_SET,
-+{ RTPRIV_IOCTL_SET,
- IW_PRIV_TYPE_CHAR | 1024, 0,
- "set"},
- { RTPRIV_IOCTL_BBP,
-@@ -166,9 +167,12 @@
- { RTPRIV_IOCTL_E2P,
- IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | 1024,
- "e2p"},
--{ RTPRIV_IOCTL_RFMONTX,
-- IW_PRIV_TYPE_INT | 2, IW_PRIV_TYPE_CHAR | sizeof (char),
-- "rfmontx"}
-+{ RTPRIV_IOCTL_SET_RFMONTX,
-+ IW_PRIV_TYPE_INT | 2, 0,
-+ "rfmontx"},
-+{ RTPRIV_IOCTL_GET_RFMONTX,
-+ 0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
-+ "get_rfmontx"}
- };
-
- static struct {
-@@ -198,6 +202,9 @@
- {"Key4", Set_Key4_Proc},
- {"WPAPSK", Set_WPAPSK_Proc},
- {"WPANONE", Set_WPANONE_Proc},
-+#ifdef RT2500_DBG
-+ {"Debug", Set_Debug_Proc},
-+#endif
-
- #ifdef RALINK_ATE
- {"ATE", Set_ATE_Proc }, // set ATE Mode to: STOP, TXCONT, TXCARR, TXFRAME, RXFRAME
-@@ -233,7 +240,13 @@
- u16 val;
- int i,chan;
-
-- DBGPRINT(RT_DEBUG_TRACE,"0. rtusb_ioctl_giwrange\n");
-+ //check if the interface is down
-+ if (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE)) {
-+ DBGPRINT(RT_DEBUG_TRACE, "INFO::Network is down!\n");
-+ return -ENETDOWN;
-+ }
-+
-+ DBGPRINT(RT_DEBUG_TRACE,"0. rt_ioctl_giwrange\n");
- data->length = sizeof(struct iw_range);
- memset(range, 0, sizeof(struct iw_range));
-
-@@ -266,7 +279,7 @@
- {
- range->freq[val].i = chan;
- MAP_CHANNEL_ID_TO_KHZ(range->freq[val].i, range->freq[val].m);
-- range->freq[val].m*=100;
-+ range->freq[val].m*=100;
- range->freq[val].e = 1;
- val++;
- }
-@@ -335,8 +348,8 @@
- char *this_char;
- char *value;
- int Status;
--
-- while ((this_char = strsep(&extra, ",")) != NULL)
-+
-+ while ((this_char = strsep(&extra, ",")) != NULL)
- {
- if (!*this_char)
- continue;
-@@ -349,8 +362,8 @@
-
- for (PRTMP_PRIVATE_SET_PROC = RTMP_PRIVATE_SUPPORT_PROC; PRTMP_PRIVATE_SET_PROC->name; PRTMP_PRIVATE_SET_PROC++)
- {
-- if (strcmp(this_char, PRTMP_PRIVATE_SET_PROC->name) == 0)
-- {
-+ if (strcmp(this_char, PRTMP_PRIVATE_SET_PROC->name) == 0)
-+ {
- if(!PRTMP_PRIVATE_SET_PROC->set_proc(pAdapter, value))
- { //FALSE:Set private failed then return Invalid argument
- Status = -EINVAL;
-@@ -382,6 +395,13 @@
- PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
- int Status = NDIS_STATUS_SUCCESS;
- BOOLEAN StateMachineTouched = FALSE;
-+
-+ //check if the interface is down
-+ if (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE)) {
-+ DBGPRINT(RT_DEBUG_TRACE, "INFO::Network is down!\n");
-+ return -ENETDOWN;
-+ }
-+
- if (RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS))
- return 0;
- if(!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_MLME_INITIALIZED))
-@@ -390,7 +410,7 @@
- Now = jiffies;
-
- if ((pAdapter->MediaState == NdisMediaStateConnected) &&
-- ((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
-+ ((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
- (pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK)) &&
- (pAdapter->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED)
- )
-@@ -413,15 +433,17 @@
- pAdapter->PortCfg.IgnoredScanNumber = 0;
- pAdapter->PortCfg.LastScanTime = Now;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_BSSID_LIST_SCAN,
-- 0,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_BSSID_LIST_SCAN,
-+ 0,
- NULL);
-
- Status = NDIS_STATUS_SUCCESS;
- StateMachineTouched = TRUE;
- }while(0);
-+ if(StateMachineTouched) // Upper layer sent a MLME-related operations
-+ MlmeHandler(pAdapter);
- return 0;
- }
- int
-@@ -437,7 +459,19 @@
- char *current_val;
- struct iw_event iwe;
-
-- for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
-+ //check if the interface is down
-+ if (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE)) {
-+ DBGPRINT(RT_DEBUG_TRACE, "INFO::Network is down!\n");
-+ return -ENETDOWN;
-+ }
-+ if (RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)){
-+ /*
-+ * Still scanning, indicate the caller should try again.
-+ */
-+ DBGPRINT(RT_DEBUG_TRACE, "%s: still scanning\n", __FUNCTION__);
-+ return -EAGAIN;
-+ }
-+ for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
- {
- if (current_ev >= end_buf)
- break;
-@@ -511,25 +545,25 @@
- iwe.u.qual.qual = pAdapter->Mlme.ChannelQuality;
- else
- iwe.u.qual.qual = 0;
-- iwe.u.qual.level = pAdapter->PortCfg.BssTab.BssEntry[i].Rssi - RSSI_TO_DBM_OFFSET; // signal level (dBm)
-+ iwe.u.qual.level = pAdapter->PortCfg.BssTab.BssEntry[i].Rssi - RSSI_TO_DBM_OFFSET; // signal level (dBm)
- iwe.u.qual.noise = pAdapter->PortCfg.BssTab.BssEntry[i].Noise;
-- //iwe.u.qual.noise = (pAdapter->PortCfg.LastR17Value > BBP_R17_DYNAMIC_UP_BOUND) ? BBP_R17_DYNAMIC_UP_BOUND : ((ULONG) pAdapter->PortCfg.LastR17Value); // // noise level (dBm)
-+ //iwe.u.qual.noise = (pAdapter->PortCfg.LastR17Value > BBP_R17_DYNAMIC_UP_BOUND) ? BBP_R17_DYNAMIC_UP_BOUND : ((ULONG) pAdapter->PortCfg.LastR17Value); // // noise level (dBm)
-
-- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_QUAL_LEN);
-+ current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_QUAL_LEN);
-
-
- //================================
- memset(&iwe, 0, sizeof(iwe));
- }
- data->length = current_ev - extra;
-- DBGPRINT(RT_DEBUG_TRACE,"rtusb_ioctl_giwscan. %d BSS returned\n",pAdapter->PortCfg.BssTab.BssNr);
-+ DBGPRINT(RT_DEBUG_TRACE,"rt_ioctl_giwscan. %d BSS returned\n",pAdapter->PortCfg.BssTab.BssNr);
- return 0;
- }
- #endif
- static const iw_handler rt_handler[] =
- {
- (iw_handler) NULL, /* SIOCSIWCOMMIT */
-- (iw_handler) NULL, /* SIOCGIWNAME 1 */
-+ (iw_handler) NULL, /* SIOCGIWNAME 1 */
- (iw_handler) NULL, /* SIOCSIWNWID */
- (iw_handler) NULL, /* SIOCGIWNWID */
- (iw_handler) NULL, /* SIOCSIWFREQ */
-@@ -641,9 +675,11 @@
- }
- break;
- case OID_802_11_BSSID_LIST_SCAN:
-+ if (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_MLME_INITIALIZED))
-+ break;
- Now = jiffies;
-- TxTotalCnt = pAdapter->DrsCounters.OneSecTxOkCount +
-- pAdapter->DrsCounters.OneSecTxRetryOkCount +
-+ TxTotalCnt = pAdapter->DrsCounters.OneSecTxOkCount +
-+ pAdapter->DrsCounters.OneSecTxRetryOkCount +
- pAdapter->DrsCounters.OneSecTxFailCount;
- DBGPRINT(RT_DEBUG_TRACE, "Set::OID_802_11_BSSID_LIST_SCAN, TxCnt = %d \n", TxTotalCnt);
- // For XP WZC, we will allow scan every 10 times, roughly 10 minutes.
-@@ -657,9 +693,9 @@
- pAdapter->PortCfg.IgnoredScanNumber++;
- break;
- }
--
-+
- if ((pAdapter->MediaState == NdisMediaStateConnected) &&
-- ((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
-+ ((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
- (pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK)) &&
- (pAdapter->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED)
- )
-@@ -682,10 +718,10 @@
- pAdapter->PortCfg.IgnoredScanNumber = 0;
- pAdapter->PortCfg.LastScanTime = Now;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_BSSID_LIST_SCAN,
-- 0,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_BSSID_LIST_SCAN,
-+ 0,
- NULL);
-
- Status = NDIS_STATUS_SUCCESS;
-@@ -710,13 +746,13 @@
- {
- MlmeRestartStateMachine(pAdapter);
- DBGPRINT(RT_DEBUG_TRACE, "!!! MLME busy, reset MLME state machine !!!\n");
-- }
-+ }
- // tell CNTL state machine to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by NDIS.
-- pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+ pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
- OID_802_11_SSID,
- sizeof(NDIS_802_11_SSID),
- (VOID *)pSsid
-@@ -746,11 +782,11 @@
-
- // tell CNTL state machine to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by NDIS.
-- pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+ pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_BSSID,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_BSSID,
- sizeof(NDIS_802_11_MAC_ADDRESS),
- (VOID *)&Bssid);
- Status = NDIS_STATUS_SUCCESS;
-@@ -906,7 +942,7 @@
- }
- break;
- case OID_802_11_AUTHENTICATION_MODE:
-- if (wrq->u.data.length != sizeof(NDIS_802_11_AUTHENTICATION_MODE))
-+ if (wrq->u.data.length != sizeof(NDIS_802_11_AUTHENTICATION_MODE))
- Status = -EINVAL;
- else
- {
-@@ -941,7 +977,7 @@
- Status = -EINVAL;
- break;
- }
-- if (BssType == Ndis802_11IBSS)
-+ if (BssType == Ndis802_11IBSS)
- {
- if (pAdapter->PortCfg.BssType != BSS_INDEP)
- {
-@@ -951,7 +987,7 @@
- pAdapter->PortCfg.BssType = BSS_INDEP;
- DBGPRINT(RT_DEBUG_TRACE, "Set::OID_802_11_INFRASTRUCTURE_MODE (AD-HOC)\n");
- }
-- else if (BssType == Ndis802_11Infrastructure)
-+ else if (BssType == Ndis802_11Infrastructure)
- {
- if (pAdapter->PortCfg.BssType != BSS_INFRA)
- {
-@@ -1028,7 +1064,7 @@
- break;
- }
- // save user's policy here, but not change PortCfg.Psm immediately
-- if (PowerMode == Ndis802_11PowerModeCAM)
-+ if (PowerMode == Ndis802_11PowerModeCAM)
- {
- // clear PSM bit immediately
- MlmeSetPsmBit(pAdapter, PWR_ACTIVE);
-@@ -1037,7 +1073,7 @@
- pAdapter->PortCfg.WindowsPowerMode = PowerMode;
- pAdapter->PortCfg.WindowsBatteryPowerMode = PowerMode;
- }
-- else if (PowerMode == Ndis802_11PowerModeMAX_PSP)
-+ else if (PowerMode == Ndis802_11PowerModeMAX_PSP)
- {
- // do NOT turn on PSM bit here, wait until MlmeCheckForPsmChange()
- // to exclude certain situations.
-@@ -1048,7 +1084,7 @@
- pAdapter->PortCfg.RecvDtim = TRUE; // FALSE;
- pAdapter->PortCfg.DefaultListenCount = 5;
- }
-- else if (PowerMode == Ndis802_11PowerModeFast_PSP)
-+ else if (PowerMode == Ndis802_11PowerModeFast_PSP)
- {
- // do NOT turn on PSM bit here, wait until MlmeCheckForPsmChange()
- // to exclude certain situations.
-@@ -1236,6 +1272,8 @@
- Status = -EOPNOTSUPP;
- break;
- }
-+ if(StateMachineTouched) // Upper layer sent a MLME-related operations
-+ MlmeHandler(pAdapter);
-
- return Status;
- }
-@@ -1305,8 +1343,8 @@
- DBGPRINT(RT_DEBUG_TRACE, "Query::OID_802_11_BSSID_LIST (%d BSS returned)\n",pAdapter->PortCfg.BssTab.BssNr);
- // Claculate total buffer size required
- BssBufSize = sizeof(ULONG);
--
-- for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
-+
-+ for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
- {
- // Align pointer to 4 bytes boundary.
- Padding = 4 - (pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen & 0x0003);
-@@ -1328,13 +1366,13 @@
- memset(pBuf, 0, BssBufSize);
- pBssidList = (PNDIS_802_11_BSSID_LIST_EX) pBuf;
- pBssidList->NumberOfItems = pAdapter->PortCfg.BssTab.BssNr;
--
-+
- // Calculate total buffer length
- BssLen = 4; // Consist of NumberOfItems
- // Point to start of NDIS_WLAN_BSSID_EX
- // pPtr = pBuf + sizeof(ULONG);
- pPtr = (PUCHAR) &pBssidList->Bssid[0];
-- for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
-+ for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
- {
- pBss = (PNDIS_WLAN_BSSID_EX) pPtr;
- memcpy(&pBss->MacAddress, &pAdapter->PortCfg.BssTab.BssEntry[i].Bssid, ETH_ALEN);
-@@ -1348,7 +1386,7 @@
- memcpy(pBss->Ssid.Ssid, pAdapter->PortCfg.BssTab.BssEntry[i].Ssid, pAdapter->PortCfg.BssTab.BssEntry[i].SsidLen);
- }
- pBss->Privacy = pAdapter->PortCfg.BssTab.BssEntry[i].Privacy;
-- pBss->Rssi = pAdapter->PortCfg.BssTab.BssEntry[i].Rssi - pAdapter->PortCfg.RssiToDbm;
-+ pBss->Rssi = pAdapter->PortCfg.BssTab.BssEntry[i].Rssi - pAdapter->PortCfg.RssiToDbm;
- pBss->NetworkTypeInUse = Ndis802_11DS;
- pBss->Configuration.Length = sizeof(NDIS_802_11_CONFIGURATION);
- pBss->Configuration.BeaconPeriod = pAdapter->PortCfg.BssTab.BssEntry[i].BeaconPeriod;
-@@ -1356,7 +1394,7 @@
-
- MAP_CHANNEL_ID_TO_KHZ(pAdapter->PortCfg.BssTab.BssEntry[i].Channel, pBss->Configuration.DSConfig);
-
-- if (pAdapter->PortCfg.BssTab.BssEntry[i].BssType == BSS_INFRA)
-+ if (pAdapter->PortCfg.BssTab.BssEntry[i].BssType == BSS_INFRA)
- pBss->InfrastructureMode = Ndis802_11Infrastructure;
- else
- pBss->InfrastructureMode = Ndis802_11IBSS;
-@@ -1370,12 +1408,12 @@
- {
- pBss->IELength = sizeof(NDIS_802_11_FIXED_IEs);
- memcpy(pBss->IEs, &pAdapter->PortCfg.BssTab.BssEntry[i].FixIEs, sizeof(NDIS_802_11_FIXED_IEs));
-- pPtr = pPtr + sizeof(NDIS_WLAN_BSSID_EX) - 4 + sizeof(NDIS_802_11_FIXED_IEs);
-+ pPtr = pPtr + sizeof(NDIS_WLAN_BSSID_EX) - 1 + sizeof(NDIS_802_11_FIXED_IEs);
- }
- else
- {
- pBss->IELength = sizeof(NDIS_802_11_FIXED_IEs) + pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen;
-- pPtr = pPtr + sizeof(NDIS_WLAN_BSSID_EX) - 4 + sizeof(NDIS_802_11_FIXED_IEs);
-+ pPtr = pPtr + sizeof(NDIS_WLAN_BSSID_EX) - 1 + sizeof(NDIS_802_11_FIXED_IEs);
- memcpy(pBss->IEs, &pAdapter->PortCfg.BssTab.BssEntry[i].FixIEs, sizeof(NDIS_802_11_FIXED_IEs));
- memcpy(pPtr, pAdapter->PortCfg.BssTab.BssEntry[i].VarIEs, pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen);
- pPtr += pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen;
-@@ -1385,7 +1423,7 @@
- if (Padding == 4)
- Padding = 0;
- pPtr += Padding;
-- pBss->Length = sizeof(NDIS_WLAN_BSSID_EX) - 4 + sizeof(NDIS_802_11_FIXED_IEs) + pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen + Padding;
-+ pBss->Length = sizeof(NDIS_WLAN_BSSID_EX) - 1 + sizeof(NDIS_802_11_FIXED_IEs) + pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen + Padding;
- BssLen += pBss->Length;
- }
- wrq->u.data.length = BssLen;
-@@ -1451,11 +1489,11 @@
- wrq->u.data.length = sizeof(NDIS_802_11_CONFIGURATION);
- if(copy_to_user(wrq->u.data.pointer, &Configuration, wrq->u.data.length))
- Status = -EFAULT;
-- DBGPRINT(RT_DEBUG_TRACE, "Query::OID_802_11_CONFIGURATION(BeaconPeriod=%d,AtimW=%d,Channel=%d) \n",
-+ DBGPRINT(RT_DEBUG_TRACE, "Query::OID_802_11_CONFIGURATION(BeaconPeriod=%d,AtimW=%d,Channel=%d) \n",
- Configuration.BeaconPeriod, Configuration.ATIMWindow, pAdapter->PortCfg.Channel);
- break;
- case OID_802_11_RSSI:
-- ulInfo = pAdapter->PortCfg.LastRssi - pAdapter->PortCfg.RssiToDbm;
-+ ulInfo = pAdapter->PortCfg.LastRssi - pAdapter->PortCfg.RssiToDbm;
- wrq->u.data.length = sizeof(ulInfo);
- if(copy_to_user(wrq->u.data.pointer, &ulInfo, wrq->u.data.length))
- Status = -EFAULT;
-@@ -1484,7 +1522,7 @@
- Statistics.FrameDuplicateCount.QuadPart = pAdapter->WlanCounters.FrameDuplicateCount.QuadPart;
- Statistics.ReceivedFragmentCount.QuadPart = pAdapter->WlanCounters.ReceivedFragmentCount.QuadPart;
- Statistics.MulticastReceivedFrameCount.QuadPart = pAdapter->WlanCounters.MulticastReceivedFrameCount.QuadPart;
--#ifdef RT2500_DBG
-+#ifdef RT2500_DBG
- Statistics.FCSErrorCount = pAdapter->RalinkCounters.RealFcsErrCount;
- #else
- Statistics.FCSErrorCount.QuadPart = pAdapter->WlanCounters.FCSErrorCount.QuadPart;
-@@ -1611,8 +1649,8 @@
- }
-
- INT RT2500_ioctl(
-- IN struct net_device *net_dev,
-- IN OUT struct ifreq *rq,
-+ IN struct net_device *net_dev,
-+ IN OUT struct ifreq *rq,
- IN INT cmd)
- {
- PRTMP_ADAPTER pAdapter= net_dev->priv;
-@@ -1624,16 +1662,17 @@
- NDIS_802_11_RTS_THRESHOLD RtsThresh;
- NDIS_802_11_FRAGMENTATION_THRESHOLD FragThresh;
- NDIS_802_11_MAC_ADDRESS Bssid;
-- INT Status = NDIS_STATUS_SUCCESS;
-+ INT Status = NDIS_STATUS_SUCCESS;
- USHORT subcmd;
- BOOLEAN StateMachineTouched = FALSE;
- int i, chan = -1, index = 0, len = 0;
-+ ULONG Length;
-
-
- switch(cmd) {
- case SIOCGIWNAME:
- DBGPRINT(RT_DEBUG_TRACE, "IOCTL::SIOCGIWNAME\n");
-- strcpy(wrq->u.name, "RT2500 Wireless"); //Less then 16 bytes.
-+ strcpy(wrq->u.name, "RT2500 Wireless"); //Less then 16 bytes.
- break;
- case SIOCSIWESSID: //Set ESSID
- erq = &wrq->u.essid;
-@@ -1646,30 +1685,36 @@
- break;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
-+ Length = erq->length - 1; // minux null character.
-+#else
-+ Length = erq->length;
-+#endif
-+
- if(RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE))
- {
-- if (copy_from_user(Ssid.Ssid, erq->pointer, (erq->length - 1)))
-+ if (copy_from_user(Ssid.Ssid, erq->pointer, Length))
- {
- Status = -EFAULT;
- break;
- }
-- Ssid.SsidLength = erq->length - 1; //minus null character.
-+ Ssid.SsidLength = Length;
- }else{
- // This SEEMS to be needed to actual work RobinC when iface
- // is down
-- if (copy_from_user(pAdapter->PortCfg.Ssid, erq->pointer, (erq->length - 1)))
-+ if (copy_from_user(pAdapter->PortCfg.Ssid, erq->pointer, Length))
- {
- Status = -EFAULT;
- break;
- }
-- pAdapter->PortCfg.SsidLen = erq->length - 1; //minus null character.
-+ pAdapter->PortCfg.SsidLen = Length;
-
-- memcpy(pAdapter->Mlme.CntlAux.Ssid, pAdapter->PortCfg.Ssid, pAdapter->PortCfg.SsidLen);
-- pAdapter->Mlme.CntlAux.SsidLen = pAdapter->PortCfg.SsidLen;
-+ memcpy(pAdapter->Mlme.CntlAux.Ssid, pAdapter->PortCfg.Ssid, pAdapter->PortCfg.SsidLen);
-+ pAdapter->Mlme.CntlAux.SsidLen = pAdapter->PortCfg.SsidLen;
- }
- }
- else
-- Ssid.SsidLength = 0; // ANY ssid
-+ Ssid.SsidLength = 0; // ANY ssid
-
- pSsid = &Ssid;
-
-@@ -1686,10 +1731,10 @@
-
- // tell CNTL state machine to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by NDIS.
-- pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+ pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
- OID_802_11_SSID,
- sizeof(NDIS_802_11_SSID),
- (VOID *)pSsid
-@@ -1708,7 +1753,7 @@
- Status = -EFAULT;
- DBGPRINT(RT_DEBUG_TRACE, "ioctl::SIOCGIWESSID (Len=%d, ssid=%s...)\n", erq->length, pAdapter->PortCfg.Ssid);
- break;
-- case SIOCGIWNWID: // get network id
-+ case SIOCGIWNWID: // get network id
- Status = -EOPNOTSUPP;
- break;
- case SIOCSIWNWID: // set network id (the cell)
-@@ -1717,14 +1762,14 @@
- case SIOCSIWFREQ: // set channel/frequency (Hz)
- frq = &wrq->u.freq;
- if((frq->e == 0) && (frq->m <= 1000))
-- chan = frq->m; // Setting by channel number
-+ chan = frq->m; // Setting by channel number
- else
-- MAP_KHZ_TO_CHANNEL_ID( (frq->m /100) , chan); // Setting by frequency - search the table , like 2.412G, 2.422G,
-+ MAP_KHZ_TO_CHANNEL_ID( (frq->m /100) , chan); // Setting by frequency - search the table , like 2.412G, 2.422G,
- pAdapter->PortCfg.IbssConfig.Channel = chan;
- DBGPRINT(RT_DEBUG_TRACE, "ioctl::SIOCSIWFREQ[cmd=0x%x] (Channel=%d)\n", SIOCSIWFREQ, pAdapter->PortCfg.IbssConfig.Channel);
- if(RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE) && (pAdapter->PortCfg.BssType == BSS_MONITOR || pAdapter->PortCfg.BssType == BSS_INDEP))
- {
-- pAdapter->PortCfg.Channel = chan;
-+ pAdapter->PortCfg.Channel = chan;
- AsicSwitchChannel(pAdapter, pAdapter->PortCfg.Channel);
- AsicLockChannel(pAdapter, pAdapter->PortCfg.Channel);
- }
-@@ -1822,7 +1867,7 @@
- if(wrq->u.encoding.pointer)
- {
- wrq->u.encoding.length = pAdapter->PortCfg.SharedKey[index].KeyLen;
-- if(copy_to_user(wrq->u.encoding.pointer,
-+ if(copy_to_user(wrq->u.encoding.pointer,
- pAdapter->PortCfg.SharedKey[index].Key,
- pAdapter->PortCfg.SharedKey[index].KeyLen))
- Status = -EFAULT;
-@@ -1843,14 +1888,15 @@
- len = WEP_LARGE_KEY_LEN;
-
- memset(pAdapter->PortCfg.SharedKey[index].Key, 0x00, MAX_LEN_OF_KEY);
-- if(copy_from_user(pAdapter->PortCfg.SharedKey[index].Key,
-+ if(copy_from_user(pAdapter->PortCfg.SharedKey[index].Key,
- wrq->u.encoding.pointer, len)){
- Status = -EINVAL;
- break;
- }
- pAdapter->PortCfg.SharedKey[index].KeyLen = len <= WEP_SMALL_KEY_LEN ? WEP_SMALL_KEY_LEN : WEP_LARGE_KEY_LEN;
- }
-- pAdapter->PortCfg.DefaultKeyId = (UCHAR) index;
-+ else
-+ pAdapter->PortCfg.DefaultKeyId = (UCHAR) index;
- if (wrq->u.encoding.flags & IW_ENCODE_DISABLED)
- pAdapter->PortCfg.WepStatus = Ndis802_11WEPDisabled;
- else
-@@ -1858,7 +1904,7 @@
-
- if (wrq->u.encoding.flags & IW_ENCODE_RESTRICTED)
- pAdapter->PortCfg.AuthMode = Ndis802_11AuthModeShared;
-- if (wrq->u.encoding.flags & IW_ENCODE_OPEN)
-+ if (wrq->u.encoding.flags & IW_ENCODE_OPEN)
- pAdapter->PortCfg.AuthMode = Ndis802_11AuthModeOpen;
-
- if(pAdapter->PortCfg.WepStatus == Ndis802_11WEPDisabled)
-@@ -1905,11 +1951,11 @@
-
- // tell CNTL state machine to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by NDIS.
-- pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+ pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_BSSID,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_BSSID,
- sizeof(NDIS_802_11_MAC_ADDRESS),
- (VOID *)&Bssid);
- Status = NDIS_STATUS_SUCCESS;
-@@ -1928,13 +1974,13 @@
- BssType = Ndis802_11Infrastructure;
- wrq->u.mode = IW_MODE_INFRA;
- }
--#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
- else if (pAdapter->PortCfg.BssType == BSS_MONITOR)
- {
- BssType = Ndis802_11Monitor;
- wrq->u.mode = IW_MODE_MONITOR;
- }
--#endif
-+#endif
- else
- {
- BssType = Ndis802_11AutoUnknown;
-@@ -1963,7 +2009,7 @@
- pAdapter->PortCfg.BssType = BSS_INFRA;
- DBGPRINT(RT_DEBUG_TRACE, "ioctl::SIOCSIWMODE (INFRA)\n");
- }
--#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
- else if (wrq->u.mode == IW_MODE_MONITOR)
- {
- if (pAdapter->PortCfg.BssType != BSS_MONITOR)
-@@ -1974,7 +2020,7 @@
- pAdapter->PortCfg.BssType = BSS_MONITOR;
- DBGPRINT(RT_DEBUG_TRACE, "ioctl::SIOCSIWMODE (MONITOR)\n");
- }
--#endif
-+#endif
- else
- {
- Status = -ENOSYS;
-@@ -1999,7 +2045,7 @@
- }
- else
- {
-- pAdapter->net_dev->type = 1;
-+ pAdapter->net_dev->type = 1;
- RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x7e);
- }
- }
-@@ -2013,23 +2059,23 @@
- Status = -EOPNOTSUPP;
- break;
- case SIOCGIWTXPOW: //get transmit power (dBm)
--#if WIRELESS_EXT >= 17
-+#if WIRELESS_EXT >= 17
- // Krellan: Get TxPower in dBm now, not percentage
- {
- ULONG R3;
- UCHAR Channel = pAdapter->PortCfg.Channel;
--
-+
- // Krellan: This code comes from AsicSwitchChannel(),
- // as we must know the channel we are currently on,
- // in order to get the correct EEPROM-recommended
- // value to establish as 0 dBm.
-- if (Channel <= 14)
-+ if (Channel <= 14)
- R3 = pAdapter->PortCfg.ChannelTxPower[Channel - 1];
-- else
-+ else
- R3 = pAdapter->PortCfg.ChannelTxPower[0];
-
- if (R3 > 31) R3 = 31;
--
-+
- wrq->u.txpower.value = pAdapter->PortCfg.TxPowerDriver - R3;
- wrq->u.txpower.flags = IW_TXPOW_DBM;
- wrq->u.txpower.fixed = !(pAdapter->PortCfg.TxPowerAuto);
-@@ -2061,7 +2107,7 @@
- else
- {
- Value = wrq->u.txpower.value;
--
-+
- if (Value < MIN_TXPOWER_DBM || Value > MAX_TXPOWER_DBM)
- {
- Status = -EINVAL;
-@@ -2107,14 +2153,14 @@
- break;
-
- case RTPRIV_IOCTL_SET:
-- {
-+ {
- char *this_char;
- char *value;
-
- if( !access_ok(VERIFY_READ, wrq->u.data.pointer, wrq->u.data.length) )
- break;
-
-- while ((this_char = strsep((char**)&wrq->u.data.pointer, ",")) != NULL)
-+ while ((this_char = strsep((char**)&wrq->u.data.pointer, ",")) != NULL)
- {
- if (!*this_char)
- continue;
-@@ -2127,8 +2173,8 @@
-
- for (PRTMP_PRIVATE_SET_PROC = RTMP_PRIVATE_SUPPORT_PROC; PRTMP_PRIVATE_SET_PROC->name; PRTMP_PRIVATE_SET_PROC++)
- {
-- if (strcmp(this_char, PRTMP_PRIVATE_SET_PROC->name) == 0)
-- {
-+ if (strcmp(this_char, PRTMP_PRIVATE_SET_PROC->name) == 0)
-+ {
- if(!PRTMP_PRIVATE_SET_PROC->set_proc(pAdapter, value))
- { //FALSE:Set private failed then return Invalid argument
- Status = -EINVAL;
-@@ -2161,8 +2207,12 @@
- break;
- #endif
-
-- case RTPRIV_IOCTL_RFMONTX:
-- Status = RTMPIoctlRFMONTX(pAdapter, wrq);
-+ case RTPRIV_IOCTL_SET_RFMONTX:
-+ Status = RTMPIoctlSetRFMONTX(pAdapter, wrq);
-+ break;
-+
-+ case RTPRIV_IOCTL_GET_RFMONTX:
-+ Status = RTMPIoctlGetRFMONTX(pAdapter, wrq);
- break;
-
- default:
-@@ -2181,7 +2231,7 @@
- UCHAR BCAST[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
- /*
- ========================================================================
--
-+
- Routine Description:
- Add WPA key process
-
-@@ -2193,7 +2243,7 @@
- NDIS_SUCCESS Add key successfully
-
- Note:
--
-+
- ========================================================================
- */
- NDIS_STATUS RTMPWPAAddKeyProc(
-@@ -2228,7 +2278,7 @@
- // 1. KeyIdx must be 0, otherwise, return NDIS_STATUS_INVALID_DATA
- if (KeyIdx != 0)
- return(NDIS_STATUS_FAILURE);
--
-+
- // 2. Check bTx, it must be true, otherwise, return NDIS_STATUS_INVALID_DATA
- if (bTxKey == FALSE)
- return(NDIS_STATUS_FAILURE);
-@@ -2236,7 +2286,7 @@
- // 3. If BSSID is not all 0xff, return NDIS_STATUS_INVALID_DATA
- if (NdisEqualMemory(pKey->BSSID, BCAST, 6))
- return(NDIS_STATUS_FAILURE);
--
-+
- // 4. Selct RxMic / TxMic based on Supp / Authenticator
- if (pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPANone)
- {
-@@ -2277,16 +2327,16 @@
- // 6. Check RxTsc
- if (bKeyRSC == TRUE)
- {
-- memcpy(&pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc, &pKey->KeyRSC, 6);
-+ memcpy(&pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc, &pKey->KeyRSC, 6);
- }
- else
- {
-- memset(pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc, 0, 6);
-+ memset(pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc, 0, 6);
- }
-
- // 7. Copy information into Pairwise Key structure.
- // pKey->KeyLength will include TxMic and RxMic, therefore, we use 16 bytes hardcoded.
-- pAdapter->PortCfg.PairwiseKey[PairwiseIdx].KeyLen = 16;
-+ pAdapter->PortCfg.PairwiseKey[PairwiseIdx].KeyLen = 16;
- memcpy(pAdapter->PortCfg.PairwiseKey[PairwiseIdx].Key, &pKey->KeyMaterial, 16);
- memcpy(pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxMic, pRxMic, 8);
- memcpy(pAdapter->PortCfg.PairwiseKey[PairwiseIdx].TxMic, pTxMic, 8);
-@@ -2300,36 +2350,43 @@
- pAdapter->PortCfg.PairwiseKey[PairwiseIdx].TxTsc[5] = 0;
- Status = NDIS_STATUS_SUCCESS;
-
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Key = ");
-+#ifdef RT2500_DBG
-+ printk("Pairwise Key (Index-%d) = ", PairwiseIdx);
- for (i = 0; i < 16; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.PairwiseKey[PairwiseIdx].Key[i]);
-+ printk("%02x:",
-+ pAdapter->PortCfg.PairwiseKey[PairwiseIdx].Key[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Rx MIC Key = ");
-+ printk("\n");
-+ printk("PairwiseKey Rx MIC Key = ");
- for (i = 0; i < 8; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxMic[i]);
-+ printk("%02x:",
-+ pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxMic[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Tx MIC Key = ");
-+ printk("\n");
-+ printk("PairwiseKey Tx MIC Key = ");
- for (i = 0; i < 8; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.PairwiseKey[PairwiseIdx].TxMic[i]);
-+ printk("%02x:",
-+ pAdapter->PortCfg.PairwiseKey[PairwiseIdx].TxMic[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP RxTSC = ");
-+ printk("\n");
-+ printk("RxTSC = ");
- for (i = 0; i < 6; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc[i]);
-+ printk("%02x:",
-+ pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "BSSID:%02x:%02x:%02x:%02x:%02x:%02x \n",
-- pKey->BSSID[0],pKey->BSSID[1],pKey->BSSID[2],pKey->BSSID[3],pKey->BSSID[4],pKey->BSSID[5]);
--
-+ printk("\n");
-+ printk("BSSID:%02x:%02x:%02x:%02x:%02x:%02x \n",
-+ pKey->BSSID[0], pKey->BSSID[1], pKey->BSSID[2],
-+ pKey->BSSID[3], pKey->BSSID[4], pKey->BSSID[5]);
-+#endif
- }
- else // Group Key
- {
-+ DBGPRINT(RT_DEBUG_TRACE, "Ready to set Group key\n");
- // 1. Check BSSID, if not current BSSID or Bcast, return NDIS_STATUS_INVALID_DATA
- if ((!NdisEqualMemory(&pKey->BSSID, &BCAST, 6)) &&
- (!NdisEqualMemory(&pKey->BSSID, &pAdapter->PortCfg.Bssid, 6)))
-@@ -2374,7 +2431,7 @@
-
- // 6. Copy information into Group Key structure.
- // pKey->KeyLength will include TxMic and RxMic, therefore, we use 16 bytes hardcoded.
-- pAdapter->PortCfg.GroupKey[KeyIdx].KeyLen = 16;
-+ pAdapter->PortCfg.GroupKey[KeyIdx].KeyLen = 16;
- memcpy(pAdapter->PortCfg.GroupKey[KeyIdx].Key, &pKey->KeyMaterial, 16);
- memcpy(pAdapter->PortCfg.GroupKey[KeyIdx].RxMic, pRxMic, 8);
- memcpy(pAdapter->PortCfg.GroupKey[KeyIdx].TxMic, pTxMic, 8);
-@@ -2397,33 +2454,35 @@
- memcpy(pAdapter->PortCfg.SharedKey[KeyIdx].Key, &pKey->KeyMaterial, pKey->KeyLength);
- }
-
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Key = ");
-+#ifdef RT2500_DBG
-+ printk("GroupKey Key (Index-%d) = ", KeyIdx);
- for (i = 0; i < 16; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].Key[i]);
-+ printk("%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].Key[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Rx MIC Key = ");
-+ printk("\n");
-+ printk("GroupKey Rx MIC Key = ");
- for (i = 0; i < 8; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].RxMic[i]);
-+ printk("%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].RxMic[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Tx MIC Key = ");
-+ printk("\n");
-+ printk("GroupKey Tx MIC Key = ");
- for (i = 0; i < 8; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].TxMic[i]);
-+ printk("%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].TxMic[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP RxTSC = ");
-+ printk("\n");
-+ printk("RxTSC = ");
- for (i = 0; i < 6; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].RxTsc[i]);
-+ printk("%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].RxTsc[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "BSSID:%02x:%02x:%02x:%02x:%02x:%02x \n",
-- pKey->BSSID[0],pKey->BSSID[1],pKey->BSSID[2],pKey->BSSID[3],pKey->BSSID[4],pKey->BSSID[5]);
--
-+ printk("\n");
-+ printk("BSSID:%02x:%02x:%02x:%02x:%02x:%02x \n",
-+ pKey->BSSID[0], pKey->BSSID[1], pKey->BSSID[2],
-+ pKey->BSSID[3], pKey->BSSID[4], pKey->BSSID[5]);
-+#endif
- }
- return (Status);
- }
-@@ -2499,7 +2558,7 @@
- break;
- }
- }
--
-+
- }
- // c. If no pairwise supported, delete Group Key 0.
- // The will be false since we do support pairwise keys.
-@@ -2545,7 +2604,7 @@
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPWPARemoveAllKeys(
-@@ -2562,7 +2621,7 @@
- {
- pAdapter->PortCfg.PairwiseKey[i].KeyLen = 0;
- }
--
-+
- for (i = 0; i < GROUP_KEY_NO; i++)
- {
- pAdapter->PortCfg.GroupKey[i].KeyLen = 0;
-@@ -2578,7 +2637,7 @@
- Arguments:
- pAdapter Pointer to our adapter
- phmode
--
-+
- ========================================================================
- */
- VOID RTMPSetPhyMode(
-@@ -2586,7 +2645,7 @@
- IN ULONG phymode)
- {
- INT i;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"RTMPSetPhyMode(=%d)\n", phymode);
-
- // the selected phymode must be supported by the RF IC encoded in E2PROM
-@@ -2611,7 +2670,7 @@
- if (i == pAdapter->PortCfg.ChannelListNum)
- pAdapter->PortCfg.IbssConfig.Channel = FirstChannel(pAdapter);
- pAdapter->PortCfg.Channel = pAdapter->PortCfg.IbssConfig.Channel;
--
-+
- AsicSwitchChannel(pAdapter, pAdapter->PortCfg.Channel);
- AsicLockChannel(pAdapter, pAdapter->PortCfg.Channel);
-
-@@ -2859,7 +2918,7 @@
- // Changing DesiredRate may affect the MAX TX rate we used to TX frames out
- MlmeUpdateTxRates(pAdapter, FALSE);
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Country Region
-@@ -2868,7 +2927,7 @@
- ==========================================================================
- */
- INT Set_CountryRegion_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG region;
-@@ -2886,7 +2945,7 @@
-
- return success;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set SSID
-@@ -2895,7 +2954,7 @@
- ==========================================================================
- */
- INT Set_SSID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- NDIS_802_11_SSID Ssid, *pSsid=NULL;
-@@ -2904,8 +2963,8 @@
-
-
- /* Protect against oops if net is down, this will not work with if-preup
-- use iwconfig properly */
-- printk("'iwpriv <dev> set essid' is deprecated, please use 'iwconfg <dev> essid' instead\n");
-+ use iwconfig properly */
-+ printk("'iwpriv <dev> set essid' is deprecated, please use 'iwconfg <dev> essid' instead\n");
- if(!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE))
- return FALSE;
-
-@@ -2916,8 +2975,8 @@
- Ssid.SsidLength = strlen(arg);
- pSsid = &Ssid;
-
--
--
-+
-+
- if (pAdapter->Mlme.CntlMachine.CurrState != CNTL_IDLE)
- {
- MlmeRestartStateMachine(pAdapter);
-@@ -2925,10 +2984,10 @@
- }
- // tell CNTL state machine to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by NDIS.
-- pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+ pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
- OID_802_11_SSID,
- sizeof(NDIS_802_11_SSID),
- (VOID *)pSsid);
-@@ -2944,7 +3003,7 @@
-
- return success;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Wireless Mode
-@@ -2953,26 +3012,24 @@
- ==========================================================================
- */
- INT Set_WirelessMode_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG WirelessMode;
- int success = TRUE;
-
- WirelessMode = simple_strtol(arg, 0, 10);
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_WirelessMode_Proc::(=%d)\n", WirelessMode);
-
- if ((WirelessMode == PHY_11BG_MIXED) || (WirelessMode == PHY_11B) ||
- (WirelessMode == PHY_11A) || (WirelessMode == PHY_11ABG_MIXED))
-- {
- RTMPSetPhyMode(pAdapter, WirelessMode);
-- DBGPRINT(RT_DEBUG_TRACE, "Set_WirelessMode_Proc::(=%d)\n", WirelessMode);
-- }
- else
- success = FALSE;
-
- return success;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set TxRate
-@@ -2981,7 +3038,7 @@
- ==========================================================================
- */
- INT Set_TxRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG TxRate;
-@@ -2996,7 +3053,7 @@
- RTMPSetDesiredRates(pAdapter, (LONG) (rate_mapping[TxRate-1] * 1000000));
- return success;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set AdhocMode support Rate can or can not exceed 11Mbps against WiFi spec.
-@@ -3005,7 +3062,7 @@
- ==========================================================================
- */
- INT Set_AdhocModeRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG AdhocMode;
-@@ -3017,13 +3074,13 @@
- else if (AdhocMode == 0)
- pAdapter->PortCfg.AdhocMode = 0;
- else
-- return FALSE; //Invalid argument
-+ return FALSE; //Invalid argument
-
- DBGPRINT(RT_DEBUG_TRACE, "Set_AdhocModeRate_Proc::(AdhocMode=%d)\n", pAdapter->PortCfg.AdhocMode);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Channel
-@@ -3032,7 +3089,7 @@
- ==========================================================================
- */
- INT Set_Channel_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- int success = TRUE;
-@@ -3051,7 +3108,32 @@
-
- return success;
- }
--/*
-+/*
-+ ==========================================================================
-+ Description:
-+ For Debug information
-+ Return:
-+ TRUE if all parameters are OK, FALSE otherwise
-+ ==========================================================================
-+*/
-+#ifdef RT2500_DBG
-+INT Set_Debug_Proc(
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PUCHAR arg)
-+
-+{
-+ DBGPRINT(RT_DEBUG_TRACE, "**************************************************************\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "==> Set_Debug_Proc arg=%s\n", arg);
-+ //To do here.
-+
-+ rt2500_setdbg(simple_strtoul(arg, 0, 0));
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "<== Set_Debug_Proc\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "**************************************************************\n");
-+ return TRUE;
-+}
-+#endif
-+/*
- ==========================================================================
- Description:
- Set 11B/11G Protection
-@@ -3060,7 +3142,7 @@
- ==========================================================================
- */
- INT Set_BGProtection_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
-
- {
-@@ -3074,15 +3156,15 @@
- break;
- case 2: //Always OFF
- pAdapter->PortCfg.UseBGProtection = 2;
-- break;
-- default: //Invalid argument
-+ break;
-+ default: //Invalid argument
- return FALSE;
- }
- DBGPRINT(RT_DEBUG_TRACE, "Set_BGProtection_Proc::(BGProtection=%d)\n", pAdapter->PortCfg.UseBGProtection);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set StaWithEtherBridge function on/off
-@@ -3091,7 +3173,7 @@
- ==========================================================================
- */
- INT Set_StaWithEtherBridge_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
-
- {
-@@ -3103,14 +3185,14 @@
- case 1: //On
- pAdapter->PortCfg.StaWithEtherBridge.Enable = TRUE;
- break;
-- default: //Invalid argument
-+ default: //Invalid argument
- return FALSE;
- }
- DBGPRINT(RT_DEBUG_TRACE, "Set_StaWithEtherBridge_Proc::(StaWithEtherBridge=%d)\n", pAdapter->PortCfg.StaWithEtherBridge.Enable);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set TxPreamble
-@@ -3119,7 +3201,7 @@
- ==========================================================================
- */
- INT Set_TxPreamble_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- RT_802_11_PREAMBLE Preamble;
-@@ -3138,7 +3220,7 @@
- pAdapter->PortCfg.WindowsTxPreamble = Preamble;
- MlmeSetTxPreamble(pAdapter, Rt802_11PreambleLong);
- break;
-- default: //Invalid argument
-+ default: //Invalid argument
- return FALSE;
- }
-
-@@ -3146,7 +3228,7 @@
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set RTS Threshold
-@@ -3155,15 +3237,15 @@
- ==========================================================================
- */
- INT Set_RTSThreshold_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
--
--
-+
-+
- {
- NDIS_802_11_RTS_THRESHOLD RtsThresh;
-
-- printk("'iwpriv <dev> set RTSThreshold' is deprecated, please use 'iwconfg <dev> rts' instead\n");
--
-+ printk("'iwpriv <dev> set RTSThreshold' is deprecated, please use 'iwconfg <dev> rts' instead\n");
-+
- RtsThresh = simple_strtol(arg, 0, 10);
-
- if((RtsThresh > 0) && (RtsThresh <= MAX_RTS_THRESHOLD))
-@@ -3176,7 +3258,7 @@
- DBGPRINT(RT_DEBUG_TRACE, "Set_RTSThreshold_Proc::(RTSThreshold=%d)\n", pAdapter->PortCfg.RtsThreshold);
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Fragment Threshold
-@@ -3185,14 +3267,14 @@
- ==========================================================================
- */
- INT Set_FragThreshold_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- NDIS_802_11_FRAGMENTATION_THRESHOLD FragThresh;
-
-- printk("'iwpriv <dev> set FragThreshold' is deprecated, please use 'iwconfg <dev> frag' instead\n");
--
--
-+ printk("'iwpriv <dev> set FragThreshold' is deprecated, please use 'iwconfg <dev> frag' instead\n");
-+
-+
- FragThresh = simple_strtol(arg, 0, 10);
-
- if ( (FragThresh >= MIN_FRAG_THRESHOLD) && (FragThresh <= MAX_FRAG_THRESHOLD))
-@@ -3200,7 +3282,7 @@
- else if (FragThresh == 0)
- pAdapter->PortCfg.FragmentThreshold = MAX_FRAG_THRESHOLD;
- else
-- return FALSE; //Invalid argument
-+ return FALSE; //Invalid argument
-
- if (pAdapter->PortCfg.FragmentThreshold == MAX_FRAG_THRESHOLD)
- pAdapter->PortCfg.bFragmentZeroDisable = TRUE;
-@@ -3211,7 +3293,7 @@
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set TxBurst
-@@ -3220,7 +3302,7 @@
- ==========================================================================
- */
- INT Set_TxBurst_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG TxBurst;
-@@ -3232,13 +3314,13 @@
- else if (TxBurst == 0)
- pAdapter->PortCfg.EnableTxBurst = FALSE;
- else
-- return FALSE; //Invalid argument
--
-+ return FALSE; //Invalid argument
-+
- DBGPRINT(RT_DEBUG_TRACE, "Set_TxBurst_Proc::(TxBurst=%d)\n", pAdapter->PortCfg.EnableTxBurst);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set TurboRate Enable or Disable
-@@ -3247,7 +3329,7 @@
- ==========================================================================
- */
- INT Set_TurboRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG TurboRate;
-@@ -3259,13 +3341,13 @@
- else if (TurboRate == 0)
- pAdapter->PortCfg.EnableTurboRate = FALSE;
- else
-- return FALSE; //Invalid argument
--
-+ return FALSE; //Invalid argument
-+
- DBGPRINT(RT_DEBUG_TRACE, "Set_TurboRate_Proc::(TurboRate=%d)\n", pAdapter->PortCfg.EnableTurboRate);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Short Slot Time Enable or Disable
-@@ -3274,7 +3356,7 @@
- ==========================================================================
- */
- INT Set_ShortSlot_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG ShortSlot;
-@@ -3286,14 +3368,14 @@
- else if (ShortSlot == 0)
- pAdapter->PortCfg.UseShortSlotTime = FALSE;
- else
-- return FALSE; //Invalid argument
-+ return FALSE; //Invalid argument
-
- DBGPRINT(RT_DEBUG_TRACE, "Set_ShortSlot_Proc::(ShortSlot=%d)\n", pAdapter->PortCfg.UseShortSlotTime);
-
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set Network Type(Infrastructure/Adhoc mode)
-@@ -3302,17 +3384,17 @@
- ==========================================================================
- */
- INT Set_NetworkType_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
-
-- printk("'iwpriv <dev> set NetworkType' is deprecated, please use 'iwconfg <dev> mode' instead\n");
--
-+ printk("'iwpriv <dev> set NetworkType' is deprecated, please use 'iwconfg <dev> mode' instead\n");
-+
- if (strcmp(arg, "Adhoc") == 0)
- pAdapter->PortCfg.BssType = BSS_INDEP;
- else //Default Infrastructure mode
- pAdapter->PortCfg.BssType = BSS_INFRA;
--
-+
- // Reset Ralink supplicant to not use, it will be set to start when UI set PMK key
- pAdapter->PortCfg.WpaState = SS_NOTUSE;
-
-@@ -3321,7 +3403,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set Authentication mode
-@@ -3330,7 +3412,7 @@
- ==========================================================================
- */
- INT Set_AuthMode_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- if ((strcmp(arg, "OPEN") == 0) || (strcmp(arg, "open") == 0))
-@@ -3344,7 +3426,7 @@
- else if ((strcmp(arg, "WPANONE") == 0) || (strcmp(arg, "wpanone") == 0))
- pAdapter->PortCfg.AuthMode = Ndis802_11AuthModeWPANone;
- else
-- return FALSE;
-+ return FALSE;
-
- pAdapter->PortCfg.PortSecured = WPA_802_1X_PORT_NOT_SECURED;
-
-@@ -3353,7 +3435,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set Encryption Type
-@@ -3362,7 +3444,7 @@
- ==========================================================================
- */
- INT Set_EncrypType_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- if ((strcmp(arg, "NONE") == 0) || (strcmp(arg, "none") == 0))
-@@ -3380,7 +3462,7 @@
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Default Key ID
-@@ -3389,24 +3471,24 @@
- ==========================================================================
- */
- INT Set_DefaultKeyID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG KeyIdx;
--
-- printk("'iwpriv <dev> set DefaultKeyID' is deprecated, please use 'iwconfg <dev> key' instead\n");
--
-+
-+ printk("'iwpriv <dev> set DefaultKeyID' is deprecated, please use 'iwconfg <dev> key' instead\n");
-+
- KeyIdx = simple_strtol(arg, 0, 10);
- if((KeyIdx >= 1 ) && (KeyIdx <= 4))
- pAdapter->PortCfg.DefaultKeyId = (UCHAR) (KeyIdx - 1 );
- else
-- return FALSE; //Invalid argument
-+ return FALSE; //Invalid argument
-
- DBGPRINT(RT_DEBUG_TRACE, "Set_DefaultKeyID_Proc::(DefaultKeyID=%d)\n", pAdapter->PortCfg.DefaultKeyId);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set WEP KEY1
-@@ -3415,22 +3497,22 @@
- ==========================================================================
- */
- INT Set_Key1_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- int KeyLen;
- int i;
-
-- printk("'iwpriv <dev> set Key1' is deprecated, please use 'iwconfg <dev> key [1] ' instead\n");
--
-+ printk("'iwpriv <dev> set Key1' is deprecated, please use 'iwconfg <dev> key [1] ' instead\n");
-+
- KeyLen = strlen(arg);
-
- switch (KeyLen)
- {
- case 5: //wep 40 Ascii type
- pAdapter->PortCfg.SharedKey[0].KeyLen = KeyLen;
-- memcpy(pAdapter->PortCfg.SharedKey[0].Key, arg, KeyLen);
-- DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Ascii");
-+ memcpy(pAdapter->PortCfg.SharedKey[0].Key, arg, KeyLen);
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Ascii");
- break;
- case 10: //wep 40 Hex type
- for(i=0; i < KeyLen; i++)
-@@ -3440,12 +3522,12 @@
- }
- pAdapter->PortCfg.SharedKey[0].KeyLen = KeyLen / 2 ;
- AtoH(arg, pAdapter->PortCfg.SharedKey[0].Key, KeyLen / 2);
-- DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Hex");
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Hex");
- break;
- case 13: //wep 104 Ascii type
- pAdapter->PortCfg.SharedKey[0].KeyLen = KeyLen;
-- memcpy(pAdapter->PortCfg.SharedKey[0].Key, arg, KeyLen);
-- DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Ascii");
-+ memcpy(pAdapter->PortCfg.SharedKey[0].Key, arg, KeyLen);
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Ascii");
- break;
- case 26: //wep 104 Hex type
- for(i=0; i < KeyLen; i++)
-@@ -3455,16 +3537,16 @@
- }
- pAdapter->PortCfg.SharedKey[0].KeyLen = KeyLen / 2 ;
- AtoH(arg, pAdapter->PortCfg.SharedKey[0].Key, KeyLen / 2);
-- DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Hex");
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Hex");
- break;
-- default: //Invalid argument
-- DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::Invalid argument (=%s)\n", arg);
-+ default: //Invalid argument
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::Invalid argument (=%s)\n", arg);
- return FALSE;
- }
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set WEP KEY2
-@@ -3473,15 +3555,15 @@
- ==========================================================================
- */
- INT Set_Key2_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- int KeyLen;
- int i;
-
-- printk("'iwpriv <dev> set Key2' is deprecated, please use 'iwconfg <dev> key [2] ' instead\n");
-+ printk("'iwpriv <dev> set Key2' is deprecated, please use 'iwconfg <dev> key [2] ' instead\n");
-+
-
--
- KeyLen = strlen(arg);
-
- switch (KeyLen)
-@@ -3503,7 +3585,7 @@
- break;
- case 13: //wep 104 Ascii type
- pAdapter->PortCfg.SharedKey[1].KeyLen = KeyLen;
-- memcpy(pAdapter->PortCfg.SharedKey[1].Key, arg, KeyLen);
-+ memcpy(pAdapter->PortCfg.SharedKey[1].Key, arg, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key2_Proc::(Key2=%s and type=%s)\n", arg, "Ascii");
- break;
- case 26: //wep 104 Hex type
-@@ -3516,14 +3598,14 @@
- AtoH(arg, pAdapter->PortCfg.SharedKey[1].Key, KeyLen / 2);
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key2_Proc::(Key2=%s and type=%s)\n", arg, "Hex");
- break;
-- default: //Invalid argument
-+ default: //Invalid argument
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key2_Proc::Invalid argument (=%s)\n", arg);
- return FALSE;
- }
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set WEP KEY3
-@@ -3532,13 +3614,13 @@
- ==========================================================================
- */
- INT Set_Key3_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- int KeyLen;
- int i;
-
-- printk("'iwpriv <dev> set Key3' is deprecated, please use 'iwconfg <dev> key [3] ' instead\n");
-+ printk("'iwpriv <dev> set Key3' is deprecated, please use 'iwconfg <dev> key [3] ' instead\n");
-
- KeyLen = strlen(arg);
-
-@@ -3574,14 +3656,14 @@
- AtoH(arg, pAdapter->PortCfg.SharedKey[2].Key, KeyLen / 2);
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key3_Proc::(Key3=%s and type=%s)\n", arg, "Hex");
- break;
-- default: //Invalid argument
-+ default: //Invalid argument
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key3_Proc::Invalid argument (=%s)\n", arg);
- return FALSE;
- }
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set WEP KEY4
-@@ -3590,21 +3672,21 @@
- ==========================================================================
- */
- INT Set_Key4_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- int KeyLen;
- int i;
-
-- printk("'iwpriv <dev> set Key4' is deprecated, please use 'iwconfg <dev> key [4] ' instead\n");
--
-+ printk("'iwpriv <dev> set Key4' is deprecated, please use 'iwconfg <dev> key [4] ' instead\n");
-+
- KeyLen = strlen(arg);
-
- switch (KeyLen)
- {
- case 5: //wep 40 Ascii type
- pAdapter->PortCfg.SharedKey[3].KeyLen = KeyLen;
-- memcpy(pAdapter->PortCfg.SharedKey[3].Key, arg, KeyLen);
-+ memcpy(pAdapter->PortCfg.SharedKey[3].Key, arg, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key4_Proc::(Key4=%s and type=%s)\n", arg, "Ascii");
- break;
- case 10: //wep 40 Hex type
-@@ -3632,14 +3714,14 @@
- AtoH(arg, pAdapter->PortCfg.SharedKey[3].Key, KeyLen / 2);
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key4_Proc::(Key4=%s and type=%s)\n", arg, "Hex");
- break;
-- default: //Invalid argument
-+ default: //Invalid argument
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key4_Proc::Invalid argument (=%s)\n", arg);
- return FALSE;
- }
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set WPA PSK key
-@@ -3648,7 +3730,7 @@
- ==========================================================================
- */
- INT Set_WPAPSK_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- UCHAR keyMaterial[40];
-@@ -3670,16 +3752,16 @@
-
- memcpy(&pAdapter->PortCfg.PskKey.Key, &keyMaterial, 32);
- }
--
-+
- // Use RaConfig as PSK agent.
- // Start STA supplicant state machine
- pAdapter->PortCfg.WpaState = SS_START;
--
-+
- return TRUE;
- }
-
-
--/*
-+/*
- ==========================================================================
- Description:
- Set WPA NONE key
-@@ -3689,7 +3771,7 @@
- */
-
- INT Set_WPANONE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- UCHAR keyMaterial[40];
-@@ -3700,17 +3782,17 @@
- DBGPRINT(RT_DEBUG_TRACE, "Set failed!!(WPANONE=%s), WPANONE key-string required 8 ~ 64 characters \n", arg);
- return FALSE;
- }
--
-+
- if (strlen(arg) == 64)
- {
-- AtoH(arg, pAdapter->PortCfg.PskKey.Key, 32);
-+ AtoH(arg, keyMaterial, 32);
- }
- else
- {
- PasswordHash((char *)arg, pAdapter->Mlme.CntlAux.Ssid, pAdapter->Mlme.CntlAux.SsidLen, keyMaterial);
--
-- memcpy(pAdapter->PortCfg.PskKey.Key, keyMaterial, 32);
- }
-+ memcpy(pAdapter->PortCfg.PskKey.Key, keyMaterial, 32);
-+
- // Use RaConfig as PSK agent.
- // Start STA supplicant state machine
- pAdapter->PortCfg.WpaState = SS_START;
-@@ -3718,7 +3800,7 @@
- //-----------------------------------------------------------------------------
- // pasted from "RTMPWPAAddKeyProc(...)"
- // major on Group Key only.
--
-+
- // Group Key
- {
- // 3. Set as default Tx Key if bTxKey is TRUE
-@@ -3733,10 +3815,10 @@
-
- // 6. Copy information into Group Key structure.
- // pKey->KeyLength will include TxMic and RxMic, therefore, we use 16 bytes hardcoded.
-- pAdapter->PortCfg.GroupKey[0].KeyLen = 16;
-- memcpy(pAdapter->PortCfg.GroupKey[0].Key, (PUCHAR)(keyMaterial) + 0, 16);
-- memcpy(pAdapter->PortCfg.GroupKey[0].RxMic, (PUCHAR)(keyMaterial) + 16, 8);
-- memcpy(pAdapter->PortCfg.GroupKey[0].TxMic, (PUCHAR)(keyMaterial) + 16, 8);
-+ pAdapter->PortCfg.GroupKey[0].KeyLen = 16;
-+ memcpy(pAdapter->PortCfg.GroupKey[0].Key, &keyMaterial[0], 16);
-+ memcpy(pAdapter->PortCfg.GroupKey[0].RxMic, &keyMaterial[16], 8);
-+ memcpy(pAdapter->PortCfg.GroupKey[0].TxMic, &keyMaterial[16], 8);
- memcpy(pAdapter->PortCfg.GroupKey[0].BssId, &pAdapter->PortCfg.Bssid, 6);
-
- // Init TxTsc to one based on WiFi WPA specs
-@@ -3754,7 +3836,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Read / Write BBP
-@@ -3766,7 +3848,7 @@
- None
-
- Note:
-- Usage:
-+ Usage:
- 1.) iwpriv ra0 bbp ==> read all BBP
- 2.) iwpriv ra0 bbp 1,2,10,32 ==> raed BBP where ID=1,2,10,32
- 3.) iwpriv ra0 bbp 1=10,17=3E ==> write BBP R1=0x10, R17=0x3E
-@@ -3887,9 +3969,9 @@
- kfree(arg);
- }
-
--int RTMPIoctlRFMONTX(
-+int RTMPIoctlSetRFMONTX(
- IN PRTMP_ADAPTER pAdapter,
-- IN OUT struct iwreq *wrq)
-+ IN struct iwreq *wrq)
- {
- char *pvalue;
- char value;
-@@ -3898,7 +3980,7 @@
- {
- pvalue = wrq->u.data.pointer;
- value = *pvalue;
--
-+
- if (value == 1)
- {
- pAdapter->PortCfg.MallowRFMONTx = TRUE;
-@@ -3912,18 +3994,19 @@
- else return -EINVAL;
- }
-
-- /* Display the state. Use "value" to indicate it. */
-- value = pAdapter->PortCfg.MallowRFMONTx == TRUE ? '1'
-- : '0';
-- wrq->u.data.length = sizeof (char);
--
-- if (copy_to_user (wrq->u.data.pointer, &value, wrq->u.data.length))
-- DBGPRINT (RT_DEBUG_ERROR, "RTMPIoctlRFMONTX - copy to user failure.\n");
-+ return 0;
-+}
-
-+int RTMPIoctlGetRFMONTX(
-+ IN PRTMP_ADAPTER pAdapter,
-+ OUT struct iwreq *wrq)
-+{
-+ *(int *) wrq->u.name = pAdapter->PortCfg.MallowRFMONTx == TRUE ? 1 : 0;
- return 0;
-+
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Read / Write MAC
-@@ -3935,13 +4018,13 @@
- None
-
- Note:
-- Usage:
-+ Usage:
- 1.) iwpriv ra0 mac 0 ==> read MAC where Addr=0x0
- 2.) iwpriv ra0 mac 0=12 ==> write MAC where Addr=0x0, value=12
- ==========================================================================
- */
- VOID RTMPIoctlMAC(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN struct iwreq *wrq)
- {
- char *this_char;
-@@ -3996,7 +4079,7 @@
- {
- this_char[4-k+j] = this_char[j];
- }
--
-+
- while(k < 4)
- this_char[3-k++]='0';
- this_char[4]='\0';
-@@ -4061,7 +4144,7 @@
- {
- temp2[8-k+j] = temp2[j];
- }
--
-+
- while(k < 8)
- temp2[7-k++]='0';
- temp2[8]='\0';
-@@ -4074,7 +4157,7 @@
- macValue = *temp*256*256*256 + temp[1]*256*256 + temp[2]*256 + temp[3];
-
- DBGPRINT(RT_DEBUG_TRACE, "macAddr=%02x, macValue=0x%x\n", macAddr, macValue);
--
-+
- RTMP_IO_WRITE32(pAdapter, macAddr, macValue);
- sprintf(msg+strlen(msg), "[0x%02X]:%02X ", macAddr, macValue);
- count++;
-@@ -4093,7 +4176,7 @@
- wrq->u.data.length = strlen(msg);
- if(copy_to_user(wrq->u.data.pointer, msg, wrq->u.data.length))
- DBGPRINT(RT_DEBUG_ERROR, "RTMPIoctlMAC - copy to user failure.\n");
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "<==RTMPIoctlMAC\n");
-
- kfree(msg);
-@@ -4102,7 +4185,7 @@
-
- #ifdef RALINK_ATE
-
--/*
-+/*
- ==========================================================================
- Description:
- Read / Write E2PROM
-@@ -4114,13 +4197,13 @@
- None
-
- Note:
-- Usage:
-+ Usage:
- 1.) iwpriv ra0 e2p 0 ==> read E2PROM where Addr=0x0
- 2.) iwpriv ra0 e2p 0=1234 ==> write E2PROM where Addr=0x0, value=1234
- ==========================================================================
- */
- VOID RTMPIoctlE2PROM(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN struct iwreq *wrq)
- {
- char *this_char;
-@@ -4136,7 +4219,7 @@
-
- msg = kmalloc(1024, GFP_KERNEL);
- arg = kmalloc(255, GFP_KERNEL);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==>RTMPIoctlE2PROM\n");
- memset(msg, 0x00, 1024);
- memset(arg, 0x00, 255);
-@@ -4178,7 +4261,7 @@
- {
- this_char[4-k+j] = this_char[j];
- }
--
-+
- while(k < 4)
- this_char[3-k++]='0';
- this_char[4]='\0';
-@@ -4186,7 +4269,7 @@
- if(strlen(this_char) == 4)
- {
- AtoH(this_char, temp, 4);
-- eepAddr = *temp*256 + temp[1];
-+ eepAddr = *temp*256 + temp[1];
- if (eepAddr < 0xFFFF)
- {
- eepValue = RTMP_EEPROM_READ16(pAdapter, eepAddr);
-@@ -4243,7 +4326,7 @@
- {
- temp2[4-k+j] = temp2[j];
- }
--
-+
- while(k < 4)
- temp2[3-k++]='0';
- temp2[4]='\0';
-@@ -4255,7 +4338,7 @@
- eepValue = *temp*256 + temp[1];
-
- DBGPRINT(RT_DEBUG_TRACE, "eepAddr=%02x, eepValue=0x%x\n", eepAddr, eepValue);
--
-+
- RTMP_EEPROM_WRITE16(pAdapter, eepAddr, eepValue);
- sprintf(msg+strlen(msg), "[0x%02X]:%02X ", eepAddr, eepValue);
- count++;
-@@ -4269,18 +4352,19 @@
- if(strlen(msg) == 1)
- sprintf(msg+strlen(msg), "===>Error command format!");
-
-- // Copy the information into the user buffer
-- DBGPRINT(RT_DEBUG_TRACE, "copy to user [msg=%s]\n", *msg);
-+ // Copy the information into the user buffer
-+ DBGPRINT(RT_DEBUG_TRACE, "copy to user [msg=%s]\n", *msg);
- wrq->u.data.length = strlen(msg);
-- copy_to_user(wrq->u.data.pointer, msg, wrq->u.data.length);
--
-+ if (copy_to_user(wrq->u.data.pointer, msg, wrq->u.data.length))
-+ DBGPRINT(RT_DEBUG_ERROR, "RTMPIoctlE2PROM - copy to user failure.\n");
-+
- DBGPRINT(RT_DEBUG_TRACE, "<==RTMPIoctlE2PROM\n");
-
- kfree(msg);
- kfree(arg);
- }
-
--UCHAR TempletFrame[24] = {0x08,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xAA,0xBB,0x12,0x34,0x56,0x00,0x11,0x22,0xAA,0xBB,0xCC,0x00,0x00}; // 802.11 MAC Header, Type:Data, Length:24bytes
-+UCHAR TempletFrame[24] = {0x08,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xAA,0xBB,0x12,0x34,0x56,0x00,0x11,0x22,0xAA,0xBB,0xCC,0x00,0x00}; // 802.11 MAC Header, Type:Data, Length:24bytes
-
- /*
- ==========================================================================
-@@ -4297,7 +4381,7 @@
- ==========================================================================
- */
- INT Set_ATE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- USHORT BbpData;
-@@ -4305,7 +4389,7 @@
- PTXD_STRUC pTxD;
- PUCHAR pDest;
- UINT i, j;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_Proc (arg = %s)\n", arg);
-
- mdelay(5);
-@@ -4321,8 +4405,8 @@
- BbpData = 0;
- MacData &= 0xFBFFFFFF;
-
-- if (!strcmp(arg, "STASTOP"))
-- {
-+ if (!strcmp(arg, "STASTOP"))
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: STASTOP\n");
-
- RTMP_IO_WRITE32(pAdapter, MACCSR1, MacData);
-@@ -4333,11 +4417,11 @@
- LinkDown(pAdapter);
- AsicEnableBssSync(pAdapter);
- netif_stop_queue(pAdapter->net_dev);
-- RTMPStationStop(pAdapter);
-+ RTMPStationStop(pAdapter);
- RTMP_IO_WRITE32(pAdapter, RXCSR0, 0xffffffff); // Stop Rx
- }
-- else if (!strcmp(arg, "STASTART"))
-- {
-+ else if (!strcmp(arg, "STASTART"))
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: STASTART\n");
-
- RTMP_IO_WRITE32(pAdapter, MACCSR1, MacData);
-@@ -4350,9 +4434,9 @@
- RTMPStationStart(pAdapter);
- }
- else if (!strcmp(arg, "TXCONT")) // Continuous Tx
-- {
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: TXCONT\n");
--
-+
- pAdapter->ate.Mode = ATE_TXCONT;
-
- BbpData |= 0x80;
-@@ -4427,7 +4511,7 @@
- RTMP_IO_WRITE32(pAdapter, SECCSR1, 0x1);
- }
- else if (!strcmp(arg, "TXFRAME")) // Tx Frames --------------------------------------
-- {
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: TXFRAME(Count=%d)\n", pAdapter->ate.TxCount);
- pAdapter->ate.Mode = ATE_TXFRAME;
-
-@@ -4435,7 +4519,7 @@
- RTMP_BBP_IO_WRITE32_BY_REG_ID(pAdapter, 63, BbpData);
-
- pAdapter->ate.TxDoneCount = 0;
--
-+
- for (i = 0; (i < TX_RING_SIZE) && (i < pAdapter->ate.TxCount); i++)
- {
- pTxD = (PTXD_STRUC)pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
-@@ -4467,7 +4551,7 @@
- RTMP_IO_WRITE32(pAdapter, SECCSR1, 0x1);
- }
- else if (!strcmp(arg, "RXFRAME")) // Rx Frames --------------------------------------
-- {
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: RXFRAME\n");
-
- RTMP_IO_WRITE32(pAdapter, MACCSR1, MacData);
-@@ -4475,23 +4559,23 @@
-
- pAdapter->ate.Mode = ATE_RXFRAME;
- pAdapter->ate.TxDoneCount = pAdapter->ate.TxCount;
--
-+
- RTMP_IO_WRITE32(pAdapter, TXCSR0, 0x08); // Abort Tx
- RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x56); // Start Rx
- }
- else
-- {
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: Invalid arg!\n");
- return FALSE;
- }
-
- mdelay(5);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_Proc\n");
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE ADDR1=DA for TxFrames Return:
-@@ -4499,21 +4583,21 @@
- ==========================================================================
- */
- INT Set_ATE_DA_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- char *value;
- int i;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_DA_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- if(strlen(arg) != 17) //Mac address acceptable format 01:02:03:04:05:06 length 17
- return FALSE;
-
-- for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
-+ for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
- {
-- if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
-+ if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
- return FALSE; //Invalid
-
- AtoH(value, &pAdapter->ate.Addr1[i++], 2);
-@@ -4521,14 +4605,14 @@
-
- if(i != 6)
- return FALSE; //Invalid
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "DA=%2X:%2X:%2X:%2X:%2X:%2X\n", pAdapter->ate.Addr1[0], pAdapter->ate.Addr1[1], pAdapter->ate.Addr1[2], pAdapter->ate.Addr1[3], pAdapter->ate.Addr1[4], pAdapter->ate.Addr1[5]);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_DA_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE ADDR2=SA for TxFrames Return:
-@@ -4536,21 +4620,21 @@
- ==========================================================================
- */
- INT Set_ATE_SA_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- char *value;
- int i;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_SA_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- if(strlen(arg) != 17) //Mac address acceptable format 01:02:03:04:05:06 length 17
- return FALSE;
-
-- for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
-+ for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
- {
-- if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
-+ if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
- return FALSE; //Invalid
-
- AtoH(value, &pAdapter->ate.Addr2[i++], 2);
-@@ -4561,11 +4645,11 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "DA=%2X:%2X:%2X:%2X:%2X:%2X\n", pAdapter->ate.Addr2[0], pAdapter->ate.Addr2[1], pAdapter->ate.Addr2[2], pAdapter->ate.Addr2[3], pAdapter->ate.Addr2[4], pAdapter->ate.Addr2[5]);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_SA_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE ADDR3=BSSID for TxFrames Return:
-@@ -4573,21 +4657,21 @@
- ==========================================================================
- */
- INT Set_ATE_BSSID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- char *value;
- int i;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_BSSID_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- if(strlen(arg) != 17) //Mac address acceptable format 01:02:03:04:05:06 length 17
- return FALSE;
-
-- for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
-+ for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
- {
-- if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
-+ if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
- return FALSE; //Invalid
-
- AtoH(value, &pAdapter->ate.Addr3[i++], 2);
-@@ -4598,11 +4682,11 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "DA=%2X:%2X:%2X:%2X:%2X:%2X\n", pAdapter->ate.Addr3[0], pAdapter->ate.Addr3[1], pAdapter->ate.Addr3[2], pAdapter->ate.Addr3[3], pAdapter->ate.Addr3[4], pAdapter->ate.Addr3[5]);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_BSSID_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE Channel Return:
-@@ -4610,11 +4694,11 @@
- ==========================================================================
- */
- INT Set_ATE_CHANNEL_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_CHANNEL_Proc (arg = %s)\n", arg);
--
-+
- pAdapter->ate.Channel = simple_strtol(arg, 0, 10);
- if((pAdapter->ate.Channel < 1) || (pAdapter->ate.Channel > 14))
- {
-@@ -4623,11 +4707,11 @@
- }
-
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_CHANNEL_Proc (ATE Channel = %d)\n", pAdapter->ate.Channel);
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE Tx Power Return:
-@@ -4635,14 +4719,14 @@
- ==========================================================================
- */
- INT Set_ATE_TX_POWER_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG R3;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_TX_POWER_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- pAdapter->ate.TxPower = simple_strtol(arg, 0, 10);
-
- if(pAdapter->ate.TxPower >= 32)
-@@ -4659,11 +4743,11 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "TxPower = %d\n", pAdapter->ate.TxPower);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_TX_POWER_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE Tx Length Return:
-@@ -4671,12 +4755,12 @@
- ==========================================================================
- */
- INT Set_ATE_TX_LENGTH_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_TX_LENGTH_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- pAdapter->ate.TxLength = simple_strtol(arg, 0, 10);
-
- if((pAdapter->ate.TxLength < 24) || (pAdapter->ate.TxLength > 1500))
-@@ -4687,11 +4771,11 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "TxLength = %d\n", pAdapter->ate.TxLength);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_TX_LENGTH_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE Tx Count Return:
-@@ -4699,21 +4783,21 @@
- ==========================================================================
- */
- INT Set_ATE_TX_COUNT_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_TX_COUNT_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- pAdapter->ate.TxCount = simple_strtol(arg, 0, 10);
-
- DBGPRINT(RT_DEBUG_TRACE, "TxCount = %d\n", pAdapter->ate.TxCount);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_TX_COUNT_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE Tx Rate
-@@ -4722,12 +4806,12 @@
- ==========================================================================
- */
- INT Set_ATE_TX_RATE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_TX_RATE_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- pAdapter->ate.TxRate = simple_strtol(arg, 0, 10);
-
- if(pAdapter->ate.TxRate > RATE_54)
-@@ -4738,7 +4822,7 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "TxRate = %d\n", pAdapter->ate.TxRate);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_TX_RATE_Proc\n");
--
-+
- return TRUE;
- }
-
-@@ -4758,7 +4842,7 @@
- RTMPCancelTimer(&pAd->PortCfg.RfTuningTimer);
- if (pAd->PortCfg.LedMode == LED_MODE_TXRX_ACTIVITY)
- RTMPCancelTimer(&pAd->PortCfg.LedCntl.BlinkTimer);
-- RTMPCancelTimer(&pAd->PortCfg.RxAnt.RxAntDiversityTimer);
-+ RTMPCancelTimer(&pAd->PortCfg.RxAnt.RxAntDiversityTimer);
- DBGPRINT(RT_DEBUG_TRACE, "<== RTMPStationStop\n");
- }
-
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_init.c rt2500-cvs-2007061011/Module/rtmp_init.c
---- rt2500-1.1.0-b4/Module/rtmp_init.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_init.c 2007-05-06 11:13:43.000000000 +0200
-@@ -1,40 +1,40 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_init.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulL 1st Aug 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulL 1st Aug 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW (rt2400) 8th Dec 04 Promisc mode support
- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
- * LuisCorreia 15th Feb 05 Added Yann's patch for radio hw
- * MarkW 12th Jul 05 Disabled all but CAM Power modes
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -84,9 +84,9 @@
- // {PSCSR2, 0x00023f20}, // 0xd0
- {PSCSR2, 0x00020002}, // 0xd0
- {PSCSR3, 0x00000002}, // 0xd4
-- {TIMECSR, 0x00003f21}, // 0xDC, to slower down our 1-us tick
-+ {TIMECSR, 0x00003f21}, // 0xDC, to slower down our 1-us tick
- {CSR9, 0x00000780}, // 0x24
-- {CSR11, 0x07041483}, // 0x2C, lrc=7, src=4, slot=20us, CWmax=2^8, CWmax=2^3
-+ {CSR11, 0x07041483}, // 0x2C, lrc=7, src=4, slot=20us, CWmax=2^8, CWmax=2^3
- {CSR18, 0x00140000}, // SIFS=10us - TR switch time, PIFS=SIFS+20us
- {CSR19, 0x016C0028}, // DIFS=SIFS+2*20us, EIFS=364us
- {CNT3, 0x00000000}, // Backoff_CCA_Th, RX_&_TX_CCA_Th
-@@ -105,17 +105,17 @@
- {ARTCSR1, 0x1d21252d}, // 0x150, alexsu : OFDM ACK/CTS payload consumed time for 18/12/9/6 mbps
- {ARTCSR2, 0x1919191d}, // 0x154, alexsu : OFDM ACK/CTS payload consumed time for 54/48/36/24 mbps
-
-- {RXCSR0, 0xffffffff}, // 0x80
-+ {RXCSR0, 0xffffffff}, // 0x80
- {RXCSR3, 0xb3aab3af}, // 0x90. RT2530 BBP 51:RSSI, R42:OFDM rate, R47:CCK SIGNAL
- {PCICSR, 0x000003b8}, // 0x8c, alexsu : PCI control register
- {PWRCSR0, 0x3f3b3100}, // 0xC4
- {GPIOCSR, 0x0000ff00}, // 0x120, GPIO default value
- {TESTCSR, 0x000000f0}, // 0x138, Test CSR, make sure it's running at normal mode
-- {PWRCSR1, 0x000001ff}, // 0xd8
-+ {PWRCSR1, 0x000001ff}, // 0xd8
- {MACCSR0, 0x00213223}, // 0xE0, Enable Tx dribble mode - 2003/10/22:Gary
- {MACCSR1, 0x00235518}, // 0xE4, Disable Rx Reset, tx dribble count, 2x30x16 = 960n,
- {MACCSR2, 0x00000040}, // 0x0134, 64*33ns = 2us
-- {RALINKCSR, 0x9a009a11}, // 0xE8
-+ {RALINKCSR, 0x9a009a11}, // 0xE8
- {CSR7, 0xffffffff}, // 0x1C, Clear all pending interrupt source
- {LEDCSR, 0x00001E46}, // default both LEDs off
- {BBPCSR1, 0x82188200}, // for 2560+2522
-@@ -155,7 +155,7 @@
-
- DBGPRINT(RT_DEBUG_INFO, "--> RTMPAllocDMAMemory\n");
-
-- // 1. Allocate Tx Ring DMA descriptor and buffer memory
-+ // 1. Allocate Tx Ring DMA descriptor and buffer memory
- // Allocate Ring descriptors DMA block
- ring = pci_alloc_consistent(pAd->pPci_Dev, (TX_RING_SIZE * RING_DESCRIPTOR_SIZE), &ring_dma);
- if (!ring) {
-@@ -165,14 +165,14 @@
-
- // Zero init ring descriptors
- memset(ring, 0, (TX_RING_SIZE * RING_DESCRIPTOR_SIZE));
--
-+
- // Allocate Ring data DMA blocks
- ring_data = pci_alloc_consistent(pAd->pPci_Dev, (TX_RING_SIZE * TX_BUFFER_SIZE), &ring_data_dma);
--
-+
- // If failed, release ring descriptors DMA block & exit
- if (!ring_data) {
- pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * RING_DESCRIPTOR_SIZE), ring, ring_dma);
-- printk(KERN_ERR DRV_NAME "Could not allocate DMA ring buffer memory.\n");
-+ printk(KERN_ERR DRV_NAME "Could not allocate DMA ring buffer memory.\n");
- goto err_out_allocate_txring;
- }
-
-@@ -185,7 +185,7 @@
- pAd->TxRing[index].pa_addr = ring_dma;
- ring += RING_DESCRIPTOR_SIZE;
- ring_dma += RING_DESCRIPTOR_SIZE;
--
-+
- // Init Tx DMA buffer
- pAd->TxRing[index].data_size = TX_BUFFER_SIZE;
- pAd->TxRing[index].va_data_addr = ring_data;
-@@ -207,7 +207,7 @@
- index, (unsigned long)pAd->TxRing[index].va_data_addr, (UINT)pAd->TxRing[index].pa_data_addr, pAd->TxRing[index].data_size);
- }
-
-- // 2. Allocate Prio Ring DMA descriptor and buffer memory
-+ // 2. Allocate Prio Ring DMA descriptor and buffer memory
- // Allocate Ring descriptors DMA block
- ring = pci_alloc_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * RING_DESCRIPTOR_SIZE), &ring_dma);
- if (!ring) {
-@@ -224,7 +224,7 @@
- // If failed, release ring descriptors DMA block & exit
- if (!ring_data) {
- pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * RING_DESCRIPTOR_SIZE), ring, ring_dma);
-- DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
-+ DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
- goto err_out_allocate_prioring;
- }
-
-@@ -259,7 +259,7 @@
- index, (unsigned long)pAd->PrioRing[index].va_data_addr, (UINT)pAd->PrioRing[index].pa_data_addr, pAd->PrioRing[index].data_size);
- }
-
-- // 3. Allocate Atim Ring DMA descriptor and buffer memory
-+ // 3. Allocate Atim Ring DMA descriptor and buffer memory
- // Allocate Ring descriptors DMA block
- ring = pci_alloc_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * RING_DESCRIPTOR_SIZE), &ring_dma);
- if (!ring) {
-@@ -276,7 +276,7 @@
- // If failed, release ring descriptors DMA block & exit
- if (!ring_data) {
- pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * RING_DESCRIPTOR_SIZE), ring, ring_dma);
-- DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
-+ DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
- goto err_out_allocate_atimring;
- }
-
-@@ -328,7 +328,7 @@
- // If failed, release ring descriptors DMA block & exit
- if (!ring_data) {
- pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RING_DESCRIPTOR_SIZE), ring, ring_dma);
-- DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
-+ DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
- goto err_out_allocate_rxring;
- }
-
-@@ -386,7 +386,7 @@
- // If failed, release ring descriptors DMA block & exit
- if (!ring_data) {
- pci_free_consistent(pAd->pPci_Dev, RING_DESCRIPTOR_SIZE, ring, ring_dma);
-- DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
-+ DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
- goto err_out_allocate_beaconring;
- }
-
-@@ -418,28 +418,28 @@
-
- err_out_allocate_beaconring:
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RX_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RX_BUFFER_SIZE),
- pAd->RxRing[0].va_data_addr, pAd->RxRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->RxRing[0].va_addr, pAd->RxRing[0].pa_addr);
- err_out_allocate_rxring:
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * ATIM_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * ATIM_BUFFER_SIZE),
- pAd->AtimRing[0].va_data_addr, pAd->AtimRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->AtimRing[0].va_addr, pAd->AtimRing[0].pa_addr);
- err_out_allocate_atimring:
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * PRIO_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * PRIO_BUFFER_SIZE),
- pAd->PrioRing[0].va_data_addr, pAd->PrioRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->PrioRing[0].va_addr, pAd->PrioRing[0].pa_addr);
- err_out_allocate_prioring:
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * TX_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * TX_BUFFER_SIZE),
- pAd->TxRing[0].va_data_addr, pAd->TxRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * RING_DESCRIPTOR_SIZE),
-@@ -472,35 +472,35 @@
- DBGPRINT(RT_DEBUG_INFO, "--> RTMPFreeDMAMemory\n");
-
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * TX_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * TX_BUFFER_SIZE),
- pAd->TxRing[0].va_data_addr, pAd->TxRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->TxRing[0].va_addr, pAd->TxRing[0].pa_addr);
-
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * PRIO_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * PRIO_BUFFER_SIZE),
- pAd->PrioRing[0].va_data_addr, pAd->PrioRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->PrioRing[0].va_addr, pAd->PrioRing[0].pa_addr);
-
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * ATIM_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * ATIM_BUFFER_SIZE),
- pAd->AtimRing[0].va_data_addr, pAd->AtimRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->AtimRing[0].va_addr, pAd->AtimRing[0].pa_addr);
--
-+
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RX_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RX_BUFFER_SIZE),
- pAd->RxRing[0].va_data_addr, pAd->RxRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->RxRing[0].va_addr, pAd->RxRing[0].pa_addr);
-
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (BEACON_RING_SIZE * BEACON_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (BEACON_RING_SIZE * BEACON_BUFFER_SIZE),
- pAd->BeaconRing.va_data_addr, pAd->BeaconRing.pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (BEACON_RING_SIZE * RING_DESCRIPTOR_SIZE),
-@@ -582,7 +582,7 @@
- CSR4_STRUC StaMacReg1;
- NDIS_STATUS Status = NDIS_STATUS_SUCCESS;
-
-- //
-+ //
- // Read MAC address from CSR3 & CSR4, these CSRs reflects real value
- // stored with EEPROM.
- //
-@@ -618,7 +618,7 @@
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID NICReadEEPROMParameters(
-@@ -637,7 +637,7 @@
- RTMP_IO_READ32(pAdapter, CSR21, &data);
-
- if(data & 0x20)
-- pAdapter->EEPROMAddressNum = 6;
-+ pAdapter->EEPROMAddressNum = 6;
- else
- pAdapter->EEPROMAddressNum = 8;
-
-@@ -655,7 +655,7 @@
- for(i = 0; i < NUM_EEPROM_BBP_PARMS; i++)
- {
- value = RTMP_EEPROM_READ16(pAdapter, EEPROM_BBP_BASE_OFFSET + i*2);
--
-+
- pAdapter->EEPROMDefaultValue[i] = value;
- }
-
-@@ -707,13 +707,13 @@
- // Disable TxAgc if the value is not right
- if ((pAdapter->PortCfg.ChannelTssiRef[i * 2] == 0xff) ||
- (pAdapter->PortCfg.ChannelTssiRef[i * 2 + 1] == 0xff))
-- pAdapter->PortCfg.bAutoTxAgc = FALSE;
-+ pAdapter->PortCfg.bAutoTxAgc = FALSE;
- }
--
-+
- // Tx Tssi delta offset 0x24
- Power.word = RTMP_EEPROM_READ16(pAdapter, EEPROM_TSSI_DELTA_OFFSET);
- pAdapter->PortCfg.ChannelTssiDelta = Power.field.Byte0;
--
-+
- #endif
-
- //CountryRegion byte offset = 0x35
-@@ -734,11 +734,11 @@
- pAdapter->PortCfg.RssiToDbm = 0x79;
- }
- else
-- {
-+ {
- //pAdapter->PortCfg.R17Dec = 0x79 - Power.field.Byte0;
- pAdapter->PortCfg.RssiToDbm = Power.field.Byte0;
- }
--
-+
-
- DBGPRINT(RT_DEBUG_TRACE, "<-- NICReadEEPROMParameters\n");
- }
-@@ -769,11 +769,11 @@
- EEPROM_NIC_CONFIG2_STRUC NicConfig2;
-
- DBGPRINT(RT_DEBUG_TRACE, "--> NICInitAsicFromEEPROM\n");
--
-+
- for(i = 3; i < NUM_EEPROM_BBP_PARMS; i++)
- {
- value = pAdapter->EEPROMDefaultValue[i];
--
-+
- if((value != 0xFFFF) && (value != 0))
- {
- data = value | 0x18000;
-@@ -802,12 +802,12 @@
- // Tx antenna select
- if(Antenna.field.TxDefaultAntenna == 1) // Antenna A
- {
-- TxValue = (TxValue & 0xFC) | 0x00;
-+ TxValue = (TxValue & 0xFC) | 0x00;
- BbpCsr1 = (BbpCsr1 & 0xFFFCFFFC) | 0x00000000;
- }
- else if(Antenna.field.TxDefaultAntenna == 2) // Antenna B
- {
-- TxValue = (TxValue & 0xFC) | 0x02;
-+ TxValue = (TxValue & 0xFC) | 0x02;
- BbpCsr1 = (BbpCsr1 & 0xFFFCFFFC) | 0x00020002;
- }
- else // diverity - start from Antenna B
-@@ -818,12 +818,12 @@
-
- // Rx antenna select
- if(Antenna.field.RxDefaultAntenna == 1) // Antenna A
-- RxValue = (RxValue & 0xFC) | 0x00;
-+ RxValue = (RxValue & 0xFC) | 0x00;
- else if(Antenna.field.RxDefaultAntenna == 2) // Antenna B
-- RxValue = (RxValue & 0xFC) | 0x02;
-+ RxValue = (RxValue & 0xFC) | 0x02;
- else // Antenna Diversity
-- RxValue = (RxValue & 0xFC) | 0x02;
--
-+ RxValue = (RxValue & 0xFC) | 0x02;
-+
- // RT5222 needs special treatment to swap TX I/Q
- if (pAdapter->PortCfg.RfType == RFIC_5222)
- {
-@@ -831,13 +831,13 @@
- TxValue |= 0x04; // TX I/Q flip
- }
- // RT2525E need to flip TX I/Q but not RX I/Q
-- else if (pAdapter->PortCfg.RfType == RFIC_2525E)
-+ else if (pAdapter->PortCfg.RfType == RFIC_2525E)
- {
- BbpCsr1 |= 0x00040004;
- TxValue |= 0x04; // TX I/Q flip
- RxValue &= 0xfb; // RX I/Q no flip
- }
--
-+
- // Change to match microsoft definition, 0xff: diversity, 0: A, 1: B
- pAdapter->PortCfg.CurrentTxAntenna--;
- pAdapter->PortCfg.CurrentRxAntenna--;
-@@ -845,7 +845,7 @@
- RTMP_IO_WRITE32(pAdapter, BBPCSR1, BbpCsr1);
- RTMP_BBP_IO_WRITE32_BY_REG_ID(pAdapter, BBP_Tx_Configure, TxValue);
- RTMP_BBP_IO_WRITE32_BY_REG_ID(pAdapter, BBP_Rx_Configure, RxValue);
--
-+
- // 2003-12-16 software-based RX antenna diversity
- // pAdapter->PortCfg.CurrentRxAntenna = 0xff; // Diversity ON
- AsicSetRxAnt(pAdapter);
-@@ -869,7 +869,7 @@
- if (0 && Antenna.field.HardwareRadioControl == 1)
- {
- pAdapter->PortCfg.bHardwareRadio = TRUE;
--
-+
- // Read GPIO pin0 as Hardware controlled radio state
- RTMP_IO_READ32(pAdapter, GPIOCSR, &data);
- if ((data & 0x01) == 0)
-@@ -886,8 +886,8 @@
- }
- }
- else
-- pAdapter->PortCfg.bHardwareRadio = FALSE;
--
-+ pAdapter->PortCfg.bHardwareRadio = FALSE;
-+
- NicConfig2.word = pAdapter->EEPROMDefaultValue[1];
- if (NicConfig2.word == 0xffff)
- NicConfig2.word = 0; // empty E2PROM, use default
-@@ -906,7 +906,7 @@
- RTMP_BBP_IO_WRITE32_BY_REG_ID(pAdapter, 17, r17);
-
- // 2004-2-2 per David's request, lower R17 low-bound for very good quality NIC
-- pAdapter->PortCfg.VgcLowerBound -= 6;
-+ pAdapter->PortCfg.VgcLowerBound -= 6;
- DBGPRINT(RT_DEBUG_TRACE,"R17 tuning enable=%d, R17=0x%02x, range=<0x%02x, 0x%02x>\n",
- pAdapter->PortCfg.BbpTuningEnable, r17, pAdapter->PortCfg.VgcLowerBound, pAdapter->PortCfg.BbpTuning.VgcUpperBound);
- }
-@@ -916,7 +916,6 @@
- DBGPRINT(RT_DEBUG_TRACE, "<-- NICInitAsicFromEEPROM\n");
- }
-
--extern VOID MlmeWork(void *vpAd);
-
- void NICInitializeAdapter(IN PRTMP_ADAPTER pAdapter)
- {
-@@ -938,7 +937,7 @@
- TxCSR2.field.TxDSize = RING_DESCRIPTOR_SIZE;
- TxCSR2.field.NumTxD = TX_RING_SIZE;
- TxCSR2.field.NumAtimD = ATIM_RING_SIZE;
-- TxCSR2.field.NumPrioD = PRIO_RING_SIZE;
-+ TxCSR2.field.NumPrioD = PRIO_RING_SIZE;
- RTMP_IO_WRITE32(pAdapter, TXCSR2, TxCSR2.word);
-
- // Write TXCSR3 register
-@@ -961,22 +960,19 @@
- RxCSR1.field.RxDSize = RING_DESCRIPTOR_SIZE;
- RxCSR1.field.NumRxD = RX_RING_SIZE;
- RTMP_IO_WRITE32(pAdapter, RXCSR1, RxCSR1.word);
--
-+
- // Write RXCSR2 register
- Value = pAdapter->RxRing[0].pa_addr;
- RTMP_IO_WRITE32(pAdapter, RX_RING_BASE_REG, Value);
-
- // Write CSR1 for host ready
-- // Move Host reay to end of ASIC initialization
-+ // Move Host reay to end of ASIC initialization
- // to ensure no Rx will perform before ASIC init
- // RTMP_IO_WRITE32(pAdapter, CSR1, 0x4);
-
- // Initialze ASIC for TX & Rx operation
- NICInitializeAsic(pAdapter);
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-- INIT_WORK(&pAdapter->mlme_work, MlmeWork, (void*)pAdapter);
--#endif
- DBGPRINT(RT_DEBUG_TRACE, "<-- NICInitializeAdapter\n");
- }
-
-@@ -1036,13 +1032,13 @@
- else if (pAdapter->bAcceptPromiscuous == TRUE)
- {
- // Register bits with "drop unicast not to me disabled"
-- RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x6e);
-+ RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x6e);
- }
- else
- {
- // Standard default register bits.
-- RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x7e);
-- }
-+ RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x7e);
-+ }
-
- // Clear old FCS jitter before init ASIC
- RTMP_IO_READ32(pAdapter, CNT0, &Index);
-@@ -1172,10 +1168,10 @@
- // Init send data structures and related parameters
- NICInitTransmit(pAdapter);
-
-- NICInitializeAdapter(pAdapter);
-+ NICInitializeAdapter(pAdapter);
- NICInitAsicFromEEPROM(pAdapter);
-
-- // Switch to current channel, since during reset process, the connection should remains on.
-+ // Switch to current channel, since during reset process, the connection should remains on.
- AsicSwitchChannel(pAdapter, pAdapter->PortCfg.Channel);
- AsicLockChannel(pAdapter, pAdapter->PortCfg.Channel);
- }
-@@ -1200,7 +1196,7 @@
- {
- if(ptr == buffer)
- return TRUE;
-- else if (ptr > buffer)
-+ else if (ptr > buffer)
- {
- while (ptr > buffer)
- {
-@@ -1252,7 +1248,7 @@
- }
- else
- return NULL;
--}
-+}
- /**
- * strstr - Find the first substring in a %NUL terminated string
- * @s1: The string to be searched
-@@ -1261,7 +1257,7 @@
- char * rtstrstr(const char * s1,const char * s2)
- {
- int l1, l2;
--
-+
- l2 = strlen(s2);
- if (!l2)
- return (char *) s1;
-@@ -1283,7 +1279,7 @@
- Arguments:
- section the key of the secion
- key Pointer to key string
-- dest Pointer to destination
-+ dest Pointer to destination
- destsize The datasize of the destination
- buffer Pointer to the buffer to start find the key
-
-@@ -1298,7 +1294,7 @@
- INT RTMPGetKeyParameter(
- IN PUCHAR section,
- IN PCHAR key,
-- OUT PCHAR dest,
-+ OUT PCHAR dest,
- IN INT destsize,
- IN PCHAR buffer)
- {
-@@ -1354,7 +1350,7 @@
- break;
- }
-
-- len = strlen(ptr);
-+ len = strlen(ptr);
- memset(dest, 0x00, destsize);
- strncpy(dest, ptr, len >= destsize ? destsize: len);
-
-@@ -1409,7 +1405,7 @@
- src = PROFILE_PATH;
-
- // Save uid and gid used for filesystem access.
-- // Set user and group to 0 (root)
-+ // Set user and group to 0 (root)
- orgfsuid = current->fsuid;
- orgfsgid = current->fsgid;
- current->fsuid=current->fsgid = 0;
-@@ -1426,7 +1422,7 @@
- else
- {
- /* The object must have a read method */
-- if (srcf->f_op && srcf->f_op->read)
-+ if (srcf->f_op && srcf->f_op->read)
- {
- memset(buffer, 0x00, MAX_INI_BUFFER_SIZE);
- retval=srcf->f_op->read(srcf, buffer, MAX_INI_BUFFER_SIZE, &srcf->f_pos);
-@@ -1502,7 +1498,7 @@
- if (ChannelSanity(pAd, Channel) == TRUE)
- {
- pAd->PortCfg.Channel = Channel;
-- // If default profile in Registry is an ADHOC network, driver should use the specified channel
-+ // If default profile in Registry is an ADHOC network, driver should use the specified channel
- // number when starting IBSS the first time, because RaConfig is passive and will not set this
- // via OID_802_11_CONFIGURATION upon driver bootup.
- pAd->PortCfg.IbssConfig.Channel = pAd->PortCfg.Channel;
-@@ -1571,7 +1567,7 @@
-
- if((ulInfo > 0) && (ulInfo <= MAX_RTS_THRESHOLD))
- pAd->PortCfg.RtsThreshold = (USHORT)ulInfo;
-- else
-+ else
- pAd->PortCfg.RtsThreshold = MAX_RTS_THRESHOLD;
-
- DBGPRINT(RT_DEBUG_TRACE, "%s::(RTSThreshold=%d)\n", __FUNCTION__, pAd->PortCfg.RtsThreshold);
-@@ -1650,7 +1646,7 @@
- {
- DBGPRINT(RT_DEBUG_INFO, "MAX_PSP power mode not available - defaulting to CAM\n");
- }
-- else if ((strcmp(tmpbuf, "Fast_PSP") == 0) || (strcmp(tmpbuf, "fast_psp") == 0)
-+ else if ((strcmp(tmpbuf, "Fast_PSP") == 0) || (strcmp(tmpbuf, "fast_psp") == 0)
- || (strcmp(tmpbuf, "FAST_PSP") == 0))
- {
- DBGPRINT(RT_DEBUG_INFO, "FAST_PSP power mode not available - defaulting to CAM\n");
-@@ -1763,7 +1759,7 @@
- break;
- }
- }
--
-+
- if (bIsHex)
- {
- pAd->PortCfg.SharedKey[0].KeyLen = KeyLen / 2 ;
-@@ -1773,7 +1769,7 @@
- break;
- case 13: //wep 104 Ascii type
- pAd->PortCfg.SharedKey[0].KeyLen = KeyLen;
-- memcpy(pAd->PortCfg.SharedKey[0].Key, tmpbuf, KeyLen);
-+ memcpy(pAd->PortCfg.SharedKey[0].Key, tmpbuf, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "%s::(Key1=%s and type=%s)\n", __FUNCTION__, tmpbuf, "Ascii");
- break;
- case 26: //wep 104 Hex type
-@@ -1821,7 +1817,7 @@
- break;
- }
- }
--
-+
- if (bIsHex)
- {
- pAd->PortCfg.SharedKey[1].KeyLen = KeyLen / 2 ;
-@@ -1831,7 +1827,7 @@
- break;
- case 13: //wep 104 Ascii type
- pAd->PortCfg.SharedKey[1].KeyLen = KeyLen;
-- memcpy(pAd->PortCfg.SharedKey[1].Key, tmpbuf, KeyLen);
-+ memcpy(pAd->PortCfg.SharedKey[1].Key, tmpbuf, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "%s::(Key2=%s and type=%s)\n", __FUNCTION__, tmpbuf, "Ascii");
- break;
- case 26: //wep 104 Hex type
-@@ -1889,7 +1885,7 @@
- break;
- case 13: //wep 104 Ascii type
- pAd->PortCfg.SharedKey[2].KeyLen = KeyLen;
-- memcpy(pAd->PortCfg.SharedKey[2].Key, tmpbuf, KeyLen);
-+ memcpy(pAd->PortCfg.SharedKey[2].Key, tmpbuf, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "%s::(Key3=%s and type=%s)\n", __FUNCTION__, tmpbuf, "Ascii");
- break;
- case 26: //wep 104 Hex type
-@@ -1947,7 +1943,7 @@
- break;
- case 13: //wep 104 Ascii type
- pAd->PortCfg.SharedKey[3].KeyLen = KeyLen;
-- memcpy(pAd->PortCfg.SharedKey[3].Key, tmpbuf, KeyLen);
-+ memcpy(pAd->PortCfg.SharedKey[3].Key, tmpbuf, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "%s::(Key4=%s and type=%s)\n", __FUNCTION__, tmpbuf, "Ascii");
- break;
- case 26: //wep 104 Hex type
-@@ -2023,10 +2019,10 @@
- {
- case TX_RING:
- // We have to clean all descriptos in case some error happened with reset
-- do
-+ do
- {
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->NextTxDoneIndex].va_addr;
--
-+
- pTxD->Owner = DESC_OWN_HOST;
- pTxD->Valid = FALSE;
-
-@@ -2036,7 +2032,7 @@
- {
- pAdapter->NextTxDoneIndex = 0;
- }
--
-+
- } while (Count < TX_RING_SIZE); // We have to scan all TX ring
-
- // Check for packet in send tx wait waiting queue
-@@ -2047,7 +2043,7 @@
-
- case PRIO_RING:
- // We have to clean all descriptos in case some error happened with reset
-- do
-+ do
- {
- pTxD = (PTXD_STRUC) pAdapter->PrioRing[pAdapter->NextPrioDoneIndex].va_addr;
-
-@@ -2085,7 +2081,7 @@
-
- case RX_RING:
- // We have to clean all descriptos in case some error happened with reset
-- do
-+ do
- {
- pRxD = (PRXD_STRUC) pAdapter->RxRing[pAdapter->CurRxIndex].va_addr;
-
-@@ -2101,7 +2097,7 @@
-
- } while (Count < RX_RING_SIZE); // We have to scan all Rx Ring
- break;
--
-+
- default:
- break;
-
-@@ -2172,10 +2168,10 @@
- {
- UINT i;
-
-- DBGPRINT(RT_DEBUG_TRACE, "--> PortCfgInit\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "--> PortCfgInit\n");
-
- pAdapter->PortCfg.UseBGProtection = 0; // 0: AUTO
--
-+
- pAdapter->PortCfg.CapabilityInfo = 0x0000;
- pAdapter->PortCfg.Psm = PWR_ACTIVE;
- pAdapter->PortCfg.BeaconPeriod = 100; // in mSec
-@@ -2207,7 +2203,7 @@
- pAdapter->PortCfg.LastMicErrorTime = 0;
- pAdapter->PortCfg.MicErrCnt = 0;
- pAdapter->PortCfg.bBlockAssoc = FALSE;
-- pAdapter->PortCfg.WpaState = SS_NOTUSE;
-+ pAdapter->PortCfg.WpaState = SS_NOTUSE;
-
- pAdapter->PortCfg.RtsThreshold = 2347;
- pAdapter->PortCfg.FragmentThreshold = 2346;
-@@ -2261,7 +2257,7 @@
- pAdapter->PortCfg.PhyMode = 0xff;
- // RTMPSetPhyMode(pAdapter, PHY_11BG_MIXED); // default in 11BG mixed mode
- // pAdapter->PortCfg.Channel = FirstChannel(pAdapter);
-- pAdapter->PortCfg.Dsifs = 10; // in units of usec
-+ pAdapter->PortCfg.Dsifs = 10; // in units of usec
- pAdapter->PortCfg.TxPreambleInUsed = Rt802_11PreambleLong; // use Long preamble on TX by defaut
-
- // user desired power mode
-@@ -2274,7 +2270,7 @@
- pAdapter->bAcceptMulticast = FALSE;
- pAdapter->bAcceptBroadcast = TRUE;
- pAdapter->bAcceptAllMulticast = TRUE;
--
-+
- // parameters to be used when this STA starts a new ADHOC network
- pAdapter->PortCfg.IbssConfig.BeaconPeriod = 100;
- pAdapter->PortCfg.IbssConfig.AtimWin = 0;
-@@ -2363,8 +2359,8 @@
- char *srcptr;
- PUCHAR destTemp;
-
-- srcptr = src;
-- destTemp = (PUCHAR) dest;
-+ srcptr = src;
-+ destTemp = (PUCHAR) dest;
-
- while(destlen--)
- {
-@@ -2376,7 +2372,7 @@
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Init timer objects
-
-@@ -2390,7 +2386,7 @@
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPInitTimer(
-@@ -2406,7 +2402,7 @@
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Init timer objects
-
-@@ -2418,7 +2414,7 @@
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPSetTimer(
-@@ -2434,7 +2430,7 @@
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Cancel timer objects
-
-@@ -2446,14 +2442,15 @@
-
- Note:
- Reset NIC to initial state AS IS system boot up time.
--
-+
- ========================================================================
- */
- VOID RTMPCancelTimer(
- IN PRALINK_TIMER_STRUCT pTimer)
- {
- #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,27))
-- del_timer_sync(&pTimer->TimerObj);
-+ if (timer_pending(&pTimer->TimerObj))
-+ del_timer_sync(&pTimer->TimerObj);
- #else
- del_timer(&pTimer->TimerObj);
- #endif
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_main.c rt2500-cvs-2007061011/Module/rtmp_main.c
---- rt2500-1.1.0-b4/Module/rtmp_main.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_main.c 2007-05-29 05:49:17.000000000 +0200
-@@ -1,35 +1,35 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_main.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulL 25th Nov 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulL 25th Nov 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW (rt2400) 8th Dec 04 Promisc mode support
- * Flavio (rt2400) 8th Dec 04 Elegant irqreturn_t handling
- * Flavio (rt2400) 8th Dec 04 Remove local alloc_netdev
-@@ -45,26 +45,24 @@
- * Tor Petterson 19th Apr 05 Power management: Suspend and Resume
- * MarkW 15th Jul 05 Disable File Config under 4KSTACK
- * IvD 15th Jul 05 Support File Config with 4KSTACK
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
--unsigned long IrqFlags;
--
- // Global static variable, Debug level flag
- // Don't hide this behind debug define. There should be as little difference between debug and no-debug as possible.
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
--int debug = 0; /* Default is off. */
-+static int debug = 0; /* Default is off. */
- MODULE_PARM(debug, "i");
--MODULE_PARM_DESC(debug, "Enable level: accepted values: 1 to switch debug on, 0 to switch debug off.");
-+MODULE_PARM_DESC(debug, "Debug mask: n selects filter, 0 for none");
-
- static char *ifname = NULL ;
- MODULE_PARM(ifname, "s");
- MODULE_PARM_DESC(ifname, "Network device name (default ra%d)");
- #else
--int debug = 0; /* Default is off. */
-+static int debug = 0; /* Default is off. */
- module_param(debug, int, 0);
--MODULE_PARM_DESC(debug, "Enable level: accepted values: 1 to switch debug on, 0 to switch debug off.");
-+MODULE_PARM_DESC(debug, "Debug mask: n selects filter, 0 for none");
-
- static char *ifname = NULL ;
- module_param(ifname, charp, 0);
-@@ -79,78 +77,130 @@
-
- extern const struct iw_handler_def rt2500_iw_handler_def;
-
-+#ifdef RT2500_DBG
-+VOID rt2500_setdbg(long mask)
-+{
-+ debug = mask;
-+}
-+INT rt2500_dbgprint(int mask, const char *fmt, ...)
-+{
-+ if(mask & debug) {
-+ va_list args;
-+ int i;
-+
-+ va_start(args, fmt);
-+
-+ //http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.9
-+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,9))
-+ i = vprintk(fmt, args);
-+
-+ #else
-+ // Stack is safe because data is buffered before control returns
-+ char printk_buf[160]; // Longest observed line is 147 chars.
-+
-+ vsnprintf(printk_buf, sizeof(printk_buf), fmt, args);
-+ i = printk(printk_buf);
-+ #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,9)) */
-+
-+ va_end(args);
-+ return i;
-+ }
-+ return 0;
-+}
-+#endif
-+
-+#ifdef RT2X00DEBUGFS
- /*
- * Register layout information.
- */
- #define CSR_REG_BASE 0x0000
- #define CSR_REG_SIZE 0x0174
- #define EEPROM_BASE 0x0000
--#define EEPROM_SIZE 0x01ff
-+#define EEPROM_SIZE 0x0200
-+#define BBP_SIZE 0x0040
-
--#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
--static void
--rt2x00_get_drvinfo(struct net_device *net_dev,
-- struct ethtool_drvinfo *drvinfo)
-+static void rt2500pci_read_csr(void *dev, const unsigned long word,
-+ void *data)
- {
-- PRTMP_ADAPTER pAd = net_dev->priv;
-+ RTMP_ADAPTER *pAd = dev;
-
-- strcpy(drvinfo->driver, NIC_DEVICE_NAME);
-- strcpy(drvinfo->version, DRV_VERSION);
-- strcpy(drvinfo->bus_info, pci_name(pAd->pPci_Dev));
-+ RTMP_IO_READ32(pAd, CSR_REG_BASE + (word * sizeof(u32)), (u32*)data);
- }
-
--static int
--rt2x00_get_regs_len(struct net_device *net_dev)
-+static void rt2500pci_write_csr(void *dev, const unsigned long word,
-+ void *data)
- {
-- return CSR_REG_SIZE;
-+ RTMP_ADAPTER *pAd = dev;
-+
-+ RTMP_IO_WRITE32(pAd, word, *((u32*)data));
- }
-
--static void
--rt2x00_get_regs(struct net_device *net_dev,
-- struct ethtool_regs *regs, void *data)
-+static void rt2500pci_read_eeprom(void *dev, const unsigned long word,
-+ void *data)
- {
-- PRTMP_ADAPTER pAd = net_dev->priv;
-- unsigned int counter;
-+ RTMP_ADAPTER *pAd = dev;
-
-- regs->len = CSR_REG_SIZE;
-+ *((u16*)data) = RTMP_EEPROM_READ16(pAd, word * sizeof(u16));
-+}
-
-- for (counter = 0; counter < CSR_REG_SIZE; counter += sizeof(u32)) {
-- RTMP_IO_READ32(pAd, CSR_REG_BASE + counter, (u32*)data);
-- data += sizeof(u32);
-- }
-+static void rt2500pci_write_eeprom(void *dev, const unsigned long word,
-+ void *data)
-+{
-+ /* DANGEROUS, DON'T DO THIS! */
- }
-
--static int
--rt2x00_get_eeprom_len(struct net_device *net_dev)
-+static void rt2500pci_read_bbp(void *dev, const unsigned long word,
-+ void *data)
- {
-- return EEPROM_SIZE;
-+ RTMP_ADAPTER *pAd = dev;
-+
-+ RTMP_BBP_IO_READ32_BY_REG_ID(pAd, word, ((u8*)data));
- }
-
--static int
--rt2x00_get_eeprom(struct net_device *net_dev,
-- struct ethtool_eeprom *eeprom, u8 *data)
-+static void rt2500pci_write_bbp(void *dev, const unsigned long word,
-+ void *data)
- {
-- PRTMP_ADAPTER pAd = net_dev->priv;
-- unsigned int counter;
-+ RTMP_ADAPTER *pAd = dev;
-
-- for (counter = eeprom->offset; counter < eeprom->len; counter += sizeof(u16)) {
-- u16 value = RTMP_EEPROM_READ16(pAd, CSR_REG_BASE + counter);
-- memcpy(data, &value, sizeof(u16));
-- data += sizeof(u16);
-- }
-+ RTMP_BBP_IO_WRITE32_BY_REG_ID(pAd, word, *((u8*)data));
-+}
-
-- return 0;
-+static void rt2500pci_open_debugfs(RTMP_ADAPTER *pAd)
-+{
-+ struct rt2x00debug *debug = &pAd->debug;
-+
-+ debug->owner = THIS_MODULE;
-+ debug->mod_name = DRV_NAME;
-+ debug->mod_version = DRV_VERSION;
-+ debug->reg_csr.read = rt2500pci_read_csr;
-+ debug->reg_csr.write = rt2500pci_write_csr;
-+ debug->reg_csr.word_size = sizeof(u32);
-+ debug->reg_csr.length = CSR_REG_SIZE;
-+ debug->reg_eeprom.read = rt2500pci_read_eeprom;
-+ debug->reg_eeprom.write = rt2500pci_write_eeprom;
-+ debug->reg_eeprom.word_size = sizeof(u16);
-+ debug->reg_eeprom.length = EEPROM_SIZE;
-+ debug->reg_bbp.read = rt2500pci_read_bbp;
-+ debug->reg_bbp.write = rt2500pci_write_bbp;
-+ debug->reg_bbp.word_size = sizeof(u8);
-+ debug->reg_bbp.length = BBP_SIZE;
-+ debug->dev = pAd;
-+
-+ snprintf(debug->intf_name, sizeof(debug->intf_name),
-+ "%s", pAd->net_dev->name);
-+
-+ if (rt2x00debug_register(debug))
-+ printk(KERN_ERR "Failed to register debug handler.\n");
- }
-
--static struct ethtool_ops rt2x00_ethtool_ops = {
-- .get_drvinfo = rt2x00_get_drvinfo,
-- .get_regs_len = rt2x00_get_regs_len,
-- .get_regs = rt2x00_get_regs,
-- .get_link = ethtool_op_get_link,
-- .get_eeprom_len = rt2x00_get_eeprom_len,
-- .get_eeprom = rt2x00_get_eeprom,
--};
--#endif
-+static void rt2500pci_close_debugfs(RTMP_ADAPTER *pAd)
-+{
-+ rt2x00debug_deregister(&pAd->debug);
-+}
-+#else /* RT2X00DEBUGFS */
-+static inline void rt2500pci_open_debugfs(RTMP_ADAPTER *pAd){}
-+static inline void rt2500pci_close_debugfs(RTMP_ADAPTER *pAd){}
-+#endif /* RT2X00DEBUGFS */
-
- static INT __devinit RT2500_init_one (
- IN struct pci_dev *pPci_Dev,
-@@ -158,6 +208,7 @@
- {
- INT rc;
-
-+ if (debug) {} // shuts up compiler when RT2500_DBG not defined
- // wake up and enable device
- if (pci_enable_device (pPci_Dev))
- {
-@@ -176,7 +227,7 @@
- // PCI device probe & initialization function
- //
- INT __devinit RT2500_probe(
-- IN struct pci_dev *pPci_Dev,
-+ IN struct pci_dev *pPci_Dev,
- IN const struct pci_device_id *ent)
- {
- struct net_device *net_dev;
-@@ -194,7 +245,7 @@
-
- // alloc_etherdev() will set net_dev->name
- net_dev = alloc_etherdev(sizeof(RTMP_ADAPTER));
-- if (net_dev == NULL)
-+ if (net_dev == NULL)
- {
- DBGPRINT(RT_DEBUG_TRACE, "init_ethernet failed\n");
- goto err_out;
-@@ -204,9 +255,8 @@
-
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
- SET_NETDEV_DEV(net_dev, &(pPci_Dev->dev));
-- SET_ETHTOOL_OPS(net_dev, &rt2x00_ethtool_ops);
- #endif
--
-+
- if (pci_request_regions(pPci_Dev, print_name))
- goto err_out_free_netdev;
-
-@@ -215,10 +265,10 @@
-
- // map physical address to virtual address for accessing register
- csr_addr = (unsigned long) ioremap(pci_resource_start(pPci_Dev, 0), pci_resource_len(pPci_Dev, 0));
-- if (!csr_addr)
-+ if (!csr_addr)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "ioremap failed for device %s, region 0x%X @ 0x%lX\n",
-- print_name, (ULONG)pci_resource_len(pPci_Dev, 0), pci_resource_start(pPci_Dev, 0));
-+ DBGPRINT(RT_DEBUG_TRACE, "ioremap failed for device %s, region 0x%X @ 0x%X\n",
-+ print_name, (ULONG)pci_resource_len(pPci_Dev, 0), (ULONG)pci_resource_start(pPci_Dev, 0));
- goto err_out_free_res;
- }
-
-@@ -233,7 +283,7 @@
-
- // Read MAC address
- NICReadAdapterInfo(pAd);
--
-+
- RTMP_IO_READ32(pAd, CSR3, &StaMacReg0.word);
- RTMP_IO_READ32(pAd, CSR4, &StaMacReg1.word);
- net_dev->dev_addr[0] = StaMacReg0.field.Byte0;
-@@ -256,13 +306,13 @@
- #if WIRELESS_EXT < 17
- net_dev->get_wireless_stats = RT2500_get_wireless_stats;
- #endif
-- net_dev->wireless_handlers = (struct iw_handler_def *) &rt2500_iw_handler_def;
-+ net_dev->wireless_handlers = (struct iw_handler_def *) &rt2500_iw_handler_def;
- #endif
-
- net_dev->set_multicast_list = RT2500_set_rx_mode;
- net_dev->do_ioctl = RT2500_ioctl;
- net_dev->set_mac_address = rt2500_set_mac_address;
--
-+
-
- // register_netdev() will call dev_alloc_name() for us
- // TODO: Remove the following line to keep the default eth%d name
-@@ -284,8 +334,8 @@
- if (Status != NDIS_STATUS_SUCCESS)
- goto err_out_unmap;
-
-- DBGPRINT(RT_DEBUG_TRACE, "%s: at 0x%lx, VA 0x%lx, IRQ %d. \n",
-- net_dev->name, pci_resource_start(pPci_Dev, 0), (unsigned long)csr_addr, pPci_Dev->irq);
-+ DBGPRINT(RT_DEBUG_TRACE, "%s: at 0x%x, VA 0x%lx, IRQ %d. \n",
-+ net_dev->name, (ULONG)pci_resource_start(pPci_Dev, 0), (unsigned long)csr_addr, pPci_Dev->irq);
-
- // Set driver data
- pci_set_drvdata(pPci_Dev, net_dev);
-@@ -295,15 +345,17 @@
- // All this occurs while the net iface is down
- // iwconfig can then be used to configure card BEFORE
- // ifconfig ra0 up is applied.
-- // Note the RT2500STA.dat file will still overwrite settings
-+ // Note the RT2500STA.dat file will still overwrite settings
- // but it is useful for the settings iwconfig doesn't let you at
-- PortCfgInit(pAd);
-+ PortCfgInit(pAd);
-
- MlmeQueueInit(&pAd->Mlme.Queue); // (never fails)
-
- // Build channel list for default physical mode
- BuildChannelList(pAd);
-
-+ rt2500pci_open_debugfs(pAd);
-+
- return 0;
-
- err_out_unmap:
-@@ -447,7 +499,7 @@
-
- if (pAdapter->PortCfg.BssType == BSS_MONITOR && pAdapter->PortCfg.MallowRFMONTx != TRUE)
- {
-- dev_kfree_skb_irq(skb);
-+ dev_kfree_skb_irq(skb);
- return 0;
- }
-
-@@ -465,7 +517,7 @@
- // This function has to manage NdisSendComplete return call within its routine
- // NdisSendComplete will acknowledge upper layer in two steps.
- // 1. Within Packet Enqueue, set the NDIS_STATUS_PENDING
-- // 2. Within TxRingTxDone / PrioRingTxDone call NdisSendComplete with final status
-+ // 2. Within TxRingTxDone / PrioRingTxDone call NdisSendComplete with final status
- // initial skb->data_len=0, we will use this variable to store data size when fragment(in TKIP)
- // and skb->len is actual data len
- skb->data_len = skb->len;
-@@ -482,7 +534,7 @@
- // There are two place calling dequeue for TX ring.
- // 1. Here, right after queueing the frame.
- // 2. At the end of TxRingTxDone service routine.
-- if ((!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) &&
-+ if ((!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) &&
- (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RADIO_OFF)) &&
- (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RESET_IN_PROGRESS)))
- {
-@@ -504,7 +556,7 @@
- Arguments:
- irq interrupt line
- dev_instance Pointer to net_device
-- rgs store process's context before entering ISR,
-+ rgs store process's context before entering ISR,
- this parameter is just for debug purpose.
-
- Return Value:
-@@ -514,10 +566,16 @@
-
- ========================================================================
- */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
- irqreturn_t RTMPIsr(
-- IN INT irq,
-- IN VOID *dev_instance,
-+ IN INT irq,
-+ IN VOID *dev_instance,
- IN struct pt_regs *rgs)
-+#else
-+irqreturn_t RTMPIsr(
-+ IN INT irq,
-+ IN VOID *dev_instance)
-+#endif
- {
- struct net_device *net_dev = dev_instance;
- PRTMP_ADAPTER pAdapter = net_dev->priv;
-@@ -643,29 +701,29 @@
- if(!is_valid_ether_addr(&mac->sa_data[0]))
- return -EINVAL;
-
--#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
- BUG_ON(net_dev->addr_len != ETH_ALEN);
--#endif
--
-+#endif
-+
- memcpy(net_dev->dev_addr, mac->sa_data, ETH_ALEN);
- memcpy(pAd->CurrentAddress, mac->sa_data, ETH_ALEN);
--
-+
- memset(&set_mac, 0x00, sizeof(INT));
- set_mac = (net_dev->dev_addr[0]) |
- (net_dev->dev_addr[1] << 8) |
- (net_dev->dev_addr[2] << 16) |
- (net_dev->dev_addr[3] << 24);
--
-+
- RTMP_IO_WRITE32(pAd, CSR3, set_mac);
--
-+
- memset(&set_mac, 0x00, sizeof(INT));
- set_mac = (net_dev->dev_addr[4]) |
- (net_dev->dev_addr[5] << 8);
--
-+
- RTMP_IO_WRITE32(pAd, CSR4, set_mac);
--
-+
- printk(KERN_INFO "***rt2x00***: Info - Mac address changed to: %02x:%02x:%02x:%02x:%02x:%02x.\n", net_dev->dev_addr[0], net_dev->dev_addr[1], net_dev->dev_addr[2], net_dev->dev_addr[3], net_dev->dev_addr[4], net_dev->dev_addr[5]);
--
-+
- return 0;
- }
-
-@@ -697,11 +755,13 @@
-
- pAd->iw_stats.status = 0; // Status - device dependent for now
-
-- pAd->iw_stats.qual.qual = pAd->Mlme.ChannelQuality;//pAd->Mlme.RoamCqi; // link quality (%retries, SNR, %missed beacons or better...)
-- pAd->iw_stats.qual.level = pAd->PortCfg.LastRssi - RSSI_TO_DBM_OFFSET; // signal level (dBm)
--
-+ pAd->iw_stats.qual.qual = pAd->Mlme.ChannelQuality;// link quality (%retries, SNR, %missed beacons or better...)
-+ pAd->iw_stats.qual.level = abs(pAd->PortCfg.LastRssi); // signal level (dBm)
-+ pAd->iw_stats.qual.level += 256 - RSSI_TO_DBM_OFFSET;
-+
- pAd->iw_stats.qual.noise = (pAd->PortCfg.LastR17Value > BBP_R17_DYNAMIC_UP_BOUND) ? BBP_R17_DYNAMIC_UP_BOUND : ((ULONG) pAd->PortCfg.LastR17Value); // // noise level (dBm)
-- pAd->iw_stats.qual.updated = 3; // Flags to know if updated
-+ pAd->iw_stats.qual.noise += 256 - 143;
-+ pAd->iw_stats.qual.updated = 1; // Flags to know if updated
-
- pAd->iw_stats.discard.nwid = 0; // Rx : Wrong nwid/essid
- pAd->iw_stats.miss.beacon = 0; // Missed beacons/superframe
-@@ -791,7 +851,7 @@
- IN struct net_device *net_dev)
- {
- RTMP_ADAPTER *pAd;
-- pAd = net_dev->priv;
-+ pAd = net_dev->priv;
- if (pAd->PortCfg.BssType == BSS_MONITOR)
- {
- RTMP_IO_WRITE32(pAd, RXCSR0, 0x46);
-@@ -808,7 +868,7 @@
- pAd->bAcceptPromiscuous = FALSE;
- RTMP_IO_WRITE32(pAd, RXCSR0, 0x7e);
- DBGPRINT(RT_DEBUG_TRACE, "rt2500 acknowledge MONITOR/PROMISC off\n");
-- }
-+ }
-
- }
-
-@@ -867,7 +927,9 @@
- IN struct pci_dev *pPci_Dev)
- {
- struct net_device *net_dev = pci_get_drvdata(pPci_Dev);
-- // RTMP_ADAPTER *pAd = net_dev->priv;
-+ RTMP_ADAPTER *pAd = netdev_priv(net_dev);
-+
-+ rt2500pci_close_debugfs(pAd);
-
- // Free Ring buffers
- RTMPFreeDMAMemory(net_dev->priv);
-@@ -915,7 +977,7 @@
-
- if(pAdapter->PortCfg.bRadio)
- MlmeRadioOff(pAdapter);
--
-+
- #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14))
- printk(KERN_NOTICE "%s: got suspend request (state %d)\n",
- dev->name, state);
-@@ -944,7 +1006,11 @@
- PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
- int status;
-
-- pci_enable_device(pdev);
-+ // FIXME: code should process error case correctly
-+ if (pci_enable_device(pdev)) {
-+ printk(KERN_ERR "rt2500: could not resume from suspend");
-+ return -EIO;
-+ }
-
- printk(KERN_NOTICE "%s: got resume request\n", dev->name);
-
-@@ -991,7 +1057,7 @@
- suspend: rt2500_suspend,
- resume: rt2500_resume,
- #endif /* CONFIG_PM */
--#if LINUX_VERSION_CODE >= 0x20412 || BIG_ENDIAN == TRUE || RTMP_EMBEDDED == TRUE
-+#if LINUX_VERSION_CODE >= 0x20412 || BIG_ENDIAN == TRUE
- remove: __devexit_p(RT2500_remove_one),
- #else
- remove: __devexit(RT2500_remove_one),
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_tkip.c rt2500-cvs-2007061011/Module/rtmp_tkip.c
---- rt2500-1.1.0-b4/Module/rtmp_tkip.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_tkip.c 2007-03-21 05:25:35.000000000 +0100
-@@ -1,125 +1,125 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_tkip.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulW 25th Feb 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulW 25th Feb 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
--// Rotation functions on 32 bit values
-+// Rotation functions on 32 bit values
- #define ROL32( A, n ) ( ((A) << (n)) | ( ((A)>>(32-(n))) ) )
--#define ROR32( A, n ) ROL32( (A), 32-(n) )
-+#define ROR32( A, n ) ROL32( (A), 32-(n) )
-
- /*
- ========================================================================
-
- Routine Description:
-- Convert from UCHAR[] to ULONG in a portable way
--
-+ Convert from UCHAR[] to ULONG in a portable way
-+
- Arguments:
- pMICKey pointer to MIC Key
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
--ULONG RTMPTkipGetUInt32(
-+ULONG RTMPTkipGetUInt32(
- IN PUCHAR pMICKey)
--{
-- ULONG res = 0;
-+{
-+ ULONG res = 0;
- int i;
--
-- for (i = 0; i < 4; i++)
-- {
-- res |= (*pMICKey++) << (8 * i);
-+
-+ for (i = 0; i < 4; i++)
-+ {
-+ res |= (*pMICKey++) << (8 * i);
- }
-
-- return res;
--}
-+ return res;
-+}
-
- /*
- ========================================================================
-
- Routine Description:
-- Convert from ULONG to UCHAR[] in a portable way
--
-+ Convert from ULONG to UCHAR[] in a portable way
-+
- Arguments:
- pDst pointer to destination for convert ULONG to UCHAR[]
- val the value for convert
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPTkipPutUInt32(
- IN OUT PUCHAR pDst,
-- IN ULONG val)
--{
-+ IN ULONG val)
-+{
- int i;
--
-- for(i = 0; i < 4; i++)
-- {
-- *pDst++ = (UCHAR) val;
-- val >>= 8;
-- }
--}
-+
-+ for(i = 0; i < 4; i++)
-+ {
-+ *pDst++ = (UCHAR) val;
-+ val >>= 8;
-+ }
-+}
-
- /*
- ========================================================================
-
- Routine Description:
- Calculate the MIC Value.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pSrc Pointer to source data for Calculate MIC Value
- Len Indicate the length of the source data
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
--VOID RTMPTkipAppend(
-- IN PTKIP_KEY_INFO pTkip,
-+VOID RTMPTkipAppend(
-+ IN PTKIP_KEY_INFO pTkip,
- IN PUCHAR pSrc,
-- IN UINT nBytes)
-+ IN UINT nBytes)
- {
- register ULONG M, L, R, nBytesInM;
-
-@@ -128,7 +128,7 @@
- R = pTkip->R;
- nBytesInM = pTkip->nBytesInM;
- M = pTkip->M;
--
-+
- // Alignment case
- if((nBytesInM == 0) && ((((unsigned long)pSrc) & 0x3) == 0))
- {
-@@ -141,7 +141,7 @@
- #endif
- pSrc += 4;
- nBytes -= 4;
--
-+
- L ^= M;
- R ^= ROL32( L, 17 );
- L += R;
-@@ -154,7 +154,7 @@
- }
- nBytesInM = 0;
- M = 0;
--
-+
- while(nBytes > 0)
- {
- M |= (*pSrc << (8* nBytesInM));
-@@ -162,7 +162,7 @@
- nBytesInM++;
- pSrc++;
- nBytes--;
--
-+
- if( nBytesInM >= 4 )
- {
- L ^= M;
-@@ -186,10 +186,10 @@
- {
- M |= (*pSrc << (8* nBytesInM));
- nBytesInM++;
--
-+
- pSrc++;
- nBytes--;
--
-+
- if( nBytesInM >= 4 )
- {
- L ^= M;
-@@ -207,23 +207,23 @@
- }
- }
- }
--
-+
- // load data from register to memory
- pTkip->M = M;
- pTkip->nBytesInM = nBytesInM;
- pTkip->L = L;
- pTkip->R = R;
--}
-+}
-
- /*
- ========================================================================
-
- Routine Description:
- Get the MIC Value.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
--
-+
- Return Value:
- None
-
-@@ -231,7 +231,7 @@
- the MIC Value is store in pAdapter->PrivateInfo.MIC
- ========================================================================
- */
--VOID RTMPTkipGetMIC(
-+VOID RTMPTkipGetMIC(
- IN PTKIP_KEY_INFO pTkip)
- {
- static unsigned char Last[] = {"\x5a\x00\x00\x00\x00\x00\x00\x00"};
-@@ -242,14 +242,14 @@
- // The appendByte function has already computed the result.
- RTMPTkipPutUInt32(pTkip->MIC, pTkip->L);
- RTMPTkipPutUInt32(pTkip->MIC + 4, pTkip->R);
--}
-+}
-
- /*
- ========================================================================
-
- Routine Description:
- Compare MIC value of received MSDU
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pSrc Pointer to the received Plain text data
-@@ -257,13 +257,13 @@
- pSA Pointer to SA address
- pMICKey pointer to MIC Key
- Len the length of the received plain text data exclude MIC value
--
-+
- Return Value:
- TRUE MIC value matched
- FALSE MIC value mismatched
--
-+
- Note:
--
-+
- ========================================================================
- */
- BOOLEAN RTMPTkipCompareMICValue(
-@@ -288,19 +288,19 @@
- RTMPTkipAppend(&pAdapter->PrivateInfo.Rx, pSA, 6);
- // Priority + 3 bytes of 0
- RTMPTkipAppend(&pAdapter->PrivateInfo.Rx, Priority, 4);
--
-+
- // Calculate MIC value from plain text data
- RTMPTkipAppend(&pAdapter->PrivateInfo.Rx, pSrc, Len);
-
- // Get MIC value from decrypted plain data
- RTMPTkipGetMIC(&pAdapter->PrivateInfo.Rx);
--
-+
- // Move MIC value from MSDU, this steps should move to data path.
- // Since the MIC value might cross MPDUs.
- if(!NdisEqualMemory(pAdapter->PrivateInfo.Rx.MIC, pSrc + Len, 8))
- {
- INT i;
--
-+
- DBGPRINT(RT_DEBUG_ERROR, "! TKIP MIC Error !\n"); //MIC error.
- DBGPRINT(RT_DEBUG_INFO, "Orig MIC value ="); //MIC error.
- for (i = 0; i < 8; i++)
-@@ -324,7 +324,7 @@
-
- Routine Description:
- Compare MIC value of received MSDU
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pLLC LLC header
-@@ -333,13 +333,13 @@
- pSA Pointer to SA address
- pMICKey pointer to MIC Key
- Len the length of the received plain text data exclude MIC value
--
-+
- Return Value:
- TRUE MIC value matched
- FALSE MIC value mismatched
--
-+
- Note:
--
-+
- ========================================================================
- */
- BOOLEAN RTMPTkipCompareMICValueWithLLC(
-@@ -352,13 +352,13 @@
- IN UINT Len)
- {
- static UCHAR Priority[4] = {"\x00\x00\x00\x00"};
--
-+
- // Init MIC value calculation and reset the message
- pAdapter->PrivateInfo.Rx.L = RTMPTkipGetUInt32(pMICKey);
- pAdapter->PrivateInfo.Rx.R = RTMPTkipGetUInt32(pMICKey + 4);
- pAdapter->PrivateInfo.Rx.nBytesInM = 0;
- pAdapter->PrivateInfo.Rx.M = 0;
--
-+
- // DA
- RTMPTkipAppend(&pAdapter->PrivateInfo.Rx, pDA, 6);
- // SA
-@@ -405,20 +405,20 @@
- ========================================================================
-
- Routine Description:
-- Copy frame from waiting queue into relative ring buffer and set
-+ Copy frame from waiting queue into relative ring buffer and set
- appropriate ASIC register to kick hardware transmit function
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- PNDIS_PACKET Pointer to Ndis Packet for MIC calculation
- pEncap Pointer to LLC encap data
- LenEncap Total encap length, might be 0 which indicates no encap
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPCalculateMICValue(
-@@ -430,21 +430,21 @@
- {
- PUCHAR pSrc;
- static UCHAR Priority[4] = {"\x00\x00\x00\x00"};
--
-+
- pSrc = (PUCHAR) skb->data;
--
-+
- // Init MIC value calculation and reset the message
- pAdapter->PrivateInfo.Tx.L = RTMPTkipGetUInt32(pWpaKey->TxMic);
- pAdapter->PrivateInfo.Tx.R = RTMPTkipGetUInt32(pWpaKey->TxMic + 4);
- pAdapter->PrivateInfo.Tx.nBytesInM = 0;
- pAdapter->PrivateInfo.Tx.M = 0;
--
-+
- // DA & SA field
- RTMPTkipAppend(&pAdapter->PrivateInfo.Tx, pSrc, 12);
--
-+
- // Priority + 3 bytes of 0
- RTMPTkipAppend(&pAdapter->PrivateInfo.Tx, Priority, 4);
--
-+
- if (LenEncap > 0)
- {
- // LLC encapsulation
-@@ -454,7 +454,7 @@
- }
- else
- RTMPTkipAppend(&pAdapter->PrivateInfo.Tx, pSrc + 14, skb->len - 14);
--
-+
- // Compute the final MIC Value
- RTMPTkipGetMIC(&pAdapter->PrivateInfo.Tx);
- }
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_type.h rt2500-cvs-2007061011/Module/rtmp_type.h
---- rt2500-1.1.0-b4/Module/rtmp_type.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_type.h 2007-03-21 05:25:35.000000000 +0100
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_type.h
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulL 2md Jan 03 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulL 2md Jan 03 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #ifndef __RTMP_TYPE_H__
- #define __RTMP_TYPE_H__
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_wep.c rt2500-cvs-2007061011/Module/rtmp_wep.c
---- rt2500-1.1.0-b4/Module/rtmp_wep.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_wep.c 2007-03-21 05:25:35.000000000 +0100
-@@ -1,40 +1,40 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: rtmp_wep.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulW 28th Sep 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: rtmp_wep.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulW 28th Sep 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
--ULONG FCSTAB_32[256] =
-+ULONG FCSTAB_32[256] =
- {
- 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba,
- 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
-@@ -56,57 +56,57 @@
- 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
- 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818,
- 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
-- 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
-- 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
-- 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c,
-- 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
-- 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
-- 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
-- 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
-- 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
-- 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086,
-- 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
-- 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4,
-- 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
-- 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
-- 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
-- 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
-- 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
-- 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe,
-- 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
-- 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
-- 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
-- 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252,
-- 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
-- 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60,
-- 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
-- 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
-- 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
-- 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04,
-- 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
-- 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a,
-- 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
-- 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
-- 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
-- 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e,
-- 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
-- 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
-- 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
-- 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
-- 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
-- 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0,
-- 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
-- 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6,
-- 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
-- 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
-- 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
--};
-+ 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
-+ 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
-+ 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c,
-+ 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
-+ 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
-+ 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
-+ 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
-+ 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
-+ 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086,
-+ 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
-+ 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4,
-+ 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
-+ 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
-+ 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
-+ 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
-+ 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
-+ 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe,
-+ 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
-+ 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
-+ 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
-+ 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252,
-+ 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
-+ 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60,
-+ 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
-+ 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
-+ 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
-+ 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04,
-+ 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
-+ 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a,
-+ 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
-+ 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
-+ 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
-+ 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e,
-+ 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
-+ 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
-+ 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
-+ 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
-+ 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
-+ 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0,
-+ 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
-+ 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6,
-+ 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
-+ 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
-+ 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
-+};
-
- UCHAR WEPKEY[] = {
- //IV
-- 0x00, 0x11, 0x22,
-+ 0x00, 0x11, 0x22,
- //WEP KEY
-- 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC
-+ 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC
- };
-
-
-@@ -114,27 +114,27 @@
- ========================================================================
-
- Routine Description:
-- Init WEP function.
--
-+ Init WEP function.
-+
- Arguments:
- pAdapter Pointer to our adapter
- pKey Pointer to the WEP KEY
- KeyId WEP Key ID
- KeyLen the length of WEP KEY
- pDest Pointer to the destination which Encryption data will store in.
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPInitWepEngine(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pKey,
- IN UCHAR KeyId,
-- IN UCHAR KeyLen,
-+ IN UCHAR KeyLen,
- IN OUT PUCHAR pDest)
- {
- UINT i;
-@@ -146,32 +146,32 @@
- WEPKEY[i] = RandomByte(pAdapter); //Call mlme RandomByte() function.
- ARCFOUR_INIT(&pAdapter->PrivateInfo.WEPCONTEXT, WEPKEY, KeyLen + 3); //INIT SBOX, KEYLEN+3(IV)
-
-- memcpy(pDest, WEPKEY, 3); //Append Init Vector
-- *(pDest+3) = (KeyId << 6); //Append KEYID
--
-+ memcpy(pDest, WEPKEY, 3); //Append Init Vector
-+ *(pDest+3) = (KeyId << 6); //Append KEYID
-+
- }
-
- /*
- ========================================================================
-
- Routine Description:
-- Encrypt transimitted data
--
-+ Encrypt transimitted data
-+
- Arguments:
- pAdapter Pointer to our adapter
- pSrc Pointer to the transimitted source data that will be encrypt
- pDest Pointer to the destination where entryption data will be store in.
- Len Indicate the length of the source data
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPEncryptData(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pSrc,
- IN PUCHAR pDest,
- IN UINT Len)
-@@ -184,19 +184,19 @@
- ========================================================================
-
- Routine Description:
-- Decrypt received data
--
-+ Decrypt received data
-+
- Arguments:
- pAdapter Pointer to our adapter
- pSrc Pointer to the received data
- Len the length of the received data
--
-+
- Return Value:
- TRUE Decrypt WEP data success
- FALSE Decrypt WEP data failed
--
-+
- Note:
--
-+
- ========================================================================
- */
- BOOLEAN RTMPDecryptData(
-@@ -209,12 +209,12 @@
- UCHAR KeyIdx;
-
- memcpy(WEPKEY, pSrc, 3); //Get WEP IV
--
-+
- KeyIdx = (*(pSrc + 3) & 0xc0) >> 6;
- if (pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen == 0)
- return (FALSE);
--
-- memcpy(WEPKEY + 3, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
-+
-+ memcpy(WEPKEY + 3, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
- ARCFOUR_INIT(&pAdapter->PrivateInfo.WEPCONTEXT, WEPKEY, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen + 3);
- ARCFOUR_DECRYPT(&pAdapter->PrivateInfo.WEPCONTEXT, pSrc, pSrc + 4, Len - 4);
- memcpy(&trailfcs, pSrc + Len - 8, 4);
-@@ -236,18 +236,18 @@
- ========================================================================
-
- Routine Description:
-- The Stream Cipher Encryption Algorithm "ARCFOUR" initialize
--
-+ The Stream Cipher Encryption Algorithm "ARCFOUR" initialize
-+
- Arguments:
- Ctx Pointer to ARCFOUR CONTEXT (SBOX)
- pKey Pointer to the WEP KEY
- KeyLen Indicate the length fo the WEP KEY
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID ARCFOUR_INIT(
-@@ -260,7 +260,7 @@
- UINT stateindex;
- PUCHAR state;
- UINT counter;
--
-+
- state = Ctx->STATE;
- Ctx->X = 0;
- Ctx->Y = 0;
-@@ -284,16 +284,16 @@
- ========================================================================
-
- Routine Description:
-- Get bytes from ARCFOUR CONTEXT (S-BOX)
--
-+ Get bytes from ARCFOUR CONTEXT (S-BOX)
-+
- Arguments:
- Ctx Pointer to ARCFOUR CONTEXT (SBOX)
--
-+
- Return Value:
-- UCHAR - the value of the ARCFOUR CONTEXT (S-BOX)
--
-+ UCHAR - the value of the ARCFOUR CONTEXT (S-BOX)
-+
- Note:
--
-+
- ========================================================================
- */
- UCHAR ARCFOUR_BYTE(
-@@ -303,7 +303,7 @@
- UINT y;
- UCHAR sx, sy;
- PUCHAR state;
--
-+
- state = Ctx->STATE;
- x = (Ctx->X + 1) & 0xff;
- sx = state[x];
-@@ -315,31 +315,31 @@
- state[x] = sy;
-
- return(state[(sx + sy) & 0xff]);
--
-+
- }
-
- /*
- ========================================================================
-
- Routine Description:
-- The Stream Cipher Decryption Algorithm
--
-+ The Stream Cipher Decryption Algorithm
-+
- Arguments:
- Ctx Pointer to ARCFOUR CONTEXT (SBOX)
-- pDest Pointer to the Destination
-+ pDest Pointer to the Destination
- pSrc Pointer to the Source data
- Len Indicate the length of the Source data
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID ARCFOUR_DECRYPT(
- IN PARCFOURCONTEXT Ctx,
-- IN PUCHAR pDest,
-+ IN PUCHAR pDest,
- IN PUCHAR pSrc,
- IN UINT Len)
- {
-@@ -353,19 +353,19 @@
- ========================================================================
-
- Routine Description:
-- The Stream Cipher Encryption Algorithm
--
-+ The Stream Cipher Encryption Algorithm
-+
- Arguments:
- Ctx Pointer to ARCFOUR CONTEXT (SBOX)
-- pDest Pointer to the Destination
-+ pDest Pointer to the Destination
- pSrc Pointer to the Source data
- Len Indicate the length of the Source dta
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID ARCFOUR_ENCRYPT(
-@@ -385,17 +385,17 @@
-
- Routine Description:
- Calculate a new FCS given the current FCS and the new data.
--
-+
- Arguments:
- Fcs the original FCS value
- Cp pointer to the data which will be calculate the FCS
- Len the length of the data
--
-+
- Return Value:
- ULONG - FCS 32 bits
--
-+
- Note:
--
-+
- ========================================================================
- */
- ULONG RTMP_CALC_FCS32(
-@@ -406,24 +406,24 @@
- while (Len--)
- Fcs = (((Fcs) >> 8) ^ FCSTAB_32[((Fcs) ^ (*Cp++)) & 0xff]);
-
-- return (Fcs);
--}
-+ return (Fcs);
-+}
-
-
- /*
- ========================================================================
-
- Routine Description:
-- Get last FCS and encrypt it to the destination
--
-+ Get last FCS and encrypt it to the destination
-+
- Arguments:
-- pDest Pointer to the Destination
--
-+ pDest Pointer to the Destination
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPSetICV(
-@@ -431,11 +431,11 @@
- IN PUCHAR pDest)
- {
- pAdapter->PrivateInfo.FCSCRC32 ^= 0xffffffff; /* complement */
--
-+
- #ifdef BIG_ENDIAN
- pAdapter->PrivateInfo.FCSCRC32 = SWAP32(pAdapter->PrivateInfo.FCSCRC32);
- #endif
--
-+
- ARCFOUR_ENCRYPT(&pAdapter->PrivateInfo.WEPCONTEXT, pDest, (PUCHAR) &pAdapter->PrivateInfo.FCSCRC32, 4);
- }
-
-diff -Nur rt2500-1.1.0-b4/Module/sanity.c rt2500-cvs-2007061011/Module/sanity.c
---- rt2500-1.1.0-b4/Module/sanity.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/sanity.c 2007-03-21 05:25:35.000000000 +0100
-@@ -1,41 +1,42 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: sanity.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: sanity.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
--UCHAR WPA_OUI[] = {0x00, 0x50, 0xf2, 0x01};
-+static const UCHAR WPA_OUI[] = {0x00, 0x50, 0xf2, 0x01};
-+static const ie_oui_t wpa2_oui = {0x00, 0x0f, 0xac}; // 802.11i pp. 28, 30
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -44,13 +45,13 @@
- ==========================================================================
- */
- BOOLEAN MlmeScanReqSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT UCHAR *BssType,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen,
-- OUT UCHAR *ScanType)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT UCHAR *BssType,
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen,
-+ OUT UCHAR *ScanType)
- {
- MLME_SCAN_REQ_STRUCT *Info;
-
-@@ -61,16 +62,16 @@
- *ScanType = Info->ScanType;
-
- if ((*BssType == BSS_INFRA || *BssType == BSS_INDEP || *BssType == BSS_ANY) &&
-- (*ScanType == SCAN_ACTIVE || *ScanType == SCAN_PASSIVE))
-+ (*ScanType == SCAN_ACTIVE || *ScanType == SCAN_PASSIVE))
- return TRUE;
-- else
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE, "MlmeScanReqSanity fail - wrong BssType or ScanType\n");
- return FALSE;
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -79,16 +80,16 @@
- ==========================================================================
- */
- BOOLEAN MlmeStartReqSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen)
- {
- MLME_START_REQ_STRUCT *Info;
-
- Info = (MLME_START_REQ_STRUCT *)(Msg);
--
-+
- if (Info->SsidLen > MAX_LEN_OF_SSID)
- {
- DBGPRINT(RT_DEBUG_TRACE, "MlmeStartReqSanity fail - wrong SSID length\n");
-@@ -101,7 +102,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -110,13 +111,13 @@
- ==========================================================================
- */
- BOOLEAN MlmeAssocReqSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *ApAddr,
-- OUT USHORT *CapabilityInfo,
-- OUT ULONG *Timeout,
-- OUT USHORT *ListenIntv)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *ApAddr,
-+ OUT USHORT *CapabilityInfo,
-+ OUT ULONG *Timeout,
-+ OUT USHORT *ListenIntv)
- {
- MLME_ASSOC_REQ_STRUCT *Info;
-
-@@ -129,7 +130,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -138,12 +139,12 @@
- ==========================================================================
- */
- BOOLEAN MlmeAuthReqSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr,
-- OUT ULONG *Timeout,
-- OUT USHORT *Alg)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr,
-+ OUT ULONG *Timeout,
-+ OUT USHORT *Alg)
- {
- MLME_AUTH_REQ_STRUCT *Info;
-
-@@ -152,18 +153,18 @@
- *Timeout = Info->Timeout;
- *Alg = Info->Alg;
-
-- if ((*Alg == Ndis802_11AuthModeShared || *Alg == Ndis802_11AuthModeOpen) && !MAC_ADDR_IS_GROUP(*Addr))
-+ if ((*Alg == Ndis802_11AuthModeShared || *Alg == Ndis802_11AuthModeOpen) && !MAC_ADDR_IS_GROUP(*Addr))
- {
- return TRUE;
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE, "MlmeAuthReqSanity fail - wrong algorithm\n");
- return FALSE;
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -172,16 +173,16 @@
- ==========================================================================
- */
- BOOLEAN PeerAssocRspSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT USHORT *CapabilityInfo,
-- OUT USHORT *Status,
-- OUT USHORT *Aid,
-- OUT UCHAR Rates[],
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT USHORT *CapabilityInfo,
-+ OUT USHORT *Status,
-+ OUT USHORT *Aid,
-+ OUT UCHAR Rates[],
- OUT UCHAR *RatesLen,
-- OUT BOOLEAN *ExtendedRateIeExist)
-+ OUT BOOLEAN *ExtendedRateIeExist)
- {
- CHAR IeType, *Ptr;
- MACFRAME *Fr = (MACFRAME *)Msg;
-@@ -195,7 +196,7 @@
- // Mask out unnecessary capability information
- *CapabilityInfo &= SUPPORTED_CAPABILITY_INFO;
-
-- if (*Status == MLME_SUCCESS)
-+ if (*Status == MLME_SUCCESS)
- {
- memcpy(Aid, &Fr->Octet[4], 2);
- *Aid = (*Aid) & 0x3fff; // AID is low 14-bit
-@@ -207,8 +208,8 @@
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerAssocRspSanity fail - wrong SupportedRates IE\n");
- return FALSE;
-- }
-- else
-+ }
-+ else
- memcpy(Rates, &Fr->Octet[8], *RatesLen);
-
- // many AP implement proprietary IEs in non-standard order, we'd better
-@@ -235,7 +236,7 @@
- }
- break;
- default:
-- DBGPRINT(RT_DEBUG_TRACE, "PeerAssocRspSanity - ignore unrecognized EID = %d\n", eid_ptr->Eid);
-+ DBGPRINT(RT_DEBUG_TRACE, "PeerAssocRspSanity - ignore unrecognized EID=%d (Len=%d)\n", eid_ptr->Eid, eid_ptr->Len);
- break;
- }
-
-@@ -247,7 +248,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -256,11 +257,11 @@
- ==========================================================================
- */
- BOOLEAN PeerDisassocSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT USHORT *Reason)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT USHORT *Reason)
- {
- MACFRAME *Fr = (MACFRAME *)Msg;
-
-@@ -270,7 +271,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -279,11 +280,11 @@
- ==========================================================================
- */
- BOOLEAN PeerDeauthSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT USHORT *Reason)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT USHORT *Reason)
- {
- MACFRAME *Fr = (MACFRAME *)Msg;
-
-@@ -293,7 +294,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -302,14 +303,14 @@
- ==========================================================================
- */
- BOOLEAN PeerAuthSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr,
-- OUT USHORT *Alg,
-- OUT USHORT *Seq,
-- OUT USHORT *Status,
-- CHAR *ChlgText)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr,
-+ OUT USHORT *Alg,
-+ OUT USHORT *Seq,
-+ OUT USHORT *Status,
-+ CHAR *ChlgText)
- {
- MACFRAME *Fr = (MACFRAME *)Msg;
-
-@@ -318,43 +319,43 @@
- memcpy(Seq, &Fr->Octet[2], 2);
- memcpy(Status, &Fr->Octet[4], 2);
-
-- if (*Alg == Ndis802_11AuthModeOpen)
-+ if (*Alg == Ndis802_11AuthModeOpen)
- {
-- if (*Seq == 1 || *Seq == 2)
-+ if (*Seq == 1 || *Seq == 2)
- {
- return TRUE;
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerAuthSanity fail - wrong Seg#\n");
- return FALSE;
- }
-- }
-- else if (*Alg == Ndis802_11AuthModeShared)
-+ }
-+ else if (*Alg == Ndis802_11AuthModeShared)
- {
-- if (*Seq == 1 || *Seq == 4)
-+ if (*Seq == 1 || *Seq == 4)
- {
- return TRUE;
-- }
-- else if (*Seq == 2 || *Seq == 3)
-+ }
-+ else if (*Seq == 2 || *Seq == 3)
- {
- memcpy(ChlgText, &Fr->Octet[8], CIPHER_TEXT_LEN);
- return TRUE;
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerAuthSanity fail - wrong Seg#\n");
- return FALSE;
- }
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerAuthSanity fail - wrong algorithm\n");
- return FALSE;
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -363,14 +364,14 @@
- ==========================================================================
- */
- BOOLEAN PeerProbeReqSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
- OUT MACADDR *Addr2,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen)
--// OUT UCHAR Rates[],
--// OUT UCHAR *RatesLen)
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen)
-+// OUT UCHAR Rates[],
-+// OUT UCHAR *RatesLen)
- {
- UCHAR Idx;
- UCHAR RateLen;
-@@ -379,27 +380,27 @@
-
- COPY_MAC_ADDR(Addr2, &Fr->Hdr.Addr2);
-
-- if ((Fr->Octet[0] != IE_SSID) || (Fr->Octet[1] > MAX_LEN_OF_SSID))
-+ if ((Fr->Octet[0] != IE_SSID) || (Fr->Octet[1] > MAX_LEN_OF_SSID))
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerProbeReqSanity fail - wrong SSID IE(Type=%d,Len=%d)\n",Fr->Octet[0],Fr->Octet[1]);
- return FALSE;
-- }
--
-+ }
-+
- *SsidLen = Fr->Octet[1];
- memcpy(Ssid, &Fr->Octet[2], *SsidLen);
-
--#if 1
-+#if 1
- Idx = *SsidLen + 2;
-
- // -- get supported rates from payload and advance the pointer
- IeType = Fr->Octet[Idx];
- RateLen = Fr->Octet[Idx + 1];
-- if (IeType != IE_SUPP_RATES)
-+ if (IeType != IE_SUPP_RATES)
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerProbeReqSanity fail - wrong SupportRates IE(Type=%d,Len=%d)\n",Fr->Octet[Idx],Fr->Octet[Idx+1]);
- return FALSE;
- }
-- else
-+ else
- {
- if ((pAd->PortCfg.AdhocMode == 2) && (RateLen < 8))
- return (FALSE);
-@@ -408,7 +409,95 @@
- return TRUE;
- }
-
--/*
-+static inline void handle_country_ie(
-+ country_ie_p p)
-+{
-+ int i;
-+
-+ DBGPRINT(RT_DEBUG_INFO,
-+ " - IE_COUNTRY (ID=%d) (Len=%d) "
-+ "(string=\"%c%c:%c\")\n",
-+ p->eid, p->length, p->cs.co[0], p->cs.co[1], p->cs.env);
-+
-+ // drop malformed elements
-+ if (p->length & 1 || p->length < 6) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_COUNTRY invalid length\n");
-+ return;
-+ }
-+ for (i = 0; i < offsetof(country_string_t, env); i++) {
-+ if (p->cs.co[i] < 'A' || p->cs.co[i] > 'z') {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_COUNTRY invalid co fld\n");
-+ return;
-+ }
-+ }
-+ if (p->cs.env != ' ' && p->cs.env != 'O' && p->cs.env != 'I') {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_COUNTRY invalid env field\n");
-+ return;
-+ }
-+ if (p->length % 3 && *(char *)((char *)p + p->length + 1) != 0) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_COUNTRY pad non-null\n");
-+ return;
-+ }
-+#ifdef RT2500_DBG
-+ {
-+ int num_subelements = p->length/3 - 1;
-+ country_subelement_p sep = p->chans;
-+ for (i = 0; i < num_subelements; i++, sep++)
-+ {
-+ DBGPRINT(RT_DEBUG_INFO,
-+ " - Band %d First chan=%d, Num chans=%d, Max Tx Pwr=%d\n",
-+ i, sep->first_chan, sep->num_chans, sep->max_tx_pwr);
-+ }
-+ }
-+#endif /* RT2500_DBG */
-+ /* TODO */
-+
-+} /* End handle_country_ie () */
-+
-+static inline int handle_rsn_ie(
-+ rsn_ie_p p,
-+ PNDIS_802_11_VARIABLE_IEs pVIE)
-+{
-+ DBGPRINT(RT_DEBUG_INFO,
-+ " - IE_RSN (ID=%d, Len=%d)\n",
-+ p->eid, p->length);
-+
-+ // drop malformed elements
-+ if (p->length < 2 || p->length & 1) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_RSN invalid length\n");
-+ return 0;
-+ }
-+ if (wtohs(p->version) != 1) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_RSN invalid version %d\n",
-+ p->version);
-+ return 0;
-+ }
-+ if (p->length >= 6) { // group cipher suite
-+ if (!RTMPEqualMemory(&p->gcsuite.oui, wpa2_oui, sizeof(wpa2_oui)))
-+ {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_RSN invalid oui "
-+ "%02x %02x %02x\n",
-+ p->gcsuite.oui[0], p->gcsuite.oui[1], p->gcsuite.oui[2]);
-+ return 0;
-+ }
-+ }
-+ // Copy to pVIE which will report to microsoft bssid list.
-+ pVIE->ElementID = p->eid;
-+ pVIE->Length = p->length;
-+ memcpy(pVIE->data, &p->version, p->length);
-+
-+ return (p->length + 2);
-+
-+} /* End handle_rsn_ie () */
-+
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -417,47 +506,56 @@
- ==========================================================================
- */
- BOOLEAN PeerBeaconAndProbeRspSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT MACADDR *Bssid,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen,
-- OUT UCHAR *BssType,
-- OUT USHORT *BeaconPeriod,
-- OUT UCHAR *Channel,
-- OUT LARGE_INTEGER *Timestamp,
-- OUT BOOLEAN *CfExist,
-- OUT CF_PARM *CfParm,
-- OUT USHORT *AtimWin,
-- OUT USHORT *CapabilityInfo,
-- OUT UCHAR Rate[],
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT MACADDR *Bssid,
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen,
-+ OUT UCHAR *BssType,
-+ OUT USHORT *BeaconPeriod,
-+ OUT UCHAR *Channel,
-+ OUT LARGE_INTEGER *Timestamp,
-+ OUT BOOLEAN *CfExist,
-+ OUT CF_PARM *CfParm,
-+ OUT USHORT *AtimWin,
-+ OUT USHORT *CapabilityInfo,
-+ OUT UCHAR Rate[],
- OUT UCHAR *RateLen,
- OUT BOOLEAN *ExtendedRateIeExist,
- OUT UCHAR *Erp,
-- OUT UCHAR *DtimCount,
-- OUT UCHAR *DtimPeriod,
-- OUT UCHAR *BcastFlag,
-- OUT UCHAR *MessageToMe,
-+ OUT UCHAR *DtimCount,
-+ OUT UCHAR *DtimPeriod,
-+ OUT UCHAR *BcastFlag,
-+ OUT UCHAR *MessageToMe,
- OUT UCHAR *Legacy,
- OUT UCHAR SupRate[],
- OUT UCHAR *SupRateLen,
- OUT UCHAR ExtRate[],
- OUT UCHAR *ExtRateLen,
-- OUT PNDIS_802_11_VARIABLE_IEs pVIE)
-+ OUT USHORT *VarIELen, // Length of all saved IEs.
-+ OUT PNDIS_802_11_VARIABLE_IEs pVIE)
- {
- CHAR *Ptr, TimLen;
- MACFRAME *Fr;
- PBEACON_EID_STRUCT eid_ptr;
- UCHAR SubType;
- UCHAR Sanity;
-+ UCHAR VarIE[MAX_VIE_LEN];
-+
-+ // armor against buffer overflow
-+ UCHAR *vielim = &VarIE[MAX_VIE_LEN];
-+ NDIS_802_11_VARIABLE_IEs *ptVIE = (PNDIS_802_11_VARIABLE_IEs)VarIE;
-+
-+ DBGPRINT(RT_DEBUG_TRACE,"===> %s\n", __FUNCTION__);
-
- // Add for 3 necessary EID field check
- Sanity = 0;
-
- *ExtendedRateIeExist = FALSE;
- *Erp = 0;
-+ *VarIELen = 0;
-
- Fr = (MACFRAME *)Msg;
-
-@@ -481,40 +579,48 @@
- // get capability info from payload and advance the pointer
- memcpy(CapabilityInfo, Ptr, 2);
- Ptr += 2;
-- if (CAP_IS_ESS_ON(*CapabilityInfo))
-+ DBGPRINT(RT_DEBUG_INFO, " - CapabilityInfo=0x%.2x\n", *CapabilityInfo);
-+ if (CAP_IS_ESS_ON(*CapabilityInfo))
- {
- *BssType = BSS_INFRA;
-- }
-- else
-+ }
-+ else
- {
- *BssType = BSS_INDEP;
- }
-
- // Mask out unnecessary capability information
- *CapabilityInfo &= SUPPORTED_CAPABILITY_INFO;
--
-+
- eid_ptr = (PBEACON_EID_STRUCT) Ptr;
-
- // get variable fields from payload and advance the pointer
- while(((UCHAR*)eid_ptr + eid_ptr->Len + 1) < ((UCHAR*)Fr + MsgLen))
- {
-+ DBGPRINT(RT_DEBUG_INFO, " - IE #%d len=%d\n",
-+ eid_ptr->Eid, eid_ptr->Len);
- switch(eid_ptr->Eid)
- {
- case IE_SSID:
-- // Already has one SSID EID in this beacon, ignore the second one
-+ // Already have one SSID EID in this beacon, ignore second one
- if (Sanity & 0x1)
- break;
- if(eid_ptr->Len <= MAX_LEN_OF_SSID)
- {
- memcpy(Ssid, eid_ptr->Octet, eid_ptr->Len);
-- memset(Ssid + eid_ptr->Len,0,1);
-+ if (eid_ptr->Len < MAX_LEN_OF_SSID)
-+ memset(Ssid + eid_ptr->Len,0,1);
- *SsidLen = eid_ptr->Len;
- Sanity |= 0x1;
-- //DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - ESSID=%s Len=%d\n",Ssid,eid_ptr->Len);
-+ DBGPRINT(RT_DEBUG_INFO, " - SSID=%s Len=%d\n",
-+ Ssid, eid_ptr->Len);
-+ DBGHEXSTR(RT_DEBUG_INFO, " - SSID(hex)=",
-+ Ssid, eid_ptr->Len);
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_SSID (len=%d)\n",eid_ptr->Len);
-+ DBGPRINT(RT_DEBUG_TRACE, "<=== %s - bad IE_SSID len=%d\n",
-+ __FUNCTION__, eid_ptr->Len);
- return FALSE;
- }
- break;
-@@ -546,13 +652,15 @@
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_SUPP_RATES (len=%d)\n",eid_ptr->Len);
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "<=== %s - wrong IE_SUPP_RATES (len=%d)\n",
-+ __FUNCTION__, eid_ptr->Len);
- return FALSE;
- }
- break;
-
- case IE_FH_PARM:
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity(IE_FH_PARM) \n");
-+ DBGPRINT(RT_DEBUG_INFO, " - (IE_FH_PARM) \n");
- break;
-
- case IE_DS_PARM:
-@@ -561,14 +669,18 @@
- *Channel = *eid_ptr->Octet;
- if (ChannelSanity(pAd, *Channel) == 0)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_DS_PARM (ch=%d)\n",*Channel);
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "<=== %s - wrong IE_DS_PARM (ch=%d)\n",
-+ __FUNCTION__, *Channel);
- return FALSE;
- }
- Sanity |= 0x4;
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_DS_PARM (len=%d)\n",eid_ptr->Len);
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "<=== %s - wrong IE_DS_PARM (len=%d)\n",
-+ __FUNCTION__, eid_ptr->Len);
- return FALSE;
- }
- break;
-@@ -581,7 +693,8 @@
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_CF_PARM\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "<=== %s - wrong IE_CF_PARM\n",
-+ __FUNCTION__);
- return FALSE;
- }
- break;
-@@ -593,7 +706,8 @@
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_IBSS_PARM\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "<=== %s - wrong IE_IBSS_PARM\n",
-+ __FUNCTION__);
- return FALSE;
- }
- break;
-@@ -605,18 +719,45 @@
- }
- break;
-
-+ case IE_COUNTRY:
-+ handle_country_ie((country_ie_p)eid_ptr);
-+ break;
-+
- // New for WPA
- case IE_WPA:
-- // Check the OUI version, filter out non-standard usage
-- if (RTMPEqualMemory(eid_ptr->Octet, WPA_OUI, 4))
-- {
-- // Copy to pVIE which will report to microsoft bssid list.
-- pVIE->ElementID = eid_ptr->Eid;
-- pVIE->Length = eid_ptr->Len;
-- memcpy(pVIE->data, eid_ptr->Octet, eid_ptr->Len);
-- }
-- DBGPRINT(RT_DEBUG_INFO, "PeerBeaconAndProbeRspSanity - Receive IE_WPA\n");
-- break;
-+ if (vielim >= (UCHAR *)ptVIE + eid_ptr->Len + 2)
-+ {
-+ // ptVIE will report to microsoft bssid list.
-+ ptVIE->ElementID = eid_ptr->Eid;
-+ ptVIE->Length = eid_ptr->Len;
-+ memcpy(ptVIE->data, eid_ptr->Octet, eid_ptr->Len);
-+ ptVIE = (PNDIS_802_11_VARIABLE_IEs)((UCHAR *)ptVIE +
-+ ptVIE->Length + 2);
-+ DBGPRINT(RT_DEBUG_INFO, " - OUI (%02x:%02x:%02x:%02x)\n",
-+ eid_ptr->Octet[0], eid_ptr->Octet[1],
-+ eid_ptr->Octet[2], eid_ptr->Octet[3]);
-+ }
-+ else
-+ {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_WPA rcv area needs %d bytes: has %d left\n",
-+ eid_ptr->Len + 2, vielim - (UCHAR *)ptVIE);
-+ }
-+ break;
-+
-+ case IE_RSN:
-+ if (vielim >= (UCHAR *)ptVIE + eid_ptr->Len + 2)
-+ {
-+ ptVIE = (PNDIS_802_11_VARIABLE_IEs)((UCHAR *)ptVIE +
-+ handle_rsn_ie((rsn_ie_p)eid_ptr, ptVIE));
-+ }
-+ else
-+ {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_RSN rcv area needs %d bytes: has %d left\n",
-+ eid_ptr->Len + 2, vielim - (UCHAR *)ptVIE);
-+ }
-+ break;
-
- case IE_EXT_SUPP_RATES:
- // concatenate all extended rates to Rates[] and RateLen
-@@ -654,15 +795,20 @@
- *Erp = (UCHAR)eid_ptr->Octet[0];
- }
- break;
--
-+
- default:
-- DBGPRINT(RT_DEBUG_INFO, "PeerBeaconAndProbeRspSanity - unrecognized EID = %d\n", eid_ptr->Eid);
-+ DBGPRINT(RT_DEBUG_ERROR, " - EID=%d (Len=%d) unrecognized\n",
-+ eid_ptr->Eid, eid_ptr->Len);
- break;
- }
--
-+
- eid_ptr = (PBEACON_EID_STRUCT)((UCHAR*)eid_ptr + 2 + eid_ptr->Len);
- }
--
-+ if ((UCHAR *)ptVIE > VarIE) {
-+ int vielen = (UCHAR *)ptVIE - VarIE;
-+ *VarIELen = vielen;
-+ memcpy(pVIE, VarIE, vielen);
-+ }
-
- // in 802.11a band, AP may skip this DS IE in their BEACON
- if ((pAd->PortCfg.Channel > 14) && ((Sanity & 0x04)==0))
-@@ -670,7 +816,8 @@
- *Channel = pAd->PortCfg.Channel;
- Sanity |= 0x04;
- }
--
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "<=== %s: Sanity=0x%02x\n", __FUNCTION__, Sanity);
- if (Sanity != 0x7)
- {
- DBGPRINT(RT_DEBUG_WARN, "PeerBeaconAndProbeRspSanity - missing field, Sanity=0x%02x\n", Sanity);
-@@ -683,19 +830,19 @@
-
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
- */
- BOOLEAN GetTimBit(
-- IN CHAR *Ptr,
-- IN USHORT Aid,
-- OUT UCHAR *TimLen,
-- OUT UCHAR *BcastFlag,
-- OUT UCHAR *DtimCount,
-+ IN CHAR *Ptr,
-+ IN USHORT Aid,
-+ OUT UCHAR *TimLen,
-+ OUT UCHAR *BcastFlag,
-+ OUT UCHAR *DtimCount,
- OUT UCHAR *DtimPeriod,
-- OUT UCHAR *MessageToMe)
-+ OUT UCHAR *MessageToMe)
- {
- UCHAR BitCntl, N1, N2, MyByte, MyBit;
- CHAR *IdxPtr;
-@@ -717,11 +864,11 @@
- IdxPtr++;
- BitCntl = *IdxPtr;
-
-- if ((*DtimCount == 0) && (BitCntl & 0x01))
-+ if ((*DtimCount == 0) && (BitCntl & 0x01))
- *BcastFlag = TRUE;
-- else
-+ else
- *BcastFlag = FALSE;
--
-+
- #if 1
- // Parse Partial Virtual Bitmap from TIM element
- N1 = BitCntl & 0xfe; // N1 is the first bitmap byte#
-@@ -738,10 +885,10 @@
-
- //if (*IdxPtr)
- // DBGPRINT(RT_DEBUG_WARN, ("TIM bitmap = 0x%02x\n", *IdxPtr));
--
-+
- if (*IdxPtr & (0x01 << MyBit))
- *MessageToMe = TRUE;
-- else
-+ else
- *MessageToMe = FALSE;
- }
- #else
-@@ -760,15 +907,15 @@
- * \post
- */
- BOOLEAN GetLegacy(
-- IN CHAR *Ptr,
-- OUT UCHAR *Legacy)
-+ IN CHAR *Ptr,
-+ OUT UCHAR *Legacy)
- {
- *Legacy = 0;
- return TRUE;
- }
-
- UCHAR ChannelSanity(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN UCHAR channel)
- {
- UCHAR index;
-@@ -780,52 +927,52 @@
- }
- return 0;
-
--#if 0
-+#if 0
- switch (pAd->PortCfg.CountryRegion)
- {
- case REGION_FCC: // 1 - 11
- if ((channel > 0) && (channel < 12))
- return 1;
- break;
--
-+
- case REGION_IC: // 1 -11
- if ((channel > 0) && (channel < 12))
- return 1;
- break;
--
-+
- case REGION_ETSI: // 1 - 13
- if ((channel > 0) && (channel < 14))
- return 1;
- break;
--
-+
- case REGION_SPAIN: // 10 - 11
- if ((channel > 9) && (channel < 12))
- return 1;
- break;
--
-+
- case REGION_FRANCE: // 10 -13
- if ((channel > 9) && (channel < 14))
- return 1;
- break;
--
-+
- case REGION_MKK: // 14
-- if (channel == 14)
-+ if (channel == 14)
- return 1;
- break;
--
-+
- case REGION_MKK1: // 1 - 14
- if ((channel > 0) && (channel < 15))
- return 1;
- break;
--
-+
- case REGION_ISRAEL: // 3 - 9
- if ((channel > 2) && (channel < 10))
- return 1;
- break;
--
-+
- default: // Error
-- return 0;
-- }
-+ return 0;
-+ }
- return (0);
--#endif
-+#endif
- }
-diff -Nur rt2500-1.1.0-b4/Module/sync.c rt2500-cvs-2007061011/Module/sync.c
---- rt2500-1.1.0-b4/Module/sync.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/sync.c 2007-05-15 21:41:35.000000000 +0200
-@@ -1,37 +1,37 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: sync.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: sync.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
- * MarkW 5th Jun 05 Fix no-SSID broadcasting assoc.
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -59,7 +59,7 @@
- /*
- ==========================================================================
- Description:
-- The sync state machine,
-+ The sync state machine,
- Parameters:
- Sm - pointer to the state machine
- Note:
-@@ -93,9 +93,9 @@
- ==========================================================================
- */
- VOID SyncStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *Sm,
-- OUT STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *Sm,
-+ OUT STATE_MACHINE_FUNC Trans[])
- {
- StateMachineInit(Sm, (STATE_MACHINE_FUNC*)Trans, MAX_SYNC_STATE, MAX_SYNC_MSG, (STATE_MACHINE_FUNC)Drop, SYNC_IDLE, SYNC_MACHINE_BASE);
-
-@@ -105,7 +105,7 @@
- StateMachineSetAction(Sm, SYNC_IDLE, MT2_MLME_START_REQ, (STATE_MACHINE_FUNC)MlmeStartReqAction);
- StateMachineSetAction(Sm, SYNC_IDLE, MT2_PEER_BEACON, (STATE_MACHINE_FUNC)PeerBeacon);
- // StateMachineSetAction(Sm, SYNC_IDLE, MT2_PEER_PROBE_RSP, (STATE_MACHINE_FUNC)PeerBeacon);
-- StateMachineSetAction(Sm, SYNC_IDLE, MT2_PEER_PROBE_REQ, (STATE_MACHINE_FUNC)PeerProbeReqAction);
-+ StateMachineSetAction(Sm, SYNC_IDLE, MT2_PEER_PROBE_REQ, (STATE_MACHINE_FUNC)PeerProbeReqAction);
-
- //column 2
- StateMachineSetAction(Sm, JOIN_WAIT_BEACON, MT2_MLME_SCAN_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenScan);
-@@ -127,14 +127,14 @@
- RTMPInitTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, ScanTimeout);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Becaon timeout handler, executed in timer thread
- ==========================================================================
- */
- VOID BeaconTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
-
-@@ -143,30 +143,30 @@
- MlmeHandler(pAd);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ATIM timeout handler, executed in timer thread
- ==========================================================================
- */
- VOID AtimTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"SYNC - AtimTimeout \n");
- MlmeEnqueue(&pAd->Mlme.Queue, SYNC_STATE_MACHINE, MT2_ATIM_TIMEOUT, 0, NULL);
- MlmeHandler(pAd);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Scan timeout handler, executed in timer thread
- ==========================================================================
- */
- VOID ScanTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
-
-@@ -175,15 +175,15 @@
- MlmeHandler(pAd);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME SCAN req state machine procedure
- ==========================================================================
- */
- VOID MlmeScanReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- UCHAR Ssid[MAX_LEN_OF_SSID], SsidLen, ScanType, BssType;
- ULONG Now;
-@@ -192,13 +192,13 @@
- RTMPSuspendMsduTransmission(pAd);
-
- // first check the parameter sanity
-- if (MlmeScanReqSanity(pAd,
-- Elem->Msg,
-- Elem->MsgLen,
-- &BssType,
-- Ssid,
-- &SsidLen,
-- &ScanType))
-+ if (MlmeScanReqSanity(pAd,
-+ Elem->Msg,
-+ Elem->MsgLen,
-+ &BssType,
-+ Ssid,
-+ &SsidLen,
-+ &ScanType))
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - MlmeScanReqAction\n");
- Now = jiffies;
-@@ -212,12 +212,12 @@
- pAd->Mlme.SyncAux.ScanType = ScanType;
- pAd->Mlme.SyncAux.SsidLen = SsidLen;
- memcpy(pAd->Mlme.SyncAux.Ssid, Ssid, SsidLen);
--
-+
- // start from the first channel
- pAd->Mlme.SyncAux.Channel = FirstChannel(pAd);
- ScanNextChannel(pAd);
-- }
-- else
-+ }
-+ else
- {
- printk(KERN_ERR DRV_NAME "SYNC - MlmeScanReqAction() sanity check fail. BUG!!!\n");
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
-@@ -225,15 +225,15 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME JOIN req state machine procedure
- ==========================================================================
- */
- VOID MlmeJoinReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- BSS_ENTRY *pBss;
- MLME_JOIN_REQ_STRUCT *Info = (MLME_JOIN_REQ_STRUCT *)(Elem->Msg);
-@@ -255,7 +255,7 @@
- AsicSwitchChannel(pAd, pBss->Channel);
- AsicLockChannel(pAd, pBss->Channel);
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - Switch to channel %d, SSID %s \n", pBss->Channel, pAd->Mlme.SyncAux.Ssid);
-- DBGPRINT(RT_DEBUG_TRACE, "SYNC - Wait BEACON from %02x:%02x:%02x:%02x:%02x:%02x ...\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "SYNC - Wait BEACON from %02x:%02x:%02x:%02x:%02x:%02x ...\n",
- pAd->Mlme.SyncAux.Bssid.Octet[0], pAd->Mlme.SyncAux.Bssid.Octet[1],
- pAd->Mlme.SyncAux.Bssid.Octet[2], pAd->Mlme.SyncAux.Bssid.Octet[3],
- pAd->Mlme.SyncAux.Bssid.Octet[4], pAd->Mlme.SyncAux.Bssid.Octet[5]);
-@@ -264,17 +264,17 @@
- pAd->Mlme.SyncMachine.CurrState = JOIN_WAIT_BEACON;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME START Request state machine procedure, starting an IBSS
- ==========================================================================
- */
- VOID MlmeStartReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
-- UCHAR Ssid[MAX_LEN_OF_SSID], SsidLen;
-+ UCHAR Ssid[MAX_LEN_OF_SSID], SsidLen;
-
- // New for WPA security suites
- UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
-@@ -293,20 +293,20 @@
- TimeStamp.vv.LowPart = 0;
- TimeStamp.vv.HighPart = 0;
-
-- if (MlmeStartReqSanity(pAd, Elem->Msg, Elem->MsgLen, Ssid, &SsidLen))
-+ if (MlmeStartReqSanity(pAd, Elem->Msg, Elem->MsgLen, Ssid, &SsidLen))
- {
- // reset all the timers
- RTMPCancelTimer(&pAd->Mlme.SyncAux.ScanTimer);
- RTMPCancelTimer(&pAd->Mlme.SyncAux.BeaconTimer);
-
-- // PortCfg.PrivacyInvoked should have been set via OID_802_11_WEP_STATUS.
-+ // PortCfg.PrivacyInvoked should have been set via OID_802_11_WEP_STATUS.
- // pAd->PortCfg.PrivacyInvoked = FALSE;
-
-- memcpy(pAd->PortCfg.Ssid, Ssid, SsidLen);
-+ memcpy(pAd->PortCfg.Ssid, Ssid, SsidLen);
- pAd->PortCfg.SsidLen = SsidLen;
- pAd->PortCfg.BssType = BSS_INDEP;
-- Privacy = (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) ||
-- (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) ||
-+ Privacy = (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) ||
-+ (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) ||
- (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled);
- pAd->PortCfg.CapabilityInfo = CAP_GENERATE(0,1,0,0,Privacy, (pAd->PortCfg.WindowsTxPreamble == Rt802_11PreambleShort));
- pAd->PortCfg.BeaconPeriod = pAd->PortCfg.IbssConfig.BeaconPeriod;
-@@ -328,7 +328,7 @@
-
- // generate a radom number as BSSID
- MacAddrRandomBssid(pAd, &pAd->PortCfg.Bssid);
-- AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
-+ AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
- AsicSwitchChannel(pAd, pAd->PortCfg.Channel);
- AsicLockChannel(pAd, pAd->PortCfg.Channel);
-
-@@ -341,17 +341,17 @@
- if (Bssidx == BSS_NOT_FOUND)
- {
- Bssidx = BssTableSetEntry(pAd, &pAd->PortCfg.BssTab, &pAd->PortCfg.Bssid,
-- Ssid, SsidLen, pAd->PortCfg.BssType, pAd->PortCfg.BeaconPeriod,
-- CfExist, &CfParm, pAd->PortCfg.AtimWin, pAd->PortCfg.CapabilityInfo,
-+ Ssid, SsidLen, pAd->PortCfg.BssType, pAd->PortCfg.BeaconPeriod,
-+ CfExist, &CfParm, pAd->PortCfg.AtimWin, pAd->PortCfg.CapabilityInfo,
- pAd->PortCfg.SupportedRates, pAd->PortCfg.SupportedRatesLen, TRUE,
-- pAd->PortCfg.Channel, Elem->Rssi, TimeStamp, pVIE);
-+ pAd->PortCfg.Channel, Elem->Rssi, TimeStamp, 0, pVIE);
- }
- #endif
-
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_START_CONF, (USHORT)MLME_SUCCESS);
-- }
-- else
-+ }
-+ else
- {
- printk(KERN_ERR DRV_NAME "SYNC - MlmeStartReqAction() sanity check fail. BUG!!!\n");
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
-@@ -359,18 +359,18 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- peer sends beacon back when scanning
- ==========================================================================
- */
- VOID PeerBeaconAtScanAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Bssid, Addr2;
-- UCHAR Ssid[MAX_LEN_OF_SSID], BssType, Channel, Rates[MAX_LEN_OF_SUPPORTED_RATES], RatesLen,
-+ UCHAR Ssid[MAX_LEN_OF_SSID], BssType, Channel, Rates[MAX_LEN_OF_SUPPORTED_RATES], RatesLen,
- SsidLen, DtimCount, DtimPeriod, BcastFlag, MessageToMe, Legacy;
- CF_PARM CfParm;
- USHORT BeaconPeriod, AtimWin, CapabilityInfo;
-@@ -383,54 +383,55 @@
- UCHAR SupRateLen, ExtRateLen;
-
- // New for WPA security suites
-- UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
-+ USHORT VarIELen; // Length of all saved IEs.
-+ UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
- NDIS_802_11_VARIABLE_IEs *pVIE = NULL;
-
- // NdisFillMemory(Ssid, MAX_LEN_OF_SSID, 0x00);
- Fr = (MACFRAME *) Elem->Msg;
- // Init Variable IE structure
- pVIE = (PNDIS_802_11_VARIABLE_IEs) VarIE;
-- pVIE->Length = 0;
-- if (PeerBeaconAndProbeRspSanity(pAd,
-- Elem->Msg,
-- Elem->MsgLen,
-- &Addr2,
-- &Bssid, Ssid,
-- &SsidLen,
-- &BssType,
-- &BeaconPeriod,
-- &Channel,
-- &TimeStamp,
-- &CfExist,
-- &CfParm,
-- &AtimWin,
-- &CapabilityInfo,
-- Rates,
-+ if (PeerBeaconAndProbeRspSanity(pAd,
-+ Elem->Msg,
-+ Elem->MsgLen,
-+ &Addr2,
-+ &Bssid, Ssid,
-+ &SsidLen,
-+ &BssType,
-+ &BeaconPeriod,
-+ &Channel,
-+ &TimeStamp,
-+ &CfExist,
-+ &CfParm,
-+ &AtimWin,
-+ &CapabilityInfo,
-+ Rates,
- &RatesLen,
- &ExtendedRateIeExist,
- &Erp,
-- &DtimCount,
-- &DtimPeriod,
-- &BcastFlag,
-- &MessageToMe,
-+ &DtimCount,
-+ &DtimPeriod,
-+ &BcastFlag,
-+ &MessageToMe,
- &Legacy,
- SupRate,
- &SupRateLen,
- ExtRate,
- &ExtRateLen,
-- pVIE))
-+ &VarIELen,
-+ pVIE))
- {
- ULONG Idx;
- UCHAR Rssi = 0;
- UCHAR Noise = 0;
-
- // This correct im-proper RSSI indication during SITE SURVEY issue.
-- // Always report bigger RSSI during SCANNING when receiving multiple BEACONs from the same AP.
-- // This case happens because BEACONs come from adjacent channels, so RSSI become weaker as we
-+ // Always report bigger RSSI during SCANNING when receiving multiple BEACONs from the same AP.
-+ // This case happens because BEACONs come from adjacent channels, so RSSI become weaker as we
- // switch to more far away channels.
- Idx = BssTableSearch(&pAd->PortCfg.BssTab, &Bssid);
- if (Idx != BSS_NOT_FOUND)
-- {
-+ {
- Rssi = pAd->PortCfg.BssTab.BssEntry[Idx].Rssi;
- Noise = pAd->PortCfg.BssTab.BssEntry[Idx].Noise;
- }
-@@ -445,25 +446,25 @@
-
- // Mask out unnecessary capability information
- CapabilityInfo &= SUPPORTED_CAPABILITY_INFO;
-- BssTableSetEntry(pAd, &pAd->PortCfg.BssTab, &Bssid, Ssid, SsidLen, BssType,
-- BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo, Rates,
-- RatesLen, ExtendedRateIeExist, Channel, Rssi, Noise, TimeStamp, pVIE);
-+ BssTableSetEntry(pAd, &pAd->PortCfg.BssTab, &Bssid, Ssid, SsidLen, BssType,
-+ BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo, Rates,
-+ RatesLen, ExtendedRateIeExist, Channel, Rssi, Noise, TimeStamp, VarIELen, pVIE);
- }
- // sanity check fail, ignored
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- When waiting joining the (I)BSS, beacon received from external
- ==========================================================================
- */
- VOID PeerBeaconAtJoinAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Bssid, Addr2;
-- UCHAR Ssid[MAX_LEN_OF_SSID], SsidLen, BssType, Channel, RatesLen, MessageToMe,
-+ UCHAR Ssid[MAX_LEN_OF_SSID], SsidLen, BssType, Channel, RatesLen, MessageToMe,
- Rates[MAX_LEN_OF_SUPPORTED_RATES], DtimCount, DtimPeriod, BcastFlag, Legacy;
- LARGE_INTEGER TimeStamp;
- USHORT BeaconPeriod, AtimWin, CapabilityInfo;
-@@ -474,46 +475,48 @@
- UCHAR SupRateLen, ExtRateLen;
-
- // New for WPA security suites
-- UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
-+ USHORT VarIELen; // Length of all saved IEs.
-+ UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
- NDIS_802_11_VARIABLE_IEs *pVIE = NULL;
-
- // Init Variable IE structure
- pVIE = (PNDIS_802_11_VARIABLE_IEs) VarIE;
- pVIE->Length = 0;
-- if (PeerBeaconAndProbeRspSanity(pAd,
-- Elem->Msg,
-- Elem->MsgLen,
-- &Addr2,
-- &Bssid,
-- Ssid,
-- &SsidLen,
-- &BssType,
-- &BeaconPeriod,
-- &Channel,
-- &TimeStamp,
-- &CfExist,
-- &Cf,
-- &AtimWin,
-- &CapabilityInfo,
-- Rates,
-+ if (PeerBeaconAndProbeRspSanity(pAd,
-+ Elem->Msg,
-+ Elem->MsgLen,
-+ &Addr2,
-+ &Bssid,
-+ Ssid,
-+ &SsidLen,
-+ &BssType,
-+ &BeaconPeriod,
-+ &Channel,
-+ &TimeStamp,
-+ &CfExist,
-+ &Cf,
-+ &AtimWin,
-+ &CapabilityInfo,
-+ Rates,
- &RatesLen,
- &ExtendedRateIeExist,
- &Erp,
-- &DtimCount,
-- &DtimPeriod,
-- &BcastFlag,
-- &MessageToMe,
-+ &DtimCount,
-+ &DtimPeriod,
-+ &BcastFlag,
-+ &MessageToMe,
- &Legacy,
- SupRate,
- &SupRateLen,
- ExtRate,
- &ExtRateLen,
-- pVIE))
-+ &VarIELen,
-+ pVIE))
- {
- // Disqualify 11b only adhoc when we are in 11g only adhoc mode
- if ((BssType == BSS_INDEP) && (pAd->PortCfg.AdhocMode == 2) && (RatesLen < 12))
- return;
--
-+
- if (MAC_ADDR_EQUAL(&pAd->Mlme.SyncAux.Bssid, &Bssid))
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - receive desired BEACON at JoinWaitBeacon...\n");
-@@ -522,7 +525,7 @@
- // Update RSSI to prevent No signal display when cards first initialized
- pAd->PortCfg.LastRssi = Elem->Rssi;
- pAd->PortCfg.AvgRssi = Elem->Rssi;
--
-+
- if (pAd->Mlme.SyncAux.SsidLen > 0)
- {
- memcpy(pAd->PortCfg.Ssid, pAd->Mlme.SyncAux.Ssid, pAd->Mlme.SyncAux.SsidLen);
-@@ -533,7 +536,7 @@
- memcpy(pAd->PortCfg.Ssid, Ssid, SsidLen);
- pAd->PortCfg.SsidLen = SsidLen;
- }
--
-+
- COPY_MAC_ADDR(&pAd->PortCfg.Bssid, &Bssid);
- AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
-
-@@ -620,22 +623,22 @@
- {
- pAd->PortCfg.ExtRateLen = 0;
- }
--
-- DBGPRINT(RT_DEBUG_TRACE, "SYNC - AP's SupportedRatesLen=%d, set STA's SupportedRateLen=%d\n",
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "SYNC - AP's SupportedRatesLen=%d, set STA's SupportedRateLen=%d\n",
- RatesLen, pAd->PortCfg.SupportedRatesLen);
--
-+
- // Mask out unnecessary capability information
- CapabilityInfo &= SUPPORTED_CAPABILITY_INFO;
--
-+
- // Check for 802.11g information, if 802.11 b/g mixed mode.
- // We can't support its short preamble for now.
- pAd->PortCfg.CapabilityInfo = CapabilityInfo;
-
-- if ((BssType == BSS_INDEP) && (CAP_IS_IBSS_ON(CapabilityInfo)))
-+ if ((BssType == BSS_INDEP) && (CAP_IS_IBSS_ON(CapabilityInfo)))
- {
- pAd->PortCfg.AtimWin = AtimWin;
-- }
-- else if (BssType == BSS_INFRA)
-+ }
-+ else if (BssType == BSS_INFRA)
- {
- pAd->PortCfg.CfpPeriod = Cf.CfpPeriod;
- pAd->PortCfg.CfpMaxDuration = Cf.CfpMaxDuration;
-@@ -650,19 +653,19 @@
- MlmeCntlConfirm(pAd, MT2_JOIN_CONF, MLME_SUCCESS);
- }
- // not to me BEACON, ignored
-- }
-+ }
- // sanity check fail, ignore this frame
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- receive BEACON from peer
- ==========================================================================
- */
- VOID PeerBeacon(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Bssid, Addr2;
- CHAR Ssid[MAX_LEN_OF_SSID];
-@@ -679,7 +682,8 @@
- UCHAR SupRateLen, ExtRateLen;
-
- // New for WPA security suites
-- UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
-+ USHORT VarIELen; // Length of all saved IEs.
-+ UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
- NDIS_802_11_VARIABLE_IEs *pVIE = NULL;
-
- if (!INFRA_ON(pAd) && !ADHOC_ON(pAd))
-@@ -688,35 +692,36 @@
- // Init Variable IE structure
- pVIE = (PNDIS_802_11_VARIABLE_IEs) VarIE;
- pVIE->Length = 0;
-- if (PeerBeaconAndProbeRspSanity(pAd,
-- Elem->Msg,
-- Elem->MsgLen,
-- &Addr2,
-- &Bssid,
-- Ssid,
-- &SsidLen,
-- &BssType,
-- &BeaconPeriod,
-- &Channel,
-- &TimeStamp,
-- &CfExist,
-- &CfParm,
-- &AtimWin,
-- &CapabilityInfo,
-- Rates,
-+ if (PeerBeaconAndProbeRspSanity(pAd,
-+ Elem->Msg,
-+ Elem->MsgLen,
-+ &Addr2,
-+ &Bssid,
-+ Ssid,
-+ &SsidLen,
-+ &BssType,
-+ &BeaconPeriod,
-+ &Channel,
-+ &TimeStamp,
-+ &CfExist,
-+ &CfParm,
-+ &AtimWin,
-+ &CapabilityInfo,
-+ Rates,
- &RatesLen,
- &ExtendedRateIeExist,
- &Erp,
-- &DtimCount,
-- &DtimPeriod,
-- &BcastFlag,
-- &MessageToMe,
-+ &DtimCount,
-+ &DtimPeriod,
-+ &BcastFlag,
-+ &MessageToMe,
- &Legacy,
- SupRate,
- &SupRateLen,
- ExtRate,
- &ExtRateLen,
-- pVIE))
-+ &VarIELen,
-+ pVIE))
- {
- BOOLEAN is_my_bssid, is_my_ssid;
- ULONG Bssidx, Now;
-@@ -732,7 +737,7 @@
- return;
-
- //
-- // Housekeeping "SsidBssTab" table for later-on ROAMing usage.
-+ // Housekeeping "SsidBssTab" table for later-on ROAMing usage.
- //
- Bssidx = BssTableSearch(&pAd->Mlme.CntlAux.SsidBssTab, &Bssid);
- if (Bssidx == BSS_NOT_FOUND)
-@@ -743,24 +748,24 @@
- return;
- if (!RTMPEqualMemory(pAd->PortCfg.Ssid, pAd->Mlme.CntlAux.Ssid, pAd->PortCfg.SsidLen))
- return;
--
-+
- // discover new AP of this network, create BSS entry
-- Bssidx = BssTableSetEntry(pAd, &pAd->Mlme.CntlAux.SsidBssTab, &Bssid, Ssid, SsidLen,
-- BssType, BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo,
-- Rates, RatesLen, ExtendedRateIeExist, Channel, Elem->Rssi, Elem->Noise, TimeStamp, pVIE);
-+ Bssidx = BssTableSetEntry(pAd, &pAd->Mlme.CntlAux.SsidBssTab, &Bssid, Ssid, SsidLen,
-+ BssType, BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo,
-+ Rates, RatesLen, ExtendedRateIeExist, Channel, Elem->Rssi, Elem->Noise, TimeStamp, VarIELen, pVIE);
-
- if (Bssidx == BSS_NOT_FOUND) // return if BSS table full
-- return;
-+ return;
-
-- DBGPRINT(RT_DEBUG_TRACE, "SYNC - New AP added to SsidBssTab[%d], RSSI=%d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
-- Bssidx, Elem->Rssi, Bssid.Octet[0], Bssid.Octet[1], Bssid.Octet[2],
-+ DBGPRINT(RT_DEBUG_TRACE, "SYNC - New AP added to SsidBssTab[%d], RSSI=%d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
-+ Bssidx, Elem->Rssi, Bssid.Octet[0], Bssid.Octet[1], Bssid.Octet[2],
- Bssid.Octet[3], Bssid.Octet[4], Bssid.Octet[5]);
- }
-
- // if the ssid matched & bssid unmatched, we should select the bssid with large value.
- // This might happened when two STA start at the same time
-- if (is_my_ssid && (! is_my_bssid) && ADHOC_ON(pAd))
-- {
-+ if (is_my_ssid && (! is_my_bssid) && ADHOC_ON(pAd)
-+ && (BssType == BSS_INDEP)) {
- INT i;
- // Add to safe guard adhoc wep status mismatch
- if (pAd->PortCfg.WepStatus != pAd->Mlme.CntlAux.SsidBssTab.BssEntry[Bssidx].WepStatus)
-@@ -773,7 +778,7 @@
- {
- AsicDisableSync(pAd);
- memcpy(&pAd->PortCfg.Bssid, &Bssid, 6);
-- AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
-+ AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
- MakeIbssBeacon(pAd);
- AsicEnableIbssSync(pAd);
- break;
-@@ -781,9 +786,9 @@
- }
- }
-
-- DBGPRINT(RT_DEBUG_INFO, "SYNC - PeerBeacon from %02x:%02x:%02x:%02x:%02x:%02x - Dtim=%d/%d, Rssi=%02x\n",
-- Bssid.Octet[0], Bssid.Octet[1], Bssid.Octet[2],
-- Bssid.Octet[3], Bssid.Octet[4], Bssid.Octet[5],
-+ DBGPRINT(RT_DEBUG_INFO, "SYNC - PeerBeacon from %02x:%02x:%02x:%02x:%02x:%02x - Dtim=%d/%d, Rssi=%02x\n",
-+ Bssid.Octet[0], Bssid.Octet[1], Bssid.Octet[2],
-+ Bssid.Octet[3], Bssid.Octet[4], Bssid.Octet[5],
- DtimCount, DtimPeriod, Elem->Rssi);
-
- Now = jiffies;
-@@ -793,24 +798,24 @@
-
- //
- // BEACON from my BSSID - either IBSS or INFRA network
-- //
-+ //
- if (is_my_bssid)
- {
-- // 2002/12/06 - patch Abocom AP bug, which forgets to set "Privacy" bit in
-- // AssocRsp even though this bit is ON in Beacon. So we update according
-+ // 2002/12/06 - patch Abocom AP bug, which forgets to set "Privacy" bit in
-+ // AssocRsp even though this bit is ON in Beacon. So we update according
- // to following Beacon frame.
- // pAd->PortCfg.PrivacyInvoked = CAP_IS_PRIVACY_ON(CapabilityInfo);
--
-+
- pAd->PortCfg.LastBeaconRxTime = Now;
- #if 1
- // at least one 11b peer joined. downgrade the MaxTxRate to 11Mbps
- // after last 11b peer left for several seconds, we'll auto switch back to 11G rate
- // in MlmePeriodicExec()
-- if (ADHOC_ON(pAd) && (RatesLen <= 4))
-+ if (ADHOC_ON(pAd) && (RatesLen <= 4))
- {
- // this timestamp is for MlmePeriodicExec() to check if all 11B peers have left
- pAd->PortCfg.Last11bBeaconRxTime = Now;
--
-+
- if (pAd->PortCfg.MaxTxRate > RATE_11)
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - 11b peer joined. down-grade to 11b TX rates \n");
-@@ -828,22 +833,22 @@
- (pAd->PortCfg.LastRssi < pAd->PortCfg.RssiTrigger))
- {
- // NDIS_802_11_RSSI Dbm = pAd->PortCfg.LastRssi - RSSI_TO_DBM_OFFSET;
-- // DBGPRINT(RT_DEBUG_TRACE, "SYNC - NdisMIndicateStatus *** RSSI %d dBm, less than threshold %d dBm\n",
-+ // DBGPRINT(RT_DEBUG_TRACE, "SYNC - NdisMIndicateStatus *** RSSI %d dBm, less than threshold %d dBm\n",
- // Dbm, pAd->PortCfg.RssiTrigger - RSSI_TO_DBM_OFFSET);
- }
- else if ((pAd->PortCfg.RssiTriggerMode == RSSI_TRIGGERED_UPON_EXCCEED_THRESHOLD) &&
- (pAd->PortCfg.LastRssi > pAd->PortCfg.RssiTrigger))
- {
- // NDIS_802_11_RSSI Dbm = pAd->PortCfg.LastRssi - RSSI_TO_DBM_OFFSET;
-- // DBGPRINT(RT_DEBUG_TRACE, "SYNC - NdisMIndicateStatus *** RSSI %d dBm, greater than threshold %d dBm\n",
-+ // DBGPRINT(RT_DEBUG_TRACE, "SYNC - NdisMIndicateStatus *** RSSI %d dBm, greater than threshold %d dBm\n",
- // Dbm, pAd->PortCfg.RssiTrigger - RSSI_TO_DBM_OFFSET);
- }
-
- if (INFRA_ON(pAd)) // && (pAd->PortCfg.PhyMode == PHY_11BG_MIXED))
- {
- BOOLEAN bUseShortSlot, bUseBGProtection;
--
-- // decide to use/change to -
-+
-+ // decide to use/change to -
- // 1. long slot (20 us) or short slot (9 us) time
- // 2. turn on/off RTS/CTS and/or CTS-to-self protection
- // 3. short preamble
-@@ -867,7 +872,7 @@
- }
-
- // only INFRASTRUCTURE mode support power-saving feature
-- if (INFRA_ON(pAd) && (pAd->PortCfg.Psm == PWR_SAVE))
-+ if (INFRA_ON(pAd) && (pAd->PortCfg.Psm == PWR_SAVE))
- {
- // 1. AP has backlogged unicast-to-me frame, stay AWAKE, send PSPOLL
- // 2. AP has backlogged broadcast/multicast frame and we want those frames, stay AWAKE
-@@ -882,17 +887,17 @@
- else if (BcastFlag && (DtimCount == 0) && pAd->PortCfg.RecvDtim)
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - AP backlog broadcast/multicast, stay AWAKE\n");
-- }
-+ }
- else if ((RTMPFreeDescriptorRequest(pAd, TX_RING, TX_RING_SIZE) != NDIS_STATUS_SUCCESS) ||
- (RTMPFreeDescriptorRequest(pAd, PRIO_RING, PRIO_RING_SIZE) != NDIS_STATUS_SUCCESS))
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - outgoing frame in TxRing/PrioRing, stay AWAKE\n");
- }
-- else
-+ else
- {
- USHORT NextDtim = DtimCount;
-
-- if (NextDtim == 0)
-+ if (NextDtim == 0)
- NextDtim = DtimPeriod;
-
- TbttNumToNextWakeUp = pAd->PortCfg.DefaultListenCount;
-@@ -906,20 +911,21 @@
-
- #ifndef SINGLE_ADHOC_LINKUP
- // At least another peer in this IBSS, declare MediaState as CONNECTED
-- if (ADHOC_ON(pAd) && (pAd->MediaState == NdisMediaStateDisconnected))
-- {
-+ if (ADHOC_ON(pAd)
-+ && (pAd->MediaState == NdisMediaStateDisconnected)
-+ && (BssType == BSS_INDEP)) {
- pAd->MediaState = NdisMediaStateConnected;
-
- // 2003/03/12 - john
- // Make sure this entry in "PortCfg.BssTab" table, thus complies to Microsoft's policy that
-- // "site survey" result should always include the current connected network.
-+ // "site survey" result should always include the current connected network.
- //
- Bssidx = BssTableSearch(&pAd->PortCfg.BssTab, &Bssid);
- if (Bssidx == BSS_NOT_FOUND)
- {
-- Bssidx = BssTableSetEntry(pAd, &pAd->PortCfg.BssTab, &Bssid, Ssid, SsidLen,
-- BssType, BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo,
-- Rates, RatesLen, ExtendedRateIeExist, Channel, Elem->Rssi, Elem->Noise, TimeStamp, pVIE);
-+ Bssidx = BssTableSetEntry(pAd, &pAd->PortCfg.BssTab, &Bssid, Ssid, SsidLen,
-+ BssType, BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo,
-+ Rates, RatesLen, ExtendedRateIeExist, Channel, Elem->Rssi, Elem->Noise, TimeStamp, VarIELen, pVIE);
- }
- }
- #endif
-@@ -929,15 +935,15 @@
- // sanity check fail, ignore this frame
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Receive PROBE REQ from remote peer when operating in IBSS mode
- ==========================================================================
- */
- VOID PeerProbeReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Addr2;
- CHAR Ssid[MAX_LEN_OF_SSID];
-@@ -947,13 +953,13 @@
- UCHAR *OutBuffer = NULL;
- ULONG FrameLen = 0;
- LARGE_INTEGER FakeTimestamp;
-- UCHAR SsidIe = IE_SSID, DsIe = IE_DS_PARM, IbssIe = IE_IBSS_PARM, SuppIe = IE_SUPP_RATES,
-+ UCHAR SsidIe = IE_SSID, DsIe = IE_DS_PARM, IbssIe = IE_IBSS_PARM, SuppIe = IE_SUPP_RATES,
- DsLen = 1, IbssLen = 2;
- UCHAR SupportedRatesLen;
- UCHAR SupportedRates[MAX_LEN_OF_SUPPORTED_RATES];
- UCHAR ExtRateIe = IE_EXT_SUPP_RATES, ExtRatesLen;
- UCHAR ErpIe[3] = {IE_ERP, 1, 0};
--
-+
- if (! ADHOC_ON(pAd))
- return;
-
-@@ -962,8 +968,8 @@
- if ((SsidLen == 0) || RTMPEqualMemory(Ssid, pAd->PortCfg.Ssid, (ULONG) SsidLen))
- {
- CSR15_STRUC Csr15;
--
-- // we should respond a ProbeRsp only when we're the last BEACON transmitter
-+
-+ // we should respond a ProbeRsp only when we're the last BEACON transmitter
- // in this ADHOC network.
- RTMP_IO_READ32(pAd, CSR15, &Csr15.word);
- if (Csr15.field.BeaconSent == 0)
-@@ -1016,28 +1022,28 @@
- return;
-
- pAd->PortCfg.AtimWin = 0; // ??????
-- DBGPRINT(RT_DEBUG_TRACE, "SYNC - Send PROBE_RSP to %02x:%02x:%02x:%02x:%02x:%02x...\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "SYNC - Send PROBE_RSP to %02x:%02x:%02x:%02x:%02x:%02x...\n",
- Addr2.Octet[0],Addr2.Octet[1],Addr2.Octet[2],Addr2.Octet[3],Addr2.Octet[4],Addr2.Octet[5] );
- MgtMacHeaderInit(pAd, &ProbeRspHdr, SUBTYPE_PROBE_RSP, 0, &Addr2, &pAd->PortCfg.Bssid);
-
- if (SupportedRatesLen <= 8)
- {
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- MAC_HDR_LEN, &ProbeRspHdr,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ MAC_HDR_LEN, &ProbeRspHdr,
- TIMESTAMP_LEN, &FakeTimestamp,
- 2, &pAd->PortCfg.BeaconPeriod,
- 2, &pAd->PortCfg.CapabilityInfo,
-- 1, &SsidIe,
-- 1, &pAd->PortCfg.SsidLen,
-+ 1, &SsidIe,
-+ 1, &pAd->PortCfg.SsidLen,
- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
-- 1, &SuppIe,
-+ 1, &SuppIe,
- 1, &SupportedRatesLen,
-- SupportedRatesLen, SupportedRates,
-- 1, &DsIe,
-- 1, &DsLen,
-+ SupportedRatesLen, SupportedRates,
-+ 1, &DsIe,
-+ 1, &DsLen,
- 1, &pAd->PortCfg.Channel,
-- 1, &IbssIe,
-- 1, &IbssLen,
-+ 1, &IbssIe,
-+ 1, &IbssLen,
- 2, &pAd->PortCfg.AtimWin,
- END_OF_ARGS);
- }
-@@ -1045,22 +1051,22 @@
- {
- ExtRatesLen = SupportedRatesLen - 8;
- SupportedRatesLen = 8;
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- MAC_HDR_LEN, &ProbeRspHdr,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ MAC_HDR_LEN, &ProbeRspHdr,
- TIMESTAMP_LEN, &FakeTimestamp,
- 2, &pAd->PortCfg.BeaconPeriod,
- 2, &pAd->PortCfg.CapabilityInfo,
-- 1, &SsidIe,
-- 1, &pAd->PortCfg.SsidLen,
-+ 1, &SsidIe,
-+ 1, &pAd->PortCfg.SsidLen,
- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
-- 1, &SuppIe,
-+ 1, &SuppIe,
- 1, &SupportedRatesLen,
-- SupportedRatesLen, SupportedRates,
-- 1, &DsIe,
-- 1, &DsLen,
-+ SupportedRatesLen, SupportedRates,
-+ 1, &DsIe,
-+ 1, &DsLen,
- 1, &pAd->PortCfg.Channel,
-- 1, &IbssIe,
-- 1, &IbssLen,
-+ 1, &IbssIe,
-+ 1, &IbssLen,
- 2, &pAd->PortCfg.AtimWin,
- 3, ErpIe,
- 1, &ExtRateIe,
-@@ -1073,7 +1079,7 @@
- {
- ULONG tmp;
- UCHAR WpaIe = IE_WPA;
--
-+
- if (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) // Tkip
- {
- MakeOutgoingFrame(OutBuffer + FrameLen, &tmp,
-@@ -1092,43 +1098,43 @@
- END_OF_ARGS);
- FrameLen += tmp;
- }
-- }
-+ }
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- }
- }
- }
-
- VOID BeaconTimeoutAtJoinAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - BeaconTimeoutAtJoinAction\n");
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_JOIN_CONF, MLME_REJ_TIMEOUT);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Scan timeout procedure. basically add channel index by 1 and rescan
- ==========================================================================
- */
- VOID ScanTimeoutAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- pAd->Mlme.SyncAux.Channel = NextChannel(pAd, pAd->Mlme.SyncAux.Channel);
- ScanNextChannel(pAd);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Scan next channel
- ==========================================================================
- */
- VOID ScanNextChannel(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- MACHDR Hdr;
- UCHAR SsidIe = IE_SSID, SuppRateIe = IE_SUPP_RATES;
-@@ -1138,36 +1144,36 @@
- ULONG FrameLen = 0;
- UCHAR SsidLen = 0;
-
-- if (pAd->Mlme.SyncAux.Channel == 0)
-+ if (pAd->Mlme.SyncAux.Channel == 0)
- {
- DBGPRINT(RT_DEBUG_INFO, "SYNC - End of SCAN, restore to channel %d\n",pAd->PortCfg.Channel);
- AsicSwitchChannel(pAd, pAd->PortCfg.Channel);
- AsicLockChannel(pAd, pAd->PortCfg.Channel);
--
-+
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_SCAN_CONF, MLME_SUCCESS);
-- }
-- else
-+ }
-+ else
- {
- AsicSwitchChannel(pAd, pAd->Mlme.SyncAux.Channel);
-
-- // Total SCAN time still limits within 3 sec (DDK constraint).
-+ // Total SCAN time still limits within 3 sec (DDK constraint).
- // TODO: We need more intelligent rules here to further improve out-of-service issue.
- // e.g. temporary stop copying NDIS packet to TxRing until SCAN complete
- // if (INFRA_ON(pAd) || ADHOC_ON(pAd))
-
- // We need to shorten active scan time in order for WZC connect issue
-- if (pAd->Mlme.SyncAux.ScanType == SCAN_ACTIVE)
-- RTMPSetTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, ACTIVE_SCAN_TIME);
-+ if (pAd->Mlme.SyncAux.ScanType == SCAN_ACTIVE)
-+ RTMPSetTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, ACTIVE_SCAN_TIME);
- else if (pAd->PortCfg.PhyMode == PHY_11ABG_MIXED)
-- RTMPSetTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, MIN_CHANNEL_TIME);
-+ RTMPSetTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, MIN_CHANNEL_TIME);
- else
- RTMPSetTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, MAX_CHANNEL_TIME);
-
- MgtMacHeaderInit(pAd, &Hdr, SUBTYPE_PROBE_REQ, 0, &pAd->PortCfg.Broadcast, &pAd->PortCfg.Broadcast);
- // There is no need to send broadcast probe request if active scan is in effect.
- // The same rulr should apply to passive scan also.
-- if (pAd->Mlme.SyncAux.ScanType == SCAN_PASSIVE)
-+ if (pAd->Mlme.SyncAux.ScanType == SCAN_PASSIVE)
- {
- // Send the first probe request with empty SSID
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-@@ -1184,15 +1190,15 @@
- MakeOutgoingFrame(OutBuffer, &FrameLen,
- sizeof(MACHDR), (UCHAR*)&Hdr,
- 1, &SsidIe,
-- 1, &SsidLen,
-+ 1, &SsidLen,
- 1, &SuppRateIe,
- 1, &pAd->PortCfg.SupportedRatesLen,
-- pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
-+ pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
- END_OF_ARGS);
--
-+
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- }
-- else if (pAd->Mlme.SyncAux.ScanType == SCAN_ACTIVE)
-+ else if (pAd->Mlme.SyncAux.ScanType == SCAN_ACTIVE)
- {
- // Allocate another for probe scan with SSID
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer2); //Get an unused nonpaged memory
-@@ -1212,9 +1218,9 @@
- SsidLen, pAd->PortCfg.Ssid,
- 1, &SuppRateIe,
- 1, &pAd->PortCfg.SupportedRatesLen,
-- pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
-+ pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
- END_OF_ARGS);
--
-+
- MiniportMMRequest(pAd, OutBuffer2, FrameLen);
-
- DBGPRINT(RT_DEBUG_INFO, "SYNC - send active ProbeReq @ channel=%d with essid=%s\n", pAd->Mlme.SyncAux.Channel, pAd->PortCfg.Ssid);
-@@ -1224,55 +1230,55 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
- */
- VOID InvalidStateWhenScan(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "AYNC - InvalidStateWhenScan(state=%d). Reset SYNC machine\n", pAd->Mlme.SyncMachine.CurrState);
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_SCAN_CONF, MLME_STATE_MACHINE_REJECT);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
- */
- VOID InvalidStateWhenJoin(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "InvalidStateWhenJoin(state=%d). Reset SYNC machine\n", pAd->Mlme.SyncMachine.CurrState);
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_JOIN_CONF, MLME_STATE_MACHINE_REJECT);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
- */
- VOID InvalidStateWhenStart(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "InvalidStateWhenStart(state=%d). Reset SYNC machine\n", pAd->Mlme.SyncMachine.CurrState);
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_START_CONF, MLME_STATE_MACHINE_REJECT);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
- */
- VOID EnqueuePsPoll(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- NDIS_STATUS NState;
- PSPOLL_FRAME *PsFr;
-@@ -1291,10 +1297,10 @@
- // driver force send out a BEACON frame to cover ADHOC mode BEACON starving issue
- // that is, in ADHOC mode, driver guarantee itself can send out at least a BEACON
- // per a specified duration, even the peer's clock is faster than us and win all the
--// hardware-based BEACON TX oppertunity.
-+// hardware-based BEACON TX oppertunity.
- // we may remove this software feature once 2560 IC fix this problem in ASIC.
- VOID EnqueueBeaconFrame(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- NDIS_STATUS NState;
- PTXD_STRUC pTxD = (PTXD_STRUC)pAd->BeaconRing.va_addr;
-@@ -1313,10 +1319,10 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
-- Send out a NULL frame to AP. The prpose is to inform AP this client
-+ Send out a NULL frame to AP. The prpose is to inform AP this client
- current PSM bit.
- NOTE:
- This routine should only be used in infrastructure mode.
-@@ -1324,7 +1330,7 @@
- */
- VOID EnqueueNullFrame(
- IN PRTMP_ADAPTER pAd,
-- IN UCHAR TxRate)
-+ IN UCHAR TxRate)
- {
- NDIS_STATUS NState;
- MACHDR *NullFr;
-@@ -1339,7 +1345,7 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
-@@ -1359,7 +1365,7 @@
- if (NState == NDIS_STATUS_SUCCESS)
- {
- MgtMacHeaderInit(pAd, &Hdr, SUBTYPE_PROBE_REQ, 0, &pAd->PortCfg.Broadcast, &pAd->PortCfg.Broadcast);
--
-+
- // this ProbeRequest explicitly specify SSID to reduce unwanted ProbeResponse
- MakeOutgoingFrame(OutBuffer, &FrameLen,
- sizeof(MACHDR), &Hdr,
-@@ -1368,13 +1374,13 @@
- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
- 1, &SuppRateIe,
- 1, &pAd->PortCfg.SupportedRatesLen,
-- pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
-+ pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Update PortCfg->ChannelList[] according to 1) Country Region 2) RF IC type,
-@@ -1464,7 +1470,7 @@
- }
-
- pAd->PortCfg.ChannelListNum = index;
-- DBGPRINT(RT_DEBUG_TRACE,"country code=%d, RFIC=%d, PHY mode=%d, support %d channels\n",
-+ DBGPRINT(RT_DEBUG_TRACE,"country code=%d, RFIC=%d, PHY mode=%d, support %d channels\n",
- pAd->PortCfg.CountryRegion, pAd->PortCfg.RfType, pAd->PortCfg.PhyMode, pAd->PortCfg.ChannelListNum);
- for (i=0;i<index;i++)
- {
-@@ -1472,10 +1478,10 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
-- This routine return the first channel number according to the country
-+ This routine return the first channel number according to the country
- code selection and RF IC selection (signal band or dual band). It is called
- whenever driver need to start a site survey of all supported channels.
- Return:
-@@ -1488,7 +1494,7 @@
- return pAd->PortCfg.ChannelList[0];
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- This routine returns the next channel number. This routine is called
-@@ -1500,12 +1506,12 @@
- ==========================================================================
- */
- UCHAR NextChannel(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN UCHAR channel)
- {
- int i;
- UCHAR next_channel = 0;
--
-+
- for (i = 0; i < (pAd->PortCfg.ChannelListNum - 1); i++)
- if (channel == pAd->PortCfg.ChannelList[i])
- {
-diff -Nur rt2500-1.1.0-b4/Module/unload rt2500-cvs-2007061011/Module/unload
---- rt2500-1.1.0-b4/Module/unload 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/unload 1970-01-01 01:00:00.000000000 +0100
-@@ -1,2 +0,0 @@
--/sbin/ifconfig ra0 down
--/sbin/rmmod rt2500
-\ Kein Zeilenumbruch am Dateiende.
-diff -Nur rt2500-1.1.0-b4/Module/wpa.c rt2500-cvs-2007061011/Module/wpa.c
---- rt2500-1.1.0-b4/Module/wpa.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/wpa.c 2007-05-15 21:41:35.000000000 +0200
-@@ -1,37 +1,37 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: wpa.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * JanL 22nd Jul 03 Initial code
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: wpa.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * JanL 22nd Jul 03 Initial code
- * PaulL 28th Nov 03 Modify for supplicant
- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -47,6 +47,7 @@
- };
- UCHAR CipherWpaPskTkipLen = (sizeof(CipherWpaPskTkip) / sizeof(UCHAR));
-
-+// Needed for APs using WPA1 IEs (#221) to indicate CCMP encryption
- UCHAR CipherWpaPskAes[] = {
- 0xDD, 0x16, // RSN IE
- 0x00, 0x50, 0xf2, 0x01, // oui
-@@ -59,16 +60,19 @@
- };
- UCHAR CipherWpaPskAesLen = (sizeof(CipherWpaPskAes) / sizeof(UCHAR));
-
-+static UCHAR MSOUI[] = {0x00, 0x50, 0xf2, 0x01}; // Microsoft OUI
-+static UCHAR WGOUI[] = {0x00, 0x0f, 0xac}; // 802.11i Working Group OUI
-+
- /*
- ========================================================================
--
-+
- Routine Description:
- Classify WPA EAP message type
-
- Arguments:
- EAPType Value of EAP message type
- MsgType Internal Message definition for MLME state machine
--
-+
- Return Value:
- TRUE Found appropriate message type
- FALSE No appropriate message type
-@@ -76,12 +80,12 @@
- Note:
- All these constants are defined in wpa.h
- For supplicant, there is only EAPOL Key message avaliable
--
-+
- ========================================================================
- */
- BOOLEAN WpaMsgTypeSubst(
- IN UCHAR EAPType,
-- OUT ULONG *MsgType)
-+ OUT ULONG *MsgType)
- {
- switch (EAPType)
- {
-@@ -102,23 +106,23 @@
- break;
- default:
- DBGPRINT(RT_DEBUG_INFO, "WpaMsgTypeSubst : return FALSE; \n");
-- return FALSE;
-- }
-+ return FALSE;
-+ }
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
-- Description:
-+ Description:
- association state machine init, including state transition and timer init
-- Parameters:
-+ Parameters:
- S - pointer to the association state machine
- ==========================================================================
- */
- VOID WpaPskStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-- OUT STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
-+ OUT STATE_MACHINE_FUNC Trans[])
- {
- StateMachineInit(S, (STATE_MACHINE_FUNC*)Trans, MAX_WPA_PSK_STATE, MAX_WPA_PSK_MSG, (STATE_MACHINE_FUNC)Drop, WPA_PSK_IDLE, WPA_MACHINE_BASE);
- StateMachineSetAction(S, WPA_PSK_IDLE, EAP_MSG_TYPE_EAPOLKey, (STATE_MACHINE_FUNC)WpaEAPOLKeyAction);
-@@ -127,10 +131,10 @@
- /*
- ==========================================================================
- Description:
-- This is state machine function.
-- When receiving EAPOL packets which is for 802.1x key management.
-- Use both in WPA, and WPAPSK case.
-- In this function, further dispatch to different functions according to the received packet. 3 categories are :
-+ This is state machine function.
-+ When receiving EAPOL packets which is for 802.1x key management.
-+ Use both in WPA, and WPAPSK case.
-+ In this function, further dispatch to different functions according to the received packet. 3 categories are :
- 1. normal 4-way pairwisekey and 2-way groupkey handshake
- 2. MIC error (Countermeasures attack) report packet from STA.
- 3. Request for pairwise/group key update from STA
-@@ -138,13 +142,13 @@
- ==========================================================================
- */
- VOID WpaEAPOLKeyAction(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- INT MsgType;
- UCHAR ZeroReplay[LEN_KEY_DESC_REPLAY];
- PKEY_DESCRIPTER pKeyDesc;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "-----> WpaEAPOLKeyAction\n");
- // Get 802.11 header first
- pKeyDesc = (PKEY_DESCRIPTER) &Elem->Msg[(LENGTH_802_11 + LENGTH_802_1_H + LENGTH_EAPOL_H)];
-@@ -153,9 +157,12 @@
- *(USHORT *)((UCHAR *)pKeyDesc+1) = SWAP16(*(USHORT *)((UCHAR *)pKeyDesc+1));
- #endif
- // Sanity check, this should only happen in WPA-PSK mode
-- if (pAdapter->PortCfg.AuthMode != Ndis802_11AuthModeWPAPSK)
-+ if (pAdapter->PortCfg.AuthMode != Ndis802_11AuthModeWPAPSK) {
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "<----- WpaEAPOLKeyAction - AuthMode (%d) != WPPSK\n",
-+ pAdapter->PortCfg.AuthMode);
- return;
--
-+ }
- // 0. Debug print all bit information
- DBGPRINT(RT_DEBUG_INFO, "KeyInfo Key Description Version %d\n", pKeyDesc->KeyInfo.KeyDescVer);
- DBGPRINT(RT_DEBUG_INFO, "KeyInfo Key Type %d\n", pKeyDesc->KeyInfo.KeyType);
-@@ -167,7 +174,7 @@
- DBGPRINT(RT_DEBUG_INFO, "KeyInfo Error %d\n", pKeyDesc->KeyInfo.Error);
- DBGPRINT(RT_DEBUG_INFO, "KeyInfo Request %d\n", pKeyDesc->KeyInfo.Request);
- DBGPRINT(RT_DEBUG_INFO, "KeyInfo DL %d\n", pKeyDesc->KeyInfo.DL);
--
-+
- // 1. Check EAPOL frame version and type
- if ((Elem->Msg[LENGTH_802_11+LENGTH_802_1_H] != EAPOL_VER) || (pKeyDesc->Type != RSN_KEY_DESC))
- {
-@@ -190,9 +197,18 @@
- // First validate replay counter, only accept message with larger replay counter
- // Let equal pass, some AP start with all zero replay counter
- memset(ZeroReplay, 0, LEN_KEY_DESC_REPLAY);
-- if ((RTMPCompareMemory(pKeyDesc->ReplayCounter, pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY) != 1) &&
-- (RTMPCompareMemory(pKeyDesc->ReplayCounter, ZeroReplay, LEN_KEY_DESC_REPLAY) != 0))
-+ if ((RTMPCompareMemory(pKeyDesc->ReplayCounter,
-+ pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY) != 1) &&
-+ (RTMPCompareMemory(pKeyDesc->ReplayCounter,
-+ ZeroReplay, LEN_KEY_DESC_REPLAY) != 0)) {
-+ DBGPRINT(RT_DEBUG_TRACE, "<----- %s: Replay count error\n",
-+ __FUNCTION__);
-+ DBGHEXSTR(RT_DEBUG_TRACE, " AP replay = ",
-+ pKeyDesc->ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ DBGHEXSTR(RT_DEBUG_TRACE, " our replay = ",
-+ pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY);
- return;
-+ }
-
- // Classify message Type, either pairwise message 1, 3, or group message 1 for supplicant
- MsgType = EAPOL_MSG_INVALID;
-@@ -228,12 +244,13 @@
- {
- MsgType = EAPOL_GROUP_MSG_1;
- DBGPRINT(RT_DEBUG_TRACE, "Receive EAPOL Key Group Message 1\n");
-- }
--
-+ } else
-+ DBGPRINT(RT_DEBUG_TRACE, "Receive INVALID EAPOL Key Message\n");
-+
- #ifdef BIG_ENDIAN
- *(USHORT *)((UCHAR *)pKeyDesc+1) = SWAP16(*(USHORT *)((UCHAR *)pKeyDesc+1));
- #endif
--
-+
- // We will assume link is up (assoc suceess and port not secured).
- // All state has to be able to process message from previous state
- switch (pAdapter->PortCfg.WpaState)
-@@ -245,7 +262,7 @@
- pAdapter->PortCfg.WpaState = SS_WAIT_MSG_3;
- }
- break;
--
-+
- case SS_WAIT_MSG_3:
- if (MsgType == EAPOL_PAIR_MSG_1)
- {
-@@ -258,7 +275,7 @@
- pAdapter->PortCfg.WpaState = SS_WAIT_GROUP;
- }
- break;
--
-+
- case SS_WAIT_GROUP: // When doing group key exchange
- case SS_FINISH: // This happened when update group key
- if (MsgType == EAPOL_PAIR_MSG_1)
-@@ -281,34 +298,34 @@
- pAdapter->PortCfg.WpaState = SS_FINISH;
- }
- break;
--
-+
- default:
-- break;
-+ break;
- }
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "<----- WpaEAPOLKeyAction\n");
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Process Pairwise key 4-way handshaking
-
- Arguments:
- pAdapter Pointer to our adapter
- Elem Message body
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID WpaPairMsg1Action(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- PHEADER_802_11 pHeader;
- UCHAR PTK[80];
-@@ -321,39 +338,39 @@
- UCHAR EAPHEAD[8] = {0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00,0x88,0x8e};
- PEAPOL_PACKET pMsg1;
- EAPOL_PACKET Packet;
-- UCHAR Mic[16];
--
-+ UCHAR Mic[16];
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaPairMsg1Action ----->\n");
--
-+
- pHeader = (PHEADER_802_11) Elem->Msg;
--
-+
- // Save Data Length to pDesc for receiving packet, then put in outgoing frame Data Len fields.
- pMsg1 = (PEAPOL_PACKET) &Elem->Msg[LENGTH_802_11 + LENGTH_802_1_H];
--
-+
- // Process message 1 from authenticator
- // Key must be Pairwise key, already verified at callee.
- // 1. Save Replay counter, it will use to verify message 3 and construct message 2
-- memcpy(pAdapter->PortCfg.ReplayCounter, pMsg1->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ memcpy(pAdapter->PortCfg.ReplayCounter, pMsg1->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-
- // 2. Save ANonce
- memcpy(pAdapter->PortCfg.ANonce, pMsg1->KeyDesc.KeyNonce, LEN_KEY_DESC_NONCE);
--
-+
- // TSNonce <--- SNonce
- // Generate random SNonce
-- GenRandom(pAdapter, pAdapter->PortCfg.SNonce);
-+ GenRandom(pAdapter, pAdapter->PortCfg.SNonce);
-
- // TPTK <--- Calc PTK(ANonce, TSNonce)
-- WpaCountPTK(pAdapter->PortCfg.PskKey.Key,
-+ WpaCountPTK(pAdapter->PortCfg.PskKey.Key,
- pAdapter->PortCfg.ANonce,
-- pAdapter->PortCfg.Bssid.Octet,
-- pAdapter->PortCfg.SNonce,
-- pAdapter->CurrentAddress,
-- PTK,
-- LEN_PTK);
-+ pAdapter->PortCfg.Bssid.Octet,
-+ pAdapter->PortCfg.SNonce,
-+ pAdapter->CurrentAddress,
-+ PTK,
-+ LEN_PTK);
-
- // Save key to PTK entry
- memcpy(pAdapter->PortCfg.PTK, PTK, LEN_PTK);
--
-+
- // =====================================
- // Use Priority Ring & MiniportMMRequest
- // =====================================
-@@ -364,7 +381,7 @@
- AckRate = pAdapter->PortCfg.ExpectedACKRate[pAdapter->PortCfg.TxRate];
- AckDuration = RTMPCalcDuration(pAdapter, AckRate, 14);
- Header_802_11.Controlhead.Duration = pAdapter->PortCfg.Dsifs + AckDuration;
--
-+
- // Zero message 2 body
- memset(&Packet, 0, sizeof(Packet));
- Packet.Version = EAPOL_VER;
-@@ -399,17 +416,17 @@
- memcpy(Packet.KeyDesc.KeyNonce, pAdapter->PortCfg.SNonce, LEN_KEY_DESC_NONCE);
-
- // 5. Key Replay Count
-- memcpy(Packet.KeyDesc.ReplayCounter, pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY);
--
-+ memcpy(Packet.KeyDesc.ReplayCounter, pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+
- #ifdef BIG_ENDIAN
- *(USHORT *)(&(Packet.KeyDesc.KeyInfo)) = SWAP16(*(USHORT *)(&(Packet.KeyDesc.KeyInfo)));
- #endif
--
-+
- // Send EAPOL(0, 1, 0, 0, 0, K, 0, TSNonce, 0, MIC(TPTK), 0)
-- // Out buffer for transmitting message 2
-+ // Out buffer for transmitting message 2
- NStatus = MlmeAllocateMemory(pAdapter, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-- if (NStatus != NDIS_STATUS_SUCCESS)
-- return;
-+ if (NStatus != NDIS_STATUS_SUCCESS)
-+ return;
-
- // Prepare EAPOL frame for MIC calculation
- // Be careful, only EAPOL frame is counted for MIC calculation
-@@ -423,7 +440,7 @@
- {
- // AES
- UCHAR digest[80];
--
-+
- HMAC_SHA1(OutBuffer, FrameLen, PTK, LEN_EAP_MICK, digest);
- memcpy(Mic, digest, LEN_KEY_DESC_MIC);
- }
-@@ -433,12 +450,12 @@
- DBGPRINT(RT_DEBUG_INFO, " PMK = ");
- for (i = 0; i < 16; i++)
- DBGPRINT(RT_DEBUG_INFO, "%2x-", pAdapter->PortCfg.PskKey.Key[i]);
--
-+
- DBGPRINT(RT_DEBUG_INFO, "\n PTK = ");
- for (i = 0; i < 64; i++)
- DBGPRINT(RT_DEBUG_INFO, "%2x-", pAdapter->PortCfg.PTK[i]);
- DBGPRINT(RT_DEBUG_INFO, "\n FrameLen = %d\n", FrameLen);
--
-+
- hmac_md5(PTK, LEN_EAP_MICK, OutBuffer, FrameLen, Mic);
- }
- memcpy(Packet.KeyDesc.KeyMic, Mic, LEN_KEY_DESC_MIC);
-@@ -446,36 +463,202 @@
- FrameLen = 0;
- // Make Transmitting frame
- MakeOutgoingFrame(OutBuffer, &FrameLen, sizeof(MACHDR), &Header_802_11,
-- sizeof(EAPHEAD), EAPHEAD,
-+ sizeof(EAPHEAD), EAPHEAD,
- Packet.Len[1] + 4, &Packet,
- END_OF_ARGS);
-
- // Send using priority queue
- MiniportMMRequest(pAdapter, OutBuffer, FrameLen);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaPairMsg1Action <-----\n");
- }
-
- /*
-+ ========================================================================
-+
-+ Description:
-+ Check the information element packaged in the KeyData field of the
-+ EAPOL packet. At least one of the AP's offerings in each of
-+
-+ 1) the group cipher suite
-+ 2) the pairwise master key cipher(s), and
-+ 3) the authentication and key management suite
-+
-+ need to match the configuration for the corresponding attribute
-+ in the driver.
-+
-+ Arguments:
-+ pAd Pointer to our adapter
-+ pie Pointer to the "logical" IE
-+ pie_len Value of the real IE length field.
-+ poui Pointer to the WPA1/WPA2 OUI
-+
-+ Return Value:
-+ 0 -> OK: At least one of the offerings in each category
-+ matches what is configured in the driver.
-+
-+ Note:
-+ On entry, it is known that the length of the RSN IE is consistent
-+ with the length specification of the EAPOL KeyData field, and that
-+ the IE is at least long enough to contain one group cipher suite
-+ selection, one PMK cipher suite selection,
-+ and one AKM suite selection.
-+ ========================================================================
-+*/
-+static int checkEAPIE(
-+ IN RTMP_ADAPTER *pAd,
-+ IN rsn_ie_t *pie, // (not really, if we're WPA 1)
-+ IN u8 pie_len, // ... so we provide the length separately.
-+ IN ie_oui_t *poui)
-+{
-+ suite_list_t *suite_list_p;
-+ suite_sel_t *suite_sel_p;
-+ int i, j;
-+ int needs = 7;
-+ suite_sel_t *limit = (suite_sel_t *)((void *)pie + pie_len + 2);
-+
-+ if (wtohs(pie->version) != 1) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid ver %d (sb 1)\n",
-+ wtohs(pie->version));
-+ return needs;
-+ }
-+ if (memcmp(pie->gcsuite.oui, poui, sizeof(ie_oui_t)) != 0) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid Grp Cipher OUI %02x:%02x:%02x\n",
-+ pie->gcsuite.oui[0], pie->gcsuite.oui[1], pie->gcsuite.oui[2]);
-+ return needs;
-+ }
-+ switch (pie->gcsuite.type) {
-+ case CIPHER_TYPE_WEP40:
-+ case CIPHER_TYPE_WEP104:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled)
-+ needs &= 6;
-+ break;
-+ case CIPHER_TYPE_TKIP:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled)
-+ needs &= 6;
-+ break;
-+ case CIPHER_TYPE_CCMP:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled)
-+ needs &= 6;
-+ break;
-+ default:
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid Grp Cipher Type %d\n",
-+ pie->gcsuite.type);
-+ return needs;
-+ } /* End switch (group cipher suite type) */
-+
-+ suite_list_p = (suite_list_t *)((void *)&pie->gcsuite+sizeof(suite_sel_t));
-+
-+ // Search the PMK list
-+ for (suite_sel_p = suite_list_p->suite,
-+ i = 0, j = wtohs(suite_list_p->count);
-+ suite_sel_p + 1 <= limit && i < j;
-+ suite_sel_p++, i++) {
-+ if (memcmp(suite_sel_p->oui, poui, sizeof(ie_oui_t)) != 0) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid PMK Cipher OUI "
-+ "%02x:%02x:%02x\n",
-+ suite_sel_p->oui[0], suite_sel_p->oui[1],
-+ suite_sel_p->oui[2]);
-+ break; // Keep going. We may also have a valid one.
-+ }
-+ switch (suite_sel_p->type) {
-+ case CIPHER_TYPE_WEP40:
-+ case CIPHER_TYPE_WEP104:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled)
-+ needs &= 5;
-+ break;
-+ case CIPHER_TYPE_TKIP:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled)
-+ needs &= 5;
-+ break;
-+ case CIPHER_TYPE_CCMP:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled)
-+ needs &= 5;
-+ break;
-+ default:
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid PMK Cipher Type %d\n",
-+ suite_sel_p->type);
-+ break; // Keep going. We may also have a valid one.
-+ } /* End switch (PMK type) */
-+ } /* End search PMK list */
-+
-+ if (suite_sel_p >= limit && i < j) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Too many PMK suites in EAPOL pkt "
-+ "(have %d, room for %d) (need=%d)\n",
-+ j, i, needs);
-+ return needs;
-+ }
-+ if (j == 0) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Zero count PMK list in EAPOL pkt "
-+ "(need=%d)\n", needs);
-+ return needs;
-+ }
-+
-+ suite_list_p = (suite_list_t *)suite_sel_p;
-+
-+ //Search the Authentication and Key Management (AKM) list
-+ for (suite_sel_p = suite_list_p->suite,
-+ i = 0, j = wtohs(suite_list_p->count);
-+ suite_sel_p + 1 <= limit && i < j;
-+ suite_sel_p++, i++) {
-+ if (memcmp(suite_sel_p->oui, poui, sizeof(ie_oui_t)) != 0) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid AKM OUI %02x:%02x:%02x\n",
-+ suite_sel_p->oui[0], suite_sel_p->oui[1],
-+ suite_sel_p->oui[2]);
-+ break; // Keep going. We may also have a valid one.
-+ }
-+ switch (suite_sel_p->type) {
-+ case AKM_TYPE_802_1X:
-+ if (pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA)
-+ needs &= 3;
-+ break;
-+ case AKM_TYPE_PSK:
-+ if (pAd->PortCfg.AuthMode >= Ndis802_11AuthModeWPAPSK)
-+ needs &= 3;
-+ break;
-+ default:
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid PMK Cipher Type %d\n",
-+ suite_sel_p->type);
-+ break; // Keep going. We may also have a valid one.
-+ } /* End switch (AKM type) */
-+ } /* End search AKM list */
-+
-+ if (suite_sel_p >= limit && i < j) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Too many AKM suites in EAPOL pkt "
-+ "(have %d, room for %d) (need=%d)\n",
-+ j, i, needs);
-+ return needs; // NB. May still have met all needs.
-+ }
-+ if (j == 0) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Zero count AKM list in EAPOL pkt "
-+ "(need=%d)\n", needs);
-+ return needs;
-+ }
-+
-+ return needs;
-+
-+} /* End checkEAPIE () */
-+
-+/*
- ========================================================================
--
-+
- Routine Description:
- Process Pairwise key 4-way handshaking
-
- Arguments:
- pAdapter Pointer to our adapter
- Elem Message body
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID WpaPairMsg3Action(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- PHEADER_802_11 pHeader;
- UCHAR *OutBuffer = NULL;
-@@ -487,46 +670,74 @@
- UCHAR EAPHEAD[8] = {0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00,0x88,0x8e};
- EAPOL_PACKET Packet;
- PEAPOL_PACKET pMsg3;
-- PUCHAR pTmp;
-- UCHAR Mic[16], OldMic[16];
-+ UCHAR Mic[16], OldMic[16];
- NDIS_802_11_KEY PeerKey;
--
--
-+
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaPairMsg3Action ----->\n");
--
-+
- pHeader = (PHEADER_802_11) Elem->Msg;
--
-+
- // Process message 3 frame.
- pMsg3 = (PEAPOL_PACKET) &Elem->Msg[LENGTH_802_11 + LENGTH_802_1_H];
-
- #ifdef BIG_ENDIAN
- *(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)) = SWAP16(*(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)));
- #endif
-+ #define pie ((rsn_ie_t *)(void *)pMsg3->KeyDesc.KeyData)
-+ if (wtohs(pie->length) + 2 != pMsg3->KeyDesc.KeyDataLen[1]) {
-+ DBGPRINT(RT_DEBUG_ERROR, "RSN IE len %d != KeyDataLen %d)\n",
-+ pie->length + 2, pMsg3->KeyDesc.KeyDataLen[1]);
-+ return;
-+ }
-+ else {
-+ switch (pie->eid) {
-+ case IE_RSN:
-+ if (wtohs(pie->length) < MIN_RSN_KEYDATA_LEN) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ "RSN IE msg 3 too short (sb >= %d, is %d)\n",
-+ MIN_RSN_KEYDATA_LEN, wtohs(pie->length));
-+ DBGHEXSTR(RT_DEBUG_ERROR, "KeyData ",
-+ pMsg3->KeyDesc.KeyData,
-+ pMsg3->KeyDesc.KeyDataLen[1]);
-+ return;
-+ }
-+ if (checkEAPIE(pAdapter, pie, pie->length,
-+ (ie_oui_t *)WGOUI) != 0) return;
-+ break;
-+ case IE_WPA:
-+ #undef pie
-+ #define pie ((RSN_EID_STRUCT *)(void *)pMsg3->KeyDesc.KeyData)
-+ if (wtohs(pie->Length) < MIN_WPA_KEYDATA_LEN) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ "WPA IE msg 3 too short (sb >= %d, is %d)\n",
-+ MIN_WPA_KEYDATA_LEN, wtohs(pie->Length));
-+ DBGHEXSTR(RT_DEBUG_ERROR, "KeyData ",
-+ pMsg3->KeyDesc.KeyData,
-+ pMsg3->KeyDesc.KeyDataLen[1]);
-+ return;
-+ }
-+ if (memcmp(pie->Oui, MSOUI, sizeof(pie->Oui)) != 0) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ "Invalid WPA 1 OUI %02x:%02x:%02x:%02x\n",
-+ pie->Oui[0], pie->Oui[1], pie->Oui[2], pie->Oui[3]);
-+ return;
-+ }
-+ if (checkEAPIE(pAdapter, (rsn_ie_t *)&pie->Oui[2], pie->Length,
-+ (ie_oui_t *)MSOUI) != 0) return;
-+ break;
-+ default:
-+ DBGPRINT(RT_DEBUG_ERROR, "RSN IE type %d invalid)\n",
-+ pie->Eid);
-+ return;
-+ } /* End switch (element ID) */
-+ } /* End if (packet length sane) */
-+ #undef pie
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "RSN IE matched msg 3 of 4-way handshake "
-+ "KeyDataLen=%d)\n",
-+ pMsg3->KeyDesc.KeyDataLen[1]);
-
-- // 1. Verify RSN IE & cipher type match
-- if (pAdapter->PortCfg.WepStatus == Ndis802_11Encryption3Enabled)
-- {
-- if (pMsg3->KeyDesc.KeyInfo.KeyDescVer != 2)
-- return;
-- pTmp = (PUCHAR) &CipherWpaPskAes;
-- }
-- else // TKIP
-- {
-- if (pMsg3->KeyDesc.KeyInfo.KeyDescVer != 1)
-- return;
-- pTmp = (PUCHAR) &CipherWpaPskTkip;
-- }
--
-- // Fix compatibility issue, when AP append nonsense data after auth mode with different size.
-- // We should qualify this kind of RSN as acceptable
-- if (!NdisEqualMemory((PUCHAR) &pMsg3->KeyDesc.KeyData[2], pTmp + 2, CipherWpaPskTkipLen - 2))
-- {
-- DBGPRINT(RT_DEBUG_ERROR, " RSN IE mismatched msg 3 of 4-way handshake!!!!!!!!!! \n");
-- return;
-- }
-- else
-- DBGPRINT(RT_DEBUG_TRACE, " RSN IE matched in msg 3 of 4-way handshake!!!!!!!!!! \n");
--
- #ifdef BIG_ENDIAN
- *(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)) = SWAP16(*(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)));
- #endif
-@@ -539,7 +750,7 @@
- {
- // AES
- UCHAR digest[80];
--
-+
- HMAC_SHA1((PUCHAR) pMsg3, pMsg3->Len[1] + 4, pAdapter->PortCfg.PTK, LEN_EAP_MICK, digest);
- memcpy(Mic, digest, LEN_KEY_DESC_MIC);
- }
-@@ -547,7 +758,7 @@
- {
- hmac_md5(pAdapter->PortCfg.PTK, LEN_EAP_MICK, (PUCHAR) pMsg3, pMsg3->Len[1] + 4, Mic);
- }
--
-+
- if (!NdisEqualMemory(OldMic, Mic, LEN_KEY_DESC_MIC))
- {
- DBGPRINT(RT_DEBUG_ERROR, " MIC Different in msg 3 of 4-way handshake!!!!!!!!!! \n");
-@@ -556,17 +767,32 @@
- else
- DBGPRINT(RT_DEBUG_TRACE, " MIC VALID in msg 3 of 4-way handshake!!!!!!!!!! \n");
-
-- // 3. Check Replay Counter, it has to be larger than last one. No need to be exact one larger
-- if (RTMPCompareMemory(pMsg3->KeyDesc.ReplayCounter, pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY) != 1)
-+ // 3. Check Replay Counter, it has to be larger than last one.
-+ // No need to be exact one larger
-+ if (RTMPCompareMemory(pMsg3->KeyDesc.ReplayCounter,
-+ pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY) != 1) {
-+ DBGPRINT(RT_DEBUG_TRACE, " Replay count error\n");
-+ DBGHEXSTR(RT_DEBUG_TRACE, " AP replay = ",
-+ pMsg3->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ DBGHEXSTR(RT_DEBUG_TRACE, " our replay = ",
-+ pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY);
- return;
--
-+ }
- // Update new replay counter
-- memcpy(pAdapter->PortCfg.ReplayCounter, pMsg3->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ memcpy(pAdapter->PortCfg.ReplayCounter, pMsg3->KeyDesc.ReplayCounter,
-+ LEN_KEY_DESC_REPLAY);
-
- // 4. Double check ANonce
-- if (!NdisEqualMemory(pAdapter->PortCfg.ANonce, pMsg3->KeyDesc.KeyNonce, LEN_KEY_DESC_NONCE))
-+ if (!NdisEqualMemory(pAdapter->PortCfg.ANonce, pMsg3->KeyDesc.KeyNonce,
-+ LEN_KEY_DESC_NONCE)) {
-+ DBGPRINT(RT_DEBUG_TRACE, " Nonce error\n");
-+ DBGHEXSTR(RT_DEBUG_TRACE, " AP Nonce = ",
-+ pMsg3->KeyDesc.KeyNonce, LEN_KEY_DESC_NONCE);
-+ DBGHEXSTR(RT_DEBUG_TRACE, " our Nonce = ",
-+ pAdapter->PortCfg.ANonce, LEN_KEY_DESC_NONCE);
- return;
--
-+ }
-+
- // 5. Construct Message 4
- // =====================================
- // Use Priority Ring & MiniportMMRequest
-@@ -578,22 +804,22 @@
- AckRate = pAdapter->PortCfg.ExpectedACKRate[pAdapter->PortCfg.TxRate];
- AckDuration = RTMPCalcDuration(pAdapter, AckRate, 14);
- Header_802_11.Controlhead.Duration = pAdapter->PortCfg.Dsifs + AckDuration;
--
-+
- // Zero message 4 body
- memset(&Packet, 0, sizeof(Packet));
- Packet.Version = EAPOL_VER;
- Packet.Type = EAPOLKey;
- Packet.Len[1] = sizeof(KEY_DESCRIPTER) - MAX_LEN_OF_RSNIE; // No data field
--
-+
- //
- // Message 4 as EAPOL-Key(0,1,0,0,0,P,0,0,MIC,0)
- //
- Packet.KeyDesc.Type = RSN_KEY_DESC;
--
-+
- #ifdef BIG_ENDIAN
- *(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)) = SWAP16(*(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)));
- #endif
--
-+
- // Key descriptor version and appropriate RSN IE
- Packet.KeyDesc.KeyInfo.KeyDescVer = pMsg3->KeyDesc.KeyInfo.KeyDescVer;
-
-@@ -603,16 +829,16 @@
- // KeyMic field presented
- Packet.KeyDesc.KeyInfo.KeyMic = 1;
-
-- // Key Replay count
-- memcpy(Packet.KeyDesc.ReplayCounter, pMsg3->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ // Key Replay count
-+ memcpy(Packet.KeyDesc.ReplayCounter, pMsg3->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
- #ifdef BIG_ENDIAN
- *(USHORT *)&Packet.KeyDesc.KeyInfo = SWAP16(*(USHORT *)&Packet.KeyDesc.KeyInfo);
- #endif
-
-- // Out buffer for transmitting message 4
-+ // Out buffer for transmitting message 4
- NStatus = MlmeAllocateMemory(pAdapter, (PVOID)&OutBuffer); //Get an unused nonpaged memory
- if (NStatus != NDIS_STATUS_SUCCESS)
-- return;
-+ return;
-
- // Prepare EAPOL frame for MIC calculation
- // Be careful, only EAPOL frame is counted for MIC calculation
-@@ -626,7 +852,7 @@
- {
- // AES
- UCHAR digest[80];
--
-+
- HMAC_SHA1(OutBuffer, FrameLen, pAdapter->PortCfg.PTK, LEN_EAP_MICK, digest);
- memcpy(Mic, digest, LEN_KEY_DESC_MIC);
- }
-@@ -637,10 +863,10 @@
- memcpy(Packet.KeyDesc.KeyMic, Mic, LEN_KEY_DESC_MIC);
-
- FrameLen = 0;
--
-+
- // Make Transmitting frame
- MakeOutgoingFrame(OutBuffer, &FrameLen, sizeof(MACHDR), &Header_802_11,
-- sizeof(EAPHEAD), EAPHEAD,
-+ sizeof(EAPHEAD), EAPHEAD,
- Packet.Len[1] + 4, &Packet,
- END_OF_ARGS);
-
-@@ -651,38 +877,38 @@
- // 7. Update PTK
- memset(&PeerKey, 0, sizeof(PeerKey));
- PeerKey.Length = sizeof(PeerKey);
-- PeerKey.KeyIndex = 0xe0000000;
-+ PeerKey.KeyIndex = 0xe0000000;
- PeerKey.KeyLength = 16;
- memcpy(PeerKey.BSSID, pAdapter->PortCfg.Bssid.Octet, 6);
- memcpy(&PeerKey.KeyRSC, pMsg3->KeyDesc.KeyRsc, LEN_KEY_DESC_RSC);
- memcpy(PeerKey.KeyMaterial, &pAdapter->PortCfg.PTK[32], 32);
- // Call Add peer key function
- RTMPWPAAddKeyProc(pAdapter, &PeerKey);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaPairMsg3Action <-----\n");
- }
-
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Process Group key 2-way handshaking
-
- Arguments:
- pAdapter Pointer to our adapter
- Elem Message body
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID WpaGroupMsg1Action(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- PHEADER_802_11 pHeader;
- UCHAR *OutBuffer = NULL;
-@@ -697,12 +923,12 @@
- UCHAR Mic[16], OldMic[16];
- UCHAR GTK[32], Key[32];
- NDIS_802_11_KEY GroupKey;
--
--
-+
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaGroupMsg1Action ----->\n");
--
-+
- pHeader = (PHEADER_802_11) Elem->Msg;
--
-+
- // Process Group message 1 frame.
- pGroup = (PEAPOL_PACKET) &Elem->Msg[LENGTH_802_11 + LENGTH_802_1_H];
-
-@@ -712,7 +938,7 @@
- return;
-
- // Update new replay counter
-- memcpy(pAdapter->PortCfg.ReplayCounter, pGroup->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ memcpy(pAdapter->PortCfg.ReplayCounter, pGroup->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-
- // 2. Verify MIC is valid
- // Save the MIC and replace with zero
-@@ -722,7 +948,7 @@
- {
- // AES
- UCHAR digest[80];
--
-+
- HMAC_SHA1((PUCHAR) pGroup, pGroup->Len[1] + 4, pAdapter->PortCfg.PTK, LEN_EAP_MICK, digest);
- memcpy(Mic, digest, LEN_KEY_DESC_MIC);
- }
-@@ -730,7 +956,7 @@
- {
- hmac_md5(pAdapter->PortCfg.PTK, LEN_EAP_MICK, (PUCHAR) pGroup, pGroup->Len[1] + 4, Mic);
- }
--
-+
- if (!NdisEqualMemory(OldMic, Mic, LEN_KEY_DESC_MIC))
- {
- DBGPRINT(RT_DEBUG_ERROR, " MIC Different in group msg 1 of 2-way handshake!!!!!!!!!! \n");
-@@ -749,12 +975,12 @@
- if (pGroup->KeyDesc.KeyInfo.KeyDescVer != 2)
- return;
- // Decrypt AES GTK
-- AES_GTK_KEY_UNWRAP(&pAdapter->PortCfg.PTK[16], GTK, pGroup->KeyDesc.KeyData);
-+ AES_GTK_KEY_UNWRAP(&pAdapter->PortCfg.PTK[16], GTK, pGroup->KeyDesc.KeyData);
- }
- else // TKIP
- {
- INT i;
--
-+
- if (pGroup->KeyDesc.KeyInfo.KeyDescVer != 1)
- return;
- // Decrypt TKIP GTK
-@@ -766,9 +992,9 @@
- for (i = 0; i < 256; i++)
- ARCFOUR_BYTE(&pAdapter->PrivateInfo.WEPCONTEXT);
- // Decrypt GTK. Becareful, there is no ICV to check the result is correct or not
-- ARCFOUR_DECRYPT(&pAdapter->PrivateInfo.WEPCONTEXT, GTK, pGroup->KeyDesc.KeyData, 32);
-+ ARCFOUR_DECRYPT(&pAdapter->PrivateInfo.WEPCONTEXT, GTK, pGroup->KeyDesc.KeyData, 32);
- }
--
-+
- // 4. Construct Group Message 2
- pAdapter->Sequence = ((pAdapter->Sequence) + 1) & (MAX_SEQ_NUMBER);
- WpaMacHeaderInit(pAdapter, &Header_802_11, 1, &pAdapter->PortCfg.Bssid);
-@@ -777,18 +1003,18 @@
- AckRate = pAdapter->PortCfg.ExpectedACKRate[pAdapter->PortCfg.TxRate];
- AckDuration = RTMPCalcDuration(pAdapter, AckRate, 14);
- Header_802_11.Controlhead.Duration = pAdapter->PortCfg.Dsifs + AckDuration;
--
-+
- // Zero Group message 1 body
- memset(&Packet, 0, sizeof(Packet));
- Packet.Version = EAPOL_VER;
- Packet.Type = EAPOLKey;
- Packet.Len[1] = sizeof(KEY_DESCRIPTER) - MAX_LEN_OF_RSNIE; // No data field
--
-+
- //
- // Group Message 2 as EAPOL-Key(1,0,0,0,G,0,0,MIC,0)
- //
- Packet.KeyDesc.Type = RSN_KEY_DESC;
--
-+
- // Key descriptor version and appropriate RSN IE
- Packet.KeyDesc.KeyInfo.KeyDescVer = pGroup->KeyDesc.KeyInfo.KeyDescVer;
-
-@@ -800,18 +1026,18 @@
-
- // Secure bit is 1
- Packet.KeyDesc.KeyInfo.Secure = 1;
--
-- // Key Replay count
-- memcpy(Packet.KeyDesc.ReplayCounter, pGroup->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+
-+ // Key Replay count
-+ memcpy(Packet.KeyDesc.ReplayCounter, pGroup->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-
- #ifdef BIG_ENDIAN
- *(USHORT *)(&(Packet.KeyDesc.KeyInfo)) = SWAP16(*(USHORT *)(&(Packet.KeyDesc.KeyInfo)));
- #endif
-
-- // Out buffer for transmitting group message 2
-+ // Out buffer for transmitting group message 2
- NStatus = MlmeAllocateMemory(pAdapter, (PVOID)&OutBuffer); //Get an unused nonpaged memory
- if (NStatus != NDIS_STATUS_SUCCESS)
-- return;
-+ return;
-
- // Prepare EAPOL frame for MIC calculation
- // Be careful, only EAPOL frame is counted for MIC calculation
-@@ -825,7 +1051,7 @@
- {
- // AES
- UCHAR digest[80];
--
-+
- HMAC_SHA1(OutBuffer, FrameLen, pAdapter->PortCfg.PTK, LEN_EAP_MICK, digest);
- memcpy(Mic, digest, LEN_KEY_DESC_MIC);
- }
-@@ -836,15 +1062,15 @@
- for (i = 0; i < 64; i++)
- DBGPRINT(RT_DEBUG_INFO, "%2x-", pAdapter->PortCfg.PTK[i]);
- DBGPRINT(RT_DEBUG_INFO, "\n FrameLen = %d\n", FrameLen);
--
-+
- hmac_md5(pAdapter->PortCfg.PTK, LEN_EAP_MICK, OutBuffer, FrameLen, Mic);
- }
- memcpy(Packet.KeyDesc.KeyMic, Mic, LEN_KEY_DESC_MIC);
-
-- FrameLen = 0;
-+ FrameLen = 0;
- // Make Transmitting frame
- MakeOutgoingFrame(OutBuffer, &FrameLen, sizeof(MACHDR), &Header_802_11,
-- sizeof(EAPHEAD), EAPHEAD,
-+ sizeof(EAPHEAD), EAPHEAD,
- Packet.Len[1] + 4, &Packet,
- END_OF_ARGS);
-
-@@ -853,72 +1079,72 @@
-
- // 6 Free allocated memory
- MlmeFreeMemory(pAdapter, OutBuffer);
--
-+
- // 6. Update GTK
- memset(&GroupKey, 0, sizeof(GroupKey));
- GroupKey.Length = sizeof(GroupKey);
-- GroupKey.KeyIndex = 0x20000000 | pGroup->KeyDesc.KeyInfo.KeyIndex;
-+ GroupKey.KeyIndex = 0x20000000 | pGroup->KeyDesc.KeyInfo.KeyIndex;
- GroupKey.KeyLength = 16;
- memcpy(GroupKey.BSSID, pAdapter->PortCfg.Bssid.Octet, 6);
- memcpy(GroupKey.KeyMaterial, GTK, 32);
- // Call Add peer key function
- RTMPWPAAddKeyProc(pAdapter, &GroupKey);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaGroupMsg1Action <-----\n");
- }
- /*
- ========================================================================
--
-+
- Routine Description:
- Init WPA MAC header
-
- Arguments:
- pAdapter Pointer to our adapter
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID WpaMacHeaderInit(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT PHEADER_802_11 Hdr,
-- IN UCHAR wep,
-- IN PMACADDR pAddr1)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT PHEADER_802_11 Hdr,
-+ IN UCHAR wep,
-+ IN PMACADDR pAddr1)
- {
- memset(Hdr, 0, sizeof(HEADER_802_11));
-- Hdr->Controlhead.Frame.Type = BTYPE_DATA;
-+ Hdr->Controlhead.Frame.Type = BTYPE_DATA;
- Hdr->Controlhead.Frame.ToDs = 1;
- if (wep == 1)
- Hdr->Controlhead.Frame.Wep = 1;
--
-+
- // Addr1: DA, Addr2: BSSID, Addr3: SA
- COPY_MAC_ADDR(&Hdr->Controlhead.Addr1, pAddr1);
- COPY_MAC_ADDR(&Hdr->Controlhead.Addr2, &pAd->CurrentAddress);
- COPY_MAC_ADDR(&Hdr->Addr3, &pAd->PortCfg.Bssid);
-- Hdr->Sequence = pAd->Sequence;
-+ Hdr->Sequence = pAd->Sequence;
- }
-
- /*
- ========================================================================
-
- Routine Description:
-- Copy frame from waiting queue into relative ring buffer and set
-+ Copy frame from waiting queue into relative ring buffer and set
- appropriate ASIC register to kick hardware encryption before really
- sent out to air.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- PNDIS_PACKET Pointer to outgoing Ndis frame
- NumberOfFrag Number of fragment required
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID WpaHardEncrypt(
-@@ -938,38 +1164,58 @@
- #endif
- ULONG Iv16;
- ULONG Iv32;
-- PWPA_KEY pWpaKey;
-+ PWPA_KEY pWpaKey = NULL;
- UCHAR RetryMode = SHORT_RETRY;
- static UCHAR Priority[4] = {"\x00\x00\x00\x00"};
-+ INT idx;
-+ PHEADER_802_11 pHeader;
-+ unsigned long flags;
-
- // Make sure Tx ring resource won't be used by other threads
-- spin_lock_irq(&pAdapter->TxRingLock);
-+ spin_lock_irqsave(&pAdapter->TxRingLock, flags);
-
- FrameGap = IFS_BACKOFF; // Default frame gap mode
--
-- // outgoing frame always wakeup PHY to prevent frame lost and
-+
-+ // outgoing frame always wakeup PHY to prevent frame lost and
- // turn off PSM bit to improve performance
- if (pAdapter->PortCfg.Psm == PWR_SAVE)
- {
- MlmeSetPsmBit(pAdapter, PWR_ACTIVE);
- }
- AsicForceWakeup(pAdapter);
--
-+
- pAdapter->TxRing[pAdapter->CurEncryptIndex].FrameType = BTYPE_DATA;
-
- pSrc = pPacket; // Point to start of MSDU
--
-+
-+#if 0
- pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.PairwiseKey[0];
- pWpaKey->Type = PAIRWISE_KEY;
-+#else
-+ pHeader = (PHEADER_802_11) pSrc;
-+
-+ for (idx = 0; idx < PAIRWISE_KEY_NO; idx++) {
-+ if ((memcmp(&pHeader->Controlhead.Addr1,
-+ pAdapter->PortCfg.PairwiseKey[idx].BssId, 6) == 0)
-+ && (pAdapter->PortCfg.PairwiseKey[idx].KeyLen != 0)) {
-+ pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.PairwiseKey[idx];
-+ pWpaKey->Type = PAIRWISE_KEY;
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "WpaHardEncrypt:(U) Tx Use Pairwise Key(%d)\n", idx);
-+ break;
-+ }
-+ }
-+#endif
- if (pWpaKey == NULL)
- {
- // No pairwise key, this should not happen
-- spin_unlock_irq(&pAdapter->TxRingLock);
-+ DBGPRINT(RT_DEBUG_ERROR, "WpaHardEncrypt: No pairwise key!!!!!\n");
-+ spin_unlock_irqrestore(&pAdapter->TxRingLock, flags);
- return;
- }
--
-+
- // Get the Tx Ring descriptor & Dma Buffer address
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- #ifndef BIG_ENDIAN
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- #else
-@@ -979,14 +1225,16 @@
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- if ((pTxD->Owner == DESC_OWN_NIC) || (pTxD->CipherOwn == DESC_OWN_NIC))
- {
- // Descriptor owned by NIC. No descriptor avaliable
- // This should not happen since caller guaranteed.
- // Make sure to release Tx ring resource
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ "WpaHardEncrypt: Descriptor ownedby NIC. No descriptor available!!!!!!\n");
- pAdapter->RalinkCounters.TxRingErrCount++;
-- spin_unlock_irq(&pAdapter->TxRingLock);
-+ spin_unlock_irqrestore(&pAdapter->TxRingLock, flags);
- return;
- }
- if (pTxD->Valid == TRUE)
-@@ -995,17 +1243,19 @@
- // This should not happen since caller guaranteed.
- // Make sure to release Tx ring resource
- pTxD->Valid = FALSE;
--
-+
- #ifdef BIG_ENDIAN
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- *pDestTxD = TxD;
- #endif
-
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ "WpaHardEncrypt: Ndis packet of last round did not cleared!!!!!\n");
- pAdapter->RalinkCounters.TxRingErrCount++;
-- spin_unlock_irq(&pAdapter->TxRingLock);
-+ spin_unlock_irqrestore(&pAdapter->TxRingLock, flags);
- return;
- }
--
-+
- // Copy whole frame to Tx ring buffer
- memcpy(pDest, pPacket, Len);
- pDest += Len;
-@@ -1026,16 +1276,21 @@
- tkipIv.IV16.field.Rsvd = 0;
- tkipIv.IV16.field.ExtIV = 1;// 0: non-extended IV, 1: extended IV
- tkipIv.IV16.field.KeyID = 0;
-- tkipIv.IV32 = *(PULONG)(pWpaKey->TxTsc + 2);
-+ //tkipIv.IV32 = *(PULONG)(pWpaKey->TxTsc + 2);
-+ memcpy(&tkipIv.IV32, &pWpaKey->TxTsc[2], 4);
-
-+#ifdef BIG_ENDIAN
-+ pTxD-Iv = SWAP32(tipIv.IV16.word);
-+#else
- pTxD->Iv = tkipIv.IV16.word;
-+#endif
-
- *((PUCHAR) &pTxD->Eiv) = *((PUCHAR) &tkipIv.IV32 + 3);
- *((PUCHAR) &pTxD->Eiv + 1) = *((PUCHAR) &tkipIv.IV32 + 2);
- *((PUCHAR) &pTxD->Eiv + 2) = *((PUCHAR) &tkipIv.IV32 + 1);
- *((PUCHAR) &pTxD->Eiv + 3) = *((PUCHAR) &tkipIv.IV32);
- }
--
-+
- // Increase TxTsc value for next transmission
- while (++pWpaKey->TxTsc[i] == 0x0)
- {
-@@ -1043,13 +1298,13 @@
- if (i == 6)
- break;
- }
--
-+
- // Set IV offset
- pTxD->IvOffset = LENGTH_802_11;
-
- // Copy TKey
- memcpy(pTxD->Key, pWpaKey->Key, 16);
--
-+
- // Set Cipher suite
- CipherAlg = CIPHER_TKIP;
-
-@@ -1059,10 +1314,10 @@
- pAdapter->PrivateInfo.Tx.R = RTMPTkipGetUInt32(pWpaKey->TxMic + 4);
- pAdapter->PrivateInfo.Tx.nBytesInM = 0;
- pAdapter->PrivateInfo.Tx.M = 0;
--
-+
- // DA & SA field
- RTMPTkipAppend(&pAdapter->PrivateInfo.Tx, pSrc + 4, 12);
--
-+
- // Priority + 3 bytes of 0
- RTMPTkipAppend(&pAdapter->PrivateInfo.Tx, Priority, 4);
-
-@@ -1086,9 +1341,9 @@
- *(pTmp + 1) = pWpaKey->TxTsc[1];
- *(pTmp + 2) = 0;
- *(pTmp + 3) = 0x20;
--
-+
- Iv32 = *(PULONG)(&pWpaKey->TxTsc[2]);
--
-+
- // Increase TxTsc value for next transmission
- while (++pWpaKey->TxTsc[i] == 0x0)
- {
-@@ -1096,13 +1351,13 @@
- if (i == 6)
- break;
- }
--
-+
- // Copy IV
- memcpy(&pTxD->Iv, &Iv16, 4);
--
-+
- // Copy EIV
- memcpy(&pTxD->Eiv, &Iv32, 4);
--
-+
- // Set IV offset
- pTxD->IvOffset = LENGTH_802_11;
-
-@@ -1111,11 +1366,11 @@
-
- // Set Cipher suite
- CipherAlg = CIPHER_AES;
--
-+
- // IV + EIV + HW MIC
- Len += 16;
-- }
--
-+ }
-+
- #ifdef BIG_ENDIAN
- RTMPFrameEndianChange(pAdapter, pOriginDest, DIR_WRITE, FALSE);
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-@@ -1123,7 +1378,7 @@
- pTxD = pDestTxD;
- #endif
-
-- RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, TRUE, FALSE, FALSE, RetryMode, FrameGap,
-+ RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, TRUE, FALSE, FALSE, RetryMode, FrameGap,
- pAdapter->PortCfg.TxRate, 4, Len, pAdapter->PortCfg.TxPreambleInUsed, 0);
-
- // Increase & maintain Tx Ring Index
-@@ -1131,28 +1386,28 @@
- if (pAdapter->CurEncryptIndex >= TX_RING_SIZE)
- {
- pAdapter->CurEncryptIndex = 0;
-- }
-- pAdapter->RalinkCounters.EncryptCount++;
--
-+ }
-+ pAdapter->RalinkCounters.EncryptCount++;
-+
- // Kick Encrypt Control Register at the end of all ring buffer preparation
- RTMP_IO_WRITE32(pAdapter, SECCSR1, 0x1);
--
-+
- // Make sure to release Tx ring resource
-- spin_unlock_irq(&pAdapter->TxRingLock);
-+ spin_unlock_irqrestore(&pAdapter->TxRingLock, flags);
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
-- SHA1 function
-+ SHA1 function
-
- Arguments:
--
-+
- Return Value:
-
- Note:
--
-+
- ========================================================================
- */
- VOID HMAC_SHA1(
-@@ -1167,8 +1422,8 @@
- UCHAR k_opad[65]; /* outer padding - key XORd with opad */
- INT i;
-
-- // if key is longer than 64 bytes reset it to key=SHA1(key)
-- if (key_len > 64)
-+ // if key is longer than 64 bytes reset it to key=SHA1(key)
-+ if (key_len > 64)
- {
- SHA_CTX tctx;
- SHAInit(&tctx);
-@@ -1181,20 +1436,20 @@
- memcpy(k_ipad, key, key_len);
- memcpy(k_opad, key, key_len);
-
-- // XOR key with ipad and opad values
-- for (i = 0; i < 64; i++)
-- {
-+ // XOR key with ipad and opad values
-+ for (i = 0; i < 64; i++)
-+ {
- k_ipad[i] ^= 0x36;
- k_opad[i] ^= 0x5c;
- }
-
-- // perform inner SHA1
-+ // perform inner SHA1
- SHAInit(&context); /* init context for 1st pass */
- SHAUpdate(&context, k_ipad, 64); /* start with inner pad */
- SHAUpdate(&context, text, text_len); /* then text of datagram */
- SHAFinal(&context, digest); /* finish up 1st pass */
-
-- //perform outer SHA1
-+ //perform outer SHA1
- SHAInit(&context); /* init context for 2nd pass */
- SHAUpdate(&context, k_opad, 64); /* start with outer pad */
- SHAUpdate(&context, digest, 20); /* then results of 1st hash */
-@@ -1203,17 +1458,17 @@
-
- /*
- ========================================================================
--
-+
- Routine Description:
-- PRF function
-+ PRF function
-
- Arguments:
--
-+
- Return Value:
-
- Note:
- 802.1i Annex F.9
--
-+
- ========================================================================
- */
- VOID PRF(
-@@ -1230,7 +1485,7 @@
- UCHAR input[1024];
- INT currentindex = 0;
- INT total_len;
--
-+
- memcpy(input, prefix, prefix_len);
- input[prefix_len] = 0;
- memcpy(&input[prefix_len + 1], data, data_len);
-@@ -1242,22 +1497,22 @@
- HMAC_SHA1(input, total_len, key, key_len, &output[currentindex]);
- currentindex += 20;
- input[total_len - 1]++;
-- }
-+ }
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Count TPTK from PMK
-
- Arguments:
--
-+
- Return Value:
- Output Store the TPTK
-
- Note:
--
-+
- ========================================================================
- */
- VOID WpaCountPTK(
-@@ -1268,11 +1523,11 @@
- IN UCHAR *SA,
- OUT UCHAR *output,
- IN UINT len)
--{
-+{
- UCHAR concatenation[76];
- UINT CurrPos = 0;
- UCHAR temp[32];
-- UCHAR Prefix[] = {'P', 'a', 'i', 'r', 'w', 'i', 's', 'e', ' ', 'k', 'e', 'y', ' ',
-+ UCHAR Prefix[] = {'P', 'a', 'i', 'r', 'w', 'i', 's', 'e', ' ', 'k', 'e', 'y', ' ',
- 'e', 'x', 'p', 'a', 'n', 's', 'i', 'o', 'n'};
-
- memset(temp, 0, sizeof(temp));
-@@ -1281,52 +1536,52 @@
- if (RTMPCompareMemory(SA, AA, 6) == 1)
- memcpy(concatenation, AA, 6);
- else
-- memcpy(concatenation, SA, 6);
-+ memcpy(concatenation, SA, 6);
- CurrPos += 6;
-
- // Get larger address
- if (RTMPCompareMemory(SA, AA, 6) == 1)
- memcpy(&concatenation[CurrPos], SA, 6);
- else
-- memcpy(&concatenation[CurrPos], AA, 6);
-+ memcpy(&concatenation[CurrPos], AA, 6);
- CurrPos += 6;
-
- // Get smaller address
-- if (RTMPCompareMemory(ANonce, SNonce, 32) == 1)
-+ if (RTMPCompareMemory(ANonce, SNonce, 32) == 1)
- memcpy(&concatenation[CurrPos], SNonce, 32);
-- else
-+ else
- memcpy(&concatenation[CurrPos], ANonce, 32);
- CurrPos += 32;
-
- // Get larger address
-- if (RTMPCompareMemory(ANonce, SNonce, 32) == 1)
-+ if (RTMPCompareMemory(ANonce, SNonce, 32) == 1)
- memcpy(&concatenation[CurrPos], ANonce, 32);
-- else
-+ else
- memcpy(&concatenation[CurrPos], SNonce, 32);
- CurrPos += 32;
--
-+
- PRF(PMK, LEN_MASTER_KEY, Prefix, 22, concatenation, 76 , output, len);
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Misc function to Generate random number
-
- Arguments:
--
-+
- Return Value:
-
- Note:
- 802.1i Annex F.9
--
-+
- ========================================================================
- */
- VOID GenRandom(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- OUT UCHAR *random)
--{
-+{
- INT i, curr;
- UCHAR local[80], KeyCounter[32];
- UCHAR result[80];
-@@ -1337,9 +1592,9 @@
- memset(local, 0, 80);
- memset(KeyCounter, 0, 32);
- memcpy(local, pAd->CurrentAddress, ETH_ALEN);
--
-+
- for (i = 0; i < 32; i++)
-- {
-+ {
- curr = ETH_ALEN;
- CurrentTime = jiffies;
- memcpy(local, pAd->CurrentAddress, ETH_ALEN);
-@@ -1348,29 +1603,29 @@
- curr += sizeof(CurrentTime);
- memcpy(&local[curr], result, 32);
- curr += 32;
-- memcpy(&local[curr], &i, 2);
-+ memcpy(&local[curr], &i, 2);
- curr += 2;
-- PRF(KeyCounter, 32, prefix,12, local, curr, result, 32);
-+ PRF(KeyCounter, 32, prefix,12, local, curr, result, 32);
- }
-- memcpy(random, result, 32);
-+ memcpy(random, result, 32);
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Misc function to decrypt AES body
--
-+
- Arguments:
--
-+
- Return Value:
--
-+
- Note:
- This function references to RFC 3394 for aes key unwrap algorithm.
--
-+
- ========================================================================
- */
--VOID AES_GTK_KEY_UNWRAP(
-+VOID AES_GTK_KEY_UNWRAP(
- IN UCHAR *key,
- OUT UCHAR *plaintext,
- IN UCHAR *ciphertext)
-@@ -1381,7 +1636,7 @@
- INT num_blocks = 2;
- INT j;
- aes_context aesctx;
--
-+
- // Initialize
- // A = C[0]
- memcpy(A, ciphertext, 8);
-@@ -1391,7 +1646,7 @@
- memcpy(R2, &ciphertext[16], 8);
-
- aes_set_key(&aesctx, key, 128);
--
-+
- for (j = 5; j >= 0; j--)
- {
- xor = num_blocks * j + 2;
-@@ -1401,7 +1656,7 @@
- aes_decrypt(&aesctx, BIN, BOUT);
- memcpy(A, &BOUT[0], 8);
- memcpy(R2, &BOUT[8], 8);
--
-+
- xor = num_blocks * j + 1;
- memcpy(BIN, A, 8);
- BIN[7] = A[7] ^ xor;
-diff -Nur rt2500-1.1.0-b4/Module/wpa.h rt2500-cvs-2007061011/Module/wpa.h
---- rt2500-1.1.0-b4/Module/wpa.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/wpa.h 2007-03-21 05:25:35.000000000 +0100
-@@ -1,35 +1,35 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: wpa.h
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: wpa.h
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #ifndef __WPA_H__
- #define __WPA_H__
-@@ -57,7 +57,7 @@
- #define DESC_TYPE_AES 2
- #define RSN_KEY_DESC 0xfe
-
--#define LEN_MASTER_KEY 32
-+#define LEN_MASTER_KEY 32
-
- // EAPOL EK, MK
- #define LEN_EAP_EK 16
-@@ -131,7 +131,7 @@
- UCHAR KeyRsc[LEN_KEY_DESC_RSC];
- UCHAR KeyId[LEN_KEY_DESC_ID];
- UCHAR KeyMic[LEN_KEY_DESC_MIC];
-- UCHAR KeyDataLen[2];
-+ UCHAR KeyDataLen[2];
- UCHAR KeyData[MAX_LEN_OF_RSNIE];
- } KEY_DESCRIPTER, *PKEY_DESCRIPTER;
-
-diff -Nur rt2500-1.1.0-b4/THANKS rt2500-cvs-2007061011/THANKS
---- rt2500-1.1.0-b4/THANKS 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/THANKS 2007-05-05 19:48:18.000000000 +0200
-@@ -8,6 +8,7 @@
- * Mark Wallis - mwallis@serialmonkey.com
- * Robin Cornelius - robin@cornelius.demon.co.uk
- * Gertjan van Wingerde - gwingerde@users.sourceforge.net
-+* Olivier Cornu - o.cornu@gmail.com
-
- And Special thanks to those that have contributed to the project
-
diff --git a/abs/core/rt2500/kernel-2.6.24.patch b/abs/core/rt2500/kernel-2.6.24.patch
deleted file mode 100644
index 113573f..0000000
--- a/abs/core/rt2500/kernel-2.6.24.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- rt2500-1.1.0-b4/Module/rtmp_main.c~ 2008-01-25 11:13:14.000000000 +0100
-+++ rt2500-1.1.0-b4/Module/rtmp_main.c 2008-01-25 11:17:57.000000000 +0100
-@@ -251,8 +251,6 @@
- goto err_out;
- }
-
-- SET_MODULE_OWNER(net_dev);
--
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
- SET_NETDEV_DEV(net_dev, &(pPci_Dev->dev));
- #endif
-@@ -392,7 +390,7 @@
- NICDisableInterrupt(pAd);
- }
-
-- status = request_irq(pAd->pPci_Dev->irq, &RTMPIsr, SA_SHIRQ, net_dev->name, net_dev);
-+ status = request_irq(pAd->pPci_Dev->irq, &RTMPIsr, IRQF_SHARED, net_dev->name, net_dev);
- if (status)
- {
- goto out_module_put;
diff --git a/abs/core/rt2500/kernel-2.6.27.patch b/abs/core/rt2500/kernel-2.6.27.patch
deleted file mode 100644
index 22abd35..0000000
--- a/abs/core/rt2500/kernel-2.6.27.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -Nur rt2500-1.1.0-b4.orig/Module/rtmp_info.c rt2500-1.1.0-b4/Module/rtmp_info.c
---- rt2500-1.1.0-b4.orig/Module/rtmp_info.c 2008-10-10 16:55:27.000000000 +0200
-+++ rt2500-1.1.0-b4/Module/rtmp_info.c 2008-10-10 16:57:27.000000000 +0200
-@@ -481,7 +481,7 @@
- iwe.cmd = SIOCGIWAP;
- iwe.u.ap_addr.sa_family = ARPHRD_ETHER;
- memcpy(iwe.u.ap_addr.sa_data, &pAdapter->PortCfg.BssTab.BssEntry[i].Bssid, ETH_ALEN);
-- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_ADDR_LEN);
-+ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_ADDR_LEN);
- //================================
- memset(&iwe, 0, sizeof(iwe));
- iwe.cmd = SIOCGIWMODE;
-@@ -499,13 +499,13 @@
- }
-
- iwe.len = IW_EV_UINT_LEN;
-- current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_UINT_LEN);
-+ current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe, IW_EV_UINT_LEN);
- //================================
- memset(&iwe, 0, sizeof(iwe));
- iwe.cmd = SIOCGIWESSID;
- iwe.u.data.length = pAdapter->PortCfg.BssTab.BssEntry[i].SsidLen;
- iwe.u.data.flags = 1;
-- current_ev = iwe_stream_add_point(current_ev,end_buf, &iwe, pAdapter->PortCfg.BssTab.BssEntry[i].Ssid);
-+ current_ev = iwe_stream_add_point(info, current_ev,end_buf, &iwe, pAdapter->PortCfg.BssTab.BssEntry[i].Ssid);
- //================================
- memset(&iwe, 0, sizeof(iwe));
- iwe.cmd = SIOCGIWENCODE;
-@@ -513,7 +513,7 @@
- iwe.u.data.flags =IW_ENCODE_ENABLED | IW_ENCODE_NOKEY;
- else
- iwe.u.data.flags = IW_ENCODE_DISABLED;
-- current_ev = iwe_stream_add_point(current_ev, end_buf,&iwe, pAdapter->PortCfg.BssTab.BssEntry[i].Ssid);
-+ current_ev = iwe_stream_add_point(info, current_ev, end_buf,&iwe, pAdapter->PortCfg.BssTab.BssEntry[i].Ssid);
-
- //================================
- memset(&iwe, 0, sizeof(iwe));
-@@ -524,7 +524,7 @@
- {
- iwe.u.bitrate.value = RateIdToMbps[pAdapter->PortCfg.BssTab.BssEntry[i].Rates[i]/2] * 1000000;
- iwe.u.bitrate.disabled = 0;
-- current_val = iwe_stream_add_value(current_ev,
-+ current_val = iwe_stream_add_value(info, current_ev,
- current_val, end_buf, &iwe,
- IW_EV_PARAM_LEN);
- }
-@@ -537,7 +537,7 @@
- iwe.u.freq.m = pAdapter->PortCfg.BssTab.BssEntry[i].Channel;
- iwe.u.freq.e = 0;
- iwe.u.freq.i = 0;
-- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_FREQ_LEN);
-+ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_FREQ_LEN);
- //================================
- memset(&iwe, 0, sizeof(iwe));
- iwe.cmd = IWEVQUAL;
-@@ -549,7 +549,7 @@
- iwe.u.qual.noise = pAdapter->PortCfg.BssTab.BssEntry[i].Noise;
- //iwe.u.qual.noise = (pAdapter->PortCfg.LastR17Value > BBP_R17_DYNAMIC_UP_BOUND) ? BBP_R17_DYNAMIC_UP_BOUND : ((ULONG) pAdapter->PortCfg.LastR17Value); // // noise level (dBm)
-
-- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_QUAL_LEN);
-+ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_QUAL_LEN);
-
-
- //================================
diff --git a/abs/core/rt2500/rt2500.install b/abs/core/rt2500/rt2500.install
deleted file mode 100644
index e58aa37..0000000
--- a/abs/core/rt2500/rt2500.install
+++ /dev/null
@@ -1,26 +0,0 @@
-# arg 1: the new package version
-post_install()
-{
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade()
-{
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
-}
-
-# arg 1: the old package version
-post_remove()
-{
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
-}
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/core/rt2x00-rt61-fw/PKGBUILD b/abs/core/rt2x00-rt61-fw/PKGBUILD
deleted file mode 100644
index 0224fcc..0000000
--- a/abs/core/rt2x00-rt61-fw/PKGBUILD
+++ /dev/null
@@ -1,18 +0,0 @@
-# $Id: PKGBUILD 15101 2008-10-12 16:24:41Z tpowa $
-# Maintainer: Tom Killian <tom@archlinux.org>
-
-pkgname=rt2x00-rt61-fw
-pkgver=1.2
-pkgrel=3
-pkgdesc="Firmware for the rt2x00 wireless drivers"
-arch=(i686 x86_64)
-url="http://www.ralinktech.com/ralink/Home/Support/Linux.html"
-license=('RALINK')
-source=(http://www.ralinktech.com.tw/data/RT61_Firmware_V${pkgver}.zip)
-
-build() {
- cd $startdir/src/RT61_Firmware_V${pkgver}
- mkdir -p $startdir/pkg/lib/firmware
- install -m644 rt2* $startdir/pkg/lib/firmware || return 1
-}
-md5sums=('d4c690c93b470bc9a681297c2adc6281')
diff --git a/abs/core/rt2x00-rt71w-fw/PKGBUILD b/abs/core/rt2x00-rt71w-fw/PKGBUILD
deleted file mode 100644
index 890d3a6..0000000
--- a/abs/core/rt2x00-rt71w-fw/PKGBUILD
+++ /dev/null
@@ -1,17 +0,0 @@
-# $Id: PKGBUILD 15104 2008-10-12 16:35:52Z tpowa $
-# Maintainer: Tom Killian <tom@archlinux.org>
-
-pkgname=rt2x00-rt71w-fw
-pkgver=1.8
-pkgrel=3
-pkgdesc="Firmware for the rt2x00 wireless drivers"
-arch=(i686 x86_64)
-url="http://www.ralinktech.com/ralink/Home/Support/Linux.html"
-license=('RALINK')
-source=(http://www.ralinktech.com.tw/data/RT71W_Firmware_V${pkgver}.zip)
-
-build() {
- cd $startdir/src/RT71W_Firmware_V${pkgver}
- install -Dm644 rt73.bin $startdir/pkg/lib/firmware/rt73.bin || return 1
-}
-md5sums=('1e7a5dc574e0268574fcda3fd5cf52f7')
diff --git a/abs/core/runit-scripts/PKGBUILD b/abs/core/runit-scripts/PKGBUILD
index a8087bd..4fcc454 100755
--- a/abs/core/runit-scripts/PKGBUILD
+++ b/abs/core/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=runit-scripts
pkgver=1.8.0
-pkgrel=117
+pkgrel=121
pkgdesc="collection of startup scripts for runit"
url="http://smarden.org/runit/"
license="BSD"
@@ -28,4 +28,5 @@ build() {
install -m0755 reboot-runit halt-runit logger $startdir/pkg/sbin
rsync -a --exclude=.svn services/* $startdir/pkg/etc/sv
}
-md5sums=('c6cbd6af3657783bd1ce8f75f574d72f')
+
+md5sums=('46f6261239a06a192a08d10663df0273')
diff --git a/abs/core/runit-scripts/fbsplash-runit.sh b/abs/core/runit-scripts/fbsplash-runit.sh
index aa391b0..fb132b8 100755
--- a/abs/core/runit-scripts/fbsplash-runit.sh
+++ b/abs/core/runit-scripts/fbsplash-runit.sh
@@ -5,23 +5,26 @@
CALLER=$0
# splash stuff #
-. /etc/conf.d/fbsplash.conf
-. /sbin/splash-functions.sh
+if [ -e /etc/conf.d/fbsplash.conf ]
+then
+ . /etc/conf.d/fbsplash.conf
+ . /sbin/splash-functions.sh
# Redefine the stat functions #
-stat_runit() {
- printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
- printf "${SAVE_POSITION}"
- deltext
- printf " ${C_OTHER}[${C_BUSY}BKGD${C_OTHER}]${C_CLEAR} "
- # Load variables #
- var_load STEP_NR MAX_STEPS RC_MULTI RC_SYSINIT RC_SHUTDOWN
- # Only update the splash progress if we're in sysinit, multi, or shutdown. #
- ((SPLASH_STEP_NR++))
- SPLASH_PROGRESS=$((100*${SPLASH_STEP_NR}/${SPLASH_MAX_STEPS}))
- SPLASH_CURRENT_PROGRESS=${SPLASH_PROGRESS}
- splash_update_progress ${SPLASH_PROGRESS}
- var_save STEP_NR CURRENT_PROGRESS
+ stat_runit() {
+ printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
+ printf "${SAVE_POSITION}"
+ deltext
+ printf " ${C_OTHER}[${C_BUSY}BKGD${C_OTHER}]${C_CLEAR} "
+ # Load variables #
+ var_load STEP_NR MAX_STEPS RC_MULTI RC_SYSINIT RC_SHUTDOWN
+ # Only update the splash progress if we're in sysinit, multi, or shutdown. #
+ ((SPLASH_STEP_NR++))
+ SPLASH_PROGRESS=$((100*${SPLASH_STEP_NR}/${SPLASH_MAX_STEPS}))
+ SPLASH_CURRENT_PROGRESS=${SPLASH_PROGRESS}
+ splash_update_progress ${SPLASH_PROGRESS}
+ var_save STEP_NR CURRENT_PROGRESS
-}
+ }
+fi
diff --git a/abs/core/runit-scripts/runitscripts/1 b/abs/core/runit-scripts/runitscripts/1
index 6e4425d..af6b376 100755
--- a/abs/core/runit-scripts/runitscripts/1
+++ b/abs/core/runit-scripts/runitscripts/1
@@ -9,6 +9,7 @@ hostname `cat /etc/hostname`
rm /etc/dhcpc/dhcpcd*.pid 2>/dev/null
rm -f /etc/sv/frontend/.runtime/* 2>/dev/null
rm -f /etc/runit/reboot 2>/dev/null
+/sbin/agetty -8 38400 tty10 linux &
stat_busy "Starting network"
/etc/net/scripts/network.init start 2>/var/log/network.init.error >/var/log/network.init
stat_done
diff --git a/abs/core/runit-scripts/runitscripts/services/mdadm/finish b/abs/core/runit-scripts/runitscripts/services/mdadm/finish
deleted file mode 100755
index 92782ba..0000000
--- a/abs/core/runit-scripts/runitscripts/services/mdadm/finish
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-#
-# Stop Monitoring software raid arrays
-exec 2>&1
-export TERM=linux
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID /sbin/mdadm`
- stat_runit "Stopping mdadm RAID Monitor"
- [ ! -z "$PID" ] && kill $PID &>/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon mdadm
- stat_done
- fi
diff --git a/abs/core/runit-scripts/runitscripts/services/mysql/run b/abs/core/runit-scripts/runitscripts/services/mysql/run
index 6b2f95a..4b1a604 100755
--- a/abs/core/runit-scripts/runitscripts/services/mysql/run
+++ b/abs/core/runit-scripts/runitscripts/services/mysql/run
@@ -30,5 +30,5 @@ if [ ! -e /var/log/mysqld.log ]; then
touch /var/log/mysqld.log
chown mysql /var/log/mysqld.log
fi
-
-exec /usr/sbin/mysqld --skip-name-resolve -u mysql 2>/dev/null >/dev/null
+#exec /usr/sbin/mysqld --skip-name-resolve -u mysql 2>/dev/null >/dev/null
+exec /usr/sbin/mysqld -u mysql 2>/dev/null >/dev/null
diff --git a/abs/core/runit-scripts/runitscripts/services/tty2/run b/abs/core/runit-scripts/runitscripts/services/tty2/run
index 8db2924..b2a4fa6 100755
--- a/abs/core/runit-scripts/runitscripts/services/tty2/run
+++ b/abs/core/runit-scripts/runitscripts/services/tty2/run
@@ -4,4 +4,4 @@ export TERM=linux
. /etc/rc.d/functions
stat_runit "Starting Agetty 2"
-exec /sbin/agetty 38400 vc/2 linux
+exec /sbin/agetty 38400 tty2 linux
diff --git a/abs/core/runit-scripts/runitscripts/services/tty3/run b/abs/core/runit-scripts/runitscripts/services/tty3/run
index bdbec66..0bafcd4 100755
--- a/abs/core/runit-scripts/runitscripts/services/tty3/run
+++ b/abs/core/runit-scripts/runitscripts/services/tty3/run
@@ -3,4 +3,4 @@ export TERM=linux
. /etc/rc.conf
. /etc/rc.d/functions
stat_runit "Starting Agetty 3"
-exec /sbin/agetty 38400 vc/3 linux
+exec /sbin/agetty 38400 tty3 linux
diff --git a/abs/core/smbclient/PKGBUILD b/abs/core/smbclient/PKGBUILD
deleted file mode 100644
index e2aaedd..0000000
--- a/abs/core/smbclient/PKGBUILD
+++ /dev/null
@@ -1,57 +0,0 @@
-# $Id: PKGBUILD 37507 2009-05-02 15:44:09Z tpowa $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-pkgname=smbclient
-pkgver=3.3.4
-# We use the 'A' to fake out pacman's version comparators. Samba chooses
-# to append 'a','b',etc to their subsequent releases, which pacman
-# misconstrues as alpha, beta, etc. Bad samba!
-_realver=3.3.4
-pkgrel=1
-pkgdesc="Tools to access a server's filespace and printers via SMB"
-arch=(i686 x86_64)
-url="http://www.samba.org"
-license=('GPL3')
-depends=('popt' 'libldap' 'libcap>=2.16' 'heimdal>=1.2-1' 'db>=4.7' 'tdb=3.3.4')
-source=(http://us1.samba.org/samba/ftp/samba-${_realver}.tar.gz)
-options=(!makeflags)
-
-build() {
- cd ${srcdir}/samba-${_realver}/source
-
- ./configure --prefix=/usr --with-cifsmount --with-fhs --with-pam \
- --with-configdir=/etc/samba \
- --with-lockdir=/var/run/samba --with-ads --with-acl-support \
- --localstatedir=/var --with-syslog --with-pam_smbpass --disable-dnssd \
- --libdir=/usr/lib/samba
-
- make proto bin/smbclient libsmbclient \
- bin/rpcclient bin/smbspool bin/smbtree \
- bin/smbcacls bin/smbcquotas bin/smbget \
- bin/net bin/nmblookup bin/mount.cifs bin/umount.cifs || return 1
- mkdir -p ${pkgdir}/usr/bin ${pkgdir}/sbin ${pkgdir}/usr/lib/samba
- install -m755 bin/{smbclient,rpcclient,smbspool,smbtree,smbcacls,smbcquotas,smbget,net,nmblookup} ${pkgdir}/usr/bin/
- install -m755 bin/{mount.cifs,umount.cifs} ${pkgdir}/sbin/
- mv bin/*.so* ${pkgdir}/usr/lib/samba
- install -m755 script/smbtar ${pkgdir}/usr/bin/
- mkdir -p ${pkgdir}/usr/lib/cups/backend
- ln -sf /usr/bin/smbspool ${pkgdir}/usr/lib/cups/backend/smb
- for i in ${pkgdir}/usr/lib/samba/*; do
- ln -sf samba/$(basename $i) ${pkgdir}/usr/lib/$(basename $i)
- done
- rm -rf ${pkgdir}/usr/lib/libtdb*
- mkdir -p ${pkgdir}/usr/include
- install -m644 include/libsmbclient.h ${pkgdir}/usr/include/
- install -m644 lib/talloc/talloc.h ${pkgdir}/usr/include/
- install -m644 lib/netapi/netapi.h ${pkgdir}/usr/include/
- mkdir -p ${pkgdir}/usr/share/man/man{1,7,8}
- for man in smbspool \
- umount.cifs mount.cifs net; do
- install -m644 ../docs/manpages/${man}.8 ${pkgdir}/usr/share/man/man8/
- done
- for man in rpcclient smbcacls smbclient smbcquotas smbget \
- smbtree smbtar nmblookup; do
- install -m644 ../docs/manpages/${man}.1 ${pkgdir}/usr/share/man/man1/
- done
- install -m644 ../docs/manpages/libsmbclient.7 ${pkgdir}/usr/share/man/man7/
-}
-md5sums=('1443165edb7cb3f56f1e77aec1ee3266')
diff --git a/abs/core/sqlite3/PKGBUILD b/abs/core/sqlite3/PKGBUILD
index acf7a94..0a6fc93 100644
--- a/abs/core/sqlite3/PKGBUILD
+++ b/abs/core/sqlite3/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 22976 2008-12-30 11:35:01Z andyrtr $
+# $Id: PKGBUILD 86812 2010-08-04 21:15:20Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=sqlite3
-pkgver=3.6.10
-pkgrel=5
+pkgver=3.7.0.1
+pkgrel=1
pkgdesc="A C library that implements an SQL database engine"
arch=('i686' 'x86_64')
license=('custom')
url="http://www.sqlite.org/"
-depends=('readline')
+depends=('readline>=6.0.00')
makedepends=('tcl')
conflicts=('sqlite')
replaces=('sqlite')
source=(http://www.sqlite.org/sqlite-$pkgver.tar.gz
license.txt)
-md5sums=('a03bdc86df4025b6881d58557e4b5bd3'
- 'c1cdbc5544034d9012e421e75a5e4890')
options=(!libtool)
+md5sums=('d25d7551ba6bb310362cb0e7d4906f25'
+ 'c1cdbc5544034d9012e421e75a5e4890')
build() {
cd ${srcdir}/sqlite-${pkgver}
@@ -25,8 +25,15 @@ build() {
export CFLAGS="$CFLAGS -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1"
./configure --prefix=/usr \
--enable-threadsafe \
+ --enable-threads-override-locks \
+ --enable-cross-thread-connections \
--disable-static \
--enable-load-extension || return 1
+
+ # rpath removal
+ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
make || return 1
make DESTDIR=${pkgdir} install || return 1
install -Dm0644 sqlite3.1 ${pkgdir}/usr/share/man/man1/sqlite3.1
diff --git a/abs/core/squashfs-tools/PKGBUILD b/abs/core/squashfs-tools/PKGBUILD
index dd17001..fb99564 100644
--- a/abs/core/squashfs-tools/PKGBUILD
+++ b/abs/core/squashfs-tools/PKGBUILD
@@ -1,24 +1,25 @@
-# $Id: PKGBUILD 3162 2008-06-20 23:18:11Z simo $
+# $Id: PKGBUILD 70339 2010-02-26 03:50:39Z dgriffiths $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Original TU: Jeff Mickey <j@codemac.net>
# Contributor: ciccio.a
pkgname=squashfs-tools
-pkgver=3.3
-_realver=3.3
-pkgrel=1
+pkgver=4.0
+pkgrel=3
pkgdesc="Tools for squashfs, a highly compressed read-only filesystem for Linux."
url="http://squashfs.sourceforge.net"
-license="GPL"
+license=("GPL")
arch=('i686' 'x86_64')
depends=('zlib' 'glibc')
-source=(http://easynews.dl.sourceforge.net/sourceforge/squashfs/squashfs$_realver.tar.gz)
-md5sums=('62d3ff7c067a5aa82f57711b3a4ab86a')
+source=(http://downloads.sourceforge.net/sourceforge/squashfs/squashfs${pkgver}.tar.gz mksquashfs-fix-race.patch)
build()
{
- cd $startdir/src/squashfs$_realver/$pkgname
+ cd ${srcdir}/squashfs${pkgver}/${pkgname}
+ patch < ${srcdir}/mksquashfs-fix-race.patch || return 1
make || return 1
- mkdir -p $startdir/pkg/sbin
- cp -a mksquashfs unsquashfs $startdir/pkg/sbin
+ install -Dm755 mksquashfs ${pkgdir}/sbin/mksquashfs || return 1
+ install -m755 unsquashfs ${pkgdir}/sbin/unsquashfs || return 1
}
+md5sums=('a3c23391da4ebab0ac4a75021ddabf96'
+ '116b8a285ff8d61d59c48eb80c0ff564')
diff --git a/abs/core/squashfs-tools/mksquashfs-fix-race.patch b/abs/core/squashfs-tools/mksquashfs-fix-race.patch
new file mode 100644
index 0000000..e483c93
--- /dev/null
+++ b/abs/core/squashfs-tools/mksquashfs-fix-race.patch
@@ -0,0 +1,23 @@
+--- squashfs-tools/mksquashfs.c 2009-04-05 18:22:48.000000000 -0300
++++ squashfs-tools/mksquashfs.c 2010-02-10 17:04:29.303757175 -0300
+@@ -1733,9 +1733,7 @@
+ entry->buffer->block = bytes;
+ bytes += compressed_size;
+ fragments_outstanding --;
+- pthread_mutex_unlock(&fragment_mutex);
+ queue_put(to_writer, entry->buffer);
+- pthread_mutex_lock(&fragment_mutex);
+ TRACE("fragment_locked writing fragment %d, compressed size %d"
+ "\n", entry->fragment, compressed_size);
+ free(entry);
+@@ -2426,8 +2424,8 @@
+ write_buffer->block = bytes;
+ bytes += compressed_size;
+ fragments_outstanding --;
+- pthread_mutex_unlock(&fragment_mutex);
+ queue_put(to_writer, write_buffer);
++ pthread_mutex_unlock(&fragment_mutex);
+ TRACE("Writing fragment %lld, uncompressed size %d, "
+ "compressed size %d\n", file_buffer->block,
+ file_buffer->size, compressed_size);
+
diff --git a/abs/core/system-templates/PKGBUILD b/abs/core/system-templates/PKGBUILD
index 8a4d35e..88e1835 100755
--- a/abs/core/system-templates/PKGBUILD
+++ b/abs/core/system-templates/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=system-templates
pkgver=1.0
-pkgrel=36
+pkgrel=45
conflicts=( )
pkgdesc="Templates used for system configuration"
depends=()
diff --git a/abs/core/tiacx-firmware/PKGBUILD b/abs/core/tiacx-firmware/PKGBUILD
index d16c818..1479cf5 100644
--- a/abs/core/tiacx-firmware/PKGBUILD
+++ b/abs/core/tiacx-firmware/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: James Rayner <iphitus@gmail.com>
+# $Id: PKGBUILD 59442 2009-11-23 23:27:25Z giovanni $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=tiacx-firmware
pkgver=2
-pkgrel=1
+pkgrel=2
pkgdesc="Firmware for Texas Instruments ACX100/ACX111 wireless chips."
-arch=('i686' 'x86_64')
+arch=('any')
url="http://acx100.sourceforge.net/"
license=('MPL')
install=tiacx-firmware.install
-source=(http://www.kazer.org/acx-firmware-20060207.tar.bz2)
+depends=()
+source=(ftp://ftp.archlinux.org/other/tiacx-firmware/acx-firmware-20060207.tar.bz2)
+md5sums=('b8efea38c2c598190604dfa297cc9675')
build() {
- mkdir -p $startdir/pkg/usr/share
- cp -r fw $startdir/pkg/usr/share/tiacx
- find $startdir/pkg -type d -exec chmod 755 {} \;
- find $startdir/pkg -type f -exec chmod 644 {} \;
+ install -d ${pkgdir}/usr/share
+ cp -r fw "${pkgdir}/usr/share/tiacx"
+ find ${pkgdir} -type d -exec chmod 755 {} \;
+ find ${pkgdir} -type f -exec chmod 644 {} \;
}
-md5sums=('b8efea38c2c598190604dfa297cc9675')
diff --git a/abs/core/tiacx-firmware/tiacx-firmware.install b/abs/core/tiacx-firmware/tiacx-firmware.install
index b1ebb62..b83d6fd 100644
--- a/abs/core/tiacx-firmware/tiacx-firmware.install
+++ b/abs/core/tiacx-firmware/tiacx-firmware.install
@@ -16,7 +16,3 @@ EOM
post_upgrade() {
post_install
}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/tiacx/PKGBUILD b/abs/core/tiacx/PKGBUILD
index a55fb12..43b77db 100644
--- a/abs/core/tiacx/PKGBUILD
+++ b/abs/core/tiacx/PKGBUILD
@@ -1,26 +1,35 @@
-# $Id: PKGBUILD 22506 2008-12-26 22:54:41Z tpowa $
+# $Id: PKGBUILD 80410 2010-05-17 07:53:48Z tpowa $
# Maintainer: James Rayner <iphitus@gmail.com>
pkgname=tiacx
pkgver=20080210
-pkgrel=10
+pkgrel=15
pkgdesc="OpenSource module for Texas Instruments ACX100/ACX111 wireless chips. For stock arch 2.6 kernel"
arch=(i686 x86_64)
url="http://acx100.sourceforge.net/"
license=('MPL')
-depends=('wireless_tools' 'kernel26>=2.6.28' 'kernel26<2.6.29' 'tiacx-firmware')
+depends=('wireless_tools' 'kernel26>=2.6.34' 'kernel26<2.6.35' 'tiacx-firmware')
+makedepends=('kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
install=acx.install
source=(http://downloads.sourceforge.net/sourceforge/acx100/acx-$pkgver.tar.bz2
- kernel-2.6.27.patch)
-md5sums=('7d5ce3215708e4e9f95cf567a9ee3a12'
- '9895f72f8d0c84956b0f6c3b16df0fe8')
-
-_kernver=2.6.28-LinHES
+ kernel-2.6.27.patch
+ kernel-2.6.30.patch
+ kernel-2.6.31.patch
+ kernel-2.6.33.patch)
+_kernver=2.6.34-LinHES
build() {
cd $startdir/src/acx-$pkgver
patch -Np1 -i ../kernel-2.6.27.patch || return 1
+ patch -Np0 -i ../kernel-2.6.30.patch || return 1
+ patch -Np1 -i ../kernel-2.6.31.patch || return 1
+ patch -Np0 -i ../kernel-2.6.33.patch || return 1
make -C /lib/modules/${_kernver}/build M=`pwd` || return 1
install -D acx.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/net/wireless/tiacx/acx.ko
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
}
+md5sums=('7d5ce3215708e4e9f95cf567a9ee3a12'
+ '9895f72f8d0c84956b0f6c3b16df0fe8'
+ 'e2900aee839ce711a7f7606b3e3de36e'
+ 'dbcb276d77df7801cef58a85c18dfe94'
+ '9cd35ea33b8abdd2e4efec485b05477e')
diff --git a/abs/core/tiacx/acx.install b/abs/core/tiacx/acx.install
index 8d11348..b858f58 100644
--- a/abs/core/tiacx/acx.install
+++ b/abs/core/tiacx/acx.install
@@ -1,23 +1,19 @@
# arg 1: the new package version
post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod $KERNEL_VERSION > /dev/null 2>&1
}
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod $KERNEL_VERSION > /dev/null 2>&1
}
# arg 1: the old package version
post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod $KERNEL_VERSION > /dev/null 2>&1
}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/tiacx/kernel-2.6.30.patch b/abs/core/tiacx/kernel-2.6.30.patch
new file mode 100644
index 0000000..b5d94a1
--- /dev/null
+++ b/abs/core/tiacx/kernel-2.6.30.patch
@@ -0,0 +1,16 @@
+--- wlan_compat.h~ 2009-06-12 09:17:30.000000000 +0200
++++ wlan_compat.h 2009-06-12 09:17:30.000000000 +0200
+@@ -217,13 +217,6 @@
+ /*=============================================================*/
+ #define WLAN_PACKED __attribute__ ((packed))
+
+-/* Interrupt handler backwards compatibility stuff */
+-#ifndef IRQ_NONE
+-#define IRQ_NONE
+-#define IRQ_HANDLED
+-typedef void irqreturn_t;
+-#endif
+-
+ #ifndef ARPHRD_IEEE80211_PRISM
+ #define ARPHRD_IEEE80211_PRISM 802
+ #endif
diff --git a/abs/core/tiacx/kernel-2.6.31.patch b/abs/core/tiacx/kernel-2.6.31.patch
new file mode 100644
index 0000000..2a89e3c
--- /dev/null
+++ b/abs/core/tiacx/kernel-2.6.31.patch
@@ -0,0 +1,88 @@
+--- acx-20080210/pci.c 2008-02-10 21:06:42.000000000 +0100
++++ acx-20080210/pci.c 2009-09-11 22:27:28.000000000 +0200
+@@ -1437,6 +1437,19 @@
+
+ static void dummy_netdev_init(struct net_device *ndev) {}
+
++static const struct net_device_ops acx_netdev_ops = {
++ .ndo_open = &acxpci_e_open,
++ .ndo_stop = &acxpci_e_close,
++ .ndo_start_xmit = &acx_i_start_xmit,
++ .ndo_get_stats = &acx_e_get_stats,
++#if IW_HANDLER_VERSION <= 5
++ .ndo_get_wireless_stats = &acx_e_get_wireless_stats,
++#endif
++ .ndo_set_multicast_list = &acxpci_i_set_multicast_list,
++ .ndo_tx_timeout = &acxpci_i_tx_timeout,
++ .ndo_change_mtu = &acx_e_change_mtu,
++};
++
+ #ifdef CONFIG_PCI
+ static int __devinit acxpci_e_probe(struct pci_dev *pdev, const struct pci_device_id *id)
+ {
+@@ -1547,17 +1560,8 @@
+ }
+
+ ether_setup(ndev);
+- ndev->open = &acxpci_e_open;
+- ndev->stop = &acxpci_e_close;
+- ndev->hard_start_xmit = &acx_i_start_xmit;
+- ndev->get_stats = &acx_e_get_stats;
+-#if IW_HANDLER_VERSION <= 5
+- ndev->get_wireless_stats = &acx_e_get_wireless_stats;
+-#endif
+- ndev->wireless_handlers = (struct iw_handler_def *)&acx_ioctl_handler_def;
+- ndev->set_multicast_list = &acxpci_i_set_multicast_list;
+- ndev->tx_timeout = &acxpci_i_tx_timeout;
+- ndev->change_mtu = &acx_e_change_mtu;
++ ndev->wireless_handlers = (struct iw_handler_def *)&acx_ioctl_handler_def;
++ ndev->netdev_ops = &acx_netdev_ops;
+ ndev->watchdog_timeo = 4 * HZ;
+ ndev->irq = pdev->irq;
+ ndev->base_addr = pci_resource_start(pdev, 0);
+--- acx-20080210/usb.c 2008-02-10 21:06:42.000000000 +0100
++++ acx-20080210/usb.c 2009-09-11 22:38:42.000000000 +0200
+@@ -778,6 +778,21 @@
+ static void
+ dummy_netdev_init(struct net_device *ndev) {}
+
++static const struct net_device_ops acxusb_netdev_ops = {
++ .ndo_open = &acxusb_e_open,
++ .ndo_stop = &acxusb_e_close,
++ .ndo_start_xmit = (void *)&acx_i_start_xmit,
++ .ndo_get_stats = (void *)&acx_e_get_stats,
++#if IW_HANDLER_VERSION <= 5
++ .ndo_get_wireless_stats = (void *)&acx_e_get_wireless_stats,
++#endif
++ .ndo_set_multicast_list = (void *)&acxusb_i_set_rx_mode,
++#ifdef HAVE_TX_TIMEOUT
++ .ndo_tx_timeout = &acxusb_i_tx_timeout,
++#endif
++ .ndo_change_mtu = &acx_e_change_mtu,
++};
++
+ static int
+ acxusb_e_probe(struct usb_interface *intf, const struct usb_device_id *devID)
+ {
+@@ -845,20 +860,11 @@
+ /* Register the callbacks for the network device functions */
+
+ ether_setup(ndev);
+- ndev->open = &acxusb_e_open;
+- ndev->stop = &acxusb_e_close;
+- ndev->hard_start_xmit = (void *)&acx_i_start_xmit;
+- ndev->get_stats = (void *)&acx_e_get_stats;
+-#if IW_HANDLER_VERSION <= 5
+- ndev->get_wireless_stats = (void *)&acx_e_get_wireless_stats;
+-#endif
+ ndev->wireless_handlers = (struct iw_handler_def *)&acx_ioctl_handler_def;
+- ndev->set_multicast_list = (void *)&acxusb_i_set_rx_mode;
++ ndev->netdev_ops = &acxusb_netdev_ops;
+ #ifdef HAVE_TX_TIMEOUT
+- ndev->tx_timeout = &acxusb_i_tx_timeout;
+ ndev->watchdog_timeo = 4 * HZ;
+ #endif
+- ndev->change_mtu = &acx_e_change_mtu;
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) && defined(SET_MODULE_OWNER)
+ SET_MODULE_OWNER(ndev);
+ #endif
diff --git a/abs/core/tiacx/kernel-2.6.33.patch b/abs/core/tiacx/kernel-2.6.33.patch
new file mode 100644
index 0000000..f486009
--- /dev/null
+++ b/abs/core/tiacx/kernel-2.6.33.patch
@@ -0,0 +1,11 @@
+--- pci.c~ 2010-02-27 19:30:54.000000000 +0100
++++ pci.c 2010-02-27 19:30:54.000000000 +0100
+@@ -35,7 +35,7 @@
+
+ /* Linux 2.6.18+ uses <linux/utsrelease.h> */
+ #ifndef UTS_RELEASE
+-#include <linux/utsrelease.h>
++#include <generated/utsrelease.h>
+ #endif
+
+ #include <linux/compiler.h> /* required for Lx 2.6.8 ?? */
diff --git a/abs/core/udev/81-arch.rules b/abs/core/udev/81-arch.rules
index 933cbc4..40e0a7c 100644
--- a/abs/core/udev/81-arch.rules
+++ b/abs/core/udev/81-arch.rules
@@ -1,8 +1,6 @@
# Udev rules for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
# do not edit this file, it will be overwritten on update
#
-# This ruleset should provide a DevFS-compatible device tree.
-#
# There are a number of modifiers that are allowed to be used in some
# of the different fields. They provide the following subsitutions:
#
@@ -36,10 +34,8 @@ SUBSYSTEM=="sound", RUN+="/lib/udev/load-modules.sh snd-seq-oss"
#PNP addon modules
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0800", RUN+="/lib/udev/load-modules.sh pcspkr"
-SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP0510*", RUN+="/lib/udev/load-modules.sh irtty-sir"
-SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP0511*", RUN+="/lib/udev/load-modules.sh irtty-sir"
+SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP051[01]*", RUN+="/lib/udev/load-modules.sh irtty-sir"
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNPb02f", RUN+="/lib/udev/load-modules.sh analog"
-SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0501", RUN+="/lib/udev/load-modules.sh ppp-generic"
# PARPORT addon modules
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP040*", RUN+="/lib/udev/load-modules.sh lp"
@@ -56,16 +52,16 @@ LABEL="drivers_end"
#####################################
###### CD/DVD symlinks - begin
#####################################
-ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="cdrom_id --export $tempnode"
+ACTION=="add|change", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="cdrom_id --export $tempnode"
+ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="cdrom_id --export $tempnode"
+ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="cdrom_id --export $tempnode"
ENV{ID_CDROM}=="?*", SYMLINK+="cd/cdrom-%b"
ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cd/cdrw-%b"
ENV{ID_CDROM_DVD}=="?*", SYMLINK+="cd/dvd-%b"
-ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvd-%b"
-ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="cdsymlinks.sh"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh"
+ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvdrw-%b"
+ACTION=="add|change", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="cdsymlinks.sh"
+ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh"
+ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh"
ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="hd[a-z]", RUN+="cdsymlinks.sh"
ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sr[0-9]*", RUN+="cdsymlinks.sh"
ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="cdsymlinks.sh"
@@ -80,6 +76,9 @@ ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="cdsymlinks.sh"
# fix /dev/root symlink
SUBSYSTEM=="block", RUN+="root-link.sh"
+# permission for sg devices
+KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660"
+
# permissions for IDE CD devices
SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"
@@ -88,7 +87,7 @@ SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", SYMLINK+="scd%n", GROU
SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", GROUP="optical"
# permissions for removable devices like cardreaders or sticks
-KERNEL=="sd*", ATTRS{scsi_level}=="0", ATTRS{type}=="0", GROUP="storage"
+KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="0", GROUP="storage"
# permissions for firewire external drives
KERNEL=="sd*", ATTRS{scsi_level}=="5", GROUP="storage"
@@ -107,69 +106,38 @@ LABEL="pcmcia_end"
# permissions for SCSI scanners
SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="6", GROUP="scanner"
-# md block devices
-KERNEL=="md[0-9]*", NAME="md%n", SYMLINK+="md/%n"
+# mem
+KERNEL=="ram0", SYMLINK+="ramdisk"
+KERNEL=="ram1", SYMLINK+="ram"
+
+# video4linux
+
+KERNEL=="vbi0", SYMLINK+="vbi"
+KERNEL=="radio0", SYMLINK+="radio"
+KERNEL=="radio[0-9]*", GROUP="video"
+KERNEL=="video0", SYMLINK+="video"
+KERNEL=="vtx0", SYMLINK+="vtx"
# video devices
-SUBSYSTEM=="video4linux", GROUP="video"
### xorg resets those permissions, adjust your xorg.conf!
-KERNEL=="nvidia*", GROUP="video"
KERNEL=="3dfx*", GROUP="video"
-
-# i2c devices
-KERNEL=="i2c-[0-9]*", NAME="i2c/%n", SYMLINK+="%k"
-
-# loop devices
-KERNEL=="loop[0-9]*", NAME="loop/%n", SYMLINK+="%k"
+KERNEL=="fb[0-9]*", GROUP="video"
# misc
-KERNEL=="nvram", NAME="misc/%k", SYMLINK+="%k", GROUP="kmem", MODE="0640"
-KERNEL=="psaux", NAME="misc/%k", SYMLINK+="%k"
-KERNEL=="uinput", NAME="misc/%k", SYMLINK+="%k"
-KERNEL=="sgi_fetchop", MODE="0666"
-KERNEL=="sonypi", MODE="0666"
-KERNEL=="inotify", NAME="misc/%k", SYMLINK+="%k", MODE="0666"
-
-# sound devices
-# alsa devices
-SUBSYSTEM=="sound", GROUP="audio"
-# oss devices
-KERNEL=="audio*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="dmmidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="admmidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="dsp*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="adsp*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="midi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="amidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="mixer*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="sequencer*", NAME="sound/%k", SYMLINK+="%k"
+KERNEL=="sgi_fetchop", MODE="0666"
+KERNEL=="sonypi", MODE="0666"
# USB devices
-KERNEL=="hiddev*", NAME="usb/%k"
-KERNEL=="legousbtower*", NAME="usb/%k", MODE="0666"
-KERNEL=="dabusb*", NAME="usb/%k"
-
-# netlink devices
-KERNEL=="route", NAME="netlink/%k"
-KERNEL=="skip", NAME="netlink/%k"
-KERNEL=="usersock", NAME="netlink/%k"
-KERNEL=="fwmonitor", NAME="netlink/%k"
-KERNEL=="tcpdiag", NAME="netlink/%k"
-KERNEL=="nflog", NAME="netlink/%k"
-KERNEL=="xfrm", NAME="netlink/%k"
-KERNEL=="arpd", NAME="netlink/%k"
-KERNEL=="route6", NAME="netlink/%k"
-KERNEL=="ip6_fw", NAME="netlink/%k"
-KERNEL=="dnrtmsg", NAME="netlink/%k"
-### ! disabled seems to break device creation !
-# KERNEL=="tap*", NAME="netlink/%k"
+KERNEL=="legousbtower*", MODE="0666"
# IEEE1394 (firewire) devices
-KERNEL=="raw1394", NAME="%k", GROUP="video"
+KERNEL=="raw1394", GROUP="video"
# kbd devices
-KERNEL=="kbd", MODE="0664"
+KERNEL=="kbd", MODE="0664"
+# miscellaneous
+KERNEL=="rtc|rtc0", GROUP="audio", MODE="0664"
#######################################
# Permissions and Symlinks - end
#######################################
diff --git a/abs/core/udev/PKGBUILD b/abs/core/udev/PKGBUILD
index c22b10b..2f71d28 100644
--- a/abs/core/udev/PKGBUILD
+++ b/abs/core/udev/PKGBUILD
@@ -1,96 +1,127 @@
-# $Id: PKGBUILD 22190 2008-12-22 18:25:11Z tpowa $
+# $Id: PKGBUILD 85315 2010-07-12 05:13:37Z tpowa $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Bächler <thomas@archlinux.org>
-pkgname=udev
-pkgver=135
-pkgrel=7
-pkgdesc="The userspace dev tools (udev)"
+
+pkgbase="udev"
+pkgname=('udev' 'udev-compat')
+pkgver=160
+pkgrel=1
arch=(i686 x86_64)
url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
license=('GPL')
groups=('base')
-depends=('glibc' 'coreutils' 'util-linux')
-makedepends=('kernel26') #needed to build framebuffer blacklist
-install=udev.install
-backup=(etc/udev/udev.conf
- etc/scsi_id.config
- etc/udev/cdsymlinks.conf
- etc/modprobe.d/framebuffer_blacklist)
-conflicts=('pcmcia-cs' 'hotplug')
-replaces=('devfsd')
# older initscripts versions required start_udev
-conflicts=('initscripts<2008.02')
-options=(!makeflags)
+options=(!makeflags !libtool)
+makedepends=('glibc' 'coreutils' 'util-linux' 'libusb' 'glib2' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection')
source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgname-$pkgver.tar.bz2
- 81-arch.rules load-modules.sh resolve-modalias.c cdsymlinks.sh root-link.sh
- arch-udev-rules.patch readme-udev-arch.txt usb-storage.rules udev-ntfs-3g.patch mount-usb)
-md5sums=('661b9df34e1304dad10f595d95b472bb'
- '3a955ca8e2122a48a223f9d8adf87b70'
- 'f4951f61438d69894b728212dac7318b'
- 'fca04a608009069beb786e26338a783b'
- '8424b78e9dd772e75b4ef90814807815'
+ 81-arch.rules load-modules.sh cdsymlinks.sh root-link.sh
+ arch-udev-rules.patch
+ logitech-rules.patch)
+md5sums=('65459a1f090082c0471bf4e5112208d7'
+ '6393ee81993f8b9beb776ca904005864'
+ 'f91fddc67609b45b244a624977c4247b'
+ '2e808ee78d237c478b57af2a68d43769'
'2d6dc6842464f107bccc68cd505a6c31'
- 'ae216c26a6a5cae4a3ef9c0e1f7bfaa6'
- '7fc6d33bb218e752302eef0a80ff0a89'
- '11eaec41b77746f50975d4ef834c8f83')
+ '70198227b7bbe3852e1cd2299693af66'
+ '817537bdcfc1a4fa79e853fd38df4528')
build() {
cd $srcdir/$pkgname-$pkgver
- patch -p1 < ../udev-ntfs-3g.patch || return 1
- ./configure --prefix="" --mandir=/usr/share/man --includedir=/usr/include
- make || return 1
- make DESTDIR=$startdir/pkg install
-
+ # fix logitech rules
+ patch -Np0 -i $srcdir/logitech-rules.patch
+ ./configure --prefix="" --mandir=/usr/share/man\
+ --includedir=/usr/include\
+ --libexecdir=/lib/udev\
+ --datarootdir=/usr/share
+ make
+}
+
+package_udev() {
+ pkgdesc="The userspace dev tools (udev)"
+ depends=('glibc' 'coreutils' 'util-linux' 'libusb' 'glib2'
+ 'module-init-tools>=3.11')
+ install=udev.install
+ backup=(etc/udev/udev.conf
+ etc/modprobe.d/framebuffer_blacklist.conf)
+ conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07')
+ replaces=('devfsd')
+
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=${pkgdir} install
# Fix pkgconfig path
install -d -m755 $pkgdir/usr/lib
mv $pkgdir/lib/pkgconfig $pkgdir/usr/lib
-
- # Non-stock rules still go in /etc
- install -D -m644 $srcdir/81-arch.rules $pkgdir/etc/udev/rules.d/81-arch.rules
- install -D -m644 $srcdir/usb-storage.rules $pkgdir/etc/udev/rules.d/usb-storage.rules
-
- # Scripts needed
- mkdir $pkgdir/etc/udev/scripts
- install -D -m744 $srcdir/mount-usb $pkgdir/etc/udev/scripts
-
+ # Fix ConsoleKit path
+ mv $pkgdir/lib/ConsoleKit $pkgdir/usr/lib
+ # Install our rule for permissions and symlinks
+ install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules
# install our module loading subsystem
install -D -m755 $srcdir/load-modules.sh $pkgdir/lib/udev/load-modules.sh
- install -d -m755 $pkgdir/bin
- gcc -Wall $CFLAGS -o $pkgdir/bin/resolve-modalias $srcdir/resolve-modalias.c
# install cdsymlinks.sh
install -D -m755 $srcdir/cdsymlinks.sh $pkgdir/lib/udev/cdsymlinks.sh
# install root-link.sh
install -D -m755 $srcdir/root-link.sh $pkgdir/lib/udev/root-link.sh
-
- # install instructions
- # NOTE: We should delete this file
- install -D -m644 $srcdir/readme-udev-arch.txt $pkgdir/usr/share/udev/readme-udev-arch.txt
-
- # add devices dir
- mkdir $pkgdir/lib/udev/devices
# disable error logging to prevent startup failures printed to vc on boot
sed -i -e 's|udev_log="err"|udev_log="0"|g' $pkgdir/etc/udev/udev.conf
- # install additional rules files
- for rule in $srcdir/$pkgname-$pkgver/rules/packages/*.rules; do
- install -D -m 644 $rule $pkgdir/lib/udev/rules.d/
- done
# fix standard udev rules to fit to arch
cd $pkgdir/lib/udev/rules.d/
- patch -Np1 -i $srcdir/arch-udev-rules.patch || return 1
-
- # remove the md-raid rules which are now provided by the mdadm package
- rm -f $pkgdir/lib/udev/rules.d/64-md-raid.rules
-
+ patch -Np1 -i $srcdir/arch-udev-rules.patch
+ # remove .orig files
+ rm -f $pkgdir/lib/udev/rules.d/*.orig
# disable persistent cdromsymlinks and network by default
# and move it to /etc/udev/rules.d
mv $pkgdir/lib/udev/rules.d/75-persistent-net-generator.rules \
$pkgdir/etc/udev/rules.d/75-persistent-net-generator.rules.optional
mv $pkgdir/lib/udev/rules.d/75-cd-aliases-generator.rules \
$pkgdir/etc/udev/rules.d/75-cd-aliases-generator.rules.optional
+
# create framebuffer blacklist
mkdir -p $pkgdir/etc/modprobe.d/
for mod in $(find /lib/modules/*/kernel/drivers/video -name '*fb.ko' -exec basename {} .ko \;); do
- echo "blacklist $mod" >> $pkgdir/etc/modprobe.d/framebuffer_blacklist
+ echo "blacklist $mod" >> $pkgdir/etc/modprobe.d/framebuffer_blacklist.conf
done
+
+ # create static devices in /lib/udev/devices/
+ mkdir ${pkgdir}/lib/udev/devices/pts
+ mkdir ${pkgdir}/lib/udev/devices/shm
+
+ mknod -m 0600 ${pkgdir}/lib/udev/devices/console c 5 1
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3
+ mknod -m 0660 ${pkgdir}/lib/udev/devices/zero c 1 5
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/kmsg c 1 11
+
+ ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd
+ ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin
+ ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout
+ ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr
+ ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core
+
+ # these static devices are created for convenience, to autoload the modules if necessary
+ # /dev/loop0
+ mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0
+ chgrp disk ${pkgdir}/lib/udev/devices/loop0
+ # /dev/net/tun
+ mkdir ${pkgdir}/lib/udev/devices/net
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200
+ # /dev/fuse
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/fuse c 10 229
+ # /dev/ppp
+ mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0
+
+ # Replace dialout group in rules with uucp group
+ for i in $pkgdir/lib/udev/rules.d/*.rules; do
+ sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g' $i
+ done
+
+ mv "${pkgdir}/lib/girepository-1.0" "${pkgdir}/usr/lib/"
+}
+
+package_udev-compat() {
+ pkgdesc="The userspace dev tools (udev) - additional rules for older kernels"
+ depends=('udev')
+ groups=('')
+ cd $srcdir/$pkgname-$pkgver
+ install -d -m755 ${pkgdir}/lib/${pkgname}/rules.d
+ install -D -m644 ${srcdir}/${pkgname}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules
}
diff --git a/abs/core/udev/__changelog b/abs/core/udev/__changelog
deleted file mode 100644
index 7e00323..0000000
--- a/abs/core/udev/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-Added usb-storage.rule and script to un/mount USB drives.
diff --git a/abs/core/udev/arch-udev-rules.patch b/abs/core/udev/arch-udev-rules.patch
index b672731..ce00c85 100644
--- a/abs/core/udev/arch-udev-rules.patch
+++ b/abs/core/udev/arch-udev-rules.patch
@@ -1,136 +1,50 @@
-diff -Nur rules.d/60-persistent-storage.rules rules.d.arch/60-persistent-storage.rules
---- rules.d/60-persistent-storage.rules 2008-09-12 15:59:57.000000000 +0200
-+++ rules.d.arch/60-persistent-storage.rules 2008-09-12 16:00:50.000000000 +0200
-@@ -10,7 +10,7 @@
- SUBSYSTEM!="block", GOTO="persistent_storage_end"
-
- # skip rules for inappropriate block devices
--KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-*|md*|btibm*", GOTO="persistent_storage_end"
-+KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|md*|btibm*", GOTO="persistent_storage_end"
-
- # never access non-cdrom removable ide devices, the drivers are causing event loops on open()
- KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
+diff -Nur rules.d/50-udev-default.rules rules.d.arch/50-udev-default.rules
+--- rules.d/50-udev-default.rules 2009-03-07 22:22:48.200242883 +0100
++++ rules.d.arch/50-udev-default.rules 2009-03-07 22:23:26.134434516 +0100
+@@ -59,15 +59,15 @@
+ KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k"
+
+ # cdrom
+-SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n", GROUP="cdrom"
+-SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
+-KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
+-KERNEL=="pktcdvd", GROUP="cdrom"
++SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n", GROUP="optical", MODE="0660"
++SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="optical", MODE="0660"
++KERNEL=="pktcdvd[0-9]*", GROUP="optical", MODE="0660"
++KERNEL=="pktcdvd", GROUP="optical", MODE="0660"
+
+ # tape
+-KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="tape"
+-KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="tape"
+-SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
++KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="storage", MODE="0660"
++KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="storage", MODE="0660"
++SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="storage", MODE="0660"
+
+ # block-related
+ KERNEL=="sch[0-9]*", GROUP="disk"
diff -Nur rules.d/80-drivers.rules rules.d.arch/80-drivers.rules
---- rules.d/80-drivers.rules 2008-09-12 15:59:57.000000000 +0200
-+++ rules.d.arch/80-drivers.rules 2008-09-12 16:01:56.000000000 +0200
-@@ -2,14 +2,16 @@
-
- ACTION!="add", GOTO="drivers_end"
-
--DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/sbin/modprobe $env{MODALIAS}"
--SUBSYSTEM=="tifm", RUN+="/sbin/modprobe --all tifm_sd tifm_ms"
--SUBSYSTEM=="memstick", RUN+="/sbin/modprobe --all ms_block mspro_block"
--SUBSYSTEM=="mmc", RUN+="/sbin/modprobe mmc_block"
--SUBSYSTEM=="i2o", RUN+="/sbin/modprobe i2o_block"
--SUBSYSTEM=="ide", ATTR{media}=="tape", RUN+="/sbin/modprobe ide-scsi"
--SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe sg"
--SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/sbin/modprobe ppdev"
-+DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/lib/udev/load-modules.sh $env{MODALIAS}"
-+SUBSYSTEM=="tifm", RUN+="/lib/udev/load-modules.sh tifm_sd"
-+SUBSYSTEM=="tifm", RUN+="/lib/udev/load-modules.sh tifm_ms"
+--- rules.d/80-drivers.rules 2010-06-03 11:55:08.978720002 +0200
++++ rules.d.arch/80-drivers.rules 2010-06-03 11:58:41.207865142 +0200
+@@ -2,12 +2,13 @@
+
+ ACTION=="remove", GOTO="drivers_end"
+
+-DRIVER!="?*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe -bv $env{MODALIAS}"
+-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/sbin/modprobe -bv tifm_sd"
+-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/sbin/modprobe -bv tifm_ms"
+-SUBSYSTEM=="memstick", RUN+="/sbin/modprobe -bv --all ms_block mspro_block"
+-SUBSYSTEM=="i2o", RUN+="/sbin/modprobe -bv i2o_block"
+-SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe -bv sg"
+-SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/sbin/modprobe -bv ppdev"
++DRIVER!="?*", ENV{MODALIAS}=="?*", RUN+="/lib/udev/load-modules.sh $env{MODALIAS}"
++SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/lib/udev/load-modules.sh tifm_sd"
++SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/lib/udev/load-modules.sh tifm_ms"
+SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh ms_block"
+SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh mspro_block"
-+SUBSYSTEM=="mmc", RUN+="/lib/udev/load-modules.sh mmc_block"
-+SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
-+SUBSYSTEM=="ide", ATTR{media}=="tape", RUN+="/lib/udev/load-modules.sh ide-scsi"
++SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
+SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
+SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/lib/udev/load-modules.sh ppdev"
LABEL="drivers_end"
-
-diff -Nur rules.d/50-udev-default.rules rules.d.arch/50-udev-default.rules
---- rules.d/50-udev-default.rules 2008-09-12 15:59:57.000000000 +0200
-+++ rules.d.arch/50-udev-default.rules 2008-09-12 16:00:50.000000000 +0200
-@@ -4,12 +4,17 @@
- KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660", OPTIONS+="last_rule"
- KERNEL=="ptmx", GROUP="tty", MODE="0666", OPTIONS+="last_rule"
- KERNEL=="tty", GROUP="tty", MODE="0666", OPTIONS+="last_rule"
--KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620", OPTIONS+="last_rule"
--KERNEL=="vcs|vcs[0-9]*|vcsa|vcsa[0-9]*", GROUP="tty", OPTIONS+="last_rule"
-+KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620", NAME="vc/%n", SYMLINK+="%k" OPTIONS+="last_rule"
-+KERNEL=="vcs", GROUP="tty", NAME="vcc/0", OPTIONS+="last_rule"
-+KERNEL=="vcs[0-9]*", GROUP="tty", NAME="vcc/%n", OPTIONS+="last_rule"
-+KERNEL=="vcsa", GROUP="tty", NAME="vcc/a0", OPTIONS+="last_rule"
-+KERNEL=="vcsa[0-9]*", GROUP="tty", NAME="vcc/a%n", OPTIONS+="last_rule"
- KERNEL=="console", MODE="0600", OPTIONS+="last_rule"
-
- # serial
- KERNEL=="tty[A-Z]*|pppox*|ircomm*|noz*", GROUP="uucp"
-+KERNEL=="ttyS[0-9]*", NAME="tts/%n", SYMLINK+="ttyS%n"
-+KERNEL=="ttyUSB[0-9]*", NAME="tts/USB%n", SYMLINK+="%k"
- KERNEL=="ppp", MODE="0600", OPTIONS+="ignore_remove"
- KERNEL=="mwave", NAME="modems/mwave", GROUP="uucp"
- KERNEL=="hvc*|hvsi*", GROUP="uucp"
-@@ -21,6 +26,7 @@
- KERNEL=="mem|kmem|port|nvram", GROUP="kmem", MODE="0640"
- KERNEL=="ram0", SYMLINK+="ramdisk"
- KERNEL=="ram1", SYMLINK+="ram"
-+KERNEL=="ram[0-9]*", NAME="rd/%n", SYMLINK+="%k"
-
- # input
- KERNEL=="mouse*|mice|event*", NAME="input/%k", MODE="0640"
-@@ -36,13 +36,18 @@
- KERNEL=="vtx*|vbi*", GROUP="video"
- KERNEL=="winradio*", GROUP="video"
- KERNEL=="vbi0", SYMLINK+="vbi"
--KERNEL=="radio0", SYMLINK+="radio"
-+KERNEL=="vbi[0-9]*", NAME="v4l/vbi%n", SYMLINK+="%k"
-+KERNEL=="radio0", SYMLINK+="video"
-+KERNEL=="radio[0-9]*", NAME="v4l/radio%n", SYMLINK+="radio%n", GROUP="video"
- KERNEL=="video0", SYMLINK+="video"
-+KERNEL=="video[0-9]*", NAME="v4l/video%n", SYMLINK+="%k"
-+KERNEL=="vtx0", SYMLINK+="vtx"
-+KERNEL=="vtx[0-9]*", NAME="v4l/vtx%n", SYMLINK+="%k"
-
- # graphics
--KERNEL=="agpgart", MODE="0600", GROUP="video"
--KERNEL=="card[0-9]*", NAME="dri/%k", MODE="0666"
--KERNEL=="fb0", SYMLINK+="fb"
-+KERNEL=="agpgart", NAME="misc/%k", SYMLINK+="%k", GROUP="video", MODE="0600"
-+KERNEL=="card[0-9]*", NAME="dri/%k", GROUP="video", MODE="0666"
-+KERNEL=="fb[0-9]*", NAME="fb/%n", SYMLINK+="%k", GROUP="video"
- KERNEL=="pmu", GROUP="video"
- KERNEL=="nvidia*|nvidiactl*", GROUP="video"
- SUBSYSTEM=="graphics", GROUP="video"
-@@ -62,19 +73,19 @@
- # block, tapes, block-releated
- SUBSYSTEM=="block", GROUP="disk"
- SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n"
--KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions"
-+KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions", GROUP="floppy"
- KERNEL=="fd[0-9]", GROUP="floppy"
--KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k"
-+KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0660 -G floppy $root/%k"
- KERNEL=="sch[0-9]*", GROUP="disk"
--KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0640"
-+KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660"
- KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="disk"
- KERNEL=="pg[0-9]*", GROUP="disk"
- KERNEL=="pt[0-9]*|npt[0-9]*", GROUP="disk"
- KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
- KERNEL=="rawctl", NAME="raw/%k", GROUP="disk"
- SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk"
--KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k"
--KERNEL=="pktcdvd", NAME="pktcdvd/control"
-+KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k", GROUP="optical", MODE="0660"
-+KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="optical", MODE="0660"
- KERNEL=="qft0", SYMLINK+="ftape"
- SUBSYSTEM=="bsg", NAME="bsg/%k"
- SUBSYSTEM=="aoe", NAME="etherd/%k", GROUP="disk"
-@@ -83,13 +94,13 @@
- KERNEL=="tun", NAME="net/%k", MODE="0666", OPTIONS+="ignore_remove"
-
- # CPU
--KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
--KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
-+KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid", SYMLINK="%k"
-+KERNEL=="msr[0-9]*", NAME="cpu/%n/msr", SYMLINK="%k"
- KERNEL=="microcode", NAME="cpu/microcode", MODE="0600"
-
- # miscellaneous
- KERNEL=="fuse", MODE="0666"
--KERNEL=="rtc|rtc0", MODE="0644"
-+KERNEL=="rtc|rtc0", NAME="misc/%k", SYMLINK+="%k", GROUP="audio", MODE="0664"
- KERNEL=="rtc0", SYMLINK+="rtc"
- KERNEL=="auer[0-9]*", NAME="usb/%k"
- KERNEL=="hw_random", NAME="hwrng", SYMLINK+="%k"
diff --git a/abs/core/udev/cdsymlinks.sh b/abs/core/udev/cdsymlinks.sh
index c4185ac..498abda 100755
--- a/abs/core/udev/cdsymlinks.sh
+++ b/abs/core/udev/cdsymlinks.sh
@@ -1,11 +1,15 @@
#! /bin/sh
# Creates cdsymlinks in /dev
# for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-if [ -d /dev/cd ]; then
+
+# check on cd/dvd drives and if persistant rules file is used
+if [ -d /dev/cd -a ! -e /etc/udev/rules.d/75-persistent-cd.rules ]; then
+ # remove existing device files
rm /dev/cdrom*
rm /dev/cdrw*
rm /dev/dvd*
rm /dev/dvdrw*
+ # start creating symlinks
for i in /dev/cd/cdrom-*; do
if [ -h $i ]; then
[ "$CD_NUMBER" = "" ] && ln -s $i /dev/cdrom
@@ -37,9 +41,4 @@ if [ -d /dev/cd ]; then
! [ "$DVDRW_NUMBER" = "" ] && DVDRW_NUMBER="$((DVDRW_NUMBER+1))" && ln -s $i /dev/dvdrw$DVDRW_NUMBER
fi
done
-else
- rm /dev/cdrom*
- rm /dev/cdrw*
- rm /dev/dvd*
- rm /dev/dvdrw*
fi
diff --git a/abs/core/udev/load-modules.sh b/abs/core/udev/load-modules.sh
index a42d376..1e2af91 100755
--- a/abs/core/udev/load-modules.sh
+++ b/abs/core/udev/load-modules.sh
@@ -9,7 +9,7 @@
BLACKLIST="${MOD_BLACKLIST[@]}"
MODPROBE="/sbin/modprobe"
LOGGER="/usr/bin/logger"
-RESOLVEALIAS="/bin/resolve-modalias"
+RESOLVEALIAS="${MODPROBE} --resolve-alias"
USEBLACKLIST="--use-blacklist"
if [ -f /proc/cmdline ]; then
@@ -42,11 +42,11 @@ if [ "$MOD_AUTOLOAD" = "yes" -o "$MOD_AUTOLOAD" = "YES" ]; then
#sanitize the blacklist
BLACKLIST="$(echo "$BLACKLIST" | sed -e 's|-|_|g')"
# Try to find all modules for the alias
- mods=$($RESOLVEALIAS /lib/modules/$(uname -r)/modules.alias $1)
+ mods=$($RESOLVEALIAS $1)
# If no modules could be found, try if the alias name is a module name
# In that case, omit the --use-blacklist parameter to imitate normal modprobe behaviour
[ -z "${mods}" ] && $MODPROBE -qni $1 && mods="$1" && USEBLACKLIST=""
- [ -z "${mods}" ] && $LOGGER -p info -t "$(basename $0)" "'$1' is not a valid module or alias name"
+ [ -z "${mods}" ] && $LOGGER -p local0.debug -t "$(basename $0)" "'$1' is not a valid module or alias name"
for mod in ${mods}; do
# Find the module and all its dependencies
deps="$($MODPROBE -i --show-depends ${mod})"
@@ -61,9 +61,9 @@ if [ "$MOD_AUTOLOAD" = "yes" -o "$MOD_AUTOLOAD" = "YES" ]; then
for dep in $deps; do
if echo "${BLACKLIST}" | /bin/grep -q -e " ${dep} " -e "^${dep} " -e " ${dep}\$"; then
if [ "${dep}" = "${mod}" ]; then
- $LOGGER -p info -t "$(basename $0)" "Not loading module '${mod}' for alias '$1' because it is blacklisted"
+ $LOGGER -p local0.info -t "$(basename $0)" "Not loading module '${mod}' for alias '$1' because it is blacklisted"
else
- $LOGGER -p info -t "$(basename $0)" "Not loading module '${mod}' for alias '$1' because its dependency '${dep}' is blacklisted"
+ $LOGGER -p local0.info -t "$(basename $0)" "Not loading module '${mod}' for alias '$1' because its dependency '${dep}' is blacklisted"
fi
continue 2
fi
@@ -74,7 +74,7 @@ if [ "$MOD_AUTOLOAD" = "yes" -o "$MOD_AUTOLOAD" = "YES" ]; then
$MODPROBE $USEBLACKLIST ${mod}
done
else
- $MODPROBE $1
+ $MODPROBE $USEBLACKLIST $1
fi
fi
# vim: set et ts=4:
diff --git a/abs/core/udev/logitech-rules.patch b/abs/core/udev/logitech-rules.patch
new file mode 100644
index 0000000..fd0aea4
--- /dev/null
+++ b/abs/core/udev/logitech-rules.patch
@@ -0,0 +1,14 @@
+--- - 2010-07-04 14:50:15.979139552 +0200
++++ extras/hid2hci/70-hid2hci.rules 2010-07-03 21:03:40.685341704 +0200
+@@ -11,9 +11,9 @@
+ RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1"
+
+ # Logitech devices (hidraw)
+-KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345bce]|c71[34bc]", \
++KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345e]|c71[34]", \
+ RUN+="hid2hci --method=logitech-hid --devpath=%p"
+-KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70a", \
++KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[abc]|c71[bc]", \
+ RUN+="hid2hci --method=logitech-hid --devpath=%p"
+
+ ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end"
diff --git a/abs/core/udev/mount-usb b/abs/core/udev/mount-usb
deleted file mode 100644
index 2d3b3f5..0000000
--- a/abs/core/udev/mount-usb
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-
-
-DIR=/media
-DEVICE=$2
-LABEL=`/lib/udev/vol_id -L /dev/$DEVICE`
-FS=`/lib/udev/vol_id -t /dev/$DEVICE`
-
-
-mount_device () {
- if [ "$LABEL" == "" ];
- then
- mkdir -p $DIR/usb-$DEVICE
- case $FS in
- vfat) /bin/mount -t vfat -o rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/$DEVICE $DIR/usb-$DEVICE
- ;;
- *) /bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/$DEVICE $DIR/usb-$DEVICE
- ;;
- esac
- else
- mkdir -p $DIR/$LABEL
- echo $LABEL >$DIR/.$DEVICE
- case $FS in
- vfat) /bin/mount -t vfat -o rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/$DEVICE $DIR/$LABEL
- ;;
- *) /bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/$DEVICE $DIR/$LABEL
- ;;
- esac
- fi
-}
-
-umount_device () {
- if [ -e $DIR/usb-$DEVICE ];
- then
- umount -l $DIR/usb-$DEVICE
- rmdir $DIR/usb-$DEVICE;
- else
- ULABEL=`cat $DIR/.$DEVICE`
- umount -l $DIR/$ULABEL
- rmdir $DIR/$ULABEL
- rm $DIR/.$DEVICE;
- fi
-}
-
-case $1 in
- mount) mount_device
- ;;
- umount) umount_device
- ;;
- *) echo "Usage: mount-usb mount/umount sdxY"
-esac
diff --git a/abs/core/udev/readme-udev-arch.txt b/abs/core/udev/readme-udev-arch.txt
deleted file mode 100644
index e903a6b..0000000
--- a/abs/core/udev/readme-udev-arch.txt
+++ /dev/null
@@ -1,266 +0,0 @@
-==========================
-Cold/Hotplugging with Udev
-==========================
-Version 1.1.6
-written by Tobias Powalowski <tpowa@archlinux.org>
-
----------------
-* Requirements:
----------------
-- recommended kernel >=2.6.18 for this udev to work properly.
-- No more DevFS device paths! If you have them, update /etc/fstab:
- /dev/discs/... etc. has been deprecated in favor of the old style:
- /dev/discs/disc0/part1 -> /dev/hda1
- /dev/discs/disc1/part2 -> /dev/hdb2
-- /etc/modprobe.conf should be cleaned from old install entries (see below).
-
----------------
-* Udev Changes:
----------------
-- The syntax of udev rules has been changed in >=098 release, please update your rules.
- --- Snip Changelog Udev 098
- Renaming of some key names:
- BUS -> SUBSYSTEMS
- ID -> KERNELS
- SYSFS -> ATTRS
- DRIVER -> DRIVERS
- ATTR{file}="value" can be used now, to write to a sysfs file of the
- event device. Instead of:
- ..., SYSFS{type}=="0|7|14", RUN+="/bin/sh -c 'echo 60 > /sys$$DEVPATH/timeout'"
- we now can do:
- ..., ATTR{type}=="0|7|14", ATTR{timeout}="60"
- All the PHYSDEV* keys are deprecated and will be removed from a
- future kernel:
- PHYDEVPATH - is the path of a parent device and should not be
- needed at all.
- PHYSDEVBUS - is just a SUBSYSTEM value of a parent, and can be
- matched with SUBSYSTEMS==
- PHYSDEVDRIVER - for bus devices it is available as ENV{DRIVER}.
- Newer kernels will have DRIVER in the environment,
- for older kernels udev puts in. Class device will
- no longer carry this property of a parent and
- DRIVERS== can be used to match such a parent value.
- Note that ENV{DRIVER} is only available for a few bus devices, where
- the driver is already bound at device event time. On coldplug, the
- events for a lot devices are already bound to a driver, and they will have
- that value set. But on hotplug, at the time the kernel creates the device,
- it can't know what driver may claim the device after that, therefore
- in most cases it will be empty.
- --- snap Changelog Udev 098
-- optional udev >= 099 Persistent rules generator for network and cd/dvd devices was added.
-- default udev rules are installed to /lib/udev/rules.d/, they can be overriden by placing
- own rules files to /etc/udev/rules.d/ .
-
----------------
-* How it works:
----------------
-- Udev replaces the functionality of hotplug and hwdetect scripts.
-- Udev does autoloading of modules and coldplugging.
-- Udev loads the modules simultaneously, which is much faster,
- but can cause some troubles with multiple network/sound/etc devices
- (see below).
-- To reload your rules please use '/sbin/udevadm trigger'.
-
-======================
-* Autoloading modules:
-======================
-
--------------------------------------------------------------------------
-* Module autoloading is controlled by MOD_AUTOLOAD="" in /etc/rc.conf
--------------------------------------------------------------------------
-MOD_AUTOLOAD="yes" in /etc/rc.conf is necessary:
-- if you want module autodetection
-- if you want modules be loaded by udev (hotplugging and coldplugging)
-
-MOD_AUTOLOAD="no" is necessary:
-- if you want to load modules strictly using 'modprobe <module>'
-- if you want to load only the modules listed in the MODULES=() array
- in /etc/rc.conf
-
----------------
-* Blacklisting:
----------------
-- means udev will never try to load the module, even if MOD_AUTOLOAD="yes"
- is set.
-
-You can do this in 2 ways:
-- MOD_BLACKLIST=(moduleA moduleB)
-- MODULES=(!moduleA !moduleB)
-
-Both entries mean the same thing to udev. MOD_BLACKLIST was used by hwdetect.
-hwdetect does not understand the MODULES= syntax, but it doesn't have to -- it
-is only used in mkinitrd now.
-
-==================================
-* Boot parameter: load_modules=off
-==================================
-
-- No modules are loaded during boot using udev autoloading or the MODULES array
-- Useful for repairing your system if something goes wrong during udev startup
- and/or during loading modules
-
-==================================
-* Boot parameter: disablemodules=
-==================================
-
-- list modules there that shouldn't be loaded by udev
-- Syntax: disablemodules=module1,module2,module3,...
-- Useful for repairing your system if something goes wrong during udev startup
- and/or during loading modules and you know the module that causes the trouble.
-
-========================================
-* Persistent CD/DVD symlinks (optional):
-========================================
-
-- To enable this feature copy in /etc/udev/rules.d
- 75-cd-aliases-generator.rules.optinal
- to 75-cd-aliases-generator.rules
- Also disable this part in /lib/udev/rules.d/81-arch.rules by putting a # in front:
- --- snip
- ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="/lib/udev/cdsymlinks.sh"
- ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", RUN+="/lib/udev/cdsymlinks.sh"
- ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", RUN+="/lib/udev/cdsymlinks.sh"
- ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="hd[a-z]", RUN+="/lib/udev/cdsymlinks.sh"
- ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sr[0-9]*", RUN+="/lib/udev/cdsymlinks.sh"
- ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="/lib/udev/cdsymlinks.sh"
---- snap
-
-- To get the same device name for CD/DVD symlinks each time you boot,
- a rule will be generated during bootup or by executing '/sbin/udevadm trigger'.
-- Examples: dvd, cdrom ,cdrw etc.
-- If you want to change those links,
- modify '/etc/udev/rules.d/70-peristent-cd.rules' to your needs.
-
-Known issues:
-The symlink name is then bound to the hardware pci adress,
-if you change your CD/DVD device, you have to check the
-/etc/udev/rules.d/70-peristent-net.rules file for correctness.
-
-======================================
-* Persistent Network names (optional):
-======================================
-
-- To enable this feature copy in /etc/udev/rules.d
- 75-persistent-net-generator.rules.optional
- to 75-persistent-net-generator.rules
-- To get the same network device name each time you boot,
- a rule will be generated during bootup or by executing '/sbin/udevadm trigger'.
-- Examples: eth0, eth1, wlan0 etc.
-- If you want to change those names,
- modify '/etc/udev/rules.d/70-peristent-net.rules' to your needs.
-- NAME= determines the name of your network card. Use these names in your
- network configuration in rc.conf as well.
-
-Known issues:
-The interface name is then bound to the hardware mac adress,
-if you change your network card, you have to check the
-/etc/udev/rules.d/70-peristent-net.rules file for correctness.
-
-====================================
-* Known Problems Hardware:
-====================================
-
-- BusLogic devices are broken and will cause a freeze during startup
-Solution:
-This is a kernel bug and no fix has been provided yet.
-
-- PCMCIA Card readers are not treated as removabel devices.
-Solution:
-To get access to them with hal's pmount backend add them to /etc/pmount.allow
-
-====================================
-* Known Problems MOD_AUTOLOAD="yes":
-====================================
-
------------------------------------------------------------------------------
-* Sound is not working or modules (eg. parport) are not loaded automatically:
------------------------------------------------------------------------------
-Solution:
-- Do you have a clean /etc/modprobe.conf?
- - A clean /etc/modprobe.conf is empty. The stock modprobe.conf file
- contains nothing
-- alsaconf can write output to modprobe.conf. Please keep that in mind.
-
----------------------------------------------
-* Devices get mixed up eg. Network/Soundcards
----------------------------------------------
-- Because udev loads all the modules at once, sometimes devices are initialized
- in different orders (eg. network cards switch eth0 and eth1, sound cards
- the same)
-
-Solution:
-- Load them in MODULES=() array in the order you need them
-- eg: MODULES=(moduleA moduleB)
-
-Second solution for network:
-- The "proper" way to configure net interfaces to hold static names within
- udev rules. Add lines like these to a custom rules file such as
- /etc/udev/rules.d/01-network.rules:
- SUBSYSTEM=="net", SYSFS{address}=="aa:bb:cc:dd:ee:ff", NAME="lan0"
- SUBSYSTEM=="net", SYSFS{address}=="ff:ee:dd:cc:bb:aa", NAME="wlan0"
-
-- To get the right mac address use this command:
- udevinfo -a -p /sys/class/net/<yourdevice>
-- Make sure you use lower-case hex values in your udev rules.
-- NAME= determines the name of your network card. Use these names in your
- network configuration in rc.conf as well.
-
-Third solution for network:
-- check Persistent Network part
-
------------------------------------
-* Network 8139too & 8139cp problem:
------------------------------------
-- Both modules have the same kernel entry, which can cause problems.
-Solution:
-- Enter the one you need in MODULES=() and blacklist the other one
-- eg: MODULES=(!8139cp 8139too)
-- The example tells udev to ignore 8139cp module and load 8139too afterwards.
-
---------------------------------------------------------
-* You need a special loading order to get devices going:
---------------------------------------------------------
-- Kernel loads modules in wrong order.
-Solution:
-- Load them in the correct order in MODULES=()
-
------------------------------
-* Module is not autodetected:
------------------------------
-- If your device does not provide a modalias in /sys it cannot be autodetected.
-- If modalias is not combined to a kernel module it cannot be autodetected.
-Known modules that are not autodetected:
-- SCSI CONTROLLER:
- scsi_transport_sas ultrastor qlogicfas eata BusLogic pas16 wd7000 sym53c416
- g_NCR5380_mmio fdomain u14-34f dtc initio in2000 imm t128 aha1542 aha152x
- atp870u g_NCR5380 NCR53c406a qlogicfas408 megaraid_mm advansys
-- NETWORK CARDS:
- hp ne de4x5 wd cs89x0 eepro smc9194 seeq8005 ni52 ni65 ac3200 smc-ultra
- at1700 hp-plus depca eexpress 82596 de600 eth16i de620 lance ewrk3 e2100
- lp486e 3c501 3c503 3c505 3c507 3c509 3c515 myri10ge
-Solution:
-- Enter the one you need in MODULES=()
-
-=======================================
-* Known Problems with MOD_AUTOLOAD="no"
-=======================================
-
------------------------------------------------------------------
-* Modules are not loaded anymore during coldplug or hotplug event
------------------------------------------------------------------
-- Udev is usually responsible for this, but the MOD_AUTOLOAD switch will
- now disable it. If you want automatic hot/cold-plugging, turn on
- MOD_AUTOLOAD. Otherwise you will have to load all your modules manually,
- either with /sbin/modprobe or entries in the MODULES=() array.
-Solution:
-- For bootup (coldplug) enter this in rc.conf: MODULES=(moduleA moduleB)
-- After bootup (hotplug) use this: modprobe <moduleA>
-
-=========================================
-* Known problems for custom kernel users:
-=========================================
-
-----------------------------
-* Udev doesn't start at all:
-----------------------------
-- Check Requirements list
diff --git a/abs/core/udev/resolve-modalias.c b/abs/core/udev/resolve-modalias.c
deleted file mode 100644
index d1680b1..0000000
--- a/abs/core/udev/resolve-modalias.c
+++ /dev/null
@@ -1,62 +0,0 @@
-#include <stdio.h>
-#include <fnmatch.h>
-#include <string.h>
-#include <malloc.h>
-
-static char *getline(FILE *file) {
- static size_t size = 1024;
- static char *buf = NULL;
- static unsigned int i = 0, r = 0;;
-
- if(buf == NULL)
- buf = (char*)malloc(size);
-
- if(i) {
- memmove(buf, buf+i, size-i);
- r -= i;
- i = 0;
- }
-
- while(1) {
- if(i == size) {
- size *= 2;
- buf = (char*)realloc(buf, size);
- }
-
- if(i==r)
- r += fread(buf+i, 1, size-i, file);
-
- if(i==r && i == 0) {
- free(buf);
- buf = NULL;
- r = 0;
- return NULL;
- }
-
- if(i==r || buf[i] == '\n') {
- buf[i++] = '\0';
- return buf;
- }
- i++;
- }
-}
-
-int main(int argc, char *argv[]) {
- FILE *f=fopen(argv[1], "r");
- char *line, *pattern, *module;
- char *pos1, *pos2;
-
- while((line=getline(f))!=NULL) {
- if(!strncmp(line, "alias", strlen("alias"))) {
- pos1 = index(line, ' ');
- pos2 = index(pos1+1, ' ');
- pattern = pos1+1;
- *pos2 = '\0';
- module = pos2+1;
-
- if(!fnmatch(pattern, argv[2], 0))
- printf("%s\n", module);
- }
- }
- return 0;
-}
diff --git a/abs/core/udev/start_udev b/abs/core/udev/start_udev
deleted file mode 100755
index 03c38fd..0000000
--- a/abs/core/udev/start_udev
+++ /dev/null
@@ -1,137 +0,0 @@
-#! /bin/sh
-#
-# start_udev
-# script to initialize /dev by using udev.
-#
-# Modified for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-#
-# Inspired by:
-#
-# Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
-#
-# Released under the GPL v2 only.
-#
-# This needs to be run at the earliest possible point in the boot
-# process.
-#
-# Based on the udev init.d script
-#
-# Thanks go out to the Gentoo developers for proving
-# that this is possible to do.
-#
-# Yes, it's very verbose, feel free to turn off all of the echo calls,
-# they were there to make me feel better that everything was working
-# properly during development...
-#
-
-prog=udev
-sysfs_dir=/sys
-bin=/sbin/udev
-udevd=/sbin/udevd
-udev_root="/dev"
-
-starttime=$(date +%s)
-
-
-function trigger_builtin_events() {
- list="$(echo /sys/class/tty/ttyS*/uevent)"
- for i in $list; do
- case "$i" in
- */class/uevent|*\**)
- continue
- ;;
- */class/tty/ttyS*)
- echo "add" > "$i"
- ;;
- esac
- done
- }
-
-function trigger_device_events() {
- /sbin/udevtrigger
-}
-
-function wait_for_queue() {
-# loop=20
-# while ! [ "$loop" -gt 0 -a -d /dev/.udev/queue ]; do
-# sleep 0.1;
-# loop=$(($loop - 1))
-# done
- /sbin/udevsettle
-}
-
-make_extra_nodes () {
- # there are a few things that sysfs does not export for us.
- # these things go here (and remember to remove them in
- # remove_extra_nodes()
- #
- # Thanks to Gentoo for the initial list of these.
- ln -snf /proc/self/fd $udev_root/fd
- ln -snf /proc/self/fd/0 $udev_root/stdin
- ln -snf /proc/self/fd/1 $udev_root/stdout
- ln -snf /proc/self/fd/2 $udev_root/stderr
- ln -snf /proc/kcore $udev_root/core
-
- mkdir $udev_root/pts
- mkdir $udev_root/shm
-}
-
-udev_init () {
-# don't use udev if sysfs is not mounted.
-if [ ! -d $sysfs_dir/block ]; then
- exit 1
-fi
-
-echo "mounting... ramfs at $udev_root"
-mount -n -t ramfs none $udev_root
-
-# propogate /udev from /sys
-echo "Creating initial udev device nodes:"
-
-#echo "making extra nodes"
-make_extra_nodes
-
-# check if udevd is already running
-if [ `pidof -o %PPID /sbin/udevd` ]; then
- grep -v "/dev/shm" /etc/mtab | grep -v "/dev/pts" > /etc/mtab
- mount /dev/pts
- mount /dev/shm
-else
- echo "start udev daemon"
- /sbin/udevd --daemon
-fi
-case "$(uname -r)" in
- 2.6.[0-9]|2.6.[0-9][!0-9]*) ;;
- *) if [ -f "/sys/class/tty/console/uevent" ]; then
- echo "Kernel >= 2.6.15 and supports uevents"
- # trigger the sorted events
- echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
- # catch events that are real fast
- mkdir -p /dev/.udev/queue
- trigger_builtin_events
- else
- # for older kernels without uevents will be removed when udevstart dies in udev
- echo "Kernel does not support uevents, you need a kernel >= 2.6.15!"
- exit 1
- fi
- ;;
-esac
-}
-
-udev_uevents () {
-# configure all devices
-trigger_device_events
-# until we know how to do better, just wait for _all_ events to finish
-wait_for_queue
-}
-
-if [ $# -eq 0 ]; then
-udev_init
-udev_uevents
-fi
-
-[ "$1" = "init" ] && udev_init
-[ "$1" = "uevents" ] && udev_uevents
-
-echo "udev startup is finished! - time = $(( `date +%s` - $starttime ))"
-exit 0
diff --git a/abs/core/udev/udev-ntfs-3g.patch b/abs/core/udev/udev-ntfs-3g.patch
deleted file mode 100644
index 366c41f..0000000
--- a/abs/core/udev/udev-ntfs-3g.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-diff -ruaN udev-135.orig/extras/volume_id/lib/ntfs.c udev-135/extras/volume_id/lib/ntfs.c
---- udev-135.orig/extras/volume_id/lib/ntfs.c 2008-11-13 20:42:56.000000000 +0000
-+++ udev-135/extras/volume_id/lib/ntfs.c 2009-06-28 23:31:01.000000000 +0000
-@@ -194,7 +194,7 @@
- }
-
- volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
-- id->type = "ntfs";
-+ id->type = "ntfs-3g";
- /* we think this is ntfs, but we make sure no other signatures are found */
- id->force_unique_result = 1;
- return 0;
-diff -ruaN udev-135.orig/extras/volume_id/lib/ntfs.c~ udev-135/extras/volume_id/lib/ntfs.c~
---- udev-135.orig/extras/volume_id/lib/ntfs.c~ 1970-01-01 00:00:00.000000000 +0000
-+++ udev-135/extras/volume_id/lib/ntfs.c~ 2008-11-13 20:42:56.000000000 +0000
-@@ -0,0 +1,201 @@
-+/*
-+ * volume_id - reads filesystem label and uuid
-+ *
-+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
-+ *
-+ * This program is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation, either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE 1
-+#endif
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <string.h>
-+#include <errno.h>
-+#include <ctype.h>
-+
-+#include "libvolume_id.h"
-+#include "libvolume_id-private.h"
-+
-+static struct ntfs_super_block {
-+ uint8_t jump[3];
-+ uint8_t oem_id[8];
-+ uint16_t bytes_per_sector;
-+ uint8_t sectors_per_cluster;
-+ uint16_t reserved_sectors;
-+ uint8_t fats;
-+ uint16_t root_entries;
-+ uint16_t sectors;
-+ uint8_t media_type;
-+ uint16_t sectors_per_fat;
-+ uint16_t sectors_per_track;
-+ uint16_t heads;
-+ uint32_t hidden_sectors;
-+ uint32_t large_sectors;
-+ uint16_t unused[2];
-+ uint64_t number_of_sectors;
-+ uint64_t mft_cluster_location;
-+ uint64_t mft_mirror_cluster_location;
-+ int8_t cluster_per_mft_record;
-+ uint8_t reserved1[3];
-+ int8_t cluster_per_index_record;
-+ uint8_t reserved2[3];
-+ uint8_t volume_serial[8];
-+ uint16_t checksum;
-+} PACKED *ns;
-+
-+static struct master_file_table_record {
-+ uint8_t magic[4];
-+ uint16_t usa_ofs;
-+ uint16_t usa_count;
-+ uint64_t lsn;
-+ uint16_t sequence_number;
-+ uint16_t link_count;
-+ uint16_t attrs_offset;
-+ uint16_t flags;
-+ uint32_t bytes_in_use;
-+ uint32_t bytes_allocated;
-+} PACKED *mftr;
-+
-+static struct file_attribute {
-+ uint32_t type;
-+ uint32_t len;
-+ uint8_t non_resident;
-+ uint8_t name_len;
-+ uint16_t name_offset;
-+ uint16_t flags;
-+ uint16_t instance;
-+ uint32_t value_len;
-+ uint16_t value_offset;
-+} PACKED *attr;
-+
-+static struct volume_info {
-+ uint64_t reserved;
-+ uint8_t major_ver;
-+ uint8_t minor_ver;
-+} PACKED *info;
-+
-+#define MFT_RECORD_VOLUME 3
-+#define MFT_RECORD_ATTR_VOLUME_NAME 0x60
-+#define MFT_RECORD_ATTR_VOLUME_INFO 0x70
-+#define MFT_RECORD_ATTR_OBJECT_ID 0x40
-+#define MFT_RECORD_ATTR_END 0xffffffffu
-+
-+int volume_id_probe_ntfs(struct volume_id *id, uint64_t off, uint64_t size)
-+{
-+ unsigned int sector_size;
-+ unsigned int cluster_size;
-+ uint64_t mft_cluster;
-+ uint64_t mft_off;
-+ unsigned int mft_record_size;
-+ unsigned int attr_type;
-+ unsigned int attr_off;
-+ unsigned int attr_len;
-+ unsigned int val_off;
-+ unsigned int val_len;
-+ const uint8_t *buf;
-+ const uint8_t *val;
-+
-+ info("probing at offset 0x%" PRIx64 "\n", off);
-+
-+ ns = (struct ntfs_super_block *) volume_id_get_buffer(id, off, 0x200);
-+ if (ns == NULL)
-+ return -1;
-+
-+ if (memcmp(ns->oem_id, "NTFS", 4) != 0)
-+ return -1;
-+
-+ volume_id_set_uuid(id, ns->volume_serial, 0, UUID_64BIT_LE);
-+
-+ sector_size = le16_to_cpu(ns->bytes_per_sector);
-+ if (sector_size < 0x200)
-+ return -1;
-+
-+ cluster_size = ns->sectors_per_cluster * sector_size;
-+ mft_cluster = le64_to_cpu(ns->mft_cluster_location);
-+ mft_off = mft_cluster * cluster_size;
-+
-+ if (ns->cluster_per_mft_record < 0)
-+ /* size = -log2(mft_record_size); normally 1024 Bytes */
-+ mft_record_size = 1 << -ns->cluster_per_mft_record;
-+ else
-+ mft_record_size = ns->cluster_per_mft_record * cluster_size;
-+
-+ dbg("sectorsize 0x%x\n", sector_size);
-+ dbg("clustersize 0x%x\n", cluster_size);
-+ dbg("mftcluster %" PRIu64 "\n", mft_cluster);
-+ dbg("mftoffset 0x%" PRIx64 "\n", mft_off);
-+ dbg("cluster per mft_record %i\n", ns->cluster_per_mft_record);
-+ dbg("mft record size %i\n", mft_record_size);
-+
-+ buf = volume_id_get_buffer(id, off + mft_off + (MFT_RECORD_VOLUME * mft_record_size),
-+ mft_record_size);
-+ if (buf == NULL)
-+ return -1;
-+
-+ mftr = (struct master_file_table_record*) buf;
-+ dbg("mftr->magic '%c%c%c%c'\n", mftr->magic[0], mftr->magic[1], mftr->magic[2], mftr->magic[3]);
-+ if (memcmp(mftr->magic, "FILE", 4) != 0)
-+ return -1;
-+
-+ attr_off = le16_to_cpu(mftr->attrs_offset);
-+ dbg("file $Volume's attributes are at offset %i\n", attr_off);
-+
-+ while (1) {
-+ attr = (struct file_attribute*) &buf[attr_off];
-+ attr_type = le32_to_cpu(attr->type);
-+ attr_len = le16_to_cpu(attr->len);
-+ val_off = le16_to_cpu(attr->value_offset);
-+ val_len = le32_to_cpu(attr->value_len);
-+ attr_off += attr_len;
-+
-+ if (attr_len == 0)
-+ break;
-+
-+ if (attr_off >= mft_record_size)
-+ break;
-+
-+ if (attr_type == MFT_RECORD_ATTR_END)
-+ break;
-+
-+ dbg("found attribute type 0x%x, len %i, at offset %i\n",
-+ attr_type, attr_len, attr_off);
-+
-+ if (attr_type == MFT_RECORD_ATTR_VOLUME_INFO) {
-+ dbg("found info, len %i\n", val_len);
-+ info = (struct volume_info*) (((uint8_t *) attr) + val_off);
-+ snprintf(id->type_version, sizeof(id->type_version)-1,
-+ "%u.%u", info->major_ver, info->minor_ver);
-+ }
-+
-+ if (attr_type == MFT_RECORD_ATTR_VOLUME_NAME) {
-+ dbg("found label, len %i\n", val_len);
-+ if (val_len > VOLUME_ID_LABEL_SIZE)
-+ val_len = VOLUME_ID_LABEL_SIZE;
-+
-+ val = ((uint8_t *) attr) + val_off;
-+ volume_id_set_label_raw(id, val, val_len);
-+ volume_id_set_label_unicode16(id, val, LE, val_len);
-+ }
-+ }
-+
-+ volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
-+ id->type = "ntfs";
-+ /* we think this is ntfs, but we make sure no other signatures are found */
-+ id->force_unique_result = 1;
-+ return 0;
-+}
diff --git a/abs/core/udev/udev.install b/abs/core/udev/udev.install
index bb8b166..b4ce3c8 100644
--- a/abs/core/udev/udev.install
+++ b/abs/core/udev/udev.install
@@ -1,15 +1,16 @@
# arg 1: the new package version
# arg 2: the old package version
+
post_upgrade() {
-if [ "$(vercmp $2 100)" -lt 0 ]; then
- echo "ATTENTION UDEV:"
- echo "----------"
- echo "udev >=098 rules syntax has changed, please update your own rules."
- echo "udev >=099 Added persistent network and CD/DVD Symlink generator rules."
- echo "Please read the instructions carefully before reboot."
- echo "They are located in /etc/udev/readme-udev-arch.txt"
- echo "----------"
-fi
+ if [ "$(vercmp $2 100)" -lt 0 ]; then
+ echo "ATTENTION UDEV:"
+ echo "----------"
+ echo "udev >=098 rules syntax has changed, please update your own rules."
+ echo "udev >=099 Added persistent network and CD/DVD Symlink generator rules."
+ echo "Please read the instructions carefully before reboot."
+ echo "They are located in /etc/udev/readme-udev-arch.txt"
+ echo "----------"
+ fi
}
post_install() {
@@ -26,7 +27,3 @@ post_install() {
rmdir ${ROOTDIR}
fi
}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/udev/udev.rules b/abs/core/udev/udev.rules
deleted file mode 100644
index f789e50..0000000
--- a/abs/core/udev/udev.rules
+++ /dev/null
@@ -1,456 +0,0 @@
-# Udev rules for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-#
-# This ruleset should provide a DevFS-compatible device tree.
-#
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %k the kernel name for the device.
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute.
-# %% the '%' char itself.
-#
-# There are a number of modifiers that are allowed to be used in some of the
-# fields. See the udev man page for a full description of them.
-# global stuff
-#
-
-#####################################
-# Early rules - begin
-#####################################
-# wait for sysfs
-ACTION=="add", KERNEL=="[0-9]*:[0-9]*", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt"
-# Setting timeout for tape-devices (type 1) to 900 seconds
-# and 60 seconds for device types 0, 7 and 14
-SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60"
-SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900"
-#####################################
-# Early rules -end
-#####################################
-
-#####################################
-###### Hotplug rules - begin
-#####################################
-# check if the device has already been claimed by a driver
-ENV{DRIVER}=="?*", SUBSYSTEM!="input", GOTO="hotplug_driver_loaded"
-ACTION!="add", GOTO="hotplug_not_add_event"
-
-#Skip auto-loading of framebuffer devices
-KERNEL=="fb[0-9]*", GOTO="hotplug_driver_loaded"
-
-# Modaliases to load
-ENV{MODALIAS}=="?*", RUN{ignore_error}+="/lib/udev/load-modules.sh $env{MODALIAS}"
-
-# SCSI addon modules
-SUBSYSTEM=="scsi", ATTRS{type}=="[07]", RUN+="/lib/udev/load-modules.sh sd_mod"
-SUBSYSTEM=="scsi", ATTRS{type}=="14", RUN+="/lib/udev/load-modules.sh sd_mod"
-SUBSYSTEM=="scsi", ATTRS{type}=="[45]", RUN+="/lib/udev/load-modules.sh sr_mod"
-SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}=="Onstream", ATTRS{model}!="ADR*", RUN+="/lib/udev/load-modules.sh osst"
-SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}=="Onstream", ATTRS{model}=="ADR*", RUN+="/lib/udev/load-modules.sh st"
-SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}!="Onstream", RUN+="/lib/udev/load-modules.sh st"
-SUBSYSTEM=="scsi", ATTRS{type}=="[235689]", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
-
-# load sg module for burners
-SUBSYSTEM=="block", ATTRS{type}=="[45]", RUN+="/lib/udev/load-modules.sh sg"
-
-# MMC block devices
-SUBSYSTEM=="mmc", RUN+="/lib/udev/load-modules.sh mmc_block"
-
-# I2O block devices
-SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
-
-# Skip already claimed drivers
-DRIVERS=="?*", GOTO="hotplug_driver_loaded"
-
-# PNP modules
-SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN{ignore_error}+="/bin/sh -c 'while read id; do /lib/udev/load-modules.sh pnp:d$$id; /lib/udev/load-modules.sh pnp:c$$id ; done < /sys$devpath/id'"
-
-# SOUND addon modules
-SUBSYSTEM=="sound", RUN+="/lib/udev/load-modules.sh snd-pcm-oss"
-SUBSYSTEM=="sound", RUN+="/lib/udev/load-modules.sh snd-seq-oss"
-
-LABEL="hotplug_driver_loaded"
-
-#PNP addon modules
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0800", RUN+="/lib/udev/load-modules.sh pcspkr"
-# not needed anymore with kernel >= 2.6.21
-#ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0b00", RUN+="/lib/udev/load-modules.sh rtc"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0b00", RUN+="/lib/udev/load-modules.sh rtc_cmos"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP0510*", RUN+="/lib/udev/load-modules.sh irtty-sir"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP0511*", RUN+="/lib/udev/load-modules.sh irtty-sir"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNPb02f", RUN+="/lib/udev/load-modules.sh analog"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0501", RUN+="/lib/udev/load-modules.sh ppp-generic"
-
-# PARPORT addon modules
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP040*", RUN+="/lib/udev/load-modules.sh lp"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP040*", RUN+="/lib/udev/load-modules.sh ppdev"
-
-# fix ide cdrom detection on old proliant servers
-ACTION=="add", SUBSYSTEM=="pci", ENV{MODALIAS}=="pci:v00000E11d00000001sv00000000sd00000000bc06sc02i00", RUN+="/lib/udev/load-modules.sh ide-generic"
-
-# FIRMWARE
-ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="?*", RUN+="/lib/udev/firmware.sh"
-LABEL="hotplug_not_add_event"
-#####################################
-##### Hotplug rules - end
-#####################################
-
-#####################################
-###### CD/DVD symlinks - begin
-#####################################
-ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ENV{ID_CDROM}=="?*", SYMLINK+="cd/cdrom-%b"
-ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cd/cdrw-%b"
-ENV{ID_CDROM_DVD}=="?*", SYMLINK+="cd/dvd-%b"
-ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvd-%b"
-ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="/lib/udev/cdsymlinks.sh"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", RUN+="/lib/udev/cdsymlinks.sh"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", RUN+="/lib/udev/cdsymlinks.sh"
-ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="hd[a-z]", RUN+="/lib/udev/cdsymlinks.sh"
-ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sr[0-9]*", RUN+="/lib/udev/cdsymlinks.sh"
-ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="/lib/udev/cdsymlinks.sh"
-#####################################
-###### CD/DVD symlinks - end
-#####################################
-
-# fix /dev/root symlink
-SUBSYSTEM=="block", RUN+="/lib/udev/root-link.sh"
-
-#####################################
-# Permissions and Symlinks - begin
-#####################################
-# default permissions for all block devices
-SUBSYSTEM=="block", GROUP="disk"
-
-# permissions for IDE CD devices
-SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"
-
-# permissions for SCSI CD devices
-SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", SYMLINK+="scd%n", GROUP="optical"
-SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", GROUP="optical"
-
-# permissions for IDE floppy devices
-SUBSYSTEMS=="ide", KERNEL=="hd*", ATTRS{media}=="floppy*", NAME{all_partitions}="%k", GROUP="floppy"
-
-# permissions for removable devices like cardreaders or sticks
-KERNEL=="sd*", ATTRS{scsi_level}=="0", ATTRS{type}=="0", GROUP="storage"
-
-# permissions for firewire external drives
-KERNEL=="sd*", ATTRS{scsi_level}=="5", GROUP="storage"
-
-# permissions for usb to scsi external adapters
-KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="7", GROUP="storage"
-
-# permissions for ide storage like pcmcia card readers
-ACTION!="add", GOTO="pcmcia_end"
-SUBSYSTEM!="block", GOTO="pcmcia_end"
-KERNEL=="hd*[!0-9]", IMPORT{program}="/lib/udev/ata_id --export $tempnode"
-KERNEL=="hd*", IMPORT{parent}=="ID_*"
-KERNEL=="hd*", ENV{ID_TYPE}=="generic", GROUP="storage"
-LABEL="pcmcia_end"
-
-# permissions for SCSI scanners
-SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="6", GROUP="scanner"
-
-# pty and tty legacy devices
-KERNEL=="pty[a-z][a-z,0-9]*", NAME="legacy/%k", OPTIONS="last_rule"
-KERNEL=="tty[a-z][a-z,0-9]*", NAME="legacy/%k", OPTIONS="last_rule"
-
-# md block devices
-KERNEL=="md[0-9]*", NAME="md%n", SYMLINK+="md/%n"
-
-# device-mapper
-KERNEL=="device-mapper", NAME="mapper/control"
-
-# floppy devices
-KERNEL=="fd[0-9]*", NAME="fd%n", SYMLINK+="floppy/%n fd%nu1440 fd%nu720 fd%nh1200 fd%nu360", GROUP="floppy"
-
-# tty devices
-SUBSYSTEM=="tty", GROUP="tty"
-KERNEL=="tty[0-9]*", NAME="vc/%n", SYMLINK+="%k"
-KERNEL=="ttyS[0-9]*", NAME="tts/%n", SYMLINK+="ttyS%n"
-KERNEL=="ttyUSB[0-9]*", NAME="tts/USB%n", SYMLINK+="%k"
-
-# vc devices
-KERNEL=="vcs", NAME="vcc/0", OPTIONS="last_rule"
-KERNEL=="vcs[0-9]*", NAME="vcc/%n", OPTIONS="last_rule"
-KERNEL=="vcsa", NAME="vcc/a0", OPTIONS="last_rule"
-KERNEL=="vcsa[0-9]*", NAME="vcc/a%n", OPTIONS="last_rule"
-KERNEL=="ptmx", MODE="0666", OPTIONS="last_rule"
-KERNEL=="tty", MODE="0666", OPTIONS="last_rule"
-
-# video devices
-SUBSYSTEM=="video4linux", GROUP="video"
-KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; A=$${K%%%%.*}; D=$${K#*.}; echo dvb/adapter$$A/$$D'", \
- NAME="%c", GROUP="video"
-### xorg resets those permissions, adjust your xorg.conf!
-KERNEL=="nvidia*", GROUP="video"
-KERNEL=="card[0-9]*", NAME="dri/%k", GROUP="video"
-KERNEL=="3dfx*", GROUP="video"
-
-# v4l devices
-KERNEL=="video[0-9]*", NAME="v4l/video%n", SYMLINK+="%k", GROUP="video"
-KERNEL=="video0", SYMLINK+="video"
-KERNEL=="radio[0-9]*", NAME="v4l/radio%n", SYMLINK+="radio%n", GROUP="video"
-KERNEL=="radio0", SYMLINK+="radio"
-KERNEL=="vbi[0-9]*", NAME="v4l/vbi%n", SYMLINK+="%k", GROUP="video"
-KERNEL=="vbi0", SYMLINK+="vbi"
-KERNEL=="vtx[0-9]*", NAME="v4l/vtx%n", SYMLINK+="%k", GROUP="video"
-KERNEL=="vtx0", SYMLINK+="vtx"
-
-# i2c devices
-KERNEL=="i2c-[0-9]*", NAME="i2c/%n", SYMLINK+="%k"
-
-# loop devices
-KERNEL=="loop[0-9]*", NAME="loop/%n", SYMLINK+="%k"
-
-# ramdisks
-KERNEL=="ram[0-9]*", NAME="rd/%n", SYMLINK+="%k"
-
-# framebuffer devices
-KERNEL=="fb[0-9]*", NAME="fb/%n", SYMLINK+="%k", GROUP="video"
-
-# misc
-KERNEL=="rtc*", NAME="misc/%k", SYMLINK+="%k", GROUP="audio", MODE="0664"
-KERNEL=="rtc0", SYMLINK+="rtc"
-KERNEL=="nvram", NAME="misc/%k", SYMLINK+="%k", GROUP="kmem", MODE="0640"
-KERNEL=="psaux", NAME="misc/%k", SYMLINK+="%k"
-KERNEL=="agpgart", NAME="misc/%k", SYMLINK+="%k" GROUP="video"
-KERNEL=="uinput", NAME="misc/%k", SYMLINK+="%k"
-KERNEL=="random", MODE="0666"
-KERNEL=="urandom", MODE="0666"
-KERNEL=="mem", MODE="0640", GROUP="kmem"
-KERNEL=="kmem", MODE="0640", GROUP="kmem"
-KERNEL=="port", MODE="0640", GROUP="kmem"
-KERNEL=="full", MODE="0666"
-KERNEL=="null", MODE="0666"
-KERNEL=="zero", MODE="0666"
-KERNEL=="sgi_fetchop", MODE="0666"
-KERNEL=="sonypi", MODE="0666"
-KERNEL=="inotify", NAME="misc/%k", SYMLINK+="%k", MODE="0666"
-KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid", SYMLINK="%k"
-KERNEL=="msr[0-9]*", NAME="cpu/%n/msr", SYMLINK="%k"
-
-# sound devices
-# alsa devices
-SUBSYSTEM=="sound", GROUP="audio"
-KERNEL=="controlC[0-9]*", NAME="snd/%k"
-KERNEL=="hw[CD0-9]*", NAME="snd/%k"
-KERNEL=="pcm[CD0-9cp]*", NAME="snd/%k"
-KERNEL=="midi[CD0-9]*", NAME="snd/%k"
-KERNEL=="timer", NAME="snd/%k"
-KERNEL=="seq", NAME="snd/%k"
-# oss devices
-KERNEL=="audio*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="dmmidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="admmidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="dsp*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="adsp*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="midi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="amidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="mixer*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="sequencer*", NAME="sound/%k", SYMLINK+="%k"
-
-# input devices
-KERNEL=="mice", NAME="input/%k", MODE="0644"
-KERNEL=="mouse*", NAME="input/%k", MODE="0644"
-KERNEL=="event*", NAME="input/%k"
-KERNEL=="js*", NAME="input/%k", MODE="0664"
-KERNEL=="ts*", NAME="input/%k"
-KERNEL=="uinput", NAME="input/%k"
-
-# USB devices
-KERNEL=="hiddev*", NAME="usb/%k"
-KERNEL=="auer*", NAME="usb/%k"
-KERNEL=="legousbtower*", NAME="usb/%k", MODE="0666"
-KERNEL=="dabusb*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k", GROUP="lp"
-SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{product}=="Palm Handheld*", SYMLINK+="pilot"
-SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{product}=="palmOne Handheld*", SYMLINK+="pilot"
-SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{product}=="Handspring Visor*", SYMLINK+="pilot"
-
-# printer devices
-SUBSYSTEM=="printer", GROUP="lp"
-
-# netlink devices
-KERNEL=="route", NAME="netlink/%k"
-KERNEL=="skip", NAME="netlink/%k"
-KERNEL=="usersock", NAME="netlink/%k"
-KERNEL=="fwmonitor", NAME="netlink/%k"
-KERNEL=="tcpdiag", NAME="netlink/%k"
-KERNEL=="nflog", NAME="netlink/%k"
-KERNEL=="xfrm", NAME="netlink/%k"
-KERNEL=="arpd", NAME="netlink/%k"
-KERNEL=="route6", NAME="netlink/%k"
-KERNEL=="ip6_fw", NAME="netlink/%k"
-KERNEL=="dnrtmsg", NAME="netlink/%k"
-### ! disabled seems to break device creation !
-# KERNEL=="tap*", NAME="netlink/%k"
-
-# CAPI devices
-KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
-KERNEL=="capi*", NAME="capi/%n"
-
-# Network devices
-KERNEL=="tun", NAME="net/%k", OPTIONS+="ignore_remove"
-KERNEL=="ppp", OPTIONS+="ignore_remove"
-
-# IEEE1394 (firewire) devices
-KERNEL=="raw1394", NAME="%k", GROUP="video"
-KERNEL=="dv1394*", NAME="dv1394/%n", GROUP="video"
-KERNEL=="video1394*", NAME="video1394/%n", GROUP="video"
-
-# raw devices
-KERNEL=="raw[0-9]*", NAME="raw/%k"
-
-# kbd devices
-KERNEL=="kbd", MODE="0664"
-
-# packet devices
-KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="optical", MODE="0660"
-KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/pktcdvd%n", GROUP="optical", MODE="0660"
-
-# usbfs-like device nodes, libusb device access
-# for kernel 2.6.21 and below
-SUBSYSTEM=="usb_device", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev};printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0664"
-# starting from kernel 2.6.22 use this rule
-SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0664"
-#######################################
-# Permissions and Symlinks - end
-#######################################
-
-#######################################
-# Persistant block device stuff - begin
-#######################################
-# persistent storage links: /dev/{disk,tape}/{by-id,by-uuid,by-label,by-path,by-name}
-# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>
-
-# needed like this!!!
-ACTION!="add|change", GOTO="persistent_storage_end"
-KERNEL=="nst[0-9]", SUBSYSTEMS=="scsi", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}-nst"
-
-# type 8 devices are "Medium Changers"
-KERNEL=="sg*", SUBSYSTEMS=="scsi", ATTRS{type}=="8", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-SUBSYSTEM!="block", GOTO="persistent_storage_end"
-
-# skip rules for inappropriate block devices
-# don't add dm-*!!!
-KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|md*", GOTO="persistent_storage_end"
-
-# never access non-cdrom removable ide devices, the drivers are causing event loops on open()
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
-KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="persistent_storage_end"
-
-# ignore partitions that span the entire disk
-ATTR{whole_disk}=="*", GOTO="persistent_storage_end"
-
-# /sys/class/block will export this
-ENV{DEVTYPE}!="?*", ATTR{range}=="?*", ENV{DEVTYPE}="disk"
-ENV{DEVTYPE}!="?*", ATTR{start}=="?*", ENV{DEVTYPE}="partition"
-
-# for partitions import parent information
-ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
-
-# by-id (hardware serial number)
-KERNEL=="hd*[!0-9]", IMPORT{program}="/lib/udev/ata_id --export $tempnode"
-KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}"
-KERNEL=="hd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n"
-
-KERNEL=="sd*[!0-9]|sr*|st*", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_SUBSYSTEMS}="ieee1394"
-KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="/lib/udev/usb_id --export %p"
-KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}!="?*", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode"
-KERNEL=="cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}!="?*", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --ignore-sysfs -s %p -d $tempnode", ENV{ID_BUS}="cciss"
-KERNEL=="sd*[!0-9]|sr*|cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-KERNEL=="sd*[0-9]|cciss*p[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
-KERNEL=="st*", ENV{ID_SERIAL}=="?*", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-
-# libata compat (links like hd*)
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_VENDOR}=="ATA", PROGRAM="/lib/udev/ata_id $tempnode", RESULT=="?*", ENV{ID_ATA_COMPAT}="$result", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}"
-KERNEL=="sd*[0-9]", ENV{ID_ATA_COMPAT}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}-part%n"
-
-KERNEL=="mmcblk[0-9]", SUBSYSTEMS=="mmc", ATTRS{name}=="?*", ATTRS{serial}=="?*", ENV{ID_NAME}="$attr{name}", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}"
-KERNEL=="mmcblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}-part%n"
-
-# by-path (shortest physical path)
-ENV{DEVTYPE}=="disk", IMPORT{program}="/lib/udev/path_id %p"
-ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
-ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
-KERNEL=="st*", ENV{ID_PATH}=="?*", SYMLINK+="tape/by-path/$env{ID_PATH}"
-
-KERNEL=="sr*|st*", GOTO="persistent_storage_end"
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GOTO="persistent_storage_end"
-
-# by-label/by-uuid (filesystem properties)
-IMPORT{program}="/lib/udev/vol_id --export $tempnode"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-# BIOS Enhanced Disk Device
-ENV{DEVTYPE}=="disk", IMPORT{program}="/lib/udev/edd_id --export $tempnode"
-ENV{DEVTYPE}=="disk", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}"
-ENV{DEVTYPE}=="partition", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n"
-LABEL="persistent_storage_end"
-
-# md links hook into "change" events, when the array becomes available
-KERNEL!="md[0-9]*", GOTO="md_end"
-ACTION!="add|change", GOTO="md_end"
-
-ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
-IMPORT{program}="/lib/udev/vol_id --export $tempnode"
-OPTIONS="link_priority=100"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-LABEL="md_end"
-# Persistant block device stuff - end
-#####################################
-
-#######################################
-# Persistant input stuff - begin
-#######################################
-SUBSYSTEM!="input", GOTO="persistent_input_end"
-ACTION!="add", GOTO="persistent_input_end"
-# ignore the mid-level drivers
-KERNEL=="input[0-9]*", GOTO="persistent_input_end"
-
-# usb devices
-SUBSYSTEMS=="usb", IMPORT{program}="/lib/udev/usb_id --export"
-SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="01", ENV{ID_CLASS}="kbd"
-SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="02", ENV{ID_CLASS}="mouse"
-
-# other devices
-DRIVERS=="pcspkr", ENV{ID_CLASS}="spkr"
-DRIVERS=="atkbd", ENV{ID_CLASS}="kbd"
-DRIVERS=="psmouse", ENV{ID_CLASS}="mouse"
-ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{ID_CLASS}="ir"
-ATTRS{modalias}=="input:*-*a[068],*|input:*-*a*,[68],*m*", ATTRS{modalias}!="input:*-*k*14A,*r*", ENV{ID_CLASS}="joystick"
-
-# fill empty serial number
-ENV{ID_CLASS}=="?*", ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"
-
-# by-id links, generic and for the event devices
-KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}"
-KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{ID_CLASS}"
-
-
-# by-path links
-IMPORT{program}="/lib/udev/path_id %p"
-KERNEL=="mouse*|js*", ENV{ID_PATH}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{ID_CLASS}"
-KERNEL=="event*", ENV{ID_PATH}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{ID_CLASS}"
-
-LABEL="persistent_input_end"
-#####################################
-# Persistant input stuff - end
-#####################################
-
-# run a command on remove events
-ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
-
-# debugging monitor
-RUN+="socket:/org/kernel/udev/monitor"
diff --git a/abs/core/udev/usb-storage.rules b/abs/core/udev/usb-storage.rules
deleted file mode 100644
index a7e0726..0000000
--- a/abs/core/udev/usb-storage.rules
+++ /dev/null
@@ -1,4 +0,0 @@
-SUBSYSTEMS=="usb", KERNEL=="sd[b-z]", NAME="%k", SYMLINK+="usb-%k", GROUP="users", OPTIONS="last_rule"
-ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd[b-z][0-9]", SYMLINK+="usb-%k", GROUP="users", NAME="%k"
-ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd[b-z][0-9]", RUN+="/etc/udev/scripts/mount-usb mount %k", OPTIONS="last_rule"
-ACTION=="remove", SUBSYSTEMS=="block", RUN+="/etc/udev/scripts/mount-usb umount %k", OPTIONS="last_rule"#
diff --git a/abs/core/unichrome-dri/PKGBUILD b/abs/core/unichrome-dri/PKGBUILD
deleted file mode 100644
index 2870c39..0000000
--- a/abs/core/unichrome-dri/PKGBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# $Id: PKGBUILD 13002 2008-09-25 18:36:29Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=unichrome-dri
-pkgver=7.2
-pkgrel=1
-pkgdesc="DRI drivers for Unichrome-based videochipsets"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'expat>=2.0.1' 'libgl>=7.1-2')
-makedepends=('dri2proto>=1.1' 'glproto>=1.4.9' 'pkgconfig' 'libxfixes' 'libxdamage' 'libxxf86vm' 'libxext')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
-
-build() {
- cd ${srcdir}/Mesa-${pkgver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch
- export CFLAGS="${CFLAGS} -ffast-math"
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=unichrome \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -rf ${pkgdir}/usr/lib/pkgconfig
- rm -rf ${pkgdir}/usr/include
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
-}
diff --git a/abs/core/unichrome-dri/mesa-7.1-link-shared.patch b/abs/core/unichrome-dri/mesa-7.1-link-shared.patch
deleted file mode 100644
index 7fdbf14..0000000
--- a/abs/core/unichrome-dri/mesa-7.1-link-shared.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.dricore mesa-20080814/src/mesa/drivers/dri/Makefile
---- mesa-20080814/src/mesa/drivers/dri/Makefile.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile 2008-08-14 16:18:20.000000000 +1000
-@@ -6,12 +6,17 @@ include $(TOP)/configs/current
-
-
-
--default: $(TOP)/$(LIB_DIR) subdirs
-+default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs
-
-
- $(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
-
-+libdricore.so:
-+ gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc
-+
-+$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so
-+ $(INSTALL) libdricore.so $(TOP)/$(LIB_DIR)
-
- subdirs:
- @for dir in $(DRI_DIRS) ; do \
-@@ -31,12 +36,14 @@ dri.pc: dri.pc.in
- $(pcedit) $< > $@
-
-
--install: dri.pc
-+install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so
- @for dir in $(DRI_DIRS) ; do \
- if [ -d $$dir ] ; then \
- (cd $$dir && $(MAKE) install) || exit 1 ; \
- fi \
- done
-+ $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-+ $(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
- $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \
- $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
-@@ -52,5 +59,6 @@ clean:
- (cd $$dir && $(MAKE) clean) ; \
- fi \
- done
-+ -rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so
- -rm -f common/*.o
- -rm -f *.pc
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore mesa-20080814/src/mesa/drivers/dri/Makefile.template
---- mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile.template 2008-08-14 16:19:37.000000000 +1000
-@@ -1,6 +1,6 @@
- # -*-makefile-*-
-
--MESA_MODULES = $(TOP)/src/mesa/libmesa.a
-+MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so
-
- COMMON_SOURCES = \
- ../common/utils.c \
-@@ -64,7 +64,9 @@ default: symlinks depend $(LIBNAME) $(TO
-
- $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
- $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-- $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
-+ $(OBJECTS) $(WINOBJ) \
-+ -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \
-+ $(DRI_LIB_DEPS)
-
-
- $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
-diff -up mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore mesa-20080814/src/mesa/x86/read_rgba_span_x86.S
---- mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/x86/read_rgba_span_x86.S 2008-08-14 16:16:49.000000000 +1000
-@@ -77,7 +77,6 @@
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_MMX
--.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
- .type _generic_read_RGBA_span_BGRA8888_REV_MMX, @function
- _generic_read_RGBA_span_BGRA8888_REV_MMX:
- pushl %ebx
-@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE:
- pushl %esi
-@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE2:
- pushl %esi
-@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_RGB565_MMX
-- .hidden _generic_read_RGBA_span_RGB565_MMX
- .type _generic_read_RGBA_span_RGB565_MMX, @function
-
- _generic_read_RGBA_span_RGB565_MMX:
diff --git a/abs/core/unzip/unzip-5.5.2-CVE-2008-0888.patch b/abs/core/unzip/unzip-5.5.2-CVE-2008-0888.patch
deleted file mode 100644
index f29a75b..0000000
--- a/abs/core/unzip/unzip-5.5.2-CVE-2008-0888.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- inflate.c 2005-02-27 06:08:46.000000000 +0000
-+++ inflate.c 2006-07-19 21:45:33.543595000 +0100
-@@ -983,6 +983,7 @@
- unsigned l; /* last length */
- unsigned m; /* mask for bit lengths table */
- unsigned n; /* number of lengths to get */
-+ struct huft *tlp;
- struct huft *tl; /* literal/length code table */
- struct huft *td; /* distance code table */
- unsigned bl; /* lookup bits for tl */
-@@ -996,6 +997,8 @@
- int retval = 0; /* error code returned: initialized to "no error" */
-
-
-+ td = tlp = tl = (struct huft *)NULL;
-+
- /* make local bit buffer */
- Trace((stderr, "\ndynamic block"));
- b = G.bb;
-@@ -1047,9 +1050,9 @@
- while (i < n)
- {
- NEEDBITS(bl)
-- j = (td = tl + ((unsigned)b & m))->b;
-+ j = (tlp = tl + ((unsigned)b & m))->b;
- DUMPBITS(j)
-- j = td->v.n;
-+ j = tlp->v.n;
- if (j < 16) /* length of code in bits (0..15) */
- ll[i++] = l = j; /* save last length in l */
- else if (j == 16) /* repeat last length 3 to 6 times */
-@@ -1141,6 +1144,7 @@
- huft_free(td);
- }
- huft_free(tl);
-+
- return retval;
- }
-
-@@ -1149,8 +1153,8 @@
-
- cleanup_and_exit:
- /* free the decoding tables, return */
-- huft_free(tl);
-- huft_free(td);
-+ if (tl) huft_free(tl);
-+ if (td) huft_free(td);
- return retval;
- }
-
diff --git a/abs/core/unzip/unzip-5.50-alt-iconv-v1.2-utf8.patch b/abs/core/unzip/unzip-5.50-alt-iconv-v1.2-utf8.patch
deleted file mode 100644
index 0a215f4..0000000
--- a/abs/core/unzip/unzip-5.50-alt-iconv-v1.2-utf8.patch
+++ /dev/null
@@ -1,430 +0,0 @@
-*** unzip-5.50-real/unix/unix.c 2002-01-22 03:54:42.000000000 +0500
---- unzip-5.50/unix/unix.c 2006-02-20 14:42:21.607294176 +0500
-***************
-*** 29,34 ****
---- 29,37 ----
- #define UNZIP_INTERNAL
- #include "unzip.h"
-
-+ #include <iconv.h>
-+ #include <langinfo.h>
-+
- #ifdef SCO_XENIX
- # define SYSNDIR
- #else /* SCO Unix, AIX, DNIX, TI SysV, Coherent 4.x, ... */
-***************
-*** 1524,1526 ****
---- 1527,1616 ----
- }
- }
- #endif /* QLZIP */
-+
-+
-+ typedef struct {
-+ char *local_charset;
-+ char *archive_charset;
-+ } CHARSET_MAP;
-+
-+ /* A mapping of local <-> archive charsets used by default to convert filenames
-+ * of DOS/Windows Zip archives. Currently very basic. */
-+ static CHARSET_MAP dos_charset_map[] = {
-+ { "ANSI_X3.4-1968", "CP850" },
-+ { "ISO-8859-1", "CP850" },
-+ { "CP1252", "CP850" },
-+ { "UTF-8", "CP866" },
-+ { "KOI8-R", "CP866" },
-+ { "KOI8-U", "CP866" },
-+ { "ISO-8859-5", "CP866" }
-+ };
-+
-+ char OEM_CP[MAX_CP_NAME] = "";
-+ char ISO_CP[MAX_CP_NAME] = "";
-+
-+ /* Try to guess the default value of OEM_CP based on the current locale.
-+ * ISO_CP is left alone for now. */
-+ void init_conversion_charsets()
-+ {
-+ const char *local_charset;
-+ int i;
-+
-+ /* Make a guess only if OEM_CP not already set. */
-+ if(*OEM_CP == '\0') {
-+ local_charset = nl_langinfo(CODESET);
-+ for(i = 0; i < sizeof(dos_charset_map)/sizeof(CHARSET_MAP); i++)
-+ if(!strcasecmp(local_charset, dos_charset_map[i].local_charset)) {
-+ strncpy(OEM_CP, dos_charset_map[i].archive_charset,
-+ sizeof(OEM_CP));
-+ break;
-+ }
-+ }
-+ }
-+
-+ /* Convert a string from one encoding to the current locale using iconv().
-+ * Be as non-intrusive as possible. If error is encountered during covertion
-+ * just leave the string intact. */
-+ static void charset_to_intern(char *string, char *from_charset)
-+ {
-+ iconv_t cd;
-+ char *s,*d, *buf;
-+ size_t slen, dlen, buflen;
-+ const char *local_charset;
-+
-+ if(*from_charset == '\0')
-+ return;
-+
-+ buf = NULL;
-+ local_charset = nl_langinfo(CODESET);
-+
-+ if((cd = iconv_open(local_charset, from_charset)) == (iconv_t)-1)
-+ return;
-+
-+ slen = strlen(string);
-+ s = string;
-+ dlen = buflen = 2*slen;
-+ d = buf = malloc(buflen + 1);
-+ if(!d)
-+ goto cleanup;
-+ bzero(buf,buflen);
-+ if(iconv(cd, &s, &slen, &d, &dlen) == (size_t)-1)
-+ goto cleanup;
-+ strncpy(string, buf, buflen);
-+
-+ cleanup:
-+ free(buf);
-+ iconv_close(cd);
-+ }
-+
-+ /* Convert a string from OEM_CP to the current locale charset. */
-+ inline void oem_intern(char *string)
-+ {
-+ charset_to_intern(string, OEM_CP);
-+ }
-+
-+ /* Convert a string from ISO_CP to the current locale charset. */
-+ inline void iso_intern(char *string)
-+ {
-+ charset_to_intern(string, ISO_CP);
-+ }
-*** unzip-5.50-real/unix/unxcfg.h 2001-06-04 05:27:14.000000000 +0600
---- unzip-5.50/unix/unxcfg.h 2006-02-20 14:16:27.194600824 +0500
-***************
-*** 123,126 ****
---- 123,152 ----
- /* wild_dir, dirname, wildname, matchname[], dirnamelen, have_dirname, */
- /* and notfirstcall are used by do_wild(). */
-
-+
-+ #define MAX_CP_NAME 25
-+
-+ #ifdef SETLOCALE
-+ # undef SETLOCALE
-+ #endif
-+ #define SETLOCALE(category, locale) setlocale(category, locale)
-+ #include <locale.h>
-+
-+ #ifdef _ISO_INTERN
-+ # undef _ISO_INTERN
-+ #endif
-+ #define _ISO_INTERN(str1) iso_intern(str1)
-+
-+ #ifdef _OEM_INTERN
-+ # undef _OEM_INTERN
-+ #endif
-+ #ifndef IZ_OEM2ISO_ARRAY
-+ # define IZ_OEM2ISO_ARRAY
-+ #endif
-+ #define _OEM_INTERN(str1) oem_intern(str1)
-+
-+ void iso_intern(char *);
-+ void oem_intern(char *);
-+ void init_conversion_charsets(void);
-+
- #endif /* !__unxcfg_h */
-*** unzip-5.50-real/unzip.c 2002-01-28 00:26:16.000000000 +0500
---- unzip-5.50/unzip.c 2006-02-20 14:16:27.196600520 +0500
-***************
-*** 304,314 ****
---- 304,324 ----
- -2 just filenames but allow -h/-t/-z -l long Unix \"ls -l\" format\n\
- -v verbose, multi-page format\n";
-
-+ #ifndef UNIX
- static ZCONST char Far ZipInfoUsageLine3[] = "miscellaneous options:\n\
- -h print header line -t print totals for listed files or for all\n\
- -z print zipfile comment %c-T%c print file times in sortable decimal format\
- \n %c-C%c be case-insensitive %s\
- -x exclude filenames that follow from listing\n";
-+ #else /* UNIX */
-+ static ZCONST char Far ZipInfoUsageLine3[] = "miscellaneous options:\n\
-+ -h print header line -t print totals for listed files or for all\n\
-+ -z print zipfile comment %c-T%c print file times in sortable decimal format\
-+ \n %c-C%c be case-insensitive %s\
-+ -x exclude filenames that follow from listing\n\
-+ -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives\n\
-+ -I CHARSET specify a character encoding for UNIX and other archives\n";
-+ #endif /* !UNIX */
- #ifdef MORE
- #ifdef VMS
- static ZCONST char Far ZipInfoUsageLine4[] =
-***************
-*** 589,594 ****
---- 599,605 ----
- #endif /* ?VM_CMS */
- #endif /* ?MACOS */
-
-+ #ifndef UNIX
- static ZCONST char Far UnzipUsageLine4[] = "\
- modifiers: -q quiet mode (-qq => quieter)\n\
- -n never overwrite existing files -a auto-convert any text files\n\
-***************
-*** 596,601 ****
---- 607,623 ----
- -j junk paths (do not make directories) -v be verbose/print version info\n\
- %c-C%c match filenames case-insensitively %c-L%c make (some) names \
- lowercase\n %-42s %c-V%c retain VMS version numbers\n%s";
-+ #else /* UNIX */
-+ static ZCONST char Far UnzipUsageLine4[] = "\
-+ modifiers: -q quiet mode (-qq => quieter)\n\
-+ -n never overwrite existing files -a auto-convert any text files\n\
-+ -o overwrite files WITHOUT prompting -aa treat ALL files as text\n \
-+ -j junk paths (do not make directories) -v be verbose/print version info\n\
-+ %c-C%c match filenames case-insensitively %c-L%c make (some) names \
-+ lowercase\n %-42s %c-V%c retain VMS version numbers\n%s\n\
-+ -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives\n\
-+ -I CHARSET specify a character encoding for UNIX and other archives\n\n";
-+ #endif /* !UNIX */
-
- static ZCONST char Far UnzipUsageLine5[] = "\
- Examples (see unzip.txt for more info):\n\
-***************
-*** 656,661 ****
---- 678,687 ----
-
- SETLOCALE(LC_CTYPE,"");
-
-+ #ifdef UNIX
-+ init_conversion_charsets();
-+ #endif
-+
- #if (defined(__IBMC__) && defined(__DEBUG_ALLOC__))
- extern void DebugMalloc(void);
-
-***************
-*** 1070,1075 ****
---- 1096,1106 ----
- argc = *pargc;
- argv = *pargv;
-
-+ #ifdef UNIX
-+ extern char OEM_CP[MAX_CP_NAME];
-+ extern char ISO_CP[MAX_CP_NAME];
-+ #endif
-+
- while (++argv, (--argc > 0 && *argv != NULL && **argv == '-')) {
- s = *argv + 1;
- while ((c = *s++) != 0) { /* "!= 0": prevent Turbo C warning */
-***************
-*** 1233,1238 ****
---- 1264,1298 ----
- }
- break;
- #endif /* MACOS */
-+ #ifdef UNIX
-+ case ('I'):
-+ if (negative) {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: encodings can't be negated"));
-+ return(PK_PARAM);
-+ } else {
-+ if(*s) { /* Handle the -Icharset case */
-+ /* Assume that charsets can't start with a dash to spot arguments misuse */
-+ if(*s == '-') {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: a valid character encoding should follow the -I argument"));
-+ return(PK_PARAM);
-+ }
-+ strncpy(ISO_CP, s, sizeof(ISO_CP));
-+ } else { /* -I charset */
-+ ++argv;
-+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: a valid character encoding should follow the -I argument"));
-+ return(PK_PARAM);
-+ }
-+ s = *argv;
-+ strncpy(ISO_CP, s, sizeof(ISO_CP));
-+ }
-+ while(*(++s)); /* No params straight after charset name */
-+ }
-+ break;
-+ #endif /* ?UNIX */
- case ('j'): /* junk pathnames/directory structure */
- if (negative)
- uO.jflag = FALSE, negative = 0;
-***************
-*** 1299,1304 ****
---- 1359,1393 ----
- } else
- ++uO.overwrite_all;
- break;
-+ #ifdef UNIX
-+ case ('O'):
-+ if (negative) {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: encodings can't be negated"));
-+ return(PK_PARAM);
-+ } else {
-+ if(*s) { /* Handle the -Ocharset case */
-+ /* Assume that charsets can't start with a dash to spot arguments misuse */
-+ if(*s == '-') {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: a valid character encoding should follow the -I argument"));
-+ return(PK_PARAM);
-+ }
-+ strncpy(OEM_CP, s, sizeof(OEM_CP));
-+ } else { /* -O charset */
-+ ++argv;
-+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: a valid character encoding should follow the -O argument"));
-+ return(PK_PARAM);
-+ }
-+ s = *argv;
-+ strncpy(OEM_CP, s, sizeof(OEM_CP));
-+ }
-+ while(*(++s)); /* No params straight after charset name */
-+ }
-+ break;
-+ #endif /* ?UNIX */
- case ('p'): /* pipes: extract to stdout, no messages */
- if (negative) {
- uO.cflag = FALSE;
-*** unzip-5.50-real/unzpriv.h 2002-02-17 22:01:48.000000000 +0500
---- unzip-5.50/unzpriv.h 2006-02-20 14:16:27.198600216 +0500
-***************
-*** 1103,1109 ****
- # define lastchar(ptr, len) (ptr[(len)-1])
- # define MBSCHR(str, c) strchr(str, c)
- # define MBSRCHR(str, c) strrchr(str, c)
-! # define SETLOCALE(category, locale)
- #endif /* ?_MBCS */
- #define INCSTR(ptr) PREINCSTR(ptr)
-
---- 1103,1111 ----
- # define lastchar(ptr, len) (ptr[(len)-1])
- # define MBSCHR(str, c) strchr(str, c)
- # define MBSRCHR(str, c) strrchr(str, c)
-! # ifndef SETLOCALE
-! # define SETLOCALE(category, locale)
-! # endif
- #endif /* ?_MBCS */
- #define INCSTR(ptr) PREINCSTR(ptr)
-
-***************
-*** 2424,2430 ****
- !(((islochdr) || (isuxatt)) && \
- ((hostver) == 25 || (hostver) == 26 || (hostver) == 40))) || \
- (hostnum) == FS_HPFS_ || \
-! ((hostnum) == FS_NTFS_ && (hostver) == 50)) { \
- _OEM_INTERN((string)); \
- } else { \
- _ISO_INTERN((string)); \
---- 2426,2432 ----
- !(((islochdr) || (isuxatt)) && \
- ((hostver) == 25 || (hostver) == 26 || (hostver) == 40))) || \
- (hostnum) == FS_HPFS_ || \
-! ((hostnum) == FS_NTFS_/* && (hostver) == 50*/)) { \
- _OEM_INTERN((string)); \
- } else { \
- _ISO_INTERN((string)); \
-*** unzip-5.50-real/zipinfo.c 2001-12-26 03:56:40.000000000 +0500
---- unzip-5.50/zipinfo.c 2006-02-20 14:16:27.200599912 +0500
-***************
-*** 440,445 ****
---- 440,449 ----
- int tflag_slm=TRUE, tflag_2v=FALSE;
- int explicit_h=FALSE, explicit_t=FALSE;
-
-+ #ifdef UNIX
-+ extern char OEM_CP[MAX_CP_NAME];
-+ extern char ISO_CP[MAX_CP_NAME];
-+ #endif
-
- #ifdef MACOS
- uO.lflag = LFLAG; /* reset default on each call */
-***************
-*** 484,489 ****
---- 488,522 ----
- uO.lflag = 0;
- }
- break;
-+ #ifdef UNIX
-+ case ('I'):
-+ if (negative) {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: encodings can't be negated"));
-+ return(PK_PARAM);
-+ } else {
-+ if(*s) { /* Handle the -Icharset case */
-+ /* Assume that charsets can't start with a dash to spot arguments misuse */
-+ if(*s == '-') {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: a valid character encoding should follow the -I argument"));
-+ return(PK_PARAM);
-+ }
-+ strncpy(ISO_CP, s, sizeof(ISO_CP));
-+ } else { /* -I charset */
-+ ++argv;
-+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: a valid character encoding should follow the -I argument"));
-+ return(PK_PARAM);
-+ }
-+ s = *argv;
-+ strncpy(ISO_CP, s, sizeof(ISO_CP));
-+ }
-+ while(*(++s)); /* No params straight after charset name */
-+ }
-+ break;
-+ #endif /* ?UNIX */
- case 'l': /* longer form of "ls -l" type listing */
- if (negative)
- uO.lflag = -2, negative = 0;
-***************
-*** 504,509 ****
---- 537,571 ----
- G.M_flag = TRUE;
- break;
- #endif
-+ #ifdef UNIX
-+ case ('O'):
-+ if (negative) {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: encodings can't be negated"));
-+ return(PK_PARAM);
-+ } else {
-+ if(*s) { /* Handle the -Ocharset case */
-+ /* Assume that charsets can't start with a dash to spot arguments misuse */
-+ if(*s == '-') {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: a valid character encoding should follow the -I argument"));
-+ return(PK_PARAM);
-+ }
-+ strncpy(OEM_CP, s, sizeof(OEM_CP));
-+ } else { /* -O charset */
-+ ++argv;
-+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
-+ Info(slide, 0x401, ((char *)slide,
-+ "error: a valid character encoding should follow the -O argument"));
-+ return(PK_PARAM);
-+ }
-+ s = *argv;
-+ strncpy(OEM_CP, s, sizeof(OEM_CP));
-+ }
-+ while(*(++s)); /* No params straight after charset name */
-+ }
-+ break;
-+ #endif /* ?UNIX */
- case 's': /* default: shorter "ls -l" type listing */
- if (negative)
- uO.lflag = -2, negative = 0;
diff --git a/abs/core/unzip/unzip542-size-64bit.patch b/abs/core/unzip/unzip542-size-64bit.patch
deleted file mode 100644
index 0142a36..0000000
--- a/abs/core/unzip/unzip542-size-64bit.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- ./zipinfo.c.gege Sat Jan 13 22:42:38 2001
-+++ ./zipinfo.c Tue Mar 19 13:54:52 2002
-@@ -172,7 +172,7 @@
- static ZCONST char Far CentralDirEntry[] =
- "\nCentral directory entry #%lu:\n---------------------------\n\n";
- static ZCONST char Far ZipfileStats[] =
-- "%lu file%s, %lu bytes uncompressed, %lu bytes compressed: %s%d.%d%%\n";
-+ "%lu file%s, %llu bytes uncompressed, %llu bytes compressed: %s%d.%d%%\n";
-
- /* zi_long() strings */
- static ZCONST char Far OS_FAT[] = "MS-DOS, OS/2 or NT FAT";
-@@ -699,7 +699,7 @@
- int do_this_file=FALSE, error, error_in_archive=PK_COOL;
- int *fn_matched=NULL, *xn_matched=NULL;
- ulg j, members=0L;
-- ulg tot_csize=0L, tot_ucsize=0L;
-+ ulg64 tot_csize=0L, tot_ucsize=0L;
- ulg endprev; /* buffers end of previous entry for zi_long()'s check
- * of extra bytes */
-
---- ./unzip.h.gege Fri Apr 21 01:21:14 2000
-+++ ./unzip.h Tue Mar 19 13:55:10 2002
-@@ -322,7 +322,8 @@
- typedef unsigned char uch; /* code assumes unsigned bytes; these type- */
- typedef unsigned short ush; /* defs replace byte/UWORD/ULONG (which are */
- typedef unsigned long ulg; /* predefined on some systems) & match zip */
-+typedef unsigned long long ulg64; /* predefined on some systems) & match zip */
- #define _IZ_TYPES_DEFINED
- #endif /* !_IZ_TYPES_DEFINED */
-
-
---- ./list.c.gege Sat Jan 13 22:39:48 2001
-+++ ./list.c Tue Mar 19 17:03:27 2002
-@@ -633,23 +633,16 @@
- /********************/
-
- int ratio(uc, c)
-- ulg uc, c;
-+ ulg64 uc, c;
- {
-- ulg denom;
-+ ulg64 denom;
-
- if (uc == 0)
- return 0;
-- if (uc > 2000000L) { /* risk signed overflow if multiply numerator */
-- denom = uc / 1000L;
-- return ((uc >= c) ?
-- (int) ((uc-c + (denom>>1)) / denom) :
-- -((int) ((c-uc + (denom>>1)) / denom)));
-- } else { /* ^^^^^^^^ rounding */
-- denom = uc;
-- return ((uc >= c) ?
-+ denom = uc;
-+ return ((uc >= c) ?
- (int) ((1000L*(uc-c) + (denom>>1)) / denom) :
- -((int) ((1000L*(c-uc) + (denom>>1)) / denom)));
-- } /* ^^^^^^^^ rounding */
- }
-
-
---- ./unzpriv.h.gege Wed Jan 10 23:53:56 2001
-+++ ./unzpriv.h Tue Mar 19 17:05:08 2002
-@@ -1669,7 +1669,7 @@
- int get_time_stamp OF((__GPRO__ time_t *last_modtime,
- ulg *nmember));
- #endif
--int ratio OF((ulg uc, ulg c));
-+int ratio OF((ulg64 uc, ulg64 c));
- void fnprint OF((__GPRO));
-
- #endif /* !SFX */
diff --git a/abs/core/util-linux-ng/PKGBUILD b/abs/core/util-linux-ng/PKGBUILD
index 3d72cbc..6653137 100644
--- a/abs/core/util-linux-ng/PKGBUILD
+++ b/abs/core/util-linux-ng/PKGBUILD
@@ -1,39 +1,49 @@
-# $Id: PKGBUILD 29509 2009-03-09 17:25:09Z tpowa $
+# $Id: PKGBUILD 86506 2010-08-02 14:22:19Z tpowa $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=util-linux-ng
-pkgver=2.14.2
-_loop_date=20090214
-pkgrel=1
+pkgver=2.18
+pkgrel=3
pkgdesc="Miscellaneous system utilities for Linux"
url="http://userweb.kernel.org/~kzak/util-linux-ng/"
arch=('i686' 'x86_64')
groups=('base')
-depends=('bash' 'ncurses>=5.7' 'zlib' 'e2fsprogs')
+depends=('bash' 'ncurses>=5.7' 'zlib' 'filesystem')
replaces=('linux32' 'util-linux')
-conflicts=('linux32' 'util-linux')
+conflicts=('linux32' 'util-linux' 'e2fsprogs<1.41.8-2')
provides=('linux32' 'util-linux')
license=('GPL2')
-source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.14/${pkgname}-${pkgver}.tar.bz2
- http://loop-aes.sourceforge.net/updates/${pkgname}-${pkgver}-${_loop_date}.diff.bz2)
+options=('!libtool')
+source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.18/${pkgname}-${pkgver}.tar.bz2
+ fix-findmnt.patch
+ util-linux-ng-nilfs2.patch
+ util-linux-ng-cfdisk.patch)
+optdepends=('perl: for chkdupexe support')
install=util-linux-ng.install
-md5sums=('b9d0053a22cfcbf0b9c0aa6d6eccfbc8'
- '72c5b3e961efc1bda2750dbad019e414')
+md5sums=('2f5f71e6af969d041d73ab778c141a77'
+ '7346673932b165faadde2fa2a9c1cd3a'
+ 'aa1f210aa22363605363b7b14b8f7a78'
+ 'e6d9309d44c258b25a7fb0b70f94f94e')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
- # cryptoloop support
- patch -Np1 -i ${srcdir}/${pkgname}-${pkgver}-${_loop_date}.diff || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
# hardware clock
- sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i hwclock/hwclock.c
- mkdir -p ${startdir}/pkg/var/lib/hwclock
- ./configure --enable-arch --enable-write --enable-raw --disable-wall --enable-rdev
+ sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i hwclock/hwclock.c || return 1
+ mkdir -p "${pkgdir}/var/lib/hwclock" || return 1
+ # fix findmnt
+ patch -p1 -i "${srcdir}/fix-findmnt.patch"
+ # add nilfs2 support, included in next upstream release
+ patch -Np1 -i "${srcdir}/util-linux-ng-nilfs2.patch"
+ # fix cfdisk partition changing, included in next upstream release
+ patch -Np1 -i "${srcdir}/util-linux-ng-cfdisk.patch"
+
+ autoreconf || return 1
+ automake || return 1
+ ./configure --enable-arch --enable-write --enable-raw --disable-wall --enable-rdev --enable-partx || return 1
make HAVE_SLN=yes ADD_RAW=yes || return 1
- make HAVE_SLN=yes ADD_RAW=yes DESTDIR=${startdir}/pkg install || return 1
+ make HAVE_SLN=yes ADD_RAW=yes DESTDIR="${pkgdir}" install || return 1
# remove files
- rm -f ${pkgdir}/bin/kill
- rm -f ${pkgdir}/usr/share/man/man1/kill.1
- rm -f ${pkgdir}/usr/share/man/man5/nfs.5
- rm -f ${pkgdir}/usr/share/info/dir
+ rm -f "${pkgdir}/bin/kill"
+ rm -f "${pkgdir}/usr/share/man/man1/kill.1"
+ rm -f "${pkgdir}/usr/share/man/man5/nfs.5"
+ rm -f "${pkgdir}/usr/share/info/dir"
}
-
diff --git a/abs/core/util-linux-ng/cryptoloop-support.patch b/abs/core/util-linux-ng/cryptoloop-support.patch
deleted file mode 100644
index 91aa12d..0000000
--- a/abs/core/util-linux-ng/cryptoloop-support.patch
+++ /dev/null
@@ -1,4649 +0,0 @@
-If this patch does not apply cleanly to newer version of util-linux-ng, try
-replacing original lomount.c lomount.h loop.h losetup.8 files in mount
-subdirectory with versions from util-linux-ng that the patch is for. And
-then apply this patch.
-
-mount/Makefile.in is a generated file. You can ignore patch failures on that
-file if you generate it again by running the ./autogen.sh script. That
-./autogen.sh script needs recent versions of autohell tools.
-
-diff -urN util-linux-ng-2.13/mount/Makefile.am util-linux-ng-2.13-AES/mount/Makefile.am
---- util-linux-ng-2.13/mount/Makefile.am 2007-05-23 01:05:21.000000000 +0300
-+++ util-linux-ng-2.13-AES/mount/Makefile.am 2007-09-02 18:05:41.000000000 +0300
-@@ -12,20 +12,20 @@
- mount_paths.h lomount.h fsprobe.h realpath.h xmalloc.h \
- getusername.h loop.h sundries.h
-
--mount_common = fstab.c mount_mntent.c getusername.c lomount.c \
-+mount_common = fstab.c mount_mntent.c getusername.c \
- $(utils_common) $(headers_common) ../lib/env.c
-
--mount_SOURCES = mount.c $(mount_common) ../lib/setproctitle.c
-+mount_SOURCES = mount.c lomount.c loumount.c loop.c sha512.c rmd160.c aes.c $(mount_common) ../lib/setproctitle.c
- mount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
- mount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
-
--umount_SOURCES = umount.c $(mount_common)
-+umount_SOURCES = umount.c loumount.c $(mount_common)
- umount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
- umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
-
--swapon_SOURCES = swapon.c swap_constants.h $(utils_common)
-+swapon_SOURCES = swapon.c loop.c sha512.c swap_constants.h $(utils_common)
-
--losetup_SOURCES = lomount.c loop.h lomount.h
-+losetup_SOURCES = lomount.c loumount.c loop.c sha512.c rmd160.c aes.c loop.h lomount.h
- losetup_CPPFLAGS = -DMAIN $(AM_CPPFLAGS)
-
- mount_LDADD = $(LDADD_common)
-diff -urN util-linux-ng-2.13/mount/aes.c util-linux-ng-2.13-AES/mount/aes.c
---- util-linux-ng-2.13/mount/aes.c 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.13-AES/mount/aes.c 2007-09-02 18:05:41.000000000 +0300
-@@ -0,0 +1,299 @@
-+// I retain copyright in this code but I encourage its free use provided
-+// that I don't carry any responsibility for the results. I am especially
-+// happy to see it used in free and open source software. If you do use
-+// it I would appreciate an acknowledgement of its origin in the code or
-+// the product that results and I would also appreciate knowing a little
-+// about the use to which it is being put. I am grateful to Frank Yellin
-+// for some ideas that are used in this implementation.
-+//
-+// Dr B. R. Gladman <brg@gladman.uk.net> 6th April 2001.
-+//
-+// This is an implementation of the AES encryption algorithm (Rijndael)
-+// designed by Joan Daemen and Vincent Rijmen. This version is designed
-+// to provide both fixed and dynamic block and key lengths and can also
-+// run with either big or little endian internal byte order (see aes.h).
-+// It inputs block and key lengths in bytes with the legal values being
-+// 16, 24 and 32.
-+
-+/*
-+ * Modified by Jari Ruusu, May 1 2001
-+ * - Fixed some compile warnings, code was ok but gcc warned anyway.
-+ * - Changed basic types: byte -> unsigned char, word -> u_int32_t
-+ * - Major name space cleanup: Names visible to outside now begin
-+ * with "aes_" or "AES_". A lot of stuff moved from aes.h to aes.c
-+ * - Removed C++ and DLL support as part of name space cleanup.
-+ * - Eliminated unnecessary recomputation of tables. (actual bug fix)
-+ * - Merged precomputed constant tables to aes.c file.
-+ * - Removed data alignment restrictions for portability reasons.
-+ * - Made block and key lengths accept bit count (128/192/256)
-+ * as well byte count (16/24/32).
-+ * - Removed all error checks. This change also eliminated the need
-+ * to preinitialize the context struct to zero.
-+ * - Removed some totally unused constants.
-+ */
-+
-+/*
-+ * Modified by Jari Ruusu, June 9 2003
-+ * - Removed all code not necessary for small size
-+ * optimized encryption using 256 bit keys.
-+ */
-+
-+#include "aes.h"
-+
-+#if AES_BLOCK_SIZE != 16
-+#error an illegal block size has been specified
-+#endif
-+
-+// upr(x,n): rotates bytes within words by n positions, moving bytes
-+// to higher index positions with wrap around into low positions
-+// bval(x,n): extracts a byte from a word
-+
-+#define upr(x,n) (((x) << 8 * (n)) | ((x) >> (32 - 8 * (n))))
-+#define bval(x,n) ((unsigned char)((x) >> 8 * (n)))
-+#define bytes2word(b0, b1, b2, b3) \
-+ ((u_int32_t)(b3) << 24 | (u_int32_t)(b2) << 16 | (u_int32_t)(b1) << 8 | (b0))
-+
-+#if defined(i386) || defined(_I386) || defined(__i386__) || defined(__i386)
-+/* little endian processor without data alignment restrictions */
-+#define word_in(x) *(u_int32_t*)(x)
-+#define word_out(x,v) *(u_int32_t*)(x) = (v)
-+#else
-+/* slower but generic big endian or with data alignment restrictions */
-+#define word_in(x) ((u_int32_t)(((unsigned char *)(x))[0])|((u_int32_t)(((unsigned char *)(x))[1])<<8)|((u_int32_t)(((unsigned char *)(x))[2])<<16)|((u_int32_t)(((unsigned char *)(x))[3])<<24))
-+#define word_out(x,v) ((unsigned char *)(x))[0]=(v),((unsigned char *)(x))[1]=((v)>>8),((unsigned char *)(x))[2]=((v)>>16),((unsigned char *)(x))[3]=((v)>>24)
-+#endif
-+
-+// the finite field modular polynomial and elements
-+
-+#define ff_poly 0x011b
-+#define ff_hi 0x80
-+
-+static int tab_gen = 0;
-+static unsigned char s_box[256]; // the S box
-+static u_int32_t rcon_tab[AES_RC_LENGTH]; // table of round constants
-+static u_int32_t ft_tab[4][256];
-+static u_int32_t fl_tab[4][256];
-+
-+// Generate the tables for the dynamic table option
-+
-+// It will generally be sensible to use tables to compute finite
-+// field multiplies and inverses but where memory is scarse this
-+// code might sometimes be better.
-+
-+// return 2 ^ (n - 1) where n is the bit number of the highest bit
-+// set in x with x in the range 1 < x < 0x00000200. This form is
-+// used so that locals within FFinv can be bytes rather than words
-+
-+static unsigned char hibit(const u_int32_t x)
-+{ unsigned char r = (unsigned char)((x >> 1) | (x >> 2));
-+
-+ r |= (r >> 2);
-+ r |= (r >> 4);
-+ return (r + 1) >> 1;
-+}
-+
-+// return the inverse of the finite field element x
-+
-+static unsigned char FFinv(const unsigned char x)
-+{ unsigned char p1 = x, p2 = 0x1b, n1 = hibit(x), n2 = 0x80, v1 = 1, v2 = 0;
-+
-+ if(x < 2) return x;
-+
-+ for(;;)
-+ {
-+ if(!n1) return v1;
-+
-+ while(n2 >= n1)
-+ {
-+ n2 /= n1; p2 ^= p1 * n2; v2 ^= v1 * n2; n2 = hibit(p2);
-+ }
-+
-+ if(!n2) return v2;
-+
-+ while(n1 >= n2)
-+ {
-+ n1 /= n2; p1 ^= p2 * n1; v1 ^= v2 * n1; n1 = hibit(p1);
-+ }
-+ }
-+}
-+
-+// define the finite field multiplies required for Rijndael
-+
-+#define FFmul02(x) ((((x) & 0x7f) << 1) ^ ((x) & 0x80 ? 0x1b : 0))
-+#define FFmul03(x) ((x) ^ FFmul02(x))
-+
-+// The forward and inverse affine transformations used in the S-box
-+
-+#define fwd_affine(x) \
-+ (w = (u_int32_t)x, w ^= (w<<1)^(w<<2)^(w<<3)^(w<<4), 0x63^(unsigned char)(w^(w>>8)))
-+
-+static void gen_tabs(void)
-+{ u_int32_t i, w;
-+
-+ for(i = 0, w = 1; i < AES_RC_LENGTH; ++i)
-+ {
-+ rcon_tab[i] = bytes2word(w, 0, 0, 0);
-+ w = (w << 1) ^ (w & ff_hi ? ff_poly : 0);
-+ }
-+
-+ for(i = 0; i < 256; ++i)
-+ { unsigned char b;
-+
-+ s_box[i] = b = fwd_affine(FFinv((unsigned char)i));
-+
-+ w = bytes2word(b, 0, 0, 0);
-+ fl_tab[0][i] = w;
-+ fl_tab[1][i] = upr(w,1);
-+ fl_tab[2][i] = upr(w,2);
-+ fl_tab[3][i] = upr(w,3);
-+ w = bytes2word(FFmul02(b), b, b, FFmul03(b));
-+ ft_tab[0][i] = w;
-+ ft_tab[1][i] = upr(w,1);
-+ ft_tab[2][i] = upr(w,2);
-+ ft_tab[3][i] = upr(w,3);
-+ }
-+}
-+
-+#define four_tables(x,tab,vf,rf,c) \
-+ ( tab[0][bval(vf(x,0,c),rf(0,c))] \
-+ ^ tab[1][bval(vf(x,1,c),rf(1,c))] \
-+ ^ tab[2][bval(vf(x,2,c),rf(2,c))] \
-+ ^ tab[3][bval(vf(x,3,c),rf(3,c))])
-+
-+#define vf1(x,r,c) (x)
-+#define rf1(r,c) (r)
-+#define rf2(r,c) ((r-c)&3)
-+
-+#define ls_box(x,c) four_tables(x,fl_tab,vf1,rf2,c)
-+
-+#define nc (AES_BLOCK_SIZE / 4)
-+
-+// Initialise the key schedule from the user supplied key.
-+// The key length is now specified in bytes, 32.
-+// This corresponds to bit length of 256 bits, and
-+// to Nk value of 8 respectively.
-+
-+void aes_set_key(aes_context *cx, const unsigned char in_key[], int n_bytes, const int f)
-+{ u_int32_t *kf, *kt, rci;
-+
-+ if(!tab_gen) { gen_tabs(); tab_gen = 1; }
-+
-+ cx->aes_Nkey = 8;
-+ cx->aes_Nrnd = (cx->aes_Nkey > nc ? cx->aes_Nkey : nc) + 6;
-+
-+ cx->aes_e_key[0] = word_in(in_key );
-+ cx->aes_e_key[1] = word_in(in_key + 4);
-+ cx->aes_e_key[2] = word_in(in_key + 8);
-+ cx->aes_e_key[3] = word_in(in_key + 12);
-+
-+ kf = cx->aes_e_key;
-+ kt = kf + nc * (cx->aes_Nrnd + 1) - cx->aes_Nkey;
-+ rci = 0;
-+
-+ switch(cx->aes_Nkey)
-+ {
-+ case 8: cx->aes_e_key[4] = word_in(in_key + 16);
-+ cx->aes_e_key[5] = word_in(in_key + 20);
-+ cx->aes_e_key[6] = word_in(in_key + 24);
-+ cx->aes_e_key[7] = word_in(in_key + 28);
-+ do
-+ { kf[ 8] = kf[0] ^ ls_box(kf[7],3) ^ rcon_tab[rci++];
-+ kf[ 9] = kf[1] ^ kf[ 8];
-+ kf[10] = kf[2] ^ kf[ 9];
-+ kf[11] = kf[3] ^ kf[10];
-+ kf[12] = kf[4] ^ ls_box(kf[11],0);
-+ kf[13] = kf[5] ^ kf[12];
-+ kf[14] = kf[6] ^ kf[13];
-+ kf[15] = kf[7] ^ kf[14];
-+ kf += 8;
-+ }
-+ while (kf < kt);
-+ break;
-+ }
-+}
-+
-+// y = output word, x = input word, r = row, c = column
-+// for r = 0, 1, 2 and 3 = column accessed for row r
-+
-+#define s(x,c) x[c]
-+
-+// I am grateful to Frank Yellin for the following constructions
-+// which, given the column (c) of the output state variable that
-+// is being computed, return the input state variables which are
-+// needed for each row (r) of the state
-+
-+// For the fixed block size options, compilers reduce these two
-+// expressions to fixed variable references. For variable block
-+// size code conditional clauses will sometimes be returned
-+
-+#define fwd_var(x,r,c) \
-+ ( r==0 ? \
-+ ( c==0 ? s(x,0) \
-+ : c==1 ? s(x,1) \
-+ : c==2 ? s(x,2) \
-+ : c==3 ? s(x,3) \
-+ : c==4 ? s(x,4) \
-+ : c==5 ? s(x,5) \
-+ : c==6 ? s(x,6) \
-+ : s(x,7)) \
-+ : r==1 ? \
-+ ( c==0 ? s(x,1) \
-+ : c==1 ? s(x,2) \
-+ : c==2 ? s(x,3) \
-+ : c==3 ? nc==4 ? s(x,0) : s(x,4) \
-+ : c==4 ? s(x,5) \
-+ : c==5 ? nc==8 ? s(x,6) : s(x,0) \
-+ : c==6 ? s(x,7) \
-+ : s(x,0)) \
-+ : r==2 ? \
-+ ( c==0 ? nc==8 ? s(x,3) : s(x,2) \
-+ : c==1 ? nc==8 ? s(x,4) : s(x,3) \
-+ : c==2 ? nc==4 ? s(x,0) : nc==8 ? s(x,5) : s(x,4) \
-+ : c==3 ? nc==4 ? s(x,1) : nc==8 ? s(x,6) : s(x,5) \
-+ : c==4 ? nc==8 ? s(x,7) : s(x,0) \
-+ : c==5 ? nc==8 ? s(x,0) : s(x,1) \
-+ : c==6 ? s(x,1) \
-+ : s(x,2)) \
-+ : \
-+ ( c==0 ? nc==8 ? s(x,4) : s(x,3) \
-+ : c==1 ? nc==4 ? s(x,0) : nc==8 ? s(x,5) : s(x,4) \
-+ : c==2 ? nc==4 ? s(x,1) : nc==8 ? s(x,6) : s(x,5) \
-+ : c==3 ? nc==4 ? s(x,2) : nc==8 ? s(x,7) : s(x,0) \
-+ : c==4 ? nc==8 ? s(x,0) : s(x,1) \
-+ : c==5 ? nc==8 ? s(x,1) : s(x,2) \
-+ : c==6 ? s(x,2) \
-+ : s(x,3)))
-+
-+#define si(y,x,k,c) s(y,c) = word_in(x + 4 * c) ^ k[c]
-+#define so(y,x,c) word_out(y + 4 * c, s(x,c))
-+
-+#define fwd_rnd(y,x,k,c) s(y,c)= (k)[c] ^ four_tables(x,ft_tab,fwd_var,rf1,c)
-+#define fwd_lrnd(y,x,k,c) s(y,c)= (k)[c] ^ four_tables(x,fl_tab,fwd_var,rf1,c)
-+
-+#define locals(y,x) x[4],y[4]
-+
-+#define l_copy(y, x) s(y,0) = s(x,0); s(y,1) = s(x,1); \
-+ s(y,2) = s(x,2); s(y,3) = s(x,3);
-+#define state_in(y,x,k) si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); si(y,x,k,3)
-+#define state_out(y,x) so(y,x,0); so(y,x,1); so(y,x,2); so(y,x,3)
-+#define round(rm,y,x,k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); rm(y,x,k,3)
-+
-+void aes_encrypt(const aes_context *cx, const unsigned char in_blk[], unsigned char out_blk[])
-+{ u_int32_t locals(b0, b1);
-+ const u_int32_t *kp = cx->aes_e_key;
-+
-+ state_in(b0, in_blk, kp); kp += nc;
-+
-+ { u_int32_t rnd;
-+
-+ for(rnd = 0; rnd < cx->aes_Nrnd - 1; ++rnd)
-+ {
-+ round(fwd_rnd, b1, b0, kp);
-+ l_copy(b0, b1); kp += nc;
-+ }
-+
-+ round(fwd_lrnd, b0, b1, kp);
-+ }
-+
-+ state_out(out_blk, b0);
-+}
-diff -urN util-linux-ng-2.13/mount/aes.h util-linux-ng-2.13-AES/mount/aes.h
---- util-linux-ng-2.13/mount/aes.h 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.13-AES/mount/aes.h 2007-09-02 18:05:41.000000000 +0300
-@@ -0,0 +1,97 @@
-+// I retain copyright in this code but I encourage its free use provided
-+// that I don't carry any responsibility for the results. I am especially
-+// happy to see it used in free and open source software. If you do use
-+// it I would appreciate an acknowledgement of its origin in the code or
-+// the product that results and I would also appreciate knowing a little
-+// about the use to which it is being put. I am grateful to Frank Yellin
-+// for some ideas that are used in this implementation.
-+//
-+// Dr B. R. Gladman <brg@gladman.uk.net> 6th April 2001.
-+//
-+// This is an implementation of the AES encryption algorithm (Rijndael)
-+// designed by Joan Daemen and Vincent Rijmen. This version is designed
-+// to provide both fixed and dynamic block and key lengths and can also
-+// run with either big or little endian internal byte order (see aes.h).
-+// It inputs block and key lengths in bytes with the legal values being
-+// 16, 24 and 32.
-+
-+/*
-+ * Modified by Jari Ruusu, May 1 2001
-+ * - Fixed some compile warnings, code was ok but gcc warned anyway.
-+ * - Changed basic types: byte -> unsigned char, word -> u_int32_t
-+ * - Major name space cleanup: Names visible to outside now begin
-+ * with "aes_" or "AES_". A lot of stuff moved from aes.h to aes.c
-+ * - Removed C++ and DLL support as part of name space cleanup.
-+ * - Eliminated unnecessary recomputation of tables. (actual bug fix)
-+ * - Merged precomputed constant tables to aes.c file.
-+ * - Removed data alignment restrictions for portability reasons.
-+ * - Made block and key lengths accept bit count (128/192/256)
-+ * as well byte count (16/24/32).
-+ * - Removed all error checks. This change also eliminated the need
-+ * to preinitialize the context struct to zero.
-+ * - Removed some totally unused constants.
-+ */
-+
-+#ifndef _AES_H
-+#define _AES_H
-+
-+#if defined(__linux__) && defined(__KERNEL__)
-+# include <linux/types.h>
-+#else
-+# include <sys/types.h>
-+#endif
-+
-+// CONFIGURATION OPTIONS (see also aes.c)
-+//
-+// Define AES_BLOCK_SIZE to set the cipher block size (16, 24 or 32) or
-+// leave this undefined for dynamically variable block size (this will
-+// result in much slower code).
-+// IMPORTANT NOTE: AES_BLOCK_SIZE is in BYTES (16, 24, 32 or undefined). If
-+// left undefined a slower version providing variable block length is compiled
-+
-+#define AES_BLOCK_SIZE 16
-+
-+// The number of key schedule words for different block and key lengths
-+// allowing for method of computation which requires the length to be a
-+// multiple of the key length
-+//
-+// Nk = 4 6 8
-+// -------------
-+// Nb = 4 | 60 60 64
-+// 6 | 96 90 96
-+// 8 | 120 120 120
-+
-+#if !defined(AES_BLOCK_SIZE) || (AES_BLOCK_SIZE == 32)
-+#define AES_KS_LENGTH 120
-+#define AES_RC_LENGTH 29
-+#else
-+#define AES_KS_LENGTH 4 * AES_BLOCK_SIZE
-+#define AES_RC_LENGTH (9 * AES_BLOCK_SIZE) / 8 - 8
-+#endif
-+
-+typedef struct
-+{
-+ u_int32_t aes_Nkey; // the number of words in the key input block
-+ u_int32_t aes_Nrnd; // the number of cipher rounds
-+ u_int32_t aes_e_key[AES_KS_LENGTH]; // the encryption key schedule
-+ u_int32_t aes_d_key[AES_KS_LENGTH]; // the decryption key schedule
-+#if !defined(AES_BLOCK_SIZE)
-+ u_int32_t aes_Ncol; // the number of columns in the cipher state
-+#endif
-+} aes_context;
-+
-+// THE CIPHER INTERFACE
-+
-+#if !defined(AES_BLOCK_SIZE)
-+extern void aes_set_blk(aes_context *, const int);
-+#endif
-+extern void aes_set_key(aes_context *, const unsigned char [], const int, const int);
-+extern void aes_encrypt(const aes_context *, const unsigned char [], unsigned char []);
-+extern void aes_decrypt(const aes_context *, const unsigned char [], unsigned char []);
-+
-+// The block length inputs to aes_set_block and aes_set_key are in numbers
-+// of bytes or bits. The calls to subroutines must be made in the above
-+// order but multiple calls can be made without repeating earlier calls
-+// if their parameters have not changed.
-+
-+#endif // _AES_H
-diff -urN util-linux-ng-2.13/mount/lomount.c util-linux-ng-2.13-AES/mount/lomount.c
---- util-linux-ng-2.13/mount/lomount.c 2007-08-27 16:00:34.000000000 +0300
-+++ util-linux-ng-2.13-AES/mount/lomount.c 2007-09-02 18:05:41.000000000 +0300
-@@ -1,4 +1,15 @@
--/* Originally from Ted's losetup.c */
-+/* Taken from Ted's losetup.c - Mitch <m.dsouza@mrc-apu.cam.ac.uk> */
-+/* Added vfs mount options - aeb - 960223 */
-+/* Removed lomount - aeb - 960224 */
-+
-+/*
-+ * 1999-02-22 Arkadiusz Mi�kiewicz <misiek@pld.ORG.PL>
-+ * - added Native Language Support
-+ * 1999-03-21 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
-+ * - fixed strerr(errno) in gettext calls
-+ * 2001-04-11 Jari Ruusu
-+ * - added AES support
-+ */
-
- #define LOOPMAJOR 7
-
-@@ -13,62 +24,81 @@
- #include <errno.h>
- #include <stdlib.h>
- #include <unistd.h>
-+#include <pwd.h>
-+#include <sys/types.h>
- #include <sys/ioctl.h>
- #include <sys/stat.h>
- #include <sys/mman.h>
- #include <sys/sysmacros.h>
-+#include <sys/wait.h>
-+#include <limits.h>
-+#include <fcntl.h>
-+#include <mntent.h>
-+#include <locale.h>
-+#include <sys/time.h>
-+#include <sys/utsname.h>
-+#include <signal.h>
-
- #include "loop.h"
- #include "lomount.h"
- #include "xstrncpy.h"
- #include "nls.h"
-+#include "sha512.h"
-+#include "rmd160.h"
-+#include "aes.h"
-+
-+#if !defined(BLKGETSIZE64)
-+# define BLKGETSIZE64 _IOR(0x12,114,size_t)
-+#endif
-
- extern int verbose;
--extern char *progname;
- extern char *xstrdup (const char *s); /* not: #include "sundries.h" */
- extern void error (const char *fmt, ...); /* idem */
-+extern void show_all_loops(void);
-+extern int read_options_from_fstab(char *, char **);
-+extern int recompute_loop_dev_size(char *);
-
--#define SIZE(a) (sizeof(a)/sizeof(a[0]))
-+#if !defined(LOOP_PASSWORD_MIN_LENGTH)
-+# define LOOP_PASSWORD_MIN_LENGTH 20
-+#endif
-
--#ifdef LOOP_SET_FD
-+char *passFDnumber = (char *)0;
-+char *passAskTwice = (char *)0;
-+char *passSeedString = (char *)0;
-+char *passHashFuncName = (char *)0;
-+char *passIterThousands = (char *)0;
-+char *loInitValue = (char *)0;
-+char *gpgKeyFile = (char *)0;
-+char *gpgHomeDir = (char *)0;
-+char *clearTextKeyFile = (char *)0;
-+char *loopOffsetBytes = (char *)0;
-+char *loopSizeBytes = (char *)0;
-+char *loopEncryptionType = (char *)0;
-+
-+static int multiKeyMode = 0; /* 0=single-key 64=multi-key-v2 65=multi-key-v3 1000=any */
-+static char *multiKeyPass[66];
-+static char *loopFileName;
-
--static int
--loop_info64_to_old(const struct loop_info64 *info64, struct loop_info *info)
--{
-- memset(info, 0, sizeof(*info));
-- info->lo_number = info64->lo_number;
-- info->lo_device = info64->lo_device;
-- info->lo_inode = info64->lo_inode;
-- info->lo_rdevice = info64->lo_rdevice;
-- info->lo_offset = info64->lo_offset;
-- info->lo_encrypt_type = info64->lo_encrypt_type;
-- info->lo_encrypt_key_size = info64->lo_encrypt_key_size;
-- info->lo_flags = info64->lo_flags;
-- info->lo_init[0] = info64->lo_init[0];
-- info->lo_init[1] = info64->lo_init[1];
-- if (info->lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
-- memcpy(info->lo_name, info64->lo_crypt_name, LO_NAME_SIZE);
-- else
-- memcpy(info->lo_name, info64->lo_file_name, LO_NAME_SIZE);
-- memcpy(info->lo_encrypt_key, info64->lo_encrypt_key, LO_KEY_SIZE);
--
-- /* error in case values were truncated */
-- if (info->lo_device != info64->lo_device ||
-- info->lo_rdevice != info64->lo_rdevice ||
-- info->lo_inode != info64->lo_inode ||
-- info->lo_offset != info64->lo_offset)
-- return -EOVERFLOW;
-+#ifdef MAIN
-+static char *
-+crypt_name (int id, int *flags) {
-+ int i;
-
-- return 0;
-+ for (i = 0; loop_crypt_type_tbl[i].id != -1; i++)
-+ if(id == loop_crypt_type_tbl[i].id) {
-+ *flags = loop_crypt_type_tbl[i].flags;
-+ return loop_crypt_type_tbl[i].name;
-+ }
-+ *flags = 0;
-+ if(id == 18)
-+ return "CryptoAPI";
-+ return "undefined";
- }
-
--#ifdef MAIN
--
- static int
- show_loop(char *device) {
-- struct loop_info loopinfo;
-- struct loop_info64 loopinfo64;
-- int fd, errsv;
-+ struct loop_info64 loopinfo;
-+ int fd;
-
- if ((fd = open(device, O_RDONLY)) < 0) {
- int errsv = errno;
-@@ -76,106 +106,64 @@
- device, strerror (errsv));
- return 2;
- }
--
-- if (ioctl(fd, LOOP_GET_STATUS64, &loopinfo64) == 0) {
--
-- loopinfo64.lo_file_name[LO_NAME_SIZE-2] = '*';
-- loopinfo64.lo_file_name[LO_NAME_SIZE-1] = 0;
-- loopinfo64.lo_crypt_name[LO_NAME_SIZE-1] = 0;
--
-- printf("%s: [%04llx]:%llu (%s)",
-- device, loopinfo64.lo_device, loopinfo64.lo_inode,
-- loopinfo64.lo_file_name);
--
-- if (loopinfo64.lo_offset)
-- printf(_(", offset %lld"), loopinfo64.lo_offset);
--
-- if (loopinfo64.lo_sizelimit)
-- printf(_(", sizelimit %lld"), loopinfo64.lo_sizelimit);
--
-- if (loopinfo64.lo_encrypt_type ||
-- loopinfo64.lo_crypt_name[0]) {
-- char *e = loopinfo64.lo_crypt_name;
--
-- if (*e == 0 && loopinfo64.lo_encrypt_type == 1)
-- e = "XOR";
-- printf(_(", encryption %s (type %d)"),
-- e, loopinfo64.lo_encrypt_type);
-- }
-- printf("\n");
-+ if (loop_get_status64_ioctl(fd, &loopinfo) < 0) {
-+ int errsv = errno;
-+ fprintf(stderr, _("loop: can't get info on device %s: %s\n"),
-+ device, strerror (errsv));
- close (fd);
-- return 0;
-+ return 1;
- }
--
-- if (ioctl(fd, LOOP_GET_STATUS, &loopinfo) == 0) {
-- printf ("%s: [%04x]:%ld (%s)",
-- device, loopinfo.lo_device, loopinfo.lo_inode,
-- loopinfo.lo_name);
--
-- if (loopinfo.lo_offset)
-- printf(_(", offset %d"), loopinfo.lo_offset);
--
-- if (loopinfo.lo_encrypt_type)
-- printf(_(", encryption type %d\n"),
-- loopinfo.lo_encrypt_type);
--
-- printf("\n");
-- close (fd);
-- return 0;
-+ loopinfo.lo_file_name[LO_NAME_SIZE-1] = 0;
-+ loopinfo.lo_crypt_name[LO_NAME_SIZE-1] = 0;
-+ printf("%s: [%04llx]:%llu (%s)", device, (unsigned long long)loopinfo.lo_device,
-+ (unsigned long long)loopinfo.lo_inode, loopinfo.lo_file_name);
-+ if (loopinfo.lo_offset) {
-+ if ((long long)loopinfo.lo_offset < 0) {
-+ printf(_(" offset=@%llu"), -((unsigned long long)loopinfo.lo_offset));
-+ } else {
-+ printf(_(" offset=%llu"), (unsigned long long)loopinfo.lo_offset);
-+ }
- }
--
-- errsv = errno;
-- fprintf(stderr, _("loop: can't get info on device %s: %s\n"),
-- device, strerror (errsv));
-- close (fd);
-- return 1;
--}
--
--static int
--show_used_loop_devices (void) {
-- char dev[20];
-- char *loop_formats[] = { "/dev/loop%d", "/dev/loop/%d" };
-- int i, j, fd, permission = 0, somedev = 0;
-- struct stat statbuf;
-- struct loop_info loopinfo;
--
-- for (j = 0; j < SIZE(loop_formats); j++) {
-- for(i = 0; i < 256; i++) {
-- sprintf(dev, loop_formats[j], i);
-- if (stat (dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
-- fd = open (dev, O_RDONLY);
-- if (fd >= 0) {
-- if(ioctl (fd, LOOP_GET_STATUS, &loopinfo) == 0)
-- show_loop(dev);
-- close (fd);
-- somedev++;
-- } else if (errno == EACCES)
-- permission++;
-- continue; /* continue trying as long as devices exist */
-+ if (loopinfo.lo_sizelimit)
-+ printf(_(" sizelimit=%llu"), (unsigned long long)loopinfo.lo_sizelimit);
-+ if (loopinfo.lo_encrypt_type) {
-+ int flags;
-+ char *s = crypt_name (loopinfo.lo_encrypt_type, &flags);
-+
-+ printf(_(" encryption=%s"), s);
-+ /* type 18 == LO_CRYPT_CRYPTOAPI */
-+ if (loopinfo.lo_encrypt_type == 18) {
-+ printf("/%s", loopinfo.lo_crypt_name);
-+ } else {
-+ if(flags & 2)
-+ printf("-");
-+ if(flags & 1)
-+ printf("%u", (unsigned int)loopinfo.lo_encrypt_key_size << 3);
- }
-+ }
-+ switch(loopinfo.lo_flags & 0x180000) {
-+ case 0x180000:
-+ printf(_(" multi-key-v3"));
-+ break;
-+ case 0x100000:
-+ printf(_(" multi-key-v2"));
- break;
-- }
- }
-+ /* type 2 == LO_CRYPT_DES */
-+ if (loopinfo.lo_init[0] && (loopinfo.lo_encrypt_type != 2))
-+ printf(_(" loinit=%llu"), (unsigned long long)loopinfo.lo_init[0]);
-+ if (loopinfo.lo_flags & 0x200000)
-+ printf(_(" read-only"));
-+ printf("\n");
-+ close (fd);
-
-- if (somedev==0 && permission) {
-- error(_("%s: no permission to look at /dev/loop#"), progname);
-- return 1;
-- }
- return 0;
- }
--
--
- #endif
-
--int
--is_loop_device (const char *device) {
-- struct stat statbuf;
--
-- return (stat(device, &statbuf) == 0 &&
-- S_ISBLK(statbuf.st_mode) &&
-- major(statbuf.st_rdev) == LOOPMAJOR);
--}
-+#define SIZE(a) (sizeof(a)/sizeof(a[0]))
-
-+#if !defined(MAIN)
- char *
- find_unused_loop_device (void) {
- /* Just creating a device, say in /tmp, is probably a bad idea -
-@@ -183,9 +171,8 @@
- So, we just try /dev/loop[0-7]. */
- char dev[20];
- char *loop_formats[] = { "/dev/loop%d", "/dev/loop/%d" };
-- int i, j, fd, somedev = 0, someloop = 0, permission = 0;
-+ int i, j, fd, somedev = 0, someloop = 0;
- struct stat statbuf;
-- struct loop_info loopinfo;
-
- for (j = 0; j < SIZE(loop_formats); j++) {
- for(i = 0; i < 256; i++) {
-@@ -194,16 +181,14 @@
- somedev++;
- fd = open (dev, O_RDONLY);
- if (fd >= 0) {
-- if(ioctl (fd, LOOP_GET_STATUS, &loopinfo) == 0)
-+ if (is_unused_loop_device(fd) == 0)
- someloop++; /* in use */
- else if (errno == ENXIO) {
- close (fd);
- return xstrdup(dev);/* probably free */
- }
- close (fd);
-- } else if (errno == EACCES)
-- permission++;
--
-+ }
- continue;/* continue trying as long as devices exist */
- }
- break;
-@@ -211,75 +196,626 @@
- }
-
- if (!somedev)
-- error(_("%s: could not find any device /dev/loop#"), progname);
-- else if (!someloop && permission)
-- error(_("%s: no permission to look at /dev/loop#"), progname);
-+ error(_("mount: could not find any device /dev/loop#"));
- else if (!someloop)
-- error(_(
-- "%s: Could not find any loop device. Maybe this kernel "
-- "does not know\n"
-- " about the loop device? (If so, recompile or "
-- "`modprobe loop'.)"), progname);
-+ error(_("mount: Could not find any loop device. Maybe this kernel does not know\n"
-+ " about the loop device? (If so, recompile or `modprobe loop'.)"));
- else
-- error(_("%s: could not find any free loop device"), progname);
-+ error(_("mount: could not find any free loop device"));
- return 0;
- }
-
--/*
-- * A function to read the passphrase either from the terminal or from
-- * an open file descriptor.
-- */
--static char *
--xgetpass(int pfd, const char *prompt) {
-- char *pass;
-- int buflen, i;
--
-- if (pfd < 0) /* terminal */
-- return getpass(prompt);
--
-- pass = NULL;
-- buflen = 0;
-- for (i=0; ; i++) {
-- if (i >= buflen-1) {
-- /* we're running out of space in the buffer.
-- * Make it bigger: */
-- char *tmppass = pass;
-- buflen += 128;
-- pass = realloc(tmppass, buflen);
-- if (pass == NULL) {
-- /* realloc failed. Stop reading. */
-- error("Out of memory while reading passphrase");
-- pass = tmppass; /* the old buffer hasn't changed */
-- break;
-- }
-- }
-- if (read(pfd, pass+i, 1) != 1 ||
-- pass[i] == '\n' || pass[i] == 0)
-+int is_loop_active(const char *dev, const char *backdev)
-+{
-+ int fd;
-+ int ret = 0;
-+ struct stat statbuf;
-+ struct loop_info64 loopinfo;
-+ if (stat (dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
-+ fd = open (dev, O_RDONLY);
-+ if (fd < 0)
-+ return 0;
-+ if ((loop_get_status64_ioctl(fd, &loopinfo) == 0)
-+ && (stat (backdev, &statbuf) == 0)
-+ && (statbuf.st_dev == loopinfo.lo_device)
-+ && (statbuf.st_ino == loopinfo.lo_inode))
-+ ret = 1; /* backing device matches */
-+ memset(&loopinfo, 0, sizeof(loopinfo));
-+ close(fd);
-+ }
-+ return ret;
-+}
-+#endif
-+
-+static int rd_wr_retry(int fd, char *buf, int cnt, int w)
-+{
-+ int x, y, z;
-+
-+ x = 0;
-+ while(x < cnt) {
-+ y = cnt - x;
-+ if(w) {
-+ z = write(fd, buf + x, y);
-+ } else {
-+ z = read(fd, buf + x, y);
-+ if (!z) return x;
-+ }
-+ if(z < 0) {
-+ if ((errno == EAGAIN) || (errno == ENOMEM) || (errno == ERESTART) || (errno == EINTR)) {
-+ continue;
-+ }
-+ return x;
-+ }
-+ x += z;
-+ }
-+ return x;
-+}
-+
-+static char *get_FD_pass(int fd)
-+{
-+ char *p = NULL, *n;
-+ int x = 0, y = 0;
-+
-+ do {
-+ if(y >= (x - 1)) {
-+ x += 128;
-+ /* Must enforce some max limit here -- this code */
-+ /* runs as part of mount, and mount is setuid root */
-+ /* and has used mlockall(MCL_CURRENT | MCL_FUTURE) */
-+ if(x > (4*1024)) return(NULL);
-+ n = malloc(x);
-+ if(!n) return(NULL);
-+ if(p) {
-+ memcpy(n, p, y);
-+ memset(p, 0, y);
-+ free(p);
-+ }
-+ p = n;
-+ }
-+ if(rd_wr_retry(fd, p + y, 1, 0) != 1) break;
-+ if((p[y] == '\n') || !p[y]) break;
-+ y++;
-+ } while(1);
-+ if(p) p[y] = 0;
-+ return p;
-+}
-+
-+static unsigned long long mystrtoull(char *s, int acceptAT)
-+{
-+ unsigned long long v = 0;
-+ int negative = 0;
-+
-+ while ((*s == ' ') || (*s == '\t'))
-+ s++;
-+ if (acceptAT && (*s == '@')) {
-+ s++;
-+ negative = 1;
-+ }
-+ if (*s == '0') {
-+ s++;
-+ if ((*s == 'x') || (*s == 'X')) {
-+ s++;
-+ sscanf(s, "%llx", &v);
-+ } else {
-+ sscanf(s, "%llo", &v);
-+ }
-+ } else {
-+ sscanf(s, "%llu", &v);
-+ }
-+ return negative ? -v : v;
-+}
-+
-+static void warnAboutBadKeyData(int x)
-+{
-+ if((x > 1) && (x != 64) && (x != 65)) {
-+ fprintf(stderr, _("Warning: Unknown key data format - using it anyway\n"));
-+ }
-+}
-+
-+static char *do_GPG_pipe(char *pass)
-+{
-+ int x, pfdi[2], pfdo[2];
-+ char str[10], *a[16], *e[2], *h;
-+ pid_t gpid;
-+ struct passwd *p;
-+ void *oldSigPipeHandler;
-+
-+ if((getuid() == 0) && gpgHomeDir && gpgHomeDir[0]) {
-+ h = gpgHomeDir;
-+ } else {
-+ if(!(p = getpwuid(getuid()))) {
-+ fprintf(stderr, _("Error: Unable to detect home directory for uid %d\n"), (int)getuid());
-+ return NULL;
-+ }
-+ h = p->pw_dir;
-+ }
-+ if(!(e[0] = malloc(strlen(h) + 6))) {
-+ nomem1:
-+ fprintf(stderr, _("Error: Unable to allocate memory\n"));
-+ return NULL;
-+ }
-+ sprintf(e[0], "HOME=%s", h);
-+ e[1] = 0;
-+
-+ if(pipe(&pfdi[0])) {
-+ nomem2:
-+ free(e[0]);
-+ goto nomem1;
-+ }
-+ if(pipe(&pfdo[0])) {
-+ close(pfdi[0]);
-+ close(pfdi[1]);
-+ goto nomem2;
-+ }
-+
-+ /*
-+ * When this code is run as part of losetup, normal read permissions
-+ * affect the open() below because losetup is not setuid-root.
-+ *
-+ * When this code is run as part of mount, only root can set
-+ * 'gpgKeyFile' and as such, only root can decide what file is opened
-+ * below. However, since mount is usually setuid-root all non-root
-+ * users can also open() the file too, but that file's contents are
-+ * only piped to gpg. This readable-for-all is intended behaviour,
-+ * and is very useful in situations where non-root users mount loop
-+ * devices with their own gpg private key, and yet don't have access
-+ * to the actual key used to encrypt loop device.
-+ */
-+ if((x = open(gpgKeyFile, O_RDONLY)) == -1) {
-+ fprintf(stderr, _("Error: unable to open %s for reading\n"), gpgKeyFile);
-+ nomem3:
-+ free(e[0]);
-+ close(pfdo[0]);
-+ close(pfdo[1]);
-+ close(pfdi[0]);
-+ close(pfdi[1]);
-+ return NULL;
-+ }
-+
-+ /*
-+ * If someone puts a gpg key file at beginning of device and
-+ * puts the real file system at some offset into the device,
-+ * this code extracts that gpg key file into a temp file so gpg
-+ * won't end up reading whole device when decrypting the key file.
-+ *
-+ * Example of encrypted cdrom mount with 8192 bytes reserved for gpg key file:
-+ * mount -t iso9660 /dev/cdrom /cdrom -o loop=/dev/loop0,encryption=AES128,gpgkey=/dev/cdrom,offset=8192
-+ * ^^^^^^^^^^ ^^^^^^^^^^ ^^^^
-+ */
-+ if(loopOffsetBytes && !strcmp(loopFileName, gpgKeyFile)) {
-+ FILE *f;
-+ char b[1024];
-+ long long cnt;
-+ int cnt2, cnt3;
-+
-+ cnt = mystrtoull(loopOffsetBytes, 1);
-+ if(cnt < 0) cnt = -cnt;
-+ if(cnt > (1024 * 1024)) cnt = 1024 * 1024; /* sanity check */
-+ f = tmpfile();
-+ if(!f) {
-+ fprintf(stderr, _("Error: unable to create temp file\n"));
-+ close(x);
-+ goto nomem3;
-+ }
-+ while(cnt > 0) {
-+ cnt2 = sizeof(b);
-+ if(cnt < cnt2) cnt2 = cnt;
-+ cnt3 = rd_wr_retry(x, b, cnt2, 0);
-+ if(cnt3 && (fwrite(b, cnt3, 1, f) != 1)) {
-+ tmpWrErr:
-+ fprintf(stderr, _("Error: unable to write to temp file\n"));
-+ fclose(f);
-+ close(x);
-+ goto nomem3;
-+ }
-+ if(cnt2 != cnt3) break;
-+ cnt -= cnt3;
-+ }
-+ if(fflush(f)) goto tmpWrErr;
-+ close(x);
-+ x = dup(fileno(f));
-+ fclose(f);
-+ lseek(x, 0L, SEEK_SET);
-+ }
-+
-+ sprintf(str, "%d", pfdi[0]);
-+ if(!(gpid = fork())) {
-+ dup2(x, 0);
-+ dup2(pfdo[1], 1);
-+ close(x);
-+ close(pfdi[1]);
-+ close(pfdo[0]);
-+ close(pfdo[1]);
-+ if((x = open("/dev/null", O_WRONLY)) >= 0) {
-+ dup2(x, 2);
-+ close(x);
-+ }
-+ x = 0;
-+ a[x++] = "gpg";
-+ if(gpgHomeDir && gpgHomeDir[0]) {
-+ a[x++] = "--homedir";
-+ a[x++] = gpgHomeDir;
-+ }
-+ a[x++] = "--no-options";
-+ a[x++] = "--quiet";
-+ a[x++] = "--batch";
-+ a[x++] = "--no-tty";
-+ a[x++] = "--passphrase-fd";
-+ a[x++] = str;
-+ a[x++] = "--decrypt";
-+ a[x] = 0;
-+ setgid(getgid());
-+ setuid(getuid());
-+ for(x = 3; x < 1024; x++) {
-+ if(x == pfdi[0]) continue;
-+ close(x);
-+ }
-+ execve("/bin/gpg", &a[0], &e[0]);
-+ execve("/usr/bin/gpg", &a[0], &e[0]);
-+ execve("/usr/local/bin/gpg", &a[0], &e[0]);
-+ exit(1);
-+ }
-+ free(e[0]);
-+ close(x);
-+ close(pfdi[0]);
-+ close(pfdo[1]);
-+ if(gpid == -1) {
-+ close(pfdi[1]);
-+ close(pfdo[0]);
-+ goto nomem1;
-+ }
-+
-+ x = strlen(pass);
-+
-+ /* ignore possible SIGPIPE signal while writing to gpg */
-+ oldSigPipeHandler = signal(SIGPIPE, SIG_IGN);
-+ rd_wr_retry(pfdi[1], pass, x, 1);
-+ rd_wr_retry(pfdi[1], "\n", 1, 1);
-+ if(oldSigPipeHandler != SIG_ERR) signal(SIGPIPE, oldSigPipeHandler);
-+
-+ close(pfdi[1]);
-+ memset(pass, 0, x);
-+ x = 0;
-+ while(x < 66) {
-+ multiKeyPass[x] = get_FD_pass(pfdo[0]);
-+ if(!multiKeyPass[x]) {
-+ /* mem alloc failed - abort */
-+ multiKeyPass[0] = 0;
- break;
-+ }
-+ if(strlen(multiKeyPass[x]) < LOOP_PASSWORD_MIN_LENGTH) break;
-+ x++;
-+ }
-+ warnAboutBadKeyData(x);
-+ if(x >= 65)
-+ multiKeyMode = 65;
-+ if(x == 64)
-+ multiKeyMode = 64;
-+ close(pfdo[0]);
-+ waitpid(gpid, &x, 0);
-+ if(!multiKeyPass[0]) goto nomem1;
-+ return multiKeyPass[0];
-+}
-+
-+static char *sGetPass(int minLen, int warnLen)
-+{
-+ char *p, *s, *seed;
-+ int i, ask2, close_i_fd = 0;
-+
-+ if(!passFDnumber) {
-+ if(clearTextKeyFile) {
-+ if((i = open(clearTextKeyFile, O_RDONLY)) == -1) {
-+ fprintf(stderr, _("Error: unable to open %s for reading\n"), clearTextKeyFile);
-+ return NULL;
-+ }
-+ close_i_fd = 1;
-+ goto contReadFrom_i;
-+ }
-+ p = getpass(_("Password: "));
-+ ask2 = passAskTwice ? 1 : 0;
-+ } else {
-+ i = atoi(passFDnumber);
-+ contReadFrom_i:
-+ if(gpgKeyFile && gpgKeyFile[0]) {
-+ p = get_FD_pass(i);
-+ if(close_i_fd) close(i);
-+ } else {
-+ int x = 0;
-+ while(x < 66) {
-+ multiKeyPass[x] = get_FD_pass(i);
-+ if(!multiKeyPass[x]) goto nomem;
-+ if(strlen(multiKeyPass[x]) < LOOP_PASSWORD_MIN_LENGTH) break;
-+ x++;
-+ }
-+ if(close_i_fd) close(i);
-+ warnAboutBadKeyData(x);
-+ if(x >= 65) {
-+ multiKeyMode = 65;
-+ return multiKeyPass[0];
-+ }
-+ if(x == 64) {
-+ multiKeyMode = 64;
-+ return multiKeyPass[0];
-+ }
-+ p = multiKeyPass[0];
-+ }
-+ ask2 = 0;
-+ }
-+ if(!p) goto nomem;
-+ if(gpgKeyFile && gpgKeyFile[0]) {
-+ if(ask2) {
-+ i = strlen(p);
-+ s = malloc(i + 1);
-+ if(!s) goto nomem;
-+ strcpy(s, p);
-+ p = getpass(_("Retype password: "));
-+ if(!p) goto nomem;
-+ if(strcmp(s, p)) goto compareErr;
-+ memset(s, 0, i);
-+ free(s);
-+ ask2 = 0;
-+ }
-+ p = do_GPG_pipe(p);
-+ if(!p) return(NULL);
-+ if(!p[0]) {
-+ fprintf(stderr, _("Error: gpg key file decryption failed\n"));
-+ return(NULL);
-+ }
-+ if(multiKeyMode) return(p);
-+ }
-+ i = strlen(p);
-+ if(i < minLen) {
-+ fprintf(stderr, _("Error: Password must be at least %d characters.\n"), minLen);
-+ return(NULL);
-+ }
-+ seed = passSeedString;
-+ if(!seed) seed = "";
-+ s = malloc(i + strlen(seed) + 1);
-+ if(!s) {
-+ nomem:
-+ fprintf(stderr, _("Error: Unable to allocate memory\n"));
-+ return(NULL);
-+ }
-+ strcpy(s, p);
-+ memset(p, 0, i);
-+ if(ask2) {
-+ p = getpass(_("Retype password: "));
-+ if(!p) goto nomem;
-+ if(strcmp(s, p)) {
-+ compareErr:
-+ fprintf(stderr, _("Error: Passwords are not identical\n"));
-+ return(NULL);
-+ }
-+ memset(p, 0, i);
- }
-+ if(i < warnLen) {
-+ fprintf(stderr, _("WARNING - Please use longer password (%d or more characters)\n"), LOOP_PASSWORD_MIN_LENGTH);
-+ }
-+ strcat(s, seed);
-+ return(s);
-+}
-
-- if (pass == NULL)
-- return "";
-+/* this is for compatibility with historic loop-AES version */
-+static void unhashed1_key_setup(unsigned char *keyStr, int ile, unsigned char *keyBuf, int bufSize)
-+{
-+ register int x, y, z, cnt = ile;
-+ unsigned char *kp;
-
-- pass[i] = 0;
-- return pass;
-+ memset(keyBuf, 0, bufSize);
-+ kp = keyStr;
-+ for(x = 0; x < (bufSize * 8); x += 6) {
-+ y = *kp++;
-+ if(--cnt <= 0) {
-+ kp = keyStr;
-+ cnt = ile;
-+ }
-+ if((y >= '0') && (y <= '9')) y -= '0';
-+ else if((y >= 'A') && (y <= 'Z')) y -= ('A' - 10);
-+ else if((y >= 'a') && (y <= 'z')) y -= ('a' - 36);
-+ else if((y == '.') || (y == '/')) y += (62 - '.');
-+ else y &= 63;
-+ z = x >> 3;
-+ if(z < bufSize) {
-+ keyBuf[z] |= y << (x & 7);
-+ }
-+ z++;
-+ if(z < bufSize) {
-+ keyBuf[z] |= y >> (8 - (x & 7));
-+ }
-+ }
- }
-
--static int
--digits_only(const char *s) {
-- while (*s)
-- if (!isdigit(*s++))
-- return 0;
-- return 1;
-+/* this is for compatibility with mainline mount */
-+static void unhashed2_key_setup(unsigned char *keyStr, int ile, unsigned char *keyBuf, int bufSize)
-+{
-+ memset(keyBuf, 0, bufSize);
-+ strncpy((char *)keyBuf, (char *)keyStr, bufSize - 1);
-+ keyBuf[bufSize - 1] = 0;
-+}
-+
-+static void rmd160HashTwiceWithA(unsigned char *ib, int ile, unsigned char *ob, int ole)
-+{
-+ char tmpBuf[20 + 20];
-+ char pwdCopy[130];
-+
-+ if(ole < 1) return;
-+ memset(ob, 0, ole);
-+ if(ole > 40) ole = 40;
-+ rmd160_hash_buffer(&tmpBuf[0], (char *)ib, ile);
-+ pwdCopy[0] = 'A';
-+ if(ile > sizeof(pwdCopy) - 1) ile = sizeof(pwdCopy) - 1;
-+ memcpy(pwdCopy + 1, ib, ile);
-+ rmd160_hash_buffer(&tmpBuf[20], pwdCopy, ile + 1);
-+ memcpy(ob, tmpBuf, ole);
-+ memset(tmpBuf, 0, sizeof(tmpBuf));
-+ memset(pwdCopy, 0, sizeof(pwdCopy));
-+}
-+
-+extern long long llseek(int, long long, int);
-+
-+static long long xx_lseek(int fd, long long offset, int whence)
-+{
-+ if(sizeof(off_t) >= 8) {
-+ return lseek(fd, offset, whence);
-+ } else {
-+ return llseek(fd, offset, whence);
-+ }
-+}
-+
-+static int loop_create_random_keys(char *partition, long long offset, long long sizelimit, int loopro, unsigned char *k)
-+{
-+ int x, y, fd;
-+ sha512_context s;
-+ unsigned char b[4096];
-+
-+ if(loopro) {
-+ fprintf(stderr, _("Error: read-only device %s\n"), partition);
-+ return 1;
-+ }
-+
-+ /*
-+ * Compute SHA-512 over first 40 KB of old fs data. SHA-512 hash
-+ * output is then used as entropy for new fs encryption key.
-+ */
-+ if((fd = open(partition, O_RDWR)) == -1) {
-+ seekFailed:
-+ fprintf(stderr, _("Error: unable to open/seek device %s\n"), partition);
-+ return 1;
-+ }
-+ if(offset < 0) offset = -offset;
-+ if(xx_lseek(fd, offset, SEEK_SET) == -1) {
-+ close(fd);
-+ goto seekFailed;
-+ }
-+ sha512_init(&s);
-+ for(x = 1; x <= 10; x++) {
-+ if((sizelimit > 0) && ((sizeof(b) * x) > sizelimit)) break;
-+ if(rd_wr_retry(fd, &b[0], sizeof(b), 0) != sizeof(b)) break;
-+ sha512_write(&s, &b[0], sizeof(b));
-+ }
-+ sha512_final(&s);
-+
-+ /*
-+ * Overwrite 40 KB of old fs data 20 times so that recovering
-+ * SHA-512 output beyond this point is difficult and expensive.
-+ */
-+ for(y = 0; y < 20; y++) {
-+ int z;
-+ struct {
-+ struct timeval tv;
-+ unsigned char h[64];
-+ int x,y,z;
-+ } j;
-+ if(xx_lseek(fd, offset, SEEK_SET) == -1) break;
-+ memcpy(&j.h[0], &s.sha_out[0], 64);
-+ gettimeofday(&j.tv, NULL);
-+ j.y = y;
-+ for(x = 1; x <= 10; x++) {
-+ j.x = x;
-+ for(z = 0; z < sizeof(b); z += 64) {
-+ j.z = z;
-+ sha512_hash_buffer((unsigned char *)&j, sizeof(j), &b[z], 64);
-+ }
-+ if((sizelimit > 0) && ((sizeof(b) * x) > sizelimit)) break;
-+ if(rd_wr_retry(fd, &b[0], sizeof(b), 1) != sizeof(b)) break;
-+ }
-+ memset(&j, 0, sizeof(j));
-+ if(fsync(fd)) break;
-+ }
-+ close(fd);
-+
-+ /*
-+ * Use all 512 bits of hash output
-+ */
-+ memcpy(&b[0], &s.sha_out[0], 64);
-+ memset(&s, 0, sizeof(s));
-+
-+ /*
-+ * Read 32 bytes of random entropy from kernel's random
-+ * number generator. This code may be executed early on startup
-+ * scripts and amount of random entropy may be non-existent.
-+ * SHA-512 of old fs data is used as workaround for missing
-+ * entropy in kernel's random number generator.
-+ */
-+ if((fd = open("/dev/urandom", O_RDONLY)) == -1) {
-+ fprintf(stderr, _("Error: unable to open /dev/urandom\n"));
-+ return 1;
-+ }
-+ rd_wr_retry(fd, &b[64], 32, 0);
-+
-+ /* generate multi-key hashes */
-+ x = 0;
-+ while(x < 65) {
-+ rd_wr_retry(fd, &b[64+32], 16, 0);
-+ sha512_hash_buffer(&b[0], 64+32+16, k, 32);
-+ k += 32;
-+ x++;
-+ }
-+
-+ close(fd);
-+ memset(&b[0], 0, sizeof(b));
-+ return 0;
-+}
-+
-+#if !defined(MAIN)
-+static int loop_fork_mkfs_command(char *device, char *fstype)
-+{
-+ int x, y = 0;
-+ char *a[10], *e[1];
-+
-+ sync();
-+ if(!(x = fork())) {
-+ if((x = open("/dev/null", O_WRONLY)) >= 0) {
-+ dup2(x, 0);
-+ dup2(x, 1);
-+ dup2(x, 2);
-+ close(x);
-+ }
-+ x = 0;
-+ a[x++] = "mkfs";
-+ a[x++] = "-t";
-+ a[x++] = fstype;
-+ /* mkfs.reiserfs and mkfs.xfs need -f option */
-+ if(!strcmp(fstype, "reiserfs") || !strcmp(fstype, "xfs")) {
-+ a[x++] = "-f";
-+ }
-+ a[x++] = device;
-+ a[x] = 0;
-+ e[0] = 0;
-+ setgid(getgid());
-+ setuid(getuid());
-+ for(x = 3; x < 1024; x++) {
-+ close(x);
-+ }
-+ execve("/sbin/mkfs", &a[0], &e[0]);
-+ exit(1);
-+ }
-+ if(x == -1) {
-+ fprintf(stderr, _("Error: fork failed\n"));
-+ return 1;
-+ }
-+ waitpid(x, &y, 0);
-+ sync();
-+ if(!WIFEXITED(y) || (WEXITSTATUS(y) != 0)) {
-+ fprintf(stderr, _("Error: encrypted file system mkfs failed\n"));
-+ return 1;
-+ }
-+ return 0;
- }
-+#endif
-
- int
--set_loop(const char *device, const char *file, unsigned long long offset,
-- const char *encryption, int pfd, int *loopro) {
-- struct loop_info64 loopinfo64;
-- int fd, ffd, mode, i;
-- char *pass;
-+set_loop(const char *device, const char *file, int *loopro, const char **fstype, unsigned int *AutoChmodPtr, int busyRetVal) {
-+ struct loop_info64 loopinfo;
-+ int fd, ffd, mode, i, errRetVal = 1;
-+ char *pass, *apiName = NULL;
-+ void (*hashFunc)(unsigned char *, int, unsigned char *, int);
-+ unsigned char multiKeyBits[65][32];
-+ int minPassLen = LOOP_PASSWORD_MIN_LENGTH;
-+ int run_mkfs_command = 0;
-
-+ loopFileName = (char *)file;
-+ multiKeyMode = 0;
- mode = (*loopro ? O_RDONLY : O_RDWR);
- if ((ffd = open(file, mode)) < 0) {
- if (!*loopro && errno == EROFS)
-@@ -291,180 +827,255 @@
- }
- if ((fd = open(device, mode)) < 0) {
- perror (device);
-- return 1;
-+ goto close_ffd_return1;
- }
- *loopro = (mode == O_RDONLY);
-
-- memset(&loopinfo64, 0, sizeof(loopinfo64));
--
-- xstrncpy(loopinfo64.lo_file_name, file, LO_NAME_SIZE);
--
-- if (encryption && *encryption) {
-- if (digits_only(encryption)) {
-- loopinfo64.lo_encrypt_type = atoi(encryption);
-- } else {
-- loopinfo64.lo_encrypt_type = LO_CRYPT_CRYPTOAPI;
-- snprintf(loopinfo64.lo_crypt_name, LO_NAME_SIZE,
-- "%s", encryption);
-- }
-- }
--
-- loopinfo64.lo_offset = offset;
-+ memset (&loopinfo, 0, sizeof (loopinfo));
-+ xstrncpy ((char *)loopinfo.lo_file_name, file, LO_NAME_SIZE);
-+ if (loopEncryptionType)
-+ loopinfo.lo_encrypt_type = loop_crypt_type (loopEncryptionType, &loopinfo.lo_encrypt_key_size, &apiName);
-+ if (loopOffsetBytes)
-+ loopinfo.lo_offset = mystrtoull(loopOffsetBytes, 1);
-+ if (loopSizeBytes)
-+ loopinfo.lo_sizelimit = mystrtoull(loopSizeBytes, 0);
-
- #ifdef MCL_FUTURE
- /*
- * Oh-oh, sensitive data coming up. Better lock into memory to prevent
- * passwd etc being swapped out and left somewhere on disk.
- */
-- if (loopinfo64.lo_encrypt_type != LO_CRYPT_NONE) {
-- if(mlockall(MCL_CURRENT | MCL_FUTURE)) {
-- perror("memlock");
-- fprintf(stderr, _("Couldn't lock into memory, exiting.\n"));
-- exit(1);
-- }
-+
-+ if(mlockall(MCL_CURRENT | MCL_FUTURE)) {
-+ perror("memlock");
-+ fprintf(stderr, _("Couldn't lock into memory, exiting.\n"));
-+ exit(1);
- }
- #endif
-
-- switch (loopinfo64.lo_encrypt_type) {
-+ switch (loopinfo.lo_encrypt_type) {
- case LO_CRYPT_NONE:
-- loopinfo64.lo_encrypt_key_size = 0;
-+ loopinfo.lo_encrypt_key_size = 0;
- break;
- case LO_CRYPT_XOR:
-- pass = getpass(_("Password: "));
-- goto gotpass;
-+ pass = sGetPass (1, 0);
-+ if(!pass) goto close_fd_ffd_return1;
-+ xstrncpy ((char *)loopinfo.lo_encrypt_key, pass, LO_KEY_SIZE);
-+ loopinfo.lo_encrypt_key_size = strlen((char*)loopinfo.lo_encrypt_key);
-+ break;
-+ case 3: /* LO_CRYPT_FISH2 */
-+ case 4: /* LO_CRYPT_BLOW */
-+ case 7: /* LO_CRYPT_SERPENT */
-+ case 8: /* LO_CRYPT_MARS */
-+ case 11: /* LO_CRYPT_RC6 */
-+ case 12: /* LO_CRYPT_DES_EDE3 */
-+ case 16: /* LO_CRYPT_AES */
-+ case 18: /* LO_CRYPT_CRYPTOAPI */
-+ /* set default hash function */
-+ hashFunc = sha256_hash_buffer;
-+ if(loopinfo.lo_encrypt_key_size == 24) hashFunc = sha384_hash_buffer;
-+ if(loopinfo.lo_encrypt_key_size == 32) hashFunc = sha512_hash_buffer;
-+ /* possibly override default hash function */
-+ if(passHashFuncName) {
-+ if(!strcasecmp(passHashFuncName, "sha256")) {
-+ hashFunc = sha256_hash_buffer;
-+ } else if(!strcasecmp(passHashFuncName, "sha384")) {
-+ hashFunc = sha384_hash_buffer;
-+ } else if(!strcasecmp(passHashFuncName, "sha512")) {
-+ hashFunc = sha512_hash_buffer;
-+ } else if(!strcasecmp(passHashFuncName, "rmd160")) {
-+ hashFunc = rmd160HashTwiceWithA;
-+ minPassLen = 1;
-+ } else if(!strcasecmp(passHashFuncName, "unhashed1")) {
-+ hashFunc = unhashed1_key_setup;
-+ } else if(!strcasecmp(passHashFuncName, "unhashed2")) {
-+ hashFunc = unhashed2_key_setup;
-+ minPassLen = 1;
-+ } else if(!strcasecmp(passHashFuncName, "unhashed3") && passFDnumber && !gpgKeyFile) {
-+ /* unhashed3 hash type reads binary key from file descriptor. */
-+ /* This is not compatible with gpgkey= mount option */
-+ if(rd_wr_retry(atoi(passFDnumber), (char *)&loopinfo.lo_encrypt_key[0], LO_KEY_SIZE, 0) < 1) {
-+ fprintf(stderr, _("Error: couldn't read binary key\n"));
-+ goto close_fd_ffd_return1;
-+ }
-+ break; /* out of switch(loopinfo.lo_encrypt_type) */
-+ } else if(!strncasecmp(passHashFuncName, "random", 6) && ((passHashFuncName[6] == 0) || (passHashFuncName[6] == '/'))) {
-+ /* random hash type sets up 65 random keys */
-+ /* WARNING! DO NOT USE RANDOM HASH TYPE ON PARTITION WITH EXISTING */
-+ /* IMPORTANT DATA ON IT. RANDOM HASH TYPE WILL DESTROY YOUR DATA. */
-+ if(loop_create_random_keys((char*)file, loopinfo.lo_offset, loopinfo.lo_sizelimit, *loopro, &multiKeyBits[0][0])) {
-+ goto close_fd_ffd_return1;
-+ }
-+ memcpy(&loopinfo.lo_encrypt_key[0], &multiKeyBits[0][0], sizeof(loopinfo.lo_encrypt_key));
-+ run_mkfs_command = multiKeyMode = 1000;
-+ break; /* out of switch(loopinfo.lo_encrypt_type) */
-+ }
-+ }
-+ pass = sGetPass (minPassLen, LOOP_PASSWORD_MIN_LENGTH);
-+ if(!pass) goto close_fd_ffd_return1;
-+ i = strlen(pass);
-+ if(hashFunc == unhashed1_key_setup) {
-+ /* this is for compatibility with historic loop-AES version */
-+ loopinfo.lo_encrypt_key_size = 16; /* 128 bits */
-+ if(i >= 32) loopinfo.lo_encrypt_key_size = 24; /* 192 bits */
-+ if(i >= 43) loopinfo.lo_encrypt_key_size = 32; /* 256 bits */
-+ }
-+ (*hashFunc)((unsigned char *)pass, i, &loopinfo.lo_encrypt_key[0], sizeof(loopinfo.lo_encrypt_key));
-+ if(multiKeyMode) {
-+ int r = 0, t;
-+ while(r < multiKeyMode) {
-+ t = strlen(multiKeyPass[r]);
-+ (*hashFunc)((unsigned char *)multiKeyPass[r], t, &multiKeyBits[r][0], 32);
-+ memset(multiKeyPass[r], 0, t);
-+ /*
-+ * MultiKeyMode uses md5 IV. One key mode uses sector IV. Sector IV
-+ * and md5 IV v2 and v3 are all computed differently. This first key
-+ * byte XOR with 0x55/0xF4 is needed to cause complete decrypt failure
-+ * in cases where data is encrypted with one type of IV and decrypted
-+ * with another type IV. If identical key was used but only IV was
-+ * computed differently, only first plaintext block of 512 byte CBC
-+ * chain would decrypt incorrectly and rest would decrypt correctly.
-+ * Partially correct decryption is dangerous. Decrypting all blocks
-+ * incorrectly is safer because file system mount will simply fail.
-+ */
-+ if(multiKeyMode == 65) {
-+ multiKeyBits[r][0] ^= 0xF4; /* version 3 */
-+ } else {
-+ multiKeyBits[r][0] ^= 0x55; /* version 2 */
-+ }
-+ r++;
-+ }
-+ } else if(passIterThousands) {
-+ aes_context ctx;
-+ unsigned long iter = 0;
-+ unsigned char tempkey[32];
-+ /*
-+ * Set up AES-256 encryption key using same password and hash function
-+ * as before but with password bit 0 flipped before hashing. That key
-+ * is then used to encrypt actual loop key 'itercountk' thousand times.
-+ */
-+ pass[0] ^= 1;
-+ (*hashFunc)((unsigned char *)pass, i, &tempkey[0], 32);
-+ aes_set_key(&ctx, &tempkey[0], 32, 0);
-+ sscanf(passIterThousands, "%lu", &iter);
-+ iter *= 1000;
-+ while(iter > 0) {
-+ /* encrypt both 128bit blocks with AES-256 */
-+ aes_encrypt(&ctx, &loopinfo.lo_encrypt_key[ 0], &loopinfo.lo_encrypt_key[ 0]);
-+ aes_encrypt(&ctx, &loopinfo.lo_encrypt_key[16], &loopinfo.lo_encrypt_key[16]);
-+ /* exchange upper half of first block with lower half of second block */
-+ memcpy(&tempkey[0], &loopinfo.lo_encrypt_key[8], 8);
-+ memcpy(&loopinfo.lo_encrypt_key[8], &loopinfo.lo_encrypt_key[16], 8);
-+ memcpy(&loopinfo.lo_encrypt_key[16], &tempkey[0], 8);
-+ iter--;
-+ }
-+ memset(&ctx, 0, sizeof(ctx));
-+ memset(&tempkey[0], 0, sizeof(tempkey));
-+ }
-+ memset(pass, 0, i); /* erase original password */
-+ break;
- default:
-- pass = xgetpass(pfd, _("Password: "));
-- gotpass:
-- memset(loopinfo64.lo_encrypt_key, 0, LO_KEY_SIZE);
-- xstrncpy(loopinfo64.lo_encrypt_key, pass, LO_KEY_SIZE);
-- memset(pass, 0, strlen(pass));
-- loopinfo64.lo_encrypt_key_size = LO_KEY_SIZE;
-+ fprintf (stderr, _("Error: don't know how to get key for encryption system %d\n"), loopinfo.lo_encrypt_type);
-+ goto close_fd_ffd_return1;
-+ }
-+
-+ if(loInitValue) {
-+ /* cipher modules are free to do whatever they want with this value */
-+ i = 0;
-+ sscanf(loInitValue, "%d", &i);
-+ loopinfo.lo_init[0] = i;
- }
-
- if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
-- close(fd);
-- close(ffd);
-- if (errno == EBUSY) {
-- if (verbose)
-- printf(_("ioctl LOOP_SET_FD failed: %s\n"), strerror(errno));
-- return 2;
-- } else {
-+ if(errno == EBUSY)
-+ errRetVal = busyRetVal;
-+ if((errRetVal != 2) || verbose)
- perror("ioctl: LOOP_SET_FD");
-- return 1;
-- }
-+keyclean_close_fd_ffd_return1:
-+ memset(loopinfo.lo_encrypt_key, 0, sizeof(loopinfo.lo_encrypt_key));
-+ memset(&multiKeyBits[0][0], 0, sizeof(multiKeyBits));
-+close_fd_ffd_return1:
-+ close (fd);
-+close_ffd_return1:
-+ close (ffd);
-+ return errRetVal;
- }
-- close (ffd);
-
-- i = ioctl(fd, LOOP_SET_STATUS64, &loopinfo64);
-- if (i) {
-- struct loop_info loopinfo;
-- int errsv = errno;
--
-- i = loop_info64_to_old(&loopinfo64, &loopinfo);
-- if (i) {
-- errno = errsv;
-- perror("ioctl: LOOP_SET_STATUS64");
-- } else {
-- i = ioctl(fd, LOOP_SET_STATUS, &loopinfo);
-- if (i)
-- perror("ioctl: LOOP_SET_STATUS");
-+ /* type 18 == LO_CRYPT_CRYPTOAPI */
-+ if ((loopinfo.lo_encrypt_type == 18) || (loop_set_status64_ioctl(fd, &loopinfo) < 0)) {
-+ /* direct cipher interface failed - try CryptoAPI interface now */
-+ if(!apiName || (try_cryptoapi_loop_interface(fd, &loopinfo, apiName) < 0)) {
-+ fprintf(stderr, _("ioctl: LOOP_SET_STATUS: %s, requested cipher or key length (%d bits) not supported by kernel\n"), strerror(errno), loopinfo.lo_encrypt_key_size << 3);
-+ loop_clr_fd_out:
-+ (void) ioctl (fd, LOOP_CLR_FD, 0);
-+ goto keyclean_close_fd_ffd_return1;
- }
-- memset(&loopinfo, 0, sizeof(loopinfo));
- }
-- memset(&loopinfo64, 0, sizeof(loopinfo64));
--
-- if (i) {
-- ioctl (fd, LOOP_CLR_FD, 0);
-- close (fd);
-- return 1;
-+ if(multiKeyMode >= 65) {
-+ if(ioctl(fd, LOOP_MULTI_KEY_SETUP_V3, &multiKeyBits[0][0]) < 0) {
-+ if(multiKeyMode == 1000) goto try_v2_setup;
-+ perror("ioctl: LOOP_MULTI_KEY_SETUP_V3");
-+ goto loop_clr_fd_out;
-+ }
-+ } else if(multiKeyMode == 64) {
-+ try_v2_setup:
-+ if((ioctl(fd, LOOP_MULTI_KEY_SETUP, &multiKeyBits[0][0]) < 0) && (multiKeyMode != 1000)) {
-+ perror("ioctl: LOOP_MULTI_KEY_SETUP");
-+ goto loop_clr_fd_out;
-+ }
- }
-- close (fd);
--
-- if (verbose > 1)
-- printf(_("set_loop(%s,%s,%llu): success\n"),
-- device, file, offset);
-- return 0;
--}
--
--int
--del_loop (const char *device) {
-- int fd;
-
-- if ((fd = open (device, O_RDONLY)) < 0) {
-- int errsv = errno;
-- fprintf(stderr, _("loop: can't delete device %s: %s\n"),
-- device, strerror (errsv));
-- return 1;
-- }
-- if (ioctl (fd, LOOP_CLR_FD, 0) < 0) {
-- perror ("ioctl: LOOP_CLR_FD");
-- close(fd);
-- return 1;
-- }
-+ memset(loopinfo.lo_encrypt_key, 0, sizeof(loopinfo.lo_encrypt_key));
-+ memset(&multiKeyBits[0][0], 0, sizeof(multiKeyBits));
- close (fd);
-- if (verbose > 1)
-- printf(_("del_loop(%s): success\n"), device);
-- return 0;
--}
--
--#else /* no LOOP_SET_FD defined */
--static void
--mutter(void) {
-- fprintf(stderr,
-- _("This mount was compiled without loop support. "
-- "Please recompile.\n"));
--}
--
--int
--set_loop (const char *device, const char *file, unsigned long long offset,
-- const char *encryption, int *loopro) {
-- mutter();
-- return 1;
--}
-+ close (ffd);
-
--int
--del_loop (const char *device) {
-- mutter();
-- return 1;
--}
-+#if !defined(MAIN)
-+ if(run_mkfs_command && fstype && *fstype && **fstype && (getuid() == 0)) {
-+ if(!loop_fork_mkfs_command((char *)device, (char *)(*fstype))) {
-+ /* !strncasecmp(passHashFuncName, "random", 6) test matched */
-+ /* This reads octal mode for newly created file system root */
-+ /* directory node from '-o phash=random/1777' mount option. */
-+ /* octal mode--^^^^ */
-+ sscanf(passHashFuncName + 6, "/%o", AutoChmodPtr);
-+ } else {
-+ if((fd = open(device, mode)) >= 0) {
-+ ioctl(fd, LOOP_CLR_FD, 0);
-+ close(fd);
-+ return 1;
-+ }
-+ }
-+ }
-+#endif
-
--char *
--find_unused_loop_device (void) {
-- mutter();
-+ if (verbose > 1)
-+ printf(_("set_loop(%s,%s): success\n"), device, file);
- return 0;
- }
-
--#endif
--
- #ifdef MAIN
-
--#ifdef LOOP_SET_FD
--
- #include <getopt.h>
- #include <stdarg.h>
-
- int verbose = 0;
--char *progname;
-+static char *progname;
-
- static void
- usage(void) {
-- fprintf(stderr, _("\nUsage:\n"
-- " %1$s loop_device # give info\n"
-- " %1$s -a | --all # list all used\n"
-- " %1$s -d | --detach loop_device # delete\n"
-- " %1$s -f | --find # find unused\n"
-- " %1$s [ options ] {-f|--find|loop_device} file # setup\n"
-- "\nOptions:\n"
-- " -e | --encryption <type> enable data encryption with specified <name/num>\n"
-- " -h | --help this help\n"
-- " -o | --offset <num> start at offset <num> into file\n"
-- " -p | --pass-fd <num> read passphrase from file descriptor <num>\n"
-- " -r | --read-only setup read-only loop device\n"
-- " -s | --show print device name (with -f <file>)\n"
-- " -v | --verbose verbose mode\n\n"),
-- progname);
-+ fprintf(stderr, _("usage:\n\
-+ %s [options] loop_device file # setup\n\
-+ %s -F [options] loop_device [file] # setup, read /etc/fstab\n\
-+ %s loop_device # give info\n\
-+ %s -a # give info of all loops\n\
-+ %s -d loop_device # delete\n\
-+ %s -R loop_device # resize\n\
-+options: -e encryption -o offset -s sizelimit -p passwdfd -T -S pseed\n\
-+ -H phash -I loinit -K gpgkey -G gpghome -C itercountk -v -r\n\
-+ -P cleartextkey\n"),
-+ progname, progname, progname, progname, progname, progname);
- exit(1);
-- }
-+}
-
- char *
- xstrdup (const char *s) {
-@@ -493,153 +1104,252 @@
- fprintf (stderr, "\n");
- }
-
-+void
-+show_all_loops(void)
-+{
-+ char dev[20];
-+ char *lfmt[] = { "/dev/loop%d", "/dev/loop/%d" };
-+ int i, j, fd, x;
-+ struct stat statbuf;
-+
-+ for(i = 0; i < 256; i++) {
-+ for(j = (sizeof(lfmt) / sizeof(lfmt[0])) - 1; j >= 0; j--) {
-+ sprintf(dev, lfmt[j], i);
-+ if(stat(dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
-+ fd = open(dev, O_RDONLY);
-+ if(fd >= 0) {
-+ x = is_unused_loop_device(fd);
-+ close(fd);
-+ if(x == 0) {
-+ show_loop(dev);
-+ j = 0;
-+ }
-+ }
-+ }
-+ }
-+ }
-+}
-+
-+int
-+read_options_from_fstab(char *loopToFind, char **partitionPtr)
-+{
-+ FILE *f;
-+ struct mntent *m;
-+ int y, foundMatch = 0;
-+ char *opt, *fr1, *fr2;
-+ struct options {
-+ char *name; /* name of /etc/fstab option */
-+ char **dest; /* destination where it is written to */
-+ char *line; /* temp */
-+ };
-+ struct options tbl[] = {
-+ { "device/file name ", partitionPtr }, /* must be index 0 */
-+ { "loop=", &loopToFind }, /* must be index 1 */
-+ { "offset=", &loopOffsetBytes },
-+ { "sizelimit=", &loopSizeBytes },
-+ { "encryption=", &loopEncryptionType },
-+ { "pseed=", &passSeedString },
-+ { "phash=", &passHashFuncName },
-+ { "loinit=", &loInitValue },
-+ { "gpgkey=", &gpgKeyFile },
-+ { "gpghome=", &gpgHomeDir },
-+ { "cleartextkey=", &clearTextKeyFile },
-+ { "itercountk=", &passIterThousands },
-+ };
-+ struct options *p;
-+
-+ if (!(f = setmntent("/etc/fstab", "r"))) {
-+ fprintf(stderr, _("Error: unable to open /etc/fstab for reading\n"));
-+ return 0;
-+ }
-+ while ((m = getmntent(f)) != NULL) {
-+ tbl[0].line = fr1 = xstrdup(m->mnt_fsname);
-+ p = &tbl[1];
-+ do {
-+ p->line = NULL;
-+ } while (++p < &tbl[sizeof(tbl) / sizeof(struct options)]);
-+ opt = fr2 = xstrdup(m->mnt_opts);
-+ for (opt = strtok(opt, ","); opt != NULL; opt = strtok(NULL, ",")) {
-+ p = &tbl[1];
-+ do {
-+ y = strlen(p->name);
-+ if (!strncmp(opt, p->name, y))
-+ p->line = opt + y;
-+ } while (++p < &tbl[sizeof(tbl) / sizeof(struct options)]);
-+ }
-+ if (tbl[1].line && !strcmp(loopToFind, tbl[1].line)) {
-+ if (++foundMatch > 1) {
-+ fprintf(stderr, _("Error: multiple loop=%s options found in /etc/fstab\n"), loopToFind);
-+ endmntent(f);
-+ return 0;
-+ }
-+ p = &tbl[0];
-+ do {
-+ if (!*p->dest && p->line) {
-+ *p->dest = p->line;
-+ if (verbose)
-+ printf(_("using %s%s from /etc/fstab\n"), p->name, p->line);
-+ }
-+ } while (++p < &tbl[sizeof(tbl) / sizeof(struct options)]);
-+ fr1 = fr2 = NULL;
-+ }
-+ if(fr1) free(fr1);
-+ if(fr2) free(fr2);
-+ }
-+ endmntent(f);
-+ if (foundMatch == 0) {
-+ fprintf(stderr, _("Error: loop=%s option not found in /etc/fstab\n"), loopToFind);
-+ }
-+ return foundMatch;
-+}
-+
-+int
-+recompute_loop_dev_size(char *device)
-+{
-+ int fd, err1 = 0, err2, err3;
-+ long long oldBytes = -1, newBytes = -1;
-+
-+ fd = open(device, O_RDONLY);
-+ if(fd < 0) {
-+ perror(device);
-+ return 1;
-+ }
-+ if(verbose) {
-+ err1 = ioctl(fd, BLKGETSIZE64, &oldBytes);
-+ }
-+ err2 = ioctl(fd, LOOP_RECOMPUTE_DEV_SIZE, 0);
-+ if(err2) {
-+ perror(device);
-+ goto done1;
-+ }
-+ if(verbose) {
-+ err3 = ioctl(fd, BLKGETSIZE64, &newBytes);
-+ if(!err1 && (oldBytes >= 0)) {
-+ printf("%s: old size %lld bytes\n", device, oldBytes);
-+ }
-+ if(!err3 && (newBytes >= 0)) {
-+ printf("%s: new size %lld bytes\n", device, newBytes);
-+ }
-+ }
-+done1:
-+ close(fd);
-+ return err2;
-+}
-
- int
- main(int argc, char **argv) {
-- char *p, *offset, *encryption, *passfd, *device, *file;
-- int delete, find, c, all;
-+ char *partitionName = NULL;
-+ int delete,c,option_a=0,option_F=0,option_R=0,setup_o=0;
- int res = 0;
-- int showdev = 0;
- int ro = 0;
-- int pfd = -1;
-- unsigned long long off;
-- struct option longopts[] = {
-- { "all", 0, 0, 'a' },
-- { "detach", 0, 0, 'd' },
-- { "encryption", 1, 0, 'e' },
-- { "find", 0, 0, 'f' },
-- { "help", 0, 0, 'h' },
-- { "offset", 1, 0, 'o' },
-- { "pass-fd", 1, 0, 'p' },
-- { "read-only", 0, 0, 'r' },
-- { "show", 0, 0, 's' },
-- { "verbose", 0, 0, 'v' },
-- { NULL, 0, 0, 0 }
-- };
-
- setlocale(LC_ALL, "");
- bindtextdomain(PACKAGE, LOCALEDIR);
- textdomain(PACKAGE);
-
-- delete = find = all = 0;
-- off = 0;
-- offset = encryption = passfd = NULL;
--
-+ delete = 0;
- progname = argv[0];
-- if ((p = strrchr(progname, '/')) != NULL)
-- progname = p+1;
--
-- while ((c = getopt_long(argc, argv, "ade:E:fho:p:rsv",
-- longopts, NULL)) != -1) {
-+ while ((c = getopt(argc,argv,"aC:de:FG:H:I:K:o:p:rRs:S:Tv")) != -1) {
- switch (c) {
-- case 'a':
-- all = 1;
-+ case 'a': /* show status of all loops */
-+ option_a = 1;
- break;
-- case 'r':
-- ro = 1;
-+ case 'C':
-+ passIterThousands = optarg;
-+ setup_o = 1;
- break;
- case 'd':
- delete = 1;
- break;
-- case 'E':
- case 'e':
-- encryption = optarg;
-+ loopEncryptionType = optarg;
-+ setup_o = 1;
- break;
-- case 'f':
-- find = 1;
-+ case 'F': /* read loop related options from /etc/fstab */
-+ option_F = 1;
-+ setup_o = 1;
-+ break;
-+ case 'G': /* GnuPG home dir */
-+ gpgHomeDir = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'H': /* passphrase hash function name */
-+ passHashFuncName = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'I': /* lo_init[0] value (in string form) */
-+ loInitValue = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'K': /* GnuPG key file name */
-+ gpgKeyFile = optarg;
-+ setup_o = 1;
- break;
- case 'o':
-- offset = optarg;
-+ loopOffsetBytes = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'p': /* read passphrase from given fd */
-+ passFDnumber = optarg;
-+ setup_o = 1;
- break;
-- case 'p':
-- passfd = optarg;
-+ case 'P': /* read passphrase from given file */
-+ clearTextKeyFile = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'r': /* read-only */
-+ ro = 1;
-+ setup_o = 1;
-+ break;
-+ case 'R': /* recompute loop dev size */
-+ option_R = 1;
- break;
- case 's':
-- showdev = 1;
-+ loopSizeBytes = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'S': /* optional seed for passphrase */
-+ passSeedString = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'T': /* ask passphrase _twice_ */
-+ passAskTwice = "T";
-+ setup_o = 1;
- break;
- case 'v':
-- verbose = 1;
-+ verbose++;
- break;
- default:
- usage();
- }
- }
--
-- if (argc == 1) {
-- usage();
-+ if (option_a + delete + option_R + setup_o > 1) usage();
-+ if (option_a) {
-+ /* show all loops */
-+ if (argc != optind) usage();
-+ show_all_loops();
-+ res = 0;
- } else if (delete) {
-- if (argc != optind+1 || encryption || offset || find || all || showdev)
-- usage();
-- } else if (find) {
-- if (all || argc < optind || argc > optind+1)
-- usage();
-- } else if (all) {
-- if (argc > 2)
-- usage();
-- } else {
-- if (argc < optind+1 || argc > optind+2)
-- usage();
-- }
--
-- if (all)
-- return show_used_loop_devices();
-- else if (find) {
-- device = find_unused_loop_device();
-- if (device == NULL)
-- return -1;
-- if (argc == optind) {
-- if (verbose)
-- printf("Loop device is %s\n", device);
-- printf("%s\n", device);
-- return 0;
-- }
-- file = argv[optind];
-+ /* delete loop */
-+ if (argc != optind+1) usage();
-+ res = del_loop(argv[optind]);
-+ } else if (option_R) {
-+ /* resize existing loop */
-+ if (argc != optind+1) usage();
-+ res = recompute_loop_dev_size(argv[optind]);
-+ } else if ((argc == optind+1) && !setup_o) {
-+ /* show one loop */
-+ res = show_loop(argv[optind]);
- } else {
-- device = argv[optind];
-- if (argc == optind+1)
-- file = NULL;
-- else
-- file = argv[optind+1];
-- }
--
-- if (delete)
-- res = del_loop(device);
-- else if (file == NULL)
-- res = show_loop(device);
-- else {
-- if (offset && sscanf(offset, "%llu", &off) != 1)
-- usage();
-- if (passfd && sscanf(passfd, "%d", &pfd) != 1)
-+ /* set up new loop */
-+ if ((argc < optind+1) || ((argc == optind+1) && !option_F) || (argc > optind+2))
- usage();
-- do {
-- res = set_loop(device, file, off, encryption, pfd, &ro);
-- if (res == 2 && find) {
-- if (verbose)
-- printf("stolen loop=%s...trying again\n",
-- device);
-- free(device);
-- if (!(device = find_unused_loop_device()))
-- return -1;
-- }
-- } while (find && res == 2);
--
-- if (verbose && res == 0)
-- printf("Loop device is %s\n", device);
--
-- if (res == 0 && showdev && find)
-- printf("%s\n", device);
-+ if (argc > optind+1)
-+ partitionName = argv[optind+1];
-+ if (option_F && (read_options_from_fstab(argv[optind], &partitionName) != 1))
-+ exit(1);
-+ res = set_loop(argv[optind],partitionName,&ro,(const char**)0,(unsigned int *)0, 1);
- }
- return res;
- }
--
--#else /* LOOP_SET_FD not defined */
--
--int
--main(int argc, char **argv) {
-- fprintf(stderr,
-- _("No loop support was available at compile time. "
-- "Please recompile.\n"));
-- return -1;
--}
--#endif
- #endif
-diff -urN util-linux-ng-2.13/mount/lomount.h util-linux-ng-2.13-AES/mount/lomount.h
---- util-linux-ng-2.13/mount/lomount.h 2007-04-25 15:43:38.000000000 +0300
-+++ util-linux-ng-2.13-AES/mount/lomount.h 2007-09-02 18:05:41.000000000 +0300
-@@ -1,6 +1,19 @@
- extern int verbose;
--extern int set_loop(const char *, const char *, unsigned long long,
-- const char *, int, int *);
-+extern int set_loop(const char *, const char *, int *, const char **, unsigned int *, int);
- extern int del_loop(const char *);
- extern int is_loop_device(const char *);
-+extern int is_loop_active(const char *, const char *);
- extern char * find_unused_loop_device(void);
-+
-+extern char *passFDnumber;
-+extern char *passAskTwice;
-+extern char *passSeedString;
-+extern char *passHashFuncName;
-+extern char *passIterThousands;
-+extern char *loInitValue;
-+extern char *gpgKeyFile;
-+extern char *gpgHomeDir;
-+extern char *clearTextKeyFile;
-+extern char *loopOffsetBytes;
-+extern char *loopSizeBytes;
-+extern char *loopEncryptionType;
-diff -urN util-linux-ng-2.13/mount/loop.c util-linux-ng-2.13-AES/mount/loop.c
---- util-linux-ng-2.13/mount/loop.c 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.13-AES/mount/loop.c 2007-09-02 18:05:41.000000000 +0300
-@@ -0,0 +1,221 @@
-+/*
-+ * loop.c
-+ *
-+ * Copyright 2003 by Jari Ruusu.
-+ * Redistribution of this file is permitted under the GNU GPL
-+ */
-+
-+/* collection of loop helper functions used by losetup, mount and swapon */
-+
-+#include <stdio.h>
-+#include <string.h>
-+#include <ctype.h>
-+#include <sys/ioctl.h>
-+#include <sys/types.h>
-+#include <errno.h>
-+#include "loop.h"
-+
-+static void convert_info_to_info64(struct loop_info *info, struct loop_info64 *info64)
-+{
-+ memset(info64, 0, sizeof(*info64));
-+ info64->lo_number = info->lo_number;
-+ info64->lo_device = info->lo_device;
-+ info64->lo_inode = info->lo_inode;
-+ info64->lo_rdevice = info->lo_rdevice;
-+ info64->lo_offset = info->lo_offset;
-+ info64->lo_encrypt_type = info->lo_encrypt_type;
-+ info64->lo_encrypt_key_size = info->lo_encrypt_key_size;
-+ info64->lo_flags = info->lo_flags;
-+ info64->lo_init[0] = info->lo_init[0];
-+ info64->lo_init[1] = info->lo_init[1];
-+ info64->lo_sizelimit = 0;
-+ if (info->lo_encrypt_type == 18) /* LO_CRYPT_CRYPTOAPI */
-+ memcpy(info64->lo_crypt_name, info->lo_name, sizeof(info64->lo_crypt_name));
-+ else
-+ memcpy(info64->lo_file_name, info->lo_name, sizeof(info64->lo_file_name));
-+ memcpy(info64->lo_encrypt_key, info->lo_encrypt_key, sizeof(info64->lo_encrypt_key));
-+}
-+
-+static int convert_info64_to_info(struct loop_info64 *info64, struct loop_info *info)
-+{
-+ memset(info, 0, sizeof(*info));
-+ info->lo_number = info64->lo_number;
-+ info->lo_device = info64->lo_device;
-+ info->lo_inode = info64->lo_inode;
-+ info->lo_rdevice = info64->lo_rdevice;
-+ info->lo_offset = info64->lo_offset;
-+ info->lo_encrypt_type = info64->lo_encrypt_type;
-+ info->lo_encrypt_key_size = info64->lo_encrypt_key_size;
-+ info->lo_flags = info64->lo_flags;
-+ info->lo_init[0] = info64->lo_init[0];
-+ info->lo_init[1] = info64->lo_init[1];
-+ if (info->lo_encrypt_type == 18) /* LO_CRYPT_CRYPTOAPI */
-+ memcpy(info->lo_name, info64->lo_crypt_name, sizeof(info->lo_name));
-+ else
-+ memcpy(info->lo_name, info64->lo_file_name, sizeof(info->lo_name));
-+ memcpy(info->lo_encrypt_key, info64->lo_encrypt_key, sizeof(info->lo_encrypt_key));
-+
-+ /* error in case values were truncated */
-+ if (info->lo_device != info64->lo_device ||
-+ info->lo_rdevice != info64->lo_rdevice ||
-+ info->lo_inode != info64->lo_inode ||
-+ info->lo_offset != info64->lo_offset ||
-+ info64->lo_sizelimit) {
-+ errno = EOVERFLOW;
-+ return -1;
-+ }
-+ return 0;
-+}
-+
-+int loop_set_status64_ioctl(int fd, struct loop_info64 *info64)
-+{
-+ struct loop_info info;
-+ struct loop_info64 tmp;
-+ int r;
-+
-+ /*
-+ * This ugly work around is needed because some
-+ * Red Hat kernels are using same ioctl code:
-+ * #define LOOP_CHANGE_FD 0x4C04
-+ * vs.
-+ * #define LOOP_SET_STATUS64 0x4C04
-+ * that is used by modern loop driver.
-+ *
-+ * Attempt to detect presense of LOOP_GET_STATUS64
-+ * ioctl before issuing LOOP_SET_STATUS64 ioctl.
-+ * Red Hat kernels with above LOOP_CHANGE_FD damage
-+ * should return -1 and set errno to EINVAL.
-+ */
-+ r = ioctl(fd, LOOP_GET_STATUS64, &tmp);
-+ memset(&tmp, 0, sizeof(tmp));
-+ if ((r == 0) || (errno != EINVAL)) {
-+ r = ioctl(fd, LOOP_SET_STATUS64, info64);
-+ if (!r)
-+ return 0;
-+ }
-+ r = convert_info64_to_info(info64, &info);
-+ if (!r)
-+ r = ioctl(fd, LOOP_SET_STATUS, &info);
-+
-+ /* don't leave copies of encryption key on stack */
-+ memset(&info, 0, sizeof(info));
-+ return r;
-+}
-+
-+int loop_get_status64_ioctl(int fd, struct loop_info64 *info64)
-+{
-+ struct loop_info info;
-+ int r;
-+
-+ memset(info64, 0, sizeof(*info64));
-+ r = ioctl(fd, LOOP_GET_STATUS64, info64);
-+ if (!r)
-+ return 0;
-+ r = ioctl(fd, LOOP_GET_STATUS, &info);
-+ if (!r)
-+ convert_info_to_info64(&info, info64);
-+
-+ /* don't leave copies of encryption key on stack */
-+ memset(&info, 0, sizeof(info));
-+ return r;
-+}
-+
-+/* returns: 1=unused 0=busy */
-+int is_unused_loop_device(int fd)
-+{
-+ struct loop_info64 info64;
-+ struct loop_info info;
-+ int r;
-+
-+ r = ioctl(fd, LOOP_GET_STATUS64, &info64);
-+ memset(&info64, 0, sizeof(info64));
-+ if (!r)
-+ return 0;
-+ if (errno == ENXIO)
-+ return 1;
-+
-+ r = ioctl(fd, LOOP_GET_STATUS, &info);
-+ memset(&info, 0, sizeof(info));
-+ if (!r)
-+ return 0;
-+ if (errno == ENXIO)
-+ return 1;
-+ if (errno == EOVERFLOW)
-+ return 0;
-+ return 1;
-+}
-+
-+struct loop_crypt_type_struct loop_crypt_type_tbl[] = {
-+ { 0, 0, 0, "no" },
-+ { 0, 0, 0, "none" },
-+ { 1, 0, 0, "xor" },
-+ { 3, 1, 16, "twofish" },
-+ { 4, 1, 16, "blowfish" },
-+ { 7, 1, 16, "serpent" },
-+ { 8, 1, 16, "mars" },
-+ { 11, 3, 16, "rc6" },
-+ { 12, 0, 21, "tripleDES" },
-+ { 12, 0, 24, "3des" },
-+ { 12, 0, 24, "des3_ede" },
-+ { 16, 1, 16, "AES" },
-+ { -1, 0, 0, NULL }
-+};
-+
-+static char *getApiName(char *e, int *len)
-+{
-+ int x, y, z = 1, q = -1;
-+ unsigned char *s;
-+
-+ *len = y = 0;
-+ s = (unsigned char *)strdup(e);
-+ if(!s)
-+ return "";
-+ x = strlen((char *)s);
-+ while(x > 0) {
-+ x--;
-+ if(!isdigit(s[x]))
-+ break;
-+ y += (s[x] - '0') * z;
-+ z *= 10;
-+ q = x;
-+ }
-+ while(x >= 0) {
-+ s[x] = tolower(s[x]);
-+ if(s[x] == '-')
-+ s[x] = 0;
-+ x--;
-+ }
-+ if(y >= 40) {
-+ if(q >= 0)
-+ s[q] = 0;
-+ *len = y;
-+ }
-+ return((char *)s);
-+}
-+
-+int loop_crypt_type(const char *name, u_int32_t *kbyp, char **apiName)
-+{
-+ int i, k;
-+
-+ *apiName = getApiName((char *)name, &k);
-+ if(k < 0)
-+ k = 0;
-+ if(k > 256)
-+ k = 256;
-+ for (i = 0; loop_crypt_type_tbl[i].id != -1; i++) {
-+ if (!strcasecmp (*apiName , loop_crypt_type_tbl[i].name)) {
-+ *kbyp = k ? k >> 3 : loop_crypt_type_tbl[i].keyBytes;
-+ return loop_crypt_type_tbl[i].id;
-+ }
-+ }
-+ *kbyp = 16; /* 128 bits */
-+ return 18; /* LO_CRYPT_CRYPTOAPI */
-+}
-+
-+int try_cryptoapi_loop_interface(int fd, struct loop_info64 *loopinfo, char *apiName)
-+{
-+ snprintf((char *)loopinfo->lo_crypt_name, sizeof(loopinfo->lo_crypt_name), "%s-cbc", apiName);
-+ loopinfo->lo_crypt_name[LO_NAME_SIZE - 1] = 0;
-+ loopinfo->lo_encrypt_type = 18; /* LO_CRYPT_CRYPTOAPI */
-+ return(loop_set_status64_ioctl(fd, loopinfo));
-+}
-diff -urN util-linux-ng-2.13/mount/loop.h util-linux-ng-2.13-AES/mount/loop.h
---- util-linux-ng-2.13/mount/loop.h 2007-04-25 15:43:38.000000000 +0300
-+++ util-linux-ng-2.13-AES/mount/loop.h 2007-09-02 18:05:41.000000000 +0300
-@@ -1,6 +1,20 @@
--#define LO_CRYPT_NONE 0
--#define LO_CRYPT_XOR 1
--#define LO_CRYPT_DES 2
-+/*
-+ * loop.h
-+ *
-+ * Copyright 2003 by Jari Ruusu.
-+ * Redistribution of this file is permitted under the GNU GPL
-+ */
-+
-+#ifndef _LOOP_H
-+#define _LOOP_H 1
-+
-+#include <sys/types.h>
-+#include <linux/version.h>
-+#include <linux/posix_types.h>
-+
-+#define LO_CRYPT_NONE 0
-+#define LO_CRYPT_XOR 1
-+#define LO_CRYPT_DES 2
- #define LO_CRYPT_CRYPTOAPI 18
-
- #define LOOP_SET_FD 0x4C00
-@@ -9,17 +23,26 @@
- #define LOOP_GET_STATUS 0x4C03
- #define LOOP_SET_STATUS64 0x4C04
- #define LOOP_GET_STATUS64 0x4C05
-+#define LOOP_MULTI_KEY_SETUP 0x4C4D
-+#define LOOP_MULTI_KEY_SETUP_V3 0x4C4E
-+#define LOOP_RECOMPUTE_DEV_SIZE 0x4C52
-
--#define LO_NAME_SIZE 64
--#define LO_KEY_SIZE 32
--
--#include "my_dev_t.h"
-+#define LO_NAME_SIZE 64
-+#define LO_KEY_SIZE 32
-
- struct loop_info {
- int lo_number;
-- my_dev_t lo_device;
-+#if LINUX_VERSION_CODE >= 0x20600
-+ __kernel_old_dev_t lo_device;
-+#else
-+ __kernel_dev_t lo_device;
-+#endif
- unsigned long lo_inode;
-- my_dev_t lo_rdevice;
-+#if LINUX_VERSION_CODE >= 0x20600
-+ __kernel_old_dev_t lo_rdevice;
-+#else
-+ __kernel_dev_t lo_rdevice;
-+#endif
- int lo_offset;
- int lo_encrypt_type;
- int lo_encrypt_key_size;
-@@ -30,22 +53,35 @@
- char reserved[4];
- };
-
--/*
-- * Where to get __u8, __u32, __u64? Let us use unsigned char/int/long long
-- * and get punished when someone comes with 128-bit long longs.
-- */
- struct loop_info64 {
-- unsigned long long lo_device;
-- unsigned long long lo_inode;
-- unsigned long long lo_rdevice;
-- unsigned long long lo_offset;
-- unsigned long long lo_sizelimit; /* bytes, 0 == max available */
-- unsigned int lo_number;
-- unsigned int lo_encrypt_type;
-- unsigned int lo_encrypt_key_size;
-- unsigned int lo_flags;
-- unsigned char lo_file_name[LO_NAME_SIZE];
-- unsigned char lo_crypt_name[LO_NAME_SIZE];
-- unsigned char lo_encrypt_key[LO_KEY_SIZE];
-- unsigned long long lo_init[2];
-+ u_int64_t lo_device; /* ioctl r/o */
-+ u_int64_t lo_inode; /* ioctl r/o */
-+ u_int64_t lo_rdevice; /* ioctl r/o */
-+ u_int64_t lo_offset; /* bytes */
-+ u_int64_t lo_sizelimit; /* bytes, 0 == max available */
-+ u_int32_t lo_number; /* ioctl r/o */
-+ u_int32_t lo_encrypt_type;
-+ u_int32_t lo_encrypt_key_size; /* ioctl w/o */
-+ u_int32_t lo_flags; /* ioctl r/o */
-+ unsigned char lo_file_name[LO_NAME_SIZE];
-+ unsigned char lo_crypt_name[LO_NAME_SIZE];
-+ unsigned char lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
-+ u_int64_t lo_init[2];
-+};
-+
-+extern int loop_set_status64_ioctl(int, struct loop_info64 *);
-+extern int loop_get_status64_ioctl(int, struct loop_info64 *);
-+extern int is_unused_loop_device(int);
-+
-+struct loop_crypt_type_struct {
-+ short int id;
-+ unsigned char flags; /* bit0 = show keybits, bit1 = add '-' before keybits */
-+ unsigned char keyBytes;
-+ char *name;
- };
-+
-+extern struct loop_crypt_type_struct loop_crypt_type_tbl[];
-+extern int loop_crypt_type(const char *, u_int32_t *, char **);
-+extern int try_cryptoapi_loop_interface(int, struct loop_info64 *, char *);
-+
-+#endif
-diff -urN util-linux-ng-2.13/mount/losetup.8 util-linux-ng-2.13-AES/mount/losetup.8
---- util-linux-ng-2.13/mount/losetup.8 2007-08-13 13:39:46.000000000 +0300
-+++ util-linux-ng-2.13-AES/mount/losetup.8 2007-09-02 18:05:41.000000000 +0300
-@@ -1,45 +1,29 @@
--.TH LOSETUP 8 "2003-07-01" "Linux" "MAINTENANCE COMMANDS"
-+.TH LOSETUP 8 "2007-09-02" "Linux" "MAINTENANCE COMMANDS"
- .SH NAME
- losetup \- set up and control loop devices
- .SH SYNOPSIS
- .ad l
--Get info:
--.sp
--.in +5
- .B losetup
-+[options]
- .I loop_device
--.sp
-+file
-+.br
-+.B losetup -F
-+[options]
-+.I loop_device
-+[file]
-+.br
-+.B losetup
-+[
-+.B \-d
-+]
-+.I loop_device
-+.br
- .B losetup -a
--.sp
--.in -5
--Delete loop:
--.sp
--.in +5
--.B "losetup \-d"
-+.br
-+.B losetup
-+.B \-R
- .I loop_device
--.sp
--.in -5
--Print name of first unused loop device:
--.sp
--.in +5
--.B "losetup \-f"
--.sp
--.in -5
--Setup loop device:
--.sp
--.in +5
--.B losetup
--.RB [{\-e | \-E}
--.IR encryption ]
--.RB [ \-o
--.IR offset ]
--.RB [ \-p
--.IR pfd ]
--.RB [ \-r ]
--.in +8
--.RB { \-f [ \-s ] | \fIloop_device\fP }
--.I file
--.in -13
- .ad b
- .SH DESCRIPTION
- .B losetup
-@@ -47,53 +31,135 @@
- to detach loop devices and to query the status of a loop device. If only the
- \fIloop_device\fP argument is given, the status of the corresponding loop
- device is shown.
--
--.SS "Encryption"
--It is possible to specify transfer functions (for encryption/decryption
--or other purposes) using one of the
--.B \-E
--and
--.B \-e
--options.
--There are two mechanisms to specify the desired encryption: by number
--and by name. If an encryption is specified by number then one
--has to make sure that the Linux kernel knows about the encryption with that
--number, probably by patching the kernel. Standard numbers that are
--always present are 0 (no encryption) and 1 (XOR encryption).
--When the cryptoloop module is loaded (or compiled in), it uses number 18.
--This cryptoloop module will take the name of an arbitrary encryption type
--and finds the module that knows how to perform that encryption.
- .SH OPTIONS
--.IP "\fB\-a, \-\-all\fP"
--show status of all loop devices
--.IP "\fB\-d, \-\-detach\fP"
--detach the file or device associated with the specified loop device
--.IP "\fB\-e, \-E, \-\-encryption \fIencryption_type\fP"
--enable data encryption with specified name or number
--.IP "\fB\-f, \-\-find\fP"
--find the first unused loop device. If a
--.I file
--argument is present, use this device. Otherwise, print its name.
--.IP "\fB\-h, \-\-help\fP"
--print help
--.IP "\fB\-o, \-\-offset \fIoffset\fP"
-+.IP \fB\-a\fP
-+Show status of all loop devices.
-+.IP "\fB\-C \fIitercountk\fP"
-+Runs hashed passphrase through \fIitercountk\fP thousand iterations of AES-256
-+before using it for loop encryption. This consumes lots of CPU cycles at
-+loop setup/mount time but not thereafter. In combination with passphrase seed
-+this slows down dictionary attacks. Iteration is not done in multi-key mode.
-+.IP "\fB\-d\fP"
-+Detach the file or device associated with the specified loop device.
-+.IP "\fB\-e \fIencryption\fP"
-+.RS
-+Enable data encryption. Following encryption types are recognized:
-+.IP \fBNONE\fP
-+Use no encryption (default).
-+.PD 0
-+.IP \fBXOR\fP
-+Use a simple XOR encryption.
-+.IP "\fBAES128 AES\fP"
-+Use 128 bit AES encryption. Passphrase is hashed with SHA-256 by default.
-+.IP \fBAES192\fP
-+Use 192 bit AES encryption. Passphrase is hashed with SHA-384 by default.
-+.IP \fBAES256\fP
-+Use 256 bit AES encryption. Passphrase is hashed with SHA-512 by default.
-+
-+.IP "\fBtwofish128 twofish160 twofish192 twofish256\fP"
-+.IP "\fBblowfish128 blowfish160 blowfish192 blowfish256\fP"
-+.IP "\fBserpent128 serpent192 serpent256 mars128 mars192\fP"
-+.IP "\fBmars256 rc6-128 rc6-192 rc6-256 tripleDES\fP"
-+These encryption types are available if they are enabled in kernel
-+configuration or corresponding modules have been loaded to kernel.
-+.PD
-+.RE
-+.IP "\fB\-F\fP"
-+Reads and uses mount options from /etc/fstab that match specified loop
-+device, including offset= sizelimit= encryption= pseed= phash= loinit=
-+gpgkey= gpghome= cleartextkey= itercountk= and looped to device/file name.
-+loop= option in /etc/fstab must match specified loop device name. Command
-+line options take precedence in case of conflict.
-+.IP "\fB\-G \fIgpghome\fP"
-+Set gpg home directory to \fIgpghome\fP, so that gpg uses public/private
-+keys on \fIgpghome\fP directory. This is only used when gpgkey file needs to
-+be decrypted using public/private keys. If gpgkey file is encrypted with
-+symmetric cipher only, public/private keys are not required and this option
-+has no effect.
-+.IP "\fB\-H \fIphash\fP"
-+Uses \fIphash\fP function to hash passphrase. Available hash functions are
-+sha256, sha384, sha512 and rmd160. unhashed1, unhashed2 and unhashed3
-+functions also exist for compatibility with some obsolete implementations.
-+
-+Hash function random does not ask for passphrase but sets up random keys and
-+attempts to put loop to multi-key mode. When random/1777 hash type is used
-+as mount option for mount program, mount program will create new file system
-+on the loop device and construct initial permissions of file system root
-+directory from octal digits that follow the slash character.
-+
-+WARNING! DO NOT USE RANDOM HASH TYPE ON PARTITION WITH EXISTING IMPORTANT
-+DATA ON IT. RANDOM HASH TYPE WILL DESTROY YOUR DATA.
-+.IP "\fB\-I \fIloinit\fP"
-+Passes a numeric value of \fIloinit\fP as a parameter to cipher transfer
-+function. Cipher transfer functions are free to interpret value as they
-+want.
-+.IP "\fB\-K \fIgpgkey\fP"
-+Passphrase is piped to gpg so that gpg can decrypt file \fIgpgkey\fP which
-+contains the real keys that are used to encrypt loop device. If decryption
-+requires public/private keys and gpghome is not specified, all users use
-+their own gpg public/private keys to decrypt \fIgpgkey\fP. Decrypted
-+\fIgpgkey\fP should contain 1 or 64 or 65 keys, each key at least 20
-+characters and separated by newline. If decrypted \fIgpgkey\fP contains 64
-+or 65 keys, then loop device is put to multi-key mode. In multi-key mode
-+first key is used for first sector, second key for second sector, and so on.
-+65th key, if present, is used as additional input to MD5 IV computation.
-+.IP "\fB\-o \fIoffset\fP"
- The data start is moved \fIoffset\fP bytes into the specified file or
--device.
--.IP "\fB\-p, \-\-pass-fd \fInum\fP"
--Read the passphrase from file descriptor with number
--.I num
--instead of from the terminal
--.IP "\fB\-r, \-\-read-only\fP"
--setup read-only loop device
--.IP "\fB\-s, \-\-show\fP"
--print device name if the
--.I -f
--option and a
--.I file
--argument are present
--.IP "\fB\-v, \-\-verbose\fP"
--verbose mode
-+device. Normally offset is included in IV (initialization vector)
-+computations. If offset is prefixed with @ character, then offset is not
-+included in IV computations. @ prefix functionality may not be supported on
-+some older kernels and/or loop drivers.
-+.IP "\fB\-p \fIpasswdfd\fP"
-+Read the passphrase from file descriptor \fIpasswdfd\fP instead of the
-+terminal. If -K option is not being used (no gpg key file), then losetup
-+attempts to read 65 keys from \fIpasswdfd\fP, each key at least 20
-+characters and separated by newline. If losetup successfully reads 64 or 65
-+keys, then loop device is put to multi-key mode. If losetup encounters
-+end-of-file before 64 keys are read, then only first key is used in
-+single-key mode.
-+
-+echo SecretPassphraseHere | losetup -p0 -K foo.gpg -e AES128 ...
-
-+In above example, losetup reads passphrase from file descriptor 0 (stdin).
-+.IP "\fB\-P \fIcleartextkey\fP"
-+Read the passphrase from file \fIcleartextkey\fP instead of the
-+terminal. If -K option is not being used (no gpg key file), then losetup
-+attempts to read 65 keys from \fIcleartextkey\fP, each key at least 20
-+characters and separated by newline. If losetup successfully reads 64 or 65
-+keys, then loop device is put to multi-key mode. If losetup encounters
-+end-of-file before 64 keys are read, then only first key is used in
-+single-key mode. If both -p and -P options are used, then -p option takes
-+precedence. These are equivalent:
-+
-+losetup -p3 -K foo.gpg -e AES128 ... 3<someFileName
-+
-+losetup -P someFileName -K foo.gpg -e AES128 ...
-+
-+In first line of above example, in addition to normal open file descriptors
-+(0==stdin 1==stdout 2==stderr), shell opens the file and passes open file
-+descriptor to started losetup program. In second line of above example,
-+losetup opens the file itself.
-+.IP "\fB\-r\fP"
-+Read-only mode.
-+.IP "\fB\-R\fP"
-+Resize existing, already set up loop device, to new changed underlying
-+device size. This option is for changing mounted live file system size on
-+LVM volume. This functionality may not be supported on some older kernels
-+and/or loop drivers.
-+.IP "\fB\-s \fIsizelimit\fP"
-+Size of loop device is limited to \fIsizelimit\fP bytes. If unspecified or
-+set to zero, loop device size is set to maximum available (file size minus
-+offset). This option may not be supported on some older kernels and/or loop
-+drivers.
-+.IP "\fB\-S \fIpseed\fP"
-+Sets encryption passphrase seed \fIpseed\fP which is appended to user supplied
-+passphrase before hashing. Using different seeds for different partitions
-+makes dictionary attacks slower but does not prevent them if user supplied
-+passphrase is guessable. Seed is not used in multi-key mode.
-+.IP "\fB\-T\fP"
-+Asks passphrase twice.
-+.IP "\fB\-v\fP"
-+Verbose mode.
- .SH RETURN VALUE
- .B losetup
- returns 0 on success, nonzero on failure. When
-@@ -105,49 +171,26 @@
-
- .SH FILES
- .nf
--/dev/loop0, /dev/loop1, ... loop devices (major=7)
-+/dev/loop0,/dev/loop1,... loop devices (major=7)
- .fi
- .SH EXAMPLE
--If you are using the loadable module you must have the module loaded
--first with the command
--.IP
--# insmod loop.o
--.LP
--Maybe also encryption modules are needed.
--.IP
--# insmod des.o
--# insmod cryptoloop.o
--.LP
- The following commands can be used as an example of using the loop device.
- .nf
--.IP
--# dd if=/dev/zero of=/file bs=1k count=100
--# losetup -e des /dev/loop0 /file
--Password:
--Init (up to 16 hex digits):
--# mkfs -t ext2 /dev/loop0 100
--# mount -t ext2 /dev/loop0 /mnt
-+
-+dd if=/dev/zero of=/file bs=1k count=500
-+head -c 3705 /dev/random | uuencode -m - | head -n 66 \\
-+ | tail -n 65 | gpg --symmetric -a >/etc/fskey9.gpg
-+losetup -e AES128 -K /etc/fskey9.gpg /dev/loop0 /file
-+mkfs -t ext2 /dev/loop0
-+mount -t ext2 /dev/loop0 /mnt
- ...
--# umount /dev/loop0
--# losetup -d /dev/loop0
--.fi
--.LP
--If you are using the loadable module you may remove the module with
--the command
--.IP
--# rmmod loop
--.LP
-+umount /dev/loop0
-+losetup -d /dev/loop0
- .fi
- .SH RESTRICTION
--DES encryption is painfully slow. On the other hand, XOR is terribly weak.
--
--Cryptoloop is deprecated in favor of dm-crypt. For more details see
--.B cryptsetup(8).
--.SH AVAILABILITY
--The losetup command is part of the util-linux-ng package and is available from
--ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
--.\" .SH AUTHORS
--.\" .nf
--.\" Original version: Theodore Ts'o <tytso@athena.mit.edu>
--.\" Original DES by: Eric Young <eay@psych.psy.uq.oz.au>
--.\" .fi
-+XOR encryption is terribly weak.
-+.SH AUTHORS
-+.nf
-+Original version: Theodore Ts'o <tytso@athena.mit.edu>
-+AES support: Jari Ruusu
-+.fi
-diff -urN util-linux-ng-2.13/mount/loumount.c util-linux-ng-2.13-AES/mount/loumount.c
---- util-linux-ng-2.13/mount/loumount.c 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.13-AES/mount/loumount.c 2007-09-02 18:05:42.000000000 +0300
-@@ -0,0 +1,60 @@
-+/*
-+ * loumount.c
-+ *
-+ * This code was extracted to separate file from lomount.c so that umount
-+ * program doesn't have to link with all loop related setup code
-+ */
-+
-+#define LOOPMAJOR 7
-+
-+#include <stdio.h>
-+#include <string.h>
-+#include <ctype.h>
-+#include <fcntl.h>
-+#include <errno.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <pwd.h>
-+#include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/stat.h>
-+#include <sys/mman.h>
-+#include <sys/sysmacros.h>
-+#include <sys/wait.h>
-+#include <fcntl.h>
-+#include <mntent.h>
-+#include <locale.h>
-+
-+#include "loop.h"
-+#include "lomount.h"
-+#include "xstrncpy.h"
-+#include "nls.h"
-+
-+int
-+is_loop_device (const char *device) {
-+ struct stat statbuf;
-+
-+ return (stat(device, &statbuf) == 0 &&
-+ S_ISBLK(statbuf.st_mode) &&
-+ major(statbuf.st_rdev) == LOOPMAJOR);
-+}
-+
-+int
-+del_loop (const char *device) {
-+ int fd;
-+
-+ if ((fd = open (device, O_RDONLY)) < 0) {
-+ int errsv = errno;
-+ fprintf(stderr, _("loop: can't delete device %s: %s\n"),
-+ device, strerror (errsv));
-+ return 1;
-+ }
-+ if (ioctl (fd, LOOP_CLR_FD, 0) < 0) {
-+ perror ("ioctl: LOOP_CLR_FD");
-+ return 1;
-+ }
-+ close (fd);
-+ if (verbose > 1)
-+ printf(_("del_loop(%s): success\n"), device);
-+ return 0;
-+}
-diff -urN util-linux-ng-2.13/mount/mount.8 util-linux-ng-2.13-AES/mount/mount.8
---- util-linux-ng-2.13/mount/mount.8 2007-08-27 16:00:34.000000000 +0300
-+++ util-linux-ng-2.13-AES/mount/mount.8 2007-09-02 18:05:42.000000000 +0300
-@@ -316,6 +316,16 @@
- .B \-v
- Verbose mode.
- .TP
-+.B \-p "\fIpasswdfd\fP"
-+If the mount requires a passphrase to be entered, read it from file
-+descriptor \fIpasswdfd\fP instead of from the terminal. If mount uses
-+encrypted loop device and gpgkey= mount option is not being used (no gpg key
-+file), then mount attempts to read 65 keys from \fIpasswdfd\fP, each key at
-+least 20 characters and separated by newline. If mount successfully reads 64
-+or 65 keys, then loop device is put to multi-key mode. If mount encounters
-+end-of-file before 64 keys are read, then only first key is used in
-+single-key mode.
-+.TP
- .B \-a
- Mount all filesystems (of the given types) mentioned in
- .IR fstab .
-@@ -365,12 +375,6 @@
- .I /etc
- is on a read-only file system.
- .TP
--.BI \-p " num"
--In case of a loop mount with encryption, read the passphrase from
--file descriptor
--.I num
--instead of from the terminal.
--.TP
- .B \-s
- Tolerate sloppy mount options rather than failing. This will ignore
- mount options not supported by a filesystem type. Not all filesystems
-@@ -1999,13 +2003,19 @@
- and then mount this device on
- .IR /mnt .
-
--This type of mount knows about three options, namely
--.BR loop ", " offset " and " encryption ,
-+This type of mount knows about 11 options, namely
-+.BR loop ", " offset ", " sizelimit ", " encryption ", " pseed ", " phash ", " loinit ", " gpgkey ", " gpghome ", " cleartextkey " and " itercountk
- that are really options to
- .BR \%losetup (8).
- (These options can be used in addition to those specific
- to the filesystem type.)
-
-+If the mount requires a passphrase, you will be prompted for one unless you
-+specify a file descriptor to read from instead with the
-+.BR \-p
-+command line option, or specify a file name with
-+.BR cleartextkey
-+mount option.
- If no explicit loop device is mentioned
- (but just an option `\fB\-o loop\fP' is given), then
- .B mount
-diff -urN util-linux-ng-2.13/mount/mount.c util-linux-ng-2.13-AES/mount/mount.c
---- util-linux-ng-2.13/mount/mount.c 2007-08-27 16:00:34.000000000 +0300
-+++ util-linux-ng-2.13-AES/mount/mount.c 2007-09-02 18:05:42.000000000 +0300
-@@ -11,6 +11,7 @@
- #include <string.h>
- #include <getopt.h>
- #include <stdio.h>
-+#include <locale.h>
-
- #include <pwd.h>
- #include <grp.h>
-@@ -90,9 +91,6 @@
- /* True if ruid != euid. */
- static int suid = 0;
-
--/* Contains the fd to read the passphrase from, if any. */
--static int pfd = -1;
--
- /* Map from -o and fstab option strings to the flag argument to mount(2). */
- struct opt_map {
- const char *opt; /* option name */
-@@ -185,7 +183,7 @@
- { NULL, 0, 0, 0 }
- };
-
--static const char *opt_loopdev, *opt_vfstype, *opt_offset, *opt_encryption,
-+static const char *opt_loopdev, *opt_vfstype,
- *opt_speed, *opt_comment, *opt_uhelper;
-
- static int mounted (const char *spec0, const char *node0);
-@@ -199,8 +197,16 @@
- } string_opt_map[] = {
- { "loop=", 0, &opt_loopdev },
- { "vfs=", 1, &opt_vfstype },
-- { "offset=", 0, &opt_offset },
-- { "encryption=", 0, &opt_encryption },
-+ { "pseed=", 1, (const char **)&passSeedString },
-+ { "phash=", 0, (const char **)&passHashFuncName },
-+ { "loinit=", 0, (const char **)&loInitValue },
-+ { "gpgkey=", 0, (const char **)&gpgKeyFile },
-+ { "gpghome=", 0, (const char **)&gpgHomeDir },
-+ { "cleartextkey=", 0, (const char **)&clearTextKeyFile },
-+ { "itercountk=", 1, (const char **)&passIterThousands },
-+ { "offset=", 0, (const char **)&loopOffsetBytes },
-+ { "sizelimit=", 0, (const char **)&loopSizeBytes },
-+ { "encryption=", 0, (const char **)&loopEncryptionType },
- { "speed=", 0, &opt_speed },
- { "comment=", 1, &opt_comment },
- { "uhelper=", 0, &opt_uhelper },
-@@ -826,9 +832,8 @@
-
- static int
- loop_check(const char **spec, const char **type, int *flags,
-- int *loop, const char **loopdev, const char **loopfile) {
-+ int *loop, const char **loopdev, const char **loopfile, unsigned int *AutoChmodPtr) {
- int looptype;
-- unsigned long long offset;
-
- /*
- * In the case of a loop mount, either type is of the form lo@/dev/loop5
-@@ -853,7 +858,7 @@
- *type = opt_vfstype;
- }
-
-- *loop = ((*flags & MS_LOOP) || *loopdev || opt_offset || opt_encryption);
-+ *loop = ((*flags & MS_LOOP) || *loopdev || loopOffsetBytes || loopSizeBytes || loopEncryptionType);
- *loopfile = *spec;
-
- if (*loop) {
-@@ -861,12 +866,14 @@
- if (fake) {
- if (verbose)
- printf(_("mount: skipping the setup of a loop device\n"));
-+ } else if (*loopdev && is_loop_active(*loopdev, *loopfile)) {
-+ if (verbose)
-+ printf(_("mount: skipping the setup of a loop device\n"));
-+ *spec = *loopdev;
- } else {
- int loopro = (*flags & MS_RDONLY);
- int res;
-
-- offset = opt_offset ? strtoull(opt_offset, NULL, 0) : 0;
--
- do {
- if (!*loopdev || !**loopdev)
- *loopdev = find_unused_loop_device();
-@@ -875,19 +882,18 @@
- if (verbose)
- printf(_("mount: going to use the loop device %s\n"), *loopdev);
-
-- if ((res = set_loop(*loopdev, *loopfile, offset,
-- opt_encryption, pfd, &loopro))) {
-+ if ((res = set_loop(*loopdev, *loopfile, &loopro, type, AutoChmodPtr, !opt_loopdev ? 2 : 1))) {
- if (res == 2) {
- /* loop dev has been grabbed by some other process,
- try again, if not given explicitly */
- if (!opt_loopdev) {
- if (verbose)
-- printf(_("mount: stolen loop=%s ...trying again\n"), *loopdev);
-+ printf(_("mount: loop=%s not available ...trying again\n"), *loopdev);
- my_free(*loopdev);
- *loopdev = NULL;
- continue;
- }
-- error(_("mount: stolen loop=%s"), *loopdev);
-+ error(_("mount: loop=%s not available"), *loopdev);
- return EX_FAIL;
-
- } else {
-@@ -960,14 +966,6 @@
- }
-
- static void
--set_pfd(char *s) {
-- if (!isdigit(*s))
-- die(EX_USAGE,
-- _("mount: argument to -p or --pass-fd must be a number"));
-- pfd = atoi(optarg);
--}
--
--static void
- cdrom_setspeed(const char *spec) {
- #define CDROM_SELECT_SPEED 0x5322 /* Set the CD-ROM speed */
- if (opt_speed) {
-@@ -1006,6 +1004,7 @@
- const char *opts, *spec, *node, *types;
- char *user = 0;
- int loop = 0;
-+ unsigned int LoopMountAutomaticChmod = 0;
- const char *loopdev = 0, *loopfile = 0;
- struct stat statbuf;
-
-@@ -1052,7 +1051,7 @@
- * stale assignments of files to loop devices. Nasty when used for
- * encryption.
- */
-- res = loop_check(&spec, &types, &flags, &loop, &loopdev, &loopfile);
-+ res = loop_check(&spec, &types, &flags, &loop, &loopdev, &loopfile, &LoopMountAutomaticChmod);
- if (res)
- goto out;
- }
-@@ -1075,7 +1074,16 @@
- if (!fake) {
- mnt5_res = guess_fstype_and_mount (spec, node, &types, flags & ~MS_NOSYS,
- mount_opts, &special, &status);
--
-+ if(!mnt5_res && LoopMountAutomaticChmod && (getuid() == 0)) {
-+ /*
-+ * If loop was set up using random keys and new file system
-+ * was created on the loop device, initial permissions for
-+ * file system root directory need to be set here.
-+ */
-+ if(chmod(node, LoopMountAutomaticChmod)) {
-+ error (_("Error: encrypted file system chmod() failed"));
-+ }
-+ }
- if (special) {
- block_signals (SIG_UNBLOCK);
- res = status;
-@@ -1836,8 +1844,8 @@
- case 'O': /* with -t: mount only if (not) opt */
- test_opts = append_opt(test_opts, optarg, NULL);
- break;
-- case 'p': /* fd on which to read passwd */
-- set_pfd(optarg);
-+ case 'p': /* read passphrase from given fd */
-+ passFDnumber = optarg;
- break;
- case 'r': /* mount readonly */
- readonly = 1;
-diff -urN util-linux-ng-2.13/mount/rmd160.c util-linux-ng-2.13-AES/mount/rmd160.c
---- util-linux-ng-2.13/mount/rmd160.c 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.13-AES/mount/rmd160.c 2007-09-02 18:05:42.000000000 +0300
-@@ -0,0 +1,532 @@
-+/* rmd160.c - RIPE-MD160
-+ * Copyright (C) 1998 Free Software Foundation, Inc.
-+ */
-+
-+/* This file was part of GnuPG. Modified for use within the Linux
-+ * mount utility by Marc Mutz <Marc@Mutz.com>. None of this code is
-+ * by myself. I just removed everything that you don't need when all
-+ * you want to do is to use rmd160_hash_buffer().
-+ * My comments are marked with (mm). */
-+
-+/* GnuPG is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * GnuPG is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */
-+
-+#include <string.h> /* (mm) for memcpy */
-+#include <endian.h> /* (mm) for BIG_ENDIAN and BYTE_ORDER */
-+#include "rmd160.h"
-+
-+/* (mm) these are used by the original GnuPG file. In order to modify
-+ * that file not too much, we keep the notations. maybe it would be
-+ * better to include linux/types.h and typedef __u32 to u32 and __u8
-+ * to byte? */
-+typedef unsigned int u32; /* taken from e.g. util-linux's minix.h */
-+typedef unsigned char byte;
-+
-+typedef struct {
-+ u32 h0,h1,h2,h3,h4;
-+ u32 nblocks;
-+ byte buf[64];
-+ int count;
-+} RMD160_CONTEXT;
-+
-+/****************
-+ * Rotate a 32 bit integer by n bytes
-+ */
-+#if defined(__GNUC__) && defined(__i386__)
-+static inline u32
-+rol( u32 x, int n)
-+{
-+ __asm__("roll %%cl,%0"
-+ :"=r" (x)
-+ :"0" (x),"c" (n));
-+ return x;
-+}
-+#else
-+ #define rol(x,n) ( ((x) << (n)) | ((x) >> (32-(n))) )
-+#endif
-+
-+/*********************************
-+ * RIPEMD-160 is not patented, see (as of 25.10.97)
-+ * http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
-+ * Note that the code uses Little Endian byteorder, which is good for
-+ * 386 etc, but we must add some conversion when used on a big endian box.
-+ *
-+ *
-+ * Pseudo-code for RIPEMD-160
-+ *
-+ * RIPEMD-160 is an iterative hash function that operates on 32-bit words.
-+ * The round function takes as input a 5-word chaining variable and a 16-word
-+ * message block and maps this to a new chaining variable. All operations are
-+ * defined on 32-bit words. Padding is identical to that of MD4.
-+ *
-+ *
-+ * RIPEMD-160: definitions
-+ *
-+ *
-+ * nonlinear functions at bit level: exor, mux, -, mux, -
-+ *
-+ * f(j, x, y, z) = x XOR y XOR z (0 <= j <= 15)
-+ * f(j, x, y, z) = (x AND y) OR (NOT(x) AND z) (16 <= j <= 31)
-+ * f(j, x, y, z) = (x OR NOT(y)) XOR z (32 <= j <= 47)
-+ * f(j, x, y, z) = (x AND z) OR (y AND NOT(z)) (48 <= j <= 63)
-+ * f(j, x, y, z) = x XOR (y OR NOT(z)) (64 <= j <= 79)
-+ *
-+ *
-+ * added constants (hexadecimal)
-+ *
-+ * K(j) = 0x00000000 (0 <= j <= 15)
-+ * K(j) = 0x5A827999 (16 <= j <= 31) int(2**30 x sqrt(2))
-+ * K(j) = 0x6ED9EBA1 (32 <= j <= 47) int(2**30 x sqrt(3))
-+ * K(j) = 0x8F1BBCDC (48 <= j <= 63) int(2**30 x sqrt(5))
-+ * K(j) = 0xA953FD4E (64 <= j <= 79) int(2**30 x sqrt(7))
-+ * K'(j) = 0x50A28BE6 (0 <= j <= 15) int(2**30 x cbrt(2))
-+ * K'(j) = 0x5C4DD124 (16 <= j <= 31) int(2**30 x cbrt(3))
-+ * K'(j) = 0x6D703EF3 (32 <= j <= 47) int(2**30 x cbrt(5))
-+ * K'(j) = 0x7A6D76E9 (48 <= j <= 63) int(2**30 x cbrt(7))
-+ * K'(j) = 0x00000000 (64 <= j <= 79)
-+ *
-+ *
-+ * selection of message word
-+ *
-+ * r(j) = j (0 <= j <= 15)
-+ * r(16..31) = 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8
-+ * r(32..47) = 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12
-+ * r(48..63) = 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2
-+ * r(64..79) = 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
-+ * r0(0..15) = 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12
-+ * r0(16..31)= 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2
-+ * r0(32..47)= 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13
-+ * r0(48..63)= 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14
-+ * r0(64..79)= 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
-+ *
-+ *
-+ * amount for rotate left (rol)
-+ *
-+ * s(0..15) = 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8
-+ * s(16..31) = 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12
-+ * s(32..47) = 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5
-+ * s(48..63) = 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12
-+ * s(64..79) = 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
-+ * s'(0..15) = 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6
-+ * s'(16..31)= 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11
-+ * s'(32..47)= 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5
-+ * s'(48..63)= 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8
-+ * s'(64..79)= 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
-+ *
-+ *
-+ * initial value (hexadecimal)
-+ *
-+ * h0 = 0x67452301; h1 = 0xEFCDAB89; h2 = 0x98BADCFE; h3 = 0x10325476;
-+ * h4 = 0xC3D2E1F0;
-+ *
-+ *
-+ * RIPEMD-160: pseudo-code
-+ *
-+ * It is assumed that the message after padding consists of t 16-word blocks
-+ * that will be denoted with X[i][j], with 0 <= i <= t-1 and 0 <= j <= 15.
-+ * The symbol [+] denotes addition modulo 2**32 and rol_s denotes cyclic left
-+ * shift (rotate) over s positions.
-+ *
-+ *
-+ * for i := 0 to t-1 {
-+ * A := h0; B := h1; C := h2; D = h3; E = h4;
-+ * A' := h0; B' := h1; C' := h2; D' = h3; E' = h4;
-+ * for j := 0 to 79 {
-+ * T := rol_s(j)(A [+] f(j, B, C, D) [+] X[i][r(j)] [+] K(j)) [+] E;
-+ * A := E; E := D; D := rol_10(C); C := B; B := T;
-+ * T := rol_s'(j)(A' [+] f(79-j, B', C', D') [+] X[i][r'(j)]
-+ [+] K'(j)) [+] E';
-+ * A' := E'; E' := D'; D' := rol_10(C'); C' := B'; B' := T;
-+ * }
-+ * T := h1 [+] C [+] D'; h1 := h2 [+] D [+] E'; h2 := h3 [+] E [+] A';
-+ * h3 := h4 [+] A [+] B'; h4 := h0 [+] B [+] C'; h0 := T;
-+ * }
-+ */
-+
-+/* Some examples:
-+ * "" 9c1185a5c5e9fc54612808977ee8f548b2258d31
-+ * "a" 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe
-+ * "abc" 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
-+ * "message digest" 5d0689ef49d2fae572b881b123a85ffa21595f36
-+ * "a...z" f71c27109c692c1b56bbdceb5b9d2865b3708dbc
-+ * "abcdbcde...nopq" 12a053384a9c0c88e405a06c27dcf49ada62eb2b
-+ * "A...Za...z0...9" b0e20b6e3116640286ed3a87a5713079b21f5189
-+ * 8 times "1234567890" 9b752e45573d4b39f4dbd3323cab82bf63326bfb
-+ * 1 million times "a" 52783243c1697bdbe16d37f97f68f08325dc1528
-+ */
-+
-+
-+static void
-+rmd160_init( RMD160_CONTEXT *hd )
-+{
-+ hd->h0 = 0x67452301;
-+ hd->h1 = 0xEFCDAB89;
-+ hd->h2 = 0x98BADCFE;
-+ hd->h3 = 0x10325476;
-+ hd->h4 = 0xC3D2E1F0;
-+ hd->nblocks = 0;
-+ hd->count = 0;
-+}
-+
-+
-+
-+/****************
-+ * Transform the message X which consists of 16 32-bit-words
-+ */
-+static void
-+transform( RMD160_CONTEXT *hd, byte *data )
-+{
-+ u32 a,b,c,d,e,aa,bb,cc,dd,ee,t;
-+ #if BYTE_ORDER == BIG_ENDIAN
-+ u32 x[16];
-+ { int i;
-+ byte *p2, *p1;
-+ for(i=0, p1=data, p2=(byte*)x; i < 16; i++, p2 += 4 ) {
-+ p2[3] = *p1++;
-+ p2[2] = *p1++;
-+ p2[1] = *p1++;
-+ p2[0] = *p1++;
-+ }
-+ }
-+ #else
-+ #if 0
-+ u32 *x =(u32*)data;
-+ #else
-+ /* this version is better because it is always aligned;
-+ * The performance penalty on a 586-100 is about 6% which
-+ * is acceptable - because the data is more local it might
-+ * also be possible that this is faster on some machines.
-+ * This function (when compiled with -02 on gcc 2.7.2)
-+ * executes on a 586-100 (39.73 bogomips) at about 1900kb/sec;
-+ * [measured with a 4MB data and "gpgm --print-md rmd160"] */
-+ u32 x[16];
-+ memcpy( x, data, 64 );
-+ #endif
-+ #endif
-+
-+
-+#define K0 0x00000000
-+#define K1 0x5A827999
-+#define K2 0x6ED9EBA1
-+#define K3 0x8F1BBCDC
-+#define K4 0xA953FD4E
-+#define KK0 0x50A28BE6
-+#define KK1 0x5C4DD124
-+#define KK2 0x6D703EF3
-+#define KK3 0x7A6D76E9
-+#define KK4 0x00000000
-+#define F0(x,y,z) ( (x) ^ (y) ^ (z) )
-+#define F1(x,y,z) ( ((x) & (y)) | (~(x) & (z)) )
-+#define F2(x,y,z) ( ((x) | ~(y)) ^ (z) )
-+#define F3(x,y,z) ( ((x) & (z)) | ((y) & ~(z)) )
-+#define F4(x,y,z) ( (x) ^ ((y) | ~(z)) )
-+#define R(a,b,c,d,e,f,k,r,s) do { t = a + f(b,c,d) + k + x[r]; \
-+ a = rol(t,s) + e; \
-+ c = rol(c,10); \
-+ } while(0)
-+
-+ /* left lane */
-+ a = hd->h0;
-+ b = hd->h1;
-+ c = hd->h2;
-+ d = hd->h3;
-+ e = hd->h4;
-+ R( a, b, c, d, e, F0, K0, 0, 11 );
-+ R( e, a, b, c, d, F0, K0, 1, 14 );
-+ R( d, e, a, b, c, F0, K0, 2, 15 );
-+ R( c, d, e, a, b, F0, K0, 3, 12 );
-+ R( b, c, d, e, a, F0, K0, 4, 5 );
-+ R( a, b, c, d, e, F0, K0, 5, 8 );
-+ R( e, a, b, c, d, F0, K0, 6, 7 );
-+ R( d, e, a, b, c, F0, K0, 7, 9 );
-+ R( c, d, e, a, b, F0, K0, 8, 11 );
-+ R( b, c, d, e, a, F0, K0, 9, 13 );
-+ R( a, b, c, d, e, F0, K0, 10, 14 );
-+ R( e, a, b, c, d, F0, K0, 11, 15 );
-+ R( d, e, a, b, c, F0, K0, 12, 6 );
-+ R( c, d, e, a, b, F0, K0, 13, 7 );
-+ R( b, c, d, e, a, F0, K0, 14, 9 );
-+ R( a, b, c, d, e, F0, K0, 15, 8 );
-+ R( e, a, b, c, d, F1, K1, 7, 7 );
-+ R( d, e, a, b, c, F1, K1, 4, 6 );
-+ R( c, d, e, a, b, F1, K1, 13, 8 );
-+ R( b, c, d, e, a, F1, K1, 1, 13 );
-+ R( a, b, c, d, e, F1, K1, 10, 11 );
-+ R( e, a, b, c, d, F1, K1, 6, 9 );
-+ R( d, e, a, b, c, F1, K1, 15, 7 );
-+ R( c, d, e, a, b, F1, K1, 3, 15 );
-+ R( b, c, d, e, a, F1, K1, 12, 7 );
-+ R( a, b, c, d, e, F1, K1, 0, 12 );
-+ R( e, a, b, c, d, F1, K1, 9, 15 );
-+ R( d, e, a, b, c, F1, K1, 5, 9 );
-+ R( c, d, e, a, b, F1, K1, 2, 11 );
-+ R( b, c, d, e, a, F1, K1, 14, 7 );
-+ R( a, b, c, d, e, F1, K1, 11, 13 );
-+ R( e, a, b, c, d, F1, K1, 8, 12 );
-+ R( d, e, a, b, c, F2, K2, 3, 11 );
-+ R( c, d, e, a, b, F2, K2, 10, 13 );
-+ R( b, c, d, e, a, F2, K2, 14, 6 );
-+ R( a, b, c, d, e, F2, K2, 4, 7 );
-+ R( e, a, b, c, d, F2, K2, 9, 14 );
-+ R( d, e, a, b, c, F2, K2, 15, 9 );
-+ R( c, d, e, a, b, F2, K2, 8, 13 );
-+ R( b, c, d, e, a, F2, K2, 1, 15 );
-+ R( a, b, c, d, e, F2, K2, 2, 14 );
-+ R( e, a, b, c, d, F2, K2, 7, 8 );
-+ R( d, e, a, b, c, F2, K2, 0, 13 );
-+ R( c, d, e, a, b, F2, K2, 6, 6 );
-+ R( b, c, d, e, a, F2, K2, 13, 5 );
-+ R( a, b, c, d, e, F2, K2, 11, 12 );
-+ R( e, a, b, c, d, F2, K2, 5, 7 );
-+ R( d, e, a, b, c, F2, K2, 12, 5 );
-+ R( c, d, e, a, b, F3, K3, 1, 11 );
-+ R( b, c, d, e, a, F3, K3, 9, 12 );
-+ R( a, b, c, d, e, F3, K3, 11, 14 );
-+ R( e, a, b, c, d, F3, K3, 10, 15 );
-+ R( d, e, a, b, c, F3, K3, 0, 14 );
-+ R( c, d, e, a, b, F3, K3, 8, 15 );
-+ R( b, c, d, e, a, F3, K3, 12, 9 );
-+ R( a, b, c, d, e, F3, K3, 4, 8 );
-+ R( e, a, b, c, d, F3, K3, 13, 9 );
-+ R( d, e, a, b, c, F3, K3, 3, 14 );
-+ R( c, d, e, a, b, F3, K3, 7, 5 );
-+ R( b, c, d, e, a, F3, K3, 15, 6 );
-+ R( a, b, c, d, e, F3, K3, 14, 8 );
-+ R( e, a, b, c, d, F3, K3, 5, 6 );
-+ R( d, e, a, b, c, F3, K3, 6, 5 );
-+ R( c, d, e, a, b, F3, K3, 2, 12 );
-+ R( b, c, d, e, a, F4, K4, 4, 9 );
-+ R( a, b, c, d, e, F4, K4, 0, 15 );
-+ R( e, a, b, c, d, F4, K4, 5, 5 );
-+ R( d, e, a, b, c, F4, K4, 9, 11 );
-+ R( c, d, e, a, b, F4, K4, 7, 6 );
-+ R( b, c, d, e, a, F4, K4, 12, 8 );
-+ R( a, b, c, d, e, F4, K4, 2, 13 );
-+ R( e, a, b, c, d, F4, K4, 10, 12 );
-+ R( d, e, a, b, c, F4, K4, 14, 5 );
-+ R( c, d, e, a, b, F4, K4, 1, 12 );
-+ R( b, c, d, e, a, F4, K4, 3, 13 );
-+ R( a, b, c, d, e, F4, K4, 8, 14 );
-+ R( e, a, b, c, d, F4, K4, 11, 11 );
-+ R( d, e, a, b, c, F4, K4, 6, 8 );
-+ R( c, d, e, a, b, F4, K4, 15, 5 );
-+ R( b, c, d, e, a, F4, K4, 13, 6 );
-+
-+ aa = a; bb = b; cc = c; dd = d; ee = e;
-+
-+ /* right lane */
-+ a = hd->h0;
-+ b = hd->h1;
-+ c = hd->h2;
-+ d = hd->h3;
-+ e = hd->h4;
-+ R( a, b, c, d, e, F4, KK0, 5, 8);
-+ R( e, a, b, c, d, F4, KK0, 14, 9);
-+ R( d, e, a, b, c, F4, KK0, 7, 9);
-+ R( c, d, e, a, b, F4, KK0, 0, 11);
-+ R( b, c, d, e, a, F4, KK0, 9, 13);
-+ R( a, b, c, d, e, F4, KK0, 2, 15);
-+ R( e, a, b, c, d, F4, KK0, 11, 15);
-+ R( d, e, a, b, c, F4, KK0, 4, 5);
-+ R( c, d, e, a, b, F4, KK0, 13, 7);
-+ R( b, c, d, e, a, F4, KK0, 6, 7);
-+ R( a, b, c, d, e, F4, KK0, 15, 8);
-+ R( e, a, b, c, d, F4, KK0, 8, 11);
-+ R( d, e, a, b, c, F4, KK0, 1, 14);
-+ R( c, d, e, a, b, F4, KK0, 10, 14);
-+ R( b, c, d, e, a, F4, KK0, 3, 12);
-+ R( a, b, c, d, e, F4, KK0, 12, 6);
-+ R( e, a, b, c, d, F3, KK1, 6, 9);
-+ R( d, e, a, b, c, F3, KK1, 11, 13);
-+ R( c, d, e, a, b, F3, KK1, 3, 15);
-+ R( b, c, d, e, a, F3, KK1, 7, 7);
-+ R( a, b, c, d, e, F3, KK1, 0, 12);
-+ R( e, a, b, c, d, F3, KK1, 13, 8);
-+ R( d, e, a, b, c, F3, KK1, 5, 9);
-+ R( c, d, e, a, b, F3, KK1, 10, 11);
-+ R( b, c, d, e, a, F3, KK1, 14, 7);
-+ R( a, b, c, d, e, F3, KK1, 15, 7);
-+ R( e, a, b, c, d, F3, KK1, 8, 12);
-+ R( d, e, a, b, c, F3, KK1, 12, 7);
-+ R( c, d, e, a, b, F3, KK1, 4, 6);
-+ R( b, c, d, e, a, F3, KK1, 9, 15);
-+ R( a, b, c, d, e, F3, KK1, 1, 13);
-+ R( e, a, b, c, d, F3, KK1, 2, 11);
-+ R( d, e, a, b, c, F2, KK2, 15, 9);
-+ R( c, d, e, a, b, F2, KK2, 5, 7);
-+ R( b, c, d, e, a, F2, KK2, 1, 15);
-+ R( a, b, c, d, e, F2, KK2, 3, 11);
-+ R( e, a, b, c, d, F2, KK2, 7, 8);
-+ R( d, e, a, b, c, F2, KK2, 14, 6);
-+ R( c, d, e, a, b, F2, KK2, 6, 6);
-+ R( b, c, d, e, a, F2, KK2, 9, 14);
-+ R( a, b, c, d, e, F2, KK2, 11, 12);
-+ R( e, a, b, c, d, F2, KK2, 8, 13);
-+ R( d, e, a, b, c, F2, KK2, 12, 5);
-+ R( c, d, e, a, b, F2, KK2, 2, 14);
-+ R( b, c, d, e, a, F2, KK2, 10, 13);
-+ R( a, b, c, d, e, F2, KK2, 0, 13);
-+ R( e, a, b, c, d, F2, KK2, 4, 7);
-+ R( d, e, a, b, c, F2, KK2, 13, 5);
-+ R( c, d, e, a, b, F1, KK3, 8, 15);
-+ R( b, c, d, e, a, F1, KK3, 6, 5);
-+ R( a, b, c, d, e, F1, KK3, 4, 8);
-+ R( e, a, b, c, d, F1, KK3, 1, 11);
-+ R( d, e, a, b, c, F1, KK3, 3, 14);
-+ R( c, d, e, a, b, F1, KK3, 11, 14);
-+ R( b, c, d, e, a, F1, KK3, 15, 6);
-+ R( a, b, c, d, e, F1, KK3, 0, 14);
-+ R( e, a, b, c, d, F1, KK3, 5, 6);
-+ R( d, e, a, b, c, F1, KK3, 12, 9);
-+ R( c, d, e, a, b, F1, KK3, 2, 12);
-+ R( b, c, d, e, a, F1, KK3, 13, 9);
-+ R( a, b, c, d, e, F1, KK3, 9, 12);
-+ R( e, a, b, c, d, F1, KK3, 7, 5);
-+ R( d, e, a, b, c, F1, KK3, 10, 15);
-+ R( c, d, e, a, b, F1, KK3, 14, 8);
-+ R( b, c, d, e, a, F0, KK4, 12, 8);
-+ R( a, b, c, d, e, F0, KK4, 15, 5);
-+ R( e, a, b, c, d, F0, KK4, 10, 12);
-+ R( d, e, a, b, c, F0, KK4, 4, 9);
-+ R( c, d, e, a, b, F0, KK4, 1, 12);
-+ R( b, c, d, e, a, F0, KK4, 5, 5);
-+ R( a, b, c, d, e, F0, KK4, 8, 14);
-+ R( e, a, b, c, d, F0, KK4, 7, 6);
-+ R( d, e, a, b, c, F0, KK4, 6, 8);
-+ R( c, d, e, a, b, F0, KK4, 2, 13);
-+ R( b, c, d, e, a, F0, KK4, 13, 6);
-+ R( a, b, c, d, e, F0, KK4, 14, 5);
-+ R( e, a, b, c, d, F0, KK4, 0, 15);
-+ R( d, e, a, b, c, F0, KK4, 3, 13);
-+ R( c, d, e, a, b, F0, KK4, 9, 11);
-+ R( b, c, d, e, a, F0, KK4, 11, 11);
-+
-+
-+ t = hd->h1 + d + cc;
-+ hd->h1 = hd->h2 + e + dd;
-+ hd->h2 = hd->h3 + a + ee;
-+ hd->h3 = hd->h4 + b + aa;
-+ hd->h4 = hd->h0 + c + bb;
-+ hd->h0 = t;
-+}
-+
-+
-+/* Update the message digest with the contents
-+ * of INBUF with length INLEN.
-+ */
-+static void
-+rmd160_write( RMD160_CONTEXT *hd, byte *inbuf, size_t inlen)
-+{
-+ if( hd->count == 64 ) { /* flush the buffer */
-+ transform( hd, hd->buf );
-+ hd->count = 0;
-+ hd->nblocks++;
-+ }
-+ if( !inbuf )
-+ return;
-+ if( hd->count ) {
-+ for( ; inlen && hd->count < 64; inlen-- )
-+ hd->buf[hd->count++] = *inbuf++;
-+ rmd160_write( hd, NULL, 0 );
-+ if( !inlen )
-+ return;
-+ }
-+
-+ while( inlen >= 64 ) {
-+ transform( hd, inbuf );
-+ hd->count = 0;
-+ hd->nblocks++;
-+ inlen -= 64;
-+ inbuf += 64;
-+ }
-+ for( ; inlen && hd->count < 64; inlen-- )
-+ hd->buf[hd->count++] = *inbuf++;
-+}
-+
-+/* The routine terminates the computation
-+ */
-+
-+static void
-+rmd160_final( RMD160_CONTEXT *hd )
-+{
-+ u32 t, msb, lsb;
-+ byte *p;
-+
-+ rmd160_write(hd, NULL, 0); /* flush */;
-+
-+ msb = 0;
-+ t = hd->nblocks;
-+ if( (lsb = t << 6) < t ) /* multiply by 64 to make a byte count */
-+ msb++;
-+ msb += t >> 26;
-+ t = lsb;
-+ if( (lsb = t + hd->count) < t ) /* add the count */
-+ msb++;
-+ t = lsb;
-+ if( (lsb = t << 3) < t ) /* multiply by 8 to make a bit count */
-+ msb++;
-+ msb += t >> 29;
-+
-+ if( hd->count < 56 ) { /* enough room */
-+ hd->buf[hd->count++] = 0x80; /* pad */
-+ while( hd->count < 56 )
-+ hd->buf[hd->count++] = 0; /* pad */
-+ }
-+ else { /* need one extra block */
-+ hd->buf[hd->count++] = 0x80; /* pad character */
-+ while( hd->count < 64 )
-+ hd->buf[hd->count++] = 0;
-+ rmd160_write(hd, NULL, 0); /* flush */;
-+ memset(hd->buf, 0, 56 ); /* fill next block with zeroes */
-+ }
-+ /* append the 64 bit count */
-+ hd->buf[56] = lsb ;
-+ hd->buf[57] = lsb >> 8;
-+ hd->buf[58] = lsb >> 16;
-+ hd->buf[59] = lsb >> 24;
-+ hd->buf[60] = msb ;
-+ hd->buf[61] = msb >> 8;
-+ hd->buf[62] = msb >> 16;
-+ hd->buf[63] = msb >> 24;
-+ transform( hd, hd->buf );
-+
-+ p = hd->buf;
-+ #if BYTE_ORDER == BIG_ENDIAN
-+ #define X(a) do { *p++ = hd->h##a ; *p++ = hd->h##a >> 8; \
-+ *p++ = hd->h##a >> 16; *p++ = hd->h##a >> 24; } while(0)
-+ #else /* little endian */
-+ #define X(a) do { *(u32*)p = hd->h##a ; p += 4; } while(0)
-+ #endif
-+ X(0);
-+ X(1);
-+ X(2);
-+ X(3);
-+ X(4);
-+ #undef X
-+}
-+
-+/****************
-+ * Shortcut functions which puts the hash value of the supplied buffer
-+ * into outbuf which must have a size of 20 bytes.
-+ */
-+void
-+rmd160_hash_buffer( char *outbuf, const char *buffer, size_t length )
-+{
-+ RMD160_CONTEXT hd;
-+
-+ rmd160_init( &hd );
-+ rmd160_write( &hd, (byte*)buffer, length );
-+ rmd160_final( &hd );
-+ memcpy( outbuf, hd.buf, 20 );
-+}
-diff -urN util-linux-ng-2.13/mount/rmd160.h util-linux-ng-2.13-AES/mount/rmd160.h
---- util-linux-ng-2.13/mount/rmd160.h 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.13-AES/mount/rmd160.h 2007-09-02 18:05:42.000000000 +0300
-@@ -0,0 +1,9 @@
-+#ifndef RMD160_H
-+#define RMD160_H
-+
-+void
-+rmd160_hash_buffer( char *outbuf, const char *buffer, size_t length );
-+
-+#endif /*RMD160_H*/
-+
-+
-diff -urN util-linux-ng-2.13/mount/sha512.c util-linux-ng-2.13-AES/mount/sha512.c
---- util-linux-ng-2.13/mount/sha512.c 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.13-AES/mount/sha512.c 2007-09-02 18:05:42.000000000 +0300
-@@ -0,0 +1,432 @@
-+/*
-+ * sha512.c
-+ *
-+ * Written by Jari Ruusu, April 16 2001
-+ *
-+ * Copyright 2001 by Jari Ruusu.
-+ * Redistribution of this file is permitted under the GNU Public License.
-+ */
-+
-+#include <string.h>
-+#include <sys/types.h>
-+#include "sha512.h"
-+
-+/* Define one or more of these. If none is defined, you get all of them */
-+#if !defined(SHA256_NEEDED)&&!defined(SHA512_NEEDED)&&!defined(SHA384_NEEDED)
-+# define SHA256_NEEDED 1
-+# define SHA512_NEEDED 1
-+# define SHA384_NEEDED 1
-+#endif
-+
-+#if defined(SHA256_NEEDED)
-+static const u_int32_t sha256_hashInit[8] = {
-+ 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c,
-+ 0x1f83d9ab, 0x5be0cd19
-+};
-+static const u_int32_t sha256_K[64] = {
-+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,
-+ 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
-+ 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,
-+ 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
-+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
-+ 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
-+ 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,
-+ 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
-+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,
-+ 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
-+ 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
-+};
-+#endif
-+
-+#if defined(SHA512_NEEDED)
-+static const u_int64_t sha512_hashInit[8] = {
-+ 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL,
-+ 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL,
-+ 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL
-+};
-+#endif
-+
-+#if defined(SHA384_NEEDED)
-+static const u_int64_t sha384_hashInit[8] = {
-+ 0xcbbb9d5dc1059ed8ULL, 0x629a292a367cd507ULL, 0x9159015a3070dd17ULL,
-+ 0x152fecd8f70e5939ULL, 0x67332667ffc00b31ULL, 0x8eb44a8768581511ULL,
-+ 0xdb0c2e0d64f98fa7ULL, 0x47b5481dbefa4fa4ULL
-+};
-+#endif
-+
-+#if defined(SHA512_NEEDED) || defined(SHA384_NEEDED)
-+static const u_int64_t sha512_K[80] = {
-+ 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, 0xb5c0fbcfec4d3b2fULL,
-+ 0xe9b5dba58189dbbcULL, 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL,
-+ 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL, 0xd807aa98a3030242ULL,
-+ 0x12835b0145706fbeULL, 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL,
-+ 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, 0x9bdc06a725c71235ULL,
-+ 0xc19bf174cf692694ULL, 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL,
-+ 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL, 0x2de92c6f592b0275ULL,
-+ 0x4a7484aa6ea6e483ULL, 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL,
-+ 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL, 0xb00327c898fb213fULL,
-+ 0xbf597fc7beef0ee4ULL, 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL,
-+ 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL, 0x27b70a8546d22ffcULL,
-+ 0x2e1b21385c26c926ULL, 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL,
-+ 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, 0x81c2c92e47edaee6ULL,
-+ 0x92722c851482353bULL, 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL,
-+ 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL, 0xd192e819d6ef5218ULL,
-+ 0xd69906245565a910ULL, 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL,
-+ 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL, 0x2748774cdf8eeb99ULL,
-+ 0x34b0bcb5e19b48a8ULL, 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL,
-+ 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL, 0x748f82ee5defb2fcULL,
-+ 0x78a5636f43172f60ULL, 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL,
-+ 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, 0xbef9a3f7b2c67915ULL,
-+ 0xc67178f2e372532bULL, 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL,
-+ 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL, 0x06f067aa72176fbaULL,
-+ 0x0a637dc5a2c898a6ULL, 0x113f9804bef90daeULL, 0x1b710b35131c471bULL,
-+ 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, 0x3c9ebe0a15c9bebcULL,
-+ 0x431d67c49c100d4cULL, 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL,
-+ 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL
-+};
-+#endif
-+
-+#define Ch(x,y,z) (((x) & (y)) ^ ((~(x)) & (z)))
-+#define Maj(x,y,z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))
-+#define R(x,y) ((y) >> (x))
-+
-+#if defined(SHA256_NEEDED)
-+void sha256_init(sha256_context *ctx)
-+{
-+ memcpy(&ctx->sha_H[0], &sha256_hashInit[0], sizeof(ctx->sha_H));
-+ ctx->sha_blocks = 0;
-+ ctx->sha_bufCnt = 0;
-+}
-+
-+#define S(x,y) (((y) >> (x)) | ((y) << (32 - (x))))
-+#define uSig0(x) ((S(2,(x))) ^ (S(13,(x))) ^ (S(22,(x))))
-+#define uSig1(x) ((S(6,(x))) ^ (S(11,(x))) ^ (S(25,(x))))
-+#define lSig0(x) ((S(7,(x))) ^ (S(18,(x))) ^ (R(3,(x))))
-+#define lSig1(x) ((S(17,(x))) ^ (S(19,(x))) ^ (R(10,(x))))
-+
-+static void sha256_transform(sha256_context *ctx, unsigned char *datap)
-+{
-+ register int j;
-+ u_int32_t a, b, c, d, e, f, g, h;
-+ u_int32_t T1, T2, W[64], Wm2, Wm15;
-+
-+ /* read the data, big endian byte order */
-+ j = 0;
-+ do {
-+ W[j] = (((u_int32_t)(datap[0]))<<24) | (((u_int32_t)(datap[1]))<<16) |
-+ (((u_int32_t)(datap[2]))<<8 ) | ((u_int32_t)(datap[3]));
-+ datap += 4;
-+ } while(++j < 16);
-+
-+ /* initialize variables a...h */
-+ a = ctx->sha_H[0];
-+ b = ctx->sha_H[1];
-+ c = ctx->sha_H[2];
-+ d = ctx->sha_H[3];
-+ e = ctx->sha_H[4];
-+ f = ctx->sha_H[5];
-+ g = ctx->sha_H[6];
-+ h = ctx->sha_H[7];
-+
-+ /* apply compression function */
-+ j = 0;
-+ do {
-+ if(j >= 16) {
-+ Wm2 = W[j - 2];
-+ Wm15 = W[j - 15];
-+ W[j] = lSig1(Wm2) + W[j - 7] + lSig0(Wm15) + W[j - 16];
-+ }
-+ T1 = h + uSig1(e) + Ch(e,f,g) + sha256_K[j] + W[j];
-+ T2 = uSig0(a) + Maj(a,b,c);
-+ h = g; g = f; f = e;
-+ e = d + T1;
-+ d = c; c = b; b = a;
-+ a = T1 + T2;
-+ } while(++j < 64);
-+
-+ /* compute intermediate hash value */
-+ ctx->sha_H[0] += a;
-+ ctx->sha_H[1] += b;
-+ ctx->sha_H[2] += c;
-+ ctx->sha_H[3] += d;
-+ ctx->sha_H[4] += e;
-+ ctx->sha_H[5] += f;
-+ ctx->sha_H[6] += g;
-+ ctx->sha_H[7] += h;
-+
-+ ctx->sha_blocks++;
-+}
-+
-+void sha256_write(sha256_context *ctx, unsigned char *datap, int length)
-+{
-+ while(length > 0) {
-+ if(!ctx->sha_bufCnt) {
-+ while(length >= sizeof(ctx->sha_out)) {
-+ sha256_transform(ctx, datap);
-+ datap += sizeof(ctx->sha_out);
-+ length -= sizeof(ctx->sha_out);
-+ }
-+ if(!length) return;
-+ }
-+ ctx->sha_out[ctx->sha_bufCnt] = *datap++;
-+ length--;
-+ if(++ctx->sha_bufCnt == sizeof(ctx->sha_out)) {
-+ sha256_transform(ctx, &ctx->sha_out[0]);
-+ ctx->sha_bufCnt = 0;
-+ }
-+ }
-+}
-+
-+void sha256_final(sha256_context *ctx)
-+{
-+ register int j;
-+ u_int64_t bitLength;
-+ u_int32_t i;
-+ unsigned char padByte, *datap;
-+
-+ bitLength = (ctx->sha_blocks << 9) | (ctx->sha_bufCnt << 3);
-+ padByte = 0x80;
-+ sha256_write(ctx, &padByte, 1);
-+
-+ /* pad extra space with zeroes */
-+ padByte = 0;
-+ while(ctx->sha_bufCnt != 56) {
-+ sha256_write(ctx, &padByte, 1);
-+ }
-+
-+ /* write bit length, big endian byte order */
-+ ctx->sha_out[56] = bitLength >> 56;
-+ ctx->sha_out[57] = bitLength >> 48;
-+ ctx->sha_out[58] = bitLength >> 40;
-+ ctx->sha_out[59] = bitLength >> 32;
-+ ctx->sha_out[60] = bitLength >> 24;
-+ ctx->sha_out[61] = bitLength >> 16;
-+ ctx->sha_out[62] = bitLength >> 8;
-+ ctx->sha_out[63] = bitLength;
-+ sha256_transform(ctx, &ctx->sha_out[0]);
-+
-+ /* return results in ctx->sha_out[0...31] */
-+ datap = &ctx->sha_out[0];
-+ j = 0;
-+ do {
-+ i = ctx->sha_H[j];
-+ datap[0] = i >> 24;
-+ datap[1] = i >> 16;
-+ datap[2] = i >> 8;
-+ datap[3] = i;
-+ datap += 4;
-+ } while(++j < 8);
-+
-+ /* clear sensitive information */
-+ memset(&ctx->sha_out[32], 0, sizeof(sha256_context) - 32);
-+}
-+
-+void sha256_hash_buffer(unsigned char *ib, int ile, unsigned char *ob, int ole)
-+{
-+ sha256_context ctx;
-+
-+ if(ole < 1) return;
-+ memset(ob, 0, ole);
-+ if(ole > 32) ole = 32;
-+ sha256_init(&ctx);
-+ sha256_write(&ctx, ib, ile);
-+ sha256_final(&ctx);
-+ memcpy(ob, &ctx.sha_out[0], ole);
-+ memset(&ctx, 0, sizeof(ctx));
-+}
-+
-+#endif
-+
-+#if defined(SHA512_NEEDED)
-+void sha512_init(sha512_context *ctx)
-+{
-+ memcpy(&ctx->sha_H[0], &sha512_hashInit[0], sizeof(ctx->sha_H));
-+ ctx->sha_blocks = 0;
-+ ctx->sha_blocksMSB = 0;
-+ ctx->sha_bufCnt = 0;
-+}
-+#endif
-+
-+#if defined(SHA512_NEEDED) || defined(SHA384_NEEDED)
-+#undef S
-+#undef uSig0
-+#undef uSig1
-+#undef lSig0
-+#undef lSig1
-+#define S(x,y) (((y) >> (x)) | ((y) << (64 - (x))))
-+#define uSig0(x) ((S(28,(x))) ^ (S(34,(x))) ^ (S(39,(x))))
-+#define uSig1(x) ((S(14,(x))) ^ (S(18,(x))) ^ (S(41,(x))))
-+#define lSig0(x) ((S(1,(x))) ^ (S(8,(x))) ^ (R(7,(x))))
-+#define lSig1(x) ((S(19,(x))) ^ (S(61,(x))) ^ (R(6,(x))))
-+
-+static void sha512_transform(sha512_context *ctx, unsigned char *datap)
-+{
-+ register int j;
-+ u_int64_t a, b, c, d, e, f, g, h;
-+ u_int64_t T1, T2, W[80], Wm2, Wm15;
-+
-+ /* read the data, big endian byte order */
-+ j = 0;
-+ do {
-+ W[j] = (((u_int64_t)(datap[0]))<<56) | (((u_int64_t)(datap[1]))<<48) |
-+ (((u_int64_t)(datap[2]))<<40) | (((u_int64_t)(datap[3]))<<32) |
-+ (((u_int64_t)(datap[4]))<<24) | (((u_int64_t)(datap[5]))<<16) |
-+ (((u_int64_t)(datap[6]))<<8 ) | ((u_int64_t)(datap[7]));
-+ datap += 8;
-+ } while(++j < 16);
-+
-+ /* initialize variables a...h */
-+ a = ctx->sha_H[0];
-+ b = ctx->sha_H[1];
-+ c = ctx->sha_H[2];
-+ d = ctx->sha_H[3];
-+ e = ctx->sha_H[4];
-+ f = ctx->sha_H[5];
-+ g = ctx->sha_H[6];
-+ h = ctx->sha_H[7];
-+
-+ /* apply compression function */
-+ j = 0;
-+ do {
-+ if(j >= 16) {
-+ Wm2 = W[j - 2];
-+ Wm15 = W[j - 15];
-+ W[j] = lSig1(Wm2) + W[j - 7] + lSig0(Wm15) + W[j - 16];
-+ }
-+ T1 = h + uSig1(e) + Ch(e,f,g) + sha512_K[j] + W[j];
-+ T2 = uSig0(a) + Maj(a,b,c);
-+ h = g; g = f; f = e;
-+ e = d + T1;
-+ d = c; c = b; b = a;
-+ a = T1 + T2;
-+ } while(++j < 80);
-+
-+ /* compute intermediate hash value */
-+ ctx->sha_H[0] += a;
-+ ctx->sha_H[1] += b;
-+ ctx->sha_H[2] += c;
-+ ctx->sha_H[3] += d;
-+ ctx->sha_H[4] += e;
-+ ctx->sha_H[5] += f;
-+ ctx->sha_H[6] += g;
-+ ctx->sha_H[7] += h;
-+
-+ ctx->sha_blocks++;
-+ if(!ctx->sha_blocks) ctx->sha_blocksMSB++;
-+}
-+
-+void sha512_write(sha512_context *ctx, unsigned char *datap, int length)
-+{
-+ while(length > 0) {
-+ if(!ctx->sha_bufCnt) {
-+ while(length >= sizeof(ctx->sha_out)) {
-+ sha512_transform(ctx, datap);
-+ datap += sizeof(ctx->sha_out);
-+ length -= sizeof(ctx->sha_out);
-+ }
-+ if(!length) return;
-+ }
-+ ctx->sha_out[ctx->sha_bufCnt] = *datap++;
-+ length--;
-+ if(++ctx->sha_bufCnt == sizeof(ctx->sha_out)) {
-+ sha512_transform(ctx, &ctx->sha_out[0]);
-+ ctx->sha_bufCnt = 0;
-+ }
-+ }
-+}
-+
-+void sha512_final(sha512_context *ctx)
-+{
-+ register int j;
-+ u_int64_t bitLength, bitLengthMSB;
-+ u_int64_t i;
-+ unsigned char padByte, *datap;
-+
-+ bitLength = (ctx->sha_blocks << 10) | (ctx->sha_bufCnt << 3);
-+ bitLengthMSB = (ctx->sha_blocksMSB << 10) | (ctx->sha_blocks >> 54);
-+ padByte = 0x80;
-+ sha512_write(ctx, &padByte, 1);
-+
-+ /* pad extra space with zeroes */
-+ padByte = 0;
-+ while(ctx->sha_bufCnt != 112) {
-+ sha512_write(ctx, &padByte, 1);
-+ }
-+
-+ /* write bit length, big endian byte order */
-+ ctx->sha_out[112] = bitLengthMSB >> 56;
-+ ctx->sha_out[113] = bitLengthMSB >> 48;
-+ ctx->sha_out[114] = bitLengthMSB >> 40;
-+ ctx->sha_out[115] = bitLengthMSB >> 32;
-+ ctx->sha_out[116] = bitLengthMSB >> 24;
-+ ctx->sha_out[117] = bitLengthMSB >> 16;
-+ ctx->sha_out[118] = bitLengthMSB >> 8;
-+ ctx->sha_out[119] = bitLengthMSB;
-+ ctx->sha_out[120] = bitLength >> 56;
-+ ctx->sha_out[121] = bitLength >> 48;
-+ ctx->sha_out[122] = bitLength >> 40;
-+ ctx->sha_out[123] = bitLength >> 32;
-+ ctx->sha_out[124] = bitLength >> 24;
-+ ctx->sha_out[125] = bitLength >> 16;
-+ ctx->sha_out[126] = bitLength >> 8;
-+ ctx->sha_out[127] = bitLength;
-+ sha512_transform(ctx, &ctx->sha_out[0]);
-+
-+ /* return results in ctx->sha_out[0...63] */
-+ datap = &ctx->sha_out[0];
-+ j = 0;
-+ do {
-+ i = ctx->sha_H[j];
-+ datap[0] = i >> 56;
-+ datap[1] = i >> 48;
-+ datap[2] = i >> 40;
-+ datap[3] = i >> 32;
-+ datap[4] = i >> 24;
-+ datap[5] = i >> 16;
-+ datap[6] = i >> 8;
-+ datap[7] = i;
-+ datap += 8;
-+ } while(++j < 8);
-+
-+ /* clear sensitive information */
-+ memset(&ctx->sha_out[64], 0, sizeof(sha512_context) - 64);
-+}
-+
-+void sha512_hash_buffer(unsigned char *ib, int ile, unsigned char *ob, int ole)
-+{
-+ sha512_context ctx;
-+
-+ if(ole < 1) return;
-+ memset(ob, 0, ole);
-+ if(ole > 64) ole = 64;
-+ sha512_init(&ctx);
-+ sha512_write(&ctx, ib, ile);
-+ sha512_final(&ctx);
-+ memcpy(ob, &ctx.sha_out[0], ole);
-+ memset(&ctx, 0, sizeof(ctx));
-+}
-+#endif
-+
-+#if defined(SHA384_NEEDED)
-+void sha384_init(sha512_context *ctx)
-+{
-+ memcpy(&ctx->sha_H[0], &sha384_hashInit[0], sizeof(ctx->sha_H));
-+ ctx->sha_blocks = 0;
-+ ctx->sha_blocksMSB = 0;
-+ ctx->sha_bufCnt = 0;
-+}
-+
-+void sha384_hash_buffer(unsigned char *ib, int ile, unsigned char *ob, int ole)
-+{
-+ sha512_context ctx;
-+
-+ if(ole < 1) return;
-+ memset(ob, 0, ole);
-+ if(ole > 48) ole = 48;
-+ sha384_init(&ctx);
-+ sha512_write(&ctx, ib, ile);
-+ sha512_final(&ctx);
-+ memcpy(ob, &ctx.sha_out[0], ole);
-+ memset(&ctx, 0, sizeof(ctx));
-+}
-+#endif
-diff -urN util-linux-ng-2.13/mount/sha512.h util-linux-ng-2.13-AES/mount/sha512.h
---- util-linux-ng-2.13/mount/sha512.h 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.13-AES/mount/sha512.h 2007-09-02 18:05:42.000000000 +0300
-@@ -0,0 +1,45 @@
-+/*
-+ * sha512.h
-+ *
-+ * Written by Jari Ruusu, April 16 2001
-+ *
-+ * Copyright 2001 by Jari Ruusu.
-+ * Redistribution of this file is permitted under the GNU Public License.
-+ */
-+
-+#include <sys/types.h>
-+
-+typedef struct {
-+ unsigned char sha_out[64]; /* results are here, bytes 0...31 */
-+ u_int32_t sha_H[8];
-+ u_int64_t sha_blocks;
-+ int sha_bufCnt;
-+} sha256_context;
-+
-+typedef struct {
-+ unsigned char sha_out[128]; /* results are here, bytes 0...63 */
-+ u_int64_t sha_H[8];
-+ u_int64_t sha_blocks;
-+ u_int64_t sha_blocksMSB;
-+ int sha_bufCnt;
-+} sha512_context;
-+
-+/* no sha384_context, use sha512_context */
-+
-+/* 256 bit hash, provides 128 bits of security against collision attacks */
-+extern void sha256_init(sha256_context *);
-+extern void sha256_write(sha256_context *, unsigned char *, int);
-+extern void sha256_final(sha256_context *);
-+extern void sha256_hash_buffer(unsigned char *, int, unsigned char *, int);
-+
-+/* 512 bit hash, provides 256 bits of security against collision attacks */
-+extern void sha512_init(sha512_context *);
-+extern void sha512_write(sha512_context *, unsigned char *, int);
-+extern void sha512_final(sha512_context *);
-+extern void sha512_hash_buffer(unsigned char *, int, unsigned char *, int);
-+
-+/* 384 bit hash, provides 192 bits of security against collision attacks */
-+extern void sha384_init(sha512_context *);
-+/* no sha384_write(), use sha512_write() */
-+/* no sha384_final(), use sha512_final(), result in ctx->sha_out[0...47] */
-+extern void sha384_hash_buffer(unsigned char *, int, unsigned char *, int);
-diff -urN util-linux-ng-2.13/mount/swapon.8 util-linux-ng-2.13-AES/mount/swapon.8
---- util-linux-ng-2.13/mount/swapon.8 2007-08-13 13:49:22.000000000 +0300
-+++ util-linux-ng-2.13-AES/mount/swapon.8 2007-09-02 18:05:42.000000000 +0300
-@@ -142,6 +142,22 @@
- .I /proc/swaps
- or
- .IR /etc/fstab ).
-+.PP
-+If
-+.I loop=/dev/loop?
-+and
-+.I encryption=AES128
-+options are present in
-+.I /etc/fstab
-+then
-+.BR "swapon -a"
-+will set up loop devices using random keys, run
-+.BR "mkswap"
-+on them, and enable encrypted swap on specified loop devices. Encrypted loop
-+devices are set up with page size offset so that unencrypted swap signatures
-+on first page of swap devices are not touched.
-+.BR "swapoff -a"
-+will tear down such loop devices.
- .SH NOTE
- You should not use
- .B swapon
-diff -urN util-linux-ng-2.13/mount/swapon.c util-linux-ng-2.13-AES/mount/swapon.c
---- util-linux-ng-2.13/mount/swapon.c 2007-08-27 16:00:34.000000000 +0300
-+++ util-linux-ng-2.13-AES/mount/swapon.c 2007-09-02 18:05:42.000000000 +0300
-@@ -1,5 +1,18 @@
- /*
- * A swapon(8)/swapoff(8) for Linux 0.99.
-+ * swapon.c,v 1.1.1.1 1993/11/18 08:40:51 jrs Exp
-+ *
-+ * 1997-02-xx <Vincent.Renardias@waw.com>
-+ * - added '-s' (summary option)
-+ * 1999-02-22 Arkadiusz Mi�kiewicz <misiek@pld.ORG.PL>
-+ * - added Native Language Support
-+ * 1999-03-21 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
-+ * - fixed strerr(errno) in gettext calls
-+ * 2001-03-22 Erik Troan <ewt@redhat.com>
-+ * - added -e option for -a
-+ * - -a shouldn't try to add swaps that are already enabled
-+ * 2002-04-14 Jari Ruusu
-+ * - added encrypted swap support
- */
- #include <ctype.h>
- #include <stdlib.h>
-@@ -8,7 +21,14 @@
- #include <string.h>
- #include <mntent.h>
- #include <errno.h>
-+#include <sys/types.h>
-+#include <sys/wait.h>
- #include <sys/stat.h>
-+#include <fcntl.h>
-+#include <sys/ioctl.h>
-+#include <sys/utsname.h>
-+#include <sys/time.h>
-+#include <asm/page.h>
- #include <unistd.h>
- #include "xmalloc.h"
- #include "swap_constants.h"
-@@ -16,6 +36,9 @@
- #include "fsprobe.h"
- #include "realpath.h"
- #include "mount_paths.h"
-+#include "loop.h"
-+#include "xstrncpy.h"
-+#include "sha512.h"
-
- #ifdef HAVE_SYS_SWAP_H
- # include <sys/swap.h>
-@@ -288,6 +311,262 @@
- }
-
- static int
-+prepare_encrypted_swap(const char *partition, char *loop, char *encryption)
-+{
-+ int x, y, fd, ffd;
-+ int page_size;
-+ sha512_context s;
-+ unsigned char b[4096], multiKeyBits[65][32];
-+ char *a[10], *apiName;
-+ struct loop_info64 loopinfo;
-+ FILE *f;
-+
-+ /*
-+ * Some sanity checks
-+ */
-+ if(strlen(partition) < 1) {
-+ fprintf(stderr, _("swapon: invalid swap device name\n"));
-+ return 0;
-+ }
-+ if(strlen(loop) < 1) {
-+ fprintf(stderr, _("swapon: invalid loop device name\n"));
-+ return 0;
-+ }
-+ if(strlen(encryption) < 1) {
-+ fprintf(stderr, _("swapon: invalid encryption type\n"));
-+ return 0;
-+ }
-+
-+ /*
-+ * Abort if loop device does not exist or is already in use
-+ */
-+ if((fd = open(loop, O_RDWR)) == -1) {
-+ fprintf(stderr, _("swapon: unable to open loop device %s\n"), loop);
-+ return 0;
-+ }
-+ if(is_unused_loop_device(fd) == 0) {
-+ fprintf(stderr, _("swapon: loop device %s already in use\n"), loop);
-+ goto errout0;
-+ }
-+
-+ /*
-+ * Compute SHA-512 over first 40 KB of old swap data. This data
-+ * is mostly unknown data encrypted using unknown key. SHA-512 hash
-+ * output is then used as entropy for new swap encryption key.
-+ */
-+ if(!(f = fopen(partition, "r+"))) {
-+ fprintf(stderr, _("swapon: unable to open swap device %s\n"), partition);
-+ goto errout0;
-+ }
-+ page_size = getpagesize();
-+ fseek(f, (long)page_size, SEEK_SET);
-+ sha512_init(&s);
-+ for(x = 0; x < 10; x++) {
-+ if(fread(&b[0], sizeof(b), 1, f) != 1) break;
-+ sha512_write(&s, &b[0], sizeof(b));
-+ }
-+ sha512_final(&s);
-+
-+ /*
-+ * Overwrite 40 KB of old swap data 20 times so that recovering
-+ * SHA-512 output beyond this point is difficult and expensive.
-+ */
-+ for(y = 0; y < 20; y++) {
-+ int z;
-+ struct {
-+ struct timeval tv;
-+ unsigned char h[64];
-+ int x,y,z;
-+ } j;
-+ if(fseek(f, (long)page_size, SEEK_SET)) break;
-+ memcpy(&j.h[0], &s.sha_out[0], 64);
-+ gettimeofday(&j.tv, NULL);
-+ j.y = y;
-+ for(x = 0; x < 10; x++) {
-+ j.x = x;
-+ for(z = 0; z < sizeof(b); z += 64) {
-+ j.z = z;
-+ sha512_hash_buffer((unsigned char *)&j, sizeof(j), &b[z], 64);
-+ }
-+ if(fwrite(&b[0], sizeof(b), 1, f) != 1) break;
-+ }
-+ memset(&j, 0, sizeof(j));
-+ if(fflush(f)) break;
-+ if(fsync(fileno(f))) break;
-+ }
-+ fclose(f);
-+
-+ /*
-+ * Use all 512 bits of hash output
-+ */
-+ memcpy(&b[0], &s.sha_out[0], 64);
-+ memset(&s, 0, sizeof(s));
-+
-+ /*
-+ * Read 32 bytes of random entropy from kernel's random
-+ * number generator. This code may be executed early on startup
-+ * scripts and amount of random entropy may be non-existent.
-+ * SHA-512 of old swap data is used as workaround for missing
-+ * entropy in kernel's random number generator.
-+ */
-+ if(!(f = fopen("/dev/urandom", "r"))) {
-+ fprintf(stderr, _("swapon: unable to open /dev/urandom\n"));
-+ goto errout0;
-+ }
-+ fread(&b[64], 32, 1, f);
-+
-+ /*
-+ * Set up struct loop_info64
-+ */
-+ if((ffd = open(partition, O_RDWR)) < 0) {
-+ fprintf(stderr, _("swapon: unable to open swap device %s\n"), partition);
-+ goto errout1;
-+ }
-+ memset(&loopinfo, 0, sizeof(loopinfo));
-+ xstrncpy((char *)loopinfo.lo_file_name, partition, LO_NAME_SIZE);
-+ loopinfo.lo_encrypt_type = loop_crypt_type(encryption, &loopinfo.lo_encrypt_key_size, &apiName);
-+ if(loopinfo.lo_encrypt_type <= 1) {
-+ fprintf(stderr, _("swapon: unsupported swap encryption type %s\n"), encryption);
-+errout2:
-+ close(ffd);
-+errout1:
-+ fclose(f);
-+errout0:
-+ close(fd);
-+ memset(&loopinfo.lo_encrypt_key[0], 0, sizeof(loopinfo.lo_encrypt_key));
-+ memset(&multiKeyBits[0][0], 0, sizeof(multiKeyBits));
-+ return 0;
-+ }
-+ loopinfo.lo_offset = page_size;
-+ /* single-key hash */
-+ sha512_hash_buffer(&b[0], 64+32, &loopinfo.lo_encrypt_key[0], sizeof(loopinfo.lo_encrypt_key));
-+ /* multi-key hash */
-+ x = 0;
-+ while(x < 65) {
-+ fread(&b[64+32], 16, 1, f);
-+ sha512_hash_buffer(&b[0], 64+32+16, &multiKeyBits[x][0], 32);
-+ x++;
-+ }
-+
-+ /*
-+ * Try to set up single-key loop
-+ */
-+ if(ioctl(fd, LOOP_SET_FD, ffd) < 0) {
-+ fprintf(stderr, _("swapon: LOOP_SET_FD failed\n"));
-+ goto errout2;
-+ }
-+ if ((loopinfo.lo_encrypt_type == 18) || (loop_set_status64_ioctl(fd, &loopinfo) < 0)) {
-+ if(try_cryptoapi_loop_interface(fd, &loopinfo, apiName) < 0) {
-+ fprintf(stderr, _("swapon: LOOP_SET_STATUS failed\n"));
-+ ioctl(fd, LOOP_CLR_FD, 0);
-+ goto errout2;
-+ }
-+ }
-+
-+ /*
-+ * Try to put loop to multi-key v3 or v2 mode.
-+ * If this fails, then let it operate in single-key mode.
-+ */
-+ if(ioctl(fd, LOOP_MULTI_KEY_SETUP_V3, &multiKeyBits[0][0]) < 0) {
-+ ioctl(fd, LOOP_MULTI_KEY_SETUP, &multiKeyBits[0][0]);
-+ }
-+
-+ /*
-+ * Loop is now set up. Clean up the keys.
-+ */
-+ memset(&loopinfo.lo_encrypt_key[0], 0, sizeof(loopinfo.lo_encrypt_key));
-+ memset(&multiKeyBits[0][0], 0, sizeof(multiKeyBits));
-+ close(ffd);
-+ fclose(f);
-+ close(fd);
-+
-+ /*
-+ * Write 40 KB of zeroes to loop device. That same data is written
-+ * to underlying partition in encrypted form. This is done to guarantee
-+ * that next time encrypted swap is initialized, the SHA-512 hash will
-+ * be different. And, if encrypted swap data writes over this data, that's
-+ * even better.
-+ */
-+ if(!(f = fopen(loop, "r+"))) {
-+ fprintf(stderr, _("swapon: unable to open loop device %s\n"), loop);
-+ return 0;
-+ }
-+ memset(&b[0], 0, sizeof(b));
-+ for(x = 0; x < 10; x++) {
-+ if(fwrite(&b[0], sizeof(b), 1, f) != 1) break;
-+ }
-+ fflush(f);
-+ fsync(fileno(f));
-+ fclose(f);
-+ sync();
-+
-+ /*
-+ * Run mkswap on loop device so that kernel understands it as swap.
-+ * Redirect stderr to /dev/null and ignore exit value.
-+ */
-+ if(!(x = fork())) {
-+ if((x = open("/dev/null", O_WRONLY)) >= 0) {
-+ dup2(x, 2);
-+ close(x);
-+ }
-+ a[0] = "mkswap";
-+ a[1] = loop;
-+ a[2] = 0;
-+ execvp(a[0], &a[0]);
-+ execv("/sbin/mkswap", &a[0]);
-+ /* error to stdout, stderr is directed to /dev/null */
-+ printf(_("swapon: unable to execute mkswap\n"));
-+ exit(1);
-+ }
-+ if(x == -1) {
-+ fprintf(stderr, _("swapon: fork failed\n"));
-+ return 0;
-+ }
-+ waitpid(x, &y, 0);
-+ sync();
-+
-+ return 1;
-+}
-+
-+static void
-+shutdown_encrypted_swap(char *loop)
-+{
-+ int fd;
-+ struct stat statbuf;
-+ struct loop_info64 loopinfo;
-+ unsigned char b[32];
-+ FILE *f;
-+
-+ if(stat(loop, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
-+ if((fd = open(loop, O_RDWR)) >= 0) {
-+ if(!loop_get_status64_ioctl(fd, &loopinfo)) {
-+ /*
-+ * Read 32 bytes of random data from kernel's random
-+ * number generator and write that to loop device.
-+ * This preserves some of kernel's random entropy
-+ * to next activation of encrypted swap on this
-+ * partition.
-+ */
-+ if((f = fopen("/dev/urandom", "r")) != NULL) {
-+ fread(&b[0], 32, 1, f);
-+ fclose(f);
-+ write(fd, &b[0], 32);
-+ fsync(fd);
-+ }
-+ }
-+ close(fd);
-+ }
-+ sync();
-+ if((fd = open(loop, O_RDONLY)) >= 0) {
-+ if(!loop_get_status64_ioctl(fd, &loopinfo)) {
-+ ioctl(fd, LOOP_CLR_FD, 0);
-+ }
-+ close(fd);
-+ }
-+ }
-+}
-+
-+static int
- swapon_all(void) {
- FILE *fp;
- struct mntent *fstab;
-@@ -307,6 +586,8 @@
- const char *special;
- int skip = 0;
- int pri = priority;
-+ char *opt, *opts;
-+ char *loop = NULL, *encryption = NULL;
-
- if (!streq(fstab->mnt_type, MNTTYPE_SWAP))
- continue;
-@@ -315,23 +596,39 @@
- if (!special)
- continue;
-
-- if (!is_in_proc_swaps(special) &&
-- (!ifexists || !access(special, R_OK))) {
-- /* parse mount options; */
-- char *opt, *opts = strdup(fstab->mnt_opts);
--
-- for (opt = strtok(opts, ","); opt != NULL;
-- opt = strtok(NULL, ",")) {
-- if (strncmp(opt, "pri=", 4) == 0)
-- pri = atoi(opt+4);
-- if (strcmp(opt, "noauto") == 0)
-- skip = 1;
-+ /* parse mount options; */
-+ opts = strdup(fstab->mnt_opts);
-+ if (!opts) {
-+ fprintf(stderr, "not enough memory");
-+ exit(1);
-+ }
-+ for (opt = strtok(opts, ","); opt != NULL; opt = strtok(NULL, ",")) {
-+ if (strncmp(opt, "pri=", 4) == 0)
-+ pri = atoi(opt+4);
-+ if (strcmp(opt, "noauto") == 0)
-+ skip = 1;
-+ if (strncmp(opt, "loop=", 5) == 0)
-+ loop = opt + 5;
-+ if (strncmp(opt, "encryption=", 11) == 0)
-+ encryption = opt + 11;
-+ }
-+ if(skip)
-+ continue;
-+ if (loop && encryption) {
-+ if(!is_in_proc_swaps(loop) && (!ifexists || !access(special, R_OK))) {
-+ if (!prepare_encrypted_swap(special, loop, encryption)) {
-+ status |= -1;
-+ continue;
-+ }
-+ status |= do_swapon(loop, pri, CANONIC);
- }
-- if (!skip)
-- status |= do_swapon(special, pri, CANONIC);
-+ continue;
-+ }
-+ if (!is_in_proc_swaps(special) && (!ifexists || !access(special, R_OK))) {
-+ status |= do_swapon(special, pri, CANONIC);
- }
- }
-- fclose(fp);
-+ endmntent(fp);
-
- return status;
- }
-@@ -494,19 +791,51 @@
- exit(2);
- }
- while ((fstab = getmntent(fp)) != NULL) {
-+ const char *orig_special = fstab->mnt_fsname;
- const char *special;
-+ int skip = 0;
-+ char *opt, *opts;
-+ char *loop = NULL, *encryption = NULL;
-
- if (!streq(fstab->mnt_type, MNTTYPE_SWAP))
- continue;
-
-- special = fsprobe_get_devname(fstab->mnt_fsname);
-+ special = fsprobe_get_devname(orig_special);
- if (!special)
- continue;
-
-- if (!is_in_proc_swaps(special))
-+ /* parse mount options; */
-+ opts = strdup(fstab->mnt_opts);
-+ if (!opts) {
-+ fprintf(stderr, "not enough memory");
-+ exit(1);
-+ }
-+ for (opt = strtok(opts, ","); opt != NULL; opt = strtok(NULL, ",")) {
-+ if (strcmp(opt, "noauto") == 0)
-+ skip = 1;
-+ if (strncmp(opt, "loop=", 5) == 0)
-+ loop = opt + 5;
-+ if (strncmp(opt, "encryption=", 11) == 0)
-+ encryption = opt + 11;
-+ }
-+ if (loop && encryption) {
-+ if (!is_in_proc_swaps(loop)) {
-+ if(skip)
-+ continue;
-+ do_swapoff(loop, QUIET, CANONIC);
-+ }
-+ shutdown_encrypted_swap(loop);
-+ continue;
-+ }
-+ if(skip)
-+ continue;
-+ if (!is_in_proc_swaps(special)) {
- do_swapoff(special, QUIET, CANONIC);
-+ }
-+
-+
- }
-- fclose(fp);
-+ endmntent(fp);
- }
-
- return status;
diff --git a/abs/core/util-linux-ng/fix-findmnt.patch b/abs/core/util-linux-ng/fix-findmnt.patch
new file mode 100644
index 0000000..bf6574c
--- /dev/null
+++ b/abs/core/util-linux-ng/fix-findmnt.patch
@@ -0,0 +1,24 @@
+commit a6c90fe597944f68fe49f45f1d8bc0d2e35104d4
+Author: Petr Uzel <petr.uzel-aRb0bU7PRFPrBKCeMvbIDA@public.gmane.org>
+Date: Sun Jul 4 20:02:57 2010 +0200
+
+ libmount: fix merge_optstr (do not truncate 3 trailing characters)
+
+ I believe this is the correct fix.
+
+ Signed-off-by: Petr Uzel <petr.uzel-aRb0bU7PRFPrBKCeMvbIDA@public.gmane.org>
+
+diff --git a/shlibs/mount/src/tab_parse.c b/shlibs/mount/src/tab_parse.c
+index 5dbcfa6..680e1fc 100644
+--- a/shlibs/mount/src/tab_parse.c
++++ b/shlibs/mount/src/tab_parse.c
+@@ -254,7 +254,8 @@ static char *merge_optstr(const char *vfs, const char *fs)
+ if (!strcmp(vfs, fs))
+ return strdup(vfs); /* e.g. "aaa" and "aaa" */
+
+- sz = strlen(vfs) + strlen(fs) + 2;
++ /* leave space for leading "r[ow],", "," and trailing zero */
++ sz = strlen(vfs) + strlen(fs) + 5;
+ res = malloc(sz);
+ if (!res)
+ return NULL;
diff --git a/abs/core/util-linux-ng/util-linux-ng-2.14-20080624.diff b/abs/core/util-linux-ng/util-linux-ng-2.14-20080624.diff
deleted file mode 100644
index 305d257..0000000
--- a/abs/core/util-linux-ng/util-linux-ng-2.14-20080624.diff
+++ /dev/null
@@ -1,6826 +0,0 @@
-If this patch does not apply cleanly to newer version of util-linux-ng, try
-replacing original lomount.c lomount.h loop.h losetup.8 files in mount
-subdirectory with versions from util-linux-ng that the patch is for. And
-then apply this patch.
-
-mount/Makefile.in is a generated file. You can ignore patch failures on that
-file if you generate it again by running the ./autogen.sh script. That
-./autogen.sh script needs recent versions of autohell tools.
-
-diff -urN util-linux-ng-2.14/mount/Makefile.am util-linux-ng-2.14-AES/mount/Makefile.am
---- util-linux-ng-2.14/mount/Makefile.am 2008-05-29 02:01:02.000000000 +0300
-+++ util-linux-ng-2.14-AES/mount/Makefile.am 2008-06-24 16:55:12.000000000 +0300
-@@ -12,21 +12,21 @@
- lomount.h fsprobe.h realpath.h xmalloc.h \
- getusername.h loop.h sundries.h
-
--mount_common = fstab.c mount_mntent.c getusername.c lomount.c \
-+mount_common = fstab.c mount_mntent.c getusername.c \
- $(utils_common) $(headers_common) ../lib/env.c ../lib/linux_version.c \
- ../lib/blkdev.c
-
--mount_SOURCES = mount.c $(mount_common) ../lib/setproctitle.c
-+mount_SOURCES = mount.c lomount.c loumount.c loop.c sha512.c rmd160.c aes.c $(mount_common) ../lib/setproctitle.c
- mount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
- mount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
-
--umount_SOURCES = umount.c $(mount_common)
-+umount_SOURCES = umount.c loumount.c $(mount_common)
- umount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
- umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
-
--swapon_SOURCES = swapon.c swap_constants.h $(utils_common)
-+swapon_SOURCES = swapon.c loop.c sha512.c swap_constants.h $(utils_common)
-
--losetup_SOURCES = lomount.c sundries.c xmalloc.c realpath.c \
-+losetup_SOURCES = lomount.c loumount.c loop.c sha512.c rmd160.c aes.c sundries.c xmalloc.c \
- loop.h lomount.h xmalloc.h sundries.h realpath.h
- losetup_CPPFLAGS = -DMAIN $(AM_CPPFLAGS)
-
-diff -urN util-linux-ng-2.14/mount/Makefile.in util-linux-ng-2.14-AES/mount/Makefile.in
---- util-linux-ng-2.14/mount/Makefile.in 2008-06-09 15:02:13.000000000 +0300
-+++ util-linux-ng-2.14-AES/mount/Makefile.in 2008-06-24 16:55:12.000000000 +0300
-@@ -1,8 +1,8 @@
--# Makefile.in generated by automake 1.10 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-+# 2003, 2004, 2005 Free Software Foundation, Inc.
- # This Makefile.in is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
-@@ -15,11 +15,15 @@
- @SET_MAKE@
-
-
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
- VPATH = @srcdir@
- pkgdatadir = $(datadir)/@PACKAGE@
- pkglibdir = $(libdir)/@PACKAGE@
- pkgincludedir = $(includedir)/@PACKAGE@
-+top_builddir = ..
- am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-+INSTALL = @INSTALL@
- install_sh_DATA = $(install_sh) -c -m 644
- install_sh_PROGRAM = $(install_sh) -c
- install_sh_SCRIPT = $(install_sh) -c
-@@ -75,28 +79,32 @@
- sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
- PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS)
- am_losetup_OBJECTS = losetup-lomount.$(OBJEXT) \
-- losetup-sundries.$(OBJEXT) losetup-xmalloc.$(OBJEXT) \
-- losetup-realpath.$(OBJEXT)
-+ losetup-loumount.$(OBJEXT) losetup-loop.$(OBJEXT) \
-+ losetup-sha512.$(OBJEXT) losetup-rmd160.$(OBJEXT) \
-+ losetup-aes.$(OBJEXT) losetup-sundries.$(OBJEXT) \
-+ losetup-xmalloc.$(OBJEXT)
- losetup_OBJECTS = $(am_losetup_OBJECTS)
- losetup_LDADD = $(LDADD)
--am__losetup_static_SOURCES_DIST = lomount.c sundries.c xmalloc.c \
-- realpath.c loop.h lomount.h xmalloc.h sundries.h realpath.h
-+am__losetup_static_SOURCES_DIST = lomount.c loumount.c loop.c sha512.c \
-+ rmd160.c aes.c sundries.c xmalloc.c loop.h lomount.h xmalloc.h \
-+ sundries.h realpath.h
- am__objects_1 = losetup_static-lomount.$(OBJEXT) \
-+ losetup_static-loumount.$(OBJEXT) \
-+ losetup_static-loop.$(OBJEXT) losetup_static-sha512.$(OBJEXT) \
-+ losetup_static-rmd160.$(OBJEXT) losetup_static-aes.$(OBJEXT) \
- losetup_static-sundries.$(OBJEXT) \
-- losetup_static-xmalloc.$(OBJEXT) \
-- losetup_static-realpath.$(OBJEXT)
-+ losetup_static-xmalloc.$(OBJEXT)
- @HAVE_STATIC_LOSETUP_TRUE@am_losetup_static_OBJECTS = \
- @HAVE_STATIC_LOSETUP_TRUE@ $(am__objects_1)
- losetup_static_OBJECTS = $(am_losetup_static_OBJECTS)
- losetup_static_LDADD = $(LDADD)
--losetup_static_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-- $(losetup_static_LDFLAGS) $(LDFLAGS) -o $@
--am__mount_SOURCES_DIST = mount.c fstab.c mount_mntent.c getusername.c \
-- lomount.c sundries.c xmalloc.c realpath.c fsprobe.c \
-- fsprobe_blkid.c fsprobe_volumeid.c fstab.h mount_mntent.h \
-- mount_constants.h lomount.h fsprobe.h realpath.h xmalloc.h \
-- getusername.h loop.h sundries.h ../lib/env.c \
-- ../lib/linux_version.c ../lib/blkdev.c ../lib/setproctitle.c
-+am__mount_SOURCES_DIST = mount.c lomount.c loumount.c loop.c sha512.c \
-+ rmd160.c aes.c fstab.c mount_mntent.c getusername.c sundries.c \
-+ xmalloc.c realpath.c fsprobe.c fsprobe_blkid.c \
-+ fsprobe_volumeid.c fstab.h mount_mntent.h mount_constants.h \
-+ lomount.h fsprobe.h realpath.h xmalloc.h getusername.h loop.h \
-+ sundries.h ../lib/env.c ../lib/linux_version.c ../lib/blkdev.c \
-+ ../lib/setproctitle.c
- @HAVE_BLKID_TRUE@am__objects_2 = mount-fsprobe_blkid.$(OBJEXT)
- @HAVE_VOLUME_ID_TRUE@am__objects_3 = mount-fsprobe_volumeid.$(OBJEXT)
- am__objects_4 = mount-sundries.$(OBJEXT) mount-xmalloc.$(OBJEXT) \
-@@ -104,10 +112,13 @@
- $(am__objects_2) $(am__objects_3)
- am__objects_5 =
- am__objects_6 = mount-fstab.$(OBJEXT) mount-mount_mntent.$(OBJEXT) \
-- mount-getusername.$(OBJEXT) mount-lomount.$(OBJEXT) \
-- $(am__objects_4) $(am__objects_5) mount-env.$(OBJEXT) \
-- mount-linux_version.$(OBJEXT) mount-blkdev.$(OBJEXT)
--am_mount_OBJECTS = mount-mount.$(OBJEXT) $(am__objects_6) \
-+ mount-getusername.$(OBJEXT) $(am__objects_4) $(am__objects_5) \
-+ mount-env.$(OBJEXT) mount-linux_version.$(OBJEXT) \
-+ mount-blkdev.$(OBJEXT)
-+am_mount_OBJECTS = mount-mount.$(OBJEXT) mount-lomount.$(OBJEXT) \
-+ mount-loumount.$(OBJEXT) mount-loop.$(OBJEXT) \
-+ mount-sha512.$(OBJEXT) mount-rmd160.$(OBJEXT) \
-+ mount-aes.$(OBJEXT) $(am__objects_6) \
- mount-setproctitle.$(OBJEXT)
- mount_OBJECTS = $(am_mount_OBJECTS)
- am__DEPENDENCIES_1 =
-@@ -116,14 +127,12 @@
- am__DEPENDENCIES_4 = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3)
- @HAVE_SELINUX_TRUE@am__DEPENDENCIES_5 = $(am__DEPENDENCIES_1)
- mount_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_5)
--mount_LINK = $(CCLD) $(mount_CFLAGS) $(CFLAGS) $(mount_LDFLAGS) \
-- $(LDFLAGS) -o $@
--am__mount_static_SOURCES_DIST = mount.c fstab.c mount_mntent.c \
-- getusername.c lomount.c sundries.c xmalloc.c realpath.c \
-- fsprobe.c fsprobe_blkid.c fsprobe_volumeid.c fstab.h \
-- mount_mntent.h mount_constants.h lomount.h fsprobe.h \
-- realpath.h xmalloc.h getusername.h loop.h sundries.h \
-- ../lib/env.c ../lib/linux_version.c ../lib/blkdev.c \
-+am__mount_static_SOURCES_DIST = mount.c lomount.c loumount.c loop.c \
-+ sha512.c rmd160.c aes.c fstab.c mount_mntent.c getusername.c \
-+ sundries.c xmalloc.c realpath.c fsprobe.c fsprobe_blkid.c \
-+ fsprobe_volumeid.c fstab.h mount_mntent.h mount_constants.h \
-+ lomount.h fsprobe.h realpath.h xmalloc.h getusername.h loop.h \
-+ sundries.h ../lib/env.c ../lib/linux_version.c ../lib/blkdev.c \
- ../lib/setproctitle.c
- @HAVE_BLKID_TRUE@am__objects_7 = fsprobe_blkid.$(OBJEXT)
- @HAVE_VOLUME_ID_TRUE@am__objects_8 = fsprobe_volumeid.$(OBJEXT)
-@@ -131,17 +140,15 @@
- realpath.$(OBJEXT) fsprobe.$(OBJEXT) $(am__objects_7) \
- $(am__objects_8)
- am__objects_10 = fstab.$(OBJEXT) mount_mntent.$(OBJEXT) \
-- getusername.$(OBJEXT) lomount.$(OBJEXT) $(am__objects_9) \
-- $(am__objects_5) env.$(OBJEXT) linux_version.$(OBJEXT) \
-- blkdev.$(OBJEXT)
--am__objects_11 = mount.$(OBJEXT) $(am__objects_10) \
-- setproctitle.$(OBJEXT)
-+ getusername.$(OBJEXT) $(am__objects_9) $(am__objects_5) \
-+ env.$(OBJEXT) linux_version.$(OBJEXT) blkdev.$(OBJEXT)
-+am__objects_11 = mount.$(OBJEXT) lomount.$(OBJEXT) loumount.$(OBJEXT) \
-+ loop.$(OBJEXT) sha512.$(OBJEXT) rmd160.$(OBJEXT) aes.$(OBJEXT) \
-+ $(am__objects_10) setproctitle.$(OBJEXT)
- @HAVE_STATIC_MOUNT_TRUE@am_mount_static_OBJECTS = $(am__objects_11)
- mount_static_OBJECTS = $(am_mount_static_OBJECTS)
- @HAVE_SELINUX_FALSE@@HAVE_STATIC_MOUNT_TRUE@mount_static_DEPENDENCIES = $(am__DEPENDENCIES_4)
- @HAVE_SELINUX_TRUE@mount_static_DEPENDENCIES = $(am__DEPENDENCIES_1)
--mount_static_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-- $(mount_static_LDFLAGS) $(LDFLAGS) -o $@
- am_mtab_lock_test_OBJECTS = mtab_lock_test-fstab.$(OBJEXT) \
- mtab_lock_test-sundries.$(OBJEXT) \
- mtab_lock_test-xmalloc.$(OBJEXT) $(am__objects_5)
-@@ -150,21 +157,21 @@
- pivot_root_SOURCES = pivot_root.c
- pivot_root_OBJECTS = pivot_root.$(OBJEXT)
- pivot_root_LDADD = $(LDADD)
--am__swapon_SOURCES_DIST = swapon.c swap_constants.h sundries.c \
-- xmalloc.c realpath.c fsprobe.c fsprobe_blkid.c \
-+am__swapon_SOURCES_DIST = swapon.c loop.c sha512.c swap_constants.h \
-+ sundries.c xmalloc.c realpath.c fsprobe.c fsprobe_blkid.c \
- fsprobe_volumeid.c ../lib/linux_version.c ../lib/blkdev.c
- @HAVE_VOLUME_ID_TRUE@am__objects_12 = linux_version.$(OBJEXT) \
- @HAVE_VOLUME_ID_TRUE@ blkdev.$(OBJEXT)
--am_swapon_OBJECTS = swapon.$(OBJEXT) $(am__objects_9) \
-- $(am__objects_12)
-+am_swapon_OBJECTS = swapon.$(OBJEXT) loop.$(OBJEXT) sha512.$(OBJEXT) \
-+ $(am__objects_9) $(am__objects_12)
- swapon_OBJECTS = $(am_swapon_OBJECTS)
- swapon_DEPENDENCIES = $(am__DEPENDENCIES_4)
--am__umount_SOURCES_DIST = umount.c fstab.c mount_mntent.c \
-- getusername.c lomount.c sundries.c xmalloc.c realpath.c \
-- fsprobe.c fsprobe_blkid.c fsprobe_volumeid.c fstab.h \
-- mount_mntent.h mount_constants.h lomount.h fsprobe.h \
-- realpath.h xmalloc.h getusername.h loop.h sundries.h \
-- ../lib/env.c ../lib/linux_version.c ../lib/blkdev.c
-+am__umount_SOURCES_DIST = umount.c loumount.c fstab.c mount_mntent.c \
-+ getusername.c sundries.c xmalloc.c realpath.c fsprobe.c \
-+ fsprobe_blkid.c fsprobe_volumeid.c fstab.h mount_mntent.h \
-+ mount_constants.h lomount.h fsprobe.h realpath.h xmalloc.h \
-+ getusername.h loop.h sundries.h ../lib/env.c \
-+ ../lib/linux_version.c ../lib/blkdev.c
- @HAVE_BLKID_TRUE@am__objects_13 = umount-fsprobe_blkid.$(OBJEXT)
- @HAVE_VOLUME_ID_TRUE@am__objects_14 = \
- @HAVE_VOLUME_ID_TRUE@ umount-fsprobe_volumeid.$(OBJEXT)
-@@ -172,28 +179,25 @@
- umount-realpath.$(OBJEXT) umount-fsprobe.$(OBJEXT) \
- $(am__objects_13) $(am__objects_14)
- am__objects_16 = umount-fstab.$(OBJEXT) umount-mount_mntent.$(OBJEXT) \
-- umount-getusername.$(OBJEXT) umount-lomount.$(OBJEXT) \
-- $(am__objects_15) $(am__objects_5) umount-env.$(OBJEXT) \
-+ umount-getusername.$(OBJEXT) $(am__objects_15) \
-+ $(am__objects_5) umount-env.$(OBJEXT) \
- umount-linux_version.$(OBJEXT) umount-blkdev.$(OBJEXT)
--am_umount_OBJECTS = umount-umount.$(OBJEXT) $(am__objects_16)
-+am_umount_OBJECTS = umount-umount.$(OBJEXT) umount-loumount.$(OBJEXT) \
-+ $(am__objects_16)
- umount_OBJECTS = $(am_umount_OBJECTS)
- umount_DEPENDENCIES = $(am__DEPENDENCIES_4)
--umount_LINK = $(CCLD) $(umount_CFLAGS) $(CFLAGS) $(umount_LDFLAGS) \
-- $(LDFLAGS) -o $@
--am__umount_static_SOURCES_DIST = umount.c fstab.c mount_mntent.c \
-- getusername.c lomount.c sundries.c xmalloc.c realpath.c \
-+am__umount_static_SOURCES_DIST = umount.c loumount.c fstab.c \
-+ mount_mntent.c getusername.c sundries.c xmalloc.c realpath.c \
- fsprobe.c fsprobe_blkid.c fsprobe_volumeid.c fstab.h \
- mount_mntent.h mount_constants.h lomount.h fsprobe.h \
- realpath.h xmalloc.h getusername.h loop.h sundries.h \
- ../lib/env.c ../lib/linux_version.c ../lib/blkdev.c
--am__objects_17 = umount.$(OBJEXT) $(am__objects_10)
-+am__objects_17 = umount.$(OBJEXT) loumount.$(OBJEXT) $(am__objects_10)
- @HAVE_STATIC_UMOUNT_TRUE@am_umount_static_OBJECTS = $(am__objects_17)
- umount_static_OBJECTS = $(am_umount_static_OBJECTS)
- @HAVE_STATIC_UMOUNT_TRUE@umount_static_DEPENDENCIES = \
- @HAVE_STATIC_UMOUNT_TRUE@ $(am__DEPENDENCIES_4)
--umount_static_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-- $(umount_static_LDFLAGS) $(LDFLAGS) -o $@
--DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
-+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
- depcomp = $(SHELL) $(top_srcdir)/config/depcomp
- am__depfiles_maybe = depfiles
- COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-@@ -220,7 +224,27 @@
- CTAGS = ctags
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- ACLOCAL = @ACLOCAL@
-+AMDEP_FALSE = @AMDEP_FALSE@
-+AMDEP_TRUE = @AMDEP_TRUE@
- AMTAR = @AMTAR@
-+ARCH_86_64_FALSE = @ARCH_86_64_FALSE@
-+ARCH_86_64_TRUE = @ARCH_86_64_TRUE@
-+ARCH_HPPA_FALSE = @ARCH_HPPA_FALSE@
-+ARCH_HPPA_TRUE = @ARCH_HPPA_TRUE@
-+ARCH_I86_FALSE = @ARCH_I86_FALSE@
-+ARCH_I86_TRUE = @ARCH_I86_TRUE@
-+ARCH_IA64_FALSE = @ARCH_IA64_FALSE@
-+ARCH_IA64_TRUE = @ARCH_IA64_TRUE@
-+ARCH_M68K_FALSE = @ARCH_M68K_FALSE@
-+ARCH_M68K_TRUE = @ARCH_M68K_TRUE@
-+ARCH_MIPS_FALSE = @ARCH_MIPS_FALSE@
-+ARCH_MIPS_TRUE = @ARCH_MIPS_TRUE@
-+ARCH_PPC_FALSE = @ARCH_PPC_FALSE@
-+ARCH_PPC_TRUE = @ARCH_PPC_TRUE@
-+ARCH_S390_FALSE = @ARCH_S390_FALSE@
-+ARCH_S390_TRUE = @ARCH_S390_TRUE@
-+ARCH_SPARC_FALSE = @ARCH_SPARC_FALSE@
-+ARCH_SPARC_TRUE = @ARCH_SPARC_TRUE@
- AUTOCONF = @AUTOCONF@
- AUTOHEADER = @AUTOHEADER@
- AUTOMAKE = @AUTOMAKE@
-@@ -228,6 +252,40 @@
- BLKID = @BLKID@
- BLKID_LIBS = @BLKID_LIBS@
- BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
-+BUILD_AGETTY_FALSE = @BUILD_AGETTY_FALSE@
-+BUILD_AGETTY_TRUE = @BUILD_AGETTY_TRUE@
-+BUILD_ARCH_FALSE = @BUILD_ARCH_FALSE@
-+BUILD_ARCH_TRUE = @BUILD_ARCH_TRUE@
-+BUILD_CRAMFS_FALSE = @BUILD_CRAMFS_FALSE@
-+BUILD_CRAMFS_TRUE = @BUILD_CRAMFS_TRUE@
-+BUILD_ELVTUNE_FALSE = @BUILD_ELVTUNE_FALSE@
-+BUILD_ELVTUNE_TRUE = @BUILD_ELVTUNE_TRUE@
-+BUILD_INIT_FALSE = @BUILD_INIT_FALSE@
-+BUILD_INIT_TRUE = @BUILD_INIT_TRUE@
-+BUILD_KILL_FALSE = @BUILD_KILL_FALSE@
-+BUILD_KILL_TRUE = @BUILD_KILL_TRUE@
-+BUILD_LAST_FALSE = @BUILD_LAST_FALSE@
-+BUILD_LAST_TRUE = @BUILD_LAST_TRUE@
-+BUILD_LOGIN_UTILS_FALSE = @BUILD_LOGIN_UTILS_FALSE@
-+BUILD_LOGIN_UTILS_TRUE = @BUILD_LOGIN_UTILS_TRUE@
-+BUILD_MESG_FALSE = @BUILD_MESG_FALSE@
-+BUILD_MESG_TRUE = @BUILD_MESG_TRUE@
-+BUILD_PARTX_FALSE = @BUILD_PARTX_FALSE@
-+BUILD_PARTX_TRUE = @BUILD_PARTX_TRUE@
-+BUILD_RAW_FALSE = @BUILD_RAW_FALSE@
-+BUILD_RAW_TRUE = @BUILD_RAW_TRUE@
-+BUILD_RDEV_FALSE = @BUILD_RDEV_FALSE@
-+BUILD_RDEV_TRUE = @BUILD_RDEV_TRUE@
-+BUILD_RENAME_FALSE = @BUILD_RENAME_FALSE@
-+BUILD_RENAME_TRUE = @BUILD_RENAME_TRUE@
-+BUILD_RESET_FALSE = @BUILD_RESET_FALSE@
-+BUILD_RESET_TRUE = @BUILD_RESET_TRUE@
-+BUILD_SCHEDUTILS_FALSE = @BUILD_SCHEDUTILS_FALSE@
-+BUILD_SCHEDUTILS_TRUE = @BUILD_SCHEDUTILS_TRUE@
-+BUILD_WALL_FALSE = @BUILD_WALL_FALSE@
-+BUILD_WALL_TRUE = @BUILD_WALL_TRUE@
-+BUILD_WRITE_FALSE = @BUILD_WRITE_FALSE@
-+BUILD_WRITE_TRUE = @BUILD_WRITE_TRUE@
- CC = @CC@
- CCDEPMODE = @CCDEPMODE@
- CFLAGS = @CFLAGS@
-@@ -243,7 +301,46 @@
- EXEEXT = @EXEEXT@
- GMSGFMT = @GMSGFMT@
- GREP = @GREP@
--INSTALL = @INSTALL@
-+HAVE_AUDIT_FALSE = @HAVE_AUDIT_FALSE@
-+HAVE_AUDIT_TRUE = @HAVE_AUDIT_TRUE@
-+HAVE_BLKID_FALSE = @HAVE_BLKID_FALSE@
-+HAVE_BLKID_TRUE = @HAVE_BLKID_TRUE@
-+HAVE_IOPRIO_GET_FALSE = @HAVE_IOPRIO_GET_FALSE@
-+HAVE_IOPRIO_GET_TRUE = @HAVE_IOPRIO_GET_TRUE@
-+HAVE_IOPRIO_SET_FALSE = @HAVE_IOPRIO_SET_FALSE@
-+HAVE_IOPRIO_SET_TRUE = @HAVE_IOPRIO_SET_TRUE@
-+HAVE_NCURSES_FALSE = @HAVE_NCURSES_FALSE@
-+HAVE_NCURSES_TRUE = @HAVE_NCURSES_TRUE@
-+HAVE_PAM_FALSE = @HAVE_PAM_FALSE@
-+HAVE_PAM_TRUE = @HAVE_PAM_TRUE@
-+HAVE_PIVOT_ROOT_FALSE = @HAVE_PIVOT_ROOT_FALSE@
-+HAVE_PIVOT_ROOT_TRUE = @HAVE_PIVOT_ROOT_TRUE@
-+HAVE_RAW_FALSE = @HAVE_RAW_FALSE@
-+HAVE_RAW_TRUE = @HAVE_RAW_TRUE@
-+HAVE_SCHED_GETAFFINITY_FALSE = @HAVE_SCHED_GETAFFINITY_FALSE@
-+HAVE_SCHED_GETAFFINITY_TRUE = @HAVE_SCHED_GETAFFINITY_TRUE@
-+HAVE_SELINUX_FALSE = @HAVE_SELINUX_FALSE@
-+HAVE_SELINUX_TRUE = @HAVE_SELINUX_TRUE@
-+HAVE_STATIC_FDISK_FALSE = @HAVE_STATIC_FDISK_FALSE@
-+HAVE_STATIC_FDISK_TRUE = @HAVE_STATIC_FDISK_TRUE@
-+HAVE_STATIC_LOSETUP_FALSE = @HAVE_STATIC_LOSETUP_FALSE@
-+HAVE_STATIC_LOSETUP_TRUE = @HAVE_STATIC_LOSETUP_TRUE@
-+HAVE_STATIC_MOUNT_FALSE = @HAVE_STATIC_MOUNT_FALSE@
-+HAVE_STATIC_MOUNT_TRUE = @HAVE_STATIC_MOUNT_TRUE@
-+HAVE_STATIC_SFDISK_FALSE = @HAVE_STATIC_SFDISK_FALSE@
-+HAVE_STATIC_SFDISK_TRUE = @HAVE_STATIC_SFDISK_TRUE@
-+HAVE_STATIC_UMOUNT_FALSE = @HAVE_STATIC_UMOUNT_FALSE@
-+HAVE_STATIC_UMOUNT_TRUE = @HAVE_STATIC_UMOUNT_TRUE@
-+HAVE_TERMCAP_FALSE = @HAVE_TERMCAP_FALSE@
-+HAVE_TERMCAP_TRUE = @HAVE_TERMCAP_TRUE@
-+HAVE_TINFO_FALSE = @HAVE_TINFO_FALSE@
-+HAVE_TINFO_TRUE = @HAVE_TINFO_TRUE@
-+HAVE_UTIL_FALSE = @HAVE_UTIL_FALSE@
-+HAVE_UTIL_TRUE = @HAVE_UTIL_TRUE@
-+HAVE_UUID_FALSE = @HAVE_UUID_FALSE@
-+HAVE_UUID_TRUE = @HAVE_UUID_TRUE@
-+HAVE_VOLUME_ID_FALSE = @HAVE_VOLUME_ID_FALSE@
-+HAVE_VOLUME_ID_TRUE = @HAVE_VOLUME_ID_TRUE@
- INSTALL_DATA = @INSTALL_DATA@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
-@@ -255,15 +352,20 @@
- LIBINTL = @LIBINTL@
- LIBOBJS = @LIBOBJS@
- LIBS = @LIBS@
-+LINUX_FALSE = @LINUX_FALSE@
-+LINUX_TRUE = @LINUX_TRUE@
- LTLIBICONV = @LTLIBICONV@
- LTLIBINTL = @LTLIBINTL@
- LTLIBOBJS = @LTLIBOBJS@
- MAKEINFO = @MAKEINFO@
--MKDIR_P = @MKDIR_P@
-+MAKEINSTALL_DO_CHOWN_FALSE = @MAKEINSTALL_DO_CHOWN_FALSE@
-+MAKEINSTALL_DO_CHOWN_TRUE = @MAKEINSTALL_DO_CHOWN_TRUE@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MSGFMT = @MSGFMT@
- MSGMERGE = @MSGMERGE@
- NCURSES_LIBS = @NCURSES_LIBS@
-+NEED_LIBCRYPT_FALSE = @NEED_LIBCRYPT_FALSE@
-+NEED_LIBCRYPT_TRUE = @NEED_LIBCRYPT_TRUE@
- OBJEXT = @OBJEXT@
- PACKAGE = @PACKAGE@
- PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-@@ -282,16 +384,18 @@
- SUID_CFLAGS = @SUID_CFLAGS@
- SUID_LDFLAGS = @SUID_LDFLAGS@
- USE_NLS = @USE_NLS@
-+USE_SLANG_FALSE = @USE_SLANG_FALSE@
-+USE_SLANG_TRUE = @USE_SLANG_TRUE@
-+USE_TTY_GROUP_FALSE = @USE_TTY_GROUP_FALSE@
-+USE_TTY_GROUP_TRUE = @USE_TTY_GROUP_TRUE@
- VERSION = @VERSION@
- VOLID = @VOLID@
- VOLUMEID_LIBS = @VOLUMEID_LIBS@
- VOLUMEID_LIBS_STATIC = @VOLUMEID_LIBS_STATIC@
- XGETTEXT = @XGETTEXT@
--abs_builddir = @abs_builddir@
--abs_srcdir = @abs_srcdir@
--abs_top_builddir = @abs_top_builddir@
--abs_top_srcdir = @abs_top_srcdir@
- ac_ct_CC = @ac_ct_CC@
-+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__include = @am__include@
- am__leading_dot = @am__leading_dot@
- am__quote = @am__quote@
-@@ -303,7 +407,6 @@
- build_cpu = @build_cpu@
- build_os = @build_os@
- build_vendor = @build_vendor@
--builddir = @builddir@
- datadir = @datadir@
- datarootdir = @datarootdir@
- docdir = @docdir@
-@@ -331,11 +434,8 @@
- psdir = @psdir@
- sbindir = @sbindir@
- sharedstatedir = @sharedstatedir@
--srcdir = @srcdir@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
--top_builddir = @top_builddir@
--top_srcdir = @top_srcdir@
-
- # The original default vaues of bindir and sbindir:
- usrbinexecdir = ${exec_prefix}/bin
-@@ -359,19 +459,19 @@
- lomount.h fsprobe.h realpath.h xmalloc.h \
- getusername.h loop.h sundries.h
-
--mount_common = fstab.c mount_mntent.c getusername.c lomount.c \
-+mount_common = fstab.c mount_mntent.c getusername.c \
- $(utils_common) $(headers_common) ../lib/env.c ../lib/linux_version.c \
- ../lib/blkdev.c
-
--mount_SOURCES = mount.c $(mount_common) ../lib/setproctitle.c
-+mount_SOURCES = mount.c lomount.c loumount.c loop.c sha512.c rmd160.c aes.c $(mount_common) ../lib/setproctitle.c
- mount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
- mount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
--umount_SOURCES = umount.c $(mount_common)
-+umount_SOURCES = umount.c loumount.c $(mount_common)
- umount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
- umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
--swapon_SOURCES = swapon.c swap_constants.h $(utils_common) \
-- $(am__append_9)
--losetup_SOURCES = lomount.c sundries.c xmalloc.c realpath.c \
-+swapon_SOURCES = swapon.c loop.c sha512.c swap_constants.h \
-+ $(utils_common) $(am__append_9)
-+losetup_SOURCES = lomount.c loumount.c loop.c sha512.c rmd160.c aes.c sundries.c xmalloc.c \
- loop.h lomount.h xmalloc.h sundries.h realpath.h
-
- losetup_CPPFLAGS = -DMAIN $(AM_CPPFLAGS)
-@@ -427,7 +527,7 @@
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
-- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-+ test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
-@@ -453,7 +553,7 @@
- -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
- install-sbinPROGRAMS: $(sbin_PROGRAMS)
- @$(NORMAL_INSTALL)
-- test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
-+ test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)"
- @list='$(sbin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
-@@ -476,31 +576,31 @@
- -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS)
- losetup$(EXEEXT): $(losetup_OBJECTS) $(losetup_DEPENDENCIES)
- @rm -f losetup$(EXEEXT)
-- $(LINK) $(losetup_OBJECTS) $(losetup_LDADD) $(LIBS)
-+ $(LINK) $(losetup_LDFLAGS) $(losetup_OBJECTS) $(losetup_LDADD) $(LIBS)
- losetup.static$(EXEEXT): $(losetup_static_OBJECTS) $(losetup_static_DEPENDENCIES)
- @rm -f losetup.static$(EXEEXT)
-- $(losetup_static_LINK) $(losetup_static_OBJECTS) $(losetup_static_LDADD) $(LIBS)
-+ $(LINK) $(losetup_static_LDFLAGS) $(losetup_static_OBJECTS) $(losetup_static_LDADD) $(LIBS)
- mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES)
- @rm -f mount$(EXEEXT)
-- $(mount_LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS)
-+ $(LINK) $(mount_LDFLAGS) $(mount_OBJECTS) $(mount_LDADD) $(LIBS)
- mount.static$(EXEEXT): $(mount_static_OBJECTS) $(mount_static_DEPENDENCIES)
- @rm -f mount.static$(EXEEXT)
-- $(mount_static_LINK) $(mount_static_OBJECTS) $(mount_static_LDADD) $(LIBS)
-+ $(LINK) $(mount_static_LDFLAGS) $(mount_static_OBJECTS) $(mount_static_LDADD) $(LIBS)
- mtab_lock_test$(EXEEXT): $(mtab_lock_test_OBJECTS) $(mtab_lock_test_DEPENDENCIES)
- @rm -f mtab_lock_test$(EXEEXT)
-- $(LINK) $(mtab_lock_test_OBJECTS) $(mtab_lock_test_LDADD) $(LIBS)
-+ $(LINK) $(mtab_lock_test_LDFLAGS) $(mtab_lock_test_OBJECTS) $(mtab_lock_test_LDADD) $(LIBS)
- pivot_root$(EXEEXT): $(pivot_root_OBJECTS) $(pivot_root_DEPENDENCIES)
- @rm -f pivot_root$(EXEEXT)
-- $(LINK) $(pivot_root_OBJECTS) $(pivot_root_LDADD) $(LIBS)
-+ $(LINK) $(pivot_root_LDFLAGS) $(pivot_root_OBJECTS) $(pivot_root_LDADD) $(LIBS)
- swapon$(EXEEXT): $(swapon_OBJECTS) $(swapon_DEPENDENCIES)
- @rm -f swapon$(EXEEXT)
-- $(LINK) $(swapon_OBJECTS) $(swapon_LDADD) $(LIBS)
-+ $(LINK) $(swapon_LDFLAGS) $(swapon_OBJECTS) $(swapon_LDADD) $(LIBS)
- umount$(EXEEXT): $(umount_OBJECTS) $(umount_DEPENDENCIES)
- @rm -f umount$(EXEEXT)
-- $(umount_LINK) $(umount_OBJECTS) $(umount_LDADD) $(LIBS)
-+ $(LINK) $(umount_LDFLAGS) $(umount_OBJECTS) $(umount_LDADD) $(LIBS)
- umount.static$(EXEEXT): $(umount_static_OBJECTS) $(umount_static_DEPENDENCIES)
- @rm -f umount.static$(EXEEXT)
-- $(umount_static_LINK) $(umount_static_OBJECTS) $(umount_static_LDADD) $(LIBS)
-+ $(LINK) $(umount_static_LDFLAGS) $(umount_static_OBJECTS) $(umount_static_LDADD) $(LIBS)
-
- mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-@@ -508,6 +608,7 @@
- distclean-compile:
- -rm -f *.tab.c
-
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aes.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blkdev.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsprobe.Po@am__quote@
-@@ -517,14 +618,25 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getusername.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux_version.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lomount.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loop.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-aes.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-lomount.Po@am__quote@
--@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-realpath.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-loop.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-loumount.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-rmd160.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-sha512.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-sundries.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup-xmalloc.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-aes.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-lomount.Po@am__quote@
--@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-realpath.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-loop.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-loumount.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-rmd160.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-sha512.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-sundries.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/losetup_static-xmalloc.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loumount.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-aes.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-blkdev.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-env.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-fsprobe.Po@am__quote@
-@@ -534,10 +646,14 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-getusername.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-linux_version.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-lomount.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-loop.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-loumount.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-mount.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-mount_mntent.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-realpath.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-rmd160.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-setproctitle.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-sha512.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-sundries.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-xmalloc.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@
-@@ -547,7 +663,9 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtab_lock_test-xmalloc.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pivot_root.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realpath.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmd160.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setproctitle.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha512.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sundries.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swapon.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-blkdev.Po@am__quote@
-@@ -558,7 +676,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-fstab.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-getusername.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-linux_version.Po@am__quote@
--@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-lomount.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-loumount.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-mount_mntent.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-realpath.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount-sundries.Po@am__quote@
-@@ -568,637 +686,820 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@
-
- .c.o:
--@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
- .c.obj:
--@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
- losetup-lomount.o: lomount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-lomount.o -MD -MP -MF $(DEPDIR)/losetup-lomount.Tpo -c -o losetup-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup-lomount.Tpo $(DEPDIR)/losetup-lomount.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-lomount.o -MD -MP -MF "$(DEPDIR)/losetup-lomount.Tpo" -c -o losetup-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-lomount.Tpo" "$(DEPDIR)/losetup-lomount.Po"; else rm -f "$(DEPDIR)/losetup-lomount.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lomount.c' object='losetup-lomount.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
-
- losetup-lomount.obj: lomount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-lomount.obj -MD -MP -MF $(DEPDIR)/losetup-lomount.Tpo -c -o losetup-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup-lomount.Tpo $(DEPDIR)/losetup-lomount.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-lomount.obj -MD -MP -MF "$(DEPDIR)/losetup-lomount.Tpo" -c -o losetup-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-lomount.Tpo" "$(DEPDIR)/losetup-lomount.Po"; else rm -f "$(DEPDIR)/losetup-lomount.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lomount.c' object='losetup-lomount.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
-
-+losetup-loumount.o: loumount.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-loumount.o -MD -MP -MF "$(DEPDIR)/losetup-loumount.Tpo" -c -o losetup-loumount.o `test -f 'loumount.c' || echo '$(srcdir)/'`loumount.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-loumount.Tpo" "$(DEPDIR)/losetup-loumount.Po"; else rm -f "$(DEPDIR)/losetup-loumount.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loumount.c' object='losetup-loumount.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-loumount.o `test -f 'loumount.c' || echo '$(srcdir)/'`loumount.c
-+
-+losetup-loumount.obj: loumount.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-loumount.obj -MD -MP -MF "$(DEPDIR)/losetup-loumount.Tpo" -c -o losetup-loumount.obj `if test -f 'loumount.c'; then $(CYGPATH_W) 'loumount.c'; else $(CYGPATH_W) '$(srcdir)/loumount.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-loumount.Tpo" "$(DEPDIR)/losetup-loumount.Po"; else rm -f "$(DEPDIR)/losetup-loumount.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loumount.c' object='losetup-loumount.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-loumount.obj `if test -f 'loumount.c'; then $(CYGPATH_W) 'loumount.c'; else $(CYGPATH_W) '$(srcdir)/loumount.c'; fi`
-+
-+losetup-loop.o: loop.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-loop.o -MD -MP -MF "$(DEPDIR)/losetup-loop.Tpo" -c -o losetup-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-loop.Tpo" "$(DEPDIR)/losetup-loop.Po"; else rm -f "$(DEPDIR)/losetup-loop.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loop.c' object='losetup-loop.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c
-+
-+losetup-loop.obj: loop.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-loop.obj -MD -MP -MF "$(DEPDIR)/losetup-loop.Tpo" -c -o losetup-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-loop.Tpo" "$(DEPDIR)/losetup-loop.Po"; else rm -f "$(DEPDIR)/losetup-loop.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loop.c' object='losetup-loop.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`
-+
-+losetup-sha512.o: sha512.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-sha512.o -MD -MP -MF "$(DEPDIR)/losetup-sha512.Tpo" -c -o losetup-sha512.o `test -f 'sha512.c' || echo '$(srcdir)/'`sha512.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-sha512.Tpo" "$(DEPDIR)/losetup-sha512.Po"; else rm -f "$(DEPDIR)/losetup-sha512.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sha512.c' object='losetup-sha512.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-sha512.o `test -f 'sha512.c' || echo '$(srcdir)/'`sha512.c
-+
-+losetup-sha512.obj: sha512.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-sha512.obj -MD -MP -MF "$(DEPDIR)/losetup-sha512.Tpo" -c -o losetup-sha512.obj `if test -f 'sha512.c'; then $(CYGPATH_W) 'sha512.c'; else $(CYGPATH_W) '$(srcdir)/sha512.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-sha512.Tpo" "$(DEPDIR)/losetup-sha512.Po"; else rm -f "$(DEPDIR)/losetup-sha512.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sha512.c' object='losetup-sha512.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-sha512.obj `if test -f 'sha512.c'; then $(CYGPATH_W) 'sha512.c'; else $(CYGPATH_W) '$(srcdir)/sha512.c'; fi`
-+
-+losetup-rmd160.o: rmd160.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-rmd160.o -MD -MP -MF "$(DEPDIR)/losetup-rmd160.Tpo" -c -o losetup-rmd160.o `test -f 'rmd160.c' || echo '$(srcdir)/'`rmd160.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-rmd160.Tpo" "$(DEPDIR)/losetup-rmd160.Po"; else rm -f "$(DEPDIR)/losetup-rmd160.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rmd160.c' object='losetup-rmd160.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-rmd160.o `test -f 'rmd160.c' || echo '$(srcdir)/'`rmd160.c
-+
-+losetup-rmd160.obj: rmd160.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-rmd160.obj -MD -MP -MF "$(DEPDIR)/losetup-rmd160.Tpo" -c -o losetup-rmd160.obj `if test -f 'rmd160.c'; then $(CYGPATH_W) 'rmd160.c'; else $(CYGPATH_W) '$(srcdir)/rmd160.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-rmd160.Tpo" "$(DEPDIR)/losetup-rmd160.Po"; else rm -f "$(DEPDIR)/losetup-rmd160.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rmd160.c' object='losetup-rmd160.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-rmd160.obj `if test -f 'rmd160.c'; then $(CYGPATH_W) 'rmd160.c'; else $(CYGPATH_W) '$(srcdir)/rmd160.c'; fi`
-+
-+losetup-aes.o: aes.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-aes.o -MD -MP -MF "$(DEPDIR)/losetup-aes.Tpo" -c -o losetup-aes.o `test -f 'aes.c' || echo '$(srcdir)/'`aes.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-aes.Tpo" "$(DEPDIR)/losetup-aes.Po"; else rm -f "$(DEPDIR)/losetup-aes.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='aes.c' object='losetup-aes.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-aes.o `test -f 'aes.c' || echo '$(srcdir)/'`aes.c
-+
-+losetup-aes.obj: aes.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-aes.obj -MD -MP -MF "$(DEPDIR)/losetup-aes.Tpo" -c -o losetup-aes.obj `if test -f 'aes.c'; then $(CYGPATH_W) 'aes.c'; else $(CYGPATH_W) '$(srcdir)/aes.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-aes.Tpo" "$(DEPDIR)/losetup-aes.Po"; else rm -f "$(DEPDIR)/losetup-aes.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='aes.c' object='losetup-aes.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-aes.obj `if test -f 'aes.c'; then $(CYGPATH_W) 'aes.c'; else $(CYGPATH_W) '$(srcdir)/aes.c'; fi`
-+
- losetup-sundries.o: sundries.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-sundries.o -MD -MP -MF $(DEPDIR)/losetup-sundries.Tpo -c -o losetup-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup-sundries.Tpo $(DEPDIR)/losetup-sundries.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-sundries.o -MD -MP -MF "$(DEPDIR)/losetup-sundries.Tpo" -c -o losetup-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-sundries.Tpo" "$(DEPDIR)/losetup-sundries.Po"; else rm -f "$(DEPDIR)/losetup-sundries.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sundries.c' object='losetup-sundries.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
-
- losetup-sundries.obj: sundries.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-sundries.obj -MD -MP -MF $(DEPDIR)/losetup-sundries.Tpo -c -o losetup-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup-sundries.Tpo $(DEPDIR)/losetup-sundries.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-sundries.obj -MD -MP -MF "$(DEPDIR)/losetup-sundries.Tpo" -c -o losetup-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-sundries.Tpo" "$(DEPDIR)/losetup-sundries.Po"; else rm -f "$(DEPDIR)/losetup-sundries.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sundries.c' object='losetup-sundries.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
-
- losetup-xmalloc.o: xmalloc.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-xmalloc.o -MD -MP -MF $(DEPDIR)/losetup-xmalloc.Tpo -c -o losetup-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup-xmalloc.Tpo $(DEPDIR)/losetup-xmalloc.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-xmalloc.o -MD -MP -MF "$(DEPDIR)/losetup-xmalloc.Tpo" -c -o losetup-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-xmalloc.Tpo" "$(DEPDIR)/losetup-xmalloc.Po"; else rm -f "$(DEPDIR)/losetup-xmalloc.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xmalloc.c' object='losetup-xmalloc.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
-
- losetup-xmalloc.obj: xmalloc.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-xmalloc.obj -MD -MP -MF $(DEPDIR)/losetup-xmalloc.Tpo -c -o losetup-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup-xmalloc.Tpo $(DEPDIR)/losetup-xmalloc.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-xmalloc.obj -MD -MP -MF "$(DEPDIR)/losetup-xmalloc.Tpo" -c -o losetup-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup-xmalloc.Tpo" "$(DEPDIR)/losetup-xmalloc.Po"; else rm -f "$(DEPDIR)/losetup-xmalloc.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xmalloc.c' object='losetup-xmalloc.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
-
--losetup-realpath.o: realpath.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-realpath.o -MD -MP -MF $(DEPDIR)/losetup-realpath.Tpo -c -o losetup-realpath.o `test -f 'realpath.c' || echo '$(srcdir)/'`realpath.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup-realpath.Tpo $(DEPDIR)/losetup-realpath.Po
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='realpath.c' object='losetup-realpath.o' libtool=no @AMDEPBACKSLASH@
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
--@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-realpath.o `test -f 'realpath.c' || echo '$(srcdir)/'`realpath.c
--
--losetup-realpath.obj: realpath.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup-realpath.obj -MD -MP -MF $(DEPDIR)/losetup-realpath.Tpo -c -o losetup-realpath.obj `if test -f 'realpath.c'; then $(CYGPATH_W) 'realpath.c'; else $(CYGPATH_W) '$(srcdir)/realpath.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup-realpath.Tpo $(DEPDIR)/losetup-realpath.Po
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='realpath.c' object='losetup-realpath.obj' libtool=no @AMDEPBACKSLASH@
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
--@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup-realpath.obj `if test -f 'realpath.c'; then $(CYGPATH_W) 'realpath.c'; else $(CYGPATH_W) '$(srcdir)/realpath.c'; fi`
--
- losetup_static-lomount.o: lomount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-lomount.o -MD -MP -MF $(DEPDIR)/losetup_static-lomount.Tpo -c -o losetup_static-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup_static-lomount.Tpo $(DEPDIR)/losetup_static-lomount.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-lomount.o -MD -MP -MF "$(DEPDIR)/losetup_static-lomount.Tpo" -c -o losetup_static-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-lomount.Tpo" "$(DEPDIR)/losetup_static-lomount.Po"; else rm -f "$(DEPDIR)/losetup_static-lomount.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lomount.c' object='losetup_static-lomount.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
-
- losetup_static-lomount.obj: lomount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-lomount.obj -MD -MP -MF $(DEPDIR)/losetup_static-lomount.Tpo -c -o losetup_static-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup_static-lomount.Tpo $(DEPDIR)/losetup_static-lomount.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-lomount.obj -MD -MP -MF "$(DEPDIR)/losetup_static-lomount.Tpo" -c -o losetup_static-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-lomount.Tpo" "$(DEPDIR)/losetup_static-lomount.Po"; else rm -f "$(DEPDIR)/losetup_static-lomount.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lomount.c' object='losetup_static-lomount.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
-
-+losetup_static-loumount.o: loumount.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-loumount.o -MD -MP -MF "$(DEPDIR)/losetup_static-loumount.Tpo" -c -o losetup_static-loumount.o `test -f 'loumount.c' || echo '$(srcdir)/'`loumount.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-loumount.Tpo" "$(DEPDIR)/losetup_static-loumount.Po"; else rm -f "$(DEPDIR)/losetup_static-loumount.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loumount.c' object='losetup_static-loumount.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-loumount.o `test -f 'loumount.c' || echo '$(srcdir)/'`loumount.c
-+
-+losetup_static-loumount.obj: loumount.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-loumount.obj -MD -MP -MF "$(DEPDIR)/losetup_static-loumount.Tpo" -c -o losetup_static-loumount.obj `if test -f 'loumount.c'; then $(CYGPATH_W) 'loumount.c'; else $(CYGPATH_W) '$(srcdir)/loumount.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-loumount.Tpo" "$(DEPDIR)/losetup_static-loumount.Po"; else rm -f "$(DEPDIR)/losetup_static-loumount.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loumount.c' object='losetup_static-loumount.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-loumount.obj `if test -f 'loumount.c'; then $(CYGPATH_W) 'loumount.c'; else $(CYGPATH_W) '$(srcdir)/loumount.c'; fi`
-+
-+losetup_static-loop.o: loop.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-loop.o -MD -MP -MF "$(DEPDIR)/losetup_static-loop.Tpo" -c -o losetup_static-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-loop.Tpo" "$(DEPDIR)/losetup_static-loop.Po"; else rm -f "$(DEPDIR)/losetup_static-loop.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loop.c' object='losetup_static-loop.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c
-+
-+losetup_static-loop.obj: loop.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-loop.obj -MD -MP -MF "$(DEPDIR)/losetup_static-loop.Tpo" -c -o losetup_static-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-loop.Tpo" "$(DEPDIR)/losetup_static-loop.Po"; else rm -f "$(DEPDIR)/losetup_static-loop.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loop.c' object='losetup_static-loop.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`
-+
-+losetup_static-sha512.o: sha512.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-sha512.o -MD -MP -MF "$(DEPDIR)/losetup_static-sha512.Tpo" -c -o losetup_static-sha512.o `test -f 'sha512.c' || echo '$(srcdir)/'`sha512.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-sha512.Tpo" "$(DEPDIR)/losetup_static-sha512.Po"; else rm -f "$(DEPDIR)/losetup_static-sha512.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sha512.c' object='losetup_static-sha512.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-sha512.o `test -f 'sha512.c' || echo '$(srcdir)/'`sha512.c
-+
-+losetup_static-sha512.obj: sha512.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-sha512.obj -MD -MP -MF "$(DEPDIR)/losetup_static-sha512.Tpo" -c -o losetup_static-sha512.obj `if test -f 'sha512.c'; then $(CYGPATH_W) 'sha512.c'; else $(CYGPATH_W) '$(srcdir)/sha512.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-sha512.Tpo" "$(DEPDIR)/losetup_static-sha512.Po"; else rm -f "$(DEPDIR)/losetup_static-sha512.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sha512.c' object='losetup_static-sha512.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-sha512.obj `if test -f 'sha512.c'; then $(CYGPATH_W) 'sha512.c'; else $(CYGPATH_W) '$(srcdir)/sha512.c'; fi`
-+
-+losetup_static-rmd160.o: rmd160.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-rmd160.o -MD -MP -MF "$(DEPDIR)/losetup_static-rmd160.Tpo" -c -o losetup_static-rmd160.o `test -f 'rmd160.c' || echo '$(srcdir)/'`rmd160.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-rmd160.Tpo" "$(DEPDIR)/losetup_static-rmd160.Po"; else rm -f "$(DEPDIR)/losetup_static-rmd160.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rmd160.c' object='losetup_static-rmd160.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-rmd160.o `test -f 'rmd160.c' || echo '$(srcdir)/'`rmd160.c
-+
-+losetup_static-rmd160.obj: rmd160.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-rmd160.obj -MD -MP -MF "$(DEPDIR)/losetup_static-rmd160.Tpo" -c -o losetup_static-rmd160.obj `if test -f 'rmd160.c'; then $(CYGPATH_W) 'rmd160.c'; else $(CYGPATH_W) '$(srcdir)/rmd160.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-rmd160.Tpo" "$(DEPDIR)/losetup_static-rmd160.Po"; else rm -f "$(DEPDIR)/losetup_static-rmd160.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rmd160.c' object='losetup_static-rmd160.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-rmd160.obj `if test -f 'rmd160.c'; then $(CYGPATH_W) 'rmd160.c'; else $(CYGPATH_W) '$(srcdir)/rmd160.c'; fi`
-+
-+losetup_static-aes.o: aes.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-aes.o -MD -MP -MF "$(DEPDIR)/losetup_static-aes.Tpo" -c -o losetup_static-aes.o `test -f 'aes.c' || echo '$(srcdir)/'`aes.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-aes.Tpo" "$(DEPDIR)/losetup_static-aes.Po"; else rm -f "$(DEPDIR)/losetup_static-aes.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='aes.c' object='losetup_static-aes.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-aes.o `test -f 'aes.c' || echo '$(srcdir)/'`aes.c
-+
-+losetup_static-aes.obj: aes.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-aes.obj -MD -MP -MF "$(DEPDIR)/losetup_static-aes.Tpo" -c -o losetup_static-aes.obj `if test -f 'aes.c'; then $(CYGPATH_W) 'aes.c'; else $(CYGPATH_W) '$(srcdir)/aes.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-aes.Tpo" "$(DEPDIR)/losetup_static-aes.Po"; else rm -f "$(DEPDIR)/losetup_static-aes.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='aes.c' object='losetup_static-aes.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-aes.obj `if test -f 'aes.c'; then $(CYGPATH_W) 'aes.c'; else $(CYGPATH_W) '$(srcdir)/aes.c'; fi`
-+
- losetup_static-sundries.o: sundries.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-sundries.o -MD -MP -MF $(DEPDIR)/losetup_static-sundries.Tpo -c -o losetup_static-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup_static-sundries.Tpo $(DEPDIR)/losetup_static-sundries.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-sundries.o -MD -MP -MF "$(DEPDIR)/losetup_static-sundries.Tpo" -c -o losetup_static-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-sundries.Tpo" "$(DEPDIR)/losetup_static-sundries.Po"; else rm -f "$(DEPDIR)/losetup_static-sundries.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sundries.c' object='losetup_static-sundries.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
-
- losetup_static-sundries.obj: sundries.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-sundries.obj -MD -MP -MF $(DEPDIR)/losetup_static-sundries.Tpo -c -o losetup_static-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup_static-sundries.Tpo $(DEPDIR)/losetup_static-sundries.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-sundries.obj -MD -MP -MF "$(DEPDIR)/losetup_static-sundries.Tpo" -c -o losetup_static-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-sundries.Tpo" "$(DEPDIR)/losetup_static-sundries.Po"; else rm -f "$(DEPDIR)/losetup_static-sundries.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sundries.c' object='losetup_static-sundries.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
-
- losetup_static-xmalloc.o: xmalloc.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-xmalloc.o -MD -MP -MF $(DEPDIR)/losetup_static-xmalloc.Tpo -c -o losetup_static-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup_static-xmalloc.Tpo $(DEPDIR)/losetup_static-xmalloc.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-xmalloc.o -MD -MP -MF "$(DEPDIR)/losetup_static-xmalloc.Tpo" -c -o losetup_static-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-xmalloc.Tpo" "$(DEPDIR)/losetup_static-xmalloc.Po"; else rm -f "$(DEPDIR)/losetup_static-xmalloc.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xmalloc.c' object='losetup_static-xmalloc.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
-
- losetup_static-xmalloc.obj: xmalloc.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-xmalloc.obj -MD -MP -MF $(DEPDIR)/losetup_static-xmalloc.Tpo -c -o losetup_static-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup_static-xmalloc.Tpo $(DEPDIR)/losetup_static-xmalloc.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-xmalloc.obj -MD -MP -MF "$(DEPDIR)/losetup_static-xmalloc.Tpo" -c -o losetup_static-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/losetup_static-xmalloc.Tpo" "$(DEPDIR)/losetup_static-xmalloc.Po"; else rm -f "$(DEPDIR)/losetup_static-xmalloc.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xmalloc.c' object='losetup_static-xmalloc.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
-
--losetup_static-realpath.o: realpath.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-realpath.o -MD -MP -MF $(DEPDIR)/losetup_static-realpath.Tpo -c -o losetup_static-realpath.o `test -f 'realpath.c' || echo '$(srcdir)/'`realpath.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup_static-realpath.Tpo $(DEPDIR)/losetup_static-realpath.Po
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='realpath.c' object='losetup_static-realpath.o' libtool=no @AMDEPBACKSLASH@
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
--@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-realpath.o `test -f 'realpath.c' || echo '$(srcdir)/'`realpath.c
--
--losetup_static-realpath.obj: realpath.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT losetup_static-realpath.obj -MD -MP -MF $(DEPDIR)/losetup_static-realpath.Tpo -c -o losetup_static-realpath.obj `if test -f 'realpath.c'; then $(CYGPATH_W) 'realpath.c'; else $(CYGPATH_W) '$(srcdir)/realpath.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/losetup_static-realpath.Tpo $(DEPDIR)/losetup_static-realpath.Po
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='realpath.c' object='losetup_static-realpath.obj' libtool=no @AMDEPBACKSLASH@
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
--@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(losetup_static_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o losetup_static-realpath.obj `if test -f 'realpath.c'; then $(CYGPATH_W) 'realpath.c'; else $(CYGPATH_W) '$(srcdir)/realpath.c'; fi`
--
- mount-mount.o: mount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount.o -MD -MP -MF $(DEPDIR)/mount-mount.Tpo -c -o mount-mount.o `test -f 'mount.c' || echo '$(srcdir)/'`mount.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-mount.Tpo $(DEPDIR)/mount-mount.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount.o -MD -MP -MF "$(DEPDIR)/mount-mount.Tpo" -c -o mount-mount.o `test -f 'mount.c' || echo '$(srcdir)/'`mount.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-mount.Tpo" "$(DEPDIR)/mount-mount.Po"; else rm -f "$(DEPDIR)/mount-mount.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount.c' object='mount-mount.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-mount.o `test -f 'mount.c' || echo '$(srcdir)/'`mount.c
-
- mount-mount.obj: mount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount.obj -MD -MP -MF $(DEPDIR)/mount-mount.Tpo -c -o mount-mount.obj `if test -f 'mount.c'; then $(CYGPATH_W) 'mount.c'; else $(CYGPATH_W) '$(srcdir)/mount.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-mount.Tpo $(DEPDIR)/mount-mount.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount.obj -MD -MP -MF "$(DEPDIR)/mount-mount.Tpo" -c -o mount-mount.obj `if test -f 'mount.c'; then $(CYGPATH_W) 'mount.c'; else $(CYGPATH_W) '$(srcdir)/mount.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-mount.Tpo" "$(DEPDIR)/mount-mount.Po"; else rm -f "$(DEPDIR)/mount-mount.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount.c' object='mount-mount.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-mount.obj `if test -f 'mount.c'; then $(CYGPATH_W) 'mount.c'; else $(CYGPATH_W) '$(srcdir)/mount.c'; fi`
-
-+mount-lomount.o: lomount.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-lomount.o -MD -MP -MF "$(DEPDIR)/mount-lomount.Tpo" -c -o mount-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-lomount.Tpo" "$(DEPDIR)/mount-lomount.Po"; else rm -f "$(DEPDIR)/mount-lomount.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lomount.c' object='mount-lomount.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
-+
-+mount-lomount.obj: lomount.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-lomount.obj -MD -MP -MF "$(DEPDIR)/mount-lomount.Tpo" -c -o mount-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-lomount.Tpo" "$(DEPDIR)/mount-lomount.Po"; else rm -f "$(DEPDIR)/mount-lomount.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lomount.c' object='mount-lomount.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
-+
-+mount-loumount.o: loumount.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-loumount.o -MD -MP -MF "$(DEPDIR)/mount-loumount.Tpo" -c -o mount-loumount.o `test -f 'loumount.c' || echo '$(srcdir)/'`loumount.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-loumount.Tpo" "$(DEPDIR)/mount-loumount.Po"; else rm -f "$(DEPDIR)/mount-loumount.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loumount.c' object='mount-loumount.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-loumount.o `test -f 'loumount.c' || echo '$(srcdir)/'`loumount.c
-+
-+mount-loumount.obj: loumount.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-loumount.obj -MD -MP -MF "$(DEPDIR)/mount-loumount.Tpo" -c -o mount-loumount.obj `if test -f 'loumount.c'; then $(CYGPATH_W) 'loumount.c'; else $(CYGPATH_W) '$(srcdir)/loumount.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-loumount.Tpo" "$(DEPDIR)/mount-loumount.Po"; else rm -f "$(DEPDIR)/mount-loumount.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loumount.c' object='mount-loumount.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-loumount.obj `if test -f 'loumount.c'; then $(CYGPATH_W) 'loumount.c'; else $(CYGPATH_W) '$(srcdir)/loumount.c'; fi`
-+
-+mount-loop.o: loop.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-loop.o -MD -MP -MF "$(DEPDIR)/mount-loop.Tpo" -c -o mount-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-loop.Tpo" "$(DEPDIR)/mount-loop.Po"; else rm -f "$(DEPDIR)/mount-loop.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loop.c' object='mount-loop.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c
-+
-+mount-loop.obj: loop.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-loop.obj -MD -MP -MF "$(DEPDIR)/mount-loop.Tpo" -c -o mount-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-loop.Tpo" "$(DEPDIR)/mount-loop.Po"; else rm -f "$(DEPDIR)/mount-loop.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loop.c' object='mount-loop.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`
-+
-+mount-sha512.o: sha512.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-sha512.o -MD -MP -MF "$(DEPDIR)/mount-sha512.Tpo" -c -o mount-sha512.o `test -f 'sha512.c' || echo '$(srcdir)/'`sha512.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-sha512.Tpo" "$(DEPDIR)/mount-sha512.Po"; else rm -f "$(DEPDIR)/mount-sha512.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sha512.c' object='mount-sha512.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-sha512.o `test -f 'sha512.c' || echo '$(srcdir)/'`sha512.c
-+
-+mount-sha512.obj: sha512.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-sha512.obj -MD -MP -MF "$(DEPDIR)/mount-sha512.Tpo" -c -o mount-sha512.obj `if test -f 'sha512.c'; then $(CYGPATH_W) 'sha512.c'; else $(CYGPATH_W) '$(srcdir)/sha512.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-sha512.Tpo" "$(DEPDIR)/mount-sha512.Po"; else rm -f "$(DEPDIR)/mount-sha512.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sha512.c' object='mount-sha512.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-sha512.obj `if test -f 'sha512.c'; then $(CYGPATH_W) 'sha512.c'; else $(CYGPATH_W) '$(srcdir)/sha512.c'; fi`
-+
-+mount-rmd160.o: rmd160.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-rmd160.o -MD -MP -MF "$(DEPDIR)/mount-rmd160.Tpo" -c -o mount-rmd160.o `test -f 'rmd160.c' || echo '$(srcdir)/'`rmd160.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-rmd160.Tpo" "$(DEPDIR)/mount-rmd160.Po"; else rm -f "$(DEPDIR)/mount-rmd160.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rmd160.c' object='mount-rmd160.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-rmd160.o `test -f 'rmd160.c' || echo '$(srcdir)/'`rmd160.c
-+
-+mount-rmd160.obj: rmd160.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-rmd160.obj -MD -MP -MF "$(DEPDIR)/mount-rmd160.Tpo" -c -o mount-rmd160.obj `if test -f 'rmd160.c'; then $(CYGPATH_W) 'rmd160.c'; else $(CYGPATH_W) '$(srcdir)/rmd160.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-rmd160.Tpo" "$(DEPDIR)/mount-rmd160.Po"; else rm -f "$(DEPDIR)/mount-rmd160.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rmd160.c' object='mount-rmd160.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-rmd160.obj `if test -f 'rmd160.c'; then $(CYGPATH_W) 'rmd160.c'; else $(CYGPATH_W) '$(srcdir)/rmd160.c'; fi`
-+
-+mount-aes.o: aes.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-aes.o -MD -MP -MF "$(DEPDIR)/mount-aes.Tpo" -c -o mount-aes.o `test -f 'aes.c' || echo '$(srcdir)/'`aes.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-aes.Tpo" "$(DEPDIR)/mount-aes.Po"; else rm -f "$(DEPDIR)/mount-aes.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='aes.c' object='mount-aes.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-aes.o `test -f 'aes.c' || echo '$(srcdir)/'`aes.c
-+
-+mount-aes.obj: aes.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-aes.obj -MD -MP -MF "$(DEPDIR)/mount-aes.Tpo" -c -o mount-aes.obj `if test -f 'aes.c'; then $(CYGPATH_W) 'aes.c'; else $(CYGPATH_W) '$(srcdir)/aes.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-aes.Tpo" "$(DEPDIR)/mount-aes.Po"; else rm -f "$(DEPDIR)/mount-aes.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='aes.c' object='mount-aes.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-aes.obj `if test -f 'aes.c'; then $(CYGPATH_W) 'aes.c'; else $(CYGPATH_W) '$(srcdir)/aes.c'; fi`
-+
- mount-fstab.o: fstab.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fstab.o -MD -MP -MF $(DEPDIR)/mount-fstab.Tpo -c -o mount-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-fstab.Tpo $(DEPDIR)/mount-fstab.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fstab.o -MD -MP -MF "$(DEPDIR)/mount-fstab.Tpo" -c -o mount-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-fstab.Tpo" "$(DEPDIR)/mount-fstab.Po"; else rm -f "$(DEPDIR)/mount-fstab.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fstab.c' object='mount-fstab.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
-
- mount-fstab.obj: fstab.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fstab.obj -MD -MP -MF $(DEPDIR)/mount-fstab.Tpo -c -o mount-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-fstab.Tpo $(DEPDIR)/mount-fstab.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fstab.obj -MD -MP -MF "$(DEPDIR)/mount-fstab.Tpo" -c -o mount-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-fstab.Tpo" "$(DEPDIR)/mount-fstab.Po"; else rm -f "$(DEPDIR)/mount-fstab.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fstab.c' object='mount-fstab.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
-
- mount-mount_mntent.o: mount_mntent.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount_mntent.o -MD -MP -MF $(DEPDIR)/mount-mount_mntent.Tpo -c -o mount-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-mount_mntent.Tpo $(DEPDIR)/mount-mount_mntent.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount_mntent.o -MD -MP -MF "$(DEPDIR)/mount-mount_mntent.Tpo" -c -o mount-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-mount_mntent.Tpo" "$(DEPDIR)/mount-mount_mntent.Po"; else rm -f "$(DEPDIR)/mount-mount_mntent.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount_mntent.c' object='mount-mount_mntent.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
-
- mount-mount_mntent.obj: mount_mntent.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount_mntent.obj -MD -MP -MF $(DEPDIR)/mount-mount_mntent.Tpo -c -o mount-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-mount_mntent.Tpo $(DEPDIR)/mount-mount_mntent.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-mount_mntent.obj -MD -MP -MF "$(DEPDIR)/mount-mount_mntent.Tpo" -c -o mount-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-mount_mntent.Tpo" "$(DEPDIR)/mount-mount_mntent.Po"; else rm -f "$(DEPDIR)/mount-mount_mntent.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount_mntent.c' object='mount-mount_mntent.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
-
- mount-getusername.o: getusername.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-getusername.o -MD -MP -MF $(DEPDIR)/mount-getusername.Tpo -c -o mount-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-getusername.Tpo $(DEPDIR)/mount-getusername.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-getusername.o -MD -MP -MF "$(DEPDIR)/mount-getusername.Tpo" -c -o mount-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-getusername.Tpo" "$(DEPDIR)/mount-getusername.Po"; else rm -f "$(DEPDIR)/mount-getusername.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='getusername.c' object='mount-getusername.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
-
- mount-getusername.obj: getusername.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-getusername.obj -MD -MP -MF $(DEPDIR)/mount-getusername.Tpo -c -o mount-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-getusername.Tpo $(DEPDIR)/mount-getusername.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-getusername.obj -MD -MP -MF "$(DEPDIR)/mount-getusername.Tpo" -c -o mount-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-getusername.Tpo" "$(DEPDIR)/mount-getusername.Po"; else rm -f "$(DEPDIR)/mount-getusername.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='getusername.c' object='mount-getusername.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
-
--mount-lomount.o: lomount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-lomount.o -MD -MP -MF $(DEPDIR)/mount-lomount.Tpo -c -o mount-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-lomount.Tpo $(DEPDIR)/mount-lomount.Po
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lomount.c' object='mount-lomount.o' libtool=no @AMDEPBACKSLASH@
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
--@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
--
--mount-lomount.obj: lomount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-lomount.obj -MD -MP -MF $(DEPDIR)/mount-lomount.Tpo -c -o mount-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-lomount.Tpo $(DEPDIR)/mount-lomount.Po
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lomount.c' object='mount-lomount.obj' libtool=no @AMDEPBACKSLASH@
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
--@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
--
- mount-sundries.o: sundries.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-sundries.o -MD -MP -MF $(DEPDIR)/mount-sundries.Tpo -c -o mount-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-sundries.Tpo $(DEPDIR)/mount-sundries.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-sundries.o -MD -MP -MF "$(DEPDIR)/mount-sundries.Tpo" -c -o mount-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-sundries.Tpo" "$(DEPDIR)/mount-sundries.Po"; else rm -f "$(DEPDIR)/mount-sundries.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sundries.c' object='mount-sundries.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
-
- mount-sundries.obj: sundries.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-sundries.obj -MD -MP -MF $(DEPDIR)/mount-sundries.Tpo -c -o mount-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-sundries.Tpo $(DEPDIR)/mount-sundries.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-sundries.obj -MD -MP -MF "$(DEPDIR)/mount-sundries.Tpo" -c -o mount-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-sundries.Tpo" "$(DEPDIR)/mount-sundries.Po"; else rm -f "$(DEPDIR)/mount-sundries.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sundries.c' object='mount-sundries.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
-
- mount-xmalloc.o: xmalloc.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-xmalloc.o -MD -MP -MF $(DEPDIR)/mount-xmalloc.Tpo -c -o mount-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-xmalloc.Tpo $(DEPDIR)/mount-xmalloc.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-xmalloc.o -MD -MP -MF "$(DEPDIR)/mount-xmalloc.Tpo" -c -o mount-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-xmalloc.Tpo" "$(DEPDIR)/mount-xmalloc.Po"; else rm -f "$(DEPDIR)/mount-xmalloc.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xmalloc.c' object='mount-xmalloc.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
-
- mount-xmalloc.obj: xmalloc.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-xmalloc.obj -MD -MP -MF $(DEPDIR)/mount-xmalloc.Tpo -c -o mount-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-xmalloc.Tpo $(DEPDIR)/mount-xmalloc.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-xmalloc.obj -MD -MP -MF "$(DEPDIR)/mount-xmalloc.Tpo" -c -o mount-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-xmalloc.Tpo" "$(DEPDIR)/mount-xmalloc.Po"; else rm -f "$(DEPDIR)/mount-xmalloc.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xmalloc.c' object='mount-xmalloc.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
-
- mount-realpath.o: realpath.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-realpath.o -MD -MP -MF $(DEPDIR)/mount-realpath.Tpo -c -o mount-realpath.o `test -f 'realpath.c' || echo '$(srcdir)/'`realpath.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-realpath.Tpo $(DEPDIR)/mount-realpath.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-realpath.o -MD -MP -MF "$(DEPDIR)/mount-realpath.Tpo" -c -o mount-realpath.o `test -f 'realpath.c' || echo '$(srcdir)/'`realpath.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-realpath.Tpo" "$(DEPDIR)/mount-realpath.Po"; else rm -f "$(DEPDIR)/mount-realpath.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='realpath.c' object='mount-realpath.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-realpath.o `test -f 'realpath.c' || echo '$(srcdir)/'`realpath.c
-
- mount-realpath.obj: realpath.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-realpath.obj -MD -MP -MF $(DEPDIR)/mount-realpath.Tpo -c -o mount-realpath.obj `if test -f 'realpath.c'; then $(CYGPATH_W) 'realpath.c'; else $(CYGPATH_W) '$(srcdir)/realpath.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-realpath.Tpo $(DEPDIR)/mount-realpath.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-realpath.obj -MD -MP -MF "$(DEPDIR)/mount-realpath.Tpo" -c -o mount-realpath.obj `if test -f 'realpath.c'; then $(CYGPATH_W) 'realpath.c'; else $(CYGPATH_W) '$(srcdir)/realpath.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-realpath.Tpo" "$(DEPDIR)/mount-realpath.Po"; else rm -f "$(DEPDIR)/mount-realpath.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='realpath.c' object='mount-realpath.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-realpath.obj `if test -f 'realpath.c'; then $(CYGPATH_W) 'realpath.c'; else $(CYGPATH_W) '$(srcdir)/realpath.c'; fi`
-
- mount-fsprobe.o: fsprobe.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe.o -MD -MP -MF $(DEPDIR)/mount-fsprobe.Tpo -c -o mount-fsprobe.o `test -f 'fsprobe.c' || echo '$(srcdir)/'`fsprobe.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-fsprobe.Tpo $(DEPDIR)/mount-fsprobe.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe.o -MD -MP -MF "$(DEPDIR)/mount-fsprobe.Tpo" -c -o mount-fsprobe.o `test -f 'fsprobe.c' || echo '$(srcdir)/'`fsprobe.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-fsprobe.Tpo" "$(DEPDIR)/mount-fsprobe.Po"; else rm -f "$(DEPDIR)/mount-fsprobe.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe.c' object='mount-fsprobe.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-fsprobe.o `test -f 'fsprobe.c' || echo '$(srcdir)/'`fsprobe.c
-
- mount-fsprobe.obj: fsprobe.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe.obj -MD -MP -MF $(DEPDIR)/mount-fsprobe.Tpo -c -o mount-fsprobe.obj `if test -f 'fsprobe.c'; then $(CYGPATH_W) 'fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-fsprobe.Tpo $(DEPDIR)/mount-fsprobe.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe.obj -MD -MP -MF "$(DEPDIR)/mount-fsprobe.Tpo" -c -o mount-fsprobe.obj `if test -f 'fsprobe.c'; then $(CYGPATH_W) 'fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-fsprobe.Tpo" "$(DEPDIR)/mount-fsprobe.Po"; else rm -f "$(DEPDIR)/mount-fsprobe.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe.c' object='mount-fsprobe.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-fsprobe.obj `if test -f 'fsprobe.c'; then $(CYGPATH_W) 'fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe.c'; fi`
-
- mount-fsprobe_blkid.o: fsprobe_blkid.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe_blkid.o -MD -MP -MF $(DEPDIR)/mount-fsprobe_blkid.Tpo -c -o mount-fsprobe_blkid.o `test -f 'fsprobe_blkid.c' || echo '$(srcdir)/'`fsprobe_blkid.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-fsprobe_blkid.Tpo $(DEPDIR)/mount-fsprobe_blkid.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe_blkid.o -MD -MP -MF "$(DEPDIR)/mount-fsprobe_blkid.Tpo" -c -o mount-fsprobe_blkid.o `test -f 'fsprobe_blkid.c' || echo '$(srcdir)/'`fsprobe_blkid.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-fsprobe_blkid.Tpo" "$(DEPDIR)/mount-fsprobe_blkid.Po"; else rm -f "$(DEPDIR)/mount-fsprobe_blkid.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe_blkid.c' object='mount-fsprobe_blkid.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-fsprobe_blkid.o `test -f 'fsprobe_blkid.c' || echo '$(srcdir)/'`fsprobe_blkid.c
-
- mount-fsprobe_blkid.obj: fsprobe_blkid.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe_blkid.obj -MD -MP -MF $(DEPDIR)/mount-fsprobe_blkid.Tpo -c -o mount-fsprobe_blkid.obj `if test -f 'fsprobe_blkid.c'; then $(CYGPATH_W) 'fsprobe_blkid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_blkid.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-fsprobe_blkid.Tpo $(DEPDIR)/mount-fsprobe_blkid.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe_blkid.obj -MD -MP -MF "$(DEPDIR)/mount-fsprobe_blkid.Tpo" -c -o mount-fsprobe_blkid.obj `if test -f 'fsprobe_blkid.c'; then $(CYGPATH_W) 'fsprobe_blkid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_blkid.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-fsprobe_blkid.Tpo" "$(DEPDIR)/mount-fsprobe_blkid.Po"; else rm -f "$(DEPDIR)/mount-fsprobe_blkid.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe_blkid.c' object='mount-fsprobe_blkid.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-fsprobe_blkid.obj `if test -f 'fsprobe_blkid.c'; then $(CYGPATH_W) 'fsprobe_blkid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_blkid.c'; fi`
-
- mount-fsprobe_volumeid.o: fsprobe_volumeid.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe_volumeid.o -MD -MP -MF $(DEPDIR)/mount-fsprobe_volumeid.Tpo -c -o mount-fsprobe_volumeid.o `test -f 'fsprobe_volumeid.c' || echo '$(srcdir)/'`fsprobe_volumeid.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-fsprobe_volumeid.Tpo $(DEPDIR)/mount-fsprobe_volumeid.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe_volumeid.o -MD -MP -MF "$(DEPDIR)/mount-fsprobe_volumeid.Tpo" -c -o mount-fsprobe_volumeid.o `test -f 'fsprobe_volumeid.c' || echo '$(srcdir)/'`fsprobe_volumeid.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-fsprobe_volumeid.Tpo" "$(DEPDIR)/mount-fsprobe_volumeid.Po"; else rm -f "$(DEPDIR)/mount-fsprobe_volumeid.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe_volumeid.c' object='mount-fsprobe_volumeid.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-fsprobe_volumeid.o `test -f 'fsprobe_volumeid.c' || echo '$(srcdir)/'`fsprobe_volumeid.c
-
- mount-fsprobe_volumeid.obj: fsprobe_volumeid.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe_volumeid.obj -MD -MP -MF $(DEPDIR)/mount-fsprobe_volumeid.Tpo -c -o mount-fsprobe_volumeid.obj `if test -f 'fsprobe_volumeid.c'; then $(CYGPATH_W) 'fsprobe_volumeid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_volumeid.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-fsprobe_volumeid.Tpo $(DEPDIR)/mount-fsprobe_volumeid.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-fsprobe_volumeid.obj -MD -MP -MF "$(DEPDIR)/mount-fsprobe_volumeid.Tpo" -c -o mount-fsprobe_volumeid.obj `if test -f 'fsprobe_volumeid.c'; then $(CYGPATH_W) 'fsprobe_volumeid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_volumeid.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-fsprobe_volumeid.Tpo" "$(DEPDIR)/mount-fsprobe_volumeid.Po"; else rm -f "$(DEPDIR)/mount-fsprobe_volumeid.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe_volumeid.c' object='mount-fsprobe_volumeid.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-fsprobe_volumeid.obj `if test -f 'fsprobe_volumeid.c'; then $(CYGPATH_W) 'fsprobe_volumeid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_volumeid.c'; fi`
-
- mount-env.o: ../lib/env.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-env.o -MD -MP -MF $(DEPDIR)/mount-env.Tpo -c -o mount-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-env.Tpo $(DEPDIR)/mount-env.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-env.o -MD -MP -MF "$(DEPDIR)/mount-env.Tpo" -c -o mount-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-env.Tpo" "$(DEPDIR)/mount-env.Po"; else rm -f "$(DEPDIR)/mount-env.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/env.c' object='mount-env.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
-
- mount-env.obj: ../lib/env.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-env.obj -MD -MP -MF $(DEPDIR)/mount-env.Tpo -c -o mount-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-env.Tpo $(DEPDIR)/mount-env.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-env.obj -MD -MP -MF "$(DEPDIR)/mount-env.Tpo" -c -o mount-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-env.Tpo" "$(DEPDIR)/mount-env.Po"; else rm -f "$(DEPDIR)/mount-env.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/env.c' object='mount-env.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
-
- mount-linux_version.o: ../lib/linux_version.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-linux_version.o -MD -MP -MF $(DEPDIR)/mount-linux_version.Tpo -c -o mount-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-linux_version.Tpo $(DEPDIR)/mount-linux_version.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-linux_version.o -MD -MP -MF "$(DEPDIR)/mount-linux_version.Tpo" -c -o mount-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-linux_version.Tpo" "$(DEPDIR)/mount-linux_version.Po"; else rm -f "$(DEPDIR)/mount-linux_version.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/linux_version.c' object='mount-linux_version.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
-
- mount-linux_version.obj: ../lib/linux_version.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-linux_version.obj -MD -MP -MF $(DEPDIR)/mount-linux_version.Tpo -c -o mount-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-linux_version.Tpo $(DEPDIR)/mount-linux_version.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-linux_version.obj -MD -MP -MF "$(DEPDIR)/mount-linux_version.Tpo" -c -o mount-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-linux_version.Tpo" "$(DEPDIR)/mount-linux_version.Po"; else rm -f "$(DEPDIR)/mount-linux_version.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/linux_version.c' object='mount-linux_version.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
-
- mount-blkdev.o: ../lib/blkdev.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-blkdev.o -MD -MP -MF $(DEPDIR)/mount-blkdev.Tpo -c -o mount-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-blkdev.Tpo $(DEPDIR)/mount-blkdev.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-blkdev.o -MD -MP -MF "$(DEPDIR)/mount-blkdev.Tpo" -c -o mount-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-blkdev.Tpo" "$(DEPDIR)/mount-blkdev.Po"; else rm -f "$(DEPDIR)/mount-blkdev.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/blkdev.c' object='mount-blkdev.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
-
- mount-blkdev.obj: ../lib/blkdev.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-blkdev.obj -MD -MP -MF $(DEPDIR)/mount-blkdev.Tpo -c -o mount-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-blkdev.Tpo $(DEPDIR)/mount-blkdev.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-blkdev.obj -MD -MP -MF "$(DEPDIR)/mount-blkdev.Tpo" -c -o mount-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-blkdev.Tpo" "$(DEPDIR)/mount-blkdev.Po"; else rm -f "$(DEPDIR)/mount-blkdev.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/blkdev.c' object='mount-blkdev.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
-
- mount-setproctitle.o: ../lib/setproctitle.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-setproctitle.o -MD -MP -MF $(DEPDIR)/mount-setproctitle.Tpo -c -o mount-setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-setproctitle.Tpo $(DEPDIR)/mount-setproctitle.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-setproctitle.o -MD -MP -MF "$(DEPDIR)/mount-setproctitle.Tpo" -c -o mount-setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-setproctitle.Tpo" "$(DEPDIR)/mount-setproctitle.Po"; else rm -f "$(DEPDIR)/mount-setproctitle.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/setproctitle.c' object='mount-setproctitle.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
-
- mount-setproctitle.obj: ../lib/setproctitle.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-setproctitle.obj -MD -MP -MF $(DEPDIR)/mount-setproctitle.Tpo -c -o mount-setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mount-setproctitle.Tpo $(DEPDIR)/mount-setproctitle.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -MT mount-setproctitle.obj -MD -MP -MF "$(DEPDIR)/mount-setproctitle.Tpo" -c -o mount-setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mount-setproctitle.Tpo" "$(DEPDIR)/mount-setproctitle.Po"; else rm -f "$(DEPDIR)/mount-setproctitle.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/setproctitle.c' object='mount-setproctitle.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mount_CFLAGS) $(CFLAGS) -c -o mount-setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
-
- env.o: ../lib/env.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT env.o -MD -MP -MF $(DEPDIR)/env.Tpo -c -o env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/env.Tpo $(DEPDIR)/env.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT env.o -MD -MP -MF "$(DEPDIR)/env.Tpo" -c -o env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/env.Tpo" "$(DEPDIR)/env.Po"; else rm -f "$(DEPDIR)/env.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/env.c' object='env.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
-
- env.obj: ../lib/env.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT env.obj -MD -MP -MF $(DEPDIR)/env.Tpo -c -o env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/env.Tpo $(DEPDIR)/env.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT env.obj -MD -MP -MF "$(DEPDIR)/env.Tpo" -c -o env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/env.Tpo" "$(DEPDIR)/env.Po"; else rm -f "$(DEPDIR)/env.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/env.c' object='env.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
-
- linux_version.o: ../lib/linux_version.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.o -MD -MP -MF $(DEPDIR)/linux_version.Tpo -c -o linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/linux_version.Tpo $(DEPDIR)/linux_version.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.o -MD -MP -MF "$(DEPDIR)/linux_version.Tpo" -c -o linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/linux_version.Tpo" "$(DEPDIR)/linux_version.Po"; else rm -f "$(DEPDIR)/linux_version.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/linux_version.c' object='linux_version.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
-
- linux_version.obj: ../lib/linux_version.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.obj -MD -MP -MF $(DEPDIR)/linux_version.Tpo -c -o linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/linux_version.Tpo $(DEPDIR)/linux_version.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux_version.obj -MD -MP -MF "$(DEPDIR)/linux_version.Tpo" -c -o linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/linux_version.Tpo" "$(DEPDIR)/linux_version.Po"; else rm -f "$(DEPDIR)/linux_version.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/linux_version.c' object='linux_version.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
-
- blkdev.o: ../lib/blkdev.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.o -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.o -MD -MP -MF "$(DEPDIR)/blkdev.Tpo" -c -o blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/blkdev.Tpo" "$(DEPDIR)/blkdev.Po"; else rm -f "$(DEPDIR)/blkdev.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/blkdev.c' object='blkdev.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
-
- blkdev.obj: ../lib/blkdev.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.obj -MD -MP -MF $(DEPDIR)/blkdev.Tpo -c -o blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/blkdev.Tpo $(DEPDIR)/blkdev.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT blkdev.obj -MD -MP -MF "$(DEPDIR)/blkdev.Tpo" -c -o blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/blkdev.Tpo" "$(DEPDIR)/blkdev.Po"; else rm -f "$(DEPDIR)/blkdev.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/blkdev.c' object='blkdev.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
-
- setproctitle.o: ../lib/setproctitle.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT setproctitle.o -MD -MP -MF $(DEPDIR)/setproctitle.Tpo -c -o setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/setproctitle.Tpo $(DEPDIR)/setproctitle.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT setproctitle.o -MD -MP -MF "$(DEPDIR)/setproctitle.Tpo" -c -o setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/setproctitle.Tpo" "$(DEPDIR)/setproctitle.Po"; else rm -f "$(DEPDIR)/setproctitle.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/setproctitle.c' object='setproctitle.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
-
- setproctitle.obj: ../lib/setproctitle.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT setproctitle.obj -MD -MP -MF $(DEPDIR)/setproctitle.Tpo -c -o setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/setproctitle.Tpo $(DEPDIR)/setproctitle.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT setproctitle.obj -MD -MP -MF "$(DEPDIR)/setproctitle.Tpo" -c -o setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/setproctitle.Tpo" "$(DEPDIR)/setproctitle.Po"; else rm -f "$(DEPDIR)/setproctitle.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/setproctitle.c' object='setproctitle.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
-
- mtab_lock_test-fstab.o: fstab.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-fstab.o -MD -MP -MF $(DEPDIR)/mtab_lock_test-fstab.Tpo -c -o mtab_lock_test-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtab_lock_test-fstab.Tpo $(DEPDIR)/mtab_lock_test-fstab.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-fstab.o -MD -MP -MF "$(DEPDIR)/mtab_lock_test-fstab.Tpo" -c -o mtab_lock_test-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mtab_lock_test-fstab.Tpo" "$(DEPDIR)/mtab_lock_test-fstab.Po"; else rm -f "$(DEPDIR)/mtab_lock_test-fstab.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fstab.c' object='mtab_lock_test-fstab.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
-
- mtab_lock_test-fstab.obj: fstab.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-fstab.obj -MD -MP -MF $(DEPDIR)/mtab_lock_test-fstab.Tpo -c -o mtab_lock_test-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtab_lock_test-fstab.Tpo $(DEPDIR)/mtab_lock_test-fstab.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-fstab.obj -MD -MP -MF "$(DEPDIR)/mtab_lock_test-fstab.Tpo" -c -o mtab_lock_test-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mtab_lock_test-fstab.Tpo" "$(DEPDIR)/mtab_lock_test-fstab.Po"; else rm -f "$(DEPDIR)/mtab_lock_test-fstab.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fstab.c' object='mtab_lock_test-fstab.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
-
- mtab_lock_test-sundries.o: sundries.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-sundries.o -MD -MP -MF $(DEPDIR)/mtab_lock_test-sundries.Tpo -c -o mtab_lock_test-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtab_lock_test-sundries.Tpo $(DEPDIR)/mtab_lock_test-sundries.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-sundries.o -MD -MP -MF "$(DEPDIR)/mtab_lock_test-sundries.Tpo" -c -o mtab_lock_test-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mtab_lock_test-sundries.Tpo" "$(DEPDIR)/mtab_lock_test-sundries.Po"; else rm -f "$(DEPDIR)/mtab_lock_test-sundries.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sundries.c' object='mtab_lock_test-sundries.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
-
- mtab_lock_test-sundries.obj: sundries.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-sundries.obj -MD -MP -MF $(DEPDIR)/mtab_lock_test-sundries.Tpo -c -o mtab_lock_test-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtab_lock_test-sundries.Tpo $(DEPDIR)/mtab_lock_test-sundries.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-sundries.obj -MD -MP -MF "$(DEPDIR)/mtab_lock_test-sundries.Tpo" -c -o mtab_lock_test-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mtab_lock_test-sundries.Tpo" "$(DEPDIR)/mtab_lock_test-sundries.Po"; else rm -f "$(DEPDIR)/mtab_lock_test-sundries.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sundries.c' object='mtab_lock_test-sundries.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
-
- mtab_lock_test-xmalloc.o: xmalloc.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-xmalloc.o -MD -MP -MF $(DEPDIR)/mtab_lock_test-xmalloc.Tpo -c -o mtab_lock_test-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtab_lock_test-xmalloc.Tpo $(DEPDIR)/mtab_lock_test-xmalloc.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-xmalloc.o -MD -MP -MF "$(DEPDIR)/mtab_lock_test-xmalloc.Tpo" -c -o mtab_lock_test-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mtab_lock_test-xmalloc.Tpo" "$(DEPDIR)/mtab_lock_test-xmalloc.Po"; else rm -f "$(DEPDIR)/mtab_lock_test-xmalloc.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xmalloc.c' object='mtab_lock_test-xmalloc.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
-
- mtab_lock_test-xmalloc.obj: xmalloc.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-xmalloc.obj -MD -MP -MF $(DEPDIR)/mtab_lock_test-xmalloc.Tpo -c -o mtab_lock_test-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtab_lock_test-xmalloc.Tpo $(DEPDIR)/mtab_lock_test-xmalloc.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtab_lock_test-xmalloc.obj -MD -MP -MF "$(DEPDIR)/mtab_lock_test-xmalloc.Tpo" -c -o mtab_lock_test-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mtab_lock_test-xmalloc.Tpo" "$(DEPDIR)/mtab_lock_test-xmalloc.Po"; else rm -f "$(DEPDIR)/mtab_lock_test-xmalloc.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xmalloc.c' object='mtab_lock_test-xmalloc.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mtab_lock_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtab_lock_test-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
-
- umount-umount.o: umount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-umount.o -MD -MP -MF $(DEPDIR)/umount-umount.Tpo -c -o umount-umount.o `test -f 'umount.c' || echo '$(srcdir)/'`umount.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-umount.Tpo $(DEPDIR)/umount-umount.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-umount.o -MD -MP -MF "$(DEPDIR)/umount-umount.Tpo" -c -o umount-umount.o `test -f 'umount.c' || echo '$(srcdir)/'`umount.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-umount.Tpo" "$(DEPDIR)/umount-umount.Po"; else rm -f "$(DEPDIR)/umount-umount.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='umount.c' object='umount-umount.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-umount.o `test -f 'umount.c' || echo '$(srcdir)/'`umount.c
-
- umount-umount.obj: umount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-umount.obj -MD -MP -MF $(DEPDIR)/umount-umount.Tpo -c -o umount-umount.obj `if test -f 'umount.c'; then $(CYGPATH_W) 'umount.c'; else $(CYGPATH_W) '$(srcdir)/umount.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-umount.Tpo $(DEPDIR)/umount-umount.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-umount.obj -MD -MP -MF "$(DEPDIR)/umount-umount.Tpo" -c -o umount-umount.obj `if test -f 'umount.c'; then $(CYGPATH_W) 'umount.c'; else $(CYGPATH_W) '$(srcdir)/umount.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-umount.Tpo" "$(DEPDIR)/umount-umount.Po"; else rm -f "$(DEPDIR)/umount-umount.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='umount.c' object='umount-umount.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-umount.obj `if test -f 'umount.c'; then $(CYGPATH_W) 'umount.c'; else $(CYGPATH_W) '$(srcdir)/umount.c'; fi`
-
-+umount-loumount.o: loumount.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-loumount.o -MD -MP -MF "$(DEPDIR)/umount-loumount.Tpo" -c -o umount-loumount.o `test -f 'loumount.c' || echo '$(srcdir)/'`loumount.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-loumount.Tpo" "$(DEPDIR)/umount-loumount.Po"; else rm -f "$(DEPDIR)/umount-loumount.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loumount.c' object='umount-loumount.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-loumount.o `test -f 'loumount.c' || echo '$(srcdir)/'`loumount.c
-+
-+umount-loumount.obj: loumount.c
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-loumount.obj -MD -MP -MF "$(DEPDIR)/umount-loumount.Tpo" -c -o umount-loumount.obj `if test -f 'loumount.c'; then $(CYGPATH_W) 'loumount.c'; else $(CYGPATH_W) '$(srcdir)/loumount.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-loumount.Tpo" "$(DEPDIR)/umount-loumount.Po"; else rm -f "$(DEPDIR)/umount-loumount.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loumount.c' object='umount-loumount.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-loumount.obj `if test -f 'loumount.c'; then $(CYGPATH_W) 'loumount.c'; else $(CYGPATH_W) '$(srcdir)/loumount.c'; fi`
-+
- umount-fstab.o: fstab.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fstab.o -MD -MP -MF $(DEPDIR)/umount-fstab.Tpo -c -o umount-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-fstab.Tpo $(DEPDIR)/umount-fstab.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fstab.o -MD -MP -MF "$(DEPDIR)/umount-fstab.Tpo" -c -o umount-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-fstab.Tpo" "$(DEPDIR)/umount-fstab.Po"; else rm -f "$(DEPDIR)/umount-fstab.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fstab.c' object='umount-fstab.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-fstab.o `test -f 'fstab.c' || echo '$(srcdir)/'`fstab.c
-
- umount-fstab.obj: fstab.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fstab.obj -MD -MP -MF $(DEPDIR)/umount-fstab.Tpo -c -o umount-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-fstab.Tpo $(DEPDIR)/umount-fstab.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fstab.obj -MD -MP -MF "$(DEPDIR)/umount-fstab.Tpo" -c -o umount-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-fstab.Tpo" "$(DEPDIR)/umount-fstab.Po"; else rm -f "$(DEPDIR)/umount-fstab.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fstab.c' object='umount-fstab.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-fstab.obj `if test -f 'fstab.c'; then $(CYGPATH_W) 'fstab.c'; else $(CYGPATH_W) '$(srcdir)/fstab.c'; fi`
-
- umount-mount_mntent.o: mount_mntent.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-mount_mntent.o -MD -MP -MF $(DEPDIR)/umount-mount_mntent.Tpo -c -o umount-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-mount_mntent.Tpo $(DEPDIR)/umount-mount_mntent.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-mount_mntent.o -MD -MP -MF "$(DEPDIR)/umount-mount_mntent.Tpo" -c -o umount-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-mount_mntent.Tpo" "$(DEPDIR)/umount-mount_mntent.Po"; else rm -f "$(DEPDIR)/umount-mount_mntent.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount_mntent.c' object='umount-mount_mntent.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-mount_mntent.o `test -f 'mount_mntent.c' || echo '$(srcdir)/'`mount_mntent.c
-
- umount-mount_mntent.obj: mount_mntent.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-mount_mntent.obj -MD -MP -MF $(DEPDIR)/umount-mount_mntent.Tpo -c -o umount-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-mount_mntent.Tpo $(DEPDIR)/umount-mount_mntent.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-mount_mntent.obj -MD -MP -MF "$(DEPDIR)/umount-mount_mntent.Tpo" -c -o umount-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-mount_mntent.Tpo" "$(DEPDIR)/umount-mount_mntent.Po"; else rm -f "$(DEPDIR)/umount-mount_mntent.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mount_mntent.c' object='umount-mount_mntent.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-mount_mntent.obj `if test -f 'mount_mntent.c'; then $(CYGPATH_W) 'mount_mntent.c'; else $(CYGPATH_W) '$(srcdir)/mount_mntent.c'; fi`
-
- umount-getusername.o: getusername.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-getusername.o -MD -MP -MF $(DEPDIR)/umount-getusername.Tpo -c -o umount-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-getusername.Tpo $(DEPDIR)/umount-getusername.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-getusername.o -MD -MP -MF "$(DEPDIR)/umount-getusername.Tpo" -c -o umount-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-getusername.Tpo" "$(DEPDIR)/umount-getusername.Po"; else rm -f "$(DEPDIR)/umount-getusername.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='getusername.c' object='umount-getusername.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-getusername.o `test -f 'getusername.c' || echo '$(srcdir)/'`getusername.c
-
- umount-getusername.obj: getusername.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-getusername.obj -MD -MP -MF $(DEPDIR)/umount-getusername.Tpo -c -o umount-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-getusername.Tpo $(DEPDIR)/umount-getusername.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-getusername.obj -MD -MP -MF "$(DEPDIR)/umount-getusername.Tpo" -c -o umount-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-getusername.Tpo" "$(DEPDIR)/umount-getusername.Po"; else rm -f "$(DEPDIR)/umount-getusername.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='getusername.c' object='umount-getusername.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-getusername.obj `if test -f 'getusername.c'; then $(CYGPATH_W) 'getusername.c'; else $(CYGPATH_W) '$(srcdir)/getusername.c'; fi`
-
--umount-lomount.o: lomount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-lomount.o -MD -MP -MF $(DEPDIR)/umount-lomount.Tpo -c -o umount-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-lomount.Tpo $(DEPDIR)/umount-lomount.Po
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lomount.c' object='umount-lomount.o' libtool=no @AMDEPBACKSLASH@
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
--@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-lomount.o `test -f 'lomount.c' || echo '$(srcdir)/'`lomount.c
--
--umount-lomount.obj: lomount.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-lomount.obj -MD -MP -MF $(DEPDIR)/umount-lomount.Tpo -c -o umount-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-lomount.Tpo $(DEPDIR)/umount-lomount.Po
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lomount.c' object='umount-lomount.obj' libtool=no @AMDEPBACKSLASH@
--@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
--@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-lomount.obj `if test -f 'lomount.c'; then $(CYGPATH_W) 'lomount.c'; else $(CYGPATH_W) '$(srcdir)/lomount.c'; fi`
--
- umount-sundries.o: sundries.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-sundries.o -MD -MP -MF $(DEPDIR)/umount-sundries.Tpo -c -o umount-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-sundries.Tpo $(DEPDIR)/umount-sundries.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-sundries.o -MD -MP -MF "$(DEPDIR)/umount-sundries.Tpo" -c -o umount-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-sundries.Tpo" "$(DEPDIR)/umount-sundries.Po"; else rm -f "$(DEPDIR)/umount-sundries.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sundries.c' object='umount-sundries.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-sundries.o `test -f 'sundries.c' || echo '$(srcdir)/'`sundries.c
-
- umount-sundries.obj: sundries.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-sundries.obj -MD -MP -MF $(DEPDIR)/umount-sundries.Tpo -c -o umount-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-sundries.Tpo $(DEPDIR)/umount-sundries.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-sundries.obj -MD -MP -MF "$(DEPDIR)/umount-sundries.Tpo" -c -o umount-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-sundries.Tpo" "$(DEPDIR)/umount-sundries.Po"; else rm -f "$(DEPDIR)/umount-sundries.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sundries.c' object='umount-sundries.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-sundries.obj `if test -f 'sundries.c'; then $(CYGPATH_W) 'sundries.c'; else $(CYGPATH_W) '$(srcdir)/sundries.c'; fi`
-
- umount-xmalloc.o: xmalloc.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-xmalloc.o -MD -MP -MF $(DEPDIR)/umount-xmalloc.Tpo -c -o umount-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-xmalloc.Tpo $(DEPDIR)/umount-xmalloc.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-xmalloc.o -MD -MP -MF "$(DEPDIR)/umount-xmalloc.Tpo" -c -o umount-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-xmalloc.Tpo" "$(DEPDIR)/umount-xmalloc.Po"; else rm -f "$(DEPDIR)/umount-xmalloc.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xmalloc.c' object='umount-xmalloc.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
-
- umount-xmalloc.obj: xmalloc.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-xmalloc.obj -MD -MP -MF $(DEPDIR)/umount-xmalloc.Tpo -c -o umount-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-xmalloc.Tpo $(DEPDIR)/umount-xmalloc.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-xmalloc.obj -MD -MP -MF "$(DEPDIR)/umount-xmalloc.Tpo" -c -o umount-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-xmalloc.Tpo" "$(DEPDIR)/umount-xmalloc.Po"; else rm -f "$(DEPDIR)/umount-xmalloc.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xmalloc.c' object='umount-xmalloc.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
-
- umount-realpath.o: realpath.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-realpath.o -MD -MP -MF $(DEPDIR)/umount-realpath.Tpo -c -o umount-realpath.o `test -f 'realpath.c' || echo '$(srcdir)/'`realpath.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-realpath.Tpo $(DEPDIR)/umount-realpath.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-realpath.o -MD -MP -MF "$(DEPDIR)/umount-realpath.Tpo" -c -o umount-realpath.o `test -f 'realpath.c' || echo '$(srcdir)/'`realpath.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-realpath.Tpo" "$(DEPDIR)/umount-realpath.Po"; else rm -f "$(DEPDIR)/umount-realpath.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='realpath.c' object='umount-realpath.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-realpath.o `test -f 'realpath.c' || echo '$(srcdir)/'`realpath.c
-
- umount-realpath.obj: realpath.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-realpath.obj -MD -MP -MF $(DEPDIR)/umount-realpath.Tpo -c -o umount-realpath.obj `if test -f 'realpath.c'; then $(CYGPATH_W) 'realpath.c'; else $(CYGPATH_W) '$(srcdir)/realpath.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-realpath.Tpo $(DEPDIR)/umount-realpath.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-realpath.obj -MD -MP -MF "$(DEPDIR)/umount-realpath.Tpo" -c -o umount-realpath.obj `if test -f 'realpath.c'; then $(CYGPATH_W) 'realpath.c'; else $(CYGPATH_W) '$(srcdir)/realpath.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-realpath.Tpo" "$(DEPDIR)/umount-realpath.Po"; else rm -f "$(DEPDIR)/umount-realpath.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='realpath.c' object='umount-realpath.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-realpath.obj `if test -f 'realpath.c'; then $(CYGPATH_W) 'realpath.c'; else $(CYGPATH_W) '$(srcdir)/realpath.c'; fi`
-
- umount-fsprobe.o: fsprobe.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe.o -MD -MP -MF $(DEPDIR)/umount-fsprobe.Tpo -c -o umount-fsprobe.o `test -f 'fsprobe.c' || echo '$(srcdir)/'`fsprobe.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-fsprobe.Tpo $(DEPDIR)/umount-fsprobe.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe.o -MD -MP -MF "$(DEPDIR)/umount-fsprobe.Tpo" -c -o umount-fsprobe.o `test -f 'fsprobe.c' || echo '$(srcdir)/'`fsprobe.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-fsprobe.Tpo" "$(DEPDIR)/umount-fsprobe.Po"; else rm -f "$(DEPDIR)/umount-fsprobe.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe.c' object='umount-fsprobe.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-fsprobe.o `test -f 'fsprobe.c' || echo '$(srcdir)/'`fsprobe.c
-
- umount-fsprobe.obj: fsprobe.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe.obj -MD -MP -MF $(DEPDIR)/umount-fsprobe.Tpo -c -o umount-fsprobe.obj `if test -f 'fsprobe.c'; then $(CYGPATH_W) 'fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-fsprobe.Tpo $(DEPDIR)/umount-fsprobe.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe.obj -MD -MP -MF "$(DEPDIR)/umount-fsprobe.Tpo" -c -o umount-fsprobe.obj `if test -f 'fsprobe.c'; then $(CYGPATH_W) 'fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-fsprobe.Tpo" "$(DEPDIR)/umount-fsprobe.Po"; else rm -f "$(DEPDIR)/umount-fsprobe.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe.c' object='umount-fsprobe.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-fsprobe.obj `if test -f 'fsprobe.c'; then $(CYGPATH_W) 'fsprobe.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe.c'; fi`
-
- umount-fsprobe_blkid.o: fsprobe_blkid.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe_blkid.o -MD -MP -MF $(DEPDIR)/umount-fsprobe_blkid.Tpo -c -o umount-fsprobe_blkid.o `test -f 'fsprobe_blkid.c' || echo '$(srcdir)/'`fsprobe_blkid.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-fsprobe_blkid.Tpo $(DEPDIR)/umount-fsprobe_blkid.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe_blkid.o -MD -MP -MF "$(DEPDIR)/umount-fsprobe_blkid.Tpo" -c -o umount-fsprobe_blkid.o `test -f 'fsprobe_blkid.c' || echo '$(srcdir)/'`fsprobe_blkid.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-fsprobe_blkid.Tpo" "$(DEPDIR)/umount-fsprobe_blkid.Po"; else rm -f "$(DEPDIR)/umount-fsprobe_blkid.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe_blkid.c' object='umount-fsprobe_blkid.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-fsprobe_blkid.o `test -f 'fsprobe_blkid.c' || echo '$(srcdir)/'`fsprobe_blkid.c
-
- umount-fsprobe_blkid.obj: fsprobe_blkid.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe_blkid.obj -MD -MP -MF $(DEPDIR)/umount-fsprobe_blkid.Tpo -c -o umount-fsprobe_blkid.obj `if test -f 'fsprobe_blkid.c'; then $(CYGPATH_W) 'fsprobe_blkid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_blkid.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-fsprobe_blkid.Tpo $(DEPDIR)/umount-fsprobe_blkid.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe_blkid.obj -MD -MP -MF "$(DEPDIR)/umount-fsprobe_blkid.Tpo" -c -o umount-fsprobe_blkid.obj `if test -f 'fsprobe_blkid.c'; then $(CYGPATH_W) 'fsprobe_blkid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_blkid.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-fsprobe_blkid.Tpo" "$(DEPDIR)/umount-fsprobe_blkid.Po"; else rm -f "$(DEPDIR)/umount-fsprobe_blkid.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe_blkid.c' object='umount-fsprobe_blkid.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-fsprobe_blkid.obj `if test -f 'fsprobe_blkid.c'; then $(CYGPATH_W) 'fsprobe_blkid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_blkid.c'; fi`
-
- umount-fsprobe_volumeid.o: fsprobe_volumeid.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe_volumeid.o -MD -MP -MF $(DEPDIR)/umount-fsprobe_volumeid.Tpo -c -o umount-fsprobe_volumeid.o `test -f 'fsprobe_volumeid.c' || echo '$(srcdir)/'`fsprobe_volumeid.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-fsprobe_volumeid.Tpo $(DEPDIR)/umount-fsprobe_volumeid.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe_volumeid.o -MD -MP -MF "$(DEPDIR)/umount-fsprobe_volumeid.Tpo" -c -o umount-fsprobe_volumeid.o `test -f 'fsprobe_volumeid.c' || echo '$(srcdir)/'`fsprobe_volumeid.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-fsprobe_volumeid.Tpo" "$(DEPDIR)/umount-fsprobe_volumeid.Po"; else rm -f "$(DEPDIR)/umount-fsprobe_volumeid.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe_volumeid.c' object='umount-fsprobe_volumeid.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-fsprobe_volumeid.o `test -f 'fsprobe_volumeid.c' || echo '$(srcdir)/'`fsprobe_volumeid.c
-
- umount-fsprobe_volumeid.obj: fsprobe_volumeid.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe_volumeid.obj -MD -MP -MF $(DEPDIR)/umount-fsprobe_volumeid.Tpo -c -o umount-fsprobe_volumeid.obj `if test -f 'fsprobe_volumeid.c'; then $(CYGPATH_W) 'fsprobe_volumeid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_volumeid.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-fsprobe_volumeid.Tpo $(DEPDIR)/umount-fsprobe_volumeid.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-fsprobe_volumeid.obj -MD -MP -MF "$(DEPDIR)/umount-fsprobe_volumeid.Tpo" -c -o umount-fsprobe_volumeid.obj `if test -f 'fsprobe_volumeid.c'; then $(CYGPATH_W) 'fsprobe_volumeid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_volumeid.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-fsprobe_volumeid.Tpo" "$(DEPDIR)/umount-fsprobe_volumeid.Po"; else rm -f "$(DEPDIR)/umount-fsprobe_volumeid.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsprobe_volumeid.c' object='umount-fsprobe_volumeid.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-fsprobe_volumeid.obj `if test -f 'fsprobe_volumeid.c'; then $(CYGPATH_W) 'fsprobe_volumeid.c'; else $(CYGPATH_W) '$(srcdir)/fsprobe_volumeid.c'; fi`
-
- umount-env.o: ../lib/env.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-env.o -MD -MP -MF $(DEPDIR)/umount-env.Tpo -c -o umount-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-env.Tpo $(DEPDIR)/umount-env.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-env.o -MD -MP -MF "$(DEPDIR)/umount-env.Tpo" -c -o umount-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-env.Tpo" "$(DEPDIR)/umount-env.Po"; else rm -f "$(DEPDIR)/umount-env.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/env.c' object='umount-env.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
-
- umount-env.obj: ../lib/env.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-env.obj -MD -MP -MF $(DEPDIR)/umount-env.Tpo -c -o umount-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-env.Tpo $(DEPDIR)/umount-env.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-env.obj -MD -MP -MF "$(DEPDIR)/umount-env.Tpo" -c -o umount-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-env.Tpo" "$(DEPDIR)/umount-env.Po"; else rm -f "$(DEPDIR)/umount-env.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/env.c' object='umount-env.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
-
- umount-linux_version.o: ../lib/linux_version.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-linux_version.o -MD -MP -MF $(DEPDIR)/umount-linux_version.Tpo -c -o umount-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-linux_version.Tpo $(DEPDIR)/umount-linux_version.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-linux_version.o -MD -MP -MF "$(DEPDIR)/umount-linux_version.Tpo" -c -o umount-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-linux_version.Tpo" "$(DEPDIR)/umount-linux_version.Po"; else rm -f "$(DEPDIR)/umount-linux_version.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/linux_version.c' object='umount-linux_version.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-linux_version.o `test -f '../lib/linux_version.c' || echo '$(srcdir)/'`../lib/linux_version.c
-
- umount-linux_version.obj: ../lib/linux_version.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-linux_version.obj -MD -MP -MF $(DEPDIR)/umount-linux_version.Tpo -c -o umount-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-linux_version.Tpo $(DEPDIR)/umount-linux_version.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-linux_version.obj -MD -MP -MF "$(DEPDIR)/umount-linux_version.Tpo" -c -o umount-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-linux_version.Tpo" "$(DEPDIR)/umount-linux_version.Po"; else rm -f "$(DEPDIR)/umount-linux_version.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/linux_version.c' object='umount-linux_version.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-linux_version.obj `if test -f '../lib/linux_version.c'; then $(CYGPATH_W) '../lib/linux_version.c'; else $(CYGPATH_W) '$(srcdir)/../lib/linux_version.c'; fi`
-
- umount-blkdev.o: ../lib/blkdev.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-blkdev.o -MD -MP -MF $(DEPDIR)/umount-blkdev.Tpo -c -o umount-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-blkdev.Tpo $(DEPDIR)/umount-blkdev.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-blkdev.o -MD -MP -MF "$(DEPDIR)/umount-blkdev.Tpo" -c -o umount-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-blkdev.Tpo" "$(DEPDIR)/umount-blkdev.Po"; else rm -f "$(DEPDIR)/umount-blkdev.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/blkdev.c' object='umount-blkdev.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-blkdev.o `test -f '../lib/blkdev.c' || echo '$(srcdir)/'`../lib/blkdev.c
-
- umount-blkdev.obj: ../lib/blkdev.c
--@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-blkdev.obj -MD -MP -MF $(DEPDIR)/umount-blkdev.Tpo -c -o umount-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
--@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/umount-blkdev.Tpo $(DEPDIR)/umount-blkdev.Po
-+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -MT umount-blkdev.obj -MD -MP -MF "$(DEPDIR)/umount-blkdev.Tpo" -c -o umount-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/umount-blkdev.Tpo" "$(DEPDIR)/umount-blkdev.Po"; else rm -f "$(DEPDIR)/umount-blkdev.Tpo"; exit 1; fi
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../lib/blkdev.c' object='umount-blkdev.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(umount_CFLAGS) $(CFLAGS) -c -o umount-blkdev.obj `if test -f '../lib/blkdev.c'; then $(CYGPATH_W) '../lib/blkdev.c'; else $(CYGPATH_W) '$(srcdir)/../lib/blkdev.c'; fi`
-+uninstall-info-am:
- install-man5: $(man5_MANS) $(man_MANS)
- @$(NORMAL_INSTALL)
-- test -z "$(man5dir)" || $(MKDIR_P) "$(DESTDIR)$(man5dir)"
-+ test -z "$(man5dir)" || $(mkdir_p) "$(DESTDIR)$(man5dir)"
- @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
-@@ -1243,7 +1544,7 @@
- done
- install-man8: $(man8_MANS) $(man_MANS)
- @$(NORMAL_INSTALL)
-- test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
-+ test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)"
- @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
-@@ -1336,21 +1637,23 @@
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
- distdir: $(DISTFILES)
-- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-- list='$(DISTFILES)'; \
-- dist_files=`for file in $$list; do echo $$file; done | \
-- sed -e "s|^$$srcdirstrip/||;t" \
-- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-- case $$dist_files in \
-- */*) $(MKDIR_P) `echo "$$dist_files" | \
-- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-- sort -u` ;; \
-- esac; \
-- for file in $$dist_files; do \
-+ $(mkdir_p) $(distdir)/../config
-+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
-+ list='$(DISTFILES)'; for file in $$list; do \
-+ case $$file in \
-+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
-+ esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
-+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-+ dir="/$$dir"; \
-+ $(mkdir_p) "$(distdir)$$dir"; \
-+ else \
-+ dir=''; \
-+ fi; \
- if test -d $$d/$$file; then \
-- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
-@@ -1366,7 +1669,7 @@
- all-am: Makefile $(PROGRAMS) $(MANS) $(DATA)
- installdirs:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \
-- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
- install: install-am
- install-exec: install-exec-am
-@@ -1415,22 +1718,14 @@
-
- install-data-am: install-man
-
--install-dvi: install-dvi-am
--
- install-exec-am: install-binPROGRAMS install-sbinPROGRAMS
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-
--install-html: install-html-am
--
- install-info: install-info-am
-
- install-man: install-man5 install-man8
-
--install-pdf: install-pdf-am
--
--install-ps: install-ps-am
--
- installcheck-am:
-
- maintainer-clean: maintainer-clean-am
-@@ -1450,28 +1745,25 @@
-
- ps-am:
-
--uninstall-am: uninstall-binPROGRAMS uninstall-man \
-+uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-man \
- uninstall-sbinPROGRAMS
-
- uninstall-man: uninstall-man5 uninstall-man8
-
--.MAKE: install-am install-exec-am install-strip
--
- .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-noinstPROGRAMS clean-sbinPROGRAMS ctags \
- distclean distclean-compile distclean-generic distclean-tags \
- distdir dvi dvi-am html html-am info info-am install \
- install-am install-binPROGRAMS install-data install-data-am \
-- install-dvi install-dvi-am install-exec install-exec-am \
-- install-exec-hook install-html install-html-am install-info \
-+ install-exec install-exec-am install-exec-hook install-info \
- install-info-am install-man install-man5 install-man8 \
-- install-pdf install-pdf-am install-ps install-ps-am \
- install-sbinPROGRAMS install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
-- uninstall-am uninstall-binPROGRAMS uninstall-man \
-- uninstall-man5 uninstall-man8 uninstall-sbinPROGRAMS
-+ uninstall-am uninstall-binPROGRAMS uninstall-info-am \
-+ uninstall-man uninstall-man5 uninstall-man8 \
-+ uninstall-sbinPROGRAMS
-
-
- install-exec-hook:
-diff -urN util-linux-ng-2.14/mount/aes.c util-linux-ng-2.14-AES/mount/aes.c
---- util-linux-ng-2.14/mount/aes.c 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.14-AES/mount/aes.c 2008-06-24 16:55:13.000000000 +0300
-@@ -0,0 +1,299 @@
-+// I retain copyright in this code but I encourage its free use provided
-+// that I don't carry any responsibility for the results. I am especially
-+// happy to see it used in free and open source software. If you do use
-+// it I would appreciate an acknowledgement of its origin in the code or
-+// the product that results and I would also appreciate knowing a little
-+// about the use to which it is being put. I am grateful to Frank Yellin
-+// for some ideas that are used in this implementation.
-+//
-+// Dr B. R. Gladman <brg@gladman.uk.net> 6th April 2001.
-+//
-+// This is an implementation of the AES encryption algorithm (Rijndael)
-+// designed by Joan Daemen and Vincent Rijmen. This version is designed
-+// to provide both fixed and dynamic block and key lengths and can also
-+// run with either big or little endian internal byte order (see aes.h).
-+// It inputs block and key lengths in bytes with the legal values being
-+// 16, 24 and 32.
-+
-+/*
-+ * Modified by Jari Ruusu, May 1 2001
-+ * - Fixed some compile warnings, code was ok but gcc warned anyway.
-+ * - Changed basic types: byte -> unsigned char, word -> u_int32_t
-+ * - Major name space cleanup: Names visible to outside now begin
-+ * with "aes_" or "AES_". A lot of stuff moved from aes.h to aes.c
-+ * - Removed C++ and DLL support as part of name space cleanup.
-+ * - Eliminated unnecessary recomputation of tables. (actual bug fix)
-+ * - Merged precomputed constant tables to aes.c file.
-+ * - Removed data alignment restrictions for portability reasons.
-+ * - Made block and key lengths accept bit count (128/192/256)
-+ * as well byte count (16/24/32).
-+ * - Removed all error checks. This change also eliminated the need
-+ * to preinitialize the context struct to zero.
-+ * - Removed some totally unused constants.
-+ */
-+
-+/*
-+ * Modified by Jari Ruusu, June 9 2003
-+ * - Removed all code not necessary for small size
-+ * optimized encryption using 256 bit keys.
-+ */
-+
-+#include "aes.h"
-+
-+#if AES_BLOCK_SIZE != 16
-+#error an illegal block size has been specified
-+#endif
-+
-+// upr(x,n): rotates bytes within words by n positions, moving bytes
-+// to higher index positions with wrap around into low positions
-+// bval(x,n): extracts a byte from a word
-+
-+#define upr(x,n) (((x) << 8 * (n)) | ((x) >> (32 - 8 * (n))))
-+#define bval(x,n) ((unsigned char)((x) >> 8 * (n)))
-+#define bytes2word(b0, b1, b2, b3) \
-+ ((u_int32_t)(b3) << 24 | (u_int32_t)(b2) << 16 | (u_int32_t)(b1) << 8 | (b0))
-+
-+#if defined(i386) || defined(_I386) || defined(__i386__) || defined(__i386)
-+/* little endian processor without data alignment restrictions */
-+#define word_in(x) *(u_int32_t*)(x)
-+#define word_out(x,v) *(u_int32_t*)(x) = (v)
-+#else
-+/* slower but generic big endian or with data alignment restrictions */
-+#define word_in(x) ((u_int32_t)(((unsigned char *)(x))[0])|((u_int32_t)(((unsigned char *)(x))[1])<<8)|((u_int32_t)(((unsigned char *)(x))[2])<<16)|((u_int32_t)(((unsigned char *)(x))[3])<<24))
-+#define word_out(x,v) ((unsigned char *)(x))[0]=(v),((unsigned char *)(x))[1]=((v)>>8),((unsigned char *)(x))[2]=((v)>>16),((unsigned char *)(x))[3]=((v)>>24)
-+#endif
-+
-+// the finite field modular polynomial and elements
-+
-+#define ff_poly 0x011b
-+#define ff_hi 0x80
-+
-+static int tab_gen = 0;
-+static unsigned char s_box[256]; // the S box
-+static u_int32_t rcon_tab[AES_RC_LENGTH]; // table of round constants
-+static u_int32_t ft_tab[4][256];
-+static u_int32_t fl_tab[4][256];
-+
-+// Generate the tables for the dynamic table option
-+
-+// It will generally be sensible to use tables to compute finite
-+// field multiplies and inverses but where memory is scarse this
-+// code might sometimes be better.
-+
-+// return 2 ^ (n - 1) where n is the bit number of the highest bit
-+// set in x with x in the range 1 < x < 0x00000200. This form is
-+// used so that locals within FFinv can be bytes rather than words
-+
-+static unsigned char hibit(const u_int32_t x)
-+{ unsigned char r = (unsigned char)((x >> 1) | (x >> 2));
-+
-+ r |= (r >> 2);
-+ r |= (r >> 4);
-+ return (r + 1) >> 1;
-+}
-+
-+// return the inverse of the finite field element x
-+
-+static unsigned char FFinv(const unsigned char x)
-+{ unsigned char p1 = x, p2 = 0x1b, n1 = hibit(x), n2 = 0x80, v1 = 1, v2 = 0;
-+
-+ if(x < 2) return x;
-+
-+ for(;;)
-+ {
-+ if(!n1) return v1;
-+
-+ while(n2 >= n1)
-+ {
-+ n2 /= n1; p2 ^= p1 * n2; v2 ^= v1 * n2; n2 = hibit(p2);
-+ }
-+
-+ if(!n2) return v2;
-+
-+ while(n1 >= n2)
-+ {
-+ n1 /= n2; p1 ^= p2 * n1; v1 ^= v2 * n1; n1 = hibit(p1);
-+ }
-+ }
-+}
-+
-+// define the finite field multiplies required for Rijndael
-+
-+#define FFmul02(x) ((((x) & 0x7f) << 1) ^ ((x) & 0x80 ? 0x1b : 0))
-+#define FFmul03(x) ((x) ^ FFmul02(x))
-+
-+// The forward and inverse affine transformations used in the S-box
-+
-+#define fwd_affine(x) \
-+ (w = (u_int32_t)x, w ^= (w<<1)^(w<<2)^(w<<3)^(w<<4), 0x63^(unsigned char)(w^(w>>8)))
-+
-+static void gen_tabs(void)
-+{ u_int32_t i, w;
-+
-+ for(i = 0, w = 1; i < AES_RC_LENGTH; ++i)
-+ {
-+ rcon_tab[i] = bytes2word(w, 0, 0, 0);
-+ w = (w << 1) ^ (w & ff_hi ? ff_poly : 0);
-+ }
-+
-+ for(i = 0; i < 256; ++i)
-+ { unsigned char b;
-+
-+ s_box[i] = b = fwd_affine(FFinv((unsigned char)i));
-+
-+ w = bytes2word(b, 0, 0, 0);
-+ fl_tab[0][i] = w;
-+ fl_tab[1][i] = upr(w,1);
-+ fl_tab[2][i] = upr(w,2);
-+ fl_tab[3][i] = upr(w,3);
-+ w = bytes2word(FFmul02(b), b, b, FFmul03(b));
-+ ft_tab[0][i] = w;
-+ ft_tab[1][i] = upr(w,1);
-+ ft_tab[2][i] = upr(w,2);
-+ ft_tab[3][i] = upr(w,3);
-+ }
-+}
-+
-+#define four_tables(x,tab,vf,rf,c) \
-+ ( tab[0][bval(vf(x,0,c),rf(0,c))] \
-+ ^ tab[1][bval(vf(x,1,c),rf(1,c))] \
-+ ^ tab[2][bval(vf(x,2,c),rf(2,c))] \
-+ ^ tab[3][bval(vf(x,3,c),rf(3,c))])
-+
-+#define vf1(x,r,c) (x)
-+#define rf1(r,c) (r)
-+#define rf2(r,c) ((r-c)&3)
-+
-+#define ls_box(x,c) four_tables(x,fl_tab,vf1,rf2,c)
-+
-+#define nc (AES_BLOCK_SIZE / 4)
-+
-+// Initialise the key schedule from the user supplied key.
-+// The key length is now specified in bytes, 32.
-+// This corresponds to bit length of 256 bits, and
-+// to Nk value of 8 respectively.
-+
-+void aes_set_key(aes_context *cx, const unsigned char in_key[], int n_bytes, const int f)
-+{ u_int32_t *kf, *kt, rci;
-+
-+ if(!tab_gen) { gen_tabs(); tab_gen = 1; }
-+
-+ cx->aes_Nkey = 8;
-+ cx->aes_Nrnd = (cx->aes_Nkey > nc ? cx->aes_Nkey : nc) + 6;
-+
-+ cx->aes_e_key[0] = word_in(in_key );
-+ cx->aes_e_key[1] = word_in(in_key + 4);
-+ cx->aes_e_key[2] = word_in(in_key + 8);
-+ cx->aes_e_key[3] = word_in(in_key + 12);
-+
-+ kf = cx->aes_e_key;
-+ kt = kf + nc * (cx->aes_Nrnd + 1) - cx->aes_Nkey;
-+ rci = 0;
-+
-+ switch(cx->aes_Nkey)
-+ {
-+ case 8: cx->aes_e_key[4] = word_in(in_key + 16);
-+ cx->aes_e_key[5] = word_in(in_key + 20);
-+ cx->aes_e_key[6] = word_in(in_key + 24);
-+ cx->aes_e_key[7] = word_in(in_key + 28);
-+ do
-+ { kf[ 8] = kf[0] ^ ls_box(kf[7],3) ^ rcon_tab[rci++];
-+ kf[ 9] = kf[1] ^ kf[ 8];
-+ kf[10] = kf[2] ^ kf[ 9];
-+ kf[11] = kf[3] ^ kf[10];
-+ kf[12] = kf[4] ^ ls_box(kf[11],0);
-+ kf[13] = kf[5] ^ kf[12];
-+ kf[14] = kf[6] ^ kf[13];
-+ kf[15] = kf[7] ^ kf[14];
-+ kf += 8;
-+ }
-+ while (kf < kt);
-+ break;
-+ }
-+}
-+
-+// y = output word, x = input word, r = row, c = column
-+// for r = 0, 1, 2 and 3 = column accessed for row r
-+
-+#define s(x,c) x[c]
-+
-+// I am grateful to Frank Yellin for the following constructions
-+// which, given the column (c) of the output state variable that
-+// is being computed, return the input state variables which are
-+// needed for each row (r) of the state
-+
-+// For the fixed block size options, compilers reduce these two
-+// expressions to fixed variable references. For variable block
-+// size code conditional clauses will sometimes be returned
-+
-+#define fwd_var(x,r,c) \
-+ ( r==0 ? \
-+ ( c==0 ? s(x,0) \
-+ : c==1 ? s(x,1) \
-+ : c==2 ? s(x,2) \
-+ : c==3 ? s(x,3) \
-+ : c==4 ? s(x,4) \
-+ : c==5 ? s(x,5) \
-+ : c==6 ? s(x,6) \
-+ : s(x,7)) \
-+ : r==1 ? \
-+ ( c==0 ? s(x,1) \
-+ : c==1 ? s(x,2) \
-+ : c==2 ? s(x,3) \
-+ : c==3 ? nc==4 ? s(x,0) : s(x,4) \
-+ : c==4 ? s(x,5) \
-+ : c==5 ? nc==8 ? s(x,6) : s(x,0) \
-+ : c==6 ? s(x,7) \
-+ : s(x,0)) \
-+ : r==2 ? \
-+ ( c==0 ? nc==8 ? s(x,3) : s(x,2) \
-+ : c==1 ? nc==8 ? s(x,4) : s(x,3) \
-+ : c==2 ? nc==4 ? s(x,0) : nc==8 ? s(x,5) : s(x,4) \
-+ : c==3 ? nc==4 ? s(x,1) : nc==8 ? s(x,6) : s(x,5) \
-+ : c==4 ? nc==8 ? s(x,7) : s(x,0) \
-+ : c==5 ? nc==8 ? s(x,0) : s(x,1) \
-+ : c==6 ? s(x,1) \
-+ : s(x,2)) \
-+ : \
-+ ( c==0 ? nc==8 ? s(x,4) : s(x,3) \
-+ : c==1 ? nc==4 ? s(x,0) : nc==8 ? s(x,5) : s(x,4) \
-+ : c==2 ? nc==4 ? s(x,1) : nc==8 ? s(x,6) : s(x,5) \
-+ : c==3 ? nc==4 ? s(x,2) : nc==8 ? s(x,7) : s(x,0) \
-+ : c==4 ? nc==8 ? s(x,0) : s(x,1) \
-+ : c==5 ? nc==8 ? s(x,1) : s(x,2) \
-+ : c==6 ? s(x,2) \
-+ : s(x,3)))
-+
-+#define si(y,x,k,c) s(y,c) = word_in(x + 4 * c) ^ k[c]
-+#define so(y,x,c) word_out(y + 4 * c, s(x,c))
-+
-+#define fwd_rnd(y,x,k,c) s(y,c)= (k)[c] ^ four_tables(x,ft_tab,fwd_var,rf1,c)
-+#define fwd_lrnd(y,x,k,c) s(y,c)= (k)[c] ^ four_tables(x,fl_tab,fwd_var,rf1,c)
-+
-+#define locals(y,x) x[4],y[4]
-+
-+#define l_copy(y, x) s(y,0) = s(x,0); s(y,1) = s(x,1); \
-+ s(y,2) = s(x,2); s(y,3) = s(x,3);
-+#define state_in(y,x,k) si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); si(y,x,k,3)
-+#define state_out(y,x) so(y,x,0); so(y,x,1); so(y,x,2); so(y,x,3)
-+#define round(rm,y,x,k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); rm(y,x,k,3)
-+
-+void aes_encrypt(const aes_context *cx, const unsigned char in_blk[], unsigned char out_blk[])
-+{ u_int32_t locals(b0, b1);
-+ const u_int32_t *kp = cx->aes_e_key;
-+
-+ state_in(b0, in_blk, kp); kp += nc;
-+
-+ { u_int32_t rnd;
-+
-+ for(rnd = 0; rnd < cx->aes_Nrnd - 1; ++rnd)
-+ {
-+ round(fwd_rnd, b1, b0, kp);
-+ l_copy(b0, b1); kp += nc;
-+ }
-+
-+ round(fwd_lrnd, b0, b1, kp);
-+ }
-+
-+ state_out(out_blk, b0);
-+}
-diff -urN util-linux-ng-2.14/mount/aes.h util-linux-ng-2.14-AES/mount/aes.h
---- util-linux-ng-2.14/mount/aes.h 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.14-AES/mount/aes.h 2008-06-24 16:55:13.000000000 +0300
-@@ -0,0 +1,97 @@
-+// I retain copyright in this code but I encourage its free use provided
-+// that I don't carry any responsibility for the results. I am especially
-+// happy to see it used in free and open source software. If you do use
-+// it I would appreciate an acknowledgement of its origin in the code or
-+// the product that results and I would also appreciate knowing a little
-+// about the use to which it is being put. I am grateful to Frank Yellin
-+// for some ideas that are used in this implementation.
-+//
-+// Dr B. R. Gladman <brg@gladman.uk.net> 6th April 2001.
-+//
-+// This is an implementation of the AES encryption algorithm (Rijndael)
-+// designed by Joan Daemen and Vincent Rijmen. This version is designed
-+// to provide both fixed and dynamic block and key lengths and can also
-+// run with either big or little endian internal byte order (see aes.h).
-+// It inputs block and key lengths in bytes with the legal values being
-+// 16, 24 and 32.
-+
-+/*
-+ * Modified by Jari Ruusu, May 1 2001
-+ * - Fixed some compile warnings, code was ok but gcc warned anyway.
-+ * - Changed basic types: byte -> unsigned char, word -> u_int32_t
-+ * - Major name space cleanup: Names visible to outside now begin
-+ * with "aes_" or "AES_". A lot of stuff moved from aes.h to aes.c
-+ * - Removed C++ and DLL support as part of name space cleanup.
-+ * - Eliminated unnecessary recomputation of tables. (actual bug fix)
-+ * - Merged precomputed constant tables to aes.c file.
-+ * - Removed data alignment restrictions for portability reasons.
-+ * - Made block and key lengths accept bit count (128/192/256)
-+ * as well byte count (16/24/32).
-+ * - Removed all error checks. This change also eliminated the need
-+ * to preinitialize the context struct to zero.
-+ * - Removed some totally unused constants.
-+ */
-+
-+#ifndef _AES_H
-+#define _AES_H
-+
-+#if defined(__linux__) && defined(__KERNEL__)
-+# include <linux/types.h>
-+#else
-+# include <sys/types.h>
-+#endif
-+
-+// CONFIGURATION OPTIONS (see also aes.c)
-+//
-+// Define AES_BLOCK_SIZE to set the cipher block size (16, 24 or 32) or
-+// leave this undefined for dynamically variable block size (this will
-+// result in much slower code).
-+// IMPORTANT NOTE: AES_BLOCK_SIZE is in BYTES (16, 24, 32 or undefined). If
-+// left undefined a slower version providing variable block length is compiled
-+
-+#define AES_BLOCK_SIZE 16
-+
-+// The number of key schedule words for different block and key lengths
-+// allowing for method of computation which requires the length to be a
-+// multiple of the key length
-+//
-+// Nk = 4 6 8
-+// -------------
-+// Nb = 4 | 60 60 64
-+// 6 | 96 90 96
-+// 8 | 120 120 120
-+
-+#if !defined(AES_BLOCK_SIZE) || (AES_BLOCK_SIZE == 32)
-+#define AES_KS_LENGTH 120
-+#define AES_RC_LENGTH 29
-+#else
-+#define AES_KS_LENGTH 4 * AES_BLOCK_SIZE
-+#define AES_RC_LENGTH (9 * AES_BLOCK_SIZE) / 8 - 8
-+#endif
-+
-+typedef struct
-+{
-+ u_int32_t aes_Nkey; // the number of words in the key input block
-+ u_int32_t aes_Nrnd; // the number of cipher rounds
-+ u_int32_t aes_e_key[AES_KS_LENGTH]; // the encryption key schedule
-+ u_int32_t aes_d_key[AES_KS_LENGTH]; // the decryption key schedule
-+#if !defined(AES_BLOCK_SIZE)
-+ u_int32_t aes_Ncol; // the number of columns in the cipher state
-+#endif
-+} aes_context;
-+
-+// THE CIPHER INTERFACE
-+
-+#if !defined(AES_BLOCK_SIZE)
-+extern void aes_set_blk(aes_context *, const int);
-+#endif
-+extern void aes_set_key(aes_context *, const unsigned char [], const int, const int);
-+extern void aes_encrypt(const aes_context *, const unsigned char [], unsigned char []);
-+extern void aes_decrypt(const aes_context *, const unsigned char [], unsigned char []);
-+
-+// The block length inputs to aes_set_block and aes_set_key are in numbers
-+// of bytes or bits. The calls to subroutines must be made in the above
-+// order but multiple calls can be made without repeating earlier calls
-+// if their parameters have not changed.
-+
-+#endif // _AES_H
-diff -urN util-linux-ng-2.14/mount/lomount.c util-linux-ng-2.14-AES/mount/lomount.c
---- util-linux-ng-2.14/mount/lomount.c 2008-05-29 02:01:02.000000000 +0300
-+++ util-linux-ng-2.14-AES/mount/lomount.c 2008-06-24 16:55:13.000000000 +0300
-@@ -1,4 +1,18 @@
--/* Originally from Ted's losetup.c */
-+/* Taken from Ted's losetup.c - Mitch <m.dsouza@mrc-apu.cam.ac.uk> */
-+/* Added vfs mount options - aeb - 960223 */
-+/* Removed lomount - aeb - 960224 */
-+
-+/*
-+ * 1999-02-22 Arkadiusz Mikiewicz <misiek@pld.ORG.PL>
-+ * - added Native Language Support
-+ * 1999-03-21 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
-+ * - fixed strerr(errno) in gettext calls
-+ * 2001-04-11 Jari Ruusu
-+ * - added AES support
-+ */
-+
-+#define LOOPMAJOR 7
-+
- /*
- * losetup.c - setup and control loop devices
- */
-@@ -10,1010 +24,1318 @@
- #include <errno.h>
- #include <stdlib.h>
- #include <unistd.h>
-+#include <pwd.h>
-+#include <sys/types.h>
- #include <sys/ioctl.h>
- #include <sys/stat.h>
- #include <sys/mman.h>
- #include <sys/sysmacros.h>
--#include <inttypes.h>
--#include <dirent.h>
-+#include <sys/wait.h>
-+#include <limits.h>
-+#include <fcntl.h>
-+#include <mntent.h>
-+#include <locale.h>
-+#include <sys/time.h>
-+#include <sys/utsname.h>
-+#include <signal.h>
-
- #include "loop.h"
- #include "lomount.h"
- #include "xstrncpy.h"
- #include "nls.h"
--#include "sundries.h"
--#include "xmalloc.h"
--#include "realpath.h"
-+#include "sha512.h"
-+#include "rmd160.h"
-+#include "aes.h"
-
--#define SIZE(a) (sizeof(a)/sizeof(a[0]))
-+#if !defined(BLKGETSIZE64)
-+# define BLKGETSIZE64 _IOR(0x12,114,size_t)
-+#endif
-
--#ifdef LOOP_SET_FD
-+extern int verbose;
-+extern char *xstrdup (const char *s); /* not: #include "sundries.h" */
-+extern void error (const char *fmt, ...); /* idem */
-+extern void show_all_loops(void);
-+extern int read_options_from_fstab(char *, char **);
-+extern int recompute_loop_dev_size(char *);
-
--static int is_associated(int dev, struct stat *file, unsigned long long offset, int isoff);
-+#if !defined(LOOP_PASSWORD_MIN_LENGTH)
-+# define LOOP_PASSWORD_MIN_LENGTH 20
-+#endif
-
--static int
--loop_info64_to_old(const struct loop_info64 *info64, struct loop_info *info)
--{
-- memset(info, 0, sizeof(*info));
-- info->lo_number = info64->lo_number;
-- info->lo_device = info64->lo_device;
-- info->lo_inode = info64->lo_inode;
-- info->lo_rdevice = info64->lo_rdevice;
-- info->lo_offset = info64->lo_offset;
-- info->lo_encrypt_type = info64->lo_encrypt_type;
-- info->lo_encrypt_key_size = info64->lo_encrypt_key_size;
-- info->lo_flags = info64->lo_flags;
-- info->lo_init[0] = info64->lo_init[0];
-- info->lo_init[1] = info64->lo_init[1];
-- if (info->lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
-- memcpy(info->lo_name, info64->lo_crypt_name, LO_NAME_SIZE);
-- else
-- memcpy(info->lo_name, info64->lo_file_name, LO_NAME_SIZE);
-- memcpy(info->lo_encrypt_key, info64->lo_encrypt_key, LO_KEY_SIZE);
--
-- /* error in case values were truncated */
-- if (info->lo_device != info64->lo_device ||
-- info->lo_rdevice != info64->lo_rdevice ||
-- info->lo_inode != info64->lo_inode ||
-- info->lo_offset != info64->lo_offset)
-- return -EOVERFLOW;
--
-- return 0;
--}
--
--#define DEV_LOOP_PATH "/dev/loop"
--#define DEV_PATH "/dev"
--#define SYSFS_BLOCK_PATH "/sys/block"
--#define LOOPMAJOR 7
--#define NLOOPS_DEFAULT 8 /* /dev/loop[0-7] */
--
--struct looplist {
-- int flag; /* scanning options */
-- int ndef; /* number of tested default devices */
-- struct dirent **names; /* scandir-like list of loop devices */
-- int nnames; /* number of items in names */
-- int ncur; /* current possition in direcotry */
-- char name[32]; /* device name */
-- int ct_perm; /* count permission problems */
-- int ct_succ; /* count number of successfully
-- detected devices */
--};
--
--#define LLFLG_USEDONLY (1 << 1) /* return used devices only */
--#define LLFLG_FREEONLY (1 << 2) /* return non-used devices */
--#define LLFLG_DONE (1 << 3) /* all is done */
--#define LLFLG_SYSFS (1 << 4) /* try to use /sys/block */
--#define LLFLG_SUBDIR (1 << 5) /* /dev/loop/N */
--#define LLFLG_DFLT (1 << 6) /* directly try to check default loops */
-+char *passFDnumber = (char *)0;
-+char *passAskTwice = (char *)0;
-+char *passSeedString = (char *)0;
-+char *passHashFuncName = (char *)0;
-+char *passIterThousands = (char *)0;
-+char *loInitValue = (char *)0;
-+char *gpgKeyFile = (char *)0;
-+char *gpgHomeDir = (char *)0;
-+char *clearTextKeyFile = (char *)0;
-+char *loopOffsetBytes = (char *)0;
-+char *loopSizeBytes = (char *)0;
-+char *loopEncryptionType = (char *)0;
-+
-+static int multiKeyMode = 0; /* 0=single-key 64=multi-key-v2 65=multi-key-v3 1000=any */
-+static char *multiKeyPass[66];
-+static char *loopFileName;
-
--int
--is_loop_device (const char *device) {
-- struct stat st;
-+#ifdef MAIN
-+static char *
-+crypt_name (int id, int *flags) {
-+ int i;
-
-- return (stat(device, &st) == 0 &&
-- S_ISBLK(st.st_mode) &&
-- major(st.st_rdev) == LOOPMAJOR);
-+ for (i = 0; loop_crypt_type_tbl[i].id != -1; i++)
-+ if(id == loop_crypt_type_tbl[i].id) {
-+ *flags = loop_crypt_type_tbl[i].flags;
-+ return loop_crypt_type_tbl[i].name;
-+ }
-+ *flags = 0;
-+ if(id == 18)
-+ return "CryptoAPI";
-+ return "undefined";
- }
-
- static int
--is_loop_used(int fd)
--{
-- struct loop_info li;
-- return ioctl (fd, LOOP_GET_STATUS, &li) == 0;
--}
-+show_loop(char *device) {
-+ struct loop_info64 loopinfo;
-+ int fd;
-
--static char *
--looplist_mk_devname(struct looplist *ll, int num)
--{
-- if (ll->flag & LLFLG_SUBDIR)
-- snprintf(ll->name, sizeof(ll->name),
-- DEV_LOOP_PATH "/%d", num);
-- else
-- snprintf(ll->name, sizeof(ll->name),
-- DEV_PATH "/loop%d", num);
-+ if ((fd = open(device, O_RDONLY)) < 0) {
-+ int errsv = errno;
-+ fprintf(stderr, _("loop: can't open device %s: %s\n"),
-+ device, strerror (errsv));
-+ return 2;
-+ }
-+ if (loop_get_status64_ioctl(fd, &loopinfo) < 0) {
-+ int errsv = errno;
-+ fprintf(stderr, _("loop: can't get info on device %s: %s\n"),
-+ device, strerror (errsv));
-+ close (fd);
-+ return 1;
-+ }
-+ loopinfo.lo_file_name[LO_NAME_SIZE-1] = 0;
-+ loopinfo.lo_crypt_name[LO_NAME_SIZE-1] = 0;
-+ printf("%s: [%04llx]:%llu (%s)", device, (unsigned long long)loopinfo.lo_device,
-+ (unsigned long long)loopinfo.lo_inode, loopinfo.lo_file_name);
-+ if (loopinfo.lo_offset) {
-+ if ((long long)loopinfo.lo_offset < 0) {
-+ printf(_(" offset=@%llu"), -((unsigned long long)loopinfo.lo_offset));
-+ } else {
-+ printf(_(" offset=%llu"), (unsigned long long)loopinfo.lo_offset);
-+ }
-+ }
-+ if (loopinfo.lo_sizelimit)
-+ printf(_(" sizelimit=%llu"), (unsigned long long)loopinfo.lo_sizelimit);
-+ if (loopinfo.lo_encrypt_type) {
-+ int flags;
-+ char *s = crypt_name (loopinfo.lo_encrypt_type, &flags);
-+
-+ printf(_(" encryption=%s"), s);
-+ /* type 18 == LO_CRYPT_CRYPTOAPI */
-+ if (loopinfo.lo_encrypt_type == 18) {
-+ printf("/%s", loopinfo.lo_crypt_name);
-+ } else {
-+ if(flags & 2)
-+ printf("-");
-+ if(flags & 1)
-+ printf("%u", (unsigned int)loopinfo.lo_encrypt_key_size << 3);
-+ }
-+ }
-+ switch(loopinfo.lo_flags & 0x180000) {
-+ case 0x180000:
-+ printf(_(" multi-key-v3"));
-+ break;
-+ case 0x100000:
-+ printf(_(" multi-key-v2"));
-+ break;
-+ }
-+ /* type 2 == LO_CRYPT_DES */
-+ if (loopinfo.lo_init[0] && (loopinfo.lo_encrypt_type != 2))
-+ printf(_(" loinit=%llu"), (unsigned long long)loopinfo.lo_init[0]);
-+ if (loopinfo.lo_flags & 0x200000)
-+ printf(_(" read-only"));
-+ printf("\n");
-+ close (fd);
-
-- return is_loop_device(ll->name) ? ll->name : NULL;
-+ return 0;
- }
-+#endif
-
--/* ignores all non-loop devices, default loop devices */
--static int
--filter_loop(const struct dirent *d)
--{
-- return strncmp(d->d_name, "loop", 4) == 0;
--}
-+#define SIZE(a) (sizeof(a)/sizeof(a[0]))
-
--/* all loops exclude default loops */
--static int
--filter_loop_ndflt(const struct dirent *d)
--{
-- int mn;
-+#if !defined(MAIN)
-+char *
-+find_unused_loop_device (void) {
-+ /* Just creating a device, say in /tmp, is probably a bad idea -
-+ people might have problems with backup or so.
-+ So, we just try /dev/loop[0-7]. */
-+ char dev[20];
-+ char *loop_formats[] = { "/dev/loop%d", "/dev/loop/%d" };
-+ int i, j, fd, somedev = 0, someloop = 0;
-+ struct stat statbuf;
-
-- if (strncmp(d->d_name, "loop", 4) == 0 &&
-- sscanf(d->d_name, "loop%d", &mn) == 1 &&
-- mn >= NLOOPS_DEFAULT)
-- return 1;
-+ for (j = 0; j < SIZE(loop_formats); j++) {
-+ for(i = 0; i < 256; i++) {
-+ sprintf(dev, loop_formats[j], i);
-+ if (stat (dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
-+ somedev++;
-+ fd = open (dev, O_RDONLY);
-+ if (fd >= 0) {
-+ if (is_unused_loop_device(fd) == 0)
-+ someloop++; /* in use */
-+ else if (errno == ENXIO) {
-+ close (fd);
-+ return xstrdup(dev);/* probably free */
-+ }
-+ close (fd);
-+ }
-+ continue;/* continue trying as long as devices exist */
-+ }
-+ break;
-+ }
-+ }
-+
-+ if (!somedev)
-+ error(_("mount: could not find any device /dev/loop#"));
-+ else if (!someloop)
-+ error(_("mount: Could not find any loop device. Maybe this kernel does not know\n"
-+ " about the loop device? (If so, recompile or `modprobe loop'.)"));
-+ else
-+ error(_("mount: could not find any free loop device"));
- return 0;
- }
-
--static int
--filter_loop_num(const struct dirent *d)
-+int is_loop_active(const char *dev, const char *backdev)
- {
-- char *end = NULL;
-- int mn = strtol(d->d_name, &end, 10);
--
-- if (mn >= NLOOPS_DEFAULT && end && *end == '\0')
-- return 1;
-- return 0;
-+ int fd;
-+ int ret = 0;
-+ struct stat statbuf;
-+ struct loop_info64 loopinfo;
-+ if (stat (dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
-+ fd = open (dev, O_RDONLY);
-+ if (fd < 0)
-+ return 0;
-+ if ((loop_get_status64_ioctl(fd, &loopinfo) == 0)
-+ && (stat (backdev, &statbuf) == 0)
-+ && (statbuf.st_dev == loopinfo.lo_device)
-+ && (statbuf.st_ino == loopinfo.lo_inode))
-+ ret = 1; /* backing device matches */
-+ memset(&loopinfo, 0, sizeof(loopinfo));
-+ close(fd);
-+ }
-+ return ret;
- }
-+#endif
-
--static int
--looplist_open(struct looplist *ll, int flag)
-+static int rd_wr_retry(int fd, char *buf, int cnt, int w)
- {
-- struct stat st;
-+ int x, y, z;
-
-- memset(ll, 0, sizeof(*ll));
-- ll->flag = flag;
-- ll->ndef = -1;
-- ll->ncur = -1;
-+ x = 0;
-+ while(x < cnt) {
-+ y = cnt - x;
-+ if(w) {
-+ z = write(fd, buf + x, y);
-+ } else {
-+ z = read(fd, buf + x, y);
-+ if (!z) return x;
-+ }
-+ if(z < 0) {
-+ if ((errno == EAGAIN) || (errno == ENOMEM) || (errno == ERESTART) || (errno == EINTR)) {
-+ continue;
-+ }
-+ return x;
-+ }
-+ x += z;
-+ }
-+ return x;
-+}
-
-- if (stat(DEV_PATH, &st) == -1 || (!S_ISDIR(st.st_mode)))
-- return -1; /* /dev doesn't exist */
-+static char *get_FD_pass(int fd)
-+{
-+ char *p = NULL, *n;
-+ int x = 0, y = 0;
-
-- if (stat(DEV_LOOP_PATH, &st) == 0 && S_ISDIR(st.st_mode))
-- ll->flag |= LLFLG_SUBDIR; /* /dev/loop/ exists */
-+ do {
-+ if(y >= (x - 1)) {
-+ x += 128;
-+ /* Must enforce some max limit here -- this code */
-+ /* runs as part of mount, and mount is setuid root */
-+ /* and has used mlockall(MCL_CURRENT | MCL_FUTURE) */
-+ if(x > (4*1024)) return(NULL);
-+ n = malloc(x);
-+ if(!n) return(NULL);
-+ if(p) {
-+ memcpy(n, p, y);
-+ memset(p, 0, y);
-+ free(p);
-+ }
-+ p = n;
-+ }
-+ if(rd_wr_retry(fd, p + y, 1, 0) != 1) break;
-+ if((p[y] == '\n') || !p[y]) break;
-+ y++;
-+ } while(1);
-+ if(p) p[y] = 0;
-+ return p;
-+}
-
-- if ((ll->flag & LLFLG_USEDONLY) &&
-- stat(SYSFS_BLOCK_PATH, &st) == 0 &&
-- S_ISDIR(st.st_mode))
-- ll->flag |= LLFLG_SYSFS; /* try to use /sys/block/loopN */
-+static unsigned long long mystrtoull(char *s, int acceptAT)
-+{
-+ unsigned long long v = 0;
-+ int negative = 0;
-
-- ll->flag |= LLFLG_DFLT; /* required! */
-- return 0;
-+ while ((*s == ' ') || (*s == '\t'))
-+ s++;
-+ if (acceptAT && (*s == '@')) {
-+ s++;
-+ negative = 1;
-+ }
-+ if (*s == '0') {
-+ s++;
-+ if ((*s == 'x') || (*s == 'X')) {
-+ s++;
-+ sscanf(s, "%llx", &v);
-+ } else {
-+ sscanf(s, "%llo", &v);
-+ }
-+ } else {
-+ sscanf(s, "%llu", &v);
-+ }
-+ return negative ? -v : v;
- }
-
--static void
--looplist_close(struct looplist *ll)
-+static void warnAboutBadKeyData(int x)
- {
-- if (ll->names) {
-- for(++ll->ncur; ll->ncur < ll->nnames; ll->ncur++)
-- free(ll->names[ll->ncur]);
--
-- free(ll->names);
-- ll->names = NULL;
-- ll->nnames = 0;
-+ if((x > 1) && (x != 64) && (x != 65)) {
-+ fprintf(stderr, _("Warning: Unknown key data format - using it anyway\n"));
- }
-- ll->ncur = -1;
-- ll->flag |= LLFLG_DONE;
- }
-
--static int
--looplist_is_wanted(struct looplist *ll, int fd)
-+static int are_these_files_same(const char *name1, const char *name2)
- {
-- int ret;
--
-- if (!(ll->flag & (LLFLG_USEDONLY | LLFLG_FREEONLY)))
-- return 1;
-- ret = is_loop_used(fd);
-+ struct stat statbuf1;
-+ struct stat statbuf2;
-
-- if ((ll->flag & LLFLG_USEDONLY) && ret == 0)
-- return 0;
-- if ((ll->flag & LLFLG_FREEONLY) && ret == 1)
-- return 0;
--
-- return 1;
-+ if(!name1 || !*name1 || !name2 || !*name2) return 0;
-+ if(stat(name1, &statbuf1)) return 0;
-+ if(stat(name2, &statbuf2)) return 0;
-+ if(statbuf1.st_dev != statbuf2.st_dev) return 0;
-+ if(statbuf1.st_ino != statbuf2.st_ino) return 0;
-+ return 1; /* are same */
- }
-
--static int
--looplist_next(struct looplist *ll)
-+static char *do_GPG_pipe(char *pass)
- {
-- int fd;
-- int ret;
-- char *dirname, *dev;
--
-- if (ll->flag & LLFLG_DONE)
-- return -1;
-+ int x, pfdi[2], pfdo[2];
-+ char str[10], *a[16], *e[2], *h;
-+ pid_t gpid;
-+ struct passwd *p;
-+ void *oldSigPipeHandler;
-
-- /* A) try to use /sys/block/loopN devices (for losetup -a only)
-- */
-- if (ll->flag & LLFLG_SYSFS) {
-- int mn;
--
-- if (!ll->nnames) {
-- ll->nnames = scandir(SYSFS_BLOCK_PATH, &ll->names,
-- filter_loop, versionsort);
-- ll->ncur = -1;
-- }
-- for(++ll->ncur; ll->ncur < ll->nnames; ll->ncur++) {
-- ret = sscanf(ll->names[ll->ncur]->d_name, "loop%d", &mn);
-- free(ll->names[ll->ncur]);
-- if (ret != 1)
-- continue;
-- dev = looplist_mk_devname(ll, mn);
-- if (dev) {
-- ll->ct_succ++;
-- if ((fd = open(dev, O_RDONLY)) > -1) {
-- if (looplist_is_wanted(ll, fd))
-- return fd;
-- close(fd);
-- } else if (errno == EACCES)
-- ll->ct_perm++;
-- }
-+ if((getuid() == 0) && gpgHomeDir && gpgHomeDir[0]) {
-+ h = gpgHomeDir;
-+ } else {
-+ if(!(p = getpwuid(getuid()))) {
-+ fprintf(stderr, _("Error: Unable to detect home directory for uid %d\n"), (int)getuid());
-+ return NULL;
- }
-- if (ll->nnames)
-- free(ll->names);
-- ll->names = NULL;
-- ll->ncur = -1;
-- ll->nnames = 0;
-- ll->flag &= ~LLFLG_SYSFS;
-- goto done;
-+ h = p->pw_dir;
- }
--
-- /* B) Classic way, try first eight loop devices (default number
-- * of loop devices). This is enough for 99% of all cases.
-- */
-- if (ll->flag & LLFLG_DFLT) {
-- for (++ll->ncur; ll->ncur < NLOOPS_DEFAULT; ll->ncur++) {
-- dev = looplist_mk_devname(ll, ll->ncur);
-- if (dev) {
-- ll->ct_succ++;
-- if ((fd = open(dev, O_RDONLY)) > -1) {
-- if (looplist_is_wanted(ll, fd))
-- return fd;
-- close(fd);
-- } else if (errno == EACCES)
-- ll->ct_perm++;
-- }
-- }
-- ll->flag &= ~LLFLG_DFLT;
-- ll->ncur = -1;
-+ if(!(e[0] = malloc(strlen(h) + 6))) {
-+ nomem1:
-+ fprintf(stderr, _("Error: Unable to allocate memory\n"));
-+ return NULL;
- }
-+ sprintf(e[0], "HOME=%s", h);
-+ e[1] = 0;
-
-+ if(pipe(&pfdi[0])) {
-+ nomem2:
-+ free(e[0]);
-+ goto nomem1;
-+ }
-+ if(pipe(&pfdo[0])) {
-+ close(pfdi[0]);
-+ close(pfdi[1]);
-+ goto nomem2;
-+ }
-
-- /* C) the worst posibility, scan all /dev or /dev/loop
-+ /*
-+ * When this code is run as part of losetup, normal read permissions
-+ * affect the open() below because losetup is not setuid-root.
-+ *
-+ * When this code is run as part of mount, only root can set
-+ * 'gpgKeyFile' and as such, only root can decide what file is opened
-+ * below. However, since mount is usually setuid-root all non-root
-+ * users can also open() the file too, but that file's contents are
-+ * only piped to gpg. This readable-for-all is intended behaviour,
-+ * and is very useful in situations where non-root users mount loop
-+ * devices with their own gpg private key, and yet don't have access
-+ * to the actual key used to encrypt loop device.
- */
-- dirname = ll->flag & LLFLG_SUBDIR ? DEV_LOOP_PATH : DEV_PATH;
-+ if((x = open(gpgKeyFile, O_RDONLY)) == -1) {
-+ fprintf(stderr, _("Error: unable to open %s for reading\n"), gpgKeyFile);
-+ nomem3:
-+ free(e[0]);
-+ close(pfdo[0]);
-+ close(pfdo[1]);
-+ close(pfdi[0]);
-+ close(pfdi[1]);
-+ return NULL;
-+ }
-
-- if (!ll->nnames) {
-- ll->nnames = scandir(dirname, &ll->names,
-- ll->flag & LLFLG_SUBDIR ?
-- filter_loop_num : filter_loop_ndflt,
-- versionsort);
-- ll->ncur = -1;
-- }
--
-- for(++ll->ncur; ll->ncur < ll->nnames; ll->ncur++) {
-- struct stat st;
--
-- snprintf(ll->name, sizeof(ll->name),
-- "%s/%s", dirname, ll->names[ll->ncur]->d_name);
-- free(ll->names[ll->ncur]);
-- ret = stat(ll->name, &st);
--
-- if (ret == 0 && S_ISBLK(st.st_mode) &&
-- major(st.st_rdev) == LOOPMAJOR &&
-- minor(st.st_rdev) >= NLOOPS_DEFAULT) {
-- ll->ct_succ++;
-- fd = open(ll->name, O_RDONLY);
--
-- if (fd != -1) {
-- if (looplist_is_wanted(ll, fd))
-- return fd;
-- close(fd);
-- } else if (errno == EACCES)
-- ll->ct_perm++;
-+ /*
-+ * If someone puts a gpg key file at beginning of device and
-+ * puts the real file system at some offset into the device,
-+ * this code extracts that gpg key file into a temp file so gpg
-+ * won't end up reading whole device when decrypting the key file.
-+ *
-+ * Example of encrypted cdrom mount with 8192 bytes reserved for gpg key file:
-+ * mount -t iso9660 /dev/cdrom /cdrom -o loop=/dev/loop0,encryption=AES128,gpgkey=/dev/cdrom,offset=8192
-+ * ^^^^^^^^^^ ^^^^^^^^^^ ^^^^
-+ */
-+ if(loopOffsetBytes && are_these_files_same(loopFileName, gpgKeyFile)) {
-+ FILE *f;
-+ char b[1024];
-+ long long cnt;
-+ int cnt2, cnt3;
-+
-+ cnt = mystrtoull(loopOffsetBytes, 1);
-+ if(cnt < 0) cnt = -cnt;
-+ if(cnt > (1024 * 1024)) cnt = 1024 * 1024; /* sanity check */
-+ f = tmpfile();
-+ if(!f) {
-+ fprintf(stderr, _("Error: unable to create temp file\n"));
-+ close(x);
-+ goto nomem3;
-+ }
-+ while(cnt > 0) {
-+ cnt2 = sizeof(b);
-+ if(cnt < cnt2) cnt2 = cnt;
-+ cnt3 = rd_wr_retry(x, b, cnt2, 0);
-+ if(cnt3 && (fwrite(b, cnt3, 1, f) != 1)) {
-+ tmpWrErr:
-+ fprintf(stderr, _("Error: unable to write to temp file\n"));
-+ fclose(f);
-+ close(x);
-+ goto nomem3;
-+ }
-+ if(cnt2 != cnt3) break;
-+ cnt -= cnt3;
-+ }
-+ if(fflush(f)) goto tmpWrErr;
-+ close(x);
-+ x = dup(fileno(f));
-+ fclose(f);
-+ lseek(x, 0L, SEEK_SET);
-+ }
-+
-+ sprintf(str, "%d", pfdi[0]);
-+ if(!(gpid = fork())) {
-+ dup2(x, 0);
-+ dup2(pfdo[1], 1);
-+ close(x);
-+ close(pfdi[1]);
-+ close(pfdo[0]);
-+ close(pfdo[1]);
-+ if((x = open("/dev/null", O_WRONLY)) >= 0) {
-+ dup2(x, 2);
-+ close(x);
-+ }
-+ x = 0;
-+ a[x++] = "gpg";
-+ if(gpgHomeDir && gpgHomeDir[0]) {
-+ a[x++] = "--homedir";
-+ a[x++] = gpgHomeDir;
-+ }
-+ a[x++] = "--no-options";
-+ a[x++] = "--quiet";
-+ a[x++] = "--batch";
-+ a[x++] = "--no-tty";
-+ a[x++] = "--passphrase-fd";
-+ a[x++] = str;
-+ a[x++] = "--decrypt";
-+ a[x] = 0;
-+ if(setgid(getgid())) exit(1);
-+ if(setuid(getuid())) exit(1);
-+ for(x = 3; x < 1024; x++) {
-+ if(x == pfdi[0]) continue;
-+ close(x);
-+ }
-+ execve("/bin/gpg", &a[0], &e[0]);
-+ execve("/usr/bin/gpg", &a[0], &e[0]);
-+ execve("/usr/local/bin/gpg", &a[0], &e[0]);
-+ exit(1);
-+ }
-+ free(e[0]);
-+ close(x);
-+ close(pfdi[0]);
-+ close(pfdo[1]);
-+ if(gpid == -1) {
-+ close(pfdi[1]);
-+ close(pfdo[0]);
-+ goto nomem1;
-+ }
-+
-+ x = strlen(pass);
-+
-+ /* ignore possible SIGPIPE signal while writing to gpg */
-+ oldSigPipeHandler = signal(SIGPIPE, SIG_IGN);
-+ rd_wr_retry(pfdi[1], pass, x, 1);
-+ rd_wr_retry(pfdi[1], "\n", 1, 1);
-+ if(oldSigPipeHandler != SIG_ERR) signal(SIGPIPE, oldSigPipeHandler);
-+
-+ close(pfdi[1]);
-+ memset(pass, 0, x);
-+ x = 0;
-+ while(x < 66) {
-+ multiKeyPass[x] = get_FD_pass(pfdo[0]);
-+ if(!multiKeyPass[x]) {
-+ /* mem alloc failed - abort */
-+ multiKeyPass[0] = 0;
-+ break;
- }
-+ if(strlen(multiKeyPass[x]) < LOOP_PASSWORD_MIN_LENGTH) break;
-+ x++;
- }
--done:
-- looplist_close(ll);
-- return -1;
-+ warnAboutBadKeyData(x);
-+ if(x >= 65)
-+ multiKeyMode = 65;
-+ if(x == 64)
-+ multiKeyMode = 64;
-+ close(pfdo[0]);
-+ waitpid(gpid, &x, 0);
-+ if(!multiKeyPass[0]) goto nomem1;
-+ return multiKeyPass[0];
- }
-
--#ifdef MAIN
--
--static int
--show_loop_fd(int fd, char *device) {
-- struct loop_info loopinfo;
-- struct loop_info64 loopinfo64;
-- int errsv;
--
-- if (ioctl(fd, LOOP_GET_STATUS64, &loopinfo64) == 0) {
--
-- loopinfo64.lo_file_name[LO_NAME_SIZE-2] = '*';
-- loopinfo64.lo_file_name[LO_NAME_SIZE-1] = 0;
-- loopinfo64.lo_crypt_name[LO_NAME_SIZE-1] = 0;
--
-- printf("%s: [%04" PRIx64 "]:%" PRIu64 " (%s)",
-- device, loopinfo64.lo_device, loopinfo64.lo_inode,
-- loopinfo64.lo_file_name);
--
-- if (loopinfo64.lo_offset)
-- printf(_(", offset %" PRIu64 ), loopinfo64.lo_offset);
--
-- if (loopinfo64.lo_sizelimit)
-- printf(_(", sizelimit %" PRIu64 ), loopinfo64.lo_sizelimit);
--
-- if (loopinfo64.lo_encrypt_type ||
-- loopinfo64.lo_crypt_name[0]) {
-- char *e = (char *)loopinfo64.lo_crypt_name;
-+static char *sGetPass(int minLen, int warnLen)
-+{
-+ char *p, *s, *seed;
-+ int i, ask2, close_i_fd = 0;
-
-- if (*e == 0 && loopinfo64.lo_encrypt_type == 1)
-- e = "XOR";
-- printf(_(", encryption %s (type %" PRIu32 ")"),
-- e, loopinfo64.lo_encrypt_type);
-+ if(!passFDnumber) {
-+ if(clearTextKeyFile) {
-+ if((i = open(clearTextKeyFile, O_RDONLY)) == -1) {
-+ fprintf(stderr, _("Error: unable to open %s for reading\n"), clearTextKeyFile);
-+ return NULL;
-+ }
-+ close_i_fd = 1;
-+ goto contReadFrom_i;
- }
-- printf("\n");
-- return 0;
-+ p = getpass(_("Password: "));
-+ ask2 = passAskTwice ? 1 : 0;
-+ } else {
-+ i = atoi(passFDnumber);
-+ contReadFrom_i:
-+ if(gpgKeyFile && gpgKeyFile[0]) {
-+ p = get_FD_pass(i);
-+ if(close_i_fd) close(i);
-+ } else {
-+ int x = 0;
-+ while(x < 66) {
-+ multiKeyPass[x] = get_FD_pass(i);
-+ if(!multiKeyPass[x]) goto nomem;
-+ if(strlen(multiKeyPass[x]) < LOOP_PASSWORD_MIN_LENGTH) break;
-+ x++;
-+ }
-+ if(close_i_fd) close(i);
-+ warnAboutBadKeyData(x);
-+ if(x >= 65) {
-+ multiKeyMode = 65;
-+ return multiKeyPass[0];
-+ }
-+ if(x == 64) {
-+ multiKeyMode = 64;
-+ return multiKeyPass[0];
-+ }
-+ p = multiKeyPass[0];
-+ }
-+ ask2 = 0;
- }
--
-- if (ioctl(fd, LOOP_GET_STATUS, &loopinfo) == 0) {
-- printf ("%s: [%04x]:%ld (%s)",
-- device, (unsigned int)loopinfo.lo_device, loopinfo.lo_inode,
-- loopinfo.lo_name);
--
-- if (loopinfo.lo_offset)
-- printf(_(", offset %d"), loopinfo.lo_offset);
--
-- if (loopinfo.lo_encrypt_type)
-- printf(_(", encryption type %d\n"),
-- loopinfo.lo_encrypt_type);
--
-- printf("\n");
-- return 0;
-+ if(!p) goto nomem;
-+ if(gpgKeyFile && gpgKeyFile[0]) {
-+ if(ask2) {
-+ i = strlen(p);
-+ s = malloc(i + 1);
-+ if(!s) goto nomem;
-+ strcpy(s, p);
-+ p = getpass(_("Retype password: "));
-+ if(!p) goto nomem;
-+ if(strcmp(s, p)) goto compareErr;
-+ memset(s, 0, i);
-+ free(s);
-+ ask2 = 0;
-+ }
-+ p = do_GPG_pipe(p);
-+ if(!p) return(NULL);
-+ if(!p[0]) {
-+ fprintf(stderr, _("Error: gpg key file decryption failed\n"));
-+ return(NULL);
-+ }
-+ if(multiKeyMode) return(p);
- }
--
-- errsv = errno;
-- fprintf(stderr, _("loop: can't get info on device %s: %s\n"),
-- device, strerror (errsv));
-- return 1;
-+ i = strlen(p);
-+ if(i < minLen) {
-+ fprintf(stderr, _("Error: Password must be at least %d characters.\n"), minLen);
-+ return(NULL);
-+ }
-+ seed = passSeedString;
-+ if(!seed) seed = "";
-+ s = malloc(i + strlen(seed) + 1);
-+ if(!s) {
-+ nomem:
-+ fprintf(stderr, _("Error: Unable to allocate memory\n"));
-+ return(NULL);
-+ }
-+ strcpy(s, p);
-+ memset(p, 0, i);
-+ if(ask2) {
-+ p = getpass(_("Retype password: "));
-+ if(!p) goto nomem;
-+ if(strcmp(s, p)) {
-+ compareErr:
-+ fprintf(stderr, _("Error: Passwords are not identical\n"));
-+ return(NULL);
-+ }
-+ memset(p, 0, i);
-+ }
-+ if(i < warnLen) {
-+ fprintf(stderr, _("WARNING - Please use longer password (%d or more characters)\n"), LOOP_PASSWORD_MIN_LENGTH);
-+ }
-+ strcat(s, seed);
-+ return(s);
- }
-
--static int
--show_loop(char *device) {
-- int ret, fd;
-+/* this is for compatibility with historic loop-AES version */
-+static void unhashed1_key_setup(unsigned char *keyStr, int ile, unsigned char *keyBuf, int bufSize)
-+{
-+ register int x, y, z, cnt = ile;
-+ unsigned char *kp;
-
-- if ((fd = open(device, O_RDONLY)) < 0) {
-- int errsv = errno;
-- fprintf(stderr, _("loop: can't open device %s: %s\n"),
-- device, strerror (errsv));
-- return 2;
-+ memset(keyBuf, 0, bufSize);
-+ kp = keyStr;
-+ for(x = 0; x < (bufSize * 8); x += 6) {
-+ y = *kp++;
-+ if(--cnt <= 0) {
-+ kp = keyStr;
-+ cnt = ile;
-+ }
-+ if((y >= '0') && (y <= '9')) y -= '0';
-+ else if((y >= 'A') && (y <= 'Z')) y -= ('A' - 10);
-+ else if((y >= 'a') && (y <= 'z')) y -= ('a' - 36);
-+ else if((y == '.') || (y == '/')) y += (62 - '.');
-+ else y &= 63;
-+ z = x >> 3;
-+ if(z < bufSize) {
-+ keyBuf[z] |= y << (x & 7);
-+ }
-+ z++;
-+ if(z < bufSize) {
-+ keyBuf[z] |= y >> (8 - (x & 7));
-+ }
- }
-- ret = show_loop_fd(fd, device);
-- close(fd);
-- return ret;
- }
-
-+/* this is for compatibility with mainline mount */
-+static void unhashed2_key_setup(unsigned char *keyStr, int ile, unsigned char *keyBuf, int bufSize)
-+{
-+ memset(keyBuf, 0, bufSize);
-+ strncpy((char *)keyBuf, (char *)keyStr, bufSize - 1);
-+ keyBuf[bufSize - 1] = 0;
-+}
-
--static int
--show_used_loop_devices (void) {
-- struct looplist ll;
-- int fd;
-+static void rmd160HashTwiceWithA(unsigned char *ib, int ile, unsigned char *ob, int ole)
-+{
-+ char tmpBuf[20 + 20];
-+ char pwdCopy[130];
-
-- if (looplist_open(&ll, LLFLG_USEDONLY) == -1) {
-- error(_("%s: /dev directory does not exist."), progname);
-- return 1;
-- }
-+ if(ole < 1) return;
-+ memset(ob, 0, ole);
-+ if(ole > 40) ole = 40;
-+ rmd160_hash_buffer(&tmpBuf[0], (char *)ib, ile);
-+ pwdCopy[0] = 'A';
-+ if(ile > sizeof(pwdCopy) - 1) ile = sizeof(pwdCopy) - 1;
-+ memcpy(pwdCopy + 1, ib, ile);
-+ rmd160_hash_buffer(&tmpBuf[20], pwdCopy, ile + 1);
-+ memcpy(ob, tmpBuf, ole);
-+ memset(tmpBuf, 0, sizeof(tmpBuf));
-+ memset(pwdCopy, 0, sizeof(pwdCopy));
-+}
-
-- while((fd = looplist_next(&ll)) != -1) {
-- show_loop_fd(fd, ll.name);
-- close(fd);
-- }
-- looplist_close(&ll);
-+extern long long llseek(int, long long, int);
-
-- if (ll.ct_succ && ll.ct_perm) {
-- error(_("%s: no permission to look at /dev/loop#"), progname);
-- return 1;
-+static long long xx_lseek(int fd, long long offset, int whence)
-+{
-+ if(sizeof(off_t) >= 8) {
-+ return lseek(fd, offset, whence);
-+ } else {
-+ return llseek(fd, offset, whence);
- }
-- return 0;
- }
-
--/* list all associated loop devices */
--static int
--show_associated_loop_devices(char *filename, unsigned long long offset, int isoff)
-+static int loop_create_random_keys(char *partition, long long offset, long long sizelimit, int loopro, unsigned char *k)
- {
-- struct looplist ll;
-- struct stat filestat;
-- int fd;
-+ int x, y, fd;
-+ sha512_context s;
-+ unsigned char b[4096];
-
-- if (stat(filename, &filestat) == -1) {
-- perror(filename);
-+ if(loopro) {
-+ fprintf(stderr, _("Error: read-only device %s\n"), partition);
- return 1;
- }
-
-- if (looplist_open(&ll, LLFLG_USEDONLY) == -1) {
-- error(_("%s: /dev directory does not exist."), progname);
-+ /*
-+ * Compute SHA-512 over first 40 KB of old fs data. SHA-512 hash
-+ * output is then used as entropy for new fs encryption key.
-+ */
-+ if((fd = open(partition, O_RDWR)) == -1) {
-+ seekFailed:
-+ fprintf(stderr, _("Error: unable to open/seek device %s\n"), partition);
- return 1;
- }
--
-- while((fd = looplist_next(&ll)) != -1) {
-- if (is_associated(fd, &filestat, offset, isoff) == 1)
-- show_loop_fd(fd, ll.name);
-+ if(offset < 0) offset = -offset;
-+ if(xx_lseek(fd, offset, SEEK_SET) == -1) {
- close(fd);
-+ goto seekFailed;
- }
-- looplist_close(&ll);
--
-- return 0;
--}
--
--#endif /* MAIN */
--
--/* check if the loopfile is already associated with the same given
-- * parameters.
-- *
-- * returns: -1 error
-- * 0 unused
-- * 1 loop device already used
-- */
--static int
--is_associated(int dev, struct stat *file, unsigned long long offset, int isoff)
--{
-- struct loop_info64 linfo64;
-- struct loop_info64 linfo;
-- int ret = 0;
--
-- if (ioctl(dev, LOOP_GET_STATUS64, &linfo64) == 0) {
-- if (file->st_dev == linfo64.lo_device &&
-- file->st_ino == linfo64.lo_inode &&
-- (isoff == 0 || offset == linfo64.lo_offset))
-- ret = 1;
-- return ret;
-- }
-- if (ioctl(dev, LOOP_GET_STATUS, &linfo) == 0) {
-- if (file->st_dev == linfo.lo_device &&
-- file->st_ino == linfo.lo_inode &&
-- (isoff == 0 || offset == linfo.lo_offset))
-- ret = 1;
-- return ret;
-- }
--
-- return errno == ENXIO ? 0 : -1;
--}
--
--/* check if the loop file is already used with the same given
-- * parameters. We check for device no, inode and offset.
-- * returns: associated devname or NULL
-- */
--char *
--loopfile_used (const char *filename, unsigned long long offset) {
-- struct looplist ll;
-- char *devname = NULL;
-- struct stat filestat;
-- int fd;
--
-- if (stat(filename, &filestat) == -1) {
-- perror(filename);
-- return NULL;
-+ sha512_init(&s);
-+ for(x = 1; x <= 10; x++) {
-+ if((sizelimit > 0) && ((sizeof(b) * x) > sizelimit)) break;
-+ if(rd_wr_retry(fd, &b[0], sizeof(b), 0) != sizeof(b)) break;
-+ sha512_write(&s, &b[0], sizeof(b));
- }
-+ sha512_final(&s);
-
-- if (looplist_open(&ll, LLFLG_USEDONLY) == -1) {
-- error(_("%s: /dev directory does not exist."), progname);
-- return NULL;
-- }
--
-- while((fd = looplist_next(&ll)) != -1) {
-- int res = is_associated(fd, &filestat, offset, 1);
-- close(fd);
-- if (res == 1) {
-- devname = xstrdup(ll.name);
-- break;
-+ /*
-+ * Overwrite 40 KB of old fs data 20 times so that recovering
-+ * SHA-512 output beyond this point is difficult and expensive.
-+ */
-+ for(y = 0; y < 20; y++) {
-+ int z;
-+ struct {
-+ struct timeval tv;
-+ unsigned char h[64];
-+ int x,y,z;
-+ } j;
-+ if(xx_lseek(fd, offset, SEEK_SET) == -1) break;
-+ memcpy(&j.h[0], &s.sha_out[0], 64);
-+ gettimeofday(&j.tv, NULL);
-+ j.y = y;
-+ for(x = 1; x <= 10; x++) {
-+ j.x = x;
-+ for(z = 0; z < sizeof(b); z += 64) {
-+ j.z = z;
-+ sha512_hash_buffer((unsigned char *)&j, sizeof(j), &b[z], 64);
-+ }
-+ if((sizelimit > 0) && ((sizeof(b) * x) > sizelimit)) break;
-+ if(rd_wr_retry(fd, &b[0], sizeof(b), 1) != sizeof(b)) break;
- }
-+ memset(&j, 0, sizeof(j));
-+ if(fsync(fd)) break;
- }
-- looplist_close(&ll);
--
-- return devname;
--}
--
--int
--loopfile_used_with(char *devname, const char *filename, unsigned long long offset)
--{
-- struct stat statbuf;
-- int fd, ret;
-+ close(fd);
-
-- if (!is_loop_device(devname))
-- return 0;
-+ /*
-+ * Use all 512 bits of hash output
-+ */
-+ memcpy(&b[0], &s.sha_out[0], 64);
-+ memset(&s, 0, sizeof(s));
-
-- if (stat(filename, &statbuf) == -1) {
-- perror(filename);
-- return -1;
-+ /*
-+ * Read 32 bytes of random entropy from kernel's random
-+ * number generator. This code may be executed early on startup
-+ * scripts and amount of random entropy may be non-existent.
-+ * SHA-512 of old fs data is used as workaround for missing
-+ * entropy in kernel's random number generator.
-+ */
-+ if((fd = open("/dev/urandom", O_RDONLY)) == -1) {
-+ fprintf(stderr, _("Error: unable to open /dev/urandom\n"));
-+ return 1;
- }
-+ rd_wr_retry(fd, &b[64], 32, 0);
-
-- fd = open(devname, O_RDONLY);
-- if (fd == -1) {
-- perror(devname);
-- return -1;
-+ /* generate multi-key hashes */
-+ x = 0;
-+ while(x < 65) {
-+ rd_wr_retry(fd, &b[64+32], 16, 0);
-+ sha512_hash_buffer(&b[0], 64+32+16, k, 32);
-+ k += 32;
-+ x++;
- }
-- ret = is_associated(fd, &statbuf, offset, 1);
-
- close(fd);
-- return ret;
-+ memset(&b[0], 0, sizeof(b));
-+ return 0;
- }
-
--char *
--find_unused_loop_device (void) {
-- struct looplist ll;
-- char *devname = NULL;
-- int fd;
-+#if !defined(MAIN)
-+static int loop_fork_mkfs_command(char *device, char *fstype)
-+{
-+ int x, y = 0;
-+ char *a[10], *e[1];
-
-- if (looplist_open(&ll, LLFLG_FREEONLY) == -1) {
-- error(_("%s: /dev directory does not exist."), progname);
-- return NULL;
-+ sync();
-+ if(!(x = fork())) {
-+ if((x = open("/dev/null", O_WRONLY)) >= 0) {
-+ dup2(x, 0);
-+ dup2(x, 1);
-+ dup2(x, 2);
-+ close(x);
-+ }
-+ x = 0;
-+ a[x++] = "mkfs";
-+ a[x++] = "-t";
-+ a[x++] = fstype;
-+ /* mkfs.reiserfs and mkfs.xfs need -f option */
-+ if(!strcmp(fstype, "reiserfs") || !strcmp(fstype, "xfs")) {
-+ a[x++] = "-f";
-+ }
-+ a[x++] = device;
-+ a[x] = 0;
-+ e[0] = 0;
-+ if(setgid(getgid())) exit(1);
-+ if(setuid(getuid())) exit(1);
-+ for(x = 3; x < 1024; x++) {
-+ close(x);
-+ }
-+ execve("/sbin/mkfs", &a[0], &e[0]);
-+ exit(1);
- }
--
-- if ((fd = looplist_next(&ll)) != -1) {
-- close(fd);
-- devname = xstrdup(ll.name);
-+ if(x == -1) {
-+ fprintf(stderr, _("Error: fork failed\n"));
-+ return 1;
- }
-- looplist_close(&ll);
-- if (devname)
-- return devname;
--
-- if (ll.ct_succ && ll.ct_perm)
-- error(_("%s: no permission to look at /dev/loop#"), progname);
-- else if (ll.ct_succ)
-- error(_("%s: could not find any free loop device"), progname);
-- else
-- error(_(
-- "%s: Could not find any loop device. Maybe this kernel "
-- "does not know\n"
-- " about the loop device? (If so, recompile or "
-- "`modprobe loop'.)"), progname);
-- return NULL;
--}
--
--/*
-- * A function to read the passphrase either from the terminal or from
-- * an open file descriptor.
-- */
--static char *
--xgetpass(int pfd, const char *prompt) {
-- char *pass;
-- int buflen, i;
--
-- if (pfd < 0) /* terminal */
-- return getpass(prompt);
--
-- pass = NULL;
-- buflen = 0;
-- for (i=0; ; i++) {
-- if (i >= buflen-1) {
-- /* we're running out of space in the buffer.
-- * Make it bigger: */
-- char *tmppass = pass;
-- buflen += 128;
-- pass = realloc(tmppass, buflen);
-- if (pass == NULL) {
-- /* realloc failed. Stop reading. */
-- error("Out of memory while reading passphrase");
-- pass = tmppass; /* the old buffer hasn't changed */
-- break;
-- }
-- }
-- if (read(pfd, pass+i, 1) != 1 ||
-- pass[i] == '\n' || pass[i] == 0)
-- break;
-+ waitpid(x, &y, 0);
-+ sync();
-+ if(!WIFEXITED(y) || (WEXITSTATUS(y) != 0)) {
-+ fprintf(stderr, _("Error: encrypted file system mkfs failed\n"));
-+ return 1;
- }
--
-- if (pass == NULL)
-- return "";
--
-- pass[i] = 0;
-- return pass;
--}
--
--static int
--digits_only(const char *s) {
-- while (*s)
-- if (!isdigit(*s++))
-- return 0;
-- return 1;
-+ return 0;
- }
-+#endif
-
- int
--set_loop(const char *device, const char *file, unsigned long long offset,
-- unsigned long long sizelimit, const char *encryption, int pfd, int *options) {
-- struct loop_info64 loopinfo64;
-- int fd, ffd, mode, i;
-- char *pass;
-- char *filename;
--
-- if (verbose) {
-- char *xdev = loopfile_used(file, offset);
--
-- if (xdev) {
-- printf(_("warning: %s is already associated with %s\n"),
-- file, xdev);
-- free(xdev);
-- }
-- }
--
-- mode = (*options & SETLOOP_RDONLY) ? O_RDONLY : O_RDWR;
-+set_loop(const char *device, const char *file, int *loopro, const char **fstype, unsigned int *AutoChmodPtr, int busyRetVal) {
-+ struct loop_info64 loopinfo;
-+ int fd, ffd, mode, i, errRetVal = 1;
-+ char *pass, *apiName = NULL;
-+ void (*hashFunc)(unsigned char *, int, unsigned char *, int);
-+ unsigned char multiKeyBits[65][32];
-+ int minPassLen = LOOP_PASSWORD_MIN_LENGTH;
-+ int run_mkfs_command = 0;
-+
-+ loopFileName = (char *)file;
-+ multiKeyMode = 0;
-+ mode = (*loopro ? O_RDONLY : O_RDWR);
- if ((ffd = open(file, mode)) < 0) {
-- if (!(*options & SETLOOP_RDONLY) && errno == EROFS)
-+ if (!*loopro && errno == EROFS)
- ffd = open(file, mode = O_RDONLY);
- if (ffd < 0) {
- perror(file);
- return 1;
- }
-- *options |= SETLOOP_RDONLY;
- }
- if ((fd = open(device, mode)) < 0) {
- perror (device);
-- close(ffd);
-- return 1;
-+ goto close_ffd_return1;
- }
-- memset(&loopinfo64, 0, sizeof(loopinfo64));
-+ *loopro = (mode == O_RDONLY);
-
-- if (!(filename = canonicalize(file)))
-- filename = (char *) file;
-- xstrncpy((char *)loopinfo64.lo_file_name, filename, LO_NAME_SIZE);
--
-- if (encryption && *encryption) {
-- if (digits_only(encryption)) {
-- loopinfo64.lo_encrypt_type = atoi(encryption);
-- } else {
-- loopinfo64.lo_encrypt_type = LO_CRYPT_CRYPTOAPI;
-- snprintf((char *)loopinfo64.lo_crypt_name, LO_NAME_SIZE,
-- "%s", encryption);
-- }
-+ if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
-+ if(errno == EBUSY)
-+ errRetVal = busyRetVal;
-+ if((errRetVal != 2) || verbose)
-+ perror("ioctl: LOOP_SET_FD");
-+keyclean_close_fd_ffd_return1:
-+ memset(loopinfo.lo_encrypt_key, 0, sizeof(loopinfo.lo_encrypt_key));
-+ memset(&multiKeyBits[0][0], 0, sizeof(multiKeyBits));
-+ close (fd);
-+close_ffd_return1:
-+ close (ffd);
-+ return errRetVal;
- }
-
-- loopinfo64.lo_offset = offset;
-- loopinfo64.lo_sizelimit = sizelimit;
-+ memset (&loopinfo, 0, sizeof (loopinfo));
-+ xstrncpy ((char *)loopinfo.lo_file_name, file, LO_NAME_SIZE);
-+ if (loopEncryptionType)
-+ loopinfo.lo_encrypt_type = loop_crypt_type (loopEncryptionType, &loopinfo.lo_encrypt_key_size, &apiName);
-+ if (loopOffsetBytes)
-+ loopinfo.lo_offset = mystrtoull(loopOffsetBytes, 1);
-+ if (loopSizeBytes)
-+ loopinfo.lo_sizelimit = mystrtoull(loopSizeBytes, 0);
-
- #ifdef MCL_FUTURE
- /*
- * Oh-oh, sensitive data coming up. Better lock into memory to prevent
- * passwd etc being swapped out and left somewhere on disk.
- */
-- if (loopinfo64.lo_encrypt_type != LO_CRYPT_NONE) {
-- if(mlockall(MCL_CURRENT | MCL_FUTURE)) {
-- perror("memlock");
-- fprintf(stderr, _("Couldn't lock into memory, exiting.\n"));
-- exit(1);
-- }
-+
-+ if(loopinfo.lo_encrypt_type && mlockall(MCL_CURRENT | MCL_FUTURE)) {
-+ perror("memlock");
-+ ioctl (fd, LOOP_CLR_FD, 0);
-+ fprintf(stderr, _("Couldn't lock into memory, exiting.\n"));
-+ exit(1);
- }
- #endif
-
-- switch (loopinfo64.lo_encrypt_type) {
-+ switch (loopinfo.lo_encrypt_type) {
- case LO_CRYPT_NONE:
-- loopinfo64.lo_encrypt_key_size = 0;
-+ loopinfo.lo_encrypt_key_size = 0;
- break;
- case LO_CRYPT_XOR:
-- pass = getpass(_("Password: "));
-- goto gotpass;
-+ pass = sGetPass (1, 0);
-+ if(!pass) goto loop_clr_fd_out;
-+ xstrncpy ((char *)loopinfo.lo_encrypt_key, pass, LO_KEY_SIZE);
-+ loopinfo.lo_encrypt_key_size = strlen((char*)loopinfo.lo_encrypt_key);
-+ break;
-+ case 3: /* LO_CRYPT_FISH2 */
-+ case 4: /* LO_CRYPT_BLOW */
-+ case 7: /* LO_CRYPT_SERPENT */
-+ case 8: /* LO_CRYPT_MARS */
-+ case 11: /* LO_CRYPT_RC6 */
-+ case 12: /* LO_CRYPT_DES_EDE3 */
-+ case 16: /* LO_CRYPT_AES */
-+ case 18: /* LO_CRYPT_CRYPTOAPI */
-+ /* set default hash function */
-+ hashFunc = sha256_hash_buffer;
-+ if(loopinfo.lo_encrypt_key_size == 24) hashFunc = sha384_hash_buffer;
-+ if(loopinfo.lo_encrypt_key_size == 32) hashFunc = sha512_hash_buffer;
-+ /* possibly override default hash function */
-+ if(passHashFuncName) {
-+ if(!strcasecmp(passHashFuncName, "sha256")) {
-+ hashFunc = sha256_hash_buffer;
-+ } else if(!strcasecmp(passHashFuncName, "sha384")) {
-+ hashFunc = sha384_hash_buffer;
-+ } else if(!strcasecmp(passHashFuncName, "sha512")) {
-+ hashFunc = sha512_hash_buffer;
-+ } else if(!strcasecmp(passHashFuncName, "rmd160")) {
-+ hashFunc = rmd160HashTwiceWithA;
-+ minPassLen = 1;
-+ } else if(!strcasecmp(passHashFuncName, "unhashed1")) {
-+ hashFunc = unhashed1_key_setup;
-+ } else if(!strcasecmp(passHashFuncName, "unhashed2")) {
-+ hashFunc = unhashed2_key_setup;
-+ minPassLen = 1;
-+ } else if(!strcasecmp(passHashFuncName, "unhashed3") && passFDnumber && !gpgKeyFile) {
-+ /* unhashed3 hash type reads binary key from file descriptor. */
-+ /* This is not compatible with gpgkey= mount option */
-+ if(rd_wr_retry(atoi(passFDnumber), (char *)&loopinfo.lo_encrypt_key[0], LO_KEY_SIZE, 0) < 1) {
-+ fprintf(stderr, _("Error: couldn't read binary key\n"));
-+ goto loop_clr_fd_out;
-+ }
-+ break; /* out of switch(loopinfo.lo_encrypt_type) */
-+ } else if(!strncasecmp(passHashFuncName, "random", 6) && ((passHashFuncName[6] == 0) || (passHashFuncName[6] == '/'))) {
-+ /* random hash type sets up 65 random keys */
-+ /* WARNING! DO NOT USE RANDOM HASH TYPE ON PARTITION WITH EXISTING */
-+ /* IMPORTANT DATA ON IT. RANDOM HASH TYPE WILL DESTROY YOUR DATA. */
-+ if(loop_create_random_keys((char*)file, loopinfo.lo_offset, loopinfo.lo_sizelimit, *loopro, &multiKeyBits[0][0])) {
-+ goto loop_clr_fd_out;
-+ }
-+ memcpy(&loopinfo.lo_encrypt_key[0], &multiKeyBits[0][0], sizeof(loopinfo.lo_encrypt_key));
-+ run_mkfs_command = multiKeyMode = 1000;
-+ break; /* out of switch(loopinfo.lo_encrypt_type) */
-+ }
-+ }
-+ pass = sGetPass (minPassLen, LOOP_PASSWORD_MIN_LENGTH);
-+ if(!pass) goto loop_clr_fd_out;
-+ i = strlen(pass);
-+ if(hashFunc == unhashed1_key_setup) {
-+ /* this is for compatibility with historic loop-AES version */
-+ loopinfo.lo_encrypt_key_size = 16; /* 128 bits */
-+ if(i >= 32) loopinfo.lo_encrypt_key_size = 24; /* 192 bits */
-+ if(i >= 43) loopinfo.lo_encrypt_key_size = 32; /* 256 bits */
-+ }
-+ (*hashFunc)((unsigned char *)pass, i, &loopinfo.lo_encrypt_key[0], sizeof(loopinfo.lo_encrypt_key));
-+ if(multiKeyMode) {
-+ int r = 0, t;
-+ while(r < multiKeyMode) {
-+ t = strlen(multiKeyPass[r]);
-+ (*hashFunc)((unsigned char *)multiKeyPass[r], t, &multiKeyBits[r][0], 32);
-+ memset(multiKeyPass[r], 0, t);
-+ /*
-+ * MultiKeyMode uses md5 IV. One key mode uses sector IV. Sector IV
-+ * and md5 IV v2 and v3 are all computed differently. This first key
-+ * byte XOR with 0x55/0xF4 is needed to cause complete decrypt failure
-+ * in cases where data is encrypted with one type of IV and decrypted
-+ * with another type IV. If identical key was used but only IV was
-+ * computed differently, only first plaintext block of 512 byte CBC
-+ * chain would decrypt incorrectly and rest would decrypt correctly.
-+ * Partially correct decryption is dangerous. Decrypting all blocks
-+ * incorrectly is safer because file system mount will simply fail.
-+ */
-+ if(multiKeyMode == 65) {
-+ multiKeyBits[r][0] ^= 0xF4; /* version 3 */
-+ } else {
-+ multiKeyBits[r][0] ^= 0x55; /* version 2 */
-+ }
-+ r++;
-+ }
-+ } else if(passIterThousands) {
-+ aes_context ctx;
-+ unsigned long iter = 0;
-+ unsigned char tempkey[32];
-+ /*
-+ * Set up AES-256 encryption key using same password and hash function
-+ * as before but with password bit 0 flipped before hashing. That key
-+ * is then used to encrypt actual loop key 'itercountk' thousand times.
-+ */
-+ pass[0] ^= 1;
-+ (*hashFunc)((unsigned char *)pass, i, &tempkey[0], 32);
-+ aes_set_key(&ctx, &tempkey[0], 32, 0);
-+ sscanf(passIterThousands, "%lu", &iter);
-+ iter *= 1000;
-+ while(iter > 0) {
-+ /* encrypt both 128bit blocks with AES-256 */
-+ aes_encrypt(&ctx, &loopinfo.lo_encrypt_key[ 0], &loopinfo.lo_encrypt_key[ 0]);
-+ aes_encrypt(&ctx, &loopinfo.lo_encrypt_key[16], &loopinfo.lo_encrypt_key[16]);
-+ /* exchange upper half of first block with lower half of second block */
-+ memcpy(&tempkey[0], &loopinfo.lo_encrypt_key[8], 8);
-+ memcpy(&loopinfo.lo_encrypt_key[8], &loopinfo.lo_encrypt_key[16], 8);
-+ memcpy(&loopinfo.lo_encrypt_key[16], &tempkey[0], 8);
-+ iter--;
-+ }
-+ memset(&ctx, 0, sizeof(ctx));
-+ memset(&tempkey[0], 0, sizeof(tempkey));
-+ }
-+ memset(pass, 0, i); /* erase original password */
-+ break;
- default:
-- pass = xgetpass(pfd, _("Password: "));
-- gotpass:
-- memset(loopinfo64.lo_encrypt_key, 0, LO_KEY_SIZE);
-- xstrncpy((char *)loopinfo64.lo_encrypt_key, pass, LO_KEY_SIZE);
-- memset(pass, 0, strlen(pass));
-- loopinfo64.lo_encrypt_key_size = LO_KEY_SIZE;
-+ fprintf (stderr, _("Error: don't know how to get key for encryption system %d\n"), loopinfo.lo_encrypt_type);
-+ goto loop_clr_fd_out;
- }
-
-- if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
-- int rc = 1;
--
-- if (errno == EBUSY) {
-- if (verbose)
-- printf(_("ioctl LOOP_SET_FD failed: %s\n"),
-- strerror(errno));
-- rc = 2;
-- } else
-- perror("ioctl: LOOP_SET_FD");
--
-- close(fd);
-- close(ffd);
-- if (file != filename)
-- free(filename);
-- return rc;
-+ if(loInitValue) {
-+ /* cipher modules are free to do whatever they want with this value */
-+ i = 0;
-+ sscanf(loInitValue, "%d", &i);
-+ loopinfo.lo_init[0] = i;
-+ }
-+
-+ /* type 18 == LO_CRYPT_CRYPTOAPI */
-+ if ((loopinfo.lo_encrypt_type == 18) || (loop_set_status64_ioctl(fd, &loopinfo) < 0)) {
-+ /* direct cipher interface failed - try CryptoAPI interface now */
-+ if(!apiName || (try_cryptoapi_loop_interface(fd, &loopinfo, apiName) < 0)) {
-+ fprintf(stderr, _("ioctl: LOOP_SET_STATUS: %s, requested cipher or key length (%d bits) not supported by kernel\n"), strerror(errno), loopinfo.lo_encrypt_key_size << 3);
-+ loop_clr_fd_out:
-+ (void) ioctl (fd, LOOP_CLR_FD, 0);
-+ goto keyclean_close_fd_ffd_return1;
-+ }
-+ }
-+ if(multiKeyMode >= 65) {
-+ if(ioctl(fd, LOOP_MULTI_KEY_SETUP_V3, &multiKeyBits[0][0]) < 0) {
-+ if(multiKeyMode == 1000) goto try_v2_setup;
-+ perror("ioctl: LOOP_MULTI_KEY_SETUP_V3");
-+ goto loop_clr_fd_out;
-+ }
-+ } else if(multiKeyMode == 64) {
-+ try_v2_setup:
-+ if((ioctl(fd, LOOP_MULTI_KEY_SETUP, &multiKeyBits[0][0]) < 0) && (multiKeyMode != 1000)) {
-+ perror("ioctl: LOOP_MULTI_KEY_SETUP");
-+ goto loop_clr_fd_out;
-+ }
- }
-- close (ffd);
--
-- if (*options & SETLOOP_AUTOCLEAR)
-- loopinfo64.lo_flags = LO_FLAGS_AUTOCLEAR;
-
-- i = ioctl(fd, LOOP_SET_STATUS64, &loopinfo64);
-- if (i) {
-- struct loop_info loopinfo;
-- int errsv = errno;
-+ memset(loopinfo.lo_encrypt_key, 0, sizeof(loopinfo.lo_encrypt_key));
-+ memset(&multiKeyBits[0][0], 0, sizeof(multiKeyBits));
-+ close (fd);
-+ close (ffd);
-
-- i = loop_info64_to_old(&loopinfo64, &loopinfo);
-- if (i) {
-- errno = errsv;
-- *options &= ~SETLOOP_AUTOCLEAR;
-- perror("ioctl: LOOP_SET_STATUS64");
-+#if !defined(MAIN)
-+ if(run_mkfs_command && fstype && *fstype && **fstype && (getuid() == 0)) {
-+ if(!loop_fork_mkfs_command((char *)device, (char *)(*fstype))) {
-+ /* !strncasecmp(passHashFuncName, "random", 6) test matched */
-+ /* This reads octal mode for newly created file system root */
-+ /* directory node from '-o phash=random/1777' mount option. */
-+ /* octal mode--^^^^ */
-+ sscanf(passHashFuncName + 6, "/%o", AutoChmodPtr);
- } else {
-- i = ioctl(fd, LOOP_SET_STATUS, &loopinfo);
-- if (i)
-- perror("ioctl: LOOP_SET_STATUS");
-- else if (*options & SETLOOP_AUTOCLEAR)
-- {
-- i = ioctl(fd, LOOP_GET_STATUS, &loopinfo);
-- if (i || !(loopinfo.lo_flags & LO_FLAGS_AUTOCLEAR))
-- *options &= ~SETLOOP_AUTOCLEAR;
-+ if((fd = open(device, mode)) >= 0) {
-+ ioctl(fd, LOOP_CLR_FD, 0);
-+ close(fd);
-+ return 1;
- }
- }
-- memset(&loopinfo, 0, sizeof(loopinfo));
-- }
-- else if (*options & SETLOOP_AUTOCLEAR)
-- {
-- i = ioctl(fd, LOOP_GET_STATUS64, &loopinfo64);
-- if (i || !(loopinfo64.lo_flags & LO_FLAGS_AUTOCLEAR))
-- *options &= ~SETLOOP_AUTOCLEAR;
- }
-- memset(&loopinfo64, 0, sizeof(loopinfo64));
--
--
-- if (i) {
-- ioctl (fd, LOOP_CLR_FD, 0);
-- close (fd);
-- if (file != filename)
-- free(filename);
-- return 1;
-- }
--
-- /*
-- * HACK: here we're leeking a file descriptor,
-- * but mount is a short-lived process anyway.
-- */
-- if (!(*options & SETLOOP_AUTOCLEAR))
-- close (fd);
-+#endif
-
- if (verbose > 1)
-- printf(_("set_loop(%s,%s,%llu,%llu): success\n"),
-- device, filename, offset, sizelimit);
-- if (file != filename)
-- free(filename);
-+ printf(_("set_loop(%s,%s): success\n"), device, file);
- return 0;
- }
-
--int
--del_loop (const char *device) {
-- int fd;
-+#ifdef MAIN
-
-- if ((fd = open (device, O_RDONLY)) < 0) {
-- int errsv = errno;
-- fprintf(stderr, _("loop: can't delete device %s: %s\n"),
-- device, strerror (errsv));
-- return 1;
-- }
-- if (ioctl (fd, LOOP_CLR_FD, 0) < 0) {
-- perror ("ioctl: LOOP_CLR_FD");
-- close(fd);
-- return 1;
-- }
-- close (fd);
-- if (verbose > 1)
-- printf(_("del_loop(%s): success\n"), device);
-- return 0;
--}
-+#include <getopt.h>
-+#include <stdarg.h>
-+
-+int verbose = 0;
-+static char *progname;
-
--#else /* no LOOP_SET_FD defined */
- static void
--mutter(void) {
-- fprintf(stderr,
-- _("This mount was compiled without loop support. "
-- "Please recompile.\n"));
-+usage(void) {
-+ fprintf(stderr, _("usage:\n\
-+ %s [options] loop_device file # setup\n\
-+ %s -F [options] loop_device [file] # setup, read /etc/fstab\n\
-+ %s loop_device # give info\n\
-+ %s -a # give info of all loops\n\
-+ %s -d loop_device # delete\n\
-+ %s -R loop_device # resize\n\
-+options: -e encryption -o offset -s sizelimit -p passwdfd -T -S pseed\n\
-+ -H phash -I loinit -K gpgkey -G gpghome -C itercountk -v -r\n\
-+ -P cleartextkey\n"),
-+ progname, progname, progname, progname, progname, progname);
-+ exit(1);
- }
-
--int
--set_loop(const char *device, const char *file, unsigned long long offset,
-- unsigned long long sizelimit, const char *encryption, int pfd, int *loopro,
-- int keysz, int hash_pass) {
-- mutter();
-- return 1;
-+void
-+show_all_loops(void)
-+{
-+ char dev[20];
-+ char *lfmt[] = { "/dev/loop%d", "/dev/loop/%d" };
-+ int i, j, fd, x;
-+ struct stat statbuf;
-+
-+ for(i = 0; i < 256; i++) {
-+ for(j = (sizeof(lfmt) / sizeof(lfmt[0])) - 1; j >= 0; j--) {
-+ sprintf(dev, lfmt[j], i);
-+ if(stat(dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
-+ fd = open(dev, O_RDONLY);
-+ if(fd >= 0) {
-+ x = is_unused_loop_device(fd);
-+ close(fd);
-+ if(x == 0) {
-+ show_loop(dev);
-+ j = 0;
-+ }
-+ }
-+ }
-+ }
-+ }
- }
-
- int
--del_loop (const char *device) {
-- mutter();
-- return 1;
--}
-+read_options_from_fstab(char *loopToFind, char **partitionPtr)
-+{
-+ FILE *f;
-+ struct mntent *m;
-+ int y, foundMatch = 0;
-+ char *opt, *fr1, *fr2;
-+ struct options {
-+ char *name; /* name of /etc/fstab option */
-+ char **dest; /* destination where it is written to */
-+ char *line; /* temp */
-+ };
-+ struct options tbl[] = {
-+ { "device/file name ", partitionPtr }, /* must be index 0 */
-+ { "loop=", &loopToFind }, /* must be index 1 */
-+ { "offset=", &loopOffsetBytes },
-+ { "sizelimit=", &loopSizeBytes },
-+ { "encryption=", &loopEncryptionType },
-+ { "pseed=", &passSeedString },
-+ { "phash=", &passHashFuncName },
-+ { "loinit=", &loInitValue },
-+ { "gpgkey=", &gpgKeyFile },
-+ { "gpghome=", &gpgHomeDir },
-+ { "cleartextkey=", &clearTextKeyFile },
-+ { "itercountk=", &passIterThousands },
-+ };
-+ struct options *p;
-
--char *
--find_unused_loop_device (void) {
-- mutter();
-- return 0;
-+ if (!(f = setmntent("/etc/fstab", "r"))) {
-+ fprintf(stderr, _("Error: unable to open /etc/fstab for reading\n"));
-+ return 0;
-+ }
-+ while ((m = getmntent(f)) != NULL) {
-+ tbl[0].line = fr1 = xstrdup(m->mnt_fsname);
-+ p = &tbl[1];
-+ do {
-+ p->line = NULL;
-+ } while (++p < &tbl[sizeof(tbl) / sizeof(struct options)]);
-+ opt = fr2 = xstrdup(m->mnt_opts);
-+ for (opt = strtok(opt, ","); opt != NULL; opt = strtok(NULL, ",")) {
-+ p = &tbl[1];
-+ do {
-+ y = strlen(p->name);
-+ if (!strncmp(opt, p->name, y))
-+ p->line = opt + y;
-+ } while (++p < &tbl[sizeof(tbl) / sizeof(struct options)]);
-+ }
-+ if (tbl[1].line && !strcmp(loopToFind, tbl[1].line)) {
-+ if (++foundMatch > 1) {
-+ fprintf(stderr, _("Error: multiple loop=%s options found in /etc/fstab\n"), loopToFind);
-+ endmntent(f);
-+ return 0;
-+ }
-+ p = &tbl[0];
-+ do {
-+ if (!*p->dest && p->line) {
-+ *p->dest = p->line;
-+ if (verbose)
-+ printf(_("using %s%s from /etc/fstab\n"), p->name, p->line);
-+ }
-+ } while (++p < &tbl[sizeof(tbl) / sizeof(struct options)]);
-+ fr1 = fr2 = NULL;
-+ }
-+ if(fr1) free(fr1);
-+ if(fr2) free(fr2);
-+ }
-+ endmntent(f);
-+ if (foundMatch == 0) {
-+ fprintf(stderr, _("Error: loop=%s option not found in /etc/fstab\n"), loopToFind);
-+ }
-+ return foundMatch;
- }
-
--#endif /* !LOOP_SET_FD */
--
--#ifdef MAIN
--
--#ifdef LOOP_SET_FD
--
--#include <getopt.h>
--#include <stdarg.h>
-+int
-+recompute_loop_dev_size(char *device)
-+{
-+ int fd, err1 = 0, err2, err3;
-+ long long oldBytes = -1, newBytes = -1;
-
--static void
--usage(void) {
-- fprintf(stderr, _("\nUsage:\n"
-- " %1$s loop_device give info\n"
-- " %1$s -a | --all list all used\n"
-- " %1$s -d | --detach <loopdev> delete\n"
-- " %1$s -f | --find find unused\n"
-- " %1$s -j | --associated <file> [-o <num>] list all associated with <file>\n"
-- " %1$s [ options ] {-f|--find|loopdev} <file> setup\n"),
-- progname);
--
-- fprintf(stderr, _("\nOptions:\n"
-- " -e | --encryption <type> enable data encryption with specified <name/num>\n"
-- " -h | --help this help\n"
-- " -o | --offset <num> start at offset <num> into file\n"
-- " --sizelimit <num> loop limited to only <num> bytes of the file\n"
-- " -p | --pass-fd <num> read passphrase from file descriptor <num>\n"
-- " -r | --read-only setup read-only loop device\n"
-- " --show print device name (with -f <file>)\n"
-- " -v | --verbose verbose mode\n\n"));
-- exit(1);
-- }
-+ fd = open(device, O_RDONLY);
-+ if(fd < 0) {
-+ perror(device);
-+ return 1;
-+ }
-+ if(verbose) {
-+ err1 = ioctl(fd, BLKGETSIZE64, &oldBytes);
-+ }
-+ err2 = ioctl(fd, LOOP_RECOMPUTE_DEV_SIZE, 0);
-+ if(err2) {
-+ perror(device);
-+ goto done1;
-+ }
-+ if(verbose) {
-+ err3 = ioctl(fd, BLKGETSIZE64, &newBytes);
-+ if(!err1 && (oldBytes >= 0)) {
-+ printf("%s: old size %lld bytes\n", device, oldBytes);
-+ }
-+ if(!err3 && (newBytes >= 0)) {
-+ printf("%s: new size %lld bytes\n", device, newBytes);
-+ }
-+ }
-+done1:
-+ close(fd);
-+ return err2;
-+}
-
- int
- main(int argc, char **argv) {
-- char *p, *offset, *sizelimit, *encryption, *passfd, *device, *file, *assoc;
-- int delete, find, c, all;
-+ char *partitionName = NULL;
-+ int delete,c,option_a=0,option_F=0,option_R=0,setup_o=0;
- int res = 0;
-- int showdev = 0;
- int ro = 0;
-- int pfd = -1;
-- unsigned long long off, slimit;
-- struct option longopts[] = {
-- { "all", 0, 0, 'a' },
-- { "detach", 0, 0, 'd' },
-- { "encryption", 1, 0, 'e' },
-- { "find", 0, 0, 'f' },
-- { "help", 0, 0, 'h' },
-- { "associated", 1, 0, 'j' },
-- { "offset", 1, 0, 'o' },
-- { "sizelimit", 1, 0, 128 },
-- { "pass-fd", 1, 0, 'p' },
-- { "read-only", 0, 0, 'r' },
-- { "show", 0, 0, 's' },
-- { "verbose", 0, 0, 'v' },
-- { NULL, 0, 0, 0 }
-- };
-
- setlocale(LC_ALL, "");
- bindtextdomain(PACKAGE, LOCALEDIR);
- textdomain(PACKAGE);
-
-- delete = find = all = 0;
-- off = 0;
-- slimit = 0;
-- assoc = offset = sizelimit = encryption = passfd = NULL;
--
-+ delete = 0;
- progname = argv[0];
-- if ((p = strrchr(progname, '/')) != NULL)
-- progname = p+1;
--
-- while ((c = getopt_long(argc, argv, "ade:E:fhj:o:p:rsv",
-- longopts, NULL)) != -1) {
-+ while ((c = getopt(argc,argv,"aC:de:FG:H:I:K:o:p:P:rRs:S:Tv")) != -1) {
- switch (c) {
-- case 'a':
-- all = 1;
-+ case 'a': /* show status of all loops */
-+ option_a = 1;
- break;
-- case 'r':
-- ro = 1;
-+ case 'C':
-+ passIterThousands = optarg;
-+ setup_o = 1;
- break;
- case 'd':
- delete = 1;
- break;
-- case 'E':
- case 'e':
-- encryption = optarg;
-+ loopEncryptionType = optarg;
-+ setup_o = 1;
- break;
-- case 'f':
-- find = 1;
-+ case 'F': /* read loop related options from /etc/fstab */
-+ option_F = 1;
-+ setup_o = 1;
- break;
-- case 'j':
-- assoc = optarg;
-+ case 'G': /* GnuPG home dir */
-+ gpgHomeDir = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'H': /* passphrase hash function name */
-+ passHashFuncName = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'I': /* lo_init[0] value (in string form) */
-+ loInitValue = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'K': /* GnuPG key file name */
-+ gpgKeyFile = optarg;
-+ setup_o = 1;
- break;
- case 'o':
-- offset = optarg;
-+ loopOffsetBytes = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'p': /* read passphrase from given fd */
-+ passFDnumber = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'P': /* read passphrase from given file */
-+ clearTextKeyFile = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'r': /* read-only */
-+ ro = 1;
-+ setup_o = 1;
- break;
-- case 'p':
-- passfd = optarg;
-+ case 'R': /* recompute loop dev size */
-+ option_R = 1;
- break;
- case 's':
-- showdev = 1;
-+ loopSizeBytes = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'S': /* optional seed for passphrase */
-+ passSeedString = optarg;
-+ setup_o = 1;
-+ break;
-+ case 'T': /* ask passphrase _twice_ */
-+ passAskTwice = "T";
-+ setup_o = 1;
- break;
- case 'v':
-- verbose = 1;
-+ verbose++;
- break;
--
-- case 128: /* --sizelimit */
-- sizelimit = optarg;
-- break;
--
- default:
- usage();
- }
- }
--
-- if (argc == 1) {
-- usage();
-+ if (option_a + delete + option_R + setup_o > 1) usage();
-+ if (option_a) {
-+ /* show all loops */
-+ if (argc != optind) usage();
-+ show_all_loops();
-+ res = 0;
- } else if (delete) {
-- if (argc != optind+1 || encryption || offset || sizelimit ||
-- find || all || showdev || assoc || ro)
-- usage();
-- } else if (find) {
-- if (all || assoc || argc < optind || argc > optind+1)
-- usage();
-- } else if (all) {
-- if (argc > 2)
-- usage();
-- } else if (assoc) {
-- if (encryption || showdev || passfd || ro)
-- usage();
-+ /* delete loop */
-+ if (argc != optind+1) usage();
-+ res = del_loop(argv[optind]);
-+ } else if (option_R) {
-+ /* resize existing loop */
-+ if (argc != optind+1) usage();
-+ res = recompute_loop_dev_size(argv[optind]);
-+ } else if ((argc == optind+1) && !setup_o) {
-+ /* show one loop */
-+ res = show_loop(argv[optind]);
- } else {
-- if (argc < optind+1 || argc > optind+2)
-+ /* set up new loop */
-+ if ((argc < optind+1) || ((argc == optind+1) && !option_F) || (argc > optind+2))
- usage();
-- }
--
-- if (offset && sscanf(offset, "%llu", &off) != 1)
-- usage();
--
-- if (sizelimit && sscanf(sizelimit, "%llu", &slimit) != 1)
-- usage();
--
-- if (all)
-- return show_used_loop_devices();
-- else if (assoc)
-- return show_associated_loop_devices(assoc, off, offset ? 1 : 0);
-- else if (find) {
-- device = find_unused_loop_device();
-- if (device == NULL)
-- return -1;
-- if (argc == optind) {
-- if (verbose)
-- printf("Loop device is %s\n", device);
-- printf("%s\n", device);
-- return 0;
-- }
-- file = argv[optind];
-- } else {
-- device = argv[optind];
-- if (argc == optind+1)
-- file = NULL;
-- else
-- file = argv[optind+1];
-- }
--
-- if (delete)
-- res = del_loop(device);
-- else if (file == NULL)
-- res = show_loop(device);
-- else {
-- if (passfd && sscanf(passfd, "%d", &pfd) != 1)
-- usage();
-- do {
-- res = set_loop(device, file, off, slimit, encryption, pfd, &ro);
-- if (res == 2 && find) {
-- if (verbose)
-- printf("stolen loop=%s...trying again\n",
-- device);
-- free(device);
-- if (!(device = find_unused_loop_device()))
-- return -1;
-- }
-- } while (find && res == 2);
--
-- if (verbose && res == 0)
-- printf("Loop device is %s\n", device);
--
-- if (res == 0 && showdev && find)
-- printf("%s\n", device);
-+ if (argc > optind+1)
-+ partitionName = argv[optind+1];
-+ if (option_F && (read_options_from_fstab(argv[optind], &partitionName) != 1))
-+ exit(1);
-+ res = set_loop(argv[optind],partitionName,&ro,(const char**)0,(unsigned int *)0, 1);
- }
- return res;
- }
--
--#else /* LOOP_SET_FD not defined */
--
--int
--main(int argc, char **argv) {
-- fprintf(stderr,
-- _("No loop support was available at compile time. "
-- "Please recompile.\n"));
-- return -1;
--}
--#endif /* !LOOP_SET_FD*/
--#endif /* MAIN */
-+#endif
-diff -urN util-linux-ng-2.14/mount/lomount.h util-linux-ng-2.14-AES/mount/lomount.h
---- util-linux-ng-2.14/mount/lomount.h 2008-05-29 02:01:02.000000000 +0300
-+++ util-linux-ng-2.14-AES/mount/lomount.h 2008-06-24 16:55:13.000000000 +0300
-@@ -1,11 +1,19 @@
--extern int set_loop(const char *, const char *, unsigned long long, unsigned long long,
-- const char *, int, int *);
-+extern int verbose;
-+extern int set_loop(const char *, const char *, int *, const char **, unsigned int *, int);
- extern int del_loop(const char *);
- extern int is_loop_device(const char *);
-+extern int is_loop_active(const char *, const char *);
- extern char * find_unused_loop_device(void);
-
--extern int loopfile_used_with(char *devname, const char *filename, unsigned long long offset);
--extern char *loopfile_used (const char *filename, unsigned long long offset);
--
--#define SETLOOP_RDONLY (1<<0) /* Open loop read-only */
--#define SETLOOP_AUTOCLEAR (1<<1) /* Automatically detach loop on close (2.6.25?) */
-+extern char *passFDnumber;
-+extern char *passAskTwice;
-+extern char *passSeedString;
-+extern char *passHashFuncName;
-+extern char *passIterThousands;
-+extern char *loInitValue;
-+extern char *gpgKeyFile;
-+extern char *gpgHomeDir;
-+extern char *clearTextKeyFile;
-+extern char *loopOffsetBytes;
-+extern char *loopSizeBytes;
-+extern char *loopEncryptionType;
-diff -urN util-linux-ng-2.14/mount/loop.c util-linux-ng-2.14-AES/mount/loop.c
---- util-linux-ng-2.14/mount/loop.c 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.14-AES/mount/loop.c 2008-06-24 16:55:13.000000000 +0300
-@@ -0,0 +1,221 @@
-+/*
-+ * loop.c
-+ *
-+ * Copyright 2003 by Jari Ruusu.
-+ * Redistribution of this file is permitted under the GNU GPL
-+ */
-+
-+/* collection of loop helper functions used by losetup, mount and swapon */
-+
-+#include <stdio.h>
-+#include <string.h>
-+#include <ctype.h>
-+#include <sys/ioctl.h>
-+#include <sys/types.h>
-+#include <errno.h>
-+#include "loop.h"
-+
-+static void convert_info_to_info64(struct loop_info *info, struct loop_info64 *info64)
-+{
-+ memset(info64, 0, sizeof(*info64));
-+ info64->lo_number = info->lo_number;
-+ info64->lo_device = info->lo_device;
-+ info64->lo_inode = info->lo_inode;
-+ info64->lo_rdevice = info->lo_rdevice;
-+ info64->lo_offset = info->lo_offset;
-+ info64->lo_encrypt_type = info->lo_encrypt_type;
-+ info64->lo_encrypt_key_size = info->lo_encrypt_key_size;
-+ info64->lo_flags = info->lo_flags;
-+ info64->lo_init[0] = info->lo_init[0];
-+ info64->lo_init[1] = info->lo_init[1];
-+ info64->lo_sizelimit = 0;
-+ if (info->lo_encrypt_type == 18) /* LO_CRYPT_CRYPTOAPI */
-+ memcpy(info64->lo_crypt_name, info->lo_name, sizeof(info64->lo_crypt_name));
-+ else
-+ memcpy(info64->lo_file_name, info->lo_name, sizeof(info64->lo_file_name));
-+ memcpy(info64->lo_encrypt_key, info->lo_encrypt_key, sizeof(info64->lo_encrypt_key));
-+}
-+
-+static int convert_info64_to_info(struct loop_info64 *info64, struct loop_info *info)
-+{
-+ memset(info, 0, sizeof(*info));
-+ info->lo_number = info64->lo_number;
-+ info->lo_device = info64->lo_device;
-+ info->lo_inode = info64->lo_inode;
-+ info->lo_rdevice = info64->lo_rdevice;
-+ info->lo_offset = info64->lo_offset;
-+ info->lo_encrypt_type = info64->lo_encrypt_type;
-+ info->lo_encrypt_key_size = info64->lo_encrypt_key_size;
-+ info->lo_flags = info64->lo_flags;
-+ info->lo_init[0] = info64->lo_init[0];
-+ info->lo_init[1] = info64->lo_init[1];
-+ if (info->lo_encrypt_type == 18) /* LO_CRYPT_CRYPTOAPI */
-+ memcpy(info->lo_name, info64->lo_crypt_name, sizeof(info->lo_name));
-+ else
-+ memcpy(info->lo_name, info64->lo_file_name, sizeof(info->lo_name));
-+ memcpy(info->lo_encrypt_key, info64->lo_encrypt_key, sizeof(info->lo_encrypt_key));
-+
-+ /* error in case values were truncated */
-+ if (info->lo_device != info64->lo_device ||
-+ info->lo_rdevice != info64->lo_rdevice ||
-+ info->lo_inode != info64->lo_inode ||
-+ info->lo_offset != info64->lo_offset ||
-+ info64->lo_sizelimit) {
-+ errno = EOVERFLOW;
-+ return -1;
-+ }
-+ return 0;
-+}
-+
-+int loop_set_status64_ioctl(int fd, struct loop_info64 *info64)
-+{
-+ struct loop_info info;
-+ struct loop_info64 tmp;
-+ int r;
-+
-+ /*
-+ * This ugly work around is needed because some
-+ * Red Hat kernels are using same ioctl code:
-+ * #define LOOP_CHANGE_FD 0x4C04
-+ * vs.
-+ * #define LOOP_SET_STATUS64 0x4C04
-+ * that is used by modern loop driver.
-+ *
-+ * Attempt to detect presense of LOOP_GET_STATUS64
-+ * ioctl before issuing LOOP_SET_STATUS64 ioctl.
-+ * Red Hat kernels with above LOOP_CHANGE_FD damage
-+ * should return -1 and set errno to EINVAL.
-+ */
-+ r = ioctl(fd, LOOP_GET_STATUS64, &tmp);
-+ memset(&tmp, 0, sizeof(tmp));
-+ if ((r == 0) || (errno != EINVAL)) {
-+ r = ioctl(fd, LOOP_SET_STATUS64, info64);
-+ if (!r)
-+ return 0;
-+ }
-+ r = convert_info64_to_info(info64, &info);
-+ if (!r)
-+ r = ioctl(fd, LOOP_SET_STATUS, &info);
-+
-+ /* don't leave copies of encryption key on stack */
-+ memset(&info, 0, sizeof(info));
-+ return r;
-+}
-+
-+int loop_get_status64_ioctl(int fd, struct loop_info64 *info64)
-+{
-+ struct loop_info info;
-+ int r;
-+
-+ memset(info64, 0, sizeof(*info64));
-+ r = ioctl(fd, LOOP_GET_STATUS64, info64);
-+ if (!r)
-+ return 0;
-+ r = ioctl(fd, LOOP_GET_STATUS, &info);
-+ if (!r)
-+ convert_info_to_info64(&info, info64);
-+
-+ /* don't leave copies of encryption key on stack */
-+ memset(&info, 0, sizeof(info));
-+ return r;
-+}
-+
-+/* returns: 1=unused 0=busy */
-+int is_unused_loop_device(int fd)
-+{
-+ struct loop_info64 info64;
-+ struct loop_info info;
-+ int r;
-+
-+ r = ioctl(fd, LOOP_GET_STATUS64, &info64);
-+ memset(&info64, 0, sizeof(info64));
-+ if (!r)
-+ return 0;
-+ if (errno == ENXIO)
-+ return 1;
-+
-+ r = ioctl(fd, LOOP_GET_STATUS, &info);
-+ memset(&info, 0, sizeof(info));
-+ if (!r)
-+ return 0;
-+ if (errno == ENXIO)
-+ return 1;
-+ if (errno == EOVERFLOW)
-+ return 0;
-+ return 1;
-+}
-+
-+struct loop_crypt_type_struct loop_crypt_type_tbl[] = {
-+ { 0, 0, 0, "no" },
-+ { 0, 0, 0, "none" },
-+ { 1, 0, 0, "xor" },
-+ { 3, 1, 16, "twofish" },
-+ { 4, 1, 16, "blowfish" },
-+ { 7, 1, 16, "serpent" },
-+ { 8, 1, 16, "mars" },
-+ { 11, 3, 16, "rc6" },
-+ { 12, 0, 21, "tripleDES" },
-+ { 12, 0, 24, "3des" },
-+ { 12, 0, 24, "des3_ede" },
-+ { 16, 1, 16, "AES" },
-+ { -1, 0, 0, NULL }
-+};
-+
-+static char *getApiName(char *e, int *len)
-+{
-+ int x, y, z = 1, q = -1;
-+ unsigned char *s;
-+
-+ *len = y = 0;
-+ s = (unsigned char *)strdup(e);
-+ if(!s)
-+ return "";
-+ x = strlen((char *)s);
-+ while(x > 0) {
-+ x--;
-+ if(!isdigit(s[x]))
-+ break;
-+ y += (s[x] - '0') * z;
-+ z *= 10;
-+ q = x;
-+ }
-+ while(x >= 0) {
-+ s[x] = tolower(s[x]);
-+ if(s[x] == '-')
-+ s[x] = 0;
-+ x--;
-+ }
-+ if(y >= 40) {
-+ if(q >= 0)
-+ s[q] = 0;
-+ *len = y;
-+ }
-+ return((char *)s);
-+}
-+
-+int loop_crypt_type(const char *name, u_int32_t *kbyp, char **apiName)
-+{
-+ int i, k;
-+
-+ *apiName = getApiName((char *)name, &k);
-+ if(k < 0)
-+ k = 0;
-+ if(k > 256)
-+ k = 256;
-+ for (i = 0; loop_crypt_type_tbl[i].id != -1; i++) {
-+ if (!strcasecmp (*apiName , loop_crypt_type_tbl[i].name)) {
-+ *kbyp = k ? k >> 3 : loop_crypt_type_tbl[i].keyBytes;
-+ return loop_crypt_type_tbl[i].id;
-+ }
-+ }
-+ *kbyp = 16; /* 128 bits */
-+ return 18; /* LO_CRYPT_CRYPTOAPI */
-+}
-+
-+int try_cryptoapi_loop_interface(int fd, struct loop_info64 *loopinfo, char *apiName)
-+{
-+ snprintf((char *)loopinfo->lo_crypt_name, sizeof(loopinfo->lo_crypt_name), "%s-cbc", apiName);
-+ loopinfo->lo_crypt_name[LO_NAME_SIZE - 1] = 0;
-+ loopinfo->lo_encrypt_type = 18; /* LO_CRYPT_CRYPTOAPI */
-+ return(loop_set_status64_ioctl(fd, loopinfo));
-+}
-diff -urN util-linux-ng-2.14/mount/loop.h util-linux-ng-2.14-AES/mount/loop.h
---- util-linux-ng-2.14/mount/loop.h 2008-05-29 02:01:02.000000000 +0300
-+++ util-linux-ng-2.14-AES/mount/loop.h 2008-06-24 16:55:13.000000000 +0300
-@@ -1,19 +1,20 @@
--#ifndef MNT_LOOP_H
--#define MNT_LOOP_H
-+/*
-+ * loop.h
-+ *
-+ * Copyright 2003 by Jari Ruusu.
-+ * Redistribution of this file is permitted under the GNU GPL
-+ */
-
--#include <linux/posix_types.h>
--#include <stdint.h>
--#include "linux_version.h"
-+#ifndef _LOOP_H
-+#define _LOOP_H 1
-
--#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,68)
--#define my_dev_t __kernel_dev_t
--#else
--#define my_dev_t __kernel_old_dev_t
--#endif
-+#include <sys/types.h>
-+#include <linux/version.h>
-+#include <linux/posix_types.h>
-
--#define LO_CRYPT_NONE 0
--#define LO_CRYPT_XOR 1
--#define LO_CRYPT_DES 2
-+#define LO_CRYPT_NONE 0
-+#define LO_CRYPT_XOR 1
-+#define LO_CRYPT_DES 2
- #define LO_CRYPT_CRYPTOAPI 18
-
- #define LOOP_SET_FD 0x4C00
-@@ -22,22 +23,26 @@
- #define LOOP_GET_STATUS 0x4C03
- #define LOOP_SET_STATUS64 0x4C04
- #define LOOP_GET_STATUS64 0x4C05
-+#define LOOP_MULTI_KEY_SETUP 0x4C4D
-+#define LOOP_MULTI_KEY_SETUP_V3 0x4C4E
-+#define LOOP_RECOMPUTE_DEV_SIZE 0x4C52
-
--/* Flags for loop_into{64,}->lo_flags */
--enum {
-- LO_FLAGS_READ_ONLY = 1,
-- LO_FLAGS_USE_AOPS = 2,
-- LO_FLAGS_AUTOCLEAR = 4, /* New in 2.6.25 */
--};
--
--#define LO_NAME_SIZE 64
--#define LO_KEY_SIZE 32
-+#define LO_NAME_SIZE 64
-+#define LO_KEY_SIZE 32
-
- struct loop_info {
- int lo_number;
-- my_dev_t lo_device;
-+#if LINUX_VERSION_CODE >= 0x20600
-+ __kernel_old_dev_t lo_device;
-+#else
-+ __kernel_dev_t lo_device;
-+#endif
- unsigned long lo_inode;
-- my_dev_t lo_rdevice;
-+#if LINUX_VERSION_CODE >= 0x20600
-+ __kernel_old_dev_t lo_rdevice;
-+#else
-+ __kernel_dev_t lo_rdevice;
-+#endif
- int lo_offset;
- int lo_encrypt_type;
- int lo_encrypt_key_size;
-@@ -49,19 +54,34 @@
- };
-
- struct loop_info64 {
-- uint64_t lo_device;
-- uint64_t lo_inode;
-- uint64_t lo_rdevice;
-- uint64_t lo_offset;
-- uint64_t lo_sizelimit; /* bytes, 0 == max available */
-- uint32_t lo_number;
-- uint32_t lo_encrypt_type;
-- uint32_t lo_encrypt_key_size;
-- uint32_t lo_flags;
-- uint8_t lo_file_name[LO_NAME_SIZE];
-- uint8_t lo_crypt_name[LO_NAME_SIZE];
-- uint8_t lo_encrypt_key[LO_KEY_SIZE];
-- uint64_t lo_init[2];
-+ u_int64_t lo_device; /* ioctl r/o */
-+ u_int64_t lo_inode; /* ioctl r/o */
-+ u_int64_t lo_rdevice; /* ioctl r/o */
-+ u_int64_t lo_offset; /* bytes */
-+ u_int64_t lo_sizelimit; /* bytes, 0 == max available */
-+ u_int32_t lo_number; /* ioctl r/o */
-+ u_int32_t lo_encrypt_type;
-+ u_int32_t lo_encrypt_key_size; /* ioctl w/o */
-+ u_int32_t lo_flags; /* ioctl r/o */
-+ unsigned char lo_file_name[LO_NAME_SIZE];
-+ unsigned char lo_crypt_name[LO_NAME_SIZE];
-+ unsigned char lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
-+ u_int64_t lo_init[2];
- };
-
--#endif /* MNT_LOOP_H */
-+extern int loop_set_status64_ioctl(int, struct loop_info64 *);
-+extern int loop_get_status64_ioctl(int, struct loop_info64 *);
-+extern int is_unused_loop_device(int);
-+
-+struct loop_crypt_type_struct {
-+ short int id;
-+ unsigned char flags; /* bit0 = show keybits, bit1 = add '-' before keybits */
-+ unsigned char keyBytes;
-+ char *name;
-+};
-+
-+extern struct loop_crypt_type_struct loop_crypt_type_tbl[];
-+extern int loop_crypt_type(const char *, u_int32_t *, char **);
-+extern int try_cryptoapi_loop_interface(int, struct loop_info64 *, char *);
-+
-+#endif
-diff -urN util-linux-ng-2.14/mount/losetup.8 util-linux-ng-2.14-AES/mount/losetup.8
---- util-linux-ng-2.14/mount/losetup.8 2008-05-29 02:01:02.000000000 +0300
-+++ util-linux-ng-2.14-AES/mount/losetup.8 2008-06-24 16:55:13.000000000 +0300
-@@ -1,49 +1,29 @@
--.TH LOSETUP 8 "2003-07-01" "Linux" "MAINTENANCE COMMANDS"
-+.TH LOSETUP 8 "2007-09-02" "Linux" "MAINTENANCE COMMANDS"
- .SH NAME
- losetup \- set up and control loop devices
- .SH SYNOPSIS
- .ad l
--Get info:
--.sp
--.in +5
- .B losetup
-+[options]
- .I loop_device
--.sp
-+file
-+.br
-+.B losetup -F
-+[options]
-+.I loop_device
-+[file]
-+.br
-+.B losetup
-+[
-+.B \-d
-+]
-+.I loop_device
-+.br
- .B losetup -a
--.sp
--.B losetup -j <file> [-o offset]
--.sp
--.in -5
--Delete loop:
--.sp
--.in +5
--.B "losetup \-d"
-+.br
-+.B losetup
-+.B \-R
- .I loop_device
--.sp
--.in -5
--Print name of first unused loop device:
--.sp
--.in +5
--.B "losetup \-f"
--.sp
--.in -5
--Setup loop device:
--.sp
--.in +5
--.B losetup
--.RB [{\-e | \-E}
--.IR encryption ]
--.RB [ \-o
--.IR offset ]
--.RB [ \-\-sizelimit
--.IR limit ]
--.RB [ \-p
--.IR pfd ]
--.RB [ \-r ]
--.in +8
--.RB { \-f [ \-\-show ] | \fIloop_device\fP }
--.I file
--.in -13
- .ad b
- .SH DESCRIPTION
- .B losetup
-@@ -51,62 +31,135 @@
- to detach loop devices and to query the status of a loop device. If only the
- \fIloop_device\fP argument is given, the status of the corresponding loop
- device is shown.
--
--.SS "Encryption"
--It is possible to specify transfer functions (for encryption/decryption
--or other purposes) using one of the
--.B \-E
--and
--.B \-e
--options.
--There are two mechanisms to specify the desired encryption: by number
--and by name. If an encryption is specified by number then one
--has to make sure that the Linux kernel knows about the encryption with that
--number, probably by patching the kernel. Standard numbers that are
--always present are 0 (no encryption) and 1 (XOR encryption).
--When the cryptoloop module is loaded (or compiled in), it uses number 18.
--This cryptoloop module will take the name of an arbitrary encryption type
--and finds the module that knows how to perform that encryption.
- .SH OPTIONS
--.IP "\fB\-a, \-\-all\fP"
--show status of all loop devices
--.IP "\fB\-d, \-\-detach\fP"
--detach the file or device associated with the specified loop device
--.IP "\fB\-e, \-E, \-\-encryption \fIencryption_type\fP"
--enable data encryption with specified name or number
--.IP "\fB\-f, \-\-find\fP"
--find the first unused loop device. If a
--.I file
--argument is present, use this device. Otherwise, print its name
--.IP "\fB\-h, \-\-help\fP"
--print help
--.IP "\fB\-j, \-\-associated \fIfile\fP"
--show status of all loop devices associated with given
--.I file
--.IP "\fB\-o, \-\-offset \fIoffset\fP"
--the data start is moved \fIoffset\fP bytes into the specified file or
--device
--.IP "\fB\-\-sizelimit \fIlimit\fP"
--the data end is set to no more than \fIsizelimit\fP bytes after the data start
--.IP "\fB\-p, \-\-pass-fd \fInum\fP"
--read the passphrase from file descriptor with number
--.I num
--instead of from the terminal
--.IP "\fB\-r, \-\-read-only\fP"
--setup read-only loop device
--.IP "\fB\-\-show\fP"
--print device name if the
--.I -f
--option and a
--.I file
--argument are present.
--
--The short form of this option (\fB\-s\fP) is deprecated. This short form could
--be in collision with Loop-AES implementation where the same option is used for
--\fB\-\-sizelimit\fP.
--.IP "\fB\-v, \-\-verbose\fP"
--verbose mode
-+.IP \fB\-a\fP
-+Show status of all loop devices.
-+.IP "\fB\-C \fIitercountk\fP"
-+Runs hashed passphrase through \fIitercountk\fP thousand iterations of AES-256
-+before using it for loop encryption. This consumes lots of CPU cycles at
-+loop setup/mount time but not thereafter. In combination with passphrase seed
-+this slows down dictionary attacks. Iteration is not done in multi-key mode.
-+.IP "\fB\-d\fP"
-+Detach the file or device associated with the specified loop device.
-+.IP "\fB\-e \fIencryption\fP"
-+.RS
-+Enable data encryption. Following encryption types are recognized:
-+.IP \fBNONE\fP
-+Use no encryption (default).
-+.PD 0
-+.IP \fBXOR\fP
-+Use a simple XOR encryption.
-+.IP "\fBAES128 AES\fP"
-+Use 128 bit AES encryption. Passphrase is hashed with SHA-256 by default.
-+.IP \fBAES192\fP
-+Use 192 bit AES encryption. Passphrase is hashed with SHA-384 by default.
-+.IP \fBAES256\fP
-+Use 256 bit AES encryption. Passphrase is hashed with SHA-512 by default.
-+
-+.IP "\fBtwofish128 twofish160 twofish192 twofish256\fP"
-+.IP "\fBblowfish128 blowfish160 blowfish192 blowfish256\fP"
-+.IP "\fBserpent128 serpent192 serpent256 mars128 mars192\fP"
-+.IP "\fBmars256 rc6-128 rc6-192 rc6-256 tripleDES\fP"
-+These encryption types are available if they are enabled in kernel
-+configuration or corresponding modules have been loaded to kernel.
-+.PD
-+.RE
-+.IP "\fB\-F\fP"
-+Reads and uses mount options from /etc/fstab that match specified loop
-+device, including offset= sizelimit= encryption= pseed= phash= loinit=
-+gpgkey= gpghome= cleartextkey= itercountk= and looped to device/file name.
-+loop= option in /etc/fstab must match specified loop device name. Command
-+line options take precedence in case of conflict.
-+.IP "\fB\-G \fIgpghome\fP"
-+Set gpg home directory to \fIgpghome\fP, so that gpg uses public/private
-+keys on \fIgpghome\fP directory. This is only used when gpgkey file needs to
-+be decrypted using public/private keys. If gpgkey file is encrypted with
-+symmetric cipher only, public/private keys are not required and this option
-+has no effect.
-+.IP "\fB\-H \fIphash\fP"
-+Uses \fIphash\fP function to hash passphrase. Available hash functions are
-+sha256, sha384, sha512 and rmd160. unhashed1, unhashed2 and unhashed3
-+functions also exist for compatibility with some obsolete implementations.
-+
-+Hash function random does not ask for passphrase but sets up random keys and
-+attempts to put loop to multi-key mode. When random/1777 hash type is used
-+as mount option for mount program, mount program will create new file system
-+on the loop device and construct initial permissions of file system root
-+directory from octal digits that follow the slash character.
-+
-+WARNING! DO NOT USE RANDOM HASH TYPE ON PARTITION WITH EXISTING IMPORTANT
-+DATA ON IT. RANDOM HASH TYPE WILL DESTROY YOUR DATA.
-+.IP "\fB\-I \fIloinit\fP"
-+Passes a numeric value of \fIloinit\fP as a parameter to cipher transfer
-+function. Cipher transfer functions are free to interpret value as they
-+want.
-+.IP "\fB\-K \fIgpgkey\fP"
-+Passphrase is piped to gpg so that gpg can decrypt file \fIgpgkey\fP which
-+contains the real keys that are used to encrypt loop device. If decryption
-+requires public/private keys and gpghome is not specified, all users use
-+their own gpg public/private keys to decrypt \fIgpgkey\fP. Decrypted
-+\fIgpgkey\fP should contain 1 or 64 or 65 keys, each key at least 20
-+characters and separated by newline. If decrypted \fIgpgkey\fP contains 64
-+or 65 keys, then loop device is put to multi-key mode. In multi-key mode
-+first key is used for first sector, second key for second sector, and so on.
-+65th key, if present, is used as additional input to MD5 IV computation.
-+.IP "\fB\-o \fIoffset\fP"
-+The data start is moved \fIoffset\fP bytes into the specified file or
-+device. Normally offset is included in IV (initialization vector)
-+computations. If offset is prefixed with @ character, then offset is not
-+included in IV computations. @ prefix functionality may not be supported on
-+some older kernels and/or loop drivers.
-+.IP "\fB\-p \fIpasswdfd\fP"
-+Read the passphrase from file descriptor \fIpasswdfd\fP instead of the
-+terminal. If -K option is not being used (no gpg key file), then losetup
-+attempts to read 65 keys from \fIpasswdfd\fP, each key at least 20
-+characters and separated by newline. If losetup successfully reads 64 or 65
-+keys, then loop device is put to multi-key mode. If losetup encounters
-+end-of-file before 64 keys are read, then only first key is used in
-+single-key mode.
-+
-+echo SecretPassphraseHere | losetup -p0 -K foo.gpg -e AES128 ...
-
-+In above example, losetup reads passphrase from file descriptor 0 (stdin).
-+.IP "\fB\-P \fIcleartextkey\fP"
-+Read the passphrase from file \fIcleartextkey\fP instead of the
-+terminal. If -K option is not being used (no gpg key file), then losetup
-+attempts to read 65 keys from \fIcleartextkey\fP, each key at least 20
-+characters and separated by newline. If losetup successfully reads 64 or 65
-+keys, then loop device is put to multi-key mode. If losetup encounters
-+end-of-file before 64 keys are read, then only first key is used in
-+single-key mode. If both -p and -P options are used, then -p option takes
-+precedence. These are equivalent:
-+
-+losetup -p3 -K foo.gpg -e AES128 ... 3<someFileName
-+
-+losetup -P someFileName -K foo.gpg -e AES128 ...
-+
-+In first line of above example, in addition to normal open file descriptors
-+(0==stdin 1==stdout 2==stderr), shell opens the file and passes open file
-+descriptor to started losetup program. In second line of above example,
-+losetup opens the file itself.
-+.IP "\fB\-r\fP"
-+Read-only mode.
-+.IP "\fB\-R\fP"
-+Resize existing, already set up loop device, to new changed underlying
-+device size. This option is for changing mounted live file system size on
-+LVM volume. This functionality may not be supported on some older kernels
-+and/or loop drivers.
-+.IP "\fB\-s \fIsizelimit\fP"
-+Size of loop device is limited to \fIsizelimit\fP bytes. If unspecified or
-+set to zero, loop device size is set to maximum available (file size minus
-+offset). This option may not be supported on some older kernels and/or loop
-+drivers.
-+.IP "\fB\-S \fIpseed\fP"
-+Sets encryption passphrase seed \fIpseed\fP which is appended to user supplied
-+passphrase before hashing. Using different seeds for different partitions
-+makes dictionary attacks slower but does not prevent them if user supplied
-+passphrase is guessable. Seed is not used in multi-key mode.
-+.IP "\fB\-T\fP"
-+Asks passphrase twice.
-+.IP "\fB\-v\fP"
-+Verbose mode.
- .SH RETURN VALUE
- .B losetup
- returns 0 on success, nonzero on failure. When
-@@ -118,49 +171,26 @@
-
- .SH FILES
- .nf
--/dev/loop0, /dev/loop1, ... loop devices (major=7)
-+/dev/loop0,/dev/loop1,... loop devices (major=7)
- .fi
- .SH EXAMPLE
--If you are using the loadable module you must have the module loaded
--first with the command
--.IP
--# insmod loop.o
--.LP
--Maybe also encryption modules are needed.
--.IP
--# insmod des.o
--# insmod cryptoloop.o
--.LP
- The following commands can be used as an example of using the loop device.
- .nf
--.IP
--# dd if=/dev/zero of=/file bs=1k count=100
--# losetup -e des /dev/loop0 /file
--Password:
--Init (up to 16 hex digits):
--# mkfs -t ext2 /dev/loop0 100
--# mount -t ext2 /dev/loop0 /mnt
-+
-+dd if=/dev/zero of=/file bs=1k count=500
-+head -c 3705 /dev/random | uuencode -m - | head -n 66 \\
-+ | tail -n 65 | gpg --symmetric -a >/etc/fskey9.gpg
-+losetup -e AES128 -K /etc/fskey9.gpg /dev/loop0 /file
-+mkfs -t ext2 /dev/loop0
-+mount -t ext2 /dev/loop0 /mnt
- ...
--# umount /dev/loop0
--# losetup -d /dev/loop0
--.fi
--.LP
--If you are using the loadable module you may remove the module with
--the command
--.IP
--# rmmod loop
--.LP
-+umount /dev/loop0
-+losetup -d /dev/loop0
- .fi
- .SH RESTRICTION
--DES encryption is painfully slow. On the other hand, XOR is terribly weak.
--
--Cryptoloop is deprecated in favor of dm-crypt. For more details see
--.B cryptsetup(8).
--.SH AVAILABILITY
--The losetup command is part of the util-linux-ng package and is available from
--ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
--.\" .SH AUTHORS
--.\" .nf
--.\" Original version: Theodore Ts'o <tytso@athena.mit.edu>
--.\" Original DES by: Eric Young <eay@psych.psy.uq.oz.au>
--.\" .fi
-+XOR encryption is terribly weak.
-+.SH AUTHORS
-+.nf
-+Original version: Theodore Ts'o <tytso@athena.mit.edu>
-+AES support: Jari Ruusu
-+.fi
-diff -urN util-linux-ng-2.14/mount/loumount.c util-linux-ng-2.14-AES/mount/loumount.c
---- util-linux-ng-2.14/mount/loumount.c 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.14-AES/mount/loumount.c 2008-06-24 16:55:13.000000000 +0300
-@@ -0,0 +1,60 @@
-+/*
-+ * loumount.c
-+ *
-+ * This code was extracted to separate file from lomount.c so that umount
-+ * program doesn't have to link with all loop related setup code
-+ */
-+
-+#define LOOPMAJOR 7
-+
-+#include <stdio.h>
-+#include <string.h>
-+#include <ctype.h>
-+#include <fcntl.h>
-+#include <errno.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <pwd.h>
-+#include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/stat.h>
-+#include <sys/mman.h>
-+#include <sys/sysmacros.h>
-+#include <sys/wait.h>
-+#include <fcntl.h>
-+#include <mntent.h>
-+#include <locale.h>
-+
-+#include "loop.h"
-+#include "lomount.h"
-+#include "xstrncpy.h"
-+#include "nls.h"
-+
-+int
-+is_loop_device (const char *device) {
-+ struct stat statbuf;
-+
-+ return (stat(device, &statbuf) == 0 &&
-+ S_ISBLK(statbuf.st_mode) &&
-+ major(statbuf.st_rdev) == LOOPMAJOR);
-+}
-+
-+int
-+del_loop (const char *device) {
-+ int fd;
-+
-+ if ((fd = open (device, O_RDONLY)) < 0) {
-+ int errsv = errno;
-+ fprintf(stderr, _("loop: can't delete device %s: %s\n"),
-+ device, strerror (errsv));
-+ return 1;
-+ }
-+ if (ioctl (fd, LOOP_CLR_FD, 0) < 0) {
-+ perror ("ioctl: LOOP_CLR_FD");
-+ return 1;
-+ }
-+ close (fd);
-+ if (verbose > 1)
-+ printf(_("del_loop(%s): success\n"), device);
-+ return 0;
-+}
-diff -urN util-linux-ng-2.14/mount/mount.8 util-linux-ng-2.14-AES/mount/mount.8
---- util-linux-ng-2.14/mount/mount.8 2008-06-09 12:28:17.000000000 +0300
-+++ util-linux-ng-2.14-AES/mount/mount.8 2008-06-24 16:55:13.000000000 +0300
-@@ -321,6 +321,16 @@
- .B \-v
- Verbose mode.
- .TP
-+.B \-p "\fIpasswdfd\fP"
-+If the mount requires a passphrase to be entered, read it from file
-+descriptor \fIpasswdfd\fP instead of from the terminal. If mount uses
-+encrypted loop device and gpgkey= mount option is not being used (no gpg key
-+file), then mount attempts to read 65 keys from \fIpasswdfd\fP, each key at
-+least 20 characters and separated by newline. If mount successfully reads 64
-+or 65 keys, then loop device is put to multi-key mode. If mount encounters
-+end-of-file before 64 keys are read, then only first key is used in
-+single-key mode.
-+.TP
- .B \-a
- Mount all filesystems (of the given types) mentioned in
- .IR fstab .
-@@ -370,12 +380,6 @@
- .I /etc
- is on a read-only file system.
- .TP
--.BI \-p " num"
--In case of a loop mount with encryption, read the passphrase from
--file descriptor
--.I num
--instead of from the terminal.
--.TP
- .B \-s
- Tolerate sloppy mount options rather than failing. This will ignore
- mount options not supported by a filesystem type. Not all filesystems
-@@ -2028,13 +2032,19 @@
- and then mount this device on
- .IR /mnt .
-
--This type of mount knows about four options, namely
--.BR loop ", " offset ", " sizelimit " and " encryption ,
-+This type of mount knows about 11 options, namely
-+.BR loop ", " offset ", " sizelimit ", " encryption ", " pseed ", " phash ", " loinit ", " gpgkey ", " gpghome ", " cleartextkey " and " itercountk
- that are really options to
- .BR \%losetup (8).
- (These options can be used in addition to those specific
- to the filesystem type.)
-
-+If the mount requires a passphrase, you will be prompted for one unless you
-+specify a file descriptor to read from instead with the
-+.BR \-p
-+command line option, or specify a file name with
-+.BR cleartextkey
-+mount option.
- If no explicit loop device is mentioned
- (but just an option `\fB\-o loop\fP' is given), then
- .B mount
-diff -urN util-linux-ng-2.14/mount/mount.c util-linux-ng-2.14-AES/mount/mount.c
---- util-linux-ng-2.14/mount/mount.c 2008-05-29 02:01:02.000000000 +0300
-+++ util-linux-ng-2.14-AES/mount/mount.c 2008-06-24 16:55:13.000000000 +0300
-@@ -11,6 +11,7 @@
- #include <string.h>
- #include <getopt.h>
- #include <stdio.h>
-+#include <locale.h>
-
- #include <pwd.h>
- #include <grp.h>
-@@ -84,9 +85,6 @@
- /* True if ruid != euid. */
- static int suid = 0;
-
--/* Contains the fd to read the passphrase from, if any. */
--static int pfd = -1;
--
- /* Map from -o and fstab option strings to the flag argument to mount(2). */
- struct opt_map {
- const char *opt; /* option name */
-@@ -182,8 +180,8 @@
-
- static int opt_nofail = 0;
-
--static const char *opt_loopdev, *opt_vfstype, *opt_offset, *opt_sizelimit,
-- *opt_encryption, *opt_speed, *opt_comment, *opt_uhelper;
-+static const char *opt_loopdev, *opt_vfstype,
-+ *opt_speed, *opt_comment, *opt_uhelper;
-
- static int mounted (const char *spec0, const char *node0);
- static int check_special_mountprog(const char *spec, const char *node,
-@@ -196,9 +194,16 @@
- } string_opt_map[] = {
- { "loop=", 0, &opt_loopdev },
- { "vfs=", 1, &opt_vfstype },
-- { "offset=", 0, &opt_offset },
-- { "sizelimit=", 0, &opt_sizelimit },
-- { "encryption=", 0, &opt_encryption },
-+ { "pseed=", 1, (const char **)&passSeedString },
-+ { "phash=", 0, (const char **)&passHashFuncName },
-+ { "loinit=", 0, (const char **)&loInitValue },
-+ { "gpgkey=", 0, (const char **)&gpgKeyFile },
-+ { "gpghome=", 0, (const char **)&gpgHomeDir },
-+ { "cleartextkey=", 0, (const char **)&clearTextKeyFile },
-+ { "itercountk=", 1, (const char **)&passIterThousands },
-+ { "offset=", 0, (const char **)&loopOffsetBytes },
-+ { "sizelimit=", 0, (const char **)&loopSizeBytes },
-+ { "encryption=", 0, (const char **)&loopEncryptionType },
- { "speed=", 0, &opt_speed },
- { "comment=", 1, &opt_comment },
- { "uhelper=", 0, &opt_uhelper },
-@@ -827,6 +832,9 @@
- *flags &= ~(MS_OWNER | MS_GROUP);
- }
-
-+/* if loop is already set up, following test is unnecessary */
-+/* because loop set up will fail if it is done again */
-+#if 0
- /* Check, if there already exists a mounted loop device on the mountpoint node
- * with the same parameters.
- */
-@@ -867,13 +875,12 @@
- free(node);
- return res;
- }
-+#endif
-
- static int
- loop_check(const char **spec, const char **type, int *flags,
-- int *loop, const char **loopdev, const char **loopfile,
-- const char *node) {
-+ int *loop, const char **loopdev, const char **loopfile, const char *node, unsigned int *AutoChmodPtr) {
- int looptype;
-- unsigned long long offset, sizelimit;
-
- /*
- * In the case of a loop mount, either type is of the form lo@/dev/loop5
-@@ -898,7 +905,7 @@
- *type = opt_vfstype;
- }
-
-- *loop = ((*flags & MS_LOOP) || *loopdev || opt_offset || opt_sizelimit || opt_encryption);
-+ *loop = ((*flags & MS_LOOP) || *loopdev || loopOffsetBytes || loopSizeBytes || loopEncryptionType);
- *loopfile = *spec;
-
- if (*loop) {
-@@ -906,20 +913,22 @@
- if (fake) {
- if (verbose)
- printf(_("mount: skipping the setup of a loop device\n"));
-+ } else if (*loopdev && is_loop_active(*loopdev, *loopfile)) {
-+ if (verbose)
-+ printf(_("mount: skipping the setup of a loop device\n"));
-+ *spec = *loopdev;
- } else {
-- int loop_opts = SETLOOP_AUTOCLEAR; /* always attempt autoclear */
-+ int loopro = (*flags & MS_RDONLY);
- int res;
-
-- if (*flags & MS_RDONLY)
-- loop_opts |= SETLOOP_RDONLY;
--
-- offset = opt_offset ? strtoull(opt_offset, NULL, 0) : 0;
-- sizelimit = opt_sizelimit ? strtoull(opt_sizelimit, NULL, 0) : 0;
--
-+/* if loop is already set up, following test is unnecessary */
-+/* because loop set up will fail if it is done again */
-+#if 0
- if (is_mounted_same_loopfile(node, *loopfile, offset)) {
- error(_("mount: according to mtab %s is already mounted on %s as loop"), *loopfile, node);
- return EX_FAIL;
- }
-+#endif
-
- do {
- if (!*loopdev || !**loopdev)
-@@ -929,21 +938,13 @@
- if (verbose)
- printf(_("mount: going to use the loop device %s\n"), *loopdev);
-
-- if ((res = set_loop(*loopdev, *loopfile, offset, sizelimit,
-- opt_encryption, pfd, &loop_opts))) {
-- if (res == 2) {
-- /* loop dev has been grabbed by some other process,
-- try again, if not given explicitly */
-- if (!opt_loopdev) {
-- if (verbose)
-- printf(_("mount: stolen loop=%s ...trying again\n"), *loopdev);
-- my_free(*loopdev);
-- *loopdev = NULL;
-- continue;
-- }
-- error(_("mount: stolen loop=%s"), *loopdev);
-- return EX_FAIL;
--
-+ if ((res = set_loop(*loopdev, *loopfile, &loopro, type, AutoChmodPtr, !opt_loopdev ? 2 : 1))) {
-+ if ((res == 2) && !opt_loopdev) {
-+ /* loop dev has been grabbed by some other process, try again */
-+ if (verbose)
-+ printf(_("mount: loop=%s not available ...trying again\n"), *loopdev);
-+ my_free(*loopdev);
-+ *loopdev = NULL;
- } else {
- if (verbose)
- printf(_("mount: failed setting up loop device\n"));
-@@ -959,13 +960,8 @@
- if (verbose > 1)
- printf(_("mount: setup loop device successfully\n"));
- *spec = *loopdev;
--
-- if (loop_opts & SETLOOP_RDONLY)
-+ if (loopro)
- *flags |= MS_RDONLY;
--
-- if (loop_opts & SETLOOP_AUTOCLEAR)
-- /* Prevent recording loop dev in mtab for cleanup on umount */
-- *loop = 0;
- }
- }
-
-@@ -1026,14 +1022,6 @@
- }
-
- static void
--set_pfd(char *s) {
-- if (!isdigit(*s))
-- die(EX_USAGE,
-- _("mount: argument to -p or --pass-fd must be a number"));
-- pfd = atoi(optarg);
--}
--
--static void
- cdrom_setspeed(const char *spec) {
- #define CDROM_SELECT_SPEED 0x5322 /* Set the CD-ROM speed */
- if (opt_speed) {
-@@ -1070,6 +1058,7 @@
- const char *opts, *spec, *node, *types;
- char *user = 0;
- int loop = 0;
-+ unsigned int LoopMountAutomaticChmod = 0;
- const char *loopdev = 0, *loopfile = 0;
- struct stat statbuf;
-
-@@ -1116,7 +1105,7 @@
- * stale assignments of files to loop devices. Nasty when used for
- * encryption.
- */
-- res = loop_check(&spec, &types, &flags, &loop, &loopdev, &loopfile, node);
-+ res = loop_check(&spec, &types, &flags, &loop, &loopdev, &loopfile, node, &LoopMountAutomaticChmod);
- if (res)
- goto out;
- }
-@@ -1139,7 +1128,16 @@
- if (!fake) {
- mnt5_res = guess_fstype_and_mount (spec, node, &types, flags & ~MS_NOSYS,
- mount_opts, &special, &status);
--
-+ if(!mnt5_res && LoopMountAutomaticChmod && (getuid() == 0)) {
-+ /*
-+ * If loop was set up using random keys and new file system
-+ * was created on the loop device, initial permissions for
-+ * file system root directory need to be set here.
-+ */
-+ if(chmod(node, LoopMountAutomaticChmod)) {
-+ error (_("Error: encrypted file system chmod() failed"));
-+ }
-+ }
- if (special) {
- block_signals (SIG_UNBLOCK);
- res = status;
-@@ -1874,8 +1872,8 @@
- case 'O': /* with -t: mount only if (not) opt */
- test_opts = append_opt(test_opts, optarg, NULL);
- break;
-- case 'p': /* fd on which to read passwd */
-- set_pfd(optarg);
-+ case 'p': /* read passphrase from given fd */
-+ passFDnumber = optarg;
- break;
- case 'r': /* mount readonly */
- readonly = 1;
-diff -urN util-linux-ng-2.14/mount/rmd160.c util-linux-ng-2.14-AES/mount/rmd160.c
---- util-linux-ng-2.14/mount/rmd160.c 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.14-AES/mount/rmd160.c 2008-06-24 16:55:13.000000000 +0300
-@@ -0,0 +1,532 @@
-+/* rmd160.c - RIPE-MD160
-+ * Copyright (C) 1998 Free Software Foundation, Inc.
-+ */
-+
-+/* This file was part of GnuPG. Modified for use within the Linux
-+ * mount utility by Marc Mutz <Marc@Mutz.com>. None of this code is
-+ * by myself. I just removed everything that you don't need when all
-+ * you want to do is to use rmd160_hash_buffer().
-+ * My comments are marked with (mm). */
-+
-+/* GnuPG is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * GnuPG is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */
-+
-+#include <string.h> /* (mm) for memcpy */
-+#include <endian.h> /* (mm) for BIG_ENDIAN and BYTE_ORDER */
-+#include "rmd160.h"
-+
-+/* (mm) these are used by the original GnuPG file. In order to modify
-+ * that file not too much, we keep the notations. maybe it would be
-+ * better to include linux/types.h and typedef __u32 to u32 and __u8
-+ * to byte? */
-+typedef unsigned int u32; /* taken from e.g. util-linux's minix.h */
-+typedef unsigned char byte;
-+
-+typedef struct {
-+ u32 h0,h1,h2,h3,h4;
-+ u32 nblocks;
-+ byte buf[64];
-+ int count;
-+} RMD160_CONTEXT;
-+
-+/****************
-+ * Rotate a 32 bit integer by n bytes
-+ */
-+#if defined(__GNUC__) && defined(__i386__)
-+static inline u32
-+rol( u32 x, int n)
-+{
-+ __asm__("roll %%cl,%0"
-+ :"=r" (x)
-+ :"0" (x),"c" (n));
-+ return x;
-+}
-+#else
-+ #define rol(x,n) ( ((x) << (n)) | ((x) >> (32-(n))) )
-+#endif
-+
-+/*********************************
-+ * RIPEMD-160 is not patented, see (as of 25.10.97)
-+ * http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
-+ * Note that the code uses Little Endian byteorder, which is good for
-+ * 386 etc, but we must add some conversion when used on a big endian box.
-+ *
-+ *
-+ * Pseudo-code for RIPEMD-160
-+ *
-+ * RIPEMD-160 is an iterative hash function that operates on 32-bit words.
-+ * The round function takes as input a 5-word chaining variable and a 16-word
-+ * message block and maps this to a new chaining variable. All operations are
-+ * defined on 32-bit words. Padding is identical to that of MD4.
-+ *
-+ *
-+ * RIPEMD-160: definitions
-+ *
-+ *
-+ * nonlinear functions at bit level: exor, mux, -, mux, -
-+ *
-+ * f(j, x, y, z) = x XOR y XOR z (0 <= j <= 15)
-+ * f(j, x, y, z) = (x AND y) OR (NOT(x) AND z) (16 <= j <= 31)
-+ * f(j, x, y, z) = (x OR NOT(y)) XOR z (32 <= j <= 47)
-+ * f(j, x, y, z) = (x AND z) OR (y AND NOT(z)) (48 <= j <= 63)
-+ * f(j, x, y, z) = x XOR (y OR NOT(z)) (64 <= j <= 79)
-+ *
-+ *
-+ * added constants (hexadecimal)
-+ *
-+ * K(j) = 0x00000000 (0 <= j <= 15)
-+ * K(j) = 0x5A827999 (16 <= j <= 31) int(2**30 x sqrt(2))
-+ * K(j) = 0x6ED9EBA1 (32 <= j <= 47) int(2**30 x sqrt(3))
-+ * K(j) = 0x8F1BBCDC (48 <= j <= 63) int(2**30 x sqrt(5))
-+ * K(j) = 0xA953FD4E (64 <= j <= 79) int(2**30 x sqrt(7))
-+ * K'(j) = 0x50A28BE6 (0 <= j <= 15) int(2**30 x cbrt(2))
-+ * K'(j) = 0x5C4DD124 (16 <= j <= 31) int(2**30 x cbrt(3))
-+ * K'(j) = 0x6D703EF3 (32 <= j <= 47) int(2**30 x cbrt(5))
-+ * K'(j) = 0x7A6D76E9 (48 <= j <= 63) int(2**30 x cbrt(7))
-+ * K'(j) = 0x00000000 (64 <= j <= 79)
-+ *
-+ *
-+ * selection of message word
-+ *
-+ * r(j) = j (0 <= j <= 15)
-+ * r(16..31) = 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8
-+ * r(32..47) = 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12
-+ * r(48..63) = 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2
-+ * r(64..79) = 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
-+ * r0(0..15) = 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12
-+ * r0(16..31)= 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2
-+ * r0(32..47)= 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13
-+ * r0(48..63)= 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14
-+ * r0(64..79)= 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
-+ *
-+ *
-+ * amount for rotate left (rol)
-+ *
-+ * s(0..15) = 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8
-+ * s(16..31) = 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12
-+ * s(32..47) = 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5
-+ * s(48..63) = 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12
-+ * s(64..79) = 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
-+ * s'(0..15) = 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6
-+ * s'(16..31)= 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11
-+ * s'(32..47)= 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5
-+ * s'(48..63)= 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8
-+ * s'(64..79)= 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
-+ *
-+ *
-+ * initial value (hexadecimal)
-+ *
-+ * h0 = 0x67452301; h1 = 0xEFCDAB89; h2 = 0x98BADCFE; h3 = 0x10325476;
-+ * h4 = 0xC3D2E1F0;
-+ *
-+ *
-+ * RIPEMD-160: pseudo-code
-+ *
-+ * It is assumed that the message after padding consists of t 16-word blocks
-+ * that will be denoted with X[i][j], with 0 <= i <= t-1 and 0 <= j <= 15.
-+ * The symbol [+] denotes addition modulo 2**32 and rol_s denotes cyclic left
-+ * shift (rotate) over s positions.
-+ *
-+ *
-+ * for i := 0 to t-1 {
-+ * A := h0; B := h1; C := h2; D = h3; E = h4;
-+ * A' := h0; B' := h1; C' := h2; D' = h3; E' = h4;
-+ * for j := 0 to 79 {
-+ * T := rol_s(j)(A [+] f(j, B, C, D) [+] X[i][r(j)] [+] K(j)) [+] E;
-+ * A := E; E := D; D := rol_10(C); C := B; B := T;
-+ * T := rol_s'(j)(A' [+] f(79-j, B', C', D') [+] X[i][r'(j)]
-+ [+] K'(j)) [+] E';
-+ * A' := E'; E' := D'; D' := rol_10(C'); C' := B'; B' := T;
-+ * }
-+ * T := h1 [+] C [+] D'; h1 := h2 [+] D [+] E'; h2 := h3 [+] E [+] A';
-+ * h3 := h4 [+] A [+] B'; h4 := h0 [+] B [+] C'; h0 := T;
-+ * }
-+ */
-+
-+/* Some examples:
-+ * "" 9c1185a5c5e9fc54612808977ee8f548b2258d31
-+ * "a" 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe
-+ * "abc" 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
-+ * "message digest" 5d0689ef49d2fae572b881b123a85ffa21595f36
-+ * "a...z" f71c27109c692c1b56bbdceb5b9d2865b3708dbc
-+ * "abcdbcde...nopq" 12a053384a9c0c88e405a06c27dcf49ada62eb2b
-+ * "A...Za...z0...9" b0e20b6e3116640286ed3a87a5713079b21f5189
-+ * 8 times "1234567890" 9b752e45573d4b39f4dbd3323cab82bf63326bfb
-+ * 1 million times "a" 52783243c1697bdbe16d37f97f68f08325dc1528
-+ */
-+
-+
-+static void
-+rmd160_init( RMD160_CONTEXT *hd )
-+{
-+ hd->h0 = 0x67452301;
-+ hd->h1 = 0xEFCDAB89;
-+ hd->h2 = 0x98BADCFE;
-+ hd->h3 = 0x10325476;
-+ hd->h4 = 0xC3D2E1F0;
-+ hd->nblocks = 0;
-+ hd->count = 0;
-+}
-+
-+
-+
-+/****************
-+ * Transform the message X which consists of 16 32-bit-words
-+ */
-+static void
-+transform( RMD160_CONTEXT *hd, byte *data )
-+{
-+ u32 a,b,c,d,e,aa,bb,cc,dd,ee,t;
-+ #if BYTE_ORDER == BIG_ENDIAN
-+ u32 x[16];
-+ { int i;
-+ byte *p2, *p1;
-+ for(i=0, p1=data, p2=(byte*)x; i < 16; i++, p2 += 4 ) {
-+ p2[3] = *p1++;
-+ p2[2] = *p1++;
-+ p2[1] = *p1++;
-+ p2[0] = *p1++;
-+ }
-+ }
-+ #else
-+ #if 0
-+ u32 *x =(u32*)data;
-+ #else
-+ /* this version is better because it is always aligned;
-+ * The performance penalty on a 586-100 is about 6% which
-+ * is acceptable - because the data is more local it might
-+ * also be possible that this is faster on some machines.
-+ * This function (when compiled with -02 on gcc 2.7.2)
-+ * executes on a 586-100 (39.73 bogomips) at about 1900kb/sec;
-+ * [measured with a 4MB data and "gpgm --print-md rmd160"] */
-+ u32 x[16];
-+ memcpy( x, data, 64 );
-+ #endif
-+ #endif
-+
-+
-+#define K0 0x00000000
-+#define K1 0x5A827999
-+#define K2 0x6ED9EBA1
-+#define K3 0x8F1BBCDC
-+#define K4 0xA953FD4E
-+#define KK0 0x50A28BE6
-+#define KK1 0x5C4DD124
-+#define KK2 0x6D703EF3
-+#define KK3 0x7A6D76E9
-+#define KK4 0x00000000
-+#define F0(x,y,z) ( (x) ^ (y) ^ (z) )
-+#define F1(x,y,z) ( ((x) & (y)) | (~(x) & (z)) )
-+#define F2(x,y,z) ( ((x) | ~(y)) ^ (z) )
-+#define F3(x,y,z) ( ((x) & (z)) | ((y) & ~(z)) )
-+#define F4(x,y,z) ( (x) ^ ((y) | ~(z)) )
-+#define R(a,b,c,d,e,f,k,r,s) do { t = a + f(b,c,d) + k + x[r]; \
-+ a = rol(t,s) + e; \
-+ c = rol(c,10); \
-+ } while(0)
-+
-+ /* left lane */
-+ a = hd->h0;
-+ b = hd->h1;
-+ c = hd->h2;
-+ d = hd->h3;
-+ e = hd->h4;
-+ R( a, b, c, d, e, F0, K0, 0, 11 );
-+ R( e, a, b, c, d, F0, K0, 1, 14 );
-+ R( d, e, a, b, c, F0, K0, 2, 15 );
-+ R( c, d, e, a, b, F0, K0, 3, 12 );
-+ R( b, c, d, e, a, F0, K0, 4, 5 );
-+ R( a, b, c, d, e, F0, K0, 5, 8 );
-+ R( e, a, b, c, d, F0, K0, 6, 7 );
-+ R( d, e, a, b, c, F0, K0, 7, 9 );
-+ R( c, d, e, a, b, F0, K0, 8, 11 );
-+ R( b, c, d, e, a, F0, K0, 9, 13 );
-+ R( a, b, c, d, e, F0, K0, 10, 14 );
-+ R( e, a, b, c, d, F0, K0, 11, 15 );
-+ R( d, e, a, b, c, F0, K0, 12, 6 );
-+ R( c, d, e, a, b, F0, K0, 13, 7 );
-+ R( b, c, d, e, a, F0, K0, 14, 9 );
-+ R( a, b, c, d, e, F0, K0, 15, 8 );
-+ R( e, a, b, c, d, F1, K1, 7, 7 );
-+ R( d, e, a, b, c, F1, K1, 4, 6 );
-+ R( c, d, e, a, b, F1, K1, 13, 8 );
-+ R( b, c, d, e, a, F1, K1, 1, 13 );
-+ R( a, b, c, d, e, F1, K1, 10, 11 );
-+ R( e, a, b, c, d, F1, K1, 6, 9 );
-+ R( d, e, a, b, c, F1, K1, 15, 7 );
-+ R( c, d, e, a, b, F1, K1, 3, 15 );
-+ R( b, c, d, e, a, F1, K1, 12, 7 );
-+ R( a, b, c, d, e, F1, K1, 0, 12 );
-+ R( e, a, b, c, d, F1, K1, 9, 15 );
-+ R( d, e, a, b, c, F1, K1, 5, 9 );
-+ R( c, d, e, a, b, F1, K1, 2, 11 );
-+ R( b, c, d, e, a, F1, K1, 14, 7 );
-+ R( a, b, c, d, e, F1, K1, 11, 13 );
-+ R( e, a, b, c, d, F1, K1, 8, 12 );
-+ R( d, e, a, b, c, F2, K2, 3, 11 );
-+ R( c, d, e, a, b, F2, K2, 10, 13 );
-+ R( b, c, d, e, a, F2, K2, 14, 6 );
-+ R( a, b, c, d, e, F2, K2, 4, 7 );
-+ R( e, a, b, c, d, F2, K2, 9, 14 );
-+ R( d, e, a, b, c, F2, K2, 15, 9 );
-+ R( c, d, e, a, b, F2, K2, 8, 13 );
-+ R( b, c, d, e, a, F2, K2, 1, 15 );
-+ R( a, b, c, d, e, F2, K2, 2, 14 );
-+ R( e, a, b, c, d, F2, K2, 7, 8 );
-+ R( d, e, a, b, c, F2, K2, 0, 13 );
-+ R( c, d, e, a, b, F2, K2, 6, 6 );
-+ R( b, c, d, e, a, F2, K2, 13, 5 );
-+ R( a, b, c, d, e, F2, K2, 11, 12 );
-+ R( e, a, b, c, d, F2, K2, 5, 7 );
-+ R( d, e, a, b, c, F2, K2, 12, 5 );
-+ R( c, d, e, a, b, F3, K3, 1, 11 );
-+ R( b, c, d, e, a, F3, K3, 9, 12 );
-+ R( a, b, c, d, e, F3, K3, 11, 14 );
-+ R( e, a, b, c, d, F3, K3, 10, 15 );
-+ R( d, e, a, b, c, F3, K3, 0, 14 );
-+ R( c, d, e, a, b, F3, K3, 8, 15 );
-+ R( b, c, d, e, a, F3, K3, 12, 9 );
-+ R( a, b, c, d, e, F3, K3, 4, 8 );
-+ R( e, a, b, c, d, F3, K3, 13, 9 );
-+ R( d, e, a, b, c, F3, K3, 3, 14 );
-+ R( c, d, e, a, b, F3, K3, 7, 5 );
-+ R( b, c, d, e, a, F3, K3, 15, 6 );
-+ R( a, b, c, d, e, F3, K3, 14, 8 );
-+ R( e, a, b, c, d, F3, K3, 5, 6 );
-+ R( d, e, a, b, c, F3, K3, 6, 5 );
-+ R( c, d, e, a, b, F3, K3, 2, 12 );
-+ R( b, c, d, e, a, F4, K4, 4, 9 );
-+ R( a, b, c, d, e, F4, K4, 0, 15 );
-+ R( e, a, b, c, d, F4, K4, 5, 5 );
-+ R( d, e, a, b, c, F4, K4, 9, 11 );
-+ R( c, d, e, a, b, F4, K4, 7, 6 );
-+ R( b, c, d, e, a, F4, K4, 12, 8 );
-+ R( a, b, c, d, e, F4, K4, 2, 13 );
-+ R( e, a, b, c, d, F4, K4, 10, 12 );
-+ R( d, e, a, b, c, F4, K4, 14, 5 );
-+ R( c, d, e, a, b, F4, K4, 1, 12 );
-+ R( b, c, d, e, a, F4, K4, 3, 13 );
-+ R( a, b, c, d, e, F4, K4, 8, 14 );
-+ R( e, a, b, c, d, F4, K4, 11, 11 );
-+ R( d, e, a, b, c, F4, K4, 6, 8 );
-+ R( c, d, e, a, b, F4, K4, 15, 5 );
-+ R( b, c, d, e, a, F4, K4, 13, 6 );
-+
-+ aa = a; bb = b; cc = c; dd = d; ee = e;
-+
-+ /* right lane */
-+ a = hd->h0;
-+ b = hd->h1;
-+ c = hd->h2;
-+ d = hd->h3;
-+ e = hd->h4;
-+ R( a, b, c, d, e, F4, KK0, 5, 8);
-+ R( e, a, b, c, d, F4, KK0, 14, 9);
-+ R( d, e, a, b, c, F4, KK0, 7, 9);
-+ R( c, d, e, a, b, F4, KK0, 0, 11);
-+ R( b, c, d, e, a, F4, KK0, 9, 13);
-+ R( a, b, c, d, e, F4, KK0, 2, 15);
-+ R( e, a, b, c, d, F4, KK0, 11, 15);
-+ R( d, e, a, b, c, F4, KK0, 4, 5);
-+ R( c, d, e, a, b, F4, KK0, 13, 7);
-+ R( b, c, d, e, a, F4, KK0, 6, 7);
-+ R( a, b, c, d, e, F4, KK0, 15, 8);
-+ R( e, a, b, c, d, F4, KK0, 8, 11);
-+ R( d, e, a, b, c, F4, KK0, 1, 14);
-+ R( c, d, e, a, b, F4, KK0, 10, 14);
-+ R( b, c, d, e, a, F4, KK0, 3, 12);
-+ R( a, b, c, d, e, F4, KK0, 12, 6);
-+ R( e, a, b, c, d, F3, KK1, 6, 9);
-+ R( d, e, a, b, c, F3, KK1, 11, 13);
-+ R( c, d, e, a, b, F3, KK1, 3, 15);
-+ R( b, c, d, e, a, F3, KK1, 7, 7);
-+ R( a, b, c, d, e, F3, KK1, 0, 12);
-+ R( e, a, b, c, d, F3, KK1, 13, 8);
-+ R( d, e, a, b, c, F3, KK1, 5, 9);
-+ R( c, d, e, a, b, F3, KK1, 10, 11);
-+ R( b, c, d, e, a, F3, KK1, 14, 7);
-+ R( a, b, c, d, e, F3, KK1, 15, 7);
-+ R( e, a, b, c, d, F3, KK1, 8, 12);
-+ R( d, e, a, b, c, F3, KK1, 12, 7);
-+ R( c, d, e, a, b, F3, KK1, 4, 6);
-+ R( b, c, d, e, a, F3, KK1, 9, 15);
-+ R( a, b, c, d, e, F3, KK1, 1, 13);
-+ R( e, a, b, c, d, F3, KK1, 2, 11);
-+ R( d, e, a, b, c, F2, KK2, 15, 9);
-+ R( c, d, e, a, b, F2, KK2, 5, 7);
-+ R( b, c, d, e, a, F2, KK2, 1, 15);
-+ R( a, b, c, d, e, F2, KK2, 3, 11);
-+ R( e, a, b, c, d, F2, KK2, 7, 8);
-+ R( d, e, a, b, c, F2, KK2, 14, 6);
-+ R( c, d, e, a, b, F2, KK2, 6, 6);
-+ R( b, c, d, e, a, F2, KK2, 9, 14);
-+ R( a, b, c, d, e, F2, KK2, 11, 12);
-+ R( e, a, b, c, d, F2, KK2, 8, 13);
-+ R( d, e, a, b, c, F2, KK2, 12, 5);
-+ R( c, d, e, a, b, F2, KK2, 2, 14);
-+ R( b, c, d, e, a, F2, KK2, 10, 13);
-+ R( a, b, c, d, e, F2, KK2, 0, 13);
-+ R( e, a, b, c, d, F2, KK2, 4, 7);
-+ R( d, e, a, b, c, F2, KK2, 13, 5);
-+ R( c, d, e, a, b, F1, KK3, 8, 15);
-+ R( b, c, d, e, a, F1, KK3, 6, 5);
-+ R( a, b, c, d, e, F1, KK3, 4, 8);
-+ R( e, a, b, c, d, F1, KK3, 1, 11);
-+ R( d, e, a, b, c, F1, KK3, 3, 14);
-+ R( c, d, e, a, b, F1, KK3, 11, 14);
-+ R( b, c, d, e, a, F1, KK3, 15, 6);
-+ R( a, b, c, d, e, F1, KK3, 0, 14);
-+ R( e, a, b, c, d, F1, KK3, 5, 6);
-+ R( d, e, a, b, c, F1, KK3, 12, 9);
-+ R( c, d, e, a, b, F1, KK3, 2, 12);
-+ R( b, c, d, e, a, F1, KK3, 13, 9);
-+ R( a, b, c, d, e, F1, KK3, 9, 12);
-+ R( e, a, b, c, d, F1, KK3, 7, 5);
-+ R( d, e, a, b, c, F1, KK3, 10, 15);
-+ R( c, d, e, a, b, F1, KK3, 14, 8);
-+ R( b, c, d, e, a, F0, KK4, 12, 8);
-+ R( a, b, c, d, e, F0, KK4, 15, 5);
-+ R( e, a, b, c, d, F0, KK4, 10, 12);
-+ R( d, e, a, b, c, F0, KK4, 4, 9);
-+ R( c, d, e, a, b, F0, KK4, 1, 12);
-+ R( b, c, d, e, a, F0, KK4, 5, 5);
-+ R( a, b, c, d, e, F0, KK4, 8, 14);
-+ R( e, a, b, c, d, F0, KK4, 7, 6);
-+ R( d, e, a, b, c, F0, KK4, 6, 8);
-+ R( c, d, e, a, b, F0, KK4, 2, 13);
-+ R( b, c, d, e, a, F0, KK4, 13, 6);
-+ R( a, b, c, d, e, F0, KK4, 14, 5);
-+ R( e, a, b, c, d, F0, KK4, 0, 15);
-+ R( d, e, a, b, c, F0, KK4, 3, 13);
-+ R( c, d, e, a, b, F0, KK4, 9, 11);
-+ R( b, c, d, e, a, F0, KK4, 11, 11);
-+
-+
-+ t = hd->h1 + d + cc;
-+ hd->h1 = hd->h2 + e + dd;
-+ hd->h2 = hd->h3 + a + ee;
-+ hd->h3 = hd->h4 + b + aa;
-+ hd->h4 = hd->h0 + c + bb;
-+ hd->h0 = t;
-+}
-+
-+
-+/* Update the message digest with the contents
-+ * of INBUF with length INLEN.
-+ */
-+static void
-+rmd160_write( RMD160_CONTEXT *hd, byte *inbuf, size_t inlen)
-+{
-+ if( hd->count == 64 ) { /* flush the buffer */
-+ transform( hd, hd->buf );
-+ hd->count = 0;
-+ hd->nblocks++;
-+ }
-+ if( !inbuf )
-+ return;
-+ if( hd->count ) {
-+ for( ; inlen && hd->count < 64; inlen-- )
-+ hd->buf[hd->count++] = *inbuf++;
-+ rmd160_write( hd, NULL, 0 );
-+ if( !inlen )
-+ return;
-+ }
-+
-+ while( inlen >= 64 ) {
-+ transform( hd, inbuf );
-+ hd->count = 0;
-+ hd->nblocks++;
-+ inlen -= 64;
-+ inbuf += 64;
-+ }
-+ for( ; inlen && hd->count < 64; inlen-- )
-+ hd->buf[hd->count++] = *inbuf++;
-+}
-+
-+/* The routine terminates the computation
-+ */
-+
-+static void
-+rmd160_final( RMD160_CONTEXT *hd )
-+{
-+ u32 t, msb, lsb;
-+ byte *p;
-+
-+ rmd160_write(hd, NULL, 0); /* flush */;
-+
-+ msb = 0;
-+ t = hd->nblocks;
-+ if( (lsb = t << 6) < t ) /* multiply by 64 to make a byte count */
-+ msb++;
-+ msb += t >> 26;
-+ t = lsb;
-+ if( (lsb = t + hd->count) < t ) /* add the count */
-+ msb++;
-+ t = lsb;
-+ if( (lsb = t << 3) < t ) /* multiply by 8 to make a bit count */
-+ msb++;
-+ msb += t >> 29;
-+
-+ if( hd->count < 56 ) { /* enough room */
-+ hd->buf[hd->count++] = 0x80; /* pad */
-+ while( hd->count < 56 )
-+ hd->buf[hd->count++] = 0; /* pad */
-+ }
-+ else { /* need one extra block */
-+ hd->buf[hd->count++] = 0x80; /* pad character */
-+ while( hd->count < 64 )
-+ hd->buf[hd->count++] = 0;
-+ rmd160_write(hd, NULL, 0); /* flush */;
-+ memset(hd->buf, 0, 56 ); /* fill next block with zeroes */
-+ }
-+ /* append the 64 bit count */
-+ hd->buf[56] = lsb ;
-+ hd->buf[57] = lsb >> 8;
-+ hd->buf[58] = lsb >> 16;
-+ hd->buf[59] = lsb >> 24;
-+ hd->buf[60] = msb ;
-+ hd->buf[61] = msb >> 8;
-+ hd->buf[62] = msb >> 16;
-+ hd->buf[63] = msb >> 24;
-+ transform( hd, hd->buf );
-+
-+ p = hd->buf;
-+ #if BYTE_ORDER == BIG_ENDIAN
-+ #define X(a) do { *p++ = hd->h##a ; *p++ = hd->h##a >> 8; \
-+ *p++ = hd->h##a >> 16; *p++ = hd->h##a >> 24; } while(0)
-+ #else /* little endian */
-+ #define X(a) do { *(u32*)p = hd->h##a ; p += 4; } while(0)
-+ #endif
-+ X(0);
-+ X(1);
-+ X(2);
-+ X(3);
-+ X(4);
-+ #undef X
-+}
-+
-+/****************
-+ * Shortcut functions which puts the hash value of the supplied buffer
-+ * into outbuf which must have a size of 20 bytes.
-+ */
-+void
-+rmd160_hash_buffer( char *outbuf, const char *buffer, size_t length )
-+{
-+ RMD160_CONTEXT hd;
-+
-+ rmd160_init( &hd );
-+ rmd160_write( &hd, (byte*)buffer, length );
-+ rmd160_final( &hd );
-+ memcpy( outbuf, hd.buf, 20 );
-+}
-diff -urN util-linux-ng-2.14/mount/rmd160.h util-linux-ng-2.14-AES/mount/rmd160.h
---- util-linux-ng-2.14/mount/rmd160.h 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.14-AES/mount/rmd160.h 2008-06-24 16:55:13.000000000 +0300
-@@ -0,0 +1,9 @@
-+#ifndef RMD160_H
-+#define RMD160_H
-+
-+void
-+rmd160_hash_buffer( char *outbuf, const char *buffer, size_t length );
-+
-+#endif /*RMD160_H*/
-+
-+
-diff -urN util-linux-ng-2.14/mount/sha512.c util-linux-ng-2.14-AES/mount/sha512.c
---- util-linux-ng-2.14/mount/sha512.c 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.14-AES/mount/sha512.c 2008-06-24 16:55:13.000000000 +0300
-@@ -0,0 +1,432 @@
-+/*
-+ * sha512.c
-+ *
-+ * Written by Jari Ruusu, April 16 2001
-+ *
-+ * Copyright 2001 by Jari Ruusu.
-+ * Redistribution of this file is permitted under the GNU Public License.
-+ */
-+
-+#include <string.h>
-+#include <sys/types.h>
-+#include "sha512.h"
-+
-+/* Define one or more of these. If none is defined, you get all of them */
-+#if !defined(SHA256_NEEDED)&&!defined(SHA512_NEEDED)&&!defined(SHA384_NEEDED)
-+# define SHA256_NEEDED 1
-+# define SHA512_NEEDED 1
-+# define SHA384_NEEDED 1
-+#endif
-+
-+#if defined(SHA256_NEEDED)
-+static const u_int32_t sha256_hashInit[8] = {
-+ 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c,
-+ 0x1f83d9ab, 0x5be0cd19
-+};
-+static const u_int32_t sha256_K[64] = {
-+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,
-+ 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
-+ 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,
-+ 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
-+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
-+ 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
-+ 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,
-+ 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
-+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,
-+ 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
-+ 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
-+};
-+#endif
-+
-+#if defined(SHA512_NEEDED)
-+static const u_int64_t sha512_hashInit[8] = {
-+ 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL,
-+ 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL,
-+ 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL
-+};
-+#endif
-+
-+#if defined(SHA384_NEEDED)
-+static const u_int64_t sha384_hashInit[8] = {
-+ 0xcbbb9d5dc1059ed8ULL, 0x629a292a367cd507ULL, 0x9159015a3070dd17ULL,
-+ 0x152fecd8f70e5939ULL, 0x67332667ffc00b31ULL, 0x8eb44a8768581511ULL,
-+ 0xdb0c2e0d64f98fa7ULL, 0x47b5481dbefa4fa4ULL
-+};
-+#endif
-+
-+#if defined(SHA512_NEEDED) || defined(SHA384_NEEDED)
-+static const u_int64_t sha512_K[80] = {
-+ 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, 0xb5c0fbcfec4d3b2fULL,
-+ 0xe9b5dba58189dbbcULL, 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL,
-+ 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL, 0xd807aa98a3030242ULL,
-+ 0x12835b0145706fbeULL, 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL,
-+ 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, 0x9bdc06a725c71235ULL,
-+ 0xc19bf174cf692694ULL, 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL,
-+ 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL, 0x2de92c6f592b0275ULL,
-+ 0x4a7484aa6ea6e483ULL, 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL,
-+ 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL, 0xb00327c898fb213fULL,
-+ 0xbf597fc7beef0ee4ULL, 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL,
-+ 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL, 0x27b70a8546d22ffcULL,
-+ 0x2e1b21385c26c926ULL, 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL,
-+ 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, 0x81c2c92e47edaee6ULL,
-+ 0x92722c851482353bULL, 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL,
-+ 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL, 0xd192e819d6ef5218ULL,
-+ 0xd69906245565a910ULL, 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL,
-+ 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL, 0x2748774cdf8eeb99ULL,
-+ 0x34b0bcb5e19b48a8ULL, 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL,
-+ 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL, 0x748f82ee5defb2fcULL,
-+ 0x78a5636f43172f60ULL, 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL,
-+ 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, 0xbef9a3f7b2c67915ULL,
-+ 0xc67178f2e372532bULL, 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL,
-+ 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL, 0x06f067aa72176fbaULL,
-+ 0x0a637dc5a2c898a6ULL, 0x113f9804bef90daeULL, 0x1b710b35131c471bULL,
-+ 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, 0x3c9ebe0a15c9bebcULL,
-+ 0x431d67c49c100d4cULL, 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL,
-+ 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL
-+};
-+#endif
-+
-+#define Ch(x,y,z) (((x) & (y)) ^ ((~(x)) & (z)))
-+#define Maj(x,y,z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))
-+#define R(x,y) ((y) >> (x))
-+
-+#if defined(SHA256_NEEDED)
-+void sha256_init(sha256_context *ctx)
-+{
-+ memcpy(&ctx->sha_H[0], &sha256_hashInit[0], sizeof(ctx->sha_H));
-+ ctx->sha_blocks = 0;
-+ ctx->sha_bufCnt = 0;
-+}
-+
-+#define S(x,y) (((y) >> (x)) | ((y) << (32 - (x))))
-+#define uSig0(x) ((S(2,(x))) ^ (S(13,(x))) ^ (S(22,(x))))
-+#define uSig1(x) ((S(6,(x))) ^ (S(11,(x))) ^ (S(25,(x))))
-+#define lSig0(x) ((S(7,(x))) ^ (S(18,(x))) ^ (R(3,(x))))
-+#define lSig1(x) ((S(17,(x))) ^ (S(19,(x))) ^ (R(10,(x))))
-+
-+static void sha256_transform(sha256_context *ctx, unsigned char *datap)
-+{
-+ register int j;
-+ u_int32_t a, b, c, d, e, f, g, h;
-+ u_int32_t T1, T2, W[64], Wm2, Wm15;
-+
-+ /* read the data, big endian byte order */
-+ j = 0;
-+ do {
-+ W[j] = (((u_int32_t)(datap[0]))<<24) | (((u_int32_t)(datap[1]))<<16) |
-+ (((u_int32_t)(datap[2]))<<8 ) | ((u_int32_t)(datap[3]));
-+ datap += 4;
-+ } while(++j < 16);
-+
-+ /* initialize variables a...h */
-+ a = ctx->sha_H[0];
-+ b = ctx->sha_H[1];
-+ c = ctx->sha_H[2];
-+ d = ctx->sha_H[3];
-+ e = ctx->sha_H[4];
-+ f = ctx->sha_H[5];
-+ g = ctx->sha_H[6];
-+ h = ctx->sha_H[7];
-+
-+ /* apply compression function */
-+ j = 0;
-+ do {
-+ if(j >= 16) {
-+ Wm2 = W[j - 2];
-+ Wm15 = W[j - 15];
-+ W[j] = lSig1(Wm2) + W[j - 7] + lSig0(Wm15) + W[j - 16];
-+ }
-+ T1 = h + uSig1(e) + Ch(e,f,g) + sha256_K[j] + W[j];
-+ T2 = uSig0(a) + Maj(a,b,c);
-+ h = g; g = f; f = e;
-+ e = d + T1;
-+ d = c; c = b; b = a;
-+ a = T1 + T2;
-+ } while(++j < 64);
-+
-+ /* compute intermediate hash value */
-+ ctx->sha_H[0] += a;
-+ ctx->sha_H[1] += b;
-+ ctx->sha_H[2] += c;
-+ ctx->sha_H[3] += d;
-+ ctx->sha_H[4] += e;
-+ ctx->sha_H[5] += f;
-+ ctx->sha_H[6] += g;
-+ ctx->sha_H[7] += h;
-+
-+ ctx->sha_blocks++;
-+}
-+
-+void sha256_write(sha256_context *ctx, unsigned char *datap, int length)
-+{
-+ while(length > 0) {
-+ if(!ctx->sha_bufCnt) {
-+ while(length >= sizeof(ctx->sha_out)) {
-+ sha256_transform(ctx, datap);
-+ datap += sizeof(ctx->sha_out);
-+ length -= sizeof(ctx->sha_out);
-+ }
-+ if(!length) return;
-+ }
-+ ctx->sha_out[ctx->sha_bufCnt] = *datap++;
-+ length--;
-+ if(++ctx->sha_bufCnt == sizeof(ctx->sha_out)) {
-+ sha256_transform(ctx, &ctx->sha_out[0]);
-+ ctx->sha_bufCnt = 0;
-+ }
-+ }
-+}
-+
-+void sha256_final(sha256_context *ctx)
-+{
-+ register int j;
-+ u_int64_t bitLength;
-+ u_int32_t i;
-+ unsigned char padByte, *datap;
-+
-+ bitLength = (ctx->sha_blocks << 9) | (ctx->sha_bufCnt << 3);
-+ padByte = 0x80;
-+ sha256_write(ctx, &padByte, 1);
-+
-+ /* pad extra space with zeroes */
-+ padByte = 0;
-+ while(ctx->sha_bufCnt != 56) {
-+ sha256_write(ctx, &padByte, 1);
-+ }
-+
-+ /* write bit length, big endian byte order */
-+ ctx->sha_out[56] = bitLength >> 56;
-+ ctx->sha_out[57] = bitLength >> 48;
-+ ctx->sha_out[58] = bitLength >> 40;
-+ ctx->sha_out[59] = bitLength >> 32;
-+ ctx->sha_out[60] = bitLength >> 24;
-+ ctx->sha_out[61] = bitLength >> 16;
-+ ctx->sha_out[62] = bitLength >> 8;
-+ ctx->sha_out[63] = bitLength;
-+ sha256_transform(ctx, &ctx->sha_out[0]);
-+
-+ /* return results in ctx->sha_out[0...31] */
-+ datap = &ctx->sha_out[0];
-+ j = 0;
-+ do {
-+ i = ctx->sha_H[j];
-+ datap[0] = i >> 24;
-+ datap[1] = i >> 16;
-+ datap[2] = i >> 8;
-+ datap[3] = i;
-+ datap += 4;
-+ } while(++j < 8);
-+
-+ /* clear sensitive information */
-+ memset(&ctx->sha_out[32], 0, sizeof(sha256_context) - 32);
-+}
-+
-+void sha256_hash_buffer(unsigned char *ib, int ile, unsigned char *ob, int ole)
-+{
-+ sha256_context ctx;
-+
-+ if(ole < 1) return;
-+ memset(ob, 0, ole);
-+ if(ole > 32) ole = 32;
-+ sha256_init(&ctx);
-+ sha256_write(&ctx, ib, ile);
-+ sha256_final(&ctx);
-+ memcpy(ob, &ctx.sha_out[0], ole);
-+ memset(&ctx, 0, sizeof(ctx));
-+}
-+
-+#endif
-+
-+#if defined(SHA512_NEEDED)
-+void sha512_init(sha512_context *ctx)
-+{
-+ memcpy(&ctx->sha_H[0], &sha512_hashInit[0], sizeof(ctx->sha_H));
-+ ctx->sha_blocks = 0;
-+ ctx->sha_blocksMSB = 0;
-+ ctx->sha_bufCnt = 0;
-+}
-+#endif
-+
-+#if defined(SHA512_NEEDED) || defined(SHA384_NEEDED)
-+#undef S
-+#undef uSig0
-+#undef uSig1
-+#undef lSig0
-+#undef lSig1
-+#define S(x,y) (((y) >> (x)) | ((y) << (64 - (x))))
-+#define uSig0(x) ((S(28,(x))) ^ (S(34,(x))) ^ (S(39,(x))))
-+#define uSig1(x) ((S(14,(x))) ^ (S(18,(x))) ^ (S(41,(x))))
-+#define lSig0(x) ((S(1,(x))) ^ (S(8,(x))) ^ (R(7,(x))))
-+#define lSig1(x) ((S(19,(x))) ^ (S(61,(x))) ^ (R(6,(x))))
-+
-+static void sha512_transform(sha512_context *ctx, unsigned char *datap)
-+{
-+ register int j;
-+ u_int64_t a, b, c, d, e, f, g, h;
-+ u_int64_t T1, T2, W[80], Wm2, Wm15;
-+
-+ /* read the data, big endian byte order */
-+ j = 0;
-+ do {
-+ W[j] = (((u_int64_t)(datap[0]))<<56) | (((u_int64_t)(datap[1]))<<48) |
-+ (((u_int64_t)(datap[2]))<<40) | (((u_int64_t)(datap[3]))<<32) |
-+ (((u_int64_t)(datap[4]))<<24) | (((u_int64_t)(datap[5]))<<16) |
-+ (((u_int64_t)(datap[6]))<<8 ) | ((u_int64_t)(datap[7]));
-+ datap += 8;
-+ } while(++j < 16);
-+
-+ /* initialize variables a...h */
-+ a = ctx->sha_H[0];
-+ b = ctx->sha_H[1];
-+ c = ctx->sha_H[2];
-+ d = ctx->sha_H[3];
-+ e = ctx->sha_H[4];
-+ f = ctx->sha_H[5];
-+ g = ctx->sha_H[6];
-+ h = ctx->sha_H[7];
-+
-+ /* apply compression function */
-+ j = 0;
-+ do {
-+ if(j >= 16) {
-+ Wm2 = W[j - 2];
-+ Wm15 = W[j - 15];
-+ W[j] = lSig1(Wm2) + W[j - 7] + lSig0(Wm15) + W[j - 16];
-+ }
-+ T1 = h + uSig1(e) + Ch(e,f,g) + sha512_K[j] + W[j];
-+ T2 = uSig0(a) + Maj(a,b,c);
-+ h = g; g = f; f = e;
-+ e = d + T1;
-+ d = c; c = b; b = a;
-+ a = T1 + T2;
-+ } while(++j < 80);
-+
-+ /* compute intermediate hash value */
-+ ctx->sha_H[0] += a;
-+ ctx->sha_H[1] += b;
-+ ctx->sha_H[2] += c;
-+ ctx->sha_H[3] += d;
-+ ctx->sha_H[4] += e;
-+ ctx->sha_H[5] += f;
-+ ctx->sha_H[6] += g;
-+ ctx->sha_H[7] += h;
-+
-+ ctx->sha_blocks++;
-+ if(!ctx->sha_blocks) ctx->sha_blocksMSB++;
-+}
-+
-+void sha512_write(sha512_context *ctx, unsigned char *datap, int length)
-+{
-+ while(length > 0) {
-+ if(!ctx->sha_bufCnt) {
-+ while(length >= sizeof(ctx->sha_out)) {
-+ sha512_transform(ctx, datap);
-+ datap += sizeof(ctx->sha_out);
-+ length -= sizeof(ctx->sha_out);
-+ }
-+ if(!length) return;
-+ }
-+ ctx->sha_out[ctx->sha_bufCnt] = *datap++;
-+ length--;
-+ if(++ctx->sha_bufCnt == sizeof(ctx->sha_out)) {
-+ sha512_transform(ctx, &ctx->sha_out[0]);
-+ ctx->sha_bufCnt = 0;
-+ }
-+ }
-+}
-+
-+void sha512_final(sha512_context *ctx)
-+{
-+ register int j;
-+ u_int64_t bitLength, bitLengthMSB;
-+ u_int64_t i;
-+ unsigned char padByte, *datap;
-+
-+ bitLength = (ctx->sha_blocks << 10) | (ctx->sha_bufCnt << 3);
-+ bitLengthMSB = (ctx->sha_blocksMSB << 10) | (ctx->sha_blocks >> 54);
-+ padByte = 0x80;
-+ sha512_write(ctx, &padByte, 1);
-+
-+ /* pad extra space with zeroes */
-+ padByte = 0;
-+ while(ctx->sha_bufCnt != 112) {
-+ sha512_write(ctx, &padByte, 1);
-+ }
-+
-+ /* write bit length, big endian byte order */
-+ ctx->sha_out[112] = bitLengthMSB >> 56;
-+ ctx->sha_out[113] = bitLengthMSB >> 48;
-+ ctx->sha_out[114] = bitLengthMSB >> 40;
-+ ctx->sha_out[115] = bitLengthMSB >> 32;
-+ ctx->sha_out[116] = bitLengthMSB >> 24;
-+ ctx->sha_out[117] = bitLengthMSB >> 16;
-+ ctx->sha_out[118] = bitLengthMSB >> 8;
-+ ctx->sha_out[119] = bitLengthMSB;
-+ ctx->sha_out[120] = bitLength >> 56;
-+ ctx->sha_out[121] = bitLength >> 48;
-+ ctx->sha_out[122] = bitLength >> 40;
-+ ctx->sha_out[123] = bitLength >> 32;
-+ ctx->sha_out[124] = bitLength >> 24;
-+ ctx->sha_out[125] = bitLength >> 16;
-+ ctx->sha_out[126] = bitLength >> 8;
-+ ctx->sha_out[127] = bitLength;
-+ sha512_transform(ctx, &ctx->sha_out[0]);
-+
-+ /* return results in ctx->sha_out[0...63] */
-+ datap = &ctx->sha_out[0];
-+ j = 0;
-+ do {
-+ i = ctx->sha_H[j];
-+ datap[0] = i >> 56;
-+ datap[1] = i >> 48;
-+ datap[2] = i >> 40;
-+ datap[3] = i >> 32;
-+ datap[4] = i >> 24;
-+ datap[5] = i >> 16;
-+ datap[6] = i >> 8;
-+ datap[7] = i;
-+ datap += 8;
-+ } while(++j < 8);
-+
-+ /* clear sensitive information */
-+ memset(&ctx->sha_out[64], 0, sizeof(sha512_context) - 64);
-+}
-+
-+void sha512_hash_buffer(unsigned char *ib, int ile, unsigned char *ob, int ole)
-+{
-+ sha512_context ctx;
-+
-+ if(ole < 1) return;
-+ memset(ob, 0, ole);
-+ if(ole > 64) ole = 64;
-+ sha512_init(&ctx);
-+ sha512_write(&ctx, ib, ile);
-+ sha512_final(&ctx);
-+ memcpy(ob, &ctx.sha_out[0], ole);
-+ memset(&ctx, 0, sizeof(ctx));
-+}
-+#endif
-+
-+#if defined(SHA384_NEEDED)
-+void sha384_init(sha512_context *ctx)
-+{
-+ memcpy(&ctx->sha_H[0], &sha384_hashInit[0], sizeof(ctx->sha_H));
-+ ctx->sha_blocks = 0;
-+ ctx->sha_blocksMSB = 0;
-+ ctx->sha_bufCnt = 0;
-+}
-+
-+void sha384_hash_buffer(unsigned char *ib, int ile, unsigned char *ob, int ole)
-+{
-+ sha512_context ctx;
-+
-+ if(ole < 1) return;
-+ memset(ob, 0, ole);
-+ if(ole > 48) ole = 48;
-+ sha384_init(&ctx);
-+ sha512_write(&ctx, ib, ile);
-+ sha512_final(&ctx);
-+ memcpy(ob, &ctx.sha_out[0], ole);
-+ memset(&ctx, 0, sizeof(ctx));
-+}
-+#endif
-diff -urN util-linux-ng-2.14/mount/sha512.h util-linux-ng-2.14-AES/mount/sha512.h
---- util-linux-ng-2.14/mount/sha512.h 1970-01-01 02:00:00.000000000 +0200
-+++ util-linux-ng-2.14-AES/mount/sha512.h 2008-06-24 16:55:13.000000000 +0300
-@@ -0,0 +1,45 @@
-+/*
-+ * sha512.h
-+ *
-+ * Written by Jari Ruusu, April 16 2001
-+ *
-+ * Copyright 2001 by Jari Ruusu.
-+ * Redistribution of this file is permitted under the GNU Public License.
-+ */
-+
-+#include <sys/types.h>
-+
-+typedef struct {
-+ unsigned char sha_out[64]; /* results are here, bytes 0...31 */
-+ u_int32_t sha_H[8];
-+ u_int64_t sha_blocks;
-+ int sha_bufCnt;
-+} sha256_context;
-+
-+typedef struct {
-+ unsigned char sha_out[128]; /* results are here, bytes 0...63 */
-+ u_int64_t sha_H[8];
-+ u_int64_t sha_blocks;
-+ u_int64_t sha_blocksMSB;
-+ int sha_bufCnt;
-+} sha512_context;
-+
-+/* no sha384_context, use sha512_context */
-+
-+/* 256 bit hash, provides 128 bits of security against collision attacks */
-+extern void sha256_init(sha256_context *);
-+extern void sha256_write(sha256_context *, unsigned char *, int);
-+extern void sha256_final(sha256_context *);
-+extern void sha256_hash_buffer(unsigned char *, int, unsigned char *, int);
-+
-+/* 512 bit hash, provides 256 bits of security against collision attacks */
-+extern void sha512_init(sha512_context *);
-+extern void sha512_write(sha512_context *, unsigned char *, int);
-+extern void sha512_final(sha512_context *);
-+extern void sha512_hash_buffer(unsigned char *, int, unsigned char *, int);
-+
-+/* 384 bit hash, provides 192 bits of security against collision attacks */
-+extern void sha384_init(sha512_context *);
-+/* no sha384_write(), use sha512_write() */
-+/* no sha384_final(), use sha512_final(), result in ctx->sha_out[0...47] */
-+extern void sha384_hash_buffer(unsigned char *, int, unsigned char *, int);
-diff -urN util-linux-ng-2.14/mount/swapon.8 util-linux-ng-2.14-AES/mount/swapon.8
---- util-linux-ng-2.14/mount/swapon.8 2008-05-29 02:01:02.000000000 +0300
-+++ util-linux-ng-2.14-AES/mount/swapon.8 2008-06-24 16:55:13.000000000 +0300
-@@ -136,6 +136,22 @@
- .I /proc/swaps
- or
- .IR /etc/fstab ).
-+.PP
-+If
-+.I loop=/dev/loop?
-+and
-+.I encryption=AES128
-+options are present in
-+.I /etc/fstab
-+then
-+.BR "swapon -a"
-+will set up loop devices using random keys, run
-+.BR "mkswap"
-+on them, and enable encrypted swap on specified loop devices. Encrypted loop
-+devices are set up with page size offset so that unencrypted swap signatures
-+on first page of swap devices are not touched.
-+.BR "swapoff -a"
-+will tear down such loop devices.
- .SH NOTE
- You should not use
- .B swapon
-diff -urN util-linux-ng-2.14/mount/swapon.c util-linux-ng-2.14-AES/mount/swapon.c
---- util-linux-ng-2.14/mount/swapon.c 2008-05-29 02:01:02.000000000 +0300
-+++ util-linux-ng-2.14-AES/mount/swapon.c 2008-06-24 16:55:13.000000000 +0300
-@@ -1,5 +1,18 @@
- /*
- * A swapon(8)/swapoff(8) for Linux 0.99.
-+ * swapon.c,v 1.1.1.1 1993/11/18 08:40:51 jrs Exp
-+ *
-+ * 1997-02-xx <Vincent.Renardias@waw.com>
-+ * - added '-s' (summary option)
-+ * 1999-02-22 Arkadiusz Mikiewicz <misiek@pld.ORG.PL>
-+ * - added Native Language Support
-+ * 1999-03-21 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
-+ * - fixed strerr(errno) in gettext calls
-+ * 2001-03-22 Erik Troan <ewt@redhat.com>
-+ * - added -e option for -a
-+ * - -a shouldn't try to add swaps that are already enabled
-+ * 2002-04-14 Jari Ruusu
-+ * - added encrypted swap support
- */
- #include <ctype.h>
- #include <stdlib.h>
-@@ -9,6 +22,9 @@
- #include <mntent.h>
- #include <errno.h>
- #include <sys/stat.h>
-+#include <sys/ioctl.h>
-+#include <sys/utsname.h>
-+#include <sys/time.h>
- #include <unistd.h>
- #include <sys/types.h>
- #include <sys/wait.h>
-@@ -20,6 +36,9 @@
- #include "realpath.h"
- #include "pathnames.h"
- #include "sundries.h"
-+#include "loop.h"
-+#include "xstrncpy.h"
-+#include "sha512.h"
-
- #define PATH_MKSWAP "/sbin/mkswap"
-
-@@ -381,6 +400,262 @@
- }
-
- static int
-+prepare_encrypted_swap(const char *partition, char *loop, char *encryption)
-+{
-+ int x, y, fd, ffd;
-+ int page_size;
-+ sha512_context s;
-+ unsigned char b[4096], multiKeyBits[65][32];
-+ char *a[10], *apiName;
-+ struct loop_info64 loopinfo;
-+ FILE *f;
-+
-+ /*
-+ * Some sanity checks
-+ */
-+ if(strlen(partition) < 1) {
-+ fprintf(stderr, _("swapon: invalid swap device name\n"));
-+ return 0;
-+ }
-+ if(strlen(loop) < 1) {
-+ fprintf(stderr, _("swapon: invalid loop device name\n"));
-+ return 0;
-+ }
-+ if(strlen(encryption) < 1) {
-+ fprintf(stderr, _("swapon: invalid encryption type\n"));
-+ return 0;
-+ }
-+
-+ /*
-+ * Abort if loop device does not exist or is already in use
-+ */
-+ if((fd = open(loop, O_RDWR)) == -1) {
-+ fprintf(stderr, _("swapon: unable to open loop device %s\n"), loop);
-+ return 0;
-+ }
-+ if(is_unused_loop_device(fd) == 0) {
-+ fprintf(stderr, _("swapon: loop device %s already in use\n"), loop);
-+ goto errout0;
-+ }
-+
-+ /*
-+ * Compute SHA-512 over first 40 KB of old swap data. This data
-+ * is mostly unknown data encrypted using unknown key. SHA-512 hash
-+ * output is then used as entropy for new swap encryption key.
-+ */
-+ if(!(f = fopen(partition, "r+"))) {
-+ fprintf(stderr, _("swapon: unable to open swap device %s\n"), partition);
-+ goto errout0;
-+ }
-+ page_size = getpagesize();
-+ fseek(f, (long)page_size, SEEK_SET);
-+ sha512_init(&s);
-+ for(x = 0; x < 10; x++) {
-+ if(fread(&b[0], sizeof(b), 1, f) != 1) break;
-+ sha512_write(&s, &b[0], sizeof(b));
-+ }
-+ sha512_final(&s);
-+
-+ /*
-+ * Overwrite 40 KB of old swap data 20 times so that recovering
-+ * SHA-512 output beyond this point is difficult and expensive.
-+ */
-+ for(y = 0; y < 20; y++) {
-+ int z;
-+ struct {
-+ struct timeval tv;
-+ unsigned char h[64];
-+ int x,y,z;
-+ } j;
-+ if(fseek(f, (long)page_size, SEEK_SET)) break;
-+ memcpy(&j.h[0], &s.sha_out[0], 64);
-+ gettimeofday(&j.tv, NULL);
-+ j.y = y;
-+ for(x = 0; x < 10; x++) {
-+ j.x = x;
-+ for(z = 0; z < sizeof(b); z += 64) {
-+ j.z = z;
-+ sha512_hash_buffer((unsigned char *)&j, sizeof(j), &b[z], 64);
-+ }
-+ if(fwrite(&b[0], sizeof(b), 1, f) != 1) break;
-+ }
-+ memset(&j, 0, sizeof(j));
-+ if(fflush(f)) break;
-+ if(fsync(fileno(f))) break;
-+ }
-+ fclose(f);
-+
-+ /*
-+ * Use all 512 bits of hash output
-+ */
-+ memcpy(&b[0], &s.sha_out[0], 64);
-+ memset(&s, 0, sizeof(s));
-+
-+ /*
-+ * Read 32 bytes of random entropy from kernel's random
-+ * number generator. This code may be executed early on startup
-+ * scripts and amount of random entropy may be non-existent.
-+ * SHA-512 of old swap data is used as workaround for missing
-+ * entropy in kernel's random number generator.
-+ */
-+ if(!(f = fopen("/dev/urandom", "r"))) {
-+ fprintf(stderr, _("swapon: unable to open /dev/urandom\n"));
-+ goto errout0;
-+ }
-+ fread(&b[64], 32, 1, f);
-+
-+ /*
-+ * Set up struct loop_info64
-+ */
-+ if((ffd = open(partition, O_RDWR)) < 0) {
-+ fprintf(stderr, _("swapon: unable to open swap device %s\n"), partition);
-+ goto errout1;
-+ }
-+ memset(&loopinfo, 0, sizeof(loopinfo));
-+ xstrncpy((char *)loopinfo.lo_file_name, partition, LO_NAME_SIZE);
-+ loopinfo.lo_encrypt_type = loop_crypt_type(encryption, &loopinfo.lo_encrypt_key_size, &apiName);
-+ if(loopinfo.lo_encrypt_type <= 1) {
-+ fprintf(stderr, _("swapon: unsupported swap encryption type %s\n"), encryption);
-+errout2:
-+ close(ffd);
-+errout1:
-+ fclose(f);
-+errout0:
-+ close(fd);
-+ memset(&loopinfo.lo_encrypt_key[0], 0, sizeof(loopinfo.lo_encrypt_key));
-+ memset(&multiKeyBits[0][0], 0, sizeof(multiKeyBits));
-+ return 0;
-+ }
-+ loopinfo.lo_offset = page_size;
-+ /* single-key hash */
-+ sha512_hash_buffer(&b[0], 64+32, &loopinfo.lo_encrypt_key[0], sizeof(loopinfo.lo_encrypt_key));
-+ /* multi-key hash */
-+ x = 0;
-+ while(x < 65) {
-+ fread(&b[64+32], 16, 1, f);
-+ sha512_hash_buffer(&b[0], 64+32+16, &multiKeyBits[x][0], 32);
-+ x++;
-+ }
-+
-+ /*
-+ * Try to set up single-key loop
-+ */
-+ if(ioctl(fd, LOOP_SET_FD, ffd) < 0) {
-+ fprintf(stderr, _("swapon: LOOP_SET_FD failed\n"));
-+ goto errout2;
-+ }
-+ if ((loopinfo.lo_encrypt_type == 18) || (loop_set_status64_ioctl(fd, &loopinfo) < 0)) {
-+ if(try_cryptoapi_loop_interface(fd, &loopinfo, apiName) < 0) {
-+ fprintf(stderr, _("swapon: LOOP_SET_STATUS failed\n"));
-+ ioctl(fd, LOOP_CLR_FD, 0);
-+ goto errout2;
-+ }
-+ }
-+
-+ /*
-+ * Try to put loop to multi-key v3 or v2 mode.
-+ * If this fails, then let it operate in single-key mode.
-+ */
-+ if(ioctl(fd, LOOP_MULTI_KEY_SETUP_V3, &multiKeyBits[0][0]) < 0) {
-+ ioctl(fd, LOOP_MULTI_KEY_SETUP, &multiKeyBits[0][0]);
-+ }
-+
-+ /*
-+ * Loop is now set up. Clean up the keys.
-+ */
-+ memset(&loopinfo.lo_encrypt_key[0], 0, sizeof(loopinfo.lo_encrypt_key));
-+ memset(&multiKeyBits[0][0], 0, sizeof(multiKeyBits));
-+ close(ffd);
-+ fclose(f);
-+ close(fd);
-+
-+ /*
-+ * Write 40 KB of zeroes to loop device. That same data is written
-+ * to underlying partition in encrypted form. This is done to guarantee
-+ * that next time encrypted swap is initialized, the SHA-512 hash will
-+ * be different. And, if encrypted swap data writes over this data, that's
-+ * even better.
-+ */
-+ if(!(f = fopen(loop, "r+"))) {
-+ fprintf(stderr, _("swapon: unable to open loop device %s\n"), loop);
-+ return 0;
-+ }
-+ memset(&b[0], 0, sizeof(b));
-+ for(x = 0; x < 10; x++) {
-+ if(fwrite(&b[0], sizeof(b), 1, f) != 1) break;
-+ }
-+ fflush(f);
-+ fsync(fileno(f));
-+ fclose(f);
-+ sync();
-+
-+ /*
-+ * Run mkswap on loop device so that kernel understands it as swap.
-+ * Redirect stderr to /dev/null and ignore exit value.
-+ */
-+ if(!(x = fork())) {
-+ if((x = open("/dev/null", O_WRONLY)) >= 0) {
-+ dup2(x, 2);
-+ close(x);
-+ }
-+ a[0] = "mkswap";
-+ a[1] = loop;
-+ a[2] = 0;
-+ execvp(a[0], &a[0]);
-+ execv("/sbin/mkswap", &a[0]);
-+ /* error to stdout, stderr is directed to /dev/null */
-+ printf(_("swapon: unable to execute mkswap\n"));
-+ exit(1);
-+ }
-+ if(x == -1) {
-+ fprintf(stderr, _("swapon: fork failed\n"));
-+ return 0;
-+ }
-+ waitpid(x, &y, 0);
-+ sync();
-+
-+ return 1;
-+}
-+
-+static void
-+shutdown_encrypted_swap(char *loop)
-+{
-+ int fd;
-+ struct stat statbuf;
-+ struct loop_info64 loopinfo;
-+ unsigned char b[32];
-+ FILE *f;
-+
-+ if(stat(loop, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
-+ if((fd = open(loop, O_RDWR)) >= 0) {
-+ if(!loop_get_status64_ioctl(fd, &loopinfo)) {
-+ /*
-+ * Read 32 bytes of random data from kernel's random
-+ * number generator and write that to loop device.
-+ * This preserves some of kernel's random entropy
-+ * to next activation of encrypted swap on this
-+ * partition.
-+ */
-+ if((f = fopen("/dev/urandom", "r")) != NULL) {
-+ fread(&b[0], 32, 1, f);
-+ fclose(f);
-+ write(fd, &b[0], 32);
-+ fsync(fd);
-+ }
-+ }
-+ close(fd);
-+ }
-+ sync();
-+ if((fd = open(loop, O_RDONLY)) >= 0) {
-+ if(!loop_get_status64_ioctl(fd, &loopinfo)) {
-+ ioctl(fd, LOOP_CLR_FD, 0);
-+ }
-+ close(fd);
-+ }
-+ }
-+}
-+
-+static int
- swapon_all(void) {
- FILE *fp;
- struct mntent *fstab;
-@@ -400,6 +675,8 @@
- const char *special;
- int skip = 0;
- int pri = priority;
-+ char *opt, *opts;
-+ char *loop = NULL, *encryption = NULL;
-
- if (!streq(fstab->mnt_type, MNTTYPE_SWAP))
- continue;
-@@ -408,23 +685,39 @@
- if (!special)
- continue;
-
-- if (!is_in_proc_swaps(special) &&
-- (!ifexists || !access(special, R_OK))) {
-- /* parse mount options; */
-- char *opt, *opts = strdup(fstab->mnt_opts);
--
-- for (opt = strtok(opts, ","); opt != NULL;
-- opt = strtok(NULL, ",")) {
-- if (strncmp(opt, "pri=", 4) == 0)
-- pri = atoi(opt+4);
-- if (strcmp(opt, "noauto") == 0)
-- skip = 1;
-+ /* parse mount options; */
-+ opts = strdup(fstab->mnt_opts);
-+ if (!opts) {
-+ fprintf(stderr, "not enough memory");
-+ exit(1);
-+ }
-+ for (opt = strtok(opts, ","); opt != NULL; opt = strtok(NULL, ",")) {
-+ if (strncmp(opt, "pri=", 4) == 0)
-+ pri = atoi(opt+4);
-+ if (strcmp(opt, "noauto") == 0)
-+ skip = 1;
-+ if (strncmp(opt, "loop=", 5) == 0)
-+ loop = opt + 5;
-+ if (strncmp(opt, "encryption=", 11) == 0)
-+ encryption = opt + 11;
-+ }
-+ if(skip)
-+ continue;
-+ if (loop && encryption) {
-+ if(!is_in_proc_swaps(loop) && (!ifexists || !access(special, R_OK))) {
-+ if (!prepare_encrypted_swap(special, loop, encryption)) {
-+ status |= -1;
-+ continue;
-+ }
-+ status |= do_swapon(loop, pri, CANONIC);
- }
-- if (!skip)
-- status |= do_swapon(special, pri, CANONIC);
-+ continue;
-+ }
-+ if (!is_in_proc_swaps(special) && (!ifexists || !access(special, R_OK))) {
-+ status |= do_swapon(special, pri, CANONIC);
- }
- }
-- fclose(fp);
-+ endmntent(fp);
-
- return status;
- }
-@@ -587,19 +880,51 @@
- exit(2);
- }
- while ((fstab = getmntent(fp)) != NULL) {
-+ const char *orig_special = fstab->mnt_fsname;
- const char *special;
-+ int skip = 0;
-+ char *opt, *opts;
-+ char *loop = NULL, *encryption = NULL;
-
- if (!streq(fstab->mnt_type, MNTTYPE_SWAP))
- continue;
-
-- special = fsprobe_get_devname(fstab->mnt_fsname);
-+ special = fsprobe_get_devname(orig_special);
- if (!special)
- continue;
-
-- if (!is_in_proc_swaps(special))
-+ /* parse mount options; */
-+ opts = strdup(fstab->mnt_opts);
-+ if (!opts) {
-+ fprintf(stderr, "not enough memory");
-+ exit(1);
-+ }
-+ for (opt = strtok(opts, ","); opt != NULL; opt = strtok(NULL, ",")) {
-+ if (strcmp(opt, "noauto") == 0)
-+ skip = 1;
-+ if (strncmp(opt, "loop=", 5) == 0)
-+ loop = opt + 5;
-+ if (strncmp(opt, "encryption=", 11) == 0)
-+ encryption = opt + 11;
-+ }
-+ if (loop && encryption) {
-+ if (!is_in_proc_swaps(loop)) {
-+ if(skip)
-+ continue;
-+ do_swapoff(loop, QUIET, CANONIC);
-+ }
-+ shutdown_encrypted_swap(loop);
-+ continue;
-+ }
-+ if(skip)
-+ continue;
-+ if (!is_in_proc_swaps(special)) {
- do_swapoff(special, QUIET, CANONIC);
-+ }
-+
-+
- }
-- fclose(fp);
-+ endmntent(fp);
- }
-
- return status;
diff --git a/abs/core/util-linux-ng/util-linux-ng-cfdisk.patch b/abs/core/util-linux-ng/util-linux-ng-cfdisk.patch
new file mode 100644
index 0000000..bc60e43
--- /dev/null
+++ b/abs/core/util-linux-ng/util-linux-ng-cfdisk.patch
@@ -0,0 +1,57 @@
+From 54a0fe298b4d6d948cffbd6fbbbe7dbabc9a6bb1 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Mon, 19 Jul 2010 22:52:58 +0200
+Subject: [PATCH] cfdisk: get_string not calculating correct limits
+
+Reported-by: James L. Hammons <jlhamm@acm.org>
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ fdisk/cfdisk.c | 11 ++++++++---
+ 1 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/fdisk/cfdisk.c b/fdisk/cfdisk.c
+index 7fa0b19..e7955fe 100644
+--- a/fdisk/cfdisk.c
++++ b/fdisk/cfdisk.c
+@@ -421,6 +421,11 @@ fdexit(int ret) {
+ exit(ret);
+ }
+
++/*
++ * Note that @len is size of @str buffer.
++ *
++ * Returns number of read bytes (without \0).
++ */
+ static int
+ get_string(char *str, int len, char *def) {
+ size_t cells = 0, i = 0;
+@@ -472,7 +477,7 @@ get_string(char *str, int len, char *def) {
+ break;
+ default:
+ #if defined(HAVE_LIBNCURSESW) && defined(HAVE_WIDECHAR)
+- if (i < len && iswprint(c)) {
++ if (i + 1 < len && iswprint(c)) {
+ wchar_t wc = (wchar_t) c;
+ char s[MB_CUR_MAX + 1];
+ int sz = wctomb(s, wc);
+@@ -492,7 +497,7 @@ get_string(char *str, int len, char *def) {
+ putchar(BELL);
+ }
+ #else
+- if (i < len && isprint(c)) {
++ if (i + 1 < len && isprint(c)) {
+ mvaddch(y, x + cells, c);
+ if (use_def) {
+ clrtoeol();
+@@ -2405,7 +2410,7 @@ change_id(int i) {
+
+ sprintf(def, "%02X", new_id);
+ mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X, _("Enter filesystem type: "));
+- if ((len = get_string(id, 2, def)) <= 0 && len != GS_DEFAULT)
++ if ((len = get_string(id, 3, def)) <= 0 && len != GS_DEFAULT)
+ return;
+
+ if (len != GS_DEFAULT) {
+--
+1.7.2.1
+
diff --git a/abs/core/util-linux-ng/util-linux-ng-nilfs2.patch b/abs/core/util-linux-ng/util-linux-ng-nilfs2.patch
new file mode 100644
index 0000000..3ac215b
--- /dev/null
+++ b/abs/core/util-linux-ng/util-linux-ng-nilfs2.patch
@@ -0,0 +1,276 @@
+From b44b8600d4096de8203c1fb0702bbc95ee51017f Mon Sep 17 00:00:00 2001
+From: Jiro SEKIBA <jir@unicus.jp>
+Date: Tue, 13 Jul 2010 09:12:56 +0200
+Subject: [PATCH] libblkid: add nilfs2 filesystem superblock probe
+
+This patch implements nilfs2_idinfo to proble nilfs2 partition.
+The patch probes uuid, label, version and verify crc check sum of
+superblock.
+
+Signed-off-by: Jiro SEKIBA <jir@unicus.jp>
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ shlibs/blkid/src/superblocks/Makefile.am | 1 +
+ shlibs/blkid/src/superblocks/nilfs.c | 120 ++++++++++++++++++++++++++++
+ shlibs/blkid/src/superblocks/superblocks.c | 1 +
+ shlibs/blkid/src/superblocks/superblocks.h | 1 +
+ 4 files changed, 123 insertions(+), 0 deletions(-)
+ create mode 100644 shlibs/blkid/src/superblocks/nilfs.c
+
+diff --git a/shlibs/blkid/src/superblocks/Makefile.am b/shlibs/blkid/src/superblocks/Makefile.am
+index 39b074b..1501fab 100644
+--- a/shlibs/blkid/src/superblocks/Makefile.am
++++ b/shlibs/blkid/src/superblocks/Makefile.am
+@@ -47,4 +47,5 @@ libblkid_superblocks_la_SOURCES = \
+ drbd.c \
+ vmfs.c \
+ befs.c \
++ nilfs.c \
+ exfat.c
+diff --git a/shlibs/blkid/src/superblocks/nilfs.c b/shlibs/blkid/src/superblocks/nilfs.c
+new file mode 100644
+index 0000000..c7aba35
+--- /dev/null
++++ b/shlibs/blkid/src/superblocks/nilfs.c
+@@ -0,0 +1,120 @@
++/*
++ * Copyright (C) 2010 by Jiro SEKIBA <jir@unicus.jp>
++ *
++ * This file may be redistributed under the terms of the
++ * GNU Lesser General Public License
++ */
++#include <stddef.h>
++#include <string.h>
++
++#include "superblocks.h"
++#include "crc32.h"
++
++struct nilfs_super_block {
++ uint32_t s_rev_level;
++ uint16_t s_minor_rev_level;
++ uint16_t s_magic;
++
++ uint16_t s_bytes;
++
++ uint16_t s_flags;
++ uint32_t s_crc_seed;
++ uint32_t s_sum;
++
++ uint32_t s_log_block_size;
++
++ uint64_t s_nsegments;
++ uint64_t s_dev_size;
++ uint64_t s_first_data_block;
++ uint32_t s_blocks_per_segment;
++ uint32_t s_r_segments_percentage;
++
++ uint64_t s_last_cno;
++ uint64_t s_last_pseg;
++ uint64_t s_last_seq;
++ uint64_t s_free_blocks_count;
++
++ uint64_t s_ctime;
++
++ uint64_t s_mtime;
++ uint64_t s_wtime;
++ uint16_t s_mnt_count;
++ uint16_t s_max_mnt_count;
++ uint16_t s_state;
++ uint16_t s_errors;
++ uint64_t s_lastcheck;
++
++ uint32_t s_checkinterval;
++ uint32_t s_creator_os;
++ uint16_t s_def_resuid;
++ uint16_t s_def_resgid;
++ uint32_t s_first_ino;
++
++ uint16_t s_inode_size;
++ uint16_t s_dat_entry_size;
++ uint16_t s_checkpoint_size;
++ uint16_t s_segment_usage_size;
++
++ uint8_t s_uuid[16];
++ char s_volume_name[80];
++
++ uint32_t s_c_interval;
++ uint32_t s_c_block_max;
++ uint32_t s_reserved[192];
++};
++
++/* nilfs2 magic string */
++#define NILFS_SB_MAGIC "\x34\x34"
++/* nilfs2 super block offset */
++#define NILFS_SB_OFF 0x400
++/* nilfs2 super block offset in kB */
++#define NILFS_SB_KBOFF (NILFS_SB_OFF >> 10)
++/* nilfs2 magic string offset within super block */
++#define NILFS_MAG_OFF 6
++
++static int probe_nilfs2(blkid_probe pr, const struct blkid_idmag *mag)
++{
++ struct nilfs_super_block *sb;
++ static unsigned char sum[4];
++ const int sumoff = offsetof(struct nilfs_super_block, s_sum);
++ size_t bytes;
++ uint32_t crc;
++
++ sb = blkid_probe_get_sb(pr, mag, struct nilfs_super_block);
++ if (!sb)
++ return -1;
++
++ bytes = le32_to_cpu(sb->s_bytes);
++ crc = crc32(le32_to_cpu(sb->s_crc_seed), (unsigned char *)sb, sumoff);
++ crc = crc32(crc, sum, 4);
++ crc = crc32(crc, (unsigned char *)sb + sumoff + 4, bytes - sumoff - 4);
++
++ if (crc != le32_to_cpu(sb->s_sum))
++ return -1;
++
++ if (strlen(sb->s_volume_name))
++ blkid_probe_set_label(pr, (unsigned char *) sb->s_volume_name,
++ sizeof(sb->s_volume_name));
++
++ blkid_probe_set_uuid(pr, sb->s_uuid);
++ blkid_probe_sprintf_version(pr, "%u", le32_to_cpu(sb->s_rev_level));
++
++ return 0;
++}
++
++const struct blkid_idinfo nilfs2_idinfo =
++{
++ .name = "nilfs",
++ .usage = BLKID_USAGE_FILESYSTEM,
++ .probefunc = probe_nilfs2,
++ .magics =
++ {
++ {
++ .magic = NILFS_SB_MAGIC,
++ .len = 2,
++ .kboff = NILFS_SB_KBOFF,
++ .sboff = NILFS_MAG_OFF
++ },
++ { NULL }
++ }
++};
+diff --git a/shlibs/blkid/src/superblocks/superblocks.c b/shlibs/blkid/src/superblocks/superblocks.c
+index b80c10b..3d66d98 100644
+--- a/shlibs/blkid/src/superblocks/superblocks.c
++++ b/shlibs/blkid/src/superblocks/superblocks.c
+@@ -140,6 +140,7 @@ static const struct blkid_idinfo *idinfos[] =
+ &bfs_idinfo,
+ &vmfs_fs_idinfo,
+ &befs_idinfo,
++ &nilfs2_idinfo,
+ &exfat_idinfo
+ };
+
+diff --git a/shlibs/blkid/src/superblocks/superblocks.h b/shlibs/blkid/src/superblocks/superblocks.h
+index 74cb974..a79d7cb 100644
+--- a/shlibs/blkid/src/superblocks/superblocks.h
++++ b/shlibs/blkid/src/superblocks/superblocks.h
+@@ -65,6 +65,7 @@ extern const struct blkid_idinfo vmfs_volume_idinfo;
+ extern const struct blkid_idinfo vmfs_fs_idinfo;
+ extern const struct blkid_idinfo drbd_idinfo;
+ extern const struct blkid_idinfo befs_idinfo;
++extern const struct blkid_idinfo nilfs2_idinfo;
+ extern const struct blkid_idinfo exfat_idinfo;
+
+ /*
+--
+1.7.2.1
+From 67bb0074eec2b154d15bd3dd77b482c3d6125761 Mon Sep 17 00:00:00 2001
+From: Jiro SEKIBA <jir@unicus.jp>
+Date: Tue, 13 Jul 2010 09:14:08 +0200
+Subject: [PATCH] tests: add nilfs2 test for libblkid
+
+Signed-off-by: Jiro SEKIBA <jir@unicus.jp>
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ tests/expected/blkid/low-probe-nilfs2 | 7 +++++++
+ tests/ts/blkid/images-fs/nilfs2.img.bz2 | Bin 0 -> 795 bytes
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+ create mode 100644 tests/expected/blkid/low-probe-nilfs2
+ create mode 100644 tests/ts/blkid/images-fs/nilfs2.img.bz2
+
+diff --git a/tests/expected/blkid/low-probe-nilfs2 b/tests/expected/blkid/low-probe-nilfs2
+new file mode 100644
+index 0000000..bfd8fcd
+--- /dev/null
++++ b/tests/expected/blkid/low-probe-nilfs2
+@@ -0,0 +1,7 @@
++ID_FS_LABEL=test-nilfs2
++ID_FS_LABEL_ENC=test-nilfs2
++ID_FS_TYPE=nilfs
++ID_FS_USAGE=filesystem
++ID_FS_UUID=524025fb-6d31-40e6-baad-1db36cfdf806
++ID_FS_UUID_ENC=524025fb-6d31-40e6-baad-1db36cfdf806
++ID_FS_VERSION=2
+diff --git a/tests/ts/blkid/images-fs/nilfs2.img.bz2 b/tests/ts/blkid/images-fs/nilfs2.img.bz2
+new file mode 100644
+index 0000000000000000000000000000000000000000..a9762eb1ace9f1999aaad3c40f1d836668d856ac
+GIT binary patch
+literal 795
+zcmZ>Y%CIzaj8qGbG`Ml9n}H$iKM?$BcJi+ANKl`nz?|O0@_@lbK*y;^z=e@R;iM8v
+z^#R6D2YV7HdVE!LUvc5DPv^n~3?@drY>Er`xpEzs%?rp}D3rOt`HEDABm)D32?GP;
+z0!EREipv^IOn^)V240{j^Q<Hzqs++;Mp8zSMhpyWZZoCW1WqjeK1)#Iz#6seeHv~(
+zmxJ_T@69=2^IA3QjKnD|>vorkjN+>MH*4-%s37X<)*F#v)Rf{P;KEe-N=h(9AxK5r
+zNaB>=<>ixS2R?swwRU~FskVY@0E2@ILyiK&T}MB??Mn}*D~htZ3cdTZRH0!*OIOhp
+zuF1Yi0SZB_TmsB4k61&aUN!_Ugm_J068*5`gF*w#0teARmnpo_kuT2~GOf!|DtB62
+z!)T++5$eFKB*GXf;<I9F!NQM?v;8`}*7b6px{&k4S4E)bP}5GYFDbo;*GrVLFkN9@
+z@@Z9sSb~JGco?eycMA(Q^Ph&Ju|ft>1p%^G=UuLqkPtM9ycck)X|u7g*QFMo>QK!;
+zURQKH*iWxuZsIwzh@rOT!@1{s7L*D22$pQI7i2k@S1M-~SA2Zm@7XFsJ@fXR;7eg<
+zQ4&<W_Vc7f@7p(fvkiM$nYo*^O$-78_-wK~RVMkbV1D8JQ`OC<q49;V$o`^l=O3L4
+zcH6Z3#E!YsGG`s)RMF~EOO1d3>aY{zarw_8qLWfhCp?&^`$6=_69yh&WHm7`bFf@V
+z(PE04u!6IgDET?h6*ny4n=k(V{?{W7DhkUTSQr9X7>p_oxG=CVFtI2!vN$jZD6(v3
+z;O=l+m1w{)gHeLB;X+0N+bk2QBw&h}z@#bCHj{nH7h4xLj+2u!PE3DPVsFhCSH8Sp
+zT}DV?fa{Ns2bOWHVhs!t%xc}wps|W$-`>x&rn$fKjBA>})U}{HMs?HV9M&t-a)KVS
+zYg}FWIQh_-FYD!hutchUy`86XxmogM<nBjObNPCsG{5_M%3n}$Xkh3NkUdt<dS{}a
+Lh>ElVLy7|cD)2Ck
+
+literal 0
+HcmV?d00001
+
+--
+1.7.2.1
+From 1326e1dfa5c1d06ff7521b8c8162452799164239 Mon Sep 17 00:00:00 2001
+From: Jiro SEKIBA <jir@unicus.jp>
+Date: Thu, 15 Jul 2010 13:40:27 +0900
+Subject: [PATCH] libblkid: fix typo filesystem name nilfs to nilfs2
+
+The correct filesystem name is nilfs2, not nilfs.
+
+Signed-off-by: Jiro SEKIBA <jir@unicus.jp>
+---
+ shlibs/blkid/src/superblocks/nilfs.c | 2 +-
+ tests/expected/blkid/low-probe-nilfs2 | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/shlibs/blkid/src/superblocks/nilfs.c b/shlibs/blkid/src/superblocks/nilfs.c
+index c7aba35..bf16918 100644
+--- a/shlibs/blkid/src/superblocks/nilfs.c
++++ b/shlibs/blkid/src/superblocks/nilfs.c
+@@ -104,7 +104,7 @@ static int probe_nilfs2(blkid_probe pr, const struct blkid_idmag *mag)
+
+ const struct blkid_idinfo nilfs2_idinfo =
+ {
+- .name = "nilfs",
++ .name = "nilfs2",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .probefunc = probe_nilfs2,
+ .magics =
+diff --git a/tests/expected/blkid/low-probe-nilfs2 b/tests/expected/blkid/low-probe-nilfs2
+index bfd8fcd..c6c9cab 100644
+--- a/tests/expected/blkid/low-probe-nilfs2
++++ b/tests/expected/blkid/low-probe-nilfs2
+@@ -1,6 +1,6 @@
+ ID_FS_LABEL=test-nilfs2
+ ID_FS_LABEL_ENC=test-nilfs2
+-ID_FS_TYPE=nilfs
++ID_FS_TYPE=nilfs2
+ ID_FS_USAGE=filesystem
+ ID_FS_UUID=524025fb-6d31-40e6-baad-1db36cfdf806
+ ID_FS_UUID_ENC=524025fb-6d31-40e6-baad-1db36cfdf806
+--
+1.7.2.1
+
diff --git a/abs/core/util-linux-ng/util-linux-ng.install b/abs/core/util-linux-ng/util-linux-ng.install
index 22d38db..b057db9 100644
--- a/abs/core/util-linux-ng/util-linux-ng.install
+++ b/abs/core/util-linux-ng/util-linux-ng.install
@@ -1,5 +1,5 @@
infodir=/usr/share/info
-filelist=(ipc.info)
+filelist=(ipc.info.gz)
post_install() {
[ -x usr/bin/install-info ] || return 0
diff --git a/abs/core/vdpinfo-71xx/PKGBUILD b/abs/core/vdpinfo-71xx/PKGBUILD
deleted file mode 100644
index bf20d32..0000000
--- a/abs/core/vdpinfo-71xx/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# It is not expected that vdpau will work with the 71xx nVidia drivers, but we still want
-# 'vdpinfo' to return something when users run it, even if the real 'vdpinfo' won't build
-# for their nVidia driver version.
-
-pkgname=vdpinfo-71xx
-pkgver=1
-pkgrel=1
-pkgdesc="tells the user they can't handle vdpau"
-license=('GPLv2')
-arch=('i686' 'x86_64')
-depends=('nvidia-71xx-utils' 'nvidia-71xx')
-# Just let the dependency on the right nvidia and nvidia-utils versions
-# handle conflicts via those packages conflicts.
-# conflicts=()
-provides=('vdpinfo')
-source=(vdpinfo)
-md5sums=()
-
-build() {
- LH_ROOT=/usr/LH
- mkdir -p $startdir/pkg/$LH_ROOT/bin/
-
- cd $startdir
- install -m0755 -D vdpinfo $startdir/pkg/$LH_ROOT/bin/
-} \ No newline at end of file
diff --git a/abs/core/vdpinfo-71xx/vdpinfo b/abs/core/vdpinfo-71xx/vdpinfo
deleted file mode 100755
index 9b237dc..0000000
--- a/abs/core/vdpinfo-71xx/vdpinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-echo "vdpau is unsupported"
diff --git a/abs/core/vdpinfo-96xx/PKGBUILD b/abs/core/vdpinfo-96xx/PKGBUILD
deleted file mode 100644
index 34391dd..0000000
--- a/abs/core/vdpinfo-96xx/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# It is not expected that vdpau will work with the 71xx nVidia drivers, but we still want
-# 'vdpinfo' to return something when users run it, even if the real 'vdpinfo' won't build
-# for their nVidia driver version.
-
-pkgname=vdpinfo-96xx
-pkgver=1
-pkgrel=1
-pkgdesc="tells the user they can't handle vdpau"
-license=('GPLv2')
-arch=('i686' 'x86_64')
-depends=('nvidia-96xx-utils' 'nvidia-96xx')
-# Just let the dependency on the right nvidia and nvidia-utils versions
-# handle conflicts via those packages conflicts.
-# conflicts=()
-provides=('vdpinfo')
-source=(vdpinfo)
-md5sums=()
-
-build() {
- LH_ROOT=/usr/LH
- mkdir -p $startdir/pkg/$LH_ROOT/bin/
-
- cd $startdir
- install -m0755 -D vdpinfo $startdir/pkg/$LH_ROOT/bin/
-} \ No newline at end of file
diff --git a/abs/core/vdpinfo-96xx/vdpinfo b/abs/core/vdpinfo-96xx/vdpinfo
deleted file mode 100755
index 9b237dc..0000000
--- a/abs/core/vdpinfo-96xx/vdpinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-echo "vdpau is unsupported"
diff --git a/abs/core/vdpinfo/PKGBUILD b/abs/core/vdpinfo/PKGBUILD
deleted file mode 100644
index db7be03..0000000
--- a/abs/core/vdpinfo/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Because this requires parts of the nVidia driver, this parallels the PKGBUILD for
-# the nvidia package.
-
-pkgname=vdpinfo
-pkgver=185.18.36
-pkgrel=1
-pkgdesc="polls the GPU for nVidia vdpau capabilities"
-arch=('i686' 'x86_64')
-[ "$CARCH" = "i686" ] && ARCH=x86
-[ "$CARCH" = "x86_64" ] && ARCH=x86_64
-url="http://www.cs.rug.nl/~wladimir/vdpinfo/"
-license=('MIT')
-depends=('nvidia-utils=185.18.36' 'nvidia=185.18.36')
-# Just let the dependency on the right nvidia and nvidia-utils versions
-# handle conflicts via those packages conflicts.
-# conflicts=()
-provides=('vdpinfo')
-source=(http://www.cs.rug.nl/~wladimir/vdpinfo/vdpinfo-0.0.5.tar.gz http://us.download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run)
-md5sums=()
-
-build() {
- LH_ROOT=/usr/LH
- mkdir -p $startdir/pkg/$LH_ROOT/bin/
-
- # Extract nVidia driver to get at the headers we need to build vdpau
- cd $startdir/src/
- sh NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run --extract-only
-
- # build vdpinfo
- cd $startdir/src/vdpinfo
- #g++ -O3 -g -I../NVIDIA-Linux-x86-185.18.14-pkg0/usr/include -c -o vdpinfo.o vdpinfo.cpp
- #g++ -O3 -g -I$startdir/src/usr/include -c -o vdpinfo.o vdpinfo.cpp
- make
- install -m0755 vdpinfo $startdir/pkg/$LH_ROOT/bin/
-}
diff --git a/abs/core/wget/PKGBUILD b/abs/core/wget/PKGBUILD
index 5a9e0cb..1ef6911 100644
--- a/abs/core/wget/PKGBUILD
+++ b/abs/core/wget/PKGBUILD
@@ -1,21 +1,29 @@
-# $Id: PKGBUILD 4756 2008-07-09 20:00:54Z andyrtr $
-# Maintainer: Judd Vinet <jvinet@zeroflux.org>
+# $Id: PKGBUILD 75183 2010-04-01 01:40:17Z pierre $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
pkgname=wget
-pkgver=1.11.4
-pkgrel=10
+pkgver=1.12
+pkgrel=2
pkgdesc="A network utility to retrieve files from the Web"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://www.gnu.org/software/wget/wget.html"
license=('GPL3')
groups=('base')
depends=('glibc' 'openssl')
+optdepends=('ca-certificates: HTTPS downloads')
backup=('etc/wgetrc')
+install=wget.install
source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz)
-md5sums=('69e8a7296c0e12c53bd9ffd786462e87')
+md5sums=('141461b9c04e454dc8933c9d1f2abf83')
build() {
cd ${srcdir}/$pkgname-$pkgver
./configure --prefix=/usr --sysconfdir=/etc
make || return 1
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
make DESTDIR=${pkgdir} install
}
diff --git a/abs/core/wget/wget-1.12-2-i686.pkg.tar.gz b/abs/core/wget/wget-1.12-2-i686.pkg.tar.gz
new file mode 120000
index 0000000..6fc2266
--- /dev/null
+++ b/abs/core/wget/wget-1.12-2-i686.pkg.tar.gz
@@ -0,0 +1 @@
+/data/pkg_repo/packages/wget-1.12-2-i686.pkg.tar.gz \ No newline at end of file
diff --git a/abs/core/wget/wget.install b/abs/core/wget/wget.install
new file mode 100644
index 0000000..1715333
--- /dev/null
+++ b/abs/core/wget/wget.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(wget.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/core/wpa_supplicant/PKGBUILD b/abs/core/wpa_supplicant/PKGBUILD
index 3ecc4a8..0e709fb 100644
--- a/abs/core/wpa_supplicant/PKGBUILD
+++ b/abs/core/wpa_supplicant/PKGBUILD
@@ -1,13 +1,12 @@
-# $Id: PKGBUILD 32196 2009-03-29 14:55:53Z thomas $
+# $Id: PKGBUILD 75193 2010-04-01 02:03:01Z pierre $
# Maintainer: Thomas Baechler <thomas@archlinux.org>
pkgname=wpa_supplicant
-pkgver=0.6.9
-#_madwifi_ver=0.9.4
-pkgrel=1
+pkgver=0.6.10
+pkgrel=2
pkgdesc="A utility providing key negotiation for WPA wireless networks"
arch=('i686' 'x86_64')
-depends=('openssl' 'dbus-core>=1.2.4' 'readline' 'libnl')
+depends=('openssl' 'dbus-core>=1.2.4' 'readline>=6.0' 'libnl')
optdepends=('wpa_supplicant_gui: wpa_gui program')
license=('GPL')
groups=('base')
@@ -15,18 +14,18 @@ backup=('etc/wpa_supplicant.conf')
url="http://hostap.epitest.fi/wpa_supplicant"
source=(http://hostap.epitest.fi/releases/wpa_supplicant-$pkgver.tar.gz
config)
- #http://downloads.sourceforge.net/sourceforge/madwifi/madwifi-${_madwifi_ver}.tar.gz)
-md5sums=('0efb8fcedf0a8acf6f423dfdb0658fdd'
- 'd472554904cca44e1090e25dea7b03c9')
- #'399d20de8d855a59f20058857c2178ad')
+md5sums=('8985b1030d753e5f74f8acfc34e591bb'
+ '6577abc7060ed2d45dba14bf8934e850')
build() {
- cd "${srcdir}"
- #mv madwifi-${_madwifi_ver} madwifi
cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}"
cp ${srcdir}/config ./.config
sed -i 's@/usr/local@$(PREFIX)@g' Makefile
make || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}"
make PREFIX=/usr DESTDIR="${pkgdir}" install || return 1
install -m755 -d "${pkgdir}/etc"
install -m644 wpa_supplicant.conf "${pkgdir}/etc/wpa_supplicant.conf" || return 1
diff --git a/abs/core/wpa_supplicant/config b/abs/core/wpa_supplicant/config
index e3582bf..e5c8cc7 100644
--- a/abs/core/wpa_supplicant/config
+++ b/abs/core/wpa_supplicant/config
@@ -50,6 +50,7 @@
#CFLAGS += -I../../include/wireless
# Driver interface for madwifi driver
+# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
#CONFIG_DRIVER_MADWIFI=y
# Set include directory to the madwifi source tree
#CFLAGS += -I../../madwifi
@@ -60,10 +61,11 @@
#CONFIG_DRIVER_PRISM54=y
# Driver interface for ndiswrapper
-CONFIG_DRIVER_NDISWRAPPER=y
+# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
+#CONFIG_DRIVER_NDISWRAPPER=y
# Driver interface for Atmel driver
-CONFIG_DRIVER_ATMEL=y
+#CONFIG_DRIVER_ATMEL=y
# Driver interface for old Broadcom driver
# Please note that the newer Broadcom driver ("hybrid Linux driver") supports
@@ -74,6 +76,7 @@ CONFIG_DRIVER_ATMEL=y
#CFLAGS += -I/opt/WRT54GS/release/src/include
# Driver interface for Intel ipw2100/2200 driver
+# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
#CONFIG_DRIVER_IPW=y
# Driver interface for Ralink driver
@@ -372,7 +375,7 @@ CONFIG_CTRL_IFACE_DBUS=y
#CONFIG_IEEE80211R=y
# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt)
-#CONFIG_DEBUG_FILE=y
+CONFIG_DEBUG_FILE=y
# Enable privilege separation (see README 'Privilege separation' for details)
#CONFIG_PRIVSEP=y
diff --git a/abs/core/xcb-proto/PKGBUILD b/abs/core/xcb-proto/PKGBUILD
index b80602a..c95c2c5 100644
--- a/abs/core/xcb-proto/PKGBUILD
+++ b/abs/core/xcb-proto/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 27497 2009-02-22 09:20:47Z andyrtr $
+# $Id: PKGBUILD 61568 2009-12-19 19:52:55Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=xcb-proto
-pkgver=1.4
+pkgver=1.6
pkgrel=1
pkgdesc="XML-XCB protocol descriptions"
-arch=(i686 x86_64)
+arch=(any)
url="http://xcb.freedesktop.org/"
license=('custom')
makedepends=('python' 'libxml2')
source=(${url}/dist/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('45a599289a81189b9812ccb00911eed8')
+sha1sums=('e82418557c7f59f29da9ec18e0906d6d78e3a164')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/xcb-util/LICENSE b/abs/core/xcb-util/LICENSE
new file mode 100644
index 0000000..5e3822c
--- /dev/null
+++ b/abs/core/xcb-util/LICENSE
@@ -0,0 +1,267 @@
+/* Copyright (C) 2007 Bart Massey
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/*
+ * Copyright (C) 2008-2009 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright (C) 2008 Arnaud Fontaine <arnau@debian.org>
+ * Copyright (C) 2007-2008 Vincent Torri <vtorri@univ-evry.fr>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+
+/*
+ * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
+ * Copyright © 2008 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Keith Packard <keithp@keithp.com>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Ian Osgood <iano@quirkster.com>
+ * Copyright © 2008 Jamey Sharp <jamey@minilop.net>
+ * Copyright © 2008 Josh Triplett <josh@freedesktop.org>
+ * Copyright © 2008 Ulrich Eckhardt <doomster@knuut.de>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/* Copyright © 2006 Jamey Sharp.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/* Copyright © 2006 Ian Osgood
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/* Copyright © 2000 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
diff --git a/abs/core/xcb-util/PKGBUILD b/abs/core/xcb-util/PKGBUILD
index 734f57d..6d1ccd2 100644
--- a/abs/core/xcb-util/PKGBUILD
+++ b/abs/core/xcb-util/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: $
+# $Id: PKGBUILD 50451 2009-08-27 10:03:32Z andrea $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Andrea Scarpino <bash.lnx@gmail.com>
pkgname=xcb-util
-pkgver=0.3.2
+pkgver=0.3.6
pkgrel=1
pkgdesc="Utility libraries for XC Binding"
arch=('i686' 'x86_64')
-license=('GPL')
url="http://xcb.freedesktop.org"
-depends=('libxcb>=1.1.90.1')
+license=('custom')
+depends=('libxcb>=1.4')
makedepends=('gperf')
options=('!libtool')
-source=(http://xcb.freedesktop.org/dist/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('fa41a147f5a63b01207cfd975fecc45c')
+source=(http://xcb.freedesktop.org/dist/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('dd8968b8ee613cb027a8ef1fcbdc8fc9'
+ '2672c2e72dedb40f773e989dd622f298')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xcursor-themes/LICENSE b/abs/core/xcursor-themes/LICENSE
new file mode 100644
index 0000000..787374a
--- /dev/null
+++ b/abs/core/xcursor-themes/LICENSE
@@ -0,0 +1,24 @@
+Copyright 1996-2002 Software in the Public Interest, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+SOFTWARE IN THE PUBLIC INTEREST, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Software in the Public
+Interest, Inc. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from Software in the Public Interest, Inc.
diff --git a/abs/core/xcursor-themes/PKGBUILD b/abs/core/xcursor-themes/PKGBUILD
index 6bc9ddc..7d3f1a8 100644
--- a/abs/core/xcursor-themes/PKGBUILD
+++ b/abs/core/xcursor-themes/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 55317 2009-10-12 17:17:21Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xcursor-themes
-pkgver=1.0.1
+pkgver=1.0.2
pkgrel=1
pkgdesc="X.org Cursor themes"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('MIT')
makedepends=('pkgconfig' 'xorg-apps')
-source=(${url}/releases/individual/data/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('014bad415e64c49994679cdb71a97e37')
+source=(${url}/releases/individual/data/${pkgname}-${pkgver}.tar.bz2 LICENSE)
+md5sums=('e8929a1bb4d98d1a3991fd340d0b5f09'
+ '31eccf56949504b5ce33110068948cf2')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m644 ../LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
-
diff --git a/abs/core/xextproto/PKGBUILD b/abs/core/xextproto/PKGBUILD
index a22207c..41e5bbb 100644
--- a/abs/core/xextproto/PKGBUILD
+++ b/abs/core/xextproto/PKGBUILD
@@ -1,17 +1,15 @@
-# $Id: PKGBUILD 26846 2009-02-13 15:23:45Z andyrtr $
+# $Id: PKGBUILD 54536 2009-10-11 09:34:38Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xextproto
-pkgver=7.0.5
+pkgver=7.1.1
pkgrel=1
pkgdesc="X11 various extension wire protocol"
-arch=(i686 x86_64)
+arch=('any')
license=('custom')
-depends=('inputproto>=1.5')
url="http://xorg.freedesktop.org/"
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('e6841018a7c64983b0954aa2c564d115')
-sha1sums=('d62e704039e7c647da66c9a6531ebdede37dace8')
+md5sums=('fb6ccaae76db7a35e49b12aea60ca6ff')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/xf86-input-calcomp/PKGBUILD b/abs/core/xf86-input-calcomp/PKGBUILD
deleted file mode 100644
index 2792455..0000000
--- a/abs/core/xf86-input-calcomp/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11000 2008-08-31 13:46:51Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-calcomp
-pkgver=1.1.2
-pkgrel=1
-pkgdesc="X.Org CalComp Drawing Board input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('ebc9a64dc72ae3015c16011bbd2d3557')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-citron/PKGBUILD b/abs/core/xf86-input-citron/PKGBUILD
deleted file mode 100644
index 1cd8713..0000000
--- a/abs/core/xf86-input-citron/PKGBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-citron
-pkgver=2.2.1
-pkgrel=1
-pkgdesc="X.Org Citron Infrared Touch input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --build=${CHOST} --host=${CHOST}
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
-md5sums=('4e254fcefb3bea55772e63c12570f6d9')
diff --git a/abs/core/xf86-input-digitaledge/PKGBUILD b/abs/core/xf86-input-digitaledge/PKGBUILD
deleted file mode 100644
index fcdfd1a..0000000
--- a/abs/core/xf86-input-digitaledge/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11039 2008-08-31 13:50:33Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-digitaledge
-pkgver=1.1.1
-pkgrel=1
-pkgdesc="X.Org Digital Edge Tablet input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('4c27e0f3c6447e76df39a837fd46a00f')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-dmc/PKGBUILD b/abs/core/xf86-input-dmc/PKGBUILD
deleted file mode 100644
index afc4e86..0000000
--- a/abs/core/xf86-input-dmc/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11060 2008-08-31 13:52:40Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-dmc
-pkgver=1.1.2
-pkgrel=1
-pkgdesc="X.Org DMC FIT10 serial input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('91021ea8f3593221c0d9ee9cc14deb48')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-dynapro/PKGBUILD b/abs/core/xf86-input-dynapro/PKGBUILD
deleted file mode 100644
index 4043a9f..0000000
--- a/abs/core/xf86-input-dynapro/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11063 2008-08-31 13:54:38Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-dynapro
-pkgver=1.1.2
-pkgrel=1
-pkgdesc="X.org DynaPro Touch Screen input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('ceb5efbd3d62e24ab3a5f9f180777f7c')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-elo2300/PKGBUILD b/abs/core/xf86-input-elo2300/PKGBUILD
deleted file mode 100644
index da91799..0000000
--- a/abs/core/xf86-input-elo2300/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 3251 2008-06-21 18:19:51Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-elo2300
-pkgver=1.1.2
-pkgrel=1
-pkgdesc="X.org ELOGraphics 2300 TouchScreen input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('611d0a77a80286bc926dd3c414e59555')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-evdev/PKGBUILD b/abs/core/xf86-input-evdev/PKGBUILD
index 1ff72c5..3b43991 100644
--- a/abs/core/xf86-input-evdev/PKGBUILD
+++ b/abs/core/xf86-input-evdev/PKGBUILD
@@ -1,19 +1,20 @@
-# $Id: PKGBUILD 26856 2009-02-13 15:54:01Z andyrtr $
-# Maintainer: Alexander Baldeck <Alexander@archlinux.org
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 76112 2010-04-07 19:40:40Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <Alexander@archlinux.org
pkgname=xf86-input-evdev
-pkgver=2.1.2
+pkgver=2.4.0
pkgrel=1
pkgdesc="X.org evdev input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'inputproto>=1.5.0' 'randrproto>=1.2.1')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'inputproto>=2.0' 'randrproto>=1.3.1')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-input-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('c27944124b31fa08ac13f244eb42c3fa')
+sha1sums=('875dd3c35f8d0f409337b932d82a46da0e9570e7')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/xf86-input-jamstudio/PKGBUILD b/abs/core/xf86-input-jamstudio/PKGBUILD
deleted file mode 100644
index 35036e2..0000000
--- a/abs/core/xf86-input-jamstudio/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11114 2008-08-31 14:00:38Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-jamstudio
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.Org KB-Gear JamStudio pentablet input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('8011f90d7dd801d26e8c3dd058633978')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-magellan/PKGBUILD b/abs/core/xf86-input-magellan/PKGBUILD
deleted file mode 100644
index 9ed417a..0000000
--- a/abs/core/xf86-input-magellan/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11137 2008-08-31 14:03:11Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-magellan
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.Org Magellan Space mouse input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('9801ba10f15f8be2420dfb3f3b5d5d27')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-magictouch/PKGBUILD b/abs/core/xf86-input-magictouch/PKGBUILD
deleted file mode 100644
index 70c417e..0000000
--- a/abs/core/xf86-input-magictouch/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 20562 2008-12-05 20:36:01Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-magictouch
-pkgver=1.0.0.5
-pkgrel=5
-pkgdesc="X.org magictouch input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.1.1')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('d23f2791cd634ef85b7cc5e9da8f8407')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/abs/core/xf86-input-microtouch/PKGBUILD b/abs/core/xf86-input-microtouch/PKGBUILD
deleted file mode 100644
index 5984af1..0000000
--- a/abs/core/xf86-input-microtouch/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11144 2008-08-31 14:03:49Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-microtouch
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.org microtouch input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('1ad1aee7d8df84b9ea832d1e75963257')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-palmax/PKGBUILD b/abs/core/xf86-input-palmax/PKGBUILD
deleted file mode 100644
index 45c4da1..0000000
--- a/abs/core/xf86-input-palmax/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11159 2008-08-31 14:05:43Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-palmax
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.org palmax input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('9655d2235569c5a6ac321c6fb89a6f3b')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-spaceorb/PKGBUILD b/abs/core/xf86-input-spaceorb/PKGBUILD
deleted file mode 100644
index 7291085..0000000
--- a/abs/core/xf86-input-spaceorb/PKGBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-spaceorb
-pkgver=1.1.1
-pkgrel=1
-pkgdesc="X.org spaceorb input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --build=${CHOST} --host=${CHOST}
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
-md5sums=('c7fb96281874733480ba86a5a0a3b5af')
diff --git a/abs/core/xf86-input-summa/PKGBUILD b/abs/core/xf86-input-summa/PKGBUILD
deleted file mode 100644
index abbae8a..0000000
--- a/abs/core/xf86-input-summa/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11181 2008-08-31 14:11:07Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-summa
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.org summa input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('7e17468c0d90dcbbb6202a8242efff4b')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-tek4957/PKGBUILD b/abs/core/xf86-input-tek4957/PKGBUILD
deleted file mode 100644
index afa4498..0000000
--- a/abs/core/xf86-input-tek4957/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11210 2008-08-31 14:13:46Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-tek4957
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.org tek4957 input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('8103db1ca5c55726e0b58148e4b1fc06')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core/xf86-input-ur98/PKGBUILD b/abs/core/xf86-input-ur98/PKGBUILD
deleted file mode 100644
index 6c1ec76..0000000
--- a/abs/core/xf86-input-ur98/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 20489 2008-12-05 10:09:15Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-ur98
-pkgver=1.1.0
-pkgrel=4
-pkgdesc="X.org ur98 input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.1.1')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('3cf8928411458baaa9e726e51772c550')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/abs/core/xf86-video-apm/LICENSE b/abs/core/xf86-video-apm/LICENSE
new file mode 100644
index 0000000..d8b6af7
--- /dev/null
+++ b/abs/core/xf86-video-apm/LICENSE
@@ -0,0 +1,92 @@
+# Copyright 2005 Adam Jackson.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# on the rights to use, copy, modify, merge, publish, distribute, sub
+# license, and/or sell copies of the Software, and to permit persons to whom
+# the Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation.
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the copyright holders shall
+# not be used in advertising or otherwise to promote the sale, use or
+# other dealings in this Software without prior written authorization
+# from the copyright holders.
+#
+
+/*
+ * Copyright 2007 George Sapountzis
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other deal-
+ings in this Software without prior written authorization from the XFree86
+Project.
diff --git a/abs/core/xf86-video-apm/PKGBUILD b/abs/core/xf86-video-apm/PKGBUILD
index 4ed1cff..42b11a4 100644
--- a/abs/core/xf86-video-apm/PKGBUILD
+++ b/abs/core/xf86-video-apm/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 22289 2008-12-25 17:19:55Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75949 2010-04-04 20:19:39Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-apm
-pkgver=1.2.1
-pkgrel=1
+pkgver=1.2.2
+pkgrel=3
pkgdesc="X.org Alliance ProMotion video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('673c93df004bb857dc89ae9c78ccf907')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('48441a19aaf015570b267f2a8e67d8ab'
+ '2b3c2bcfb649de50646172064bc02b14')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-ark/LICENSE b/abs/core/xf86-video-ark/LICENSE
new file mode 100644
index 0000000..aa45556
--- /dev/null
+++ b/abs/core/xf86-video-ark/LICENSE
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2000 Ani Joshi <ajoshi@unixbox.com>
+ *
+ * XFree86 4.x driver for ARK Logic chipset
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation and
+ * that the name of Ani Joshi not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. Ani Joshi makes no representations
+ * about the suitability of this software for any purpose. It is provided
+ * "as-is" without express or implied warranty.
+ *
+ * ANI JOSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL ANI JOSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ *
+ *
+ * Based on the 3.3.x driver by:
+ * Harm Hanemaayer <H.Hanemaayer@inter.nl.net>
+ *
+ */
+
+# Copyright 2005 Adam Jackson.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# on the rights to use, copy, modify, merge, publish, distribute, sub
+# license, and/or sell copies of the Software, and to permit persons to whom
+# the Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/abs/core/xf86-video-ark/PKGBUILD b/abs/core/xf86-video-ark/PKGBUILD
index 288686c..c9d5ba4 100644
--- a/abs/core/xf86-video-ark/PKGBUILD
+++ b/abs/core/xf86-video-ark/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 22271 2008-12-25 16:54:52Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75952 2010-04-04 20:22:19Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-ark
-pkgver=0.7.1
-pkgrel=1
+pkgver=0.7.2
+pkgrel=2
pkgdesc="X.org ark video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('be91391f061863617018403cdbd2944f')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 LICENSE)
+md5sums=('4745f5c722b030962cc56eb2443894a0'
+ 'cd9575e3812a060f316b98ca7e91bc7a')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core/xf86-video-ati/PKGBUILD b/abs/core/xf86-video-ati/PKGBUILD
index 1a7f5fe..d4d2114 100644
--- a/abs/core/xf86-video-ati/PKGBUILD
+++ b/abs/core/xf86-video-ati/PKGBUILD
@@ -1,25 +1,28 @@
-# $Id: PKGBUILD 24044 2009-01-12 11:44:28Z giovanni $
+# $Id: PKGBUILD 85331 2010-07-12 17:11:18Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
pkgname=xf86-video-ati
-pkgver=6.10.0
+pkgver=6.13.1
pkgrel=1
pkgdesc="X.org ati video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'libpciaccess' 'ati-dri>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'fontsproto'
- 'glproto>=1.4.9' 'xf86driproto' 'diffutils' 'xorg-util-macros')
-conflicts=('xorg-server<1.5.3')
+license=('custom')
+depends=('libdrm>=2.4.20' 'libpciaccess' 'ati-dri>=7.8.1' 'pixman>=0.18.0')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'fontsproto' 'glproto>=1.4.11' 'xf86driproto' 'diffutils' 'xorg-util-macros' 'xineramaproto' 'mesa>=7.8.1')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
-options=('!libtool')
+options=('!libtool' 'force')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('6445815b12ffa4ccd1aafd43640f466d')
+sha1sums=('74a8e647e3149af0b1eb1baf58ef1b69b44f0228')
+
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr \
- --enable-dri || return 1
- make || return 1
- make "DESTDIR=${pkgdir}" install || return 1
+ ./configure --prefix=/usr --enable-dri
+ make
+ make "DESTDIR=${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xf86-video-chips/LICENSE b/abs/core/xf86-video-chips/LICENSE
new file mode 100644
index 0000000..312a710
--- /dev/null
+++ b/abs/core/xf86-video-chips/LICENSE
@@ -0,0 +1,89 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright 1993 by Jon Block <block@frc.com>
+Modified by Mike Hollick <hollick@graphics.cis.upenn.edu>
+Modified 1994 by Régis Cridlig <cridlig@dmi.ens.fr>
+
+Major Contributors to XFree86 3.2
+Modified 1995/6 by Nozomi Ytow
+Modified 1996 by Egbert Eich <eich@xfree86.org>
+Modified 1996 by David Bateman <dbateman@club-internet.fr>
+Modified 1996 by Xavier Ducoin <xavier@rd.lectra.fr>
+
+Contributors to XFree86 3.2
+Modified 1995/6 by Ken Raeburn <raeburn@raeburn.org>
+Modified 1996 by Shigehiro Nomura <nomura@sm.sony.co.jp>
+Modified 1996 by Marc de Courville <marc@courville.org>
+Modified 1996 by Adam Sulmicki <adam@cfar.umd.edu>
+Modified 1996 by Jens Maurer <jmaurer@cck.uni-kl.de>
+
+Large parts rewritten for XFree86 4.0
+Modified 1998 by David Bateman <dbateman@club-internet.fr>
+Modified 1998 by Egbert Eich <eich@xfree86.org>
+Modified 1998 by Nozomi Ytow
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of the authors not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. The authors makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1997
+Digital Equipment Corporation. All rights reserved.
+This software is furnished under license and may be used and copied only in
+accordance with the following terms and conditions. Subject to these
+conditions, you may download, copy, install, use, modify and distribute
+this software in source and/or binary form. No title or ownership is
+transferred hereby.
+1) Any source code used, modified or distributed must reproduce and retain
+this copyright notice and list of conditions as they appear in the
+source file.
+
+2) No right is granted to use any trade name, trademark, or logo of Digital
+Equipment Corporation. Neither the "Digital Equipment Corporation" name
+nor any trademark or logo of Digital Equipment Corporation may be used
+to endorse or promote products derived from this software without the
+prior written permission of Digital Equipment Corporation.
+
+3) This software is provided "AS-IS" and any express or implied warranties,
+including but not limited to, any implied warranties of merchantability,
+fitness for a particular purpose, or non-infringement are disclaimed. In
+no event shall DIGITAL be liable for any damages whatsoever, and in
+particular, DIGITAL shall not be liable for special, indirect,
+consequential, or incidental damages or damages for lost profits, loss
+of revenue or loss of use, whether such damages arise in contract,
+negligence, tort, under statute, in equity, at law or otherwise, even if
+advised of the possibility of such damage.
+
+Copyright 1994 The XFree86 Project
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+DAVID WEXELBLAT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/abs/core/xf86-video-chips/PKGBUILD b/abs/core/xf86-video-chips/PKGBUILD
index f63366d..242dcf3 100644
--- a/abs/core/xf86-video-chips/PKGBUILD
+++ b/abs/core/xf86-video-chips/PKGBUILD
@@ -1,23 +1,29 @@
-# $Id: PKGBUILD 22287 2008-12-25 17:17:00Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75943 2010-04-04 20:08:36Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-chips
-pkgver=1.2.1
-pkgrel=1
+pkgver=1.2.2
+pkgrel=3
pkgdesc="X.org Chips and Technologies video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=(glibc)
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('2f2643fca6335f18024bffa6c4e0c12f')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 LICENSE)
+sha1sums=('3990bc1cf4e8963164b3a38b15f92bc87da9278c'
+ '89ef876d4e3913775190f39902da6421d808eed2')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
+ ./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+
}
diff --git a/abs/core/xf86-video-cirrus/LICENSE b/abs/core/xf86-video-cirrus/LICENSE
new file mode 100644
index 0000000..bb283cf
--- /dev/null
+++ b/abs/core/xf86-video-cirrus/LICENSE
@@ -0,0 +1,22 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright 2000 by Egbert Eich
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Alan Hourihane not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Alan Hourihane makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+EGBERT EICH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/abs/core/xf86-video-cirrus/PKGBUILD b/abs/core/xf86-video-cirrus/PKGBUILD
index 4527182..df16e93 100644
--- a/abs/core/xf86-video-cirrus/PKGBUILD
+++ b/abs/core/xf86-video-cirrus/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 11420 2008-08-31 15:22:15Z jgc $
+# $Id: PKGBUILD 75940 2010-04-04 20:06:47Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-cirrus
-pkgver=1.2.1
-pkgrel=2
+pkgver=1.3.2
+pkgrel=3
pkgdesc="X.org Cirrus Logic video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('bc28fdedaee9059180e2534f9dbcd2f6')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('8195d03ed0be0975c03441e66a9f53b3'
+ 'b9b570ac5c03f1fbe3e0cee5fe884b82')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-dummy/PKGBUILD b/abs/core/xf86-video-dummy/PKGBUILD
index b060c9c..66a6369 100644
--- a/abs/core/xf86-video-dummy/PKGBUILD
+++ b/abs/core/xf86-video-dummy/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 11419 2008-08-31 15:22:13Z jgc $
+# $Id: PKGBUILD 85378 2010-07-12 17:43:44Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-dummy
-pkgver=0.3.0
+pkgver=0.3.4
pkgrel=1
pkgdesc="X.org dummy video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('3d96297556846bee02a74166ffb5d052')
+sha1sums=('876ed7165ea2821bbddd73232a1ce0b79c1f14ff')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xf86-video-fbdev/PKGBUILD b/abs/core/xf86-video-fbdev/PKGBUILD
index 05bcbca..8fd3a88 100644
--- a/abs/core/xf86-video-fbdev/PKGBUILD
+++ b/abs/core/xf86-video-fbdev/PKGBUILD
@@ -1,26 +1,26 @@
-# $Id: PKGBUILD 11425 2008-08-31 15:24:08Z jgc $
+# $Id: PKGBUILD 75934 2010-04-04 20:02:12Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-fbdev
-pkgver=0.4.0
+pkgver=0.4.2
pkgrel=1
pkgdesc="X.org framebuffer video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('6572b39fec77b8e6de1c858a93992924')
+sha1sums=('c8562f997d56c9fec50df6ca9892f39f43ff4c2c')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/xf86-video-geode/PKGBUILD b/abs/core/xf86-video-geode/PKGBUILD
new file mode 100644
index 0000000..efcca1c
--- /dev/null
+++ b/abs/core/xf86-video-geode/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 55526 2009-10-13 18:33:58Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-geode
+pkgver=2.11.6
+pkgrel=1
+pkgdesc="X.org AMD/Geode LX & NX video driver"
+# there is no 64bit geode yet! (does not build either, i386 ASM)
+arch=(i686)
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('glibc')
+makedepends=('pkgconfig' 'xorg-server>=1.7.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.7.0')
+options=('!libtool')
+conflicts=('xf86-video-amd')
+replaces=('xf86-video-amd')
+groups=('xorg-video-drivers')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('3ff0dfb4b3bd8872c6efb70371cb6b98')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --enable-visibility || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+}
diff --git a/abs/core/xf86-video-glint/LICENSE b/abs/core/xf86-video-glint/LICENSE
new file mode 100644
index 0000000..b4ca2d4
--- /dev/null
+++ b/abs/core/xf86-video-glint/LICENSE
@@ -0,0 +1,84 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright 1998-2001 by Alan Hourihane, Wigan, England.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Alan Hourihane not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Alan Hourihane makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+ALAN HOURIHANE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Copyright (C) 1998-2000 Michael H. Schimek <m.schimek@netway.at>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
+Copyright 2000-2001 by Sven Luther <luther@dpt-info.u-strasbg.fr>.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Sven Luther not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Sven Luther makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+SVEN LUTHER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL SVEN LUTHER BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/abs/core/xf86-video-glint/PKGBUILD b/abs/core/xf86-video-glint/PKGBUILD
index f52d528..46e6f4d 100644
--- a/abs/core/xf86-video-glint/PKGBUILD
+++ b/abs/core/xf86-video-glint/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 22285 2008-12-25 17:13:14Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75931 2010-04-04 20:00:07Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-glint
-pkgver=1.2.2
-pkgrel=1
+pkgver=1.2.4
+pkgrel=3
pkgdesc="X.org GLINT/Permedia video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('4295a46a75fa98470c6dfb0e1a4f7e9f')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('960df34e129faa411e58c0d6b56d79a3'
+ '996937b1e1d13f721b0e467fb8824780')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
+ ./configure --prefix=/usr --disable-dri || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-i128/LICENSE b/abs/core/xf86-video-i128/LICENSE
new file mode 100644
index 0000000..485a648
--- /dev/null
+++ b/abs/core/xf86-video-i128/LICENSE
@@ -0,0 +1,23 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright 1995-2000 by Robin Cutshaw <robin@XFree86.Org>
+Copyright 1998 by Number Nine Visual Technology, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Robin Cutshaw not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Robin Cutshaw and Number Nine make no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+
+ROBIN CUTSHAW AND NUMBER NINE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL ROBIN CUTSHAW OR NUMBER NINE BE LIABLE FOR
+ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/abs/core/xf86-video-i128/PKGBUILD b/abs/core/xf86-video-i128/PKGBUILD
index 2c98984..a0d40f8 100644
--- a/abs/core/xf86-video-i128/PKGBUILD
+++ b/abs/core/xf86-video-i128/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 11431 2008-08-31 15:26:32Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75928 2010-04-04 19:57:09Z jgc $
+# Maintainer:Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-i128
-pkgver=1.3.0
-pkgrel=1
+pkgver=1.3.3
+pkgrel=3
pkgdesc="X.org Number 9 I128 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('aff4922d2f02bad7e0d8649358edbcee')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('a597e8efeec6ab8bc6ba6d87fceb2dba'
+ '5254db2a1bea032ff22e86446d8e573a')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-i740/LICENSE b/abs/core/xf86-video-i740/LICENSE
new file mode 100644
index 0000000..1aace06
--- /dev/null
+++ b/abs/core/xf86-video-i740/LICENSE
@@ -0,0 +1,47 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Copyright 2001 by Patrick LERDA
+Portions Copyright by Stephen Blackheath
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Patrick LERDA not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Patrick LERDA makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+PATRICK LERDA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL PATRICK LERDA BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/abs/core/xf86-video-i740/PKGBUILD b/abs/core/xf86-video-i740/PKGBUILD
index 3e0fd57..b3af79f 100644
--- a/abs/core/xf86-video-i740/PKGBUILD
+++ b/abs/core/xf86-video-i740/PKGBUILD
@@ -1,22 +1,27 @@
-# $Id: PKGBUILD 11440 2008-08-31 15:37:53Z jgc $
+# $Id: PKGBUILD 75925 2010-04-04 19:55:01Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-i740
-pkgver=1.2.0
-pkgrel=1
+pkgver=1.3.2
+pkgrel=3
pkgdesc="X.org Intel i740 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('d0e5a805c546b29b1dd3b55a68d16dc4')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('4ac1318788f62159965f15131c869e7a'
+ '23a6d421e7529393969df8b65e88d607')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-intel/LICENSE b/abs/core/xf86-video-intel/LICENSE
new file mode 100644
index 0000000..a4c83af
--- /dev/null
+++ b/abs/core/xf86-video-intel/LICENSE
@@ -0,0 +1,440 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+This copyright file is based on xf86-video-intel 2.3.1.
+
+The files under src/modes/ and src/parser/ are stolen from the xorg-server
+source.
+
+The authors of this core are, see below for copyright declarations.
+
+* Alan Hourihane <alanh@fairlite.demon.co.uk> / <alanh@tungstengraphics.com>
+* Bob Paauwe <bob.j.paauwe@intel.com>
+* Dave Airlie <airlied@linux.ie>
+* Dave Mueller <dave.mueller@gmx.ch>
+* David Dawes <dawes@xfree86.org>
+* Eric Anholt <eric@anholt.net>
+* Jens Owen <jens@tungstengraphics.com>
+* Jesse Barnes <jbarnes@virtuousgeek.org>
+* Jonathan Bian <jonathan.bian@intel.com>
+* Keith Packard <keithp@keithp.com>
+* Keith Whitwell <keith@tungstengraphics.com>
+* Kevin E. Martin <kevin@precisioninsight.com> / <martin@valinux.com>
+* Kristian Høgsberg <krh@redhat.com>
+* Luc Verhaegen
+* Matt Sottek <matthew.j.sottek@intel.com>
+* Rickard E. (Rik) Faith <faith@valinux.com>
+* Thomas Hellstrom
+* Wang Zhenyu <zhenyu.z.wang@intel.com>
+* Xiang Haihao <haihao.xiang@intel.com>
+
+====
+
+Most of the code is covered by the MIT/X11 license:
+
+-
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+-
+
+The copyright holders are:
+
+* Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas:
+src/i810_accel.c
+src/i810_wmark.c
+src/i810_reg.h
+src/i810_driver.c
+src/i810_memory.c
+src/i810_io.c
+src/i810_cursor.c
+src/i830_accel.c
+src/i830_xaa.c
+src/i830_exa.c
+
+* Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+* Copyright 2000 VA Linux Systems, Inc.
+src/xvmc/xf86dri.h
+src/xvmc/xf86dri.c
+
+* Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+* Copyright 2002 David Dawes
+src/i830_memory.c
+src/i830.h
+src/i830_ring.h
+src/i830_cursor.c
+src/i810_ring.h
+src/i810.h
+src/common.h
+src/xvmc/xf86dristr.h
+
+* Copyright 2000 Intel Corporation. All Rights Reserved:
+src/i810_hwmc.c
+src/i830_video.h
+src/i810_video.c
+src/i830_video.c
+
+* Copyright 2001 Intel Corporation. All Rights Reserved.
+src/xvmc/I810XvMC.h
+src/xvmc/I810XvMC.c
+
+* Copyright 2001 VA Linux Systems Inc., Fremont, California.
+* Copyright 2002 by David Dawes
+src/i830_dri.c
+src/i830_driver.c
+
+* Copyright 2001 VA Linux Systems Inc., Fremont, California.
+* Copyright 2002 Tungsten Graphics Inc., Cedar Park, Texas.
+src/i830_common.h
+
+* Copyright 2002 David Dawes
+* Copyright 2006 Intel Corporation
+src/i830_modes.c
+
+* Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
+src/i810_common.h
+
+* Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
+src/i830_reg.h
+src/i830_3d.c
+src/i915_3d.c
+src/i915_reg.h
+src/xvmc/intel_batchbuffer.c
+
+* Copyright 2005 Tungsten Graphics, Inc., Cedar Park, Texas.
+src/brw_structs.h
+src/brw_defines.h
+
+* Copyright 2005 Red Hat, Inc.
+src/i830_io.c
+
+* Copyright 2005 Adam Jackson:
+src/Makefile.am
+
+* Copyright (c) 2005 Jesse Barnes
+src/i830_exa.c
+
+* Copyright 2005 Thomas Hellstrom. All rights reserved.
+src/xvmc/driDrawable.c
+src/xvmc/driDrawable.h
+
+* Copyright 2005-2006 Luc Verhaegen.
+src/modes/xf86cvt.c
+
+* Copyright 2006 Luc Verhaegen.
+src/modes/xf86EdidModes.c
+
+* Copyright 2006 Dave Airlie <airlied@linux.ie>
+src/i830_i2c.c
+src/i830_sdvo.c
+src/i830_dvo.c
+src/sil164/sil164.c
+src/sil164/sil164.h
+src/sil164/sil164_reg.h
+src/ch7xxx/ch7xxx_reg.h
+src/ch7xxx/ch7xxx.c
+src/ch7xxx/ch7xxx.h
+
+* Copyright 2006 Intel Corporation:
+src/xvmc/i915_xvmc.c
+src/xvmc/i915_xvmc.h
+src/xvmc/i915_structs.h
+src/i915_hwmc.h
+src/i915_hwmc.c
+src/i915_video.c
+src/i915_render.c
+src/i915_3d.h
+src/exa_wm.g4i
+src/exa_wm_src_sample_argb.g4a
+src/exa_wm_mask_affine.g4a
+src/exa_wm_projective.g4i
+src/exa_sf.g4a
+src/exa_wm_affine.g4i
+src/exa_wm_mask_sample_a.g4a
+src/exa_sf_mask.g4a
+src/exa_wm_write.g4a
+src/exa_wm_mask_sample_argb.g4a
+src/exa_wm_ca.g4a
+src/exa_wm_src_affine.g4a
+src/exa_wm_xy.g4a
+src/exa_wm_noca.g4a
+src/exa_wm_ca_srcalpha.g4a
+src/exa_wm_mask_projective.g4a
+src/exa_wm_src_sample_a.g4a
+src/exa_wm_src_projective.g4a
+src/i830_lvds.c
+src/i830_sdvo.h
+src/i830_bios.c
+src/i830_bios.h
+src/i830_debug.c
+src/i830_crt.c
+src/i830_display.c
+src/i830_sdvo_regs.h
+src/i830_render.c
+src/i830_tv.c
+src/i830_display.h
+src/i830_debug.h
+src/packed_yuv_sf.g4a
+src/packed_yuv_wm.g4a
+src/i965_video.c
+src/i965_render.c
+src/ch7017/ch7017.c
+src/ch7017/ch7017_reg.h
+src/sil164/Makefile.am
+src/modes/xf86Modes.h
+src/ivch/ivch.c
+src/ivch/ivch_reg.h
+src/ivch/ivch_module.c
+
+* Copyright 2007 Intel Corporation:
+src/bios_reader/bios_dumper.c
+src/bios_reader/bios_reader.c
+src/i830_hwmc.h
+src/i830_hwmc.c
+src/i830_quirks.c
+src/xvmc/intel_xvmc.c
+src/xvmc/intel_xvmc.h
+src/reg_dumper/idle.c
+src/reg_dumper/stepping.c
+src/reg_dumper/main.c
+src/reg_dumper/reg_dumper.h
+
+* Copyright 2007 Dave Mueller
+src/tfp410/tfp410.c
+src/tfp410/tfp410.h
+src/tfp410/tfp410_reg.h
+
+====
+
+src/i810_dga.c is Copyright 2000 by Alan Hourihane, Sychdyn, North Wales, UK
+and covered by the following license:
+
+-
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Alan Hourihane not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Alan Hourihane makes no representations
+ * about the suitability of this software for any purpose. It is provided
+ * "as is" without express or implied warranty.
+ *
+ * ALAN HOURIHANE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+-
+
+====
+A few files a covered by the following license:
+
+-
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. The copyright holders make no representations
+ * about the suitability of this software for any purpose. It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+-
+
+The copyright holders are:
+
+* Copyright 2002 Keith Packard, member of The XFree86 Project, Inc.
+src/modes/xf86RandR12.c
+
+* Copyright 2006 Keith Packard
+src/modes/xf86Crtc.c
+src/modes/xf86RandR12.h
+src/modes/xf86Rename.h
+src/local_xf86Rename.h
+src/modes/xf86DiDGA.c
+src/modes/xf86Rotate.c
+src/modes/xf86Crtc.h
+
+* Copyright 2006 Eric Anholt
+src/i2c_vid.h
+
+* Copyright 2007 Keith Packard
+src/modes/xf86Cursors.c
+
+====
+
+src/parser/xf86Parser.h and src/parser/xf86Optrec.h are covered by a license
+similar to the MIT/X11 license, but with an additional advertising clause:
+
+* Copyright (c) 1997 Metro Link Incorporated
+* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
+* Copyright (c) 1997-2001 by The XFree86 Project, Inc.
+
+-
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the Metro Link shall not be
+ * used in advertising or otherwise to promote the sale, use or other dealings
+ * in this Software without prior written authorization from Metro Link.
+-
+
+====
+
+src/modes/xf86Modes.c is covered by a license similar to the MIT/X11 license,
+but with an additional advertising clause:
+
+-
+ * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the copyright holder(s)
+ * and author(s) shall not be used in advertising or otherwise to promote
+ * the sale, use or other dealings in this Software without prior written
+ * authorization from the copyright holder(s) and author(s).
+ */
+-
+
+====
+
+src/reg_dumper/xprintf.c is covered by a license similar to the MIT/X11 license,
+but with an additional advertising clause:
+
+-
+ * Copyright (c) 2004 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+-
+
+====
+
+All files generated by the buildsystem toolchain (e.g. autogen.sh) remain
+under the copyright of their authors from the respective tools.
+
+====
+
+
+A couple of files are without explicit copyright:
+
+Some tiny Makefile.am:
+src/reg_dumper/Makefile.am
+src/xvmc/Makefile.am
+src/ch7017/Makefile.am
+src/tfp410/Makefile.am
+src/ivch/Makefile.am
+src/ch7xxx/Makefile.am
+
+
+src/exa_wm_write.g4b
+src/exa_sf.g4b
+src/exa_wm_xy.g4b
+src/packed_yuv_sf.g4b
+src/exa_wm_src_sample_argb.g4b
+src/exa_sf_mask.g4b
+src/exa_wm_src_sample_a.g4b
+src/exa_wm_src_affine.g4b
+src/packed_yuv_wm.g4b
+src/exa_wm_mask_sample_argb.g4b
+src/exa_wm_ca.g4b
+src/exa_wm_mask_affine.g4b
+src/exa_wm_ca_srcalpha.g4b
+src/exa_wm_nomask.g4a
+src/exa_wm_mask_projective.g4b
+src/exa_wm_noca.g4b
+src/exa_wm_mask_sample_a.g4b
+src/exa_wm_src_projective.g4b
+
+
+src/tfp410/tfp410_module.c
+src/ch7xxx/ch7xxx_module.c
+src/ch7017/ch7017_module.c
+src/xvmc/i915_program.h
+src/xvmc/intel_batchbuffer.h
+src/scripts/clock-graph.5c
+src/scripts/clock.5c
+src/scripts/fix.5c
+src/scripts/tv.5c
+src/sil164/sil164_module.c
+src/i810_dri.h
+src/i810_dri.c
+src/i830_dri.h
diff --git a/abs/core/xf86-video-intel/PKGBUILD b/abs/core/xf86-video-intel/PKGBUILD
index 3530b90..f417cdd 100644
--- a/abs/core/xf86-video-intel/PKGBUILD
+++ b/abs/core/xf86-video-intel/PKGBUILD
@@ -1,43 +1,31 @@
-# $Id: PKGBUILD 19083 2008-11-14 21:09:00Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# $Id: PKGBUILD 85324 2010-07-12 17:03:09Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-intel
-pkgver=2.4.3
+pkgver=2.12.0
pkgrel=1
pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('intel-dri>=7.2' 'libpciaccess>=0.10.5' 'libdrm>=2.3.1')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'xf86driproto>=2.0.4' 'glproto>=1.4.9' 'mesa>=7.2' 'libdrm=2.3.1')
-conflicts=('xorg-server<1.5.3' 'xf86-video-i810')
-replaces=('xf86-video-i810')
-options=('!libtool' 'force')
+license=('custom')
+depends=('intel-dri>=7.8' 'libpciaccess>=0.10.9' 'libdrm>=2.4.20' 'libxvmc>=1.0.5' 'libxcb>=1.5' 'xcb-util>=0.3.6')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86driproto>=2.1.0' 'glproto>=1.4.11' 'mesa>=7.8' 'xineramaproto>=1.2' 'inputproto')
+conflicts=('xorg-server<1.8.0' 'xf86-video-i810' 'xf86-video-intel-legacy')
+options=('!libtool')
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- 20_thinkpad_g40_quirk.patch
- 21_quirk_lenovo.patch
- 23_quirks_studiohybrid_eeepc_and_w251u.patch
- 25_quirk_nc6110.patch
- 26_i830-use-lfp-data-ptrs.patch
- 27_disable_fbc_on_965.patch)
-md5sums=('a664819288b98a37f77ab6ae1e14c9d9'
- '68a362a168ffa4f37d9f722f43855468'
- '2d617364ac2e47ca366901d0b849b1a1'
- '3d0f8e593e8eac3000154feb6b0f45b8'
- '3deb800906e6845e8576d4e9d0f22b12'
- 'cb7ee7a68858c038020e0cd991143d8e'
- 'd215e428585c6e55aefd9f525ebfbe7b')
+ intel-2.11-no-pageflipping.patch
+ LICENSE)
+md5sums=('8314def847dcdc4f2970e2d193054f96'
+ 'dfc9f59fe048b412726c87fe3d45f4f5'
+ 'b924480931774dec14515e270db4924d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/20_thinkpad_g40_quirk.patch" || return 1
- patch -Np1 -i "${srcdir}/21_quirk_lenovo.patch" || return 1
- patch -Np1 -i "${srcdir}/23_quirks_studiohybrid_eeepc_and_w251u.patch" || return 1
- patch -Np1 -i "${srcdir}/25_quirk_nc6110.patch" || return 1
- patch -Np1 -i "${srcdir}/26_i830-use-lfp-data-ptrs.patch" || return 1
- patch -Np1 -i "${srcdir}/27_disable_fbc_on_965.patch" || return 1
- ./configure --prefix=/usr \
- --enable-dri || return 1
+ patch -Np1 -i "${srcdir}/intel-2.11-no-pageflipping.patch" || return 1
+ ./configure --prefix=/usr --enable-dri || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/xf86-video-intel/intel-2.11-no-pageflipping.patch b/abs/core/xf86-video-intel/intel-2.11-no-pageflipping.patch
new file mode 100644
index 0000000..39500e2
--- /dev/null
+++ b/abs/core/xf86-video-intel/intel-2.11-no-pageflipping.patch
@@ -0,0 +1,33 @@
+diff -up xf86-video-intel-2.11.0/src/drmmode_display.c.no-flip xf86-video-intel-2.11.0/src/drmmode_display.c
+--- xf86-video-intel-2.11.0/src/drmmode_display.c.no-flip 2010-05-03 15:30:19.000000000 -0400
++++ xf86-video-intel-2.11.0/src/drmmode_display.c 2010-05-03 15:30:59.000000000 -0400
+@@ -1504,10 +1504,15 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn,
+ gp.value = &has_flipping;
+ (void)drmCommandWriteRead(intel->drmSubFD, DRM_I915_GETPARAM, &gp,
+ sizeof(gp));
++
++ xf86DrvMsg(scrn->scrnIndex, X_INFO,
++ "Pageflipping %s in kernel, %s disabled in X\n",
++ has_flipping ? "enabled" : "disabled",
++ has_flipping ? "but" : "and");
+ if (has_flipping) {
+ xf86DrvMsg(scrn->scrnIndex, X_INFO,
+- "Kernel page flipping support detected, enabling\n");
+- intel->use_pageflipping = TRUE;
++ "Don't panic: https://bugzilla.redhat.com/588421\n");
++ intel->use_pageflipping = FALSE;
+ drmmode->flip_count = 0;
+ drmmode->event_context.version = DRM_EVENT_CONTEXT_VERSION;
+ drmmode->event_context.vblank_handler = drmmode_vblank_handler;
+diff -up xf86-video-intel-2.11.0/src/i830_dri.c.no-flip xf86-video-intel-2.11.0/src/i830_dri.c
+--- xf86-video-intel-2.11.0/src/i830_dri.c.no-flip 2010-03-29 14:23:02.000000000 -0400
++++ xf86-video-intel-2.11.0/src/i830_dri.c 2010-05-03 15:30:19.000000000 -0400
+@@ -1013,7 +1013,7 @@ Bool I830DRI2ScreenInit(ScreenPtr screen
+
+ info.CopyRegion = I830DRI2CopyRegion;
+ #if DRI2INFOREC_VERSION >= 4
+- if (intel->use_pageflipping) {
++ if (intel->use_pageflipping || 1) {
+ info.version = 4;
+ info.ScheduleSwap = I830DRI2ScheduleSwap;
+ info.GetMSC = I830DRI2GetMSC;
diff --git a/abs/core/xf86-video-mach64/LICENSE b/abs/core/xf86-video-mach64/LICENSE
new file mode 100644
index 0000000..1aa2df6
--- /dev/null
+++ b/abs/core/xf86-video-mach64/LICENSE
@@ -0,0 +1,209 @@
+Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+that the name of Marc Aurele La France not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. Marc Aurele La France makes no representations
+about the suitability of this software for any purpose. It is provided
+"as-is" without express or implied warranty.
+
+MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
+EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 2000 Gareth Hughes
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+GARETH HUGHES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+(c) 2004 Adam Jackson. Standard MIT license applies.
+
+Copyright 1999-2000 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
+Precision Insight, Inc., Cedar Park, Texas, and
+VA Linux Systems Inc., Fremont, California.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
+SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Copyright 2003 Alex Deucher.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NON-INFRINGEMENT. IN NO EVENT SHALL ALEX DEUCHER, OR ANY OTHER
+CONTRIBUTORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+/*
+ * Copyright 2000 Gareth Hughes
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * GARETH HUGHES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * Authors:
+ * Gareth Hughes <gareth@valinux.com>
+ * Leif Delgass <ldelgass@retinalburn.net>
+ * Jos Fonseca <j_r_fonseca@yahoo.co.uk>
+ */
+
+/*
+ * Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
+ * Cedar Park, Texas.
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, and/or sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ * ATI, PRECISION INSIGHT AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * Authors:
+ * Gareth Hughes <gareth@valinux.com>
+ * Leif Delgass <ldelgass@retinalburn.net>
+ * Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.5
+ *
+ * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Authors:
+ * Keith Whitwell <keithw@valinux.com>
+ *
+ * Modified for mach64 by:
+ * Leif Delgass <ldelgass@retinalburn.net>
+ * Jos Fonseca <j_r_fonseca@yahoo.co.uk>
+ */
diff --git a/abs/core/xf86-video-mach64/PKGBUILD b/abs/core/xf86-video-mach64/PKGBUILD
index ed91461..64fe5d9 100644
--- a/abs/core/xf86-video-mach64/PKGBUILD
+++ b/abs/core/xf86-video-mach64/PKGBUILD
@@ -1,48 +1,27 @@
-# $Id: PKGBUILD 13016 2008-09-25 18:54:26Z jgc $
+# $Id: PKGBUILD 75922 2010-04-04 19:52:27Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-mach64
-pkgver=6.8.0
-pkgrel=2
-_mesaver="7.2"
+pkgver=6.8.2
+pkgrel=3
pkgdesc="X.org mach64 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.1' 'mesa>=7.2' 'dri2proto'
- 'glproto>=1.4.9' 'xf86driproto' 'diffutils')
-conflicts=('xorg-server<1.5.1')
+license=('custom')
+depends=('glibc' 'mach64-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xineramaproto' 'xf86driproto' 'mesa>=7.8' 'glproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('6081b8fa50c689d51f85c2fbaf93867e'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+ LICENSE)
+md5sums=('6c0522b2b72a0a47c48d718443616651'
+ '901824dae8053c63ef9d313cdaa129a0')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
- --enable-dri || return 1
+ --enable-dri || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-
- cd ${srcdir}/Mesa-${_mesaver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=mach64 \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
- rm -rf ${pkgdir}/usr/include
- rm -rf ${pkgdir}/usr/lib/pkgconfig
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-mga/PKGBUILD b/abs/core/xf86-video-mga/PKGBUILD
index 5681868..ebe0c71 100644
--- a/abs/core/xf86-video-mga/PKGBUILD
+++ b/abs/core/xf86-video-mga/PKGBUILD
@@ -1,48 +1,26 @@
-# $Id: PKGBUILD 13014 2008-09-25 18:53:21Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 80849 2010-05-22 15:00:10Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-mga
-pkgver=1.4.9
-pkgrel=3
+pkgver=1.4.12
+pkgrel=1
pkgdesc="X.org mga video driver"
-_mesaver="7.2"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libgl>=7.2' 'expat>=2.0.1')
-makedepends=('pkgconfig' 'xorg-server>=1.5.1' 'imake' 'mesa>=7.2'
- 'xf86driproto' 'glproto>=1.4.9')
-conflicts=('xorg-server<1.5.1')
+license=('custom')
+depends=('glibc' 'mga-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' "mesa>=7.8" 'xf86driproto' 'glproto>=1.4.11')
+conflicts=('xorg-server<1.8.0')
options=('!libtool' 'force')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('11066b84b949cd04300ec819c9c51532'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('ff84e9035a375dde76d789f5bbc4efbbca8a33fc')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --enable-dri || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- cd ${srcdir}/Mesa-${_mesaver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=mga \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
+ --enable-dri || return 1
make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
- rm -rf ${pkgdir}/usr/include
- rm -rf ${pkgdir}/usr/lib/pkgconfig
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-neomagic/PKGBUILD b/abs/core/xf86-video-neomagic/PKGBUILD
index 7d47807..c4c5bf6 100644
--- a/abs/core/xf86-video-neomagic/PKGBUILD
+++ b/abs/core/xf86-video-neomagic/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 22283 2008-12-25 17:06:50Z jgc $
+# $Id: PKGBUILD 85347 2010-07-12 17:26:15Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-neomagic
-pkgver=1.2.2
+pkgver=1.2.5
pkgrel=1
pkgdesc="X.org neomagic video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('896864e1a2d7333c16333a24eac17d00')
+sha1sums=('02c994e2eae191b50a8cd556e5b52d82725073b3')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xf86-video-nouveau/PKGBUILD b/abs/core/xf86-video-nouveau/PKGBUILD
new file mode 100644
index 0000000..998d823
--- /dev/null
+++ b/abs/core/xf86-video-nouveau/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 80482 2010-05-17 17:42:28Z andyrtr $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: buddabrod <buddabrod@gmail.com>
+
+pkgname=xf86-video-nouveau
+_gitdate=20100517
+pkgver=0.0.16_git${_gitdate} # see configure.ac
+pkgrel=1
+pkgdesc="Open Source 3D acceleration driver for nVidia cards (experimental)"
+arch=('i686' 'x86_64')
+url="http://nouveau.freedesktop.org/wiki/"
+license=('GPL') #and MIT, not yet a license file, see http://nouveau.freedesktop.org/wiki/FAQ#head-09f75d03eb30011c754038a3893119a70745de4e
+depends=('libdrm>=2.4.19' 'udev')
+optdepends=('nouveau-dri: highly experimental gallium3d features')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'mesa>=7.8.1' 'glproto>=1.4.11' 'xorg-util-macros' 'xf86driproto' 'autoconf' 'nouveau-dri>=7.8.1')
+conflicts=('xorg-server<1.8.0')
+options=('!libtool') # 'force'
+install=${pkgname}.install
+source=(ftp://ftp.archlinux.org/other/$pkgname/xf86-video-nouveau-${_gitdate}.tar.bz2)
+md5sums=('787f5cbba1f14f4ffcafbb00516abdad')
+
+# source PKGBUILD && mksource
+mksource() {
+ mkdir /tmp/${pkgname}-${_gitdate}
+ pushd /tmp/${pkgname}-${_gitdate}
+ git clone -v --depth 1 git://anongit.freedesktop.org/nouveau/xf86-video-nouveau
+ cd xf86-video-nouveau
+ git archive --prefix=xf86-video-nouveau-${_gitdate}/ --format=tar HEAD | bzip2 > /tmp/${pkgname}-${_gitdate}/${pkgname}-${_gitdate}.tar.bz2
+ popd
+}
+
+build() {
+ cd ${srcdir}/xf86-video-nouveau-${_gitdate}
+ ./autogen.sh --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd ${srcdir}/xf86-video-nouveau-${_gitdate}
+ make DESTDIR=${pkgdir} install || return 1
+}
diff --git a/abs/core/xf86-video-nouveau/xf86-video-nouveau.install b/abs/core/xf86-video-nouveau/xf86-video-nouveau.install
new file mode 100644
index 0000000..027154f
--- /dev/null
+++ b/abs/core/xf86-video-nouveau/xf86-video-nouveau.install
@@ -0,0 +1,16 @@
+post_install () {
+ cat << _EOF
+ ==> make sure you use KernelModeSetting (KMS)
+ ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
+_EOF
+}
+
+post_upgrade() {
+ if [ "`vercmp $2 0.0.15_git20100117-1`" -lt 0 ]; then
+ cat << _EOF
+ ==> ATTENTION: Usermode support has been dropped
+ ==> make sure you use KernelModeSetting (KMS)
+ ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
+_EOF
+ fi
+}
diff --git a/abs/core/xf86-video-nv/PKGBUILD b/abs/core/xf86-video-nv/PKGBUILD
index 7c74343..09bdb51 100644
--- a/abs/core/xf86-video-nv/PKGBUILD
+++ b/abs/core/xf86-video-nv/PKGBUILD
@@ -1,28 +1,27 @@
-# $Id: PKGBUILD 11446 2008-08-31 15:40:39Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75913 2010-04-04 19:43:19Z jgc $
+# Maintainer:Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-nv
-pkgver=2.1.12
-pkgrel=1
+pkgver=2.1.17
+pkgrel=2
pkgdesc="X.org nv video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xorg-util-macros')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('9f165c085e6420470191a544404066524f2f1c61')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
- install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
-md5sums=('42f12a36d7afc26c817e8e8f5c8b7274')
diff --git a/abs/core/xf86-video-openchrome/PKGBUILD b/abs/core/xf86-video-openchrome/PKGBUILD
index 235dba8..320aaac 100644
--- a/abs/core/xf86-video-openchrome/PKGBUILD
+++ b/abs/core/xf86-video-openchrome/PKGBUILD
@@ -1,29 +1,35 @@
-# $Id: PKGBUILD 11506 2008-08-31 18:01:45Z jgc $
+# $Id: PKGBUILD 75910 2010-04-04 19:38:56Z jgc $
# Contributor: Paul Mattal <paul@mattal.com>
# Maintainer: Juergen Hoetzel <juergen@hoetzel.info>
pkgname=xf86-video-openchrome
-pkgver=0.2.903
-pkgrel=1
+pkgver=0.2.904
+pkgrel=3
pkgdesc="X.Org Openchrome drivers"
arch=(i686 x86_64)
license=('custom')
url="http://www.openchrome.org"
-depends=('unichrome-dri>=7.1')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906' 'xf86driproto' 'xorg-util-macros' 'libxvmc' 'glproto' 'mesa>=7.1')
+depends=('unichrome-dri>=7.6')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86driproto' 'xorg-util-macros' 'libxvmc' 'glproto' 'mesa>=7.8' 'inputproto')
replaces=('openchrome' 'xf86-video-via')
options=('!libtool' 'force' '!makeflags')
-conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.4.99.906')
-source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.gz
- LICENSE.txt)
-md5sums=('bcb3ba67e89824c132790c3a0365c6a5'
+conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.8.0')
+source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ drm_stdint.patch
+ svn-r839.patch
+ LICENSE.txt)
+md5sums=('f2481d98ef54febf5bffbb88a2a2426d'
+ 'bc516400ffc3df5d0dfe604f6245dd32'
+ '5aed4aa44dd5a6d3e2da9baad73ac0ab'
'addb3cf2671f4cf7e91156952de1627f')
build() {
- cd ${startdir}/src/${pkgname}-$pkgver || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}" || return 1
+ patch -Np1 -i "${srcdir}/svn-r839.patch" || return 1
+ patch -Np0 -i "${srcdir}/drm_stdint.patch" || return 1
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 ${srcdir}/LICENSE.txt ${pkgdir}/usr/share/licenses/${pkgname}/COPYING || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" || return 1
}
diff --git a/abs/core/xf86-video-openchrome/drm_stdint.patch b/abs/core/xf86-video-openchrome/drm_stdint.patch
new file mode 100644
index 0000000..226a015
--- /dev/null
+++ b/abs/core/xf86-video-openchrome/drm_stdint.patch
@@ -0,0 +1,10 @@
+--- src/via_xvmc.h.orig 2010-03-07 01:46:34.000000000 +0100
++++ src/via_xvmc.h 2010-03-07 01:46:45.000000000 +0100
+@@ -26,6 +26,7 @@
+ #ifndef _VIA_XVMC_H
+ #define _VIA_XVMC_H 1
+
++#include <stdint.h>
+ #include "via_drm.h"
+
+ /*
diff --git a/abs/core/xf86-video-openchrome/svn-r839.patch b/abs/core/xf86-video-openchrome/svn-r839.patch
new file mode 100644
index 0000000..8e5f056
--- /dev/null
+++ b/abs/core/xf86-video-openchrome/svn-r839.patch
@@ -0,0 +1,1447 @@
+diff -ruN xf86-video-openchrome-0.2.904/ChangeLog ../openchrome/xf86-video-openchrome-0.2.904/ChangeLog
+--- xf86-video-openchrome-0.2.904/ChangeLog 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/ChangeLog 2010-03-07 01:09:00.000000000 +0100
+@@ -1,3 +1,52 @@
++2010-02-10 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Fix bug with suspend and VT switch on VX800 and 64bit systems
++
++ * src/via_driver.h:
++ * src/via_video.c: (viaResetVideo), (viaSaveVideo),
++ (viaRestoreVideo), (viaExitVideo):
++ * src/via_video.h:
++
++2010-01-24 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Fix starting address restore and save (initial 64-bit support)
++
++ * src/via_crtc.c: (ViaFirstCRTCSetMode),
++ (ViaFirstCRTCSetStartingAddress):
++ * src/via_dri.c: (VIADRIAgpInit):
++ * src/via_driver.c: (VIASave), (VIARestore):
++ * src/via_driver.h:
++
++2009-12-04 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Enable new mode switch for VM800 chipsets
++
++ * src/via_driver.c: (VIASetupDefaultOptions):
++
++2009-11-21 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Add option to enable unaccelerated RandR rotation ("SWRandR").
++ The accelerated option "HWRandR" is currently not implemented.
++
++ * src/openchrome.man:
++ * src/via_driver.c: (VIAPreInit):
++
++2009-11-20 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Enabled new mode switch for PM800 chipset,
++ to resolve many bugs with resolution detecting and changing
++ (eg. switching to console)
++
++ * src/via_driver.c: (VIASetupDefaultOptions), (VIAPreInit):
++
++2009-11-07 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Add more comments to ViaSetSecondaryFIFO, add panel scale support for
++ CLE266 and KM400, fix bug with malloc.
++
++ * src/via_bandwidth.c: (ViaSetSecondaryFIFO):
++ * src/via_panel.c: (ViaPanelScale), (ViaPanelGetNativeDisplayMode):
++
+ 2009-09-26 Bartosz Kosiorek <gang65@poczta.onet.pl>
+
+ Save/restore ECK Clock Synthesizer
+diff -ruN xf86-video-openchrome-0.2.904/man/openchrome.man ../openchrome/xf86-video-openchrome-0.2.904/man/openchrome.man
+--- xf86-video-openchrome-0.2.904/man/openchrome.man 2009-10-09 01:12:41.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/man/openchrome.man 2010-03-07 01:09:00.000000000 +0100
+@@ -59,7 +59,7 @@
+ .BI "Option \*qAccelMethod\*q \*q" string \*q
+ The driver supports "XAA" and "EXA" acceleration methods. The default
+ method is XAA, since EXA is still experimental. Contrary to XAA, EXA
+-implements acceleration for screen uploads and downlads (if DRI is
++implements acceleration for screen uploads and downloads (if DRI is
+ enabled) and for the Render/Composite extension.
+ .TP
+ .BI "Option \*qActiveDevice\*q \*q" string \*q
+@@ -81,7 +81,7 @@
+ no room for DRI textures, they will be allocated from the DRI part of
+ VRAM (see the option "MaxDRIMem"). The default amount of AGP is
+ 32768 kB. Note that the AGP aperture set in the BIOS must be able
+-to accomodate the amount of AGP memory specified here. Otherwise no
++to accommodate the amount of AGP memory specified here. Otherwise no
+ AGP memory will be available. It is safe to set a very large AGP
+ aperture in the BIOS.
+ .TP
+@@ -159,9 +159,16 @@
+ system. The sizes 640x480, 800x600, 1024x768, 1280x1024, and 1400x1050
+ are supported.
+ .TP
++.BI "Option \*qRotationType\*q \*q" string \*q
++Enabled rotation by using RandR. The driver only support unaccelerated
++RandR rotations "SWRandR". Hardware rotations "HWRandR" is currently
++unimplemented.
++.TP
+ .BI "Option \*qRotate\*q \*q" string \*q
+ Rotates the display either clockwise ("CW"), counterclockwise ("CCW") and
+-upside-down ("UD"). Rotation is only supported unaccelerated.
++upside-down ("UD"). Rotation is only supported unaccelerated. Adding
++option "Rotate", enables RandR rotation feature. The RandR allows
++clients to dynamically change X screens.
+ .TP
+ .BI "Option \*qShadowFB\*q \*q" boolean \*q
+ Enables the use of a shadow frame buffer. This is required when
+diff -ruN xf86-video-openchrome-0.2.904/src/svnversion.h ../openchrome/xf86-video-openchrome-0.2.904/src/svnversion.h
+--- xf86-video-openchrome-0.2.904/src/svnversion.h 2009-10-09 01:19:04.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/svnversion.h 2010-03-07 01:09:15.000000000 +0100
+@@ -1 +1 @@
+-#define BUILDCOMMENT "(openchrome 0.2.904 release)"
++#define BUILDCOMMENT "(development build, at svn revision 839)"
+diff -ruN xf86-video-openchrome-0.2.904/src/via_accel.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_accel.c
+--- xf86-video-openchrome-0.2.904/src/via_accel.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_accel.c 2010-03-07 01:09:00.000000000 +0100
+@@ -1210,7 +1210,8 @@
+
+ /* General acceleration flags. */
+ xaaptr->Flags = (PIXMAP_CACHE |
+- OFFSCREEN_PIXMAPS | LINEAR_FRAMEBUFFER |
++ OFFSCREEN_PIXMAPS |
++ LINEAR_FRAMEBUFFER |
+ MICROSOFT_ZERO_LINE_BIAS | 0);
+
+ if (pScrn->bitsPerPixel == 8)
+@@ -1228,14 +1229,17 @@
+
+ xaaptr->Sync = viaAccelSync;
+
++ /* ScreenToScreen copies */
+ xaaptr->SetupForScreenToScreenCopy = viaSetupForScreenToScreenCopy;
+ xaaptr->SubsequentScreenToScreenCopy = viaSubsequentScreenToScreenCopy;
+ xaaptr->ScreenToScreenCopyFlags = NO_PLANEMASK | ROP_NEEDS_SOURCE;
+
++ /* Solid filled rectangles */
+ xaaptr->SetupForSolidFill = viaSetupForSolidFill;
+ xaaptr->SubsequentSolidFillRect = viaSubsequentSolidFillRect;
+ xaaptr->SolidFillFlags = NO_PLANEMASK | ROP_NEEDS_SOURCE;
+
++ /* Mono 8x8 pattern fills */
+ xaaptr->SetupForMono8x8PatternFill = viaSetupForMono8x8PatternFill;
+ xaaptr->SubsequentMono8x8PatternFillRect =
+ viaSubsequentMono8x8PatternFillRect;
+@@ -1244,6 +1248,7 @@
+ HARDWARE_PATTERN_PROGRAMMED_ORIGIN |
+ BIT_ORDER_IN_BYTE_MSBFIRST | 0);
+
++ /* Color 8x8 pattern fills */
+ xaaptr->SetupForColor8x8PatternFill = viaSetupForColor8x8PatternFill;
+ xaaptr->SubsequentColor8x8PatternFillRect =
+ viaSubsequentColor8x8PatternFillRect;
+@@ -1252,12 +1257,14 @@
+ HARDWARE_PATTERN_PROGRAMMED_BITS |
+ HARDWARE_PATTERN_PROGRAMMED_ORIGIN | 0);
+
++ /* Solid lines */
+ xaaptr->SetupForSolidLine = viaSetupForSolidLine;
+ xaaptr->SubsequentSolidTwoPointLine = viaSubsequentSolidTwoPointLine;
+ xaaptr->SubsequentSolidHorVertLine = viaSubsequentSolidHorVertLine;
+ xaaptr->SolidBresenhamLineErrorTermBits = 14;
+ xaaptr->SolidLineFlags = NO_PLANEMASK | ROP_NEEDS_SOURCE;
+
++ /* Dashed line */
+ xaaptr->SetupForDashedLine = viaSetupForDashedLine;
+ xaaptr->SubsequentDashedTwoPointLine = viaSubsequentDashedTwoPointLine;
+ xaaptr->DashPatternMaxLength = 8;
+@@ -1266,35 +1273,42 @@
+ LINE_PATTERN_POWER_OF_2_ONLY |
+ LINE_PATTERN_MSBFIRST_LSBJUSTIFIED | 0);
+
++ /* CPU to Screen color expansion */
+ xaaptr->ScanlineCPUToScreenColorExpandFillFlags = NO_PLANEMASK |
+- CPU_TRANSFER_PAD_DWORD |
+- SCANLINE_PAD_DWORD |
+- BIT_ORDER_IN_BYTE_MSBFIRST |
+- LEFT_EDGE_CLIPPING | ROP_NEEDS_SOURCE | 0;
++ CPU_TRANSFER_PAD_DWORD |
++ SCANLINE_PAD_DWORD |
++ BIT_ORDER_IN_BYTE_MSBFIRST |
++ LEFT_EDGE_CLIPPING |
++ ROP_NEEDS_SOURCE | 0;
+
+ xaaptr->SetupForScanlineCPUToScreenColorExpandFill =
+ viaSetupForCPUToScreenColorExpandFill;
+ xaaptr->SubsequentScanlineCPUToScreenColorExpandFill =
+ viaSubsequentScanlineCPUToScreenColorExpandFill;
+ xaaptr->ColorExpandBase = pVia->BltBase;
+- xaaptr->ColorExpandRange = VIA_MMIO_BLTSIZE;
++ if (pVia->Chipset == VIA_VX800 || pVia->Chipset == VIA_VX855)
++ xaaptr->ColorExpandRange = VIA_MMIO_BLTSIZE;
++ else
++ xaaptr->ColorExpandRange = (64 * 1024);
+
++ /* ImageWrite */
+ xaaptr->ImageWriteFlags = (NO_PLANEMASK |
+ CPU_TRANSFER_PAD_DWORD |
+ SCANLINE_PAD_DWORD |
+ BIT_ORDER_IN_BYTE_MSBFIRST |
+- LEFT_EDGE_CLIPPING | ROP_NEEDS_SOURCE | 0);
++ LEFT_EDGE_CLIPPING |
++ ROP_NEEDS_SOURCE | 0);
+ // SYNC_AFTER_IMAGE_WRITE | 0);
+
+ /*
+ * Most Unichromes are much faster using processor-to-framebuffer writes
+ * than when using the 2D engine for this.
+- * test with x11perf -shmput500!
++ * test with "x11perf -shmput500"
++ * Example: K8M890 chipset; with GPU=86.3/sec; without GPU=132.0/sec
++ * TODO Check speed for other chipsets
+ */
+
+ switch (pVia->Chipset) {
+- case VIA_K8M800:
+- case VIA_K8M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ case VIA_VX855:
+diff -ruN xf86-video-openchrome-0.2.904/src/via_bandwidth.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_bandwidth.c
+--- xf86-video-openchrome-0.2.904/src/via_bandwidth.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_bandwidth.c 2010-03-07 01:09:00.000000000 +0100
+@@ -194,6 +194,7 @@
+ else
+ ViaSeqMask(hwp, 0x22, 0x00, 0x1F); /* 128/4 = overflow = 0 */
+ break;
++ /* PM800/PM880/CN400 */
+ case VIA_PM800:
+ hwp->writeSeq(hwp, 0x17, 0x5F); /* 95 */
+ ViaSeqMask(hwp, 0x16, 0x20, 0xBF); /* 32 */
+@@ -204,9 +205,10 @@
+ else
+ ViaSeqMask(hwp, 0x22, 0x1F, 0x1F); /* 31 */
+ break;
++ /* P4M800Pro/VN800/CN700 */
+ case VIA_VM800:
+ hwp->writeSeq(hwp, 0x17, 0x2F);
+- ViaSeqMask(hwp, 0x16, 0x14, 0xBF);
++ ViaSeqMask(hwp, 0x16, 0x14, 0xBF); /* 80/4 = 20 = 0x14 */
+ ViaSeqMask(hwp, 0x18, 0x08, 0xBF);
+
+ if ((mode->HDisplay >= 1400) && (pScrn->bitsPerPixel == 32))
+@@ -215,40 +217,51 @@
+ ViaSeqMask(hwp, 0x22, 0x00, 0x1F);
+ break;
+ case VIA_K8M890:
+- hwp->writeSeq(hwp, 0x16, 0x92);
+- hwp->writeSeq(hwp, 0x17, 0xB3);
+- hwp->writeSeq(hwp, 0x18, 0x8A);
++ /* depth location: {SR17,0,7} */
++ hwp->writeSeq(hwp, 0x17, 0xB3); /* 360/2-1 = 179 = 0xB3 */
++ /* Formula (x & 0x3F) | ((x & 0x40) << 1) */
++ /* threshold location: {SR16,0,5},{SR16,7,7} */
++ ViaSeqMask(hwp, 0x16, 0x92, 0xBF); /* 328/4 = 82 = 0x52 */
++ /* high threshold location: {SR18,0,5},{SR18,7,7} */
++ ViaSeqMask(hwp, 0x18, 0x8A, 0xBF); /* 296/4 = 74 = 0x4A */
++ /* display queue expire num location: {SR22,0,4}. */
++ ViaSeqMask(hwp, 0x22, 0x1F, 0x1F); /* 124/4 = 31 = 0x1F */
+ break;
+ case VIA_P4M900:
+- ViaSeqMask(hwp, 0x17, 0x2F, 0xFF);
+- ViaSeqMask(hwp, 0x16, 0x13, 0x3F);
+- ViaSeqMask(hwp, 0x16, 0x00, 0x80);
+- ViaSeqMask(hwp, 0x18, 0x13, 0x3F);
+- ViaSeqMask(hwp, 0x18, 0x00, 0x80);
++ /* location: {SR17,0,7} */
++ hwp->writeSeq(hwp, 0x17, 0x2F); /* 96/2-1 = 47 = 0x2F */
++ /* location: {SR16,0,5},{SR16,7,7} */
++ ViaSeqMask(hwp, 0x16, 0x13, 0xBF); /* 76/4 = 19 = 0x13 */
++ /* location: {SR18,0,5},{SR18,7,7} */
++ ViaSeqMask(hwp, 0x18, 0x13, 0xBF); /* 76/4 = 19 = 0x13 */
++ /* location: {SR22,0,4}. */
++ ViaSeqMask(hwp, 0x22, 0x08, 0x1F); /* 32/4 = 8 = 0x08 */
+ break;
+ case VIA_P4M890:
+- hwp->writeSeq(hwp, 0x16, 0x13);
+- hwp->writeSeq(hwp, 0x17, 0x2F);
+- hwp->writeSeq(hwp, 0x18, 0x53);
+- hwp->writeSeq(hwp, 0x22, 0x10);
++ hwp->writeSeq(hwp, 0x17, 0x2F); /* 96/2-1 = 47 = 0x2F */
++ ViaSeqMask(hwp, 0x16, 0x13, 0xBF); /* 76/4 = 19 = 0x13 */
++ ViaSeqMask(hwp, 0x18, 0x10, 0xBF); /* 64/4 = 16 = 0x10 */
++ ViaSeqMask(hwp, 0x22, 0x08, 0x1F); /* 32/4 = 8 = 0x08 */
+ break;
+ case VIA_CX700:
+- hwp->writeSeq(hwp, 0x16, 0x26);
+ hwp->writeSeq(hwp, 0x17, 0x5F);
+- hwp->writeSeq(hwp, 0x18, 0x66);
+- hwp->writeSeq(hwp, 0x22, 0x1F);
++ ViaSeqMask(hwp, 0x16, 0x20, 0xBF); /* 128/4 = 32 = 0x20 */
++ ViaSeqMask(hwp, 0x18, 0x20, 0xBF); /* 128/4 = 32 = 0x20 */
++ ViaSeqMask(hwp, 0x22, 0x1F, 0x1F); /* 124/4 = 31 = 0x1F */
+ break;
+ case VIA_VX800:
+- hwp->writeSeq(hwp, 0x16, 0x26); /* 152/4 = 38 */
+- hwp->writeSeq(hwp, 0x17, 0x5F); /* 192/2-1 = 95 */
++ hwp->writeSeq(hwp, 0x17, 0x5F); /* 192/2-1 = 95 = 0x5F */
++ hwp->writeSeq(hwp, 0x16, 0x26); /* 152/4 = 38 = 0x26 */
+ hwp->writeSeq(hwp, 0x18, 0x26); /* 152/4 = 38 */
+ hwp->writeSeq(hwp, 0x22, 0x10); /* 64/4 = 16 */
+ break;
+ case VIA_VX855:
+- hwp->writeSeq(hwp, 0x16, 0x50); /* 320/4 = 80 */
+- hwp->writeSeq(hwp, 0x17, 0xC7); /* 400/2-1 = 199 */
+- hwp->writeSeq(hwp, 0x18, 0x50); /* 320/4 = 80 */
+- hwp->writeSeq(hwp, 0x22, 0x28); /* 160/4 = 40 */
++ hwp->writeSeq(hwp, 0x17, 0xC7); /* 400/2-1 = 199 = 0xC7 */
++ /* TODO Formula for SR16 is: (0x50 & 0x3F) | ((0x50 & 0x40) << 1) = 0x90 */
++ hwp->writeSeq(hwp, 0x16, 0x50); /* 320/4 = 80 = 0x50 */
++ hwp->writeSeq(hwp, 0x18, 0x50); /* 320/4 = 80 = 0x50 */
++ hwp->writeSeq(hwp, 0x22, 0x28); /* 160/4 = 40 = 0x28 */
++ break;
+ default:
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "ViaSetPrimaryFIFO: "
+ "Chipset %d not implemented\n", pVia->Chipset);
+@@ -371,7 +384,38 @@
+ ViaCrtcMask(hwp, 0x94, 0x20, 0x7F);
+ break;
+ case VIA_P4M890:
++ /* depth location: {CR68,4,7},{CR94,7,7},{CR95,7,7} */
++ ViaCrtcMask(hwp, 0x68, 0xB0, 0xF0); /* 96/8-1 = 11 = 0x0B */
++ ViaCrtcMask(hwp, 0x94, 0x00, 0x80);
++ ViaCrtcMask(hwp, 0x95, 0x00, 0x80);
++
++ /* location: {CR68,0,3},{CR95,4,6} */
++ ViaCrtcMask(hwp, 0x68, 0x03, 0x0F); /* 76/4 = 19 = 0x13 */
++ ViaCrtcMask(hwp, 0x95, 0x10, 0x70);
++
++ /* location: {CR92,0,3},{CR95,0,2} */
++ ViaCrtcMask(hwp, 0x92, 0x00, 0x0F); /* 64/4 = 16 = 0x10 */
++ ViaCrtcMask(hwp, 0x95, 0x01, 0x07);
++
++ /* location: {CR94,0,6} */
++ ViaCrtcMask(hwp, 0x94, 0x08, 0x7F); /* 32/4 = 8 = 0x08 */
++ break;
+ case VIA_K8M890:
++ /* Display Queue Depth, location: {CR68,4,7},{CR94,7,7},{CR95,7,7} */
++ ViaCrtcMask(hwp, 0x68, 0xC0, 0xF0); /* 360/8-1 = 44 = 0x2C; 0x2C << 4 = 0xC0 */
++ ViaCrtcMask(hwp, 0x94, 0x00, 0x80); /* 0x2C << 3 = 0x00 */
++ ViaCrtcMask(hwp, 0x95, 0x80, 0x80); /* 0x2C << 2 = 0x80 */
++
++ /* Display Queue Read Threshold 1, location: {CR68,0,3},{CR95,4,6} */
++ ViaCrtcMask(hwp, 0x68, 0x02, 0x0F); /* 328/4 = 82 = 0x52 */
++ ViaCrtcMask(hwp, 0x95, 0x50, 0x70);
++
++ /* location: {CR92,0,3},{CR95,0,2} */
++ ViaCrtcMask(hwp, 0x92, 0x0A, 0x0F); /* 296/4 = 74 = 0x4A */
++ ViaCrtcMask(hwp, 0x95, 0x04, 0x07); /* 0x4A >> 4 = 0x04 */
++
++ /* Display Expire Number Bits, location: {CR94,0,6} */
++ ViaCrtcMask(hwp, 0x94, 0x1F, 0x7F); /* 124/4 = 31 = 0x1F */
+ break;
+ case VIA_P4M900:
+ ViaCrtcMask(hwp, 0x68, 0xB0, 0xF0);
+diff -ruN xf86-video-openchrome-0.2.904/src/via_crtc.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_crtc.c
+--- xf86-video-openchrome-0.2.904/src/via_crtc.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_crtc.c 2010-03-07 01:09:00.000000000 +0100
+@@ -234,8 +234,8 @@
+ /* Primary starting address -> 0x00, adjustframe does the rest */
+ hwp->writeCrtc(hwp, 0x0C, 0x00);
+ hwp->writeCrtc(hwp, 0x0D, 0x00);
+- hwp->writeCrtc(hwp, 0x34, 0x00);
+ ViaCrtcMask(hwp, 0x48, 0x00, 0x03); /* is this even possible on CLE266A ? */
++ hwp->writeCrtc(hwp, 0x34, 0x00);
+
+ /* vertical sync start : 2047 */
+ temp = mode->CrtcVSyncStart;
+@@ -331,15 +331,20 @@
+ CARD32 Base;
+ CARD32 tmp;
+
++ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaFirstCRTCSetStartingAddress\n"));
++
+ Base = (y * pScrn->displayWidth + x) * (pScrn->bitsPerPixel / 8);
+ Base = Base >> 1;
+
+ hwp->writeCrtc(hwp, 0x0C, (Base & 0xFF00) >> 8);
+ hwp->writeCrtc(hwp, 0x0D, Base & 0xFF);
+- hwp->writeCrtc(hwp, 0x34, (Base & 0xFF0000) >> 16);
+-
++ /* FIXME The proper starting address for CR48 is 0x1F - Bits[28:24] */
+ if (!(pVia->Chipset == VIA_CLE266 && CLE266_REV_IS_AX(pVia->ChipRev)))
+ ViaCrtcMask(hwp, 0x48, Base >> 24, 0x0F);
++ /* CR34 are fire bits. Must be writed after CR0C CR0D CR48. */
++ hwp->writeCrtc(hwp, 0x34, (Base & 0xFF0000) >> 16);
++
++
+ }
+
+ void
+diff -ruN xf86-video-openchrome-0.2.904/src/via_cursor.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_cursor.c
+--- xf86-video-openchrome-0.2.904/src/via_cursor.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_cursor.c 2010-03-07 01:09:00.000000000 +0100
+@@ -145,9 +145,12 @@
+ infoPtr->ShowCursor = viaShowCursor;
+ infoPtr->UseHWCursor = viaUseHWCursor;
+
++ /* ARGB Cursor init */
+ infoPtr->UseHWCursorARGB = viaUseHWCursorARGB;
+- if (pVia->CursorARGBSupported)
++ if (pVia->CursorARGBSupported) {
++ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "HWCursor ARGB enabled\n"));
+ infoPtr->LoadCursorARGB = viaLoadCursorARGB;
++ }
+
+ /* Set cursor location in frame buffer. */
+ VIASETREG(VIA_REG_CURSOR_MODE, pVia->cursorOffset);
+@@ -284,7 +287,7 @@
+ }
+
+ /*
+- * ARGB Cursor
++ * display the current cursor
+ */
+
+ void
+@@ -319,13 +322,19 @@
+ */
+
+ /* Duoview */
+- if (pVia->CursorPipe)
++ if (pVia->CursorPipe) {
++ /* Mono Cursor Display Path [bit31]: Secondary */
++ /* FIXME For CLE266 nad KM400 try to enable 32x32 cursor size [bit1] */
+ VIASETREG(VIA_REG_ALPHA_CONTROL, 0xF6000005);
+- else
++ } else {
++ /* Mono Cursor Display Path [bit31]: Primary */
+ VIASETREG(VIA_REG_ALPHA_CONTROL, 0x76000005);
++ }
+ }
+ }
+
++
++/* hide the current cursor */
+ void
+ viaHideCursor(ScrnInfoPtr pScrn)
+ {
+@@ -350,10 +359,16 @@
+
+ default:
+ temp = VIAGETREG(VIA_REG_ALPHA_CONTROL);
++ /* Hardware cursor disable [bit0] */
+ VIASETREG(VIA_REG_ALPHA_CONTROL, temp & 0xFFFFFFFA);
+ }
+ }
+
++/*
++ Set the cursor position to (x,y). X and/or y may be negative
++ indicating that the cursor image is partially offscreen on
++ the left and/or top edges of the screen.
++*/
+ static void
+ viaSetCursorPosition(ScrnInfoPtr pScrn, int x, int y)
+ {
+@@ -409,6 +424,15 @@
+ && pCurs->bits->height <= pVia->CursorMaxHeight);
+ }
+
++/*
++ If the driver is unable to use a hardware cursor for reasons
++ other than the cursor being larger than the maximum specified
++ in the MaxWidth or MaxHeight field below, it can supply the
++ UseHWCursor function. If UseHWCursor is provided by the driver,
++ it will be called whenever the cursor shape changes or the video
++ mode changes. This is useful for when the hardware cursor cannot
++ be used in interlaced or doublescan modes.
++*/
+ static Bool
+ viaUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
+ {
+@@ -423,8 +447,11 @@
+ && pCurs->bits->height <= pVia->CursorMaxHeight);
+ }
+
++/*
++ Load Mono Cursor Image
++*/
+ static void
+-viaLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *s)
++viaLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src)
+ {
+ VIAPtr pVia = VIAPTR(pScrn);
+ CARD32 temp;
+@@ -439,7 +466,7 @@
+ if (pVia->CursorARGBSupported) {
+ #define ARGB_PER_CHUNK (8 * sizeof (chunk) / 2)
+ for (i = 0; i < (pVia->CursorMaxWidth * pVia->CursorMaxHeight / ARGB_PER_CHUNK); i++) {
+- chunk = *s++;
++ chunk = *src++;
+ for (j = 0; j < ARGB_PER_CHUNK; j++, chunk >>= 2)
+ *dst++ = mono_cursor_color[chunk & 3];
+ }
+@@ -447,7 +474,7 @@
+ pVia->CursorFG = mono_cursor_color[3];
+ pVia->CursorBG = mono_cursor_color[2];
+ } else {
+- memcpy(dst, (CARD8*)s, pVia->CursorSize);
++ memcpy(dst, (CARD8*)src, pVia->CursorSize);
+ }
+ switch(pVia->Chipset) {
+ case VIA_CX700:
+@@ -471,11 +498,17 @@
+ }
+ }
+
++/*
++ Set the cursor foreground and background colors. In 8bpp, fg and
++ bg are indicies into the current colormap unless the
++ HARDWARE_CURSOR_TRUECOLOR_AT_8BPP flag is set. In that case
++ and in all other bpps the fg and bg are in 8-8-8 RGB format.
++*/
++
+ static void
+ viaSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg)
+ {
+ VIAPtr pVia = VIAPTR(pScrn);
+- CARD32 control = pVia->CursorRegControl;
+ CARD32 pixel;
+ CARD32 temp;
+ CARD32 *dst;
+@@ -487,12 +520,10 @@
+ fg |= 0xff000000;
+ bg |= 0xff000000;
+
++ /* Don't recolour the image if we don't have to. */
+ if (fg == pVia->CursorFG && bg == pVia->CursorBG)
+ return;
+
+- temp = VIAGETREG(control);
+- VIASETREG(control, temp & 0xFFFFFFFE);
+-
+ dst = (CARD32*)pVia->cursorMap;
+ for (i = 0; i < pVia->CursorMaxWidth * pVia->CursorMaxHeight; i++, dst++)
+ if ((pixel = *dst))
+@@ -517,7 +548,8 @@
+ }
+ break;
+ default:
+- VIASETREG(control, temp);
++ temp = VIAGETREG(VIA_REG_ALPHA_CONTROL);
++ VIASETREG(VIA_REG_ALPHA_CONTROL, temp & 0xFFFFFFFE);
+ }
+ }
+
+diff -ruN xf86-video-openchrome-0.2.904/src/via_dri.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_dri.c
+--- xf86-video-openchrome-0.2.904/src/via_dri.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_dri.c 2010-03-07 01:09:00.000000000 +0100
+@@ -267,6 +267,11 @@
+ pVIADRI = pDRIInfo->devPrivate;
+ pVia->agpSize = 0;
+
++/* For AMD64 */
++#ifdef __x86_64__
++ return FALSE;
++#endif
++
+ if (drmAgpAcquire(pVia->drmFD) < 0) {
+ xf86DrvMsg(pScreen->myNum, X_ERROR, "[drm] drmAgpAcquire failed %d\n",
+ errno);
+diff -ruN xf86-video-openchrome-0.2.904/src/via_driver.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_driver.c
+--- xf86-video-openchrome-0.2.904/src/via_driver.c 2009-10-09 00:46:15.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_driver.c 2010-03-07 01:09:00.000000000 +0100
+@@ -178,8 +178,8 @@
+ {VIA_P4M900, "P4M900/VN896/CN896"},
+ {VIA_CX700, "CX700/VX700"},
+ {VIA_P4M890, "P4M890"},
+- {VIA_VX800, "VX800"},
+- {VIA_VX855, "VX855"},
++ {VIA_VX800, "VX800/VX820"},
++ {VIA_VX855, "VX855/VX875"},
+ {-1, NULL }
+ };
+
+@@ -215,6 +215,7 @@
+ OPTION_EXA_SCRATCH_SIZE,
+ OPTION_SWCURSOR,
+ OPTION_SHADOW_FB,
++ OPTION_ROTATION_TYPE,
+ OPTION_ROTATE,
+ OPTION_VIDEORAM,
+ OPTION_ACTIVEDEVICE,
+@@ -253,6 +254,7 @@
+ {OPTION_EXA_SCRATCH_SIZE, "ExaScratchSize", OPTV_INTEGER, {0}, FALSE},
+ {OPTION_SWCURSOR, "SWCursor", OPTV_BOOLEAN, {0}, FALSE},
+ {OPTION_SHADOW_FB, "ShadowFB", OPTV_BOOLEAN, {0}, FALSE},
++ {OPTION_ROTATION_TYPE, "RotationType", OPTV_ANYSTR, {0}, FALSE},
+ {OPTION_ROTATE, "Rotate", OPTV_ANYSTR, {0}, FALSE},
+ {OPTION_VIDEORAM, "VideoRAM", OPTV_INTEGER, {0}, FALSE},
+ {OPTION_ACTIVEDEVICE, "ActiveDevice", OPTV_ANYSTR, {0}, FALSE},
+@@ -307,6 +309,7 @@
+ {
+ static Bool setupDone = FALSE;
+
++ /* Only be loaded once */
+ if (!setupDone) {
+ setupDone = TRUE;
+ xf86AddDriver(&VIA, module,
+@@ -339,6 +342,7 @@
+ if (pScrn->driverPrivate)
+ return TRUE;
+
++ /* allocate VIARec */
+ pScrn->driverPrivate = xnfcalloc(sizeof(VIARec), 1);
+ VIAPtr pVia = ((VIARec *) (pScrn->driverPrivate));
+
+@@ -455,7 +459,6 @@
+ {
+ ScrnInfoPtr scrn = NULL;
+ EntityInfoPtr entity;
+- DevUnion *private;
+
+ scrn = xf86ConfigPciEntity(scrn, 0, entity_num, VIAPciChipsets,
+ NULL, NULL, NULL, NULL, NULL);
+@@ -652,6 +655,12 @@
+ vbeInfoPtr pVbe;
+
+ if (xf86LoadSubModule(pScrn, "vbe")) {
++ /* FIXME This line should be replaced to:
++
++ pVbe = VBEExtendedInit(NULL, index, 0);
++
++ for XF86 version > 4.2.99
++ */
+ pVbe = VBEInit(NULL, index);
+ ConfiguredMonitor = vbeDoEDID(pVbe, NULL);
+ vbeFree(pVbe);
+@@ -664,7 +673,7 @@
+ VIAPtr pVia = VIAPTR(pScrn);
+ VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
+
+- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIASetupDefaultOptions\n"));
++ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIASetupDefaultOptions - Setting up default chipset options.\n"));
+
+ pVia->shadowFB = FALSE;
+ pVia->NoAccel = FALSE;
+@@ -688,6 +697,9 @@
+ #ifdef HAVE_DEBUG
+ pVia->PrintVGARegs = FALSE;
+ #endif
++
++ /* Disable vertical interpolation because the size of */
++ /* line buffer (limited to 800) is too small to do interpolation. */
+ pVia->swov.maxWInterp = 800;
+ pVia->swov.maxHInterp = 600;
+ pVia->useLegacyVBE = TRUE;
+@@ -713,11 +725,14 @@
+ pVia->UseLegacyModeSwitch = TRUE;
+ break;
+ case VIA_PM800:
++ /* Use new mode switch to resolve many resolution and display bugs (switch to console) */
++ /* FIXME The video playing (XV) is not working correctly after turn on new mode switch */
+ pVia->VideoEngine = VIDEO_ENGINE_CME;
+- pVia->UseLegacyModeSwitch = TRUE;
+ break;
+ case VIA_VM800:
+- pVia->UseLegacyModeSwitch = TRUE;
++ /* New mode switch resolve bug with gamma set #282 */
++ /* and with Xv after hibernate #240 */
++ /* FIXME Add panel support for this chipset */
+ break;
+ case VIA_K8M890:
+ pVia->VideoEngine = VIDEO_ENGINE_CME;
+@@ -1050,19 +1065,13 @@
+ xf86DrvMsg(pScrn->scrnIndex, from,
+ "Probed amount of VideoRAM = %d kB\n", pScrn->videoRam);
+
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+- "Setting up default chipset options.\n");
+ if (!VIASetupDefaultOptions(pScrn)) {
+ VIAFreeRec(pScrn);
+ return FALSE;
+ }
+
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Reading config file...\n");
+ xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, VIAOptions);
+
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+- "Starting to parse config file options...\n");
+-
+ if (xf86GetOptValInteger(VIAOptions, OPTION_VIDEORAM, &pScrn->videoRam))
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+ "Setting amount of VideoRAM to %d kB\n", pScrn->videoRam);
+@@ -1100,6 +1109,31 @@
+ }
+
+ /* When rotating, switch shadow framebuffer on and acceleration off. */
++ if ((s = xf86GetOptValString(VIAOptions, OPTION_ROTATION_TYPE))) {
++ if (!xf86NameCmp(s, "SWRandR")) {
++ pVia->shadowFB = TRUE;
++ pVia->NoAccel = TRUE;
++ pVia->RandRRotation = TRUE;
++ pVia->rotate = RR_Rotate_0;
++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Rotating screen "
++ "RandR enabled, acceleration disabled\n");
++ } else if (!xf86NameCmp(s, "HWRandR")) {
++ pVia->shadowFB = TRUE;
++ pVia->NoAccel = TRUE;
++ pVia->RandRRotation = TRUE;
++ pVia->rotate = RR_Rotate_0;
++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Hardware accelerated "
++ "rotating screen is not implemented. Using SW RandR.\n");
++ } else {
++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "\"%s\" is not a valid"
++ "value for Option \"RotationType\".\n", s);
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
++ "Valid options are \"SWRandR\" and \"HWRandR\".\n");
++ }
++ }
++
++
++ /* When rotating, switch shadow framebuffer on and acceleration off. */
+ if ((s = xf86GetOptValString(VIAOptions, OPTION_ROTATE))) {
+ if (!xf86NameCmp(s, "CW")) {
+ pVia->shadowFB = TRUE;
+@@ -1498,6 +1532,7 @@
+ }
+ }
+
++ /* Initialize the colormap */
+ Gamma zeros = { 0.0, 0.0, 0.0 };
+ if (!xf86SetGamma(pScrn, zeros)) {
+ VIAFreeRec(pScrn);
+@@ -1561,9 +1596,8 @@
+
+ if (pBIOSInfo->Panel->IsActive &&
+ ((pVia->Chipset == VIA_K8M800) ||
+- (pVia->Chipset == VIA_PM800) ||
+ (pVia->Chipset == VIA_VM800))) {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Panel on K8M800, PM800 and "
++ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Panel on K8M800 and "
+ "VM800 is currently not supported.\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Using VBE to set modes to work around this.\n");
+@@ -1621,7 +1655,7 @@
+ *
+ * CLE266A: primary AdjustFrame can use only 24 bits, so we are limited
+ * to 12x11 bits; 4080x2048 (~2:1), 3344x2508 (4:3), or 2896x2896 (1:1).
+- * Test CLE266Cx, KM400, KM400A, K8M800, PM800, CN400 please.
++ * TODO Test CLE266Cx, KM400, KM400A, K8M800, CN400 please.
+ *
+ * We should be able to limit the memory available for a mode to 32 MB,
+ * but xf86ValidateModes (or miScanLineWidth) fails to catch this
+@@ -1629,13 +1663,14 @@
+ */
+
+ /* Select valid modes from those available. */
+- i = xf86ValidateModes(pScrn, pScrn->monitor->Modes, /* availModes */
+- pScrn->display->modes, /* modeNames */
+- clockRanges, /* list of clock ranges */
++ i = xf86ValidateModes(pScrn,
++ pScrn->monitor->Modes, /* List of modes available for the monitor */
++ pScrn->display->modes, /* List of mode names that the screen is requesting */
++ clockRanges, /* list of clock ranges */
+ NULL, /* list of line pitches */
+ 256, /* minimum line pitch */
+ 3344, /* maximum line pitch */
+- 32 * 8, /* pitch inc (bits) */
++ 16 * 8, /* pitch increment (in bits), we just want 16 bytes alignment */
+ 128, /* min height */
+ 2508, /* max height */
+ pScrn->display->virtualX, /* virtual width */
+@@ -1650,6 +1685,7 @@
+ return FALSE;
+ }
+
++ /* This function deletes modes in the modes field of the ScrnInfoRec that have been marked as invalid. */
+ xf86PruneDriverModes(pScrn);
+
+ if (i == 0 || pScrn->modes == NULL) {
+@@ -1662,9 +1698,17 @@
+ /* Set up screen parameters. */
+ pVia->Bpp = pScrn->bitsPerPixel >> 3;
+ pVia->Bpl = pScrn->displayWidth * pVia->Bpp;
++
++ /* This function fills in the Crtc fields for all the modes in the modes field of the ScrnInfoRec. */
+ xf86SetCrtcForModes(pScrn, INTERLACE_HALVE_V);
++
++ /* Set the current mode to the first in the list */
+ pScrn->currentMode = pScrn->modes;
++
++ /* Print the list of modes being used */
+ xf86PrintModes(pScrn);
++
++ /* Set display resolution */
+ xf86SetDpi(pScrn, 0, 0);
+
+ #ifdef USE_FB
+@@ -1935,7 +1979,9 @@
+ Regs->SR17 = hwp->readSeq(hwp, 0x17);
+ Regs->SR18 = hwp->readSeq(hwp, 0x18);
+ Regs->SR19 = hwp->readSeq(hwp, 0x19);
++ /* PCI Bus Control */
+ Regs->SR1A = hwp->readSeq(hwp, 0x1A);
++
+ Regs->SR1B = hwp->readSeq(hwp, 0x1B);
+ Regs->SR1C = hwp->readSeq(hwp, 0x1C);
+ Regs->SR1D = hwp->readSeq(hwp, 0x1D);
+@@ -1977,40 +2023,56 @@
+ Regs->SR4C = hwp->readSeq(hwp, 0x4C);
+ break;
+ }
+- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+- "Non-Primary Adapter! saving VGA_SR_MODE only !!\n"));
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Crtc...\n"));
+
+ Regs->CR13 = hwp->readCrtc(hwp, 0x13);
+
+ Regs->CR32 = hwp->readCrtc(hwp, 0x32);
+ Regs->CR33 = hwp->readCrtc(hwp, 0x33);
+- Regs->CR34 = hwp->readCrtc(hwp, 0x34);
++
+ Regs->CR35 = hwp->readCrtc(hwp, 0x35);
+ Regs->CR36 = hwp->readCrtc(hwp, 0x36);
+
++
++
++ /* Starting Address */
++ /* Start Address High */
++ Regs->CR0C = hwp->readCrtc(hwp, 0x0C);
++ /* Start Address Low */
++ Regs->CR0D = hwp->readCrtc(hwp, 0x0D);
++ /* Starting Address Overflow Bits[28:24] */
+ Regs->CR48 = hwp->readCrtc(hwp, 0x48);
++ /* CR34 are fire bits. Must be writed after CR0C CR0D CR48. */
++ /* Starting Address Overflow Bits[23:16] */
++ Regs->CR34 = hwp->readCrtc(hwp, 0x34);
++
++
+ Regs->CR49 = hwp->readCrtc(hwp, 0x49);
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "TVSave...\n"));
+ if (pBIOSInfo->TVI2CDev)
+ ViaTVSave(pScrn);
+
+- /* Save LCD control registers. */
++ /* Save LCD control registers (from CR 0x50 to 0x93). */
+ for (i = 0; i < 68; i++)
+ Regs->CRTCRegs[i] = hwp->readCrtc(hwp, i + 0x50);
+
+ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
+-
+- Regs->CRA0 = hwp->readCrtc(hwp, 0xA0);
+- Regs->CRA1 = hwp->readCrtc(hwp, 0xA1);
+- Regs->CRA2 = hwp->readCrtc(hwp, 0xA2);
+-
++ /* LVDS Channel 2 Function Select 0 / DVI Function Select */
+ Regs->CR97 = hwp->readCrtc(hwp, 0x97);
++ /* LVDS Channel 1 Function Select 0 */
+ Regs->CR99 = hwp->readCrtc(hwp, 0x99);
++ /* Digital Video Port 1 Function Select 0 */
+ Regs->CR9B = hwp->readCrtc(hwp, 0x9B);
++ /* Power Now Control 4 */
+ Regs->CR9F = hwp->readCrtc(hwp, 0x9F);
+
++ /* Horizontal Scaling Initial Value */
++ Regs->CRA0 = hwp->readCrtc(hwp, 0xA0);
++ /* Vertical Scaling Initial Value */
++ Regs->CRA1 = hwp->readCrtc(hwp, 0xA1);
++ /* Scaling Enable Bit */
++ Regs->CRA2 = hwp->readCrtc(hwp, 0xA2);
+ }
+
+ /* Save TMDS status */
+@@ -2098,11 +2160,19 @@
+ hwp->writeSeq(hwp, 0x45, Regs->SR45);
+ hwp->writeSeq(hwp, 0x46, Regs->SR46);
+
++ /* Reset VCK PLL */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) | 0x02); /* Set SR40[1] to 1 */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) & 0xFD); /* Set SR40[1] to 0 */
++
+ /* ECK Clock Synthesizer: */
+ hwp->writeSeq(hwp, 0x47, Regs->SR47);
+ hwp->writeSeq(hwp, 0x48, Regs->SR48);
+ hwp->writeSeq(hwp, 0x49, Regs->SR49);
+
++ /* Reset ECK PLL */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) | 0x01); /* Set SR40[0] to 1 */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) & 0xFE); /* Set SR40[0] to 0 */
++
+ switch (pVia->Chipset) {
+ case VIA_CLE266:
+ case VIA_KM400:
+@@ -2112,6 +2182,10 @@
+ hwp->writeSeq(hwp, 0x4A, Regs->SR4A);
+ hwp->writeSeq(hwp, 0x4B, Regs->SR4B);
+ hwp->writeSeq(hwp, 0x4C, Regs->SR4C);
++
++ /* Reset LCK PLL */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) | 0x04); /* Set SR40[2] to 1 */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) & 0xFB); /* Set SR40[2] to 0 */
+ break;
+ }
+
+@@ -2127,14 +2201,23 @@
+ hwp->writeCrtc(hwp, 0x32, Regs->CR32);
+ /* HSYNCH Adjuster */
+ hwp->writeCrtc(hwp, 0x33, Regs->CR33);
+- /* Starting Address Overflow */
+- hwp->writeCrtc(hwp, 0x34, Regs->CR34);
+ /* Extended Overflow */
+ hwp->writeCrtc(hwp, 0x35, Regs->CR35);
+ /*Power Management 3 (Monitor Control) */
+ hwp->writeCrtc(hwp, 0x36, Regs->CR36);
+
++ /* Starting Address */
++ /* Start Address High */
++ hwp->writeCrtc(hwp, 0x0C, Regs->CR0C);
++ /* Start Address Low */
++ hwp->writeCrtc(hwp, 0x0D, Regs->CR0D);
++ /* Starting Address Overflow Bits[28:24] */
+ hwp->writeCrtc(hwp, 0x48, Regs->CR48);
++ /* CR34 are fire bits. Must be writed after CR0C CR0D CR48. */
++ /* Starting Address Overflow Bits[23:16] */
++ hwp->writeCrtc(hwp, 0x34, Regs->CR34);
++
++
+ hwp->writeCrtc(hwp, 0x49, Regs->CR49);
+
+ /* Restore LCD control registers. */
+@@ -2453,7 +2536,6 @@
+ VIALoadRgbLut(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
+ VisualPtr pVisual)
+ {
+- VIAPtr pVia = VIAPTR(pScrn);
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
+
+ int i, j, index;
+@@ -2880,7 +2962,6 @@
+ VIAWriteMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ {
+ VIAPtr pVia = VIAPTR(pScrn);
+- VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAWriteMode\n"));
+
+@@ -3033,9 +3114,7 @@
+ VIAAdjustFrame(int scrnIndex, int x, int y, int flags)
+ {
+ ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+- vgaHWPtr hwp = VGAHWPTR(pScrn);
+ VIAPtr pVia = VIAPTR(pScrn);
+- CARD32 Base;
+
+ DEBUG(xf86DrvMsg(scrnIndex, X_INFO, "VIAAdjustFrame %dx%d\n", x, y));
+
+@@ -3173,7 +3252,6 @@
+ static void
+ VIADPMS(ScrnInfoPtr pScrn, int mode, int flags)
+ {
+- vgaHWPtr hwp = VGAHWPTR(pScrn);
+ VIAPtr pVia = VIAPTR(pScrn);
+ VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
+
+diff -ruN xf86-video-openchrome-0.2.904/src/via_driver.h ../openchrome/xf86-video-openchrome-0.2.904/src/via_driver.h
+--- xf86-video-openchrome-0.2.904/src/via_driver.h 2009-10-09 01:09:22.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_driver.h 2010-03-07 01:09:00.000000000 +0100
+@@ -130,6 +130,7 @@
+ CARD8 SR4A, SR4B, SR4C;
+
+ /* extended CRTC registers */
++ CARD8 CR0C, CR0D;
+ CARD8 CR13, CR30, CR31, CR32, CR33, CR34, CR35, CR36;
+ CARD8 CR37, CR38, CR39, CR3A, CR40, CR41, CR42, CR43;
+ CARD8 CR44, CR45, CR46, CR47, CR48, CR49, CR4A;
+@@ -418,10 +419,10 @@
+ Bool PrintVGARegs;
+ Bool PrintTVRegs;
+ Bool I2CScan;
++#endif /* HAVE_DEBUG */
+
+ Bool UseLegacyModeSwitch ;
+ video_via_regs* VideoRegs ;
+-#endif /* HAVE_DEBUG */
+ } VIARec, *VIAPtr;
+
+ #define VIAPTR(p) ((VIAPtr)((p)->driverPrivate))
+diff -ruN xf86-video-openchrome-0.2.904/src/via_id.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_id.c
+--- xf86-video-openchrome-0.2.904/src/via_id.c 2009-10-07 23:30:39.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_id.c 2010-03-07 01:09:00.000000000 +0100
+@@ -152,6 +152,7 @@
+ {"MSI PM8PM", VIA_VM800, 0x1462, 0x7222, VIA_DEVICE_CRT},
+ {"Twinhead M6", VIA_VM800, 0x14FF, 0xA007, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"RoverBook Partner W500", VIA_VM800, 0x1509, 0x4330, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
++ {"FIC PTM800Pro LF", VIA_VM800, 0x1509, 0x601A, VIA_DEVICE_CRT},
+ {"Clevo/RoverBook Voyager V511L", VIA_VM800, 0x1558, 0x0662, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Clevo M5xxS", VIA_VM800, 0x1558, 0x5406, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Biostar P4M80-M4 / P4VMA-M", VIA_VM800, 0x1565, 0x1202, VIA_DEVICE_CRT},
+@@ -170,6 +171,7 @@
+ {"Asustek M2V-MX SE", VIA_K8M890, 0x1043, 0x8297, VIA_DEVICE_CRT},
+ {"Foxconn K8M890M2MA-RS2H", VIA_K8M890, 0x105B, 0x0C84, VIA_DEVICE_CRT},
+ {"Shuttle FX22V1", VIA_K8M890, 0x1297, 0x3080, VIA_DEVICE_CRT},
++ {"MSI K8M890M2-V", VIA_K8M890, 0x1462, 0x7139, VIA_DEVICE_CRT},
+ {"MSI K9VGM-V", VIA_K8M890, 0x1462, 0x7253, VIA_DEVICE_CRT},
+ {"Averatec 226x", VIA_K8M890, 0x14FF, 0xA002, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Fujitsu/Siemens Amilo La 1703", VIA_K8M890, 0x1734, 0x10D9, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+@@ -189,6 +191,7 @@
+ {"MSI P4M900M / P4M900M2-F/L", VIA_P4M900, 0x1462, 0x7255, VIA_DEVICE_CRT},
+ {"MSI P4M900M3-L", VIA_P4M900, 0x1462, 0x7387, VIA_DEVICE_CRT},
+ {"Twinhead H12V", VIA_P4M900, 0x14FF, 0xA00F, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
++ {"Twinhead K15V", VIA_P4M900, 0x14FF, 0xA012, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Everex NC1501/NC1503", VIA_P4M900, 0x1509, 0x1E30, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Clevo M660SE", VIA_P4M900, 0x1558, 0x0664, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Clevo M660SR", VIA_P4M900, 0x1558, 0x0669, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+@@ -224,6 +227,7 @@
+
+ /*** VX800 ***/
+ {"VIA Epia M700", VIA_VX800, 0x1106, 0x1122, VIA_DEVICE_CRT},
++ {"Guillemot-Hercules ECafe EC900B", VIA_VX800, 0x1106, 0x3349, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"VIA OpenBook", VIA_VX800, 0x1170, 0x0311, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, /* VIA OpenBook eNote VBE8910 */
+ {"Samsung NC20", VIA_VX800, 0x144d, 0xc04e, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Quanta DreamBook Light IL1", VIA_VX800, 0x152d, 0x0771, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+@@ -231,6 +235,7 @@
+
+ /*** VX855 ***/
+ {"VIA VT8562C", VIA_VX855, 0x1106, 0x5122, VIA_DEVICE_CRT},
++ {"OLPC XO 1.5", VIA_VX855, 0x152D, 0x0833, VIA_DEVICE_LCD},
+
+ /* keep this */
+ {NULL, VIA_UNKNOWN, 0x0000, 0x0000, VIA_DEVICE_NONE}
+diff -ruN xf86-video-openchrome-0.2.904/src/via_mode.h ../openchrome/xf86-video-openchrome-0.2.904/src/via_mode.h
+--- xf86-video-openchrome-0.2.904/src/via_mode.h 2009-10-07 23:31:47.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_mode.h 2010-03-07 01:09:00.000000000 +0100
+@@ -54,50 +54,50 @@
+ CARD16 UniChrome;
+ union pllparams UniChromePro;
+ } ViaDotClocks[] = {
+- { 25200, 0x513C, /* 0xa79004 */ { 1, 4, 6, 169 } },
+- { 25312, 0xC763, /* 0xc49005 */ { 1, 4, 7, 198 } },
+- { 26591, 0x471A, /* 0xce9005 */ { 1, 4, 7, 208 } },
+- { 31500, 0xC558, /* 0xae9003 */ { 1, 4, 5, 176 } },
+- { 31704, 0x471F, /* 0xaf9002 */ { 1, 4, 4, 177 } },
+- { 32663, 0xC449, /* 0x479000 */ { 1, 4, 2, 73 } },
+- { 33750, 0x4721, /* 0x959002 */ { 1, 4, 4, 151 } },
+- { 35500, 0x5877, /* 0x759001 */ { 1, 4, 3, 119 } },
+- { 36000, 0x5879, /* 0x9f9002 */ { 1, 4, 4, 161 } },
+- { 39822, 0xC459, /* 0x578c02 */ { 1, 3, 4, 89 } },
+- { 40000, 0x515F, /* 0x848c04 */ { 1, 3, 6, 134 } },
+- { 41164, 0x4417, /* 0x2c8c00 */ { 1, 3, 2, 46 } },
+- { 46981, 0x5069, /* 0x678c02 */ { 1, 3, 4, 105 } },
+- { 49500, 0xC353, /* 0xa48c04 */ { 3, 3, 5, 138 } },
+- { 50000, 0xC354, /* 0x368c00 */ { 1, 3, 2, 56 } },
+- { 56300, 0x4F76, /* 0x3d8c00 */ { 1, 3, 2, 63 } },
+- { 57275, 0, /* 0x3e8c00 */ { 1, 3, 5, 157 } }, /* For XO 1.5 no need for a unichrome clock */
+- { 57284, 0x4E70, /* 0x3e8c00 */ { 1, 3, 2, 64 } },
+- { 64995, 0x0D3B, /* 0x6b8c01 */ { 1, 3, 3, 109 } },
+- { 65000, 0x0D3B, /* 0x6b8c01 */ { 1, 3, 3, 109 } }, /* Slightly unstable on PM800 */
+- { 65028, 0x866D, /* 0x6b8c01 */ { 1, 3, 3, 109 } },
+- { 74480, 0x156E, /* 0x288800 */ { 1, 2, 2, 42 } },
+- { 75000, 0x156E, /* 0x288800 */ { 1, 2, 2, 42 } },
+- { 78800, 0x442C, /* 0x2a8800 */ { 1, 2, 2, 44 } },
+- { 81135, 0x0622, /* 0x428801 */ { 1, 2, 3, 68 } },
+- { 81613, 0x4539, /* 0x708803 */ { 1, 2, 5, 114 } },
+- { 94500, 0x4542, /* 0x4d8801 */ { 1, 2, 3, 79 } },
+- { 108000, 0x0B53, /* 0x778802 */ { 1, 2, 4, 121 } },
+- { 108280, 0x4879, /* 0x778802 */ { 1, 2, 4, 121 } },
+- { 122000, 0x0D6F, /* 0x428800 */ { 1, 2, 2, 68 } },
+- { 122726, 0x073C, /* 0x878802 */ { 1, 2, 4, 137 } },
+- { 135000, 0x0742, /* 0x6f8801 */ { 1, 2, 3, 113 } },
+- { 148500, 0x0853, /* 0x518800 */ { 1, 2, 2, 83 } },
+- { 155800, 0x0857, /* 0x558402 */ { 1, 1, 4, 87 } },
+- { 157500, 0x422C, /* 0x2a8400 */ { 1, 1, 2, 44 } },
+- { 161793, 0x4571, /* 0x6f8403 */ { 1, 1, 5, 113 } },
+- { 162000, 0x0A71, /* 0x6f8403 */ { 1, 1, 5, 113 } },
+- { 175500, 0x4231, /* 0x2f8400 */ { 1, 1, 2, 49 } },
+- { 189000, 0x0542, /* 0x4d8401 */ { 1, 1, 3, 79 } },
+- { 202500, 0x0763, /* 0x6F8402 */ { 1, 1, 4, 113 } },
+- { 204800, 0x0764, /* 0x548401 */ { 1, 1, 3, 86 } },
+- { 218300, 0x043D, /* 0x3b8400 */ { 1, 1, 2, 61 } },
+- { 229500, 0x0660, /* 0x3e8400 */ { 1, 1, 2, 64 } }, /* Not tested on Pro } */
+- { 0, 0, { 0, 0, 0, 0 } }
++ { 25200, 0x513C, /* 0xa79004 */ { { 1, 4, 6, 169 } } },
++ { 25312, 0xC763, /* 0xc49005 */ { { 1, 4, 7, 198 } } },
++ { 26591, 0x471A, /* 0xce9005 */ { { 1, 4, 7, 208 } } },
++ { 31500, 0xC558, /* 0xae9003 */ { { 1, 4, 5, 176 } } },
++ { 31704, 0x471F, /* 0xaf9002 */ { { 1, 4, 4, 177 } } },
++ { 32663, 0xC449, /* 0x479000 */ { { 1, 4, 2, 73 } } },
++ { 33750, 0x4721, /* 0x959002 */ { { 1, 4, 4, 151 } } },
++ { 35500, 0x5877, /* 0x759001 */ { { 1, 4, 3, 119 } } },
++ { 36000, 0x5879, /* 0x9f9002 */ { { 1, 4, 4, 161 } } },
++ { 39822, 0xC459, /* 0x578c02 */ { { 1, 3, 4, 89 } } },
++ { 40000, 0x515F, /* 0x848c04 */ { { 1, 3, 6, 134 } } },
++ { 41164, 0x4417, /* 0x2c8c00 */ { { 1, 3, 2, 46 } } },
++ { 46981, 0x5069, /* 0x678c02 */ { { 1, 3, 4, 105 } } },
++ { 49500, 0xC353, /* 0xa48c04 */ { { 3, 3, 5, 138 } } },
++ { 50000, 0xC354, /* 0x368c00 */ { { 1, 3, 2, 56 } } },
++ { 56300, 0x4F76, /* 0x3d8c00 */ { { 1, 3, 2, 63 } } },
++ { 57275, 0, /* 0x3e8c00 */ { { 1, 3, 5, 157 } } }, /* For XO 1.5 no need for a unichrome clock */
++ { 57284, 0x4E70, /* 0x3e8c00 */ { { 1, 3, 2, 64 } } },
++ { 64995, 0x0D3B, /* 0x6b8c01 */ { { 1, 3, 3, 109 } } },
++ { 65000, 0x0D3B, /* 0x6b8c01 */ { { 1, 3, 3, 109 } } }, /* Slightly unstable on PM800 */
++ { 65028, 0x866D, /* 0x6b8c01 */ { { 1, 3, 3, 109 } } },
++ { 74480, 0x156E, /* 0x288800 */ { { 1, 2, 2, 42 } } },
++ { 75000, 0x156E, /* 0x288800 */ { { 1, 2, 2, 42 } } },
++ { 78800, 0x442C, /* 0x2a8800 */ { { 1, 2, 2, 44 } } },
++ { 81135, 0x0622, /* 0x428801 */ { { 1, 2, 3, 68 } } },
++ { 81613, 0x4539, /* 0x708803 */ { { 1, 2, 5, 114 } } },
++ { 94500, 0x4542, /* 0x4d8801 */ { { 1, 2, 3, 79 } } },
++ { 108000, 0x0B53, /* 0x778802 */ { { 1, 2, 4, 121 } } },
++ { 108280, 0x4879, /* 0x778802 */ { { 1, 2, 4, 121 } } },
++ { 122000, 0x0D6F, /* 0x428800 */ { { 1, 2, 2, 68 } } },
++ { 122726, 0x073C, /* 0x878802 */ { { 1, 2, 4, 137 } } },
++ { 135000, 0x0742, /* 0x6f8801 */ { { 1, 2, 3, 113 } } },
++ { 148500, 0x0853, /* 0x518800 */ { { 1, 2, 2, 83 } } },
++ { 155800, 0x0857, /* 0x558402 */ { { 1, 1, 4, 87 } } },
++ { 157500, 0x422C, /* 0x2a8400 */ { { 1, 1, 2, 44 } } },
++ { 161793, 0x4571, /* 0x6f8403 */ { { 1, 1, 5, 113 } } },
++ { 162000, 0x0A71, /* 0x6f8403 */ { { 1, 1, 5, 113 } } },
++ { 175500, 0x4231, /* 0x2f8400 */ { { 1, 1, 2, 49 } } },
++ { 189000, 0x0542, /* 0x4d8401 */ { { 1, 1, 3, 79 } } },
++ { 202500, 0x0763, /* 0x6F8402 */ { { 1, 1, 4, 113 } } },
++ { 204800, 0x0764, /* 0x548401 */ { { 1, 1, 3, 86 } } },
++ { 218300, 0x043D, /* 0x3b8400 */ { { 1, 1, 2, 61 } } },
++ { 229500, 0x0660, /* 0x3e8400 */ { { 1, 1, 2, 64 } } }, /* Not tested on Pro } */
++ { 0, 0, { { 0, 0, 0, 0 } } }
+ };
+
+ /*
+diff -ruN xf86-video-openchrome-0.2.904/src/via_panel.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_panel.c
+--- xf86-video-openchrome-0.2.904/src/via_panel.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_panel.c 2010-03-07 01:09:00.000000000 +0100
+@@ -171,12 +171,18 @@
+ resWidth, resHeight, panelWidth, panelHeight));
+
+ if (resWidth < panelWidth) {
+- /* FIXME: It is different for chipset < K8M800 */
+- horScalingFactor = ((resWidth - 1) * 4096) / (panelWidth - 1);
++ /* Load Horizontal Scaling Factor */
++ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
++ horScalingFactor = ((resWidth - 1) * 4096) / (panelWidth - 1);
++
++ /* Horizontal scaling enabled */
++ cra2 = 0xC0;
++ cr9f = horScalingFactor & 0x0003; /* HSCaleFactor[1:0] at CR9F[1:0] */
++ } else {
++ /* TODO: Need testing */
++ horScalingFactor = ((resWidth - 1) * 1024) / (panelWidth - 1);
++ }
+
+- /* Horizontal scaling enabled */
+- cra2 = 0xC0;
+- cr9f = horScalingFactor & 0x0003; /* HSCaleFactor[1:0] at CR9F[1:0] */
+ cr77 = (horScalingFactor & 0x03FC) >> 2; /* HSCaleFactor[9:2] at CR77[7:0] */
+ cr79 = (horScalingFactor & 0x0C00) >> 10; /* HSCaleFactor[11:10] at CR79[5:4] */
+ cr79 <<= 4;
+@@ -184,11 +190,18 @@
+ }
+
+ if (resHeight < panelHeight) {
+- verScalingFactor = ((resHeight - 1) * 2048) / (panelHeight - 1);
++ /* Load Vertical Scaling Factor */
++ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
++ verScalingFactor = ((resHeight - 1) * 2048) / (panelHeight - 1);
++
++ /* Vertical scaling enabled */
++ cra2 |= 0x08;
++ cr79 |= ((verScalingFactor & 0x0001) << 3); /* VSCaleFactor[0] at CR79[3] */
++ } else {
++ /* TODO: Need testing */
++ verScalingFactor = ((resHeight - 1) * 1024) / (panelHeight - 1);
++ }
+
+- /* Vertical scaling enabled */
+- cra2 |= 0x08;
+- cr79 |= ((verScalingFactor & 0x0001) << 3); /* VSCaleFactor[0] at CR79[3] */
+ cr78 |= (verScalingFactor & 0x01FE) >> 1; /* VSCaleFactor[8:1] at CR78[7:0] */
+ cr79 |= ((verScalingFactor & 0x0600) >> 9) << 6; /* VSCaleFactor[10:9] at CR79[7:6] */
+ scaling = TRUE;
+@@ -203,12 +216,18 @@
+ ViaCrtcMask(hwp, 0x77, cr77, 0xFF);
+ ViaCrtcMask(hwp, 0x78, cr78, 0xFF);
+ ViaCrtcMask(hwp, 0x79, cr79, 0xF8);
+- ViaCrtcMask(hwp, 0x9F, cr9f, 0x03);
++ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
++ ViaCrtcMask(hwp, 0x9F, cr9f, 0x03);
++ }
+ ViaCrtcMask(hwp, 0x79, 0x03, 0x03);
+- } else
++ } else {
++ /* Disable panel scale */
+ ViaCrtcMask(hwp, 0x79, 0x00, 0x01);
+-
+- ViaCrtcMask(hwp, 0xA2, cra2, 0xC8);
++ }
++
++ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
++ ViaCrtcMask(hwp, 0xA2, cra2, 0xC8);
++ }
+
+ /* Horizontal scaling selection: interpolation */
+ // ViaCrtcMask(hwp, 0x79, 0x02, 0x02);
+@@ -233,14 +252,14 @@
+
+ if (panelMode->Width && panelMode->Height) {
+
+- /* TODO: fix refresh rate and check malloc */
++ /* TODO: fix refresh rate */
+ DisplayModePtr p = malloc( sizeof(DisplayModeRec) ) ;
+- memset(p, 0, sizeof(DisplayModeRec));
++ if (p) {
++ memset(p, 0, sizeof(DisplayModeRec));
+
+- float refresh = 60.0f ;
++ float refresh = 60.0f ;
+
+- /* The following code is borrowed from xf86SetModeCrtc. */
+- if (p) {
++ /* The following code is borrowed from xf86SetModeCrtc. */
+ viaTimingCvt(p, panelMode->Width, panelMode->Height, refresh, FALSE, TRUE);
+ p->CrtcHDisplay = p->HDisplay;
+ p->CrtcHSyncStart = p->HSyncStart;
+@@ -256,9 +275,13 @@
+ p->CrtcVBlankEnd = max(p->CrtcVSyncEnd, p->CrtcVTotal);
+ p->CrtcHBlankStart = min(p->CrtcHSyncStart, p->CrtcHDisplay);
+ p->CrtcHBlankEnd = max(p->CrtcHSyncEnd, p->CrtcHTotal);
+-
++
++ pVia->pBIOSInfo->Panel->NativeDisplayMode = p;
++ } else {
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++ "Out of memory. Size: %d bytes\n", sizeof(DisplayModeRec));
+ }
+- pVia->pBIOSInfo->Panel->NativeDisplayMode = p;
++
+ } else {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Invalid panel dimension (%dx%d)\n", panelMode->Width,
+@@ -339,22 +362,22 @@
+ ViaPanelGetSizeFromEDID(ScrnInfoPtr pScrn, xf86MonPtr pMon,
+ int *width, int *height)
+ {
+- int i, max = 0, vsize;
++ int i, max_hsize = 0, vsize = 0;
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAGetPanelSizeFromEDID\n"));
+
+ /* !!! Why are we not checking VESA modes? */
+
+ /* checking standard timings */
+- for (i = 0; i < 8; i++)
++ for (i = 0; i < STD_TIMINGS; i++)
+ if ((pMon->timings2[i].hsize > 256)
+- && (pMon->timings2[i].hsize > max)) {
+- max = pMon->timings2[i].hsize;
++ && (pMon->timings2[i].hsize > max_hsize)) {
++ max_hsize = pMon->timings2[i].hsize;
+ vsize = pMon->timings2[i].vsize;
+ }
+
+- if (max != 0) {
+- *width = max;
++ if (max_hsize != 0) {
++ *width = max_hsize;
+ *height = vsize;
+ return TRUE;
+ }
+@@ -369,14 +392,14 @@
+ struct detailed_timings timing = pMon->det_mon[i].section.d_timings;
+
+ /* ignore v_active for now */
+- if ((timing.clock > 15000000) && (timing.h_active > max)) {
+- max = timing.h_active;
++ if ((timing.clock > 15000000) && (timing.h_active > max_hsize)) {
++ max_hsize = timing.h_active;
+ vsize = timing.v_active;
+ }
+ }
+
+- if (max != 0) {
+- *width = max;
++ if (max_hsize != 0) {
++ *width = max_hsize;
+ *height = vsize;
+ return TRUE;
+ }
+diff -ruN xf86-video-openchrome-0.2.904/src/via_video.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_video.c
+--- xf86-video-openchrome-0.2.904/src/via_video.c 2009-10-08 01:39:13.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_video.c 2010-03-07 01:09:00.000000000 +0100
+@@ -466,8 +466,8 @@
+
+ viaVidEng->video1_ctl = 0;
+ viaVidEng->video3_ctl = 0;
+- viaVidEng->compose = 0x80000000;
+- viaVidEng->compose = 0x40000000;
++ viaVidEng->compose = V1_COMMAND_FIRE;
++ viaVidEng->compose = V3_COMMAND_FIRE;
+ viaVidEng->color_key = 0x821;
+ viaVidEng->snd_color_key = 0x821;
+
+@@ -479,16 +479,16 @@
+ VIAPtr pVia = VIAPTR(pScrn);
+ vmmtr viaVidEng = (vmmtr) pVia->VidMapBase;
+
++ DBG_DD(ErrorF(" via_video.c : viaSaveVideo : \n"));
+ /* Save video registers */
+- /* TODO: Identify which registers should be saved and restored */
+ memcpy(pVia->VideoRegs, (void*)viaVidEng, sizeof(video_via_regs));
+
+ pVia->dwV1 = ((vmmtr) viaVidEng)->video1_ctl;
+ pVia->dwV3 = ((vmmtr) viaVidEng)->video3_ctl;
+ viaVidEng->video1_ctl = 0;
+ viaVidEng->video3_ctl = 0;
+- viaVidEng->compose = 0x80000000;
+- viaVidEng->compose = 0x40000000;
++ viaVidEng->compose = V1_COMMAND_FIRE;
++ viaVidEng->compose = V3_COMMAND_FIRE;
+ }
+
+ void
+@@ -496,16 +496,65 @@
+ {
+ VIAPtr pVia = VIAPTR(pScrn);
+ vmmtr viaVidEng = (vmmtr) pVia->VidMapBase;
++ video_via_regs *localVidEng = pVia->VideoRegs;
++
+
++ DBG_DD(ErrorF(" via_video.c : viaRestoreVideo : \n"));
+ /* Restore video registers */
+- /* TODO: Identify which registers should be saved and restored */
+- memcpy((void*)viaVidEng, pVia->VideoRegs, sizeof(video_via_regs));
+-
++ /* flush restored video engines' setting to VidMapBase */
++
++ viaVidEng->alphawin_hvstart = localVidEng->alphawin_hvstart;
++ viaVidEng->alphawin_size = localVidEng->alphawin_size;
++ viaVidEng->alphawin_ctl = localVidEng->alphawin_ctl;
++ viaVidEng->alphafb_stride = localVidEng->alphafb_stride;
++ viaVidEng->color_key = localVidEng->color_key;
++ viaVidEng->alphafb_addr = localVidEng->alphafb_addr;
++ viaVidEng->chroma_low = localVidEng->chroma_low;
++ viaVidEng->chroma_up = localVidEng->chroma_up;
++
++ if (pVia->ChipId != PCI_CHIP_VT3314)
++ {
++ /*VT3314 only has V3*/
++ viaVidEng->video1_ctl = localVidEng->video1_ctl;
++ viaVidEng->video1_fetch = localVidEng->video1_fetch;
++ viaVidEng->video1y_addr1 = localVidEng->video1y_addr1;
++ viaVidEng->video1_stride = localVidEng->video1_stride;
++ viaVidEng->video1_hvstart = localVidEng->video1_hvstart;
++ viaVidEng->video1_size = localVidEng->video1_size;
++ viaVidEng->video1y_addr2 = localVidEng->video1y_addr2;
++ viaVidEng->video1_zoom = localVidEng->video1_zoom;
++ viaVidEng->video1_mictl = localVidEng->video1_mictl;
++ viaVidEng->video1y_addr0 = localVidEng->video1y_addr0;
++ viaVidEng->video1_fifo = localVidEng->video1_fifo;
++ viaVidEng->video1y_addr3 = localVidEng->video1y_addr3;
++ viaVidEng->v1_source_w_h = localVidEng->v1_source_w_h ;
++ viaVidEng->video1_CSC1 = localVidEng->video1_CSC1;
++ viaVidEng->video1_CSC2 = localVidEng->video1_CSC2;
++ }
++ viaVidEng->snd_color_key = localVidEng->snd_color_key;
++ viaVidEng->v3alpha_prefifo = localVidEng->v3alpha_prefifo;
++ viaVidEng->v3alpha_fifo = localVidEng->v3alpha_fifo;
++ viaVidEng->video3_CSC2 = localVidEng->video3_CSC2;
++ viaVidEng->video3_CSC2 = localVidEng->video3_CSC2;
++ viaVidEng->v3_source_width = localVidEng->v3_source_width;
++ viaVidEng->video3_ctl = localVidEng->video3_ctl;
++ viaVidEng->video3_addr0 = localVidEng->video3_addr0;
++ viaVidEng->video3_addr1 = localVidEng->video3_addr1;
++ viaVidEng->video3_stride = localVidEng->video3_stride;
++ viaVidEng->video3_hvstart = localVidEng->video3_hvstart;
++ viaVidEng->video3_size = localVidEng->video3_size;
++ viaVidEng->v3alpha_fetch = localVidEng->v3alpha_fetch;
++ viaVidEng->video3_zoom = localVidEng->video3_zoom;
++ viaVidEng->video3_mictl = localVidEng->video3_mictl;
++ viaVidEng->video3_CSC1 = localVidEng->video3_CSC1;
++ viaVidEng->video3_CSC2 = localVidEng->video3_CSC2;
++ viaVidEng->compose = localVidEng->compose;
++
+ viaVidEng->video1_ctl = pVia->dwV1;
+ viaVidEng->video3_ctl = pVia->dwV3;
+- viaVidEng->compose = 0x80000000;
+- viaVidEng->compose = 0x40000000;
+-
++ if (pVia->ChipId != PCI_CHIP_VT3314)
++ viaVidEng->compose = V1_COMMAND_FIRE;
++ viaVidEng->compose = V3_COMMAND_FIRE;
+ }
+
+ void
+@@ -524,8 +573,8 @@
+
+ viaVidEng->video1_ctl = 0;
+ viaVidEng->video3_ctl = 0;
+- viaVidEng->compose = 0x80000000;
+- viaVidEng->compose = 0x40000000;
++ viaVidEng->compose = V1_COMMAND_FIRE;
++ viaVidEng->compose = V3_COMMAND_FIRE;
+
+ /*
+ * Free all adaptor info allocated in viaInitVideo.
+@@ -561,7 +610,7 @@
+ XF86VideoAdaptorPtr *adaptors, *newAdaptors;
+ int num_adaptors, num_new;
+
+- DBG_DD(ErrorF(" via_video.c : viaInitVideo : \n"));
++ DBG_DD(ErrorF(" via_video.c : viaInitVideo, Screen[%d]\n", pScrn->scrnIndex));
+
+ allAdaptors = NULL;
+ newAdaptors = NULL;
+@@ -832,7 +881,7 @@
+ DevUnion *pdevUnion;
+ int i, j, usedPorts, numPorts;
+
+- DBG_DD(ErrorF(" via_video.c : viaSetupImageVideo: \n"));
++ DBG_DD(ErrorF(" via_video.c : viaSetupAdaptors (viaSetupImageVideo): \n"));
+
+ xvBrightness = MAKE_ATOM("XV_BRIGHTNESS");
+ xvContrast = MAKE_ATOM("XV_CONTRAST");
+@@ -1042,6 +1091,8 @@
+ }
+
+ } else {
++ DBG_DD(ErrorF(" via_video.c : viaGetPortAttribute : is not supported the attribute\n"));
++
+ /*return BadMatch */;
+ }
+ return Success;
+@@ -1498,6 +1549,7 @@
+
+ DBG_DD(ErrorF(" via_video.c : viaQueryImageAttributes : FourCC=0x%x, ",
+ id));
++ DBG_DD(ErrorF(" via_video.c : Screen[%d], w=%d, h=%d\n", pScrn->scrnIndex, *w, *h));
+
+ if ((!w) || (!h))
+ return 0;
+@@ -1513,6 +1565,7 @@
+
+ switch (id) {
+ case FOURCC_YV12: /*Planar format : YV12 -4:2:0 */
++ case FOURCC_I420:
+ *h = (*h + 1) & ~1;
+ size = *w;
+ if (pVia->useDmaBlit)
+diff -ruN xf86-video-openchrome-0.2.904/src/via_video.h ../openchrome/xf86-video-openchrome-0.2.904/src/via_video.h
+--- xf86-video-openchrome-0.2.904/src/via_video.h 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_video.h 2010-03-07 01:09:00.000000000 +0100
+@@ -44,6 +44,10 @@
+
+ #define VIDEO_BPP 2
+
++
++#define V1_COMMAND_FIRE 0x80000000 /* V1 commands fire */
++#define V3_COMMAND_FIRE 0x40000000 /* V3 commands fire */
++
+ typedef struct
+ {
+ CARD32 interruptflag; /* 200 */
+@@ -89,7 +93,7 @@
+ CARD32 video3_ctl; /* 2a0 */
+ CARD32 video3_addr0; /* 2a4 */
+ CARD32 video3_addr1; /* 2a8 */
+- CARD32 video3_stribe; /* 2ac */
++ CARD32 video3_stride; /* 2ac */
+ CARD32 video3_hvstart; /* 2b0 */
+ CARD32 video3_size; /* 2b4 */
+ CARD32 v3alpha_fetch; /* 2b8 */
diff --git a/abs/core/xf86-video-r128/LICENSE b/abs/core/xf86-video-r128/LICENSE
new file mode 100644
index 0000000..229a261
--- /dev/null
+++ b/abs/core/xf86-video-r128/LICENSE
@@ -0,0 +1,219 @@
+
+Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+that the name of Marc Aurele La France not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. Marc Aurele La France makes no representations
+about the suitability of this software for any purpose. It is provided
+"as-is" without express or implied warranty.
+
+MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
+EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 2000 Gareth Hughes
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+GARETH HUGHES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+(c) 2004 Adam Jackson. Standard MIT license applies.
+
+Copyright 1999-2000 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
+Precision Insight, Inc., Cedar Park, Texas, and
+VA Linux Systems Inc., Fremont, California.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
+SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Copyright 2003 Alex Deucher.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NON-INFRINGEMENT. IN NO EVENT SHALL ALEX DEUCHER, OR ANY OTHER
+CONTRIBUTORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+
+/**************************************************************************
+
+Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
+ Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+on the rights to use, copy, modify, merge, publish, distribute, sub
+license, and/or sell copies of the Software, and to permit persons to whom
+the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ATI, PRECISION INSIGHT AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
+/*
+ * Authors:
+ * Kevin E. Martin <martin@valinux.com>
+ * Gareth Hughes <gareth@valinux.com>
+ *
+ */
+
+/**************************************************************************
+
+Copyright 2000, 2001 ATI Technologies Inc., Ontario, Canada, and
+ VA Linux Systems Inc., Fremont, California.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+on the rights to use, copy, modify, merge, publish, distribute, sub
+license, and/or sell copies of the Software, and to permit persons to whom
+the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ATI, VA LINUX SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
+/*
+ * Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
+ * Precision Insight, Inc., Cedar Park, Texas, and
+ * VA Linux Systems Inc., Fremont, California.
+ *
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation on the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial
+ * portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
+ * SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * Authors:
+ * Kevin E. Martin <martin@valinux.com>
+ * Rickard E. Faith <faith@valinux.com>
+ * Daryll Strauss <daryll@valinux.com>
+ * Gareth Hughes <gareth@valinux.com>
+ *
+ */
+
diff --git a/abs/core/xf86-video-r128/PKGBUILD b/abs/core/xf86-video-r128/PKGBUILD
index 9339f9a..3cd21c3 100644
--- a/abs/core/xf86-video-r128/PKGBUILD
+++ b/abs/core/xf86-video-r128/PKGBUILD
@@ -1,48 +1,27 @@
-# $Id: PKGBUILD 13012 2008-09-25 18:50:04Z jgc $
+# $Id: PKGBUILD 75907 2010-04-04 19:33:21Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-r128
-pkgver=6.8.0
-pkgrel=2
-_mesaver="7.2"
+pkgver=6.8.1
+pkgrel=3
pkgdesc="X.org ati Rage128 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.1' 'imake' 'mesa>=7.2'
- 'glproto>=1.4.9' 'xf86driproto' 'diffutils')
-conflicts=('xorg-server<1.5.1')
+license=('custom')
+depends=('glibc' 'r128-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' "mesa>=7.8" 'glproto>=1.4.11' 'xf86driproto' 'xineramaproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('007bec0c6b07d9d3aeca4da18e561efb'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+ LICENSE)
+md5sums=('2b90854a62a4d45d652062f582dc8d13'
+ '97ad034bea2a153f4418a6bb0c77acf4')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
--enable-dri || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-
- cd ${srcdir}/Mesa-${_mesaver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=r128 \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
- rm -rf ${pkgdir}/usr/include
- rm -rf ${pkgdir}/usr/lib/pkgconfig
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-radeonhd/PKGBUILD b/abs/core/xf86-video-radeonhd/PKGBUILD
index ce29874..11ca3e5 100644
--- a/abs/core/xf86-video-radeonhd/PKGBUILD
+++ b/abs/core/xf86-video-radeonhd/PKGBUILD
@@ -1,21 +1,20 @@
-# $Id: PKGBUILD 22422 2008-12-26 19:30:38Z jgc $
-# Maintainer: <juergen@archlinux.org>
+# $Id: PKGBUILD 75904 2010-04-04 19:30:10Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-radeonhd
-pkgver=1.2.4
-pkgrel=1
+pkgver=1.3.0
+pkgrel=2
pkgdesc="Experimental Radeon HD video driver for r500 and r600 ATI cards"
arch=(i686 x86_64)
url="http://wiki.x.org/wiki/radeonhd"
license=('custom')
-depends=('glibc' 'ati-dri>=7.2' 'libdrm' 'libpciaccess')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'diffutils')
-conflicts=('xorg-server<1.5.3')
+depends=('glibc' 'ati-dri>=7.8' 'libdrm>=2.4.20' 'libpciaccess')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'diffutils')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
-conflicts=('xf86-video-radeonhd-git')
-replaces=('xf86-video-radeonhd-git')
groups=('xorg-video-drivers')
source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('3c9cfffe7e3d795dde59ea0eef7361b1')
+md5sums=('7b6641aa9d836f1621b9b220ad6771b8')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/xf86-video-rendition/PKGBUILD b/abs/core/xf86-video-rendition/PKGBUILD
index 6bb78d2..1b7ae1c 100644
--- a/abs/core/xf86-video-rendition/PKGBUILD
+++ b/abs/core/xf86-video-rendition/PKGBUILD
@@ -1,23 +1,28 @@
-# $Id: PKGBUILD 11462 2008-08-31 15:55:46Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85341 2010-07-12 17:20:08Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-rendition
-pkgver=4.2.0
+pkgver=4.2.4
pkgrel=1
pkgdesc="X.org Rendition video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
-options=('!libtool')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
+options=('!libtool' '!strip')
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('7c03de3804d4c4f6ff59f74050d24b2b')
+sha1sums=('16148c25183f7829c22bc9dfdb588c1a16bf4565')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+
+ strip --strip-unneeded "${pkgdir}/usr/lib/xorg/modules/drivers/rendition_drv.so"
}
diff --git a/abs/core/xf86-video-s3/LICENSE b/abs/core/xf86-video-s3/LICENSE
new file mode 100644
index 0000000..a4c8d5d
--- /dev/null
+++ b/abs/core/xf86-video-s3/LICENSE
@@ -0,0 +1,25 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+ Copyright 2001 Ani Joshi <ajoshi@unixbox.com>
+
+ XFree86 4.x driver for S3 chipsets
+
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation and
+that the name of Ani Joshi not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. Ani Joshi makes no representations
+about the suitability of this software for any purpose. It is provided
+"as-is" without express or implied warranty.
+
+ANI JOSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL ANI JOSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/abs/core/xf86-video-s3/PKGBUILD b/abs/core/xf86-video-s3/PKGBUILD
index f294fe9..479e7e7 100644
--- a/abs/core/xf86-video-s3/PKGBUILD
+++ b/abs/core/xf86-video-s3/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 22275 2008-12-25 16:57:57Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75898 2010-04-04 19:22:33Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-s3
-pkgver=0.6.1
-pkgrel=1
+pkgver=0.6.3
+pkgrel=2
pkgdesc="X.org S3 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('a5f1f2f93a50e56bd3aeed009c407337')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('5eb06d88533fb327d067928faeb20860'
+ '6b2bea29522da7cbb81cadde3235024d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-s3virge/LICENSE b/abs/core/xf86-video-s3virge/LICENSE
new file mode 100644
index 0000000..23c2aea
--- /dev/null
+++ b/abs/core/xf86-video-s3virge/LICENSE
@@ -0,0 +1,25 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
diff --git a/abs/core/xf86-video-s3virge/PKGBUILD b/abs/core/xf86-video-s3virge/PKGBUILD
index 18391fb..2428ac4 100644
--- a/abs/core/xf86-video-s3virge/PKGBUILD
+++ b/abs/core/xf86-video-s3virge/PKGBUILD
@@ -1,24 +1,26 @@
-# $Id: PKGBUILD 22269 2008-12-25 16:53:28Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75895 2010-04-04 19:17:15Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-s3virge
-pkgver=1.10.2
-pkgrel=1
+pkgver=1.10.4
+pkgrel=2
pkgdesc="X.org S3 Virge video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
options=(!libtool)
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('69784e4964d75487d81be4eae3d467dd')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('6517bbbf808c700502d51acdc44662f8' 'c0a38dfcd6288eff39322f7c584b8d1e')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr \
- --disable-dri || return 1
+ ./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-savage/LICENSE b/abs/core/xf86-video-savage/LICENSE
new file mode 100644
index 0000000..72598e8
--- /dev/null
+++ b/abs/core/xf86-video-savage/LICENSE
@@ -0,0 +1,97 @@
+Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
+
+
+Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
+Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sub license,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+/*
+ * Copyright 2005 Felix Kuehling
+ * All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sub license,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON-INFRINGEMENT. IN NO EVENT SHALL FELIX KUEHLING BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**************************************************************************
+
+Copyright 2000, 2001 ATI Technologies Inc., Ontario, Canada, and
+ VA Linux Systems Inc., Fremont, California.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+on the rights to use, copy, modify, merge, publish, distribute, sub
+license, and/or sell copies of the Software, and to permit persons to whom
+the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ATI, VA LINUX SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
diff --git a/abs/core/xf86-video-savage/PKGBUILD b/abs/core/xf86-video-savage/PKGBUILD
index 0cdb7c7..2dd4f38 100644
--- a/abs/core/xf86-video-savage/PKGBUILD
+++ b/abs/core/xf86-video-savage/PKGBUILD
@@ -1,48 +1,29 @@
-# $Id: PKGBUILD 13010 2008-09-25 18:47:39Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75892 2010-04-04 19:10:23Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-savage
-pkgver=2.2.1
-pkgrel=2
+pkgver=2.3.1
+pkgrel=3
pkgdesc="X.org savage video driver"
-_mesaver="7.2"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.1' 'imake' 'mesa>=7.2' 'xf86driproto' 'glproto>=1.4.9')
-conflicts=('xorg-server<1.5.1')
-options=(!libtool)
+license=('custom')
+depends=('glibc' 'savage-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' "mesa>=7.8" 'xf86driproto' 'glproto>=1.4.10')
+conflicts=('xorg-server<1.8.0')
+options=(!libtool !makeflags)
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('62b8aba48b54eaefeae87df502bf219c'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+ LICENSE)
+md5sums=('66c319f610e3699c3de0f3ef630abb32'
+ '0f485840d3cee0a8d9952c0cd34f64c3')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
--enable-dri || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
- cd ${startdir}/src/Mesa-${_mesaver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=savage \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -rf ${pkgdir}/usr/lib/pkgconfig
- rm -rf ${pkgdir}/usr/include
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-siliconmotion/PKGBUILD b/abs/core/xf86-video-siliconmotion/PKGBUILD
index 3518f94..1590595 100644
--- a/abs/core/xf86-video-siliconmotion/PKGBUILD
+++ b/abs/core/xf86-video-siliconmotion/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 23018 2009-01-01 16:25:18Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 79857 2010-05-08 12:49:29Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-siliconmotion
-pkgver=1.7.0
+pkgver=1.7.4
pkgrel=1
pkgdesc="X.org siliconmotion video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('f9acffba89d8be200f91bab3d1df80da')
+sha1sums=('3c0fd42fbd301e66104e4b9190796d102a034787')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/xf86-video-sis/PKGBUILD b/abs/core/xf86-video-sis/PKGBUILD
index dfb0625..f1d7aad 100644
--- a/abs/core/xf86-video-sis/PKGBUILD
+++ b/abs/core/xf86-video-sis/PKGBUILD
@@ -1,48 +1,27 @@
-# $Id: PKGBUILD 22281 2008-12-25 17:05:24Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85368 2010-07-12 17:35:43Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-sis
-pkgver=0.10.1
+pkgver=0.10.3
pkgrel=1
pkgdesc="X.org SiS video driver"
-_mesaver="7.2"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'xf86driproto' 'mesa>=7.1' 'glproto>=1.4.9')
-conflicts=('xorg-server<1.5.1')
+license=('custom')
+depends=('glibc' 'sis-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86driproto' 'mesa>=7.8' 'glproto>=1.4.10' 'xf86dgaproto' 'xineramaproto')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('9f57c2f5ccbd8340db32da1c74083771'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('158673747e240b0c33499685a32d46bdaead7cd5')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr \
- --enable-dri || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr --enable-dri
+ make
+ make DESTDIR="${pkgdir}" install
- cd "${srcdir}/Mesa-${_mesaver}"
- patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=sis \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR="${pkgdir}" install || return 1
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
- rm -rf "${pkgdir}/usr/include"
- rm -f "${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xf86-video-sisusb/PKGBUILD b/abs/core/xf86-video-sisusb/PKGBUILD
index 0d205b1..d4814df 100644
--- a/abs/core/xf86-video-sisusb/PKGBUILD
+++ b/abs/core/xf86-video-sisusb/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 11481 2008-08-31 16:45:57Z jgc $
+# $Id: PKGBUILD 85336 2010-07-12 17:15:23Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-sisusb
-pkgver=0.9.0
+pkgver=0.9.4
pkgrel=1
pkgdesc="X.org SiS USB video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xineramaproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('7b1f5465f423a859f306f4f1d6306a1b')
+sha1sums=('600fd49dffe00121f9042555fea55948653d1a7e')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xf86-video-tdfx/LICENSE b/abs/core/xf86-video-tdfx/LICENSE
new file mode 100644
index 0000000..08b1add
--- /dev/null
+++ b/abs/core/xf86-video-tdfx/LICENSE
@@ -0,0 +1,160 @@
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+/*
+ * Copyright 2000 VA Linux Systems Inc., Fremont, California.
+ *
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * VA LINUX SYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+
+/*
+ * GLX Hardware Device Driver for Intel i810
+ * Copyright (C) 1999 Keith Whitwell
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * KEITH WHITWELL, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+ * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *
+ */
+
+
+/*
+ * GLX Hardware Device Driver for Intel tdfx
+ * Copyright (C) 1999 Keith Whitwell
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * KEITH WHITWELL, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+ * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *
+ */
+
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 4.1
+ *
+ * Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/* Authors:
+ * Keith Whitwell <keith@tungstengraphics.com>
+ * Daniel Borca <dborca@users.sourceforge.net>
+ */
+
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 5.1
+ *
+ * Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/* Authors:
+ * Keith Whitwell
+ * Daniel Borca
+ */
diff --git a/abs/core/xf86-video-tdfx/PKGBUILD b/abs/core/xf86-video-tdfx/PKGBUILD
index 0f62948..7c59244 100644
--- a/abs/core/xf86-video-tdfx/PKGBUILD
+++ b/abs/core/xf86-video-tdfx/PKGBUILD
@@ -1,48 +1,29 @@
-# $Id: PKGBUILD 22277 2008-12-25 17:00:41Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75883 2010-04-04 18:58:53Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-tdfx
-pkgver=1.4.1
-pkgrel=1
+pkgver=1.4.3
+pkgrel=3
pkgdesc="X.org tdfx video driver"
-_mesaver="7.2"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'mesa>=7.2')
-conflicts=('xorg-server<1.5.3')
+license=('custom')
+depends=('glibc' 'tdfx-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'mesa>=7.8' 'xf86driproto' 'glproto')
+conflicts=('xorg-server<1.8.0')
options=(!libtool)
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('59acf2a4f721f9b7abbd121748467b16'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+ LICENSE)
+md5sums=('8161bbf2b100c21b609163f0010766b3'
+ '978e9486ffd4e4164c12dc68c84186e1')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
- --enable-dri || return 1
+ --enable-dri || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
- cd "${srcdir}/Mesa-${_mesaver}"
- patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=tdfx \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR="${pkgdir}" install || return 1
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
- rm -rf "${pkgdir}/usr/include"
- rm -f "${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so"
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-trident/PKGBUILD b/abs/core/xf86-video-trident/PKGBUILD
index 874f185..cb71f71 100644
--- a/abs/core/xf86-video-trident/PKGBUILD
+++ b/abs/core/xf86-video-trident/PKGBUILD
@@ -1,49 +1,27 @@
-# $Id: PKGBUILD 22291 2008-12-25 17:22:27Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85363 2010-07-12 17:31:57Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-trident
-pkgver=1.3.1
+pkgver=1.3.4
pkgrel=1
pkgdesc="X.org Trident video driver"
-_mesaver="7.2"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'mesa>=7.2' 'xf86driproto')
-conflicts=('xorg-server<1.5.3')
+license=('custom')
+depends=('glibc')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'mesa>=7.8' 'xf86driproto' 'xf86dgaproto' 'glproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=(!libtool)
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('9f280bef235426394013cb5e1854b823'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('7c40f5c02bddf399862782b708941e79302318af')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr \
- --enable-dri || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
- cd "${srcdir}/Mesa-${_mesaver}"
- cd ${srcdir}/Mesa-${pkgver}
- patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=trident \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR="${pkgdir}" install || return 1
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
- rm -rf "${pkgdir}/usr/include"
- rm -f "${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/xf86-video-tseng/PKGBUILD b/abs/core/xf86-video-tseng/PKGBUILD
index f5909d7..805c447 100644
--- a/abs/core/xf86-video-tseng/PKGBUILD
+++ b/abs/core/xf86-video-tseng/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 22279 2008-12-25 17:02:55Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85373 2010-07-12 17:40:41Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-tseng
-pkgver=1.2.1
+pkgver=1.2.4
pkgrel=1
pkgdesc="X.org tseng video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('2f687eddae5dafa5dcc05116561e267c')
+sha1sums=('1b45f55657b2c92f30abb0769cae57fca98d93b7')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xf86-video-unichrome/LICENSE b/abs/core/xf86-video-unichrome/LICENSE
new file mode 100644
index 0000000..f400766
--- /dev/null
+++ b/abs/core/xf86-video-unichrome/LICENSE
@@ -0,0 +1,23 @@
+Copyright (c) 2004-2007 Luc Verhaegen. All Rights Reserved.
+Copyright (c) 2004-2005 The Unichrome Project. All Rights Reserved.
+Copyright (c) 1998-2003 VIA Technologies, Inc. All Rights Reserved.
+Copyright (c) 2001-2003 S3 Graphics, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sub license,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/abs/core/xf86-video-unichrome/PKGBUILD b/abs/core/xf86-video-unichrome/PKGBUILD
index 7f3bc57..65e9338 100644
--- a/abs/core/xf86-video-unichrome/PKGBUILD
+++ b/abs/core/xf86-video-unichrome/PKGBUILD
@@ -1,23 +1,29 @@
-# $Id: PKGBUILD 22301 2008-12-25 18:28:12Z jgc $
+# $Id: PKGBUILD 79919 2010-05-09 14:20:58Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-unichrome
pkgver=0.2.7
-pkgrel=0.1
-_gitversion=1464eb9ecb178163af0e85443c3e591755c8c320
+pkgrel=3
+_gitversion=cd12cce88ff886031c23c743569fba97eccace4e
pkgdesc="Unichrome video drivers for X.Org"
arch=(i686 x86_64)
url="http://unichrome.sf.net/"
-depends=('unichrome-dri>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'xorg-util-macros' 'xf86driproto' 'glproto' 'mesa>=7.2' 'autoconf' 'automake' 'libtool')
+license=('custom')
+depends=('unichrome-dri>=7.8.1')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xorg-util-macros' 'xf86driproto' 'glproto' 'mesa>=7.8.1' 'autoconf' 'automake' 'libtool')
options=('!libtool')
-conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.5.3')
-source=(http://cgit.freedesktop.org/~libv/${pkgname}/snapshot/${pkgname}-${_gitversion}.tar.bz2)
-md5sums=('dfef1e3b9ed24d50938ea5ee6f708457')
+conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.8.0')
+source=(http://cgit.freedesktop.org/~libv/${pkgname}/snapshot/${pkgname}-${_gitversion}.tar.bz2
+ drm-include.patch
+ LICENSE)
+md5sums=('c64332e6c386ed9a580116e131f288f4'
+ '4a9bf2e3ef338c170a2f58988ebb97dc'
+ '6ea7d64c87c5c32201a1e38e3336e44a')
build() {
cd "${srcdir}/${pkgname}-${_gitversion}"
- ./autogen.sh --prefix=/usr \
- --enable-dri
+ patch -Np0 -i "${srcdir}/drm-include.patch" || return 1
+ ./autogen.sh --prefix=/usr --enable-dri || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core/xf86-video-unichrome/drm-include.patch b/abs/core/xf86-video-unichrome/drm-include.patch
new file mode 100644
index 0000000..edfe9a8
--- /dev/null
+++ b/abs/core/xf86-video-unichrome/drm-include.patch
@@ -0,0 +1,11 @@
+--- src/via_memory.h.orig 2010-05-09 16:17:00.143352805 +0200
++++ src/via_memory.h 2010-05-09 16:17:14.433351301 +0200
+@@ -30,7 +30,7 @@
+
+ /* don't include local via_drm.h when using modular */
+ #ifdef HAVE_CONFIG_H
+-#include "drm/via_drm.h"
++#include <via_drm.h>
+ #else
+ #include "via_drm.h"
+ #endif
diff --git a/abs/core/xf86-video-v4l/LICENSE b/abs/core/xf86-video-v4l/LICENSE
new file mode 100644
index 0000000..535595b
--- /dev/null
+++ b/abs/core/xf86-video-v4l/LICENSE
@@ -0,0 +1,826 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+ Licenses
+
+ The X.Org Foundation
+
+ March 2004
+
+1. Introduction
+
+The X.org Foundation X Window System distribution is a compilation of code
+and documentation from many sources. This document is intended primarily as
+a guide to the licenses used in the distribution: you must check each file
+and/or package for precise redistribution terms. None-the-less, this summary
+may be useful to many users. No software incorporating the XFree86 1.1
+license has been incorporated.
+
+This document is based on the compilation from XFree86.
+
+2. XFree86 License
+
+XFree86 code without an explicit copyright is covered by the following copy-
+right/license:
+
+Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other deal-
+ings in this Software without prior written authorization from the XFree86
+Project.
+
+3. Other Licenses
+
+Portions of code are covered by the following licenses/copyrights. See indi-
+vidual files for the copyright dates.
+
+3.1 X/MIT Copyrights
+
+3.1.1 X Consortium
+
+Copyright (C) <date> X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X
+CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+
+X Window System is a trademark of X Consortium, Inc.
+
+3.1.2 The Open Group
+
+Copyright <date> The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+3.2 Berkeley-based copyrights:
+
+o
+
+3.2.1 General
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-
+CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.2 UCB/LBL
+
+Copyright (c) 1993 The Regents of the University of California. All rights
+reserved.
+
+This software was developed by the Computer Systems Engineering group at
+Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and contributed to
+Berkeley.
+
+All advertising materials mentioning features or use of this software must
+display the following acknowledgement: This product includes software devel-
+oped by the University of California, Lawrence Berkeley Laboratory.
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement: This product includes soft-
+ ware developed by the University of California, Berkeley and its con-
+ tributors.
+
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DIS-
+CLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.3 The NetBSD Foundation, Inc.
+
+Copyright (c) 2003 The NetBSD Foundation, Inc. All rights reserved.
+
+This code is derived from software contributed to The NetBSD Foundation by
+Ben Collver <collver1@attbi.com>
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement: This product includes soft-
+ ware developed by the NetBSD Foundation, Inc. and its contributors.
+
+ 4. Neither the name of The NetBSD Foundation nor the names of its con-
+ tributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSE-
+QUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAM-
+AGE.
+
+3.2.4 Theodore Ts'o.
+
+Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999. All rights
+reserved.
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ and the entire permission notice in its entirety, including the dis-
+ claimer of warranties.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. he name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE, ALL OF WHICH ARE HEREBY DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF NOT
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.5 Theo de Raadt and Damien Miller
+
+Copyright (c) 1995,1999 Theo de Raadt. All rights reserved. Copyright (c)
+2001-2002 Damien Miller. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-
+CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.6 Todd C. Miller
+
+Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+
+Permission to use, copy, modify, and distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright
+notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MER-
+CHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE FOR ANY
+SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CON-
+TRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+3.2.7 Thomas Winischhofer
+
+Copyright (C) 2001-2004 Thomas Winischhofer
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESSED OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.3 NVIDIA Corp
+
+Copyright (c) 1996 NVIDIA, Corp. All rights reserved.
+
+NOTICE TO USER: The source code is copyrighted under U.S. and international
+laws. NVIDIA, Corp. of Sunnyvale, California owns the copyright and as
+design patents pending on the design and interface of the NV chips. Users
+and possessors of this source code are hereby granted a nonexclusive, roy-
+alty-free copyright and design patent license to use this code in individual
+and commercial software.
+
+Any use of this source code must include, in the user documentation and
+internal comments to the code, notices to the end user as follows:
+
+Copyright (c) 1996 NVIDIA, Corp. NVIDIA design patents pending in the U.S.
+and foreign countries.
+
+NVIDIA, CORP. MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE
+CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WAR-
+RANTY OF ANY KIND. NVIDIA, CORP. DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA, CORP. BE LIABLE
+FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAM-
+AGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.
+
+3.4 GLX Public License
+
+GLX PUBLIC LICENSE (Version 1.0 (2/11/99)) ("License")
+
+Subject to any third party claims, Silicon Graphics, Inc. ("SGI") hereby
+grants permission to Recipient (defined below), under Recipient's copyrights
+in the Original Software (defined below), to use, copy, modify, merge, pub-
+lish, distribute, sublicense and/or sell copies of Subject Software (defined
+below), and to permit persons to whom the Subject Software is furnished in
+accordance with this License to do the same, subject to all of the following
+terms and conditions, which Recipient accepts by engaging in any such use,
+copying, modifying, merging, publishing, distributing, sublicensing or sell-
+ing:
+
+1. Definitions.
+
+ (a) "Original Software" means source code of computer software code
+ which is described in Exhibit A as Original Software.
+
+ (b) "Modifications" means any addition to or deletion from the sub-
+ stance or structure of either the Original Software or any previous
+ Modifications. When Subject Software is released as a series of
+ files, a Modification means (i) any addition to or deletion from
+ the contents of a file containing Original Software or previous
+ Modifications and (ii) any new file that contains any part of the
+ Original Code or previous Modifications.
+
+ (c) "Subject Software" means the Original Software or Modifications
+ or the combination of the Original Software and Modifications, or
+ portions of any of the foregoing.
+
+ (d) "Recipient" means an individual or a legal entity exercising
+ rights under, and complying with all of the terms of, this License.
+ For legal entities, "Recipient" includes any entity which controls,
+ is controlled by, or is under common control with Recipient. For
+ purposes of this definition, "control" of an entity means (a) the
+ power, direct or indirect, to direct or manage such entity, or (b)
+ ownership of fifty percent (50%) or more of the outstanding shares
+ or beneficial ownership of such entity.
+
+2. Redistribution of Source Code Subject to These Terms. Redistributions of
+Subject Software in source code form must retain the notice set forth in
+Exhibit A, below, in every file. A copy of this License must be included in
+any documentation for such Subject Software where the recipients' rights
+relating to Subject Software are described. Recipient may distribute the
+source code version of Subject Software under a license of Recipient's
+choice, which may contain terms different from this License, provided that
+(i) Recipient is in compliance with the terms of this License, and (ii) the
+license terms include this Section 2 and Sections 3, 4, 7, 8, 10, 12 and 13
+of this License, which terms may not be modified or superseded by any other
+terms of such license. If Recipient distributes the source code version under
+a different license Recipient must make it absolutely clear that any terms
+which differ from this License are offered by Recipient alone, not by SGI.
+Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as
+a result of any such terms Recipient offers.
+
+3. Redistribution in Executable Form. The notice set forth in Exhibit A must
+be conspicuously included in any notice in an executable version of Subject
+Software, related documentation or collateral in which Recipient describes
+the user's rights relating to the Subject Software. Recipient may distribute
+the executable version of Subject Software under a license of Recipient's
+choice, which may contain terms different from this License, provided that
+(i) Recipient is in compliance with the terms of this License, and (ii) the
+license terms include this Section 3 and Sections 4, 7, 8, 10, 12 and 13 of
+this License, which terms may not be modified or superseded by any other
+terms of such license. If Recipient distributes the executable version under
+a different license Recipient must make it absolutely clear that any terms
+which differ from this License are offered by Recipient alone, not by SGI.
+Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as
+a result of any such terms Recipient offers.
+
+4. Termination. This License and the rights granted hereunder will terminate
+automatically if Recipient fails to comply with terms herein and fails to
+cure such breach within 30 days of the breach. Any sublicense to the Subject
+Software which is properly granted shall survive any termination of this
+License absent termination by the terms of such sublicense. Provisions which,
+by their nature, must remain in effect beyond the termination of this License
+shall survive.
+
+5. No Trademark Rights. This License does not grant any rights to use any
+trade name, trademark or service mark whatsoever. No trade name, trademark or
+service mark of SGI may be used to endorse or promote products derived from
+the Subject Software without prior written permission of SGI.
+
+6. No Other Rights. This License does not grant any rights with respect to
+the OpenGL API or to any software or hardware implementation thereof or to
+any other software whatsoever, nor shall any other rights or licenses not
+expressly granted hereunder arise by implication, estoppel or otherwise with
+respect to the Subject Software. Title to and ownership of the Original Soft-
+ware at all times remains with SGI. All rights in the Original Software not
+expressly granted under this License are reserved.
+
+7. Compliance with Laws; Non-Infringement. Recipient shall comply with all
+applicable laws and regulations in connection with use and distribution of
+the Subject Software, including but not limited to, all export and import
+control laws and regulations of the U.S. government and other countries.
+Recipient may not distribute Subject Software that (i) in any way infringes
+(directly or contributorily) the rights (including patent, copyright, trade
+secret, trademark or other intellectual property rights of any kind) of any
+other person or entity or (ii) breaches any representation or warranty,
+express, implied or statutory, which under any applicable law it might be
+deemed to have been distributed.
+
+8. Claims of Infringement. If Recipient at any time has knowledge of any one
+or more third party claims that reproduction, modification, use, distribu-
+tion, import or sale of Subject Software (including particular functionality
+or code incorporated in Subject Software) infringes the third party's intel-
+lectual property rights, Recipient must place in a well-identified web page
+bearing the title "LEGAL" a description of each such claim and a description
+of the party making each such claim in sufficient detail that a user of the
+Subject Software will know whom to contact regarding the claim. Also, upon
+gaining such knowledge of any such claim, Recipient must conspicuously
+include the URL for such web page in the Exhibit A notice required under Sec-
+tions 2 and 3, above, and in the text of any related documentation, license
+agreement or collateral in which Recipient describes end user's rights relat-
+ing to the Subject Software. If Recipient obtains such knowledge after it
+makes Subject Software available to any other person or entity, Recipient
+shall take other steps (such as notifying appropriate mailing lists or news-
+groups) reasonably calculated to inform those who received the Subject Soft-
+ware that new knowledge has been obtained.
+
+9. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
+WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, MER-
+CHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON- INFRINGING. SGI ASSUMES NO
+RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE
+PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY SER-
+VICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
+ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED
+HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THE-
+ORY, WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIA-
+BILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR
+ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
+STOPPAGE, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF
+THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY
+TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SGI's NEGLIGENCE TO
+THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES,
+SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
+
+11. Indemnity. Recipient shall be solely responsible for damages arising,
+directly or indirectly, out of its utilization of rights under this License.
+Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc.
+from and against any loss, liability, damages, costs or expenses (including
+the payment of reasonable attorneys fees) arising out of Recipient's use,
+modification, reproduction and distribution of the Subject Software or out of
+any representation or warranty made by Recipient.
+
+12. U.S. Government End Users. The Subject Software is a "commercial item"
+consisting of "commercial computer software" as such terms are defined in
+title 48 of the Code of Federal Regulations and all U.S. Government End
+Users acquire only the rights set forth in this License and are subject to
+the terms of this License.
+
+13. Miscellaneous. This License represents the complete agreement concerning
+subject matter hereof. If any provision of this License is held to be unen-
+forceable, such provision shall be reformed so as to achieve as nearly as
+possible the same economic effect as the original provision and the remainder
+of this License will remain in effect. This License shall be governed by and
+construed in accordance with the laws of the United States and the State of
+California as applied to agreements entered into and to be performed entirely
+within California between California residents. Any litigation relating to
+this License shall be subject to the exclusive jurisdiction of the Federal
+Courts of the Northern District of California (or, absent subject matter
+jurisdiction in such courts, the courts of the State of California), with
+venue lying exclusively in Santa Clara County, California, with the losing
+party responsible for costs, including without limitation, court costs and
+reasonable attorneys fees and expenses. The application of the United Nations
+Convention on Contracts for the International Sale of Goods is expressly
+excluded. Any law or regulation which provides that the language of a con-
+tract shall be construed against the drafter shall not apply to this License.
+
+Exhibit A
+
+The contents of this file are subject to Sections 2, 3, 4, 7, 8, 10, 12 and
+13 of the GLX Public License Version 1.0 (the "License"). You may not use
+this file except in compliance with those sections of the License. You may
+obtain a copy of the License at Silicon Graphics, Inc., attn: Legal Services,
+2011 N. Shoreline Blvd., Mountain View, CA 94043 or at
+http://www.sgi.com/software/opensource/glx/license.html.
+
+Software distributed under the License is distributed on an "AS IS" basis.
+ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON-
+INFRINGEMENT. See the License for the specific language governing rights and
+limitations under the License.
+
+The Original Software is GLX version 1.2 source code, released February,
+1999. The developer of the Original Software is Silicon Graphics, Inc. Those
+portions of the Subject Software created by Silicon Graphics, Inc. are Copy-
+right (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
+
+3.5 CID Font Code Public License
+
+CID FONT CODE PUBLIC LICENSE (Version 1.0 (3/31/99))("License")
+
+Subject to any applicable third party claims, Silicon Graphics, Inc. ("SGI")
+hereby grants permission to Recipient (defined below), under SGI's copyrights
+in the Original Software (defined below), to use, copy, modify, merge, pub-
+lish, distribute, sublicense and/or sell copies of Subject Software (defined
+below) in both source code and executable form, and to permit persons to whom
+the Subject Software is furnished in accordance with this License to do the
+same, subject to all of the following terms and conditions, which Recipient
+accepts by engaging in any such use, copying, modifying, merging, publica-
+tion, distributing, sublicensing or selling:
+
+1. Definitions.
+
+ a. "Original Software" means source code of computer software code
+ that is described in Exhibit A as Original Software.
+
+ b. "Modifications" means any addition to or deletion from the sub-
+ stance or structure of either the Original Software or any previous
+ Modifications. When Subject Software is released as a series of
+ files, a Modification means (i) any addition to or deletion from
+ the contents of a file containing Original Software or previous
+ Modifications and (ii) any new file that contains any part of the
+ Original Code or previous Modifications.
+
+ c. "Subject Software" means the Original Software or Modifications
+ or the combination of the Original Software and Modifications, or
+ portions of any of the foregoing.
+
+ d. "Recipient" means an individual or a legal entity exercising
+ rights under the terms of this License. For legal entities, "Recip-
+ ient" includes any entity that controls, is controlled by, or is
+ under common control with Recipient. For purposes of this defini-
+ tion, "control" of an entity means (i) the power, direct or indi-
+ rect, to direct or manage such entity, or (ii) ownership of fifty
+ percent (50%) or more of the outstanding shares or beneficial own-
+ ership of such entity.
+
+ e. "Required Notice" means the notice set forth in Exhibit A to
+ this License.
+
+ f. "Accompanying Technology" means any software or other technology
+ that is not a Modification and that is distributed or made publicly
+ available by Recipient with the Subject Software. Separate soft-
+ ware files that do not contain any Original Software or any previ-
+ ous Modification shall not be deemed a Modification, even if such
+ software files are aggregated as part of a product, or in any
+ medium of storage, with any file that does contain Original Soft-
+ ware or any previous Modification.
+
+2. License Terms. All distribution of the Subject Software must be made sub-
+ject to the terms of this License. A copy of this License and the Required
+Notice must be included in any documentation for Subject Software where
+Recipient's rights relating to Subject Software and/or any Accompanying Tech-
+nology are described. Distributions of Subject Software in source code form
+must also include the Required Notice in every file distributed. In addition,
+a ReadMe file entitled "Important Legal Notice" must be distributed with each
+distribution of one or more files that incorporate Subject Software. That
+file must be included with distributions made in both source code and exe-
+cutable form. A copy of the License and the Required Notice must be included
+in that file. Recipient may distribute Accompanying Technology under a
+license of Recipient's choice, which may contain terms different from this
+License, provided that (i) Recipient is in compliance with the terms of this
+License, (ii) such other license terms do not modify or supersede the terms
+of this License as applicable to the Subject Software, (iii) Recipient hereby
+indemnifies SGI for any liability incurred by SGI as a result of the distri-
+bution of Accompanying Technology or the use of other license terms.
+
+3. Termination. This License and the rights granted hereunder will terminate
+automatically if Recipient fails to comply with terms herein and fails to
+cure such breach within 30 days of the breach. Any sublicense to the Subject
+Software that is properly granted shall survive any termination of this
+License absent termination by the terms of such sublicense. Provisions which,
+by their nature, must remain in effect beyond the termination of this License
+shall survive.
+
+4. Trademark Rights. This License does not grant any rights to use any trade
+name, trademark or service mark whatsoever. No trade name, trademark or ser-
+vice mark of SGI may be used to endorse or promote products derived from or
+incorporating any Subject Software without prior written permission of SGI.
+
+5. No Other Rights. No rights or licenses not expressly granted hereunder
+shall arise by implication, estoppel or otherwise. Title to and ownership of
+the Original Software at all times remains with SGI. All rights in the Origi-
+nal Software not expressly granted under this License are reserved.
+
+6. Compliance with Laws; Non-Infringement. Recipient shall comply with all
+applicable laws and regulations in connection with use and distribution of
+the Subject Software, including but not limited to, all export and import
+control laws and regulations of the U.S. government and other countries.
+Recipient may not distribute Subject Software that (i) in any way infringes
+(directly or contributorily) the rights (including patent, copyright, trade
+secret, trademark or other intellectual property rights of any kind) of any
+other person or entity, or (ii) breaches any representation or warranty,
+express, implied or statutory, which under any applicable law it might be
+deemed to have been distributed.
+
+7. Claims of Infringement. If Recipient at any time has knowledge of any one
+or more third party claims that reproduction, modification, use, distribu-
+tion, import or sale of Subject Software (including particular functionality
+or code incorporated in Subject Software) infringes the third party's intel-
+lectual property rights, Recipient must place in a well-identified web page
+bearing the title "LEGAL" a description of each such claim and a description
+of the party making each such claim in sufficient detail that a user of the
+Subject Software will know whom to contact regarding the claim. Also, upon
+gaining such knowledge of any such claim, Recipient must conspicuously
+include the URL for such web page in the Required Notice, and in the text of
+any related documentation, license agreement or collateral in which Recipient
+describes end user's rights relating to the Subject Software. If Recipient
+obtains such knowledge after it makes Subject Software available to any other
+person or entity, Recipient shall take other steps (such as notifying appro-
+priate mailing lists or newsgroups) reasonably calculated to provide such
+knowledge to those who received the Subject Software.
+
+8. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
+WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, MER-
+CHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. SGI ASSUMES NO
+RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE
+PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY SER-
+VICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
+ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED
+HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY,
+WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY),
+CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SUBJECT SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SUBJECT SOFTWARE. SOME JURISDICTIONS DO NOT
+ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES, SO THIS EXCLUSION AND
+LIMITATION MAY NOT APPLY TO RECIPIENT TO THE EXTENT SO DISALLOWED.
+
+10. Indemnity. Recipient shall be solely responsible for damages arising,
+directly or indirectly, out of its utilization of rights under this License.
+Recipient will defend, indemnify and hold SGI and its successors and assigns
+harmless from and against any loss, liability, damages, costs or expenses
+(including the payment of reasonable attorneys fees) arising out of (Recipi-
+ent's use, modification, reproduction and distribution of the Subject Soft-
+ware or out of any representation or warranty made by Recipient.
+
+11. U.S. Government End Users. The Subject Software is a "commercial item"
+consisting of "commercial computer software" as such terms are defined in
+title 48 of the Code of Federal Regulations and all U.S. Government End Users
+acquire only the rights set forth in this License and are subject to the
+terms of this License.
+
+12. Miscellaneous. This License represents the complete agreement concerning
+subject matter hereof. If any provision of this License is held to be unen-
+forceable by any judicial or administrative authority having proper jurisdic-
+tion with respect thereto, such provision shall be reformed so as to achieve
+as nearly as possible the same economic effect as the original provision and
+the remainder of this License will remain in effect. This License shall be
+governed by and construed in accordance with the laws of the United States
+and the State of California as applied to agreements entered into and to be
+performed entirely within California between California residents. Any liti-
+gation relating to this License shall be subject to the exclusive jurisdic-
+tion of the Federal Courts of the Northern District of California (or, absent
+subject matter jurisdiction in such courts, the courts of the State of Cali-
+fornia), with venue lying exclusively in Santa Clara County, California, with
+the losing party responsible for costs, including without limitation, court
+costs and reasonable attorneys fees and expenses. The application of the
+United Nations Convention on Contracts for the International Sale of Goods is
+expressly excluded. Any law or regulation that provides that the language of
+a contract shall be construed against the drafter shall not apply to this
+License.
+
+Exhibit A
+
+Copyright (c) 1994-1999 Silicon Graphics, Inc.
+
+The contents of this file are subject to the CID Font Code Public License
+Version 1.0 (the "License"). You may not use this file except in compliance
+with the License. You may obtain a copy of the License at Silicon Graphics,
+Inc., attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
+or at http://www.sgi.com/software/opensource/cid/license.html
+
+Software distributed under the License is distributed on an "AS IS" basis.
+ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON-
+INFRINGEMENT. See the License for the specific language governing rights and
+limitations under the License.
+
+The Original Software (as defined in the License) is CID font code that was
+developed by Silicon Graphics, Inc. Those portions of the Subject Software
+(as defined in the License) that were created by Silicon Graphics, Inc. are
+Copyright (c) 1994-1999 Silicon Graphics, Inc. All Rights Reserved.
+
+[NOTE: When using this text in connection with Subject Software delivered
+solely in object code form, Recipient may replace the words "this file" with
+"this software" in both the first and second sentences.]
+
+3.6 Bitstream Vera Fonts Copyright
+
+The fonts have a generous copyright, allowing derivative works (as long as
+"Bitstream" or "Vera" are not in the names), and full redistribution (so long
+as they are not *sold* by themselves). They can be be bundled, redistributed
+and sold with any software.
+
+The fonts are distributed under the following copyright:
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
+a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated documentation
+files (the "Font Software"), to reproduce and distribute the Font Software,
+including without limitation the rights to use, copy, merge, publish, dis-
+tribute, and/or sell copies of the Font Software, and to permit persons to
+whom the Font Software is furnished to do so, subject to the following condi-
+tions:
+
+The above copyright and trademark notices and this permission notice shall be
+included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and addi-
+tional glyphs or characters may be added to the Fonts, only if the fonts are
+renamed to names not containing either the words "Bitstream" or the word
+"Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream Vera"
+names.
+
+The Font Software may be sold as part of a larger software package but no
+copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDA-
+TION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GEN-
+ERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFT-
+WARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome Foundation,
+and Bitstream Inc., shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in this Font Software without prior written
+authorization from the Gnome Foundation or Bitstream Inc., respectively. For
+further information, contact: fonts at gnome dot org.
+
+3.7 Bigelow & Holmes Inc and URW++ GmbH Luxi font license
+
+Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font instruction
+code copyright (c) 2001 by URW++ GmbH. All Rights Reserved. Luxi is a regis-
+tered trademark of Bigelow & Holmes Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of these Fonts and associated documentation files (the "Font Software"), to
+deal in the Font Software, including without limitation the rights to use,
+copy, merge, publish, distribute, sublicense, and/or sell copies of the Font
+Software, and to permit persons to whom the Font Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright and trademark notices and this permission notice shall be
+included in all copies of one or more of the Font Software.
+
+The Font Software may not be modified, altered, or added to, and in particu-
+lar the designs of glyphs or characters in the Fonts may not be modified nor
+may additional glyphs or characters be added to the Fonts. This License
+becomes null and void when the Fonts or Font Software have been modified.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BIGELOW & HOLMES INC. OR URW++
+GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GEN-
+ERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFT-
+WARE.
+
+Except as contained in this notice, the names of Bigelow & Holmes Inc. and
+URW++ GmbH. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Font Software without prior written
+authorization from Bigelow & Holmes Inc. and URW++ GmbH.
+
+For further information, contact:
+
+info@urwpp.de or design@bigelowandholmes.com
+
+ $Id: LICENSE,v 1.3 2004/09/03 23:41:21 kem Exp $
diff --git a/abs/core/xf86-video-v4l/PKGBUILD b/abs/core/xf86-video-v4l/PKGBUILD
index 518e267..bf3cb08 100644
--- a/abs/core/xf86-video-v4l/PKGBUILD
+++ b/abs/core/xf86-video-v4l/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 11496 2008-08-31 16:52:37Z jgc $
+# $Id: PKGBUILD 75874 2010-04-04 18:49:03Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-v4l
pkgver=0.2.0
-pkgrel=1
+pkgrel=5
pkgdesc="X.org v4l video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('2251ae2a0a905764941cd7b098e85ad1')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 LICENSE)
+md5sums=('2251ae2a0a905764941cd7b098e85ad1'
+ '7d4d018f6bbff7e42672d1aabc75c5cf')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core/xf86-video-vesa/PKGBUILD b/abs/core/xf86-video-vesa/PKGBUILD
index bbccb88..4f8f83a 100644
--- a/abs/core/xf86-video-vesa/PKGBUILD
+++ b/abs/core/xf86-video-vesa/PKGBUILD
@@ -1,26 +1,26 @@
-# $Id: PKGBUILD 22267 2008-12-25 16:51:23Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75871 2010-04-04 18:46:26Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-vesa
-pkgver=2.1.0
-pkgrel=1
+pkgver=2.3.0
+pkgrel=2
pkgdesc="X.org vesa video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg' 'xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('d813269613b4d63ff6dbfbfbd104cc84')
+sha1sums=('4689b7c295d7a8d7326302dafecb812739617134')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -d -m755 ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/xf86-video-vga/PKGBUILD b/abs/core/xf86-video-vga/PKGBUILD
deleted file mode 100644
index 034c440..0000000
--- a/abs/core/xf86-video-vga/PKGBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# $Id: PKGBUILD 15043 2008-10-12 12:14:52Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-video-vga
-pkgver=4.1.0
-pkgrel=6
-pkgdesc="X.org VGA 16 color video driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.2')
-conflicts=('xorg-server<1.5.2')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- pciaccess.patch)
-md5sums=('b93e5fe9757db779a75cd3ce97b9613d'
- 'fe3a45179f51fb86215f6fd2b5ac0747')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/pciaccess.patch" || return 1
- libtoolize --force || return 1
- aclocal || return 1
- autoconf || return 1
- automake || return 1
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/abs/core/xf86-video-vga/pciaccess.patch b/abs/core/xf86-video-vga/pciaccess.patch
deleted file mode 100644
index 141701f..0000000
--- a/abs/core/xf86-video-vga/pciaccess.patch
+++ /dev/null
@@ -1,371 +0,0 @@
-From: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
-Date: Fri, 18 Jul 2008 21:27:26 +0000 (-0300)
-Subject: Add libpciaccess and remove xf1bpp and xf4bpp support.
-X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-vga.git;a=commitdiff;h=97e2d12548921d92b6dc2dcce8abee48f25981d2
-
-Add libpciaccess and remove xf1bpp and xf4bpp support.
-
- The driver is not fully functional, starts at 320x200, but may require
-running something like vbetool post before starting the X Server, and does
-not restore console as usually linux consoles use vesafb, but should work
-correctly if console is in a "standard vga mode".
----
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -57,6 +57,22 @@ PKG_CHECK_MODULES(XORG, [xorg-server >=
- sdkdir=$(pkg-config --variable=sdkdir xorg-server)
-
- # Checks for libraries.
-+SAVE_CPPFLAGS="$CPPFLAGS"
-+CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
-+AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
-+ [XSERVER_LIBPCIACCESS=yes], [XSERVER_LIBPCIACCESS=no],
-+ [#include "xorg-server.h"])
-+AC_CHECK_HEADER(xf1bpp.h,[AC_DEFINE(HAVE_XF1BPP, 1, [Have 1bpp support])],[])
-+AC_CHECK_HEADER(xf4bpp.h,[AC_DEFINE(HAVE_XF4BPP, 1, [Have 4bpp support])],[])
-+CPPFLAGS="$SAVE_CPPFLAGS"
-+
-+if test "x$XSERVER_LIBPCIACCESS" = xyes; then
-+ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
-+ XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
-+fi
-+AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
-+
-+# Checks for libraries.
-
- # Checks for header files.
- AC_HEADER_STDC
---- a/src/generic.c
-+++ b/src/generic.c
-@@ -50,8 +50,13 @@
-
- #include "fb.h"
-
-+#if HAVE_XF4BPP
- #include "xf4bpp.h"
-+#endif
-+
-+#if HAVE_XF1BPP
- #include "xf1bpp.h"
-+#endif
-
- #include "shadowfb.h"
-
-@@ -62,6 +67,10 @@
- #include "xf86Resources.h"
- #include "xf86int10.h"
-
-+#ifdef XSERVER_LIBPCIACCESS
-+#include <pciaccess.h>
-+#endif
-+
- /* Some systems #define VGA for their own purposes */
- #undef VGA
-
-@@ -79,10 +88,31 @@
- #define CLOCK_TOLERANCE 2000 /* Clock matching tolerance (2MHz) */
- #endif
-
-+/*
-+ * This structure is used to wrap the screen's CloseScreen vector.
-+ */
-+typedef struct _GenericRec
-+{
-+ Bool ShadowFB;
-+ Bool KGAUniversal;
-+ CARD8 * ShadowPtr;
-+ CARD32 ShadowPitch;
-+ CloseScreenProcPtr CloseScreen;
-+ OptionInfoPtr Options;
-+#ifdef XSERVER_LIBPCIACCESS
-+ struct pci_device *pciInfo;
-+#endif
-+} GenericRec, *GenericPtr;
-+
-+
- /* Forward definitions */
- static const OptionInfoRec *GenericAvailableOptions(int chipid, int busid);
- static void GenericIdentify(int);
- static Bool GenericProbe(DriverPtr, int);
-+#ifdef XSERVER_LIBPCIACCESS
-+static Bool GenericPciProbe(DriverPtr drv, int entity_num,
-+ struct pci_device *dev, intptr_t match_data);
-+#endif
- static Bool GenericPreInit(ScrnInfoPtr, int);
- static Bool GenericScreenInit(int, ScreenPtr, int, char **);
- static Bool GenericSwitchMode(int, DisplayModePtr, int);
-@@ -97,6 +127,24 @@ static Bool GenericMapMe
-
- static ModeStatus GenericValidMode(int, DisplayModePtr, Bool, int);
-
-+static GenericPtr GenericGetRec(ScrnInfoPtr pScreenInfo);
-+
-+enum GenericTypes
-+{
-+ CHIP_VGA_GENERIC
-+};
-+
-+#ifdef XSERVER_LIBPCIACCESS
-+static const struct pci_id_match generic_device_match[] = {
-+ {
-+ PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
-+ 0x00030000, 0x00ffffff, CHIP_VGA_GENERIC
-+ },
-+
-+ { 0, 0, 0 },
-+};
-+#endif
-+
- /* The root of all evil... */
- _X_EXPORT DriverRec VGA =
- {
-@@ -106,7 +154,13 @@ _X_EXPORT DriverRec VGA =
- GenericProbe,
- GenericAvailableOptions,
- NULL,
-- 0
-+ 0,
-+ NULL,
-+
-+#ifdef XSERVER_LIBPCIACCESS
-+ generic_device_match,
-+ GenericPciProbe
-+#endif
- };
-
- typedef enum
-@@ -146,8 +200,12 @@ static const char *vgahwSymbols[] =
- #ifdef XFree86LOADER
- static const char *miscfbSymbols[] =
- {
-+#if HAVE_XF1BPP
- "xf1bppScreenInit",
-+#endif
-+#if HAVE_XF4BPP
- "xf4bppScreenInit",
-+#endif
- NULL
- };
- #endif
-@@ -210,7 +268,13 @@ GenericSetup(pointer Module, pointer Opt
- if (!Initialised)
- {
- Initialised = TRUE;
-- xf86AddDriver(&VGA, Module, 0);
-+ xf86AddDriver(&VGA, Module,
-+#ifdef XSERVER_LIBPCIACCESS
-+ HaveDriverFuncs
-+#else
-+ 0
-+#endif
-+ );
- LoaderRefSymLists(vgahwSymbols, miscfbSymbols, fbSymbols,
- shadowfbSymbols, int10Symbols, NULL);
- return (pointer)TRUE;
-@@ -224,11 +288,6 @@ GenericSetup(pointer Module, pointer Opt
- #endif
-
-
--enum GenericTypes
--{
-- CHIP_VGA_GENERIC
--};
--
- /* Supported chipsets */
- static SymTabRec GenericChipsets[] =
- {
-@@ -236,11 +295,13 @@ static SymTabRec GenericChipsets[] =
- {-1, NULL}
- };
-
-+#ifndef XSERVER_LIBPCIACCESS
- static PciChipsets GenericPCIchipsets[] =
- {
- {CHIP_VGA_GENERIC, PCI_CHIP_VGA, RES_SHARED_VGA},
- {-1, -1, RES_UNDEFINED},
- };
-+#endif
-
- static IsaChipsets GenericISAchipsets[] =
- {
-@@ -267,6 +328,37 @@ GenericAvailableOptions(int chipid, int
- * do a minimal probe for supported hardware.
- */
-
-+#ifdef XSERVER_LIBPCIACCESS
-+static Bool
-+GenericPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
-+ intptr_t match_data)
-+{
-+ ScrnInfoPtr pScrn;
-+
-+ pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL,
-+ NULL, NULL, NULL, NULL, NULL);
-+ if (pScrn != NULL) {
-+ GenericPtr pGeneric = GenericGetRec(pScrn);
-+
-+ pScrn->driverVersion = VGA_VERSION_CURRENT;
-+ pScrn->driverName = VGA_DRIVER_NAME;
-+ pScrn->name = VGA_NAME;
-+ pScrn->Probe = GenericProbe;
-+ pScrn->PreInit = GenericPreInit;
-+ pScrn->ScreenInit = GenericScreenInit;
-+ pScrn->SwitchMode = GenericSwitchMode;
-+ pScrn->AdjustFrame = GenericAdjustFrame;
-+ pScrn->EnterVT = GenericEnterVT;
-+ pScrn->LeaveVT = GenericLeaveVT;
-+ pScrn->FreeScreen = GenericFreeScreen;
-+
-+ pGeneric->pciInfo = dev;
-+ }
-+
-+ return (pScrn != NULL);
-+}
-+#endif
-+
- static Bool
- GenericProbe(DriverPtr drv, int flags)
- {
-@@ -283,6 +375,7 @@ GenericProbe(DriverPtr drv, int flags)
- if ((numDevSections = xf86MatchDevice(VGA_NAME, &devSections)) <= 0)
- return FALSE;
-
-+#ifndef XSERVER_LIBPCIACCESS
- /* PCI BUS */
- if (xf86GetPciVideoInfo())
- {
-@@ -324,6 +417,7 @@ GenericProbe(DriverPtr drv, int flags)
- xfree(usedChips);
- }
- }
-+#endif
-
- /* Isa Bus */
- numUsed = xf86MatchIsaInstances(VGA_NAME, GenericChipsets,
-@@ -391,20 +485,6 @@ VGAFindIsaDevice(GDevPtr dev)
- return (int)CHIP_VGA_GENERIC;
- }
-
--/*
-- * This structure is used to wrap the screen's CloseScreen vector.
-- */
--typedef struct _GenericRec
--{
-- Bool ShadowFB;
-- Bool KGAUniversal;
-- CARD8 * ShadowPtr;
-- CARD32 ShadowPitch;
-- CloseScreenProcPtr CloseScreen;
-- OptionInfoPtr Options;
--} GenericRec, *GenericPtr;
--
--
- static GenericPtr
- GenericGetRec(ScrnInfoPtr pScreenInfo)
- {
-@@ -509,8 +589,14 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
-
- switch (pScreenInfo->depth)
- {
-- case 1: Module = "xf1bpp"; Sym = "xf1bppScreenInit"; break;
-- case 4: Module = "xf4bpp"; Sym = "xf4bppScreenInit"; break;
-+ case 1:
-+#if HAVE_XF1BPP
-+ Module = "xf1bpp"; Sym = "xf1bppScreenInit"; break;
-+#endif
-+ case 4:
-+#if HAVE_XF4BPP
-+ Module = "xf4bpp"; Sym = "xf4bppScreenInit"; break;
-+#endif
- case 8: Module = "fb"; break;
-
- default:
-@@ -673,6 +759,8 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
- /* Set display resolution */
- xf86SetDpi(pScreenInfo, 0, 0);
-
-+
-+#if HAVE_XF1BPP && HAVE_XF4BPP
- if (xf86ReturnOptValBool(pGenericPriv->Options, OPTION_SHADOW_FB, FALSE))
- {
- pGenericPriv->ShadowFB = TRUE;
-@@ -688,7 +776,7 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
- "Enabling universal \"KGA\" treatment.\n");
- }
-
--#ifdef SPECIAL_FB_BYTE_ACCESS
-+# ifdef SPECIAL_FB_BYTE_ACCESS
- if (!pGenericPriv->ShadowFB && (pScreenInfo->depth == 4))
- {
- xf86DrvMsg(pScreenInfo->scrnIndex, X_INFO,
-@@ -696,8 +784,13 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
- " ShadowFB enabled.\n");
- pGenericPriv->ShadowFB = TRUE;
- }
-+# endif
-+
-+#else
-+ pGenericPriv->ShadowFB = TRUE;
- #endif
-
-+
- if (pGenericPriv->ShadowFB)
- {
- pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER;
-@@ -1378,6 +1471,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- #endif
- ShadowFBInit(pScreen, GenericRefreshArea1bpp);
- }
-+#if HAVE_XF1BPP
- else
- {
- Inited = xf1bppScreenInit(pScreen, pvgaHW->Base,
-@@ -1386,6 +1480,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- pScreenInfo->xDpi, pScreenInfo->yDpi,
- pScreenInfo->displayWidth);
- }
-+#endif
- break;
- case 4:
- if (pGenericPriv->ShadowFB)
-@@ -1410,6 +1505,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- #endif
- ShadowFBInit(pScreen, GenericRefreshArea4bpp);
- }
-+#if HAVE_XF4BPP
- else
- {
- Inited = xf4bppScreenInit(pScreen, pvgaHW->Base,
-@@ -1418,6 +1514,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- pScreenInfo->xDpi, pScreenInfo->yDpi,
- pScreenInfo->displayWidth);
- }
-+#endif
- break;
- case 8:
- Inited = fbScreenInit(pScreen, pvgaHW->Base,
-@@ -1579,6 +1676,9 @@ GenericMapMem(ScrnInfoPtr scrp)
- {
- vgaHWPtr hwp = VGAHWPTR(scrp);
- int scr_index = scrp->scrnIndex;
-+#ifdef XSERVER_LIBPCIACCESS
-+ GenericPtr pPriv = GenericGetRec(scrp);
-+#endif
-
- if (hwp->Base)
- return TRUE;
-@@ -1589,7 +1689,12 @@ GenericMapMem(ScrnInfoPtr scrp)
- if (hwp->MapPhys == 0)
- hwp->MapPhys = VGA_DEFAULT_PHYS_ADDR;
-
-- hwp->Base = xf86MapDomainMemory(scr_index, VIDMEM_MMIO, hwp->Tag,
-+ hwp->Base = xf86MapDomainMemory(scr_index, VIDMEM_MMIO,
-+#ifdef XSERVER_LIBPCIACCESS
-+ pPriv->pciInfo,
-+#else
-+ hwp->Tag,
-+#endif
- hwp->MapPhys, hwp->MapSize);
- return hwp->Base != NULL;
- }
diff --git a/abs/core/xf86-video-vmware/LICENSE b/abs/core/xf86-video-vmware/LICENSE
new file mode 100644
index 0000000..7934272
--- /dev/null
+++ b/abs/core/xf86-video-vmware/LICENSE
@@ -0,0 +1,27 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
+Copyright (C) 1998-2002 VMware, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other deal-
+ings in this Software without prior written authorization from the XFree86
+Project.
diff --git a/abs/core/xf86-video-vmware/PKGBUILD b/abs/core/xf86-video-vmware/PKGBUILD
index f259c2e..8c7a752 100644
--- a/abs/core/xf86-video-vmware/PKGBUILD
+++ b/abs/core/xf86-video-vmware/PKGBUILD
@@ -1,23 +1,28 @@
-# $Id: PKGBUILD 11487 2008-08-31 16:48:39Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75868 2010-04-04 18:42:20Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-vmware
-pkgver=10.16.5
+pkgver=11.0.1
pkgrel=1
pkgdesc="X.org vmware video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906' 'randrproto' 'renderproto' 'xextproto' 'xineramaproto' 'videoproto')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'randrproto' 'renderproto' 'xextproto' 'xineramaproto' 'videoproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('6d78c82ea7c2bb0fcb587d7bb4e8f60a')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+sha1sums=('cc82cbacaa90c28b42440f6a197f5167595c8417'
+ 'f7fad008ca63b6862056f9d1123a81aef053d586')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/" || return 1
}
diff --git a/abs/core/xf86-video-vmware/abi2.patch b/abs/core/xf86-video-vmware/abi2.patch
new file mode 100644
index 0000000..29e8dde
--- /dev/null
+++ b/abs/core/xf86-video-vmware/abi2.patch
@@ -0,0 +1,38 @@
+diff -up xf86-video-vmware-10.16.7/src/vmware.c.jx xf86-video-vmware-10.16.7/src/vmware.c
+--- xf86-video-vmware-10.16.7/src/vmware.c.jx 2009-08-07 16:31:33.000000000 -0400
++++ xf86-video-vmware-10.16.7/src/vmware.c 2009-08-07 16:32:10.000000000 -0400
+@@ -640,8 +640,6 @@ VMWAREPreInit(ScrnInfoPtr pScrn, int fla
+ return FALSE;
+ }
+
+- xf86LoaderReqSymLists(vgahwSymbols, NULL);
+-
+ if (!vgaHWGetHWRec(pScrn)) {
+ return FALSE;
+ }
+@@ -959,7 +957,6 @@ VMWAREPreInit(ScrnInfoPtr pScrn, int fla
+ VMWAREFreeRec(pScrn);
+ return FALSE;
+ }
+- xf86LoaderReqSymLists(fbSymbols, shadowfbSymbols, NULL);
+
+ /* Need ramdac for hwcursor */
+ if (pVMWARE->hwCursor) {
+@@ -967,7 +964,6 @@ VMWAREPreInit(ScrnInfoPtr pScrn, int fla
+ VMWAREFreeRec(pScrn);
+ return FALSE;
+ }
+- xf86LoaderReqSymLists(ramdacSymbols, NULL);
+ }
+
+ return TRUE;
+@@ -2051,9 +2047,6 @@ vmwareSetup(pointer module, pointer opts
+ setupDone = TRUE;
+ xf86AddDriver(&VMWARE, module, VMWARE_DRIVER_FUNC);
+
+- LoaderRefSymLists(vgahwSymbols, fbSymbols, ramdacSymbols,
+- shadowfbSymbols, NULL);
+-
+ return (pointer)1;
+ }
+ if (errmaj) {
diff --git a/abs/core/xf86-video-voodoo/PKGBUILD b/abs/core/xf86-video-voodoo/PKGBUILD
index d35e2ac..ac7655a 100644
--- a/abs/core/xf86-video-voodoo/PKGBUILD
+++ b/abs/core/xf86-video-voodoo/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 11484 2008-08-31 16:48:17Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85358 2010-07-12 17:29:34Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-voodoo
-pkgver=1.2.0
+pkgver=1.2.4
pkgrel=1
-pkgdesc="X.org voodoo video driver"
+pkgdesc="X.org 3dfx Voodoo1/Voodoo2 2D video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('7ecd232cc0b7fe507e18e08799791eefa9fdaf48')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
-md5sums=('7c681d9b57f5e1f798263fc1a9d99245')
diff --git a/abs/core/xf86dgaproto/PKGBUILD b/abs/core/xf86dgaproto/PKGBUILD
index b24270f..ff665d0 100644
--- a/abs/core/xf86dgaproto/PKGBUILD
+++ b/abs/core/xf86dgaproto/PKGBUILD
@@ -1,18 +1,23 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 56536 2009-10-22 16:45:57Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
pkgname=xf86dgaproto
-pkgver=2.0.3
+pkgver=2.1
pkgrel=1
pkgdesc="X11 Direct Graphics Access extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('custom')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('a036dc2fcbf052ec10621fd48b68dbb1')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}" || return 1
}
-md5sums=('42fdcebc66efac02ab4beec2b1b0ad6e')
diff --git a/abs/core/xf86driproto/LICENSE b/abs/core/xf86driproto/LICENSE
new file mode 100644
index 0000000..07a911b
--- /dev/null
+++ b/abs/core/xf86driproto/LICENSE
@@ -0,0 +1,50 @@
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+
+
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright 2000 VA Linux Systems, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
diff --git a/abs/core/xf86driproto/PKGBUILD b/abs/core/xf86driproto/PKGBUILD
index 120c7f4..197c37f 100644
--- a/abs/core/xf86driproto/PKGBUILD
+++ b/abs/core/xf86driproto/PKGBUILD
@@ -1,19 +1,23 @@
-# $Id: PKGBUILD 1886 2008-05-22 17:47:52Z jgc $
+# $Id: PKGBUILD 50995 2009-09-04 12:48:43Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=xf86driproto
-pkgver=2.0.4
+pkgver=2.1.0
pkgrel=1
pkgdesc="X11 DRI extension wire protocol"
+arch=(any)
url="http://xorg.freedesktop.org/"
-arch=(i686 x86_64)
-source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
+license=('custom')
+source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+sha1sums=('0dfc6616ffc68ca3c3b5decb1e365aaa93be8548'
+ '32bab65dd9c0b49333146abf16602967041b0d92')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
-
-md5sums=('01470d088da3a8a3deefa8e1f45d69cb')
diff --git a/abs/core/xf86vidmodeproto/PKGBUILD b/abs/core/xf86vidmodeproto/PKGBUILD
index 378f02d..c2e310e 100644
--- a/abs/core/xf86vidmodeproto/PKGBUILD
+++ b/abs/core/xf86vidmodeproto/PKGBUILD
@@ -1,19 +1,21 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 56538 2009-10-22 16:47:03Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86vidmodeproto
-pkgver=2.2.2
+pkgver=2.3
pkgrel=1
pkgdesc="X11 Video Mode extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('custom')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('f00844a63d6e76b69eb0eb5e41eed843')
-sha1sums=('4a228958879eb06206d13f4f09ec902f837fb8dd')
+md5sums=('4434894fc7d4eeb4a22e6b876d56fdaa')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/xfsprogs/PKGBUILD b/abs/core/xfsprogs/PKGBUILD
index 4043caf..d6bd6bd 100644
--- a/abs/core/xfsprogs/PKGBUILD
+++ b/abs/core/xfsprogs/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 26327 2009-02-06 16:24:28Z paul $
+# $Id: PKGBUILD 80259 2010-05-14 07:23:36Z tpowa $
# Maintainer: Paul Mattal <paul@archlinux.org>
pkgname=xfsprogs
-pkgver=3.0.0
+pkgver=3.1.2
pkgrel=1
pkgdesc="XFS filesystem utilities"
arch=(i686 x86_64)
license=('LGPL')
url="http://oss.sgi.com/projects/xfs/"
groups=('base')
-depends=(e2fsprogs)
+depends=('util-linux-ng>=2.16')
options=('!makeflags' '!libtool')
-source=(ftp://oss.sgi.com/projects/xfs/cmd_tars/xfsprogs-${pkgver}.tar.gz)
-md5sums=('ec734f935ec87ebb8be890d29380a3e6')
+source=(ftp://oss.sgi.com/projects/xfs/cmd_tars/${pkgname}-${pkgver}.tar.gz)
+md5sums=('86d10178ee6897cb099c97303e6d9da0')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- export OPTIMIZER="-march=$(echo ${CARCH} -O1 | sed -e 's/_/-/g')"
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ export OPTIMIZER="-march=${CARCH/_/-} -O1"
export DEBUG=-DNDEBUG
make || return 1
- make DIST_ROOT=${pkgdir} install install-dev
+ make DIST_ROOT="${pkgdir}" install install-dev || return 1
}
diff --git a/abs/core/xkeyboard-config/PKGBUILD b/abs/core/xkeyboard-config/PKGBUILD
index abac013..740c544 100644
--- a/abs/core/xkeyboard-config/PKGBUILD
+++ b/abs/core/xkeyboard-config/PKGBUILD
@@ -1,28 +1,26 @@
-# $Id: PKGBUILD 22425 2008-12-26 19:55:49Z jgc $
+# $Id: PKGBUILD 65515 2010-01-30 15:59:03Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xkeyboard-config
-pkgver=1.4
-pkgrel=2
+pkgver=1.8
+pkgrel=1
pkgdesc="X keyboard configuration files"
-arch=(i686 x86_64)
+arch=(any)
license=('custom')
url="http://www.freedesktop.org/wiki/Software/XKeyboardConfig"
depends=('xorg-xkb-utils')
-makedepends=('perlxml' 'pkgconfig')
+makedepends=('intltool' 'pkgconfig')
provides=('xkbdata')
replaces=('xkbdata')
conflicts=('xkbdata')
-source=(http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-${pkgver}.tar.bz2
- fix-abnt2.patch)
-md5sums=('a9fe7efbc67a6966c4d4501f0cf88073' '5af20ec00a42a051cf0d7bcb572471df')
+source=(http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-${pkgver}.tar.bz2)
+md5sums=('37ae41628cd2ce35d202d30b1820c8ba')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/fix-abnt2.patch" || return 1
./configure --prefix=/usr \
- --with-xkb-base=/usr/share/X11/xkb \
- --with-xkb-rules-symlink=xorg \
- --enable-compat-rules=yes || return 1
+ --with-xkb-base=/usr/share/X11/xkb \
+ --with-xkb-rules-symlink=xorg \
+ --enable-compat-rules=yes || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
rm -f "${pkgdir}/usr/share/X11/xkb/compiled" || return 1
diff --git a/abs/core/xmltv/PKGBUILD b/abs/core/xmltv/PKGBUILD
index e16f791..98ddf75 100755
--- a/abs/core/xmltv/PKGBUILD
+++ b/abs/core/xmltv/PKGBUILD
@@ -1,25 +1,24 @@
-# $Id: PKGBUILD,v 1.7 2009/01/28 12:14:17 allan Exp $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
pkgname=xmltv
-pkgver=0.5.54
+pkgver=0.5.57
pkgrel=1
pkgdesc="Set of utilities to download tv listings and format them in xml"
-arch=('i686' 'x86_64')
+arch=('any')
url="http://xmltv.org/wiki/"
license=('GPL')
-depends=('perl-archive-zip' 'perl-date-manip' 'perl-file-slurp' \
- 'perl-http-cache-transparent' 'perl-html-tree' 'perl-io-stringy' \
- 'perl-lingua-en-numbers-ordinate' 'perl-lingua-preferred' 'perl-soap-lite' \
- 'perl-term-progressbar' 'perl-term-readkey' 'perl-text-kakasi' \
- 'perl-timedate' 'perl-tk-tablematrix' 'perl-unicode-string' \
- 'perl-unicode-utf8simple' 'perl-www-mechanize' 'perl-xml-dom' 'libxml2' \
- 'perl-xml-libxml' 'perl-xml-libxslt' 'perl-xml-simple' 'perl-xml-twig' \
- 'perl-xml-writer')
-
+depends=('perl-archive-zip' 'perl-date-manip' 'perl-file-slurp'
+ 'perl-http-cache-transparent' 'perl-http-response-encoding'
+ 'perl-html-tree' 'perl-io-stringy' 'perl-lingua-en-numbers-ordinate'
+ 'perl-lingua-preferred' 'perl-soap-lite' 'perl-term-progressbar'
+ 'perl-term-readkey' 'perl-timedate' 'perl-tk-tablematrix'
+ 'perl-unicode-string' 'perl-unicode-utf8simple' 'perl-www-mechanize'
+ 'perl-xml-dom' 'perl-xml-libxml' 'perl-xml-libxslt' 'perl-xml-simple'
+ 'perl-xml-twig' 'perl-xml-writer')
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('b006f72f45a3e7be3e64f88813275403')
+md5sums=('c8396db9f823ba43d42ca3f4662b816b')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -31,4 +30,4 @@ build() {
# remove perllocal.pod and .packlist
find ${pkgdir} -name perllocal.pod -delete
find ${pkgdir} -name .packlist -delete
-} \ No newline at end of file
+}
diff --git a/abs/core/xorg-apps/LICENSE b/abs/core/xorg-apps/LICENSE
new file mode 100644
index 0000000..e188a3b
--- /dev/null
+++ b/abs/core/xorg-apps/LICENSE
@@ -0,0 +1,1354 @@
+
+luit:
+
+Copyright (c) 2001 by Juliusz Chroboczek
+Copyright (c) 2002 by Tomohiro KUBOTA
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+oclock:
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+x11perf:
+
+Copyright 1988, 1989 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+
+xbiff:
+
+Copyright (c) 1988 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+
+xcalc:
+Copyright (c) 1989, 1994 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+------------------------------------------------------------------------------
+
+Copyright 2005 Red Hat, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Red Hat not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Red Hat makes no
+representations about the suitability of this software for any
+purpose. It is provided "as is" without express or implied warranty.
+
+RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+
+xclipboard:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+xclock:
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * 3. Neither the name of Sun Microsystems, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any kind.
+ *
+ * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED.
+ * SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES OR
+ * LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR RELATING TO USE,
+ * MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR ITS DERIVATIVES.
+ * IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE,
+ * PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
+ * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE
+ * THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE
+ * SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ *
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+
+xconsole:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1990, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+xcursorgen:
+Copyright (C) 2002 Manish Singh
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Manish Singh not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Manish Singh makes no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+
+MANISH SINGH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL MANISH SINGH BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+xedit:
+
+Copyright (c) 1987, 1993
+ The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+
+Copyright (c) 1994
+ The Regents of the University of California. All rights reserved.
+
+This code is derived from software contributed to Berkeley by
+Jan-Simon Pendry.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+
+
+ COPYRIGHT 1987
+ DIGITAL EQUIPMENT CORPORATION
+ MAYNARD, MASSACHUSETTS
+ ALL RIGHTS RESERVED.
+
+THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
+SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
+DIGITAL MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE FOR
+ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+
+IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE COPYRIGHT RIGHTS,
+APPROPRIATE LEGENDS MAY BE PLACED ON THE DERIVATIVE WORK IN ADDITION TO THAT
+SET FORTH ABOVE.
+
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Digital Equipment Corporation not be
+used in advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+Copyright 2004 Roland Mainz <roland.mainz@nrubsig.org>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright (c) 1999-2002 by The XFree86 Project, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from the
+XFree86 Project.
+
+
+Copyright (c) 2007 Paulo Cesar Pereira de Andrade
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+
+xeyes:
+Copyright (c) 1991 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+
+xkill:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+
+xload:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (c) 1989 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+
+xlogo:
+
+Copyright 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 2004 Roland Mainz <roland.mainz@nrubsig.org>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+xmag:
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+ * Copyright (C) 1999 The XFree86 Project, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the XFree86 Project shall
+ * not be used in advertising or otherwise to promote the sale, use or other
+ * dealings in this Software without prior written authorization from the
+ * XFree86 Project.
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+
+xman:
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (c) 1987, 1988 X Consortium
+Copyright (c) 1991 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+Copyright 2004 Roland Mainz <roland.mainz@nrubsig.org>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+xmessage:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+ * Copyright (C) 2003 The XFree86 Project, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE
+ * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the XFree86 Project
+ * shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written
+ * authorization from the XFree86 Project.
+
+Copyright (c) 1988, 1991, 1994 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+
+xmh:
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (c) 1989 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+
+ *
+ * COPYRIGHT 1987, 1989
+ * DIGITAL EQUIPMENT CORPORATION
+ * MAYNARD, MASSACHUSETTS
+ * ALL RIGHTS RESERVED.
+ *
+ * THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
+ * SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
+ * DIGITAL MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE FOR
+ * ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ *
+ * IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE COPYRIGHT
+ * RIGHTS, APPROPRIATE LEGENDS MAY BE PLACED ON THE DERIVATIVE WORK IN
+ * ADDITION TO THAT SET FORTH ABOVE.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose and without fee is hereby granted, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Digital Equipment Corporation not be
+ * used in advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.
+
+Copyright (c) 1987, 1988 X Consortium
+Copyright (c) 1993 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+xpr:
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (c) 1985 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+Copyright (c) 1988 by Hewlett-Packard Company
+
+Permission to use, copy, modify, and distribute this software
+and its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that copyright notice and this permission
+notice appear in supporting documentation, and that
+Hewlett-Packard not be used in advertising or publicity
+pertaining to distribution of the software without specific, written
+prior permission.
+
+Copyright (c) 1988 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+
+xwd:
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+ * Copyright 2007 Kim woelders
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. The copyright holders make no representations
+ * about the suitability of this software for any purpose. It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+
+Copyright 1993, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+Copyright 1994 Hewlett-Packard Co.
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+
+xwud:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1985, 1986, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
diff --git a/abs/core/xorg-apps/PKGBUILD b/abs/core/xorg-apps/PKGBUILD
index adaccd2..b36c4f3 100644
--- a/abs/core/xorg-apps/PKGBUILD
+++ b/abs/core/xorg-apps/PKGBUILD
@@ -1,56 +1,57 @@
-# $Id: PKGBUILD 19081 2008-11-14 21:07:55Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 65057 2010-01-24 04:35:40Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xorg-apps
-pkgver=7.4
-pkgrel=1
+pkgver=7.5
+pkgrel=3
pkgdesc="Various X.Org applications"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=(libxcursor libxkbfile libpng libxft libfontenc libxaw)
+license=('custom')
+depends=(libxcursor libxkbfile 'libpng>=1.4.0' libxft libfontenc libxaw)
makedepends=(pkgconfig xbitmaps)
source=(${url}/releases/individual/app/oclock-1.0.1.tar.bz2
- ${url}/releases/individual/app/luit-1.0.3.tar.bz2
- ${url}/releases/individual/app/xclock-1.0.3.tar.bz2
- ${url}/releases/individual/app/xpr-1.0.2.tar.bz2
- ${url}/releases/individual/app/xwd-1.0.2.tar.bz2
- ${url}/releases/individual/app/xwud-1.0.1.tar.bz2
- ${url}/releases/individual/app/x11perf-1.5.tar.bz2
- ${url}/releases/individual/app/xbiff-1.0.1.tar.bz2
- ${url}/releases/individual/app/xclipboard-1.0.1.tar.bz2
+ ${url}/releases/individual/app/luit-1.0.4.tar.bz2
+ ${url}/releases/individual/app/xclock-1.0.4.tar.bz2
+ ${url}/releases/individual/app/xpr-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xwd-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xwud-1.0.2.tar.bz2
+ ${url}/releases/individual/app/x11perf-1.5.1.tar.bz2
+ ${url}/releases/individual/app/xbiff-1.0.2.tar.bz2
+ ${url}/releases/individual/app/xclipboard-1.1.0.tar.bz2
${url}/releases/individual/app/xconsole-1.0.3.tar.bz2
- ${url}/releases/individual/app/xcursorgen-1.0.2.tar.bz2
- ${url}/releases/individual/app/xeyes-1.0.1.tar.bz2
- ${url}/releases/individual/app/xkill-1.0.1.tar.bz2
+ ${url}/releases/individual/app/xcursorgen-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xeyes-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xkill-1.0.2.tar.bz2
${url}/releases/individual/app/xload-1.0.2.tar.bz2
- ${url}/releases/individual/app/xlogo-1.0.1.tar.bz2
- ${url}/releases/individual/app/xmag-1.0.2.tar.bz2
+ ${url}/releases/individual/app/xlogo-1.0.2.tar.bz2
+ ${url}/releases/individual/app/xmag-1.0.3.tar.bz2
${url}/releases/individual/app/xmessage-1.0.2.tar.bz2
- ${url}/releases/individual/app/xcalc-1.0.2.tar.bz2
- ${url}/releases/individual/app/xman-1.0.3.tar.bz2
- ${url}/releases/individual/app/xedit-1.1.2.tar.bz2
- ${url}/releases/individual/app/xmh-1.0.1.tar.bz2)
+ ${url}/releases/individual/app/xcalc-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xman-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xedit-1.1.2.tar.bz2
+ LICENSE)
md5sums=('91f49547f9ed3cd0137c8b7c3183e360'
- 'b01e4f71c20fc1c79ed727759c1df40c'
- '2b1a3d030d87e62a591db8ee4c0072e6'
- '6b3a6896081f628bf5a2c9129417c86f'
- '0a6ef08a2ac08ad5c4dd1522eb3788a3'
- '6e3c5d0297d88e890b6f5df31f73dd60'
- '31283bfc3c78718ac1bd71e510d4e774'
- '404f5add4537d22dd109c33e518a5190'
- '2c6ecedb10dc51adbb64c95f22fd99c2'
+ '4e45233e310d72dce307709761cf241b'
+ 'bb9fd5e00d39c348a0078b97fdf8258f'
+ '1c2c540d240def3ea65ff2030f059f8a'
+ '007cea1f389abde5c93162dcd5541351'
+ '20bc5d85634964d4ceee77cdfcd131ed'
+ '66e4aa4645f83809071eb69553ed0222'
+ '1d4ad06725f9dc4b877ecd210b7b1607'
+ '113eccea3ee73a1ef7b43d2291ca1e09'
'0e1a3110bebabecc2897d67a973526b0'
- '6fc90896b8c786cb1a2100b4167f7874'
- '033f14f7c4e30d1f4edbb22d5ef86883'
- 'f66d76abb0f75514ca32272e23cca757'
+ '69df079b3950a0db4e5f4e6f0e00ddee'
+ '933f6d2b132d14f707f1f3c87b39ebe2'
+ 'dca031355b4afcf8517a8258eeb730c3'
'b41ed6b4bcfc9897366c27a94d2bf150'
- '4c5482552f38a7d42398a694cc9b2ee6'
- '7c6a783e42c88360ac31d259a864a19d'
+ '7365c0852750134119734bc1879f60ca'
+ '32f7ed4c089365cadb9382f6fbd750a9'
'b4b561ef11fd184989a6062962e86748'
- 'd31a99795b9668f047aa11bf36df6df0'
- '3d3a4b310a65ccce82472ef83acbbf97'
+ '0b981e360b54584fcb6dc2ec4658c406'
+ '5e5b3351bac26cc1f8490faf1c1402bb'
'67193be728414d45a1922911e6437991'
- '656bcbdd41818a8b5a9f7dba77a3eeba')
+ '1a3977bcff6dc0fc1086e0650fcea31a')
build() {
cd "${srcdir}"
@@ -60,18 +61,22 @@ build() {
case "${i}" in
x11perf*)
sed -e 's|^LIBPATH = $(libdir)|LIBPATH = $(datadir)|' \
- -i Makefile.* || return 1
- ;;
- xedit*)
- sed -e 's|^XEDITDIR = ${libdir}|XEDITDIR = ${datadir}|' \
- -i Makefile.* || return 1
- ;;
+ -i Makefile.* || return 1
+ ;;
+ xedit*)
+ sed -e 's|^XEDITDIR = ${libdir}|XEDITDIR = ${datadir}|' \
+ -i Makefile.* || return 1
+ ;;
+ xcursorgen*)
+ sed -e 's/libpng12/libpng14/g' -i configure
+ ;;
esac
./configure --prefix=/usr --disable-xprint --mandir=/usr/share/man \
- --with-localealiasfile=/usr/share/X11/locale/locale.alias
+ --with-localealiasfile=/usr/share/X11/locale/locale.alias
make || return 1
make DESTDIR="${pkgdir}" install || return 1
popd
fi
done
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core/xorg-server-utils/LICENSE.iceauth b/abs/core/xorg-server-utils/LICENSE.iceauth
new file mode 100644
index 0000000..06941b3
--- /dev/null
+++ b/abs/core/xorg-server-utils/LICENSE.iceauth
@@ -0,0 +1,25 @@
+ Copyright 1989, 1998 The Open Group
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+ * *
+ * Original Author of "xauth" : Jim Fulton, MIT X Consortium
+ * Modified into "iceauth" : Ralph Mor, X Consortium
+ */
diff --git a/abs/core/xorg-server-utils/LICENSE.xcmsdb b/abs/core/xorg-server-utils/LICENSE.xcmsdb
new file mode 100644
index 0000000..132ace6
--- /dev/null
+++ b/abs/core/xorg-server-utils/LICENSE.xcmsdb
@@ -0,0 +1,18 @@
+ (c) Copyright 1990 Tektronix Inc.
+ All Rights Reserved
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted,
+ provided that the above copyright notice appear in all copies and that
+ both that copyright notice and this permission notice appear in
+ supporting documentation, and that the name of Tektronix not be used
+ in advertising or publicity pertaining to distribution of the software
+ without specific, written prior permission.
+
+ Tektronix disclaims all warranties with regard to this software, including
+ all implied warranties of merchantability and fitness, in no event shall
+ Tektronix be liable for any special, indirect or consequential damages or
+ any damages whatsoever resulting from loss of use, data or profits,
+ whether in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of this
+ software.
diff --git a/abs/core/xorg-server-utils/PKGBUILD b/abs/core/xorg-server-utils/PKGBUILD
index 84b4d12..5185a07 100644
--- a/abs/core/xorg-server-utils/PKGBUILD
+++ b/abs/core/xorg-server-utils/PKGBUILD
@@ -1,59 +1,73 @@
-# $Id: PKGBUILD 19183 2008-11-16 22:56:53Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 88717 2010-08-24 14:40:21Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xorg-server-utils
-pkgver=7.4
-pkgrel=2
+pkgver=7.5
+pkgrel=6
pkgdesc="X.Org utilities required by xorg-server"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libxfontcache' 'libxi' 'libxmu' 'libxxf86misc' 'libxrandr' 'libxxf86vm' 'mcpp>=2.6')
+license=('custom')
+depends=('libxfontcache>=1.0.5' 'libxi>=1.3' 'libxaw>=1.0.6' 'libxrandr>=1.3.0' 'libxxf86vm>=1.1.0' 'mcpp>=2.7.2')
makedepends=('pkgconfig' 'xbitmaps' 'bigreqsproto' 'xtrans')
-source=(${url}/releases/individual/app/iceauth-1.0.2.tar.bz2
+groups=('xorg')
+source=(${url}/releases/individual/app/iceauth-1.0.3.tar.bz2
${url}/releases/individual/app/rgb-1.0.3.tar.bz2
- ${url}/releases/individual/app/sessreg-1.0.4.tar.bz2
- ${url}/releases/individual/app/xcmsdb-1.0.1.tar.bz2
- ${url}/releases/individual/app/xbacklight-1.1.tar.bz2
- ${url}/releases/individual/app/xgamma-1.0.2.tar.bz2
- ${url}/releases/individual/app/xhost-1.0.2.tar.bz2
- ${url}/releases/individual/app/xmodmap-1.0.3.tar.bz2
- ${url}/releases/individual/app/xrandr-1.2.3.tar.bz2
- ${url}/releases/individual/app/xrdb-1.0.5.tar.bz2
- ${url}/releases/individual/app/xrefresh-1.0.2.tar.bz2
- ${url}/releases/individual/app/xset-1.0.4.tar.bz2
+ ${url}/releases/individual/app/sessreg-1.0.6.tar.bz2
+ ${url}/releases/individual/app/xcmsdb-1.0.2.tar.bz2
+ ${url}/releases/individual/app/xbacklight-1.1.1.tar.bz2
+ ${url}/releases/individual/app/xgamma-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xhost-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xinput-1.5.2.tar.bz2
+ ${url}/releases/individual/app/xmodmap-1.0.4.tar.bz2
+ ${url}/releases/individual/app/xrandr-1.3.3.tar.bz2
+ ${url}/releases/individual/app/xrdb-1.0.6.tar.bz2
+ ${url}/releases/individual/app/xrefresh-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xset-1.2.0.tar.bz2
${url}/releases/individual/app/xsetmode-1.0.0.tar.bz2
- ${url}/releases/individual/app/xsetroot-1.0.2.tar.bz2)
-md5sums=('7ab8b64edf0212a9d9a3c8129901a450'
+ ${url}/releases/individual/app/xsetroot-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xvidtune-1.0.2.tar.bz2
+ LICENSE.iceauth
+ LICENSE.xcmsdb)
+md5sums=('975ade3f238c1eb10705da0a91e6e8e7'
'44ea16cc3104de6401bc74035f642357'
- '839e968d7197b9563f0fd8a5a3aac2e3'
- '8579d5f50ba7f0c4a5bf16b9670fea01'
- '51b4a1c0ae2b3bd77417306fd78a3e94'
- 'f13ddedaa63a608d3b025d326f4f5b5d'
- 'f746aba36f075ae4cae313d849a94f4e'
- '626731003ec22a74ecf9e44ed098bbdf'
- '41a9d0cc073fa6165a31fbf9e85f68a6'
- '9c30b8e1709d5367beb7706146640c07'
- '1228f890f86148e4e6ae22aa73118cbb'
- '2f41fd983ba4d89419204854936025e2'
+ '8c8fcda19f4cffe573d43ec9b8255f8e'
+ '7f2bed9f4dd3301d18d83eb296c3be0d'
+ '3e39eec6d0fd5c587ca6d55aa7bb8fe1'
+ 'e8a88bf1a18f35b724619849dca97f4f'
+ 'c7f91b4a750d297f269c2a0a3206a1b2'
+ '8cec6023f90180cb8e4be31d98c43fda'
+ 'bbe021f812e0014a8ee3692317788119'
+ '5b2dcfb0d9b736afaf78f6ce7651259c'
+ '8dd881cd5a7dcb6e456549817f0fb475'
+ '8f4fafcfb77b3c6972cc44bb3f1c899c'
+ '88ff2d390695366fa53e5d746fe86ad5'
'd074e79d380b031d2f60e4cd56538c93'
- '9af7db9f3052aef0b11636720b3101dd')
+ 'cbda9b9b8da5af4614110883d5a276b8'
+ 'e40eeb4454f2a7cdde3a14f5dfd3aadd'
+ '65695dc24c24958190724a23655ffda7'
+ 'b6235416dca2205f0ba83c0c4b3ddeb8')
build() {
- cd ${startdir}/src
+ cd "${srcdir}"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
for i in *; do
if [ -d "${i}" ]; then
pushd "${i}"
case "${i}" in
xrdb*)
- ./configure --prefix=/usr --mandir=/usr/share/man --with-cpp=/usr/bin/mcpp\ -@old || return 1
- ;;
- *)
- ./configure --prefix=/usr --mandir=/usr/share/man || return 1
- ;;
+ ./configure --prefix=/usr --mandir=/usr/share/man --with-cpp=/usr/bin/mcpp
+ ;;
+ *)
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ ;;
esac
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE.${i%-*}
popd
fi
done
+# Replacing stub license files
+ install -m644 "${srcdir}"/LICENSE.* "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xorg-server/10-evdev.conf b/abs/core/xorg-server/10-evdev.conf
new file mode 100644
index 0000000..877aa4a
--- /dev/null
+++ b/abs/core/xorg-server/10-evdev.conf
@@ -0,0 +1,39 @@
+# Catchall classes for input devices
+# We don't simply match on any device since that also adds accelerometers
+# and other devices that we don't really want to use. The list below
+# matches everything but joysticks.
+
+Section "InputClass"
+ Identifier "evdev pointer catchall"
+ MatchIsPointer "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+EndSection
+
+Section "InputClass"
+ Identifier "evdev keyboard catchall"
+ MatchIsKeyboard "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+EndSection
+
+Section "InputClass"
+ Identifier "evdev touchpad catchall"
+ MatchIsTouchpad "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+EndSection
+
+Section "InputClass"
+ Identifier "evdev tablet catchall"
+ MatchIsTablet "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+EndSection
+
+Section "InputClass"
+ Identifier "evdev touchscreen catchall"
+ MatchIsTouchscreen "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+EndSection
diff --git a/abs/core/xorg-server/10-quirks.conf b/abs/core/xorg-server/10-quirks.conf
new file mode 100644
index 0000000..7afad22
--- /dev/null
+++ b/abs/core/xorg-server/10-quirks.conf
@@ -0,0 +1,10 @@
+# Collection of quirks and blacklist/whitelists for specific devices.
+
+
+# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
+# http://bugs.freedesktop.org/show_bug.cgi?id=22442
+Section "InputClass"
+ Identifier "ThinkPad HDAPS accelerometer blacklist"
+ MatchProduct "ThinkPad HDAPS accelerometer data"
+ Option "Ignore" "on"
+EndSection
diff --git a/abs/core/xorg-server/PKGBUILD b/abs/core/xorg-server/PKGBUILD
index 51f75f8..ae28da3 100644
--- a/abs/core/xorg-server/PKGBUILD
+++ b/abs/core/xorg-server/PKGBUILD
@@ -1,105 +1,88 @@
-# $Id: PKGBUILD 21903 2008-12-17 20:32:54Z jgc $
-# Maintainer: Alexander Baldeck <kth5@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 83339 2010-06-21 12:03:15Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-server
-pkgver=1.5.3
-pkgrel=5
+pkgver=1.8.1.902
+pkgrel=1
pkgdesc="X.Org X servers"
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org"
-depends=('libx11>=1.1.5' 'libxkbui>=1.0.2' 'libgl' 'libxfont>=1.3.3' 'openssl>=0.9.8h' 'libxxf86misc>=1.0.1' 'libpciaccess>=0.10.5' 'libxv>=1.0.4' 'libxaw>=1.0.4' 'pixman>=0.11.10' 'hal>=0.5.11' 'xcursor-themes' 'xkeyboard-config>=1.3' 'xorg-server-utils' 'xorg-utils' 'xorg-fonts-misc' 'xbitmaps' 'libdrm>=2.3.1' 'diffutils' 'xf86-input-evdev')
-makedepends=('glproto>=1.4.9' 'xf86driproto>=2.0.4' 'mesa>=7.2' 'randrproto>=1.2.2' 'renderproto>=0.9.3' 'scrnsaverproto>=1.1.0' 'fontsproto>=2.0.2' 'videoproto>=2.2.2' 'compositeproto>=0.4' 'trapproto>=3.4.3' 'resourceproto>=1.0.2' 'xineramaproto>=1.1.2' 'evieext>=1.0.2' 'libxkbfile>=1.0.5' 'libxmu>=1.0.4' 'libxpm>=3.5.7' 'libxxf86dga>=1.0.2' 'inputproto>=1.4.4' 'xcmiscproto>=1.1.2' 'bigreqsproto' 'libdrm=2.3.1' 'xtrans')
+depends=('libgl' 'libxfont>=1.4.1' 'libgcrypt>=1.4.5' 'udev>=151' 'libpciaccess>=0.10.9' 'libxv>=1.0.5' 'pixman>=0.18.0' 'xcursor-themes>=1.0.2' 'xkeyboard-config>=1.8' 'xorg-server-utils' 'xorg-fonts-misc' 'xbitmaps' 'diffutils' 'xf86-input-evdev>=2.3.2-2' 'inputproto>=2.0')
+makedepends=('libx11>=1.3.3' 'mesa>=7.8.2' 'xf86driproto>=2.1.0' 'xtrans>=1.2.5' 'libxkbfile>=1.0.6' 'randrproto>=1.3.1' 'renderproto>=0.11' 'xcmiscproto>=1.2.0' 'bigreqsproto>=1.1.0' 'resourceproto>=1.1.0' 'videoproto>=2.3.0' 'compositeproto>=0.4.1' 'scrnsaverproto>=1.2.0' 'xf86dgaproto>=2.1' 'libgl>=7.8.2' 'glproto>=1.4.11' 'xorg-util-macros>=1.6.1' 'xineramaproto>=1.2' 'recordproto')
+conflicts=('catalyst-utils<=9.2' 'xf86-input-calcomp' 'xf86-input-citron' 'xf86-input-digitaledge' 'xf86-input-dmc' 'xf86-input-dynapro' 'xf86-input-elo2300'
+ 'xf86-input-jamstudio' 'xf86-input-magellan' 'xf86-input-magictouch' 'xf86-input-microtouch' 'xf86-input-palmax' 'xf86-input-spaceorb' 'xf86-input-summa' 'xf86-input-tek4957' 'xf86-input-ur98' 'xf86-video-vga' 'xf86-video-intel-legacy' 'nvidia-96xx-utils<96.43.14' 'nvidia-173xx-utils<173.14.21')
options=('!libtool')
provides=('x-server')
groups=('xorg')
install=xorg-server.install
+backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf')
source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2
- xserver-1.5-branch-4970d.patch
- 001_fedora_extramodes.patch
- xorg-redhat-die-ugly-pattern-die-die-die.patch
- xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch
- xserver-1.5.3-AEI-on-by-default.patch)
-md5sums=('308971036e25250e7fe3cccfd5a120f8'
- '61f9bb524501247dce647b218ad14347'
- '033427f2b406cba8dd6103ff374e7156'
+ xorg-redhat-die-ugly-pattern-die-die-die.patch
+ xvfb-run
+ xvfb-run.1
+ 10-evdev.conf
+ 10-quirks.conf)
+md5sums=('8a851466d13e4ee527cc782308532119'
'1a336eb22e27cbf443ec5a2ecddfa93c'
- '7b03ba9b75d795e4f7fdfaa550d97159'
- '63d1d61d217005db7c23c4a98fc3e7eb')
+ '52fd3effd80d7bc6c1660d4ecf23d31c'
+ '376c70308715cd2643f7bff936d9934b'
+ 'e930e153d69968a795fe4e2ef5d9a5dc'
+ 'd4f7dfc6be4ef4e2c6dd7632a9d88abe')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- # Upstream commits from server-1.5 branch
- patch -Np1 -i "${srcdir}/xserver-1.5-branch-4970d.patch" || return 1
-
- # extramodes
- patch -Np1 -i "${srcdir}/001_fedora_extramodes.patch" || return 1
# Get rid of the ugly pattern
- patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch" || return 1
-
- # Patch from Fedora to fix FS#12248
- patch -Np1 -i "${srcdir}/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch" || return 1
-
- # Upstream patch to fix evdev issues with >=2.1.0
- patch -Np1 -i "${srcdir}/xserver-1.5.3-AEI-on-by-default.patch" || return 1
+ patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch"
- # Fix dbus config path
- sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.* || return 1
+ sed -i -e 's/\$(prefix)\/etc/\/etc/g' config/Makefile.*
+ autoreconf
./configure --prefix=/usr \
- --enable-ipv6 \
- --enable-dri \
- --disable-dmx \
- --enable-xvfb \
- --enable-xnest \
- --enable-composite \
- --enable-xcsecurity \
- --enable-xorg \
- --enable-xtrap \
- --enable-xevie \
- --enable-xephyr \
- --enable-glx-tls \
- --enable-xorgcfg \
- --enable-kdrive \
- --enable-install-setuid \
- --enable-config-hal \
- --enable-config-dbus \
- --disable-xfbdev \
- --disable-xfake \
- --disable-xsdl \
- --disable-kdrive-vesa \
- --disable-dri2 \
- --disable-xprint \
- --disable-static \
- --sysconfdir=/etc/X11 \
- --localstatedir=/var \
- --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
- --with-xkb-path=/usr/share/X11/xkb \
- --with-xkb-output=/var/lib/xkb \
- --with-dri-driver-path=/usr/lib/xorg/modules/dri --enable-null-root-cursor || return 1
+ --enable-ipv6 \
+ --enable-dri \
+ --disable-dmx \
+ --enable-xvfb \
+ --enable-xnest \
+ --enable-composite \
+ --enable-xcsecurity \
+ --enable-xorg \
+ --enable-xephyr \
+ --enable-glx-tls \
+ --enable-kdrive \
+ --enable-install-setuid \
+ --enable-config-udev \
+ --disable-config-dbus \
+ --enable-record \
+ --disable-xfbdev \
+ --disable-xfake \
+ --disable-static \
+ --sysconfdir=/etc/X11 \
+ --localstatedir=/var \
+ --with-xkb-path=/usr/share/X11/xkb \
+ --with-xkb-output=/var/lib/xkb \
+ --with-dri-driver-path=/usr/lib/xorg/modules/dri
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ make
+ make DESTDIR="${pkgdir}" install
- rm -rf "${pkgdir}/var/log" || return 1
+ install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
+ install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/"
- install -m755 -d "${pkgdir}/etc/X11" || return 1
- install -m755 -d "${pkgdir}/var/lib/xkb" || return 1
+ rm -rf "${pkgdir}/var/log"
- # No longer needed, but as nvidia-utils mangles these files,
- # keep them like this so they can be restored
- mv "${pkgdir}/usr/lib/xorg/modules/libwfb.so" \
- "${pkgdir}/usr/lib/xorg/modules/libwfb.so.1.4" || return 1
+ install -m755 -d "${pkgdir}/var/lib/xkb"
+
+ # Install sane config files in /etc. I don't see the need for config files in /usr/share here, users will edit them anyways.
+ install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
+ install -m644 "${srcdir}/10-evdev.conf" "${srcdir}/10-quirks.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
+ rm -rf "${pkgdir}/usr/share/X11"
# Needed for non-mesa drivers, libgl will restore it
mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \
- "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg" || return 1
-
- mv "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.so" \
- "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.xorg" || return 1
+ "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg"
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xorg-server/xorg-server.install b/abs/core/xorg-server/xorg-server.install
index c67438d..89cfec0 100644
--- a/abs/core/xorg-server/xorg-server.install
+++ b/abs/core/xorg-server/xorg-server.install
@@ -1,33 +1,14 @@
post_install() {
- rm -f usr/lib/xorg/modules/libwfb.so
- ln -sf libwfb.so.1.4 usr/lib/xorg/modules/libwfb.so
+cat << _EOF
- cmp usr/lib/xorg/modules/extensions/libdri.so usr/lib/xorg/modules/extensions/libglx.xorg >/dev/null 2>&1 && rm -f usr/lib/xorg/modules/extensions/libdri.so
-
- # If the symlink is dead or non-existent, remove it and make a new one
- if [ ! -e usr/lib/xorg/modules/extensions/libdri.so ]; then
- rm -f usr/lib/xorg/modules/extensions/libdri.so
- ln -sf libdri.xorg usr/lib/xorg/modules/extensions/libdri.so
- fi
-}
-
-post_upgrade() {
- if [ "`vercmp $2 1.4.99.906`" -lt 0 ]; then
- cat << _EOF
-
- Input device handling has changed in xorg-server 1.5.
+ Input device handling has changed since xorg-server 1.5.
Please read http://wiki.archlinux.org/index.php/Xorg_input_hotplugging.
_EOF
- fi
- post_install
}
-post_remove() {
- rm -f /usr/lib/xorg/modules/libwfb.so
-
- # If the symlink is dead, remove it
- if [ ! -e usr/lib/xorg/modules/extensions/libdri.so ]; then
- rm -f usr/lib/xorg/modules/extensions/libdri.so
+post_upgrade() {
+ if [ "`vercmp $2 1.4.99.906`" -lt 0 ]; then
+ post_install
fi
}
diff --git a/abs/core/xorg-server/xserver-1.7.1-gamma-kdm-fix.patch b/abs/core/xorg-server/xserver-1.7.1-gamma-kdm-fix.patch
new file mode 100644
index 0000000..c62837e
--- /dev/null
+++ b/abs/core/xorg-server/xserver-1.7.1-gamma-kdm-fix.patch
@@ -0,0 +1,34 @@
+From acc64ce5be7383c09e88a23aab06ebc2403f2ca3 Mon Sep 17 00:00:00 2001
+From: Bill Nottingham <notting@redhat.com>
+Date: Fri, 6 Nov 2009 10:32:27 +1000
+Subject: [PATCH] fix KDM gamma issue on vt switch
+
+---
+ hw/xfree86/modes/xf86RandR12.c | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
+index 6ea9d26..ece12b9 100644
+--- a/hw/xfree86/modes/xf86RandR12.c
++++ b/hw/xfree86/modes/xf86RandR12.c
+@@ -1761,6 +1761,7 @@ xf86RandR12Init12 (ScreenPtr pScreen)
+ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ rrScrPrivPtr rp = rrGetScrPriv(pScreen);
+ XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen);
++ int i;
+
+ rp->rrGetInfo = xf86RandR12GetInfo12;
+ rp->rrScreenSetSize = xf86RandR12ScreenSetSize;
+@@ -1790,6 +1791,9 @@ xf86RandR12Init12 (ScreenPtr pScreen)
+ */
+ if (!xf86RandR12SetInfo12 (pScreen))
+ return FALSE;
++ for (i = 0; i < rp->numCrtcs; i++) {
++ xf86RandR12CrtcGetGamma(pScreen, rp->crtcs[i]);
++ }
+ return TRUE;
+ }
+
+--
+1.6.5.1
+
diff --git a/abs/core/xorg-server/xserver-1.7.1-libcrypto.patch b/abs/core/xorg-server/xserver-1.7.1-libcrypto.patch
new file mode 100644
index 0000000..ea33ea9
--- /dev/null
+++ b/abs/core/xorg-server/xserver-1.7.1-libcrypto.patch
@@ -0,0 +1,32 @@
+From 8875112f5c57ec5d575e717c5638fbc919145efb Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Mon, 16 Nov 2009 18:01:26 -0500
+Subject: [PATCH] configure: Only link against libcrypto
+
+openssl.pc will link you against libssl, which we don't need, and which
+brings in another seven libraries we also don't need. This is still
+bogus, we're really only trying to get a SHA1 routine, we could link it
+statically and be even better off.
+---
+ configure.ac | 6 ------
+ 1 files changed, 0 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f69f97e..254d33d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1297,14 +1297,8 @@ if test "x$SHA1_LIB" = "x" ; then
+ fi
+
+ if test "x$SHA1_LIB" = "x" ; then
+- PKG_CHECK_EXISTS([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
+- [HAVE_OPENSSL_PKC=no])
+- if test "x$HAVE_OPENSSL_PKC" = xyes; then
+- REQUIRED_LIBS="$REQUIRED_LIBS openssl"
+- else
+ AC_CHECK_LIB([crypto], [SHA1_Init], [SHA1_LIB="-lcrypto"],
+ [AC_MSG_ERROR([OpenSSL must be installed in order to build the X server.])])
+- fi
+ fi
+
+ PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
diff --git a/abs/core/xorg-server/xvfb-run b/abs/core/xorg-server/xvfb-run
new file mode 100644
index 0000000..4c2f4e0
--- /dev/null
+++ b/abs/core/xorg-server/xvfb-run
@@ -0,0 +1,180 @@
+#!/bin/sh
+
+# $Id: xvfb-run 2027 2004-11-16 14:54:16Z branden $
+
+# This script starts an instance of Xvfb, the "fake" X server, runs a command
+# with that server available, and kills the X server when done. The return
+# value of the command becomes the return value of this script.
+#
+# If anyone is using this to build a Debian package, make sure the package
+# Build-Depends on xvfb, xbase-clients, and xfonts-base.
+
+set -e
+
+PROGNAME=xvfb-run
+SERVERNUM=99
+AUTHFILE=
+ERRORFILE=/dev/null
+STARTWAIT=3
+XVFBARGS="-screen 0 640x480x8"
+LISTENTCP="-nolisten tcp"
+XAUTHPROTO=.
+
+# Query the terminal to establish a default number of columns to use for
+# displaying messages to the user. This is used only as a fallback in the event
+# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the
+# script is running, and this cannot, only being calculated once.)
+DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true
+if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then
+ DEFCOLUMNS=80
+fi
+
+# Display a message, wrapping lines at the terminal width.
+message () {
+ echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS}
+}
+
+# Display an error message.
+error () {
+ message "error: $*" >&2
+}
+
+# Display a usage message.
+usage () {
+ if [ -n "$*" ]; then
+ message "usage error: $*"
+ fi
+ cat <<EOF
+Usage: $PROGNAME [OPTION ...] COMMAND
+Run COMMAND (usually an X client) in a virtual X server environment.
+Options:
+-a --auto-servernum try to get a free server number, starting at
+ --server-num
+-e FILE --error-file=FILE file used to store xauth errors and Xvfb
+ output (default: $ERRORFILE)
+-f FILE --auth-file=FILE file used to store auth cookie
+ (default: ./.Xauthority)
+-h --help display this usage message and exit
+-n NUM --server-num=NUM server number to use (default: $SERVERNUM)
+-l --listen-tcp enable TCP port listening in the X server
+-p PROTO --xauth-protocol=PROTO X authority protocol name to use
+ (default: xauth command's default)
+-s ARGS --server-args=ARGS arguments (other than server number and
+ "-nolisten tcp") to pass to the Xvfb server
+ (default: "$XVFBARGS")
+-w DELAY --wait=DELAY delay in seconds to wait for Xvfb to start
+ before running COMMAND (default: $STARTWAIT)
+EOF
+}
+
+# Find a free server number by looking at .X*-lock files in /tmp.
+find_free_servernum() {
+ # Sadly, the "local" keyword is not POSIX. Leave the next line commented in
+ # the hope Debian Policy eventually changes to allow it in /bin/sh scripts
+ # anyway.
+ #local i
+
+ i=$SERVERNUM
+ while [ -f /tmp/.X$i-lock ]; do
+ i=$(($i + 1))
+ done
+ echo $i
+}
+
+# Clean up files
+clean_up() {
+ if [ -e "$AUTHFILE" ]; then
+ XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >>"$ERRORFILE" 2>&1
+ fi
+ if [ -n "$XVFB_RUN_TMPDIR" ]; then
+ if ! rm -r "$XVFB_RUN_TMPDIR"; then
+ error "problem while cleaning up temporary directory"
+ exit 5
+ fi
+ fi
+}
+
+# Parse the command line.
+ARGS=$(getopt --options +ae:f:hn:lp:s:w: \
+ --long auto-servernum,error-file:,auth-file:,help,server-num:,listen-tcp,xauth-protocol:,server-args:,wait: \
+ --name "$PROGNAME" -- "$@")
+GETOPT_STATUS=$?
+
+if [ $GETOPT_STATUS -ne 0 ]; then
+ error "internal error; getopt exited with status $GETOPT_STATUS"
+ exit 6
+fi
+
+eval set -- "$ARGS"
+
+while :; do
+ case "$1" in
+ -a|--auto-servernum) SERVERNUM=$(find_free_servernum) ;;
+ -e|--error-file) ERRORFILE="$2"; shift ;;
+ -f|--auth-file) AUTHFILE="$2"; shift ;;
+ -h|--help) SHOWHELP="yes" ;;
+ -n|--server-num) SERVERNUM="$2"; shift ;;
+ -l|--listen-tcp) LISTENTCP="" ;;
+ -p|--xauth-protocol) XAUTHPROTO="$2"; shift ;;
+ -s|--server-args) XVFBARGS="$2"; shift ;;
+ -w|--wait) STARTWAIT="$2"; shift ;;
+ --) shift; break ;;
+ *) error "internal error; getopt permitted \"$1\" unexpectedly"
+ exit 6
+ ;;
+ esac
+ shift
+done
+
+if [ "$SHOWHELP" ]; then
+ usage
+ exit 0
+fi
+
+if [ -z "$*" ]; then
+ usage "need a command to run" >&2
+ exit 2
+fi
+
+if ! which xauth >/dev/null; then
+ error "xauth command not found"
+ exit 3
+fi
+
+# tidy up after ourselves
+trap clean_up EXIT
+
+# If the user did not specify an X authorization file to use, set up a temporary
+# directory to house one.
+if [ -z "$AUTHFILE" ]; then
+ XVFB_RUN_TMPDIR="$(mktemp -d -t $PROGNAME.XXXXXX)"
+ AUTHFILE="$XVFB_RUN_TMPDIR/Xauthority"
+fi
+
+# Start Xvfb.
+MCOOKIE=$(mcookie)
+XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1
+add :$SERVERNUM $XAUTHPROTO $MCOOKIE
+EOF
+XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >>"$ERRORFILE" \
+ 2>&1 &
+XVFBPID=$!
+sleep "$STARTWAIT"
+if ! kill -0 $XVFBPID 2>/dev/null; then
+ echo "Xvfb failed to start" >&2
+ exit 1
+fi
+
+# Start the command and save its exit status.
+set +e
+DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1
+RETVAL=$?
+set -e
+
+# Kill Xvfb now that the command has exited.
+kill $XVFBPID
+
+# Return the executed command's exit status.
+exit $RETVAL
+
+# vim:set ai et sts=4 sw=4 tw=80:
diff --git a/abs/core/xorg-server/xvfb-run.1 b/abs/core/xorg-server/xvfb-run.1
new file mode 100644
index 0000000..137d3a1
--- /dev/null
+++ b/abs/core/xorg-server/xvfb-run.1
@@ -0,0 +1,282 @@
+.\" $Id: xvfb-run.1 2138 2005-01-17 23:40:27Z branden $
+.\"
+.\" Copyright 1998-2004 Branden Robinson <branden@debian.org>.
+.\"
+.\" This is free software; you may redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2,
+.\" or (at your option) any later version.
+.\"
+.\" This is distributed in the hope that it will be useful, but
+.\" WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License with
+.\" the Debian operating system, in /usr/share/common-licenses/GPL; if
+.\" not, write to the Free Software Foundation, Inc., 59 Temple Place,
+.\" Suite 330, Boston, MA 02111-1307 USA
+.\"
+.\" We need the URL macro from groff's www macro package, but also want
+.\" things to work all right for people who don't have it. So we define
+.\" our own URL macro and let the www macro package override it if it's
+.\" available.
+.de URL
+\\$2 \(laURL: \\$1 \(ra\\$3
+..
+.if \n[.g] .mso www.tmac
+.TH xvfb\-run 1 "2004\-11\-12" "Debian Project"
+.SH NAME
+xvfb\-run \- run specified X client or command in a virtual X server environment
+.SH SYNOPSIS
+.B xvfb\-run
+[
+.I options
+]
+.I command
+.SH DESCRIPTION
+.B xvfb\-run
+is a wrapper for the
+.BR Xvfb (1x)
+command which simplifies the task of running commands (typically an X
+client, or a script containing a list of clients to be run) within a virtual
+X server environment.
+.PP
+.B xvfb\-run
+sets up an X authority file (or uses an existing user\-specified one),
+writes a cookie to it (see
+.BR xauth (1x))
+and then starts the
+.B Xvfb
+X server as a background process.
+The process ID of
+.B Xvfb
+is stored for later use.
+The specified
+.I command
+is then run using the X display corresponding to the
+.B Xvfb
+server
+just started and the X authority file created earlier.
+.PP
+When the
+.I command
+exits, its status is saved, the
+.B Xvfb
+server is killed (using the process ID stored earlier), the X authority
+cookie removed, and the authority file deleted (if the user did not specify
+one to use).
+.B xvfb\-run
+then exits with the exit status of
+.IR command .
+.PP
+.B xvfb\-run
+requires the
+.B xauth
+command to function.
+.SH OPTIONS
+.TP
+.B \-a\fR,\fB \-\-auto\-servernum
+Try to get a free server number, starting at 99, or the argument to
+.BR \-\-server\-num .
+.TP
+.BI \-e\ file \fR,\fB\ \-\-error\-file= file
+Store output from
+.B xauth
+and
+.B Xvfb
+in
+.IR file .
+The default is
+.IR /dev/null .
+.TP
+.BI \-f\ file \fR,\fB\ \-\-auth\-file= file
+Store X authentication data in
+.IR file .
+By default, a temporary directory called
+.IR xvfb\-run. PID
+(where PID is the process ID of
+.B xvfb\-run
+itself) is created in the directory specified by the environment variable
+.B TMPDIR
+(or
+.I /tmp
+if that variable is null or unset), and the
+.BR tempfile (1)
+command is used to create a file in that temporary directory called
+.IR Xauthority .
+.TP
+.B \-h\fR,\fB \-\-help
+Display a usage message and exit.
+.TP
+.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
+Use
+.I servernumber
+as the server number (but see the
+.B \-a\fR,\fB \-\-auto\-servernum
+option above).
+The default is 99.
+.TP
+.B \-l\fR,\fB \-\-listen\-tcp
+Enable TCP port listening in the X server.
+For security reasons (to avoid denial\-of\-service attacks or exploits),
+TCP port listening is disabled by default.
+.TP
+.BI \-p\ protocolname \fR,\fB\ \-\-xauth\-protocol= protocolname
+Use
+.I protocolname
+as the X authority protocol to use.
+The default is \(oq.\(cq, which
+.B xauth
+interprets as its own default protocol, which is MIT\-MAGIC\-COOKIE\-1.
+.TP
+.BI \-s\ arguments \fR,\fB\ \-\-server\-args= arguments
+Pass
+.I arguments
+to the
+.B Xvfb
+server.
+Be careful to quote any whitespace characters that may occur within
+.I arguments
+to prevent them from regarded as separators for
+.BR xvfb\-run 's
+own arguments.
+Also, note that specification of \(oq\-nolisten tcp\(cq in
+.I arguments
+may override the function of
+.BR xvfb\-run 's
+own
+.B \-l\fR,\fB \-\-listen\-tcp
+option, and that specification of the server number (e.g., \(oq:1\(cq) may
+be ignored because of the way the X server parses its argument list.
+Use the
+.B xvfb\-run
+option
+.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
+to achieve the latter function.
+The default is \(oq\-screen 0 640x480x8\(cq.
+.TP
+.BI \-w\ delay \fR,\fB\ \-\-wait= delay
+Wait
+.I delay
+seconds after launching
+.B Xvfb
+before attempting to start the specified command.
+The default is 3.
+.SH ENVIRONMENT
+.TP
+.B COLUMNS
+indicates the width of the terminal device in character cells.
+This value is used for formatting diagnostic messages.
+If not set, the terminal is queried using
+.BR stty (1)
+to determine its width.
+If that fails, a value of \(oq80\(cq is assumed.
+.TP
+.B TMPDIR
+specifies the directory in which to place
+.BR xvfb\-run 's
+temporary directory for storage of the X authority file; only used if the
+.B \-f
+or
+.B \-\-auth\-file
+options are not specified.
+.SH "OUTPUT FILES"
+.PP
+Unless the
+.B \-f
+or
+.B \-\-auth\-file
+options are specified, a temporary
+directory and file within it are created (and deleted) to store the X
+authority cookies used by the
+.B Xvfb
+server and client(s) run under it.
+See
+.BR tempfile (1).
+If \-f or \-\-auth\-file are used, then the specified X authority file is
+only written to, not created or deleted (though
+.B xauth
+creates an authority file itself if told to use use that does not already
+exist).
+.PP
+An error file with a user\-specified name is also created if the
+.B \-e
+or
+.B \-\-error\-file
+options are specifed; see above.
+.SH "EXIT STATUS"
+.B xvfb\-run
+uses its exit status as well as output to standard error to communicate
+diagnostics.
+The exit status of \(oq1\(cq is not used, and should be interpreted as failure
+of the specified command.
+.TP
+0
+.B xvfb\-run
+only uses this exit status if the
+.B \-h\fR,\fB \-\-help
+option is given.
+In all other situations, this may be interpreted as success of the specified
+command.
+.TP
+2
+No command to run was specified.
+.TP
+3
+The
+.B xauth
+command is not available.
+.TP
+4
+The temporary directory that was going to be used already exists; since
+.B xvfb\-run
+produces a uniquely named directory, this may indicate an attempt by another
+process on the system to exploit a temporary file race condition.
+.TP
+5
+A problem was encountered while cleaning up the temporary directory.
+.TP
+6
+A problem was encountered while using
+.BR getopt (1)
+to parse the command\-line arguments.
+.SH EXAMPLES
+.TP
+.B xvfb\-run \-\-auto\-servernum \-\-server\-num=1 xlogo
+runs the
+.BR xlogo (1x)
+demonstration client inside the
+.B Xvfb
+X server on the first available server number greater than or equal to 1.
+.TP
+.B xvfb\-run \-\-server\-args="\-screen 0 1024x768x24" ico \-faces
+runs the
+.BR ico (1x)
+demonstration client (and passes it the
+.B \-faces
+argument) inside the
+.B Xvfb
+X server, configured with a root window of 1024 by 768 pixels and a color
+depth of 24 bits.
+.PP
+Note that the demo X clients used in the above examples will not exit on
+their own, so they will have to be killed before
+.B xvfb\-run
+will exit.
+.SH BUGS
+See
+.URL "http://bugs.debian.org/xvfb" "the Debian Bug Tracking System" .
+If you wish to report a bug in
+.BR xvfb\-run ,
+please use the
+.BR reportbug (1)
+command.
+.SH AUTHOR
+.B xfvb\-run
+was written by Branden Robinson and Jeff Licquia with sponsorship from
+Progeny Linux Systems.
+.SH "SEE ALSO"
+.BR Xvfb (1x),
+.BR xauth (1x)
+.\" vim:set et tw=80:
diff --git a/abs/core/xorg-util-macros/PKGBUILD b/abs/core/xorg-util-macros/PKGBUILD
index af3786a..3ca4dfa 100644
--- a/abs/core/xorg-util-macros/PKGBUILD
+++ b/abs/core/xorg-util-macros/PKGBUILD
@@ -1,21 +1,23 @@
-# $Id: PKGBUILD 21902 2008-12-17 20:27:32Z jgc $
+# $Id: PKGBUILD 85383 2010-07-12 17:45:37Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-util-macros
-pkgver=1.2.1
+pkgver=1.10.0
pkgrel=1
pkgdesc="X.Org Autotools macros"
-arch=(i686 x86_64)
+arch=(any)
license=('custom')
url="http://xorg.freedesktop.org/"
source=(${url}/releases/individual/util/util-macros-${pkgver}.tar.bz2)
-md5sums=('dc7ddaf9bea8b341510efe4dac125af4')
+sha1sums=('01bd26de7f76907ad502b430a5d18f64a896dc81')
build() {
cd "${srcdir}/util-macros-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/lib"
+ mv "${pkgdir}/usr/share/pkgconfig" "${pkgdir}/usr/lib/"
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xorg-utils/LICENSE.xdpyinfo b/abs/core/xorg-utils/LICENSE.xdpyinfo
new file mode 100644
index 0000000..495dd2b
--- /dev/null
+++ b/abs/core/xorg-utils/LICENSE.xdpyinfo
@@ -0,0 +1,26 @@
+ Copyright 1988, 1998 The Open Group
+ Copyright 2005 Hitachi, Ltd.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+ *
+ * Author: Jim Fulton, MIT X Consortium
+ */
+
diff --git a/abs/core/xorg-utils/LICENSE.xfd b/abs/core/xorg-utils/LICENSE.xfd
new file mode 100644
index 0000000..2ac6c9d
--- /dev/null
+++ b/abs/core/xorg-utils/LICENSE.xfd
@@ -0,0 +1,25 @@
+ Copyright 1989, 1998 The Open Group
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+ * *
+ * Author: Jim Fulton, MIT X Consortium
+ */
+
diff --git a/abs/core/xorg-utils/LICENSE.xlsfonts b/abs/core/xorg-utils/LICENSE.xlsfonts
new file mode 100644
index 0000000..a9a4bd3
--- /dev/null
+++ b/abs/core/xorg-utils/LICENSE.xlsfonts
@@ -0,0 +1,22 @@
+ Copyright 1989, 1998 The Open Group
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+
diff --git a/abs/core/xorg-utils/LICENSE.xprop b/abs/core/xorg-utils/LICENSE.xprop
new file mode 100644
index 0000000..b94017f
--- /dev/null
+++ b/abs/core/xorg-utils/LICENSE.xprop
@@ -0,0 +1,45 @@
+ Copyright 1990, 1998 The Open Group
+ Copyright (c) 2000 The XFree86 Project, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall
+ not be used in advertising or otherwise to promote the sale, use or
+ other dealings in this Software without prior written authorization
+ from The Open Group.
+
+ Copyright 2007 Kim woelders
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that copyright
+ notice and this permission notice appear in supporting documentation, and
+ that the name of the copyright holders not be used in advertising or
+ publicity pertaining to distribution of the software without specific,
+ written prior permission. The copyright holders make no representations
+ about the suitability of this software for any purpose. It is provided "as
+ is" without express or implied warranty.
+
+ THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ OF THIS SOFTWARE.
+
diff --git a/abs/core/xorg-utils/PKGBUILD b/abs/core/xorg-utils/PKGBUILD
index 61a55ce..cef7e9e 100644
--- a/abs/core/xorg-utils/PKGBUILD
+++ b/abs/core/xorg-utils/PKGBUILD
@@ -1,42 +1,60 @@
-# $Id: PKGBUILD 18946 2008-11-12 04:14:33Z eric $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 81985 2010-06-07 13:58:47Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xorg-utils
-pkgver=7.4
+pkgver=7.6
pkgrel=2
pkgdesc="Collection of client utilities used to query the X server"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('libxxf86dga' 'libxi' 'libxxf86misc' 'libxtst' 'libxinerama' 'libxv'
- 'libdmx' 'libxft' 'libxaw>=1.0.5')
-makedepends=('pkgconfig' 'mesa')
-source=(${url}/releases/individual/app/xdpyinfo-1.0.3.tar.bz2
- ${url}/releases/individual/app/xdriinfo-1.0.2.tar.bz2
- ${url}/releases/individual/app/xev-1.0.3.tar.bz2
+ 'libdmx' 'libxft' 'libxaw>=1.0.6' 'libgl' 'libxcomposite' 'xcb-util')
+makedepends=('pkgconfig' 'mesa' 'glproto' 'xorg-util-macros')
+groups=('xorg')
+source=(${url}/releases/individual/app/xdpyinfo-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xdriinfo-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xev-1.0.4.tar.bz2
${url}/releases/individual/app/xfd-1.0.1.tar.bz2
${url}/releases/individual/app/xfontsel-1.0.2.tar.bz2
- ${url}/releases/individual/app/xlsatoms-1.0.1.tar.bz2
- ${url}/releases/individual/app/xlsclients-1.0.1.tar.bz2
+ ${url}/releases/individual/app/xlsatoms-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xlsclients-1.1.0.tar.bz2
${url}/releases/individual/app/xlsfonts-1.0.2.tar.bz2
- ${url}/releases/individual/app/xprop-1.0.4.tar.bz2
- ${url}/releases/individual/app/xvinfo-1.0.2.tar.bz2
- ${url}/releases/individual/app/xwininfo-1.0.4.tar.bz2)
-md5sums=('b7cbab6cbcd12bf7ad65dbc12d86e104' 'a5ec51ed9f0a55dc3462d90d52ff899c'\
- 'a9532c3d1683c99bb5df1895cb3a60b1' 'c72abd90f50ef459bc14b39ec9fcc7f8'\
- '288fe4cf8a990e4e602aac16dd9109fb' '69adcda848479acc3b82b3928812d191'\
- '44473b880d26bfbe8b3d4d72b183cba7' '28958248590ff60ecd70e8f590d977b7'\
- '48aa8fd78802f477dcbf9ef0dfd9f783' 'e1e318436f49e2f0f3764593dadd9ad2'\
- 'e2a9bf5ab7f2a0866700a3b49dd8c6bf')
+ ${url}/releases/individual/app/xprop-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xvinfo-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xwininfo-1.0.5.tar.bz2
+ LICENSE.xdpyinfo
+ LICENSE.xfd
+ LICENSE.xprop
+ LICENSE.xlsfonts)
+md5sums=('d1d516610316138105cd07064b257c5c'
+ 'cb304d1ce562ac48b68eedeba38c662f'
+ '5f98c0a2725a33d60ef4956befe078fb'
+ 'c72abd90f50ef459bc14b39ec9fcc7f8'
+ '288fe4cf8a990e4e602aac16dd9109fb'
+ 'c543ccb6489b629d427810d9a57d0724'
+ '550a0fee047c5043f2cbf190b41f8a1b'
+ '28958248590ff60ecd70e8f590d977b7'
+ 'f0bacbd30f0dd1c1e9ccafe97687b7a4'
+ '8cc299b2cb636b5f7fe672610789d3d4'
+ '908f8bc3255f639effa9780fb1c19ea4'
+ 'b43f731a9e2684728230ce8e33f63228'
+ '9e8a82b7e9898f36c378b80509f170a6'
+ '801f9850b29dad506e995d011efe2914'
+ '345d6e65d71fdde292cc27f93c15e4a1')
build() {
cd "${srcdir}"
for i in *; do
if [ -d "${i}" ]; then
pushd "${i}"
- ./configure --prefix=/usr --mandir=/usr/share/man || return 1
+ ./configure --prefix=/usr --mandir=/usr/share/man --without-xprint || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE.${i%-*} || return 1
popd
fi
done
+# Replacing stub license files
+ install -D -m644 "${srcdir}"/LICENSE.* "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core/xterm/LICENSE b/abs/core/xterm/LICENSE
new file mode 100644
index 0000000..518a2cc
--- /dev/null
+++ b/abs/core/xterm/LICENSE
@@ -0,0 +1,73 @@
+/***********************************************************
+
+Copyright 2002-2008,2009 by Thomas E. Dickey
+
+ All Rights Reserved
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name(s) of the above copyright
+holders shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization.
+
+Copyright 1987, 1988 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
diff --git a/abs/core/xterm/PKGBUILD b/abs/core/xterm/PKGBUILD
index f3ac735..a034ef9 100644
--- a/abs/core/xterm/PKGBUILD
+++ b/abs/core/xterm/PKGBUILD
@@ -1,44 +1,57 @@
-# $Id: PKGBUILD 18684 2008-11-08 16:46:33Z jgc $
-# ppc Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# i686 Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 88416 2010-08-23 09:47:31Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xterm
-pkgver=237
+pkgver=261
pkgrel=1
pkgdesc="X Terminal Emulator"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://invisible-island.net/xterm/"
-depends=('libxft' 'libxaw>=1.0.5' 'ncurses' 'xorg-apps')
+license=('custom')
+depends=('libxft' 'libxaw' 'ncurses' 'xorg-apps')
groups=('xorg')
-source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz)
-md5sums=('6d5f9e124fd3e09487f47c66da8c7345')
+source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz
+ LICENSE)
+md5sums=('10d211f6986c4b279cfa9530b2361457'
+ '10ecc3f8ee91e3189863a172f68282d2')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
- --libdir=/etc \
- --mandir=/usr/share/man \
- --with-app-defaults=/usr/share/X11/app-defaults/ \
- --with-x \
- --disable-full-tgetent \
- --disable-imake \
- --enable-ansi-color \
- --enable-88-color \
- --enable-256-color \
- --enable-broken-osc \
- --enable-broken-st \
- --enable-load-vt-fonts \
- --enable-i18n \
- --enable-wide-chars \
- --enable-doublechars \
- --enable-warnings \
- --enable-tcap-query \
- --enable-logging \
- --enable-dabbrev \
- --enable-freetype \
- --enable-luit \
- --enable-mini-luit \
- --enable-narrowproto || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
- chmod 0755 "${pkgdir}/usr/bin/xterm" || return 1
+ --libdir=/etc \
+ --mandir=/usr/share/man \
+ --with-app-defaults=/usr/share/X11/app-defaults/ \
+ --with-x \
+ --disable-full-tgetent \
+ --disable-imake \
+ --enable-ansi-color \
+ --enable-88-color \
+ --enable-256-color \
+ --enable-broken-osc \
+ --enable-broken-st \
+ --enable-load-vt-fonts \
+ --enable-i18n \
+ --enable-wide-chars \
+ --enable-doublechars \
+ --enable-warnings \
+ --enable-tcap-query \
+ --enable-logging \
+ --enable-dabbrev \
+ --enable-freetype \
+ --enable-luit \
+ --enable-mini-luit \
+ --enable-narrowproto \
+ --enable-exec-xterm \
+ --with-tty-group=tty
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ chmod 0755 "${pkgdir}/usr/bin/xterm"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xz-utils/PKGBUILD b/abs/core/xz-utils/PKGBUILD
deleted file mode 100644
index 540187e..0000000
--- a/abs/core/xz-utils/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Maintainer: Pierre Schmitz <pierre@archlinux.de>
-# Contributor: François Charette <firmicus@gmx.net>
-
-pkgname=xz-utils
-pkgver=4.999.9beta
-pkgrel=2
-pkgdesc='utils for managing LZMA and XZ compressed files'
-arch=('i686' 'x86_64')
-url='http://tukaani.org/xz/'
-license=('GPL' 'LGPL')
-depends=('bash')
-provides=('lzma' 'lzma-utils')
-replaces=('lzma' 'lzma-utils')
-conflicts=('lzma' 'lzma-utils')
-options=('!libtool')
-source=("http://tukaani.org/xz/xz-${pkgver}.tar.gz")
-md5sums=('f2073579b6da2fe35d453adee1aaf1b2')
-
-build() {
- cd $srcdir/xz-$pkgver
-
- ./configure --prefix=/usr \
- --enable-static \
- --enable-dynamic \
- --disable-rpath
- sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
- sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
- make
- make DESTDIR=$pkgdir install
-}
diff --git a/abs/core/xz/PKGBUILD b/abs/core/xz/PKGBUILD
new file mode 100644
index 0000000..a776a63
--- /dev/null
+++ b/abs/core/xz/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 82447 2010-06-11 08:40:21Z pierre $
+# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+# Contributor: François Charette <firmicus@gmx.net>
+
+pkgname=xz
+pkgver=4.999.9beta
+_snapshot=143-g3e49
+pkgrel=5
+pkgdesc='Library and command line tools for XZ and LZMA compressed files'
+arch=('i686' 'x86_64')
+url='http://tukaani.org/xz/'
+license=('GPL' 'LGPL' 'custom')
+depends=('sh')
+provides=('lzma' 'lzma-utils' 'xz-utils')
+replaces=('lzma' 'lzma-utils' 'xz-utils')
+conflicts=('lzma' 'lzma-utils' 'xz-utils')
+options=('!libtool')
+source=("http://tukaani.org/${pkgname}/${pkgname}-${pkgver}-${_snapshot}.tar.gz")
+md5sums=('9e5a42d2b5277d8d71405d065120bd4e')
+
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
+
+build() {
+ cd ${srcdir}/${pkgname}-$pkgver-${_snapshot}
+
+ ./configure --prefix=/usr \
+ --enable-dynamic \
+ --disable-rpath \
+ --enable-werror
+ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-$pkgver-${_snapshot}
+ make DESTDIR=${pkgdir} install
+ install -d -m755 ${pkgdir}/usr/share/licenses/xz/
+ ln -sf /usr/share/doc/xz/COPYING ${pkgdir}/usr/share/licenses/xz/
+ ln -sf /usr/share/licenses/common/GPL2/license.txt ${pkgdir}/usr/share/doc/xz/COPYING.GPLv2
+}
diff --git a/abs/core/xz/xz-4.999.9beta-5-i686.pkg.tar.gz b/abs/core/xz/xz-4.999.9beta-5-i686.pkg.tar.gz
new file mode 120000
index 0000000..0423fa8
--- /dev/null
+++ b/abs/core/xz/xz-4.999.9beta-5-i686.pkg.tar.gz
@@ -0,0 +1 @@
+/data/pkg_repo/packages/xz-4.999.9beta-5-i686.pkg.tar.gz \ No newline at end of file
diff --git a/abs/core/zd1211-firmware/PKGBUILD b/abs/core/zd1211-firmware/PKGBUILD
index 179a8ca..a583f8e 100644
--- a/abs/core/zd1211-firmware/PKGBUILD
+++ b/abs/core/zd1211-firmware/PKGBUILD
@@ -1,22 +1,23 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 59439 2009-11-23 22:50:09Z giovanni $
# Maintainer: Dan McGee <dan@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=zd1211-firmware
pkgver=1.4
-pkgrel=2
+pkgrel=3
pkgdesc="Firmware for the in-kernel26 zd1211rw wireless driver"
-arch=(i686 x86_64)
+arch=('any')
url="http://zd1211.wiki.sourceforge.net/"
-# firmware files are here:
-# http://sourceforge.net/project/showfiles.php?group_id=129083
license=('GPL')
provides=('zd1211')
-source=(http://downloads.sourceforge.net/zd1211/zd1211-firmware-$pkgver.tar.bz2)
+source=(http://downloads.sourceforge.net/zd1211/${pkgname}-${pkgver}.tar.bz2)
md5sums=('19f28781d76569af8551c9d11294c870')
build() {
- cd $startdir/src/zd1211-firmware
- mkdir -p $startdir/pkg/lib/firmware/zd1211/
- # just unpack the files to the firmware directory
- install -m644 * $startdir/pkg/lib/firmware/zd1211/ || return 1
+ cd "${srcdir}/${pkgname}"
+ # Install firmware
+ for i in zd1211* WS11U*
+ do
+ install -D -m 644 $i "${pkgdir}/lib/firmware/zd1211/$i" || return 1
+ done
}
diff --git a/abs/core/zlib/PKGBUILD b/abs/core/zlib/PKGBUILD
index 70d4b2d..f320d37 100644
--- a/abs/core/zlib/PKGBUILD
+++ b/abs/core/zlib/PKGBUILD
@@ -1,25 +1,33 @@
-# $Id: PKGBUILD 4237 2008-07-05 19:17:35Z pierre $
+# $Id: PKGBUILD 80715 2010-05-20 20:58:22Z pierre $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=zlib
-pkgver=1.2.3.3
-pkgrel=14
-pkgdesc="A compression/decompression Library"
+pkgver=1.2.5
+pkgrel=2
+pkgdesc='Compression library implementing the deflate compression method found in gzip and PKZIP'
arch=('i686' 'x86_64')
-license=('custom:zlib')
-url="http://www.gzip.org/zlib"
-groups=('base')
+license=('custom')
+url="http://www.zlib.net/"
depends=('glibc')
-source=("ftp://ftp.archlinux.org/other/zlib/zlib-${pkgver}.tar.gz")
-md5sums=('c444cf020e5f0e3323b11f5a2d8af8d3')
+options=('!makeflags')
+source=("http://zlib.net/zlib-${pkgver}.tar.gz"
+ 'zlib-1.2.5-lfs-decls.patch')
+md5sums=('c735eab2d659a96e5a594c9e8541ad63'
+ '4cb279ea3beab621f3526bf7b7ab99e5')
build() {
cd ${srcdir}/zlib-$pkgver
-
- ./configure --prefix=/usr --shared
+ # see http://bugs.archlinux.org/task/19280
+ patch -p1 -i ${srcdir}/zlib-1.2.5-lfs-decls.patch || return 1
+ export CFLAGS="${CFLAGS/-O2/-O3} -DUNALIGNED_OK"
+ ./configure --prefix=/usr
make || return 1
- make install prefix=${pkgdir}/usr || return 1
- grep -A 24 '^ Copyright' zlib.h > license.txt
- install -D license.txt ${pkgdir}/usr/share/licenses/zlib/license.txt
+ grep -A 24 '^ Copyright' zlib.h > LICENSE
+}
+
+package() {
+ cd ${srcdir}/zlib-$pkgver
+ make install DESTDIR=${pkgdir} || return 1
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/zlib/LICENSE
}
diff --git a/abs/core/zlib/zlib-1.2.5-lfs-decls.patch b/abs/core/zlib/zlib-1.2.5-lfs-decls.patch
new file mode 100644
index 0000000..36e26af
--- /dev/null
+++ b/abs/core/zlib/zlib-1.2.5-lfs-decls.patch
@@ -0,0 +1,13 @@
+Index: zlib-1.2.5/zlib.h
+===================================================================
+--- zlib-1.2.5.orig/zlib.h
++++ zlib-1.2.5/zlib.h
+@@ -1578,7 +1578,7 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF(
+ # define gzoffset gzoffset64
+ # define adler32_combine adler32_combine64
+ # define crc32_combine crc32_combine64
+-# ifdef _LARGEFILE64_SOURCE
++# ifndef _LARGEFILE64_SOURCE
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+ ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
+ ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));