summaryrefslogtreecommitdiffstats
path: root/meta-extras
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-09-30 22:15:13 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-09-30 22:16:10 +0100
commitc0c657bd92911788b96d9670620eabf024453752 (patch)
tree774a5e2d966d6ee87da17cd063580d5970564d00 /meta-extras
parente71a306f9cac8e30e689d607e2092e11a756ef5d (diff)
downloadpoky-c0c657bd92911788b96d9670620eabf024453752.tar.gz
Split meta-extras and meta-moblin out of the main repository
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta-extras')
-rw-r--r--meta-extras/COPYING.MIT17
-rw-r--r--meta-extras/conf/distro/include/poky-extras-src-revisions.inc6
-rw-r--r--meta-extras/conf/layer.conf11
-rw-r--r--meta-extras/conf/machine/mx31litekit.conf14
-rw-r--r--meta-extras/conf/machine/nokia770.conf35
-rw-r--r--meta-extras/conf/machine/nokia800.conf30
-rw-r--r--meta-extras/conf/machine/om-gta01.conf48
-rw-r--r--meta-extras/conf/machine/om-gta02.conf49
-rw-r--r--meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb9
-rw-r--r--meta-extras/packages/acct/files/cross-compile.patch34
-rw-r--r--meta-extras/packages/clutter/clutter-helix.inc15
-rw-r--r--meta-extras/packages/clutter/clutter-helix_git.bb8
-rw-r--r--meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch44
-rw-r--r--meta-extras/packages/clutter/moblin-proto/fix.patch22
-rw-r--r--meta-extras/packages/clutter/moblin-proto/paths.patch15
-rw-r--r--meta-extras/packages/clutter/moblin-proto_git.bb19
-rw-r--r--meta-extras/packages/cx3110x/cx3110x_1.1.bb21
-rw-r--r--meta-extras/packages/cx3110x/cx3110x_2.0.15.bb23
-rw-r--r--meta-extras/packages/cx3110x/files/no-linux-config.patch12
-rw-r--r--meta-extras/packages/eventlog/eventlog_0.2.5.bb7
-rw-r--r--meta-extras/packages/evince/evince_2.20.0.bb10
-rw-r--r--meta-extras/packages/evince/evince_svn.bb14
-rw-r--r--meta-extras/packages/evince/files/no-icon-theme.diff13
-rw-r--r--meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch68
-rw-r--r--meta-extras/packages/flumotion/flumotion/python-path.patch25
-rw-r--r--meta-extras/packages/flumotion/flumotion_0.4.1.bb41
-rw-r--r--meta-extras/packages/gnome/libbonobo.inc36
-rw-r--r--meta-extras/packages/gnome/libbonobo/configure-gthread.patch11
-rw-r--r--meta-extras/packages/gnome/libbonobo/gtk-doc.m453
-rw-r--r--meta-extras/packages/gnome/libbonobo/gtk-doc.make148
-rw-r--r--meta-extras/packages/gnome/libbonobo_2.22.0.bb6
-rw-r--r--meta-extras/packages/gnome/libbonoboui_2.18.0.bb15
-rw-r--r--meta-extras/packages/gnome/orbit2-native_2.14.12.bb22
-rw-r--r--meta-extras/packages/gnome/orbit2/configure-lossage.patch35
-rw-r--r--meta-extras/packages/gnome/orbit2/gtk-doc.m453
-rw-r--r--meta-extras/packages/gnome/orbit2/gtk-doc.make148
-rw-r--r--meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch12
-rw-r--r--meta-extras/packages/gnome/orbit2_2.14.16.bb30
-rw-r--r--meta-extras/packages/helix/helix-libs.bb49
-rw-r--r--meta-extras/packages/helix/helix-libs/add-clutter.patch12668
-rw-r--r--meta-extras/packages/helix/helix-libs/helix-player.pc11
-rw-r--r--meta-extras/packages/helix/helix-libs/hxclient.pc11
-rw-r--r--meta-extras/packages/helix/ribosome.bb43
-rw-r--r--meta-extras/packages/helix/ribosome/buildrc4
-rwxr-xr-xmeta-extras/packages/helix/ribosome/clutter.bif68
-rw-r--r--meta-extras/packages/images/poky-image-extras.bb9
-rw-r--r--meta-extras/packages/libol/libol_0.3.18.bb8
-rw-r--r--meta-extras/packages/librds/librds_0.0.1.bb11
-rw-r--r--meta-extras/packages/libxosd/files/autofoo.patch116
-rw-r--r--meta-extras/packages/libxosd/files/use-sane-default-font.patch13
-rw-r--r--meta-extras/packages/libxosd/libxosd_svn.bb20
-rw-r--r--meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch30
-rw-r--r--meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig1451
-rw-r--r--meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch415
-rw-r--r--meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig1312
-rw-r--r--meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/kernel-source_2.6.21-200823maemo6.diff.gzbin932654 -> 0 bytes
-rw-r--r--meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig1650
-rw-r--r--meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch60
-rw-r--r--meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig1642
-rw-r--r--meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch60
-rw-r--r--meta-extras/packages/linux/linux-nokia800.inc43
-rw-r--r--meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb18
-rw-r--r--meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb18
-rw-r--r--meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb18
-rw-r--r--meta-extras/packages/linux/linux-openmoko.inc25
-rw-r--r--meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch20
-rw-r--r--meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb53
-rw-r--r--meta-extras/packages/lirc/files/lirc_sir-sa1100.patch10
-rw-r--r--meta-extras/packages/lirc/files/lircd.conf_nslu21886
-rwxr-xr-xmeta-extras/packages/lirc/files/lircd.init39
-rwxr-xr-xmeta-extras/packages/lirc/files/lircexec.init37
-rwxr-xr-xmeta-extras/packages/lirc/files/lircmd.init38
-rw-r--r--meta-extras/packages/lirc/files/lircrc_nslu2113
-rw-r--r--meta-extras/packages/lirc/files/split-hauppauge.patch141
-rw-r--r--meta-extras/packages/lirc/lirc-config.inc13
-rw-r--r--meta-extras/packages/lirc/lirc-modules_0.8.3.bb33
-rw-r--r--meta-extras/packages/lirc/lirc_0.8.3.bb31
-rw-r--r--meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch26
-rw-r--r--meta-extras/packages/llvm/llvm-native_svn.bb13
-rw-r--r--meta-extras/packages/madplay/madplay_0.15.2b.bb12
-rw-r--r--meta-extras/packages/maemo-mapper/files/fix_segfault.patch31
-rw-r--r--meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb22
-rw-r--r--meta-extras/packages/maemo/nokia770-init/fixup-770.sh26
-rw-r--r--meta-extras/packages/maemo/nokia770-init_1.0.bb38
-rw-r--r--meta-extras/packages/maemo/xpext/auxdir.patch13
-rw-r--r--meta-extras/packages/maemo/xpext_1.0-5.bb22
-rw-r--r--meta-extras/packages/maemo/xsp_1.0.0-8.bb12
-rw-r--r--meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb12
-rw-r--r--meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb10
-rw-r--r--meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb11
-rw-r--r--meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb12
-rw-r--r--meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb14
-rw-r--r--meta-extras/packages/matchbox-common/matchbox-common_svn.bb17
-rw-r--r--meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop7
-rwxr-xr-xmeta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home2
-rw-r--r--meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop7
-rwxr-xr-xmeta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh9
-rw-r--r--meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.pngbin1651 -> 0 bytes
-rw-r--r--meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb23
-rw-r--r--meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb12
-rw-r--r--meta-extras/packages/matchbox-panel/matchbox-panel.inc27
-rw-r--r--meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb6
-rw-r--r--meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb9
-rw-r--r--meta-extras/packages/mozilla/files/eabi-fix.patch66
-rw-r--r--meta-extras/packages/mozilla/files/eabi-fix2.patch56
-rw-r--r--meta-extras/packages/mozilla/files/eabi-fix3.patch15
-rw-r--r--meta-extras/packages/mozilla/files/minimo.desktop9
-rw-r--r--meta-extras/packages/mozilla/files/minimo.pngbin4323 -> 0 bytes
-rw-r--r--meta-extras/packages/mozilla/minimo/bug-322806.diff13
-rw-r--r--meta-extras/packages/mozilla/minimo/minimo4
-rw-r--r--meta-extras/packages/mozilla/minimo/minimo.patch356
-rw-r--r--meta-extras/packages/mozilla/minimo/minimo.pngbin4323 -> 0 bytes
-rw-r--r--meta-extras/packages/mozilla/minimo/mozconfig36
-rw-r--r--meta-extras/packages/mozilla/minimo_cvs.bb153
-rw-r--r--meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg4
-rw-r--r--meta-extras/packages/networkmanager/files/99_networkmanager1
-rw-r--r--meta-extras/packages/networkmanager/files/NetworkManager43
-rw-r--r--meta-extras/packages/networkmanager/files/allow-disabling.patch45
-rw-r--r--meta-extras/packages/networkmanager/files/applet-no-animation.patch234
-rw-r--r--meta-extras/packages/networkmanager/files/applet-no-gnome.diff59
-rw-r--r--meta-extras/packages/networkmanager/files/libnlfix.patch29
-rw-r--r--meta-extras/packages/networkmanager/files/makefile-fix.patch17
-rw-r--r--meta-extras/packages/networkmanager/files/nmutil-fix.patch12
-rw-r--r--meta-extras/packages/networkmanager/files/no-restarts.diff21
-rw-r--r--meta-extras/packages/networkmanager/files/no_vpn.patch13
-rw-r--r--meta-extras/packages/networkmanager/networkmanager-applet_svn.bb33
-rw-r--r--meta-extras/packages/networkmanager/networkmanager_svn.bb51
-rw-r--r--meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch98
-rw-r--r--meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb21
-rwxr-xr-xmeta-extras/packages/osc/osc-native_svn.bb28
-rw-r--r--meta-extras/packages/prism-firmware/prism-firmware.bb32
-rw-r--r--meta-extras/packages/prism-firmware/prism-firmware/hostap.rules4
-rw-r--r--meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh32
-rw-r--r--meta-extras/packages/python/python-iniparse-native_0.3.2.bb6
-rw-r--r--meta-extras/packages/python/python-iniparse_0.3.2.bb11
-rw-r--r--meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb4
-rw-r--r--meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch28
-rw-r--r--meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch142
-rw-r--r--meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch15
-rw-r--r--meta-extras/packages/python/python-urlgrabber_3.9.1.bb16
-rw-r--r--meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb7
-rw-r--r--meta-extras/packages/python/yum-metadata-parser_1.1.4.bb15
-rw-r--r--meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch120
-rw-r--r--meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf1
-rw-r--r--meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch22
-rw-r--r--meta-extras/packages/qmake/qmake2-cross_2.10a.bb74
-rw-r--r--meta-extras/packages/redland/files/crosscompile.patch29
-rw-r--r--meta-extras/packages/redland/files/sane_pkgconfig.patch126
-rw-r--r--meta-extras/packages/redland/redland_1.0.8.bb9
-rw-r--r--meta-extras/packages/smart/smart_1.1.bb29
-rw-r--r--meta-extras/packages/spectrum-fw/spectrum-fw.bb22
-rwxr-xr-xmeta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw29
-rwxr-xr-xmeta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw129
-rw-r--r--meta-extras/packages/syslog-ng/files/initscript45
-rw-r--r--meta-extras/packages/syslog-ng/files/syslog-ng.conf89
-rw-r--r--meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb34
-rw-r--r--meta-extras/packages/tasks/task-poky-extras.bb9
-rw-r--r--meta-extras/packages/tasks/task-poky-x11-netbook.bb28
-rw-r--r--meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch18
-rw-r--r--meta-extras/packages/twisted/twisted_2.5.0.bb175
-rw-r--r--meta-extras/packages/uicmoc/uicmoc4-native.inc67
-rw-r--r--meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb1
-rw-r--r--meta-extras/packages/xorg-app/iceauth_1.0.2.bb6
-rw-r--r--meta-extras/packages/xorg-app/luit_1.0.2.bb8
-rw-r--r--meta-extras/packages/xorg-app/oclock_1.0.1.bb5
-rw-r--r--meta-extras/packages/xorg-app/rgb_1.0.1.bb6
-rw-r--r--meta-extras/packages/xorg-app/sessreg_1.0.4.bb6
-rw-r--r--meta-extras/packages/xorg-app/twm_1.0.4.bb11
-rw-r--r--meta-extras/packages/xorg-app/xbiff_1.0.1.bb9
-rw-r--r--meta-extras/packages/xorg-app/xclipboard_1.1.0.bb4
-rw-r--r--meta-extras/packages/xorg-app/xclock_1.0.4.bb5
-rw-r--r--meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb4
-rw-r--r--meta-extras/packages/xorg-app/xconsole_1.0.3.bb9
-rw-r--r--meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb4
-rw-r--r--meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb4
-rw-r--r--meta-extras/packages/xorg-app/xfd_1.0.1.bb9
-rw-r--r--meta-extras/packages/xorg-app/xfontsel_1.0.2.bb9
-rw-r--r--meta-extras/packages/xorg-app/xgamma_1.0.2.bb5
-rw-r--r--meta-extras/packages/xorg-app/xkbevd_1.0.2.bb4
-rw-r--r--meta-extras/packages/xorg-app/xkbprint_1.0.2.bb4
-rw-r--r--meta-extras/packages/xorg-app/xkbutils_1.0.2.bb5
-rw-r--r--meta-extras/packages/xorg-app/xkill_1.0.1.bb4
-rw-r--r--meta-extras/packages/xorg-app/xload_1.0.2.bb10
-rw-r--r--meta-extras/packages/xorg-app/xlogo_1.0.1.bb4
-rw-r--r--meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb4
-rw-r--r--meta-extras/packages/xorg-app/xlsclients_1.0.1.bb4
-rw-r--r--meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb4
-rw-r--r--meta-extras/packages/xorg-app/xmag_1.0.2.bb10
-rw-r--r--meta-extras/packages/xorg-app/xmessage_1.0.2.bb10
-rw-r--r--meta-extras/packages/xorg-app/xorg-app-common.inc15
-rw-r--r--meta-extras/packages/xorg-app/xpr_1.0.2.bb5
-rw-r--r--meta-extras/packages/xorg-app/xrefresh_1.0.2.bb4
-rw-r--r--meta-extras/packages/xorg-app/xsetroot_1.0.2.bb6
-rw-r--r--meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb4
-rw-r--r--meta-extras/packages/xorg-app/xterm_207.bb24
-rw-r--r--meta-extras/packages/xorg-app/xtrap_1.0.2.bb4
-rw-r--r--meta-extras/packages/xorg-app/xvidtune_1.0.1.bb9
-rw-r--r--meta-extras/packages/xorg-app/xvinfo_1.0.2.bb5
-rw-r--r--meta-extras/packages/xorg-app/xwd_1.0.1.bb4
-rw-r--r--meta-extras/packages/xorg-app/xwud_1.0.1.bb4
-rw-r--r--meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb5
-rw-r--r--meta-extras/packages/xorg-data/xorg-data-common.inc10
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch14
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch15
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch26
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch23
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch419
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch34
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch28
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch54
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch15
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch28
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch6335
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb64
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch20
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch124
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch15
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch20
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch37
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch82
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch12
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch23
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch14
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch446
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch503
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch53
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch43
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch13
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch73
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch122
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch82
-rw-r--r--meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb52
-rw-r--r--meta-extras/packages/yum/createrepo-native/pathfix.patch81
-rw-r--r--meta-extras/packages/yum/createrepo-native_0.9.8.bb17
-rw-r--r--meta-extras/packages/yum/files/98_yum1
-rw-r--r--meta-extras/packages/yum/files/extract-postinst.awk11
-rw-r--r--meta-extras/packages/yum/files/fix18
-rw-r--r--meta-extras/packages/yum/files/hacks.patch81
-rw-r--r--meta-extras/packages/yum/files/paths.patch106
-rw-r--r--meta-extras/packages/yum/files/paths2.patch35
-rwxr-xr-xmeta-extras/packages/yum/files/yum-install-recommends.py39
-rw-r--r--meta-extras/packages/yum/yum_3.2.27.bb46
-rw-r--r--meta-extras/packages/zope/zope_3.3.1.bb45
243 files changed, 0 insertions, 36079 deletions
diff --git a/meta-extras/COPYING.MIT b/meta-extras/COPYING.MIT
deleted file mode 100644
index fb950dc69f..0000000000
--- a/meta-extras/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
1Permission is hereby granted, free of charge, to any person obtaining a copy
2of this software and associated documentation files (the "Software"), to deal
3in the Software without restriction, including without limitation the rights
4to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5copies of the Software, and to permit persons to whom the Software is
6furnished to do so, subject to the following conditions:
7
8The above copyright notice and this permission notice shall be included in
9all copies or substantial portions of the Software.
10
11THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
17THE SOFTWARE.
diff --git a/meta-extras/conf/distro/include/poky-extras-src-revisions.inc b/meta-extras/conf/distro/include/poky-extras-src-revisions.inc
deleted file mode 100644
index 4fc380ad84..0000000000
--- a/meta-extras/conf/distro/include/poky-extras-src-revisions.inc
+++ /dev/null
@@ -1,6 +0,0 @@
1SRCREV_pn-evince ??= "2437"
2SRCDATE_maemo-mapper-nohildon ??= "20061114"
3SRCREV_pn-libxosd ??= "627"
4SRCREV_pn-matchbox-applet-light ??= "1548"
5SRCREV_pn-matchbox-common ??= "1561"
6
diff --git a/meta-extras/conf/layer.conf b/meta-extras/conf/layer.conf
deleted file mode 100644
index c992abc9f6..0000000000
--- a/meta-extras/conf/layer.conf
+++ /dev/null
@@ -1,11 +0,0 @@
1# We have a conf and classes directory, add to BBPATH
2BBPATH := "${BBPATH}:${LAYERDIR}"
3
4# We have a packages directory, add to BBFILES
5BBFILES := "${BBFILES} ${LAYERDIR}/packages/*/*.bb"
6
7BBFILE_COLLECTIONS += "extras"
8BBFILE_PATTERN_extras := "^${LAYERDIR}/"
9BBFILE_PRIORITY_extras = "5"
10
11require conf/distro/include/poky-extras-src-revisions.inc
diff --git a/meta-extras/conf/machine/mx31litekit.conf b/meta-extras/conf/machine/mx31litekit.conf
deleted file mode 100644
index 2dc2883759..0000000000
--- a/meta-extras/conf/machine/mx31litekit.conf
+++ /dev/null
@@ -1,14 +0,0 @@
1#@TYPE: Machine
2#@NAME: imx31 Lite Kit
3#@DESCRIPTION: Machine configuration for the imx31 based Lite Kit
4TARGET_ARCH = "arm"
5PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6"
6
7PREFERRED_PROVIDER_virtual/kernel = "linux-mx31"
8
9MACHINE_FEATURES = "kernel26 apm alsa bluetooth irda screen touchscreen"
10
11IMAGE_FSTYPES ?= "tar.gz"
12SERIAL_CONSOLE = "-L 115200 ttymxc0"
13
14require conf/machine/include/tune-arm1136jf-s.inc
diff --git a/meta-extras/conf/machine/nokia770.conf b/meta-extras/conf/machine/nokia770.conf
deleted file mode 100644
index c8b4c3c912..0000000000
--- a/meta-extras/conf/machine/nokia770.conf
+++ /dev/null
@@ -1,35 +0,0 @@
1#@TYPE: Machine
2#@NAME: Nokia 770 internet tablet
3#@DESCRIPTION: Machine configuration for the Nokia 770, an omap 1710 based tablet
4TARGET_ARCH = "arm"
5PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te"
6
7PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-xomap"
8PREFERRED_PROVIDER_virtual/bootloader = ""
9
10XSERVER = "xserver-kdrive-xomap"
11
12# 800x480 is big enough for me
13GUI_MACHINE_CLASS = "bigscreen"
14
15require conf/machine/include/tune-arm926ejs.inc
16
17#size of the root partition (yes, it is 123 MB)
18ROOT_FLASH_SIZE = "123"
19EXTRA_IMAGECMD_jffs2_nokia770 = "--pad --little-endian --eraseblock=0x20000 -n"
20
21IMAGE_FSTYPES ?= "jffs2"
22
23# serial console port on devboard rev. B3
24SERIAL_CONSOLE = "115200 ttyS0"
25
26PREFERRED_PROVIDER_virtual/kernel = "linux-nokia800"
27
28#use this if you are using the nokia initfs
29ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; "
30
31MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost screen vfat"
32MACHINE_EXTRA_RDEPENDS = "usbinit"
33MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init"
34
35KERNEL_IMAGE_MAXSIZE = "2097152"
diff --git a/meta-extras/conf/machine/nokia800.conf b/meta-extras/conf/machine/nokia800.conf
deleted file mode 100644
index fb2cd02b03..0000000000
--- a/meta-extras/conf/machine/nokia800.conf
+++ /dev/null
@@ -1,30 +0,0 @@
1#@TYPE: Machine
2#@NAME: Nokia 800/810 internet tablet
3#@DESCRIPTION: Machine configuration for the Nokia 800/810
4TARGET_ARCH = "arm"
5PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6"
6
7PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-xomap"
8XSERVER = "xserver-kdrive-xomap"
9
10GUI_MACHINE_CLASS = "bigscreen"
11
12require conf/machine/include/tune-arm1136jf-s.inc
13
14ROOT_FLASH_SIZE = "174"
15EXTRA_IMAGECMD_jffs2_nokia800 = "--pad --little-endian --eraseblock=0x20000 -n"
16
17IMAGE_FSTYPES ?= "jffs2"
18
19SERIAL_CONSOLE = "-L 115200 ttyS0"
20
21PREFERRED_PROVIDER_virtual/kernel = "linux-nokia800"
22
23#use this if you are using the nokia initfs
24ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; "
25
26MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost vfat"
27MACHINE_EXTRA_RDEPENDS = "cx3110x usbinit"
28MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init"
29
30KERNEL_IMAGE_MAXSIZE = "2097152"
diff --git a/meta-extras/conf/machine/om-gta01.conf b/meta-extras/conf/machine/om-gta01.conf
deleted file mode 100644
index f40457e226..0000000000
--- a/meta-extras/conf/machine/om-gta01.conf
+++ /dev/null
@@ -1,48 +0,0 @@
1#-----------------------------------------------------------------------------
2#@TYPE: Machine
3#@NAME: FIC GTA01 (Neo1973)
4#@DESCRIPTION: Machine configuration for the FIC Neo1973/1 GSM phone
5#-----------------------------------------------------------------------------
6
7TARGET_ARCH = "arm"
8MACHINE_CLASS = "neo1973"
9PACKAGE_EXTRA_ARCHS = "armv4t fic-gta01 ${MACHINE_CLASS}"
10
11PREFERRED_PROVIDER_virtual/kernel = "linux-openmoko"
12UBOOT_ENTRYPOINT = "30008000"
13
14MACHINE_FEATURES = "kernel26 apm alsa bluetooth gps usbgadget usbhost phone vfat ext2"
15MACHINE_DISPLAY_WIDTH_PIXELS = "480"
16MACHINE_DISPLAY_HEIGHT_PIXELS = "640"
17MACHINE_DISPLAY_ORIENTATION = "0"
18MACHINE_DISPLAY_PPI = "285"
19XSERVER = "xserver-kdrive-fbdev"
20
21MACHINE_EXTRA_RDEPENDS = "usbinit"
22# package machine specific modules
23MACHINE_EXTRA_RRECOMMENDS = "\
24 kernel-module-gta01-pm-bt \
25 kernel-module-gta01-pm-gps \
26 kernel-module-gta01-pm-gsm \
27 kernel-module-gta01kbd \
28 kernel-module-s3cmci \
29 kernel-module-snd-soc-neo1973-wm8753 \
30 kernel-module-snd-soc-smdk2440 \
31"
32
33# do not outcomment, we bypass the sysvinit.bb logic here -- see FIC GTA01 inittab
34#SERIAL_CONSOLE = "115200 ttySAC0"
35
36# used by some images
37ROOT_FLASH_SIZE = "60"
38
39# extra jffs2 tweaks
40IMAGE_FSTYPES ?= "jffs2"
41EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x4000 --pad -n"
42
43# build / upload tools
44#EXTRA_IMAGEDEPENDS += "dfu-util-native"
45
46# tune for S3C24x0
47include conf/machine/include/tune-arm920t.inc
48
diff --git a/meta-extras/conf/machine/om-gta02.conf b/meta-extras/conf/machine/om-gta02.conf
deleted file mode 100644
index 55f4bec21d..0000000000
--- a/meta-extras/conf/machine/om-gta02.conf
+++ /dev/null
@@ -1,49 +0,0 @@
1#-----------------------------------------------------------------------------
2#@TYPE: Machine
3#@NAME: FIC GTA02 (Neo1973)
4#@DESCRIPTION: Machine configuration for the FIC Neo1973/2 GSM phone
5#-----------------------------------------------------------------------------
6
7TARGET_ARCH = "arm"
8MACHINE_CLASS = "neo1973"
9PACKAGE_EXTRA_ARCHS = "armv4t fic-gta02 ${MACHINE_CLASS}"
10
11PREFERRED_PROVIDER_virtual/kernel = "linux-openmoko"
12PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-glamo"
13UBOOT_ENTRYPOINT = "30008000"
14
15MACHINE_FEATURES = "kernel26 apm alsa bluetooth gps usbgadget usbhost phone wifi vfat ext2"
16MACHINE_DISPLAY_WIDTH_PIXELS = "480"
17MACHINE_DISPLAY_HEIGHT_PIXELS = "640"
18MACHINE_DISPLAY_ORIENTATION = "0"
19MACHINE_DISPLAY_PPI = "285"
20XSERVER = "xserver-kdrive-glamo xserver-kdrive-fbdev"
21
22# package machine specific modules
23MACHINE_EXTRA_RRECOMMENDS = "\
24 kernel-module-gta01-pm-bt \
25 kernel-module-gta01-pm-gps \
26 kernel-module-gta01-pm-gsm \
27 kernel-module-gta01kbd \
28 kernel-module-s3cmci \
29 kernel-module-snd-soc-neo1973-gta02-wm8753 \
30"
31
32SERIAL_CONSOLE = "115200 ttySAC2"
33
34# used by some images
35ROOT_FLASH_SIZE = "256"
36
37# extra jffs2 tweaks
38IMAGE_FSTYPES ?= "jffs2"
39EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 \
40 --no-cleanmarkers --pad -n ; sumtool --eraseblock=0x20000 --no-cleanmarkers \
41 --littleendian --pad \
42 -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
43 -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.summary"
44
45# build / upload tools
46#EXTRA_IMAGEDEPENDS += "sjf2410-linux-native dfu-util-native"
47
48# tune for S3C24x0
49include conf/machine/include/tune-arm920t.inc
diff --git a/meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb b/meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb
deleted file mode 100644
index 078013c39b..0000000000
--- a/meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1LICENSE = "GPL"
2DESCRIPTION = "GNU Accounting Utilities - user and process accounting."
3
4SRC_URI = "http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/acct-6.4-pre1.tar.gz \
5 file://cross-compile.patch;patch=1"
6
7S = "${WORKDIR}/acct-6.4-pre1"
8
9inherit autotools
diff --git a/meta-extras/packages/acct/files/cross-compile.patch b/meta-extras/packages/acct/files/cross-compile.patch
deleted file mode 100644
index 78b57104c7..0000000000
--- a/meta-extras/packages/acct/files/cross-compile.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1diff -ur acct-6.4-pre1.org/configure.in acct-6.4-pre1/configure.in
2--- acct-6.4-pre1.org/configure.in 2006-01-07 23:56:46.000000000 +0200
3+++ acct-6.4-pre1/configure.in 2006-08-03 21:16:17.000000000 +0300
4@@ -87,6 +87,10 @@
5 ACCTON_MAN=accton.8
6 LASTCOMM_MAN=lastcomm.1
7 SA_MAN=sa.8
8+ WTMP_FILE_LOC=/var/log/wtmp
9+ ACCT_FILE_LOC=/var/account/pacct
10+ SAVACCT_FILE_LOC=/var/account/savacct
11+ USRACCT_FILE_LOC=/var/account/usracct
12 AC_DEFINE(HAVE_ACUTIME, ,
13 [Define if <sys/acct.h> has the AC_UTIME field.])
14 AC_DEFINE(ACUTIME_COMPT, ,
15@@ -130,6 +134,10 @@
16 ACCTON_MAN=accton.8
17 LASTCOMM_MAN=lastcomm.1
18 SA_MAN=sa.8
19+ WTMP_FILE_LOC=/var/log/wtmp
20+ ACCT_FILE_LOC=/var/account/pacct
21+ SAVACCT_FILE_LOC=/var/account/savacct
22+ USRACCT_FILE_LOC=/var/account/usracct
23 AC_HEADER_EGREP(ac_utime, sys/acct.h,
24 AC_DEFINE(HAVE_ACUTIME, ,
25 [Define if <sys/acct.h> has the AC_UTIME field.])
26@@ -277,7 +285,7 @@
27 }
28 ], . ./locs; rm locs,
29 echo "Error -- could not locate your wtmp and acct files."; exit 1,
30- echo "Sorry -- you cannot cross-compile this package (FIXME)."; exit 1 )
31+ echo "Cross-compiling - cannot find out accounting file locations - using Linux defaults."; )
32 AC_TYPE_PID_T dnl for sys/acct.h
33 AC_TYPE_UID_T dnl same as above
34 AC_TYPE_SIZE_T
diff --git a/meta-extras/packages/clutter/clutter-helix.inc b/meta-extras/packages/clutter/clutter-helix.inc
deleted file mode 100644
index 6bbbb244d7..0000000000
--- a/meta-extras/packages/clutter/clutter-helix.inc
+++ /dev/null
@@ -1,15 +0,0 @@
1DESCRIPTION = "Clutter Helix"
2HOMEPAGE = "http://www.clutter-project.org/"
3LICENSE = "LGPL"
4
5DEPENDS = "helix-libs"
6
7FILESPATH = "${FILE_DIRNAME}/clutter-helix"
8
9COMPATIBLE_HOST = '(x86_64|i.86.*)-linux'
10
11PACKAGES =+ "${PN}-examples"
12FILES_${PN}-examples = "${bindir}/video-player ${bindir}/audio-player"
13
14inherit autotools pkgconfig gtk-doc
15
diff --git a/meta-extras/packages/clutter/clutter-helix_git.bb b/meta-extras/packages/clutter/clutter-helix_git.bb
deleted file mode 100644
index 1c272306bf..0000000000
--- a/meta-extras/packages/clutter/clutter-helix_git.bb
+++ /dev/null
@@ -1,8 +0,0 @@
1require clutter-helix.inc
2
3PV = "0.8.0+git${SRCPV}"
4PR = "r0"
5
6SRC_URI = "git://git.clutter-project.org/clutter-helix.git;protocol=git"
7
8S = "${WORKDIR}/git"
diff --git a/meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch b/meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch
deleted file mode 100644
index 4a3eddb8cd..0000000000
--- a/meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1diff --git a/Makefile b/Makefile
2index e05b5b7..c348a1e 100644
3--- a/Makefile
4+++ b/Makefile
5@@ -64,7 +64,7 @@ HFILES = $(wildcard *.h)
6 %.o: %.c $(HFILES)
7 $(CC) -g $(CFLAGS) $(INCS) -c $< -o$@
8 $(BINARY): $(OBJECTS)
9- $(CXX) -o $@ $(OBJECTS) $(LIBS)
10+ $(CXX) -rdynamic -o $@ $(OBJECTS) $(LIBS)
11
12 #$(BINARY): $(CFILES)
13 # $(LD) $(CFLAGS) $(INCS) $(CFILES) $(LIBS) -o $@
14diff --git a/moblin-desktop.c b/moblin-desktop.c
15index 6dd4f2c..fb9d231 100644
16--- a/moblin-desktop.c
17+++ b/moblin-desktop.c
18@@ -103,6 +103,8 @@ void moblin_blur (void)
19 if (desktop->maincopy)
20 return;
21
22+ if (clutter_feature_available (CLUTTER_FEATURE_SHADERS_GLSL))
23+ {
24 #if 0
25 desktop->maincopy = clutter_texture_new_from_actor (desktop->mainstuff);
26 #else
27@@ -158,6 +160,17 @@ void moblin_blur (void)
28 1.0f / moblin_desktop_width ());
29 }
30 clutter_actor_set_shader_param (desktop->maincopy, "radius", 3.0);
31+ }
32+ else
33+ {
34+ ClutterColor clr= { 0x44, 0x44, 0x44, 0x77 };
35+ guint w, h;
36+
37+ desktop->maincopy = clutter_rectangle_new_with_color (&clr);
38+ clutter_actor_get_size (desktop->mainstuff, &w, &h);
39+ clutter_actor_set_size (desktop->maincopy, w, h);
40+ clutter_group_add (desktop->copyholder, desktop->maincopy);
41+ }
42 }
43
44 void moblin_unblur (void)
diff --git a/meta-extras/packages/clutter/moblin-proto/fix.patch b/meta-extras/packages/clutter/moblin-proto/fix.patch
deleted file mode 100644
index 8bde67762c..0000000000
--- a/meta-extras/packages/clutter/moblin-proto/fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1Index: git/Makefile
2===================================================================
3--- git.orig/Makefile 2008-08-11 22:49:48.000000000 +0100
4+++ git/Makefile 2008-08-12 12:16:52.000000000 +0100
5@@ -15,7 +15,7 @@
6
7 SCP_DESTINATION=pug.vpn:tmp
8
9-BINARY=$(shell basename `pwd`)#
10+BINARY=moblin-proto
11 PACKAGE=../$(BINARY).tar.bz2 # you can use both .gz and .bz2 as extension here
12
13 #CFLAGS= -Wall -I /home/pippin/src/clutter-box2d/clutter-box2d
14@@ -61,7 +61,7 @@
15 %.o: %.c $(HFILES)
16 $(CC) -g $(CFLAGS) $(INCS) -c $< -o$@
17 $(BINARY): $(OBJECTS)
18- $(CC) -o $@ $(OBJECTS) $(LIBS)
19+ $(CXX) -o $@ $(OBJECTS) $(LIBS)
20
21 #$(BINARY): $(CFILES)
22 # $(LD) $(CFLAGS) $(INCS) $(CFILES) $(LIBS) -o $@
diff --git a/meta-extras/packages/clutter/moblin-proto/paths.patch b/meta-extras/packages/clutter/moblin-proto/paths.patch
deleted file mode 100644
index d241c8ff71..0000000000
--- a/meta-extras/packages/clutter/moblin-proto/paths.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1diff --git a/moblin-desktop.h b/moblin-desktop.h
2index 880a9ad..3d51a14 100644
3--- a/moblin-desktop.h
4+++ b/moblin-desktop.h
5@@ -29,8 +29,8 @@
6 #define __MAIN_H__
7
8
9-#define ASSET_ROOT "./assets/"
10-#define JSON_ROOT "./layouts/"
11+#define ASSET_ROOT "/usr/share/moblin-proto/assets/"
12+#define JSON_ROOT "/usr/share/moblin-proto/layouts/"
13
14 typedef struct
15 {
diff --git a/meta-extras/packages/clutter/moblin-proto_git.bb b/meta-extras/packages/clutter/moblin-proto_git.bb
deleted file mode 100644
index b86d622385..0000000000
--- a/meta-extras/packages/clutter/moblin-proto_git.bb
+++ /dev/null
@@ -1,19 +0,0 @@
1DEPENDS = "clutter-box2d"
2
3PV = "0.0+git${SRCPV}"
4PR = "r2"
5
6SRC_URI = "git://moblin.org/repos/users/pippin/prototype.git/;protocol=http \
7 file://paths.patch;patch=1 \
8 file://fix-shader-and-callbacks.patch;patch=1"
9
10S = "${WORKDIR}/git"
11
12do_install () {
13 install -d ${D}${bindir}
14 install ${S}/moblin-proto ${D}${bindir}
15
16 install -d ${D}${datadir}/moblin-proto/
17 cp -a ${S}/assets ${D}${datadir}/moblin-proto/
18 cp -a ${S}/layouts ${D}${datadir}/moblin-proto/
19}
diff --git a/meta-extras/packages/cx3110x/cx3110x_1.1.bb b/meta-extras/packages/cx3110x/cx3110x_1.1.bb
deleted file mode 100644
index 95bbc35086..0000000000
--- a/meta-extras/packages/cx3110x/cx3110x_1.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
1DESCRIPTION = "cx3110x wifi support as found in the Nokia 770/800"
2SECTION = "kernel/modules"
3LICENSE = "GPL"
4PR = "r1"
5PACKAGES = "${PN}"
6
7COMPATIBLE_MACHINE = "(nokia770|nokia800)"
8
9export KERNEL_SRC_DIR = ${STAGING_KERNEL_DIR}
10export LDFLAGS = ""
11
12SRC_URI = "https://garage.maemo.org/frs/download.php/939/cx3110x-1.1.tar.gz"
13
14S = "${WORKDIR}/cx3110x-${PV}"
15
16inherit module
17
18do_compile() {
19 oe_runmake modules
20}
21
diff --git a/meta-extras/packages/cx3110x/cx3110x_2.0.15.bb b/meta-extras/packages/cx3110x/cx3110x_2.0.15.bb
deleted file mode 100644
index c952b2a94d..0000000000
--- a/meta-extras/packages/cx3110x/cx3110x_2.0.15.bb
+++ /dev/null
@@ -1,23 +0,0 @@
1DESCRIPTION = "cx3110x wifi support as found in the Nokia 770/N800/N810"
2SECTION = "kernel/modules"
3LICENSE = "GPL"
4PACKAGES = "${PN}"
5PR = "r1"
6
7COMPATIBLE_MACHINE = "(nokia800)"
8
9export KERNEL_SRC_DIR = ${STAGING_KERNEL_DIR}
10export LDFLAGS = ""
11
12DEFAULT_PREFERENCE_nokia770 = "-1"
13
14SRC_URI = "http://repository.maemo.org/pool/os2008/free/source/c/cx3110x-module-src/cx3110x-module-src_2.0.15-1.tar.gz \
15 file://no-linux-config.patch;patch=1"
16
17S = "${WORKDIR}/cx3110x-module-src-${PV}"
18
19inherit module
20
21do_compile() {
22 oe_runmake modules
23}
diff --git a/meta-extras/packages/cx3110x/files/no-linux-config.patch b/meta-extras/packages/cx3110x/files/no-linux-config.patch
deleted file mode 100644
index e6ab317249..0000000000
--- a/meta-extras/packages/cx3110x/files/no-linux-config.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1Index: cx3110x-module-src-2.0.15/src/sm_drv_spi.c
2===================================================================
3--- cx3110x-module-src-2.0.15.orig/src/sm_drv_spi.c 2008-02-08 13:52:28.000000000 +0100
4+++ cx3110x-module-src-2.0.15/src/sm_drv_spi.c 2008-02-08 13:52:40.000000000 +0100
5@@ -36,7 +36,6 @@
6 #include <linux/platform_device.h>
7 #include <linux/string.h>
8 #include <linux/firmware.h>
9-#include <linux/config.h>
10 #if !defined(CONFIG_FW_LOADER) && !defined(CONFIG_FW_LOADER_MODULE)
11 #error No Firmware Loading configured in the kernel !
12 #endif
diff --git a/meta-extras/packages/eventlog/eventlog_0.2.5.bb b/meta-extras/packages/eventlog/eventlog_0.2.5.bb
deleted file mode 100644
index 67e88ead8f..0000000000
--- a/meta-extras/packages/eventlog/eventlog_0.2.5.bb
+++ /dev/null
@@ -1,7 +0,0 @@
1DESCRIPTION = "Replacement syslog API"
2LICENSE = "BSD"
3PR = "r1"
4
5SRC_URI = "http://www.balabit.com/downloads/files/eventlog/0.2/${P}.tar.gz"
6
7inherit autotools pkgconfig
diff --git a/meta-extras/packages/evince/evince_2.20.0.bb b/meta-extras/packages/evince/evince_2.20.0.bb
deleted file mode 100644
index be18d911aa..0000000000
--- a/meta-extras/packages/evince/evince_2.20.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1DESCRIPTION = "Evince is a document viewer for document formats like PDF, PS, DjVu."
2LICENSE = "GPL"
3SECTION = "x11/office"
4DEPENDS = "gnome-doc-utils poppler libxml2 gtk+ gnome-vfs gconf libglade gnome-keyring"
5
6inherit gnome pkgconfig gtk-icon-cache
7
8SRC_URI += "file://no-icon-theme.diff;patch=1;pnum=0"
9
10EXTRA_OECONF = "--without-libgnome --disable-thumbnailer"
diff --git a/meta-extras/packages/evince/evince_svn.bb b/meta-extras/packages/evince/evince_svn.bb
deleted file mode 100644
index 8df9577f87..0000000000
--- a/meta-extras/packages/evince/evince_svn.bb
+++ /dev/null
@@ -1,14 +0,0 @@
1DESCRIPTION = "Evince is a document viewer for document formats like PDF, PS, DjVu."
2LICENSE = "GPL"
3SECTION = "x11/office"
4DEPENDS = "gnome-doc-utils poppler libxml2 gtk+ gnome-vfs gconf libglade gnome-keyring"
5PV = "0.9.0+svnr${SRCREV}"
6
7inherit gnome pkgconfig gtk-icon-cache
8
9SRC_URI = "svn://svn.gnome.org/svn/evince;module=trunk \
10 file://no-icon-theme.diff;patch=1;pnum=0"
11
12S = "${WORKDIR}/trunk"
13
14EXTRA_OECONF = "--without-libgnome --disable-thumbnailer"
diff --git a/meta-extras/packages/evince/files/no-icon-theme.diff b/meta-extras/packages/evince/files/no-icon-theme.diff
deleted file mode 100644
index 7b7771ba06..0000000000
--- a/meta-extras/packages/evince/files/no-icon-theme.diff
+++ /dev/null
@@ -1,13 +0,0 @@
1Index: configure.ac
2===================================================================
3--- configure.ac (revision 2436)
4+++ configure.ac (working copy)
5@@ -57,7 +57,7 @@
6 PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED)
7 PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED gnome-vfs-2.0)
8 PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED libglade-2.0 gnome-vfs-2.0)
9-PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0 gnome-keyring-1 >= $KEYRING_REQUIRED)
10+PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0 gnome-keyring-1 >= $KEYRING_REQUIRED)
11
12 AC_ARG_WITH(libgnome,
13 AC_HELP_STRING([--without-libgnome],[disable the use of libgnome]),
diff --git a/meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch b/meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch
deleted file mode 100644
index 08503c82e0..0000000000
--- a/meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch
+++ /dev/null
@@ -1,68 +0,0 @@
1Index: flumotion-0.4.1/configure.ac
2===================================================================
3--- flumotion-0.4.1.orig/configure.ac 2007-03-05 17:16:48.121264330 +0100
4+++ flumotion-0.4.1/configure.ac 2007-03-05 17:20:40.343837320 +0100
5@@ -73,13 +73,6 @@
6 AC_MSG_ERROR([PyGTK 2.5.2 contains known bugs, please install other version])
7 fi
8
9-if test "x$DISPLAY" != "x"; then
10- AS_PYTHON_IMPORT([gtk.glade],,
11- AC_MSG_ERROR([You need to have python libglade bindings installed]))
12-else
13- AC_MSG_NOTICE([Not trying to import gtk.glade because DISPLAY is unset])
14-fi
15-
16 if test $GST_010_SUPPORTED = "no"; then
17 AC_MSG_ERROR([No appropriate version of PyGTK installed. Correct the above
18 errors and try again.])
19@@ -94,16 +87,6 @@
20 [AC_MSG_RESULT([$PYGST_010_PKG_ERRORS])
21 GST_010_SUPPORTED=no])
22
23- if test $GST_010_SUPPORTED = "yes"; then
24- saved_PYTHONPATH=$PYTHONPATH
25- export PYTHONPATH=$PYGST_010_DIR:$PYTHONPATH
26- AS_PYTHON_IMPORT([gst],,
27- [AC_MSG_NOTICE([Unable to import gst-python 0.10 -- check your PYTHONPATH?])
28- GST_010_SUPPORTED=no],
29- [import pygst; pygst.require('0.10')],
30- [assert gst.pygst_version[[1]] == 10 or (gst.pygst_version[[1]] == 9 and gst.pygst_version[[2]] >= 7)])
31-
32- fi
33 fi
34
35 if test $GST_010_SUPPORTED = "no"; then
36@@ -158,32 +141,7 @@
37 AC_CHECK_PROG(PYCHECKER, pychecker, yes, no)
38 AM_CONDITIONAL(HAVE_PYCHECKER, test "x$PYCHECKER" = "xyes")
39
40-dnl check for Twisted
41-AS_PYTHON_IMPORT(twisted,
42- [
43- AC_MSG_CHECKING(for Twisted >= 2.0.1)
44- prog="
45-import sys
46-import twisted.copyright
47-minver = '2.0.1'
48-if twisted.copyright.version < minver:
49- sys.exit(1)
50-sys.exit(0)
51-"
52- if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC
53- then
54- AC_MSG_RESULT(found)
55- else
56- AC_MSG_RESULT(too old)
57- AC_MSG_ERROR([You need at least version 2.0.1 of Twisted])
58- fi
59- ]
60- ,
61- AC_MSG_ERROR([You need at least version 2.0.1 of Twisted])
62-)
63
64-TWISTED_MODULE([twisted.names])
65-TWISTED_MODULE([twisted.web])
66
67 AC_CONFIG_FILES([env], [chmod +x env])
68 AC_CONFIG_FILES([bin/flumotion], [chmod +x bin/flumotion])
diff --git a/meta-extras/packages/flumotion/flumotion/python-path.patch b/meta-extras/packages/flumotion/flumotion/python-path.patch
deleted file mode 100644
index 377994e729..0000000000
--- a/meta-extras/packages/flumotion/flumotion/python-path.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1Index: flumotion-0.3.1/common/as-python.m4
2===================================================================
3--- flumotion-0.3.1.orig/common/as-python.m4 2007-03-02 15:26:46.704717964 +0100
4+++ flumotion-0.3.1/common/as-python.m4 2007-03-02 15:27:28.601326374 +0100
5@@ -199,6 +199,12 @@
6 AC_MSG_CHECKING(for headers required to compile python extensions)
7
8 dnl deduce PYTHON_INCLUDES
9+
10+ AC_ARG_WITH(python-includes,
11+ [ --with-python-includes=DIR path to Python includes], py_exec_prefix=$withval)
12+ if test x$py_exec_prefix != x; then
13+ PYTHON_INCLUDES="-I${py_exec_prefix}/include/python${PYTHON_VERSION}"
14+ else
15 py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
16 py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
17 PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
18@@ -206,6 +212,7 @@
19 if test "$py_prefix" != "$py_exec_prefix"; then
20 PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
21 fi
22+ fi
23 AC_SUBST(PYTHON_INCLUDES)
24
25 dnl check if the headers exist:
diff --git a/meta-extras/packages/flumotion/flumotion_0.4.1.bb b/meta-extras/packages/flumotion/flumotion_0.4.1.bb
deleted file mode 100644
index 976c8c4142..0000000000
--- a/meta-extras/packages/flumotion/flumotion_0.4.1.bb
+++ /dev/null
@@ -1,41 +0,0 @@
1DESCRIPTION = "Fluendo Streaming Server"
2LICENSE = "GPL"
3DEPENDS = "gstreamer python-imaging python-gst twisted python-pygtk"
4RDEPENDS = "python-resource python-pprint python-threading \
5 python-imaging python-xml python-curses \
6 python-compression python-fcntl python-pygobject \
7 python-pickle python-netclient python-datetime \
8 python-crypt python-twisted-core python-twisted-web \
9 python-lang python-zopeinterface python-textutils \
10 python-gst python-misc"
11RDEPENDS_${PN}-gui = "${PN} python-pygtk python-pycairo"
12PR = "r10"
13
14SRC_URI = "http://www.flumotion.net/src/flumotion/flumotion-${PV}.tar.bz2 \
15 file://python-path.patch;patch=1 \
16 file://no-check-for-python-stuff.patch;patch=1"
17
18inherit autotools distutils-base pkgconfig
19
20export EPYDOC = "no"
21
22EXTRA_OECONF += "--with-python-includes=${STAGING_INCDIR}/../"
23
24PACKAGES =+ "flumotion-gui"
25
26FILES_${PN}-dbg += "${libdir}/flumotion/python/flumotion/extern/*/.debug/*"
27FILES_${PN} = "${bindir} ${sbindir} ${libdir}/flumotion"
28FILES_${PN}-dev += "${libdir}/pkgconfig"
29FILES_${PN}-gui = "${bindir}/flumotion-admin ${bindir}/flumotion-tester \
30 ${libdir}/flumotion/python/flumotion/admin/gtk \
31 ${libdir}/flumotion/python/flumotion/component/*/admin_gtk* \
32 ${libdir}/flumotion/python/flumotion/component/*/*/admin_gtk* \
33 ${libdir}/flumotion/python/flumotion/extern/*.py* \
34 ${libdir}/flumotion/python/flumotion/extern/fdpass/*.py* \
35 ${libdir}/flumotion/python/flumotion/extern/fdpass/fdpass.so \
36 ${libdir}/flumotion/python/flumotion/extern/pytrayicon/*.py* \
37 ${libdir}/flumotion/python/flumotion/extern/pytrayicon/pytrayicon.so \
38 ${libdir}/flumotion/python/flumotion/manager \
39 ${libdir}/flumotion/python/flumotion/ui \
40 ${libdir}/flumotion/python/flumotion/wizard \
41 ${datadir}/pixmaps ${datadir}/flumotion ${datadir}/applications"
diff --git a/meta-extras/packages/gnome/libbonobo.inc b/meta-extras/packages/gnome/libbonobo.inc
deleted file mode 100644
index db5c58a51e..0000000000
--- a/meta-extras/packages/gnome/libbonobo.inc
+++ /dev/null
@@ -1,36 +0,0 @@
1DESCRIPTION = "Bonobo CORBA interfaces library"
2LICENSE = "GPL"
3SECTION = "x11/gnome/libs"
4DEPENDS = "glib-2.0 orbit2 intltool-native libxml2"
5
6inherit gnome
7
8SRC_URI += "file://gtk-doc.m4 \
9 file://gtk-doc.make \
10 "
11
12ORBIT_IDL_SRC = "${STAGING_BINDIR_NATIVE}/orbit-idl-2"
13
14FILES_${PN} += "${libdir}/orbit-2.0/*.so ${libdir}/bonobo/monikers/*.so"
15FILES_${PN}-dbg += "${libdir}/bonobo/monikers/.debug \
16 ${libdir}/bonobo-2.0/samples/.debug ${libdir}/orbit-2.0/.debug"
17FILES_${PN}-dev += "${libdir}/orbit-2.0/* ${libdir}/bonobo/monikers/* \
18 ${libdir}/bonobo-2.0/samples"
19
20LEAD_SONAME = "libbonobo-2.so"
21
22PARALLEL_MAKE = ""
23
24do_configure_prepend() {
25 install -d m4
26 install ${WORKDIR}/gtk-doc.m4 m4/
27 install ${WORKDIR}/gtk-doc.make ./
28}
29
30do_compile() {
31 oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}"
32}
33
34do_install() {
35 oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" DESTDIR="${D}" install
36}
diff --git a/meta-extras/packages/gnome/libbonobo/configure-gthread.patch b/meta-extras/packages/gnome/libbonobo/configure-gthread.patch
deleted file mode 100644
index 005fa6760a..0000000000
--- a/meta-extras/packages/gnome/libbonobo/configure-gthread.patch
+++ /dev/null
@@ -1,11 +0,0 @@
1--- libbonobo-2.14.0/configure.in.orig 2006-09-04 09:21:54.000000000 +0100
2+++ libbonobo-2.14.0/configure.in 2006-09-04 09:22:58.000000000 +0100
3@@ -166,7 +166,7 @@
4 AC_MSG_RESULT(no)
5 AC_MSG_ERROR(
6 [No working gthread-2.0 support found, using --disable-threads IS DISCOURAGED])
7- ]
8+ ],[AC_MSG_RESULT(yes)]
9 )
10 CFLAGS=$libbonobo_save_CFLAGS
11 LIBS=$libbonobo_save_LIBS
diff --git a/meta-extras/packages/gnome/libbonobo/gtk-doc.m4 b/meta-extras/packages/gnome/libbonobo/gtk-doc.m4
deleted file mode 100644
index 3ec41666b2..0000000000
--- a/meta-extras/packages/gnome/libbonobo/gtk-doc.m4
+++ /dev/null
@@ -1,53 +0,0 @@
1dnl -*- mode: autoconf -*-
2
3# serial 1
4
5dnl Usage:
6dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
7AC_DEFUN([GTK_DOC_CHECK],
8[
9 AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
10 AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
11 dnl for overriding the documentation installation directory
12 AC_ARG_WITH(html-dir,
13 AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
14 [with_html_dir='${datadir}/gtk-doc/html'])
15 HTML_DIR="$with_html_dir"
16 AC_SUBST(HTML_DIR)
17
18 dnl enable/disable documentation building
19 AC_ARG_ENABLE(gtk-doc,
20 AC_HELP_STRING([--enable-gtk-doc],
21 [use gtk-doc to build documentation [default=no]]),,
22 enable_gtk_doc=no)
23
24 have_gtk_doc=no
25 if test -z "$PKG_CONFIG"; then
26 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
27 fi
28 if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
29 have_gtk_doc=yes
30 fi
31
32 dnl do we want to do a version check?
33ifelse([$1],[],,
34 [gtk_doc_min_version=$1
35 if test "$have_gtk_doc" = yes; then
36 AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
37 if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
38 AC_MSG_RESULT(yes)
39 else
40 AC_MSG_RESULT(no)
41 have_gtk_doc=no
42 fi
43 fi
44])
45 if test x$enable_gtk_doc = xyes; then
46 if test "$have_gtk_doc" != yes; then
47 enable_gtk_doc=no
48 fi
49 fi
50
51 AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
52 AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
53])
diff --git a/meta-extras/packages/gnome/libbonobo/gtk-doc.make b/meta-extras/packages/gnome/libbonobo/gtk-doc.make
deleted file mode 100644
index c319e7ad7c..0000000000
--- a/meta-extras/packages/gnome/libbonobo/gtk-doc.make
+++ /dev/null
@@ -1,148 +0,0 @@
1# -*- mode: makefile -*-
2
3####################################
4# Everything below here is generic #
5####################################
6
7if GTK_DOC_USE_LIBTOOL
8GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
9GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
10else
11GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
12GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
13endif
14
15# We set GPATH here; this gives us semantics for GNU make
16# which are more like other make's VPATH, when it comes to
17# whether a source that is a target of one rule is then
18# searched for in VPATH/GPATH.
19#
20GPATH = $(srcdir)
21
22TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
23
24EXTRA_DIST = \
25 $(content_files) \
26 $(HTML_IMAGES) \
27 $(DOC_MAIN_SGML_FILE) \
28 $(DOC_MODULE).types \
29 $(DOC_MODULE)-sections.txt \
30 $(DOC_MODULE)-overrides.txt
31
32DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
33 $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
34
35SCANOBJ_FILES = \
36 $(DOC_MODULE).args \
37 $(DOC_MODULE).hierarchy \
38 $(DOC_MODULE).interfaces \
39 $(DOC_MODULE).prerequisites \
40 $(DOC_MODULE).signals
41
42CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
43
44if ENABLE_GTK_DOC
45all-local: html-build.stamp
46
47#### scan ####
48
49scan-build.stamp: $(HFILE_GLOB)
50 @echo '*** Scanning header files ***'
51 @-chmod -R u+w $(srcdir)
52 if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
53 CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
54 else \
55 cd $(srcdir) ; \
56 for i in $(SCANOBJ_FILES) ; do \
57 test -f $$i || touch $$i ; \
58 done \
59 fi
60 cd $(srcdir) && \
61 gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
62 touch scan-build.stamp
63
64$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
65 @true
66
67#### templates ####
68
69tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
70 @echo '*** Rebuilding template files ***'
71 @-chmod -R u+w $(srcdir)
72 cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
73 touch tmpl-build.stamp
74
75tmpl.stamp: tmpl-build.stamp
76 @true
77
78#### xml ####
79
80sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
81 @echo '*** Building XML ***'
82 @-chmod -R u+w $(srcdir)
83 cd $(srcdir) && \
84 gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS)
85 touch sgml-build.stamp
86
87sgml.stamp: sgml-build.stamp
88 @true
89
90#### html ####
91
92html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
93 @echo '*** Building HTML ***'
94 @-chmod -R u+w $(srcdir)
95 rm -rf $(srcdir)/html
96 mkdir $(srcdir)/html
97 cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
98 test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
99 @echo '-- Fixing Crossreferences'
100 cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
101 touch html-build.stamp
102endif
103
104##############
105
106clean-local:
107 rm -f *~ *.bak
108
109maintainer-clean-local: clean
110 cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
111
112install-data-local:
113 $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
114 (installfiles=`echo $(srcdir)/html/*`; \
115 if test "$$installfiles" = '$(srcdir)/html/*'; \
116 then echo '-- Nothing to install' ; \
117 else \
118 for i in $$installfiles; do \
119 echo '-- Installing '$$i ; \
120 $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
121 done; \
122 echo '-- Installing $(srcdir)/html/index.sgml' ; \
123 $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
124 fi)
125
126uninstall-local:
127 rm -f $(DESTDIR)$(TARGET_DIR)/*
128
129#
130# Require gtk-doc when making dist
131#
132if ENABLE_GTK_DOC
133dist-check-gtkdoc:
134else
135dist-check-gtkdoc:
136 @echo "*** gtk-doc must be installed and enabled in order to make dist"
137 @false
138endif
139
140dist-hook: dist-check-gtkdoc dist-hook-local
141 mkdir $(distdir)/tmpl
142 mkdir $(distdir)/xml
143 mkdir $(distdir)/html
144 -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
145 -cp $(srcdir)/xml/*.xml $(distdir)/xml
146 -cp $(srcdir)/html/* $(distdir)/html
147
148.PHONY : dist-hook-local
diff --git a/meta-extras/packages/gnome/libbonobo_2.22.0.bb b/meta-extras/packages/gnome/libbonobo_2.22.0.bb
deleted file mode 100644
index feecaf590a..0000000000
--- a/meta-extras/packages/gnome/libbonobo_2.22.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require libbonobo.inc
2
3PR = "r0"
4
5SRC_URI += "file://configure-gthread.patch;patch=1"
6
diff --git a/meta-extras/packages/gnome/libbonoboui_2.18.0.bb b/meta-extras/packages/gnome/libbonoboui_2.18.0.bb
deleted file mode 100644
index 85840f705c..0000000000
--- a/meta-extras/packages/gnome/libbonoboui_2.18.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1LICENSE = "GPL"
2SECTION = "x11/gnome/libs"
3PR = "r1"
4
5inherit gnome pkgconfig
6
7FILES_${PN} += "${libdir}/libglade/2.0/*.so"
8FILES_${PN}-dev += "${libdir}/libglade/2.0/* ${datadir}/gnome-2.0/ui \
9 ${libdir}/bonobo-2.0/samples"
10FILES_${PN}-dbg += "${libdir}/bonobo-2.0/samples/.debug \
11 ${libdir}/libglade/2.0/.debug"
12
13DEPENDS = "libgnomecanvas libbonobo libgnome glib-2.0 gtk-doc gconf libxml2 libglade"
14
15EXTRA_OECONF = "--disable-gtk-doc"
diff --git a/meta-extras/packages/gnome/orbit2-native_2.14.12.bb b/meta-extras/packages/gnome/orbit2-native_2.14.12.bb
deleted file mode 100644
index c4d3132f40..0000000000
--- a/meta-extras/packages/gnome/orbit2-native_2.14.12.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1DESCRIPTION = "CORBA ORB"
2PR = "r0"
3LICENSE = "LGPL GPL"
4SECTION = "x11/gnome/libs"
5SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/ORBit2-${PV}.tar.bz2 \
6 file://configure-lossage.patch;patch=1;pnum=1 \
7 file://gtk-doc.m4 \
8 file://gtk-doc.make"
9DEPENDS = "libidl-native popt-native gtk-doc"
10
11S = "${WORKDIR}/ORBit2-${PV}"
12
13PARALLEL_MAKE = ""
14inherit autotools native pkgconfig
15
16EXTRA_OECONF = "--disable-gtk-doc"
17
18do_configure_prepend() {
19 mkdir -p m4
20 install ${WORKDIR}/gtk-doc.m4 ./m4/
21 install ${WORKDIR}/gtk-doc.make ./
22}
diff --git a/meta-extras/packages/gnome/orbit2/configure-lossage.patch b/meta-extras/packages/gnome/orbit2/configure-lossage.patch
deleted file mode 100644
index 7485a0ce0c..0000000000
--- a/meta-extras/packages/gnome/orbit2/configure-lossage.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1--- orbit/configure.in~ 2004-05-07 09:31:32.000000000 +0100
2+++ orbit/configure.in 2004-05-08 19:27:35.000000000 +0100
3@@ -193,19 +193,19 @@
4 dnl So many people with broken linking setups asked about this
5 dnl it turned out to be necessary to check for this.
6 dnl
7-dofus_save_libs="$LIBS"
8-LIBS="$ORBIT_LIBS $LIBS"
9-AC_TRY_RUN([ #include <stdio.h>
10- main ()
11- {
12- return 0;
13- } ],,
14- AC_MSG_ERROR([
15-Linking is badly borked on your system. Please ensure your library path is correct
16-Check config.log for details - check near the end of the log above 'failed program was'
17-Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the
18-prefix you're compiling on: '${prefix}' ]))
19-LIBS="$dofus_save_libs"
20+dnl dofus_save_libs="$LIBS"
21+dnl LIBS="$ORBIT_LIBS $LIBS"
22+dnl AC_TRY_RUN([ #include <stdio.h>
23+dnl main ()
24+dnl {
25+dnl return 0;
26+dnl } ],,
27+dnl AC_MSG_ERROR([
28+dnl Linking is badly borked on your system. Please ensure your library path is correct
29+dnl Check config.log for details - check near the end of the log above 'failed program was'
30+dnl Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the
31+dnl prefix you're compiling on: '${prefix}' ]))
32+dnl LIBS="$dofus_save_libs"
33
34 orig_CPPFLAGS=$CPPFLAGS
35 CPPFLAGS="$CPPFLAGS $ORBIT_CFLAGS"
diff --git a/meta-extras/packages/gnome/orbit2/gtk-doc.m4 b/meta-extras/packages/gnome/orbit2/gtk-doc.m4
deleted file mode 100644
index 3ec41666b2..0000000000
--- a/meta-extras/packages/gnome/orbit2/gtk-doc.m4
+++ /dev/null
@@ -1,53 +0,0 @@
1dnl -*- mode: autoconf -*-
2
3# serial 1
4
5dnl Usage:
6dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
7AC_DEFUN([GTK_DOC_CHECK],
8[
9 AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
10 AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
11 dnl for overriding the documentation installation directory
12 AC_ARG_WITH(html-dir,
13 AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
14 [with_html_dir='${datadir}/gtk-doc/html'])
15 HTML_DIR="$with_html_dir"
16 AC_SUBST(HTML_DIR)
17
18 dnl enable/disable documentation building
19 AC_ARG_ENABLE(gtk-doc,
20 AC_HELP_STRING([--enable-gtk-doc],
21 [use gtk-doc to build documentation [default=no]]),,
22 enable_gtk_doc=no)
23
24 have_gtk_doc=no
25 if test -z "$PKG_CONFIG"; then
26 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
27 fi
28 if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
29 have_gtk_doc=yes
30 fi
31
32 dnl do we want to do a version check?
33ifelse([$1],[],,
34 [gtk_doc_min_version=$1
35 if test "$have_gtk_doc" = yes; then
36 AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
37 if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
38 AC_MSG_RESULT(yes)
39 else
40 AC_MSG_RESULT(no)
41 have_gtk_doc=no
42 fi
43 fi
44])
45 if test x$enable_gtk_doc = xyes; then
46 if test "$have_gtk_doc" != yes; then
47 enable_gtk_doc=no
48 fi
49 fi
50
51 AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
52 AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
53])
diff --git a/meta-extras/packages/gnome/orbit2/gtk-doc.make b/meta-extras/packages/gnome/orbit2/gtk-doc.make
deleted file mode 100644
index c319e7ad7c..0000000000
--- a/meta-extras/packages/gnome/orbit2/gtk-doc.make
+++ /dev/null
@@ -1,148 +0,0 @@
1# -*- mode: makefile -*-
2
3####################################
4# Everything below here is generic #
5####################################
6
7if GTK_DOC_USE_LIBTOOL
8GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
9GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
10else
11GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
12GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
13endif
14
15# We set GPATH here; this gives us semantics for GNU make
16# which are more like other make's VPATH, when it comes to
17# whether a source that is a target of one rule is then
18# searched for in VPATH/GPATH.
19#
20GPATH = $(srcdir)
21
22TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
23
24EXTRA_DIST = \
25 $(content_files) \
26 $(HTML_IMAGES) \
27 $(DOC_MAIN_SGML_FILE) \
28 $(DOC_MODULE).types \
29 $(DOC_MODULE)-sections.txt \
30 $(DOC_MODULE)-overrides.txt
31
32DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
33 $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
34
35SCANOBJ_FILES = \
36 $(DOC_MODULE).args \
37 $(DOC_MODULE).hierarchy \
38 $(DOC_MODULE).interfaces \
39 $(DOC_MODULE).prerequisites \
40 $(DOC_MODULE).signals
41
42CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
43
44if ENABLE_GTK_DOC
45all-local: html-build.stamp
46
47#### scan ####
48
49scan-build.stamp: $(HFILE_GLOB)
50 @echo '*** Scanning header files ***'
51 @-chmod -R u+w $(srcdir)
52 if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
53 CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
54 else \
55 cd $(srcdir) ; \
56 for i in $(SCANOBJ_FILES) ; do \
57 test -f $$i || touch $$i ; \
58 done \
59 fi
60 cd $(srcdir) && \
61 gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
62 touch scan-build.stamp
63
64$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
65 @true
66
67#### templates ####
68
69tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
70 @echo '*** Rebuilding template files ***'
71 @-chmod -R u+w $(srcdir)
72 cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
73 touch tmpl-build.stamp
74
75tmpl.stamp: tmpl-build.stamp
76 @true
77
78#### xml ####
79
80sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
81 @echo '*** Building XML ***'
82 @-chmod -R u+w $(srcdir)
83 cd $(srcdir) && \
84 gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS)
85 touch sgml-build.stamp
86
87sgml.stamp: sgml-build.stamp
88 @true
89
90#### html ####
91
92html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
93 @echo '*** Building HTML ***'
94 @-chmod -R u+w $(srcdir)
95 rm -rf $(srcdir)/html
96 mkdir $(srcdir)/html
97 cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
98 test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
99 @echo '-- Fixing Crossreferences'
100 cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
101 touch html-build.stamp
102endif
103
104##############
105
106clean-local:
107 rm -f *~ *.bak
108
109maintainer-clean-local: clean
110 cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
111
112install-data-local:
113 $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
114 (installfiles=`echo $(srcdir)/html/*`; \
115 if test "$$installfiles" = '$(srcdir)/html/*'; \
116 then echo '-- Nothing to install' ; \
117 else \
118 for i in $$installfiles; do \
119 echo '-- Installing '$$i ; \
120 $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
121 done; \
122 echo '-- Installing $(srcdir)/html/index.sgml' ; \
123 $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
124 fi)
125
126uninstall-local:
127 rm -f $(DESTDIR)$(TARGET_DIR)/*
128
129#
130# Require gtk-doc when making dist
131#
132if ENABLE_GTK_DOC
133dist-check-gtkdoc:
134else
135dist-check-gtkdoc:
136 @echo "*** gtk-doc must be installed and enabled in order to make dist"
137 @false
138endif
139
140dist-hook: dist-check-gtkdoc dist-hook-local
141 mkdir $(distdir)/tmpl
142 mkdir $(distdir)/xml
143 mkdir $(distdir)/html
144 -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
145 -cp $(srcdir)/xml/*.xml $(distdir)/xml
146 -cp $(srcdir)/html/* $(distdir)/html
147
148.PHONY : dist-hook-local
diff --git a/meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch b/meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch
deleted file mode 100644
index f629e506dd..0000000000
--- a/meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1diff -urN ORBit2-2.14.12.orig/ORBit-2.0.pc.in ORBit2-2.14.12/ORBit-2.0.pc.in
2--- ORBit2-2.14.12.orig/ORBit-2.0.pc.in 2008-01-29 13:45:22.000000000 +0100
3+++ ORBit2-2.14.12/ORBit-2.0.pc.in 2008-09-23 20:13:07.000000000 +0200
4@@ -2,7 +2,7 @@
5 exec_prefix=@exec_prefix@
6 libdir=@libdir@
7 includedir=@includedir@
8-orbit_idl=@bindir@/orbit-idl-2@EXEEXT@
9+orbit_idl=@exec_prefix@/bin/orbit-idl-2@EXEEXT@
10
11
12 Name: ORBit-2.0
diff --git a/meta-extras/packages/gnome/orbit2_2.14.16.bb b/meta-extras/packages/gnome/orbit2_2.14.16.bb
deleted file mode 100644
index 42ade84d1f..0000000000
--- a/meta-extras/packages/gnome/orbit2_2.14.16.bb
+++ /dev/null
@@ -1,30 +0,0 @@
1LICENSE = "GPL"
2DESCRIPTION = "CORBA ORB"
3SECTION = "x11/gnome/libs"
4SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/ORBit2-${PV}.tar.bz2 \
5 file://configure-lossage.patch;patch=1;pnum=1 \
6 file://pkgconfig-fix.patch;patch=1 \
7 file://gtk-doc.m4 \
8 file://gtk-doc.make"
9DEPENDS = "libidl popt orbit2-native gtk-doc"
10PARALLEL_MAKE = ""
11
12FILES_${PN} += "${libdir}/orbit-2.0/*.so"
13FILES_${PN}-dev += "${libdir}/orbit-2.0/*.a ${libdir}/orbit-2.0/*.la"
14FILES_${PN}-dbg += "${libdir}/orbit-2.0/.debug"
15
16S = "${WORKDIR}/ORBit2-${PV}"
17
18LEAD_SONAME = "libORBit-2.so"
19
20inherit autotools pkgconfig
21
22EXTRA_OECONF = "--disable-gtk-doc"
23EXTRA_OEMAKE = "IDL_COMPILER='${STAGING_BINDIR_NATIVE}/orbit-idl-2'"
24
25do_configure_prepend() {
26 mkdir -p m4
27 install ${WORKDIR}/gtk-doc.m4 ./m4/
28 install ${WORKDIR}/gtk-doc.make ./
29}
30
diff --git a/meta-extras/packages/helix/helix-libs.bb b/meta-extras/packages/helix/helix-libs.bb
deleted file mode 100644
index 9fcbd4b67f..0000000000
--- a/meta-extras/packages/helix/helix-libs.bb
+++ /dev/null
@@ -1,49 +0,0 @@
1DESCRIPTION = "Helix Client Libraries"
2SECTION = "base"
3DEPENDS = "ribosome gtk+ libxv"
4HOMEPAGE = "http://helixcommunity.org"
5LICENSE = "RPSL"
6
7_SNAPSHOT = "atlas310_11212008"
8_TARBALL_SERVER = "http://git.moblin.org/repos/users/rusty"
9
10PV="r0"
11
12SRC_URI = "${_TARBALL_SERVER}/helix-libs_${_SNAPSHOT}.tar.bz2 \
13 file://helix-libs/helix-player.pc \
14 file://helix-libs/add-clutter.patch;patch=1"
15S = "${WORKDIR}/helix-libs_${_SNAPSHOT}"
16
17export BUILD_ROOT=${STAGING_DIR_HOST}${libdir}/ribosome
18export BUILDRC=${BUILD_ROOT}/buildrc
19export SYSTEM_ID=linux-2.2-libc6-gcc32-i586
20export BUILD=$BUILD_ROOT/bin/build.py
21
22COMPATIBLE_HOST = '(i.86.*-linux)'
23
24do_compile() {
25 ${BUILD} -k -trelease -mclutter -Phelix-client-all-defines clutter
26}
27
28do_install() {
29 mkdir -p ${D}/opt/helix/lib
30 mkdir -p ${D}/opt/helix/include
31 mkdir -p ${D}${libdir}/pkgconfig
32
33 install -m 0644 clientapps/clutter/player.h ${D}/opt/helix/include/
34 install -m 0644 ../helix-libs/helix-player.pc ${D}${libdir}/pkgconfig
35
36 install -m 0644 release/*.so ${D}/opt/helix/lib
37
38 install -d ${D}${libdir}
39 install -m 0644 release/libhelix-player.so ${D}${libdir}
40}
41
42sysroot_stage_all_append() {
43 sysroot_stage_dir ${D}/opt/helix ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/helix
44}
45
46FILES_${PN} = "/usr/lib/libhelix-player.so"
47FILES_${PN} += "/opt/helix/lib"
48FILES_${PN}-dev = "/usr/lib/pkgconfig"
49FILES_${PN}-dev += "/opt/helix/include"
diff --git a/meta-extras/packages/helix/helix-libs/add-clutter.patch b/meta-extras/packages/helix/helix-libs/add-clutter.patch
deleted file mode 100644
index eb545ff73f..0000000000
--- a/meta-extras/packages/helix/helix-libs/add-clutter.patch
+++ /dev/null
@@ -1,12668 +0,0 @@
1Index: helix-libs/clientapps/clutter/LICENSE.txt
2===================================================================
3--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4+++ helix-libs/clientapps/clutter/LICENSE.txt 2008-10-13 06:05:49.000000000 -0700
5@@ -0,0 +1,30 @@
6+ Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
7+
8+ The contents of this directory, and (except where otherwise
9+ indicated) the directories included within this directory, are
10+ subject to the current version of the RealNetworks Public Source
11+ License (the "RPSL") available at RPSL.txt in this directory, unless
12+ you have licensed the directory under the current version of the
13+ RealNetworks Community Source License (the "RCSL") available at
14+ RCSL.txt in this directory, in which case the RCSL will apply. You
15+ may also obtain the license terms directly from RealNetworks. You
16+ may not use the files in this directory except in compliance with the
17+ RPSL or, if you have a valid RCSL with RealNetworks applicable to
18+ this directory, the RCSL. Please see the applicable RPSL or RCSL for
19+ the rights, obligations and limitations governing use of the contents
20+ of the directory.
21+
22+ This directory is part of the Helix DNA Technology. RealNetworks is
23+ the developer of the Original Code and owns the copyrights in the
24+ portions it created.
25+
26+ This directory, and the directories included with this directory, are
27+ distributed and made available on an 'AS IS' basis, WITHOUT WARRANTY
28+ OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY
29+ DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY
30+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
31+ QUIET ENJOYMENT OR NON-INFRINGEMENT.
32+
33+ Technology Compatibility Kit Test Suite(s) Location:
34+ http://www.helixcommunity.org/content/tck
35+
36Index: helix-libs/clientapps/clutter/RCSL.txt
37===================================================================
38--- /dev/null 1970-01-01 00:00:00.000000000 +0000
39+++ helix-libs/clientapps/clutter/RCSL.txt 2008-10-13 06:05:49.000000000 -0700
40@@ -0,0 +1,948 @@
41+The RCSL is made up of a base agreement and a few Attachments.
42+
43+For Research and Development use, you agree to the terms of the
44+RCSL R&D License (base RCSL and Attachments A, B, and C)
45+
46+For Commercial Use (either distribution or internal commercial
47+deployment) of the Helix DNA with or without support for RealNetworks'
48+RealAudio and RealVideo Add-on Technology, you agree to the
49+terms of the same RCSL R&D license
50+and execute one or more additional Commercial Use License attachments
51+<see http://www.helixcommunity.org/content/rcsl-attachments>.
52+
53+------------------------------------------------------------------------
54+
55+
56+ REALNETWORKS COMMUNITY SOURCE LICENSE
57+
58+Version 1.2 (Rev. Date: January 22, 2003).
59+
60+
61+ RECITALS
62+
63+Original Contributor has developed Specifications, Source Code
64+implementations and Executables of certain Technology; and
65+
66+Original Contributor desires to license the Technology to a large
67+community to facilitate research, innovation and product development
68+while maintaining compatibility of such products with the Technology as
69+delivered by Original Contributor; and
70+
71+Original Contributor desires to license certain Trademarks for the
72+purpose of branding products that are compatible with the relevant
73+Technology delivered by Original Contributor; and
74+
75+You desire to license the Technology and possibly certain Trademarks
76+from Original Contributor on the terms and conditions specified in this
77+License.
78+
79+In consideration for the mutual covenants contained herein, You and
80+Original Contributor agree as follows:
81+
82+
83+ AGREEMENT
84+
85+*1. Introduction.*
86+
87+The RealNetworks Community Source License ("RCSL") and effective
88+attachments ("License") may include five distinct licenses:
89+
90+i) Research Use license -- License plus Attachments A, B and C only.
91+
92+ii) Commercial Use and Trademark License, which may be for Internal
93+Deployment Use or external distribution, or both -- License plus
94+Attachments A, B, C, and D.
95+
96+iii) Technology Compatibility Kit (TCK) license -- Attachment C.
97+
98+iv) Add-On Technology License (Executable) Commercial Use License
99+-Attachment F.
100+
101+v) Add-On Technology Source Code Porting and Optimization
102+License-Attachment G.
103+
104+The Research Use license is effective when You click and accept this
105+License. The TCK is effective when You click and accept this License,
106+unless otherwise specified in the TCK attachments. The Commercial Use
107+and Trademark, Add-On Technology License, and the Add-On Technology
108+Source Code Porting and Optimization licenses must each be signed by You
109+and Original Contributor to become effective. Once effective, these
110+licenses and the associated requirements and responsibilities are
111+cumulative. Capitalized terms used in this License are defined in the
112+Glossary.
113+
114+*2. License Grants.*
115+
116+2.1 Original Contributor Grant.
117+
118+Subject to Your compliance with Sections 3, 8.10 and Attachment A of
119+this License, Original Contributor grants to You a worldwide,
120+royalty-free, non-exclusive license, to the extent of Original
121+Contributor's Intellectual Property Rights covering the Original Code,
122+Upgraded Code and Specifications, to do the following:
123+
124+(a) Research Use License:
125+
126+(i) use, reproduce and modify the Original Code, Upgraded Code and
127+Specifications to create Modifications and Reformatted Specifications
128+for Research Use by You;
129+
130+(ii) publish and display Original Code, Upgraded Code and Specifications
131+with, or as part of Modifications, as permitted under Section 3.1(b) below;
132+
133+(iii) reproduce and distribute copies of Original Code and Upgraded Code
134+to Licensees and students for Research Use by You;
135+
136+(iv) compile, reproduce and distribute Original Code and Upgraded Code
137+in Executable form, and Reformatted Specifications to anyone for
138+Research Use by You.
139+
140+(b) Other than the licenses expressly granted in this License, Original
141+Contributor retains all right, title, and interest in Original Code and
142+Upgraded Code and Specifications.
143+
144+2.2 Your Grants.
145+
146+(a) To Other Licensees. You hereby grant to each Licensee a license to
147+Your Error Corrections and Shared Modifications, of the same scope and
148+extent as Original Contributor's licenses under Section 2.1 a) above
149+relative to Research Use and Attachment D relative to Commercial Use.
150+
151+(b) To Original Contributor. You hereby grant to Original Contributor a
152+worldwide, royalty-free, non-exclusive, perpetual and irrevocable
153+license, to the extent of Your Intellectual Property Rights covering
154+Your Error Corrections, Shared Modifications and Reformatted
155+Specifications, to use, reproduce, modify, display and distribute Your
156+Error Corrections, Shared Modifications and Reformatted Specifications,
157+in any form, including the right to sublicense such rights through
158+multiple tiers of distribution.
159+
160+(c) Other than the licenses expressly granted in Sections 2.2(a) and (b)
161+above, and the restrictions set forth in Section 3.1(d)(iv) below, You
162+retain all right, title, and interest in Your Error Corrections, Shared
163+Modifications and Reformatted Specifications.
164+
165+2.3 Contributor Modifications.
166+
167+You may use, reproduce, modify, display and distribute Contributor Error
168+Corrections, Shared Modifications and Reformatted Specifications,
169+obtained by You under this License, to the same scope and extent as with
170+Original Code, Upgraded Code and Specifications.
171+
172+2.4 Subcontracting.
173+
174+You may deliver the Source Code of Covered Code to other Licensees
175+having at least a Research Use license, for the sole purpose of
176+furnishing development services to You in connection with Your rights
177+granted in this License. All such Licensees must execute appropriate
178+documents with respect to such work consistent with the terms of this
179+License, and acknowledging their work-made-for-hire status or assigning
180+exclusive right to the work product and associated Intellectual Property
181+Rights to You.
182+
183+*3. Requirements and Responsibilities*.
184+
185+3.1 Research Use License.
186+
187+As a condition of exercising the rights granted under Section 2.1(a)
188+above, You agree to comply with the following:
189+
190+(a) Your Contribution to the Community. All Error Corrections and Shared
191+Modifications which You create or contribute to are automatically
192+subject to the licenses granted under Section 2.2 above. You are
193+encouraged to license all of Your other Modifications under Section 2.2
194+as Shared Modifications, but are not required to do so. You agree to
195+notify Original Contributor of any errors in the Specification.
196+
197+(b) Source Code Availability. You agree to provide all Your Error
198+Corrections to Original Contributor as soon as reasonably practicable
199+and, in any event, prior to Internal Deployment Use or Commercial Use,
200+if applicable. Original Contributor may, at its discretion, post Source
201+Code for Your Error Corrections and Shared Modifications on the
202+Community Webserver. You may also post Error Corrections and Shared
203+Modifications on a web-server of Your choice; provided, that You must
204+take reasonable precautions to ensure that only Licensees have access to
205+such Error Corrections and Shared Modifications. Such precautions shall
206+include, without limitation, a password protection scheme limited to
207+Licensees and a click-on, download certification of Licensee status
208+required of those attempting to download from the server. An example of
209+an acceptable certification is attached as Attachment A-2.
210+
211+(c) Notices. All Error Corrections and Shared Modifications You create
212+or contribute to must include a file documenting the additions and
213+changes You made and the date of such additions and changes. You must
214+also include the notice set forth in Attachment A-1 in the file header.
215+If it is not possible to put the notice in a particular Source Code file
216+due to its structure, then You must include the notice in a location
217+(such as a relevant directory file), where a recipient would be most
218+likely to look for such a notice.
219+
220+(d) Redistribution.
221+
222+(i) Source. Covered Code may be distributed in Source Code form only to
223+another Licensee (except for students as provided below). You may not
224+offer or impose any terms on any Covered Code that alter the rights,
225+requirements, or responsibilities of such Licensee. You may distribute
226+Covered Code to students for use in connection with their course work
227+and research projects undertaken at accredited educational institutions.
228+Such students need not be Licensees, but must be given a copy of the
229+notice set forth in Attachment A-3 and such notice must also be included
230+in a file header or prominent location in the Source Code made available
231+to such students.
232+
233+(ii) Executable. You may distribute Executable version(s) of Covered
234+Code to Licensees and other third parties only for the purpose of
235+evaluation and comment in connection with Research Use by You and under
236+a license of Your choice, but which limits use of such Executable
237+version(s) of Covered Code only to that purpose.
238+
239+(iii) Modified Class, Interface and Package Naming. In connection with
240+Research Use by You only, You may use Original Contributor's class,
241+Interface and package names only to accurately reference or invoke the
242+Source Code files You modify. Original Contributor grants to You a
243+limited license to the extent necessary for such purposes.
244+
245+(iv) You expressly agree that any distribution, in whole or in part, of
246+Modifications developed by You shall only be done pursuant to the terms
247+and conditions of this License.
248+
249+(e) Extensions.
250+
251+(i) Covered Code. You may not include any Source Code of Community Code
252+in any Extensions. You may include the compiled Header Files of
253+Community Code in an Extension provided that Your use of the Covered
254+Code, including Heading Files, complies with the Commercial Use License,
255+the TCK and all other terms of this License.
256+
257+(ii) Publication. No later than the date on which You first distribute
258+such Extension for Commercial Use, You must publish to the industry, on
259+a non-confidential basis and free of all copyright restrictions with
260+respect to reproduction and use, an accurate and current specification
261+for any Extension. In addition, You must make available an appropriate
262+test suite, pursuant to the same rights as the specification,
263+sufficiently detailed to allow any third party reasonably skilled in the
264+technology to produce implementations of the Extension compatible with
265+the specification. Such test suites must be made available as soon as
266+reasonably practicable but, in no event, later than ninety (90) days
267+after Your first Commercial Use of the Extension. You must use
268+reasonable efforts to promptly clarify and correct the specification and
269+the test suite upon written request by Original Contributor.
270+
271+(iii) Open. You agree to refrain from enforcing any Intellectual
272+Property Rights You may have covering any interface(s) of Your
273+Extension, which would prevent the implementation of such interface(s)
274+by Original Contributor or any Licensee. This obligation does not
275+prevent You from enforcing any Intellectual Property Right You have that
276+would otherwise be infringed by an implementation of Your Extension.
277+
278+(iv) Interface Modifications and Naming. You may not modify or add to
279+the GUID space * * "xxxxxxxx-0901-11d1-8B06-00A024406D59" or any other
280+GUID space designated by Original Contributor. You may not modify any
281+Interface prefix provided with the Covered Code or any other prefix
282+designated by Original Contributor.* *
283+
284+* *
285+
286+(f) You agree that any Specifications provided to You by Original
287+Contributor are confidential and proprietary information of Original
288+Contributor. You must maintain the confidentiality of the Specifications
289+and may not disclose them to any third party without Original
290+Contributor's prior written consent. You may only use the Specifications
291+under the terms of this License and only for the purpose of implementing
292+the terms of this License with respect to Covered Code. You agree not
293+use, copy or distribute any such Specifications except as provided in
294+writing by Original Contributor.
295+
296+3.2 Commercial Use License.
297+
298+You may not make Commercial Use of any Covered Code unless You and
299+Original Contributor have executed a copy of the Commercial Use and
300+Trademark License attached as Attachment D.
301+
302+*4. Versions of the License.*
303+
304+4.1 License Versions.
305+
306+Original Contributor may publish revised versions of the License from
307+time to time. Each version will be given a distinguishing version number.
308+
309+4.2 Effect.
310+
311+Once a particular version of Covered Code has been provided under a
312+version of the License, You may always continue to use such Covered Code
313+under the terms of that version of the License. You may also choose to
314+use such Covered Code under the terms of any subsequent version of the
315+License. No one other than Original Contributor has the right to
316+promulgate License versions.
317+
318+4.3 Multiple-Licensed Code.
319+
320+Original Contributor may designate portions of the Covered Code as
321+"Multiple-Licensed." "Multiple-Licensed" means that the Original
322+Contributor permits You to utilize those designated portions of the
323+Covered Code under Your choice of this License or the alternative
324+license(s), if any, specified by the Original Contributor in an
325+Attachment to this License.
326+
327+*5. Disclaimer of Warranty.*
328+
329+5.1 COVERED CODE PROVIDED AS IS.
330+
331+COVERED CODE IS PROVIDED UNDER THIS LICENSE "AS IS," WITHOUT WARRANTY OF
332+ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,
333+WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT
334+FOR A PARTICULAR PURPOSE OR NON-INFRINGING. YOU AGREE TO BEAR THE ENTIRE
335+RISK IN CONNECTION WITH YOUR USE AND DISTRIBUTION OF COVERED CODE UNDER
336+THIS LICENSE. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART
337+OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER
338+EXCEPT SUBJECT TO THIS DISCLAIMER.
339+
340+5.2 Not Designed for High Risk Activities.
341+
342+You acknowledge that Original Code, Upgraded Code and Specifications are
343+not designed or intended for use in high risk activities including, but
344+not limited to: (i) on-line control of aircraft, air traffic, aircraft
345+navigation or aircraft communications; or (ii) in the design,
346+construction, operation or maintenance of any nuclear facility. Original
347+Contributor disclaims any express or implied warranty of fitness for
348+such uses.
349+
350+*6. Termination.*
351+
352+6.1 By You.
353+
354+You may terminate this Research Use license at anytime by providing
355+written notice to Original Contributor.
356+
357+6.2 By Original Contributor.
358+
359+This License and the rights granted hereunder will terminate:
360+
361+(i) automatically if You fail to comply with the terms of this License
362+and fail to cure such breach within 30 days of receipt of written notice
363+of the breach;
364+
365+(ii) immediately in the event of circumstances specified in Sections 7.1
366+and 8.4; or
367+
368+(iii) at Original Contributor's discretion upon any action initiated by
369+You (including by cross-claim or counter claim) alleging that use or
370+distribution by Original Contributor or any Licensee, of Original Code,
371+Upgraded Code, Error Corrections, Shared Modifications or Specifications
372+infringe a patent owned or controlled by You.
373+
374+6.3 Effective of Termination.
375+
376+Upon termination, You agree to discontinue use of and destroy all copies
377+of Covered Code in Your possession. All sublicenses to the Covered Code
378+which You have properly granted shall survive any termination of this
379+License. Provisions that, by their nature, should remain in effect
380+beyond the termination of this License shall survive including, without
381+limitation, Sections 2.2, 3, 5, 7 and 8.
382+
383+6.4 No Compensation.
384+
385+Each party waives and releases the other from any claim to compensation
386+or indemnity for permitted or lawful termination of the business
387+relationship established by this License.
388+
389+*7. Liability.*
390+
391+7.1 Infringement. Should any of the Original Code, Upgraded Code, TCK or
392+Specifications ("Materials") become the subject of a claim of
393+infringement, Original Contributor may, at its sole option, (i) attempt
394+to procure the rights necessary for You to continue using the Materials,
395+(ii) modify the Materials so that they are no longer infringing, or
396+(iii) terminate Your right to use the Materials, immediately upon
397+written notice, and refund to You the amount, if any, having then
398+actually been paid by You to Original Contributor for the Original Code,
399+Upgraded Code and TCK, depreciated on a straight line, five year basis.
400+
401+7.2 LIMITATION OF LIABILITY. TO THE FULL EXTENT ALLOWED BY APPLICABLE
402+LAW, ORIGINAL CONTRIBUTOR'S LIABILITY TO YOU FOR CLAIMS RELATING TO THIS
403+LICENSE, WHETHER FOR BREACH OR IN TORT, SHALL BE LIMITED TO ONE HUNDRED
404+PERCENT (100%) OF THE AMOUNT HAVING THEN ACTUALLY BEEN PAID BY YOU TO
405+ORIGINAL CONTRIBUTOR FOR ALL COPIES LICENSED HEREUNDER OF THE PARTICULAR
406+ITEMS GIVING RISE TO SUCH CLAIM, IF ANY, DURING THE TWELVE MONTHS
407+PRECEDING THE CLAIMED BREACH. IN NO EVENT WILL YOU (RELATIVE TO YOUR
408+SHARED MODIFICATIONS OR ERROR CORRECTIONS) OR ORIGINAL CONTRIBUTOR BE
409+LIABLE FOR ANY INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
410+DAMAGES IN CONNECTION WITH OR RISING OUT OF THIS LICENSE (INCLUDING,
411+WITHOUT LIMITATION, LOSS OF PROFITS, USE, DATA, OR OTHER ECONOMIC
412+ADVANTAGE), HOWEVER IT ARISES AND ON ANY THEORY OF LIABILITY, WHETHER IN
413+AN ACTION FOR CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE)
414+OR OTHERWISE, WHETHER OR NOT YOU OR ORIGINAL CONTRIBUTOR HAS BEEN
415+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE AND NOTWITHSTANDING THE
416+FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY.
417+
418+*8. Miscellaneous.*
419+
420+8.1 Trademark.
421+
422+You shall not use any Trademark unless You and Original Contributor
423+execute a copy of the Commercial Use and Trademark License Agreement
424+attached hereto as Attachment D. Except as expressly provided in the
425+License, You are granted no right, title or license to, or interest in,
426+any Trademarks. Whether or not You and Original Contributor enter into
427+the Trademark License, You agree not to (i) challenge Original
428+Contributor's ownership or use of Trademarks; (ii) attempt to register
429+any Trademarks, or any mark or logo substantially similar thereto; or
430+(iii) incorporate any Trademarks into Your own trademarks, product
431+names, service marks, company names, or domain names.
432+
433+8.2 Integration.
434+
435+This License represents the complete agreement concerning the subject
436+matter hereof.
437+
438+8.3 Assignment.
439+
440+Original Contributor may assign this License, and its rights and
441+obligations hereunder, in its sole discretion. You may assign the
442+Research Use portions of this License and the TCK license to a third
443+party upon prior written notice to Original Contributor (which may be
444+provided electronically via the Community Web-Server). You may not
445+assign the Commercial Use and Trademark license, the Add-On Technology
446+License, or the Add-On Technology Source Code Porting License, including
447+by way of merger (regardless of whether You are the surviving entity) or
448+acquisition, without Original Contributor's prior written consent.
449+
450+8.4 Severability.
451+
452+If any provision of this License is held to be unenforceable, such
453+provision shall be reformed only to the extent necessary to make it
454+enforceable. Notwithstanding the foregoing, if You are prohibited by law
455+from fully and specifically complying with Sections 2.2 or 3, this
456+License will immediately terminate and You must immediately discontinue
457+any use of Covered Code.
458+
459+8.5 Governing Law.
460+
461+This License shall be governed by the laws of the United States and the
462+State of Washington, as applied to contracts entered into and to be
463+performed in Washington between Washington residents. The application of
464+the United Nations Convention on Contracts for the International Sale of
465+Goods is expressly excluded. You agree that the state and federal courts
466+located in Seattle, Washington have exclusive jurisdiction over any
467+claim relating to the License, including contract and tort claims.
468+
469+8.6 Dispute Resolution.
470+
471+a) Arbitration. Any dispute arising out of or relating to this License
472+shall be finally settled by arbitration as set out herein, except that
473+either party may bring any action, in a court of competent jurisdiction
474+(which jurisdiction shall be exclusive), with respect to any dispute
475+relating to such party's Intellectual Property Rights or with respect to
476+Your compliance with the TCK license. Arbitration shall be administered:
477+(i) by the American Arbitration Association (AAA), (ii) in accordance
478+with the rules of the United Nations Commission on International Trade
479+Law (UNCITRAL) (the "Rules") in effect at the time of arbitration as
480+modified herein; and (iii) the arbitrator will apply the substantive
481+laws of Washington and the United States. Judgment upon the award
482+rendered by the arbitrator may be entered in any court having
483+jurisdiction to enforce such award.
484+
485+b) Arbitration language, venue and damages. All arbitration proceedings
486+shall be conducted in English by a single arbitrator selected in
487+accordance with the Rules, who must be fluent in English and be either a
488+retired judge or practicing attorney having at least ten (10) years
489+litigation experience and be reasonably familiar with the technology
490+matters relative to the dispute. Unless otherwise agreed, arbitration
491+venue shall be in Seattle, Washington. The arbitrator may award monetary
492+damages only and nothing shall preclude either party from seeking
493+provisional or emergency relief from a court of competent jurisdiction.
494+The arbitrator shall have no authority to award damages in excess of
495+those permitted in this License and any such award in excess is void.
496+All awards will be payable in U.S. dollars and may include, for the
497+prevailing party (i) pre-judgment award interest, (ii) reasonable
498+attorneys' fees incurred in connection with the arbitration, and (iii)
499+reasonable costs and expenses incurred in enforcing the award. The
500+arbitrator will order each party to produce identified documents and
501+respond to no more than twenty-five single question interrogatories.
502+
503+8.7 Construction.
504+
505+Any law or regulation, which provides that the language of a contract
506+shall be construed against the drafter, shall not apply to this License.
507+
508+8.8 U.S. Government End Users.
509+
510+The Covered Code is a "commercial item," as that term is defined in 48
511+C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software"
512+and "commercial computer software documentation," as such terms are used
513+in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and
514+48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government
515+End Users acquire Covered Code with only those rights set forth herein.
516+You agree to pass this notice to our licensees.
517+
518+8.9 Marketing Activities.
519+
520+Licensee hereby grants Original Contributor a non-exclusive,
521+non-transferable, limited license to use the Licensee's company name and
522+logo ("Licensee Marks") in any presentations, press releases, or
523+marketing materials solely for the purpose of identifying Licensee as a
524+member of the Helix Community. Licensee shall provide samples of
525+Licensee Marks to Original Contributor upon request by Original
526+Contributor. Original Contributor acknowledges that the Licensee Marks
527+are the trademarks of Licensee. Original Contributor shall not use the
528+Licensee Marks in a way that may imply that Original Contributor is an
529+agency or branch of Licensee. Original Contributor understands and
530+agrees that the use of any Licensee Marks in connection with this
531+Agreement shall not create any right, title or interest, in, or to the
532+Licensee Marks or any Licensee trademarks and that all such use and
533+goodwill associated with any such trademarks will inure to the benefit
534+of Licensee. Further the Original Contributor will stop usage of the
535+Licensee Marks upon Licensee's request.
536+
537+8.10 Press Announcements.
538+
539+You may make press announcements or other public statements regarding
540+this License without the prior written consent of the Original
541+Contributor, if Your statement is limited to announcing the licensing of
542+the Covered Code or the availability of Your Product and its
543+compatibility with the Covered Code. All other public announcements
544+regarding this license require the prior written consent of the Original
545+Contributor. Consent requests are welcome at press@helixcommunity.org.
546+
547+8.11 International Use.
548+
549+a) Export/Import laws. Covered Code is subject to U.S. export control
550+laws and may be subject to export or import regulations in other
551+countries. Each party agrees to comply strictly with all such laws and
552+regulations and acknowledges their responsibility to obtain such
553+licenses to export, re-export, or import as may be required. You agree
554+to pass these obligations to Your licensees.
555+
556+b) Intellectual Property Protection. Due to limited intellectual
557+property protection and enforcement in certain countries, You agree not
558+to redistribute the Original Code, Upgraded Code, TCK and Specifications
559+to any country on the list of restricted countries on the Community Web
560+Server.
561+
562+8.12 Language.
563+
564+This License is in the English language only, which language shall be
565+controlling in all respects, and all versions of this License in any
566+other language shall be for accommodation only and shall not be binding
567+on the parties to this License. All communications and notices made or
568+given pursuant to this License, and all documentation and support to be
569+provided, unless otherwise noted, shall be in the English language.
570+
571+PLEASE READ THE TERMS OF THIS LICENSE CAREFULLY. BY CLICKING ON THE
572+"ACCEPT" BUTTON BELOW YOU ARE ACCEPTING AND AGREEING TO THE TERMS AND
573+CONDITIONS OF THIS LICENSE WITH REALNETWORKS, INC. IF YOU ARE AGREEING
574+TO THIS LICENSE ON BEHALF OF A COMPANY, YOU REPRESENT THAT YOU ARE
575+AUTHORIZED TO BIND THE COMPANY TO SUCH A LICENSE. WHETHER YOU ARE ACTING
576+ON YOUR OWN BEHALF, OR REPRESENTING A COMPANY, YOU MUST BE OF MAJORITY
577+AGE AND BE OTHERWISE COMPETENT TO ENTER INTO CONTRACTS. IF YOU DO NOT
578+MEET THIS CRITERIA OR YOU DO NOT AGREE TO ANY OF THE TERMS AND
579+CONDITIONS OF THIS LICENSE, CLICK ON THE REJECT BUTTON TO EXIT.
580+
581+
582+ GLOSSARY
583+
584+1. *"Added Value"* means code which:
585+
586+(i) has a principal purpose which is substantially different from that
587+of the stand-alone Technology;
588+
589+(ii) represents a significant functional and value enhancement to the
590+Technology;
591+
592+(iii) operates in conjunction with the Technology; and
593+
594+(iv) is not marketed as a technology which replaces or substitutes for
595+the Technology
596+
597+2. "*Applicable Patent Rights*" mean: (a) in the case where Original
598+Contributor is the grantor of rights, claims of patents that (i) are now
599+or hereafter acquired, owned by or assigned to Original Contributor and
600+(ii) are necessarily infringed by using or making the Original Code or
601+Upgraded Code, including Modifications provided by Original Contributor,
602+alone and not in combination with other software or hardware; and (b) in
603+the case where Licensee is the grantor of rights, claims of patents that
604+(i) are now or hereafter acquired, owned by or assigned to Licensee and
605+(ii) are infringed (directly or indirectly) by using or making
606+Licensee's Modifications or Error Corrections, taken alone or in
607+combination with Covered Code.
608+
609+3. "*Application Programming Interfaces (APIs)"* means the interfaces,
610+associated header files, service provider interfaces, and protocols that
611+enable a device, application, Operating System, or other program to
612+obtain services from or make requests of (or provide services in
613+response to requests from) other programs, and to use, benefit from, or
614+rely on the resources, facilities, and capabilities of the relevant
615+programs using the APIs. APIs includes the technical documentation
616+describing the APIs, the Source Code constituting the API, and any
617+Header Files used with the APIs.
618+
619+4. "*Commercial Use*" means any use (internal or external), copying,
620+sublicensing or distribution (internal or external), directly or
621+indirectly of Covered Code by You other than Your Research Use of
622+Covered Code within Your business or organization or in conjunction with
623+other Licensees with equivalent Research Use rights. Commercial Use
624+includes any use of the Covered Code for direct or indirect commercial
625+or strategic gain, advantage or other business purpose. Any Commercial
626+Use requires execution of Attachment D by You and Original Contributor.
627+
628+5. "*Community Code*" means the Original Code, Upgraded Code, Error
629+Corrections, Shared Modifications, or any combination thereof.
630+
631+6. "*Community Webserver(s)"* means the webservers designated by
632+Original Contributor for access to the Original Code, Upgraded Code, TCK
633+and Specifications and for posting Error Corrections and Shared
634+Modifications.
635+
636+7. "*Compliant Covered Code*" means Covered Code that complies with the
637+requirements of the TCK.
638+
639+8. "*Contributor*" means each Licensee that creates or contributes to
640+the creation of any Error Correction or Shared Modification.
641+
642+9. "*Covered Code*" means the Original Code, Upgraded Code,
643+Modifications, or any combination thereof.
644+
645+10. "*Error Correction*" means any change made to Community Code which
646+conforms to the Specification and corrects the adverse effect of a
647+failure of Community Code to perform any function set forth in or
648+required by the Specifications.
649+
650+11. "*Executable*" means Covered Code that has been converted from
651+Source Code to the preferred form for execution by a computer or digital
652+processor (e.g. binary form).
653+
654+12. "*Extension(s)"* means any additional Interfaces developed by or for
655+You which: (i) are designed for use with the Technology; (ii) constitute
656+an API for a library of computing functions or services; and (iii) are
657+disclosed or otherwise made available to third party software developers
658+for the purpose of developing software which invokes such additional
659+Interfaces. The foregoing shall not apply to software developed by Your
660+subcontractors to be exclusively used by You.
661+
662+13. "*Header File(s)"* means that portion of the Source Code that
663+provides the names and types of member functions, data members, class
664+definitions, and interface definitions necessary to implement the APIs
665+for the Covered Code. Header Files include, files specifically
666+designated by Original Contributor as Header Files. Header Files do not
667+include the code necessary to implement the functionality underlying the
668+Interface.
669+
670+14. *"Helix DNA Server Technology"* means the program(s) that implement
671+the Helix Universal Server streaming engine for the Technology as
672+defined in the Specification.
673+
674+15. *"Helix DNA Client Technology"* means the Covered Code that
675+implements the RealOne Player engine as defined in the Specification.
676+
677+16. *"Helix DNA Producer Technology"* means the Covered Code that
678+implements the Helix Producer engine as defined in the Specification.
679+
680+17. *"Helix DNA Technology"* means the Helix DNA Server Technology, the
681+Helix DNA Client Technology, the Helix DNA Producer Technology and other
682+Helix technologies designated by Original Contributor.
683+
684+18. "*Intellectual Property Rights*" means worldwide statutory and
685+common law rights associated solely with (i) Applicable Patent Rights;
686+(ii) works of authorship including copyrights, copyright applications,
687+copyright registrations and "moral rights"; (iii) the protection of
688+trade and industrial secrets and confidential information; and (iv)
689+divisions, continuations, renewals, and re-issuances of the foregoing
690+now existing or acquired in the future.
691+
692+19. *"Interface*" means interfaces, functions, properties, class
693+definitions, APIs, Header Files, GUIDs, V-Tables, and/or protocols
694+allowing one piece of software, firmware or hardware to communicate or
695+interoperate with another piece of software, firmware or hardware.
696+
697+20. "*Internal Deployment Use*" means use of Compliant Covered Code
698+(excluding Research Use) within Your business or organization only by
699+Your employees and/or agents on behalf of Your business or organization,
700+but not to provide services, including content distribution, to third
701+parties, subject to execution of Attachment D by You and Original
702+Contributor, if required.
703+
704+21. "*Licensee*" means any party that has entered into and has in effect
705+a version of this License with Original Contributor.
706+
707+22. "*MIME type*" means a description of what type of media or other
708+content is in a file, including by way of example but not limited to
709+'audio/x-pn-realaudio-plugin.'
710+
711+23. "*Modification(s)"* means (i) any addition to, deletion from and/or
712+change to the substance and/or structure of the Covered Code, including
713+Interfaces; (ii) the combination of any Covered Code and any previous
714+Modifications; (iii) any new file or other representation of computer
715+program statements that contains any portion of Covered Code; and/or
716+(iv) any new Source Code implementing any portion of the Specifications.
717+
718+24. "*MP3 Patents*" means any patents necessary to make, use or sell
719+technology implementing any portion of the specification developed by
720+the Moving Picture Experts Group known as MPEG-1 Audio Layer-3 or MP3,
721+including but not limited to all past and future versions, profiles,
722+extensions, parts and amendments relating to the MP3 specification.
723+
724+25. "*MPEG-4 Patents*" means any patents necessary to make, use or sell
725+technology implementing any portion of the specification developed by
726+the Moving Pictures Experts Group known as MPEG-4, including but not
727+limited to all past and future versions, profiles, extensions, parts and
728+amendments relating to the MPEG-4 specification.
729+
730+26. "*Original Code*" means the initial Source Code for the Technology
731+as described on the Community Web Server.
732+
733+27. "*Original Contributor*" means RealNetworks, Inc., its affiliates
734+and its successors and assigns.
735+
736+28. "*Original Contributor MIME Type*" means the MIME registry, browser
737+preferences, or local file/protocol associations invoking any Helix DNA
738+Client-based application, including the RealOne Player, for playback of
739+RealAudio, RealVideo, other RealMedia MIME types or datatypes (e.g.,
740+.ram, .rnx, .rpm, .ra, .rm, .rp, .rt, .rf, .prx, .mpe, .rmp, .rmj, .rav,
741+.rjs, .rmx, .rjt, .rms), and any other Original Contributor-specific or
742+proprietary MIME types that Original Contributor may introduce in the
743+future.
744+
745+29. "*Personal Use*" means use of Covered Code by an individual solely
746+for his or her personal, private and non-commercial purposes. An
747+individual's use of Covered Code in his or her capacity as an officer,
748+employee, member, independent contractor or agent of a corporation,
749+business or organization (commercial or non-commercial) does not qualify
750+as Personal Use.
751+
752+30. "*RealMedia File Format*" means the file format designed and
753+developed by RealNetworks for storing multimedia data and used to store
754+RealAudio and RealVideo encoded streams. Valid RealMedia File Format
755+extensions include: .rm, .rmj, .rmc, .rmvb, .rms.
756+
757+31. "*RCSL Webpage*" means the RealNetworks Community Source License
758+webpage located at https://www.helixcommunity.org/content/rcsl or such
759+other URL that Original Contributor may designate from time to time.
760+
761+32. "*Reformatted Specifications*" means any revision to the
762+Specifications which translates or reformats the Specifications (as for
763+example in connection with Your documentation) but which does not alter,
764+subset or superset * *the functional or operational aspects of the
765+Specifications.
766+
767+33. "*Research Use*" means use and distribution of Covered Code only for
768+Your Personal Use, research or development use and expressly excludes
769+Internal Deployment Use and Commercial Use. Research Use also includes
770+use of Covered Code to teach individuals how to use Covered Code.
771+
772+34. "*Shared Modifications*" means Modifications that You distribute or
773+use for a Commercial Use, in addition to any Modifications provided by
774+You, at Your option, pursuant to Section 2.2, or received by You from a
775+Contributor pursuant to Section 2.3.
776+
777+35. "*Source Code*" means the preferred form of the Covered Code for
778+making modifications to it, including all modules it contains, plus any
779+associated interface definition files, scripts used to control
780+compilation and installation of an Executable, or source code
781+differential comparisons against either the Original Code or another
782+well known, available Covered Code of the Contributor's choice. The
783+Source Code can be in a compressed or archival form, provided the
784+appropriate decompression or de-archiving software is widely available
785+for no charge.
786+
787+36. "*Specifications*" means the specifications for the Technology and
788+other documentation, as designated on the Community Web Server, as may
789+be revised by Original Contributor from time to time.
790+
791+37. "*Trademarks*" means Original Contributor's trademarks and logos,
792+including, but not limited to, RealNetworks, RealAudio, RealVideo,
793+RealOne, RealSystem, SureStream, Helix, Helix DNA and other trademarks
794+whether now used or adopted in the future.
795+
796+38. "*Technology*" means the technology described in Attachment B, and
797+Upgrades.
798+
799+39. "*Technology Compatibility Kit"* or *"TCK*" means the test programs,
800+procedures, acceptance criteria and/or other requirements, designated by
801+Original Contributor for use in verifying compliance of Covered Code
802+with the Specifications, in conjunction with the Original Code and
803+Upgraded Code. Original Contributor may, in its sole discretion and from
804+time to time, revise a TCK to correct errors and/or omissions and in
805+connection with Upgrades.
806+
807+40. "*Upgrade(s)"* means new versions of Technology designated
808+exclusively by Original Contributor as an "Upgrade" and released by
809+Original Contributor from time to time under the terms of the License.
810+
811+41. "*Upgraded Code*" means the Source Code and/or Executables for
812+Upgrades, possibly including Modifications made by Contributors.
813+
814+42. *"User's Guide"* means the users guide for the TCK which Original
815+Contributor makes available to You to provide direction in how to run
816+the TCK and properly interpret the results, as may be revised by
817+Original Contributor from time to time.
818+
819+43. "*You(r)*" means an individual, or a legal entity acting by and
820+through an individual or individuals, exercising rights either under
821+this License or under a future version of this License issued pursuant
822+to Section 4.1. For legal entities, "You(r)" includes any entity that by
823+majority voting interest controls, is controlled by, or is under common
824+control with You.
825+
826+44. "*Your Products*" means any (i) hardware products You distribute
827+integrating the Covered Code; (ii) any software products You distribute
828+with the Covered Code that utilize the APIs of the Covered Code; or
829+(iii) any services You provide using the Covered Code.
830+
831+
832+ ATTACHMENT A
833+
834+REQUIRED NOTICES
835+
836+
837+ ATTACHMENT A-1
838+
839+REQUIRED IN ALL CASES
840+
841+Notice to be included in header file of all Error Corrections and Shared
842+Modifications:
843+
844+Portions Copyright 1994-2003 © RealNetworks, Inc. All rights reserved.
845+
846+The contents of this file, and the files included with this file, are
847+subject to the current version of RealNetworks Community Source License
848+Version 1.1 (the "License"). You may not use this file except in
849+compliance with the License executed by both You and RealNetworks. You
850+may obtain a copy of the License at *
851+https://www.helixcommunity.org/content/rcsl.* You may also obtain a copy
852+of the License by contacting RealNetworks directly. Please see the
853+License for the rights, obligations and limitations governing use of the
854+contents of the file.
855+
856+This file is part of the Helix DNA technology. RealNetworks, Inc., is
857+the developer of the Original code and owns the copyrights in the
858+portions it created.
859+
860+This file, and the files included with this file, are distributed on an
861+'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
862+AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
863+LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
864+PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
865+
866+Contributor(s):
867+
868+_______________________________________________
869+
870+Technology Compatibility Kit Test Suite(s) Location:
871+
872+________________________________
873+
874+
875+ ATTACHMENT A-2
876+
877+SAMPLE LICENSEE CERTIFICATION
878+
879+"By clicking the `Agree' button below, You certify that You are a
880+Licensee in good standing under the RealNetworks Community Source
881+License, ("License") and that Your access, use and distribution of code
882+and information You may obtain at this site is subject to the License.
883+If You are not a Licensee under the RealNetworks Community Source
884+License You agree not to download, copy or use the Helix DNA technology.
885+
886+
887+ ATTACHMENT A-3
888+
889+REQUIRED STUDENT NOTIFICATION
890+
891+"This software and related documentation has been obtained by Your
892+educational institution subject to the RealNetworks Community Source
893+License. You have been provided access to the software and related
894+documentation for use only in connection with your course work and
895+research activities as a matriculated student of Your educational
896+institution. Any other use is expressly prohibited.
897+
898+THIS SOFTWARE AND RELATED DOCUMENTATION CONTAINS PROPRIETARY MATERIAL OF
899+REALNETWORKS, INC, WHICH ARE PROTECTED BY VARIOUS INTELLECTUAL PROPERTY
900+RIGHTS.
901+
902+You may not use this file except in compliance with the License. You may
903+obtain a copy of the License on the web at
904+https://www.helixcommunity.org/content/rcsl.
905+
906+*
907+*
908+
909+
910+ ATTACHMENT B
911+
912+Description of Technology
913+
914+Helix DNA, which consists of Helix DNA Client, Helix DNA Server and
915+Helix DNA Producer.
916+
917+Description of "Technology"
918+
919+Helix DNA Technology v1.0 as described on the Community Web Server.
920+
921+
922+ ATTACHMENT C
923+
924+TECHNOLOGY COMPATIBILITY KIT LICENSE
925+
926+The following license is effective for the *Helix DNA* Technology
927+Compatibility Kit - as described on the Community Web Server. The
928+Technology Compatibility Kit(s) for the Technology specified in
929+Attachment B may be accessed at the Community Web Server.
930+
931+1. TCK License.
932+
933+1.1 Grants to use TCK
934+
935+Subject to the terms and restrictions set forth below and the
936+RealNetworks Community Source License, and the Research Use license,
937+Original Contributor grants to You a worldwide, non-exclusive,
938+non-transferable license, to the extent of Original Contributor's
939+Intellectual Property Rights in the TCK (without the right to
940+sublicense), to use the TCK to develop and test Covered Code.
941+
942+1.2 TCK Use Restrictions.
943+
944+You are not authorized to create derivative works of the TCK or use the
945+TCK to test any implementation of the Specification that is not Covered
946+Code. You may not publish Your test results or make claims of
947+comparative compatibility with respect to other implementations of the
948+Specification. In consideration for the license grant in Section 1.1
949+above You agree not to develop Your own tests that are intended to
950+validate conformation with the Specification.
951+
952+2. Test Results.
953+
954+You agree to provide to Original Contributor or the third party test
955+facility if applicable, Your test results that demonstrate that Covered
956+Code is Compliant Covered Code and that Original Contributor may publish
957+or otherwise distribute such test results.
958+
959+PLEASE READ THE TERMS OF THIS LICENSE CAREFULLY. BY CLICKING ON THE
960+"ACCEPT" BUTTON BELOW YOU ARE ACCEPTING AND AGREEING TO THE TERMS AND
961+CONDITIONS OF THIS LICENSE WITH THE ORIGINAL CONTRIBUTOR, REALNETWORKS,
962+INC. IF YOU ARE AGREEING TO THIS LICENSE ON BEHALF OF A COMPANY, YOU
963+REPRESENT THAT YOU ARE AUTHORIZED TO BIND THE COMPANY TO SUCH A LICENSE.
964+WHETHER YOU ARE ACTING ON YOUR OWN BEHALF, OR REPRESENTING A COMPANY,
965+YOU MUST BE OF MAJORITY AGE AND BE OTHERWISE COMPETENT TO ENTER INTO
966+CONTRACTS. IF YOU DO NOT MEET THIS CRITERIA OR YOU DO NOT AGREE TO ANY
967+OF THE TERMS AND CONDITIONS OF THIS LICENSE, CLICK ON THE REJECT BUTTON
968+TO EXIT.
969+
970+*ACCEPT / REJECT
971+*
972+
973+*
974+*
975+
976+*To agree to the R&D/academic terms of this license, please register
977+<https://www.helixcommunity.org/2002/intro/why-register> on the site --
978+you will then be given a chance to agree to the clickwrap RCSL
979+<https://reguseronly.helixcommunity.org/2002/clickwrap/rcsl-clickwrap>
980+R&D License
981+<https://reguseronly.helixcommunity.org/2002/clickwrap/rcsl-clickwrap>
982+and gain access to the RCSL-licensed source code. To build or deploy
983+commercial applications based on the RCSL, you will need to agree to the
984+Commercial Use license attachments
985+<https://www.helixcommunity.org/content/rcsl-attachments>*
986+
987+
988+
989Index: helix-libs/clientapps/clutter/RPSL.txt
990===================================================================
991--- /dev/null 1970-01-01 00:00:00.000000000 +0000
992+++ helix-libs/clientapps/clutter/RPSL.txt 2008-10-13 06:05:49.000000000 -0700
993@@ -0,0 +1,518 @@
994+RealNetworks Public Source License Version 1.0
995+(Rev. Date October 28, 2002)
996+
997+1. General Definitions. This License applies to any program or other work which
998+RealNetworks, Inc., or any other entity that elects to use this license,
999+("Licensor") makes publicly available and which contains a notice placed by
1000+Licensor identifying such program or work as "Original Code" and stating that it
1001+is subject to the terms of this RealNetworks Public Source License version 1.0
1002+(or subsequent version thereof) ("License"). You are not required to accept this
1003+License. However, nothing else grants You permission to use, copy, modify or
1004+distribute the software or its derivative works. These actions are prohibited by
1005+law if You do not accept this License. Therefore, by modifying, copying or
1006+distributing the software (or any work based on the software), You indicate your
1007+acceptance of this License to do so, and all its terms and conditions. In
1008+addition, you agree to the terms of this License by clicking the Accept button
1009+or downloading the software. As used in this License:
1010+
1011+1.1 "Applicable Patent Rights" mean: (a) in the case where Licensor is the
1012+grantor of rights, claims of patents that (i) are now or hereafter acquired,
1013+owned by or assigned to Licensor and (ii) are necessarily infringed by using or
1014+making the Original Code alone and not in combination with other software or
1015+hardware; and (b) in the case where You are the grantor of rights, claims of
1016+patents that (i) are now or hereafter acquired, owned by or assigned to You and
1017+(ii) are infringed (directly or indirectly) by using or making Your
1018+Modifications, taken alone or in combination with Original Code.
1019+
1020+1.2 "Compatible Source License" means any one of the licenses listed on Exhibit
1021+B or at https://www.helixcommunity.org/content/complicense or other licenses
1022+specifically identified by Licensor in writing. Notwithstanding any term to the
1023+contrary in any Compatible Source License, any code covered by any Compatible
1024+Source License that is used with Covered Code must be made readily available in
1025+Source Code format for royalty-free use under the terms of the Compatible Source
1026+License or this License.
1027+
1028+1.3 "Contributor" means any person or entity that creates or contributes to the
1029+creation of Modifications.
1030+
1031+1.4 "Covered Code" means the Original Code, Modifications, the combination of
1032+Original Code and any Modifications, and/or any respective portions thereof.
1033+
1034+1.5 "Deploy" means to use, sublicense or distribute Covered Code other than for
1035+Your internal research and development (R&D) and/or Personal Use, and includes
1036+without limitation, any and all internal use or distribution of Covered Code
1037+within Your business or organization except for R&D use and/or Personal Use, as
1038+well as direct or indirect sublicensing or distribution of Covered Code by You
1039+to any third party in any form or manner.
1040+
1041+1.6 "Derivative Work" means either the Covered Code or any derivative work under
1042+United States copyright law, and including any work containing or including any
1043+portion of the Covered Code or Modifications, either verbatim or with
1044+modifications and/or translated into another language. Derivative Work also
1045+includes any work which combines any portion of Covered Code or Modifications
1046+with code not otherwise governed by the terms of this License.
1047+
1048+1.7 "Externally Deploy" means to Deploy the Covered Code in any way that may be
1049+accessed or used by anyone other than You, used to provide any services to
1050+anyone other than You, or used in any way to deliver any content to anyone other
1051+than You, whether the Covered Code is distributed to those parties, made
1052+available as an application intended for use over a computer network, or used to
1053+provide services or otherwise deliver content to anyone other than You.
1054+
1055+1.8. "Interface" means interfaces, functions, properties, class definitions,
1056+APIs, header files, GUIDs, V-Tables, and/or protocols allowing one piece of
1057+software, firmware or hardware to communicate or interoperate with another piece
1058+of software, firmware or hardware.
1059+
1060+1.9 "Modifications" mean any addition to, deletion from, and/or change to, the
1061+substance and/or structure of the Original Code, any previous Modifications, the
1062+combination of Original Code and any previous Modifications, and/or any
1063+respective portions thereof. When code is released as a series of files, a
1064+Modification is: (a) any addition to or deletion from the contents of a file
1065+containing Covered Code; and/or (b) any new file or other representation of
1066+computer program statements that contains any part of Covered Code.
1067+
1068+1.10 "Original Code" means (a) the Source Code of a program or other work as
1069+originally made available by Licensor under this License, including the Source
1070+Code of any updates or upgrades to such programs or works made available by
1071+Licensor under this License, and that has been expressly identified by Licensor
1072+as such in the header file(s) of such work; and (b) the object code compiled
1073+from such Source Code and originally made available by Licensor under this
1074+License.
1075+
1076+1.11 "Personal Use" means use of Covered Code by an individual solely for his or
1077+her personal, private and non-commercial purposes. An individual's use of
1078+Covered Code in his or her capacity as an officer, employee, member, independent
1079+contractor or agent of a corporation, business or organization (commercial or
1080+non-commercial) does not qualify as Personal Use.
1081+
1082+1.12 "Source Code" means the human readable form of a program or other work that
1083+is suitable for making modifications to it, including all modules it contains,
1084+plus any associated interface definition files, scripts used to control
1085+compilation and installation of an executable (object code).
1086+
1087+1.13 "You" or "Your" means an individual or a legal entity exercising rights
1088+under this License. For legal entities, "You" or "Your" includes any entity
1089+which controls, is controlled by, or is under common control with, You, where
1090+"control" means (a) the power, direct or indirect, to cause the direction or
1091+management of such entity, whether by contract or otherwise, or (b) ownership of
1092+fifty percent (50%) or more of the outstanding shares or beneficial ownership of
1093+such entity.
1094+
1095+2. Permitted Uses; Conditions & Restrictions. Subject to the terms and
1096+conditions of this License, Licensor hereby grants You, effective on the date
1097+You accept this License (via downloading or using Covered Code or otherwise
1098+indicating your acceptance of this License), a worldwide, royalty-free,
1099+non-exclusive copyright license, to the extent of Licensor's copyrights cover
1100+the Original Code, to do the following:
1101+
1102+2.1 You may reproduce, display, perform, modify and Deploy Covered Code,
1103+provided that in each instance:
1104+
1105+(a) You must retain and reproduce in all copies of Original Code the copyright
1106+and other proprietary notices and disclaimers of Licensor as they appear in the
1107+Original Code, and keep intact all notices in the Original Code that refer to
1108+this License;
1109+
1110+(b) You must include a copy of this License with every copy of Source Code of
1111+Covered Code and documentation You distribute, and You may not offer or impose
1112+any terms on such Source Code that alter or restrict this License or the
1113+recipients' rights hereunder, except as permitted under Section 6;
1114+
1115+(c) You must duplicate, to the extent it does not already exist, the notice in
1116+Exhibit A in each file of the Source Code of all Your Modifications, and cause
1117+the modified files to carry prominent notices stating that You changed the files
1118+and the date of any change;
1119+
1120+(d) You must make Source Code of all Your Externally Deployed Modifications
1121+publicly available under the terms of this License, including the license grants
1122+set forth in Section 3 below, for as long as you Deploy the Covered Code or
1123+twelve (12) months from the date of initial Deployment, whichever is longer. You
1124+should preferably distribute the Source Code of Your Deployed Modifications
1125+electronically (e.g. download from a web site); and
1126+
1127+(e) if You Deploy Covered Code in object code, executable form only, You must
1128+include a prominent notice, in the code itself as well as in related
1129+documentation, stating that Source Code of the Covered Code is available under
1130+the terms of this License with information on how and where to obtain such
1131+Source Code. You must also include the Object Code Notice set forth in Exhibit A
1132+in the "about" box or other appropriate place where other copyright notices are
1133+placed, including any packaging materials.
1134+
1135+2.2 You expressly acknowledge and agree that although Licensor and each
1136+Contributor grants the licenses to their respective portions of the Covered Code
1137+set forth herein, no assurances are provided by Licensor or any Contributor that
1138+the Covered Code does not infringe the patent or other intellectual property
1139+rights of any other entity. Licensor and each Contributor disclaim any liability
1140+to You for claims brought by any other entity based on infringement of
1141+intellectual property rights or otherwise. As a condition to exercising the
1142+rights and licenses granted hereunder, You hereby assume sole responsibility to
1143+secure any other intellectual property rights needed, if any. For example, if a
1144+third party patent license is required to allow You to make, use, sell, import
1145+or offer for sale the Covered Code, it is Your responsibility to acquire such
1146+license(s).
1147+
1148+2.3 Subject to the terms and conditions of this License, Licensor hereby grants
1149+You, effective on the date You accept this License (via downloading or using
1150+Covered Code or otherwise indicating your acceptance of this License), a
1151+worldwide, royalty-free, perpetual, non-exclusive patent license under
1152+Licensor's Applicable Patent Rights to make, use, sell, offer for sale and
1153+import the Covered Code, provided that in each instance you comply with the
1154+terms of this License.
1155+
1156+3. Your Grants. In consideration of, and as a condition to, the licenses granted
1157+to You under this License:
1158+
1159+(a) You grant to Licensor and all third parties a non-exclusive, perpetual,
1160+irrevocable, royalty free license under Your Applicable Patent Rights and other
1161+intellectual property rights owned or controlled by You, to make, sell, offer
1162+for sale, use, import, reproduce, display, perform, modify, distribute and
1163+Deploy Your Modifications of the same scope and extent as Licensor's licenses
1164+under Sections 2.1 and 2.2; and
1165+
1166+(b) You grant to Licensor and its subsidiaries a non-exclusive, worldwide,
1167+royalty-free, perpetual and irrevocable license, under Your Applicable Patent
1168+Rights and other intellectual property rights owned or controlled by You, to
1169+make, use, sell, offer for sale, import, reproduce, display, perform,
1170+distribute, modify or have modified (for Licensor and/or its subsidiaries),
1171+sublicense and distribute Your Modifications, in any form and for any purpose,
1172+through multiple tiers of distribution.
1173+
1174+(c) You agree not use any information derived from Your use and review of the
1175+Covered Code, including but not limited to any algorithms or inventions that may
1176+be contained in the Covered Code, for the purpose of asserting any of Your
1177+patent rights, or assisting a third party to assert any of its patent rights,
1178+against Licensor or any Contributor.
1179+
1180+4. Derivative Works. You may create a Derivative Work by combining Covered Code
1181+with other code not otherwise governed by the terms of this License and
1182+distribute the Derivative Work as an integrated product. In each such instance,
1183+You must make sure the requirements of this License are fulfilled for the
1184+Covered Code or any portion thereof, including all Modifications.
1185+
1186+4.1 You must cause any Derivative Work that you distribute, publish or
1187+Externally Deploy, that in whole or in part contains or is derived from the
1188+Covered Code or any part thereof, to be licensed as a whole at no charge to all
1189+third parties under the terms of this License and no other license except as
1190+provided in Section 4.2. You also must make Source Code available for the
1191+Derivative Work under the same terms as Modifications, described in Sections 2
1192+and 3, above.
1193+
1194+4.2 Compatible Source Licenses. Software modules that have been independently
1195+developed without any use of Covered Code and which contain no portion of the
1196+Covered Code, Modifications or other Derivative Works, but are used or combined
1197+in any way wtih the Covered Code or any Derivative Work to form a larger
1198+Derivative Work, are exempt from the conditions described in Section 4.1 but
1199+only to the extent that: the software module, including any software that is
1200+linked to, integrated with, or part of the same applications as, the software
1201+module by any method must be wholly subject to one of the Compatible Source
1202+Licenses. Notwithstanding the foregoing, all Covered Code must be subject to the
1203+terms of this License. Thus, the entire Derivative Work must be licensed under a
1204+combination of the RPSL (for Covered Code) and a Compatible Source License for
1205+any independently developed software modules within the Derivative Work. The
1206+foregoing requirement applies even if the Compatible Source License would
1207+ordinarily allow the software module to link with, or form larger works with,
1208+other software that is not subject to the Compatible Source License. For
1209+example, although the Mozilla Public License v1.1 allows Mozilla code to be
1210+combined with proprietary software that is not subject to the MPL, if
1211+MPL-licensed code is used with Covered Code the MPL-licensed code could not be
1212+combined or linked with any code not governed by the MPL. The general intent of
1213+this section 4.2 is to enable use of Covered Code with applications that are
1214+wholly subject to an acceptable open source license. You are responsible for
1215+determining whether your use of software with Covered Code is allowed under Your
1216+license to such software.
1217+
1218+4.3 Mere aggregation of another work not based on the Covered Code with the
1219+Covered Code (or with a work based on the Covered Code) on a volume of a storage
1220+or distribution medium does not bring the other work under the scope of this
1221+License. If You deliver the Covered Code for combination and/or integration with
1222+an application previously provided by You (for example, via automatic updating
1223+technology), such combination and/or integration constitutes a Derivative Work
1224+subject to the terms of this License.
1225+
1226+5. Exclusions From License Grant. Nothing in this License shall be deemed to
1227+grant any rights to trademarks, copyrights, patents, trade secrets or any other
1228+intellectual property of Licensor or any Contributor except as expressly stated
1229+herein. No right is granted to the trademarks of Licensor or any Contributor
1230+even if such marks are included in the Covered Code. Nothing in this License
1231+shall be interpreted to prohibit Licensor from licensing under different terms
1232+from this License any code that Licensor otherwise would have a right to
1233+license. Modifications, Derivative Works and/or any use or combination of
1234+Covered Code with other technology provided by Licensor or third parties may
1235+require additional patent licenses from Licensor which Licensor may grant in its
1236+sole discretion. No patent license is granted separate from the Original Code or
1237+combinations of the Original Code with other software or hardware.
1238+
1239+5.1. Trademarks. This License does not grant any rights to use the trademarks or
1240+trade names owned by Licensor ("Licensor Marks" defined in Exhibit C) or to any
1241+trademark or trade name belonging to any Contributor. No Licensor Marks may be
1242+used to endorse or promote products derived from the Original Code other than as
1243+permitted by the Licensor Trademark Policy defined in Exhibit C.
1244+
1245+6. Additional Terms. You may choose to offer, and to charge a fee for, warranty,
1246+support, indemnity or liability obligations and/or other rights consistent with
1247+the scope of the license granted herein ("Additional Terms") to one or more
1248+recipients of Covered Code. However, You may do so only on Your own behalf and
1249+as Your sole responsibility, and not on behalf of Licensor or any Contributor.
1250+You must obtain the recipient's agreement that any such Additional Terms are
1251+offered by You alone, and You hereby agree to indemnify, defend and hold
1252+Licensor and every Contributor harmless for any liability incurred by or claims
1253+asserted against Licensor or such Contributor by reason of any such Additional
1254+Terms.
1255+
1256+7. Versions of the License. Licensor may publish revised and/or new versions of
1257+this License from time to time. Each version will be given a distinguishing
1258+version number. Once Original Code has been published under a particular version
1259+of this License, You may continue to use it under the terms of that version. You
1260+may also choose to use such Original Code under the terms of any subsequent
1261+version of this License published by Licensor. No one other than Licensor has
1262+the right to modify the terms applicable to Covered Code created under this
1263+License.
1264+
1265+8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in part
1266+pre-release, untested, or not fully tested works. The Covered Code may contain
1267+errors that could cause failures or loss of data, and may be incomplete or
1268+contain inaccuracies. You expressly acknowledge and agree that use of the
1269+Covered Code, or any portion thereof, is at Your sole and entire risk. THE
1270+COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF
1271+ANY KIND AND LICENSOR AND LICENSOR'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS
1272+"LICENSOR" FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY
1273+DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT
1274+NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF
1275+SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET
1276+ENJOYMENT, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. LICENSOR AND EACH
1277+CONTRIBUTOR DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE
1278+COVERED CODE, THAT THE FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR
1279+REQUIREMENTS, THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR
1280+ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO ORAL OR
1281+WRITTEN DOCUMENTATION, INFORMATION OR ADVICE GIVEN BY LICENSOR, A LICENSOR
1282+AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY. You
1283+acknowledge that the Covered Code is not intended for use in high risk
1284+activities, including, but not limited to, the design, construction, operation
1285+or maintenance of nuclear facilities, aircraft navigation, aircraft
1286+communication systems, or air traffic control machines in which case the failure
1287+of the Covered Code could lead to death, personal injury, or severe physical or
1288+environmental damage. Licensor disclaims any express or implied warranty of
1289+fitness for such uses.
1290+
1291+9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT
1292+SHALL LICENSOR OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, SPECIAL,
1293+INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR
1294+YOUR USE OR INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER
1295+UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE OR STRICT
1296+LIABILITY), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF LICENSOR OR SUCH
1297+CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND
1298+NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. SOME
1299+JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF INCIDENTAL OR
1300+CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event
1301+shall Licensor's total liability to You for all damages (other than as may be
1302+required by applicable law) under this License exceed the amount of ten dollars
1303+($10.00).
1304+
1305+10. Ownership. Subject to the licenses granted under this License, each
1306+Contributor retains all rights, title and interest in and to any Modifications
1307+made by such Contributor. Licensor retains all rights, title and interest in and
1308+to the Original Code and any Modifications made by or on behalf of Licensor
1309+("Licensor Modifications"), and such Licensor Modifications will not be
1310+automatically subject to this License. Licensor may, at its sole discretion,
1311+choose to license such Licensor Modifications under this License, or on
1312+different terms from those contained in this License or may choose not to
1313+license them at all.
1314+
1315+11. Termination.
1316+
1317+11.1 Term and Termination. The term of this License is perpetual unless
1318+terminated as provided below. This License and the rights granted hereunder will
1319+terminate:
1320+
1321+(a) automatically without notice from Licensor if You fail to comply with any
1322+term(s) of this License and fail to cure such breach within 30 days of becoming
1323+aware of such breach;
1324+
1325+(b) immediately in the event of the circumstances described in Section 12.5(b);
1326+or
1327+
1328+(c) automatically without notice from Licensor if You, at any time during the
1329+term of this License, commence an action for patent infringement against
1330+Licensor (including by cross-claim or counter claim in a lawsuit);
1331+
1332+(d) upon written notice from Licensor if You, at any time during the term of
1333+this License, commence an action for patent infringement against any third party
1334+alleging that the Covered Code itself (excluding combinations with other
1335+software or hardware) infringes any patent (including by cross-claim or counter
1336+claim in a lawsuit).
1337+
1338+11.2 Effect of Termination. Upon termination, You agree to immediately stop any
1339+further use, reproduction, modification, sublicensing and distribution of the
1340+Covered Code and to destroy all copies of the Covered Code that are in your
1341+possession or control. All sublicenses to the Covered Code which have been
1342+properly granted prior to termination shall survive any termination of this
1343+License. Provisions which, by their nature, should remain in effect beyond the
1344+termination of this License shall survive, including but not limited to Sections
1345+3, 5, 8, 9, 10, 11, 12.2 and 13. No party will be liable to any other for
1346+compensation, indemnity or damages of any sort solely as a result of terminating
1347+this License in accordance with its terms, and termination of this License will
1348+be without prejudice to any other right or remedy of any party.
1349+
1350+12. Miscellaneous.
1351+
1352+12.1 Government End Users. The Covered Code is a "commercial item" as defined in
1353+FAR 2.101. Government software and technical data rights in the Covered Code
1354+include only those rights customarily provided to the public as defined in this
1355+License. This customary commercial license in technical data and software is
1356+provided in accordance with FAR 12.211 (Technical Data) and 12.212 (Computer
1357+Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical
1358+Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software
1359+or Computer Software Documentation). Accordingly, all U.S. Government End Users
1360+acquire Covered Code with only those rights set forth herein.
1361+
1362+12.2 Relationship of Parties. This License will not be construed as creating an
1363+agency, partnership, joint venture or any other form of legal association
1364+between or among You, Licensor or any Contributor, and You will not represent to
1365+the contrary, whether expressly, by implication, appearance or otherwise.
1366+
1367+12.3 Independent Development. Nothing in this License will impair Licensor's
1368+right to acquire, license, develop, have others develop for it, market and/or
1369+distribute technology or products that perform the same or similar functions as,
1370+or otherwise compete with, Modifications, Derivative Works, technology or
1371+products that You may develop, produce, market or distribute.
1372+
1373+12.4 Waiver; Construction. Failure by Licensor or any Contributor to enforce any
1374+provision of this License will not be deemed a waiver of future enforcement of
1375+that or any other provision. Any law or regulation which provides that the
1376+language of a contract shall be construed against the drafter will not apply to
1377+this License.
1378+
1379+12.5 Severability. (a) If for any reason a court of competent jurisdiction finds
1380+any provision of this License, or portion thereof, to be unenforceable, that
1381+provision of the License will be enforced to the maximum extent permissible so
1382+as to effect the economic benefits and intent of the parties, and the remainder
1383+of this License will continue in full force and effect. (b) Notwithstanding the
1384+foregoing, if applicable law prohibits or restricts You from fully and/or
1385+specifically complying with Sections 2 and/or 3 or prevents the enforceability
1386+of either of those Sections, this License will immediately terminate and You
1387+must immediately discontinue any use of the Covered Code and destroy all copies
1388+of it that are in your possession or control.
1389+
1390+12.6 Dispute Resolution. Any litigation or other dispute resolution between You
1391+and Licensor relating to this License shall take place in the Seattle,
1392+Washington, and You and Licensor hereby consent to the personal jurisdiction of,
1393+and venue in, the state and federal courts within that District with respect to
1394+this License. The application of the United Nations Convention on Contracts for
1395+the International Sale of Goods is expressly excluded.
1396+
1397+12.7 Export/Import Laws. This software is subject to all export and import laws
1398+and restrictions and regulations of the country in which you receive the Covered
1399+Code and You are solely responsible for ensuring that You do not export,
1400+re-export or import the Covered Code or any direct product thereof in violation
1401+of any such restrictions, laws or regulations, or without all necessary
1402+authorizations.
1403+
1404+12.8 Entire Agreement; Governing Law. This License constitutes the entire
1405+agreement between the parties with respect to the subject matter hereof. This
1406+License shall be governed by the laws of the United States and the State of
1407+Washington.
1408+
1409+Where You are located in the province of Quebec, Canada, the following clause
1410+applies: The parties hereby confirm that they have requested that this License
1411+and all related documents be drafted in English. Les parties ont exig&eacute;
1412+que le pr&eacute;sent contrat et tous les documents connexes soient
1413+r&eacute;dig&eacute;s en anglais.
1414+
1415+ EXHIBIT A.
1416+
1417+"Copyright &copy; 1995-2002
1418+RealNetworks, Inc. and/or its licensors. All Rights Reserved.
1419+
1420+The contents of this file, and the files included with this file, are subject to
1421+the current version of the RealNetworks Public Source License Version 1.0 (the
1422+"RPSL") available at https://www.helixcommunity.org/content/rpsl unless you have
1423+licensed the file under the RealNetworks Community Source License Version 1.0
1424+(the "RCSL") available at https://www.helixcommunity.org/content/rcsl, in which
1425+case the RCSL will apply. You may also obtain the license terms directly from
1426+RealNetworks. You may not use this file except in compliance with the RPSL or,
1427+if you have a valid RCSL with RealNetworks applicable to this file, the RCSL.
1428+Please see the applicable RPSL or RCSL for the rights, obligations and
1429+limitations governing use of the contents of the file.
1430+
1431+This file is part of the Helix DNA Technology. RealNetworks is the developer of
1432+the Original code and owns the copyrights in the portions it created.
1433+
1434+This file, and the files included with this file, is distributed and made
1435+available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
1436+IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING
1437+WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
1438+PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
1439+
1440+Contributor(s): ____________________________________
1441+
1442+Technology Compatibility Kit Test
1443+Suite(s) Location (if licensed under the RCSL): ______________________________
1444+
1445+Object Code Notice: Helix DNA Client technology included. Copyright (c)
1446+RealNetworks, Inc., 1995-2002. All rights reserved.
1447+
1448+
1449+ EXHIBIT B
1450+
1451+Compatible Source Licenses for the RealNetworks Public Source License. The
1452+following list applies to the most recent version of the license as of October
1453+25, 2002, unless otherwise indicated.
1454+
1455+* Academic Free License
1456+* Apache Software License
1457+* Apple Public Source License
1458+* Artistic license
1459+* Attribution Assurance Licenses
1460+* BSD license
1461+* Common Public License (1)
1462+* Eiffel Forum License
1463+* GNU General Public License (GPL) (1)
1464+* GNU Library or "Lesser" General Public License (LGPL) (1)
1465+* IBM Public License
1466+* Intel Open Source License
1467+* Jabber Open Source License
1468+* MIT license
1469+* MITRE Collaborative Virtual Workspace License (CVW License)
1470+* Motosoto License
1471+* Mozilla Public License 1.0 (MPL)
1472+* Mozilla Public License 1.1 (MPL)
1473+* Nokia Open Source License
1474+* Open Group Test Suite License
1475+* Python Software Foundation License
1476+* Ricoh Source Code Public License
1477+* Sun Industry Standards Source License (SISSL)
1478+* Sun Public License
1479+* University of Illinois/NCSA Open Source License
1480+* Vovida Software License v. 1.0
1481+* W3C License
1482+* X.Net License
1483+* Zope Public License
1484+* zlib/libpng license
1485+
1486+(1) Note: because this license contains certain reciprocal licensing terms that
1487+purport to extend to independently developed code, You may be prohibited under
1488+the terms of this otherwise compatible license from using code licensed under
1489+its terms with Covered Code because Covered Code may only be licensed under the
1490+RealNetworks Public Source License. Any attempt to apply non RPSL license terms,
1491+including without limitation the GPL, to Covered Code is expressly forbidden.
1492+You are responsible for ensuring that Your use of Compatible Source Licensed
1493+code does not violate either the RPSL or the Compatible Source License.
1494+
1495+The latest version of this list can be found at:
1496+https://www.helixcommunity.org/content/complicense
1497+
1498+ EXHIBIT C
1499+
1500+RealNetworks' Trademark policy.
1501+
1502+RealNetworks defines the following trademarks collectively as "Licensor
1503+Trademarks": "RealNetworks", "RealPlayer", "RealJukebox", "RealSystem",
1504+"RealAudio", "RealVideo", "RealOne Player", "RealMedia", "Helix" or any other
1505+trademarks or trade names belonging to RealNetworks.
1506+
1507+RealNetworks "Licensor Trademark Policy" forbids any use of Licensor Trademarks
1508+except as permitted by and in strict compliance at all times with RealNetworks'
1509+third party trademark usage guidelines which are posted at
1510+http://www.realnetworks.com/info/helixlogo.html.
1511+
1512Index: helix-libs/clientapps/clutter/Umakefil
1513===================================================================
1514--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1515+++ helix-libs/clientapps/clutter/Umakefil 2008-10-13 06:05:49.000000000 -0700
1516@@ -0,0 +1,325 @@
1517+#
1518+# ***** BEGIN LICENSE BLOCK *****
1519+# Version: RCSL 1.0/RPSL 1.0
1520+#
1521+# Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
1522+#
1523+# The contents of this file, and the files included with this file, are
1524+# subject to the current version of the RealNetworks Public Source License
1525+# Version 1.0 (the "RPSL") available at
1526+# http://www.helixcommunity.org/content/rpsl unless you have licensed
1527+# the file under the RealNetworks Community Source License Version 1.0
1528+# (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
1529+# in which case the RCSL will apply. You may also obtain the license terms
1530+# directly from RealNetworks. You may not use this file except in
1531+# compliance with the RPSL or, if you have a valid RCSL with RealNetworks
1532+# applicable to this file, the RCSL. Please see the applicable RPSL or
1533+# RCSL for the rights, obligations and limitations governing use of the
1534+# contents of the file.
1535+#
1536+# This file is part of the Helix DNA Technology. RealNetworks is the
1537+# developer of the Original Code and owns the copyrights in the portions
1538+# it created.
1539+#
1540+# This file, and the files included with this file, is distributed and made
1541+# available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
1542+# EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
1543+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
1544+# FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
1545+#
1546+# Technology Compatibility Kit Test Suite(s) Location:
1547+# http://www.helixcommunity.org/content/tck
1548+#
1549+# Contributor(s):
1550+#
1551+# ***** END LICENSE BLOCK *****
1552+#
1553+
1554+UmakefileVersion(2,2)
1555+
1556+project.AddModuleIncludes("common/include",
1557+ "common/runtime/pub",
1558+ "client/include",
1559+ "client/common/system/pub",
1560+ "client/common/container/pub",
1561+ "client/audiosvc/pub",
1562+ "common/container/pub",
1563+ "video/sitelib/pub",
1564+ "video/colconverter/pub",
1565+ "video/sitelib/pub/platform/unix",
1566+ "video/sitelib",
1567+ "datatype/rm/include",
1568+ "client/core")
1569+
1570+project.AddSources("player.cpp",
1571+ "excontxt.cpp",
1572+ "exsite.cpp",
1573+ "exroot.cpp",
1574+ "exadvsnk.cpp",
1575+ "exerror.cpp",
1576+ "iids.cpp",
1577+ "exstateadvsnk.cpp",
1578+ "excallback.cpp",
1579+ "print.cpp")
1580+
1581+project.AddModuleLibraries(
1582+ "common/runtime[runtlib]",
1583+ "common/system[syslib]",
1584+ "common/container[contlib]",
1585+ "common/runtime[runtlib]",
1586+ "client/common/system[sysclntlib]",
1587+ "common/dbgtool[debuglib]",
1588+ "common/util[utillib]",
1589+ "video/sitelib[sitelib]",
1590+ "video/sitelib[sitecreatelib]",
1591+ "common/log/logutil[logutillib]",
1592+ "video/vidutil[vidutillib]"
1593+ )
1594+project.AddSystemLibraries('Xv', 'Xext')
1595+
1596+if project.IsDefined("HELIX_FEATURE_PREFERENCES"):
1597+ project.AddSources("preflist.cpp")
1598+
1599+if project.IsDefined("HELIX_FEATURE_AUTHENTICATION"):
1600+ project.AddSources("exaumgr.cpp")
1601+
1602+if project.IsDefined("HELIX_FEATURE_VIDEO"):
1603+ project.AddSources("exsitsup.cpp",
1604+ "fivemmap.cpp")
1605+ project.AddModuleIncludes('video/include')
1606+ if project.IsDefined("HELIX_FEATURE_PNG"):
1607+ project.AddModuleIncludes('datatype/image/png/common/pub')
1608+ project.AddModuleLibraries("common/import/zlib[zlib]",
1609+ "datatype/image/png/import/libpng[libpng]",
1610+ "datatype/image/png/common[pngcomlib]")
1611+
1612+if project.IsDefined("HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS"):
1613+ project.AddSources("exprdnld.cpp")
1614+
1615+if project.BuildOption("nodll"):
1616+ ## Client core
1617+ static_plugin_list = ["clntcore"]
1618+ project.AddModuleLibraries("common/runtime[runtlib]",
1619+ "common/fileio[fileiolib]",
1620+ "client/common/system[sysclntlib]",
1621+ "client/common/container[contclntlib]",
1622+ "client/core[clntcorelib]")
1623+ if not project.IsDefined("HELIX_FEATURE_LOGLEVEL_NONE"):
1624+ project.AddModuleLibraries("common/log/logutil[logutillib]")
1625+ if not project.IsDefined("HELIX_CONFIG_MINIMIZE_SIZE"):
1626+ project.AddModuleLibraries("client/common/util[utlclntlib]")
1627+ ## Client core libraries
1628+ if project.IsDefined("HELIX_FEATURE_AUDIO"):
1629+ project.AddModuleLibraries("audio/device[auddevlib]",
1630+ "client/audiosvc[audsvclib]")
1631+ if ('HELIX_FEATURE_VOLUME' in project.defines):
1632+ project.AddModuleLibraries("audio/gaintool[audgainlib]" )
1633+ if ('HELIX_FEATURE_VOLUME' in project.defines):
1634+ project.AddModuleLibraries("audio/crossfade[audxfadelib]")
1635+ if project.IsDefined("HELIX_FEATURE_MIXER"):
1636+ project.AddModuleLibraries("audio/mixer[audmixlib]")
1637+ if project.IsDefined("HELIX_FEATURE_RESAMPLER"):
1638+ project.AddModuleLibraries("audio/resampler[audresamplib]")
1639+ if project.IsDefined("HELIX_FEATURE_LIMITER"):
1640+ project.AddModuleLibraries("audio/limiter[audlimiter]")
1641+
1642+ if project.IsDefined("HELIX_FEATURE_VIDEO"):
1643+ project.AddModuleLibraries("client/videosvc[vidsvclib]",
1644+ "protocol/sdp[sdplib]")
1645+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_NET"):
1646+ project.AddModuleLibraries("client/netwksvc[netsvclib]",
1647+ "common/netio[netiolib]",
1648+ "client/common/netio[netioclntlib]",
1649+ "protocol/transport/common/system[systranlib]",
1650+ "protocol/transport/rtp[rtptranlib]",
1651+ "protocol/common/util[protutillib]",
1652+ "protocol/rtsp[rtsplib]")
1653+ if project.IsDefined("HELIX_FEATURE_RDT"):
1654+ project.AddLibraries(GetSDKPath("prtclrdt_lib"))
1655+ project.AddModuleLibraries("protocol/transport/rdt[rdttranlib]")
1656+ if project.IsDefined("HELIX_FEATURE_PNA"):
1657+ project.AddLibraries(GetSDKPath("prtclpna_lib"))
1658+ if project.IsDefined("HELIX_FEATURE_XMLPARSER"):
1659+ project.AddModuleLibraries("common/lang/xml[xmllib]")
1660+ ## Add RAM file format and renderer
1661+ if project.IsDefined("HELIX_FEATURE_META"):
1662+ static_plugin_list[-1:-1] = ["ramfformat", "ramrender"]
1663+ project.AddModuleLibraries("datatype/ram/renderer[ramrendrlib]")
1664+ ## Add local file system
1665+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL"):
1666+ static_plugin_list[-1:-1] = ["smplfsys"]
1667+ project.AddModuleLibraries("common/fileio[fileiolib]")
1668+ ## Add http file system
1669+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_NET"):
1670+ static_plugin_list[-1:-1] = ["hxsdp", "httpfsys"]
1671+ project.AddModuleLibraries("protocol/http[httplib]",
1672+ "protocol/common/util[protutillib]",
1673+ "protocol/sdp[sdplib]",
1674+ "filesystem/data[datafsys]",
1675+ "common/fileio[fileiolib]",
1676+ "common/import/zlib[zlib]")
1677+ ## Add realmedia file format
1678+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL") and \
1679+ (project.IsDefined("HELIX_FEATURE_AUDIO_REAL") or \
1680+ project.IsDefined("HELIX_FEATURE_VIDEO_REAL")):
1681+ static_plugin_list[-1:-1] = ["rmfformat"]
1682+ project.AddModuleLibraries("datatype/common/util[dtutillib]",
1683+ "datatype/common/container[dtcomcontlib]")
1684+ project.AddLibraries(GetSDKPath("rmcom_lib"),
1685+ GetSDKPath("rmacom_lib"),
1686+ GetSDKPath("rmff_lib"),
1687+ GetSDKPath("rmvidpyld_lib"))
1688+
1689+ ## Add realmedia renderer
1690+ if project.IsDefined("HELIX_FEATURE_AUDIO_REAL"):
1691+ static_plugin_list[-1:-1] = ["rarender"]
1692+ project.AddModuleLibraries("datatype/rm/audio/payload[rapayld]")
1693+ project.AddLibraries(GetSDKPath("rmarend_lib"),
1694+ GetSDKPath("rmacom_lib"))
1695+ ## Add mp3 file format and renderer
1696+ if project.IsDefined("HELIX_FEATURE_AUDIO_MPA_LAYER3") or \
1697+ project.IsDefined("HELIX_FEATURE_AUDIO_MPA_LAYER2") or \
1698+ project.IsDefined("HELIX_FEATURE_AUDIO_MPA_LAYER1"):
1699+ static_plugin_list[-1:-1] = ["mp3render"]
1700+ project.AddModuleLibraries("datatype/mp3/codec/fltpt[mp3codecfltpt]",
1701+ "datatype/mp3/common[mp3lib]",
1702+ "datatype/mp3/payload[mp3payld]",
1703+ "datatype/common/util[dtutillib]")
1704+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL"):
1705+ static_plugin_list[-1:-1] = ["mp3fformat"]
1706+ project.AddModuleLibraries("datatype/mp3/common[mp3lib]")
1707+ ## Add gecko realmedia codec
1708+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_GECKO"):
1709+ static_plugin_list[-1:-1] = ["cook"]
1710+ if not project.IsDefined("HELIX_CONFIG_FIXEDPOINT"):
1711+ project.AddLibraries(GetSDKPath("ra8lbrdec_flt_lib"))
1712+ else:
1713+ project.AddLibraries(GetSDKPath("ra8lbrdec_fix_lib"))
1714+ project.AddModuleLibraries("datatype/rm/audio/codec/common[racompat]")
1715+ ## Add RAAC codec
1716+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_RAAC"):
1717+ static_plugin_list[-1:-1] = ["raac"]
1718+ project.AddModuleLibraries("datatype/mp4/common[mp4comlib]",
1719+ "datatype/aac/codec/fixpt/decoder/hxwrap[aacdeclib]")
1720+ ## Add sipro realmedia codec
1721+ ## (Right now this only works for floating-point platforms)
1722+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_SIPRO"):
1723+ static_plugin_list[-1:-1] = ["sipr"]
1724+ project.AddLibraries(GetSDKPath("sipro_flt_backend_lib"))
1725+ ## Add tokyo realmedia codec
1726+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_TOKYO"):
1727+ static_plugin_list[-1:-1] = ["atrc"]
1728+ project.AddLibraries(GetSDKPath("ra8hbr_lib"))
1729+ ##
1730+ if project.IsDefined("HELIX_FEATURE_VIDEO"):
1731+ static_plugin_list[-1:-1] = ["vidsite"]
1732+ static_plugin_list[-1:-1] = ["hxltcolor"]
1733+ project.AddModuleLibraries("datatype/common/vidrend[vidrend]",
1734+ "video/sitelib[sitelib]",
1735+ "video/site[vidsite]",
1736+ "video/colconverter[hxltcolor]",
1737+ "datatype/rm/common[rmcomlib]",
1738+ "video/vidutil[vidutillib]")
1739+
1740+ if (project.IsDefined('HELIX_FEATURE_ALTERNATE_SITE_CREATE_LIB')):
1741+ project.AddLibraries(GetSDKPath("sitecreate_lib"))
1742+ else:
1743+ project.AddModuleLibraries('video/sitelib[sitecreatelib]')
1744+
1745+ ## Add realvideo renderer
1746+ if project.IsDefined("HELIX_FEATURE_VIDEO_REAL"):
1747+ project.AddModuleLibraries("datatype/rm/video/renderer[rvxrendlib]")
1748+ project.AddLibraries(GetSDKPath("rmvidcom_lib"),
1749+ GetSDKPath("rmvidpyld_lib"),
1750+ GetSDKPath("rvcodcom_lib"))
1751+ project.AddModuleLibraries("datatype/common/util[dtutillib]")
1752+ static_plugin_list[-1:-1] = ["rvrender"]
1753+
1754+ ## Add mpeg4 file format
1755+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL")and \
1756+ (project.IsDefined("HELIX_FEATURE_VIDEO_H263") or \
1757+ project.IsDefined("HELIX_FEATURE_VIDEO_MPEG4") or \
1758+ project.IsDefined("HELIX_FEATURE_AUDIO_MPEG4")):
1759+ static_plugin_list[-1:-1] = ["mp4fformat"]
1760+ project.AddModuleLibraries("datatype/common/util[dtutillib]",
1761+ "datatype/common/audrend",
1762+ "datatype/mp4/common[mp4comlib]",
1763+ "datatype/mp4/payload[mp4pyldlib]",
1764+ "datatype/mp4/fileformat[mp4fformatlib]")
1765+ if not project.IsDefined("HELIX_FEATURE_MP4_FILEFORMAT_M4A_ONLY"):
1766+ project.AddModuleLibraries("protocol/sdp[sdplib]",
1767+ "protocol/rtsp[rtsplib]",
1768+ "protocol/common/util[protutillib]",
1769+ "datatype/rm/common[rmcomlib]",
1770+ "datatype/amr/common[amrcomlib]")
1771+ ## Add h.263 renderer
1772+ if project.IsDefined("HELIX_FEATURE_VIDEO_H263"):
1773+ project.AddModuleLibraries("datatype/h263/payload[h263pyldlib]")
1774+ static_plugin_list[-1:-1] = ["h263render"]
1775+ ## Add MPEG4 renderer
1776+# if project.IsDefined("HELIX_FEATURE_VIDEO_MPEG4"):
1777+# static_plugin_list[-1:-1] = ["mp4xrender"]
1778+ ## Add mpeg 4 audio renderer
1779+ if project.IsDefined("HELIX_FEATURE_AUDIO_MPEG4"):
1780+ static_plugin_list[-1:-1] = ["mp4arender"]
1781+ project.AddModuleLibraries("datatype/mp4/audio/renderer[mp4arenderlib]")
1782+ if not project.IsDefined("HELIX_FEATURE_MP4_FILEFORMAT_M4A_ONLY"):
1783+ project.AddModuleLibraries("datatype/amr/common[amrcomlib]")
1784+ ## Add RV10 codec
1785+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV10"):
1786+ project.AddLibraries(GetSDKPath("rv1dec_libs")+"[rv10lib]",
1787+ GetSDKPath("rv1dec_libs")+"[drv1lib]")
1788+ static_plugin_list[-1:-1] = ["rv10", "drv1"]
1789+ ## Add RV20 codec
1790+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV20"):
1791+ project.AddLibraries(GetSDKPath("rvg2dec_libs")+"[rv20lib]",
1792+ GetSDKPath("rvg2dec_libs")+"[drv2lib]")
1793+ static_plugin_list[-1:-1] = ["rv20", "drv2"]
1794+
1795+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV30") or \
1796+ project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV40"):
1797+ static_plugin_list[-1:-1] = ["drvc"]
1798+ if project.IsDefined("HELIX_FEATURE_ANSIC_RV89COMBO"):
1799+ project.AddLibraries(GetSDKPath("rv89combo_c_libs")+"[drvc]")
1800+ else:
1801+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[drvclib]")
1802+
1803+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV30"):
1804+ static_plugin_list[-1:-1] = ["rv30"]
1805+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[rv3xlib]")
1806+ project.AddModuleLibraries("datatype/rm/video/codec/rv89combo[rv30]")
1807+
1808+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV40"):
1809+ static_plugin_list[-1:-1] = ["rv40"]
1810+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[rv4xlib]")
1811+ project.AddModuleLibraries("datatype/rm/video/codec/rv89combo[rv40]")
1812+
1813+# if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_AAC"):
1814+# static_plugin_list[-1:-1] = ["aac4"]
1815+
1816+ CreateStaticPluginTable(static_plugin_list)
1817+
1818+project.ExportFunction("init_main", "void")
1819+project.ExportFunction("deinit_main", "void")
1820+project.ExportFunction("get_player", "void **ppPlayer",
1821+ "on_buffering_cb_t on_buffering_cb",
1822+ "on_pos_length_cb_t on_pos_length_cb")
1823+project.ExportFunction("player_openurl", "void *pPlayerHandle",
1824+ "char *pszRawURL")
1825+project.ExportFunction("put_player", "void *pPlayerHandle")
1826+project.ExportFunction("player_geturl", "void *pPlayerHandle", "char **pszURL")
1827+project.ExportFunction("player_begin", "void *pPlayerHandle")
1828+project.ExportFunction("player_stop", "void *pPlayerHandle")
1829+project.ExportFunction("player_pause", "void *pPlayerHandle")
1830+project.ExportFunction("player_seek", "void *pPlayerHandle", "int pos")
1831+project.ExportFunction("get_curr_playtime", "void *pPlayerHandle")
1832+project.ExportFunction("player_getvolume", "void *pPlayerHandle")
1833+project.ExportFunction("player_canseek", "void *pPlayerHandle")
1834+project.ExportFunction("player_setvolume", "void *pPlayerHandle", "unsigned short volumn")
1835+
1836+
1837+
1838+DLLTarget('libhelix-player')
1839+
1840+DependTarget()
1841+
1842Index: helix-libs/clientapps/clutter/exabd.cpp
1843===================================================================
1844--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1845+++ helix-libs/clientapps/clutter/exabd.cpp 2008-10-13 06:05:49.000000000 -0700
1846@@ -0,0 +1,245 @@
1847+/* ***** BEGIN LICENSE BLOCK *****
1848+ * Version: RCSL 1.0/RPSL 1.0
1849+ *
1850+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
1851+ *
1852+ * The contents of this file, and the files included with this file, are
1853+ * subject to the current version of the RealNetworks Public Source License
1854+ * Version 1.0 (the "RPSL") available at
1855+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
1856+ * the file under the RealNetworks Community Source License Version 1.0
1857+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
1858+ * in which case the RCSL will apply. You may also obtain the license terms
1859+ * directly from RealNetworks. You may not use this file except in
1860+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
1861+ * applicable to this file, the RCSL. Please see the applicable RPSL or
1862+ * RCSL for the rights, obligations and limitations governing use of the
1863+ * contents of the file.
1864+ *
1865+ * This file is part of the Helix DNA Technology. RealNetworks is the
1866+ * developer of the Original Code and owns the copyrights in the portions
1867+ * it created.
1868+ *
1869+ * This file, and the files included with this file, is distributed and made
1870+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
1871+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
1872+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
1873+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
1874+ *
1875+ * Technology Compatibility Kit Test Suite(s) Location:
1876+ * http://www.helixcommunity.org/content/tck
1877+ *
1878+ * Contributor(s):
1879+ *
1880+ * ***** END LICENSE BLOCK ***** */
1881+
1882+#include <stdio.h>
1883+
1884+#include "hxtypes.h"
1885+
1886+#include "hxcom.h"
1887+#include "hxcomm.h"
1888+#include "hxmon.h"
1889+#include "hxcore.h"
1890+#include "hxengin.h"
1891+#include "chxpckts.h"
1892+#include "hxclsnk.h"
1893+#include "hxstrutl.h"
1894+#include "exabd.h"
1895+
1896+#include "print.h"
1897+
1898+#include "globals.h"
1899+
1900+struct _stGlobals*& GetGlobal(); //in main.cpp
1901+
1902+ExampleABD::ExampleABD(IUnknown* pUnknown)
1903+ : m_lRefCount (0)
1904+ , m_pUnknown (NULL)
1905+ , m_ulABDStartTime(0)
1906+ , m_ulABDResult(0)
1907+ , m_bABDDone(FALSE)
1908+{
1909+ if (pUnknown)
1910+ {
1911+ m_pUnknown = pUnknown;
1912+ m_pUnknown->AddRef();
1913+ }
1914+}
1915+
1916+ExampleABD::~ExampleABD(void)
1917+{
1918+ HX_RELEASE(m_pUnknown);
1919+}
1920+
1921+
1922+// *** IUnknown methods ***
1923+
1924+/////////////////////////////////////////////////////////////////////////
1925+// Method:
1926+// IUnknown::QueryInterface
1927+// Purpose:
1928+// Implement this to export the interfaces supported by your
1929+// object.
1930+//
1931+STDMETHODIMP ExampleABD::QueryInterface(REFIID riid, void** ppvObj)
1932+{
1933+ if (IsEqualIID(riid, IID_IUnknown))
1934+ {
1935+ AddRef();
1936+ *ppvObj = (IUnknown*)(IHXAutoBWCalibrationAdviseSink*)this;
1937+ return HXR_OK;
1938+ }
1939+ else if (IsEqualIID(riid, IID_IHXAutoBWCalibrationAdviseSink))
1940+ {
1941+ AddRef();
1942+ *ppvObj = (IHXAutoBWCalibrationAdviseSink*)this;
1943+ return HXR_OK;
1944+ }
1945+
1946+ *ppvObj = NULL;
1947+ return HXR_NOINTERFACE;
1948+}
1949+
1950+/////////////////////////////////////////////////////////////////////////
1951+// Method:
1952+// IUnknown::AddRef
1953+// Purpose:
1954+// Everyone usually implements this the same... feel free to use
1955+// this implementation.
1956+//
1957+STDMETHODIMP_(ULONG32) ExampleABD::AddRef()
1958+{
1959+ return InterlockedIncrement(&m_lRefCount);
1960+}
1961+
1962+/////////////////////////////////////////////////////////////////////////
1963+// Method:
1964+// IUnknown::Release
1965+// Purpose:
1966+// Everyone usually implements this the same... feel free to use
1967+// this implementation.
1968+//
1969+STDMETHODIMP_(ULONG32) ExampleABD::Release()
1970+{
1971+ if (InterlockedDecrement(&m_lRefCount) > 0)
1972+ {
1973+ return m_lRefCount;
1974+ }
1975+
1976+ delete this;
1977+ return 0;
1978+}
1979+
1980+/*
1981+ * IHXAutoBWCalibrationAdviseSink methods
1982+ */
1983+STDMETHODIMP
1984+ExampleABD::AutoBWCalibrationStarted (const char* pszServer)
1985+{
1986+ if (pszServer)
1987+ {
1988+ STDOUT("ABD: contacting %s\n", pszServer);
1989+ }
1990+
1991+ return HXR_OK;
1992+}
1993+
1994+STDMETHODIMP
1995+ExampleABD::AutoBWCalibrationDone(HX_RESULT status,
1996+ UINT32 ulBW)
1997+{
1998+ m_bABDDone = TRUE;
1999+
2000+ if (HXR_OK == status)
2001+ {
2002+ m_ulABDResult = ulBW;
2003+ STDOUT("ABD: %lu(Kbps) %lu(ms)\n", ulBW, GetTickCount() - m_ulABDStartTime);
2004+ }
2005+ else
2006+ {
2007+ STDOUT("ABD failed: %lu\n", status);
2008+ }
2009+
2010+ return HXR_OK;
2011+}
2012+
2013+HX_RESULT
2014+ExampleABD::DoABD(const char* pszServer,
2015+ UINT32 mode,
2016+ UINT32 packetSize,
2017+ UINT32 packetNum)
2018+{
2019+ HX_RESULT rc = HXR_OK;
2020+ UINT32 length = 0;
2021+ IHXAutoBWCalibration* pABD = NULL;
2022+ IHXValues* pValues = NULL;
2023+ IHXBuffer* pBuffer = NULL;
2024+
2025+ m_ulABDStartTime = GetTickCount();
2026+ m_ulABDResult = 0;
2027+ m_bABDDone = FALSE;
2028+
2029+ if (m_pUnknown &&
2030+ HXR_OK == m_pUnknown->QueryInterface(IID_IHXAutoBWCalibration, (void**)&pABD))
2031+ {
2032+ pValues = (IHXValues*) new CHXHeader();
2033+ pValues->AddRef();
2034+
2035+ pBuffer = (IHXBuffer*) new CHXBuffer();
2036+ pBuffer->AddRef();
2037+
2038+ pBuffer->Set((UCHAR*)pszServer, strlen(pszServer)+1);
2039+ pValues->SetPropertyCString("ABDServers", pBuffer);
2040+
2041+ pValues->SetPropertyULONG32("AutoBWDetectionMode", mode);
2042+ pValues->SetPropertyULONG32("AutoBWDetectionPacketSize", packetSize);
2043+ pValues->SetPropertyULONG32("AutoBWDetectionPackets", packetNum);
2044+
2045+ pABD->AddAutoBWCalibrationSink((IHXAutoBWCalibrationAdviseSink*)this);
2046+ pABD->InitAutoBWCalibration(pValues);
2047+
2048+ pABD->StartAutoBWCalibration();
2049+
2050+ while (!m_bABDDone)
2051+ {
2052+ MSG msg;
2053+ DWORD starttime, endtime, i;
2054+ BOOL sleep = TRUE;
2055+ static const int checkinterval = 10;
2056+
2057+ starttime = GetTickCount();
2058+ endtime = starttime + (20);
2059+ i = 0;
2060+ while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
2061+ {
2062+ DispatchMessage(&msg);
2063+ if ((i % checkinterval) == 0)
2064+ {
2065+ if (GetTickCount() > endtime)
2066+ break;
2067+ ++i;
2068+ }
2069+ sleep = FALSE;
2070+ }
2071+
2072+ if (sleep)
2073+ Sleep(10);
2074+ }
2075+ }
2076+
2077+cleanup:
2078+
2079+ if (pABD)
2080+ {
2081+ pABD->RemoveAutoBWCalibrationSink((IHXAutoBWCalibrationAdviseSink*)this);
2082+ }
2083+
2084+ HX_RELEASE(pBuffer);
2085+ HX_RELEASE(pValues);
2086+ HX_RELEASE(pABD);
2087+
2088+ return rc;
2089+}
2090+
2091+
2092Index: helix-libs/clientapps/clutter/exabd.h
2093===================================================================
2094--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2095+++ helix-libs/clientapps/clutter/exabd.h 2008-10-13 06:05:49.000000000 -0700
2096@@ -0,0 +1,85 @@
2097+/* ***** BEGIN LICENSE BLOCK *****
2098+ * Version: RCSL 1.0/RPSL 1.0
2099+ *
2100+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
2101+ *
2102+ * The contents of this file, and the files included with this file, are
2103+ * subject to the current version of the RealNetworks Public Source License
2104+ * Version 1.0 (the "RPSL") available at
2105+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
2106+ * the file under the RealNetworks Community Source License Version 1.0
2107+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
2108+ * in which case the RCSL will apply. You may also obtain the license terms
2109+ * directly from RealNetworks. You may not use this file except in
2110+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
2111+ * applicable to this file, the RCSL. Please see the applicable RPSL or
2112+ * RCSL for the rights, obligations and limitations governing use of the
2113+ * contents of the file.
2114+ *
2115+ * This file is part of the Helix DNA Technology. RealNetworks is the
2116+ * developer of the Original Code and owns the copyrights in the portions
2117+ * it created.
2118+ *
2119+ * This file, and the files included with this file, is distributed and made
2120+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
2121+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
2122+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
2123+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
2124+ *
2125+ * Technology Compatibility Kit Test Suite(s) Location:
2126+ * http://www.helixcommunity.org/content/tck
2127+ *
2128+ * Contributor(s):
2129+ *
2130+ * ***** END LICENSE BLOCK ***** */
2131+
2132+#ifndef _EXAMPLEABD_
2133+#define _EXAMPLEABD_
2134+
2135+struct IHXAutoBWCalibrationAdviseSink;
2136+struct IUnknown;
2137+
2138+class ExampleABD : public IHXAutoBWCalibrationAdviseSink
2139+{
2140+ private:
2141+ LONG32 m_lRefCount;
2142+ IUnknown* m_pUnknown;
2143+ UINT32 m_ulABDStartTime;
2144+ UINT32 m_ulABDResult;
2145+ BOOL m_bABDDone;
2146+
2147+ ~ExampleABD();
2148+
2149+ public:
2150+
2151+ ExampleABD(IUnknown* /*IN*/ pUnknown);
2152+
2153+ /*
2154+ * IUnknown methods
2155+ */
2156+ STDMETHOD(QueryInterface) (THIS_
2157+ REFIID riid,
2158+ void** ppvObj);
2159+
2160+ STDMETHOD_(ULONG32,AddRef) (THIS);
2161+
2162+ STDMETHOD_(ULONG32,Release) (THIS);
2163+
2164+ /*
2165+ * IHXAutoBWCalibrationAdviseSink methods
2166+ */
2167+ STDMETHOD(AutoBWCalibrationStarted) (THIS_
2168+ const char* pszServer);
2169+ STDMETHOD(AutoBWCalibrationDone) (THIS_
2170+ HX_RESULT status,
2171+ UINT32 ulBW);
2172+
2173+ HX_RESULT DoABD(const char* pszServer,
2174+ UINT32 mode,
2175+ UINT32 packetSize,
2176+ UINT32 packetNum);
2177+
2178+ UINT32 GetABD(void) { return m_ulABDResult; };
2179+};
2180+
2181+#endif /* _EXAMPLEABDSNK_ */
2182Index: helix-libs/clientapps/clutter/exadvsnk.cpp
2183===================================================================
2184--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2185+++ helix-libs/clientapps/clutter/exadvsnk.cpp 2008-10-13 06:05:49.000000000 -0700
2186@@ -0,0 +1,1116 @@
2187+/* ***** BEGIN LICENSE BLOCK *****
2188+ * Version: RCSL 1.0/RPSL 1.0
2189+ *
2190+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
2191+ *
2192+ * The contents of this file, and the files included with this file, are
2193+ * subject to the current version of the RealNetworks Public Source License
2194+ * Version 1.0 (the "RPSL") available at
2195+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
2196+ * the file under the RealNetworks Community Source License Version 1.0
2197+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
2198+ * in which case the RCSL will apply. You may also obtain the license terms
2199+ * directly from RealNetworks. You may not use this file except in
2200+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
2201+ * applicable to this file, the RCSL. Please see the applicable RPSL or
2202+ * RCSL for the rights, obligations and limitations governing use of the
2203+ * contents of the file.
2204+ *
2205+ * This file is part of the Helix DNA Technology. RealNetworks is the
2206+ * developer of the Original Code and owns the copyrights in the portions
2207+ * it created.
2208+ *
2209+ * This file, and the files included with this file, is distributed and made
2210+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
2211+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
2212+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
2213+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
2214+ *
2215+ * Technology Compatibility Kit Test Suite(s) Location:
2216+ * http://www.helixcommunity.org/content/tck
2217+ *
2218+ * Contributor(s):
2219+ *
2220+ * ***** END LICENSE BLOCK ***** */
2221+
2222+#include <stdio.h>
2223+
2224+#include "hxtypes.h"
2225+
2226+#include "hxcom.h"
2227+#include "hxcomm.h"
2228+#include "hxmon.h"
2229+#include "hxcore.h"
2230+#include "hxengin.h"
2231+#include "hxclsnk.h"
2232+#include "hxgroup.h"
2233+#include "hxstrutl.h"
2234+#include "exadvsnk.h"
2235+#include "hxstring.h"
2236+#include "hxprefs.h"
2237+#include "excontxt.h"
2238+
2239+#include "print.h"
2240+
2241+#include "globals.h"
2242+#include "player.h"
2243+
2244+struct _stGlobals*& GetGlobal(); //in main.cpp
2245+
2246+#ifdef __TCS__
2247+extern unsigned long gStreamTime;
2248+
2249+static int iOpened = 0;
2250+
2251+
2252+#if defined(__cplusplus)
2253+extern "C" {
2254+#endif /* defined(__cplusplus) */
2255+
2256+typedef enum hookBuffering {
2257+ eContacting = 0,
2258+ eConnecting = 1,
2259+ eBuffering = 2,
2260+ ePlaying = 3
2261+}hookBuffering;
2262+
2263+void hookRealAudio_Buffering(hookBuffering connectState, int pct);
2264+
2265+void hookRealAudio_PlayPosition(unsigned long current,unsigned long duration);
2266+
2267+typedef enum hookState {
2268+ ePlay = 0,
2269+ ePause = 1,
2270+ eStop = 2,
2271+ eResume = 3,
2272+ eComplete // Clip is done playing
2273+}hookState;
2274+void hookRealAudio_State(hookState newState);
2275+
2276+
2277+#if defined(__cplusplus)
2278+}
2279+#endif /* defined(__cplusplus) */
2280+
2281+#endif // __TCS__
2282+
2283+void PrintBuffer(const char* pszName,const unsigned char* pbBuf, unsigned int dwBytes);
2284+
2285+ExampleClientAdviceSink::ExampleClientAdviceSink(IUnknown* pUnknown, LONG32 lClientIndex, on_buffering_cb_t on_buffering_cb, on_pos_length_cb_t on_pos_length_cb, void *context)
2286+ : m_lRefCount (0)
2287+ , m_lClientIndex (lClientIndex)
2288+ , m_pUnknown (NULL)
2289+ , m_pRegistry (NULL)
2290+ , m_pScheduler (NULL)
2291+ , m_lCurrentBandwidth(0)
2292+ , m_lAverageBandwidth(0)
2293+ , m_bOnStop(0)
2294+ , m_pPlayer(0)
2295+ , m_bWaitForTrackStart(0)
2296+ , m_on_buffering_cb(on_buffering_cb)
2297+ , m_on_pos_length_cb(on_pos_length_cb)
2298+ , m_context(context)
2299+{
2300+ if (pUnknown)
2301+ {
2302+ m_pUnknown = pUnknown;
2303+ m_pUnknown->AddRef();
2304+
2305+ if (HXR_OK != m_pUnknown->QueryInterface(IID_IHXRegistry, (void**)&m_pRegistry))
2306+ {
2307+ m_pRegistry = NULL;
2308+ }
2309+
2310+ if (HXR_OK != m_pUnknown->QueryInterface(IID_IHXScheduler, (void**)&m_pScheduler))
2311+ {
2312+ m_pScheduler = NULL;
2313+ }
2314+
2315+ IHXPlayer* pPlayer;
2316+ if(HXR_OK == m_pUnknown->QueryInterface(IID_IHXPlayer,
2317+ (void**)&pPlayer))
2318+ {
2319+ m_pPlayer = pPlayer;
2320+
2321+ IHXGroupManager* pGroupMgr = NULL;
2322+ if(HXR_OK == m_pPlayer->QueryInterface(IID_IHXGroupManager,
2323+ (void**)&pGroupMgr))
2324+ {
2325+ pGroupMgr->AddSink((IHXGroupSink*)this);
2326+ pGroupMgr->Release();
2327+ }
2328+
2329+ pPlayer->AddAdviseSink(this);
2330+
2331+ }
2332+ }
2333+
2334+#ifdef __TCS__
2335+ bEnableAdviceSink = TRUE;
2336+ iOpened = 0;
2337+#endif
2338+}
2339+
2340+ExampleClientAdviceSink::~ExampleClientAdviceSink(void)
2341+{
2342+ if (m_pScheduler)
2343+ {
2344+ m_pScheduler->Release();
2345+ m_pScheduler = NULL;
2346+ }
2347+
2348+ if (m_pRegistry)
2349+ {
2350+ m_pRegistry->Release();
2351+ m_pRegistry = NULL;
2352+ }
2353+
2354+ if (m_pPlayer)
2355+ {
2356+ m_pPlayer->Release();
2357+ m_pPlayer = NULL;
2358+ }
2359+ if (m_pUnknown)
2360+ {
2361+ m_pUnknown->Release();
2362+ m_pUnknown = NULL;
2363+ }
2364+}
2365+
2366+
2367+// *** IUnknown methods ***
2368+
2369+/////////////////////////////////////////////////////////////////////////
2370+// Method:
2371+// IUnknown::QueryInterface
2372+// Purpose:
2373+// Implement this to export the interfaces supported by your
2374+// object.
2375+//
2376+STDMETHODIMP ExampleClientAdviceSink::QueryInterface(REFIID riid, void** ppvObj)
2377+{
2378+ if (IsEqualIID(riid, IID_IUnknown))
2379+ {
2380+ AddRef();
2381+ *ppvObj = (IUnknown*)(IHXClientAdviseSink*)this;
2382+ return HXR_OK;
2383+ }
2384+ else if (IsEqualIID(riid, IID_IHXClientAdviseSink))
2385+ {
2386+ AddRef();
2387+ *ppvObj = (IHXClientAdviseSink*)this;
2388+ return HXR_OK;
2389+ }
2390+ else if (IsEqualIID(riid, IID_IHXGroupSink))
2391+ {
2392+ AddRef();
2393+ *ppvObj = (IHXGroupSink*)this;
2394+ return HXR_OK;
2395+ }
2396+
2397+ *ppvObj = NULL;
2398+ return HXR_NOINTERFACE;
2399+}
2400+
2401+/////////////////////////////////////////////////////////////////////////
2402+// Method:
2403+// IUnknown::AddRef
2404+// Purpose:
2405+// Everyone usually implements this the same... feel free to use
2406+// this implementation.
2407+//
2408+STDMETHODIMP_(ULONG32) ExampleClientAdviceSink::AddRef()
2409+{
2410+ return InterlockedIncrement(&m_lRefCount);
2411+}
2412+
2413+/////////////////////////////////////////////////////////////////////////
2414+// Method:
2415+// IUnknown::Release
2416+// Purpose:
2417+// Everyone usually implements this the same... feel free to use
2418+// this implementation.
2419+//
2420+STDMETHODIMP_(ULONG32) ExampleClientAdviceSink::Release()
2421+{
2422+ if (InterlockedDecrement(&m_lRefCount) > 0)
2423+ {
2424+ return m_lRefCount;
2425+ }
2426+
2427+ delete this;
2428+ return 0;
2429+}
2430+
2431+/*
2432+ * IHXClientAdviseSink methods
2433+ */
2434+
2435+/************************************************************************
2436+ * Method:
2437+ * IHXClientAdviseSink::OnPosLength
2438+ * Purpose:
2439+ * Called to advise the client that the position or length of the
2440+ * current playback context has changed.
2441+ */
2442+
2443+#ifdef __TCS__
2444+static long lastPosition = -1;
2445+#endif
2446+
2447+STDMETHODIMP
2448+ExampleClientAdviceSink::OnPosLength(UINT32 ulPosition,
2449+ UINT32 ulLength)
2450+{
2451+ // Are we doing a multi-seek?
2452+ if (GetGlobal()->g_bMultiSeek)
2453+ {
2454+ // Have we run out of seek times?
2455+ if (GetGlobal()->g_ulMultiSeekIndex < GetGlobal()->g_ulNumMultiSeeks)
2456+ {
2457+ STDOUT("Multi-seeking the first player to %lu\n",
2458+ GetGlobal()->g_ulMultiSeekTime[GetGlobal()->g_ulMultiSeekIndex]);
2459+ GetGlobal()->g_Players[0]->Seek(GetGlobal()->g_ulMultiSeekTime[GetGlobal()->g_ulMultiSeekIndex++]);
2460+ }
2461+ else
2462+ {
2463+ // We've run out - stop the multi-seek
2464+ GetGlobal()->g_bMultiSeek = FALSE;
2465+ GetGlobal()->g_ulNumMultiSeeks = 0;
2466+ GetGlobal()->g_ulMultiSeekIndex = 0;
2467+ }
2468+ }
2469+
2470+ if (m_on_pos_length_cb)
2471+ m_on_pos_length_cb(ulPosition, ulLength, m_context);
2472+
2473+ return HXR_OK;
2474+}
2475+
2476+/************************************************************************
2477+ * Method:
2478+ * IHXClientAdviseSink::OnPresentationOpened
2479+ * Purpose:
2480+ * Called to advise the client a presentation has been opened.
2481+ */
2482+STDMETHODIMP ExampleClientAdviceSink::OnPresentationOpened()
2483+{
2484+#ifdef __TCS__
2485+ iOpened = 1;
2486+ lastPosition = -1;
2487+#else
2488+ if (GetGlobal()->bEnableAdviceSink)
2489+ {
2490+ STDOUT("OnPresentationOpened()\n");
2491+ }
2492+#if defined(HELIX_FEATURE_PLAYBACK_VELOCITY)
2493+ // Try to get the IHXPlaybackVelocity interface
2494+ // from the first player
2495+ if (GetGlobal()->g_nPlayers > 0 && GetGlobal()->g_Players[0])
2496+ {
2497+ IHXPlaybackVelocity* pVel = NULL;
2498+ HX_RESULT rv = GetGlobal()->g_Players[0]->QueryInterface(IID_IHXPlaybackVelocity, (void**) &pVel);
2499+ if (SUCCEEDED(rv))
2500+ {
2501+ // Get the capabilities object from the player
2502+ rv = pVel->QueryVelocityCaps(GetGlobal()->g_pVelocityCaps);
2503+ if (SUCCEEDED(rv) && GetGlobal()->bEnableAdviceSink)
2504+ {
2505+ STDOUT("Available Velocity Ranges:");
2506+ UINT32 ulNumRanges = GetGlobal()->g_pVelocityCaps->GetNumRanges();
2507+ for (UINT32 i = 0; i < ulNumRanges && SUCCEEDED(rv); i++)
2508+ {
2509+ INT32 lMin = 0;
2510+ INT32 lMax = 0;
2511+ rv = GetGlobal()->g_pVelocityCaps->GetRange(i, lMin, lMax);
2512+ if (SUCCEEDED(rv))
2513+ {
2514+ STDOUT(" [%ld,%ld]", lMin, lMax);
2515+ }
2516+ }
2517+ STDOUT("\n");
2518+ }
2519+ }
2520+ HX_RELEASE(pVel);
2521+ }
2522+#endif /* #if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) */
2523+#endif
2524+
2525+ UINT32 sourceCount = m_pPlayer->GetSourceCount();
2526+ for (UINT32 sourceID = 0; sourceID < sourceCount; sourceID ++)
2527+ {
2528+ // get HXSource
2529+ IUnknown* pUnkSource = NULL;
2530+ IHXStreamSource* pStreamSrc = NULL;
2531+
2532+ if (HXR_OK != m_pPlayer->GetSource (sourceID, pUnkSource))
2533+ {
2534+ continue;
2535+ }
2536+
2537+ pUnkSource->QueryInterface(IID_IHXStreamSource, (void **)&pStreamSrc);
2538+
2539+ HX_RELEASE(pUnkSource);
2540+
2541+ if (!pStreamSrc)
2542+ {
2543+ continue;
2544+ }
2545+
2546+ UINT32 num_streams = pStreamSrc->GetStreamCount();
2547+
2548+ // get information from Streams
2549+ for (UINT32 streamID = 0; streamID < num_streams ; streamID++)
2550+ {
2551+ IUnknown* pUnkStream = NULL;
2552+
2553+ if (HXR_OK == pStreamSrc->GetStream(streamID, pUnkStream))
2554+ {
2555+ IHXStream* pStream = NULL;
2556+
2557+ if (HXR_OK == pUnkStream->QueryInterface(IID_IHXStream,
2558+ (void**)&pStream))
2559+ {
2560+ const char* pMimeType = pStream->GetStreamType();
2561+ if( 0 == strcmp(pMimeType, "application/ram"))
2562+ {
2563+ m_bWaitForTrackStart = TRUE;
2564+ }
2565+ else
2566+ {
2567+ m_bWaitForTrackStart = FALSE;
2568+ }
2569+ }
2570+ HX_RELEASE(pStream);
2571+ }
2572+ HX_RELEASE(pUnkStream);
2573+ if (!m_bWaitForTrackStart)
2574+ {
2575+ break;
2576+ }
2577+ }
2578+
2579+ if (!m_bWaitForTrackStart)
2580+ {
2581+ break;
2582+ }
2583+ HX_RELEASE(pStreamSrc);
2584+ }
2585+
2586+ if (!m_bWaitForTrackStart)
2587+ {
2588+ STDOUT("----------------clip info--------------------\n");
2589+ if(m_pScheduler) {
2590+ m_hCallback = m_pScheduler->RelativeEnter(this,50);
2591+ }
2592+ }
2593+ return HXR_OK;
2594+}
2595+
2596+
2597+/************************************************************************
2598+ * Method:
2599+ * IHXClientAdviseSink::OnPresentationClosed
2600+ * Purpose:
2601+ * Called to advise the client a presentation has been closed.
2602+ */
2603+STDMETHODIMP ExampleClientAdviceSink::OnPresentationClosed()
2604+{
2605+#ifdef __TCS__
2606+ iOpened = 0;
2607+ lastPosition = -1;
2608+#else
2609+ if (GetGlobal()->bEnableAdviceSink)
2610+ {
2611+ STDOUT("OnPresentationClosed()\n");
2612+ }
2613+#endif
2614+
2615+ return HXR_OK;
2616+}
2617+
2618+void ExampleClientAdviceSink::GetStatistics (char* pszRegistryKey)
2619+{
2620+ char szRegistryValue[MAX_DISPLAY_NAME] = {0}; /* Flawfinder: ignore */
2621+ INT32 lValue = 0;
2622+ INT32 i = 0;
2623+ INT32 lStatistics = 8;
2624+ UINT32 *plValue;
2625+
2626+#ifdef __TCS__
2627+ return; // DISABLED FOR NOW
2628+#endif
2629+
2630+ // collect statistic
2631+ for (i = 0; i < lStatistics; i++)
2632+ {
2633+ plValue = NULL;
2634+ switch (i)
2635+ {
2636+ case 0:
2637+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Normal", pszRegistryKey);
2638+ break;
2639+ case 1:
2640+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Recovered", pszRegistryKey);
2641+ break;
2642+ case 2:
2643+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Received", pszRegistryKey);
2644+ break;
2645+ case 3:
2646+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Lost", pszRegistryKey);
2647+ break;
2648+ case 4:
2649+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Late", pszRegistryKey);
2650+ break;
2651+ case 5:
2652+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.ClipBandwidth", pszRegistryKey);
2653+ break;
2654+ case 6:
2655+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.AverageBandwidth", pszRegistryKey);
2656+ plValue = &m_lAverageBandwidth;
2657+ break;
2658+ case 7:
2659+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.CurrentBandwidth", pszRegistryKey);
2660+ plValue = &m_lCurrentBandwidth;
2661+ break;
2662+ default:
2663+ break;
2664+ }
2665+
2666+ m_pRegistry->GetIntByName(szRegistryValue, lValue);
2667+ if (plValue)
2668+ {
2669+ if (m_bOnStop || lValue == 0)
2670+ {
2671+ lValue = *plValue;
2672+ }
2673+ else
2674+ {
2675+ *plValue = lValue;
2676+ }
2677+ }
2678+ if (GetGlobal()->bEnableAdviceSink || (GetGlobal()->bEnableVerboseMode && m_bOnStop))
2679+ {
2680+ STDOUT("%s = %ld\n", szRegistryValue, lValue);
2681+ }
2682+ }
2683+}
2684+
2685+void ExampleClientAdviceSink::GetAllStatistics(void)
2686+{
2687+ UINT32 unPlayerIndex = 0;
2688+ UINT32 unSourceIndex = 0;
2689+ UINT32 unStreamIndex = 0;
2690+
2691+ char* pszRegistryPrefix = "Statistics";
2692+ char szRegistryName[MAX_DISPLAY_NAME] = {0}; /* Flawfinder: ignore */
2693+
2694+#ifdef __TCS__
2695+ return; // DISABLED FOR NOW
2696+#endif
2697+
2698+ // display the content of whole statistic registry
2699+ if (m_pRegistry)
2700+ {
2701+ // ok, let's start from the top (player)
2702+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld", pszRegistryPrefix, m_lClientIndex);
2703+ if (PT_COMPOSITE == m_pRegistry->GetTypeByName(szRegistryName))
2704+ {
2705+ // display player statistic
2706+ GetStatistics(szRegistryName);
2707+
2708+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Source%ld", szRegistryName, unSourceIndex);
2709+ while (PT_COMPOSITE == m_pRegistry->GetTypeByName(szRegistryName))
2710+ {
2711+ // display source statistic
2712+ GetStatistics(szRegistryName);
2713+
2714+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Stream%ld", szRegistryName, unStreamIndex);
2715+ while (PT_COMPOSITE == m_pRegistry->GetTypeByName(szRegistryName))
2716+ {
2717+ // display stream statistic
2718+ GetStatistics(szRegistryName);
2719+
2720+ unStreamIndex++;
2721+
2722+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld.Source%ld.Stream%ld",
2723+ pszRegistryPrefix, unPlayerIndex, unSourceIndex, unStreamIndex);
2724+ }
2725+
2726+ unSourceIndex++;
2727+
2728+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld.Source%ld",
2729+ pszRegistryPrefix, unPlayerIndex, unSourceIndex);
2730+ }
2731+
2732+ unPlayerIndex++;
2733+
2734+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld", pszRegistryPrefix, unPlayerIndex);
2735+ }
2736+ }
2737+}
2738+
2739+/************************************************************************
2740+ * Method:
2741+ * IHXClientAdviseSink::OnStatisticsChanged
2742+ * Purpose:
2743+ * Called to advise the client that the presentation statistics
2744+ * have changed.
2745+ */
2746+STDMETHODIMP ExampleClientAdviceSink::OnStatisticsChanged(void)
2747+{
2748+ char szBuff[1024]; /* Flawfinder: ignore */
2749+ HX_RESULT res = HXR_OK;
2750+ UINT16 uPlayer = 0;
2751+
2752+#ifdef __TCS__
2753+ return HXR_OK; // DISABLED FOR NOW
2754+#endif
2755+
2756+ if(GetGlobal()->bEnableAdviceSink)
2757+ {
2758+ STDOUT("OnStatisticsChanged():\n");
2759+
2760+ SafeSprintf(szBuff, 1024, "Statistics");
2761+ res = DumpRegTree( szBuff );
2762+ }
2763+
2764+ return HXR_OK;
2765+}
2766+
2767+HX_RESULT ExampleClientAdviceSink::DumpRegTree(const char* pszTreeName )
2768+{
2769+ const char* pszName = NULL;
2770+ ULONG32 ulRegID = 0;
2771+ HX_RESULT res = HXR_OK;
2772+ INT32 nVal = 0;
2773+ IHXBuffer* pBuff = NULL;
2774+ IHXValues* pValues = NULL;
2775+
2776+ //See if the name exists in the reg tree.
2777+ res = m_pRegistry->GetPropListByName( pszTreeName, pValues);
2778+ if( HXR_OK!=res || !pValues )
2779+ return HXR_FAIL;
2780+
2781+ //make sure this is a PT_COMPOSITE type reg entry.
2782+ if( PT_COMPOSITE != m_pRegistry->GetTypeByName(pszTreeName))
2783+ return HXR_FAIL;
2784+
2785+ //Print out the value of each member of this tree.
2786+ res = pValues->GetFirstPropertyULONG32( pszName, ulRegID );
2787+ while( HXR_OK == res )
2788+ {
2789+ //We have at least one entry. See what type it is.
2790+ HXPropType pt = m_pRegistry->GetTypeById(ulRegID);
2791+ switch(pt)
2792+ {
2793+ case PT_COMPOSITE:
2794+ DumpRegTree(pszName);
2795+ break;
2796+ case PT_INTEGER :
2797+ nVal = 0;
2798+ m_pRegistry->GetIntById( ulRegID, nVal );
2799+ STDOUT("%s : %d\n", pszName, nVal );
2800+ break;
2801+ case PT_INTREF :
2802+ nVal = 0;
2803+ m_pRegistry->GetIntById( ulRegID, nVal );
2804+ STDOUT("%s : %d\n", pszName, nVal );
2805+ break;
2806+ case PT_STRING :
2807+ pBuff = NULL;
2808+ m_pRegistry->GetStrById( ulRegID, pBuff );
2809+ STDOUT("%s : \"", pszName );
2810+ if( pBuff )
2811+ STDOUT("%s", (const char *)(pBuff->GetBuffer()) );
2812+ STDOUT("\"\n" );
2813+ HX_RELEASE(pBuff);
2814+ break;
2815+ case PT_BUFFER :
2816+ STDOUT("%s : BUFFER TYPE NOT SHOWN\n",
2817+ pszName, nVal );
2818+ break;
2819+ case PT_UNKNOWN:
2820+ STDOUT("%s Unkown registry type entry\n", pszName );
2821+ break;
2822+ default:
2823+ STDOUT("%s Unkown registry type entry\n", pszName );
2824+ break;
2825+ }
2826+ res = pValues->GetNextPropertyULONG32( pszName, ulRegID);
2827+ }
2828+
2829+ HX_RELEASE( pValues );
2830+
2831+ return HXR_OK;
2832+}
2833+
2834+
2835+/************************************************************************
2836+ * Method:
2837+ * IHXClientAdviseSink::OnPreSeek
2838+ * Purpose:
2839+ * Called by client engine to inform the client that a seek is
2840+ * about to occur. The render is informed the last time for the
2841+ * stream's time line before the seek, as well as the first new
2842+ * time for the stream's time line after the seek will be completed.
2843+ *
2844+ */
2845+STDMETHODIMP ExampleClientAdviceSink::OnPreSeek( ULONG32 ulOldTime,
2846+ ULONG32 ulNewTime)
2847+{
2848+#if !defined(__TCS__)
2849+ if (GetGlobal()->bEnableAdviceSink)
2850+ {
2851+ STDOUT("OnPreSeek(%ld, %ld)\n", ulOldTime, ulNewTime);
2852+ }
2853+#endif
2854+
2855+ return HXR_OK;
2856+}
2857+
2858+
2859+/************************************************************************
2860+ * Method:
2861+ * IHXClientAdviseSink::OnPostSeek
2862+ * Purpose:
2863+ * Called by client engine to inform the client that a seek has
2864+ * just occured. The render is informed the last time for the
2865+ * stream's time line before the seek, as well as the first new
2866+ * time for the stream's time line after the seek.
2867+ *
2868+ */
2869+STDMETHODIMP ExampleClientAdviceSink::OnPostSeek( ULONG32 ulOldTime,
2870+ ULONG32 ulNewTime)
2871+{
2872+#ifdef __TCS__
2873+ lastPosition = -1;
2874+#else
2875+ if (GetGlobal()->bEnableAdviceSink)
2876+ {
2877+ STDOUT("OnPostSeek(%ld, %ld)\n", ulOldTime, ulNewTime);
2878+ }
2879+#endif
2880+
2881+ return HXR_OK;
2882+}
2883+
2884+
2885+/************************************************************************
2886+ * Method:
2887+ * IHXClientAdviseSink::OnStop
2888+ * Purpose:
2889+ * Called by client engine to inform the client that a stop has
2890+ * just occured.
2891+ *
2892+ */
2893+STDMETHODIMP ExampleClientAdviceSink::OnStop(void)
2894+{
2895+ HXTimeval now;
2896+
2897+#ifdef __TCS__
2898+ hookRealAudio_State(eStop);
2899+#else
2900+ if (GetGlobal()->bEnableAdviceSink)
2901+ {
2902+ STDOUT("OnStop()\n");
2903+ }
2904+
2905+ if (GetGlobal()->bEnableVerboseMode)
2906+ {
2907+ STDOUT("Player %ld stopped.\n", m_lClientIndex);
2908+ m_bOnStop = TRUE;
2909+ GetAllStatistics();
2910+ }
2911+#endif
2912+
2913+ // Find out the current time and subtract the beginning time to
2914+ // figure out how many seconds we played
2915+ now = m_pScheduler->GetCurrentSchedulerTime();
2916+ m_ulStopTime = now.tv_sec;
2917+
2918+ GetGlobal()->g_ulNumSecondsPlayed = m_ulStopTime - m_ulStartTime;
2919+
2920+ return HXR_OK;
2921+}
2922+
2923+/************************************************************************
2924+ * Method:
2925+ * IHXClientAdviseSink::OnPause
2926+ * Purpose:
2927+ * Called by client engine to inform the client that a pause has
2928+ * just occured. The render is informed the last time for the
2929+ * stream's time line before the pause.
2930+ *
2931+ */
2932+STDMETHODIMP ExampleClientAdviceSink::OnPause(ULONG32 ulTime)
2933+{
2934+#ifdef __TCS__
2935+ hookRealAudio_State(ePause);
2936+#else
2937+ if (GetGlobal()->bEnableAdviceSink)
2938+ {
2939+ STDOUT("OnPause(%ld)\n", ulTime);
2940+ }
2941+#endif
2942+
2943+ return HXR_OK;
2944+}
2945+
2946+
2947+/************************************************************************
2948+ * Method:
2949+ * IHXClientAdviseSink::OnBegin
2950+ * Purpose:
2951+ * Called by client engine to inform the client that a begin or
2952+ * resume has just occured. The render is informed the first time
2953+ * for the stream's time line after the resume.
2954+ *
2955+ */
2956+STDMETHODIMP ExampleClientAdviceSink::OnBegin(ULONG32 ulTime)
2957+{
2958+ HXTimeval now;
2959+
2960+#if !defined(__TCS__)
2961+ if (GetGlobal()->bEnableAdviceSink)
2962+ {
2963+ STDOUT("OnBegin(%ld)\n", ulTime);
2964+ }
2965+
2966+ if (GetGlobal()->bEnableVerboseMode)
2967+ {
2968+ STDOUT("Player %ld beginning playback...\n", m_lClientIndex);
2969+ }
2970+#endif
2971+
2972+ GetGlobal()->g_bOnBeginOccurred = TRUE;
2973+
2974+ // Record the current time, so we can figure out many seconds we played
2975+ now = m_pScheduler->GetCurrentSchedulerTime();
2976+ m_ulStartTime = now.tv_sec;
2977+
2978+ return HXR_OK;
2979+}
2980+
2981+
2982+/************************************************************************
2983+ * Method:
2984+ * IHXClientAdviseSink::OnBuffering
2985+ * Purpose:
2986+ * Called by client engine to inform the client that buffering
2987+ * of data is occuring. The render is informed of the reason for
2988+ * the buffering (start-up of stream, seek has occured, network
2989+ * congestion, etc.), as well as percentage complete of the
2990+ * buffering process.
2991+ *
2992+ */
2993+STDMETHODIMP ExampleClientAdviceSink::OnBuffering(ULONG32 ulFlags,
2994+ UINT16 unPercentComplete)
2995+{
2996+#ifdef __TCS__
2997+static UINT16 lastPct = 0;
2998+ if (unPercentComplete > 0)
2999+ {
3000+ UINT16 nextPct = lastPct + 10;
3001+ if (unPercentComplete < lastPct)
3002+ {
3003+ lastPct = 0;
3004+ nextPct = lastPct + 10;
3005+ }
3006+ if (unPercentComplete >= nextPct)
3007+ {
3008+ lastPct = (unPercentComplete / 10) * 10;
3009+ nextPct = lastPct + 10;
3010+ hookRealAudio_Buffering(eBuffering,lastPct);
3011+ }
3012+ }
3013+#else
3014+ if (GetGlobal()->bEnableAdviceSink)
3015+ {
3016+ STDOUT("OnBuffering(%ld, %d)\n", ulFlags, unPercentComplete);
3017+ }
3018+#endif
3019+ if (m_on_buffering_cb)
3020+ m_on_buffering_cb(ulFlags, unPercentComplete, m_context);
3021+
3022+ return HXR_OK;
3023+}
3024+
3025+
3026+/************************************************************************
3027+ * Method:
3028+ * IHXClientAdviseSink::OnContacting
3029+ * Purpose:
3030+ * Called by client engine to inform the client is contacting
3031+ * hosts(s).
3032+ *
3033+ */
3034+STDMETHODIMP ExampleClientAdviceSink::OnContacting(const char* pHostName)
3035+{
3036+#ifdef __TCS__
3037+ printf("Contacting\n");
3038+ hookRealAudio_Buffering(eContacting,0);
3039+#else
3040+ if (GetGlobal()->bEnableAdviceSink)
3041+ {
3042+ STDOUT("OnContacting(\"%s\")\n", pHostName);
3043+ }
3044+#endif
3045+
3046+ return HXR_OK;
3047+}
3048+
3049+void ExampleClientAdviceSink::PrintPropName( IHXValues* pHeader )
3050+{
3051+ if ( pHeader == NULL )
3052+ {
3053+ return ;
3054+ }
3055+
3056+ const char *pChar;
3057+ ULONG32 pValue;
3058+ if(HXR_OK == pHeader->GetFirstPropertyULONG32(pChar, pValue))
3059+ {
3060+ do
3061+ {
3062+ STDOUT("%s %d\n", pChar, pValue);
3063+ }
3064+ while(HXR_OK == pHeader->GetNextPropertyULONG32(pChar, pValue));
3065+ }
3066+
3067+ IHXBuffer *pBuffer;
3068+
3069+ if(HXR_OK == pHeader->GetFirstPropertyBuffer(pChar, pBuffer))
3070+ {
3071+ do
3072+ {
3073+ STDOUT("%s %s\n", pChar, (const char *) ( pBuffer->GetBuffer() ));
3074+ PrintBuffer(pChar, pBuffer->GetBuffer() ,pBuffer->GetSize());
3075+ HX_RELEASE(pBuffer);
3076+ } while(HXR_OK == pHeader->GetNextPropertyBuffer(pChar, pBuffer ));
3077+ }
3078+
3079+ if(HXR_OK == pHeader->GetFirstPropertyCString(pChar, pBuffer))
3080+ {
3081+ do
3082+ {
3083+ STDERR("%s %s\n", pChar, (const char *) ( pBuffer->GetBuffer() ));
3084+ HX_RELEASE(pBuffer);
3085+ } while(HXR_OK == pHeader->GetNextPropertyCString(pChar, pBuffer ));
3086+ }
3087+
3088+ fflush(stdout);
3089+}
3090+
3091+
3092+void ExampleClientAdviceSink::SetClipInfo( IHXPlayer* m_pRMAPlayer)
3093+{
3094+ bool bSendOnClipInfo = false;
3095+
3096+ // Get HXSource and try to get clip infor.
3097+ UINT32 sourceCount = m_pRMAPlayer->GetSourceCount();
3098+ for (UINT32 sourceID = 0; sourceID < sourceCount; sourceID ++)
3099+ {
3100+ // get HXSource
3101+ STDOUT("========Source %d========\n",sourceID);
3102+ IUnknown* pUnkSource = NULL;
3103+ IHXStreamSource* pStreamSrc = NULL;
3104+
3105+ if (HXR_OK != m_pRMAPlayer->GetSource (sourceID, pUnkSource))
3106+ {
3107+ continue;
3108+ }
3109+
3110+ pUnkSource->QueryInterface(IID_IHXStreamSource, (void **)&pStreamSrc);
3111+
3112+ HX_RELEASE(pUnkSource);
3113+
3114+ if (!pStreamSrc)
3115+ {
3116+ continue;
3117+ }
3118+
3119+ UINT32 num_streams = pStreamSrc->GetStreamCount();
3120+
3121+ STDOUT("====File Header====\n");
3122+
3123+ IHXValues* pFileHdr = NULL;
3124+ pStreamSrc->QueryInterface(IID_IHXValues, (void**)&pFileHdr);
3125+
3126+ if ( pFileHdr)
3127+ {
3128+ PrintPropName(pFileHdr);
3129+ }
3130+ HX_RELEASE(pFileHdr);
3131+
3132+ // get information from Streams
3133+ for (UINT32 streamID = 0; streamID < num_streams ; streamID++)
3134+ {
3135+ STDOUT("====Stream %d====\n",streamID);
3136+ IUnknown* pUnkStream = NULL;
3137+
3138+ if (HXR_OK == pStreamSrc->GetStream(streamID, pUnkStream))
3139+ {
3140+ IHXStream* pStream = NULL;
3141+
3142+ if (HXR_OK == pUnkStream->QueryInterface(IID_IHXStream,
3143+ (void**)&pStream))
3144+ {
3145+ IHXValues* pStreamHdr = pStream->GetHeader();
3146+ if (pStreamHdr)
3147+ {
3148+ PrintPropName(pStreamHdr);
3149+ }
3150+ HX_RELEASE(pStreamHdr);
3151+ }
3152+ HX_RELEASE(pStream);
3153+ }
3154+ HX_RELEASE(pUnkStream);
3155+ }
3156+ STDOUT("---------------------------------------------\n");
3157+
3158+ HX_RELEASE(pStreamSrc);
3159+ }
3160+}
3161+
3162+
3163+STDMETHODIMP ExampleClientAdviceSink::Func()
3164+{
3165+ m_hCallback = 0;
3166+
3167+ // set clip info
3168+ if(m_pPlayer)
3169+ SetClipInfo(m_pPlayer);
3170+
3171+ return HXR_OK;
3172+}
3173+
3174+void PrintBuffer(const char* pszName,const unsigned char* pbBuf, unsigned int dwBytes)
3175+{
3176+ if(pszName == NULL || pbBuf == NULL)
3177+ return;
3178+
3179+ STDOUT(" ");
3180+ for(unsigned int i= 0; i<dwBytes; i++) {
3181+ STDOUT("0x%02x ",*pbBuf++);
3182+ if(i % 15 == 0 && i!=0)
3183+ STDOUT("\n ");
3184+ }
3185+ STDOUT("\n");
3186+ return;
3187+}
3188+
3189+/*
3190+ * IHXGroupSink methods
3191+ */
3192+/************************************************************************
3193+ * Method:
3194+ * IHXGroupSink::GroupAdded
3195+ * Purpose:
3196+ * Notification of a new group being added to the presentation.
3197+ */
3198+STDMETHODIMP ExampleClientAdviceSink::GroupAdded( UINT16 /*IN*/ uGroupIndex,
3199+ IHXGroup* /*IN*/ pGroup)
3200+{
3201+ return HXR_OK;
3202+}
3203+
3204+/************************************************************************
3205+ * Method:
3206+ * IHXGroupSink::GroupRemoved
3207+ * Purpose:
3208+ * Notification of a group being removed from the presentation.
3209+ */
3210+STDMETHODIMP ExampleClientAdviceSink::GroupRemoved( UINT16 /*IN*/ uGroupIndex,
3211+ IHXGroup* /*IN*/ pGroup)
3212+{
3213+ return HXR_OK;
3214+}
3215+
3216+/************************************************************************
3217+ * Method:
3218+ * IHXGroupSink::AllGroupsRemoved
3219+ * Purpose:
3220+ * Notification that all groups have been removed from the
3221+ * current presentation.
3222+ */
3223+STDMETHODIMP ExampleClientAdviceSink::AllGroupsRemoved()
3224+{
3225+ return HXR_OK;
3226+}
3227+
3228+/************************************************************************
3229+ * Method:
3230+ * IHXGroupSink::TrackAdded
3231+ * Purpose:
3232+ * Notification of a new track being added to a group.
3233+ */
3234+STDMETHODIMP ExampleClientAdviceSink::TrackAdded( UINT16 /*IN*/ uGroupIndex,
3235+ UINT16 /*IN*/ uTrackIndex,
3236+ IHXValues* /*IN*/ pTrack)
3237+{
3238+ return HXR_OK;
3239+}
3240+
3241+/************************************************************************
3242+ * Method:
3243+ * IHXGroupSink::TrackRemoved
3244+ * Purpose:
3245+ * Notification of a track being removed from a group.
3246+ */
3247+STDMETHODIMP ExampleClientAdviceSink::TrackRemoved( UINT16 /*IN*/ uGroupIndex,
3248+ UINT16 /*IN*/ uTrackIndex,
3249+ IHXValues* /*IN*/ pTrack)
3250+{
3251+ return HXR_OK;
3252+}
3253+
3254+/************************************************************************
3255+ * Method:
3256+ * IHXGroupSink::TrackStarted
3257+ * Purpose:
3258+ * Notification of a track being started (to get duration, for
3259+ * instance...)
3260+ */
3261+STDMETHODIMP ExampleClientAdviceSink::TrackStarted( UINT16 /*IN*/ uGroupIndex,
3262+ UINT16 /*IN*/ uTrackIndex,
3263+ IHXValues* /*IN*/ pTrack)
3264+{
3265+ if ( m_bWaitForTrackStart )
3266+ {
3267+ STDOUT("----------------clip info--------------------\n");
3268+ if(m_pScheduler)
3269+ {
3270+ m_hCallback = m_pScheduler->RelativeEnter(this,50);
3271+ }
3272+ m_bWaitForTrackStart = FALSE;
3273+ }
3274+ return HXR_OK;
3275+}
3276+
3277+/************************************************************************
3278+ * Method:
3279+ * IHXGroupSink::TrackStopped
3280+ * Purpose:
3281+ * Notification of a track being stopped
3282+ *
3283+ */
3284+STDMETHODIMP ExampleClientAdviceSink::TrackStopped( UINT16 /*IN*/ uGroupIndex,
3285+ UINT16 /*IN*/ uTrackIndex,
3286+ IHXValues* /*IN*/ pTrack)
3287+{
3288+ return HXR_OK;
3289+}
3290+
3291+/************************************************************************
3292+ * Method:
3293+ * IHXGroupSink::CurrentGroupSet
3294+ * Purpose:
3295+ * This group is being currently played in the presentation.
3296+ */
3297+STDMETHODIMP ExampleClientAdviceSink::CurrentGroupSet( UINT16 /*IN*/ uGroupIndex,
3298+ IHXGroup* /*IN*/ pGroup)
3299+{
3300+ return HXR_OK;
3301+}
3302+
3303Index: helix-libs/clientapps/clutter/exadvsnk.h
3304===================================================================
3305--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3306+++ helix-libs/clientapps/clutter/exadvsnk.h 2008-10-13 06:05:49.000000000 -0700
3307@@ -0,0 +1,324 @@
3308+/* ***** BEGIN LICENSE BLOCK *****
3309+ * Version: RCSL 1.0/RPSL 1.0
3310+ *
3311+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
3312+ *
3313+ * The contents of this file, and the files included with this file, are
3314+ * subject to the current version of the RealNetworks Public Source License
3315+ * Version 1.0 (the "RPSL") available at
3316+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
3317+ * the file under the RealNetworks Community Source License Version 1.0
3318+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
3319+ * in which case the RCSL will apply. You may also obtain the license terms
3320+ * directly from RealNetworks. You may not use this file except in
3321+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
3322+ * applicable to this file, the RCSL. Please see the applicable RPSL or
3323+ * RCSL for the rights, obligations and limitations governing use of the
3324+ * contents of the file.
3325+ *
3326+ * This file is part of the Helix DNA Technology. RealNetworks is the
3327+ * developer of the Original Code and owns the copyrights in the portions
3328+ * it created.
3329+ *
3330+ * This file, and the files included with this file, is distributed and made
3331+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
3332+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
3333+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
3334+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
3335+ *
3336+ * Technology Compatibility Kit Test Suite(s) Location:
3337+ * http://www.helixcommunity.org/content/tck
3338+ *
3339+ * Contributor(s):
3340+ *
3341+ * ***** END LICENSE BLOCK ***** */
3342+
3343+#ifndef _EXAMPLECLSNK_
3344+#define _EXAMPLECLSNK_
3345+
3346+#include "player.h"
3347+
3348+struct IHXClientAdviseSink;
3349+struct IHXGroupSink;
3350+struct IUnknown;
3351+struct IHXRegistry;
3352+struct IHXScheduler;
3353+struct IHXCallback;
3354+struct IHXPlayer;
3355+struct IHXGroup;
3356+
3357+class ExampleClientAdviceSink : public IHXClientAdviseSink,
3358+ public IHXGroupSink,
3359+ public IHXCallback
3360+{
3361+ private:
3362+ LONG32 m_lRefCount;
3363+ LONG32 m_lClientIndex;
3364+
3365+ IUnknown* m_pUnknown;
3366+ IHXRegistry* m_pRegistry;
3367+ IHXScheduler* m_pScheduler;
3368+
3369+ UINT32 m_ulStartTime;
3370+ UINT32 m_ulStopTime;
3371+
3372+ UINT32 m_lCurrentBandwidth;
3373+ UINT32 m_lAverageBandwidth;
3374+ HXBOOL m_bOnStop;
3375+
3376+ HXBOOL m_bWaitForTrackStart;
3377+
3378+ on_buffering_cb_t m_on_buffering_cb;
3379+ on_pos_length_cb_t m_on_pos_length_cb;
3380+ void *m_context; /* a argument passed by texture-helix lib */
3381+
3382+ // IHXCallback
3383+ IHXPlayer* m_pPlayer;
3384+ ULONG32 m_hCallback;
3385+ ~ExampleClientAdviceSink();
3386+ HX_RESULT DumpRegTree(const char* pszTreeName );
3387+
3388+
3389+ void GetStatistics (char* /*IN*/ pszRegistryKey);
3390+ void GetAllStatistics (void);
3391+ void SetClipInfo( IHXPlayer* m_pRMAPlayer);
3392+ void PrintPropName( IHXValues* pHeader );
3393+
3394+ public:
3395+
3396+ ExampleClientAdviceSink(IUnknown* /*IN*/ pUnknown, LONG32 /*IN*/ lClientIndex, on_buffering_cb_t on_buffer_cb, on_pos_length_cb_t on_pos_length_cb, void *context);
3397+
3398+ /*
3399+ * IUnknown methods
3400+ */
3401+ STDMETHOD(QueryInterface) (THIS_
3402+ REFIID riid,
3403+ void** ppvObj);
3404+
3405+ STDMETHOD_(ULONG32,AddRef) (THIS);
3406+
3407+ STDMETHOD_(ULONG32,Release) (THIS);
3408+
3409+ /*
3410+ * IHXClientAdviseSink methods
3411+ */
3412+
3413+ /************************************************************************
3414+ * Method:
3415+ * IHXClientAdviseSink::OnPosLength
3416+ * Purpose:
3417+ * Called to advise the client that the position or length of the
3418+ * current playback context has changed.
3419+ */
3420+ STDMETHOD(OnPosLength) (THIS_
3421+ UINT32 ulPosition,
3422+ UINT32 ulLength);
3423+
3424+ /************************************************************************
3425+ * Method:
3426+ * IHXClientAdviseSink::OnPresentationOpened
3427+ * Purpose:
3428+ * Called to advise the client a presentation has been opened.
3429+ */
3430+ STDMETHOD(OnPresentationOpened) (THIS);
3431+
3432+ /************************************************************************
3433+ * Method:
3434+ * IHXClientAdviseSink::OnPresentationClosed
3435+ * Purpose:
3436+ * Called to advise the client a presentation has been closed.
3437+ */
3438+ STDMETHOD(OnPresentationClosed) (THIS);
3439+
3440+ /************************************************************************
3441+ * Method:
3442+ * IHXClientAdviseSink::OnStatisticsChanged
3443+ * Purpose:
3444+ * Called to advise the client that the presentation statistics
3445+ * have changed.
3446+ */
3447+ STDMETHOD(OnStatisticsChanged) (THIS);
3448+
3449+ /************************************************************************
3450+ * Method:
3451+ * IHXClientAdviseSink::OnPreSeek
3452+ * Purpose:
3453+ * Called by client engine to inform the client that a seek is
3454+ * about to occur. The render is informed the last time for the
3455+ * stream's time line before the seek, as well as the first new
3456+ * time for the stream's time line after the seek will be completed.
3457+ *
3458+ */
3459+ STDMETHOD (OnPreSeek) (THIS_
3460+ ULONG32 ulOldTime,
3461+ ULONG32 ulNewTime);
3462+
3463+ /************************************************************************
3464+ * Method:
3465+ * IHXClientAdviseSink::OnPostSeek
3466+ * Purpose:
3467+ * Called by client engine to inform the client that a seek has
3468+ * just occured. The render is informed the last time for the
3469+ * stream's time line before the seek, as well as the first new
3470+ * time for the stream's time line after the seek.
3471+ *
3472+ */
3473+ STDMETHOD (OnPostSeek) (THIS_
3474+ ULONG32 ulOldTime,
3475+ ULONG32 ulNewTime);
3476+
3477+ /************************************************************************
3478+ * Method:
3479+ * IHXClientAdviseSink::OnStop
3480+ * Purpose:
3481+ * Called by client engine to inform the client that a stop has
3482+ * just occured.
3483+ *
3484+ */
3485+ STDMETHOD (OnStop) (THIS);
3486+
3487+ /************************************************************************
3488+ * Method:
3489+ * IHXClientAdviseSink::OnPause
3490+ * Purpose:
3491+ * Called by client engine to inform the client that a pause has
3492+ * just occured. The render is informed the last time for the
3493+ * stream's time line before the pause.
3494+ *
3495+ */
3496+ STDMETHOD (OnPause) (THIS_
3497+ ULONG32 ulTime);
3498+
3499+ /************************************************************************
3500+ * Method:
3501+ * IHXClientAdviseSink::OnBegin
3502+ * Purpose:
3503+ * Called by client engine to inform the client that a begin or
3504+ * resume has just occured. The render is informed the first time
3505+ * for the stream's time line after the resume.
3506+ *
3507+ */
3508+ STDMETHOD (OnBegin) (THIS_
3509+ ULONG32 ulTime);
3510+
3511+ /************************************************************************
3512+ * Method:
3513+ * IHXClientAdviseSink::OnBuffering
3514+ * Purpose:
3515+ * Called by client engine to inform the client that buffering
3516+ * of data is occuring. The render is informed of the reason for
3517+ * the buffering (start-up of stream, seek has occured, network
3518+ * congestion, etc.), as well as percentage complete of the
3519+ * buffering process.
3520+ *
3521+ */
3522+ STDMETHOD (OnBuffering) (THIS_
3523+ ULONG32 ulFlags,
3524+ UINT16 unPercentComplete);
3525+
3526+
3527+ /************************************************************************
3528+ * Method:
3529+ * IHXClientAdviseSink::OnContacting
3530+ * Purpose:
3531+ * Called by client engine to inform the client is contacting
3532+ * hosts(s).
3533+ *
3534+ */
3535+ STDMETHOD (OnContacting) (THIS_
3536+ const char* pHostName);
3537+
3538+ // IHXCallback
3539+ STDMETHOD(Func) (THIS);
3540+
3541+ /*
3542+ * IHXGroupSink methods
3543+ */
3544+ /************************************************************************
3545+ * Method:
3546+ * IHXGroupSink::GroupAdded
3547+ * Purpose:
3548+ * Notification of a new group being added to the presentation.
3549+ */
3550+ STDMETHOD(GroupAdded) (THIS_
3551+ UINT16 /*IN*/ uGroupIndex,
3552+ IHXGroup* /*IN*/ pGroup);
3553+
3554+ /************************************************************************
3555+ * Method:
3556+ * IHXGroupSink::GroupRemoved
3557+ * Purpose:
3558+ * Notification of a group being removed from the presentation.
3559+ */
3560+ STDMETHOD(GroupRemoved) (THIS_
3561+ UINT16 /*IN*/ uGroupIndex,
3562+ IHXGroup* /*IN*/ pGroup);
3563+
3564+ /************************************************************************
3565+ * Method:
3566+ * IHXGroupSink::AllGroupsRemoved
3567+ * Purpose:
3568+ * Notification that all groups have been removed from the
3569+ * current presentation.
3570+ */
3571+ STDMETHOD(AllGroupsRemoved) (THIS);
3572+
3573+ /************************************************************************
3574+ * Method:
3575+ * IHXGroupSink::TrackAdded
3576+ * Purpose:
3577+ * Notification of a new track being added to a group.
3578+ */
3579+ STDMETHOD(TrackAdded) (THIS_
3580+ UINT16 /*IN*/ uGroupIndex,
3581+ UINT16 /*IN*/ uTrackIndex,
3582+ IHXValues* /*IN*/ pTrack);
3583+
3584+ /************************************************************************
3585+ * Method:
3586+ * IHXGroupSink::TrackRemoved
3587+ * Purpose:
3588+ * Notification of a track being removed from a group.
3589+ */
3590+ STDMETHOD(TrackRemoved) (THIS_
3591+ UINT16 /*IN*/ uGroupIndex,
3592+ UINT16 /*IN*/ uTrackIndex,
3593+ IHXValues* /*IN*/ pTrack);
3594+
3595+ /************************************************************************
3596+ * Method:
3597+ * IHXGroupSink::TrackStarted
3598+ * Purpose:
3599+ * Notification of a track being started (to get duration, for
3600+ * instance...)
3601+ */
3602+ STDMETHOD (TrackStarted) (THIS_
3603+ UINT16 /*IN*/ uGroupIndex,
3604+ UINT16 /*IN*/ uTrackIndex,
3605+ IHXValues* /*IN*/ pTrack) ;
3606+
3607+ /************************************************************************
3608+ * Method:
3609+ * IHXGroupSink::TrackStopped
3610+ * Purpose:
3611+ * Notification of a track being stopped
3612+ *
3613+ */
3614+ STDMETHOD(TrackStopped) (THIS_
3615+ UINT16 /*IN*/ uGroupIndex,
3616+ UINT16 /*IN*/ uTrackIndex,
3617+ IHXValues* /*IN*/ pTrack);
3618+
3619+ /************************************************************************
3620+ * Method:
3621+ * IHXGroupSink::CurrentGroupSet
3622+ * Purpose:
3623+ * This group is being currently played in the presentation.
3624+ */
3625+ STDMETHOD(CurrentGroupSet) (THIS_
3626+ UINT16 /*IN*/ uGroupIndex,
3627+ IHXGroup* /*IN*/ pGroup);
3628+
3629+};
3630+
3631+#endif /* _EXAMPLECLSNK_ */
3632Index: helix-libs/clientapps/clutter/exaumgr.cpp
3633===================================================================
3634--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3635+++ helix-libs/clientapps/clutter/exaumgr.cpp 2008-10-13 06:05:49.000000000 -0700
3636@@ -0,0 +1,137 @@
3637+/* ***** BEGIN LICENSE BLOCK *****
3638+ * Version: RCSL 1.0/RPSL 1.0
3639+ *
3640+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
3641+ *
3642+ * The contents of this file, and the files included with this file, are
3643+ * subject to the current version of the RealNetworks Public Source License
3644+ * Version 1.0 (the "RPSL") available at
3645+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
3646+ * the file under the RealNetworks Community Source License Version 1.0
3647+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
3648+ * in which case the RCSL will apply. You may also obtain the license terms
3649+ * directly from RealNetworks. You may not use this file except in
3650+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
3651+ * applicable to this file, the RCSL. Please see the applicable RPSL or
3652+ * RCSL for the rights, obligations and limitations governing use of the
3653+ * contents of the file.
3654+ *
3655+ * This file is part of the Helix DNA Technology. RealNetworks is the
3656+ * developer of the Original Code and owns the copyrights in the portions
3657+ * it created.
3658+ *
3659+ * This file, and the files included with this file, is distributed and made
3660+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
3661+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
3662+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
3663+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
3664+ *
3665+ * Technology Compatibility Kit Test Suite(s) Location:
3666+ * http://www.helixcommunity.org/content/tck
3667+ *
3668+ * Contributor(s):
3669+ *
3670+ * ***** END LICENSE BLOCK ***** */
3671+
3672+#include <stdio.h>
3673+#include "hxtypes.h"
3674+#include "hxcom.h"
3675+#include "hxauth.h"
3676+#include "hxstrutl.h"
3677+#include "exaumgr.h"
3678+#include <ctype.h>
3679+#include "print.h"
3680+
3681+
3682+#include "globals.h"
3683+struct _stGlobals*& GetGlobal(); //in main.cpp
3684+
3685+
3686+
3687+ExampleAuthenticationManager::ExampleAuthenticationManager() :
3688+ m_lRefCount(0),
3689+ m_bSentPassword(FALSE)
3690+{
3691+}
3692+
3693+ExampleAuthenticationManager::~ExampleAuthenticationManager()
3694+{
3695+}
3696+
3697+STDMETHODIMP
3698+ExampleAuthenticationManager::QueryInterface(REFIID riid, void**ppvObj)
3699+{
3700+ if(IsEqualIID(riid, IID_IUnknown))
3701+ {
3702+ AddRef();
3703+ *ppvObj = (IUnknown*)(IHXAuthenticationManager*)this;
3704+ return HXR_OK;
3705+ }
3706+ else if(IsEqualIID(riid, IID_IHXAuthenticationManager))
3707+ {
3708+ AddRef();
3709+ *ppvObj = (IHXAuthenticationManager*)this;
3710+ return HXR_OK;
3711+ }
3712+ *ppvObj = NULL;
3713+ return HXR_NOINTERFACE;
3714+}
3715+
3716+STDMETHODIMP_(UINT32)
3717+ExampleAuthenticationManager::AddRef()
3718+{
3719+ return InterlockedIncrement(&m_lRefCount);
3720+}
3721+
3722+STDMETHODIMP_(UINT32)
3723+ExampleAuthenticationManager::Release()
3724+{
3725+ if (InterlockedDecrement(&m_lRefCount) > 0)
3726+ {
3727+ return m_lRefCount;
3728+ }
3729+
3730+ delete this;
3731+ return 0;
3732+}
3733+
3734+STDMETHODIMP
3735+ExampleAuthenticationManager::HandleAuthenticationRequest(IHXAuthenticationManagerResponse* pResponse)
3736+{
3737+ char username[1024] = ""; /* Flawfinder: ignore */
3738+ char password[1024] = ""; /* Flawfinder: ignore */
3739+ HX_RESULT res = HXR_FAIL;
3740+
3741+ if( !m_bSentPassword )
3742+ {
3743+ res = HXR_OK;
3744+ if (GetGlobal()->bEnableVerboseMode)
3745+ STDOUT("\nSending Username and Password...\n");
3746+
3747+ SafeStrCpy(username, GetGlobal()->g_pszUsername, 1024);
3748+ SafeStrCpy(password, GetGlobal()->g_pszPassword, 1024);
3749+
3750+ //strip trailing whitespace
3751+ char* c;
3752+ for(c = username + strlen(username) - 1;
3753+ c > username && isspace(*c);
3754+ c--)
3755+ ;
3756+ *(c+1) = 0;
3757+
3758+ for(c = password + strlen(password) - 1;
3759+ c > password && isspace(*c);
3760+ c--)
3761+ ;
3762+ *(c+1) = 0;
3763+
3764+ m_bSentPassword = TRUE;
3765+ }
3766+
3767+ if (GetGlobal()->bEnableVerboseMode && FAILED(res) )
3768+ STDOUT("\nInvalid Username and/or Password.\n");
3769+
3770+ pResponse->AuthenticationRequestDone(res, username, password);
3771+ return res;
3772+}
3773+
3774Index: helix-libs/clientapps/clutter/exaumgr.h
3775===================================================================
3776--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3777+++ helix-libs/clientapps/clutter/exaumgr.h 2008-10-13 06:05:49.000000000 -0700
3778@@ -0,0 +1,56 @@
3779+/* ***** BEGIN LICENSE BLOCK *****
3780+ * Version: RCSL 1.0/RPSL 1.0
3781+ *
3782+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
3783+ *
3784+ * The contents of this file, and the files included with this file, are
3785+ * subject to the current version of the RealNetworks Public Source License
3786+ * Version 1.0 (the "RPSL") available at
3787+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
3788+ * the file under the RealNetworks Community Source License Version 1.0
3789+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
3790+ * in which case the RCSL will apply. You may also obtain the license terms
3791+ * directly from RealNetworks. You may not use this file except in
3792+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
3793+ * applicable to this file, the RCSL. Please see the applicable RPSL or
3794+ * RCSL for the rights, obligations and limitations governing use of the
3795+ * contents of the file.
3796+ *
3797+ * This file is part of the Helix DNA Technology. RealNetworks is the
3798+ * developer of the Original Code and owns the copyrights in the portions
3799+ * it created.
3800+ *
3801+ * This file, and the files included with this file, is distributed and made
3802+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
3803+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
3804+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
3805+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
3806+ *
3807+ * Technology Compatibility Kit Test Suite(s) Location:
3808+ * http://www.helixcommunity.org/content/tck
3809+ *
3810+ * Contributor(s):
3811+ *
3812+ * ***** END LICENSE BLOCK ***** */
3813+
3814+#ifndef _EXAUMGR_H_
3815+#define _EXAUMGR_H_
3816+
3817+#include "hxauth.h"
3818+
3819+class ExampleAuthenticationManager : public IHXAuthenticationManager
3820+{
3821+private:
3822+ INT32 m_lRefCount;
3823+ HXBOOL m_bSentPassword;
3824+ ~ExampleAuthenticationManager();
3825+
3826+public:
3827+ ExampleAuthenticationManager();
3828+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj);
3829+ STDMETHOD_(UINT32,AddRef) (THIS);
3830+ STDMETHOD_(UINT32,Release) (THIS);
3831+
3832+ STDMETHOD(HandleAuthenticationRequest) (IHXAuthenticationManagerResponse* pResponse);
3833+};
3834+#endif
3835Index: helix-libs/clientapps/clutter/excallback.cpp
3836===================================================================
3837--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3838+++ helix-libs/clientapps/clutter/excallback.cpp 2008-10-13 06:05:49.000000000 -0700
3839@@ -0,0 +1,38 @@
3840+#include "excallback.h"
3841+
3842+STDMETHODIMP ExCallback::QueryInterface(REFIID riid, void** ppvObj)
3843+{
3844+ if (IsEqualIID(riid, IID_IHXCallback))
3845+ {
3846+ AddRef();
3847+ *ppvObj = (IHXCallback*)this;
3848+ return HXR_OK;
3849+ }
3850+ else if (IsEqualIID(riid, IID_IUnknown))
3851+ {
3852+ AddRef();
3853+ *ppvObj = this;
3854+ return HXR_OK;
3855+ }
3856+
3857+ *ppvObj = NULL;
3858+ return HXR_NOINTERFACE;
3859+}
3860+
3861+STDMETHODIMP_(ULONG32) ExCallback::AddRef()
3862+{
3863+ return HXR_OK;
3864+}
3865+
3866+STDMETHODIMP_(ULONG32) ExCallback::Release()
3867+{
3868+ return HXR_OK;
3869+}
3870+
3871+STDMETHODIMP ExCallback::Func(void)
3872+{
3873+ UINT32 sleepTime = 0;
3874+ m_pKicker->Kick(HXGetCurrentThreadID, &sleepTime);
3875+ printf("Get called, sleeptime:%d\n", sleepTime);
3876+ m_pScheduler->RelativeEnter(this, sleepTime/1000);
3877+}
3878Index: helix-libs/clientapps/clutter/excallback.h
3879===================================================================
3880--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3881+++ helix-libs/clientapps/clutter/excallback.h 2008-10-13 06:05:49.000000000 -0700
3882@@ -0,0 +1,32 @@
3883+#ifndef _EX_CALLBACK_H_
3884+#define _EX_CALLBACK_H_
3885+
3886+#include "hxcom.h"
3887+#include "hxengin.h"
3888+#include "ihxmedpltfm.h"
3889+#include "thrdutil.h"
3890+
3891+class ExCallback : public IHXCallback
3892+{
3893+ public:
3894+ ExCallback(IHXScheduler *pIHXScheduler, IHXMediaPlatformKicker *pKicker) : m_pScheduler(pIHXScheduler), m_pKicker(pKicker){};
3895+
3896+ /*
3897+ * * IUnknown methods
3898+ * */
3899+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj);
3900+ STDMETHOD_(ULONG32,AddRef) (THIS);
3901+ STDMETHOD_(ULONG32,Release) (THIS);
3902+
3903+ /*
3904+ * * IHXCallback methods
3905+ * */
3906+ STDMETHOD(Func) (THIS);
3907+ private:
3908+ IHXScheduler *m_pScheduler;
3909+ IHXMediaPlatformKicker* m_pKicker;
3910+
3911+};
3912+
3913+
3914+#endif
3915Index: helix-libs/clientapps/clutter/excontxt.cpp
3916===================================================================
3917--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3918+++ helix-libs/clientapps/clutter/excontxt.cpp 2008-10-13 06:05:49.000000000 -0700
3919@@ -0,0 +1,315 @@
3920+/* ***** BEGIN LICENSE BLOCK *****
3921+ * Version: RCSL 1.0/RPSL 1.0
3922+ *
3923+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
3924+ *
3925+ * The contents of this file, and the files included with this file, are
3926+ * subject to the current version of the RealNetworks Public Source License
3927+ * Version 1.0 (the "RPSL") available at
3928+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
3929+ * the file under the RealNetworks Community Source License Version 1.0
3930+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
3931+ * in which case the RCSL will apply. You may also obtain the license terms
3932+ * directly from RealNetworks. You may not use this file except in
3933+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
3934+ * applicable to this file, the RCSL. Please see the applicable RPSL or
3935+ * RCSL for the rights, obligations and limitations governing use of the
3936+ * contents of the file.
3937+ *
3938+ * This file is part of the Helix DNA Technology. RealNetworks is the
3939+ * developer of the Original Code and owns the copyrights in the portions
3940+ * it created.
3941+ *
3942+ * This file, and the files included with this file, is distributed and made
3943+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
3944+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
3945+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
3946+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
3947+ *
3948+ * Technology Compatibility Kit Test Suite(s) Location:
3949+ * http://www.helixcommunity.org/content/tck
3950+ *
3951+ * Contributor(s):
3952+ *
3953+ * ***** END LICENSE BLOCK ***** */
3954+
3955+#include "hxtypes.h"
3956+
3957+#include "hxwintyp.h"
3958+#include "hxcom.h"
3959+#include "hxcomm.h"
3960+#include "hxwin.h"
3961+#include "fivemmap.h"
3962+
3963+#include "hxbuffer.h"
3964+#include "hxmangle.h"
3965+
3966+#include "hxclsnk.h"
3967+#include "hxgroup.h"
3968+#include "hxerror.h"
3969+#include "hxprefs.h"
3970+#include "hxstrutl.h"
3971+
3972+#include "exadvsnk.h"
3973+#include "exstateadvsnk.h"
3974+#include "exerror.h"
3975+#include "exsitsup.h"
3976+#include "exaumgr.h"
3977+#include "hxprdnld.h"
3978+#include "exprdnld.h"
3979+
3980+#include "excontxt.h"
3981+
3982+extern HXBOOL bEnableAdviceSink;
3983+
3984+
3985+ExampleClientContext::ExampleClientContext(LONG32 lClientIndex)
3986+ : m_lRefCount(0)
3987+ , m_lClientIndex(lClientIndex)
3988+ , m_pClientSink(NULL)
3989+ , m_pClientStateSink(NULL)
3990+ , m_pErrorSink(NULL)
3991+ , m_pAuthMgr(NULL)
3992+ , m_pSiteSupplier(NULL)
3993+ , m_pDefaultPrefs(NULL)
3994+#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS)
3995+ , m_pPrgDnldStatusObserver(NULL)
3996+#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS.
3997+{
3998+}
3999+
4000+
4001+ExampleClientContext::~ExampleClientContext()
4002+{
4003+ Close();
4004+};
4005+
4006+void ExampleClientContext::Init(IUnknown* /*IN*/ pUnknown,
4007+ IHXPreferences* /*IN*/ pPreferences,
4008+ char* /*IN*/ pszGUID,
4009+ on_buffering_cb_t on_buffering_cb,
4010+ on_pos_length_cb_t on_pos_length_cb,
4011+ on_state_change_cb_t on_state_change_cb,
4012+ on_new_frame_cb_t on_new_frame_cb,
4013+ void *context)
4014+{
4015+ char* pszCipher = NULL;
4016+
4017+
4018+ m_pClientSink = new ExampleClientAdviceSink(pUnknown, m_lClientIndex, on_buffering_cb, on_pos_length_cb, context);
4019+
4020+ m_pClientStateSink = new ExampleClientStateAdviceSink(pUnknown, m_lClientIndex, on_state_change_cb, context);
4021+ m_pErrorSink = new ExampleErrorSink(pUnknown);
4022+#if defined(HELIX_FEATURE_AUTHENTICATION)
4023+ m_pAuthMgr = new ExampleAuthenticationManager();
4024+ if(m_pAuthMgr)
4025+ {
4026+ m_pAuthMgr->AddRef();
4027+ }
4028+
4029+#endif /* #if defined(HELIX_FEATURE_AUTHENTICATION) */
4030+#if defined(HELIX_FEATURE_VIDEO)
4031+ m_pSiteSupplier = new ExampleSiteSupplier(pUnknown, on_new_frame_cb, context);
4032+#endif
4033+
4034+#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS)
4035+ m_pPrgDnldStatusObserver = new ExamplePDStatusObserver(pUnknown);
4036+#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS.
4037+
4038+ if (m_pClientSink)
4039+ {
4040+ m_pClientSink->AddRef();
4041+ }
4042+
4043+ if (m_pErrorSink)
4044+ {
4045+ m_pErrorSink->AddRef();
4046+ }
4047+
4048+ if (m_pClientStateSink)
4049+ m_pClientStateSink->AddRef();
4050+
4051+ if(m_pSiteSupplier)
4052+ {
4053+ m_pSiteSupplier->AddRef();
4054+ }
4055+
4056+ if (pPreferences)
4057+ {
4058+ m_pDefaultPrefs = pPreferences;
4059+ m_pDefaultPrefs->AddRef();
4060+ }
4061+
4062+ if (pszGUID && *pszGUID)
4063+ {
4064+ // Encode GUID
4065+ pszCipher = Cipher(pszGUID);
4066+ SafeStrCpy(m_pszGUID, pszCipher, 256);
4067+ }
4068+ else
4069+ {
4070+ m_pszGUID[0] = '\0';
4071+ }
4072+}
4073+
4074+void ExampleClientContext::Close()
4075+{
4076+ HX_RELEASE(m_pClientSink);
4077+ HX_RELEASE(m_pClientStateSink);
4078+ HX_RELEASE(m_pErrorSink);
4079+#if defined(HELIX_FEATURE_AUTHENTICATION)
4080+ HX_RELEASE(m_pAuthMgr);
4081+#endif /* #if defined(HELIX_FEATURE_AUTHENTICATION) */
4082+ HX_RELEASE(m_pSiteSupplier);
4083+ HX_RELEASE(m_pDefaultPrefs);
4084+#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS)
4085+ HX_RELEASE(m_pPrgDnldStatusObserver);
4086+#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS.
4087+}
4088+
4089+
4090+
4091+// *** IUnknown methods ***
4092+
4093+/////////////////////////////////////////////////////////////////////////
4094+// Method:
4095+// IUnknown::QueryInterface
4096+// Purpose:
4097+// Implement this to export the interfaces supported by your
4098+// object.
4099+//
4100+STDMETHODIMP ExampleClientContext::QueryInterface(REFIID riid, void** ppvObj)
4101+{
4102+ if (IsEqualIID(riid, IID_IUnknown))
4103+ {
4104+ AddRef();
4105+ *ppvObj = this;
4106+ return HXR_OK;
4107+ }
4108+ else if (IsEqualIID(riid, IID_IHXPreferences))
4109+ {
4110+ AddRef();
4111+ *ppvObj = (IHXPreferences*)this;
4112+ return HXR_OK;
4113+ }
4114+ else if (m_pClientSink &&
4115+ m_pClientSink->QueryInterface(riid, ppvObj) == HXR_OK)
4116+ {
4117+ return HXR_OK;
4118+ }
4119+ else if (m_pErrorSink &&
4120+ m_pErrorSink->QueryInterface(riid, ppvObj) == HXR_OK)
4121+ {
4122+ return HXR_OK;
4123+ }
4124+ else if (m_pClientStateSink &&
4125+ m_pClientStateSink->QueryInterface(riid, ppvObj) == HXR_OK)
4126+ {
4127+ return HXR_OK;
4128+ }
4129+#if defined(HELIX_FEATURE_AUTHENTICATION)
4130+ else if(m_pAuthMgr &&
4131+ m_pAuthMgr->QueryInterface(riid, ppvObj) == HXR_OK)
4132+ {
4133+ return HXR_OK;
4134+ }
4135+#endif /* #if defined(HELIX_FEATURE_AUTHENTICATION) */
4136+ else if(m_pSiteSupplier &&
4137+ m_pSiteSupplier->QueryInterface(riid, ppvObj) == HXR_OK)
4138+ {
4139+ return HXR_OK;
4140+ }
4141+ *ppvObj = NULL;
4142+ return HXR_NOINTERFACE;
4143+}
4144+
4145+/////////////////////////////////////////////////////////////////////////
4146+// Method:
4147+// IUnknown::AddRef
4148+// Purpose:
4149+// Everyone usually implements this the same... feel free to use
4150+// this implementation.
4151+//
4152+STDMETHODIMP_(ULONG32) ExampleClientContext::AddRef()
4153+{
4154+ return InterlockedIncrement(&m_lRefCount);
4155+}
4156+
4157+/////////////////////////////////////////////////////////////////////////
4158+// Method:
4159+// IUnknown::Release
4160+// Purpose:
4161+// Everyone usually implements this the same... feel free to use
4162+// this implementation.
4163+//
4164+STDMETHODIMP_(ULONG32) ExampleClientContext::Release()
4165+{
4166+ if (InterlockedDecrement(&m_lRefCount) > 0)
4167+ {
4168+ return m_lRefCount;
4169+ }
4170+
4171+ delete this;
4172+ return 0;
4173+}
4174+
4175+
4176+// *** IUnknown methods ***
4177+
4178+/////////////////////////////////////////////////////////////////////////
4179+// Method:
4180+// IHXPreferences::ReadPref
4181+// Purpose:
4182+// Read a Preference from the registry.
4183+//
4184+STDMETHODIMP
4185+ExampleClientContext::ReadPref(const char* pref_key, IHXBuffer*& buffer)
4186+{
4187+ HX_RESULT hResult = HXR_OK;
4188+ char* pszCipher = NULL;
4189+
4190+ if ((stricmp(pref_key, CLIENT_GUID_REGNAME) == 0) &&
4191+ (*m_pszGUID))
4192+ {
4193+ // Create a Buffer
4194+ buffer = new CHXBuffer();
4195+ buffer->AddRef();
4196+
4197+ // Copy the encoded GUID into the buffer
4198+ buffer->Set((UCHAR*)m_pszGUID, strlen(m_pszGUID) + 1);
4199+ }
4200+ else if (m_pDefaultPrefs)
4201+ {
4202+ hResult = m_pDefaultPrefs->ReadPref(pref_key, buffer);
4203+ }
4204+ else
4205+ {
4206+ hResult = HXR_NOTIMPL;
4207+ }
4208+
4209+ return hResult;
4210+}
4211+
4212+/////////////////////////////////////////////////////////////////////////
4213+// Method:
4214+// IHXPreferences::WritePref
4215+// Purpose:
4216+// Write a Preference to the registry.
4217+//
4218+STDMETHODIMP
4219+ExampleClientContext::WritePref(const char* pref_key, IHXBuffer* buffer)
4220+{
4221+ if (m_pDefaultPrefs)
4222+ {
4223+ return m_pDefaultPrefs->WritePref(pref_key, buffer);
4224+ }
4225+ else
4226+ {
4227+ return HXR_OK;
4228+ }
4229+}
4230+
4231+EHXClientState ExampleClientContext::GetState()
4232+{
4233+ return m_pClientStateSink->GetState();
4234+};
4235Index: helix-libs/clientapps/clutter/excontxt.h
4236===================================================================
4237--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4238+++ helix-libs/clientapps/clutter/excontxt.h 2008-10-13 06:05:49.000000000 -0700
4239@@ -0,0 +1,106 @@
4240+/* ***** BEGIN LICENSE BLOCK *****
4241+ * Version: RCSL 1.0/RPSL 1.0
4242+ *
4243+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
4244+ *
4245+ * The contents of this file, and the files included with this file, are
4246+ * subject to the current version of the RealNetworks Public Source License
4247+ * Version 1.0 (the "RPSL") available at
4248+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
4249+ * the file under the RealNetworks Community Source License Version 1.0
4250+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
4251+ * in which case the RCSL will apply. You may also obtain the license terms
4252+ * directly from RealNetworks. You may not use this file except in
4253+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
4254+ * applicable to this file, the RCSL. Please see the applicable RPSL or
4255+ * RCSL for the rights, obligations and limitations governing use of the
4256+ * contents of the file.
4257+ *
4258+ * This file is part of the Helix DNA Technology. RealNetworks is the
4259+ * developer of the Original Code and owns the copyrights in the portions
4260+ * it created.
4261+ *
4262+ * This file, and the files included with this file, is distributed and made
4263+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
4264+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
4265+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
4266+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
4267+ *
4268+ * Technology Compatibility Kit Test Suite(s) Location:
4269+ * http://www.helixcommunity.org/content/tck
4270+ *
4271+ * Contributor(s):
4272+ *
4273+ * ***** END LICENSE BLOCK ***** */
4274+#ifndef _EXCONTXT_H_
4275+#define _EXCONTXT_H_
4276+
4277+#include "exerror.h"
4278+#include "exsitsup.h"
4279+#include "hxprefs.h"
4280+#include "player.h"
4281+#include "hxclsnk.h"
4282+
4283+struct IUnknown;
4284+struct IHXPreferences;
4285+class ExampleClientAdviceSink;
4286+class ExampleClientStateAdviceSink;
4287+class ExampleErrorMessages;
4288+class ExampleAuthenticationManager;
4289+class ExamplePDStatusObserver;
4290+
4291+
4292+class ExampleClientContext : public IHXPreferences
4293+{
4294+private:
4295+ LONG32 m_lRefCount;
4296+ LONG32 m_lClientIndex;
4297+
4298+ ExampleClientAdviceSink* m_pClientSink;
4299+ ExampleClientStateAdviceSink* m_pClientStateSink;
4300+ ExampleErrorSink* m_pErrorSink;
4301+ ExampleAuthenticationManager* m_pAuthMgr;
4302+
4303+ ExampleSiteSupplier* m_pSiteSupplier;
4304+ ExamplePDStatusObserver* m_pPrgDnldStatusObserver;
4305+ IHXPreferences* m_pDefaultPrefs;
4306+ char m_pszGUID[256]; /* Flawfinder: ignore */
4307+
4308+
4309+public:
4310+
4311+ ExampleClientContext(LONG32 /*IN*/ lClientIndex);
4312+ ~ExampleClientContext();
4313+
4314+ void Init(IUnknown* /*IN*/ pUnknown,
4315+ IHXPreferences* /*IN*/ pPreferences,
4316+ char* /*IN*/ pszGUID,
4317+ on_buffering_cb_t on_buffering_cb = NULL,
4318+ on_pos_length_cb_t on_pos_length_cb = NULL,
4319+ on_state_change_cb_t on_state_change_cb = NULL,
4320+ on_new_frame_cb_t on_new_frame_cb = NULL,
4321+ void *context = NULL);
4322+ void Close();
4323+
4324+ EHXClientState GetState();
4325+
4326+ /*
4327+ * IUnknown methods
4328+ */
4329+ STDMETHOD(QueryInterface) (THIS_
4330+ REFIID riid,
4331+ void** ppvObj);
4332+
4333+ STDMETHOD_(ULONG32,AddRef) (THIS);
4334+ STDMETHOD_(ULONG32,Release) (THIS);
4335+
4336+ /*
4337+ * IHXPreferences methods
4338+ */
4339+ STDMETHOD(ReadPref) (THIS_ const char* pref_key,
4340+ IHXBuffer*& buffer);
4341+ STDMETHOD(WritePref) (THIS_ const char* pref_key,
4342+ IHXBuffer* buffer);
4343+};
4344+
4345+#endif
4346Index: helix-libs/clientapps/clutter/exerror.cpp
4347===================================================================
4348--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4349+++ helix-libs/clientapps/clutter/exerror.cpp 2008-10-13 06:05:49.000000000 -0700
4350@@ -0,0 +1,230 @@
4351+/* ***** BEGIN LICENSE BLOCK *****
4352+ * Version: RCSL 1.0/RPSL 1.0
4353+ *
4354+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
4355+ *
4356+ * The contents of this file, and the files included with this file, are
4357+ * subject to the current version of the RealNetworks Public Source License
4358+ * Version 1.0 (the "RPSL") available at
4359+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
4360+ * the file under the RealNetworks Community Source License Version 1.0
4361+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
4362+ * in which case the RCSL will apply. You may also obtain the license terms
4363+ * directly from RealNetworks. You may not use this file except in
4364+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
4365+ * applicable to this file, the RCSL. Please see the applicable RPSL or
4366+ * RCSL for the rights, obligations and limitations governing use of the
4367+ * contents of the file.
4368+ *
4369+ * This file is part of the Helix DNA Technology. RealNetworks is the
4370+ * developer of the Original Code and owns the copyrights in the portions
4371+ * it created.
4372+ *
4373+ * This file, and the files included with this file, is distributed and made
4374+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
4375+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
4376+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
4377+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
4378+ *
4379+ * Technology Compatibility Kit Test Suite(s) Location:
4380+ * http://www.helixcommunity.org/content/tck
4381+ *
4382+ * Contributor(s):
4383+ *
4384+ * ***** END LICENSE BLOCK ***** */
4385+
4386+#include "hxtypes.h"
4387+
4388+#include "hxcom.h"
4389+#include "hxcomm.h"
4390+#include "hxerror.h"
4391+#include "hxstrutl.h"
4392+#include "hxcore.h"
4393+#include "hxassert.h"
4394+#include "hxbuffer.h"
4395+
4396+#ifdef __TCS__
4397+#include "hxresult.h"
4398+#endif
4399+
4400+#if !defined(HELIX_CONFIG_MINIMIZE_SIZE)
4401+#include "HXErrorCodeStrings.h"
4402+#endif
4403+
4404+#include "exerror.h"
4405+
4406+#include <stdio.h>
4407+#include "print.h"
4408+
4409+#include "globals.h"
4410+struct _stGlobals*& GetGlobal(); //in main.cpp
4411+
4412+#ifdef __TCS__
4413+#if defined(__cplusplus)
4414+extern "C" {
4415+#endif
4416+
4417+void hookRealAudio_ReportError(int err, long errVal);
4418+
4419+#ifdef __cplusplus
4420+}
4421+#endif
4422+#endif
4423+
4424+ExampleErrorSink::ExampleErrorSink(IUnknown* pUnknown)
4425+ : m_lRefCount(0),
4426+ m_pPlayer(NULL)
4427+{
4428+ IHXClientEngine* pEngine = NULL;
4429+ pUnknown->QueryInterface(IID_IHXClientEngine, (void**)&pEngine );
4430+ if( pEngine )
4431+ {
4432+ IUnknown* pTmp = NULL;
4433+ pEngine->GetPlayer(0, pTmp);
4434+ m_pPlayer = (IHXPlayer*)pTmp;
4435+ }
4436+
4437+ HX_RELEASE( pEngine );
4438+ HX_ASSERT(m_pPlayer);
4439+}
4440+
4441+ExampleErrorSink::~ExampleErrorSink()
4442+{
4443+ HX_RELEASE(m_pPlayer);
4444+}
4445+
4446+// *** IUnknown methods ***
4447+
4448+/////////////////////////////////////////////////////////////////////////
4449+// Method:
4450+// IUnknown::QueryInterface
4451+// Purpose:
4452+// Implement this to export the interfaces supported by your
4453+// object.
4454+//
4455+STDMETHODIMP ExampleErrorSink::QueryInterface(REFIID riid, void** ppvObj)
4456+{
4457+ if (IsEqualIID(riid, IID_IUnknown))
4458+ {
4459+ AddRef();
4460+ *ppvObj = (IUnknown*)(IHXErrorSink*)this;
4461+ return HXR_OK;
4462+ }
4463+ else if (IsEqualIID(riid, IID_IHXErrorSink))
4464+ {
4465+ AddRef();
4466+ *ppvObj = (IHXErrorSink*) this;
4467+ return HXR_OK;
4468+ }
4469+
4470+ *ppvObj = NULL;
4471+ return HXR_NOINTERFACE;
4472+}
4473+
4474+/////////////////////////////////////////////////////////////////////////
4475+// Method:
4476+// IUnknown::AddRef
4477+// Purpose:
4478+// Everyone usually implements this the same... feel free to use
4479+// this implementation.
4480+//
4481+STDMETHODIMP_(ULONG32) ExampleErrorSink::AddRef()
4482+{
4483+ return InterlockedIncrement(&m_lRefCount);
4484+}
4485+
4486+/////////////////////////////////////////////////////////////////////////
4487+// Method:
4488+// IUnknown::Release
4489+// Purpose:
4490+// Everyone usually implements this the same... feel free to use
4491+// this implementation.
4492+//
4493+STDMETHODIMP_(ULONG32) ExampleErrorSink::Release()
4494+{
4495+ if (InterlockedDecrement(&m_lRefCount) > 0)
4496+ {
4497+ return m_lRefCount;
4498+ }
4499+
4500+ delete this;
4501+ return 0;
4502+}
4503+
4504+/*
4505+ * IHXErrorSink methods
4506+ */
4507+
4508+STDMETHODIMP
4509+ExampleErrorSink::ErrorOccurred(const UINT8 unSeverity,
4510+ const ULONG32 ulHXCode,
4511+ const ULONG32 ulUserCode,
4512+ const char* pUserString,
4513+ const char* pMoreInfoURL
4514+ )
4515+{
4516+ char HXDefine[256]; /* Flawfinder: ignore */
4517+
4518+ // Store the code, so we can return it from main()
4519+ GetGlobal()->g_Error = ulHXCode;
4520+
4521+ ConvertErrorToString(ulHXCode, HXDefine, 256);
4522+
4523+#ifdef __TCS__
4524+ hookRealAudio_ReportError(ulHXCode,ulUserCode);
4525+#else
4526+ STDOUT("Report(%d, %ld, \"%s\", %ld, \"%s\", \"%s\")\n",
4527+ unSeverity,
4528+ ulHXCode,
4529+ (pUserString && *pUserString) ? pUserString : "(NULL)",
4530+ ulUserCode,
4531+ (pMoreInfoURL && *pMoreInfoURL) ? pMoreInfoURL : "(NULL)",
4532+ HXDefine);
4533+#endif
4534+
4535+ return HXR_OK;
4536+}
4537+
4538+void
4539+ExampleErrorSink::ConvertErrorToString(const ULONG32 ulHXCode, char* pszBuffer, UINT32 ulBufLen)
4540+{
4541+ IHXErrorMessages* pErrMsg = NULL;
4542+
4543+ if( !pszBuffer)
4544+ return;
4545+
4546+ pszBuffer[0]='\0';
4547+
4548+ HX_ASSERT(m_pPlayer);
4549+ if( m_pPlayer)
4550+ {
4551+ m_pPlayer->QueryInterface(IID_IHXErrorMessages, (void**)&pErrMsg);
4552+ if( pErrMsg )
4553+ {
4554+ IHXBuffer* pMessage = pErrMsg->GetErrorText(ulHXCode);
4555+ if( pMessage )
4556+ {
4557+ SafeStrCpy( pszBuffer, (const char*)pMessage->GetBuffer(), ulBufLen);
4558+ pMessage->Release();
4559+ }
4560+ }
4561+ HX_RELEASE(pErrMsg);
4562+ }
4563+
4564+ if( strlen(pszBuffer)==0 )
4565+ {
4566+#if !defined(HELIX_CONFIG_MINIMIZE_SIZE)
4567+ const char* pszHXCodeString = HXErrorCodeToString(ulHXCode);
4568+ if (pszHXCodeString)
4569+ {
4570+ SafeSprintf( pszBuffer, ulBufLen, "%s", pszHXCodeString);
4571+ }
4572+ else
4573+#endif
4574+ {
4575+ HX_ASSERT(FALSE);
4576+ SafeSprintf( pszBuffer, ulBufLen, "Can't convert error code %p - make sure it's defined in common/util/HXErrorCodeStrings.c", ulHXCode );
4577+ }
4578+ }
4579+}
4580+
4581Index: helix-libs/clientapps/clutter/exerror.h
4582===================================================================
4583--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4584+++ helix-libs/clientapps/clutter/exerror.h 2008-10-13 06:05:49.000000000 -0700
4585@@ -0,0 +1,92 @@
4586+/* ***** BEGIN LICENSE BLOCK *****
4587+ * Version: RCSL 1.0/RPSL 1.0
4588+ *
4589+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
4590+ *
4591+ * The contents of this file, and the files included with this file, are
4592+ * subject to the current version of the RealNetworks Public Source License
4593+ * Version 1.0 (the "RPSL") available at
4594+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
4595+ * the file under the RealNetworks Community Source License Version 1.0
4596+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
4597+ * in which case the RCSL will apply. You may also obtain the license terms
4598+ * directly from RealNetworks. You may not use this file except in
4599+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
4600+ * applicable to this file, the RCSL. Please see the applicable RPSL or
4601+ * RCSL for the rights, obligations and limitations governing use of the
4602+ * contents of the file.
4603+ *
4604+ * This file is part of the Helix DNA Technology. RealNetworks is the
4605+ * developer of the Original Code and owns the copyrights in the portions
4606+ * it created.
4607+ *
4608+ * This file, and the files included with this file, is distributed and made
4609+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
4610+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
4611+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
4612+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
4613+ *
4614+ * Technology Compatibility Kit Test Suite(s) Location:
4615+ * http://www.helixcommunity.org/content/tck
4616+ *
4617+ * Contributor(s):
4618+ *
4619+ * ***** END LICENSE BLOCK ***** */
4620+
4621+#ifndef _EXAMPLEERRORMESSAGES_
4622+#define _EXAMPLEERRORMESSAGES_
4623+
4624+#include "hxerror.h"
4625+
4626+struct IUnknown;
4627+struct IHXErrorMessages;
4628+struct IHXPlayer;
4629+
4630+class ExampleErrorSink : public IHXErrorSink
4631+{
4632+public:
4633+
4634+ ExampleErrorSink(IUnknown* pUnknown);
4635+ ~ExampleErrorSink();
4636+
4637+ /*
4638+ * IUnknown methods
4639+ */
4640+ STDMETHOD(QueryInterface) (THIS_
4641+ REFIID riid,
4642+ void** ppvObj);
4643+
4644+ STDMETHOD_(ULONG32,AddRef) (THIS);
4645+
4646+ STDMETHOD_(ULONG32,Release) (THIS);
4647+
4648+ /*
4649+ * IHXErrorSink methods
4650+ */
4651+
4652+ /************************************************************************
4653+ * Method:
4654+ * IHXErrorSink::ErrorOccurred
4655+ * Purpose:
4656+ * After you have registered your error sink with an IHXErrorSinkControl
4657+ * (either in the server or player core) this method will be called to
4658+ * report an error, event, or status message.
4659+ *
4660+ * The meaning of the arguments is exactly as described in
4661+ * hxerror.h
4662+ */
4663+ STDMETHOD(ErrorOccurred) (THIS_
4664+ const UINT8 unSeverity,
4665+ const ULONG32 ulHXCode,
4666+ const ULONG32 ulUserCode,
4667+ const char* pUserString,
4668+ const char* pMoreInfoURL
4669+ );
4670+
4671+protected:
4672+ LONG32 m_lRefCount;
4673+ IHXPlayer* m_pPlayer;
4674+
4675+ void ConvertErrorToString (const ULONG32 ulHXCode, char* pszBuffer, UINT32 ulBufLen);
4676+};
4677+#endif /*_EXAMPLEERRORMESSAGES_*/
4678Index: helix-libs/clientapps/clutter/exprdnld.cpp
4679===================================================================
4680--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4681+++ helix-libs/clientapps/clutter/exprdnld.cpp 2008-10-13 06:05:49.000000000 -0700
4682@@ -0,0 +1,468 @@
4683+/* ***** BEGIN LICENSE BLOCK *****
4684+ * Version: RCSL 1.0/RPSL 1.0
4685+ *
4686+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
4687+ *
4688+ * The contents of this file, and the files included with this file, are
4689+ * subject to the current version of the RealNetworks Public Source License
4690+ * Version 1.0 (the "RPSL") available at
4691+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
4692+ * the file under the RealNetworks Community Source License Version 1.0
4693+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
4694+ * in which case the RCSL will apply. You may also obtain the license terms
4695+ * directly from RealNetworks. You may not use this file except in
4696+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
4697+ * applicable to this file, the RCSL. Please see the applicable RPSL or
4698+ * RCSL for the rights, obligations and limitations governing use of the
4699+ * contents of the file.
4700+ *
4701+ * This file is part of the Helix DNA Technology. RealNetworks is the
4702+ * developer of the Original Code and owns the copyrights in the portions
4703+ * it created.
4704+ *
4705+ * This file, and the files included with this file, is distributed and made
4706+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
4707+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
4708+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
4709+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
4710+ *
4711+ * Technology Compatibility Kit Test Suite(s) Location:
4712+ * http://www.helixcommunity.org/content/tck
4713+ *
4714+ * Contributor(s):
4715+ *
4716+ * ***** END LICENSE BLOCK ***** */
4717+
4718+#include "hxcom.h"
4719+#include "hxtypes.h"
4720+#include "hxcore.h"
4721+#include "hxprdnld.h"
4722+#include "exprdnld.h"
4723+#include "print.h"
4724+
4725+#include "globals.h"
4726+struct _stGlobals*& GetGlobal();
4727+
4728+UINT32 GetTime(); // /In main.cpp.
4729+
4730+// /#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS)
4731+/************************************************************************
4732+ * Method:
4733+ * Constructor
4734+ */
4735+ExamplePDStatusObserver::ExamplePDStatusObserver(IUnknown* pUnkPlayer)
4736+ : m_lRefCount(0)
4737+ , m_pPrgDnldStatusMgr(NULL)
4738+ , m_pUnkPlayer(pUnkPlayer)
4739+ , m_pHXPlayer(NULL)
4740+ , m_bPlayerIsPausedByThis(FALSE)
4741+ , m_bFirstPDStatusMessage(TRUE)
4742+ , m_ulTotalDurReported(HX_PROGDOWNLD_UNKNOWN_DURATION)
4743+ , m_ulDurSoFar(HX_PROGDOWNLD_UNKNOWN_DURATION)
4744+ , m_ulCurStatusUpdateGranularity(
4745+ HX_PROGDOWNLD_DEFAULT_STATUSREPORT_INTERVAL_MSEC)
4746+ , m_bInitialPrerollUpateGranularitySet(FALSE)
4747+ , m_bDownloadIsComplete(FALSE)
4748+{
4749+ if (m_pUnkPlayer)
4750+ {
4751+ m_pUnkPlayer->QueryInterface(IID_IHXPlayer,
4752+ (void**)&m_pHXPlayer);
4753+
4754+ m_pUnkPlayer->QueryInterface(IID_IHXPDStatusMgr,
4755+ (void**)&m_pPrgDnldStatusMgr);
4756+
4757+ if (m_pPrgDnldStatusMgr)
4758+ {
4759+ // /Add ourselves as an observer of progressive download playback:
4760+ m_pPrgDnldStatusMgr->AddObserver(this);
4761+ // /Set granularity of status reports to 10 per second until we
4762+ // know enough about the situation to go back to getting reports
4763+ // at the default interval (every 5 seconds). Do that as soon
4764+ // as we receive the first progress report:
4765+ m_ulCurStatusUpdateGranularity = 100;
4766+ }
4767+
4768+ m_pUnkPlayer->AddRef();
4769+ }
4770+};
4771+
4772+/************************************************************************
4773+ * Method:
4774+ * Destructor
4775+ */
4776+ExamplePDStatusObserver::~ExamplePDStatusObserver()
4777+{
4778+ if (m_pPrgDnldStatusMgr)
4779+ {
4780+ m_pPrgDnldStatusMgr->RemoveObserver(this);
4781+ }
4782+ HX_RELEASE(m_pPrgDnldStatusMgr);
4783+ HX_RELEASE(m_pHXPlayer);
4784+ HX_RELEASE(m_pUnkPlayer);
4785+}
4786+
4787+/************************************************************************
4788+ * Method:
4789+ * IUnknown::QueryInterface
4790+ */
4791+STDMETHODIMP
4792+ExamplePDStatusObserver::QueryInterface(REFIID riid, void** ppvObj)
4793+{
4794+ if (IsEqualIID(riid, IID_IUnknown))
4795+ {
4796+ AddRef();
4797+ *ppvObj = (IUnknown*)(IHXPDStatusObserver*)this;
4798+ return HXR_OK;
4799+ }
4800+ else if (IsEqualIID(riid, IID_IHXPDStatusObserver))
4801+ {
4802+ AddRef();
4803+ *ppvObj = (IHXPDStatusObserver*)this;
4804+ return HXR_OK;
4805+ }
4806+
4807+ *ppvObj = NULL;
4808+ return HXR_NOINTERFACE;
4809+}
4810+
4811+/************************************************************************
4812+ * Method:
4813+ * IUnknown::AddRef
4814+ */
4815+STDMETHODIMP_(ULONG32)
4816+ExamplePDStatusObserver::AddRef()
4817+{
4818+ return InterlockedIncrement(&m_lRefCount);
4819+}
4820+
4821+/************************************************************************
4822+ * Method:
4823+ * IUnknown::Release
4824+ */
4825+STDMETHODIMP_(ULONG32)
4826+ExamplePDStatusObserver::Release()
4827+{
4828+ if (InterlockedDecrement(&m_lRefCount) > 0)
4829+ {
4830+ return m_lRefCount;
4831+ }
4832+
4833+ delete this;
4834+ return 0;
4835+}
4836+
4837+
4838+/*
4839+ * IHXPDStatusObserver methods
4840+ */
4841+
4842+/************************************************************************
4843+ * Method:
4844+ * IHXPDStatusObserver::OnDownloadProgress
4845+ *
4846+ * Purpose:
4847+ * Notification from IHXPDStatusMgr of download progress when
4848+ * file size changes.
4849+ *
4850+ * lTimeSurplus:
4851+ * - When negative, the absolute value of it is the estimated number
4852+ * of milliseconds of wall-clock time that need to pass while
4853+ * downloading continues before reaching the point at which playback
4854+ * can resume and play the remainder of the stream without having to
4855+ * buffer, assuming that playback is paused and remains so during
4856+ * that period.
4857+ * - When positive, it is the estimated number of milliseconds of
4858+ * wall-clock time between when the download should complete and when
4859+ * the natural content play-out duration will be reached, assuming
4860+ * playback is currently progressing and that no pause will occur.
4861+ *
4862+ * Note: ulNewDurSoFar can be HX_PROGDOWNLD_UNKNOWN_DURATION if the
4863+ * IHXMediaBytesToMediaDur was not available to, or was unable to
4864+ * convert the bytes to a duration for the IHXPDStatusMgr calling this:
4865+ */
4866+STDMETHODIMP
4867+ExamplePDStatusObserver::OnDownloadProgress(
4868+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource,
4869+ UINT32 /*IN*/ ulNewDurSoFar,
4870+ UINT32 /*IN*/ ulNewBytesSoFar,
4871+ INT32 /*IN*/ lTimeSurplus)
4872+{
4873+ m_ulDurSoFar = ulNewDurSoFar;
4874+
4875+ if (m_ulCurStatusUpdateGranularity <
4876+ HX_PROGDOWNLD_DEFAULT_STATUSREPORT_INTERVAL_MSEC)
4877+ {
4878+ if (m_bInitialPrerollUpateGranularitySet)
4879+ {
4880+ if (HX_PROGDOWNLD_UNKNOWN_DURATION != ulNewDurSoFar &&
4881+ // /Preroll is done, so reset update interval back to default:
4882+ GetGlobal()->g_bOnBeginOccurred)
4883+ {
4884+ m_ulCurStatusUpdateGranularity =
4885+ HX_PROGDOWNLD_DEFAULT_STATUSREPORT_INTERVAL_MSEC;
4886+ m_pPrgDnldStatusMgr->SetStatusUpdateGranularityMsec(
4887+ m_ulCurStatusUpdateGranularity);
4888+ }
4889+ }
4890+ else if (!GetGlobal()->g_bOnBeginOccurred)
4891+ {
4892+ if (HXR_OK == m_pPrgDnldStatusMgr->SetStatusUpdateGranularityMsec(
4893+ m_ulCurStatusUpdateGranularity))
4894+ {
4895+ m_bInitialPrerollUpateGranularitySet = TRUE;
4896+ }
4897+ }
4898+ }
4899+
4900+ UINT32 ulCurPlayTime = 0;
4901+
4902+ HXBOOL bPauseWasAttempted = FALSE;
4903+ HXBOOL bPauseOccurred = FALSE;
4904+ HXBOOL bResumeWasAttempted = FALSE;
4905+ HXBOOL bResumeOccurred = FALSE;
4906+
4907+
4908+ if (m_pHXPlayer)
4909+ {
4910+ ulCurPlayTime = m_pHXPlayer->GetCurrentPlayTime();
4911+
4912+ if (GetGlobal()->g_bEnableSlowStart &&
4913+ lTimeSurplus != HX_PROGDOWNLD_UNKNOWN_TIME_SURPLUS)
4914+ {
4915+ // /"slow start" is enabled so if we have run dry of data,
4916+ // pause and wait for more data:
4917+ if (!m_bPlayerIsPausedByThis)
4918+ {
4919+ if (!m_bDownloadIsComplete && lTimeSurplus<0)
4920+ {
4921+ // /Use a 1000-millisecond allowance for variation:
4922+ if (lTimeSurplus < -1000)
4923+ {
4924+ bPauseWasAttempted = TRUE;
4925+ bPauseOccurred = m_bPlayerIsPausedByThis =
4926+ (HXR_OK == m_pHXPlayer->Pause());
4927+ }
4928+ }
4929+ }
4930+ else // /paused; see if we can resume yet:
4931+ {
4932+ if (lTimeSurplus > 0)
4933+ {
4934+ // /Use a 1000-millisecond allowance for variation:
4935+ if (lTimeSurplus > 1000)
4936+ {
4937+ bResumeWasAttempted = TRUE;
4938+ bResumeOccurred = (HXR_OK == m_pHXPlayer->Begin());
4939+ m_bPlayerIsPausedByThis = !bResumeOccurred;
4940+ }
4941+ }
4942+ }
4943+ }
4944+ }
4945+
4946+ if (GetGlobal()->bEnableVerboseMode && !m_bDownloadIsComplete)
4947+ {
4948+ STDOUT("\nDownload progress: (play time=%lu,",
4949+ ulCurPlayTime);
4950+ if (HX_PROGDOWNLD_UNKNOWN_TIME_SURPLUS == lTimeSurplus)
4951+ {
4952+ STDOUT(" UNKNOWN surplus|deficit)");
4953+ }
4954+ else if (HX_PROGDOWNLD_MIN_TIME_SURPLUS == lTimeSurplus)
4955+ {
4956+ STDOUT(" deficit exceeds maximum");
4957+ }
4958+ else if (HX_PROGDOWNLD_MAX_TIME_SURPLUS == lTimeSurplus)
4959+ {
4960+ STDOUT(" surplus exceeds maximum)");
4961+ }
4962+ else
4963+ {
4964+ STDOUT(" surplus=%ld milliseconds)", lTimeSurplus);
4965+ }
4966+ if (HX_PROGDOWNLD_UNKNOWN_DURATION == ulNewDurSoFar)
4967+ {
4968+ STDOUT("\n\thave UNKNOWN");
4969+ }
4970+ else
4971+ {
4972+ STDOUT("\n\thave %lu", ulNewDurSoFar);
4973+ }
4974+
4975+ if (HX_PROGDOWNLD_UNKNOWN_DURATION != m_ulTotalDurReported)
4976+ {
4977+ STDOUT(" of %lu msec", m_ulTotalDurReported);
4978+ }
4979+ else
4980+ {
4981+ STDOUT(" of UNKNOWN msec of media");
4982+ }
4983+ if (HX_PROGDOWNLD_UNKNOWN_FILE_SIZE != ulNewBytesSoFar)
4984+ {
4985+ STDOUT(" (%lu", ulNewBytesSoFar);
4986+ }
4987+ else
4988+ {
4989+ STDOUT(" (UNKNOWN");
4990+ }
4991+ STDOUT(" bytes downloaded so far)\n", ulNewBytesSoFar);
4992+
4993+ if (bPauseOccurred || bPauseWasAttempted)
4994+ {
4995+ STDOUT("# Waiting for more data: %splayback.\n "
4996+ " Should take %ld milliseconds before playback resumes.\n",
4997+ bPauseOccurred? "Pausing " :
4998+ (bPauseWasAttempted? "Failed attempting to pause "
4999+ : " "), -lTimeSurplus);
5000+ }
5001+ if (bResumeOccurred || bResumeWasAttempted)
5002+ {
5003+ STDOUT("# Data available: %splayback\n "
5004+ " Time surplus is now %ld",
5005+ bResumeOccurred? "Resuming " :
5006+ (bResumeWasAttempted? "Failed attempting to resume "
5007+ : " "), lTimeSurplus);
5008+ }
5009+ }
5010+
5011+ m_bFirstPDStatusMessage = FALSE;
5012+
5013+ return HXR_OK;
5014+}
5015+
5016+/************************************************************************
5017+ * Method:
5018+ * IHXPDStatusObserver::OnTotalDurChanged
5019+ * Purpose:
5020+ * This is a notification if the total file duration becomes known
5021+ * or becomes better-known during download/playback
5022+ *
5023+ * Note: pStreamSource can be NULL. This will be true when
5024+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource
5025+ * object.
5026+ */
5027+STDMETHODIMP
5028+ExamplePDStatusObserver::OnTotalDurChanged(
5029+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource,
5030+ UINT32 ulNewTotalDur)
5031+{
5032+ m_ulTotalDurReported = ulNewTotalDur;
5033+
5034+ if (GetGlobal()->bEnableVerboseMode)
5035+ {
5036+ STDOUT("\nOnTotalDurChanged(): to %lu milliseconds\n", ulNewTotalDur);
5037+ }
5038+
5039+ return HXR_OK;
5040+}
5041+
5042+/************************************************************************
5043+ * Method:
5044+ * IHXPDStatusObserver::OnDownloadComplete
5045+ *
5046+ * Purpose:
5047+ * Notification that the entire file has been downloaded.
5048+ *
5049+ * Note: pStreamSource can be NULL. This will be true when
5050+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource
5051+ * object.
5052+ *
5053+ */
5054+STDMETHODIMP
5055+ExamplePDStatusObserver::OnDownloadComplete(
5056+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource)
5057+{
5058+ m_bDownloadIsComplete = TRUE;
5059+
5060+ HXBOOL bResumeWasAttempted = FALSE;
5061+ HXBOOL bResumeOccurred = FALSE;
5062+
5063+ // /In case we're paused, resume now that there is no more data to get:
5064+ if (m_pHXPlayer && m_bPlayerIsPausedByThis)
5065+ {
5066+ bResumeWasAttempted = TRUE;
5067+ bResumeOccurred = (HXR_OK == m_pHXPlayer->Begin());
5068+ m_bPlayerIsPausedByThis = !bResumeOccurred;
5069+ }
5070+
5071+ if (GetGlobal()->bEnableVerboseMode)
5072+ {
5073+ STDOUT("\nOnDownloadComplete()\n");
5074+ if (bResumeOccurred || bResumeWasAttempted)
5075+ {
5076+ STDOUT("\n%splayback now that bytes are available for "
5077+ "uninterrupted playback\n",
5078+ bResumeOccurred? "Resuming " :
5079+ (bResumeWasAttempted? "Failed attempting to resume "
5080+ : " "));
5081+ }
5082+ }
5083+
5084+ return HXR_OK;
5085+}
5086+
5087+/************************************************************************
5088+ * Method:
5089+ * IHXPDStatusObserver::SrcClaimsSeekSupport ref: hxprdnld.h
5090+ * Purpose:
5091+ * Passes along notification from file sys that seek support
5092+ * is or is not claimed to be available (although sometimes HTTP
5093+ * server claims this when it doesn't actually support it).
5094+ */
5095+STDMETHODIMP
5096+ExamplePDStatusObserver::SrcClaimsSeekSupport(IHXStreamSource* pStreamSource,
5097+ HXBOOL bClaimsSupport)
5098+{
5099+ if (GetGlobal()->bEnableVerboseMode)
5100+ {
5101+ STDOUT("\nSrcClaimsSeekSupport(%sE)\n", bClaimsSupport?"TRU":"FALS");
5102+ }
5103+ return HXR_OK;
5104+}
5105+
5106+
5107+/************************************************************************
5108+ * Method:
5109+ * IHXPDStatusObserver::OnDownloadPause
5110+ * Purpose:
5111+ * Notification that the file-download process has purposefully
5112+ * and temporarily halted downloading of the file
5113+ *
5114+ * Note: pStreamSource can be NULL. This will be true when
5115+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource
5116+ * object.
5117+ */
5118+STDMETHODIMP
5119+ExamplePDStatusObserver::OnDownloadPause(
5120+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource)
5121+{
5122+ if (GetGlobal()->bEnableVerboseMode)
5123+ {
5124+ STDOUT("\nOnDownloadPause()\n");
5125+ }
5126+ return HXR_OK;
5127+}
5128+
5129+/************************************************************************
5130+ * Method:
5131+ * IHXPDStatusObserver::OnDownloadResume
5132+ * Purpose:
5133+ * Notification that the file-download process has resumed
5134+ * the process of downloading the remainder of the file
5135+ *
5136+ * Note: pStreamSource can be NULL. This will be true when
5137+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource
5138+ * object.
5139+ */
5140+STDMETHODIMP
5141+ExamplePDStatusObserver::OnDownloadResume(
5142+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource)
5143+{
5144+ if (GetGlobal()->bEnableVerboseMode)
5145+ {
5146+ STDOUT("\nOnDownloadResume()\n");
5147+ }
5148+ return HXR_OK;
5149+}
5150+// /#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS.
5151Index: helix-libs/clientapps/clutter/exprdnld.h
5152===================================================================
5153--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5154+++ helix-libs/clientapps/clutter/exprdnld.h 2008-10-13 06:05:49.000000000 -0700
5155@@ -0,0 +1,196 @@
5156+/* ***** BEGIN LICENSE BLOCK *****
5157+ * Version: RCSL 1.0/RPSL 1.0
5158+ *
5159+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
5160+ *
5161+ * The contents of this file, and the files included with this file, are
5162+ * subject to the current version of the RealNetworks Public Source License
5163+ * Version 1.0 (the "RPSL") available at
5164+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
5165+ * the file under the RealNetworks Community Source License Version 1.0
5166+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
5167+ * in which case the RCSL will apply. You may also obtain the license terms
5168+ * directly from RealNetworks. You may not use this file except in
5169+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
5170+ * applicable to this file, the RCSL. Please see the applicable RPSL or
5171+ * RCSL for the rights, obligations and limitations governing use of the
5172+ * contents of the file.
5173+ *
5174+ * This file is part of the Helix DNA Technology. RealNetworks is the
5175+ * developer of the Original Code and owns the copyrights in the portions
5176+ * it created.
5177+ *
5178+ * This file, and the files included with this file, is distributed and made
5179+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
5180+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
5181+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
5182+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
5183+ *
5184+ * Technology Compatibility Kit Test Suite(s) Location:
5185+ * http://www.helixcommunity.org/content/tck
5186+ *
5187+ * Contributor(s):
5188+ *
5189+ * ***** END LICENSE BLOCK ***** */
5190+
5191+#ifndef _EXPRDNLD_H_
5192+#define _EXPRDNLD_H_
5193+
5194+// /#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS)
5195+
5196+/****************************************************************************
5197+ *
5198+ * Class:
5199+ *
5200+ * ExamplePDStatusObserver
5201+ *
5202+ * Purpose:
5203+ *
5204+ * Implementation for IHXPDStatusObserver which receives progressive-
5205+ * download status reports:
5206+ *
5207+ */
5208+class ExamplePDStatusObserver :
5209+ public IHXPDStatusObserver
5210+{
5211+private:
5212+ INT32 m_lRefCount;
5213+ IHXPDStatusMgr* m_pPrgDnldStatusMgr;
5214+ IUnknown* m_pUnkPlayer;
5215+ IHXPlayer* m_pHXPlayer;
5216+ HXBOOL m_bPlayerIsPausedByThis;
5217+ HXBOOL m_bFirstPDStatusMessage;
5218+ UINT32 m_ulTotalDurReported;
5219+ UINT32 m_ulDurSoFar;
5220+ UINT32 m_ulCurStatusUpdateGranularity;
5221+ HXBOOL m_bInitialPrerollUpateGranularitySet;
5222+ HXBOOL m_bDownloadIsComplete;
5223+
5224+ ExamplePDStatusObserver();
5225+ ~ExamplePDStatusObserver();
5226+
5227+public:
5228+ ExamplePDStatusObserver(IUnknown* pUnkPlayer);
5229+
5230+ /*
5231+ * IUnknown methods
5232+ */
5233+ STDMETHOD(QueryInterface) (THIS_
5234+ REFIID riid,
5235+ void** ppvObj);
5236+
5237+ STDMETHOD_(ULONG32,AddRef) (THIS);
5238+
5239+ STDMETHOD_(ULONG32,Release) (THIS);
5240+
5241+ /*
5242+ * IHXPDStatusObserver methods
5243+ */
5244+
5245+ /************************************************************************
5246+ * Method:
5247+ * IHXPDStatusObserver::OnDownloadProgress
5248+ *
5249+ * Purpose:
5250+ * Notification from IHXPDStatusMgr of download progress when
5251+ * file size changes.
5252+ *
5253+ * lTimeSurplus:
5254+ * - When negative, the absolute value of it is the estimated number
5255+ * of milliseconds of wall-clock time that need to pass while
5256+ * downloading continues before reaching the point at which playback
5257+ * can resume and play the remainder of the stream without having to
5258+ * buffer, assuming that playback is paused and remains so during
5259+ * that period.
5260+ * - When positive, it is the estimated number of milliseconds of
5261+ * wall-clock time between when the download should complete and when
5262+ * the natural content play-out duration will be reached, assuming
5263+ * playback is currently progressing and that no pause will occur.
5264+ *
5265+ * Note: ulNewDurSoFar can be HX_PROGDOWNLD_UNKNOWN_DURATION if the
5266+ * IHXMediaBytesToMediaDurConverter was not available to, or was
5267+ * unable to convert the bytes to a duration for the IHXPDStatusMgr
5268+ * calling this:
5269+ */
5270+ STDMETHOD(OnDownloadProgress) (THIS_
5271+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource,
5272+ UINT32 /*IN*/ ulNewDurSoFar,
5273+ UINT32 /*IN*/ ulNewBytesSoFar,
5274+ INT32 /*IN*/ lTimeSurplus);
5275+
5276+ /************************************************************************
5277+ * Method:
5278+ * IHXPDStatusObserver::OnTotalDurChanged
5279+ * Purpose:
5280+ * This is a notification if the total file duration becomes known
5281+ * or becomes better-known during download/playback
5282+ *
5283+ * Note: pStreamSource can be NULL. This will be true when
5284+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource
5285+ * object.
5286+ */
5287+ STDMETHOD(OnTotalDurChanged) (THIS_
5288+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource,
5289+ UINT32 /*IN*/ ulNewDur);
5290+
5291+ /************************************************************************
5292+ * Method:
5293+ * IHXPDStatusObserver::OnDownloadComplete
5294+ *
5295+ * Purpose:
5296+ * Notification that the entire file has been downloaded.
5297+ *
5298+ * Note: pStreamSource can be NULL. This will be true when
5299+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource
5300+ * object.
5301+ *
5302+ */
5303+ STDMETHOD(OnDownloadComplete) (THIS_
5304+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource);
5305+
5306+ /************************************************************************
5307+ * Method:
5308+ * IHXPDStatusObserver::SrcClaimsSeekSupport
5309+ *
5310+ * Purpose:
5311+ * Passes along notification from file sys that seek support
5312+ * is claimed to be available (although sometimes HTTP server
5313+ * claims this when it doesn't actually support it).
5314+ *
5315+ */
5316+ STDMETHOD(SrcClaimsSeekSupport) (THIS_
5317+ IHXStreamSource* pStreamSource,
5318+ HXBOOL /*IN*/ bSrcClaimsSeekSupport);
5319+
5320+ /************************************************************************
5321+ * Method:
5322+ * IHXPDStatusObserver::OnDownloadPause
5323+ * Purpose:
5324+ * Notification that the file-download process has purposefully
5325+ * and temporarily halted downloading of the file
5326+ *
5327+ * Note: pStreamSource can be NULL. This will be true when
5328+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource
5329+ * object.
5330+ */
5331+ STDMETHOD(OnDownloadPause) (THIS_
5332+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource);
5333+
5334+ /************************************************************************
5335+ * Method:
5336+ * IHXPDStatusObserver::OnDownloadResume
5337+ * Purpose:
5338+ * Notification that the file-download process has resumed
5339+ * the process of downloading the remainder of the file
5340+ *
5341+ * Note: pStreamSource can be NULL. This will be true when
5342+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource
5343+ * object.
5344+ */
5345+ STDMETHOD(OnDownloadResume) (THIS_
5346+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource);
5347+};
5348+// /#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS.
5349+
5350+#endif // _EXPRDNLD_H_
5351+
5352Index: helix-libs/clientapps/clutter/exroot.cpp
5353===================================================================
5354--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5355+++ helix-libs/clientapps/clutter/exroot.cpp 2008-10-13 06:54:08.000000000 -0700
5356@@ -0,0 +1,672 @@
5357+/* ***** BEGIN LICENSE BLOCK *****
5358+ * Source last modified: $Id: unixroot.cpp,v 1.9 2007/07/06 20:54:01 jfinnecy Exp $
5359+ *
5360+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
5361+ *
5362+ * The contents of this file, and the files included with this file,
5363+ * are subject to the current version of the RealNetworks Public
5364+ * Source License (the "RPSL") available at
5365+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
5366+ * the file under the current version of the RealNetworks Community
5367+ * Source License (the "RCSL") available at
5368+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
5369+ * will apply. You may also obtain the license terms directly from
5370+ * RealNetworks. You may not use this file except in compliance with
5371+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable
5372+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for
5373+ * the rights, obligations and limitations governing use of the
5374+ * contents of the file.
5375+ *
5376+ * Alternatively, the contents of this file may be used under the
5377+ * terms of the GNU General Public License Version 2 (the
5378+ * "GPL") in which case the provisions of the GPL are applicable
5379+ * instead of those above. If you wish to allow use of your version of
5380+ * this file only under the terms of the GPL, and not to allow others
5381+ * to use your version of this file under the terms of either the RPSL
5382+ * or RCSL, indicate your decision by deleting the provisions above
5383+ * and replace them with the notice and other provisions required by
5384+ * the GPL. If you do not delete the provisions above, a recipient may
5385+ * use your version of this file under the terms of any one of the
5386+ * RPSL, the RCSL or the GPL.
5387+ *
5388+ * This file is part of the Helix DNA Technology. RealNetworks is the
5389+ * developer of the Original Code and owns the copyrights in the
5390+ * portions it created.
5391+ *
5392+ * This file, and the files included with this file, is distributed
5393+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
5394+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
5395+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
5396+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
5397+ * ENJOYMENT OR NON-INFRINGEMENT.
5398+ *
5399+ * Technology Compatibility Kit Test Suite(s) Location:
5400+ * http://www.helixcommunity.org/content/tck
5401+ *
5402+ * Contributor(s):
5403+ *
5404+ * ***** END LICENSE BLOCK ***** */
5405+
5406+// for shared memory
5407+#include <sys/types.h>
5408+#include <sys/ipc.h>
5409+#include <sys/shm.h>
5410+#include <sys/utsname.h>
5411+
5412+#include "hxcom.h"
5413+#include "hxwintyp.h"
5414+#include "hxvsurf.h"
5415+#include "hxslist.h"
5416+#include "colormap.h"
5417+#include "hxprefs.h"
5418+#include "hxtick.h"
5419+#include "hxthread.h"
5420+#include "basesite.h"
5421+#include "exroot.h"
5422+#include "exsite.h"
5423+#include "unixcmap.h"
5424+#include "shmhelp.h"
5425+
5426+// #ifdef _DEBUG
5427+// #include <X11/extensions/xf86vmode.h> //for debug video sync rates..
5428+// #endif
5429+
5430+//Work around AIX problem.
5431+#ifdef _AIX
5432+# define MAX_SHARED_REGIONS ((UINT32)1)
5433+#else
5434+# define MAX_SHARED_REGIONS ((UINT32)9999)
5435+#endif
5436+
5437+CExRootSurf::CExRootSurf(IUnknown* pContext, CHXBaseSite* pSite, on_new_frame_cb_t on_new_frame_cb, void *context )
5438+ : CBaseRootSurface(pContext, pSite)
5439+ , m_bUseShm(FALSE)
5440+ , m_nShmId(0)
5441+ , m_pDisplay(NULL)
5442+ , m_GC(0)
5443+ , m_nScreenNumber(0)
5444+ , m_pXImage(NULL)
5445+ , m_pVisual(NULL)
5446+ , m_unDepth(0)
5447+ , m_pScreen(NULL)
5448+ , m_pYUVScratchBits(NULL)
5449+ , m_nYUVScratchPitch(0)
5450+ , m_pScratchBits(NULL)
5451+ , m_nScratchPitch(0)
5452+ , m_nBitsPerPixel(0)
5453+ , m_nCompositionSize(0)
5454+ , m_on_new_frame_cb(on_new_frame_cb)
5455+ , m_context(context)
5456+{
5457+}
5458+
5459+HX_RESULT CExRootSurf::Init()
5460+{
5461+ //get window and display from main Site.
5462+ HXxWindow* pWindow = m_pSite->GetWindow();
5463+ HX_ASSERT(pWindow);
5464+
5465+ m_pDisplay = (Display*)pWindow->display;
5466+ m_window = (Window)pWindow->window;
5467+
5468+ HX_ASSERT( m_pDisplay );
5469+ HX_ASSERT( m_window );
5470+
5471+ //
5472+ // Now see if our X11 server supports the Shared Memory extension.
5473+ //
5474+ // ShmHelp::Init(m_pDisplay);
5475+ // m_bUseShm = ShmHelp::ShmAvailable();
5476+
5477+ //Create the graphics context
5478+ XGCValues values;
5479+
5480+ XLockDisplay(m_pDisplay);
5481+ m_GC = XCreateGC(m_pDisplay, m_window, 0, &values);
5482+
5483+ //Get X window attributes & visual
5484+ XWindowAttributes attr;
5485+ XGetWindowAttributes(m_pDisplay, m_window, &attr);
5486+ XUnlockDisplay(m_pDisplay);
5487+ m_pVisual = attr.visual;
5488+
5489+ // get visual info & depth
5490+ int nv=0;
5491+ XVisualInfo visInfo;
5492+ memset(&visInfo, 0, sizeof(XVisualInfo));
5493+ XLockDisplay(m_pDisplay);
5494+ visInfo.visualid = XVisualIDFromVisual(m_pVisual);
5495+ XVisualInfo* pVisualInfo = XGetVisualInfo (m_pDisplay, VisualIDMask, &visInfo, &nv);
5496+// m_unDepth = pVisualInfo->depth;
5497+ m_unDepth = 24;
5498+ m_nScreenNumber = DefaultScreen(m_pDisplay);
5499+ m_pScreen = XScreenOfDisplay(m_pDisplay, m_nScreenNumber);
5500+ XUnlockDisplay(m_pDisplay);
5501+ m_colormap = HXGetXColormap(m_pDisplay, m_window);
5502+
5503+ // get pixmap (blt) information for the best depth we can display
5504+ int i=0;
5505+ int nNum=0;
5506+ XLockDisplay(m_pDisplay);
5507+ XPixmapFormatValues *pixmap_formats = XListPixmapFormats(m_pDisplay, &nNum);
5508+ XUnlockDisplay(m_pDisplay);
5509+ if(pixmap_formats)
5510+ {
5511+ for (i=0 ; i<nNum; i++)
5512+ {
5513+ if (pixmap_formats[i].depth == m_unDepth)
5514+ {
5515+ m_nBitsPerPixel = pixmap_formats[i].bits_per_pixel;
5516+ }
5517+ }
5518+ XFree(pixmap_formats);
5519+ pixmap_formats = NULL;
5520+ }
5521+
5522+ memset(&m_bmiSave, 0, sizeof(HXBitmapInfo));
5523+#if 0
5524+ m_bmiSave.bmiHeader.biBitCount = m_nBitsPerPixel;
5525+ m_bmiSave.bmiHeader.biCompression = (m_unDepth==8 ? BI_RGB : BI_BITFIELDS);
5526+ m_bmiSave.un.dwBitMask[0] = pVisualInfo->red_mask;
5527+ m_bmiSave.un.dwBitMask[1] = pVisualInfo->green_mask;
5528+ m_bmiSave.un.dwBitMask[2] = pVisualInfo->blue_mask;
5529+#else
5530+ /* Fake a RGB24 */
5531+ m_nBitsPerPixel = 24;
5532+ m_bmiSave.bmiHeader.biBitCount = m_nBitsPerPixel;
5533+ m_bmiSave.bmiHeader.biCompression = BI_RGB;
5534+#endif
5535+ //Set primary surface CID.
5536+ m_nCompositionSurfaceCID = GetBitmapColor(&m_bmiSave);
5537+ XFree( pVisualInfo );
5538+
5539+// #ifdef _DEBUG
5540+// //Lets find out what Hsync and Vsync rates we have for this display.
5541+// //Ripped from xvidtune.c
5542+// XF86VidModeModeLine mode_line;
5543+// int scrn=0;
5544+// int dot_clock;
5545+// double vsync_hz, HSyncRate,HTotal, VTotal, PixelClock;
5546+// if(XF86VidModeGetModeLine(m_pDisplay, scrn, &dot_clock, &mode_line))
5547+// {
5548+// PixelClock=dot_clock;
5549+// HTotal = mode_line.htotal;
5550+// VTotal = mode_line.vtotal;
5551+// HSyncRate = PixelClock*1000.0/HTotal;
5552+// vsync_hz = HSyncRate/VTotal;
5553+// fprintf( stderr, "This Display's Hsync rate is: %f and Vsync: %f\n",
5554+// HSyncRate, vsync_hz );
5555+// }
5556+
5557+// #endif
5558+
5559+ return HXR_OK;
5560+}
5561+
5562+CExRootSurf::~CExRootSurf()
5563+{
5564+ _DestroyCompositionSurface();
5565+
5566+ if( m_GC )
5567+ {
5568+ XLockDisplay(m_pDisplay);
5569+ XFreeGC( m_pDisplay, m_GC );
5570+ XUnlockDisplay(m_pDisplay);
5571+ m_GC=0;
5572+ }
5573+ if (m_pVisual)
5574+ {
5575+ /* PJG: don't have to free visuals */
5576+ m_pVisual = NULL;
5577+ }
5578+
5579+ if(m_bUseShm)
5580+ {
5581+ if( m_pCompositionSurface != NULL )
5582+ ShmHelp::DetachSharedRegion(&m_pCompositionSurface, &m_shmInfo);
5583+ }
5584+ else
5585+ {
5586+ HX_DELETE(m_pCompositionSurface);
5587+ m_nCompositionSize=0;
5588+ m_bCompositionSurfaceCreated=FALSE;
5589+ }
5590+
5591+ //XXXgfw any more clean up for these two?
5592+ HX_VECTOR_DELETE( m_pScratchBits );
5593+ HX_VECTOR_DELETE( m_pYUVScratchBits );
5594+
5595+}
5596+
5597+HX_RESULT CExRootSurf::_ResizeVideoBuffer( INT32 nSize)
5598+{
5599+ HX_RESULT retVal=HXR_OK;
5600+
5601+ if(nSize <= m_nCompositionSize)
5602+ return retVal;
5603+
5604+ if(m_bUseShm)
5605+ {
5606+ if( m_pCompositionSurface != NULL )
5607+ retVal = ShmHelp::DetachSharedRegion(&m_pCompositionSurface, &m_shmInfo);
5608+ if( retVal==HXR_OK )
5609+ {
5610+ retVal = ShmHelp::CreateSharedRegion( nSize,
5611+ &m_pCompositionSurface,
5612+ &m_nShmId,
5613+ &m_shmInfo
5614+ );
5615+
5616+ }
5617+ if( retVal != HXR_OK )
5618+ {
5619+ m_bCompositionSurfaceCreated = FALSE;
5620+ m_nCompositionSize = 0;
5621+ m_bUseShm = FALSE;
5622+ }
5623+ else
5624+ {
5625+ //It all worked
5626+ m_nCompositionSize = nSize;
5627+ m_bCompositionSurfaceCreated = TRUE;
5628+ return retVal;
5629+ }
5630+
5631+ }
5632+
5633+ //We need to fall through here so that if the shared memory stuff
5634+ //above fails we can create it the old fashioned way.
5635+ if(m_pCompositionSurface == NULL)
5636+ {
5637+ m_pCompositionSurface = (UCHAR*) malloc(nSize);
5638+ }
5639+ else
5640+ {
5641+ m_pCompositionSurface = (UCHAR*) realloc(m_pCompositionSurface, nSize);
5642+ }
5643+ if( m_pCompositionSurface )
5644+ {
5645+ m_nCompositionSize = nSize;
5646+ }
5647+ else
5648+ {
5649+ HX_ASSERT("We can't alloc the composition surface." == NULL );
5650+ m_nCompositionSize = 0;
5651+ }
5652+
5653+ return retVal;
5654+}
5655+
5656+HX_RESULT CExRootSurf::_DebugBlt( UCHAR* pImageData, HXBitmapInfoHeader* pBitmapInfo,
5657+ HXxRect& rDestRect, HXxRect& rSrcRect)
5658+{
5659+ HX_ASSERT( m_window );
5660+ HX_ASSERT( m_pDisplay );
5661+ HX_ASSERT( m_GC );
5662+ XLockDisplay(m_pDisplay);
5663+ XSetForeground( m_pDisplay, m_GC, WhitePixel(m_pDisplay, 0 ));
5664+ XSetBackground( m_pDisplay, m_GC, BlackPixel(m_pDisplay, 0 ));
5665+ XSetLineAttributes(m_pDisplay, m_GC, 5, LineSolid, CapRound, JoinRound );
5666+ XSetForeground( m_pDisplay, m_GC, WhitePixel(m_pDisplay, 0) );
5667+ XFillRectangle( m_pDisplay, m_window, m_GC,
5668+ rDestRect.left, rDestRect.top,
5669+ rDestRect.right-rDestRect.left,
5670+ rDestRect.bottom-rDestRect.top
5671+ );
5672+ XDrawRectangle( m_pDisplay, m_window, m_GC,
5673+ rDestRect.left, rDestRect.top,
5674+ rDestRect.right-rDestRect.left,
5675+ rDestRect.bottom-rDestRect.top
5676+ );
5677+ XUnlockDisplay(m_pDisplay);
5678+ return HXR_OK;
5679+}
5680+
5681+void CExRootSurf::_GetYUVScratchWidthHeight(UINT32* pWidth, UINT32* pHeight)
5682+{
5683+ *pWidth = m_bmiYUVScratch.bmiHeader.biWidth;
5684+ *pHeight = m_bmiYUVScratch.bmiHeader.biHeight;
5685+}
5686+
5687+XImage* CExRootSurf::_GetCompositionSurfaceDrawable()
5688+{
5689+ return m_pXImage;
5690+}
5691+
5692+
5693+
5694+//Not used except for XING.....
5695+void CExRootSurf::_CreateYUVScratchSurface(UINT32 width, UINT32 height)
5696+{
5697+ //Remove old bits....
5698+ HX_DELETE(m_pYUVScratchBits);
5699+
5700+ //Clear BitmapInfo struct....
5701+ memset(&m_bmiYUVScratch, 0, sizeof(HXBitmapInfo));
5702+ int nResult = MakeBitmap( &m_bmiYUVScratch,
5703+ sizeof(m_bmiYUVScratch),
5704+ CID_YUY2,
5705+ width,
5706+ height,
5707+ NULL,
5708+ 0);
5709+ if( nResult )
5710+ {
5711+ m_pYUVScratchBits = new UCHAR[m_bmiYUVScratch.bmiHeader.biSizeImage];
5712+ m_nYUVScratchPitch = GetBitmapPitch(&m_bmiYUVScratch);
5713+ }
5714+}
5715+
5716+
5717+void CExRootSurf::_GetYUVScratchSurfacePointer(UCHAR** pYUVBits, INT32* YUVPitch)
5718+{
5719+ *pYUVBits = m_pYUVScratchBits;
5720+ *YUVPitch = m_nYUVScratchPitch;
5721+}
5722+
5723+HX_RESULT CExRootSurf::CreateScratchSurface( int nCompositionSurfaceCID, HXxSize* pSize)
5724+{
5725+ //Remove old bits....
5726+ HX_DELETE(m_pScratchBits);
5727+
5728+ //Clear BitmapInfo struct....
5729+ memset(&m_bmiScratch, 0, sizeof(HXBitmapInfo));
5730+ int nResult = MakeBitmap( &m_bmiScratch,
5731+ sizeof(m_bmiScratch),
5732+ nCompositionSurfaceCID,
5733+ pSize->cx,
5734+ pSize->cy,
5735+ NULL,
5736+ 0);
5737+ if( nResult )
5738+ {
5739+ m_pScratchBits = new UCHAR[m_bmiScratch.bmiHeader.biSizeImage];
5740+ m_nScratchPitch = GetBitmapPitch(&m_bmiScratch);
5741+ }
5742+
5743+ return nResult? HXR_OK : HXR_FAIL;
5744+}
5745+
5746+HX_RESULT CExRootSurf::ScratchLock(UCHAR** pBits, INT32* pPitch)
5747+{
5748+ *pBits = m_pScratchBits;
5749+ *pPitch = m_nScratchPitch;
5750+ return HXR_OK;
5751+}
5752+
5753+HX_RESULT CExRootSurf::ScratchUnlock(UCHAR* pBits)
5754+{
5755+ return HXR_OK;
5756+}
5757+
5758+HX_RESULT CExRootSurf::_MinimalUnlock(HXxWindow* pWindow)
5759+{
5760+// Window win = m_window;
5761+// HX_ASSERT(win);
5762+// HXxSize hxxSize;
5763+// m_pSite->GetSize(hxxSize);
5764+
5765+// if (m_bUseShm)
5766+// {
5767+// XShmPutImage(m_pDisplay,
5768+// win,
5769+// m_GC,
5770+// m_pXImage,
5771+// 0,
5772+// 0,
5773+// 0,
5774+// 0,
5775+// hxxSize.cx,
5776+// hxxSize.cy,
5777+// False
5778+// );
5779+// }
5780+// else
5781+// {
5782+// XPutImage(m_pDisplay,
5783+// win,
5784+// m_GC,
5785+// m_pXImage,
5786+// 0,
5787+// 0,
5788+// 0,
5789+// 0,
5790+// hxxSize.cx,
5791+// hxxSize.cy
5792+// );
5793+// }
5794+ return HXR_OK;
5795+}
5796+
5797+HX_RESULT CExRootSurf::_LockComposition(UCHAR** pBits, INT32* pPitch)
5798+{
5799+ HX_RESULT retVal = HXR_OK;
5800+ if( !m_bCompositionSurfaceCreated || m_pCompositionSurface==NULL )
5801+ {
5802+ retVal = _CreateCompositionSurface();
5803+ }
5804+ HX_ASSERT( m_pCompositionSurface );
5805+ *pBits = m_pCompositionSurface;
5806+ *pPitch = m_nCompositionPitch;
5807+ return HXR_OK;
5808+}
5809+
5810+
5811+void CExRootSurf::_BltFromScratchToComposition( HXxRect& rDestRect, HXxRect& rSrcRect)
5812+{
5813+ HX_ASSERT( "Not implemented on unix yet...."==NULL );
5814+}
5815+
5816+HX_RESULT CExRootSurf::_CreateCompositionSurface()
5817+{
5818+ HX_RESULT retVal = HXR_FAIL;
5819+
5820+ if(m_bCompositionSurfaceCreated)
5821+ {
5822+ return HXR_OK;
5823+ }
5824+
5825+ HX_ASSERT( !m_bCompositionSurfaceCreated );
5826+ HX_ASSERT( m_pSite );
5827+
5828+ //Create a BMI to describe the composition surface
5829+ HXxSize hxxSize;
5830+ m_pSite->GetSize(hxxSize);
5831+ memcpy(&m_compositionSize, &hxxSize, sizeof(HXxSize)); /* Flawfinder: ignore */
5832+
5833+ // find out how big we want to allocate.
5834+ if (m_pSite->IsFullScreen())
5835+ {
5836+ UINT16 unDummy=0;
5837+ UINT16 unHorzRes=0;
5838+ UINT16 unVertRes=0;
5839+ m_pSite->_GetDeviceCaps(NULL, unDummy, unHorzRes, unVertRes );
5840+ m_allocatedCompositionSize.cx = unHorzRes;
5841+ m_allocatedCompositionSize.cy = unVertRes;
5842+ }
5843+ else
5844+ {
5845+ // we use root surface for BASIC_BLT and it assumes the offset(position)
5846+ // of the root site it cooresponding to is (0, 0).
5847+ //
5848+ // this is not true for "windowless" mode where the root site can be given
5849+ // an offset, as a result, we fail to blt the video.
5850+ //
5851+ // to fix this, we'll take the m_positionOrg into consideration when
5852+ // creating the composition surface, this may not be optimal but good enough
5853+ // for now.
5854+ //
5855+ // similar logic is also added for other platforms, we need to move this
5856+ // common code to the base class when we have chance to clean it up
5857+ if (m_compositionSize.cx && m_compositionSize.cy)
5858+ {
5859+ m_compositionSize.cx += m_pSite->m_positionOrig.x;
5860+ m_compositionSize.cy += m_pSite->m_positionOrig.y;
5861+ }
5862+
5863+ m_allocatedCompositionSize.cx = m_compositionSize.cx;
5864+ m_allocatedCompositionSize.cy = m_compositionSize.cy;
5865+ }
5866+
5867+ //XXXgfw uhhhh, OK.
5868+ if( m_compositionSize.cx > m_allocatedCompositionSize.cx ||
5869+ m_compositionSize.cy > m_allocatedCompositionSize.cy )
5870+ {
5871+ m_allocatedCompositionSize.cx = m_compositionSize.cx;
5872+ m_allocatedCompositionSize.cy = m_compositionSize.cy;
5873+ }
5874+
5875+ //Make the bitmap header struct.
5876+ m_bmiComposition.bmiHeader.biBitCount = m_bmiSave.bmiHeader.biBitCount;
5877+ m_bmiComposition.bmiHeader.biCompression = m_bmiSave.bmiHeader.biCompression;
5878+ m_bmiComposition.un.dwBitMask[0] = m_bmiSave.un.dwBitMask[0];
5879+ m_bmiComposition.un.dwBitMask[1] = m_bmiSave.un.dwBitMask[1];
5880+ m_bmiComposition.un.dwBitMask[2] = m_bmiSave.un.dwBitMask[2];
5881+ int nResult = MakeBitmap( &m_bmiComposition,
5882+ sizeof(m_bmiComposition),
5883+ m_nCompositionSurfaceCID,
5884+ m_allocatedCompositionSize.cx,
5885+ m_allocatedCompositionSize.cy,
5886+ NULL,
5887+ 0
5888+ );
5889+ m_bmiComposition.bmiHeader.biBitCount = m_bmiSave.bmiHeader.biBitCount;
5890+ m_bmiComposition.bmiHeader.biCompression = m_bmiSave.bmiHeader.biCompression;
5891+ m_bmiComposition.un.dwBitMask[0] = m_bmiSave.un.dwBitMask[0];
5892+ m_bmiComposition.un.dwBitMask[1] = m_bmiSave.un.dwBitMask[1];
5893+ m_bmiComposition.un.dwBitMask[2] = m_bmiSave.un.dwBitMask[2];
5894+
5895+ //Now create the bits....
5896+ _ResizeVideoBuffer( m_bmiComposition.bmiHeader.biSizeImage );
5897+ m_nCompositionPitch = GetBitmapPitch( &m_bmiComposition );
5898+
5899+ if( m_pXImage )
5900+ {
5901+ XFree( m_pXImage );
5902+ }
5903+
5904+ if( m_bUseShm )
5905+ {
5906+ XLockDisplay(m_pDisplay);
5907+ m_pXImage = XShmCreateImage( m_pDisplay,
5908+ m_pVisual,
5909+ m_unDepth,
5910+ ZPixmap,
5911+ (char*)m_pCompositionSurface,
5912+ &m_shmInfo,
5913+ m_allocatedCompositionSize.cx,
5914+ m_allocatedCompositionSize.cy
5915+ );
5916+ XUnlockDisplay(m_pDisplay);
5917+ }
5918+ else
5919+ {
5920+ XLockDisplay(m_pDisplay);
5921+ m_pXImage = XCreateImage( m_pDisplay,
5922+ m_pVisual,
5923+ m_unDepth,
5924+ ZPixmap,
5925+ 0,
5926+ (char*)m_pCompositionSurface,
5927+ m_allocatedCompositionSize.cx,
5928+ m_allocatedCompositionSize.cy,
5929+ 32,
5930+ 0);
5931+ XUnlockDisplay(m_pDisplay);
5932+ }
5933+
5934+ if( m_pXImage )
5935+ {
5936+ m_bCompositionSurfaceCreated = TRUE;
5937+#ifdef _BIG_ENDIAN
5938+ m_pXImage->byte_order = MSBFirst;
5939+#else
5940+ m_pXImage->byte_order = LSBFirst;
5941+#endif
5942+ retVal = HXR_OK;
5943+ }
5944+ return retVal;
5945+}
5946+
5947+void CExRootSurf::_MinimalBlt(HXxRect& destRect)
5948+{
5949+ if (m_on_new_frame_cb)
5950+ {
5951+ PlayerImgInfo Info;
5952+ Info.Rect.left = destRect.left;
5953+ Info.Rect.right = destRect.right;
5954+ Info.Rect.top = destRect.top;
5955+ Info.Rect.bottom = destRect.bottom;
5956+ Info.cx = m_allocatedCompositionSize.cx;
5957+ Info.cy = m_allocatedCompositionSize.cy;
5958+ m_on_new_frame_cb(m_pCompositionSurface,
5959+ m_bmiComposition.bmiHeader.biSizeImage,
5960+ &Info,
5961+ m_context);
5962+ }
5963+}
5964+
5965+HX_RESULT CExRootSurf::_DestroyCompositionSurface()
5966+{
5967+ HX_RESULT retVal = HXR_OK;
5968+ if( m_bCompositionSurfaceCreated )
5969+ {
5970+ if( m_pXImage )
5971+ {
5972+ XFree(m_pXImage);
5973+ m_pXImage = NULL;
5974+ }
5975+ m_bCompositionSurfaceCreated = FALSE;
5976+ }
5977+
5978+ return retVal;
5979+}
5980+
5981+
5982+
5983+HX_RESULT CExRootSurf::BeginOptimizedBlt(HXBitmapInfoHeader* pBitmapInfo)
5984+{
5985+#ifdef _DEBUG
5986+ fprintf(stderr, "CExRootSurf::BeginOptimizedBlt Needs to be written\n" );
5987+#endif
5988+ return HXR_NOTIMPL;
5989+}
5990+
5991+HX_RESULT CExRootSurf::OptimizedBlt( UCHAR* pImageBits,
5992+ HXxRect& rDestRect,
5993+ HXxRect& rSrcRect)
5994+{
5995+#ifdef _DEBUG
5996+ fprintf(stderr, "CExRootSurf::OptimizedBlt Needs to be written\n" );
5997+#endif
5998+ return HXR_NOTIMPL;
5999+}
6000+
6001+HX_RESULT CExRootSurf::EndOptimizedBlt(void)
6002+{
6003+#ifdef _DEBUG
6004+ fprintf(stderr, "CExRootSurf::EndOptimizedBlt Needs to be written\n" );
6005+#endif
6006+ return HXR_NOTIMPL;
6007+}
6008+
6009+HX_RESULT CExRootSurf::GetOptimizedFormat(HX_COMPRESSION_TYPE& ulType)
6010+{
6011+#ifdef _DEBUG
6012+ fprintf(stderr, "CExRootSurf::GetOptimizedFormat Needs to be written\n" );
6013+#endif
6014+ return HXR_NOTIMPL;
6015+}
6016+
6017+HX_RESULT CExRootSurf::GetPreferredFormat(HX_COMPRESSION_TYPE& ulType)
6018+{
6019+#ifdef _DEBUG
6020+ fprintf(stderr, "CExRootSurf::GetPreferredFormat Needs to be written\n" );
6021+#endif
6022+ return HXR_NOTIMPL;
6023+}
6024+
6025+GC CExRootSurf::GetGC()
6026+{
6027+ return m_GC;
6028+}
6029Index: helix-libs/clientapps/clutter/exroot.h
6030===================================================================
6031--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6032+++ helix-libs/clientapps/clutter/exroot.h 2008-10-13 06:05:49.000000000 -0700
6033@@ -0,0 +1,155 @@
6034+/* ***** BEGIN LICENSE BLOCK *****
6035+ * Source last modified: $Id: unixroot.h,v 1.8 2007/07/06 20:54:05 jfinnecy Exp $
6036+ *
6037+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
6038+ *
6039+ * The contents of this file, and the files included with this file,
6040+ * are subject to the current version of the RealNetworks Public
6041+ * Source License (the "RPSL") available at
6042+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
6043+ * the file under the current version of the RealNetworks Community
6044+ * Source License (the "RCSL") available at
6045+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
6046+ * will apply. You may also obtain the license terms directly from
6047+ * RealNetworks. You may not use this file except in compliance with
6048+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable
6049+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for
6050+ * the rights, obligations and limitations governing use of the
6051+ * contents of the file.
6052+ *
6053+ * Alternatively, the contents of this file may be used under the
6054+ * terms of the GNU General Public License Version 2 (the
6055+ * "GPL") in which case the provisions of the GPL are applicable
6056+ * instead of those above. If you wish to allow use of your version of
6057+ * this file only under the terms of the GPL, and not to allow others
6058+ * to use your version of this file under the terms of either the RPSL
6059+ * or RCSL, indicate your decision by deleting the provisions above
6060+ * and replace them with the notice and other provisions required by
6061+ * the GPL. If you do not delete the provisions above, a recipient may
6062+ * use your version of this file under the terms of any one of the
6063+ * RPSL, the RCSL or the GPL.
6064+ *
6065+ * This file is part of the Helix DNA Technology. RealNetworks is the
6066+ * developer of the Original Code and owns the copyrights in the
6067+ * portions it created.
6068+ *
6069+ * This file, and the files included with this file, is distributed
6070+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
6071+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
6072+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
6073+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
6074+ * ENJOYMENT OR NON-INFRINGEMENT.
6075+ *
6076+ * Technology Compatibility Kit Test Suite(s) Location:
6077+ * http://www.helixcommunity.org/content/tck
6078+ *
6079+ * Contributor(s):
6080+ *
6081+ * ***** END LICENSE BLOCK ***** */
6082+
6083+#ifndef _UNIXROOT_H
6084+#define _UNIXROOT_H
6085+
6086+#include "baseroot.h"
6087+#if defined(USE_XWINDOWS)
6088+#include <X11/Xatom.h>
6089+#include <X11/Xlib.h>
6090+#include <X11/Xutil.h>
6091+#include <X11/Xos.h>
6092+#include <X11/Intrinsic.h>
6093+#include <X11/extensions/XShm.h>
6094+#endif
6095+
6096+#include "player.h"
6097+
6098+class CExRootSurf : public CBaseRootSurface
6099+{
6100+public:
6101+ CExRootSurf(IUnknown* pContext, CHXBaseSite* pSite, on_new_frame_cb_t on_new_frame_cb = NULL, void *context = NULL);
6102+
6103+ //Helpers....
6104+ HX_RESULT Init();
6105+ GC GetGC();
6106+
6107+ //public inherited stuff
6108+ virtual HX_RESULT CreateScratchSurface(int nCompositionSurfaceCID,
6109+ HXxSize* pSize);
6110+ virtual HX_RESULT ScratchLock(UCHAR** pBits, INT32* pPitch);
6111+ virtual HX_RESULT ScratchUnlock(UCHAR* pBits);
6112+
6113+ virtual HX_RESULT BeginOptimizedBlt(HXBitmapInfoHeader* pBitmapInfo);
6114+ virtual HX_RESULT OptimizedBlt( UCHAR* pImageBits,
6115+ HXxRect& rDestRect,
6116+ HXxRect& rSrcRect);
6117+ virtual HX_RESULT EndOptimizedBlt(void);
6118+ virtual HX_RESULT GetOptimizedFormat(HX_COMPRESSION_TYPE& ulType);
6119+ virtual HX_RESULT GetPreferredFormat(HX_COMPRESSION_TYPE& ulType);
6120+
6121+ XImage* _GetCompositionSurfaceDrawable();
6122+
6123+ //Shared Memory helper func for the basesurf to use.
6124+// HX_RESULT _DetachSharedRegion();
6125+// HX_RESULT _CreateSharedRegion(INT32 nSize);
6126+
6127+protected:
6128+
6129+ //Smartly handle resizing of shm buffer.
6130+ HX_RESULT _ResizeVideoBuffer(INT32 nSize);
6131+
6132+ //Inherited from CBaseRootSurface....
6133+ virtual void _BltFromScratchToComposition(HXxRect& rDestRect,
6134+ HXxRect& rSrcRect);
6135+ virtual HX_RESULT _DebugBlt( UCHAR* pImageData,
6136+ HXBitmapInfoHeader* pBitmapInfo,
6137+ HXxRect& rDestRect,
6138+ HXxRect& rSrcRect);
6139+ virtual void _GetYUVScratchWidthHeight(UINT32* pWidth, UINT32* pHeight);
6140+ virtual void _CreateYUVScratchSurface(UINT32 width, UINT32 height);
6141+ virtual void _GetYUVScratchSurfacePointer(UCHAR** pYUVBits, INT32* YUVPitch);
6142+ virtual HX_RESULT _MinimalUnlock(HXxWindow* pWindow);
6143+ virtual HX_RESULT _LockComposition(UCHAR** pBits, INT32* pPitch);
6144+ virtual HX_RESULT _CreateCompositionSurface();
6145+ virtual HX_RESULT _DestroyCompositionSurface();
6146+ virtual void _MinimalBlt(HXxRect& dest);
6147+
6148+
6149+private:
6150+
6151+ virtual ~CExRootSurf();
6152+
6153+ //Protect unintentional copy and default ctors.
6154+ CExRootSurf();
6155+ CExRootSurf( const CExRootSurf& );
6156+ CExRootSurf& operator=( const CExRootSurf& it );
6157+
6158+ //Shared memory members.
6159+ HXBOOL m_bUseShm;
6160+ XShmSegmentInfo m_shmInfo;
6161+ int m_nShmId;
6162+
6163+ //General display and GC stuff.
6164+ Display* m_pDisplay;
6165+ GC m_GC;
6166+ int m_nScreenNumber;
6167+ XImage* m_pXImage;
6168+ Window m_window;
6169+ Visual* m_pVisual;
6170+ unsigned int m_unDepth;
6171+ Screen* m_pScreen;
6172+ Colormap m_colormap;
6173+ int m_nBitsPerPixel;
6174+
6175+ //Bitmap stuff.
6176+ UCHAR* m_pYUVScratchBits;
6177+ HXBitmapInfo m_bmiYUVScratch;
6178+ int m_nYUVScratchPitch;
6179+ UCHAR* m_pScratchBits;
6180+ HXBitmapInfo m_bmiScratch;
6181+ int m_nScratchPitch;
6182+ HXBitmapInfo m_bmiSave;
6183+ ULONG32 m_nCompositionSize;
6184+ on_new_frame_cb_t m_on_new_frame_cb;
6185+ void * m_context;
6186+};
6187+
6188+#endif
6189Index: helix-libs/clientapps/clutter/exsite.cpp
6190===================================================================
6191--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6192+++ helix-libs/clientapps/clutter/exsite.cpp 2008-10-13 06:05:49.000000000 -0700
6193@@ -0,0 +1,2915 @@
6194+/* ***** BEGIN LICENSE BLOCK *****
6195+ * Source last modified: $Id: unixsite.cpp,v 1.18.2.6 2008/06/05 14:24:30 lovish Exp $
6196+ *
6197+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
6198+ *
6199+ * The contents of this file, and the files included with this file,
6200+ * are subject to the current version of the RealNetworks Public
6201+ * Source License (the "RPSL") available at
6202+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
6203+ * the file under the current version of the RealNetworks Community
6204+ * Source License (the "RCSL") available at
6205+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
6206+ * will apply. You may also obtain the license terms directly from
6207+ * RealNetworks. You may not use this file except in compliance with
6208+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable
6209+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for
6210+ * the rights, obligations and limitations governing use of the
6211+ * contents of the file.
6212+ *
6213+ * Alternatively, the contents of this file may be used under the
6214+ * terms of the GNU General Public License Version 2 (the
6215+ * "GPL") in which case the provisions of the GPL are applicable
6216+ * instead of those above. If you wish to allow use of your version of
6217+ * this file only under the terms of the GPL, and not to allow others
6218+ * to use your version of this file under the terms of either the RPSL
6219+ * or RCSL, indicate your decision by deleting the provisions above
6220+ * and replace them with the notice and other provisions required by
6221+ * the GPL. If you do not delete the provisions above, a recipient may
6222+ * use your version of this file under the terms of any one of the
6223+ * RPSL, the RCSL or the GPL.
6224+ *
6225+ * This file is part of the Helix DNA Technology. RealNetworks is the
6226+ * developer of the Original Code and owns the copyrights in the
6227+ * portions it created.
6228+ *
6229+ * This file, and the files included with this file, is distributed
6230+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
6231+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
6232+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
6233+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
6234+ * ENJOYMENT OR NON-INFRINGEMENT.
6235+ *
6236+ * Technology Compatibility Kit Test Suite(s) Location:
6237+ * http://www.helixcommunity.org/content/tck
6238+ *
6239+ * Contributor(s):
6240+ * Phil Dibowitz
6241+ *
6242+ * ***** END LICENSE BLOCK ***** */
6243+
6244+#ifndef _UNIX
6245+#error This is the UNIX platform specific implementation.
6246+#endif
6247+
6248+//
6249+// System includes...
6250+//
6251+#include <stdio.h>
6252+#include "hlxclib/string.h"
6253+#if defined(USE_XWINDOWS)
6254+#include <X11/Intrinsic.h>
6255+#include <X11/Shell.h>
6256+#include <X11/Xlib.h>
6257+#include <X11/Xutil.h>
6258+#include <X11/keysym.h>
6259+#include <X11/Xos.h>
6260+#include <X11/cursorfont.h>
6261+#include <X11/extensions/XShm.h>
6262+#endif
6263+
6264+
6265+//
6266+// RMA includes...
6267+//
6268+#include "hxcom.h"
6269+#include "hxcore.h"
6270+#include "hxevent.h"
6271+#include "hxwintyp.h"
6272+#include "hxwin.h"
6273+#include "hxsite2.h"
6274+#include "hxtypes.h"
6275+#include "exsite.h"
6276+#include "unixcmap.h"
6277+#include "visuals.h"
6278+#include "region.h"
6279+#include "basesurf.h"
6280+#include "exroot.h"
6281+#include "hxthread.h"
6282+#include "hxtick.h"
6283+#include "sitetext.h"
6284+
6285+#include "unixsurf.h"
6286+
6287+#include "hxprefs.h"
6288+
6289+//
6290+// Global & Static global/member data....
6291+//
6292+Display *CHXExSite::zm_display = NULL;
6293+static CHXMapPtrToPtr z_mapSiteToWindow;
6294+
6295+//
6296+// Scroll bar support
6297+//
6298+#define SCROLL_BAR_WIDTH 13 //Width of scroll bar.
6299+//#define _ARROWS_SIDE_BY_SIDE 1 //Regular or side by side arrows?
6300+
6301+
6302+
6303+
6304+//
6305+// CHXExSite only Methods...
6306+//
6307+CHXExSite::CHXExSite( IUnknown* pContext, IUnknown* pUnkOuter, INT32 lInitialZorder, on_new_frame_cb_t on_new_frame_cb, void *context)
6308+ : CHXBaseSite( pContext, pUnkOuter, lInitialZorder )
6309+ , m_pUnixEventHandler(NULL)
6310+ , m_ScrollHorizButtonL(0)
6311+ , m_ScrollHorizButtonR(0)
6312+ , m_ScrollVertButtonT(0)
6313+ , m_ScrollVertButtonB(0)
6314+ , m_winFullScreenWindow(0)
6315+ , m_winOldParent(0)
6316+ , m_bScrollingInProgress(FALSE)
6317+ , m_nScrollDir(0)
6318+ , m_bLastPointInSite(FALSE)
6319+ , m_bDamaged(FALSE)
6320+ , m_bIgnoreFocusOutInFS(FALSE)
6321+ , m_bReparent(FALSE)
6322+ , m_on_new_frame_cb(on_new_frame_cb)
6323+ , m_context(context)
6324+#if defined(HELIX_CONFIG_MOBLIN)
6325+ , m_pAttachWindowCallback(NULL)
6326+ , m_pForceRedrawCallback(NULL)
6327+#endif
6328+{
6329+ m_ptScrollVertPosT.x = m_ptScrollVertPosT.y = 0;
6330+ m_ptScrollVertPosB.x = m_ptScrollVertPosB.y = 0;
6331+ m_ptScrollHorizPosR.x = m_ptScrollHorizPosR.y = 0;
6332+ m_ptScrollHorizPosL.x = m_ptScrollHorizPosL.y = 0;
6333+ m_ptFullScreenOffset.x = m_ptFullScreenOffset.y = 0;
6334+ memset( &m_PreFullScreenSize, 0, sizeof( m_PreFullScreenSize ) );
6335+
6336+ HX_ASSERT( m_pContext );
6337+
6338+ /* Replace m_pVideoSurface with my own */
6339+/* HX_RELEASE(m_pVideoSurface);
6340+ m_pVideoSurface = new CUnixSurf(m_pContext, this);
6341+ HX_ASSERT( m_pVideoSurface );
6342+ m_pVideoSurface->InitSurface(m_pContext);
6343+ m_pVideoSurface->AddRef();
6344+*/
6345+ IHXPreferences* pPreferences = NULL;
6346+ if( m_pContext && HXR_OK == m_pContext->QueryInterface( IID_IHXPreferences, (void **) &pPreferences))
6347+ {
6348+ IHXBuffer *pBuffer = NULL;
6349+ pPreferences->ReadPref("IgnoreFocusOutInFS", pBuffer);
6350+ if(pBuffer)
6351+ {
6352+ m_bIgnoreFocusOutInFS = (::atoi((const char*)pBuffer->GetBuffer()) == 1);
6353+ HX_RELEASE(pBuffer);
6354+ }
6355+ }
6356+}
6357+
6358+CHXExSite::~CHXExSite()
6359+{
6360+#if defined(HELIX_CONFIG_MOBLIN)
6361+ RemovePendingCallback(m_pAttachWindowCallback);
6362+ HX_RELEASE(m_pAttachWindowCallback);
6363+
6364+ RemovePendingCallback(m_pForceRedrawCallback);
6365+ HX_RELEASE(m_pForceRedrawCallback);
6366+#endif
6367+ void* pDummy;
6368+ if (z_mapSiteToWindow.Lookup((void*)this, pDummy))
6369+ {
6370+ z_mapSiteToWindow.RemoveKey((void*)this);
6371+ }
6372+
6373+ if( m_pUnixEventHandler )
6374+ {
6375+ m_pUnixEventHandler->CancelCallback();
6376+ HX_RELEASE(m_pUnixEventHandler);
6377+ }
6378+}
6379+
6380+HX_RESULT CHXExSite::_OpenXDisplay(char* pszDisplayString)
6381+{
6382+ HX_RESULT retVal = HXR_OK;
6383+
6384+ //Is the connection open already?
6385+ if( NULL==zm_display )
6386+ {
6387+ zm_display = XOpenDisplay(pszDisplayString);
6388+
6389+ //If you can't open the display your done.
6390+ if(NULL == zm_display )
6391+ {
6392+ HX_ASSERT("Can't open X Display..."==NULL);
6393+ retVal = HXR_FAIL;
6394+ }
6395+ else
6396+ {
6397+ HX_ASSERT(m_pScheduler);
6398+ if( m_pScheduler )
6399+ {
6400+ //UnixEventHandler scheduls itself for init callback
6401+ //in the ctor.
6402+ m_pUnixEventHandler = new UnixEventHandler(this);
6403+ m_pUnixEventHandler->AddRef();
6404+ }
6405+ }
6406+ }
6407+ return retVal;
6408+}
6409+
6410+Window CHXExSite::CreateXWindow( Window win )
6411+{
6412+ Window parentWindow;
6413+ HXxWindow* pWindow = NULL;
6414+ //If parentWin is NULL then we belong to the root window.
6415+ if( win )
6416+ {
6417+ parentWindow = win;
6418+ }
6419+ else
6420+ {
6421+ HX_ASSERT(zm_display);
6422+ XLockDisplay(zm_display);
6423+ parentWindow = RootWindow(zm_display, DefaultScreen(zm_display));
6424+ XUnlockDisplay(zm_display);
6425+ }
6426+
6427+ //Find the best visual to use on this display.
6428+ Visual* visual = GetBestVisual(zm_display);
6429+
6430+ //Get the visual info.
6431+ int nNotUsed=0;
6432+ XVisualInfo stVisInfo;
6433+
6434+ memset(&stVisInfo, 0, sizeof(XVisualInfo));
6435+ stVisInfo.visualid = XVisualIDFromVisual(visual);
6436+ XLockDisplay(zm_display);
6437+ XVisualInfo* pVisual = XGetVisualInfo( zm_display,
6438+ VisualIDMask,
6439+ &stVisInfo,
6440+ &nNotUsed );
6441+ XUnlockDisplay(zm_display);
6442+
6443+ // Set up attributes of the window.
6444+ int attrMask = CWBackPixel | CWBorderPixel;
6445+ XSetWindowAttributes attr;
6446+
6447+ memset(&attr, 0, sizeof(XSetWindowAttributes));
6448+ XLockDisplay(zm_display);
6449+ attr.background_pixel = BlackPixel(zm_display, DefaultScreen(zm_display));
6450+ attr.border_pixel = BlackPixel(zm_display, DefaultScreen(zm_display));
6451+ XUnlockDisplay(zm_display);
6452+
6453+ //See if the default visaul of hte screen is the same one we Want
6454+ //to use. If not, create a new one and install it.
6455+ Colormap cmap;
6456+ XLockDisplay(zm_display);
6457+ Visual* defVisual = DefaultVisual(zm_display, DefaultScreen(zm_display));
6458+ XUnlockDisplay(zm_display);
6459+ if( defVisual->visualid != stVisInfo.visualid )
6460+ {
6461+ //XXXgfw Are we leaking this colormap????
6462+ XLockDisplay(zm_display);
6463+ cmap = XCreateColormap(zm_display, parentWindow, visual, AllocNone);
6464+ XUnlockDisplay(zm_display);
6465+ attr.colormap = cmap;
6466+ attrMask |= CWColormap;
6467+ }
6468+
6469+ // Set the size/position of the window before creating.
6470+ XSizeHints size_hints;
6471+
6472+ size_hints.flags = PPosition | PSize;
6473+ size_hints.x = m_position.x;
6474+ size_hints.y = m_position.y;
6475+ size_hints.width = 1;
6476+ size_hints.height = 1;
6477+
6478+ //Create it.
6479+ XLockDisplay(zm_display);
6480+ Window window = XCreateWindow(zm_display,
6481+ parentWindow,
6482+ size_hints.x,
6483+ size_hints.y,
6484+ size_hints.width,
6485+ size_hints.height,
6486+ 0,
6487+ pVisual->depth,
6488+ InputOutput,
6489+ visual,
6490+ attrMask,
6491+ &attr);
6492+ XUnlockDisplay(zm_display);
6493+ XFree(pVisual);
6494+
6495+ //Tell the WM about this window.
6496+#if 0
6497+ XSetStandardProperties( zm_display,
6498+ window,
6499+ "CHXExSite",
6500+ "CHXExSite",
6501+ None,
6502+ NULL, 0,
6503+ &size_hints
6504+ );
6505+#endif
6506+
6507+ //Select all input events on the window since the other platforms
6508+ //we work with have no concept of event masks
6509+ XLockDisplay(zm_display);
6510+#if 0
6511+ int result = XSelectInput( zm_display, window,
6512+ ButtonPressMask | ButtonReleaseMask | KeyPressMask |
6513+ KeyReleaseMask | EnterWindowMask | LeaveWindowMask |
6514+ PointerMotionMask | ButtonMotionMask | KeymapStateMask |
6515+ ExposureMask | StructureNotifyMask | FocusChangeMask
6516+ );
6517+#else
6518+ int result = XSelectInput( zm_display, window, 0 );
6519+
6520+
6521+#endif
6522+ XUnlockDisplay(zm_display);
6523+ if( BadWindow == result )
6524+ {
6525+#ifdef _DEBUG
6526+ fprintf( stderr, "Can select events.\n" );
6527+#endif
6528+ }
6529+
6530+ //Map the window.
6531+ XLockDisplay(zm_display);
6532+ /* XMapWindow(zm_display, window); */
6533+
6534+ //Flush event queue.
6535+ XFlush(zm_display);
6536+ XUnlockDisplay(zm_display);
6537+
6538+
6539+ return window;
6540+}
6541+
6542+void CHXExSite::_MapHorzScroll()
6543+{
6544+#if 0
6545+ if( GetWindow() && GetWindow()->display && m_ScrollHorizButtonL)
6546+ {
6547+ Display* pDis = (Display*)GetWindow()->display;
6548+ XLockDisplay(pDis);
6549+ XMapWindow( pDis, m_ScrollHorizButtonL );
6550+ XMapWindow( pDis, m_ScrollHorizButtonR );
6551+ XUnlockDisplay(pDis);
6552+ }
6553+ _DrawArrows();
6554+#endif
6555+}
6556+
6557+void CHXExSite::_MapVertScroll()
6558+{
6559+#if 0
6560+ if( GetWindow() && GetWindow()->display && m_ScrollVertButtonT)
6561+ {
6562+ Display* pDis = (Display*)GetWindow()->display;
6563+ XLockDisplay(pDis);
6564+ XMapWindow( pDis, m_ScrollVertButtonT );
6565+ XMapWindow( pDis, m_ScrollVertButtonB );
6566+ XUnlockDisplay(pDis);
6567+ }
6568+ _DrawArrows();
6569+#endif
6570+}
6571+
6572+void CHXExSite::_MapScrollButtons()
6573+{
6574+#if 0
6575+ _MapHorzScroll();
6576+ _MapVertScroll();
6577+#endif
6578+}
6579+
6580+void CHXExSite::_UnmapHorzScroll()
6581+{
6582+#if 0
6583+ HX_ASSERT( GetWindow() );
6584+ if( m_ScrollHorizButtonL && GetWindow()->display )
6585+ {
6586+ Display* pDis = (Display*)GetWindow()->display;
6587+ XLockDisplay(pDis);
6588+ XUnmapWindow( pDis, m_ScrollHorizButtonL );
6589+ XUnmapWindow( pDis, m_ScrollHorizButtonR );
6590+ XUnlockDisplay(pDis);
6591+ }
6592+#endif
6593+}
6594+void CHXExSite::_UnmapVertScroll()
6595+{
6596+#if 0
6597+ HX_ASSERT( GetWindow() );
6598+ if( m_ScrollVertButtonT && GetWindow()->display )
6599+ {
6600+ Display* pDis = (Display*)GetWindow()->display;
6601+ XLockDisplay(pDis);
6602+ XUnmapWindow( pDis, m_ScrollVertButtonT );
6603+ XUnmapWindow( pDis, m_ScrollVertButtonB );
6604+ XUnlockDisplay(pDis);
6605+ }
6606+#endif
6607+}
6608+
6609+void CHXExSite::_UnmapScrollButtons()
6610+{
6611+#if 0
6612+ if( GetWindow() )
6613+ {
6614+ _UnmapVertScroll();
6615+ _UnmapHorzScroll();
6616+ }
6617+#endif
6618+}
6619+
6620+void CHXExSite::_DestroyScrollButtons()
6621+{
6622+ HXxWindow* pWin = GetWindow();
6623+ Display* pDis = (Display*)(pWin?pWin->display:NULL);
6624+
6625+ if( m_ScrollHorizButtonL && pDis )
6626+ {
6627+ XLockDisplay(pDis);
6628+ XDestroyWindow( pDis, m_ScrollHorizButtonL );
6629+ m_ScrollHorizButtonL = 0;
6630+ XDestroyWindow( pDis, m_ScrollHorizButtonR );
6631+ XUnlockDisplay(pDis);
6632+ m_ScrollHorizButtonR = 0;
6633+ }
6634+
6635+ if( m_ScrollVertButtonT && pDis)
6636+ {
6637+ XLockDisplay(pDis);
6638+ XDestroyWindow( pDis, m_ScrollVertButtonT );
6639+ m_ScrollVertButtonT = 0;
6640+ XDestroyWindow( pDis, m_ScrollVertButtonB );
6641+ XUnlockDisplay(pDis);
6642+ m_ScrollVertButtonB = 0;
6643+ }
6644+ m_ptScrollVertPosT.x = m_ptScrollVertPosT.y = 0;
6645+ m_ptScrollVertPosB.x = m_ptScrollVertPosB.y = 0;
6646+ m_ptScrollHorizPosR.x = m_ptScrollHorizPosR.y = 0;
6647+ m_ptScrollHorizPosL.x = m_ptScrollHorizPosL.y = 0;
6648+}
6649+
6650+void CHXExSite::_DrawArrows()
6651+{
6652+#if 0 //Paul Debug
6653+ //only do the work if our site is visible.
6654+ if( !IsSiteVisible() )
6655+ return;
6656+
6657+ //Draw an arrow on this window.
6658+ XPoint points[4];
6659+ int offset = SCROLL_BAR_WIDTH/10;
6660+ GC tmpGC;
6661+ XGCValues values;
6662+ Display* dis = (Display*)GetWindow()->display;
6663+
6664+ if( m_ScrollVertButtonB )
6665+ {
6666+ XLockDisplay(dis);
6667+ tmpGC = XCreateGC( dis, m_ScrollVertButtonB, 0, &values );
6668+ XUnlockDisplay(dis);
6669+ }
6670+ else if( m_ScrollHorizButtonL )
6671+ {
6672+ XLockDisplay(dis);
6673+ tmpGC = XCreateGC( dis, m_ScrollHorizButtonL, 0, &values );
6674+ XUnlockDisplay(dis);
6675+ }
6676+ else
6677+ {
6678+ //We don't have any scroll bars to draw....
6679+ return;
6680+ }
6681+
6682+
6683+ XLockDisplay(dis);
6684+ XSetForeground( dis, tmpGC, WhitePixel(dis, 0 ));
6685+ XSetBackground( dis, tmpGC, BlackPixel(dis, 0 ));
6686+ XUnlockDisplay(dis);
6687+ Colormap cmap = HXGetXColormap((Display*)GetWindow()->display,
6688+ (Window)GetWindow()->window);
6689+ XColor color;
6690+
6691+ memset(&color, 0, sizeof(XColor));
6692+ XLockDisplay(dis);
6693+ XParseColor(dis, cmap, "blue", &color);
6694+ XUnlockDisplay(dis);
6695+ HXFindBestXColor(dis, cmap, &color);
6696+ XLockDisplay(dis);
6697+ XSetForeground( dis, tmpGC, color.pixel);
6698+ XSetLineAttributes(dis, tmpGC, 1, LineSolid, CapRound, JoinRound );
6699+ XUnlockDisplay(dis);
6700+
6701+
6702+ //Draw up Vertical arrow.
6703+ if( m_ScrollVertButtonT )
6704+ {
6705+ points[0].x = offset;
6706+ points[0].y = SCROLL_BAR_WIDTH-offset;
6707+ points[1].x = SCROLL_BAR_WIDTH/2;
6708+ points[1].y = offset;
6709+ points[2].x = SCROLL_BAR_WIDTH-offset;
6710+ points[2].y = SCROLL_BAR_WIDTH-offset;
6711+ points[3].x = points[0].x;
6712+ points[3].y = points[0].y;
6713+ XLockDisplay(dis);
6714+ XFillPolygon( dis, m_ScrollVertButtonT, tmpGC, points, 4, Convex, CoordModeOrigin);
6715+ XUnlockDisplay(dis);
6716+ }
6717+
6718+ //Draw down Vertical arrow.
6719+ if( m_ScrollVertButtonB )
6720+ {
6721+ points[0].x = offset;
6722+ points[0].y = offset;
6723+ points[1].x = SCROLL_BAR_WIDTH-offset;
6724+ points[1].y = offset;
6725+ points[2].x = SCROLL_BAR_WIDTH/2;
6726+ points[2].y = SCROLL_BAR_WIDTH-offset;
6727+ points[3].x = points[0].x;
6728+ points[3].y = points[0].y;
6729+ XLockDisplay(dis);
6730+ XFillPolygon( dis, m_ScrollVertButtonB, tmpGC, points, 4, Convex, CoordModeOrigin);
6731+ XUnlockDisplay(dis);
6732+ }
6733+
6734+ //Draw Left Horizontal arrow.
6735+ if( m_ScrollHorizButtonL )
6736+ {
6737+ points[0].x = SCROLL_BAR_WIDTH-offset;
6738+ points[0].y = offset;
6739+ points[1].x = SCROLL_BAR_WIDTH-offset;
6740+ points[1].y = SCROLL_BAR_WIDTH-offset;
6741+ points[2].x = offset;
6742+ points[2].y = SCROLL_BAR_WIDTH/2;
6743+ points[3].x = points[0].x;
6744+ points[3].y = points[0].y;
6745+ XLockDisplay(dis);
6746+ XFillPolygon( dis, m_ScrollHorizButtonL, tmpGC, points, 4, Convex, CoordModeOrigin);
6747+ XUnlockDisplay(dis);
6748+ }
6749+
6750+ //Draw Right Horizontal arrow.
6751+ if( m_ScrollHorizButtonR )
6752+ {
6753+ points[0].x = offset;
6754+ points[0].y = SCROLL_BAR_WIDTH-offset;
6755+ points[1].x = offset;
6756+ points[1].y = offset;
6757+ points[2].x = SCROLL_BAR_WIDTH-offset;
6758+ points[2].y = SCROLL_BAR_WIDTH/2;
6759+ points[3].x = points[0].x;
6760+ points[3].y = points[0].y;
6761+ XLockDisplay(dis);
6762+ XFillPolygon( dis, m_ScrollHorizButtonR, tmpGC, points, 4, Convex, CoordModeOrigin);
6763+ XUnlockDisplay(dis);
6764+ }
6765+
6766+ //Free the GC and go.
6767+ XLockDisplay(dis);
6768+ XFreeGC( dis, tmpGC );
6769+ XUnlockDisplay(dis);
6770+#endif
6771+}
6772+
6773+HXBOOL CHXExSite::_InButton( HXxPoint& pt, int x, int y )
6774+{
6775+ HXBOOL retVal =FALSE;
6776+ if( x>= pt.x && x< pt.x+SCROLL_BAR_WIDTH && y>=pt.y && y<pt.y+SCROLL_BAR_WIDTH )
6777+ retVal=TRUE;
6778+ else
6779+ retVal=FALSE;
6780+
6781+ return retVal;
6782+}
6783+
6784+void CHXExSite::_CreateHorizScrollBar()
6785+{
6786+ HX_ASSERT( m_ScrollHorizButtonL == 0 );
6787+ HX_ASSERT( m_ScrollHorizButtonR == 0 );
6788+
6789+ HXxSize mySize;
6790+
6791+ HXxWindow* pParentWindow = NULL;
6792+ if(GetParentSite())
6793+ {
6794+ pParentWindow = GetParentSite()->GetWindow();
6795+ }
6796+ if(pParentWindow)
6797+ {
6798+ GetParentSite()->GetSize(mySize);
6799+ }
6800+
6801+ HX_ASSERT( pParentWindow );
6802+ HX_ASSERT( pParentWindow->window != 0 );
6803+
6804+ if( m_ScrollVertButtonB )
6805+ {
6806+ // if the other bar already exists, don't overlap it!
6807+ mySize.cx -= SCROLL_BAR_WIDTH;
6808+ }
6809+
6810+ m_ptScrollHorizPosL.x = m_topleft.x;
6811+ m_ptScrollHorizPosL.y = m_topleft.y+mySize.cy-SCROLL_BAR_WIDTH;
6812+
6813+#ifndef _ARROWS_SIDE_BY_SIDE
6814+ m_ptScrollHorizPosR.x = m_topleft.x+mySize.cx-SCROLL_BAR_WIDTH;
6815+#else
6816+ m_ptScrollHorizPosR.x = m_topleft.x+SCROLL_BAR_WIDTH;
6817+#endif
6818+ m_ptScrollHorizPosR.y = m_topleft.y+mySize.cy-SCROLL_BAR_WIDTH;
6819+
6820+ Display* dis = (Display*)GetWindow()->display;
6821+ XLockDisplay(dis);
6822+ Pixel blackPixel = BlackPixel( dis, DefaultScreen(dis) );
6823+ XUnlockDisplay(dis);
6824+ Pixel greyPixel = blackPixel;
6825+
6826+ Colormap cmap = HXGetXColormap(dis, (Window)GetWindow()->window);
6827+ XColor color;
6828+
6829+ XLockDisplay(dis);
6830+ XParseColor(dis, cmap, "gray", &color);
6831+ XUnlockDisplay(dis);
6832+ HXFindBestXColor(dis, cmap, &color);
6833+ greyPixel = color.pixel;
6834+
6835+ XLockDisplay(dis);
6836+ m_ScrollHorizButtonL = XCreateSimpleWindow( dis,
6837+ (Window)pParentWindow->window,
6838+ m_ptScrollHorizPosL.x, m_ptScrollHorizPosL.y,
6839+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH,
6840+ 1,
6841+ blackPixel,
6842+ greyPixel
6843+ );
6844+ m_ScrollHorizButtonR = XCreateSimpleWindow( dis,
6845+ (Window)pParentWindow->window,
6846+ m_ptScrollHorizPosR.x, m_ptScrollHorizPosR.y,
6847+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH,
6848+ 1,
6849+ blackPixel,
6850+ greyPixel
6851+ );
6852+ XUnlockDisplay(dis);
6853+ HX_ASSERT( m_ScrollHorizButtonR && m_ScrollHorizButtonL );
6854+
6855+}
6856+
6857+void CHXExSite::_CreateVertScrollBar()
6858+{
6859+ HX_ASSERT( m_ScrollVertButtonB == 0 );
6860+ HX_ASSERT( m_ScrollVertButtonT == 0 );
6861+
6862+ HXxSize mySize;
6863+
6864+ HXxWindow* pParentWindow = NULL;
6865+ if(GetParentSite())
6866+ {
6867+ pParentWindow = GetParentSite()->GetWindow();
6868+ }
6869+ if(pParentWindow)
6870+ {
6871+ GetParentSite()->GetSize(mySize);
6872+ }
6873+
6874+ HX_ASSERT( pParentWindow );
6875+ HX_ASSERT( pParentWindow->window != 0 );
6876+
6877+ if( m_ScrollHorizButtonR )
6878+ {
6879+ // if the other bar already exists, don't overlap it!
6880+ mySize.cy -= SCROLL_BAR_WIDTH;
6881+ }
6882+
6883+
6884+ m_ptScrollVertPosT.x = m_topleft.x+mySize.cx-SCROLL_BAR_WIDTH;
6885+ m_ptScrollVertPosT.y = m_topleft.y;
6886+
6887+ m_ptScrollVertPosB.x = m_topleft.x+mySize.cx-SCROLL_BAR_WIDTH;
6888+#ifndef _ARROWS_SIDE_BY_SIDE
6889+ m_ptScrollVertPosB.y = m_topleft.y+mySize.cy-SCROLL_BAR_WIDTH;
6890+#else
6891+ m_ptScrollVertPosB.y = m_topleft.y+SCROLL_BAR_WIDTH;
6892+#endif
6893+
6894+ Display* dis = (Display*)GetWindow()->display;
6895+ XLockDisplay(dis);
6896+ Pixel blackPixel = BlackPixel( dis, DefaultScreen(dis) );
6897+ XUnlockDisplay(dis);
6898+ Pixel greyPixel = blackPixel;
6899+ Colormap cmap = HXGetXColormap((Display*)GetWindow()->display,
6900+ (Window)GetWindow()->window);
6901+ XColor color;
6902+ XLockDisplay(dis);
6903+ XParseColor(dis, cmap, "gray", &color);
6904+ XUnlockDisplay(dis);
6905+ HXFindBestXColor(dis, cmap, &color);
6906+ greyPixel = color.pixel;
6907+
6908+ HX_ASSERT( GetWindow() );
6909+ XLockDisplay(dis);
6910+ m_ScrollVertButtonT = XCreateSimpleWindow( dis,
6911+ (Window)pParentWindow->window,
6912+ m_ptScrollVertPosT.x, m_ptScrollVertPosT.y,
6913+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH,
6914+ 1,
6915+ blackPixel,
6916+ greyPixel
6917+ );
6918+ m_ScrollVertButtonB = XCreateSimpleWindow( dis,
6919+ (Window)pParentWindow->window,
6920+ m_ptScrollVertPosB.x, m_ptScrollVertPosB.y,
6921+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH,
6922+ 1,
6923+ blackPixel,
6924+ greyPixel
6925+ );
6926+ XUnlockDisplay(dis);
6927+
6928+ HX_ASSERT( m_ScrollVertButtonB && m_ScrollVertButtonT );
6929+
6930+}
6931+
6932+//
6933+// Inherited CHXBaseSite methods.
6934+//
6935+void CHXExSite::_NeedWindowedSite()
6936+{
6937+#ifdef _DEBUG
6938+ fprintf( stderr, "CHXExSite::_NeedWindowedSite do something here....\n" );
6939+#endif
6940+ //Nothing to do on unix....
6941+}
6942+
6943+void CHXExSite::_AttachWindow()
6944+{
6945+#if 1
6946+ void* pDummy=NULL;
6947+
6948+ if (m_pRootSurface)
6949+ { /* Replace CUnixRootSurf with my own CExRootSurf */
6950+ HX_RELEASE(m_pRootSurface);
6951+ m_pRootSurface = new CExRootSurf(m_pContext, this, m_on_new_frame_cb, m_context);
6952+ m_pRootSurface->AddRef();
6953+ }
6954+
6955+ if(!z_mapSiteToWindow.Lookup((void*)this, pDummy))
6956+ {
6957+ z_mapSiteToWindow.SetAt((void*)this, (void*)m_pWindow);
6958+ }
6959+
6960+ //Set the display variable.
6961+ if( m_pWindow->display == NULL )
6962+ {
6963+ HX_ASSERT(zm_display);
6964+ m_pWindow->display = zm_display;
6965+ }
6966+
6967+ //Now that we have a window be sure to init the CExRootSurf.
6968+ //this lets it set up the display, colormap, etc.
6969+ ((CExRootSurf*)m_pRootSurface)->Init();
6970+#endif
6971+}
6972+
6973+void CHXExSite::_DetachWindow()
6974+{
6975+#if 1
6976+ void* pDummy;
6977+
6978+ if (z_mapSiteToWindow.Lookup((void*)this, pDummy))
6979+ {
6980+ z_mapSiteToWindow.RemoveKey((void*)this);
6981+ }
6982+#endif
6983+}
6984+
6985+void* CHXExSite::_Create(void* pParentWindow, UINT32 style)
6986+{
6987+ HRESULT result = HXR_OK;
6988+ if( m_pWindow && m_pWindow->window )
6989+ {
6990+ HX_ASSERT( "We already have created a window"==NULL);
6991+ return NULL;
6992+ }
6993+
6994+ if (pParentWindow==NULL || style)
6995+ {
6996+ m_bIsChildWindow = FALSE;
6997+ }
6998+ else
6999+ {
7000+ m_bIsChildWindow = TRUE;
7001+ }
7002+
7003+ if( _OpenXDisplay(NULL) != HXR_OK )
7004+ {
7005+ return NULL;
7006+ }
7007+ return (void*)CreateXWindow((Window)pParentWindow);
7008+}
7009+
7010+
7011+void CHXExSite::_Destroy(HXxWindow* pWindow)
7012+{
7013+ _DestroySliders();
7014+ HXxWindow* pWin = GetWindow();
7015+ Display* pDis = (Display*)(pWin?pWin->display:NULL);
7016+ if( pDis )
7017+ {
7018+ XLockDisplay(pDis);
7019+ XDestroyWindow( pDis, (Window)pWindow->window );
7020+ XUnlockDisplay(pDis);
7021+ }
7022+}
7023+
7024+void CHXExSite::_SetSize(HXxSize size)
7025+{
7026+ HX_ASSERT( m_pWindow && m_pWindow->display && m_pWindow->window);
7027+ //The scroll bars get resized also...
7028+ _DestroySliders();
7029+ Display* pDis = (Display*)GetWindow()->display;
7030+ XLockDisplay(pDis);
7031+ XResizeWindow(pDis,
7032+ (Window) m_pWindow->window,
7033+ size.cx,
7034+ size.cy);
7035+ XUnlockDisplay(pDis);
7036+}
7037+
7038+void CHXExSite::_SetPosition(HXxPoint position)
7039+{
7040+ HX_ASSERT( m_pWindow && m_pWindow->display && m_pWindow->window);
7041+ _DestroyScrollButtons();
7042+ XLockDisplay((Display*) m_pWindow->display);
7043+ XMoveWindow((Display*)m_pWindow->display,
7044+ (Window)m_pWindow->window,
7045+ position.x,
7046+ position.y);
7047+ XUnlockDisplay((Display*) m_pWindow->display);
7048+}
7049+
7050+void CHXExSite::_DamageRect(HXxRect rect)
7051+{
7052+ if(GetWindow())
7053+ {
7054+ m_bDamaged = TRUE;
7055+ }
7056+ return;
7057+}
7058+
7059+void CHXExSite::_DamageRegion(HXxRegion rect)
7060+{
7061+ if(GetWindow())
7062+ {
7063+ m_bDamaged = TRUE;
7064+ }
7065+ return;
7066+}
7067+
7068+void CHXExSite::_SendOSUpdateMessage()
7069+{
7070+ //We need to redraw our window here, m_pWindow.
7071+}
7072+
7073+void CHXExSite::_ShowSite(HXBOOL bShow)
7074+{
7075+ if( bShow )
7076+ {
7077+ _MapScrollButtons();
7078+ }
7079+ else
7080+ {
7081+ _UnmapScrollButtons();
7082+ }
7083+ //do nothing....
7084+}
7085+
7086+HXBOOL CHXExSite::_AtSystemTime()
7087+{
7088+ return TRUE;
7089+}
7090+
7091+void CHXExSite::_GetDeviceCaps( void* hdc,
7092+ UINT16& uBitsPerPixel,
7093+ UINT16& uHorzRes,
7094+ UINT16& uVertRes )
7095+{
7096+ Screen* pScreen = NULL;
7097+ HXxWindow* pWin = GetWindow();
7098+ HX_ASSERT( pWin );
7099+ if( pWin )
7100+ {
7101+ Display* dis = (Display*)pWin->display;
7102+ HX_ASSERT( dis );
7103+ if( dis )
7104+ {
7105+ Display* pDisp = (Display*)GetWindow()->display;
7106+ XLockDisplay(pDisp);
7107+ pScreen = DefaultScreenOfDisplay(pDisp);
7108+ XUnlockDisplay(pDisp);
7109+
7110+ uBitsPerPixel = pScreen->root_depth;
7111+ uHorzRes = pScreen->width;
7112+ uVertRes = pScreen->height;
7113+ }
7114+ }
7115+}
7116+
7117+void CHXExSite::_GetWindowRect(HXxRect* destRect)
7118+{
7119+ HX_ASSERT( "Doesn't seem to be used anywhere"==NULL );
7120+}
7121+
7122+void CHXExSite::_DestroySliders()
7123+{
7124+ _DestroyScrollButtons();
7125+}
7126+
7127+void CHXExSite::_ForwardUpdateEvent(HXxEvent* pEvent)
7128+{
7129+ GC gc = NULL;
7130+ AddRef();
7131+
7132+ HX_ASSERT(GetWindow()->window);
7133+ HX_ASSERT(m_pUser);
7134+ if(m_bIsChildWindow)
7135+ {
7136+ //Create a clip region that excludes our higher z-order
7137+ //siblings and is clipped to our parent.
7138+ if( !m_bRegionIsValid )
7139+ {
7140+ RecomputeClip();
7141+ }
7142+
7143+ // The problem is that regions are locked to the origin so we
7144+ // will need to reverse shift the region before we set the
7145+ // origin of the graph port! get the GC from the video surface
7146+ gc = ((CExRootSurf*)m_pRootSurface)->GetGC();
7147+ HX_ASSERT( gc );
7148+
7149+ //Actually setup our clip region
7150+ Display* pDis = (Display*)GetWindow()->display;
7151+ XLockDisplay(pDis);
7152+ XSetRegion( pDis, gc, (Region) m_Region );
7153+ XUnlockDisplay(pDis);
7154+ }
7155+
7156+ XEvent* pXEvent = (XEvent*) pEvent->param2;
7157+ XExposeEvent* exposeEvent = (XExposeEvent*) pXEvent;
7158+
7159+ // get the rect for this site with respect to our parent
7160+ HXRECTANGLE exposedRect = { exposeEvent->x,
7161+ exposeEvent->y,
7162+ exposeEvent->width,
7163+ exposeEvent->height };
7164+ HXREGION* exposedRegion = HXCreateRegion();
7165+ HXUnionRectWithRegion(&exposedRect, exposedRegion, exposedRegion);
7166+
7167+ // does the site intersect the current clipping region?
7168+ HXREGION* resultRegion = HXCreateRegion();
7169+ HXIntersectRegion(exposedRegion, m_Region, resultRegion);
7170+ HXBOOL bSiteIntersectsExposed = (HXEmptyRegion(resultRegion)==FALSE);
7171+
7172+ HXDestroyRegion(resultRegion);
7173+ HXDestroyRegion(exposedRegion);
7174+
7175+ // if the exposed region intersects the sites clipping region
7176+ if(bSiteIntersectsExposed)
7177+ {
7178+ m_pUser->HandleEvent(pEvent);
7179+ }
7180+
7181+ //If the user doesn't handle the standard update event then send
7182+ //them the cross platform HX_SURFACE_UPDATE event don't damage the
7183+ //original event structure
7184+ if(!pEvent->handled && m_pUser )
7185+ {
7186+ HX_ASSERT(GetWindow());
7187+ HXxEvent event;
7188+ event.event = HX_SURFACE_UPDATE;
7189+ event.window = GetWindow()->window;
7190+ event.param1 = m_pVideoSurface;
7191+ event.param2 = GetWindow();
7192+ event.result = 0;
7193+ event.handled = FALSE;
7194+ m_pUser->HandleEvent(&event);
7195+ pEvent->handled = event.handled;
7196+ }
7197+
7198+
7199+ //reset the gc to use no region
7200+ if(m_bIsChildWindow && gc)
7201+ {
7202+ Display* pDisp = (Display*)GetWindow()->display;
7203+ XLockDisplay(pDisp);
7204+ XSetClipMask(pDisp, gc, None);
7205+ XUnlockDisplay(pDisp);
7206+ }
7207+
7208+ //Handle the drawing of our arrows...
7209+ _DrawArrows();
7210+
7211+ //Now do all our children....
7212+ CHXMapPtrToPtr::Iterator i = m_ChildrenMap.Begin();
7213+ for(;i!=m_ChildrenMap.End();++i)
7214+ {
7215+ CHXExSite* pSite = (CHXExSite*) *i;
7216+ pSite->_ForwardUpdateEvent(pEvent);
7217+ }
7218+
7219+ Release();
7220+}
7221+
7222+UINT32 CHXExSite::_MapKeySymToHXVK(KeySym sym, UINT32& uFlags )
7223+{
7224+ //XXXgfw if we add the extended flag in the HX_KEYBOARD event
7225+ //structure then we can modify the flags here to show that these
7226+ //keys are 'extended' in the windows sense.
7227+ UINT32 ulRet = 0;
7228+ switch( sym )
7229+ {
7230+ case XK_Shift_R:
7231+ ulRet = XK_Shift_L;
7232+ break;
7233+ case XK_Alt_R:
7234+ ulRet = XK_Alt_L;
7235+ break;
7236+ case XK_KP_Home:
7237+ ulRet = XK_Home;
7238+ break;
7239+ case XK_KP_Next:
7240+ ulRet = XK_Next;
7241+ break;
7242+ case XK_KP_Prior:
7243+ ulRet = XK_Prior;
7244+ break;
7245+ case XK_KP_Enter:
7246+ ulRet = XK_Return;
7247+ break;
7248+ case XK_KP_End:
7249+ ulRet = XK_End;
7250+ break;
7251+ case XK_KP_Begin:
7252+ ulRet = XK_Begin;
7253+ break;
7254+ case XK_KP_Left:
7255+ ulRet = XK_Left;
7256+ break;
7257+ case XK_KP_Up:
7258+ ulRet = XK_Up;
7259+ break;
7260+ case XK_Control_R:
7261+ ulRet = XK_Control_L;
7262+ break;
7263+ case XK_KP_Right:
7264+ ulRet = XK_Right;
7265+ break;
7266+ case XK_KP_Down:
7267+ ulRet = XK_Down;
7268+ break;
7269+ case XK_KP_Insert:
7270+ ulRet = XK_Insert;
7271+ break;
7272+ case XK_KP_Delete:
7273+ ulRet = XK_Delete;
7274+ break;
7275+ default:
7276+ ulRet = sym;
7277+ break;
7278+ }
7279+ if( ulRet != sym )
7280+ {
7281+ //We have mapped a key from Right hand side, keypad, arrows
7282+ //or other parts of an extended keyboard. Set the flag.
7283+ uFlags |= HX_EXTENDED_KEY_MASK;
7284+ }
7285+ return ulRet;
7286+}
7287+
7288+
7289+HXBOOL CHXExSite::_ConvertToHXEvent(HXxEvent* pEvent )
7290+{
7291+ // get original events info from pEvent
7292+ XEvent* pXEvent = (XEvent*) pEvent->param2;
7293+ XButtonEvent* buttonEvent = (XButtonEvent*) pXEvent;
7294+
7295+
7296+ //===============================================================
7297+ // Convert all other event to RMA generic events and pass back.
7298+ //===============================================================
7299+ if( ((pEvent->event == ButtonPress) ||
7300+ (pEvent->event == ButtonRelease) ||
7301+ (pEvent->event == MotionNotify ) ||
7302+ (pEvent->event == EnterNotify) ||
7303+ (pEvent->event == FocusIn) ||
7304+ (pEvent->event == FocusOut) ||
7305+ (pEvent->event == KeyPress) ||
7306+ (pEvent->event == KeyRelease) ||
7307+ (pEvent->event == LeaveNotify))
7308+ )
7309+ {
7310+ // set modifier flags for all events....
7311+ UINT32 flags = 0;
7312+
7313+ // create new HXxEvent
7314+ HXxEvent theEvent;
7315+
7316+ //XXXgfw ouch....
7317+ static HXxPoint realPt = {0,0};
7318+
7319+ //Init certain members.
7320+ memset(&theEvent, 0, sizeof(HXxEvent));
7321+ theEvent.window = pEvent->window;
7322+ theEvent.handled = FALSE;
7323+
7324+ //
7325+ // NOTE:
7326+ //
7327+ // theEvent must be filled in by *ALL* event types.
7328+ // theEvent will be memcopied into the pEvent passed
7329+ // back to the basesite at the end of the method.
7330+ //
7331+
7332+ //==================================================
7333+ // LEAVE NOTIFY EVENT
7334+ //==================================================
7335+ if( pEvent->event==LeaveNotify)
7336+ {
7337+ if( m_pTopLevelSite->m_pMouseInSite )
7338+ {
7339+ HXxPoint oobPoint;
7340+ oobPoint.x = -1;
7341+ oobPoint.y = -1;
7342+ HXxEvent Outevent = { HX_MOUSE_LEAVE,
7343+ m_pWindow->window,
7344+ (void*)&oobPoint,
7345+ 0, 0,
7346+ FALSE };
7347+ m_pTopLevelSite->m_pMouseInSite->EventOccurred(&Outevent);
7348+ m_pTopLevelSite->m_pMouseInSite = NULL;
7349+ }
7350+ pEvent->handled=TRUE;
7351+ return TRUE;
7352+ }
7353+
7354+ //==================================================
7355+ // ENTER NOTIFY EVENT
7356+ //==================================================
7357+ if( pEvent->event==EnterNotify)
7358+ {
7359+ pEvent->handled=TRUE;
7360+ return TRUE;
7361+ }
7362+
7363+ //==================================================
7364+ // KEY PRESS/RELEASE EVENT
7365+ //==================================================
7366+ if ( pEvent->event == KeyPress || pEvent->event==KeyRelease )
7367+ {
7368+ XKeyEvent* pKeyEvent = (XKeyEvent*)pEvent->param2;
7369+
7370+ //
7371+ //Set the event type
7372+ //
7373+ theEvent.event = pEvent->event==KeyPress?HX_KEY_DOWN:HX_KEY_UP;
7374+
7375+ //
7376+ // Fill in the scan/key code.
7377+ //
7378+ flags = pKeyEvent->keycode;
7379+ flags &= 0x000000ff; //the scan code only gets bits 0-7
7380+
7381+ //
7382+ // build key modifier list...
7383+ //
7384+ if( pKeyEvent->state & ShiftMask )
7385+ flags |= HX_SHIFT_MASK;
7386+
7387+ if( pKeyEvent->state & ControlMask )
7388+ flags |= HX_CTRL_MASK;
7389+
7390+ if( pKeyEvent->state & LockMask )
7391+ flags |= HX_CAPS_LOCK_MASK;
7392+
7393+ if( pKeyEvent->state & Mod1Mask)
7394+ flags |= HX_ALT_MASK;
7395+
7396+ if( pKeyEvent->state & Mod2Mask)
7397+ flags |= HX_NUM_LOCK_MASK;
7398+
7399+ if( pKeyEvent->state & Mod5Mask)
7400+ flags |= HX_SCROLL_LOCK_MASK;
7401+
7402+ //
7403+ //Store the char pressed.
7404+ //
7405+ KeySym sym;
7406+ char szBuf[10]; /* Flawfinder: ignore */
7407+ int nNum;
7408+
7409+ //Save the state of the keys...
7410+ unsigned int unSave = pKeyEvent->state;
7411+ pKeyEvent->state=0;
7412+
7413+ //Lookup the key without any state.
7414+ nNum = XLookupString( pKeyEvent, szBuf, 10, &sym, NULL );
7415+ if( nNum > 0 )
7416+ {
7417+ theEvent.param1 = (void*)*szBuf;
7418+ }
7419+ else
7420+ {
7421+ theEvent.param1 = (void*)_MapKeySymToHXVK(sym, flags);
7422+ flags |= HX_VIRTUAL_KEY_MASK;
7423+ }
7424+ //restore the state of the event
7425+ pKeyEvent->state = unSave;
7426+
7427+ //Set the flags...
7428+ theEvent.param2 = (void*)flags;
7429+
7430+ //Check for HX_CHAR needed or not.
7431+ if( theEvent.event == HX_KEY_DOWN )
7432+ {
7433+ //We have to send an extra HX_CHAR event
7434+ HXxEvent extraEvent;
7435+ memcpy( &extraEvent, &theEvent, sizeof( extraEvent ) ); /* Flawfinder: ignore */
7436+
7437+ //Change the type.
7438+ extraEvent.event = HX_CHAR;
7439+
7440+ //
7441+ //Change the keycode to an translated ascii char.
7442+ //
7443+ KeySym sym;
7444+ char szBuf[10]; /* Flawfinder: ignore */
7445+ int nNum;
7446+
7447+ nNum = XLookupString( pKeyEvent, szBuf, 10, &sym, NULL );
7448+
7449+ if( nNum > 0 )
7450+ {
7451+ extraEvent.param1 = (void*)*szBuf;
7452+ }
7453+ else
7454+ {
7455+ extraEvent.param1 = (void*)_MapKeySymToHXVK(sym, flags);
7456+ flags |= HX_VIRTUAL_KEY_MASK;
7457+ }
7458+ extraEvent.param2 = (void*)flags;
7459+
7460+ //
7461+ // Now send the extra event....
7462+ //
7463+ CHXBaseSite::EventOccurred(&extraEvent);
7464+ }
7465+ }
7466+
7467+ //==================================================
7468+ // FOCUS OUT EVENT
7469+ //==================================================
7470+ if ( pEvent->event == FocusOut )
7471+ {
7472+ theEvent.event = HX_LOSE_FOCUS;
7473+ }
7474+
7475+ if ( pEvent->event == FocusIn )
7476+ {
7477+ theEvent.event = HX_SET_FOCUS;
7478+ }
7479+
7480+ //==================================================
7481+ // MOUSE MOVE EVENT
7482+ //==================================================
7483+ if( pEvent->event == MotionNotify )
7484+ {
7485+ XMotionEvent* pp = (XMotionEvent*)pEvent->param2;
7486+ theEvent.event = HX_MOUSE_MOVE;
7487+
7488+ if( pp->state&Button1Mask )
7489+ flags |= HX_PRIMARY_BUTTON;
7490+
7491+ if( pp->state&Button2Mask )
7492+ flags |= HX_CONTEXT_BUTTON;
7493+
7494+ if( pp->state&Button3Mask )
7495+ flags |= HX_THIRD_BUTTON;
7496+
7497+ if(pp->state & ShiftMask)
7498+ flags |= HX_SHIFT_KEY;
7499+
7500+ if(pp->state & ControlMask)
7501+ flags |= HX_CTRL_KEY;
7502+
7503+ if(pp->state & Mod1Mask)
7504+ flags |= HX_ALT_COMMAND_KEY;
7505+
7506+ theEvent.param2 = (void*) flags;
7507+
7508+ //Grab the X and Y.
7509+ theEvent.param1 = (void*) &realPt;
7510+ realPt.x = pp->x;
7511+ realPt.y = pp->y;
7512+ }
7513+
7514+ //==================================================
7515+ // BUTTON PRESS/RELEASE EVENT
7516+ //==================================================
7517+ if((pEvent->event == ButtonPress) || (pEvent->event == ButtonRelease))
7518+ {
7519+ // remap event
7520+ if (pEvent->event == ButtonPress)
7521+ {
7522+ if (buttonEvent->button == Button3)
7523+ theEvent.event = HX_CONTEXT_BUTTON_DOWN;
7524+ else
7525+ theEvent.event = HX_PRIMARY_BUTTON_DOWN;
7526+ }
7527+ else if (pEvent->event == ButtonRelease)
7528+ {
7529+ if (buttonEvent->button == Button3)
7530+ theEvent.event = HX_CONTEXT_BUTTON_UP;
7531+ else
7532+ theEvent.event = HX_PRIMARY_BUTTON_UP;
7533+ }
7534+
7535+ if(buttonEvent->state & ShiftMask)
7536+ flags |= HX_SHIFT_KEY;
7537+
7538+ if(buttonEvent->state & ControlMask)
7539+ flags |= HX_CTRL_KEY;
7540+
7541+ theEvent.param2 = (void*) flags;
7542+
7543+ //Grab the X and Y.
7544+ theEvent.param1 = (void*) &realPt;
7545+ realPt.x = buttonEvent->x;
7546+ realPt.y = buttonEvent->y;
7547+ }
7548+
7549+ //Copy the new event back into the passed in one for
7550+ //all events that fall through here...
7551+ memcpy( pEvent, &theEvent, sizeof(HXxEvent) ); /* Flawfinder: ignore */
7552+
7553+#if defined(_DEBUG)
7554+ //If the users presses control-primary button
7555+ //dump info on all sites. If shift-context, then
7556+ //just this site.
7557+ if( (buttonEvent->state&ControlMask)&&
7558+ (theEvent.event==HX_PRIMARY_BUTTON_DOWN))
7559+ {
7560+ DisplayAllSiteData();
7561+ }
7562+ if( (buttonEvent->state&ShiftMask)&&
7563+ (theEvent.event==HX_PRIMARY_BUTTON_DOWN))
7564+ {
7565+ DisplaySiteData("");
7566+ }
7567+#endif
7568+ }
7569+ return pEvent->handled;
7570+}
7571+
7572+
7573+void CHXExSite::CheckColorSettings()
7574+{
7575+#if !defined(HELIX_FEATURE_HARDWARE_COLOR_CONTROLS)
7576+ CHXBaseSite::CheckColorSettings();
7577+#else
7578+ CUnixSurf* pSurf = (CUnixSurf*)m_pVideoSurface;
7579+ if( !pSurf->HasHWColorConrols() )
7580+ {
7581+ CHXBaseSite::CheckColorSettings();
7582+ }
7583+ else
7584+ {
7585+ pSurf->SetHWColorControls();
7586+
7587+ //We do all color stuff except sharpmess in hardware.
7588+ float fCurrentSharpness;
7589+ INT16 bInterpolate;
7590+ zm_pColorAcc->GetSharpnessAdjustments(&fCurrentSharpness, &bInterpolate);
7591+
7592+ if (fCurrentSharpness != m_fSharpness)
7593+ {
7594+ zm_pColorAcc->SetSharpnessAdjustments(m_fSharpness, FALSE);
7595+ }
7596+ }
7597+#endif
7598+}
7599+
7600+//
7601+// OK, here it is. Take care of any OS specific duties, like scrollbar
7602+// stuff and expose events. Then, if the event isn't handled, convert
7603+// to an RMA event and return.
7604+HXBOOL CHXExSite::_HandleOSEvents(HXxEvent* pEvent)
7605+{
7606+ HXxPoint position = {0, 0};
7607+ HXxPoint point;
7608+
7609+ if( NULL==pEvent )
7610+ {
7611+ return FALSE;
7612+ }
7613+
7614+ return TRUE;
7615+
7616+#if defined(_DEBUG) && 0
7617+// fprintf( stderr, "this: %p m_pUser: %p ", this, m_pUser );
7618+ switch( pEvent->event )
7619+ {
7620+ case HX_MOUSE_LEAVE:
7621+ fprintf( stderr, "HX_MOUSE_LEAVE\n" );
7622+ break;
7623+// case HX_MOUSE_MOVE:
7624+// point.x = ((HXxPoint*)pEvent->param1)->x;
7625+// point.y = ((HXxPoint*)pEvent->param1)->y;
7626+// fprintf( stderr, "HX_MOUSE_MOVE: %d %d\n", point.x, point.y );
7627+// break;
7628+ case HX_MOUSE_ENTER:
7629+ fprintf( stderr, "HX_MOUSE_ENTER\n" );
7630+ break;
7631+// case MotionNotify:
7632+// point.x = ((XMotionEvent*)pEvent->param2)->x;
7633+// point.y = ((XMotionEvent*)pEvent->param2)->y;
7634+// fprintf( stderr, "MotionNotify: %d %d\n", point.x, point.y );
7635+// break;
7636+ case Expose:
7637+ fprintf( stderr, "Expose\n" );
7638+ break;
7639+ case EnterNotify :
7640+ fprintf( stderr, "EnterNotify\n" );
7641+ break;
7642+ case LeaveNotify:
7643+ fprintf( stderr, "LeaveNotify\n" );
7644+ break;
7645+ case KeyPress:
7646+ fprintf( stderr, "this: %p m_pUser: %p ", this, m_pUser );
7647+ fprintf( stderr, "Keypress\n\n" );
7648+ break;
7649+ case KeyRelease:
7650+ fprintf( stderr, "this: %p m_pUser: %p ", this, m_pUser );
7651+ fprintf( stderr, "KeyRelease\n" );
7652+ break;
7653+ default:
7654+ fprintf( stderr, "Other\n" );
7655+ break;
7656+ }
7657+#endif
7658+
7659+ //Find the ConfigureNotify events so we can drop to RGB from
7660+ //overlay while we move....
7661+// if( pEvent->event == ConfigureNotify && this==m_pTopLevelSite )
7662+// {
7663+// XConfigureEvent* pev = (XConfigureEvent*)pEvent->param2;
7664+// if( m_pWindow && pev->window == (Window)m_pWindow->window )
7665+// {
7666+// HXxPoint p;
7667+// _GetPositionRelativeToActualWindow( p );
7668+// // fprintf( stderr, "wint %p -- x,y width, height: %d %d %d %d \n",
7669+// // pev->window,
7670+// // pev->x, pev->y, pev->width, pev->height);
7671+// // fprintf( stderr, "size of site: %d %d\n", m_size.cx, m_size.cy);
7672+// // fprintf( stderr, "pos of site: %d %d\n", m_topleft.x, m_topleft.y);
7673+// m_pTopLevelSite->m_pMutex->Lock();
7674+// m_pTopLevelSite->SiteMoving(0, 0);
7675+// m_pTopLevelSite->m_nLastMoveTime = HX_GET_TICKCOUNT();
7676+// m_pTopLevelSite->ScheduleCallback(MOUSE, 100);
7677+// m_pTopLevelSite->m_pMutex->Unlock();
7678+// }
7679+// }
7680+
7681+ //See if we should drop out of full screen
7682+ if( pEvent->event == FocusOut && IsFullScreen() && !m_bIgnoreFocusOutInFS )
7683+ {
7684+// fprintf( stderr, "_HandleOSEvents: focus out: " );
7685+// XEvent* pXEvent = (XEvent*) pEvent->param2;
7686+// XFocusChangeEvent* event = (XFocusChangeEvent*) pXEvent;
7687+// switch( event->mode )
7688+// {
7689+// case NotifyAncestor:
7690+// fprintf( stderr, "NotifyAncestor\n" );
7691+// break;
7692+// case NotifyVirtual:
7693+// fprintf( stderr, "NotifyVirtual\n" );
7694+// break;
7695+// case NotifyInferior:
7696+// fprintf( stderr, "NotifyInferior\n" );
7697+// break;
7698+// case NotifyNonlinear:
7699+// fprintf( stderr, "NotifyNonlinear\n" );
7700+// break;
7701+// case NotifyNonlinearVirtual:
7702+// fprintf( stderr, "NotifyNonlinearVirtual\n" );
7703+// break;
7704+// case NotifyPointer:
7705+// fprintf( stderr, "NotifyPointer\n" );
7706+// break;
7707+// case NotifyPointerRoot:
7708+// fprintf( stderr, "NotifyPointerRoot\n" );
7709+// break;
7710+// case NotifyDetailNone:
7711+// fprintf( stderr, "NotifyDetailNone\n" );
7712+// break;
7713+// default:
7714+// fprintf( stderr, "screwed.....\n" );
7715+// }
7716+ ExitFullScreen();
7717+ }
7718+
7719+
7720+#if defined(_DEBUG) && defined(TEST_FULL_SCREEN)
7721+ if( pEvent->event == KeyPress )
7722+ {
7723+ KeySym sym;
7724+ char szBuf[10]; /* Flawfinder: ignore */
7725+ int nNum;
7726+
7727+ //Lookup the key without any state.
7728+ nNum = XLookupString( (XKeyEvent*)(pEvent->param2), szBuf, 10, &sym, NULL );
7729+ if( nNum > 0 )
7730+ {
7731+ if( 'f' == szBuf[0] && IsFullScreen() )
7732+ {
7733+ //Exit full screen if 'f' is pressed.....
7734+ m_pTopLevelSite->ExitFullScreen();
7735+ }
7736+ else if( 'f' == szBuf[0] && !IsFullScreen() )
7737+ {
7738+ //Enter full screen if 'f' is pressed.....
7739+ m_pTopLevelSite->EnterFullScreen();
7740+ }
7741+
7742+ }
7743+
7744+ }
7745+#endif
7746+
7747+#if defined(_DEBUG) && defined(_TEST_COLOR_CONTROLS)
7748+ if( pEvent->event == KeyPress )
7749+ {
7750+ KeySym sym;
7751+ char szBuf[10]; /* Flawfinder: ignore */
7752+ int nNum;
7753+
7754+ //Lookup the key without any state.
7755+ nNum = XLookupString( (XKeyEvent*)(pEvent->param2), szBuf, 10, &sym, NULL );
7756+ if( nNum > 0 )
7757+ {
7758+ if( 'b' == szBuf[0] )
7759+ {
7760+ SetBrightness( GetBrightness()-.05);
7761+ }
7762+ if( 'B' == szBuf[0] )
7763+ {
7764+ SetBrightness( GetBrightness()+.05);
7765+ }
7766+
7767+ if( 'c' == szBuf[0] )
7768+ {
7769+ SetContrast( GetContrast()-.05);
7770+ }
7771+ if( 'C' == szBuf[0] )
7772+ {
7773+ SetContrast( GetContrast()+.05);
7774+ }
7775+
7776+ if( 'h' == szBuf[0] )
7777+ {
7778+ SetHue( GetHue()-.05);
7779+ }
7780+ if( 'H' == szBuf[0] )
7781+ {
7782+ SetHue( GetHue()+.05 );
7783+ }
7784+
7785+ if( 's' == szBuf[0] )
7786+ {
7787+ SetSaturation( GetSaturation()-.05);
7788+ }
7789+ if( 'S' == szBuf[0] )
7790+ {
7791+ SetSaturation( GetSaturation()+.05);
7792+ }
7793+ fprintf( stderr, "colors %f %f %f %f\n",
7794+ GetBrightness(),
7795+ GetContrast(),
7796+ GetSaturation(),
7797+ GetHue());
7798+ }
7799+
7800+ }
7801+#endif
7802+
7803+ //Exit full screen on ESC pressed......
7804+ if( pEvent->event == KeyPress )
7805+ {
7806+ KeySym sym;
7807+ char szBuf[10]; /* Flawfinder: ignore */
7808+ int nNum;
7809+
7810+ //Lookup the key without any state.
7811+ nNum = XLookupString( (XKeyEvent*)(pEvent->param2), szBuf, 10, &sym, NULL );
7812+ if( nNum > 0 )
7813+ {
7814+ if( 27 == (int)szBuf[0] && IsFullScreen() )
7815+ {
7816+ //Exit full screen if esc is pressed.....
7817+ m_pTopLevelSite->ExitFullScreen();
7818+ }
7819+ }
7820+ }
7821+
7822+ //Find out if this is an event we are interested in. Make sure we
7823+ //are visible, it isn't a button, expose or FocusIn event and also
7824+ //make sure it is headed for our window.
7825+ if (!_ShouldProcess(pEvent))
7826+ {
7827+ return FALSE;
7828+ }
7829+
7830+
7831+ if(m_pUser && GetWindow() && GetWindow()->window)
7832+ {
7833+ //Do not send an update event to a hidden site.
7834+ if( pEvent->event == Expose ||
7835+ pEvent->event == FocusIn ||
7836+ pEvent->event == HX_SURFACE_UPDATE )
7837+ {
7838+ if( (m_ScrollVertButtonT || m_ScrollHorizButtonR) && IsSiteVisible() )
7839+ {
7840+ _DrawArrows();
7841+ }
7842+ _ForwardUpdateEvent(pEvent);
7843+ return TRUE;
7844+ }
7845+ else
7846+ {
7847+ // get original events info from pEvent
7848+ XEvent* pXEvent = (XEvent*) pEvent->param2;
7849+ XButtonEvent* buttonEvent = (XButtonEvent*) pXEvent;
7850+
7851+
7852+ //XXXgfw all this code sucks! It really need to be written
7853+ //for just native events or RMA events. With the change to a
7854+ //common site it is all screwed up. I am leaving it for now
7855+ //so we can get on with transparancy but get back to it!
7856+
7857+ //If the user clicks MB1 on a scroll button, handle it here and
7858+ //don't pass it up or let the user handle the event.
7859+ //Hit detection here.
7860+
7861+ ////////////////////////////////////////////////////////
7862+ // BEGIN SCROLLING GARBAGE
7863+ ////////////////////////////////////////////////////////
7864+ if(
7865+ ((pEvent->event==ButtonPress || pEvent->event==ButtonRelease) &&
7866+ buttonEvent->button==Button1) &&
7867+ (m_ScrollHorizButtonL || m_ScrollVertButtonB )
7868+ )
7869+ {
7870+ int buttonX=0;
7871+ int buttonY=0;
7872+
7873+ if( pEvent->event==ButtonRelease )
7874+ {
7875+ if( m_bScrollingInProgress )
7876+ {
7877+ m_bScrollingInProgress = FALSE;
7878+ m_nScrollDir = 0;
7879+ return TRUE ;
7880+ }
7881+ }
7882+ else
7883+ {
7884+ buttonX = buttonEvent->x;
7885+ buttonY = buttonEvent->y;
7886+
7887+ HXBOOL bPointInSite = FALSE;
7888+ if( m_Region )
7889+ bPointInSite = HXPointInRegion(m_Region, buttonX, buttonY);
7890+
7891+ if( bPointInSite )
7892+ {
7893+ if( m_ScrollHorizButtonL )
7894+ {
7895+ if( _InButton( m_ptScrollHorizPosL, buttonX, buttonY ))
7896+ {
7897+ m_bScrollingInProgress = TRUE;
7898+ m_nScrollDir = 1;
7899+ }
7900+ if( _InButton( m_ptScrollHorizPosR, buttonX, buttonY ))
7901+ {
7902+ m_bScrollingInProgress = TRUE;
7903+ m_nScrollDir = 2;
7904+ }
7905+ }
7906+ if( m_ScrollVertButtonT )
7907+ {
7908+ if( _InButton( m_ptScrollVertPosT, buttonX, buttonY ))
7909+ {
7910+ m_bScrollingInProgress = TRUE;
7911+ m_nScrollDir = 3;
7912+ }
7913+ if( _InButton( m_ptScrollVertPosB, buttonX, buttonY ))
7914+ {
7915+ m_bScrollingInProgress = TRUE;
7916+ m_nScrollDir = 4;
7917+ }
7918+ }
7919+ }
7920+ }
7921+
7922+ if( (m_ScrollHorizButtonL||m_ScrollVertButtonT) && m_bScrollingInProgress)
7923+ {
7924+ int xx=0;
7925+ int yy=0;
7926+ HXxWindow* pParentWindow = GetParentSite()->GetWindow();
7927+ //Make it scroll 10% of the parent window each click.
7928+ HXxSize sizeTmp;
7929+ GetParentSite()->GetSize(sizeTmp);
7930+
7931+ //Set it to a percentage of the slider range.
7932+ int incX = sizeTmp.cx/10;
7933+ int incY = sizeTmp.cy/10;
7934+
7935+ HX_ASSERT( pParentWindow );
7936+
7937+ xx = m_XSliderPos;
7938+ yy = m_YSliderPos;
7939+
7940+ if( m_nScrollDir == 1 )
7941+ xx-=incX;
7942+ if( m_nScrollDir == 2 )
7943+ xx+=incX;
7944+ if( m_nScrollDir == 3 )
7945+ yy-=incY;
7946+ if( m_nScrollDir == 4 )
7947+ yy+=incY;
7948+
7949+ if( xx > m_size.cx-sizeTmp.cx )
7950+ xx = m_size.cx-sizeTmp.cx;
7951+ if( yy > m_size.cy-sizeTmp.cy)
7952+ yy = m_size.cy-sizeTmp.cy;
7953+
7954+ if( xx < 0 )
7955+ xx = 0;
7956+ if( yy < 0 )
7957+ yy = 0;
7958+
7959+ m_XSliderPos = xx;
7960+ m_YSliderPos = yy;
7961+
7962+ HXxRect rect;
7963+ DamageRect(rect);
7964+
7965+ InternalForceRedraw();
7966+ }
7967+ //Only throw away the event if it had something to do with
7968+ //scolling.
7969+ if( m_bScrollingInProgress )
7970+ {
7971+ m_bScrollingInProgress = FALSE;
7972+ m_nScrollDir = 0;
7973+ return TRUE;
7974+ }
7975+ }
7976+ ////////////////////////////////////////////////////////
7977+ // END SCROLLING GARBAGE
7978+ ////////////////////////////////////////////////////////
7979+ point.x = -1;
7980+ point.y = -1;
7981+
7982+ if( pEvent->event == MotionNotify)
7983+ {
7984+ point.x = ((XMotionEvent*)pXEvent)->x;
7985+ point.y = ((XMotionEvent*)pXEvent)->y;
7986+ }
7987+ else if( pEvent->event == ButtonPress )
7988+ {
7989+ point.x = ((XMotionEvent*)pXEvent)->x;
7990+ point.y = ((XMotionEvent*)pXEvent)->y;
7991+ }
7992+
7993+ //
7994+ //Give the user a chance at the native event.
7995+ //
7996+ if( m_RegionWithoutChildren && HXPointInRegion(m_RegionWithoutChildren, point.x, point.y ))
7997+ {
7998+ if( m_Region && HXPointInRegion(m_Region, point.x, point.y) )
7999+ {
8000+ if (m_pUser)
8001+ m_pUser->HandleEvent(pEvent);
8002+ }
8003+ else
8004+ {
8005+ INT32 handledCount = 0;
8006+ INT32 mapCount = 0;
8007+
8008+ //try send this to all of our children
8009+ _unixsitecpp1:
8010+ mapCount = m_ChildrenMap.GetCount();
8011+ CHXMapPtrToPtr::Iterator i;
8012+ for(i=m_ChildrenMap.Begin() ; i!=m_ChildrenMap.End() ; ++i)
8013+ {
8014+ CHXBaseSite* pSite = (CHXBaseSite*) *i;
8015+ pSite->_HandleOSEvents(pEvent);
8016+ if (pEvent->handled)
8017+ {
8018+ break;
8019+ }
8020+ handledCount+=pEvent->handled;
8021+ pEvent->handled=0;
8022+
8023+ if (m_ChildrenMap.GetCount() != mapCount)
8024+ {
8025+ goto _unixsitecpp1;
8026+ }
8027+ }
8028+ if (handledCount)
8029+ {
8030+ pEvent->handled = 1;
8031+ }
8032+ HX_ASSERT(handledCount<2);
8033+ }
8034+ }
8035+ pEvent->handled=FALSE;
8036+ }
8037+ }
8038+
8039+ return FALSE;
8040+}
8041+
8042+void CHXExSite::_GenerateOSEvent(HXxEvent* pEvent, HXxEvent* pEvent2)
8043+{
8044+ //XXXgfw Not needed on UNIX I guess???
8045+}
8046+
8047+void CHXExSite::_GenerateSetCursorEvent()
8048+{
8049+#ifdef _DEBUG
8050+ fprintf( stderr, "CHXExSite::_GenerateSetCursorEvent\n" );
8051+#endif
8052+ //XXXgfw do we need this??
8053+}
8054+
8055+void CHXExSite::_TryCreateXSlider()
8056+{
8057+#if 0
8058+ if( !m_ScrollHorizButtonL && IsSiteVisible() )
8059+ _CreateHorizScrollBar();
8060+#endif
8061+}
8062+
8063+void CHXExSite::_SetXSliderValues(INT32 range, INT32 pageSize)
8064+{
8065+ //XXXgfw this is a do nothing as long as we only have
8066+ //scroll buttons on unix and not real scroll bars.
8067+}
8068+
8069+void CHXExSite::_TryCreateYSlider()
8070+{
8071+#if 0
8072+ if( !m_ScrollVertButtonT && IsSiteVisible() )
8073+ _CreateVertScrollBar();
8074+#endif
8075+}
8076+
8077+void CHXExSite::_SetYSliderValues(INT32 range, INT32 pageSize)
8078+{
8079+ //XXXgfw this is a do nothing as long as we only have
8080+ //scroll buttons on unix and not real scroll bars.
8081+}
8082+
8083+void CHXExSite::_GetSystemSizeOfSliders(INT32* pWidth, INT32* pHeight)
8084+{
8085+#if 0
8086+ *pWidth = *pHeight = SCROLL_BAR_WIDTH;
8087+#endif
8088+}
8089+
8090+HXBOOL CHXExSite::_IsWindowVisible()
8091+{
8092+#if 0
8093+ HX_RESULT retVal = FALSE;
8094+ //XXXgfw do this for now...
8095+ retVal = IsSiteVisible();
8096+ return retVal;
8097+#else
8098+ return FALSE;
8099+#endif
8100+
8101+}
8102+
8103+void CHXExSite::_ShowXSlider(HXBOOL bShow)
8104+{
8105+#if 0
8106+ if( GetWindow() )
8107+ {
8108+ if( bShow )
8109+ _MapHorzScroll();
8110+ else
8111+ _UnmapHorzScroll();
8112+ }
8113+#endif
8114+}
8115+
8116+void CHXExSite::_MoveXSlider( INT32 left,
8117+ INT32 top,
8118+ INT32 right,
8119+ INT32 bottom,
8120+ HXBOOL bRedraw )
8121+{
8122+ //Do nothing right now....
8123+}
8124+
8125+void CHXExSite::_ShowYSlider(HXBOOL bShow)
8126+{
8127+#if 0
8128+ if( GetWindow() )
8129+ {
8130+ if( bShow )
8131+ _MapVertScroll();
8132+ else
8133+ _UnmapVertScroll();
8134+ }
8135+#endif
8136+}
8137+
8138+void CHXExSite::_MoveYSlider( INT32 left,
8139+ INT32 top,
8140+ INT32 right,
8141+ INT32 bottom,
8142+ HXBOOL bRedraw)
8143+{
8144+ //do nothing right now...
8145+}
8146+
8147+HXBOOL CHXExSite::_DoesXSliderExist()
8148+{
8149+ return FALSE;
8150+// return (m_ScrollHorizButtonL!=0);
8151+}
8152+
8153+void* CHXExSite::_GetContainingWindow()
8154+{
8155+ //XXXgfw Do we need this???
8156+ return NULL;
8157+}
8158+
8159+void CHXExSite::_GetCursorPos(HXxPoint* pPoint)
8160+{
8161+ //Return the cursor pos in screen coords.
8162+ Window rootWin;
8163+ Window childWin;
8164+ int rootX=0;
8165+ int rootY=0;
8166+ int childX=0;
8167+ int childY=0;
8168+ unsigned int mask=0;
8169+ Bool ret=FALSE;
8170+
8171+ HX_ASSERT(GetWindow());
8172+ Display* pDis = (Display*)GetWindow()->display;
8173+ XLockDisplay(pDis);
8174+ ret = XQueryPointer(pDis,
8175+ (Window)GetWindow()->window,
8176+ &rootWin,
8177+ &childWin,
8178+ &rootX, &rootY,
8179+ &childX, &childY,
8180+ &mask);
8181+ XUnlockDisplay(pDis);
8182+
8183+ if(ret)
8184+ {
8185+ pPoint->x = rootX;
8186+ pPoint->y = rootY;
8187+ }
8188+}
8189+void* CHXExSite::_GetWindowWithCursor()
8190+{
8191+#if 0
8192+ //Return the cursor pos in screen coords.
8193+ void* pRet = NULL;
8194+ int rootX = 0;
8195+ int rootY = 0;
8196+ int childX= 0;
8197+ int childY= 0;
8198+ unsigned int mask = 0;
8199+ Bool ret = FALSE;
8200+ Window rootWin;
8201+ Window childWin;
8202+
8203+ HX_ASSERT(GetWindow());
8204+ Display* pDis = (Display*)GetWindow()->display;
8205+ XLockDisplay(pDis);
8206+ ret = XQueryPointer(pDis,
8207+ (Window)GetWindow()->window,
8208+ &rootWin,
8209+ &childWin,
8210+ &rootX, &rootY,
8211+ &childX, &childY,
8212+ &mask);
8213+ XUnlockDisplay(pDis);
8214+
8215+ if(ret)
8216+ {
8217+ pRet = (void*)childWin;
8218+ }
8219+ return pRet;
8220+#else
8221+ HX_ASSERT( "Not implemented..." == NULL );
8222+ return NULL;
8223+#endif
8224+}
8225+
8226+void CHXExSite::_MapPointToOSWindow(HXxPoint* pPt, void** pWindowHandle)
8227+{
8228+ //XXXgfw we could query the window tree and traverse down but that
8229+ //is really slow and this isn't used right now.
8230+ HX_ASSERT( "Not implemented..." == NULL );
8231+}
8232+
8233+void CHXExSite::_ReInitPrimarySurface()
8234+{
8235+ //Nothing to do in unix here right?
8236+}
8237+
8238+HXBOOL CHXExSite::_MoveWindow( void* win,
8239+ INT32 X,
8240+ INT32 Y,
8241+ INT32 nWidth,
8242+ INT32 nHeight,
8243+ HXBOOL bRepaint)
8244+{
8245+#if 0
8246+ //XXXgfw we still have to do bRepaint....
8247+ HX_ASSERT( m_pWindow && m_pWindow->window && m_pWindow->display);
8248+ _DestroyScrollButtons();
8249+ XLockDisplay((Display*) m_pWindow->display);
8250+ XMoveResizeWindow( (Display*)m_pWindow->display,
8251+ (Window)m_pWindow->window,
8252+ X,
8253+ Y,
8254+ nWidth,
8255+ nHeight
8256+ );
8257+ XUnlockDisplay((Display*) m_pWindow->display);
8258+#else
8259+ HX_ASSERT( "Not implemented..." == NULL );
8260+#endif
8261+ return TRUE;
8262+}
8263+
8264+HXBOOL CHXExSite::_UpdateWindow(void* hWnd)
8265+{
8266+ //We need to generate a repaint here of the window....
8267+ return TRUE;
8268+}
8269+
8270+HXBOOL CHXExSite::_ShowWindow(void* hWnd, INT32 nCmdShow)
8271+{
8272+#if 0
8273+ HX_ASSERT( nCmdShow==HX_SHOW_WINDOW || nCmdShow==HX_HIDE_WINDOW);
8274+ if( !m_pWindow || !m_pWindow->window || !m_pWindow->display )
8275+ return FALSE;
8276+
8277+ if( nCmdShow == HX_SHOW_WINDOW )
8278+ {
8279+ _MapScrollButtons();
8280+ XLockDisplay((Display*) m_pWindow->display);
8281+ XMapWindow( (Display*)m_pWindow->display, (Window)m_pWindow->window );
8282+ XUnlockDisplay((Display*) m_pWindow->display);
8283+ }
8284+ else
8285+ {
8286+ _UnmapScrollButtons();
8287+ XLockDisplay((Display*) m_pWindow->display);
8288+ XUnmapWindow( (Display*)m_pWindow->display, (Window)m_pWindow->window );
8289+ XUnlockDisplay((Display*) m_pWindow->display);
8290+ }
8291+#endif
8292+ return TRUE;
8293+}
8294+
8295+HXBOOL CHXExSite::_SetWindowPos(void* hWnd,
8296+ void* hWndInsertAfter,
8297+ INT32 X,
8298+ INT32 Y,
8299+ INT32 cx,
8300+ INT32 cy,
8301+ INT32 uFlags)
8302+{
8303+#ifdef _DEBUG
8304+ fprintf( stderr, "Now what on earth is this suppose to do??\n" );
8305+#endif
8306+ return TRUE;
8307+}
8308+
8309+HXBOOL CHXExSite::_SetWindowRgn(void* hWnd, HXREGION* hRgn, HXBOOL bRedraw)
8310+{
8311+#if 0
8312+ HX_ASSERT( GetWindow() );
8313+ Display* pDis = (Display*)GetWindow()->display;
8314+ XLockDisplay(pDis);
8315+ XSetRegion( pDis,
8316+ (GC)m_pVideoSurface->_GetDC(NULL),
8317+ (Region)hRgn
8318+ );
8319+ XUnlockDisplay(pDis);
8320+ if( bRedraw )
8321+ {
8322+ HX_ASSERT("Redraw asked for here"==NULL );
8323+ }
8324+#endif
8325+ return TRUE;
8326+}
8327+
8328+void CHXExSite::_SetFocus(void* pWindow)
8329+{
8330+#if 0
8331+ XWindowAttributes attr;
8332+ HXxWindow* pWin = GetWindow();
8333+
8334+ HX_ASSERT(pWin);
8335+ HX_ASSERT(pWindow);
8336+
8337+ XLockDisplay((Display*) pWin->display);
8338+ XGetWindowAttributes((Display*)pWin->display, (Window)pWindow, &attr);
8339+ XUnlockDisplay((Display*) pWin->display);
8340+ if( attr.map_state == IsViewable )
8341+ {
8342+ XLockDisplay((Display*) pWin->display);
8343+ XSetInputFocus( (Display*)pWin->display,
8344+ (Window)pWindow,
8345+ RevertToParent,
8346+ CurrentTime
8347+ );
8348+ XUnlockDisplay((Display*) pWin->display);
8349+ }
8350+
8351+ return;
8352+#endif
8353+}
8354+
8355+HX_RESULT CHXExSite::_EnterFullScreen(HXxWindow* pWindow)
8356+{
8357+#if 0
8358+ HXxWindow* pWin = GetWindow();
8359+ HX_ASSERT( pWin && pWin->display && pWin->display);
8360+ HX_ASSERT( this == m_pTopLevelSite );
8361+
8362+ if( 0 != m_winFullScreenWindow || IsFullScreen() )
8363+ {
8364+ //We are already in full screen
8365+ return HXR_FAIL;
8366+ }
8367+
8368+ //Create a override redirect window to fill the root.
8369+ XSizeHints size_hints;
8370+ XLockDisplay((Display*) pWin->display);
8371+ Screen* pScreen = XDefaultScreenOfDisplay((Display*)pWin->display);
8372+ XUnlockDisplay((Display*) pWin->display);
8373+ UINT16 uHorzRes = WidthOfScreen(pScreen);
8374+ UINT16 uVertRes = HeightOfScreen(pScreen);
8375+ int attrMask = 0;
8376+ XSetWindowAttributes attr;
8377+
8378+ memset(&attr, 0, sizeof(XSetWindowAttributes));
8379+ attrMask = CWOverrideRedirect | CWBorderPixel |
8380+ CWBackPixel | CWCursor;
8381+ attr.cursor = None;
8382+ attr.override_redirect = True;
8383+ XLockDisplay((Display*)pWin->display);
8384+ attr.background_pixel = BlackPixel((Display*)pWin->display,
8385+ DefaultScreen((Display*)pWin->display));
8386+ attr.border_pixel = BlackPixel((Display*)pWin->display,
8387+ DefaultScreen((Display*)pWin->display));
8388+ XUnlockDisplay((Display*)pWin->display);
8389+
8390+ size_hints.flags = PPosition | PSize;
8391+ size_hints.x = 0;
8392+ size_hints.y = 0;
8393+ size_hints.width = uHorzRes;
8394+ size_hints.height = uVertRes;
8395+
8396+ //Create it.
8397+ XLockDisplay((Display*) pWin->display);
8398+ Window window = XCreateWindow((Display*)pWin->display,
8399+ DefaultRootWindow((Display*)pWin->display),
8400+ size_hints.x,
8401+ size_hints.y,
8402+ size_hints.width,
8403+ size_hints.height,
8404+ 0,
8405+ CopyFromParent,
8406+ InputOutput,
8407+ CopyFromParent,
8408+ attrMask,
8409+ &attr);
8410+
8411+ //Tell the WM about this window.
8412+ XSetStandardProperties( (Display*)pWin->display,
8413+ window,
8414+ "unixfullscreen",
8415+ "unixfullscreen",
8416+ None,
8417+ NULL, 0,
8418+ &size_hints
8419+ );
8420+
8421+ int result = XSelectInput( zm_display, window,
8422+ ButtonPressMask | ButtonReleaseMask | KeyPressMask |
8423+ KeyReleaseMask | EnterWindowMask | LeaveWindowMask |
8424+ PointerMotionMask | ButtonMotionMask | KeymapStateMask |
8425+ ExposureMask | StructureNotifyMask | FocusChangeMask
8426+ );
8427+
8428+ //Map the window.
8429+ XMapWindow((Display*)pWin->display, window);
8430+ XUnlockDisplay((Display*) pWin->display);
8431+
8432+
8433+ //Get ready to resize the presentation....
8434+ if(m_pTopLevelSite)
8435+ {
8436+ m_pTopLevelSite->m_bDisableForceRedraw = TRUE;
8437+ }
8438+
8439+ //Maintain aspect ratio and Scale it.
8440+ float fXScale = (float)uHorzRes/(float)(m_size.cx);
8441+ float fYScale = (float)uVertRes/(float)(m_size.cy);
8442+ float fScale = (fXScale<fYScale) ? fXScale : fYScale;
8443+ int nWidth = (int)(fScale*m_size.cx+.5);
8444+ int nHeight = (int)(fScale*m_size.cy+.5);
8445+
8446+ //Center the presentation and save the old size
8447+ memcpy( &m_PreFullScreenSize, &m_size, sizeof( HXxSize) ); /* Flawfinder: ignore */
8448+ HXxSize size = {nWidth, nHeight};
8449+
8450+ if( nWidth<uHorzRes )
8451+ m_ptFullScreenOffset.x = (uHorzRes-nWidth)/2;
8452+
8453+ if( nHeight<uVertRes )
8454+ m_ptFullScreenOffset.y = (uVertRes-nHeight)/2;
8455+
8456+ //Reparent our main window.......
8457+ Window winRootParent = 0;
8458+ Window winParent = 0;
8459+ Window* pwinChildren = NULL;
8460+ unsigned int nNumChildren = 0;
8461+ XLockDisplay((Display*) pWin->display);
8462+ XQueryTree( (Display*)pWin->display,
8463+ (Window)pWin->window,
8464+ &winRootParent,
8465+ &winParent,
8466+ &pwinChildren,
8467+ &nNumChildren
8468+ );
8469+ //Free unused children list.
8470+ XFree( pwinChildren );
8471+ XUnlockDisplay((Display*) pWin->display);
8472+
8473+ HX_ASSERT( winParent );
8474+ m_winOldParent = winParent;
8475+ XLockDisplay((Display*) pWin->display);
8476+ XReparentWindow( (Display*)pWin->display,
8477+ (Window)pWin->window,
8478+ window,
8479+ m_ptFullScreenOffset.x,
8480+ m_ptFullScreenOffset.y
8481+ );
8482+
8483+ //Flush event queue.
8484+ XSync((Display*)pWin->display, False);
8485+ XUnlockDisplay((Display*) pWin->display);
8486+
8487+ //Save it
8488+ m_winFullScreenWindow = window;
8489+ m_bInFullScreen = TRUE;
8490+
8491+ //Now resize it...
8492+ SetSize(m_size);
8493+ //Redraw the presentation....
8494+ m_pTopLevelSite->m_bDisableForceRedraw = FALSE;
8495+ _ForceRedrawAll();
8496+
8497+ //Give it focus....
8498+ _SetFocus( (void*)pWin->window );
8499+
8500+ // now eat all the focusouts that came as a result of this reparent...
8501+ XEvent event;
8502+ XLockDisplay((Display*) pWin->display);
8503+ HXBOOL status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window,
8504+ FocusOut, &event);
8505+ XUnlockDisplay((Display*) pWin->display);
8506+ while (m_bWindowCreatedByCreate && status)
8507+ {
8508+ // just discarding these
8509+ XLockDisplay((Display*) pWin->display);
8510+ status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window,
8511+ FocusOut, &event);
8512+ XUnlockDisplay((Display*) pWin->display);
8513+ }
8514+
8515+ //Update the status text...
8516+ if(m_pStatusText)
8517+ {
8518+ m_pStatusText->ParentChangedSize();
8519+ m_pStatusText->Show();
8520+ }
8521+
8522+#else
8523+ HX_ASSERT( "Not implemented..." == NULL );
8524+#endif
8525+ return HXR_OK;
8526+}
8527+
8528+HX_RESULT CHXExSite::_ExitFullScreen()
8529+{
8530+#if 0
8531+ HX_ASSERT( this == m_pTopLevelSite );
8532+
8533+ HXxWindow* pWin = GetWindow();
8534+
8535+ HX_ASSERT( pWin && pWin->display && pWin->window );
8536+
8537+ //Give the window back to the TLC.
8538+
8539+ XLockDisplay((Display*) pWin->display);
8540+ XReparentWindow( (Display*)pWin->display,
8541+ (Window)pWin->window,
8542+ m_winOldParent,
8543+ m_position.x, m_position.y
8544+ );
8545+ XUnlockDisplay((Display*) pWin->display);
8546+
8547+ //Just kill our window and take us out of full screen....
8548+ if( 0 != m_winFullScreenWindow )
8549+ {
8550+ XLockDisplay((Display*) pWin->display);
8551+ XDestroyWindow( (Display*)pWin->display, m_winFullScreenWindow );
8552+ XUnlockDisplay((Display*) pWin->display);
8553+ m_winFullScreenWindow = 0;
8554+ }
8555+
8556+ m_bDisableForceRedraw = TRUE;
8557+
8558+ m_bInFullScreen = FALSE;
8559+ HXxSize size = {0,0};
8560+ memcpy( &size, &m_PreFullScreenSize, sizeof(HXxSize) ); /* Flawfinder: ignore */
8561+ m_PreFullScreenSize.cx = m_PreFullScreenSize.cy = 0;
8562+
8563+ SetSize(size);
8564+ _SetFocus( (void*)pWin->window );
8565+ m_ptFullScreenOffset.x = 0;
8566+ m_ptFullScreenOffset.y = 0;
8567+
8568+
8569+ m_bDisableForceRedraw = FALSE;
8570+ _ForceRedrawAll();
8571+
8572+ if(m_pStatusText)
8573+ {
8574+ m_pStatusText->ParentChangedSize();
8575+ m_pStatusText->Hide();
8576+ }
8577+
8578+ //move the site back to where it was.
8579+ if( m_pTopLevelSite )
8580+ {
8581+ m_pTopLevelSite->_SetPosition(m_CreateWindowPos);
8582+ }
8583+
8584+ return HXR_OK;
8585+#else
8586+ HX_ASSERT( "Not implemented..." == NULL );
8587+#endif
8588+}
8589+
8590+HX_RESULT CHXExSite::_EnterFullScreenNoNewWindow()
8591+{
8592+#if 0
8593+ HXxWindow* pWin = GetWindow();
8594+
8595+ HX_ASSERT( pWin && pWin->display && pWin->display);
8596+ HX_ASSERT( this == m_pTopLevelSite );
8597+
8598+ if(IsFullScreen() || !pWin)
8599+ {
8600+ //We are already in full screen
8601+ return HXR_FAIL;
8602+ }
8603+
8604+ //Get the screen size.
8605+ XLockDisplay((Display*) pWin->display);
8606+ Screen* pScreen = XDefaultScreenOfDisplay((Display*)pWin->display);
8607+ UINT16 uHorzRes = WidthOfScreen(pScreen);
8608+ UINT16 uVertRes = HeightOfScreen(pScreen);
8609+ XUnlockDisplay((Display*)pWin->display);
8610+
8611+ //Get ready to resize the presentation....
8612+ if( m_pTopLevelSite )
8613+ {
8614+ m_pTopLevelSite->m_bDisableForceRedraw = TRUE;
8615+ }
8616+
8617+ //Maintain aspect ratio and Scale it.
8618+ float fXScale = (float)uHorzRes/(float)(m_size.cx);
8619+ float fYScale = (float)uVertRes/(float)(m_size.cy);
8620+ float fScale = (fXScale<fYScale) ? fXScale : fYScale;
8621+ int nWidth = (int)(fScale*m_size.cx+.5);
8622+ int nHeight = (int)(fScale*m_size.cy+.5);
8623+
8624+ //Center the presentation and save the old size
8625+ memcpy( &m_PreFullScreenSize, &m_size, sizeof( HXxSize) ); /* Flawfinder: ignore */
8626+
8627+ HXxSize size = {nWidth, nHeight};
8628+
8629+ if( nWidth < uHorzRes )
8630+ {
8631+ m_ptFullScreenOffset.x = (uHorzRes - nWidth)/2;
8632+ }
8633+
8634+ if( nHeight < uVertRes )
8635+ {
8636+ m_ptFullScreenOffset.y = (uVertRes - nHeight)/2;
8637+ }
8638+
8639+ //Reparent our main window.......
8640+ Window winRootParent = 0;
8641+ Window winParent = 0;
8642+ Window* pwinChildren = NULL;
8643+ unsigned int nNumChildren = 0;
8644+ XLockDisplay((Display*) pWin->display);
8645+ XQueryTree( (Display*)pWin->display,
8646+ (Window)pWin->window,
8647+ &winRootParent,
8648+ &winParent,
8649+ &pwinChildren,
8650+ &nNumChildren
8651+ );
8652+
8653+ //Free unused children list.
8654+ XFree( pwinChildren );
8655+ XUnlockDisplay((Display*) pWin->display);
8656+
8657+ HX_ASSERT( winParent );
8658+ m_winOldParent = winParent;
8659+
8660+ m_bInFullScreen = TRUE;
8661+
8662+ //Now resize it...
8663+ SetSize(m_size);
8664+
8665+ //Redraw the presentation....
8666+ if( m_pTopLevelSite )
8667+ {
8668+ m_pTopLevelSite->m_bDisableForceRedraw = FALSE;
8669+ }
8670+
8671+ _ForceRedrawAll();
8672+
8673+ //Give it focus....
8674+ _SetFocus( (void*)pWin->window );
8675+
8676+ // now eat all the focusouts that came as a result of this reparent...
8677+ XEvent event;
8678+ XLockDisplay((Display*) pWin->display);
8679+ HXBOOL status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window,
8680+ FocusOut, &event);
8681+ XUnlockDisplay((Display*) pWin->display);
8682+ while (m_bWindowCreatedByCreate && status)
8683+ {
8684+ // just discarding these
8685+ XLockDisplay((Display*) pWin->display);
8686+ status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window,
8687+ FocusOut, &event);
8688+ XUnlockDisplay((Display*) pWin->display);
8689+ }
8690+
8691+ //Update the status text...
8692+ if(m_pStatusText)
8693+ {
8694+ m_pStatusText->ParentChangedSize();
8695+ m_pStatusText->Show();
8696+ }
8697+#if defined(HELIX_CONFIG_MOBLIN)
8698+ if(!m_pAttachWindowCallback)
8699+ {
8700+ m_pAttachWindowCallback = new CHXGenericCallback((void*)this, (fGenericCBFunc)AttachWindowCallback);
8701+ m_pAttachWindowCallback->AddRef();
8702+ }
8703+ if(!m_pForceRedrawCallback)
8704+ {
8705+ m_pForceRedrawCallback = new CHXGenericCallback((void*)this, (fGenericCBFunc)ForceRedrawCallback);
8706+ m_pForceRedrawCallback->AddRef();
8707+ }
8708+
8709+ // schedule callback for Attaching Window
8710+ if(m_pAttachWindowCallback)
8711+ {
8712+ m_pAttachWindowCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pAttachWindowCallback, 100));
8713+ }
8714+ if(m_pForceRedrawCallback)
8715+ {
8716+ m_pForceRedrawCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pForceRedrawCallback, 500));
8717+ }
8718+
8719+#endif
8720+#else
8721+ HX_ASSERT( "Not implemented..." == NULL );
8722+#endif
8723+ return HXR_OK;
8724+}
8725+
8726+#if defined(HELIX_CONFIG_MOBLIN)
8727+void CHXExSite::AttachWindowCallback(void* pParam)
8728+{
8729+ CHXExSite* pObj = (CHXExSite*)pParam;
8730+ if (pObj)
8731+ {
8732+ pObj->_AttachWindow();
8733+ }
8734+}
8735+
8736+
8737+void CHXExSite::ForceRedrawCallback(void* pParam)
8738+{
8739+ CHXExSite* pObj = (CHXExSite*)pParam;
8740+
8741+ if (pObj)
8742+ {
8743+ UINT32 ulNumOfChildren = pObj->GetNumberOfChildSites();
8744+ if(pObj->m_pTopLevelSite)
8745+ {
8746+ pObj->m_pTopLevelSite->m_bDisableForceRedraw = FALSE;
8747+ }
8748+ for ( UINT32 i = 0; i < ulNumOfChildren; ++i )
8749+ {
8750+ SPIHXSite spChildSite;
8751+ if ( SUCCEEDED( pObj->GetNthChildSite( i, *spChildSite.AsInOutParam() ) )
8752+ && spChildSite.IsValid() )
8753+ {
8754+ spChildSite->DamageRegion( NULL );
8755+ spChildSite->ForceRedraw();
8756+ }
8757+
8758+ }
8759+ }
8760+}
8761+
8762+void CHXExSite::RemovePendingCallback(CHXGenericCallback* pCB)
8763+{
8764+ if (pCB &&
8765+ pCB->GetPendingCallback() &&
8766+ m_pScheduler)
8767+ {
8768+ m_pScheduler->Remove(pCB->GetPendingCallback());
8769+ pCB->CallbackCanceled();
8770+ }
8771+}
8772+#endif
8773+
8774+HX_RESULT CHXExSite::_EnterFullScreenExt(HXxWindow* pWindow, IHXValues* pValues)
8775+{
8776+#if 0
8777+ m_bReparent = FALSE;
8778+ HX_RESULT res = HXR_OK;
8779+ UINT32 ulReparent = 0;
8780+
8781+ if (pValues)
8782+ {
8783+ pValues->GetPropertyULONG32("Reparent", ulReparent);
8784+ }
8785+
8786+ m_bReparent = (HXBOOL)ulReparent;
8787+
8788+ if (m_bReparent)
8789+ {
8790+ res = _EnterFullScreen(pWindow);
8791+ }
8792+ else
8793+ {
8794+ res = _EnterFullScreenNoNewWindow();
8795+ }
8796+
8797+ CHXBaseSite::FullScreenEntered(res);
8798+ return res;
8799+#else
8800+ HX_ASSERT( "Not implemented..." == NULL );
8801+ return HXR_OK; /* this makes compiler happy */
8802+#endif
8803+}
8804+
8805+HX_RESULT CHXExSite::_ExitFullScreenExt()
8806+{
8807+#if 0
8808+ HX_RESULT res = _ExitFullScreen();
8809+#if defined(HELIX_CONFIG_MOBLIN)
8810+ // schedule callback for attaching window
8811+ if(m_pAttachWindowCallback)
8812+ {
8813+ m_pAttachWindowCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pAttachWindowCallback, 100));
8814+ }
8815+ // schedule callback for Force Redraw the window
8816+ if(m_pForceRedrawCallback)
8817+ {
8818+ m_pForceRedrawCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pForceRedrawCallback, 500));
8819+ }
8820+#endif
8821+ CHXBaseSite::FullScreenExited(res);
8822+
8823+ return res;
8824+#else
8825+ HX_ASSERT( "Not implemented..." == NULL );
8826+ return HXR_OK; /* this makes compiler happy */
8827+#endif
8828+
8829+}
8830+
8831+HX_RESULT CHXExSite::_EventOccurred(HXxEvent* pEvent)
8832+{
8833+ return HXR_OK;
8834+}
8835+
8836+HX_RESULT CHXExSite::_TestFullScreen( void* hTestBitmap,
8837+ const char* pszStatusText )
8838+{
8839+#ifdef _DEBUG
8840+ fprintf( stderr, "Going to test full screen....\n" );
8841+#endif
8842+ return HXR_OK;
8843+}
8844+
8845+void CHXExSite::ProcessEvent(HXxEvent* pEvent)
8846+{
8847+ if(pEvent)
8848+ {
8849+ //Expose event compression. Combine all outstanding expose events
8850+ //into one big region.
8851+ if(Expose==pEvent->event)
8852+ {
8853+ _CollapseExposeEvents((XEvent*)pEvent->param2);
8854+ }
8855+ }
8856+
8857+ //Send the event to each registered UnixSite.
8858+ void* pSite = NULL;
8859+ void* pWindow = NULL;
8860+ POSITION pos = z_mapSiteToWindow.GetStartPosition();
8861+ while( pos )
8862+ {
8863+ z_mapSiteToWindow.GetNextAssoc(pos, pSite, pWindow);
8864+ CHXExSite* pSiteWindowed = (CHXExSite*)pSite;
8865+ CHXExSite* pTopLevel = NULL;
8866+ HX_ASSERT(pSiteWindowed);
8867+ pSiteWindowed->AddRef();
8868+ pTopLevel = (CHXExSite*)pSiteWindowed->GetTopLevelSite();
8869+
8870+ if(pEvent)
8871+ {
8872+ //Call back into the basesite's event loop.
8873+ pTopLevel->EventOccurred(pEvent);
8874+ }
8875+
8876+ //XXXgfw As a workaround for the overlay not moving while the
8877+ //player is paused, we will check it here and update it if needed.
8878+
8879+ //XXXRGG We might be able to use X's ConfigureNotify messages instead
8880+ //of doing a refresh every 50 ms.
8881+ pTopLevel->_UpdateOverlayIfNeeded();
8882+
8883+ pSiteWindowed->Release();
8884+ }
8885+}
8886+
8887+void CHXExSite::_CollapseExposeEvents(XEvent* xevent)
8888+{
8889+ Display* display = xevent->xany.display;
8890+ Window window = xevent->xany.window;
8891+ XExposeEvent* expose_event = (XExposeEvent*)xevent;
8892+ XEvent new_event;
8893+ XExposeEvent* new_expose_event = (XExposeEvent*)&new_event;
8894+ ushort x1;
8895+ ushort y1;
8896+ ushort x2;
8897+ ushort y2;
8898+ ushort x3;
8899+ ushort y3;
8900+
8901+ x1 = expose_event->x;
8902+ y1 = expose_event->y;
8903+ x2 = x1 + expose_event->width;
8904+ y2 = y1 + expose_event->height;
8905+ XLockDisplay(display);
8906+ HXBOOL status = XCheckWindowEvent(display, window, ExposureMask, &new_event);
8907+ XUnlockDisplay(display);
8908+ while( status)
8909+ {
8910+ if (new_expose_event->x < x1)
8911+ x1 = new_expose_event->x;
8912+
8913+ if (new_expose_event->y < y1)
8914+ y1 = new_expose_event->y;
8915+
8916+ x3 = new_expose_event->x + new_expose_event->width;
8917+ if (x3 > x2)
8918+ x2 = x3;
8919+
8920+ y3 = new_expose_event->y + new_expose_event->height;
8921+ if (y3 > y2)
8922+ y2 = y3;
8923+ XLockDisplay(display);
8924+ status = XCheckWindowEvent(display, window, ExposureMask, &new_event);
8925+ XUnlockDisplay(display);
8926+
8927+ }
8928+
8929+ expose_event->x = x1;
8930+ expose_event->y = y1;
8931+ expose_event->width = x2 - x1;
8932+ expose_event->height = y2 - y1;
8933+ expose_event->count = new_expose_event->count;
8934+}
8935+
8936+
8937+HXBOOL CHXExSite::_ShouldProcess(HXxEvent* pEvent)
8938+{
8939+ HXBOOL bShouldProcessThisEvent = TRUE;
8940+
8941+
8942+ if( !IsSiteVisible() )
8943+ {
8944+ switch (pEvent->event)
8945+ {
8946+ case ButtonPress:
8947+ case ButtonRelease:
8948+ case Expose:
8949+ case FocusIn:
8950+ bShouldProcessThisEvent = FALSE;
8951+ break;
8952+ default:
8953+ break;
8954+ }
8955+ }
8956+
8957+ if(m_pWindow && m_pWindow->window!=pEvent->window)
8958+ {
8959+ bShouldProcessThisEvent = FALSE;
8960+ }
8961+ return bShouldProcessThisEvent;
8962+}
8963+
8964+
8965+///////////////////////////////////////////////////////
8966+//
8967+// UnixEventHandler methods...
8968+//
8969+CHXExSite::UnixEventHandler::UnixEventHandler(CHXExSite* pParent)
8970+ : m_pParent(pParent),
8971+ m_lRefCount(0),
8972+ m_cbHandle(0)
8973+{
8974+ HX_ASSERT(m_pParent);
8975+ HX_ASSERT(m_pParent->m_pScheduler);
8976+ m_cbHandle = m_pParent->m_pScheduler->RelativeEnter((IHXCallback*)this, 30);
8977+}
8978+
8979+CHXExSite::UnixEventHandler::~UnixEventHandler()
8980+{
8981+ CancelCallback();
8982+}
8983+
8984+void
8985+CHXExSite::UnixEventHandler::CancelCallback()
8986+{
8987+ if( m_cbHandle && m_pParent && m_pParent->m_pScheduler )
8988+ {
8989+ UINT32 tempHandle = m_cbHandle;
8990+ m_cbHandle = 0;
8991+ m_pParent->m_pScheduler->Remove(tempHandle);
8992+ }
8993+}
8994+
8995+HX_RESULT CHXExSite::UnixEventHandler::QueryInterface(REFIID riid, void** ppvObj)
8996+{
8997+ if (IsEqualIID(riid, IID_IHXCallback))
8998+ {
8999+ AddRef();
9000+ *ppvObj = (IHXCallback*)this;
9001+ return HXR_OK;
9002+ }
9003+ else if (IsEqualIID(riid, IID_IUnknown))
9004+ {
9005+ AddRef();
9006+ *ppvObj = this;
9007+ return HXR_OK;
9008+ }
9009+
9010+ *ppvObj = NULL;
9011+ return HXR_NOINTERFACE;
9012+}
9013+
9014+ULONG32 CHXExSite::UnixEventHandler::AddRef()
9015+{
9016+ return InterlockedIncrement(&m_lRefCount);
9017+}
9018+
9019+ULONG32 CHXExSite::UnixEventHandler::Release()
9020+{
9021+ HX_ASSERT(m_lRefCount>0);
9022+ if( InterlockedDecrement(&m_lRefCount)>0 )
9023+ {
9024+ return m_lRefCount;
9025+ }
9026+ delete this;
9027+ return 0;
9028+}
9029+
9030+//IHXCallback methods
9031+HX_RESULT CHXExSite::UnixEventHandler::Func()
9032+{
9033+ XEvent xevent;
9034+ static HXxEvent pnevent;
9035+
9036+ m_cbHandle = 0;
9037+ XLockDisplay(m_pParent->zm_display);
9038+ int status = XPending(m_pParent->zm_display);
9039+ XUnlockDisplay(m_pParent->zm_display);
9040+ while(status)
9041+ {
9042+ XLockDisplay(m_pParent->zm_display);
9043+ XNextEvent(m_pParent->zm_display, &xevent);
9044+ XUnlockDisplay(m_pParent->zm_display);
9045+
9046+ // package native event in HXxEvent and send to dispatcher
9047+ pnevent.event = xevent.type;
9048+ pnevent.window = (void *)xevent.xany.window;
9049+ pnevent.param1 = xevent.xany.display;
9050+ pnevent.param2 = &xevent;
9051+
9052+ m_pParent->ProcessEvent(&pnevent);
9053+ XLockDisplay(m_pParent->zm_display);
9054+ status = XPending(m_pParent->zm_display);
9055+ XUnlockDisplay(m_pParent->zm_display);
9056+ }
9057+
9058+ if (m_pParent && m_pParent->m_pScheduler)
9059+ {
9060+ m_cbHandle = m_pParent->m_pScheduler->RelativeEnter((IHXCallback*)this, 30);
9061+ }
9062+ return HXR_OK;
9063+}
9064+
9065+void CHXExSite::_UpdateOverlayIfNeeded()
9066+{
9067+ if( m_pVideoSurface )
9068+ {
9069+ if( m_pVideoSurface->m_nBltMode == HX_OVERLAY_BLT )
9070+ {
9071+ ULONG32 ulNow = HX_GET_BETTERTICKCOUNT();
9072+ CUnixSurf* pSurf = (CUnixSurf*)m_pVideoSurface;
9073+ if( ulNow- pSurf->m_ulLastOverlayUpdateTime > 50 )
9074+ {
9075+ SiteMoving(0,0);
9076+ }
9077+ }
9078+ }
9079+ LISTPOSITION pos = m_ChildrenInZOrder.GetHeadPosition();
9080+ while(pos)
9081+ {
9082+ CHXExSite* pSite = (CHXExSite*)m_ChildrenInZOrder.GetNext(pos);
9083+ pSite->_UpdateOverlayIfNeeded();
9084+ }
9085+}
9086+
9087+
9088+HXBOOL CHXExSite::_ShouldEnterForceRedraw()
9089+{
9090+ if( !m_bDamaged || !m_pUser || !IsSiteVisible() )
9091+ {
9092+ return FALSE;
9093+ }
9094+
9095+ if(InterlockedIncrement(&m_lBltEntryCount)>1)
9096+ {
9097+ InterlockedDecrement(&m_lBltEntryCount);
9098+ return FALSE;
9099+ }
9100+
9101+ return TRUE;
9102+}
9103+
9104+void CHXExSite::_ExitForceRedraw()
9105+{
9106+ InterlockedDecrement(&m_lBltEntryCount);
9107+}
9108+
9109Index: helix-libs/clientapps/clutter/exsite.h
9110===================================================================
9111--- /dev/null 1970-01-01 00:00:00.000000000 +0000
9112+++ helix-libs/clientapps/clutter/exsite.h 2008-10-13 06:05:49.000000000 -0700
9113@@ -0,0 +1,272 @@
9114+/* ***** BEGIN LICENSE BLOCK *****
9115+ * Source last modified: $Id: unixsite.h,v 1.10.2.3 2008/06/05 14:24:30 lovish Exp $
9116+ *
9117+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
9118+ *
9119+ * The contents of this file, and the files included with this file,
9120+ * are subject to the current version of the RealNetworks Public
9121+ * Source License (the "RPSL") available at
9122+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
9123+ * the file under the current version of the RealNetworks Community
9124+ * Source License (the "RCSL") available at
9125+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
9126+ * will apply. You may also obtain the license terms directly from
9127+ * RealNetworks. You may not use this file except in compliance with
9128+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable
9129+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for
9130+ * the rights, obligations and limitations governing use of the
9131+ * contents of the file.
9132+ *
9133+ * Alternatively, the contents of this file may be used under the
9134+ * terms of the GNU General Public License Version 2 (the
9135+ * "GPL") in which case the provisions of the GPL are applicable
9136+ * instead of those above. If you wish to allow use of your version of
9137+ * this file only under the terms of the GPL, and not to allow others
9138+ * to use your version of this file under the terms of either the RPSL
9139+ * or RCSL, indicate your decision by deleting the provisions above
9140+ * and replace them with the notice and other provisions required by
9141+ * the GPL. If you do not delete the provisions above, a recipient may
9142+ * use your version of this file under the terms of any one of the
9143+ * RPSL, the RCSL or the GPL.
9144+ *
9145+ * This file is part of the Helix DNA Technology. RealNetworks is the
9146+ * developer of the Original Code and owns the copyrights in the
9147+ * portions it created.
9148+ *
9149+ * This file, and the files included with this file, is distributed
9150+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
9151+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
9152+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
9153+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
9154+ * ENJOYMENT OR NON-INFRINGEMENT.
9155+ *
9156+ * Technology Compatibility Kit Test Suite(s) Location:
9157+ * http://www.helixcommunity.org/content/tck
9158+ *
9159+ * Contributor(s):
9160+ * Phil Dibowitz (jaymzh)
9161+ *
9162+ * ***** END LICENSE BLOCK ***** */
9163+
9164+#ifndef _UNIXSITE_H
9165+#define _UNIXSITE_H
9166+
9167+#if defined(USE_XWINDOWS)
9168+#include <X11/Xatom.h>
9169+#include <X11/Xlib.h>
9170+#include <X11/Xutil.h>
9171+#include <X11/Xos.h>
9172+#include <X11/Intrinsic.h>
9173+#include <X11/extensions/XShm.h>
9174+#endif
9175+
9176+#include "basesite.h"
9177+#include "hxcbobj.h"
9178+#include "player.h"
9179+
9180+class CHXExSite : public CHXBaseSite
9181+{
9182+public:
9183+
9184+ friend class CExSurf;
9185+ friend class CExRootSurf;
9186+
9187+ CHXExSite( IUnknown* pContext,
9188+ IUnknown* pUnkOuter,
9189+ INT32 lInitialZorder,
9190+ on_new_frame_cb_t on_new_frame_cb = NULL,
9191+ void *context = NULL);
9192+
9193+ static void ProcessEvent(HXxEvent* pEvent);
9194+ Window CreateXWindow( Window win );
9195+
9196+ void _ForwardUpdateEvent(HXxEvent* pEvent);
9197+
9198+ //static member vars.
9199+ static Display* zm_display;
9200+ void _UpdateOverlayIfNeeded();
9201+ HXBOOL m_bIgnoreFocusOutInFS;
9202+
9203+ //We override this.
9204+ void CheckColorSettings();
9205+
9206+protected:
9207+
9208+ virtual ~CHXExSite();
9209+
9210+ //
9211+ // CHXExSite only methods....
9212+ //
9213+ HX_RESULT _OpenXDisplay(char* DiplayString);
9214+ static void _CollapseExposeEvents(XEvent* xevent);
9215+ HXBOOL _ShouldProcess(HXxEvent* pEvent);
9216+ void _DrawArrows();
9217+ void _CreateHorizScrollBar(void);
9218+ void _CreateVertScrollBar(void);
9219+ HXBOOL _InButton(HXxPoint& pt, int x, int y );
9220+ void _DestroyScrollButtons();
9221+ void _MapScrollButtons();
9222+ void _MapHorzScroll();
9223+ void _MapVertScroll();
9224+ void _UnmapHorzScroll();
9225+ void _UnmapVertScroll();
9226+ void _UnmapScrollButtons();
9227+ void _BuildClipRegion();
9228+ void _ReleaseClippingRegion();
9229+
9230+ //
9231+ // Seperate object for our callbacks to keep the events flowing.
9232+ //
9233+ class UnixEventHandler : public IHXCallback
9234+ {
9235+ public:
9236+ UnixEventHandler(CHXExSite* pParent);
9237+
9238+ //IUnknown methods
9239+ virtual HX_RESULT QueryInterface(REFIID riid, void** ppvObj);
9240+ virtual ULONG32 AddRef();
9241+ virtual ULONG32 Release();
9242+
9243+ //IHXCallback methods
9244+ virtual HX_RESULT Func();
9245+ void CancelCallback();
9246+
9247+ private:
9248+ virtual ~UnixEventHandler();
9249+
9250+ UnixEventHandler();
9251+ UnixEventHandler(const UnixEventHandler&);
9252+ UnixEventHandler& operator=(const UnixEventHandler& it );
9253+
9254+ CHXExSite* m_pParent;
9255+ LONG32 m_lRefCount;
9256+ CallbackHandle m_cbHandle;
9257+
9258+ IUnknown* m_pUnkPlayer;
9259+ };
9260+
9261+
9262+ //
9263+ // CHXBaseSite inherited methods
9264+ //
9265+ virtual void _NeedWindowedSite();
9266+ virtual void _AttachWindow();
9267+ virtual void _DetachWindow();
9268+ virtual void* _Create(void* ParentWindow, UINT32 style);
9269+ virtual void _Destroy(HXxWindow* pWindow);
9270+ virtual void _SetSize(HXxSize size);
9271+ virtual void _SetPosition(HXxPoint position);
9272+ virtual void _DamageRect(HXxRect rect);
9273+ virtual void _DamageRegion(HXxRegion rect);
9274+ virtual HXBOOL _ShouldEnterForceRedraw();
9275+ virtual void _ExitForceRedraw();
9276+ virtual void _SendOSUpdateMessage();
9277+ virtual void _ShowSite(HXBOOL bShow);
9278+ virtual HXBOOL _AtSystemTime();
9279+ virtual void _GetDeviceCaps( void* hdc,
9280+ UINT16& uBitesPerPixel,
9281+ UINT16& uHorzRes,
9282+ UINT16& uVertRes );
9283+ virtual void _GetWindowRect(HXxRect* destRect);
9284+ virtual void _DestroySliders();
9285+ virtual HXBOOL _HandleOSEvents(HXxEvent* pEvent);
9286+ virtual HXBOOL _ConvertToHXEvent(HXxEvent* pEvent);
9287+ virtual void _GenerateOSEvent(HXxEvent* pEvent, HXxEvent* pEvent2);
9288+ virtual void _GenerateSetCursorEvent();
9289+ virtual void _TryCreateXSlider();
9290+ virtual void _SetXSliderValues(INT32 range, INT32 pageSize);
9291+ virtual void _TryCreateYSlider();
9292+ virtual void _SetYSliderValues(INT32 range, INT32 pageSize);
9293+ virtual void _GetSystemSizeOfSliders(INT32* pWidth, INT32* pHeight);
9294+ virtual HXBOOL _IsWindowVisible();
9295+ virtual void _ShowXSlider(HXBOOL bShow);
9296+ virtual void _MoveXSlider( INT32 left,
9297+ INT32 top,
9298+ INT32 right,
9299+ INT32 bottom,
9300+ HXBOOL bRedraw );
9301+ virtual void _ShowYSlider(HXBOOL bShow);
9302+ virtual void _MoveYSlider( INT32 left,
9303+ INT32 top,
9304+ INT32 right,
9305+ INT32 bottom,
9306+ HXBOOL bRedraw);
9307+ virtual HXBOOL _DoesXSliderExist();
9308+ virtual void* _GetContainingWindow();
9309+ virtual void _GetCursorPos(HXxPoint* pPoint);
9310+ virtual void _MapPointToOSWindow(HXxPoint* pPt, void** pWindowHandle);
9311+ virtual void* _GetWindowWithCursor();
9312+ virtual void _ReInitPrimarySurface();
9313+ virtual HXBOOL _MoveWindow( void* ,
9314+ INT32 X,
9315+ INT32 Y,
9316+ INT32 nWidth,
9317+ INT32 nHeight,
9318+ HXBOOL bRepaint);
9319+ virtual HXBOOL _UpdateWindow(void* hWnd);
9320+ virtual HXBOOL _ShowWindow(void* hWnd, INT32 nCmdShow);
9321+ virtual HXBOOL _SetWindowPos(void* hWnd,
9322+ void* hWndInsertAfter,
9323+ INT32 X,
9324+ INT32 Y,
9325+ INT32 cx,
9326+ INT32 cy,
9327+ INT32 uFlags);
9328+ virtual HXBOOL _SetWindowRgn(void* hWnd, HXREGION* hRgn, HXBOOL bRedraw);
9329+ virtual void _SetFocus(void* pWindow);
9330+
9331+ virtual HX_RESULT _EnterFullScreen(HXxWindow* pWindow = NULL);
9332+ virtual HX_RESULT _EventOccurred(HXxEvent* pEvent);
9333+ virtual HX_RESULT _ExitFullScreen();
9334+ virtual HX_RESULT _TestFullScreen( void* hTestBitmap,
9335+ const char* pszStatusText );
9336+ virtual HX_RESULT _EnterFullScreenExt(HXxWindow* pWindow, IHXValues* pValues);
9337+ virtual HX_RESULT _ExitFullScreenExt();
9338+#if defined(HELIX_CONFIG_MOBLIN)
9339+ static void AttachWindowCallback(void *pParam);
9340+ static void ForceRedrawCallback(void *pParam);
9341+ void RemovePendingCallback(CHXGenericCallback* pCB);
9342+
9343+ CHXGenericCallback* m_pAttachWindowCallback;
9344+ CHXGenericCallback* m_pForceRedrawCallback;
9345+#endif
9346+ HXBOOL m_bReparent;
9347+
9348+private:
9349+
9350+ //Protect unintentional copy and default ctors.
9351+ CHXExSite();
9352+ CHXExSite( const CHXExSite& );
9353+ CHXExSite& operator=( const CHXExSite& it );
9354+ HX_RESULT _EnterFullScreenNoNewWindow();
9355+
9356+ //member vars.
9357+ UnixEventHandler* m_pUnixEventHandler;
9358+ static Cursor zm_GrabCursor;
9359+ Window m_ScrollHorizButtonL;
9360+ Window m_ScrollHorizButtonR;
9361+ Window m_ScrollVertButtonT;
9362+ Window m_ScrollVertButtonB;
9363+ Window m_winFullScreenWindow;
9364+ Window m_winOldParent;
9365+ HXxPoint m_ptScrollHorizPosL;
9366+ HXxPoint m_ptScrollHorizPosR;
9367+ HXxPoint m_ptScrollVertPosT;
9368+ HXxPoint m_ptScrollVertPosB;
9369+ HXxPoint m_ptFullScreenOffset;
9370+ HXxSize m_PreFullScreenSize;
9371+ HXBOOL m_bScrollingInProgress;
9372+ int m_nScrollDir;
9373+ HXBOOL m_bLastPointInSite;
9374+ HXBOOL m_bDamaged;
9375+ //
9376+ //Private helpers...
9377+ //
9378+
9379+ //returns the HX_VK associated with this keysym....
9380+ UINT32 _MapKeySymToHXVK(KeySym tmpSym, UINT32& uFlags);
9381+ on_new_frame_cb_t m_on_new_frame_cb;
9382+ void *m_context;
9383+};
9384+
9385+#endif //_UNIXSITE_H
9386Index: helix-libs/clientapps/clutter/exsitsup.cpp
9387===================================================================
9388--- /dev/null 1970-01-01 00:00:00.000000000 +0000
9389+++ helix-libs/clientapps/clutter/exsitsup.cpp 2008-10-13 06:05:49.000000000 -0700
9390@@ -0,0 +1,455 @@
9391+/* ***** BEGIN LICENSE BLOCK *****
9392+ * Version: RCSL 1.0/RPSL 1.0
9393+ *
9394+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
9395+ *
9396+ * The contents of this file, and the files included with this file, are
9397+ * subject to the current version of the RealNetworks Public Source License
9398+ * Version 1.0 (the "RPSL") available at
9399+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
9400+ * the file under the RealNetworks Community Source License Version 1.0
9401+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
9402+ * in which case the RCSL will apply. You may also obtain the license terms
9403+ * directly from RealNetworks. You may not use this file except in
9404+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
9405+ * applicable to this file, the RCSL. Please see the applicable RPSL or
9406+ * RCSL for the rights, obligations and limitations governing use of the
9407+ * contents of the file.
9408+ *
9409+ * This file is part of the Helix DNA Technology. RealNetworks is the
9410+ * developer of the Original Code and owns the copyrights in the portions
9411+ * it created.
9412+ *
9413+ * This file, and the files included with this file, is distributed and made
9414+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
9415+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
9416+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
9417+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
9418+ *
9419+ * Technology Compatibility Kit Test Suite(s) Location:
9420+ * http://www.helixcommunity.org/content/tck
9421+ *
9422+ * Contributor(s):
9423+ *
9424+ * ***** END LICENSE BLOCK ***** */
9425+
9426+#ifdef _WIN16
9427+#include <windows.h>
9428+#endif
9429+
9430+#include "hxcom.h"
9431+#include "hxtypes.h"
9432+#include "hxwintyp.h"
9433+#include "hxwin.h"
9434+#include "ihxpckts.h"
9435+#include "hxcomm.h"
9436+#include "fivemmap.h"
9437+#include "hxstring.h" // CHXString
9438+#include "exsite.h"
9439+#include "exsitsup.h"
9440+#include "pckunpck.h" // CreateBufferCCF
9441+#include "ciddefs.h" // CID_RGB32
9442+#if defined(HELIX_FEATURE_PNG)
9443+#include "pxpngenc.h" // PXPNGEncode::EncodeToPNGBuffer
9444+#endif // HELIX_FEATURE_PNG
9445+#include "print.h"
9446+
9447+
9448+#include "globals.h"
9449+struct _stGlobals*& GetGlobal();
9450+
9451+/************************************************************************
9452+ * Method:
9453+ * Constructor
9454+ */
9455+ ExampleSiteSupplier::ExampleSiteSupplier(IUnknown* pUnkPlayer, on_new_frame_cb_t on_new_frame_cb = NULL, void *context = NULL)
9456+ : m_lRefCount(0)
9457+ , m_pSiteManager(NULL)
9458+ , m_pSite(NULL)
9459+ , m_pSiteCapture(NULL)
9460+ , m_pCaptureBuffer(NULL)
9461+ , m_pCCF(NULL)
9462+ , m_pUnkPlayer(pUnkPlayer)
9463+ , m_on_new_frame_cb(on_new_frame_cb)
9464+ , m_context(context)
9465+{
9466+ if (m_pUnkPlayer)
9467+ {
9468+ m_pUnkPlayer->QueryInterface(IID_IHXSiteManager,
9469+ (void**)&m_pSiteManager);
9470+
9471+ //printf("pauldebug:m_pUnkplayer->QueryInterface for m_pCCF calling\n");
9472+ m_pUnkPlayer->QueryInterface(IID_IHXCommonClassFactory,
9473+ (void**)&m_pCCF);
9474+ //printf("pauldebug:m_pUnkplayer->QueryInterface for m_pCCF called\n");
9475+
9476+ m_pUnkPlayer->AddRef();
9477+ }
9478+};
9479+
9480+/************************************************************************
9481+ * Method:
9482+ * Destructor
9483+ */
9484+ExampleSiteSupplier::~ExampleSiteSupplier()
9485+{
9486+ HX_RELEASE(m_pSiteManager);
9487+ HX_RELEASE(m_pSite);
9488+ HX_RELEASE(m_pSiteCapture);
9489+ HX_RELEASE(m_pCaptureBuffer);
9490+ HX_RELEASE(m_pCCF);
9491+ HX_RELEASE(m_pUnkPlayer);
9492+}
9493+
9494+/************************************************************************
9495+ * Method:
9496+ * IUnknown::QueryInterface
9497+ */
9498+ STDMETHODIMP
9499+ExampleSiteSupplier::QueryInterface(REFIID riid, void** ppvObj)
9500+{
9501+ if (IsEqualIID(riid, IID_IUnknown))
9502+ {
9503+ AddRef();
9504+ *ppvObj = (IUnknown*)(IHXSiteSupplier*)this;
9505+ return HXR_OK;
9506+ }
9507+ else if (IsEqualIID(riid, IID_IHXSiteSupplier))
9508+ {
9509+ AddRef();
9510+ *ppvObj = (IHXSiteSupplier*)this;
9511+ return HXR_OK;
9512+ }
9513+
9514+ *ppvObj = NULL;
9515+ return HXR_NOINTERFACE;
9516+}
9517+
9518+/************************************************************************
9519+ * Method:
9520+ * IUnknown::AddRef
9521+ */
9522+ STDMETHODIMP_(ULONG32)
9523+ExampleSiteSupplier::AddRef()
9524+{
9525+ return InterlockedIncrement(&m_lRefCount);
9526+}
9527+
9528+/************************************************************************
9529+ * Method:
9530+ * IUnknown::Release
9531+ */
9532+ STDMETHODIMP_(ULONG32)
9533+ExampleSiteSupplier::Release()
9534+{
9535+ if (InterlockedDecrement(&m_lRefCount) > 0)
9536+ {
9537+ return m_lRefCount;
9538+ }
9539+
9540+ delete this;
9541+ return 0;
9542+}
9543+
9544+/************************************************************************
9545+ * Method:
9546+ * IHXSiteSupplier::SitesNeeded
9547+ * Purpose:
9548+ * Called to inform the site supplier that a site with a particular
9549+ * set of characteristics is needed. If the site supplier can
9550+ * fulfill the request it should call the site manager and add one
9551+ * or more new sites.
9552+ * Note that the request for sites is associated with a Request ID
9553+ * the client core will inform the site supplier when this requested
9554+ * site is no longer needed.
9555+ */
9556+STDMETHODIMP
9557+ExampleSiteSupplier::SitesNeeded
9558+(
9559+ UINT32 uRequestID,
9560+ IHXValues* pProps
9561+ )
9562+{
9563+ /*
9564+ * Don't create a site if the -NULL_RENDER command line option
9565+ * was given. - jfarr
9566+ */
9567+ if (GetGlobal()->g_bNullRender)
9568+ {
9569+ return (HXR_OK);
9570+ }
9571+
9572+ /*
9573+ * If there are no properties, then we can't really create a
9574+ * site, because we have no idea what type of site is desired!
9575+ */
9576+ if (!pProps)
9577+ {
9578+ return HXR_INVALID_PARAMETER;
9579+ }
9580+
9581+ HRESULT hres = HXR_OK;
9582+ IHXValues* pSiteProps = NULL;
9583+ IHXSiteWindowed* pSiteWindowed = NULL;
9584+ IHXBuffer* pValue = NULL;
9585+ UINT32 style = 0;
9586+ IHXSite* pSite = NULL;
9587+
9588+#if 0
9589+ // Just let the RMA client core create a windowed site for us.
9590+ hres = m_pCCF->CreateInstance(CLSID_IHXSiteWindowed,(void**)&pSiteWindowed);
9591+ if (HXR_OK != hres)
9592+ {
9593+ goto exit;
9594+ }
9595+#else
9596+ {
9597+ *(void **)&pSiteWindowed = (IUnknown*)(IHXSiteWindowed*)(new CHXExSite(GetGlobal()->pMediaPlatform, NULL, 0, m_on_new_frame_cb, m_context));
9598+ hres = ((IUnknown*)*(void **)&pSiteWindowed)->QueryInterface(IID_IHXSiteWindowed, (void**)&pSiteWindowed);
9599+ if (HXR_OK != hres)
9600+ {
9601+ goto exit;
9602+ }
9603+ }
9604+#endif
9605+
9606+ hres = pSiteWindowed->QueryInterface(IID_IHXSite,(void**)&pSite);
9607+ if (HXR_OK != hres)
9608+ {
9609+ goto exit;
9610+ }
9611+
9612+ if( !m_pSite )
9613+ {
9614+ m_pSite = pSite;
9615+ m_pSite->AddRef();
9616+ }
9617+
9618+
9619+ hres = pSiteWindowed->QueryInterface(IID_IHXValues,(void**)&pSiteProps);
9620+ if (HXR_OK != hres)
9621+ {
9622+ goto exit;
9623+ }
9624+
9625+ /*
9626+ * We need to figure out what type of site we are supposed to
9627+ * to create. We need to "switch" between site user and site
9628+ * properties. So look for the well known site user properties
9629+ * that are mapped onto sites...
9630+ */
9631+ hres = pProps->GetPropertyCString("playto",pValue);
9632+ if (HXR_OK == hres)
9633+ {
9634+ pSiteProps->SetPropertyCString("channel",pValue);
9635+ HX_RELEASE(pValue);
9636+ }
9637+ else
9638+ {
9639+ hres = pProps->GetPropertyCString("name",pValue);
9640+ if (HXR_OK == hres)
9641+ {
9642+ pSiteProps->SetPropertyCString("LayoutGroup",pValue);
9643+ HX_RELEASE(pValue);
9644+ }
9645+ }
9646+
9647+#ifdef _WINDOWS
9648+ style = WS_OVERLAPPED | WS_VISIBLE | WS_CLIPCHILDREN;
9649+#endif
9650+
9651+ hres = pSiteWindowed->Create(NULL, style);
9652+ if (HXR_OK != hres)
9653+ {
9654+ goto exit;
9655+ }
9656+
9657+ /*
9658+ * We need to wait until we have set all the properties before
9659+ * we add the site.
9660+ */
9661+ hres = m_pSiteManager->AddSite(pSite);
9662+ if (HXR_OK != hres)
9663+ {
9664+ goto exit;
9665+ }
9666+#ifdef _WINDOWS
9667+ {
9668+ HXxWindow* pWindow = pSiteWindowed->GetWindow();
9669+ if (pWindow && pWindow->window) ::SetForegroundWindow( (HWND)(pWindow->window) );
9670+ }
9671+#endif
9672+ m_CreatedSites.SetAt((void*)uRequestID,pSite);
9673+ pSite->AddRef();
9674+
9675+exit:
9676+
9677+ HX_RELEASE(pSiteProps);
9678+ HX_RELEASE(pSiteWindowed);
9679+ HX_RELEASE(pSite);
9680+
9681+ return hres;
9682+}
9683+
9684+/************************************************************************
9685+ * Method:
9686+ * IHXSiteSupplier::SitesNotNeeded
9687+ * Purpose:
9688+ * Called to inform the site supplier that all sites from a previos
9689+ * site request are no longer needed. If the site supplier had
9690+ * previously created non-persistant sites (like popup windows)
9691+ * to fulfill a request for sites it should call the site manager
9692+ * and remove those sites.
9693+ */
9694+STDMETHODIMP
9695+ExampleSiteSupplier::SitesNotNeeded(UINT32 uRequestID)
9696+{
9697+ IHXSite* pSite = NULL;
9698+ IHXSiteWindowed* pSiteWindowed = NULL;
9699+ void* pVoid = NULL;
9700+
9701+ if (!m_CreatedSites.Lookup((void*)uRequestID,pVoid))
9702+ {
9703+ return HXR_INVALID_PARAMETER;
9704+ }
9705+ pSite = (IHXSite*)pVoid;
9706+
9707+ m_pSiteManager->RemoveSite(pSite);
9708+
9709+ // Need to actually do the work on destroying the window
9710+ // and all that jazz.
9711+ pSite->QueryInterface(IID_IHXSiteWindowed,(void**)&pSiteWindowed);
9712+
9713+ pSiteWindowed->Destroy();
9714+
9715+ // ref count = 2
9716+ pSiteWindowed->Release();
9717+
9718+ // ref count = 1; deleted from this object's view!
9719+ pSite->Release();
9720+
9721+ m_CreatedSites.RemoveKey((void*)uRequestID);
9722+
9723+ return HXR_OK;
9724+}
9725+
9726+/************************************************************************
9727+ * Method:
9728+ * IHXSiteSupplier::BeginChangeLayout
9729+ * Purpose:
9730+ * Called to inform the site supplier a layout change has beginning
9731+ * it can expect to recieve SitesNeeded() and SitesNotNeeded() calls
9732+ * while a layout change is in progress,
9733+ */
9734+STDMETHODIMP
9735+ExampleSiteSupplier::BeginChangeLayout()
9736+{
9737+ return HXR_OK;
9738+}
9739+
9740+/************************************************************************
9741+ * Method:
9742+ * IHXSiteSupplier::DoneChangeLayout
9743+ * Purpose:
9744+ * Called to inform the site supplier the layout change has been
9745+ * completed.
9746+ */
9747+STDMETHODIMP
9748+ExampleSiteSupplier::DoneChangeLayout()
9749+{
9750+ return HXR_OK;
9751+}
9752+
9753+HX_RESULT
9754+ExampleSiteSupplier::CaptureImage(CHXString pszFileName, INT32 dWidth, INT32 dHeight)
9755+{
9756+ HX_RESULT res=HXR_FAIL;
9757+
9758+ // Get the IHXSiteCapture object from the site
9759+ if (m_pSiteCapture == NULL)
9760+ {
9761+ if (m_pSite && m_pSite->QueryInterface(IID_IHXSiteCapture, (void**)&m_pSiteCapture) == HXR_OK)
9762+ {
9763+ m_pSiteCapture->AddRef();
9764+ }
9765+ }
9766+
9767+ // Create the buffer that will receive the image data
9768+ if (m_pCaptureBuffer == NULL)
9769+ {
9770+ CreateBufferCCF(m_pCaptureBuffer, m_pCCF);
9771+ if (!m_pCaptureBuffer)
9772+ {
9773+ return HXR_OUTOFMEMORY;
9774+ }
9775+ }
9776+
9777+ HXBOOL bCanCapture = FALSE;
9778+
9779+ // Check if the site is available to capture an image
9780+ if (m_pSiteCapture && (res = m_pSiteCapture->CanCapture(bCanCapture)) == HXR_OK && bCanCapture)
9781+ {
9782+ HX_RESULT res;
9783+ HXxSize outputSize;
9784+ outputSize.cx = dWidth;
9785+ outputSize.cy = dHeight;
9786+ m_strFileName = pszFileName;
9787+
9788+ // Asynchronous call. CaptureDone() will be called with result.
9789+ res = m_pSiteCapture->Capture((IHXSiteCaptureResponse*)this, m_pCaptureBuffer, &outputSize, CID_RGB32);
9790+ }
9791+
9792+ return res;
9793+
9794+}
9795+
9796+//
9797+// IHXSiteCaptureResponse::CaptureDone
9798+//
9799+// Called when the site has captured the next frame.
9800+// bmiOutputFormat points to image format description which
9801+// is valid until the completion of CaptureDone.
9802+// bmiOutputFormat can be different for every capture.
9803+// pCaptureBuffer holds the image if supplied in
9804+// Capture() method. pCaptureBuffer is automatically
9805+// resized if it has insufficient size to hold the image
9806+// data.
9807+//
9808+// status may be:
9809+// HXR_FAIL -- No capture was done. General Error. All data is invalid.
9810+// HXR_OK -- Capture was done. Both variables are valid.
9811+STDMETHODIMP
9812+ExampleSiteSupplier::CaptureDone(REF(HX_RESULT) status,
9813+ REF(HXBitmapInfoHeader) bmiOutputFormat,
9814+ REF(IHXBuffer*) pCaptureBuffer)
9815+{
9816+ if (status == HXR_OK)
9817+ {
9818+#if defined(HELIX_FEATURE_PNG)
9819+ // Convert capture buffer into PNG
9820+ IHXBuffer* pConvertedBuffer=NULL;
9821+ HX_RESULT res = HXR_OK;
9822+ res = PXPNGEncode::EncodeToPNGBuffer(pCaptureBuffer, &bmiOutputFormat, m_pCCF, pConvertedBuffer);
9823+ if (res == HXR_OK && !m_strFileName.IsEmpty())
9824+ {
9825+ CHXString strTail = m_strFileName.Right(4);
9826+ if (strTail.CompareNoCase(".png") != 0)
9827+ {
9828+ m_strFileName += ".png";
9829+ }
9830+
9831+ FILE* fp = fopen(m_strFileName, "wb");
9832+ if (fp)
9833+ {
9834+ fwrite(pConvertedBuffer->GetBuffer(), 1, pConvertedBuffer->GetSize(), fp);
9835+ fclose(fp);
9836+ STDOUT("Captured image to PNG file: %s\n", (const char*)m_strFileName);
9837+ STDOUT("File size: %ld\n", pConvertedBuffer->GetSize());
9838+ }
9839+ HX_RELEASE(pConvertedBuffer);
9840+ }
9841+#endif // HELIX_FEATURE_PNG
9842+ }
9843+
9844+ return status;
9845+}
9846Index: helix-libs/clientapps/clutter/exsitsup.h
9847===================================================================
9848--- /dev/null 1970-01-01 00:00:00.000000000 +0000
9849+++ helix-libs/clientapps/clutter/exsitsup.h 2008-10-13 06:05:49.000000000 -0700
9850@@ -0,0 +1,154 @@
9851+/* ***** BEGIN LICENSE BLOCK *****
9852+ * Version: RCSL 1.0/RPSL 1.0
9853+ *
9854+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
9855+ *
9856+ * The contents of this file, and the files included with this file, are
9857+ * subject to the current version of the RealNetworks Public Source License
9858+ * Version 1.0 (the "RPSL") available at
9859+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
9860+ * the file under the RealNetworks Community Source License Version 1.0
9861+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
9862+ * in which case the RCSL will apply. You may also obtain the license terms
9863+ * directly from RealNetworks. You may not use this file except in
9864+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
9865+ * applicable to this file, the RCSL. Please see the applicable RPSL or
9866+ * RCSL for the rights, obligations and limitations governing use of the
9867+ * contents of the file.
9868+ *
9869+ * This file is part of the Helix DNA Technology. RealNetworks is the
9870+ * developer of the Original Code and owns the copyrights in the portions
9871+ * it created.
9872+ *
9873+ * This file, and the files included with this file, is distributed and made
9874+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
9875+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
9876+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
9877+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
9878+ *
9879+ * Technology Compatibility Kit Test Suite(s) Location:
9880+ * http://www.helixcommunity.org/content/tck
9881+ *
9882+ * Contributor(s):
9883+ *
9884+ * ***** END LICENSE BLOCK ***** */
9885+
9886+#ifndef _EXSITSUP_H_
9887+#define _EXSITSUP_H_
9888+
9889+#include "fivemmap.h"
9890+#include "player.h"
9891+
9892+/****************************************************************************
9893+ *
9894+ * Class:
9895+ *
9896+ * ExampleSiteSupplier
9897+ *
9898+ * Purpose:
9899+ *
9900+ * Implementation for ragui's IHXSiteSupplier
9901+ *
9902+ */
9903+class ExampleSiteSupplier :
9904+ public IHXSiteSupplier
9905+ , public IHXSiteCaptureResponse
9906+{
9907+private:
9908+ LONG32 m_lRefCount;
9909+ IHXSiteManager* m_pSiteManager;
9910+ IHXSite* m_pSite;
9911+ IHXSiteCapture* m_pSiteCapture;
9912+ IHXBuffer* m_pCaptureBuffer;
9913+ IHXCommonClassFactory* m_pCCF;
9914+ IUnknown* m_pUnkPlayer;
9915+ FiveMinuteMap m_CreatedSites;
9916+ CHXString m_strFileName;
9917+ on_new_frame_cb_t m_on_new_frame_cb;
9918+ void * m_context;
9919+
9920+ ~ExampleSiteSupplier();
9921+
9922+public:
9923+ ExampleSiteSupplier(IUnknown* pUnkPlayer, on_new_frame_cb_t new_frame_cb = NULL, void *context = NULL);
9924+
9925+ /*
9926+ * IUnknown methods
9927+ */
9928+ STDMETHOD(QueryInterface) (THIS_
9929+ REFIID riid,
9930+ void** ppvObj);
9931+
9932+ STDMETHOD_(ULONG32,AddRef) (THIS);
9933+
9934+ STDMETHOD_(ULONG32,Release) (THIS);
9935+
9936+ /*
9937+ * IHXSiteSupplier methods
9938+ */
9939+
9940+ /************************************************************************
9941+ * Method:
9942+ * IHXSiteSupplier::SitesNeeded
9943+ * Purpose:
9944+ * Called to inform the site supplier that a site with a particular
9945+ * set of characteristics is needed. If the site supplier can
9946+ * fulfill the request it should call the site manager and add one
9947+ * or more new sites.
9948+ * Note that the request for sites is associated with a Request ID
9949+ * the client core will inform the site supplier when this requested
9950+ * site is no longer needed.
9951+ */
9952+ STDMETHOD(SitesNeeded) (THIS_
9953+ UINT32 uRequestID,
9954+ IHXValues* pSiteProps);
9955+
9956+ /************************************************************************
9957+ * Method:
9958+ * IHXSiteSupplier::SitesNotNeeded
9959+ * Purpose:
9960+ * Called to inform the site supplier that all sites from a previos
9961+ * site request are no longer needed. If the site supplier had
9962+ * previously created non-persistant sites (like popup windows)
9963+ * to fulfill a request for sites it should call the site manager
9964+ * and remove those sites.
9965+ */
9966+ STDMETHOD(SitesNotNeeded)
9967+ (THIS_
9968+ UINT32 uRequestID);
9969+
9970+
9971+ /************************************************************************
9972+ * Method:
9973+ * IHXSiteSupplier::BeginChangeLayout
9974+ * Purpose:
9975+ * Called to inform the site supplier a layout change has beginning
9976+ * it can expect to recieve SitesNeeded() and SitesNotNeeded() calls
9977+ * while a layout change is in progress,
9978+ */
9979+ STDMETHOD(BeginChangeLayout) (THIS);
9980+
9981+ /************************************************************************
9982+ * Method:
9983+ * IHXSiteSupplier::DoneChangeLayout
9984+ * Purpose:
9985+ * Called to inform the site supplier the layout change has been
9986+ * completed.
9987+ */
9988+ STDMETHOD(DoneChangeLayout) (THIS);
9989+
9990+ /*
9991+ * IHXSiteCaptureResponse
9992+ */
9993+ STDMETHOD(CaptureDone) (THIS_
9994+ REF(HX_RESULT) status,
9995+ REF(HXBitmapInfoHeader) bmiOutputFormat,
9996+ REF(IHXBuffer*) pImageDataBuffer
9997+ );
9998+
9999+ HX_RESULT CaptureImage(CHXString pFileName, INT32 dWidth, INT32 dHeight);
10000+
10001+};
10002+
10003+#endif // _EXSITSUP_H_
10004+
10005Index: helix-libs/clientapps/clutter/exstateadvsnk.cpp
10006===================================================================
10007--- /dev/null 1970-01-01 00:00:00.000000000 +0000
10008+++ helix-libs/clientapps/clutter/exstateadvsnk.cpp 2008-10-13 06:05:49.000000000 -0700
10009@@ -0,0 +1,229 @@
10010+/* ***** BEGIN LICENSE BLOCK *****
10011+ * Version: RCSL 1.0/RPSL 1.0
10012+ *
10013+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
10014+ *
10015+ * The contents of this file, and the files included with this file, are
10016+ * subject to the current version of the RealNetworks Public Source License
10017+ * Version 1.0 (the "RPSL") available at
10018+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
10019+ * the file under the RealNetworks Community Source License Version 1.0
10020+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
10021+ * in which case the RCSL will apply. You may also obtain the license terms
10022+ * directly from RealNetworks. You may not use this file except in
10023+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
10024+ * applicable to this file, the RCSL. Please see the applicable RPSL or
10025+ * RCSL for the rights, obligations and limitations governing use of the
10026+ * contents of the file.
10027+ *
10028+ * This file is part of the Helix DNA Technology. RealNetworks is the
10029+ * developer of the Original Code and owns the copyrights in the portions
10030+ * it created.
10031+ *
10032+ * This file, and the files included with this file, is distributed and made
10033+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
10034+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
10035+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
10036+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
10037+ *
10038+ * Technology Compatibility Kit Test Suite(s) Location:
10039+ * http://www.helixcommunity.org/content/tck
10040+ *
10041+ * Contributor(s):
10042+ *
10043+ * ***** END LICENSE BLOCK ***** */
10044+
10045+#include <stdio.h>
10046+
10047+#include "hxtypes.h"
10048+
10049+#include "hxcom.h"
10050+#include "hxcomm.h"
10051+#include "hxmon.h"
10052+#include "hxcore.h"
10053+#include "hxengin.h"
10054+#include "hxclsnk.h"
10055+#include "hxgroup.h"
10056+#include "hxstrutl.h"
10057+#include "exstateadvsnk.h"
10058+#include "hxstring.h"
10059+#include "hxprefs.h"
10060+#include "excontxt.h"
10061+
10062+#include "print.h"
10063+
10064+#include "globals.h"
10065+#include "player.h"
10066+
10067+struct _stGlobals*& GetGlobal(); //in main.cpp
10068+
10069+#ifdef __TCS__
10070+extern unsigned long gStreamTime;
10071+
10072+static int iOpened = 0;
10073+
10074+
10075+#if defined(__cplusplus)
10076+extern "C" {
10077+#endif /* defined(__cplusplus) */
10078+
10079+typedef enum hookBuffering {
10080+ eContacting = 0,
10081+ eConnecting = 1,
10082+ eBuffering = 2,
10083+ ePlaying = 3
10084+}hookBuffering;
10085+
10086+void hookRealAudio_Buffering(hookBuffering connectState, int pct);
10087+
10088+void hookRealAudio_PlayPosition(unsigned long current,unsigned long duration);
10089+
10090+typedef enum hookState {
10091+ ePlay = 0,
10092+ ePause = 1,
10093+ eStop = 2,
10094+ eResume = 3,
10095+ eComplete // Clip is done playing
10096+}hookState;
10097+void hookRealAudio_State(hookState newState);
10098+
10099+
10100+#if defined(__cplusplus)
10101+}
10102+#endif /* defined(__cplusplus) */
10103+
10104+#endif // __TCS__
10105+
10106+void PrintBuffer(const char* pszName,const unsigned char* pbBuf, unsigned int dwBytes);
10107+
10108+ExampleClientStateAdviceSink::ExampleClientStateAdviceSink(IUnknown* pUnknown, LONG32 lClientIndex, on_state_change_cb_t on_state_change_cb, void *context)
10109+ : m_lRefCount (0)
10110+ , m_lClientIndex (lClientIndex)
10111+ , m_pUnknown (NULL)
10112+ , m_State (HX_CLIENT_STATE_READY)
10113+ , m_state_change_cb(on_state_change_cb)
10114+ , m_context(context)
10115+{
10116+ if (pUnknown)
10117+ {
10118+ m_pUnknown = pUnknown;
10119+ m_pUnknown->AddRef();
10120+
10121+ IHXPlayer* pPlayer;
10122+ IHXClientStateAdviseSinkControl *pStateControl;
10123+ if(HXR_OK == m_pUnknown->QueryInterface(IID_IHXPlayer,
10124+ (void**)&pPlayer))
10125+ {
10126+ m_pPlayer = pPlayer;
10127+
10128+
10129+ }
10130+
10131+ if (HXR_OK == m_pUnknown->QueryInterface(IID_IHXClientStateAdviseSinkControl, (void **)&pStateControl))
10132+ {
10133+ pStateControl->AddClientStateAdviseSink(this);
10134+ }
10135+ }
10136+
10137+#ifdef __TCS__
10138+ bEnableAdviceSink = TRUE;
10139+ iOpened = 0;
10140+#endif
10141+}
10142+
10143+ExampleClientStateAdviceSink::~ExampleClientStateAdviceSink(void)
10144+{
10145+
10146+ if (m_pPlayer)
10147+ {
10148+ m_pPlayer->Release();
10149+ m_pPlayer = NULL;
10150+ }
10151+ if (m_pUnknown)
10152+ {
10153+ m_pUnknown->Release();
10154+ m_pUnknown = NULL;
10155+ }
10156+}
10157+
10158+
10159+// *** IUnknown methods ***
10160+
10161+/////////////////////////////////////////////////////////////////////////
10162+// Method:
10163+// IUnknown::QueryInterface
10164+// Purpose:
10165+// Implement this to export the interfaces supported by your
10166+// object.
10167+//
10168+STDMETHODIMP ExampleClientStateAdviceSink::QueryInterface(REFIID riid, void** ppvObj)
10169+{
10170+ if (IsEqualIID(riid, IID_IUnknown))
10171+ {
10172+ AddRef();
10173+ *ppvObj = (IUnknown*)(IHXClientStateAdviseSink *)this;
10174+ return HXR_OK;
10175+ }
10176+ else if (IsEqualIID(riid, IID_IHXClientStateAdviseSink))
10177+ {
10178+ AddRef();
10179+ *ppvObj = (IHXClientStateAdviseSink*)this;
10180+ return HXR_OK;
10181+ }
10182+
10183+ *ppvObj = NULL;
10184+ return HXR_NOINTERFACE;
10185+}
10186+
10187+/////////////////////////////////////////////////////////////////////////
10188+// Method:
10189+// IUnknown::AddRef
10190+// Purpose:
10191+// Everyone usually implements this the same... feel free to use
10192+// this implementation.
10193+//
10194+STDMETHODIMP_(ULONG32) ExampleClientStateAdviceSink::AddRef()
10195+{
10196+ return InterlockedIncrement(&m_lRefCount);
10197+}
10198+
10199+/////////////////////////////////////////////////////////////////////////
10200+// Method:
10201+// IUnknown::Release
10202+// Purpose:
10203+// Everyone usually implements this the same... feel free to use
10204+// this implementation.
10205+//
10206+STDMETHODIMP_(ULONG32) ExampleClientStateAdviceSink::Release()
10207+{
10208+ if (InterlockedDecrement(&m_lRefCount) > 0)
10209+ {
10210+ return m_lRefCount;
10211+ }
10212+
10213+ delete this;
10214+ return 0;
10215+}
10216+
10217+
10218+/************************************************************************
10219+ * Method:
10220+ * IHXClientStateAdviseSink::OnStateChange
10221+ * Purpose:
10222+ * Called to advise the client state has changed state
10223+ */
10224+STDMETHODIMP ExampleClientStateAdviceSink::OnStateChange(UINT16 uOldState, UINT16 uNewState)
10225+{
10226+ if (m_state_change_cb)
10227+ m_state_change_cb(uOldState, uNewState, m_context);
10228+
10229+ m_State = uNewState;
10230+ return HXR_OK;
10231+}
10232+
10233+EHXClientState ExampleClientStateAdviceSink::GetState()
10234+{
10235+ return m_State;
10236+}
10237+
10238+
10239Index: helix-libs/clientapps/clutter/exstateadvsnk.h
10240===================================================================
10241--- /dev/null 1970-01-01 00:00:00.000000000 +0000
10242+++ helix-libs/clientapps/clutter/exstateadvsnk.h 2008-10-13 06:05:49.000000000 -0700
10243@@ -0,0 +1,108 @@
10244+/* ***** BEGIN LICENSE BLOCK *****
10245+ * Version: RCSL 1.0/RPSL 1.0
10246+ *
10247+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
10248+ *
10249+ * The contents of this file, and the files included with this file, are
10250+ * subject to the current version of the RealNetworks Public Source License
10251+ * Version 1.0 (the "RPSL") available at
10252+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
10253+ * the file under the RealNetworks Community Source License Version 1.0
10254+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
10255+ * in which case the RCSL will apply. You may also obtain the license terms
10256+ * directly from RealNetworks. You may not use this file except in
10257+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
10258+ * applicable to this file, the RCSL. Please see the applicable RPSL or
10259+ * RCSL for the rights, obligations and limitations governing use of the
10260+ * contents of the file.
10261+ *
10262+ * This file is part of the Helix DNA Technology. RealNetworks is the
10263+ * developer of the Original Code and owns the copyrights in the portions
10264+ * it created.
10265+ *
10266+ * This file, and the files included with this file, is distributed and made
10267+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
10268+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
10269+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
10270+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
10271+ *
10272+ * Technology Compatibility Kit Test Suite(s) Location:
10273+ * http://www.helixcommunity.org/content/tck
10274+ *
10275+ * Contributor(s):
10276+ *
10277+ * ***** END LICENSE BLOCK ***** */
10278+
10279+#ifndef _EXAMPLE_CLIENT_STATE_ADVISE_SNK_H_
10280+#define _EXAMPLE_CLIENT_STATE_ADVISE_SNK_H_
10281+
10282+#include "player.h"
10283+
10284+struct IHXClientStateAdviseSink;
10285+struct IHXGroupSink;
10286+struct IUnknown;
10287+struct IHXRegistry;
10288+struct IHXScheduler;
10289+struct IHXCallback;
10290+struct IHXPlayer;
10291+struct IHXGroup;
10292+
10293+class ExampleClientStateAdviceSink : public IHXClientStateAdviseSink
10294+{
10295+ private:
10296+ LONG32 m_lRefCount;
10297+ LONG32 m_lClientIndex;
10298+
10299+ IUnknown* m_pUnknown;
10300+
10301+ UINT32 m_ulStartTime;
10302+ UINT32 m_ulStopTime;
10303+
10304+ UINT32 m_lCurrentBandwidth;
10305+ UINT32 m_lAverageBandwidth;
10306+ HXBOOL m_bOnStop;
10307+
10308+ HXBOOL m_bWaitForTrackStart;
10309+
10310+ on_state_change_cb_t m_state_change_cb;
10311+ void *m_context;
10312+ EHXClientState m_State;
10313+
10314+ // IHXCallback
10315+ IHXPlayer* m_pPlayer;
10316+ ULONG32 m_hCallback;
10317+ ~ExampleClientStateAdviceSink();
10318+
10319+
10320+ public:
10321+
10322+ ExampleClientStateAdviceSink(IUnknown* /*IN*/ pUnknown, LONG32 /*IN*/ lClientIndex, on_state_change_cb_t on_state_change_cb = NULL, void *context = NULL);
10323+
10324+ /*
10325+ * IUnknown methods
10326+ */
10327+ STDMETHOD(QueryInterface) (THIS_
10328+ REFIID riid,
10329+ void** ppvObj);
10330+
10331+ STDMETHOD_(ULONG32,AddRef) (THIS);
10332+
10333+ STDMETHOD_(ULONG32,Release) (THIS);
10334+
10335+ /***********************************************************************
10336+ * Method:
10337+ * IHXClientStateAdviseSink::OnStateChange
10338+ * Purpose:
10339+ * Called by client engine to inform the client that the state has changed.
10340+ * States are defined in the enum EHXClientState, defined in this file.
10341+ *
10342+ */
10343+ STDMETHOD(OnStateChange) (THIS_
10344+ UINT16 uOldState,
10345+ UINT16 uNewState
10346+ ) ;
10347+
10348+ EHXClientState GetState();
10349+};
10350+
10351+#endif /* _EXAMPLECLSNK_ */
10352Index: helix-libs/clientapps/clutter/fivemmap.cpp
10353===================================================================
10354--- /dev/null 1970-01-01 00:00:00.000000000 +0000
10355+++ helix-libs/clientapps/clutter/fivemmap.cpp 2008-10-13 06:05:49.000000000 -0700
10356@@ -0,0 +1,175 @@
10357+/* ***** BEGIN LICENSE BLOCK *****
10358+ * Version: RCSL 1.0/RPSL 1.0
10359+ *
10360+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
10361+ *
10362+ * The contents of this file, and the files included with this file, are
10363+ * subject to the current version of the RealNetworks Public Source License
10364+ * Version 1.0 (the "RPSL") available at
10365+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
10366+ * the file under the RealNetworks Community Source License Version 1.0
10367+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
10368+ * in which case the RCSL will apply. You may also obtain the license terms
10369+ * directly from RealNetworks. You may not use this file except in
10370+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
10371+ * applicable to this file, the RCSL. Please see the applicable RPSL or
10372+ * RCSL for the rights, obligations and limitations governing use of the
10373+ * contents of the file.
10374+ *
10375+ * This file is part of the Helix DNA Technology. RealNetworks is the
10376+ * developer of the Original Code and owns the copyrights in the portions
10377+ * it created.
10378+ *
10379+ * This file, and the files included with this file, is distributed and made
10380+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
10381+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
10382+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
10383+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
10384+ *
10385+ * Technology Compatibility Kit Test Suite(s) Location:
10386+ * http://www.helixcommunity.org/content/tck
10387+ *
10388+ * Contributor(s):
10389+ *
10390+ * ***** END LICENSE BLOCK ***** */
10391+
10392+#include <string.h>
10393+#include "hxtypes.h"
10394+#include "fivemmap.h"
10395+
10396+void* FiveMinuteMap::GetFirstValue()
10397+{
10398+ m_nCursor = 0;
10399+
10400+ if (m_nMapSize)
10401+ {
10402+ return m_pValueArray[m_nCursor];
10403+ }
10404+ else
10405+ {
10406+ return NULL;
10407+ }
10408+}
10409+
10410+void* FiveMinuteMap::GetNextValue()
10411+{
10412+ m_nCursor++;
10413+
10414+ if (m_nCursor < m_nMapSize)
10415+ {
10416+ return m_pValueArray[m_nCursor];
10417+ }
10418+ else
10419+ {
10420+ return NULL;
10421+ }
10422+}
10423+
10424+HXBOOL FiveMinuteMap::Lookup(void* Key, void*& Value) const
10425+{
10426+ HXBOOL bFound = FALSE;
10427+ int nIndex = 0;
10428+
10429+ // If Key is alrady in the list, replace value
10430+ for (; nIndex < m_nMapSize; nIndex++)
10431+ {
10432+ if (m_pKeyArray[nIndex] == Key)
10433+ {
10434+ Value = m_pValueArray[nIndex];
10435+ bFound = TRUE;
10436+ goto exit;
10437+ }
10438+ }
10439+
10440+exit:
10441+ return bFound;
10442+}
10443+
10444+void FiveMinuteMap::RemoveKey(void* Key)
10445+{
10446+ HXBOOL bFound = FALSE;
10447+ int nIndex = 0;
10448+
10449+ // If Key is alrady in the list, replace value
10450+ for (; nIndex < m_nMapSize; nIndex++)
10451+ {
10452+ if (m_pKeyArray[nIndex] == Key)
10453+ {
10454+ if (nIndex < (m_nMapSize-1))
10455+ {
10456+ memmove(&(m_pKeyArray[nIndex]),&(m_pKeyArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1)));
10457+ memmove(&(m_pValueArray[nIndex]),&(m_pValueArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1)));
10458+ }
10459+ m_nMapSize--;
10460+ goto exit;
10461+ }
10462+ }
10463+
10464+exit:
10465+ (NULL); // We're done!
10466+}
10467+
10468+void FiveMinuteMap::RemoveValue(void* Value)
10469+{
10470+ HXBOOL bFound = FALSE;
10471+ int nIndex = 0;
10472+
10473+ // If Value is alrady in the list, replace value
10474+ for (; nIndex < m_nMapSize; nIndex++)
10475+ {
10476+ if (m_pValueArray[nIndex] == Value)
10477+ {
10478+ if (nIndex < (m_nMapSize-1))
10479+ {
10480+ memmove(&(m_pKeyArray[nIndex]),&(m_pKeyArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1)));
10481+ memmove(&(m_pValueArray[nIndex]),&(m_pValueArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1)));
10482+ }
10483+ m_nMapSize--;
10484+ goto exit;
10485+ }
10486+ }
10487+
10488+exit:
10489+ (NULL); // We're done!
10490+}
10491+
10492+
10493+void FiveMinuteMap::SetAt(void* Key, void* Value)
10494+{
10495+ int nIndex = 0;
10496+
10497+ // If Key is alrady in the list, replace value
10498+ for (; nIndex < m_nMapSize; nIndex++)
10499+ {
10500+ if (m_pKeyArray[nIndex] == Key)
10501+ {
10502+ m_pValueArray[nIndex] = Value;
10503+ goto exit;
10504+ }
10505+ }
10506+
10507+ // If we have room, add it to the end!
10508+ if (m_nAllocSize == m_nMapSize)
10509+ {
10510+ m_nAllocSize += AllocationSize;
10511+ void** pNewKeys = new void*[m_nAllocSize];
10512+ void** pNewValues = new void*[m_nAllocSize];
10513+
10514+ memcpy(pNewKeys,m_pKeyArray,sizeof(void*)*m_nMapSize); /* Flawfinder: ignore */
10515+ memcpy(pNewValues,m_pValueArray,sizeof(void*)*m_nMapSize); /* Flawfinder: ignore */
10516+
10517+ delete [] m_pKeyArray;
10518+ delete [] m_pValueArray;
10519+
10520+ m_pKeyArray = pNewKeys;
10521+ m_pValueArray = pNewValues;
10522+ }
10523+
10524+ m_pKeyArray[m_nMapSize] = Key;
10525+ m_pValueArray[m_nMapSize] = Value;
10526+ m_nMapSize++;
10527+
10528+exit:
10529+ (NULL); // We're done!
10530+}
10531+
10532Index: helix-libs/clientapps/clutter/fivemmap.h
10533===================================================================
10534--- /dev/null 1970-01-01 00:00:00.000000000 +0000
10535+++ helix-libs/clientapps/clutter/fivemmap.h 2008-10-13 06:05:49.000000000 -0700
10536@@ -0,0 +1,79 @@
10537+/* ***** BEGIN LICENSE BLOCK *****
10538+ * Version: RCSL 1.0/RPSL 1.0
10539+ *
10540+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
10541+ *
10542+ * The contents of this file, and the files included with this file, are
10543+ * subject to the current version of the RealNetworks Public Source License
10544+ * Version 1.0 (the "RPSL") available at
10545+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
10546+ * the file under the RealNetworks Community Source License Version 1.0
10547+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
10548+ * in which case the RCSL will apply. You may also obtain the license terms
10549+ * directly from RealNetworks. You may not use this file except in
10550+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
10551+ * applicable to this file, the RCSL. Please see the applicable RPSL or
10552+ * RCSL for the rights, obligations and limitations governing use of the
10553+ * contents of the file.
10554+ *
10555+ * This file is part of the Helix DNA Technology. RealNetworks is the
10556+ * developer of the Original Code and owns the copyrights in the portions
10557+ * it created.
10558+ *
10559+ * This file, and the files included with this file, is distributed and made
10560+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
10561+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
10562+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
10563+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
10564+ *
10565+ * Technology Compatibility Kit Test Suite(s) Location:
10566+ * http://www.helixcommunity.org/content/tck
10567+ *
10568+ * Contributor(s):
10569+ *
10570+ * ***** END LICENSE BLOCK ***** */
10571+
10572+#ifndef _FIVEMMAP_H_
10573+#define _FIVEMMAP_H_
10574+
10575+#ifndef _HXTYPES_H_
10576+#error FiveMinuteMap assumes pntypes.h.
10577+#endif
10578+
10579+class FiveMinuteMap
10580+{
10581+ const int AllocationSize;
10582+
10583+ void** m_pKeyArray;
10584+ void** m_pValueArray;
10585+ int m_nMapSize;
10586+ int m_nAllocSize;
10587+ int m_nCursor;
10588+public:
10589+ FiveMinuteMap()
10590+ : m_pKeyArray(NULL)
10591+ , m_pValueArray(NULL)
10592+ , m_nMapSize(0)
10593+ , m_nAllocSize(0)
10594+ , m_nCursor(0)
10595+ , AllocationSize(10)
10596+ {};
10597+
10598+ ~FiveMinuteMap()
10599+ {
10600+ delete [] m_pKeyArray;
10601+ delete [] m_pValueArray;
10602+ };
10603+
10604+ int GetCount() {return m_nMapSize;}
10605+
10606+ void* GetFirstValue();
10607+ void* GetNextValue();
10608+
10609+ HXBOOL Lookup(void* Key, void*& Value) const;
10610+ void RemoveKey(void* Key);
10611+ void RemoveValue(void* Value);
10612+ void SetAt(void* Key, void* Value);
10613+};
10614+
10615+#endif /* _FIVEMMAP_H_ */
10616Index: helix-libs/clientapps/clutter/globals.h
10617===================================================================
10618--- /dev/null 1970-01-01 00:00:00.000000000 +0000
10619+++ helix-libs/clientapps/clutter/globals.h 2008-10-13 06:05:49.000000000 -0700
10620@@ -0,0 +1,150 @@
10621+/* ***** BEGIN LICENSE BLOCK *****
10622+ * Version: RCSL 1.0/RPSL 1.0
10623+ *
10624+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
10625+ *
10626+ * The contents of this file, and the files included with this file, are
10627+ * subject to the current version of the RealNetworks Public Source License
10628+ * Version 1.0 (the "RPSL") available at
10629+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
10630+ * the file under the RealNetworks Community Source License Version 1.0
10631+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
10632+ * in which case the RCSL will apply. You may also obtain the license terms
10633+ * directly from RealNetworks. You may not use this file except in
10634+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
10635+ * applicable to this file, the RCSL. Please see the applicable RPSL or
10636+ * RCSL for the rights, obligations and limitations governing use of the
10637+ * contents of the file.
10638+ *
10639+ * This file is part of the Helix DNA Technology. RealNetworks is the
10640+ * developer of the Original Code and owns the copyrights in the portions
10641+ * it created.
10642+ *
10643+ * This file, and the files included with this file, is distributed and made
10644+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
10645+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
10646+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
10647+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
10648+ *
10649+ * Technology Compatibility Kit Test Suite(s) Location:
10650+ * http://www.helixcommunity.org/content/tck
10651+ *
10652+ * Contributor(s):
10653+ *
10654+ * ***** END LICENSE BLOCK ***** */
10655+
10656+/****************************************************************************
10657+ *
10658+ * Test Client:
10659+ *
10660+ *
10661+ * This is an test client running on Windows, Mac, and Unix without a GUI.
10662+ *
10663+ */
10664+
10665+#ifndef _SPLAY_GLOBALS_H
10666+#define _SPLAY_GLOBALS_H
10667+
10668+#include "dllacces.h"
10669+#include "dllpath.h"
10670+#include "hxengin.h"
10671+#include "hxplayvelocity.h"
10672+#include "hxcore.h"
10673+#include "ihxmedpltfm.h"
10674+#include "excontxt.h"
10675+#include "preflist.h"
10676+
10677+#define HX_COMMAND_BUFFER_SIZE 256
10678+#define HX_MAX_NUM_MULTI_SEEKS 10
10679+struct _stGlobals
10680+{
10681+ _stGlobals()
10682+ : g_pDLLAccess(NULL),
10683+ g_nPlayers(0),
10684+ m_fpHXMediaPlatformOpen(NULL),
10685+ m_fpHXCreateMediaPlatform(NULL),
10686+ m_fpHXMediaPlatformClose(NULL),
10687+ m_fpCreateEngine(NULL),
10688+ m_fpCloseEngine(NULL),
10689+ m_fpSetDLLAccessPath(NULL),
10690+ bEnableAdviceSink(FALSE),
10691+ bEnableVerboseMode(FALSE),
10692+ g_bEnableSlowStart(TRUE),
10693+ g_bOnBeginOccurred(FALSE),
10694+ g_pszUsername( NULL),
10695+ g_pszPassword(NULL),
10696+ g_pszGUIDFile(NULL),
10697+ g_pszGUIDList(NULL),
10698+ g_Error(HXR_OK),
10699+ g_ulNumSecondsPlayed(0),
10700+ pMediaPlatform(NULL),
10701+ g_pIHXKicker(NULL),
10702+ bUseLegacyAPIs(FALSE),
10703+ pEngine(NULL),
10704+ g_pQuickSeek(NULL),
10705+ g_bNullRender(FALSE),
10706+ g_bUserStop(FALSE),
10707+ g_bInitVelocity(FALSE),
10708+ g_bABD(FALSE),
10709+ g_pVelocityCaps(NULL),
10710+ g_ulNumMultiSeeks(0),
10711+ g_ulMultiSeekIndex(0),
10712+ g_bMultiSeek(FALSE),
10713+ g_uThreadIDForKicker(-1)
10714+ {
10715+ memset(g_szCommandBuffer, 0, HX_COMMAND_BUFFER_SIZE);
10716+ memset(g_szPriorCommandBuffer, 0, HX_COMMAND_BUFFER_SIZE);
10717+ memset(g_Players, 0, sizeof(g_Players));
10718+ memset(g_pszURLs, 0, sizeof(g_pszURLs));
10719+ memset(g_pClientContexts, 0, sizeof(g_pClientContexts));
10720+ }
10721+
10722+ #define MAX_NUM_PLAYERS 256
10723+ IHXPlayer* g_Players[MAX_NUM_PLAYERS];
10724+ char *g_pszURLs[MAX_NUM_PLAYERS];
10725+ ExampleClientContext *g_pClientContexts[MAX_NUM_PLAYERS];
10726+ int g_nPlayers;
10727+ DLLAccessPath g_statclnt;
10728+ DLLAccess* g_pDLLAccess;
10729+ CHXPrefList g_prefList;
10730+
10731+ FPHXMEDIAPLATFORMOPEN m_fpHXMediaPlatformOpen;
10732+ FPHXCREATEMEDIAPLATFORM m_fpHXCreateMediaPlatform;
10733+ FPHXMEDIAPLATFORMCLOSE m_fpHXMediaPlatformClose;
10734+
10735+ FPRMCREATEENGINE m_fpCreateEngine;
10736+ FPRMCLOSEENGINE m_fpCloseEngine;
10737+ FPRMSETDLLACCESSPATH m_fpSetDLLAccessPath;
10738+
10739+ HXBOOL bEnableAdviceSink;
10740+ HXBOOL bEnableVerboseMode;
10741+ HXBOOL g_bEnableSlowStart;
10742+ HXBOOL g_bOnBeginOccurred;
10743+ char* g_pszUsername;
10744+ char* g_pszPassword;
10745+ char* g_pszGUIDFile;
10746+ char* g_pszGUIDList;
10747+ HX_RESULT g_Error;
10748+ UINT32 g_ulNumSecondsPlayed;
10749+ IHXMediaPlatform* pMediaPlatform;
10750+ IHXMediaPlatformKicker* g_pIHXKicker;
10751+ UINT32 g_uThreadIDForKicker;
10752+ pthread_t g_pThreadKickmanId;
10753+ HXBOOL bUseLegacyAPIs;
10754+ IHXClientEngine* pEngine;
10755+ IHXQuickSeek* g_pQuickSeek;
10756+ HXBOOL g_bNullRender;
10757+ HXBOOL g_bUserStop;
10758+ HXBOOL g_bInitVelocity;
10759+ HXBOOL g_bABD;
10760+ IHXPlaybackVelocityCaps* g_pVelocityCaps;
10761+ HXBOOL g_bMultiSeek;
10762+ UINT32 g_ulMultiSeekTime[HX_MAX_NUM_MULTI_SEEKS];
10763+ UINT32 g_ulNumMultiSeeks;
10764+ UINT32 g_ulMultiSeekIndex;
10765+ char g_szCommandBuffer[HX_COMMAND_BUFFER_SIZE];
10766+ char g_szPriorCommandBuffer[HX_COMMAND_BUFFER_SIZE];
10767+};
10768+
10769+
10770+#endif // _SPLAY_GLOBALS_H
10771Index: helix-libs/clientapps/clutter/iids.cpp
10772===================================================================
10773--- /dev/null 1970-01-01 00:00:00.000000000 +0000
10774+++ helix-libs/clientapps/clutter/iids.cpp 2008-10-13 06:05:49.000000000 -0700
10775@@ -0,0 +1,50 @@
10776+/* ***** BEGIN LICENSE BLOCK *****
10777+ * Version: RCSL 1.0/RPSL 1.0
10778+ *
10779+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
10780+ *
10781+ * The contents of this file, and the files included with this file, are
10782+ * subject to the current version of the RealNetworks Public Source License
10783+ * Version 1.0 (the "RPSL") available at
10784+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
10785+ * the file under the RealNetworks Community Source License Version 1.0
10786+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
10787+ * in which case the RCSL will apply. You may also obtain the license terms
10788+ * directly from RealNetworks. You may not use this file except in
10789+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
10790+ * applicable to this file, the RCSL. Please see the applicable RPSL or
10791+ * RCSL for the rights, obligations and limitations governing use of the
10792+ * contents of the file.
10793+ *
10794+ * This file is part of the Helix DNA Technology. RealNetworks is the
10795+ * developer of the Original Code and owns the copyrights in the portions
10796+ * it created.
10797+ *
10798+ * This file, and the files included with this file, is distributed and made
10799+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
10800+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
10801+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
10802+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
10803+ *
10804+ * Technology Compatibility Kit Test Suite(s) Location:
10805+ * http://www.helixcommunity.org/content/tck
10806+ *
10807+ * Contributor(s):
10808+ *
10809+ * ***** END LICENSE BLOCK ***** */
10810+
10811+// define all guids here once...
10812+#define INITGUID
10813+#define NCIHACK
10814+#include "hxtypes.h"
10815+#include "hxcom.h"
10816+#include "hxiids.h"
10817+#include "hxpiids.h"
10818+#if defined _WINDOWS
10819+#if defined (HELIX_FEATURE_DIRECT_SOUND)
10820+#include "dsound.h"
10821+#endif /* HELIX_FEATURE_DIRECT_SOUND */
10822+#if defined (HELIX_FEATURE_VIDEO) && !defined(_WINCE)
10823+#include "ddraw.h"
10824+#endif /* HELIX_FEATURE_VIDEO */
10825+#endif
10826Index: helix-libs/clientapps/clutter/linux2.pcf
10827===================================================================
10828--- /dev/null 1970-01-01 00:00:00.000000000 +0000
10829+++ helix-libs/clientapps/clutter/linux2.pcf 2008-10-13 06:05:49.000000000 -0700
10830@@ -0,0 +1,42 @@
10831+#
10832+# ***** BEGIN LICENSE BLOCK *****
10833+# Version: RCSL 1.0/RPSL 1.0
10834+#
10835+# Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
10836+#
10837+# The contents of this file, and the files included with this file, are
10838+# subject to the current version of the RealNetworks Public Source License
10839+# Version 1.0 (the "RPSL") available at
10840+# http://www.helixcommunity.org/content/rpsl unless you have licensed
10841+# the file under the RealNetworks Community Source License Version 1.0
10842+# (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
10843+# in which case the RCSL will apply. You may also obtain the license terms
10844+# directly from RealNetworks. You may not use this file except in
10845+# compliance with the RPSL or, if you have a valid RCSL with RealNetworks
10846+# applicable to this file, the RCSL. Please see the applicable RPSL or
10847+# RCSL for the rights, obligations and limitations governing use of the
10848+# contents of the file.
10849+#
10850+# This file is part of the Helix DNA Technology. RealNetworks is the
10851+# developer of the Original Code and owns the copyrights in the portions
10852+# it created.
10853+#
10854+# This file, and the files included with this file, is distributed and made
10855+# available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
10856+# EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
10857+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
10858+# FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
10859+#
10860+# Technology Compatibility Kit Test Suite(s) Location:
10861+# http://www.helixcommunity.org/content/tck
10862+#
10863+# Contributor(s):
10864+#
10865+# ***** END LICENSE BLOCK *****
10866+#
10867+
10868+project.AddSystemLibraries("dl", "m", "pthread")
10869+
10870+if (project.IsDefined("HELIX_FEATURE_VIDEO") and
10871+ project.IsDefined("USE_XWINDOWS")):
10872+ project.AddSystemLibraries("X11")
10873Index: helix-libs/clientapps/clutter/player.cpp
10874===================================================================
10875--- /dev/null 1970-01-01 00:00:00.000000000 +0000
10876+++ helix-libs/clientapps/clutter/player.cpp 2008-10-13 06:05:49.000000000 -0700
10877@@ -0,0 +1,1057 @@
10878+/* ***** BEGIN LICENSE BLOCK *****
10879+ * Version: RCSL 1.0/RPSL 1.0
10880+ *
10881+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
10882+ *
10883+ * The contents of this file, and the files included with this file, are
10884+ * subject to the current version of the RealNetworks Public Source License
10885+ * Version 1.0 (the "RPSL") available at
10886+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
10887+ * the file under the RealNetworks Community Source License Version 1.0
10888+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
10889+ * in which case the RCSL will apply. You may also obtain the license terms
10890+ * directly from RealNetworks. You may not use this file except in
10891+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
10892+ * applicable to this file, the RCSL. Please see the applicable RPSL or
10893+ * RCSL for the rights, obligations and limitations governing use of the
10894+ * contents of the file.
10895+ *
10896+ * This file is part of the Helix DNA Technology. RealNetworks is the
10897+ * developer of the Original Code and owns the copyrights in the portions
10898+ * it created.
10899+ *
10900+ * This file, and the files included with this file, is distributed and made
10901+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
10902+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
10903+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
10904+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
10905+ *
10906+ * Technology Compatibility Kit Test Suite(s) Location:
10907+ * http://www.helixcommunity.org/content/tck
10908+ *
10909+ * Contributor(s):
10910+ *
10911+ * ***** END LICENSE BLOCK ***** */
10912+
10913+/****************************************************************************
10914+ *
10915+ * Test Client:
10916+ *
10917+ *
10918+ * This is an test client running on Windows, Mac, and Unix without a GUI.
10919+ *
10920+ */
10921+#include "hxtypes.h"
10922+
10923+#include <stdlib.h>
10924+
10925+#include "hlxclib/time.h"
10926+#include "ihxmedpltfm.h"
10927+#include "hxwintyp.h"
10928+#include "hxcom.h"
10929+#include "ihxpckts.h"
10930+#include "hxcomm.h"
10931+#include "hxmon.h"
10932+#include "hxfiles.h"
10933+#include "hxengin.h"
10934+#include "hxcore.h"
10935+#include "hxclsnk.h"
10936+#include "hxgroup.h"
10937+#include "hxerror.h"
10938+#include "hxauth.h"
10939+#include "hxwin.h"
10940+#include "hxprefs.h"
10941+#include "hxtbuf.h"
10942+#include "fivemmap.h"
10943+#include "dllacces.h"
10944+#include "hxausvc.h"
10945+#include "hxstrutl.h"
10946+#include "hxgroup.h"
10947+#include "hxwin.h"
10948+#include "hxtick.h"
10949+#include "hxbuffer.h"
10950+#include "hxplayvelocity.h"
10951+#include "pckunpck.h" // For CreateAndSetBufferCCF()
10952+#include "hxvctrl.h"
10953+#include "hxbsrc.h"
10954+#include "excallback.h"
10955+#include "pthread.h"
10956+
10957+#if defined(HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION)
10958+#include "hxpfs.h"
10959+#endif // HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION.
10960+
10961+#if defined(HELIX_FEATURE_PREFERENCES)
10962+#include "preflist.h"
10963+#endif /* #if defined(HELIX_FEATURE_PREFERENCES) */
10964+#include "exadvsnk.h"
10965+#include "exerror.h"
10966+#include "exsitsup.h"
10967+#include "exaumgr.h"
10968+#if defined(_WIN32)
10969+#include "exabd.h"
10970+#endif
10971+#include "excontxt.h"
10972+#include "print.h"
10973+#if defined(USE_XWINDOWS)
10974+#include <X11/Xlib.h>
10975+#endif
10976+#if defined (_UNIX)
10977+#include <stdio.h>
10978+#include <sys/time.h>
10979+#include <sys/types.h>
10980+#include <unistd.h>
10981+#include <termios.h>
10982+#endif
10983+#if defined(_WINDOWS)
10984+#include <conio.h>
10985+#endif
10986+
10987+#ifdef __TCS__
10988+#include <unistd.h>
10989+#if defined(__cplusplus)
10990+extern "C" {
10991+#endif /* defined(__cplusplus) */
10992+ extern unsigned long tmosTimSleep(unsigned long ticks);
10993+ unsigned long gForcePlayerToStop = 0;
10994+#if defined(__cplusplus)
10995+}
10996+#endif /* defined(__cplusplus) */
10997+#endif
10998+
10999+#if defined (_MACINTOSH) || defined (_MAC_UNIX)
11000+bool gMacPlayerIsDone = false;
11001+#endif
11002+
11003+
11004+#if defined _VXWORKS
11005+#include "sys/times.h"
11006+#include "string.h"
11007+#include "hxtime.h"
11008+#endif
11009+
11010+#if defined(_MACINTOSH)
11011+#ifndef _MAC_MACHO
11012+#include <sioux.h>
11013+#include <console.h>
11014+#endif
11015+#endif
11016+
11017+#include "dllpath.h"
11018+
11019+#ifdef _SYMBIAN
11020+#include <e32svr.h>
11021+#include "platform/symbian/symbian_event_hndlr.h"
11022+#endif
11023+
11024+ENABLE_DLLACCESS_PATHS(g_SPlayAccessPath);
11025+
11026+// typedef for SetDLLAccessPath
11027+
11028+
11029+#include "thrdutil.h"
11030+
11031+#if defined(_AIX)
11032+#include <strings.h>
11033+#endif
11034+
11035+#if defined _DEBUG || defined DEBUG
11036+#include "debug.h"
11037+#endif
11038+
11039+#ifndef MAX_PATH
11040+#define MAX_PATH 256
11041+#endif //!MAX_PATH
11042+
11043+#if defined(HELIX_CONFIG_NOSTATICS)
11044+# include "globals/hxglobals.h"
11045+#endif
11046+
11047+#define MAX_NUM_URLS 10
11048+
11049+#include "globals.h" //for global struct.
11050+
11051+#include "player.h"
11052+
11053+#if defined(_WINDOWS) && defined(_STATICALLY_LINKED)
11054+HINSTANCE g_hInstance = NULL;
11055+#endif
11056+
11057+struct _stGlobals*& GetGlobal()
11058+{
11059+#if defined(HELIX_CONFIG_NOSTATICS)
11060+ static const struct _stGlobals* const _g_pstGlobals = NULL;
11061+ struct _stGlobals*& g_pstGlobals = (struct _stGlobals*&)HXGlobalPtr::Get(&_g_pstGlobals);
11062+#else
11063+ static struct _stGlobals* g_pstGlobals = NULL;
11064+#endif
11065+ if( g_pstGlobals == NULL )
11066+ {
11067+ g_pstGlobals = new struct _stGlobals();
11068+ }
11069+ return g_pstGlobals;
11070+
11071+}
11072+
11073+
11074+// Constants
11075+const int DEFAULT_TIME_DELTA = 2000;
11076+const int DEFAULT_STOP_TIME = -1;
11077+const int SLEEP_TIME = 5;
11078+const int GUID_LEN = 64;
11079+
11080+// Function prototypes
11081+void PrintUsage(const char* pszAppName);
11082+HXBOOL AllPlayersDone(int nNumPlayers, IHXPlayer** ppPlayers);
11083+void StopAllPlayers(int nNumPlayers, IHXPlayer** ppPlayers);
11084+HXBOOL ReadGUIDFile();
11085+char* GetAppName(char* pszArgv0);
11086+
11087+#ifdef __TCS__
11088+#if defined(__cplusplus)
11089+extern "C" {
11090+#endif /* defined(__cplusplus) */
11091+
11092+ extern void _alloc_stats(int verbose);
11093+#if defined(__cplusplus)
11094+}
11095+#endif /* defined(__cplusplus) */
11096+
11097+static IHXPlayer** g_Players;
11098+static int g_nPlayers = 0;
11099+static long evtCount = 0;
11100+static long evtFullCount = 0;
11101+#endif
11102+
11103+
11104+
11105+#if defined(HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION)
11106+HX_RESULT
11107+DumpPFdata(IHXPresentationFeatureManager* pPFMgr,
11108+ const char* pszPFName)
11109+{
11110+ HX_RESULT hxr = HXR_OK;
11111+
11112+ IHXBuffer* pFeatureCurrentSetting = NULL;
11113+ IHXValues* pFeatureOptions = NULL;
11114+
11115+ if (!pPFMgr || !pszPFName)
11116+ {
11117+ hxr = HXR_INVALID_PARAMETER;
11118+ }
11119+ else
11120+ {
11121+ // List all the options for this PF:
11122+ HX_RESULT hxr = pPFMgr->GetPresentationFeature(
11123+ pszPFName,
11124+ pFeatureCurrentSetting,
11125+ pFeatureOptions);
11126+
11127+ if (FAILED(hxr))
11128+ {
11129+ // PF doesn't exist!
11130+ STDOUT("\t%s - No such presentation feature\n\n", pszPFName);
11131+ }
11132+ else
11133+ {
11134+ // Now, go through pFeatureOptions and display
11135+ // them and their "is-selectable"-flag values:
11136+ const char* pszPFOptionName = NULL;
11137+ const char* pszPFCurSetting = pFeatureCurrentSetting?
11138+ (const char*)pFeatureCurrentSetting->GetBuffer() : NULL;
11139+ UINT32 bPFOptionIsSelectableFlag = FALSE;
11140+ IHXBuffer* pPFOptionIsSelectableFlag = NULL;
11141+
11142+ HX_ASSERT(pszPFCurSetting);
11143+ STDOUT("\t%s\t(Current setting == \"%s\")\n", pszPFName, pszPFCurSetting?
11144+ pszPFCurSetting : "<ERROR: THIS PF HAS NO CURRENT SETTING!>");
11145+
11146+ if (!pFeatureOptions) // NULL is OK; that means freeform (open-ended):
11147+ {
11148+ STDOUT("\t\t(%s's options are freeform, i.e., open-ended)\n",
11149+ pszPFName);
11150+ }
11151+ else // List all the options and their flags:
11152+ {
11153+ if (HXR_OK == pFeatureOptions->GetFirstPropertyCString(pszPFOptionName,
11154+ pPFOptionIsSelectableFlag) && *pszPFOptionName)
11155+ {
11156+ do
11157+ {
11158+ const UCHAR* pIsSelFlag = pPFOptionIsSelectableFlag->GetBuffer();
11159+ if (pIsSelFlag && *pIsSelFlag)
11160+ {
11161+ // Anything but '0' (zero) is treated as '1' (is selectable):
11162+ bPFOptionIsSelectableFlag = (HXBOOL)('0' != *pIsSelFlag &&
11163+ '\0' == *(pIsSelFlag+1));
11164+ }
11165+ else
11166+ {
11167+ // Set the error, but we'll go ahead and treat it as '0':
11168+ hxr = HXR_INVALID_PARAMETER;
11169+ bPFOptionIsSelectableFlag = FALSE;
11170+ }
11171+
11172+ STDOUT("\t\t%s\t\tIs selectable: %s\n",
11173+ pszPFOptionName, bPFOptionIsSelectableFlag? "yes":"no");
11174+ // Release it to get the next PF:
11175+ HX_RELEASE(pPFOptionIsSelectableFlag);
11176+ } while (HXR_OK == pFeatureOptions->GetNextPropertyCString(
11177+ pszPFOptionName, pPFOptionIsSelectableFlag));
11178+ }
11179+ }
11180+
11181+ HX_RELEASE(pPFOptionIsSelectableFlag);
11182+ }
11183+ }
11184+
11185+ HX_RELEASE(pFeatureCurrentSetting);
11186+ HX_RELEASE(pFeatureOptions);
11187+
11188+ return hxr;
11189+}
11190+#endif // HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION.
11191+
11192+
11193+char* RemoveWrappingQuotes(char* str)
11194+{
11195+ int len = strlen(str);
11196+ if (len > 0)
11197+ {
11198+ if (str[len-1] == '"') str[--len] = 0;
11199+ if (str[0] == '"') { int i = 0; do { str[i++] = str[i+1]; } while(--len); }
11200+ }
11201+ return str;
11202+}
11203+
11204+void *kickman(void *dummy)
11205+{
11206+ while(1) {
11207+ UINT32 sleepTime = 0;
11208+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker;
11209+ if( pKicker )
11210+ {
11211+ pKicker->Kick(GetGlobal()->g_uThreadIDForKicker, &sleepTime);
11212+ }
11213+ usleep(sleepTime);
11214+ }
11215+}
11216+
11217+PLAYER_API int init_main( )
11218+{
11219+#if defined(_WIN32) && !defined(WIN32_PLATFORM_PSPC)
11220+ setvbuf(stdout, NULL, _IONBF, 0);
11221+#endif /* defined(_WIN32) && !defined(WIN32_PLATFORM_PSPC) */
11222+
11223+ FPHXMEDIAPLATFORMOPEN fpHXMediaPlatformOpen = NULL;
11224+ FPHXCREATEMEDIAPLATFORM fpHXCreateMediaPlatform = NULL;
11225+ FPHXMEDIAPLATFORMCLOSE fpHXMediaPlatformClose = NULL;
11226+
11227+ FPRMCREATEENGINE fpCreateEngine = NULL;
11228+ FPRMCLOSEENGINE fpCloseEngine = NULL;
11229+ FPRMSETDLLACCESSPATH fpSetDll = NULL;
11230+
11231+ HX_RESULT theErr = HXR_OK;
11232+ ExampleClientContext** ppExContexts = NULL;
11233+#if defined(HELIX_FEATURE_AUTO_BANDWIDTH_DETECTION) && defined(_WIN32)
11234+ ExampleABD* pABD = NULL;
11235+#endif
11236+ IHXPlayer** ppPlayers = NULL;
11237+ IHXQuickSeek* ppQuickSeek = NULL;
11238+ IHXErrorSink* pErrorSink = NULL;
11239+ IHXErrorSinkControl* pErrorSinkControl = NULL;
11240+ UINT32 ulABDResult = 0;
11241+ UINT32 ulProbPktSize = 0;
11242+ UINT32 ulProbPktNum = 0;
11243+#if defined(HELIX_FEATURE_PLAYBACK_VELOCITY)
11244+ INT32 lVelocity = 100;
11245+ INT32 lKeyFrameMode = 0;
11246+ INT32 lAutoSwitch = 0;
11247+#endif /* #if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) */
11248+ CHXString* pABDServer = NULL;
11249+ char* pszURL[MAX_NUM_URLS];
11250+ char* pszURLOrig[MAX_NUM_URLS];
11251+ UINT32 ulNumURLsFound = 0;
11252+ int nNumPlayers = 1;
11253+ int nNumPlayRepeats = 1;
11254+ int nTimeDelta = DEFAULT_TIME_DELTA;
11255+ int nStopTime = DEFAULT_STOP_TIME;
11256+ bool bStopTime = true;
11257+ int i = 0;
11258+ char* pszGUIDList = NULL;
11259+#ifdef _MACINTOSH
11260+ char dllhome[MAX_PATH] = {'\0'}; /* Flawfinder: ignore */
11261+#elif defined(_SYMBIAN)
11262+ char dllhome[MAX_PATH] = "c:"; /* Flawfinder: ignore */
11263+#else
11264+ char dllhome[MAX_PATH] = {'.','\0'}; /* Flawfinder: ignore */
11265+#endif
11266+ DLLAccess* pDLLAccess = NULL;
11267+ char staticLibPath[MAX_PATH] = {0}; /* Flawfinder: ignore */
11268+#ifdef _WINDOWS
11269+ HINSTANCE hDll = NULL;
11270+#endif
11271+ bool bStopping = false;
11272+ int nPlay = 0;
11273+
11274+ // NULL out the URL arrays
11275+ memset(pszURL, 0, MAX_NUM_URLS * sizeof(char*));
11276+ memset(pszURLOrig, 0, MAX_NUM_URLS * sizeof(char*));
11277+
11278+
11279+ //See if the user has set their HELIX_LIBS env var. This is overridden by the
11280+ //-l option.
11281+ const char* pszHelixLibs = getenv("HELIX_LIBS");
11282+ if( pszHelixLibs )
11283+ SafeStrCpy( dllhome, pszHelixLibs, MAX_PATH);
11284+
11285+
11286+
11287+ GetGlobal()->bEnableAdviceSink = TRUE;
11288+ GetGlobal()->g_prefList.Add("UseOverlay", "0");
11289+
11290+ SafeSprintf(staticLibPath, MAX_PATH, "%s/%s", dllhome, "hxmedpltfm.so");
11291+
11292+ if (dllhome)
11293+ {
11294+ GetDLLAccessPath()->SetPath(DLLTYPE_COMMON, dllhome);
11295+ GetDLLAccessPath()->SetPath(DLLTYPE_PLUGIN, dllhome);
11296+ GetDLLAccessPath()->SetPath(DLLTYPE_CODEC, dllhome);
11297+ }
11298+
11299+ // initialize the globals
11300+ GetGlobal()->m_fpCreateEngine = NULL;
11301+ GetGlobal()->m_fpCloseEngine = NULL;
11302+ GetGlobal()->g_nPlayers = 0;
11303+
11304+ // prepare/load the HXCore module
11305+ pDLLAccess = new DLLAccess();
11306+
11307+ STDOUT("Simpleplayer is looking for the client core at %s\n", staticLibPath );
11308+
11309+ if (DLLAccess::DLL_OK != pDLLAccess->open(staticLibPath))
11310+ {
11311+ const char* pErrorString = NULL;
11312+ pErrorString = pDLLAccess->getErrorString();
11313+ STDERR("splayer: %s\n\n", pErrorString);
11314+#ifndef _STATICALLY_LINKED
11315+#ifndef _MACINTOSH
11316+ //Make sure the user has told us where to find the DLLs at. Either
11317+ //with the -l option or with the HELIX_LIBS env var.
11318+ STDERR("You must tell the player where to find the client core and\n");
11319+ STDERR("all of its supporting DLLs and codecs. Please use the -l\n");
11320+ STDERR("option or set your HELIX_LIBS env variable to point the player.\n");
11321+ STDERR("to where you have all of the DLLs installed.\n\n" );
11322+ //PrintUsage(argv[0]);
11323+#endif
11324+#endif
11325+ goto cleanup;
11326+ }
11327+
11328+ GetGlobal()->m_fpHXMediaPlatformOpen = (FPHXMEDIAPLATFORMOPEN) pDLLAccess->getSymbol("HXMediaPlatformOpen");
11329+ GetGlobal()->m_fpHXCreateMediaPlatform = (FPHXCREATEMEDIAPLATFORM) pDLLAccess->getSymbol("HXCreateMediaPlatform");
11330+ GetGlobal()->m_fpHXMediaPlatformClose = (FPHXMEDIAPLATFORMCLOSE) pDLLAccess->getSymbol("HXMediaPlatformClose");
11331+
11332+ GetGlobal()->m_fpCreateEngine = (FPRMCREATEENGINE) pDLLAccess->getSymbol("CreateEngine");
11333+ GetGlobal()->m_fpCloseEngine = (FPRMCLOSEENGINE) pDLLAccess->getSymbol("CloseEngine");
11334+ GetGlobal()->m_fpSetDLLAccessPath = (FPRMSETDLLACCESSPATH) pDLLAccess->getSymbol("SetDLLAccessPath");
11335+
11336+ if (GetGlobal()->m_fpHXMediaPlatformOpen == NULL ||
11337+ GetGlobal()->m_fpHXCreateMediaPlatform == NULL ||
11338+ GetGlobal()->m_fpHXMediaPlatformClose == NULL ||
11339+ GetGlobal()->m_fpCreateEngine == NULL ||
11340+ GetGlobal()->m_fpCloseEngine == NULL ||
11341+ GetGlobal()->m_fpSetDLLAccessPath == NULL )
11342+ {
11343+ theErr = HXR_FAILED;
11344+ goto cleanup;
11345+ }
11346+
11347+#if defined(USE_XWINDOWS) && defined(HELIX_FEATURE_VIDEO)
11348+ XInitThreads();
11349+#endif
11350+
11351+ {
11352+ fpHXMediaPlatformOpen = GetGlobal()->m_fpHXMediaPlatformOpen;
11353+ fpHXCreateMediaPlatform = GetGlobal()->m_fpHXCreateMediaPlatform;
11354+ fpHXMediaPlatformClose = GetGlobal()->m_fpHXMediaPlatformClose;
11355+
11356+ if (HXR_OK != fpHXMediaPlatformOpen())
11357+ {
11358+ theErr = HXR_FAILED;
11359+ goto cleanup;
11360+ }
11361+
11362+ if (HXR_OK != fpHXCreateMediaPlatform((IHXMediaPlatform**)&GetGlobal()->pMediaPlatform))
11363+ {
11364+ theErr = HXR_FAILED;
11365+ goto cleanup;
11366+ }
11367+
11368+ IHXMediaPlatform* pMediaPlatform = GetGlobal()->pMediaPlatform;
11369+
11370+
11371+ if (HXR_OK != pMediaPlatform->AddPluginPath("HelixSimplePlayer", dllhome))
11372+ {
11373+ theErr = HXR_FAILED;
11374+ goto cleanup;
11375+ }
11376+
11377+ if (HXR_OK != pMediaPlatform->Init(NULL))
11378+ {
11379+ theErr = HXR_FAILED;
11380+ goto cleanup;
11381+ }
11382+
11383+ IHXCommonClassFactory* pCCF = NULL;
11384+ if (HXR_OK != pMediaPlatform->QueryInterface(IID_IHXCommonClassFactory,
11385+ (void**)&pCCF))
11386+ {
11387+ theErr = HXR_FAILED;
11388+ goto cleanup;
11389+ }
11390+
11391+ if (HXR_OK != pCCF->CreateInstance(CLSID_IHXClientEngine, (void**)&GetGlobal()->pEngine))
11392+ {
11393+ HX_RELEASE(pCCF);
11394+ theErr = HXR_FAILED;
11395+ goto cleanup;
11396+ }
11397+
11398+ HX_RELEASE(pCCF);
11399+
11400+ IHXMediaPlatformKicker* pKicker = NULL;
11401+ pMediaPlatform->QueryInterface(IID_IHXMediaPlatformKicker, (void**)&pKicker);
11402+ HX_ASSERT(pKicker);
11403+ GetGlobal()->g_pIHXKicker = pKicker;
11404+ GetGlobal()->g_uThreadIDForKicker = HXGetCurrentThreadID();
11405+
11406+ pthread_t thread_id;
11407+ pthread_create(&thread_id, NULL, kickman, NULL);
11408+ GetGlobal()->g_pThreadKickmanId = thread_id;
11409+ }
11410+
11411+
11412+
11413+ {
11414+
11415+
11416+#if defined(_WIN32) && !defined(WIN32_PLATFORM_PSPC)
11417+ SetConsoleCtrlHandler((PHANDLER_ROUTINE)HandlerRoutine,
11418+ TRUE);
11419+#endif
11420+
11421+ }
11422+
11423+ return HXR_OK;
11424+
11425+ cleanup:
11426+ deinit_main();
11427+ return HXR_FAIL;
11428+}
11429+
11430+/* Get the least index to available entry in Getglobal()->gPlayers */
11431+static int get_index()
11432+{
11433+ int i;
11434+ /* an simple implementation */
11435+ for (i = 0; i < MAX_NUM_PLAYERS; i++)
11436+ {
11437+ if (GetGlobal()->g_Players[i] == NULL)
11438+ return i;
11439+ }
11440+
11441+ return -1;
11442+}
11443+
11444+PLAYER_API unsigned int get_curr_playtime(void *pPlayerHandle)
11445+{
11446+ unsigned int time = 0;
11447+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11448+ if (pPlayer)
11449+ time = pPlayer->GetCurrentPlayTime();
11450+ return time;
11451+}
11452+
11453+PLAYER_API int get_player(void **ppPlayerHandle, on_buffering_cb_t on_buffering_cb, on_pos_length_cb_t on_pos_length_cb, on_state_change_cb_t on_state_change_cb, on_new_frame_cb_t on_new_frame_cb, void *context)
11454+{
11455+ int index = get_index();
11456+ IHXPlayer **ppPlayer = (IHXPlayer **)ppPlayerHandle;
11457+ ExampleClientContext* pExContext = NULL;
11458+ pExContext = new ExampleClientContext(index);
11459+ if (!pExContext)
11460+ {
11461+ return HXR_UNEXPECTED;
11462+ }
11463+ pExContext->AddRef();
11464+
11465+ ppPlayer[0] = NULL;
11466+ IHXClientEngine* pEngine = GetGlobal()->pEngine;
11467+ if (HXR_OK != pEngine->CreatePlayer(*ppPlayer))
11468+ {
11469+ HX_RELEASE(pExContext);
11470+ return HXR_FAILED;
11471+ }
11472+#if 1
11473+ char* pszGUIDList = NULL;
11474+ //initialize the example context
11475+ pszGUIDList = GetGlobal()->g_pszGUIDList;
11476+ {
11477+ char pszGUID[GUID_LEN + 1]; /* Flawfinder: ignore */ // add 1 for terminator
11478+ char* token = NULL;
11479+ IHXPreferences* pPreferences = NULL;
11480+
11481+ pszGUID[0] = '\0';
11482+
11483+ if (pszGUIDList)
11484+ {
11485+ // Get next GUID from the GUID list
11486+ {
11487+ token = strtok(pszGUIDList, "\n\0");
11488+ }
11489+ if (token)
11490+ {
11491+ strncpy(pszGUID, token, GUID_LEN); /* Flawfinder: ignore */
11492+ pszGUID[GUID_LEN] = '\0';
11493+ }
11494+ }
11495+
11496+ ppPlayer[0]->QueryInterface(IID_IHXPreferences,
11497+ (void**) &pPreferences);
11498+
11499+ pExContext->Init(ppPlayer[0], pPreferences, pszGUID, on_buffering_cb, on_pos_length_cb, on_state_change_cb, on_new_frame_cb, context);
11500+
11501+ ppPlayer[0]->SetClientContext(pExContext);
11502+
11503+ HX_RELEASE(pPreferences);
11504+
11505+ IHXErrorSinkControl* pErrorSinkControl = NULL;
11506+ ppPlayer[0]->QueryInterface(IID_IHXErrorSinkControl,
11507+ (void**) &pErrorSinkControl);
11508+
11509+ if (pErrorSinkControl)
11510+ {
11511+ IHXErrorSink* pErrorSink = NULL;
11512+ pExContext->QueryInterface(IID_IHXErrorSink,
11513+ (void**) &pErrorSink);
11514+ if (pErrorSink)
11515+ {
11516+ pErrorSinkControl->AddErrorSink(pErrorSink, HXLOG_EMERG, HXLOG_INFO);
11517+ }
11518+ HX_RELEASE(pErrorSink);
11519+ }
11520+ HX_RELEASE(pErrorSinkControl);
11521+ GetGlobal()->g_prefList.SetPreferences(ppPlayer[0]);
11522+
11523+ }
11524+#endif
11525+ HX_ASSERT(GetGlobal()->g_nPlayers < MAX_NUM_PLAYERS);
11526+ GetGlobal()->g_Players[index] = ppPlayer[0];
11527+ GetGlobal()->g_pClientContexts[index] = pExContext;
11528+ GetGlobal()->g_nPlayers++;
11529+
11530+ return HXR_OK;
11531+}
11532+
11533+static int get_index_by_player( IHXPlayer *pPlayer)
11534+{
11535+ int i;
11536+ /* an simple implementation */
11537+ for (i = 0; i < MAX_NUM_PLAYERS; i++)
11538+ {
11539+ if (GetGlobal()->g_Players[i] && GetGlobal()->g_Players[i] == pPlayer)
11540+ return i;
11541+ }
11542+
11543+ return -1;
11544+}
11545+
11546+PLAYER_API int player_openurl( void *pPlayerHandle, char *pszRawURL)
11547+{
11548+ HX_RESULT ret;
11549+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11550+ int index = get_index_by_player(pPlayer);
11551+ if (index < 0)
11552+ return HXR_FAIL;
11553+
11554+ char *pszURLOrig = RemoveWrappingQuotes(pszRawURL);
11555+
11556+ //if no "://" was found lets add file:// by default so that you
11557+ //can refer to local content as just ./splay ~/Content/startrek.rm,
11558+ //for example, and not ./splay file:///home/gregory/Content/startrek.rm
11559+ char* pszAddOn = NULL;
11560+ if( strstr( pszURLOrig, "://") )
11561+ pszAddOn = (char *)"";
11562+ else
11563+ pszAddOn = (char *)"file://";
11564+
11565+ char *pszURL = new char[strlen(pszURLOrig)+strlen(pszAddOn)+1];
11566+ sprintf( pszURL, "%s%s", pszAddOn, pszURLOrig ); /* Flawfinder: ignore */
11567+ // Increment the number of URLs we have found
11568+ STDERR("opening %s on player\n", pszURL);
11569+
11570+ GetGlobal()->g_pszURLs[index] = pszURL;
11571+ ret = pPlayer->OpenURL(pszURL);
11572+
11573+ UINT32 sleepTime = 0;
11574+
11575+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker;
11576+ if( pKicker )
11577+ {
11578+ pKicker->Kick(HXGetCurrentThreadID(), &sleepTime);
11579+ }
11580+
11581+ return ret;
11582+}
11583+
11584+PLAYER_API int put_player( void *pPlayerHandle)
11585+{
11586+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11587+ int index;
11588+ index = get_index_by_player(pPlayer);
11589+ if (index < 0)
11590+ return HXR_FAIL;
11591+
11592+ ExampleClientContext *pClientContext = GetGlobal()->g_pClientContexts[index];
11593+ if (pClientContext) {
11594+ pClientContext->Release();
11595+ pClientContext = NULL;
11596+ }
11597+
11598+ GetGlobal()->g_pClientContexts[index] = NULL;
11599+ if (pPlayer) {
11600+ if (GetGlobal()->pEngine) {
11601+ GetGlobal()->pEngine->ClosePlayer(pPlayer);
11602+ }
11603+ pPlayer->Release();
11604+ pPlayer = NULL;
11605+ }
11606+ GetGlobal()->g_Players[index] = NULL;
11607+ GetGlobal()->g_nPlayers--;
11608+ delete [] GetGlobal()->g_pszURLs[index];
11609+ GetGlobal()->g_pszURLs[index] = NULL;
11610+
11611+ return HXR_OK;
11612+}
11613+
11614+PLAYER_API int player_geturl( void *pPlayerHandle, char **pszURL)
11615+{
11616+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11617+ int index = get_index_by_player(pPlayer);
11618+ if (index >= 0) {
11619+ *pszURL = GetGlobal()->g_pszURLs[index];
11620+ return HXR_OK;
11621+ }
11622+
11623+ return HXR_FAIL;
11624+}
11625+
11626+PLAYER_API int player_begin( void *pPlayerHandle )
11627+{
11628+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11629+ UINT32 sleepTime = 0;
11630+ pPlayer->Begin();
11631+
11632+#if 0
11633+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker;
11634+ if( pKicker )
11635+ {
11636+ pKicker->Kick(HXGetCurrentThreadID(), &sleepTime);
11637+ }
11638+#endif
11639+ return HXR_OK;
11640+}
11641+
11642+PLAYER_API int player_pause( void *pPlayerHandle )
11643+{
11644+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11645+ UINT32 sleepTime = 0;
11646+ pPlayer->Pause();
11647+
11648+#if 0
11649+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker;
11650+ if( pKicker )
11651+ {
11652+ pKicker->Kick(HXGetCurrentThreadID(), &sleepTime);
11653+ }
11654+#endif
11655+ return HXR_OK;
11656+}
11657+
11658+PLAYER_API int player_stop( void *pPlayerHandle )
11659+{
11660+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11661+ pPlayer->Stop();
11662+ return HXR_OK;
11663+}
11664+
11665+#if 0
11666+int main(int argc, char *argv[])
11667+{
11668+ IHXPlayer *pPlayer;
11669+ init_main();
11670+ while(1) {
11671+ get_player(&pPlayer);
11672+ player_openurl(pPlayer, argv[1]);
11673+ player_begin(pPlayer);
11674+ // sleep(2);
11675+ player_stop(pPlayer);
11676+ put_player(pPlayer);
11677+ }
11678+ deinit_main();
11679+ return 0;
11680+}
11681+#endif
11682+
11683+PLAYER_API int player_seek(void *pPlayerHandle, int pos)
11684+{
11685+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11686+ if (pPlayer == NULL)
11687+ return HXR_FAIL;
11688+
11689+ return pPlayer->Seek(pos);
11690+}
11691+PLAYER_API int player_getvolume(void *pPlayerHandle)
11692+{
11693+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11694+ if (pPlayer == NULL)
11695+ return HXR_FAIL;
11696+
11697+ int volume = 0;
11698+
11699+ IHXAudioPlayer* pAudioPlayer = NULL;
11700+ pPlayer->QueryInterface(IID_IHXAudioPlayer, (void**) &pAudioPlayer);
11701+ if (pAudioPlayer)
11702+ {
11703+ // Get the IHXVolume
11704+ IHXVolume* pVolume = pAudioPlayer->GetAudioVolume();
11705+ if (pVolume)
11706+ {
11707+ volume = pVolume->GetVolume();
11708+ }
11709+ HX_RELEASE(pVolume);
11710+ }
11711+ HX_RELEASE(pAudioPlayer);
11712+
11713+ return volume;
11714+}
11715+
11716+
11717+PLAYER_API int player_setvolume(void *pPlayerHandle, unsigned short volume)
11718+{
11719+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11720+ if (pPlayer == NULL)
11721+ return HXR_FAIL;
11722+
11723+ IHXAudioPlayer* pAudioPlayer = NULL;
11724+ pPlayer->QueryInterface(IID_IHXAudioPlayer, (void**) &pAudioPlayer);
11725+ if (pAudioPlayer)
11726+ {
11727+ // Get the IHXVolume
11728+ IHXVolume* pVolume = pAudioPlayer->GetAudioVolume();
11729+ if (pVolume)
11730+ {
11731+ pVolume->SetVolume(volume);
11732+ }
11733+ HX_RELEASE(pVolume);
11734+ }
11735+ HX_RELEASE(pAudioPlayer);
11736+}
11737+
11738+PLAYER_API int deinit_main()
11739+{
11740+
11741+ pthread_cancel(GetGlobal()->g_pThreadKickmanId);
11742+ int ret ;
11743+ ret = pthread_join(GetGlobal()->g_pThreadKickmanId, NULL);
11744+ if (ret < 0) {
11745+ perror("pthread_join error\n");
11746+ }
11747+#if defined(HELIX_FEATURE_PLAYBACK_VELOCITY)
11748+ if (GetGlobal()->g_pVelocityCaps)
11749+ {
11750+ IHXPlaybackVelocityCaps* pCaps = GetGlobal()->g_pVelocityCaps;
11751+ pCaps->Release();
11752+ GetGlobal()->g_pVelocityCaps = NULL;
11753+ }
11754+#endif /* #if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) */
11755+
11756+#ifdef __TCS__
11757+ g_nPlayers = 0;
11758+#endif
11759+
11760+
11761+ {
11762+ IHXClientEngine* pEngine = GetGlobal()->pEngine;
11763+
11764+ if (pEngine)
11765+ {
11766+ IHXClientEngine2* pEngine2 = NULL;
11767+ if (HXR_OK == pEngine->QueryInterface(IID_IHXClientEngine2,
11768+ (void**)&pEngine2))
11769+ {
11770+ pEngine2->Close();
11771+ }
11772+ HX_RELEASE(pEngine2);
11773+ }
11774+ HX_RELEASE(GetGlobal()->pEngine);
11775+ HX_RELEASE(GetGlobal()->g_pIHXKicker);
11776+
11777+ if (GetGlobal()->pMediaPlatform)
11778+ {
11779+ // Reset() not only close the platform but also remove all
11780+ // persistent information(i.e. preferences) maintained by the
11781+ // platform
11782+ // GetGlobal()->pMediaPlatform->Reset(NULL);
11783+ GetGlobal()->pMediaPlatform->Close();
11784+ HX_RELEASE(GetGlobal()->pMediaPlatform);
11785+ }
11786+
11787+ if (GetGlobal()->m_fpHXMediaPlatformClose)
11788+ {
11789+ GetGlobal()->m_fpHXMediaPlatformClose();
11790+ }
11791+ }
11792+
11793+
11794+ if (GetGlobal()->bEnableVerboseMode)
11795+ {
11796+ STDOUT("\nDone.\n");
11797+ }
11798+
11799+ if (GetGlobal()->g_pszUsername)
11800+ {
11801+ delete [] GetGlobal()->g_pszUsername;
11802+ GetGlobal()->g_pszUsername = NULL;
11803+ }
11804+ if (GetGlobal()->g_pszPassword)
11805+ {
11806+ delete [] GetGlobal()->g_pszPassword;
11807+ GetGlobal()->g_pszPassword = NULL;
11808+ }
11809+ if (GetGlobal()->g_pszGUIDFile)
11810+ {
11811+ delete [] GetGlobal()->g_pszGUIDFile;
11812+ GetGlobal()->g_pszGUIDFile = NULL;
11813+ }
11814+ if (GetGlobal()->g_pszGUIDList)
11815+ {
11816+ delete [] GetGlobal()->g_pszGUIDList;
11817+ GetGlobal()->g_pszGUIDList = NULL;
11818+ }
11819+ // If an error occurred during playback, return that
11820+
11821+ if (GetGlobal()->g_Error != HXR_OK)
11822+ {
11823+ return GetGlobal()->g_Error;
11824+ }
11825+ // or HXR_OK (if there was more than one player)
11826+ else
11827+ {
11828+ return HXR_OK;
11829+ }
11830+}
11831+char* GetAppName(char* pszArgv0)
11832+{
11833+ char* pszAppName;
11834+
11835+ pszAppName = strrchr(pszArgv0, '\\');
11836+
11837+ if (NULL == pszAppName)
11838+ {
11839+ return pszArgv0;
11840+ }
11841+ else
11842+ {
11843+ return pszAppName + 1;
11844+ }
11845+}
11846+
11847+void PrintUsage(const char* pszAppName)
11848+{
11849+}
11850+
11851+
11852+
11853+HXBOOL ReadGUIDFile()
11854+{
11855+ HXBOOL bSuccess = FALSE;
11856+ FILE* pFile = NULL;
11857+ int nNumRead = 0;
11858+ int readSize = 10000;
11859+ char* pszBuffer = new char[readSize];
11860+
11861+ if (GetGlobal()->g_pszGUIDFile)
11862+ {
11863+ if((pFile = fopen(GetGlobal()->g_pszGUIDFile, "r")) != NULL)
11864+ {
11865+ // Read in the entire file
11866+ nNumRead = fread(pszBuffer, sizeof(char), readSize, pFile);
11867+ pszBuffer[nNumRead] = '\0';
11868+
11869+ // Store it for later parsing
11870+ GetGlobal()->g_pszGUIDList = new char[nNumRead + 1];
11871+ strcpy(GetGlobal()->g_pszGUIDList, pszBuffer); /* Flawfinder: ignore */
11872+
11873+ fclose(pFile);
11874+ pFile = NULL;
11875+
11876+ if (nNumRead > 0)
11877+ {
11878+ bSuccess = TRUE;
11879+ }
11880+ }
11881+ }
11882+
11883+ delete [] pszBuffer;
11884+
11885+ return bSuccess;
11886+}
11887+
11888+static int are_all_src_seekable(IHXPlayer *pPlayer)
11889+{
11890+ UINT16 nSrcCnt;
11891+ nSrcCnt = pPlayer->GetSourceCount();
11892+ HXSource *pSource = NULL; /* This is brute-force */
11893+ for (UINT16 i = 0; i < nSrcCnt; i++)
11894+ {
11895+ if (pPlayer->GetSource(i, (IUnknown *&)pSource) == HXR_OK)
11896+ {
11897+ if (!pSource->IsSeekable())
11898+ return FALSE;
11899+
11900+
11901+ }
11902+ }
11903+
11904+}
11905+
11906+PLAYER_API int player_canseek(void *pPlayerHandle)
11907+{
11908+ if (!pPlayerHandle)
11909+ return FALSE;
11910+
11911+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle;
11912+ ExampleClientContext* pExContext=NULL;
11913+ if (pPlayer->GetClientContext((IUnknown*&)pExContext) != HXR_OK)
11914+ return FALSE;
11915+
11916+ if (!pExContext)
11917+ return FALSE;
11918+
11919+ EHXClientState State = pExContext->GetState();
11920+
11921+ int all_src_seekable = are_all_src_seekable(pPlayer);
11922+
11923+ HX_RELEASE(pExContext);
11924+
11925+ if (State < HX_CLIENT_STATE_CONNECTED)
11926+ return TRUE;
11927+
11928+ if (all_src_seekable && (!pPlayer->IsLive() || State == HX_CLIENT_STATE_PAUSED))
11929+ return TRUE;
11930+
11931+ return FALSE;
11932+}
11933+
11934+
11935Index: helix-libs/clientapps/clutter/player.h
11936===================================================================
11937--- /dev/null 1970-01-01 00:00:00.000000000 +0000
11938+++ helix-libs/clientapps/clutter/player.h 2008-10-13 06:54:45.000000000 -0700
11939@@ -0,0 +1,60 @@
11940+#ifndef _PLAYER_H_
11941+#define _PLAYER_H_
11942+
11943+#ifdef __cplusplus
11944+#define PLAYER_API extern "C"
11945+#else
11946+#define PLAYER_API
11947+#endif
11948+
11949+/* Duplicate of EHXClientState */
11950+typedef enum _EPlayerStateState
11951+{
11952+ PLAYER_STATE_READY = 0, // uninitialized
11953+ PLAYER_STATE_CONNECTING, // attempting to connect to sources
11954+ PLAYER_STATE_CONNECTED, // connected to sources (realized)
11955+ PLAYER_STATE_OPENING, // opening sources
11956+ PLAYER_STATE_OPENED, // opened sources
11957+ PLAYER_STATE_PREFETCHING,// obtaining resources, buffering, etc.
11958+ PLAYER_STATE_PREFETCHED, // ready for playback at time zero
11959+ PLAYER_STATE_PLAYING, // currently playing
11960+ PLAYER_STATE_PAUSED, // paused
11961+ PLAYER_STATE_SEEKING // seeking
11962+} EHXPlayerState;
11963+
11964+typedef struct {
11965+ int left;
11966+ int top;
11967+ int right;
11968+ int bottom;
11969+} PlayerRect;
11970+
11971+typedef struct {
11972+ PlayerRect Rect;
11973+ unsigned int cx;
11974+ unsigned int cy;
11975+} PlayerImgInfo;
11976+
11977+typedef void (*on_pos_length_cb_t)(unsigned int, unsigned int, void *);
11978+typedef void (*on_buffering_cb_t)(unsigned int, unsigned short, void *);
11979+typedef void (*on_state_change_cb_t)(unsigned short, unsigned short, void *);
11980+typedef void (*on_new_frame_cb_t)(unsigned char *p, unsigned int size, PlayerImgInfo *rect, void *context);
11981+
11982+PLAYER_API int init_main();
11983+PLAYER_API int deinit_main();
11984+PLAYER_API int get_player(void **ppPlayerHandle, on_buffering_cb_t on_buffering_cb, on_pos_length_cb_t on_pos_length_cb, on_state_change_cb_t on_state_change_cb, on_new_frame_cb_t on_new_frame_cb, void *context);
11985+PLAYER_API int player_openurl( void *pPlayerHandle, char *pszRawURL);
11986+PLAYER_API int put_player( void *pPlayerHandle);
11987+PLAYER_API int player_geturl( void *pPlayerHandle, char **pszURL);
11988+PLAYER_API int player_begin( void *pPlayerHandle );
11989+PLAYER_API int player_stop( void *pPlayerHandle );
11990+PLAYER_API int player_pause( void *pPlayerHandle );
11991+PLAYER_API unsigned int get_curr_playtime(void *pPlayerHandle);
11992+PLAYER_API int player_seek(void *pPlayerHandle, int pos);
11993+PLAYER_API int player_getvolume(void *pPlayerHandle);
11994+PLAYER_API int player_setvolume(void *pPlayerHandle, unsigned short volumn);
11995+PLAYER_API int player_canseek(void *pPlayerHandle);
11996+
11997+
11998+#endif
11999+
12000Index: helix-libs/clientapps/clutter/preflist.cpp
12001===================================================================
12002--- /dev/null 1970-01-01 00:00:00.000000000 +0000
12003+++ helix-libs/clientapps/clutter/preflist.cpp 2008-10-13 06:05:49.000000000 -0700
12004@@ -0,0 +1,142 @@
12005+/* ***** BEGIN LICENSE BLOCK *****
12006+ * Source last modified: $Id: preflist.cpp,v 1.2 2007/07/06 20:32:36 jfinnecy Exp $
12007+ *
12008+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
12009+ *
12010+ * The contents of this file, and the files included with this file,
12011+ * are subject to the current version of the RealNetworks Public
12012+ * Source License (the "RPSL") available at
12013+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
12014+ * the file under the current version of the RealNetworks Community
12015+ * Source License (the "RCSL") available at
12016+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
12017+ * will apply. You may also obtain the license terms directly from
12018+ * RealNetworks. You may not use this file except in compliance with
12019+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable
12020+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for
12021+ * the rights, obligations and limitations governing use of the
12022+ * contents of the file.
12023+ *
12024+ * Alternatively, the contents of this file may be used under the
12025+ * terms of the GNU General Public License Version 2 (the
12026+ * "GPL") in which case the provisions of the GPL are applicable
12027+ * instead of those above. If you wish to allow use of your version of
12028+ * this file only under the terms of the GPL, and not to allow others
12029+ * to use your version of this file under the terms of either the RPSL
12030+ * or RCSL, indicate your decision by deleting the provisions above
12031+ * and replace them with the notice and other provisions required by
12032+ * the GPL. If you do not delete the provisions above, a recipient may
12033+ * use your version of this file under the terms of any one of the
12034+ * RPSL, the RCSL or the GPL.
12035+ *
12036+ * This file is part of the Helix DNA Technology. RealNetworks is the
12037+ * developer of the Original Code and owns the copyrights in the
12038+ * portions it created.
12039+ *
12040+ * This file, and the files included with this file, is distributed
12041+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
12042+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
12043+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
12044+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
12045+ * ENJOYMENT OR NON-INFRINGEMENT.
12046+ *
12047+ * Technology Compatibility Kit Test Suite(s) Location:
12048+ * http://www.helixcommunity.org/content/tck
12049+ *
12050+ * Contributor(s):
12051+ *
12052+ * ***** END LICENSE BLOCK ***** */
12053+#include "preflist.h"
12054+
12055+#include "hxstring.h"
12056+#include "hxccf.h"
12057+#include "hxprefs.h"
12058+#include "ihxpckts.h"
12059+
12060+class CHXPrefInfo
12061+{
12062+public:
12063+ CHXPrefInfo(const char* pKey, const char* pValue);
12064+ ~CHXPrefInfo();
12065+
12066+ const char* Key() const { return m_key;}
12067+ const char* Value() const { return m_value;}
12068+
12069+private:
12070+ CHXString m_key;
12071+ CHXString m_value;
12072+};
12073+
12074+CHXPrefInfo::CHXPrefInfo(const char* pKey, const char* pValue) :
12075+ m_key(pKey),
12076+ m_value(pValue)
12077+{}
12078+
12079+CHXPrefInfo::~CHXPrefInfo()
12080+{}
12081+
12082+CHXPrefList::CHXPrefList()
12083+{}
12084+
12085+CHXPrefList::~CHXPrefList()
12086+{
12087+ Clear();
12088+}
12089+
12090+void CHXPrefList::Add(const char* pKey, const char* pValue)
12091+{
12092+ CHXPrefInfo* pInfo = new CHXPrefInfo(pKey, pValue);
12093+
12094+ if (pInfo)
12095+ {
12096+ if (!m_prefInfo.AddTail(pInfo))
12097+ {
12098+ // We failed to insert the preference.
12099+ HX_DELETE(pInfo);
12100+ }
12101+ }
12102+}
12103+
12104+void CHXPrefList::Clear()
12105+{
12106+ while(!m_prefInfo.IsEmpty())
12107+ {
12108+ CHXPrefInfo* pInfo = (CHXPrefInfo*)m_prefInfo.RemoveHead();
12109+ HX_DELETE(pInfo);
12110+ }
12111+}
12112+
12113+void CHXPrefList::SetPreferences(IUnknown* pContext)
12114+{
12115+ IHXPreferences* pPrefs = NULL;
12116+ IHXCommonClassFactory* pCCF = NULL;
12117+
12118+ if (pContext &&
12119+ (HXR_OK == pContext->QueryInterface(IID_IHXPreferences,
12120+ (void**)&pPrefs)) &&
12121+ (HXR_OK == pContext->QueryInterface(IID_IHXCommonClassFactory,
12122+ (void**)&pCCF)))
12123+ {
12124+ CHXSimpleList::Iterator itr = m_prefInfo.Begin();
12125+
12126+ for(; itr != m_prefInfo.End(); ++itr)
12127+ {
12128+ CHXPrefInfo* pInfo = (CHXPrefInfo*)(*itr);
12129+
12130+ IHXBuffer* pBuf = NULL;
12131+
12132+ if ((HXR_OK == pCCF->CreateInstance(CLSID_IHXBuffer,
12133+ (void**)&pBuf)) &&
12134+ (HXR_OK == pBuf->Set((const unsigned char*)pInfo->Value(),
12135+ strlen(pInfo->Value()))))
12136+ {
12137+ pPrefs->WritePref(pInfo->Key(), pBuf);
12138+ }
12139+
12140+ HX_RELEASE(pBuf);
12141+ }
12142+ }
12143+
12144+ HX_RELEASE(pPrefs);
12145+ HX_RELEASE(pCCF);
12146+}
12147Index: helix-libs/clientapps/clutter/preflist.h
12148===================================================================
12149--- /dev/null 1970-01-01 00:00:00.000000000 +0000
12150+++ helix-libs/clientapps/clutter/preflist.h 2008-10-13 06:05:49.000000000 -0700
12151@@ -0,0 +1,69 @@
12152+/* ***** BEGIN LICENSE BLOCK *****
12153+ * Source last modified: $Id: preflist.h,v 1.2 2007/07/06 20:32:36 jfinnecy Exp $
12154+ *
12155+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
12156+ *
12157+ * The contents of this file, and the files included with this file,
12158+ * are subject to the current version of the RealNetworks Public
12159+ * Source License (the "RPSL") available at
12160+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
12161+ * the file under the current version of the RealNetworks Community
12162+ * Source License (the "RCSL") available at
12163+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
12164+ * will apply. You may also obtain the license terms directly from
12165+ * RealNetworks. You may not use this file except in compliance with
12166+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable
12167+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for
12168+ * the rights, obligations and limitations governing use of the
12169+ * contents of the file.
12170+ *
12171+ * Alternatively, the contents of this file may be used under the
12172+ * terms of the GNU General Public License Version 2 (the
12173+ * "GPL") in which case the provisions of the GPL are applicable
12174+ * instead of those above. If you wish to allow use of your version of
12175+ * this file only under the terms of the GPL, and not to allow others
12176+ * to use your version of this file under the terms of either the RPSL
12177+ * or RCSL, indicate your decision by deleting the provisions above
12178+ * and replace them with the notice and other provisions required by
12179+ * the GPL. If you do not delete the provisions above, a recipient may
12180+ * use your version of this file under the terms of any one of the
12181+ * RPSL, the RCSL or the GPL.
12182+ *
12183+ * This file is part of the Helix DNA Technology. RealNetworks is the
12184+ * developer of the Original Code and owns the copyrights in the
12185+ * portions it created.
12186+ *
12187+ * This file, and the files included with this file, is distributed
12188+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
12189+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
12190+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
12191+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
12192+ * ENJOYMENT OR NON-INFRINGEMENT.
12193+ *
12194+ * Technology Compatibility Kit Test Suite(s) Location:
12195+ * http://www.helixcommunity.org/content/tck
12196+ *
12197+ * Contributor(s):
12198+ *
12199+ * ***** END LICENSE BLOCK ***** */
12200+#ifndef PREFLIST_H
12201+#define PREFLIST_H
12202+
12203+#include "hxslist.h"
12204+
12205+class CHXPrefList
12206+{
12207+public:
12208+ CHXPrefList();
12209+ ~CHXPrefList();
12210+
12211+ void Add(const char* pKey, const char* pValue);
12212+ void Clear();
12213+
12214+ void SetPreferences(IUnknown* pContext);
12215+
12216+private:
12217+ CHXSimpleList m_prefInfo;
12218+};
12219+
12220+#endif /* PREFLIST_H */
12221Index: helix-libs/clientapps/clutter/print.cpp
12222===================================================================
12223--- /dev/null 1970-01-01 00:00:00.000000000 +0000
12224+++ helix-libs/clientapps/clutter/print.cpp 2008-10-13 06:05:49.000000000 -0700
12225@@ -0,0 +1,80 @@
12226+/* ***** BEGIN LICENSE BLOCK *****
12227+ * Version: RCSL 1.0/RPSL 1.0
12228+ *
12229+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
12230+ *
12231+ * The contents of this file, and the files included with this file, are
12232+ * subject to the current version of the RealNetworks Public Source License
12233+ * Version 1.0 (the "RPSL") available at
12234+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
12235+ * the file under the RealNetworks Community Source License Version 1.0
12236+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
12237+ * in which case the RCSL will apply. You may also obtain the license terms
12238+ * directly from RealNetworks. You may not use this file except in
12239+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
12240+ * applicable to this file, the RCSL. Please see the applicable RPSL or
12241+ * RCSL for the rights, obligations and limitations governing use of the
12242+ * contents of the file.
12243+ *
12244+ * This file is part of the Helix DNA Technology. RealNetworks is the
12245+ * developer of the Original Code and owns the copyrights in the portions
12246+ * it created.
12247+ *
12248+ * This file, and the files included with this file, is distributed and made
12249+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
12250+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
12251+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
12252+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
12253+ *
12254+ * Technology Compatibility Kit Test Suite(s) Location:
12255+ * http://www.helixcommunity.org/content/tck
12256+ *
12257+ * Contributor(s):
12258+ *
12259+ * ***** END LICENSE BLOCK ***** */
12260+
12261+#include <stdarg.h>
12262+#include <stdio.h>
12263+#include "print.h"
12264+#ifdef WIN32_PLATFORM_PSPC
12265+#include "hlxosstr.h"
12266+#include <winbase.h>
12267+#endif
12268+
12269+int print2stdout(const char* pFmt, ...)
12270+{
12271+ va_list args;
12272+
12273+ va_start(args, pFmt);
12274+
12275+#ifdef WIN32_PLATFORM_PSPC
12276+ char szMessage[512];
12277+ int ret = vsprintf(szMessage, pFmt, args);
12278+ OutputDebugString(OS_STRING(szMessage));
12279+#else
12280+ int ret = vfprintf(stdout, pFmt, args);
12281+#endif
12282+
12283+ va_end(args);
12284+
12285+ return ret;
12286+}
12287+
12288+int print2stderr(const char* pFmt, ...)
12289+{
12290+ va_list args;
12291+
12292+ va_start(args, pFmt);
12293+
12294+#ifdef WIN32_PLATFORM_PSPC
12295+ char szMessage[512];
12296+ int ret = vsprintf(szMessage, pFmt, args);
12297+ OutputDebugString(OS_STRING(szMessage));
12298+#else
12299+ int ret = vfprintf(stderr, pFmt, args);
12300+#endif
12301+
12302+ va_end(args);
12303+
12304+ return ret;
12305+}
12306Index: helix-libs/clientapps/clutter/print.h
12307===================================================================
12308--- /dev/null 1970-01-01 00:00:00.000000000 +0000
12309+++ helix-libs/clientapps/clutter/print.h 2008-10-13 06:05:49.000000000 -0700
12310@@ -0,0 +1,60 @@
12311+/* ***** BEGIN LICENSE BLOCK *****
12312+ * Version: RCSL 1.0/RPSL 1.0
12313+ *
12314+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
12315+ *
12316+ * The contents of this file, and the files included with this file, are
12317+ * subject to the current version of the RealNetworks Public Source License
12318+ * Version 1.0 (the "RPSL") available at
12319+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
12320+ * the file under the RealNetworks Community Source License Version 1.0
12321+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
12322+ * in which case the RCSL will apply. You may also obtain the license terms
12323+ * directly from RealNetworks. You may not use this file except in
12324+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
12325+ * applicable to this file, the RCSL. Please see the applicable RPSL or
12326+ * RCSL for the rights, obligations and limitations governing use of the
12327+ * contents of the file.
12328+ *
12329+ * This file is part of the Helix DNA Technology. RealNetworks is the
12330+ * developer of the Original Code and owns the copyrights in the portions
12331+ * it created.
12332+ *
12333+ * This file, and the files included with this file, is distributed and made
12334+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
12335+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
12336+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
12337+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
12338+ *
12339+ * Technology Compatibility Kit Test Suite(s) Location:
12340+ * http://www.helixcommunity.org/content/tck
12341+ *
12342+ * Contributor(s):
12343+ *
12344+ * ***** END LICENSE BLOCK ***** */
12345+
12346+#ifndef PRINT_H
12347+#define PRINT_H
12348+
12349+#ifdef __cplusplus
12350+extern "C" {
12351+#endif
12352+
12353+#ifdef _SYMBIAN
12354+#include "platform/symbian/symbian_print.h"
12355+
12356+#define STDOUT symbianPrint
12357+#define STDERR symbianPrint
12358+#else
12359+int print2stdout(const char* pFmt, ...);
12360+int print2stderr(const char* pFmt, ...);
12361+#define STDOUT print2stdout
12362+#define STDERR print2stderr
12363+#endif
12364+
12365+#ifdef __cplusplus
12366+};
12367+#endif
12368+
12369+
12370+#endif /* PRINT_H */
12371Index: helix-libs/clientapps/clutter/shmhelp.h
12372===================================================================
12373--- /dev/null 1970-01-01 00:00:00.000000000 +0000
12374+++ helix-libs/clientapps/clutter/shmhelp.h 2008-10-13 06:05:49.000000000 -0700
12375@@ -0,0 +1,88 @@
12376+/* ***** BEGIN LICENSE BLOCK *****
12377+ * Source last modified: $Id: shmhelp.h,v 1.5 2007/07/06 20:54:01 jfinnecy Exp $
12378+ *
12379+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
12380+ *
12381+ * The contents of this file, and the files included with this file,
12382+ * are subject to the current version of the RealNetworks Public
12383+ * Source License (the "RPSL") available at
12384+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
12385+ * the file under the current version of the RealNetworks Community
12386+ * Source License (the "RCSL") available at
12387+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
12388+ * will apply. You may also obtain the license terms directly from
12389+ * RealNetworks. You may not use this file except in compliance with
12390+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable
12391+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for
12392+ * the rights, obligations and limitations governing use of the
12393+ * contents of the file.
12394+ *
12395+ * Alternatively, the contents of this file may be used under the
12396+ * terms of the GNU General Public License Version 2 (the
12397+ * "GPL") in which case the provisions of the GPL are applicable
12398+ * instead of those above. If you wish to allow use of your version of
12399+ * this file only under the terms of the GPL, and not to allow others
12400+ * to use your version of this file under the terms of either the RPSL
12401+ * or RCSL, indicate your decision by deleting the provisions above
12402+ * and replace them with the notice and other provisions required by
12403+ * the GPL. If you do not delete the provisions above, a recipient may
12404+ * use your version of this file under the terms of any one of the
12405+ * RPSL, the RCSL or the GPL.
12406+ *
12407+ * This file is part of the Helix DNA Technology. RealNetworks is the
12408+ * developer of the Original Code and owns the copyrights in the
12409+ * portions it created.
12410+ *
12411+ * This file, and the files included with this file, is distributed
12412+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
12413+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
12414+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
12415+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
12416+ * ENJOYMENT OR NON-INFRINGEMENT.
12417+ *
12418+ * Technology Compatibility Kit Test Suite(s) Location:
12419+ * http://www.helixcommunity.org/content/tck
12420+ *
12421+ * Contributor(s):
12422+ *
12423+ * ***** END LICENSE BLOCK ***** */
12424+
12425+#if defined(USE_XWINDOWS)
12426+#include <X11/X.h>
12427+#include <X11/Xlib.h>
12428+#include <X11/extensions/XShm.h>
12429+#endif
12430+
12431+#include "hxcom.h"
12432+#include "hxtypes.h"
12433+
12434+
12435+class ShmHelp
12436+{
12437+ public:
12438+
12439+ //Helpers
12440+ static void Init(Display* pDisplay );
12441+ static HXBOOL ShmAvailable();
12442+ static HX_RESULT DetachSharedRegion(UCHAR**ppMem, XShmSegmentInfo* pInfo );
12443+ static HX_RESULT CreateSharedRegion( INT32 nSize,
12444+ UCHAR**ppMem,
12445+ int* pnShmID,
12446+ XShmSegmentInfo* pInfo );
12447+
12448+
12449+ protected:
12450+
12451+ private:
12452+ static HXBOOL zm_bUseShm;
12453+
12454+ //The X11 Segment ID....
12455+ static int zm_nSegment;
12456+ static Display* zm_pDisplay;
12457+
12458+ ShmHelp();
12459+ ShmHelp(Display*);
12460+ ~ShmHelp();
12461+
12462+};
12463+
12464Index: helix-libs/clientapps/clutter/unix.pcf
12465===================================================================
12466--- /dev/null 1970-01-01 00:00:00.000000000 +0000
12467+++ helix-libs/clientapps/clutter/unix.pcf 2008-10-13 06:05:49.000000000 -0700
12468@@ -0,0 +1,65 @@
12469+#
12470+# ***** BEGIN LICENSE BLOCK *****
12471+# Version: RCSL 1.0/RPSL 1.0
12472+#
12473+# Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
12474+#
12475+# The contents of this file, and the files included with this file, are
12476+# subject to the current version of the RealNetworks Public Source License
12477+# Version 1.0 (the "RPSL") available at
12478+# http://www.helixcommunity.org/content/rpsl unless you have licensed
12479+# the file under the RealNetworks Community Source License Version 1.0
12480+# (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
12481+# in which case the RCSL will apply. You may also obtain the license terms
12482+# directly from RealNetworks. You may not use this file except in
12483+# compliance with the RPSL or, if you have a valid RCSL with RealNetworks
12484+# applicable to this file, the RCSL. Please see the applicable RPSL or
12485+# RCSL for the rights, obligations and limitations governing use of the
12486+# contents of the file.
12487+#
12488+# This file is part of the Helix DNA Technology. RealNetworks is the
12489+# developer of the Original Code and owns the copyrights in the portions
12490+# it created.
12491+#
12492+# This file, and the files included with this file, is distributed and made
12493+# available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
12494+# EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
12495+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
12496+# FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
12497+#
12498+# Technology Compatibility Kit Test Suite(s) Location:
12499+# http://www.helixcommunity.org/content/tck
12500+#
12501+# Contributor(s):
12502+#
12503+# ***** END LICENSE BLOCK *****
12504+#
12505+
12506+
12507+if( ('HELIX_FEATURE_MINI_SITE' not in project.defines) and
12508+ (platform.name in ('linux2', 'linux-i386')) and
12509+ ('HELIX_FEATURE_VIDEO' in project.defines) and
12510+ (project.BuildOption("nodll"))
12511+ ):
12512+ project.sys_libraries.append('Xv', 'Xext')
12513+
12514+
12515+
12516+
12517+if project.BuildOption("nodll"):
12518+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV20"):
12519+ if platform.name in ('linux2', 'linux-i386', 'win32') and sysinfo.arch == 'i386':
12520+ project.AddLibraries(GetSDKPath("rvg2dec_libs") + '[adecg2]')
12521+ else:
12522+ project.AddLibraries(GetSDKPath("rvg2dec_libs") + '[cdecg2]')
12523+
12524+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV30") or \
12525+ project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV40"):
12526+ if project.IsDefined("HELIX_FEATURE_ANSIC_RV89COMBO"):
12527+ project.AddLibraries(GetSDKPath("rv89combo_c_libs")+"[cdec]")
12528+ else:
12529+ if platform.name in ('linux2', 'linux-i386') and sysinfo.arch == 'i386':
12530+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[adec40]")
12531+ else:
12532+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[cdec40]")
12533+
12534Index: helix-libs/clientapps/clutter/unixcmap.h
12535===================================================================
12536--- /dev/null 1970-01-01 00:00:00.000000000 +0000
12537+++ helix-libs/clientapps/clutter/unixcmap.h 2008-10-13 06:05:49.000000000 -0700
12538@@ -0,0 +1,51 @@
12539+/* ***** BEGIN LICENSE BLOCK *****
12540+ * Source last modified: $Id: unixcmap.h,v 1.3 2007/07/06 20:54:01 jfinnecy Exp $
12541+ *
12542+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
12543+ *
12544+ * The contents of this file, and the files included with this file,
12545+ * are subject to the current version of the RealNetworks Public
12546+ * Source License (the "RPSL") available at
12547+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
12548+ * the file under the current version of the RealNetworks Community
12549+ * Source License (the "RCSL") available at
12550+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
12551+ * will apply. You may also obtain the license terms directly from
12552+ * RealNetworks. You may not use this file except in compliance with
12553+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable
12554+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for
12555+ * the rights, obligations and limitations governing use of the
12556+ * contents of the file.
12557+ *
12558+ * Alternatively, the contents of this file may be used under the
12559+ * terms of the GNU General Public License Version 2 (the
12560+ * "GPL") in which case the provisions of the GPL are applicable
12561+ * instead of those above. If you wish to allow use of your version of
12562+ * this file only under the terms of the GPL, and not to allow others
12563+ * to use your version of this file under the terms of either the RPSL
12564+ * or RCSL, indicate your decision by deleting the provisions above
12565+ * and replace them with the notice and other provisions required by
12566+ * the GPL. If you do not delete the provisions above, a recipient may
12567+ * use your version of this file under the terms of any one of the
12568+ * RPSL, the RCSL or the GPL.
12569+ *
12570+ * This file is part of the Helix DNA Technology. RealNetworks is the
12571+ * developer of the Original Code and owns the copyrights in the
12572+ * portions it created.
12573+ *
12574+ * This file, and the files included with this file, is distributed
12575+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
12576+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
12577+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
12578+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
12579+ * ENJOYMENT OR NON-INFRINGEMENT.
12580+ *
12581+ * Technology Compatibility Kit Test Suite(s) Location:
12582+ * http://www.helixcommunity.org/content/tck
12583+ *
12584+ * Contributor(s):
12585+ *
12586+ * ***** END LICENSE BLOCK ***** */
12587+
12588+EXTERN_C Colormap HXGetXColormap(Display* pDisplay, Window window);
12589+EXTERN_C void HXFindBestXColor(Display* pDisplay, Colormap cmap, XColor* desired);
12590Index: helix-libs/clientapps/clutter/visuals.h
12591===================================================================
12592--- /dev/null 1970-01-01 00:00:00.000000000 +0000
12593+++ helix-libs/clientapps/clutter/visuals.h 2008-10-13 06:05:49.000000000 -0700
12594@@ -0,0 +1,74 @@
12595+/* ***** BEGIN LICENSE BLOCK *****
12596+ * Source last modified: $Id: visuals.h,v 1.4 2007/07/06 20:54:01 jfinnecy Exp $
12597+ *
12598+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
12599+ *
12600+ * The contents of this file, and the files included with this file,
12601+ * are subject to the current version of the RealNetworks Public
12602+ * Source License (the "RPSL") available at
12603+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
12604+ * the file under the current version of the RealNetworks Community
12605+ * Source License (the "RCSL") available at
12606+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
12607+ * will apply. You may also obtain the license terms directly from
12608+ * RealNetworks. You may not use this file except in compliance with
12609+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable
12610+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for
12611+ * the rights, obligations and limitations governing use of the
12612+ * contents of the file.
12613+ *
12614+ * Alternatively, the contents of this file may be used under the
12615+ * terms of the GNU General Public License Version 2 (the
12616+ * "GPL") in which case the provisions of the GPL are applicable
12617+ * instead of those above. If you wish to allow use of your version of
12618+ * this file only under the terms of the GPL, and not to allow others
12619+ * to use your version of this file under the terms of either the RPSL
12620+ * or RCSL, indicate your decision by deleting the provisions above
12621+ * and replace them with the notice and other provisions required by
12622+ * the GPL. If you do not delete the provisions above, a recipient may
12623+ * use your version of this file under the terms of any one of the
12624+ * RPSL, the RCSL or the GPL.
12625+ *
12626+ * This file is part of the Helix DNA Technology. RealNetworks is the
12627+ * developer of the Original Code and owns the copyrights in the
12628+ * portions it created.
12629+ *
12630+ * This file, and the files included with this file, is distributed
12631+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
12632+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
12633+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
12634+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
12635+ * ENJOYMENT OR NON-INFRINGEMENT.
12636+ *
12637+ * Technology Compatibility Kit Test Suite(s) Location:
12638+ * http://www.helixcommunity.org/content/tck
12639+ *
12640+ * Contributor(s):
12641+ *
12642+ * ***** END LICENSE BLOCK ***** */
12643+
12644+#ifndef _UNIX
12645+#error This is the UNIX platform specific implementation.
12646+#endif
12647+
12648+#ifndef _VISUALS_H_
12649+#define _VISUALS_H_
12650+
12651+#if defined(USE_XWINDOWS)
12652+#include <X11/Xlib.h>
12653+#include <X11/Xutil.h>
12654+#include <X11/Xos.h>
12655+#endif
12656+
12657+//
12658+// These functions are loaded with dlsym() so turn off name mangling
12659+// with extern "C".
12660+//
12661+extern "C" {
12662+
12663+Visual* GetBestVisual(Display* display);
12664+Visual* GetVisual(Display* display, long mask, XVisualInfo* templ);
12665+
12666+}
12667+
12668+#endif // _VISUALS_H_
diff --git a/meta-extras/packages/helix/helix-libs/helix-player.pc b/meta-extras/packages/helix/helix-libs/helix-player.pc
deleted file mode 100644
index 5d2994809e..0000000000
--- a/meta-extras/packages/helix/helix-libs/helix-player.pc
+++ /dev/null
@@ -1,11 +0,0 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=${exec_prefix}/lib
4includedir=${prefix}/include
5
6Name: helix-player
7Description: Helix Player Interface
8Version: 4.1.0
9Libs: -L${libdir} -lhelix-player -lstdc++
10Cflags: -I/opt/helix/include -D_UNIX
11Requires:
diff --git a/meta-extras/packages/helix/helix-libs/hxclient.pc b/meta-extras/packages/helix/helix-libs/hxclient.pc
deleted file mode 100644
index 8f64d25670..0000000000
--- a/meta-extras/packages/helix/helix-libs/hxclient.pc
+++ /dev/null
@@ -1,11 +0,0 @@
1prefix=/opt/helix
2exec_prefix=${prefix}
3libdir=${exec_prefix}/lib
4includedir=${prefix}/include
5
6Name: hxclient
7Description: Helix Client Libraries off the Atlas Branch
8Version: 4.1.0
9Libs: -L${libdir} -lhxclient -lstdc++
10Cflags: -I${includedir} -D_UNIX
11Requires:
diff --git a/meta-extras/packages/helix/ribosome.bb b/meta-extras/packages/helix/ribosome.bb
deleted file mode 100644
index 3cea6f6755..0000000000
--- a/meta-extras/packages/helix/ribosome.bb
+++ /dev/null
@@ -1,43 +0,0 @@
1DESCRIPTION = "Ribosome: HelixCommunity Build System"
2SECTION = "base"
3HOMEPAGE = "http://helixcommunity.org"
4LICENSE = "GPLv2"
5
6_SNAPSHOT = "22102008"
7_TARBALL_SERVER = "http://git.moblin.org/repos/users/rusty"
8
9PV="r0"
10PR = "r1"
11
12SRC_URI = "${_TARBALL_SERVER}/ribosome-${_SNAPSHOT}.tar.bz2 \
13 ${_TARBALL_SERVER}/client-bif-${_SNAPSHOT}.tar.bz2 \
14 ${_TARBALL_SERVER}/common-bif-${_SNAPSHOT}.tar.bz2 \
15 file://ribosome/clutter.bif \
16 file://ribosome/buildrc"
17
18S = "${WORKDIR}"
19
20COMPATIBLE_HOST = '(i.86.*-linux)'
21
22do_install() {
23 # Install build system of doom
24 install -d ${D}${libdir}
25 cp -a ribosome-${_SNAPSHOT} ${D}${libdir}/ribosome
26 install -m 0644 ribosome/buildrc ${D}${libdir}/ribosome/
27
28 # Install client BIF's
29 install -d ${D}${libdir}/ribosome/bif-cvs/helix/client/build/BIF
30 install -m 0644 client-bif-${_SNAPSHOT}/*.bif \
31 ${D}${libdir}/ribosome/bif-cvs/helix/client/build/BIF
32
33 # Install common BIF's
34 install -d ${D}${libdir}/ribosome/bif-cvs/helix/common/build/BIF
35 install -m 0644 common-bif-${_SNAPSHOT}/*.bif \
36 ${D}${libdir}/ribosome/bif-cvs/helix/common/build/BIF
37
38 # Install our own custom BIF
39 install -m 0644 ribosome/*.bif ${D}${libdir}/ribosome/bif-cvs/helix/client/build/BIF/
40
41 # The [ and ] characters break packaging, remove for now
42 rm -rf ${D}${libdir}/ribosome/test/data/utils/[client-restricted]
43}
diff --git a/meta-extras/packages/helix/ribosome/buildrc b/meta-extras/packages/helix/ribosome/buildrc
deleted file mode 100644
index 6dbc47a06d..0000000000
--- a/meta-extras/packages/helix/ribosome/buildrc
+++ /dev/null
@@ -1,4 +0,0 @@
1AddMultiCVS("helix",":ext:cvs.helixcommunity.org:/cvsroot/")
2AddBIFPath("common", "[helix]/common/build/BIF")
3AddBIFPath("client", "[helix]/client/build/BIF")
4SetSDKPath("oggvorbissdk", "/usr/")
diff --git a/meta-extras/packages/helix/ribosome/clutter.bif b/meta-extras/packages/helix/ribosome/clutter.bif
deleted file mode 100755
index a87fcb3faa..0000000000
--- a/meta-extras/packages/helix/ribosome/clutter.bif
+++ /dev/null
@@ -1,68 +0,0 @@
1<?xml version="1.0" ?>
2<build id="clutter">
3 <inherit id="hxclient_3_1_0_atlas"/>
4 <cvs root="helix"/>
5 <cvs tag="hxclient_3_1_0_atlas"/>
6 <default target="clutter" profile="helix-client-all-defines" options=""/>
7 <targets>
8
9 <!-- clutter -->
10 <module id="clutter" name="clientapps/clutter" group="core">
11 <includeplatforms>
12 unix
13 </includeplatforms>
14
15 <defines>
16 HELIX_FEATURE_AUDIO_VORBIS
17 HELIX_FEATURE_VIDEO_THEORA
18 HELIX_FEATURE_NETSERVICES_SHIM
19 HELIX_FEATURE_AVIFF
20 HELIX_CONFIG_SLUGGISHAUTOUPGRADE
21 HELIX_FEATURE_ALSA
22 _FORTIFY_SOURCE=2
23 </defines>
24
25 <source_dependlist>
26 client_include
27 datatype_tools_dtdriver_dtdrplin
28 </source_dependlist>
29
30 <dependlist>
31 helix_client_objs
32 player_hxclientkit
33 player_hxclientkit_src_hxrecordengine
34 client_core
35 client_resource
36 client_xres
37 protocol_sdp
38 video_site
39 datatype_smil
40 datatype_text_realtext_fileformat
41 datatype_text_realtext_renderer
42 datatype_tools_dtdriver_dtdrplin
43 datatype_ogg_fileformat
44 datatype_vorbis_renderer
45 datatype_theora_renderer
46 datatype_h261_renderer
47 datatype_h263
48 datatype_group_audio
49 datatype_group_image
50 datatype_ram
51 datatype_sdp
52 datatype_avi_fileformat
53 filesystem_local
54 filesystem_http
55 filesystem_memory
56 common_auth_authmgr
57 common_auth_rn5auth
58 client_auth_basicauth
59 common_log_logsystem
60 common_log_logobserverfile
61 </dependlist>
62
63 </module>
64
65 </targets>
66
67</build>
68
diff --git a/meta-extras/packages/images/poky-image-extras.bb b/meta-extras/packages/images/poky-image-extras.bb
deleted file mode 100644
index 7ad5fd5171..0000000000
--- a/meta-extras/packages/images/poky-image-extras.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1#
2# Copyright (C) 2007 OpenedHand Ltd.
3#
4
5IMAGE_FEATURES += "apps-core apps-pda"
6
7inherit poky-image
8
9IMAGE_INSTALL += "task-poky-extraapps"
diff --git a/meta-extras/packages/libol/libol_0.3.18.bb b/meta-extras/packages/libol/libol_0.3.18.bb
deleted file mode 100644
index ba6d6ce638..0000000000
--- a/meta-extras/packages/libol/libol_0.3.18.bb
+++ /dev/null
@@ -1,8 +0,0 @@
1PR = "r7"
2
3SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${P}.tar.gz"
4
5S = "${WORKDIR}/${PN}-${PV}"
6
7inherit autotools binconfig
8
diff --git a/meta-extras/packages/librds/librds_0.0.1.bb b/meta-extras/packages/librds/librds_0.0.1.bb
deleted file mode 100644
index 3c99ec1ba0..0000000000
--- a/meta-extras/packages/librds/librds_0.0.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1DESCRIPTION = "A software library for accessing RDS data"
2HOMEPAGE = "http://rdsd.berlios.de/"
3SECTION = "libs"
4PROVIDES = "librds"
5LICENSE = "GPLv2"
6
7PR = "r1"
8
9SRC_URI = "http://download.berlios.de/rdsd/librds-${PV}.tar.gz"
10
11inherit autotools pkgconfig
diff --git a/meta-extras/packages/libxosd/files/autofoo.patch b/meta-extras/packages/libxosd/files/autofoo.patch
deleted file mode 100644
index e26f15e9e5..0000000000
--- a/meta-extras/packages/libxosd/files/autofoo.patch
+++ /dev/null
@@ -1,116 +0,0 @@
1Index: current/configure.ac
2===================================================================
3--- current.orig/configure.ac 2007-06-14 09:06:04.000000000 +0000
4+++ current/configure.ac 2007-06-14 09:14:37.000000000 +0000
5@@ -52,8 +52,6 @@
6 CFLAGS="$CFLAGS $X_CFLAGS -Wall"
7
8 dnl Checks for libraries.
9-AM_PATH_GTK(1.2.2,,
10- AC_MSG_WARN([*** GTK+ >= 1.2.2 not found ***]))
11 AC_CHECK_LIB(X11, XInitThreads,,
12 AC_MSG_ERROR([*** X11 not threadsafe ***]))
13 AC_CHECK_LIB(Xext, XShapeQueryExtension,,
14@@ -107,63 +105,6 @@
15 AC_MSG_WARN("beep media player not found")
16 fi
17
18-dnl Check for xmms
19-AM_PATH_XMMS(1.2.7,,
20- AC_MSG_WARN("xmms plugins can not be built"))
21-dnl Override where to place libxmms_xosd.so
22-AC_ARG_WITH([plugindir],
23- AC_HELP_STRING([--with-plugindir=DIR],
24- [Set the xmms plugin directory]),
25- [XMMS_PLUGIN_DIR="$withval"],
26- [XMMS_PLUGIN_DIR="$XMMS_GENERAL_PLUGIN_DIR"])
27-
28-dnl Check for gdk-pixbuf
29-AM_PATH_GDK_PIXBUF(0.22.0,,
30- AC_MSG_WARN("new xmms plugin can not be built"))
31-dnl Override where to place pixmaps for libxmms_xosd.so
32-AC_ARG_WITH([pixmapdir],
33- AC_HELP_STRING([--with-pixmapdir=DIR],
34- [Set the directory for xmms plugin pixmaps]),
35- [XMMS_PIXMAPDIR="$withval"],
36- [XMMS_PIXMAPDIR="${datadir}/xosd"])
37-AC_SUBST(XMMS_PIXMAPDIR)
38-
39-dnl NEW plugin
40-AC_ARG_ENABLE([new-plugin],
41- AC_HELP_STRING([--disable-new-plugin],
42- [Disable new xmms plugin (enabled by default)]),
43- [enable_new_plugin="$enableval"],
44- [enable_new_plugin="yes"])
45-AC_MSG_CHECKING([whether new xmms plugin was requested])
46-AC_MSG_RESULT($enable_new_plugin)
47-AM_CONDITIONAL([BUILD_NEW_PLUGIN],
48- [test x"$enable_new_plugin" = "xyes" -a x"$no_xmms" != "xyes" -a x"$no_gdk_pixbuf" != "xyes"])
49-
50-
51-dnl Check for Beep Media player
52-AC_ARG_ENABLE([beep_media_player_plugin],
53- AC_HELP_STRING([--enable-beep_media_player_plugin],
54- [Enable beep media plugin (enabled by default)]),
55- [beep_media_player_plugin="$enableval"],
56- [beep_media_player_plugin="yes"])
57-AC_MSG_CHECKING([whether beep media plugin was requested])
58-AC_MSG_RESULT($beep_media_player_plugin)
59-
60-AM_CONDITIONAL([BUILD_BEEP_MEDIA_PLUGIN],
61- [test x"$beep_media_player_plugin" = "xyes" -a x"$no_bmp" == "xyes"])
62-
63-dnl OLD plugin
64-AC_ARG_ENABLE([old-plugin],
65- AC_HELP_STRING([--enable-old-plugin],
66- [Enable old xmms plugin (disabled by default)]),
67- [enable_old_plugin="$enableval"],
68- [enable_old_plugin="no"])
69-AC_MSG_CHECKING([whether old xmms plugin was requested])
70-AC_MSG_RESULT($enable_old_plugin)
71-AM_CONDITIONAL([BUILD_OLD_PLUGIN],
72- [test x"$enable_old_plugin" = "xyes" -a x"$no_xmms" != "xyes"])
73-
74-
75 dnl Define XOSD_VERSION
76 AC_DEFINE_UNQUOTED(XOSD_VERSION, "${VERSION}")
77
78@@ -174,8 +115,6 @@
79 Makefile
80 src/Makefile
81 src/libxosd/Makefile
82-src/xmms_plugin/Makefile
83-src/bmp_plugin/Makefile
84 macros/Makefile
85 man/Makefile
86 pixmaps/Makefile
87Index: current/src/Makefile.am
88===================================================================
89--- current.orig/src/Makefile.am 2007-06-14 09:06:04.000000000 +0000
90+++ current/src/Makefile.am 2007-06-14 09:14:37.000000000 +0000
91@@ -10,6 +10,4 @@
92
93 include_HEADERS = xosd.h
94
95-AM_CFLAGS = ${GTK_CFLAGS}
96-
97-SUBDIRS=libxosd xmms_plugin bmp_plugin
98+SUBDIRS=libxosd
99Index: current/Makefile.am
100===================================================================
101--- current.orig/Makefile.am 2007-06-14 09:06:04.000000000 +0000
102+++ current/Makefile.am 2007-06-14 09:16:15.000000000 +0000
103@@ -1,11 +1,5 @@
104-if BUILD_NEW_PLUGIN
105- NEW_SUB = pixmaps
106-endif
107-if BUILD_BEEP_MEDIA_PLUGIN
108- NEW_SUB = pixmaps
109-endif
110-SUBDIRS = macros man $(NEW_SUB) src script
111-DIST_SUBDIRS = macros man pixmaps src script
112+SUBDIRS = macros man src script
113+DIST_SUBDIRS = macros man src script
114
115 DISTCLEANFILES = libtool-disable-static
116
diff --git a/meta-extras/packages/libxosd/files/use-sane-default-font.patch b/meta-extras/packages/libxosd/files/use-sane-default-font.patch
deleted file mode 100644
index 0ede1351e2..0000000000
--- a/meta-extras/packages/libxosd/files/use-sane-default-font.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1Index: current/src/libxosd/xosd.c
2===================================================================
3--- current.orig/src/libxosd/xosd.c 2007-06-16 19:37:48.000000000 +0000
4+++ current/src/libxosd/xosd.c 2007-06-17 05:00:47.000000000 +0000
5@@ -26,7 +26,7 @@
6 #define XOFFSET 10
7
8 const char * const osd_default_font =
9- "-misc-fixed-medium-r-semicondensed--*-*-*-*-c-*-*-*";
10+ "fixed";
11 #if 0
12 "-adobe-helvetica-bold-r-*-*-10-*";
13 #endif
diff --git a/meta-extras/packages/libxosd/libxosd_svn.bb b/meta-extras/packages/libxosd/libxosd_svn.bb
deleted file mode 100644
index 456b7ac236..0000000000
--- a/meta-extras/packages/libxosd/libxosd_svn.bb
+++ /dev/null
@@ -1,20 +0,0 @@
1DESCRIPTION = "A library for displaying a TV-like on-screen display in X."
2SECTION = "libs/x11"
3DEPENDS = "virtual/libx11 libxext"
4LICENSE = "LGPL"
5PV = "2.2.15+svnr${SRCREV}"
6PR = "r5"
7
8SRC_URI = "svn://libxosd.svn.sourceforge.net/svnroot/libxosd/source;module=current;proto=https \
9 file://autofoo.patch;patch=1 \
10 file://use-sane-default-font.patch;patch=1"
11
12S = "${WORKDIR}/current"
13
14inherit autotools binconfig
15
16PACKAGES =+ "${PN}-examples-dbg ${PN}-examples"
17FILES_${PN}-examples = "${bindir}/osd_cat"
18FILES_${PN}-examples-dbg += "${bindir}/.debug/"
19FILES_${PN}-dev += "${bindir}/xosd-config"
20FILES_${PN} = "${libdir}/libxosd.so.*"
diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch
deleted file mode 100644
index c5849998d5..0000000000
--- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1---
2 arch/arm/oprofile/op_model_v6.c | 8 +-------
3 1 file changed, 1 insertion(+), 7 deletions(-)
4
5Index: linux-g/arch/arm/oprofile/op_model_v6.c
6===================================================================
7--- linux-g.orig/arch/arm/oprofile/op_model_v6.c 2006-11-08 12:18:41.000000000 +0000
8+++ linux-g/arch/arm/oprofile/op_model_v6.c 2007-05-23 14:11:19.000000000 +0100
9@@ -54,12 +54,6 @@
10 #define EVT_DCACHE_MISS 0x0B
11 #define EVT_DCACE_WRITE_BACK 0x0C
12 #define EVT_PC_CHANGED 0x0D
13-#define EVT_BCU_REQUEST 0x10
14-#define EVT_BCU_FULL 0x11
15-#define EVT_BCU_DRAIN 0x12
16-#define EVT_BCU_ECC_NO_ELOG 0x14
17-#define EVT_BCU_1_BIT_ERR 0x15
18-#define EVT_RMW 0x16
19 /* EVT_CCNT is not hardware defined */
20 #define EVT_CCNT 0xFE
21 #define EVT_UNUSED 0xFF
22@@ -88,7 +82,7 @@ struct pmu_type {
23 static struct pmu_type pmu_parms[] = {
24 {
25 .id = PMU_ARM11,
26- .name = "arm/arm11",
27+ .name = "arm/armv6",
28 .num_counters = 3,
29 #ifdef CONFIG_ARCH_OMAP2
30 .interrupt = 3,
diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig
deleted file mode 100644
index 3cd1430332..0000000000
--- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig
+++ /dev/null
@@ -1,1451 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-omap1
4# Mon Aug 13 17:32:01 2007
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y
9CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y
12CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_VECTORS_BASE=0xffff0000
15CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
16
17#
18# Code maturity level options
19#
20CONFIG_EXPERIMENTAL=y
21CONFIG_BROKEN_ON_SMP=y
22CONFIG_INIT_ENV_ARG_LIMIT=32
23
24#
25# General setup
26#
27CONFIG_LOCALVERSION=""
28# CONFIG_LOCALVERSION_AUTO is not set
29CONFIG_SWAP=y
30CONFIG_SYSVIPC=y
31CONFIG_POSIX_MQUEUE=y
32# CONFIG_BSD_PROCESS_ACCT is not set
33# CONFIG_TASKSTATS is not set
34# CONFIG_AUDIT is not set
35# CONFIG_IKCONFIG is not set
36# CONFIG_RELAY is not set
37CONFIG_INITRAMFS_SOURCE=""
38CONFIG_CC_OPTIMIZE_FOR_SIZE=y
39# CONFIG_EMBEDDED is not set
40CONFIG_UID16=y
41CONFIG_SYSCTL=y
42CONFIG_KALLSYMS=y
43# CONFIG_KALLSYMS_ALL is not set
44# CONFIG_KALLSYMS_EXTRA_PASS is not set
45CONFIG_HOTPLUG=y
46CONFIG_PRINTK=y
47CONFIG_BUG=y
48CONFIG_ELF_CORE=y
49CONFIG_BASE_FULL=y
50CONFIG_FUTEX=y
51CONFIG_EPOLL=y
52CONFIG_SHMEM=y
53CONFIG_SLAB=y
54CONFIG_VM_EVENT_COUNTERS=y
55CONFIG_RT_MUTEXES=y
56# CONFIG_TINY_SHMEM is not set
57CONFIG_BASE_SMALL=0
58# CONFIG_SLOB is not set
59
60#
61# Loadable module support
62#
63CONFIG_MODULES=y
64CONFIG_MODULE_UNLOAD=y
65# CONFIG_MODULE_FORCE_UNLOAD is not set
66# CONFIG_MODVERSIONS is not set
67# CONFIG_MODULE_SRCVERSION_ALL is not set
68# CONFIG_KMOD is not set
69
70#
71# Block layer
72#
73# CONFIG_BLK_DEV_IO_TRACE is not set
74
75#
76# IO Schedulers
77#
78CONFIG_IOSCHED_NOOP=y
79# CONFIG_IOSCHED_AS is not set
80# CONFIG_IOSCHED_DEADLINE is not set
81CONFIG_IOSCHED_CFQ=y
82# CONFIG_DEFAULT_AS is not set
83# CONFIG_DEFAULT_DEADLINE is not set
84CONFIG_DEFAULT_CFQ=y
85# CONFIG_DEFAULT_NOOP is not set
86CONFIG_DEFAULT_IOSCHED="cfq"
87
88#
89# System Type
90#
91# CONFIG_ARCH_AAEC2000 is not set
92# CONFIG_ARCH_INTEGRATOR is not set
93# CONFIG_ARCH_REALVIEW is not set
94# CONFIG_ARCH_VERSATILE is not set
95# CONFIG_ARCH_AT91 is not set
96# CONFIG_ARCH_CLPS7500 is not set
97# CONFIG_ARCH_CLPS711X is not set
98# CONFIG_ARCH_CO285 is not set
99# CONFIG_ARCH_EBSA110 is not set
100# CONFIG_ARCH_EP93XX is not set
101# CONFIG_ARCH_FOOTBRIDGE is not set
102# CONFIG_ARCH_NETX is not set
103# CONFIG_ARCH_H720X is not set
104# CONFIG_ARCH_IMX is not set
105# CONFIG_ARCH_IOP3XX is not set
106# CONFIG_ARCH_IXP4XX is not set
107# CONFIG_ARCH_IXP2000 is not set
108# CONFIG_ARCH_IXP23XX is not set
109# CONFIG_ARCH_L7200 is not set
110# CONFIG_ARCH_PNX4008 is not set
111# CONFIG_ARCH_PXA is not set
112# CONFIG_ARCH_RPC is not set
113# CONFIG_ARCH_SA1100 is not set
114# CONFIG_ARCH_S3C2410 is not set
115# CONFIG_ARCH_SHARK is not set
116# CONFIG_ARCH_LH7A40X is not set
117CONFIG_ARCH_OMAP=y
118
119#
120# TI OMAP Implementations
121#
122CONFIG_ARCH_OMAP_OTG=y
123CONFIG_ARCH_OMAP1=y
124# CONFIG_ARCH_OMAP2 is not set
125
126#
127# OMAP Feature Selections
128#
129CONFIG_OMAP_RESET_CLOCKS=y
130CONFIG_OMAP_BOOT_TAG=y
131CONFIG_OMAP_BOOT_REASON=y
132CONFIG_OMAP_COMPONENT_VERSION=y
133CONFIG_OMAP_GPIO_SWITCH=y
134# CONFIG_OMAP_MUX is not set
135CONFIG_OMAP_STI=y
136CONFIG_OMAP_STI_CONSOLE=y
137CONFIG_OMAP_MCBSP=y
138# CONFIG_OMAP_MPU_TIMER is not set
139CONFIG_OMAP_32K_TIMER=y
140CONFIG_OMAP_32K_TIMER_HZ=128
141CONFIG_OMAP_DM_TIMER=y
142CONFIG_OMAP_LL_DEBUG_UART1=y
143# CONFIG_OMAP_LL_DEBUG_UART2 is not set
144# CONFIG_OMAP_LL_DEBUG_UART3 is not set
145CONFIG_OMAP_DSP=y
146# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
147CONFIG_OMAP_DSP_TASK_MULTIOPEN=y
148CONFIG_OMAP_DSP_FBEXPORT=y
149
150#
151# OMAP Core Type
152#
153# CONFIG_ARCH_OMAP730 is not set
154# CONFIG_ARCH_OMAP15XX is not set
155CONFIG_ARCH_OMAP16XX=y
156
157#
158# OMAP Board Type
159#
160# CONFIG_MACH_OMAP_INNOVATOR is not set
161# CONFIG_MACH_OMAP_H2 is not set
162# CONFIG_MACH_OMAP_H3 is not set
163# CONFIG_MACH_OMAP_OSK is not set
164CONFIG_MACH_NOKIA770=y
165# CONFIG_MACH_OMAP_GENERIC is not set
166
167#
168# OMAP CPU Speed
169#
170CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y
171CONFIG_OMAP_ARM_216MHZ=y
172# CONFIG_OMAP_ARM_192MHZ is not set
173# CONFIG_OMAP_ARM_168MHZ is not set
174# CONFIG_OMAP_ARM_120MHZ is not set
175# CONFIG_OMAP_ARM_60MHZ is not set
176# CONFIG_OMAP_ARM_30MHZ is not set
177
178#
179# Processor Type
180#
181CONFIG_CPU_32=y
182CONFIG_CPU_ARM926T=y
183CONFIG_CPU_32v5=y
184CONFIG_CPU_ABRT_EV5TJ=y
185CONFIG_CPU_CACHE_VIVT=y
186CONFIG_CPU_COPY_V4WB=y
187CONFIG_CPU_TLB_V4WBI=y
188
189#
190# Processor Features
191#
192CONFIG_ARM_THUMB=y
193# CONFIG_CPU_ICACHE_DISABLE is not set
194# CONFIG_CPU_DCACHE_DISABLE is not set
195# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
196# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
197
198#
199# Bus support
200#
201
202#
203# PCCARD (PCMCIA/CardBus) support
204#
205# CONFIG_PCCARD is not set
206
207#
208# Kernel Features
209#
210# CONFIG_PREEMPT is not set
211CONFIG_NO_IDLE_HZ=y
212CONFIG_HZ=128
213CONFIG_AEABI=y
214CONFIG_OABI_COMPAT=y
215# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
216CONFIG_SELECT_MEMORY_MODEL=y
217CONFIG_FLATMEM_MANUAL=y
218# CONFIG_DISCONTIGMEM_MANUAL is not set
219# CONFIG_SPARSEMEM_MANUAL is not set
220CONFIG_FLATMEM=y
221CONFIG_FLAT_NODE_MEM_MAP=y
222# CONFIG_SPARSEMEM_STATIC is not set
223CONFIG_SPLIT_PTLOCK_CPUS=4096
224# CONFIG_RESOURCES_64BIT is not set
225# CONFIG_LEDS is not set
226CONFIG_ALIGNMENT_TRAP=y
227
228#
229# Boot options
230#
231CONFIG_ZBOOT_ROM_TEXT=0x0
232CONFIG_ZBOOT_ROM_BSS=0x0
233CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 time"
234# CONFIG_XIP_KERNEL is not set
235
236#
237# CPU Frequency scaling
238#
239# CONFIG_CPU_FREQ is not set
240
241#
242# Floating point emulation
243#
244
245#
246# At least one emulation must be selected
247#
248CONFIG_FPE_NWFPE=y
249# CONFIG_FPE_NWFPE_XP is not set
250# CONFIG_FPE_FASTFPE is not set
251# CONFIG_VFP is not set
252
253#
254# Userspace binary formats
255#
256CONFIG_BINFMT_ELF=y
257# CONFIG_BINFMT_AOUT is not set
258# CONFIG_BINFMT_MISC is not set
259
260#
261# Power management options
262#
263CONFIG_PM=y
264# CONFIG_PM_LEGACY is not set
265# CONFIG_PM_DEBUG is not set
266# CONFIG_APM is not set
267
268#
269# Networking
270#
271CONFIG_NET=y
272
273#
274# Networking options
275#
276# CONFIG_NETDEBUG is not set
277CONFIG_PACKET=y
278# CONFIG_PACKET_MMAP is not set
279CONFIG_UNIX=y
280CONFIG_XFRM=y
281# CONFIG_XFRM_USER is not set
282# CONFIG_NET_KEY is not set
283CONFIG_INET=y
284CONFIG_IP_MULTICAST=y
285# CONFIG_IP_ADVANCED_ROUTER is not set
286CONFIG_IP_FIB_HASH=y
287CONFIG_IP_PNP=y
288CONFIG_IP_PNP_DHCP=y
289CONFIG_IP_PNP_BOOTP=y
290# CONFIG_IP_PNP_RARP is not set
291# CONFIG_NET_IPIP is not set
292# CONFIG_NET_IPGRE is not set
293# CONFIG_IP_MROUTE is not set
294# CONFIG_ARPD is not set
295# CONFIG_SYN_COOKIES is not set
296# CONFIG_INET_AH is not set
297# CONFIG_INET_ESP is not set
298# CONFIG_INET_IPCOMP is not set
299# CONFIG_INET_XFRM_TUNNEL is not set
300# CONFIG_INET_TUNNEL is not set
301CONFIG_INET_XFRM_MODE_TRANSPORT=y
302CONFIG_INET_XFRM_MODE_TUNNEL=y
303# CONFIG_INET_DIAG is not set
304# CONFIG_TCP_CONG_ADVANCED is not set
305CONFIG_TCP_CONG_BIC=y
306
307#
308# IP: Virtual Server Configuration
309#
310# CONFIG_IP_VS is not set
311CONFIG_IPV6=y
312# CONFIG_IPV6_PRIVACY is not set
313# CONFIG_IPV6_ROUTER_PREF is not set
314# CONFIG_INET6_AH is not set
315# CONFIG_INET6_ESP is not set
316# CONFIG_INET6_IPCOMP is not set
317# CONFIG_INET6_XFRM_TUNNEL is not set
318# CONFIG_INET6_TUNNEL is not set
319CONFIG_INET6_XFRM_MODE_TRANSPORT=y
320CONFIG_INET6_XFRM_MODE_TUNNEL=y
321# CONFIG_IPV6_TUNNEL is not set
322# CONFIG_NETWORK_SECMARK is not set
323CONFIG_NETFILTER=y
324# CONFIG_NETFILTER_DEBUG is not set
325
326#
327# Core Netfilter Configuration
328#
329CONFIG_NETFILTER_NETLINK=y
330# CONFIG_NETFILTER_NETLINK_QUEUE is not set
331# CONFIG_NETFILTER_NETLINK_LOG is not set
332# CONFIG_NF_CONNTRACK is not set
333# CONFIG_NETFILTER_XTABLES is not set
334
335#
336# IP: Netfilter Configuration
337#
338# CONFIG_IP_NF_CONNTRACK is not set
339# CONFIG_IP_NF_QUEUE is not set
340
341#
342# IPv6: Netfilter Configuration (EXPERIMENTAL)
343#
344# CONFIG_IP6_NF_QUEUE is not set
345
346#
347# DCCP Configuration (EXPERIMENTAL)
348#
349# CONFIG_IP_DCCP is not set
350
351#
352# SCTP Configuration (EXPERIMENTAL)
353#
354# CONFIG_IP_SCTP is not set
355
356#
357# TIPC Configuration (EXPERIMENTAL)
358#
359# CONFIG_TIPC is not set
360# CONFIG_ATM is not set
361# CONFIG_BRIDGE is not set
362# CONFIG_VLAN_8021Q is not set
363# CONFIG_DECNET is not set
364# CONFIG_LLC2 is not set
365# CONFIG_IPX is not set
366# CONFIG_ATALK is not set
367# CONFIG_X25 is not set
368# CONFIG_LAPB is not set
369# CONFIG_ECONET is not set
370# CONFIG_WAN_ROUTER is not set
371
372#
373# QoS and/or fair queueing
374#
375# CONFIG_NET_SCHED is not set
376
377#
378# Network testing
379#
380# CONFIG_NET_PKTGEN is not set
381# CONFIG_HAMRADIO is not set
382# CONFIG_IRDA is not set
383CONFIG_BT=y
384CONFIG_BT_L2CAP=y
385CONFIG_BT_SCO=y
386CONFIG_BT_RFCOMM=y
387CONFIG_BT_RFCOMM_TTY=y
388CONFIG_BT_BNEP=y
389# CONFIG_BT_BNEP_MC_FILTER is not set
390# CONFIG_BT_BNEP_PROTO_FILTER is not set
391CONFIG_BT_HIDP=y
392
393#
394# Bluetooth device drivers
395#
396# CONFIG_BT_HCIUSB is not set
397# CONFIG_BT_HCIUART is not set
398# CONFIG_BT_HCIBCM203X is not set
399# CONFIG_BT_HCIBPA10X is not set
400# CONFIG_BT_HCIBFUSB is not set
401CONFIG_BT_HCIBRF6150=y
402# CONFIG_BT_HCIH4P is not set
403# CONFIG_BT_HCIVHCI is not set
404# CONFIG_IEEE80211 is not set
405CONFIG_WIRELESS_EXT=y
406
407#
408# Device Drivers
409#
410
411#
412# Generic Driver Options
413#
414CONFIG_STANDALONE=y
415CONFIG_PREVENT_FIRMWARE_BUILD=y
416CONFIG_FW_LOADER=y
417# CONFIG_DEBUG_DRIVER is not set
418# CONFIG_SYS_HYPERVISOR is not set
419
420#
421# Connector - unified userspace <-> kernelspace linker
422#
423CONFIG_CONNECTOR=y
424# CONFIG_PROC_EVENTS is not set
425
426#
427# Memory Technology Devices (MTD)
428#
429CONFIG_MTD=y
430# CONFIG_MTD_DEBUG is not set
431# CONFIG_MTD_CONCAT is not set
432CONFIG_MTD_PARTITIONS=y
433# CONFIG_MTD_REDBOOT_PARTS is not set
434CONFIG_MTD_CMDLINE_PARTS=y
435# CONFIG_MTD_AFS_PARTS is not set
436
437#
438# User Modules And Translation Layers
439#
440CONFIG_MTD_CHAR=y
441CONFIG_MTD_BLOCK=y
442# CONFIG_FTL is not set
443# CONFIG_NFTL is not set
444# CONFIG_INFTL is not set
445# CONFIG_RFD_FTL is not set
446
447#
448# RAM/ROM/Flash chip drivers
449#
450# CONFIG_MTD_CFI is not set
451# CONFIG_MTD_JEDECPROBE is not set
452CONFIG_MTD_MAP_BANK_WIDTH_1=y
453CONFIG_MTD_MAP_BANK_WIDTH_2=y
454CONFIG_MTD_MAP_BANK_WIDTH_4=y
455# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
456# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
457# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
458CONFIG_MTD_CFI_I1=y
459CONFIG_MTD_CFI_I2=y
460# CONFIG_MTD_CFI_I4 is not set
461# CONFIG_MTD_CFI_I8 is not set
462# CONFIG_MTD_RAM is not set
463# CONFIG_MTD_ROM is not set
464# CONFIG_MTD_ABSENT is not set
465# CONFIG_MTD_OBSOLETE_CHIPS is not set
466
467#
468# Mapping drivers for chip access
469#
470# CONFIG_MTD_COMPLEX_MAPPINGS is not set
471# CONFIG_MTD_PLATRAM is not set
472
473#
474# Self-contained MTD device drivers
475#
476# CONFIG_MTD_DATAFLASH is not set
477# CONFIG_MTD_M25P80 is not set
478# CONFIG_MTD_SLRAM is not set
479# CONFIG_MTD_PHRAM is not set
480# CONFIG_MTD_MTDRAM is not set
481# CONFIG_MTD_BLOCK2MTD is not set
482
483#
484# Disk-On-Chip Device Drivers
485#
486# CONFIG_MTD_DOC2000 is not set
487# CONFIG_MTD_DOC2001 is not set
488# CONFIG_MTD_DOC2001PLUS is not set
489
490#
491# NAND Flash Device Drivers
492#
493CONFIG_MTD_NAND=y
494# CONFIG_MTD_NAND_VERIFY_WRITE is not set
495# CONFIG_MTD_NAND_ECC_SMC is not set
496CONFIG_MTD_NAND_OMAP_HW=y
497CONFIG_MTD_NAND_IDS=y
498# CONFIG_MTD_NAND_DISKONCHIP is not set
499# CONFIG_MTD_NAND_NANDSIM is not set
500
501#
502# OneNAND Flash Device Drivers
503#
504# CONFIG_MTD_ONENAND is not set
505
506#
507# Parallel port support
508#
509# CONFIG_PARPORT is not set
510
511#
512# Plug and Play support
513#
514
515#
516# Block devices
517#
518# CONFIG_BLK_DEV_COW_COMMON is not set
519CONFIG_BLK_DEV_LOOP=y
520# CONFIG_BLK_DEV_CRYPTOLOOP is not set
521# CONFIG_BLK_DEV_NBD is not set
522# CONFIG_BLK_DEV_UB is not set
523# CONFIG_BLK_DEV_RAM is not set
524# CONFIG_BLK_DEV_INITRD is not set
525# CONFIG_CDROM_PKTCDVD is not set
526# CONFIG_ATA_OVER_ETH is not set
527
528#
529# SCSI device support
530#
531# CONFIG_RAID_ATTRS is not set
532CONFIG_SCSI=y
533# CONFIG_SCSI_PROC_FS is not set
534
535#
536# SCSI support type (disk, tape, CD-ROM)
537#
538CONFIG_BLK_DEV_SD=y
539# CONFIG_CHR_DEV_ST is not set
540# CONFIG_CHR_DEV_OSST is not set
541# CONFIG_BLK_DEV_SR is not set
542# CONFIG_CHR_DEV_SG is not set
543# CONFIG_CHR_DEV_SCH is not set
544
545#
546# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
547#
548# CONFIG_SCSI_MULTI_LUN is not set
549# CONFIG_SCSI_CONSTANTS is not set
550# CONFIG_SCSI_LOGGING is not set
551
552#
553# SCSI Transport Attributes
554#
555# CONFIG_SCSI_SPI_ATTRS is not set
556# CONFIG_SCSI_FC_ATTRS is not set
557# CONFIG_SCSI_ISCSI_ATTRS is not set
558# CONFIG_SCSI_SAS_ATTRS is not set
559
560#
561# SCSI low-level drivers
562#
563# CONFIG_ISCSI_TCP is not set
564# CONFIG_SCSI_SATA is not set
565# CONFIG_SCSI_DEBUG is not set
566
567#
568# Multi-device support (RAID and LVM)
569#
570# CONFIG_MD is not set
571
572#
573# Fusion MPT device support
574#
575# CONFIG_FUSION is not set
576
577#
578# IEEE 1394 (FireWire) support
579#
580
581#
582# I2O device support
583#
584
585#
586# Network device support
587#
588CONFIG_NETDEVICES=y
589# CONFIG_DUMMY is not set
590# CONFIG_BONDING is not set
591# CONFIG_EQUALIZER is not set
592CONFIG_TUN=y
593
594#
595# PHY device support
596#
597# CONFIG_PHYLIB is not set
598
599#
600# Ethernet (10 or 100Mbit)
601#
602CONFIG_NET_ETHERNET=y
603CONFIG_MII=y
604# CONFIG_SMC91X is not set
605# CONFIG_DM9000 is not set
606
607#
608# Ethernet (1000 Mbit)
609#
610
611#
612# Ethernet (10000 Mbit)
613#
614
615#
616# Token Ring devices
617#
618
619#
620# Wireless LAN (non-hamradio)
621#
622CONFIG_NET_RADIO=y
623# CONFIG_NET_WIRELESS_RTNETLINK is not set
624
625#
626# Obsolete Wireless cards support (pre-802.11)
627#
628# CONFIG_STRIP is not set
629# CONFIG_USB_ZD1201 is not set
630# CONFIG_HOSTAP is not set
631
632#
633# Wan interfaces
634#
635# CONFIG_WAN is not set
636CONFIG_PPP=y
637# CONFIG_PPP_MULTILINK is not set
638CONFIG_PPP_FILTER=y
639CONFIG_PPP_ASYNC=y
640# CONFIG_PPP_SYNC_TTY is not set
641CONFIG_PPP_DEFLATE=y
642CONFIG_PPP_BSDCOMP=y
643# CONFIG_PPP_MPPE is not set
644# CONFIG_PPPOE is not set
645# CONFIG_SLIP is not set
646# CONFIG_SHAPER is not set
647# CONFIG_NETCONSOLE is not set
648# CONFIG_NETPOLL is not set
649# CONFIG_NET_POLL_CONTROLLER is not set
650
651#
652# ISDN subsystem
653#
654# CONFIG_ISDN is not set
655
656#
657# Input device support
658#
659CONFIG_INPUT=y
660
661#
662# Userland interfaces
663#
664CONFIG_INPUT_MOUSEDEV=y
665# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
666CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
667CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
668# CONFIG_INPUT_JOYDEV is not set
669# CONFIG_INPUT_TSDEV is not set
670CONFIG_INPUT_EVDEV=y
671# CONFIG_INPUT_EVBUG is not set
672
673#
674# Input Device Drivers
675#
676CONFIG_INPUT_KEYBOARD=y
677# CONFIG_KEYBOARD_ATKBD is not set
678# CONFIG_KEYBOARD_SUNKBD is not set
679# CONFIG_KEYBOARD_LKKBD is not set
680# CONFIG_KEYBOARD_XTKBD is not set
681# CONFIG_KEYBOARD_NEWTON is not set
682CONFIG_KEYBOARD_OMAP=y
683# CONFIG_INPUT_MOUSE is not set
684# CONFIG_INPUT_JOYSTICK is not set
685CONFIG_INPUT_TOUCHSCREEN=y
686CONFIG_TOUCHSCREEN_ADS7846=y
687# CONFIG_TOUCHSCREEN_GUNZE is not set
688# CONFIG_TOUCHSCREEN_ELO is not set
689# CONFIG_TOUCHSCREEN_MTOUCH is not set
690# CONFIG_TOUCHSCREEN_MK712 is not set
691# CONFIG_INPUT_MISC is not set
692
693#
694# Hardware I/O ports
695#
696CONFIG_SERIO=y
697CONFIG_SERIO_SERPORT=y
698# CONFIG_SERIO_RAW is not set
699# CONFIG_GAMEPORT is not set
700
701#
702# Character devices
703#
704CONFIG_VT=y
705CONFIG_VT_CONSOLE=y
706CONFIG_HW_CONSOLE=y
707# CONFIG_VT_HW_CONSOLE_BINDING is not set
708# CONFIG_SERIAL_NONSTANDARD is not set
709
710#
711# Serial drivers
712#
713CONFIG_SERIAL_8250=y
714CONFIG_SERIAL_8250_CONSOLE=y
715CONFIG_SERIAL_8250_NR_UARTS=4
716CONFIG_SERIAL_8250_RUNTIME_UARTS=4
717# CONFIG_SERIAL_8250_EXTENDED is not set
718
719#
720# Non-8250 serial port support
721#
722# CONFIG_SERIAL_OMAP is not set
723CONFIG_SERIAL_CORE=y
724CONFIG_SERIAL_CORE_CONSOLE=y
725CONFIG_UNIX98_PTYS=y
726# CONFIG_LEGACY_PTYS is not set
727
728#
729# IPMI
730#
731# CONFIG_IPMI_HANDLER is not set
732
733#
734# Watchdog Cards
735#
736CONFIG_WATCHDOG=y
737CONFIG_WATCHDOG_NOWAYOUT=y
738
739#
740# Watchdog Device Drivers
741#
742# CONFIG_SOFT_WATCHDOG is not set
743
744#
745# USB-based Watchdog Cards
746#
747# CONFIG_USBPCWATCHDOG is not set
748CONFIG_OMAP_WATCHDOG=y
749CONFIG_HW_RANDOM=y
750CONFIG_HW_RANDOM_OMAP=y
751CONFIG_OMAP_RNG=y
752# CONFIG_NVRAM is not set
753# CONFIG_OMAP_RTC is not set
754# CONFIG_DTLK is not set
755# CONFIG_R3964 is not set
756
757#
758# Ftape, the floppy tape device driver
759#
760# CONFIG_RAW_DRIVER is not set
761
762#
763# TPM devices
764#
765# CONFIG_TCG_TPM is not set
766# CONFIG_TELCLOCK is not set
767
768#
769# I2C support
770#
771CONFIG_I2C=y
772# CONFIG_I2C_CHARDEV is not set
773
774#
775# I2C Algorithms
776#
777# CONFIG_I2C_ALGOBIT is not set
778# CONFIG_I2C_ALGOPCF is not set
779# CONFIG_I2C_ALGOPCA is not set
780
781#
782# I2C Hardware Bus support
783#
784# CONFIG_I2C_OCORES is not set
785# CONFIG_I2C_PARPORT_LIGHT is not set
786# CONFIG_I2C_STUB is not set
787# CONFIG_I2C_PCA_ISA is not set
788CONFIG_I2C_OMAP=y
789
790#
791# Miscellaneous I2C Chip support
792#
793# CONFIG_SENSORS_DS1337 is not set
794# CONFIG_SENSORS_DS1374 is not set
795# CONFIG_SENSORS_EEPROM is not set
796# CONFIG_SENSORS_PCF8574 is not set
797# CONFIG_SENSORS_PCA9539 is not set
798# CONFIG_SENSORS_PCF8591 is not set
799# CONFIG_ISP1301_OMAP is not set
800# CONFIG_TPS65010 is not set
801CONFIG_SENSORS_TLV320AIC23=y
802# CONFIG_GPIOEXPANDER_OMAP is not set
803# CONFIG_SENSORS_MAX6875 is not set
804# CONFIG_I2C_DEBUG_CORE is not set
805# CONFIG_I2C_DEBUG_ALGO is not set
806# CONFIG_I2C_DEBUG_BUS is not set
807# CONFIG_I2C_DEBUG_CHIP is not set
808
809#
810# SPI support
811#
812CONFIG_SPI=y
813# CONFIG_SPI_DEBUG is not set
814CONFIG_SPI_MASTER=y
815
816#
817# SPI Master Controller Drivers
818#
819CONFIG_SPI_BITBANG=y
820CONFIG_SPI_OMAP_UWIRE=y
821
822#
823# SPI Protocol Masters
824#
825# CONFIG_SPI_TSC2301 is not set
826
827#
828# Dallas's 1-wire bus
829#
830# CONFIG_W1 is not set
831
832#
833# Hardware Monitoring support
834#
835CONFIG_HWMON=y
836# CONFIG_HWMON_VID is not set
837# CONFIG_SENSORS_ABITUGURU is not set
838# CONFIG_SENSORS_ADM1021 is not set
839# CONFIG_SENSORS_ADM1025 is not set
840# CONFIG_SENSORS_ADM1026 is not set
841# CONFIG_SENSORS_ADM1031 is not set
842# CONFIG_SENSORS_ADM9240 is not set
843# CONFIG_SENSORS_ASB100 is not set
844# CONFIG_SENSORS_ATXP1 is not set
845# CONFIG_SENSORS_DS1621 is not set
846# CONFIG_SENSORS_F71805F is not set
847# CONFIG_SENSORS_FSCHER is not set
848# CONFIG_SENSORS_FSCPOS is not set
849# CONFIG_SENSORS_GL518SM is not set
850# CONFIG_SENSORS_GL520SM is not set
851# CONFIG_SENSORS_IT87 is not set
852# CONFIG_SENSORS_LM63 is not set
853# CONFIG_SENSORS_LM70 is not set
854# CONFIG_SENSORS_LM75 is not set
855# CONFIG_SENSORS_LM77 is not set
856# CONFIG_SENSORS_LM78 is not set
857# CONFIG_SENSORS_LM80 is not set
858# CONFIG_SENSORS_LM83 is not set
859# CONFIG_SENSORS_LM85 is not set
860# CONFIG_SENSORS_LM87 is not set
861# CONFIG_SENSORS_LM90 is not set
862# CONFIG_SENSORS_LM92 is not set
863# CONFIG_SENSORS_MAX1619 is not set
864# CONFIG_SENSORS_PC87360 is not set
865# CONFIG_SENSORS_SMSC47M1 is not set
866# CONFIG_SENSORS_SMSC47M192 is not set
867# CONFIG_SENSORS_SMSC47B397 is not set
868# CONFIG_SENSORS_TMP105 is not set
869# CONFIG_SENSORS_W83781D is not set
870# CONFIG_SENSORS_W83791D is not set
871# CONFIG_SENSORS_W83792D is not set
872# CONFIG_SENSORS_W83L785TS is not set
873# CONFIG_SENSORS_W83627HF is not set
874# CONFIG_SENSORS_W83627EHF is not set
875# CONFIG_HWMON_DEBUG_CHIP is not set
876
877#
878# Misc devices
879#
880
881#
882# LED devices
883#
884# CONFIG_NEW_LEDS is not set
885
886#
887# LED drivers
888#
889
890#
891# LED Triggers
892#
893
894#
895# Multimedia devices
896#
897# CONFIG_VIDEO_DEV is not set
898CONFIG_VIDEO_V4L2=y
899
900#
901# Digital Video Broadcasting Devices
902#
903# CONFIG_DVB is not set
904# CONFIG_USB_DABUSB is not set
905
906#
907# Graphics support
908#
909CONFIG_FIRMWARE_EDID=y
910CONFIG_FB=y
911# CONFIG_FB_CFB_FILLRECT is not set
912# CONFIG_FB_CFB_COPYAREA is not set
913# CONFIG_FB_CFB_IMAGEBLIT is not set
914# CONFIG_FB_MACMODES is not set
915# CONFIG_FB_BACKLIGHT is not set
916# CONFIG_FB_MODE_HELPERS is not set
917# CONFIG_FB_TILEBLITTING is not set
918# CONFIG_FB_S1D13XXX is not set
919# CONFIG_FB_VIRTUAL is not set
920CONFIG_FB_OMAP=y
921CONFIG_FB_OMAP_LCDC_EXTERNAL=y
922CONFIG_FB_OMAP_LCDC_HWA742=y
923# CONFIG_FB_OMAP_LCDC_BLIZZARD is not set
924CONFIG_FB_OMAP_MANUAL_UPDATE=y
925CONFIG_FB_OMAP_LCD_MIPID=y
926# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
927CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
928# CONFIG_FB_OMAP_DMA_TUNE is not set
929
930#
931# Console display driver support
932#
933# CONFIG_VGA_CONSOLE is not set
934CONFIG_DUMMY_CONSOLE=y
935# CONFIG_FRAMEBUFFER_CONSOLE is not set
936
937#
938# Logo configuration
939#
940# CONFIG_LOGO is not set
941# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
942
943#
944# Sound
945#
946CONFIG_SOUND=y
947
948#
949# Advanced Linux Sound Architecture
950#
951CONFIG_SND=y
952CONFIG_SND_TIMER=y
953CONFIG_SND_PCM=y
954CONFIG_SND_HWDEP=y
955CONFIG_SND_RAWMIDI=y
956# CONFIG_SND_SEQUENCER is not set
957# CONFIG_SND_MIXER_OSS is not set
958# CONFIG_SND_PCM_OSS is not set
959# CONFIG_SND_DYNAMIC_MINORS is not set
960# CONFIG_SND_SUPPORT_OLD_API is not set
961CONFIG_SND_VERBOSE_PROCFS=y
962# CONFIG_SND_VERBOSE_PRINTK is not set
963# CONFIG_SND_DEBUG is not set
964
965#
966# Generic devices
967#
968CONFIG_SND_DUMMY=y
969# CONFIG_SND_MTPAV is not set
970# CONFIG_SND_SERIAL_U16550 is not set
971# CONFIG_SND_MPU401 is not set
972
973#
974# ALSA ARM devices
975#
976CONFIG_SND_OMAP_AIC23=y
977# CONFIG_SND_OMAP_TSC2101 is not set
978# CONFIG_SND_OMAP24XX_EAC is not set
979
980#
981# USB devices
982#
983CONFIG_SND_USB_AUDIO=y
984
985#
986# Open Sound System
987#
988# CONFIG_SOUND_PRIME is not set
989
990#
991# USB support
992#
993CONFIG_USB_ARCH_HAS_HCD=y
994CONFIG_USB_ARCH_HAS_OHCI=y
995# CONFIG_USB_ARCH_HAS_EHCI is not set
996CONFIG_USB=y
997# CONFIG_USB_DEBUG is not set
998
999#
1000# Miscellaneous USB options
1001#
1002CONFIG_USB_DEVICEFS=y
1003CONFIG_USB_BANDWIDTH=y
1004# CONFIG_USB_DYNAMIC_MINORS is not set
1005CONFIG_USB_SUSPEND=y
1006# CONFIG_USB_OTG is not set
1007
1008#
1009# USB Host Controller Drivers
1010#
1011# CONFIG_USB_ISP116X_HCD is not set
1012# CONFIG_USB_OHCI_HCD is not set
1013# CONFIG_USB_SL811_HCD is not set
1014# CONFIG_USB_MUSB_HDRC is not set
1015# CONFIG_USB_GADGET_MUSB_HDRC is not set
1016
1017#
1018# USB Device Class drivers
1019#
1020# CONFIG_USB_ACM is not set
1021# CONFIG_USB_PRINTER is not set
1022
1023#
1024# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1025#
1026
1027#
1028# may also be needed; see USB_STORAGE Help for more information
1029#
1030CONFIG_USB_STORAGE=y
1031# CONFIG_USB_STORAGE_DEBUG is not set
1032# CONFIG_USB_STORAGE_DATAFAB is not set
1033# CONFIG_USB_STORAGE_FREECOM is not set
1034# CONFIG_USB_STORAGE_DPCM is not set
1035# CONFIG_USB_STORAGE_USBAT is not set
1036# CONFIG_USB_STORAGE_SDDR09 is not set
1037# CONFIG_USB_STORAGE_SDDR55 is not set
1038# CONFIG_USB_STORAGE_JUMPSHOT is not set
1039# CONFIG_USB_STORAGE_ALAUDA is not set
1040# CONFIG_USB_LIBUSUAL is not set
1041
1042#
1043# USB Input Devices
1044#
1045CONFIG_USB_HID=y
1046CONFIG_USB_HIDINPUT=y
1047# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1048# CONFIG_HID_FF is not set
1049# CONFIG_USB_HIDDEV is not set
1050# CONFIG_USB_AIPTEK is not set
1051# CONFIG_USB_WACOM is not set
1052# CONFIG_USB_ACECAD is not set
1053# CONFIG_USB_KBTAB is not set
1054# CONFIG_USB_POWERMATE is not set
1055# CONFIG_USB_TOUCHSCREEN is not set
1056# CONFIG_USB_YEALINK is not set
1057# CONFIG_USB_XPAD is not set
1058# CONFIG_USB_ATI_REMOTE is not set
1059# CONFIG_USB_ATI_REMOTE2 is not set
1060# CONFIG_USB_KEYSPAN_REMOTE is not set
1061# CONFIG_USB_APPLETOUCH is not set
1062
1063#
1064# USB Imaging devices
1065#
1066# CONFIG_USB_MDC800 is not set
1067# CONFIG_USB_MICROTEK is not set
1068
1069#
1070# USB Network Adapters
1071#
1072# CONFIG_USB_CATC is not set
1073# CONFIG_USB_KAWETH is not set
1074# CONFIG_USB_PEGASUS is not set
1075# CONFIG_USB_RTL8150 is not set
1076CONFIG_USB_USBNET=y
1077# CONFIG_USB_NET_AX8817X is not set
1078CONFIG_USB_NET_CDCETHER=y
1079# CONFIG_USB_NET_GL620A is not set
1080CONFIG_USB_NET_NET1080=y
1081# CONFIG_USB_NET_PLUSB is not set
1082# CONFIG_USB_NET_RNDIS_HOST is not set
1083# CONFIG_USB_NET_CDC_SUBSET is not set
1084CONFIG_USB_NET_ZAURUS=y
1085# CONFIG_USB_MON is not set
1086
1087#
1088# USB port drivers
1089#
1090
1091#
1092# USB Serial Converter support
1093#
1094CONFIG_USB_SERIAL=y
1095CONFIG_USB_SERIAL_CONSOLE=y
1096# CONFIG_USB_SERIAL_GENERIC is not set
1097# CONFIG_USB_SERIAL_AIRPRIME is not set
1098# CONFIG_USB_SERIAL_ARK3116 is not set
1099# CONFIG_USB_SERIAL_BELKIN is not set
1100# CONFIG_USB_SERIAL_WHITEHEAT is not set
1101# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
1102# CONFIG_USB_SERIAL_CP2101 is not set
1103# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
1104# CONFIG_USB_SERIAL_EMPEG is not set
1105# CONFIG_USB_SERIAL_FTDI_SIO is not set
1106# CONFIG_USB_SERIAL_FUNSOFT is not set
1107# CONFIG_USB_SERIAL_VISOR is not set
1108# CONFIG_USB_SERIAL_IPAQ is not set
1109# CONFIG_USB_SERIAL_IR is not set
1110# CONFIG_USB_SERIAL_EDGEPORT is not set
1111# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
1112# CONFIG_USB_SERIAL_GARMIN is not set
1113# CONFIG_USB_SERIAL_IPW is not set
1114# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
1115# CONFIG_USB_SERIAL_KEYSPAN is not set
1116# CONFIG_USB_SERIAL_KLSI is not set
1117# CONFIG_USB_SERIAL_KOBIL_SCT is not set
1118# CONFIG_USB_SERIAL_MCT_U232 is not set
1119# CONFIG_USB_SERIAL_NAVMAN is not set
1120CONFIG_USB_SERIAL_PL2303=y
1121# CONFIG_USB_SERIAL_HP4X is not set
1122# CONFIG_USB_SERIAL_SAFE is not set
1123# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1124# CONFIG_USB_SERIAL_TI is not set
1125# CONFIG_USB_SERIAL_CYBERJACK is not set
1126# CONFIG_USB_SERIAL_XIRCOM is not set
1127# CONFIG_USB_SERIAL_OPTION is not set
1128# CONFIG_USB_SERIAL_OMNINET is not set
1129
1130#
1131# USB Miscellaneous drivers
1132#
1133# CONFIG_USB_EMI62 is not set
1134# CONFIG_USB_EMI26 is not set
1135# CONFIG_USB_AUERSWALD is not set
1136# CONFIG_USB_RIO500 is not set
1137# CONFIG_USB_LEGOTOWER is not set
1138# CONFIG_USB_LCD is not set
1139# CONFIG_USB_LED is not set
1140# CONFIG_USB_CYPRESS_CY7C63 is not set
1141# CONFIG_USB_CYTHERM is not set
1142# CONFIG_USB_PHIDGETKIT is not set
1143# CONFIG_USB_PHIDGETSERVO is not set
1144# CONFIG_USB_IDMOUSE is not set
1145# CONFIG_USB_APPLEDISPLAY is not set
1146# CONFIG_USB_LD is not set
1147# CONFIG_USB_TEST is not set
1148
1149#
1150# USB DSL modem support
1151#
1152
1153#
1154# USB Gadget Support
1155#
1156CONFIG_USB_GADGET=y
1157# CONFIG_USB_GADGET_DEBUG_FILES is not set
1158CONFIG_USB_GADGET_SELECTED=y
1159# CONFIG_USB_GADGET_NET2280 is not set
1160# CONFIG_USB_GADGET_PXA2XX is not set
1161# CONFIG_USB_GADGET_GOKU is not set
1162# CONFIG_USB_GADGET_LH7A40X is not set
1163CONFIG_USB_GADGET_OMAP=y
1164CONFIG_USB_OMAP=y
1165# CONFIG_USB_GADGET_AT91 is not set
1166# CONFIG_USB_GADGET_DUMMY_HCD is not set
1167# CONFIG_USB_GADGET_DUALSPEED is not set
1168# CONFIG_USB_ZERO is not set
1169CONFIG_USB_ETH=m
1170CONFIG_USB_ETH_RNDIS=y
1171# CONFIG_USB_GADGETFS is not set
1172CONFIG_USB_FILE_STORAGE=m
1173CONFIG_USB_FILE_STORAGE_TEST=y
1174# CONFIG_USB_G_SERIAL is not set
1175
1176#
1177# MMC/SD Card support
1178#
1179CONFIG_MMC=y
1180# CONFIG_MMC_DEBUG is not set
1181CONFIG_MMC_BLOCK=y
1182CONFIG_MMC_OMAP=y
1183
1184#
1185# Real Time Clock
1186#
1187CONFIG_RTC_LIB=y
1188# CONFIG_RTC_CLASS is not set
1189
1190#
1191# Synchronous Serial Interfaces (SSI)
1192#
1193CONFIG_OMAP_UWIRE=y
1194# CONFIG_OMAP_TSC2101 is not set
1195
1196#
1197# CBUS support
1198#
1199CONFIG_CBUS=y
1200CONFIG_CBUS_TAHVO=y
1201CONFIG_CBUS_TAHVO_USER=y
1202CONFIG_CBUS_TAHVO_USB=y
1203CONFIG_CBUS_RETU=y
1204CONFIG_CBUS_RETU_USER=y
1205CONFIG_CBUS_RETU_POWERBUTTON=y
1206CONFIG_CBUS_RETU_RTC=y
1207CONFIG_CBUS_RETU_WDT=y
1208# CONFIG_CBUS_RETU_HEADSET is not set
1209
1210#
1211# File systems
1212#
1213CONFIG_EXT2_FS=y
1214# CONFIG_EXT2_FS_XATTR is not set
1215# CONFIG_EXT2_FS_XIP is not set
1216CONFIG_EXT3_FS=y
1217CONFIG_EXT3_FS_XATTR=y
1218# CONFIG_EXT3_FS_POSIX_ACL is not set
1219# CONFIG_EXT3_FS_SECURITY is not set
1220CONFIG_JBD=y
1221# CONFIG_JBD_DEBUG is not set
1222CONFIG_FS_MBCACHE=y
1223# CONFIG_REISERFS_FS is not set
1224# CONFIG_JFS_FS is not set
1225# CONFIG_FS_POSIX_ACL is not set
1226# CONFIG_XFS_FS is not set
1227# CONFIG_OCFS2_FS is not set
1228# CONFIG_MINIX_FS is not set
1229# CONFIG_ROMFS_FS is not set
1230CONFIG_INOTIFY=y
1231CONFIG_INOTIFY_USER=y
1232# CONFIG_QUOTA is not set
1233CONFIG_DNOTIFY=y
1234# CONFIG_AUTOFS_FS is not set
1235# CONFIG_AUTOFS4_FS is not set
1236# CONFIG_FUSE_FS is not set
1237
1238#
1239# CD-ROM/DVD Filesystems
1240#
1241# CONFIG_ISO9660_FS is not set
1242# CONFIG_UDF_FS is not set
1243
1244#
1245# DOS/FAT/NT Filesystems
1246#
1247CONFIG_FAT_FS=y
1248CONFIG_MSDOS_FS=y
1249CONFIG_VFAT_FS=y
1250CONFIG_FAT_DEFAULT_CODEPAGE=437
1251CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1252# CONFIG_NTFS_FS is not set
1253
1254#
1255# Pseudo filesystems
1256#
1257CONFIG_PROC_FS=y
1258CONFIG_SYSFS=y
1259CONFIG_TMPFS=y
1260# CONFIG_HUGETLB_PAGE is not set
1261CONFIG_RAMFS=y
1262# CONFIG_CONFIGFS_FS is not set
1263
1264#
1265# Miscellaneous filesystems
1266#
1267# CONFIG_ADFS_FS is not set
1268# CONFIG_AFFS_FS is not set
1269# CONFIG_HFS_FS is not set
1270# CONFIG_HFSPLUS_FS is not set
1271# CONFIG_BEFS_FS is not set
1272# CONFIG_BFS_FS is not set
1273# CONFIG_EFS_FS is not set
1274# CONFIG_JFFS_FS is not set
1275CONFIG_JFFS2_FS=y
1276CONFIG_JFFS2_FS_DEBUG=0
1277CONFIG_JFFS2_FS_WRITEBUFFER=y
1278CONFIG_JFFS2_SUMMARY=y
1279# CONFIG_JFFS2_FS_XATTR is not set
1280CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1281CONFIG_JFFS2_ZLIB=y
1282CONFIG_JFFS2_LZO=y
1283CONFIG_JFFS2_RTIME=y
1284# CONFIG_JFFS2_RUBIN is not set
1285# CONFIG_JFFS2_CMODE_NONE is not set
1286CONFIG_JFFS2_CMODE_PRIORITY=y
1287# CONFIG_JFFS2_CMODE_SIZE is not set
1288# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1289# CONFIG_CRAMFS is not set
1290# CONFIG_VXFS_FS is not set
1291# CONFIG_HPFS_FS is not set
1292# CONFIG_QNX4FS_FS is not set
1293# CONFIG_SYSV_FS is not set
1294# CONFIG_UFS_FS is not set
1295
1296#
1297# Network File Systems
1298#
1299CONFIG_NFS_FS=y
1300CONFIG_NFS_V3=y
1301# CONFIG_NFS_V3_ACL is not set
1302# CONFIG_NFS_V4 is not set
1303# CONFIG_NFS_DIRECTIO is not set
1304# CONFIG_NFSD is not set
1305# CONFIG_ROOT_NFS is not set
1306CONFIG_LOCKD=y
1307CONFIG_LOCKD_V4=y
1308CONFIG_NFS_COMMON=y
1309CONFIG_SUNRPC=y
1310# CONFIG_RPCSEC_GSS_KRB5 is not set
1311# CONFIG_RPCSEC_GSS_SPKM3 is not set
1312# CONFIG_SMB_FS is not set
1313# CONFIG_CIFS is not set
1314# CONFIG_NCP_FS is not set
1315# CONFIG_CODA_FS is not set
1316# CONFIG_AFS_FS is not set
1317# CONFIG_9P_FS is not set
1318
1319#
1320# Partition Types
1321#
1322CONFIG_PARTITION_ADVANCED=y
1323# CONFIG_ACORN_PARTITION is not set
1324# CONFIG_OSF_PARTITION is not set
1325# CONFIG_AMIGA_PARTITION is not set
1326# CONFIG_ATARI_PARTITION is not set
1327# CONFIG_MAC_PARTITION is not set
1328CONFIG_MSDOS_PARTITION=y
1329# CONFIG_BSD_DISKLABEL is not set
1330# CONFIG_MINIX_SUBPARTITION is not set
1331# CONFIG_SOLARIS_X86_PARTITION is not set
1332# CONFIG_UNIXWARE_DISKLABEL is not set
1333# CONFIG_LDM_PARTITION is not set
1334# CONFIG_SGI_PARTITION is not set
1335# CONFIG_ULTRIX_PARTITION is not set
1336# CONFIG_SUN_PARTITION is not set
1337# CONFIG_KARMA_PARTITION is not set
1338# CONFIG_EFI_PARTITION is not set
1339
1340#
1341# Native Language Support
1342#
1343CONFIG_NLS=y
1344CONFIG_NLS_DEFAULT="iso8859-1"
1345CONFIG_NLS_CODEPAGE_437=y
1346# CONFIG_NLS_CODEPAGE_737 is not set
1347# CONFIG_NLS_CODEPAGE_775 is not set
1348# CONFIG_NLS_CODEPAGE_850 is not set
1349CONFIG_NLS_CODEPAGE_852=y
1350# CONFIG_NLS_CODEPAGE_855 is not set
1351# CONFIG_NLS_CODEPAGE_857 is not set
1352# CONFIG_NLS_CODEPAGE_860 is not set
1353# CONFIG_NLS_CODEPAGE_861 is not set
1354# CONFIG_NLS_CODEPAGE_862 is not set
1355# CONFIG_NLS_CODEPAGE_863 is not set
1356# CONFIG_NLS_CODEPAGE_864 is not set
1357# CONFIG_NLS_CODEPAGE_865 is not set
1358# CONFIG_NLS_CODEPAGE_866 is not set
1359# CONFIG_NLS_CODEPAGE_869 is not set
1360# CONFIG_NLS_CODEPAGE_936 is not set
1361# CONFIG_NLS_CODEPAGE_950 is not set
1362# CONFIG_NLS_CODEPAGE_932 is not set
1363# CONFIG_NLS_CODEPAGE_949 is not set
1364# CONFIG_NLS_CODEPAGE_874 is not set
1365# CONFIG_NLS_ISO8859_8 is not set
1366# CONFIG_NLS_CODEPAGE_1250 is not set
1367# CONFIG_NLS_CODEPAGE_1251 is not set
1368# CONFIG_NLS_ASCII is not set
1369CONFIG_NLS_ISO8859_1=y
1370# CONFIG_NLS_ISO8859_2 is not set
1371# CONFIG_NLS_ISO8859_3 is not set
1372# CONFIG_NLS_ISO8859_4 is not set
1373# CONFIG_NLS_ISO8859_5 is not set
1374# CONFIG_NLS_ISO8859_6 is not set
1375# CONFIG_NLS_ISO8859_7 is not set
1376# CONFIG_NLS_ISO8859_9 is not set
1377# CONFIG_NLS_ISO8859_13 is not set
1378# CONFIG_NLS_ISO8859_14 is not set
1379CONFIG_NLS_ISO8859_15=y
1380# CONFIG_NLS_KOI8_R is not set
1381# CONFIG_NLS_KOI8_U is not set
1382CONFIG_NLS_UTF8=y
1383
1384#
1385# Profiling support
1386#
1387# CONFIG_PROFILING is not set
1388
1389#
1390# Kernel hacking
1391#
1392# CONFIG_PRINTK_TIME is not set
1393CONFIG_MAGIC_SYSRQ=y
1394# CONFIG_UNUSED_SYMBOLS is not set
1395CONFIG_DEBUG_KERNEL=y
1396CONFIG_LOG_BUF_SHIFT=14
1397CONFIG_DETECT_SOFTLOCKUP=y
1398# CONFIG_SCHEDSTATS is not set
1399# CONFIG_DEBUG_SLAB is not set
1400# CONFIG_DEBUG_RT_MUTEXES is not set
1401# CONFIG_RT_MUTEX_TESTER is not set
1402# CONFIG_DEBUG_SPINLOCK is not set
1403CONFIG_DEBUG_MUTEXES=y
1404# CONFIG_DEBUG_RWSEMS is not set
1405# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1406# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1407# CONFIG_DEBUG_KOBJECT is not set
1408CONFIG_DEBUG_BUGVERBOSE=y
1409# CONFIG_DEBUG_INFO is not set
1410# CONFIG_DEBUG_FS is not set
1411# CONFIG_DEBUG_VM is not set
1412CONFIG_FRAME_POINTER=y
1413# CONFIG_UNWIND_INFO is not set
1414CONFIG_FORCED_INLINING=y
1415# CONFIG_RCU_TORTURE_TEST is not set
1416# CONFIG_DEBUG_USER is not set
1417# CONFIG_DEBUG_WAITQ is not set
1418CONFIG_DEBUG_ERRORS=y
1419# CONFIG_DEBUG_LL is not set
1420
1421#
1422# Security options
1423#
1424# CONFIG_KEYS is not set
1425CONFIG_SECURITY=y
1426# CONFIG_SECURITY_NETWORK is not set
1427# CONFIG_SECURITY_CAPABILITIES is not set
1428# CONFIG_SECURITY_ROOTPLUG is not set
1429# CONFIG_SECURITY_SECLVL is not set
1430# CONFIG_SECURITY_LOWMEM is not set
1431
1432#
1433# Cryptographic options
1434#
1435# CONFIG_CRYPTO is not set
1436
1437#
1438# Hardware crypto devices
1439#
1440
1441#
1442# Library routines
1443#
1444CONFIG_CRC_CCITT=y
1445# CONFIG_CRC16 is not set
1446CONFIG_CRC32=y
1447# CONFIG_LIBCRC32C is not set
1448CONFIG_LZO=y
1449CONFIG_ZLIB_INFLATE=y
1450CONFIG_ZLIB_DEFLATE=y
1451CONFIG_PLIST=y
diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch
deleted file mode 100644
index 79d53545e3..0000000000
--- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch
+++ /dev/null
@@ -1,415 +0,0 @@
1---
2 arch/arm/mach-omap1/board-nokia770.c | 60 +++++++++++++++++++++++++++++++----
3 arch/arm/mach-omap1/mmu.c | 1
4 drivers/cbus/tahvo-usb.c | 4 +-
5 drivers/i2c/chips/isp1301_omap.c | 1
6 drivers/mtd/mtdchar.c | 6 +++
7 drivers/mtd/mtdpart.c | 5 ++
8 drivers/mtd/nand/omap-hw.c | 55 +++++++++++++++-----------------
9 drivers/serial/8250.c | 2 +
10 drivers/video/omap/omapfb_main.c | 4 +-
11 include/asm-arm/arch-omap/keypad.h | 3 +
12 include/asm-arm/arch-omap/serial.h | 16 +++++++++
13 11 files changed, 118 insertions(+), 39 deletions(-)
14
15Index: linux-g/arch/arm/mach-omap1/board-nokia770.c
16===================================================================
17--- linux-g.orig/arch/arm/mach-omap1/board-nokia770.c 2006-11-08 13:18:39.000000000 +0100
18+++ linux-g/arch/arm/mach-omap1/board-nokia770.c 2007-08-13 16:23:15.000000000 +0200
19@@ -16,6 +16,8 @@
20
21 #include <linux/spi/spi.h>
22 #include <linux/spi/ads7846.h>
23+#include <linux/workqueue.h>
24+#include <linux/delay.h>
25
26 #include <asm/hardware.h>
27 #include <asm/mach-types.h>
28@@ -33,9 +35,12 @@
29 #include <asm/arch/gpio.h>
30 #include <asm/arch/omapfb.h>
31 #include <asm/arch/hwa742.h>
32+#include <asm/arch/lcd_mipid.h>
33
34 #include "../plat-omap/dsp/dsp_common.h"
35
36+#define ADS7846_PENDOWN_GPIO 15
37+
38 static void __init omap_nokia770_init_irq(void)
39 {
40 /* On Nokia 770, the SleepX signal is masked with an
41@@ -75,9 +80,11 @@
42 };
43
44 static struct omap_kp_platform_data nokia770_kp_data = {
45- .rows = 8,
46- .cols = 8,
47- .keymap = nokia770_keymap
48+ .rows = 8,
49+ .cols = 8,
50+ .keymap = nokia770_keymap,
51+ .keymapsize = ARRAY_SIZE(nokia770_keymap),
52+ .delay = 4,
53 };
54
55 static struct platform_device nokia770_kp_device = {
56@@ -94,6 +101,41 @@
57 &nokia770_kp_device,
58 };
59
60+static void mipid_shutdown(struct mipid_platform_data *pdata)
61+{
62+ if (pdata->nreset_gpio != -1) {
63+ printk(KERN_INFO "shutdown LCD\n");
64+ omap_set_gpio_dataout(pdata->nreset_gpio, 0);
65+ msleep(120);
66+ }
67+}
68+
69+static struct mipid_platform_data nokia770_mipid_platform_data = {
70+ .shutdown = mipid_shutdown,
71+};
72+
73+static void mipid_dev_init(void)
74+{
75+ const struct omap_lcd_config *conf;
76+
77+ conf = omap_get_config(OMAP_TAG_LCD, struct omap_lcd_config);
78+ if (conf != NULL) {
79+ nokia770_mipid_platform_data.nreset_gpio = conf->nreset_gpio;
80+ nokia770_mipid_platform_data.data_lines = conf->data_lines;
81+ }
82+}
83+
84+static void ads7846_dev_init(void)
85+{
86+ if (omap_request_gpio(ADS7846_PENDOWN_GPIO) < 0)
87+ printk(KERN_ERR "can't get ads7846 pen down GPIO\n");
88+}
89+
90+static int ads7846_get_pendown_state(void)
91+{
92+ return !omap_get_gpio_datain(ADS7846_PENDOWN_GPIO);
93+}
94+
95 static struct ads7846_platform_data nokia770_ads7846_platform_data __initdata = {
96 .x_max = 0x0fff,
97 .y_max = 0x0fff,
98@@ -101,14 +143,17 @@
99 .pressure_max = 255,
100 .debounce_max = 10,
101 .debounce_tol = 3,
102+ .debounce_rep = 1,
103+ .get_pendown_state = ads7846_get_pendown_state,
104 };
105
106 static struct spi_board_info nokia770_spi_board_info[] __initdata = {
107 [0] = {
108- .modalias = "lcd_lph8923",
109+ .modalias = "lcd_mipid",
110 .bus_num = 2,
111 .chip_select = 3,
112 .max_speed_hz = 12000000,
113+ .platform_data = &nokia770_mipid_platform_data,
114 },
115 [1] = {
116 .modalias = "ads7846",
117@@ -189,7 +234,7 @@
118 },
119 };
120
121-static struct omap_board_config_kernel nokia770_config[] = {
122+static struct omap_board_config_kernel nokia770_config[] __initdata = {
123 { OMAP_TAG_USB, NULL },
124 { OMAP_TAG_MMC, &nokia770_mmc_config },
125 };
126@@ -235,7 +280,7 @@
127 printk("HP connected\n");
128 }
129
130-static void codec_delayed_power_down(void *arg)
131+static void codec_delayed_power_down(struct work_struct *work)
132 {
133 down(&audio_pwr_sem);
134 if (audio_pwr_state == -1)
135@@ -326,9 +371,12 @@
136 ARRAY_SIZE(nokia770_spi_board_info));
137 omap_board_config = nokia770_config;
138 omap_board_config_size = ARRAY_SIZE(nokia770_config);
139+ omap_gpio_init();
140 omap_serial_init();
141 omap_dsp_init();
142 hwa742_dev_init();
143+ ads7846_dev_init();
144+ mipid_dev_init();
145 }
146
147 static void __init omap_nokia770_map_io(void)
148Index: linux-g/arch/arm/mach-omap1/mmu.c
149===================================================================
150--- linux-g.orig/arch/arm/mach-omap1/mmu.c 2007-08-13 13:54:01.000000000 +0200
151+++ linux-g/arch/arm/mach-omap1/mmu.c 2007-08-13 16:23:15.000000000 +0200
152@@ -29,6 +29,7 @@
153 #include <linux/kernel.h>
154 #include <linux/mm.h>
155 #include <linux/err.h>
156+#include <linux/delay.h>
157 #include "mmu.h"
158 #include <asm/tlbflush.h>
159
160Index: linux-g/drivers/cbus/tahvo-usb.c
161===================================================================
162--- linux-g.orig/drivers/cbus/tahvo-usb.c 2006-11-08 13:18:51.000000000 +0100
163+++ linux-g/drivers/cbus/tahvo-usb.c 2007-08-13 16:23:15.000000000 +0200
164@@ -135,8 +135,8 @@
165 if ((!(OTG_CTRL_REG & OTG_DRIVER_SEL)) &&
166 tu->otg.host && tu->otg.state == OTG_STATE_A_HOST) {
167 /* role is host */
168- usb_bus_start_enum(tu->otg.host,
169- tu->otg.host->otg_port);
170+ //usb_bus_start_enum(tu->otg.host,
171+ // tu->otg.host->otg_port);
172 }
173 OTG_IRQ_SRC_REG = DRIVER_SWITCH;
174 } else
175Index: linux-g/drivers/i2c/chips/isp1301_omap.c
176===================================================================
177--- linux-g.orig/drivers/i2c/chips/isp1301_omap.c 2006-11-08 13:18:51.000000000 +0100
178+++ linux-g/drivers/i2c/chips/isp1301_omap.c 2007-08-13 16:23:15.000000000 +0200
179@@ -32,6 +32,7 @@
180 #include <linux/usb_gadget.h>
181 #include <linux/usb.h>
182 #include <linux/usb_otg.h>
183+#include <linux/usb/otg.h>
184 #include <linux/i2c.h>
185 #include <linux/workqueue.h>
186
187Index: linux-g/drivers/mtd/mtdchar.c
188===================================================================
189--- linux-g.orig/drivers/mtd/mtdchar.c 2006-11-08 13:18:55.000000000 +0100
190+++ linux-g/drivers/mtd/mtdchar.c 2007-08-13 16:23:15.000000000 +0200
191@@ -622,6 +622,12 @@
192 break;
193 }
194
195+ case MEMSETOOBSEL:
196+ {
197+ break;
198+ }
199+
200+
201 case MEMGETBADBLOCK:
202 {
203 loff_t offs;
204Index: linux-g/drivers/mtd/mtdpart.c
205===================================================================
206--- linux-g.orig/drivers/mtd/mtdpart.c 2006-11-08 13:18:55.000000000 +0100
207+++ linux-g/drivers/mtd/mtdpart.c 2007-08-13 16:23:15.000000000 +0200
208@@ -200,6 +200,11 @@
209 return -EINVAL;
210 instr->addr += part->offset;
211 ret = part->master->erase(part->master, instr);
212+ if (ret) {
213+ if (instr->fail_addr != 0xffffffff)
214+ instr->fail_addr -= part->offset;
215+ instr->addr -= part->offset;
216+ }
217 return ret;
218 }
219
220Index: linux-g/drivers/mtd/nand/omap-hw.c
221===================================================================
222--- linux-g.orig/drivers/mtd/nand/omap-hw.c 2006-11-08 13:18:55.000000000 +0100
223+++ linux-g/drivers/mtd/nand/omap-hw.c 2007-08-13 16:23:15.000000000 +0200
224@@ -386,11 +386,6 @@
225 return nand_read_reg8(NND_ACCESS);
226 }
227
228-static void omap_nand_write_byte(struct mtd_info *mtd, u_char byte)
229-{
230- nand_write_reg8(NND_ACCESS, byte);
231-}
232-
233 static int omap_nand_dev_ready(struct mtd_info *mtd)
234 {
235 u32 l;
236@@ -425,9 +420,9 @@
237 if (command == NAND_CMD_SEQIN) {
238 int readcmd;
239
240- if (column >= mtd->oobblock) {
241+ if (column >= mtd->writesize) {
242 /* OOB area */
243- column -= mtd->oobblock;
244+ column -= mtd->writesize;
245 readcmd = NAND_CMD_READOOB;
246 } else if (column < 256) {
247 /* First 256 bytes --> READ0 */
248@@ -458,7 +453,7 @@
249 struct nand_chip *this = mtd->priv;
250
251 if (command == NAND_CMD_READOOB) {
252- column += mtd->oobblock;
253+ column += mtd->writesize;
254 command = NAND_CMD_READ0;
255 }
256 switch (command) {
257@@ -495,7 +490,8 @@
258 int n;
259 struct nand_chip *this = mtd->priv;
260
261- if (this->eccmode == NAND_ECC_HW12_2048)
262+ /* Ex NAND_ECC_HW12_2048 */
263+ if ((this->ecc.mode == NAND_ECC_HW) && (this->ecc.size == 2048))
264 n = 4;
265 else
266 n = 1;
267@@ -642,7 +638,8 @@
268 int block_count = 0, i, r;
269
270 this = mtd->priv;
271- if (this->eccmode == NAND_ECC_HW12_2048)
272+ /* Ex NAND_ECC_HW12_2048 */
273+ if ((this->ecc.mode == NAND_ECC_HW) && (this->ecc.size == 2048))
274 block_count = 4;
275 else
276 block_count = 1;
277@@ -672,12 +669,12 @@
278 {
279 static const char *part_parsers[] = { "cmdlinepart", NULL };
280 struct mtd_partition *parts;
281- const struct omap_flash_part_config *cfg;
282+ const struct omap_flash_part_str_config *cfg;
283 char *part_str = NULL;
284 size_t part_str_len;
285 int c;
286
287- cfg = omap_get_var_config(OMAP_TAG_FLASH_PART, &part_str_len);
288+ cfg = omap_get_var_config(OMAP_TAG_FLASH_PART_STR, &part_str_len);
289 if (cfg != NULL) {
290 part_str = kmalloc(part_str_len + 1, GFP_KERNEL);
291 if (part_str == NULL)
292@@ -794,19 +791,20 @@
293
294 /* Used from chip select and nand_command() */
295 this->read_byte = omap_nand_read_byte;
296- this->write_byte = omap_nand_write_byte;
297
298- this->select_chip = omap_nand_select_chip;
299- this->dev_ready = omap_nand_dev_ready;
300- this->chip_delay = 0;
301- this->eccmode = NAND_ECC_HW3_512;
302- this->cmdfunc = omap_nand_command;
303- this->write_buf = omap_nand_write_buf;
304- this->read_buf = omap_nand_read_buf;
305- this->verify_buf = omap_nand_verify_buf;
306- this->calculate_ecc = omap_nand_calculate_ecc;
307- this->correct_data = omap_nand_correct_data;
308- this->enable_hwecc = omap_nand_enable_hwecc;
309+ this->select_chip = omap_nand_select_chip;
310+ this->dev_ready = omap_nand_dev_ready;
311+ this->chip_delay = 0;
312+ this->ecc.mode = NAND_ECC_HW;
313+ this->ecc.bytes = 3;
314+ this->ecc.size = 512;
315+ this->cmdfunc = omap_nand_command;
316+ this->write_buf = omap_nand_write_buf;
317+ this->read_buf = omap_nand_read_buf;
318+ this->verify_buf = omap_nand_verify_buf;
319+ this->ecc.calculate = omap_nand_calculate_ecc;
320+ this->ecc.correct = omap_nand_correct_data;
321+ this->ecc.hwctl = omap_nand_enable_hwecc;
322
323 nand_write_reg(NND_SYSCFG, 0x1); /* Enable auto idle */
324 nand_write_reg(NND_PSC_CLK, 10);
325@@ -822,11 +820,10 @@
326 l = nand_read_reg(NND_CTRL);
327 l |= 1 << 4; /* Set the A8 bit in CTRL reg */
328 nand_write_reg(NND_CTRL, l);
329- this->eccmode = NAND_ECC_HW12_2048;
330- this->eccsteps = 1;
331- this->eccsize = 2048;
332- this->eccbytes = 12;
333- omap_mtd->eccsize = 2048;
334+ this->ecc.mode = NAND_ECC_HW;
335+ this->ecc.steps = 1;
336+ this->ecc.size = 2048;
337+ this->ecc.bytes = 12;
338 nand_write_reg(NND_ECC_SELECT, 6);
339 }
340
341Index: linux-g/drivers/serial/8250.c
342===================================================================
343--- linux-g.orig/drivers/serial/8250.c 2006-11-08 13:18:59.000000000 +0100
344+++ linux-g/drivers/serial/8250.c 2007-08-13 16:23:15.000000000 +0200
345@@ -44,6 +44,8 @@
346 #include <asm/io.h>
347 #include <asm/irq.h>
348
349+#include <asm/arch/serial.h>
350+
351 #include "8250.h"
352
353 /*
354Index: linux-g/drivers/video/omap/omapfb_main.c
355===================================================================
356--- linux-g.orig/drivers/video/omap/omapfb_main.c 2007-08-13 13:54:01.000000000 +0200
357+++ linux-g/drivers/video/omap/omapfb_main.c 2007-08-13 16:23:15.000000000 +0200
358@@ -110,7 +110,7 @@
359
360 #ifdef CONFIG_FB_OMAP_LCDC_EXTERNAL
361 #ifdef CONFIG_ARCH_OMAP1
362-extern struct lcd_ctrl_extif omap1_ext_if;
363+extern struct lcd_ctrl_extif sossi_extif;
364 #else
365 extern struct lcd_ctrl_extif omap2_ext_if;
366 #endif
367@@ -1658,7 +1658,7 @@
368 #ifdef CONFIG_ARCH_OMAP1
369 fbdev->int_ctrl = &omap1_int_ctrl;
370 #ifdef CONFIG_FB_OMAP_LCDC_EXTERNAL
371- fbdev->ext_if = &omap1_ext_if;
372+ fbdev->ext_if = &sossi_extif;
373 #endif
374 #else /* OMAP2 */
375 fbdev->int_ctrl = &omap2_int_ctrl;
376Index: linux-g/include/asm-arm/arch-omap/keypad.h
377===================================================================
378--- linux-g.orig/include/asm-arm/arch-omap/keypad.h 2006-11-08 13:19:11.000000000 +0100
379+++ linux-g/include/asm-arm/arch-omap/keypad.h 2007-08-13 16:23:15.000000000 +0200
380@@ -14,7 +14,10 @@
381 int rows;
382 int cols;
383 int *keymap;
384+ unsigned int keymapsize;
385 unsigned int rep:1;
386+ unsigned long delay;
387+ unsigned int dbounce:1;
388 /* specific to OMAP242x*/
389 unsigned int *row_gpios;
390 unsigned int *col_gpios;
391Index: linux-g/include/asm-arm/arch-omap/serial.h
392===================================================================
393--- linux-g.orig/include/asm-arm/arch-omap/serial.h 2007-08-13 13:54:01.000000000 +0200
394+++ linux-g/include/asm-arm/arch-omap/serial.h 2007-08-13 16:23:15.000000000 +0200
395@@ -26,4 +26,20 @@
396 #define OMAP1510_BASE_BAUD (12000000/16)
397 #define OMAP16XX_BASE_BAUD (48000000/16)
398
399+#define is_omap_port(p) ({int __ret = 0; \
400+ if (p == IO_ADDRESS(OMAP_UART1_BASE) || \
401+ p == IO_ADDRESS(OMAP_UART2_BASE) || \
402+ p == IO_ADDRESS(OMAP_UART3_BASE)) \
403+ __ret = 1; \
404+ __ret; \
405+ })
406+
407+#define is_omap_port(p) ({int __ret = 0; \
408+ if (p == IO_ADDRESS(OMAP_UART1_BASE) || \
409+ p == IO_ADDRESS(OMAP_UART2_BASE) || \
410+ p == IO_ADDRESS(OMAP_UART3_BASE)) \
411+ __ret = 1; \
412+ __ret; \
413+ })
414+
415 #endif
diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig
deleted file mode 100644
index 55485e25b4..0000000000
--- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig
+++ /dev/null
@@ -1,1312 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-omap1
4# Wed May 23 16:23:22 2007
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y
9CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y
12CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_VECTORS_BASE=0xffff0000
15CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
16
17#
18# Code maturity level options
19#
20CONFIG_EXPERIMENTAL=y
21CONFIG_BROKEN_ON_SMP=y
22CONFIG_INIT_ENV_ARG_LIMIT=32
23
24#
25# General setup
26#
27CONFIG_LOCALVERSION=""
28# CONFIG_LOCALVERSION_AUTO is not set
29CONFIG_SWAP=y
30CONFIG_SYSVIPC=y
31CONFIG_POSIX_MQUEUE=y
32# CONFIG_BSD_PROCESS_ACCT is not set
33# CONFIG_TASKSTATS is not set
34# CONFIG_AUDIT is not set
35# CONFIG_IKCONFIG is not set
36# CONFIG_RELAY is not set
37CONFIG_INITRAMFS_SOURCE=""
38CONFIG_CC_OPTIMIZE_FOR_SIZE=y
39# CONFIG_EMBEDDED is not set
40CONFIG_UID16=y
41CONFIG_SYSCTL=y
42CONFIG_KALLSYMS=y
43# CONFIG_KALLSYMS_ALL is not set
44# CONFIG_KALLSYMS_EXTRA_PASS is not set
45CONFIG_HOTPLUG=y
46CONFIG_PRINTK=y
47CONFIG_BUG=y
48CONFIG_ELF_CORE=y
49CONFIG_BASE_FULL=y
50CONFIG_FUTEX=y
51CONFIG_EPOLL=y
52CONFIG_SHMEM=y
53CONFIG_SLAB=y
54CONFIG_VM_EVENT_COUNTERS=y
55CONFIG_RT_MUTEXES=y
56# CONFIG_TINY_SHMEM is not set
57CONFIG_BASE_SMALL=0
58# CONFIG_SLOB is not set
59
60#
61# Loadable module support
62#
63CONFIG_MODULES=y
64CONFIG_MODULE_UNLOAD=y
65# CONFIG_MODULE_FORCE_UNLOAD is not set
66# CONFIG_MODVERSIONS is not set
67# CONFIG_MODULE_SRCVERSION_ALL is not set
68# CONFIG_KMOD is not set
69
70#
71# Block layer
72#
73# CONFIG_BLK_DEV_IO_TRACE is not set
74
75#
76# IO Schedulers
77#
78CONFIG_IOSCHED_NOOP=y
79# CONFIG_IOSCHED_AS is not set
80# CONFIG_IOSCHED_DEADLINE is not set
81# CONFIG_IOSCHED_CFQ is not set
82# CONFIG_DEFAULT_AS is not set
83# CONFIG_DEFAULT_DEADLINE is not set
84# CONFIG_DEFAULT_CFQ is not set
85CONFIG_DEFAULT_NOOP=y
86CONFIG_DEFAULT_IOSCHED="noop"
87
88#
89# System Type
90#
91# CONFIG_ARCH_AAEC2000 is not set
92# CONFIG_ARCH_INTEGRATOR is not set
93# CONFIG_ARCH_REALVIEW is not set
94# CONFIG_ARCH_VERSATILE is not set
95# CONFIG_ARCH_AT91 is not set
96# CONFIG_ARCH_CLPS7500 is not set
97# CONFIG_ARCH_CLPS711X is not set
98# CONFIG_ARCH_CO285 is not set
99# CONFIG_ARCH_EBSA110 is not set
100# CONFIG_ARCH_EP93XX is not set
101# CONFIG_ARCH_FOOTBRIDGE is not set
102# CONFIG_ARCH_NETX is not set
103# CONFIG_ARCH_H720X is not set
104# CONFIG_ARCH_IMX is not set
105# CONFIG_ARCH_IOP3XX is not set
106# CONFIG_ARCH_IXP4XX is not set
107# CONFIG_ARCH_IXP2000 is not set
108# CONFIG_ARCH_IXP23XX is not set
109# CONFIG_ARCH_L7200 is not set
110# CONFIG_ARCH_PNX4008 is not set
111# CONFIG_ARCH_PXA is not set
112# CONFIG_ARCH_RPC is not set
113# CONFIG_ARCH_SA1100 is not set
114# CONFIG_ARCH_S3C2410 is not set
115# CONFIG_ARCH_SHARK is not set
116# CONFIG_ARCH_LH7A40X is not set
117CONFIG_ARCH_OMAP=y
118
119#
120# TI OMAP Implementations
121#
122# CONFIG_ARCH_OMAP1 is not set
123CONFIG_ARCH_OMAP2=y
124
125#
126# OMAP Feature Selections
127#
128CONFIG_OMAP_RESET_CLOCKS=y
129CONFIG_OMAP_BOOT_TAG=y
130CONFIG_OMAP_BOOT_REASON=y
131CONFIG_OMAP_COMPONENT_VERSION=y
132CONFIG_OMAP_GPIO_SWITCH=y
133# CONFIG_OMAP_MUX is not set
134CONFIG_OMAP_STI=y
135CONFIG_OMAP_STI_CONSOLE=y
136# CONFIG_OMAP_MCBSP is not set
137# CONFIG_OMAP_MPU_TIMER is not set
138CONFIG_OMAP_32K_TIMER=y
139CONFIG_OMAP_32K_TIMER_HZ=128
140CONFIG_OMAP_DM_TIMER=y
141# CONFIG_OMAP_LL_DEBUG_UART1 is not set
142# CONFIG_OMAP_LL_DEBUG_UART2 is not set
143CONFIG_OMAP_LL_DEBUG_UART3=y
144CONFIG_OMAP_DSP=y
145# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
146CONFIG_OMAP_DSP_TASK_MULTIOPEN=y
147CONFIG_OMAP_DSP_FBEXPORT=y
148CONFIG_MACH_OMAP_GENERIC=y
149
150#
151# OMAP Core Type
152#
153CONFIG_ARCH_OMAP24XX=y
154CONFIG_ARCH_OMAP2420=y
155
156#
157# OMAP Board Type
158#
159CONFIG_MACH_NOKIA_N800=y
160CONFIG_MACH_OMAP2_TUSB6010=y
161# CONFIG_MACH_OMAP_H4 is not set
162# CONFIG_MACH_OMAP_APOLLON is not set
163
164#
165# Processor Type
166#
167CONFIG_CPU_32=y
168CONFIG_CPU_V6=y
169# CONFIG_CPU_32v6K is not set
170CONFIG_CPU_32v6=y
171CONFIG_CPU_ABRT_EV6=y
172CONFIG_CPU_CACHE_V6=y
173CONFIG_CPU_CACHE_VIPT=y
174CONFIG_CPU_COPY_V6=y
175CONFIG_CPU_TLB_V6=y
176
177#
178# Processor Features
179#
180CONFIG_ARM_THUMB=y
181# CONFIG_CPU_ICACHE_DISABLE is not set
182# CONFIG_CPU_DCACHE_DISABLE is not set
183# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
184# CONFIG_CPU_BPREDICT_DISABLE is not set
185
186#
187# Bus support
188#
189
190#
191# PCCARD (PCMCIA/CardBus) support
192#
193# CONFIG_PCCARD is not set
194
195#
196# Kernel Features
197#
198# CONFIG_PREEMPT is not set
199CONFIG_NO_IDLE_HZ=y
200CONFIG_HZ=128
201CONFIG_AEABI=y
202CONFIG_OABI_COMPAT=y
203# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
204CONFIG_SELECT_MEMORY_MODEL=y
205CONFIG_FLATMEM_MANUAL=y
206# CONFIG_DISCONTIGMEM_MANUAL is not set
207# CONFIG_SPARSEMEM_MANUAL is not set
208CONFIG_FLATMEM=y
209CONFIG_FLAT_NODE_MEM_MAP=y
210# CONFIG_SPARSEMEM_STATIC is not set
211CONFIG_SPLIT_PTLOCK_CPUS=4
212# CONFIG_RESOURCES_64BIT is not set
213CONFIG_LEDS=y
214# CONFIG_LEDS_TIMER is not set
215# CONFIG_LEDS_CPU is not set
216CONFIG_ALIGNMENT_TRAP=y
217
218#
219# Boot options
220#
221CONFIG_ZBOOT_ROM_TEXT=0x10C08000
222CONFIG_ZBOOT_ROM_BSS=0x10200000
223# CONFIG_ZBOOT_ROM is not set
224CONFIG_CMDLINE="root=1f03 rootfstype=jffs2"
225# CONFIG_XIP_KERNEL is not set
226
227#
228# CPU Frequency scaling
229#
230# CONFIG_CPU_FREQ is not set
231
232#
233# Floating point emulation
234#
235
236#
237# At least one emulation must be selected
238#
239CONFIG_FPE_NWFPE=y
240# CONFIG_FPE_NWFPE_XP is not set
241# CONFIG_FPE_FASTFPE is not set
242CONFIG_VFP=y
243
244#
245# Userspace binary formats
246#
247CONFIG_BINFMT_ELF=y
248# CONFIG_BINFMT_AOUT is not set
249# CONFIG_BINFMT_MISC is not set
250
251#
252# Power management options
253#
254CONFIG_PM=y
255# CONFIG_PM_LEGACY is not set
256# CONFIG_PM_DEBUG is not set
257# CONFIG_APM is not set
258
259#
260# Networking
261#
262CONFIG_NET=y
263
264#
265# Networking options
266#
267# CONFIG_NETDEBUG is not set
268CONFIG_PACKET=y
269# CONFIG_PACKET_MMAP is not set
270CONFIG_UNIX=y
271# CONFIG_NET_KEY is not set
272CONFIG_INET=y
273CONFIG_IP_MULTICAST=y
274# CONFIG_IP_ADVANCED_ROUTER is not set
275CONFIG_IP_FIB_HASH=y
276# CONFIG_IP_PNP is not set
277# CONFIG_NET_IPIP is not set
278# CONFIG_NET_IPGRE is not set
279# CONFIG_IP_MROUTE is not set
280# CONFIG_ARPD is not set
281# CONFIG_SYN_COOKIES is not set
282# CONFIG_INET_AH is not set
283# CONFIG_INET_ESP is not set
284# CONFIG_INET_IPCOMP is not set
285# CONFIG_INET_XFRM_TUNNEL is not set
286# CONFIG_INET_TUNNEL is not set
287# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
288# CONFIG_INET_XFRM_MODE_TUNNEL is not set
289CONFIG_INET_DIAG=y
290CONFIG_INET_TCP_DIAG=y
291# CONFIG_TCP_CONG_ADVANCED is not set
292CONFIG_TCP_CONG_BIC=y
293
294#
295# IP: Virtual Server Configuration
296#
297# CONFIG_IP_VS is not set
298# CONFIG_IPV6 is not set
299# CONFIG_INET6_XFRM_TUNNEL is not set
300# CONFIG_INET6_TUNNEL is not set
301# CONFIG_NETWORK_SECMARK is not set
302CONFIG_NETFILTER=y
303# CONFIG_NETFILTER_DEBUG is not set
304
305#
306# Core Netfilter Configuration
307#
308CONFIG_NETFILTER_NETLINK=y
309# CONFIG_NETFILTER_NETLINK_QUEUE is not set
310# CONFIG_NETFILTER_NETLINK_LOG is not set
311# CONFIG_NF_CONNTRACK is not set
312CONFIG_NETFILTER_XTABLES=y
313# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
314# CONFIG_NETFILTER_XT_TARGET_MARK is not set
315# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
316# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
317# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
318# CONFIG_NETFILTER_XT_MATCH_ESP is not set
319# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
320# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
321# CONFIG_NETFILTER_XT_MATCH_MAC is not set
322# CONFIG_NETFILTER_XT_MATCH_MARK is not set
323# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
324# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
325# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
326# CONFIG_NETFILTER_XT_MATCH_REALM is not set
327# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
328# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
329# CONFIG_NETFILTER_XT_MATCH_STRING is not set
330# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
331
332#
333# IP: Netfilter Configuration
334#
335# CONFIG_IP_NF_CONNTRACK is not set
336# CONFIG_IP_NF_QUEUE is not set
337CONFIG_IP_NF_IPTABLES=y
338# CONFIG_IP_NF_MATCH_IPRANGE is not set
339# CONFIG_IP_NF_MATCH_TOS is not set
340# CONFIG_IP_NF_MATCH_RECENT is not set
341# CONFIG_IP_NF_MATCH_ECN is not set
342# CONFIG_IP_NF_MATCH_DSCP is not set
343# CONFIG_IP_NF_MATCH_AH is not set
344# CONFIG_IP_NF_MATCH_TTL is not set
345# CONFIG_IP_NF_MATCH_OWNER is not set
346# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
347# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
348CONFIG_IP_NF_FILTER=y
349# CONFIG_IP_NF_TARGET_REJECT is not set
350# CONFIG_IP_NF_TARGET_LOG is not set
351# CONFIG_IP_NF_TARGET_ULOG is not set
352# CONFIG_IP_NF_TARGET_TCPMSS is not set
353CONFIG_IP_NF_TARGET_IDLETIMER=y
354# CONFIG_IP_NF_MANGLE is not set
355# CONFIG_IP_NF_RAW is not set
356# CONFIG_IP_NF_ARPTABLES is not set
357
358#
359# DCCP Configuration (EXPERIMENTAL)
360#
361# CONFIG_IP_DCCP is not set
362
363#
364# SCTP Configuration (EXPERIMENTAL)
365#
366# CONFIG_IP_SCTP is not set
367
368#
369# TIPC Configuration (EXPERIMENTAL)
370#
371# CONFIG_TIPC is not set
372# CONFIG_ATM is not set
373# CONFIG_BRIDGE is not set
374# CONFIG_VLAN_8021Q is not set
375# CONFIG_DECNET is not set
376# CONFIG_LLC2 is not set
377# CONFIG_IPX is not set
378# CONFIG_ATALK is not set
379# CONFIG_X25 is not set
380# CONFIG_LAPB is not set
381# CONFIG_ECONET is not set
382# CONFIG_WAN_ROUTER is not set
383
384#
385# QoS and/or fair queueing
386#
387# CONFIG_NET_SCHED is not set
388
389#
390# Network testing
391#
392# CONFIG_NET_PKTGEN is not set
393# CONFIG_HAMRADIO is not set
394# CONFIG_IRDA is not set
395CONFIG_BT=y
396CONFIG_BT_L2CAP=y
397CONFIG_BT_SCO=y
398CONFIG_BT_RFCOMM=y
399CONFIG_BT_RFCOMM_TTY=y
400CONFIG_BT_BNEP=y
401# CONFIG_BT_BNEP_MC_FILTER is not set
402# CONFIG_BT_BNEP_PROTO_FILTER is not set
403CONFIG_BT_HIDP=y
404
405#
406# Bluetooth device drivers
407#
408# CONFIG_BT_HCIUART is not set
409# CONFIG_BT_HCIBRF6150 is not set
410CONFIG_BT_HCIH4P=y
411# CONFIG_BT_HCIVHCI is not set
412# CONFIG_IEEE80211 is not set
413CONFIG_WIRELESS_EXT=y
414
415#
416# Device Drivers
417#
418
419#
420# Generic Driver Options
421#
422CONFIG_STANDALONE=y
423CONFIG_PREVENT_FIRMWARE_BUILD=y
424CONFIG_FW_LOADER=y
425# CONFIG_DEBUG_DRIVER is not set
426# CONFIG_SYS_HYPERVISOR is not set
427
428#
429# Connector - unified userspace <-> kernelspace linker
430#
431# CONFIG_CONNECTOR is not set
432
433#
434# Memory Technology Devices (MTD)
435#
436CONFIG_MTD=y
437# CONFIG_MTD_DEBUG is not set
438# CONFIG_MTD_CONCAT is not set
439CONFIG_MTD_PARTITIONS=y
440# CONFIG_MTD_REDBOOT_PARTS is not set
441CONFIG_MTD_CMDLINE_PARTS=y
442# CONFIG_MTD_AFS_PARTS is not set
443
444#
445# User Modules And Translation Layers
446#
447CONFIG_MTD_CHAR=y
448CONFIG_MTD_BLOCK=y
449# CONFIG_FTL is not set
450# CONFIG_NFTL is not set
451# CONFIG_INFTL is not set
452# CONFIG_RFD_FTL is not set
453
454#
455# RAM/ROM/Flash chip drivers
456#
457# CONFIG_MTD_CFI is not set
458# CONFIG_MTD_JEDECPROBE is not set
459CONFIG_MTD_MAP_BANK_WIDTH_1=y
460CONFIG_MTD_MAP_BANK_WIDTH_2=y
461CONFIG_MTD_MAP_BANK_WIDTH_4=y
462# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
463# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
464# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
465CONFIG_MTD_CFI_I1=y
466CONFIG_MTD_CFI_I2=y
467# CONFIG_MTD_CFI_I4 is not set
468# CONFIG_MTD_CFI_I8 is not set
469# CONFIG_MTD_RAM is not set
470# CONFIG_MTD_ROM is not set
471# CONFIG_MTD_ABSENT is not set
472# CONFIG_MTD_OBSOLETE_CHIPS is not set
473
474#
475# Mapping drivers for chip access
476#
477# CONFIG_MTD_COMPLEX_MAPPINGS is not set
478# CONFIG_MTD_PLATRAM is not set
479
480#
481# Self-contained MTD device drivers
482#
483# CONFIG_MTD_DATAFLASH is not set
484# CONFIG_MTD_M25P80 is not set
485# CONFIG_MTD_SLRAM is not set
486# CONFIG_MTD_PHRAM is not set
487# CONFIG_MTD_MTDRAM is not set
488# CONFIG_MTD_BLOCK2MTD is not set
489
490#
491# Disk-On-Chip Device Drivers
492#
493# CONFIG_MTD_DOC2000 is not set
494# CONFIG_MTD_DOC2001 is not set
495# CONFIG_MTD_DOC2001PLUS is not set
496
497#
498# NAND Flash Device Drivers
499#
500# CONFIG_MTD_NAND is not set
501
502#
503# OneNAND Flash Device Drivers
504#
505CONFIG_MTD_ONENAND=y
506# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
507# CONFIG_MTD_ONENAND_GENERIC is not set
508CONFIG_MTD_ONENAND_OMAP2=y
509CONFIG_MTD_ONENAND_OTP=y
510
511#
512# Parallel port support
513#
514# CONFIG_PARPORT is not set
515
516#
517# Plug and Play support
518#
519
520#
521# Block devices
522#
523# CONFIG_BLK_DEV_COW_COMMON is not set
524CONFIG_BLK_DEV_LOOP=y
525# CONFIG_BLK_DEV_CRYPTOLOOP is not set
526# CONFIG_BLK_DEV_NBD is not set
527CONFIG_BLK_DEV_RAM=y
528CONFIG_BLK_DEV_RAM_COUNT=16
529CONFIG_BLK_DEV_RAM_SIZE=4096
530CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
531CONFIG_BLK_DEV_INITRD=y
532# CONFIG_CDROM_PKTCDVD is not set
533# CONFIG_ATA_OVER_ETH is not set
534
535#
536# SCSI device support
537#
538# CONFIG_RAID_ATTRS is not set
539CONFIG_SCSI=y
540# CONFIG_SCSI_PROC_FS is not set
541
542#
543# SCSI support type (disk, tape, CD-ROM)
544#
545CONFIG_BLK_DEV_SD=y
546# CONFIG_CHR_DEV_ST is not set
547# CONFIG_CHR_DEV_OSST is not set
548# CONFIG_BLK_DEV_SR is not set
549# CONFIG_CHR_DEV_SG is not set
550# CONFIG_CHR_DEV_SCH is not set
551
552#
553# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
554#
555# CONFIG_SCSI_MULTI_LUN is not set
556# CONFIG_SCSI_CONSTANTS is not set
557# CONFIG_SCSI_LOGGING is not set
558
559#
560# SCSI Transport Attributes
561#
562# CONFIG_SCSI_SPI_ATTRS is not set
563# CONFIG_SCSI_FC_ATTRS is not set
564# CONFIG_SCSI_ISCSI_ATTRS is not set
565# CONFIG_SCSI_SAS_ATTRS is not set
566
567#
568# SCSI low-level drivers
569#
570# CONFIG_ISCSI_TCP is not set
571# CONFIG_SCSI_SATA is not set
572# CONFIG_SCSI_DEBUG is not set
573
574#
575# Multi-device support (RAID and LVM)
576#
577# CONFIG_MD is not set
578
579#
580# Fusion MPT device support
581#
582# CONFIG_FUSION is not set
583
584#
585# IEEE 1394 (FireWire) support
586#
587
588#
589# I2O device support
590#
591
592#
593# Network device support
594#
595CONFIG_NETDEVICES=y
596# CONFIG_DUMMY is not set
597# CONFIG_BONDING is not set
598# CONFIG_EQUALIZER is not set
599CONFIG_TUN=y
600
601#
602# PHY device support
603#
604
605#
606# Ethernet (10 or 100Mbit)
607#
608# CONFIG_NET_ETHERNET is not set
609
610#
611# Ethernet (1000 Mbit)
612#
613
614#
615# Ethernet (10000 Mbit)
616#
617
618#
619# Token Ring devices
620#
621
622#
623# Wireless LAN (non-hamradio)
624#
625CONFIG_NET_RADIO=y
626# CONFIG_NET_WIRELESS_RTNETLINK is not set
627
628#
629# Obsolete Wireless cards support (pre-802.11)
630#
631# CONFIG_STRIP is not set
632# CONFIG_HOSTAP is not set
633
634#
635# Wan interfaces
636#
637# CONFIG_WAN is not set
638CONFIG_PPP=y
639# CONFIG_PPP_MULTILINK is not set
640CONFIG_PPP_FILTER=y
641CONFIG_PPP_ASYNC=y
642CONFIG_PPP_SYNC_TTY=y
643CONFIG_PPP_DEFLATE=y
644CONFIG_PPP_BSDCOMP=y
645# CONFIG_PPP_MPPE is not set
646# CONFIG_PPPOE is not set
647# CONFIG_SLIP is not set
648# CONFIG_SHAPER is not set
649# CONFIG_NETCONSOLE is not set
650# CONFIG_NETPOLL is not set
651# CONFIG_NET_POLL_CONTROLLER is not set
652
653#
654# ISDN subsystem
655#
656# CONFIG_ISDN is not set
657
658#
659# Input device support
660#
661CONFIG_INPUT=y
662
663#
664# Userland interfaces
665#
666CONFIG_INPUT_MOUSEDEV=y
667# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
668CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
669CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
670# CONFIG_INPUT_JOYDEV is not set
671# CONFIG_INPUT_TSDEV is not set
672CONFIG_INPUT_EVDEV=y
673# CONFIG_INPUT_EVBUG is not set
674
675#
676# Input Device Drivers
677#
678CONFIG_INPUT_KEYBOARD=y
679# CONFIG_KEYBOARD_ATKBD is not set
680# CONFIG_KEYBOARD_SUNKBD is not set
681# CONFIG_KEYBOARD_LKKBD is not set
682# CONFIG_KEYBOARD_XTKBD is not set
683# CONFIG_KEYBOARD_NEWTON is not set
684# CONFIG_KEYBOARD_OMAP is not set
685# CONFIG_INPUT_MOUSE is not set
686# CONFIG_INPUT_JOYSTICK is not set
687CONFIG_INPUT_TOUCHSCREEN=y
688# CONFIG_TOUCHSCREEN_ADS7846 is not set
689# CONFIG_TOUCHSCREEN_GUNZE is not set
690# CONFIG_TOUCHSCREEN_ELO is not set
691# CONFIG_TOUCHSCREEN_MTOUCH is not set
692# CONFIG_TOUCHSCREEN_MK712 is not set
693# CONFIG_INPUT_MISC is not set
694
695#
696# Hardware I/O ports
697#
698CONFIG_SERIO=y
699CONFIG_SERIO_SERPORT=y
700# CONFIG_SERIO_RAW is not set
701# CONFIG_GAMEPORT is not set
702
703#
704# Character devices
705#
706CONFIG_VT=y
707CONFIG_VT_CONSOLE=y
708CONFIG_HW_CONSOLE=y
709# CONFIG_VT_HW_CONSOLE_BINDING is not set
710# CONFIG_SERIAL_NONSTANDARD is not set
711
712#
713# Serial drivers
714#
715# CONFIG_SERIAL_8250 is not set
716
717#
718# Non-8250 serial port support
719#
720CONFIG_SERIAL_OMAP=y
721CONFIG_SERIAL_OMAP_CONSOLE=y
722CONFIG_SERIAL_CORE=y
723CONFIG_SERIAL_CORE_CONSOLE=y
724CONFIG_UNIX98_PTYS=y
725# CONFIG_LEGACY_PTYS is not set
726
727#
728# IPMI
729#
730# CONFIG_IPMI_HANDLER is not set
731
732#
733# Watchdog Cards
734#
735CONFIG_WATCHDOG=y
736CONFIG_WATCHDOG_NOWAYOUT=y
737
738#
739# Watchdog Device Drivers
740#
741# CONFIG_SOFT_WATCHDOG is not set
742CONFIG_OMAP_WATCHDOG=y
743# CONFIG_HW_RANDOM is not set
744CONFIG_OMAP_RNG=y
745# CONFIG_NVRAM is not set
746# CONFIG_DTLK is not set
747# CONFIG_R3964 is not set
748
749#
750# Ftape, the floppy tape device driver
751#
752# CONFIG_RAW_DRIVER is not set
753
754#
755# TPM devices
756#
757# CONFIG_TCG_TPM is not set
758# CONFIG_TELCLOCK is not set
759
760#
761# I2C support
762#
763CONFIG_I2C=y
764# CONFIG_I2C_CHARDEV is not set
765
766#
767# I2C Algorithms
768#
769# CONFIG_I2C_ALGOBIT is not set
770# CONFIG_I2C_ALGOPCF is not set
771# CONFIG_I2C_ALGOPCA is not set
772
773#
774# I2C Hardware Bus support
775#
776# CONFIG_I2C_OCORES is not set
777# CONFIG_I2C_PARPORT_LIGHT is not set
778# CONFIG_I2C_STUB is not set
779# CONFIG_I2C_PCA_ISA is not set
780CONFIG_I2C_OMAP=y
781
782#
783# Miscellaneous I2C Chip support
784#
785# CONFIG_SENSORS_DS1337 is not set
786# CONFIG_SENSORS_DS1374 is not set
787# CONFIG_SENSORS_EEPROM is not set
788# CONFIG_SENSORS_PCF8574 is not set
789# CONFIG_SENSORS_PCA9539 is not set
790# CONFIG_SENSORS_PCF8591 is not set
791# CONFIG_TPS65010 is not set
792# CONFIG_SENSORS_TLV320AIC23 is not set
793# CONFIG_GPIOEXPANDER_OMAP is not set
794CONFIG_MENELAUS=y
795# CONFIG_SENSORS_MAX6875 is not set
796# CONFIG_I2C_DEBUG_CORE is not set
797# CONFIG_I2C_DEBUG_ALGO is not set
798# CONFIG_I2C_DEBUG_BUS is not set
799# CONFIG_I2C_DEBUG_CHIP is not set
800
801#
802# SPI support
803#
804CONFIG_SPI=y
805# CONFIG_SPI_DEBUG is not set
806CONFIG_SPI_MASTER=y
807
808#
809# SPI Master Controller Drivers
810#
811# CONFIG_SPI_BITBANG is not set
812# CONFIG_SPI_OMAP_UWIRE is not set
813CONFIG_SPI_OMAP24XX=y
814
815#
816# SPI Protocol Masters
817#
818CONFIG_SPI_TSC2301=y
819CONFIG_SPI_TSC2301_KEYPAD=y
820CONFIG_SPI_TSC2301_TOUCHSCREEN=y
821CONFIG_SPI_TSC2301_AUDIO=y
822
823#
824# Dallas's 1-wire bus
825#
826
827#
828# Hardware Monitoring support
829#
830CONFIG_HWMON=y
831# CONFIG_HWMON_VID is not set
832# CONFIG_SENSORS_ABITUGURU is not set
833# CONFIG_SENSORS_ADM1021 is not set
834# CONFIG_SENSORS_ADM1025 is not set
835# CONFIG_SENSORS_ADM1026 is not set
836# CONFIG_SENSORS_ADM1031 is not set
837# CONFIG_SENSORS_ADM9240 is not set
838# CONFIG_SENSORS_ASB100 is not set
839# CONFIG_SENSORS_ATXP1 is not set
840# CONFIG_SENSORS_DS1621 is not set
841# CONFIG_SENSORS_F71805F is not set
842# CONFIG_SENSORS_FSCHER is not set
843# CONFIG_SENSORS_FSCPOS is not set
844# CONFIG_SENSORS_GL518SM is not set
845# CONFIG_SENSORS_GL520SM is not set
846# CONFIG_SENSORS_IT87 is not set
847# CONFIG_SENSORS_LM63 is not set
848# CONFIG_SENSORS_LM70 is not set
849# CONFIG_SENSORS_LM75 is not set
850# CONFIG_SENSORS_LM77 is not set
851# CONFIG_SENSORS_LM78 is not set
852# CONFIG_SENSORS_LM80 is not set
853# CONFIG_SENSORS_LM83 is not set
854# CONFIG_SENSORS_LM85 is not set
855# CONFIG_SENSORS_LM87 is not set
856# CONFIG_SENSORS_LM90 is not set
857# CONFIG_SENSORS_LM92 is not set
858# CONFIG_SENSORS_MAX1619 is not set
859# CONFIG_SENSORS_PC87360 is not set
860# CONFIG_SENSORS_SMSC47M1 is not set
861# CONFIG_SENSORS_SMSC47M192 is not set
862# CONFIG_SENSORS_SMSC47B397 is not set
863CONFIG_SENSORS_TMP105=y
864# CONFIG_SENSORS_W83781D is not set
865# CONFIG_SENSORS_W83791D is not set
866# CONFIG_SENSORS_W83792D is not set
867# CONFIG_SENSORS_W83L785TS is not set
868# CONFIG_SENSORS_W83627HF is not set
869# CONFIG_SENSORS_W83627EHF is not set
870# CONFIG_HWMON_DEBUG_CHIP is not set
871
872#
873# Misc devices
874#
875
876#
877# LED devices
878#
879CONFIG_NEW_LEDS=y
880CONFIG_LEDS_CLASS=y
881
882#
883# LED drivers
884#
885# CONFIG_LEDS_OMAP is not set
886CONFIG_LEDS_OMAP_PWM=y
887
888#
889# LED Triggers
890#
891CONFIG_LEDS_TRIGGERS=y
892CONFIG_LEDS_TRIGGER_TIMER=y
893CONFIG_LEDS_TRIGGER_HEARTBEAT=y
894
895#
896# Multimedia devices
897#
898CONFIG_VIDEO_DEV=y
899# CONFIG_VIDEO_V4L1 is not set
900# CONFIG_VIDEO_V4L1_COMPAT is not set
901CONFIG_VIDEO_V4L2=y
902
903#
904# Video Capture Adapters
905#
906
907#
908# Video Capture Adapters
909#
910# CONFIG_VIDEO_ADV_DEBUG is not set
911# CONFIG_VIDEO_VIVI is not set
912
913#
914# Encoders and Decoders
915#
916# CONFIG_VIDEO_MSP3400 is not set
917# CONFIG_VIDEO_CS53L32A is not set
918# CONFIG_VIDEO_TLV320AIC23B is not set
919# CONFIG_VIDEO_WM8775 is not set
920# CONFIG_VIDEO_WM8739 is not set
921# CONFIG_VIDEO_CX2341X is not set
922# CONFIG_VIDEO_CX25840 is not set
923# CONFIG_VIDEO_SAA711X is not set
924# CONFIG_VIDEO_SAA7127 is not set
925# CONFIG_VIDEO_UPD64031A is not set
926# CONFIG_VIDEO_UPD64083 is not set
927CONFIG_VIDEO_OMAP_CAMERA=y
928# CONFIG_VIDEO_CAMERA_SENSOR_OV9640 is not set
929CONFIG_VIDEO_CAMERA_SENSOR_TCM825X=y
930
931#
932# Radio Adapters
933#
934CONFIG_RADIO_TEA5761=y
935
936#
937# Digital Video Broadcasting Devices
938#
939# CONFIG_DVB is not set
940CONFIG_VIDEO_BUF=y
941
942#
943# Graphics support
944#
945# CONFIG_FIRMWARE_EDID is not set
946CONFIG_FB=y
947# CONFIG_FB_CFB_FILLRECT is not set
948# CONFIG_FB_CFB_COPYAREA is not set
949# CONFIG_FB_CFB_IMAGEBLIT is not set
950# CONFIG_FB_MACMODES is not set
951# CONFIG_FB_BACKLIGHT is not set
952# CONFIG_FB_MODE_HELPERS is not set
953# CONFIG_FB_TILEBLITTING is not set
954# CONFIG_FB_S1D13XXX is not set
955# CONFIG_FB_VIRTUAL is not set
956CONFIG_FB_OMAP=y
957CONFIG_FB_OMAP_LCDC_EXTERNAL=y
958# CONFIG_FB_OMAP_LCDC_HWA742 is not set
959CONFIG_FB_OMAP_LCDC_BLIZZARD=y
960# CONFIG_FB_OMAP_MANUAL_UPDATE is not set
961CONFIG_FB_OMAP_LCD_MIPID=y
962CONFIG_FB_OMAP_BOOTLOADER_INIT=y
963CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4
964
965#
966# Console display driver support
967#
968# CONFIG_VGA_CONSOLE is not set
969CONFIG_DUMMY_CONSOLE=y
970CONFIG_FRAMEBUFFER_CONSOLE=y
971
972#
973# Logo configuration
974#
975# CONFIG_LOGO is not set
976# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
977
978#
979# Sound
980#
981CONFIG_SOUND=y
982
983#
984# Advanced Linux Sound Architecture
985#
986CONFIG_SND=y
987# CONFIG_SND_SEQUENCER is not set
988CONFIG_SND_OSSEMUL=y
989CONFIG_SND_MIXER_OSS=y
990# CONFIG_SND_PCM_OSS is not set
991# CONFIG_SND_DYNAMIC_MINORS is not set
992CONFIG_SND_SUPPORT_OLD_API=y
993# CONFIG_SND_VERBOSE_PROCFS is not set
994# CONFIG_SND_VERBOSE_PRINTK is not set
995# CONFIG_SND_DEBUG is not set
996
997#
998# Generic devices
999#
1000# CONFIG_SND_DUMMY is not set
1001# CONFIG_SND_MTPAV is not set
1002# CONFIG_SND_SERIAL_U16550 is not set
1003# CONFIG_SND_MPU401 is not set
1004
1005#
1006# ALSA ARM devices
1007#
1008# CONFIG_SND_OMAP_AIC23 is not set
1009# CONFIG_SND_OMAP_TSC2101 is not set
1010CONFIG_SND_OMAP24XX_EAC=y
1011
1012#
1013# Open Sound System
1014#
1015# CONFIG_SOUND_PRIME is not set
1016
1017#
1018# USB support
1019#
1020CONFIG_USB_ARCH_HAS_HCD=y
1021CONFIG_USB_ARCH_HAS_OHCI=y
1022# CONFIG_USB_ARCH_HAS_EHCI is not set
1023# CONFIG_USB is not set
1024CONFIG_USB_MUSB_HDRC=y
1025CONFIG_USB_TUSB6010=y
1026CONFIG_USB_TUSB6010_TEST=y
1027# CONFIG_USB_MUSB_HOST is not set
1028CONFIG_USB_MUSB_PERIPHERAL=y
1029# CONFIG_USB_MUSB_OTG is not set
1030CONFIG_USB_GADGET_MUSB_HDRC=y
1031# CONFIG_USB_INVENTRA_FIFO is not set
1032# CONFIG_USB_INVENTRA_DMA is not set
1033# CONFIG_USB_TI_CPPI_DMA is not set
1034CONFIG_USB_TUSB_OMAP_DMA=y
1035CONFIG_USB_INVENTRA_HCD_LOGGING=1
1036
1037#
1038# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1039#
1040
1041#
1042# USB Gadget Support
1043#
1044CONFIG_USB_GADGET=y
1045CONFIG_USB_GADGET_DEBUG_FILES=y
1046CONFIG_USB_GADGET_SELECTED=y
1047# CONFIG_USB_GADGET_NET2280 is not set
1048# CONFIG_USB_GADGET_PXA2XX is not set
1049# CONFIG_USB_GADGET_GOKU is not set
1050# CONFIG_USB_GADGET_LH7A40X is not set
1051# CONFIG_USB_GADGET_OMAP is not set
1052# CONFIG_USB_GADGET_AT91 is not set
1053# CONFIG_USB_GADGET_DUMMY_HCD is not set
1054CONFIG_USB_GADGET_DUALSPEED=y
1055# CONFIG_USB_ZERO is not set
1056CONFIG_USB_ETH=m
1057CONFIG_USB_ETH_RNDIS=y
1058# CONFIG_USB_GADGETFS is not set
1059CONFIG_USB_FILE_STORAGE=m
1060# CONFIG_USB_FILE_STORAGE_TEST is not set
1061# CONFIG_USB_G_SERIAL is not set
1062
1063#
1064# MMC/SD Card support
1065#
1066CONFIG_MMC=y
1067# CONFIG_MMC_DEBUG is not set
1068CONFIG_MMC_BLOCK=y
1069CONFIG_MMC_OMAP=y
1070
1071#
1072# Real Time Clock
1073#
1074CONFIG_RTC_LIB=y
1075# CONFIG_RTC_CLASS is not set
1076
1077#
1078# Synchronous Serial Interfaces (SSI)
1079#
1080# CONFIG_OMAP_TSC2101 is not set
1081
1082#
1083# CBUS support
1084#
1085CONFIG_CBUS=y
1086CONFIG_CBUS_TAHVO=y
1087CONFIG_CBUS_TAHVO_USER=y
1088CONFIG_CBUS_RETU=y
1089CONFIG_CBUS_RETU_USER=y
1090CONFIG_CBUS_RETU_POWERBUTTON=y
1091CONFIG_CBUS_RETU_RTC=y
1092CONFIG_CBUS_RETU_WDT=y
1093CONFIG_CBUS_RETU_HEADSET=y
1094
1095#
1096# File systems
1097#
1098CONFIG_EXT2_FS=m
1099CONFIG_EXT2_FS_XATTR=y
1100# CONFIG_EXT2_FS_POSIX_ACL is not set
1101# CONFIG_EXT2_FS_SECURITY is not set
1102# CONFIG_EXT2_FS_XIP is not set
1103CONFIG_EXT3_FS=m
1104CONFIG_EXT3_FS_XATTR=y
1105# CONFIG_EXT3_FS_POSIX_ACL is not set
1106# CONFIG_EXT3_FS_SECURITY is not set
1107CONFIG_JBD=m
1108# CONFIG_JBD_DEBUG is not set
1109CONFIG_FS_MBCACHE=m
1110# CONFIG_REISERFS_FS is not set
1111# CONFIG_JFS_FS is not set
1112# CONFIG_FS_POSIX_ACL is not set
1113# CONFIG_XFS_FS is not set
1114# CONFIG_OCFS2_FS is not set
1115# CONFIG_MINIX_FS is not set
1116# CONFIG_ROMFS_FS is not set
1117CONFIG_INOTIFY=y
1118CONFIG_INOTIFY_USER=y
1119# CONFIG_QUOTA is not set
1120CONFIG_DNOTIFY=y
1121# CONFIG_AUTOFS_FS is not set
1122# CONFIG_AUTOFS4_FS is not set
1123# CONFIG_FUSE_FS is not set
1124
1125#
1126# CD-ROM/DVD Filesystems
1127#
1128# CONFIG_ISO9660_FS is not set
1129# CONFIG_UDF_FS is not set
1130
1131#
1132# DOS/FAT/NT Filesystems
1133#
1134CONFIG_FAT_FS=y
1135CONFIG_MSDOS_FS=y
1136CONFIG_VFAT_FS=y
1137CONFIG_FAT_DEFAULT_CODEPAGE=437
1138CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1139# CONFIG_NTFS_FS is not set
1140
1141#
1142# Pseudo filesystems
1143#
1144CONFIG_PROC_FS=y
1145CONFIG_SYSFS=y
1146CONFIG_TMPFS=y
1147# CONFIG_HUGETLB_PAGE is not set
1148CONFIG_RAMFS=y
1149# CONFIG_CONFIGFS_FS is not set
1150
1151#
1152# Miscellaneous filesystems
1153#
1154# CONFIG_ADFS_FS is not set
1155# CONFIG_AFFS_FS is not set
1156# CONFIG_HFS_FS is not set
1157# CONFIG_HFSPLUS_FS is not set
1158# CONFIG_BEFS_FS is not set
1159# CONFIG_BFS_FS is not set
1160# CONFIG_EFS_FS is not set
1161# CONFIG_JFFS_FS is not set
1162CONFIG_JFFS2_FS=y
1163CONFIG_JFFS2_FS_DEBUG=0
1164CONFIG_JFFS2_FS_WRITEBUFFER=y
1165CONFIG_JFFS2_SUMMARY=y
1166# CONFIG_JFFS2_FS_XATTR is not set
1167CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1168CONFIG_JFFS2_ZLIB=y
1169CONFIG_JFFS2_LZO=y
1170CONFIG_JFFS2_RTIME=y
1171# CONFIG_JFFS2_RUBIN is not set
1172# CONFIG_JFFS2_CMODE_NONE is not set
1173CONFIG_JFFS2_CMODE_PRIORITY=y
1174# CONFIG_JFFS2_CMODE_SIZE is not set
1175# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1176# CONFIG_CRAMFS is not set
1177# CONFIG_VXFS_FS is not set
1178# CONFIG_HPFS_FS is not set
1179# CONFIG_QNX4FS_FS is not set
1180# CONFIG_SYSV_FS is not set
1181# CONFIG_UFS_FS is not set
1182
1183#
1184# Network File Systems
1185#
1186# CONFIG_NFS_FS is not set
1187# CONFIG_NFSD is not set
1188# CONFIG_SMB_FS is not set
1189# CONFIG_CIFS is not set
1190# CONFIG_NCP_FS is not set
1191# CONFIG_CODA_FS is not set
1192# CONFIG_AFS_FS is not set
1193# CONFIG_9P_FS is not set
1194
1195#
1196# Partition Types
1197#
1198# CONFIG_PARTITION_ADVANCED is not set
1199CONFIG_MSDOS_PARTITION=y
1200
1201#
1202# Native Language Support
1203#
1204CONFIG_NLS=y
1205CONFIG_NLS_DEFAULT="iso8859-1"
1206CONFIG_NLS_CODEPAGE_437=y
1207# CONFIG_NLS_CODEPAGE_737 is not set
1208# CONFIG_NLS_CODEPAGE_775 is not set
1209# CONFIG_NLS_CODEPAGE_850 is not set
1210# CONFIG_NLS_CODEPAGE_852 is not set
1211# CONFIG_NLS_CODEPAGE_855 is not set
1212# CONFIG_NLS_CODEPAGE_857 is not set
1213# CONFIG_NLS_CODEPAGE_860 is not set
1214# CONFIG_NLS_CODEPAGE_861 is not set
1215# CONFIG_NLS_CODEPAGE_862 is not set
1216# CONFIG_NLS_CODEPAGE_863 is not set
1217# CONFIG_NLS_CODEPAGE_864 is not set
1218# CONFIG_NLS_CODEPAGE_865 is not set
1219# CONFIG_NLS_CODEPAGE_866 is not set
1220# CONFIG_NLS_CODEPAGE_869 is not set
1221# CONFIG_NLS_CODEPAGE_936 is not set
1222# CONFIG_NLS_CODEPAGE_950 is not set
1223# CONFIG_NLS_CODEPAGE_932 is not set
1224# CONFIG_NLS_CODEPAGE_949 is not set
1225# CONFIG_NLS_CODEPAGE_874 is not set
1226# CONFIG_NLS_ISO8859_8 is not set
1227# CONFIG_NLS_CODEPAGE_1250 is not set
1228# CONFIG_NLS_CODEPAGE_1251 is not set
1229# CONFIG_NLS_ASCII is not set
1230CONFIG_NLS_ISO8859_1=y
1231# CONFIG_NLS_ISO8859_2 is not set
1232# CONFIG_NLS_ISO8859_3 is not set
1233# CONFIG_NLS_ISO8859_4 is not set
1234# CONFIG_NLS_ISO8859_5 is not set
1235# CONFIG_NLS_ISO8859_6 is not set
1236# CONFIG_NLS_ISO8859_7 is not set
1237# CONFIG_NLS_ISO8859_9 is not set
1238# CONFIG_NLS_ISO8859_13 is not set
1239# CONFIG_NLS_ISO8859_14 is not set
1240CONFIG_NLS_ISO8859_15=y
1241# CONFIG_NLS_KOI8_R is not set
1242# CONFIG_NLS_KOI8_U is not set
1243CONFIG_NLS_UTF8=y
1244
1245#
1246# Profiling support
1247#
1248CONFIG_PROFILING=y
1249CONFIG_OPROFILE=y
1250
1251#
1252# Kernel hacking
1253#
1254CONFIG_PRINTK_TIME=y
1255CONFIG_MAGIC_SYSRQ=y
1256# CONFIG_UNUSED_SYMBOLS is not set
1257CONFIG_DEBUG_KERNEL=y
1258CONFIG_LOG_BUF_SHIFT=14
1259CONFIG_DETECT_SOFTLOCKUP=y
1260# CONFIG_SCHEDSTATS is not set
1261# CONFIG_DEBUG_SLAB is not set
1262# CONFIG_DEBUG_RT_MUTEXES is not set
1263# CONFIG_RT_MUTEX_TESTER is not set
1264# CONFIG_DEBUG_SPINLOCK is not set
1265# CONFIG_DEBUG_MUTEXES is not set
1266# CONFIG_DEBUG_RWSEMS is not set
1267# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1268# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1269# CONFIG_DEBUG_KOBJECT is not set
1270CONFIG_DEBUG_BUGVERBOSE=y
1271# CONFIG_DEBUG_INFO is not set
1272# CONFIG_DEBUG_FS is not set
1273# CONFIG_DEBUG_VM is not set
1274CONFIG_FRAME_POINTER=y
1275# CONFIG_UNWIND_INFO is not set
1276CONFIG_FORCED_INLINING=y
1277# CONFIG_RCU_TORTURE_TEST is not set
1278CONFIG_DEBUG_USER=y
1279# CONFIG_DEBUG_WAITQ is not set
1280CONFIG_DEBUG_ERRORS=y
1281# CONFIG_DEBUG_LL is not set
1282
1283#
1284# Security options
1285#
1286# CONFIG_KEYS is not set
1287CONFIG_SECURITY=y
1288# CONFIG_SECURITY_NETWORK is not set
1289# CONFIG_SECURITY_CAPABILITIES is not set
1290# CONFIG_SECURITY_SECLVL is not set
1291CONFIG_SECURITY_LOWMEM=y
1292
1293#
1294# Cryptographic options
1295#
1296# CONFIG_CRYPTO is not set
1297
1298#
1299# Hardware crypto devices
1300#
1301
1302#
1303# Library routines
1304#
1305CONFIG_CRC_CCITT=y
1306# CONFIG_CRC16 is not set
1307CONFIG_CRC32=y
1308# CONFIG_LIBCRC32C is not set
1309CONFIG_LZO=y
1310CONFIG_ZLIB_INFLATE=y
1311CONFIG_ZLIB_DEFLATE=y
1312CONFIG_PLIST=y
diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/kernel-source_2.6.21-200823maemo6.diff.gz b/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/kernel-source_2.6.21-200823maemo6.diff.gz
deleted file mode 100644
index 2ceb4a7841..0000000000
--- a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/kernel-source_2.6.21-200823maemo6.diff.gz
+++ /dev/null
Binary files differ
diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig
deleted file mode 100644
index ea78481b99..0000000000
--- a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig
+++ /dev/null
@@ -1,1650 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21-omap1
4# Thu Jun 26 11:32:23 2008
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_MMU=y
11# CONFIG_NO_IOPORT is not set
12CONFIG_GENERIC_HARDIRQS=y
13CONFIG_TRACE_IRQFLAGS_SUPPORT=y
14CONFIG_HARDIRQS_SW_RESEND=y
15CONFIG_GENERIC_IRQ_PROBE=y
16CONFIG_RWSEM_GENERIC_SPINLOCK=y
17# CONFIG_ARCH_HAS_ILOG2_U32 is not set
18# CONFIG_ARCH_HAS_ILOG2_U64 is not set
19CONFIG_GENERIC_HWEIGHT=y
20CONFIG_GENERIC_CALIBRATE_DELAY=y
21CONFIG_ZONE_DMA=y
22CONFIG_VECTORS_BASE=0xffff0000
23CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
24
25#
26# Code maturity level options
27#
28CONFIG_EXPERIMENTAL=y
29CONFIG_BROKEN_ON_SMP=y
30CONFIG_INIT_ENV_ARG_LIMIT=32
31
32#
33# General setup
34#
35CONFIG_LOCALVERSION=""
36# CONFIG_LOCALVERSION_AUTO is not set
37CONFIG_SWAP=y
38CONFIG_SYSVIPC=y
39# CONFIG_IPC_NS is not set
40CONFIG_SYSVIPC_SYSCTL=y
41CONFIG_POSIX_MQUEUE=y
42# CONFIG_BSD_PROCESS_ACCT is not set
43# CONFIG_TASKSTATS is not set
44# CONFIG_UTS_NS is not set
45# CONFIG_AUDIT is not set
46# CONFIG_IKCONFIG is not set
47CONFIG_SYSFS_DEPRECATED=y
48# CONFIG_RELAY is not set
49CONFIG_BLK_DEV_INITRD=y
50CONFIG_INITRAMFS_SOURCE=""
51CONFIG_CC_OPTIMIZE_FOR_SIZE=y
52CONFIG_SYSCTL=y
53# CONFIG_EMBEDDED is not set
54CONFIG_UID16=y
55CONFIG_SYSCTL_SYSCALL=y
56CONFIG_KALLSYMS=y
57# CONFIG_KALLSYMS_ALL is not set
58# CONFIG_KALLSYMS_EXTRA_PASS is not set
59CONFIG_HOTPLUG=y
60CONFIG_PRINTK=y
61CONFIG_BUG=y
62CONFIG_ELF_CORE=y
63CONFIG_BASE_FULL=y
64CONFIG_FUTEX=y
65CONFIG_EPOLL=y
66CONFIG_SHMEM=y
67CONFIG_SLAB=y
68CONFIG_VM_EVENT_COUNTERS=y
69CONFIG_RT_MUTEXES=y
70# CONFIG_TINY_SHMEM is not set
71CONFIG_BASE_SMALL=0
72# CONFIG_SLOB is not set
73
74#
75# Loadable module support
76#
77CONFIG_MODULES=y
78CONFIG_MODULE_UNLOAD=y
79# CONFIG_MODULE_FORCE_UNLOAD is not set
80# CONFIG_MODVERSIONS is not set
81# CONFIG_MODULE_SRCVERSION_ALL is not set
82# CONFIG_KMOD is not set
83
84#
85# Block layer
86#
87CONFIG_BLOCK=y
88# CONFIG_LBD is not set
89# CONFIG_BLK_DEV_IO_TRACE is not set
90# CONFIG_LSF is not set
91
92#
93# IO Schedulers
94#
95CONFIG_IOSCHED_NOOP=y
96# CONFIG_IOSCHED_AS is not set
97# CONFIG_IOSCHED_DEADLINE is not set
98# CONFIG_IOSCHED_CFQ is not set
99# CONFIG_DEFAULT_AS is not set
100# CONFIG_DEFAULT_DEADLINE is not set
101# CONFIG_DEFAULT_CFQ is not set
102CONFIG_DEFAULT_NOOP=y
103CONFIG_DEFAULT_IOSCHED="noop"
104
105#
106# System Type
107#
108# CONFIG_ARCH_AAEC2000 is not set
109# CONFIG_ARCH_INTEGRATOR is not set
110# CONFIG_ARCH_REALVIEW is not set
111# CONFIG_ARCH_VERSATILE is not set
112# CONFIG_ARCH_AT91 is not set
113# CONFIG_ARCH_CLPS7500 is not set
114# CONFIG_ARCH_CLPS711X is not set
115# CONFIG_ARCH_CO285 is not set
116# CONFIG_ARCH_EBSA110 is not set
117# CONFIG_ARCH_EP93XX is not set
118# CONFIG_ARCH_FOOTBRIDGE is not set
119# CONFIG_ARCH_NETX is not set
120# CONFIG_ARCH_H720X is not set
121# CONFIG_ARCH_IMX is not set
122# CONFIG_ARCH_IOP32X is not set
123# CONFIG_ARCH_IOP33X is not set
124# CONFIG_ARCH_IOP13XX is not set
125# CONFIG_ARCH_IXP4XX is not set
126# CONFIG_ARCH_IXP2000 is not set
127# CONFIG_ARCH_IXP23XX is not set
128# CONFIG_ARCH_L7200 is not set
129# CONFIG_ARCH_NS9XXX is not set
130# CONFIG_ARCH_PNX4008 is not set
131# CONFIG_ARCH_PXA is not set
132# CONFIG_ARCH_RPC is not set
133# CONFIG_ARCH_SA1100 is not set
134# CONFIG_ARCH_S3C2410 is not set
135# CONFIG_ARCH_SHARK is not set
136# CONFIG_ARCH_LH7A40X is not set
137CONFIG_ARCH_OMAP=y
138
139#
140# TI OMAP Implementations
141#
142CONFIG_ARCH_OMAP_OTG=y
143# CONFIG_ARCH_OMAP1 is not set
144CONFIG_ARCH_OMAP2=y
145
146#
147# OMAP Feature Selections
148#
149CONFIG_MACH_OMAP2420_DVFS=y
150CONFIG_ARCH_OMAP2420_DEBUG=y
151CONFIG_ARCH_OMAP2420_OBSERVABILITY=m
152CONFIG_ARCH_OMAP2420_PEEK_N_POKE=m
153CONFIG_ARCH_OMAP2420_SNAPSHOT=m
154CONFIG_ARCH_OMAP2420_DMA_DRAIN=y
155CONFIG_OMAP_RESET_CLOCKS=y
156CONFIG_OMAP_BOOT_TAG=y
157CONFIG_OMAP_BOOT_REASON=y
158CONFIG_OMAP_COMPONENT_VERSION=y
159CONFIG_OMAP_GPIO_SWITCH=y
160# CONFIG_OMAP_MUX is not set
161# CONFIG_OMAP_SEC is not set
162CONFIG_OMAP_STI=y
163CONFIG_OMAP_STI_CONSOLE=y
164# CONFIG_OMAP_MCBSP is not set
165CONFIG_OMAP_MMU_FWK=y
166CONFIG_OMAP_MBOX_FWK=y
167# CONFIG_OMAP_MPU_TIMER is not set
168CONFIG_OMAP_32K_TIMER=y
169CONFIG_OMAP_32K_TIMER_HZ=128
170CONFIG_OMAP_DM_TIMER=y
171# CONFIG_OMAP_LL_DEBUG_UART1 is not set
172# CONFIG_OMAP_LL_DEBUG_UART2 is not set
173CONFIG_OMAP_LL_DEBUG_UART3=y
174CONFIG_OMAP_DSP=y
175# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
176CONFIG_OMAP_DSP_TASK_MULTIOPEN=y
177CONFIG_OMAP_DSP_FBEXPORT=y
178CONFIG_OMAP_DSP_PAUSING=y
179# CONFIG_MACH_OMAP_GENERIC is not set
180
181#
182# OMAP Core Type
183#
184CONFIG_ARCH_OMAP24XX=y
185CONFIG_ARCH_OMAP2420=y
186# CONFIG_ARCH_OMAP2430 is not set
187
188#
189# OMAP Board Type
190#
191CONFIG_MACH_NOKIA_N800=y
192CONFIG_MACH_NOKIA_RX44=y
193# CONFIG_MACH_NOKIA_RX48 is not set
194CONFIG_MACH_OMAP2_TUSB6010=y
195# CONFIG_MACH_OMAP_H4 is not set
196# CONFIG_MACH_OMAP_APOLLON is not set
197# CONFIG_MACH_OMAP_2430SDP is not set
198
199#
200# Processor Type
201#
202CONFIG_CPU_32=y
203CONFIG_CPU_V6=y
204# CONFIG_CPU_32v6K is not set
205CONFIG_CPU_32v6=y
206CONFIG_CPU_ABRT_EV6=y
207CONFIG_CPU_CACHE_V6=y
208CONFIG_CPU_CACHE_VIPT=y
209CONFIG_CPU_COPY_V6=y
210CONFIG_CPU_TLB_V6=y
211CONFIG_CPU_CP15=y
212CONFIG_CPU_CP15_MMU=y
213
214#
215# Processor Features
216#
217CONFIG_ARM_THUMB=y
218# CONFIG_CPU_ICACHE_DISABLE is not set
219# CONFIG_CPU_DCACHE_DISABLE is not set
220# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
221# CONFIG_CPU_BPREDICT_DISABLE is not set
222# CONFIG_OUTER_CACHE is not set
223
224#
225# Bus support
226#
227
228#
229# PCCARD (PCMCIA/CardBus) support
230#
231# CONFIG_PCCARD is not set
232
233#
234# Kernel Features
235#
236# CONFIG_PREEMPT is not set
237CONFIG_NO_IDLE_HZ=y
238CONFIG_HZ=128
239CONFIG_AEABI=y
240CONFIG_OABI_COMPAT=y
241# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
242CONFIG_SELECT_MEMORY_MODEL=y
243CONFIG_FLATMEM_MANUAL=y
244# CONFIG_DISCONTIGMEM_MANUAL is not set
245# CONFIG_SPARSEMEM_MANUAL is not set
246CONFIG_FLATMEM=y
247CONFIG_FLAT_NODE_MEM_MAP=y
248# CONFIG_SPARSEMEM_STATIC is not set
249CONFIG_SPLIT_PTLOCK_CPUS=4
250# CONFIG_RESOURCES_64BIT is not set
251CONFIG_ZONE_DMA_FLAG=1
252CONFIG_LEDS=y
253CONFIG_ALIGNMENT_TRAP=y
254
255#
256# Boot options
257#
258CONFIG_ZBOOT_ROM_TEXT=0x10C08000
259CONFIG_ZBOOT_ROM_BSS=0x10200000
260# CONFIG_ZBOOT_ROM is not set
261CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 ro console=tty0"
262# CONFIG_XIP_KERNEL is not set
263# CONFIG_KEXEC is not set
264
265#
266# CPU Frequency scaling
267#
268CONFIG_CPU_FREQ=y
269CONFIG_CPU_FREQ_TABLE=y
270# CONFIG_CPU_FREQ_DEBUG is not set
271CONFIG_CPU_FREQ_STAT=y
272# CONFIG_CPU_FREQ_STAT_DETAILS is not set
273# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
274# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
275CONFIG_CPU_FREQ_DEFAULT_GOV_NULL=y
276# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
277CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
278CONFIG_CPU_FREQ_GOV_POWERSAVE=y
279CONFIG_CPU_FREQ_GOV_NULL=y
280# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
281CONFIG_CPU_FREQ_GOV_ONDEMAND=y
282CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
283
284#
285# Floating point emulation
286#
287
288#
289# At least one emulation must be selected
290#
291CONFIG_FPE_NWFPE=y
292# CONFIG_FPE_NWFPE_XP is not set
293# CONFIG_FPE_FASTFPE is not set
294CONFIG_VFP=y
295
296#
297# Userspace binary formats
298#
299CONFIG_BINFMT_ELF=y
300# CONFIG_BINFMT_AOUT is not set
301# CONFIG_BINFMT_MISC is not set
302
303#
304# Power management options
305#
306CONFIG_PM=y
307# CONFIG_PM_LEGACY is not set
308# CONFIG_PM_DEBUG is not set
309# CONFIG_PM_SYSFS_DEPRECATED is not set
310CONFIG_APM_EMULATION=y
311
312#
313# Networking
314#
315CONFIG_NET=y
316
317#
318# Networking options
319#
320# CONFIG_NETDEBUG is not set
321CONFIG_PACKET=y
322# CONFIG_PACKET_MMAP is not set
323CONFIG_UNIX=y
324CONFIG_XFRM=y
325# CONFIG_XFRM_USER is not set
326# CONFIG_XFRM_SUB_POLICY is not set
327# CONFIG_XFRM_MIGRATE is not set
328# CONFIG_NET_KEY is not set
329CONFIG_INET=y
330CONFIG_IP_MULTICAST=y
331# CONFIG_IP_ADVANCED_ROUTER is not set
332CONFIG_IP_FIB_HASH=y
333# CONFIG_IP_PNP is not set
334# CONFIG_NET_IPIP is not set
335# CONFIG_NET_IPGRE is not set
336# CONFIG_IP_MROUTE is not set
337# CONFIG_ARPD is not set
338# CONFIG_SYN_COOKIES is not set
339# CONFIG_INET_AH is not set
340# CONFIG_INET_ESP is not set
341# CONFIG_INET_IPCOMP is not set
342# CONFIG_INET_XFRM_TUNNEL is not set
343# CONFIG_INET_TUNNEL is not set
344# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
345# CONFIG_INET_XFRM_MODE_TUNNEL is not set
346CONFIG_INET_XFRM_MODE_BEET=y
347CONFIG_INET_DIAG=y
348CONFIG_INET_TCP_DIAG=y
349# CONFIG_TCP_CONG_ADVANCED is not set
350CONFIG_TCP_CONG_CUBIC=y
351CONFIG_DEFAULT_TCP_CONG="cubic"
352# CONFIG_TCP_MD5SIG is not set
353
354#
355# IP: Virtual Server Configuration
356#
357# CONFIG_IP_VS is not set
358# CONFIG_IPV6 is not set
359# CONFIG_INET6_XFRM_TUNNEL is not set
360# CONFIG_INET6_TUNNEL is not set
361# CONFIG_NETLABEL is not set
362# CONFIG_NETWORK_SECMARK is not set
363CONFIG_NETFILTER=y
364# CONFIG_NETFILTER_DEBUG is not set
365
366#
367# Core Netfilter Configuration
368#
369CONFIG_NETFILTER_NETLINK=y
370# CONFIG_NETFILTER_NETLINK_QUEUE is not set
371# CONFIG_NETFILTER_NETLINK_LOG is not set
372# CONFIG_NF_CONNTRACK_ENABLED is not set
373CONFIG_NETFILTER_XTABLES=y
374# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
375# CONFIG_NETFILTER_XT_TARGET_MARK is not set
376# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
377# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
378# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
379# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
380# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
381# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
382# CONFIG_NETFILTER_XT_MATCH_ESP is not set
383# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
384# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
385# CONFIG_NETFILTER_XT_MATCH_MAC is not set
386# CONFIG_NETFILTER_XT_MATCH_MARK is not set
387# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
388# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
389# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
390# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
391# CONFIG_NETFILTER_XT_MATCH_REALM is not set
392# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
393# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
394# CONFIG_NETFILTER_XT_MATCH_STRING is not set
395# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
396# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
397
398#
399# IP: Netfilter Configuration
400#
401# CONFIG_IP_NF_QUEUE is not set
402CONFIG_IP_NF_IPTABLES=y
403# CONFIG_IP_NF_MATCH_IPRANGE is not set
404# CONFIG_IP_NF_MATCH_TOS is not set
405# CONFIG_IP_NF_MATCH_RECENT is not set
406# CONFIG_IP_NF_MATCH_ECN is not set
407# CONFIG_IP_NF_MATCH_AH is not set
408# CONFIG_IP_NF_MATCH_TTL is not set
409# CONFIG_IP_NF_MATCH_OWNER is not set
410# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
411CONFIG_IP_NF_FILTER=y
412# CONFIG_IP_NF_TARGET_REJECT is not set
413# CONFIG_IP_NF_TARGET_LOG is not set
414# CONFIG_IP_NF_TARGET_ULOG is not set
415CONFIG_IP_NF_TARGET_IDLETIMER=y
416# CONFIG_IP_NF_MANGLE is not set
417# CONFIG_IP_NF_RAW is not set
418# CONFIG_IP_NF_ARPTABLES is not set
419
420#
421# DCCP Configuration (EXPERIMENTAL)
422#
423# CONFIG_IP_DCCP is not set
424
425#
426# SCTP Configuration (EXPERIMENTAL)
427#
428# CONFIG_IP_SCTP is not set
429
430#
431# TIPC Configuration (EXPERIMENTAL)
432#
433# CONFIG_TIPC is not set
434# CONFIG_ATM is not set
435# CONFIG_BRIDGE is not set
436# CONFIG_VLAN_8021Q is not set
437# CONFIG_DECNET is not set
438# CONFIG_LLC2 is not set
439# CONFIG_IPX is not set
440# CONFIG_ATALK is not set
441# CONFIG_X25 is not set
442# CONFIG_LAPB is not set
443# CONFIG_ECONET is not set
444# CONFIG_WAN_ROUTER is not set
445
446#
447# QoS and/or fair queueing
448#
449# CONFIG_NET_SCHED is not set
450
451#
452# Network testing
453#
454# CONFIG_NET_PKTGEN is not set
455# CONFIG_HAMRADIO is not set
456# CONFIG_IRDA is not set
457CONFIG_BT=y
458CONFIG_BT_L2CAP=y
459CONFIG_BT_SCO=y
460CONFIG_BT_RFCOMM=y
461CONFIG_BT_RFCOMM_TTY=y
462CONFIG_BT_BNEP=y
463# CONFIG_BT_BNEP_MC_FILTER is not set
464# CONFIG_BT_BNEP_PROTO_FILTER is not set
465CONFIG_BT_HIDP=y
466
467#
468# Bluetooth device drivers
469#
470# CONFIG_BT_HCIUSB is not set
471# CONFIG_BT_HCIUART is not set
472# CONFIG_BT_HCIBCM203X is not set
473# CONFIG_BT_HCIBPA10X is not set
474# CONFIG_BT_HCIBFUSB is not set
475# CONFIG_BT_HCIBRF6150 is not set
476CONFIG_BT_HCIH4P=y
477# CONFIG_BT_HCIVHCI is not set
478# CONFIG_IEEE80211 is not set
479CONFIG_WIRELESS_EXT=y
480
481#
482# Device Drivers
483#
484
485#
486# Generic Driver Options
487#
488CONFIG_STANDALONE=y
489CONFIG_PREVENT_FIRMWARE_BUILD=y
490CONFIG_FW_LOADER=y
491# CONFIG_DEBUG_DRIVER is not set
492# CONFIG_DEBUG_DEVRES is not set
493# CONFIG_SYS_HYPERVISOR is not set
494
495#
496# Connector - unified userspace <-> kernelspace linker
497#
498# CONFIG_CONNECTOR is not set
499
500#
501# Memory Technology Devices (MTD)
502#
503CONFIG_MTD=y
504# CONFIG_MTD_DEBUG is not set
505# CONFIG_MTD_CONCAT is not set
506CONFIG_MTD_PARTITIONS=y
507# CONFIG_MTD_REDBOOT_PARTS is not set
508CONFIG_MTD_CMDLINE_PARTS=y
509# CONFIG_MTD_AFS_PARTS is not set
510
511#
512# User Modules And Translation Layers
513#
514CONFIG_MTD_CHAR=y
515CONFIG_MTD_BLKDEVS=y
516CONFIG_MTD_BLOCK=y
517# CONFIG_FTL is not set
518# CONFIG_NFTL is not set
519# CONFIG_INFTL is not set
520# CONFIG_RFD_FTL is not set
521# CONFIG_SSFDC is not set
522# CONFIG_MTD_OOPS is not set
523
524#
525# RAM/ROM/Flash chip drivers
526#
527# CONFIG_MTD_CFI is not set
528# CONFIG_MTD_JEDECPROBE is not set
529CONFIG_MTD_MAP_BANK_WIDTH_1=y
530CONFIG_MTD_MAP_BANK_WIDTH_2=y
531CONFIG_MTD_MAP_BANK_WIDTH_4=y
532# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
533# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
534# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
535CONFIG_MTD_CFI_I1=y
536CONFIG_MTD_CFI_I2=y
537# CONFIG_MTD_CFI_I4 is not set
538# CONFIG_MTD_CFI_I8 is not set
539# CONFIG_MTD_RAM is not set
540# CONFIG_MTD_ROM is not set
541# CONFIG_MTD_ABSENT is not set
542# CONFIG_MTD_OBSOLETE_CHIPS is not set
543
544#
545# Mapping drivers for chip access
546#
547# CONFIG_MTD_COMPLEX_MAPPINGS is not set
548# CONFIG_MTD_PLATRAM is not set
549
550#
551# Self-contained MTD device drivers
552#
553# CONFIG_MTD_DATAFLASH is not set
554# CONFIG_MTD_M25P80 is not set
555# CONFIG_MTD_SLRAM is not set
556# CONFIG_MTD_PHRAM is not set
557# CONFIG_MTD_MTDRAM is not set
558# CONFIG_MTD_BLOCK2MTD is not set
559
560#
561# Disk-On-Chip Device Drivers
562#
563# CONFIG_MTD_DOC2000 is not set
564# CONFIG_MTD_DOC2001 is not set
565# CONFIG_MTD_DOC2001PLUS is not set
566
567#
568# NAND Flash Device Drivers
569#
570# CONFIG_MTD_NAND is not set
571
572#
573# OneNAND Flash Device Drivers
574#
575CONFIG_MTD_ONENAND=y
576# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
577# CONFIG_MTD_ONENAND_GENERIC is not set
578CONFIG_MTD_ONENAND_OMAP2=y
579CONFIG_MTD_ONENAND_OTP=y
580
581#
582# Parallel port support
583#
584# CONFIG_PARPORT is not set
585
586#
587# Plug and Play support
588#
589# CONFIG_PNPACPI is not set
590
591#
592# Block devices
593#
594# CONFIG_BLK_DEV_COW_COMMON is not set
595CONFIG_BLK_DEV_LOOP=y
596# CONFIG_BLK_DEV_CRYPTOLOOP is not set
597# CONFIG_BLK_DEV_NBD is not set
598# CONFIG_BLK_DEV_UB is not set
599CONFIG_BLK_DEV_RAM=y
600CONFIG_BLK_DEV_RAM_COUNT=16
601CONFIG_BLK_DEV_RAM_SIZE=4096
602CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
603# CONFIG_CDROM_PKTCDVD is not set
604# CONFIG_ATA_OVER_ETH is not set
605
606#
607# SCSI device support
608#
609# CONFIG_RAID_ATTRS is not set
610CONFIG_SCSI=y
611# CONFIG_SCSI_TGT is not set
612# CONFIG_SCSI_NETLINK is not set
613# CONFIG_SCSI_PROC_FS is not set
614
615#
616# SCSI support type (disk, tape, CD-ROM)
617#
618CONFIG_BLK_DEV_SD=y
619# CONFIG_CHR_DEV_ST is not set
620# CONFIG_CHR_DEV_OSST is not set
621# CONFIG_BLK_DEV_SR is not set
622# CONFIG_CHR_DEV_SG is not set
623# CONFIG_CHR_DEV_SCH is not set
624
625#
626# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
627#
628CONFIG_SCSI_MULTI_LUN=y
629# CONFIG_SCSI_CONSTANTS is not set
630# CONFIG_SCSI_LOGGING is not set
631# CONFIG_SCSI_SCAN_ASYNC is not set
632
633#
634# SCSI Transports
635#
636# CONFIG_SCSI_SPI_ATTRS is not set
637# CONFIG_SCSI_FC_ATTRS is not set
638# CONFIG_SCSI_ISCSI_ATTRS is not set
639# CONFIG_SCSI_SAS_ATTRS is not set
640# CONFIG_SCSI_SAS_LIBSAS is not set
641
642#
643# SCSI low-level drivers
644#
645# CONFIG_ISCSI_TCP is not set
646# CONFIG_SCSI_DEBUG is not set
647
648#
649# Serial ATA (prod) and Parallel ATA (experimental) drivers
650#
651# CONFIG_ATA is not set
652
653#
654# Multi-device support (RAID and LVM)
655#
656# CONFIG_MD is not set
657
658#
659# Fusion MPT device support
660#
661# CONFIG_FUSION is not set
662
663#
664# IEEE 1394 (FireWire) support
665#
666
667#
668# I2O device support
669#
670
671#
672# Network device support
673#
674CONFIG_NETDEVICES=y
675# CONFIG_DUMMY is not set
676# CONFIG_BONDING is not set
677# CONFIG_EQUALIZER is not set
678CONFIG_TUN=y
679
680#
681# PHY device support
682#
683
684#
685# Ethernet (10 or 100Mbit)
686#
687# CONFIG_NET_ETHERNET is not set
688CONFIG_MII=y
689
690#
691# Ethernet (1000 Mbit)
692#
693
694#
695# Ethernet (10000 Mbit)
696#
697
698#
699# Token Ring devices
700#
701
702#
703# Wireless LAN (non-hamradio)
704#
705CONFIG_NET_RADIO=y
706# CONFIG_NET_WIRELESS_RTNETLINK is not set
707
708#
709# Obsolete Wireless cards support (pre-802.11)
710#
711# CONFIG_STRIP is not set
712# CONFIG_USB_ZD1201 is not set
713# CONFIG_HOSTAP is not set
714
715#
716# Wan interfaces
717#
718# CONFIG_WAN is not set
719CONFIG_PPP=y
720# CONFIG_PPP_MULTILINK is not set
721CONFIG_PPP_FILTER=y
722CONFIG_PPP_ASYNC=y
723CONFIG_PPP_SYNC_TTY=y
724CONFIG_PPP_DEFLATE=y
725CONFIG_PPP_BSDCOMP=y
726# CONFIG_PPP_MPPE is not set
727# CONFIG_PPPOE is not set
728# CONFIG_SLIP is not set
729CONFIG_SLHC=y
730# CONFIG_SHAPER is not set
731# CONFIG_NETCONSOLE is not set
732# CONFIG_NETPOLL is not set
733# CONFIG_NET_POLL_CONTROLLER is not set
734
735#
736# ISDN subsystem
737#
738# CONFIG_ISDN is not set
739
740#
741# Input device support
742#
743CONFIG_INPUT=y
744# CONFIG_INPUT_FF_MEMLESS is not set
745
746#
747# Userland interfaces
748#
749CONFIG_INPUT_MOUSEDEV=y
750# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
751CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
752CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
753# CONFIG_INPUT_JOYDEV is not set
754# CONFIG_INPUT_TSDEV is not set
755CONFIG_INPUT_EVDEV=y
756# CONFIG_INPUT_EVBUG is not set
757CONFIG_INPUT_POWER=y
758
759#
760# Input Device Drivers
761#
762CONFIG_INPUT_KEYBOARD=y
763# CONFIG_KEYBOARD_ATKBD is not set
764# CONFIG_KEYBOARD_SUNKBD is not set
765# CONFIG_KEYBOARD_LKKBD is not set
766# CONFIG_KEYBOARD_XTKBD is not set
767# CONFIG_KEYBOARD_NEWTON is not set
768# CONFIG_KEYBOARD_STOWAWAY is not set
769# CONFIG_KEYBOARD_OMAP is not set
770# CONFIG_KEYBOARD_GPIO is not set
771CONFIG_KEYBOARD_TSC2301=y
772# CONFIG_INPUT_MOUSE is not set
773# CONFIG_INPUT_JOYSTICK is not set
774CONFIG_INPUT_TOUCHSCREEN=y
775# CONFIG_TOUCHSCREEN_ADS7846 is not set
776# CONFIG_TOUCHSCREEN_GUNZE is not set
777# CONFIG_TOUCHSCREEN_ELO is not set
778# CONFIG_TOUCHSCREEN_MTOUCH is not set
779# CONFIG_TOUCHSCREEN_MK712 is not set
780# CONFIG_TOUCHSCREEN_PENMOUNT is not set
781# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
782# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
783# CONFIG_TOUCHSCREEN_UCB1400 is not set
784CONFIG_TOUCHSCREEN_TSC2005=y
785CONFIG_TOUCHSCREEN_TSC2301=y
786# CONFIG_TOUCHSCREEN_TSC2046 is not set
787# CONFIG_INPUT_MISC is not set
788
789#
790# Hardware I/O ports
791#
792CONFIG_SERIO=y
793CONFIG_SERIO_SERPORT=y
794# CONFIG_SERIO_RAW is not set
795# CONFIG_GAMEPORT is not set
796
797#
798# Character devices
799#
800CONFIG_VT=y
801CONFIG_VT_CONSOLE=y
802CONFIG_HW_CONSOLE=y
803# CONFIG_VT_HW_CONSOLE_BINDING is not set
804# CONFIG_SERIAL_NONSTANDARD is not set
805
806#
807# Serial drivers
808#
809# CONFIG_SERIAL_8250 is not set
810
811#
812# Non-8250 serial port support
813#
814CONFIG_SERIAL_OMAP=y
815CONFIG_SERIAL_OMAP_CONSOLE=y
816CONFIG_SERIAL_CORE=y
817CONFIG_SERIAL_CORE_CONSOLE=y
818CONFIG_UNIX98_PTYS=y
819# CONFIG_LEGACY_PTYS is not set
820
821#
822# IPMI
823#
824# CONFIG_IPMI_HANDLER is not set
825
826#
827# Watchdog Cards
828#
829CONFIG_WATCHDOG=y
830CONFIG_WATCHDOG_NOWAYOUT=y
831
832#
833# Watchdog Device Drivers
834#
835# CONFIG_SOFT_WATCHDOG is not set
836CONFIG_OMAP_WATCHDOG=y
837
838#
839# USB-based Watchdog Cards
840#
841# CONFIG_USBPCWATCHDOG is not set
842# CONFIG_HW_RANDOM is not set
843# CONFIG_NVRAM is not set
844# CONFIG_DTLK is not set
845# CONFIG_R3964 is not set
846# CONFIG_RAW_DRIVER is not set
847
848#
849# TPM devices
850#
851# CONFIG_TCG_TPM is not set
852
853#
854# I2C support
855#
856CONFIG_I2C=y
857# CONFIG_I2C_CHARDEV is not set
858
859#
860# I2C Algorithms
861#
862# CONFIG_I2C_ALGOBIT is not set
863# CONFIG_I2C_ALGOPCF is not set
864# CONFIG_I2C_ALGOPCA is not set
865
866#
867# I2C Hardware Bus support
868#
869# CONFIG_I2C_OCORES is not set
870CONFIG_I2C_OMAP=y
871# CONFIG_I2C_PARPORT_LIGHT is not set
872# CONFIG_I2C_STUB is not set
873# CONFIG_I2C_PCA_ISA is not set
874
875#
876# Miscellaneous I2C Chip support
877#
878# CONFIG_SENSORS_DS1337 is not set
879# CONFIG_SENSORS_DS1374 is not set
880# CONFIG_SENSORS_EEPROM is not set
881# CONFIG_SENSORS_PCF8574 is not set
882# CONFIG_SENSORS_PCA9539 is not set
883# CONFIG_SENSORS_PCF8591 is not set
884# CONFIG_ISP1301_OMAP is not set
885# CONFIG_TPS65010 is not set
886# CONFIG_SENSORS_TLV320AIC23 is not set
887CONFIG_SENSORS_TSL2563=y
888# CONFIG_GPIOEXPANDER_OMAP is not set
889CONFIG_LM8323=y
890CONFIG_LP5521=y
891CONFIG_MENELAUS=y
892# CONFIG_TWL4030_CORE is not set
893# CONFIG_SENSORS_MAX6875 is not set
894# CONFIG_I2C_DEBUG_CORE is not set
895# CONFIG_I2C_DEBUG_ALGO is not set
896# CONFIG_I2C_DEBUG_BUS is not set
897# CONFIG_I2C_DEBUG_CHIP is not set
898
899#
900# SPI support
901#
902CONFIG_SPI=y
903# CONFIG_SPI_DEBUG is not set
904CONFIG_SPI_MASTER=y
905
906#
907# SPI Master Controller Drivers
908#
909# CONFIG_SPI_BITBANG is not set
910CONFIG_SPI_OMAP24XX=y
911CONFIG_SPI_OMAP_PAUSING=y
912
913#
914# SPI Protocol Masters
915#
916# CONFIG_SPI_AT25 is not set
917# CONFIG_SPI_TSC2005 is not set
918# CONFIG_SPI_TSC2101 is not set
919# CONFIG_SPI_TSC2102 is not set
920CONFIG_SPI_TSC2301=y
921CONFIG_SPI_TSC2301_AUDIO=y
922
923#
924# Dallas's 1-wire bus
925#
926# CONFIG_W1 is not set
927
928#
929# Hardware Monitoring support
930#
931CONFIG_HWMON=y
932# CONFIG_HWMON_VID is not set
933# CONFIG_SENSORS_ABITUGURU is not set
934# CONFIG_SENSORS_ADM1021 is not set
935# CONFIG_SENSORS_ADM1025 is not set
936# CONFIG_SENSORS_ADM1026 is not set
937# CONFIG_SENSORS_ADM1029 is not set
938# CONFIG_SENSORS_ADM1031 is not set
939# CONFIG_SENSORS_ADM9240 is not set
940# CONFIG_SENSORS_ASB100 is not set
941# CONFIG_SENSORS_ATXP1 is not set
942# CONFIG_SENSORS_DS1621 is not set
943# CONFIG_SENSORS_F71805F is not set
944# CONFIG_SENSORS_FSCHER is not set
945# CONFIG_SENSORS_FSCPOS is not set
946# CONFIG_SENSORS_GL518SM is not set
947# CONFIG_SENSORS_GL520SM is not set
948# CONFIG_SENSORS_IT87 is not set
949# CONFIG_SENSORS_LM63 is not set
950# CONFIG_SENSORS_LM70 is not set
951# CONFIG_SENSORS_LM75 is not set
952# CONFIG_SENSORS_LM77 is not set
953# CONFIG_SENSORS_LM78 is not set
954# CONFIG_SENSORS_LM80 is not set
955# CONFIG_SENSORS_LM83 is not set
956# CONFIG_SENSORS_LM85 is not set
957# CONFIG_SENSORS_LM87 is not set
958# CONFIG_SENSORS_LM90 is not set
959# CONFIG_SENSORS_LM92 is not set
960# CONFIG_SENSORS_MAX1619 is not set
961# CONFIG_SENSORS_PC87360 is not set
962# CONFIG_SENSORS_PC87427 is not set
963# CONFIG_SENSORS_SMSC47M1 is not set
964# CONFIG_SENSORS_SMSC47M192 is not set
965# CONFIG_SENSORS_SMSC47B397 is not set
966CONFIG_SENSORS_TMP105=y
967# CONFIG_SENSORS_VT1211 is not set
968# CONFIG_SENSORS_W83781D is not set
969# CONFIG_SENSORS_W83791D is not set
970# CONFIG_SENSORS_W83792D is not set
971# CONFIG_SENSORS_W83793 is not set
972# CONFIG_SENSORS_W83L785TS is not set
973# CONFIG_SENSORS_W83627HF is not set
974# CONFIG_SENSORS_W83627EHF is not set
975# CONFIG_HWMON_DEBUG_CHIP is not set
976
977#
978# Misc devices
979#
980
981#
982# Multifunction device drivers
983#
984# CONFIG_MFD_SM501 is not set
985
986#
987# LED devices
988#
989CONFIG_NEW_LEDS=y
990CONFIG_LEDS_CLASS=y
991
992#
993# LED drivers
994#
995# CONFIG_LEDS_OMAP_DEBUG is not set
996# CONFIG_LEDS_OMAP is not set
997CONFIG_LEDS_OMAP_PWM=y
998
999#
1000# LED Triggers
1001#
1002CONFIG_LEDS_TRIGGERS=y
1003CONFIG_LEDS_TRIGGER_TIMER=y
1004CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1005
1006#
1007# Multimedia devices
1008#
1009CONFIG_VIDEO_DEV=y
1010# CONFIG_VIDEO_V4L1 is not set
1011# CONFIG_VIDEO_V4L1_COMPAT is not set
1012CONFIG_VIDEO_V4L2=y
1013
1014#
1015# Video Capture Adapters
1016#
1017
1018#
1019# Video Capture Adapters
1020#
1021# CONFIG_VIDEO_ADV_DEBUG is not set
1022CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1023# CONFIG_VIDEO_SAA5246A is not set
1024# CONFIG_VIDEO_SAA5249 is not set
1025
1026#
1027# V4L USB devices
1028#
1029# CONFIG_VIDEO_PVRUSB2 is not set
1030# CONFIG_VIDEO_USBVISION is not set
1031CONFIG_VIDEO_OMAP_CAMERA=y
1032# CONFIG_VIDEO_CAMERA_SENSOR_OV9640 is not set
1033CONFIG_VIDEO_CAMERA_SENSOR_TCM825X=y
1034
1035#
1036# Radio Adapters
1037#
1038CONFIG_RADIO_TEA5761=y
1039# CONFIG_USB_DSBR is not set
1040
1041#
1042# Digital Video Broadcasting Devices
1043#
1044# CONFIG_DVB is not set
1045CONFIG_VIDEO_BUF=y
1046# CONFIG_USB_DABUSB is not set
1047
1048#
1049# Graphics support
1050#
1051# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1052CONFIG_FB=y
1053# CONFIG_FIRMWARE_EDID is not set
1054# CONFIG_FB_DDC is not set
1055# CONFIG_FB_CFB_FILLRECT is not set
1056# CONFIG_FB_CFB_COPYAREA is not set
1057# CONFIG_FB_CFB_IMAGEBLIT is not set
1058# CONFIG_FB_SVGALIB is not set
1059# CONFIG_FB_MACMODES is not set
1060# CONFIG_FB_BACKLIGHT is not set
1061# CONFIG_FB_MODE_HELPERS is not set
1062# CONFIG_FB_TILEBLITTING is not set
1063
1064#
1065# Frame buffer hardware drivers
1066#
1067# CONFIG_FB_S1D13XXX is not set
1068CONFIG_FB_OMAP=y
1069CONFIG_FB_OMAP_LCDC_EXTERNAL=y
1070# CONFIG_FB_OMAP_LCDC_HWA742 is not set
1071CONFIG_FB_OMAP_LCDC_BLIZZARD=y
1072# CONFIG_FB_OMAP_MANUAL_UPDATE is not set
1073CONFIG_FB_OMAP_LCD_MIPID=y
1074CONFIG_FB_OMAP_BOOTLOADER_INIT=y
1075CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4
1076CONFIG_FB_OMAP_PAUSING=y
1077# CONFIG_FB_VIRTUAL is not set
1078
1079#
1080# Console display driver support
1081#
1082# CONFIG_VGA_CONSOLE is not set
1083CONFIG_DUMMY_CONSOLE=y
1084CONFIG_FRAMEBUFFER_CONSOLE=y
1085# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1086# CONFIG_FONTS is not set
1087CONFIG_FONT_8x8=y
1088CONFIG_FONT_8x16=y
1089
1090#
1091# Logo configuration
1092#
1093# CONFIG_LOGO is not set
1094
1095#
1096# Sound
1097#
1098CONFIG_SOUND=y
1099
1100#
1101# Advanced Linux Sound Architecture
1102#
1103CONFIG_SND=y
1104# CONFIG_SND_SEQUENCER is not set
1105CONFIG_SND_OSSEMUL=y
1106CONFIG_SND_MIXER_OSS=y
1107# CONFIG_SND_PCM_OSS is not set
1108# CONFIG_SND_DYNAMIC_MINORS is not set
1109CONFIG_SND_SUPPORT_OLD_API=y
1110# CONFIG_SND_VERBOSE_PROCFS is not set
1111# CONFIG_SND_VERBOSE_PRINTK is not set
1112# CONFIG_SND_DEBUG is not set
1113
1114#
1115# Generic devices
1116#
1117# CONFIG_SND_DUMMY is not set
1118# CONFIG_SND_MTPAV is not set
1119# CONFIG_SND_SERIAL_U16550 is not set
1120# CONFIG_SND_MPU401 is not set
1121
1122#
1123# ALSA ARM devices
1124#
1125# CONFIG_SND_OMAP_AIC23 is not set
1126CONFIG_SND_AIC33=y
1127# CONFIG_SND_OMAP_TSC2101 is not set
1128# CONFIG_SND_SX1 is not set
1129# CONFIG_SND_OMAP_TSC2102 is not set
1130CONFIG_SND_OMAP24XX_EAC=y
1131
1132#
1133# USB devices
1134#
1135# CONFIG_SND_USB_AUDIO is not set
1136
1137#
1138# SoC audio support
1139#
1140# CONFIG_SND_SOC is not set
1141
1142#
1143# Open Sound System
1144#
1145# CONFIG_SOUND_PRIME is not set
1146
1147#
1148# HID Devices
1149#
1150CONFIG_HID=y
1151# CONFIG_HID_DEBUG is not set
1152
1153#
1154# USB support
1155#
1156CONFIG_USB_ARCH_HAS_HCD=y
1157CONFIG_USB_ARCH_HAS_OHCI=y
1158# CONFIG_USB_ARCH_HAS_EHCI is not set
1159CONFIG_USB=y
1160CONFIG_USB_DEBUG=y
1161
1162#
1163# Miscellaneous USB options
1164#
1165CONFIG_USB_DEVICEFS=y
1166CONFIG_USB_DYNAMIC_MINORS=y
1167CONFIG_USB_SUSPEND=y
1168CONFIG_USB_OTG=y
1169CONFIG_USB_OTG_WHITELIST=y
1170# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1171
1172#
1173# USB Host Controller Drivers
1174#
1175# CONFIG_USB_ISP116X_HCD is not set
1176# CONFIG_USB_OHCI_HCD is not set
1177# CONFIG_USB_SL811_HCD is not set
1178CONFIG_USB_MUSB_HDRC=y
1179CONFIG_USB_TUSB6010=y
1180CONFIG_USB_TUSB6010_TEST=y
1181# CONFIG_USB_MUSB_HOST is not set
1182# CONFIG_USB_MUSB_PERIPHERAL is not set
1183CONFIG_USB_MUSB_OTG=y
1184CONFIG_USB_GADGET_MUSB_HDRC=y
1185CONFIG_USB_MUSB_HDRC_HCD=y
1186CONFIG_USB_MUSB_HSET=y
1187# CONFIG_MUSB_PIO_ONLY is not set
1188# CONFIG_USB_INVENTRA_DMA is not set
1189# CONFIG_USB_TI_CPPI_DMA is not set
1190CONFIG_USB_TUSB_OMAP_DMA=y
1191CONFIG_USB_MUSB_LOGLEVEL=1
1192
1193#
1194# USB Device Class drivers
1195#
1196# CONFIG_USB_ACM is not set
1197# CONFIG_USB_PRINTER is not set
1198
1199#
1200# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1201#
1202
1203#
1204# may also be needed; see USB_STORAGE Help for more information
1205#
1206CONFIG_USB_STORAGE=y
1207# CONFIG_USB_STORAGE_DEBUG is not set
1208# CONFIG_USB_STORAGE_DATAFAB is not set
1209# CONFIG_USB_STORAGE_FREECOM is not set
1210# CONFIG_USB_STORAGE_DPCM is not set
1211# CONFIG_USB_STORAGE_USBAT is not set
1212# CONFIG_USB_STORAGE_SDDR09 is not set
1213# CONFIG_USB_STORAGE_SDDR55 is not set
1214# CONFIG_USB_STORAGE_JUMPSHOT is not set
1215# CONFIG_USB_STORAGE_ALAUDA is not set
1216# CONFIG_USB_STORAGE_KARMA is not set
1217CONFIG_USB_LIBUSUAL=y
1218
1219#
1220# USB Input Devices
1221#
1222CONFIG_USB_HID=y
1223# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1224# CONFIG_HID_FF is not set
1225# CONFIG_USB_HIDDEV is not set
1226# CONFIG_USB_AIPTEK is not set
1227# CONFIG_USB_WACOM is not set
1228# CONFIG_USB_ACECAD is not set
1229# CONFIG_USB_KBTAB is not set
1230# CONFIG_USB_POWERMATE is not set
1231# CONFIG_USB_TOUCHSCREEN is not set
1232# CONFIG_USB_YEALINK is not set
1233# CONFIG_USB_XPAD is not set
1234# CONFIG_USB_ATI_REMOTE is not set
1235# CONFIG_USB_ATI_REMOTE2 is not set
1236# CONFIG_USB_KEYSPAN_REMOTE is not set
1237# CONFIG_USB_APPLETOUCH is not set
1238# CONFIG_USB_GTCO is not set
1239
1240#
1241# USB Imaging devices
1242#
1243# CONFIG_USB_MDC800 is not set
1244# CONFIG_USB_MICROTEK is not set
1245
1246#
1247# USB Network Adapters
1248#
1249# CONFIG_USB_CATC is not set
1250# CONFIG_USB_KAWETH is not set
1251# CONFIG_USB_PEGASUS is not set
1252CONFIG_USB_RTL8150=y
1253# CONFIG_USB_USBNET_MII is not set
1254CONFIG_USB_USBNET=y
1255CONFIG_USB_NET_CDCETHER=y
1256# CONFIG_USB_NET_DM9601 is not set
1257# CONFIG_USB_NET_GL620A is not set
1258CONFIG_USB_NET_NET1080=y
1259CONFIG_USB_NET_PLUSB=y
1260# CONFIG_USB_NET_MCS7830 is not set
1261CONFIG_USB_NET_RNDIS_HOST=y
1262CONFIG_USB_NET_CDC_SUBSET=y
1263# CONFIG_USB_ALI_M5632 is not set
1264# CONFIG_USB_AN2720 is not set
1265CONFIG_USB_BELKIN=y
1266CONFIG_USB_ARMLINUX=y
1267# CONFIG_USB_EPSON2888 is not set
1268# CONFIG_USB_KC2190 is not set
1269CONFIG_USB_NET_ZAURUS=y
1270CONFIG_USB_MON=y
1271
1272#
1273# USB port drivers
1274#
1275
1276#
1277# USB Serial Converter support
1278#
1279# CONFIG_USB_SERIAL is not set
1280
1281#
1282# USB Miscellaneous drivers
1283#
1284# CONFIG_USB_EMI62 is not set
1285# CONFIG_USB_EMI26 is not set
1286# CONFIG_USB_ADUTUX is not set
1287# CONFIG_USB_AUERSWALD is not set
1288# CONFIG_USB_RIO500 is not set
1289# CONFIG_USB_LEGOTOWER is not set
1290# CONFIG_USB_LCD is not set
1291# CONFIG_USB_BERRY_CHARGE is not set
1292# CONFIG_USB_LED is not set
1293# CONFIG_USB_CYPRESS_CY7C63 is not set
1294# CONFIG_USB_CYTHERM is not set
1295# CONFIG_USB_PHIDGET is not set
1296# CONFIG_USB_IDMOUSE is not set
1297# CONFIG_USB_FTDI_ELAN is not set
1298# CONFIG_USB_APPLEDISPLAY is not set
1299# CONFIG_USB_SISUSBVGA is not set
1300# CONFIG_USB_LD is not set
1301# CONFIG_USB_TRANCEVIBRATOR is not set
1302# CONFIG_USB_IOWARRIOR is not set
1303CONFIG_USB_TEST=y
1304
1305#
1306# USB DSL modem support
1307#
1308
1309#
1310# USB Gadget Support
1311#
1312CONFIG_USB_GADGET=m
1313CONFIG_USB_GADGET_DEBUG_FILES=y
1314CONFIG_USB_GADGET_SELECTED=y
1315# CONFIG_USB_GADGET_NET2280 is not set
1316# CONFIG_USB_GADGET_PXA2XX is not set
1317# CONFIG_USB_GADGET_GOKU is not set
1318# CONFIG_USB_GADGET_LH7A40X is not set
1319# CONFIG_USB_GADGET_OMAP is not set
1320# CONFIG_USB_GADGET_AT91 is not set
1321# CONFIG_USB_GADGET_DUMMY_HCD is not set
1322CONFIG_USB_GADGET_DUALSPEED=y
1323# CONFIG_USB_ZERO is not set
1324CONFIG_USB_ETH=m
1325CONFIG_USB_ETH_RNDIS=y
1326CONFIG_USB_GADGETFS=m
1327CONFIG_USB_FILE_STORAGE=m
1328CONFIG_USB_FILE_STORAGE_TEST=y
1329# CONFIG_USB_G_SERIAL is not set
1330# CONFIG_USB_MIDI_GADGET is not set
1331
1332#
1333# MMC/SD Card support
1334#
1335CONFIG_MMC=y
1336# CONFIG_MMC_DEBUG is not set
1337CONFIG_MMC_BLOCK=y
1338CONFIG_MMC_OMAP=y
1339CONFIG_MMC_PAUSING=y
1340
1341#
1342# Real Time Clock
1343#
1344CONFIG_RTC_LIB=y
1345# CONFIG_RTC_CLASS is not set
1346
1347#
1348# CBUS support
1349#
1350CONFIG_CBUS=y
1351CONFIG_CBUS_TAHVO=y
1352CONFIG_CBUS_TAHVO_USER=y
1353# CONFIG_CBUS_TAHVO_USB is not set
1354CONFIG_CBUS_RETU=y
1355CONFIG_CBUS_RETU_USER=y
1356CONFIG_CBUS_RETU_POWERBUTTON=y
1357CONFIG_CBUS_RETU_RTC=y
1358CONFIG_CBUS_RETU_WDT=y
1359CONFIG_CBUS_RETU_HEADSET=y
1360
1361#
1362# File systems
1363#
1364CONFIG_EXT2_FS=y
1365CONFIG_EXT2_FS_XATTR=y
1366# CONFIG_EXT2_FS_POSIX_ACL is not set
1367# CONFIG_EXT2_FS_SECURITY is not set
1368# CONFIG_EXT2_FS_XIP is not set
1369CONFIG_EXT3_FS=y
1370CONFIG_EXT3_FS_XATTR=y
1371# CONFIG_EXT3_FS_POSIX_ACL is not set
1372# CONFIG_EXT3_FS_SECURITY is not set
1373# CONFIG_EXT4DEV_FS is not set
1374CONFIG_JBD=y
1375# CONFIG_JBD_DEBUG is not set
1376CONFIG_FS_MBCACHE=y
1377# CONFIG_REISERFS_FS is not set
1378# CONFIG_JFS_FS is not set
1379# CONFIG_FS_POSIX_ACL is not set
1380# CONFIG_XFS_FS is not set
1381# CONFIG_GFS2_FS is not set
1382# CONFIG_OCFS2_FS is not set
1383# CONFIG_MINIX_FS is not set
1384# CONFIG_ROMFS_FS is not set
1385CONFIG_INOTIFY=y
1386CONFIG_INOTIFY_USER=y
1387# CONFIG_QUOTA is not set
1388CONFIG_DNOTIFY=y
1389# CONFIG_AUTOFS_FS is not set
1390# CONFIG_AUTOFS4_FS is not set
1391CONFIG_FUSE_FS=y
1392
1393#
1394# CD-ROM/DVD Filesystems
1395#
1396# CONFIG_ISO9660_FS is not set
1397# CONFIG_UDF_FS is not set
1398
1399#
1400# DOS/FAT/NT Filesystems
1401#
1402CONFIG_FAT_FS=y
1403# CONFIG_MSDOS_FS is not set
1404CONFIG_VFAT_FS=y
1405CONFIG_FAT_DEFAULT_CODEPAGE=437
1406CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1407# CONFIG_NTFS_FS is not set
1408
1409#
1410# Pseudo filesystems
1411#
1412CONFIG_PROC_FS=y
1413CONFIG_PROC_SYSCTL=y
1414CONFIG_SYSFS=y
1415CONFIG_TMPFS=y
1416# CONFIG_TMPFS_POSIX_ACL is not set
1417# CONFIG_HUGETLB_PAGE is not set
1418CONFIG_RAMFS=y
1419# CONFIG_CONFIGFS_FS is not set
1420
1421#
1422# Miscellaneous filesystems
1423#
1424# CONFIG_ADFS_FS is not set
1425# CONFIG_AFFS_FS is not set
1426# CONFIG_HFS_FS is not set
1427# CONFIG_HFSPLUS_FS is not set
1428# CONFIG_BEFS_FS is not set
1429# CONFIG_BFS_FS is not set
1430# CONFIG_EFS_FS is not set
1431CONFIG_JFFS2_FS=y
1432CONFIG_JFFS2_FS_DEBUG=0
1433CONFIG_JFFS2_FS_WRITEBUFFER=y
1434CONFIG_JFFS2_SUMMARY=y
1435# CONFIG_JFFS2_FS_XATTR is not set
1436# CONFIG_JFFS2_SYSFS is not set
1437CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1438CONFIG_JFFS2_ZLIB=y
1439CONFIG_JFFS2_LZO=y
1440CONFIG_JFFS2_RTIME=y
1441# CONFIG_JFFS2_RUBIN is not set
1442# CONFIG_JFFS2_CMODE_NONE is not set
1443CONFIG_JFFS2_CMODE_PRIORITY=y
1444# CONFIG_JFFS2_CMODE_SIZE is not set
1445# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1446# CONFIG_CRAMFS is not set
1447# CONFIG_VXFS_FS is not set
1448# CONFIG_HPFS_FS is not set
1449# CONFIG_QNX4FS_FS is not set
1450# CONFIG_SYSV_FS is not set
1451# CONFIG_UFS_FS is not set
1452
1453#
1454# Network File Systems
1455#
1456CONFIG_NFS_FS=y
1457CONFIG_NFS_V3=y
1458# CONFIG_NFS_V3_ACL is not set
1459CONFIG_NFS_V4=y
1460# CONFIG_NFS_DIRECTIO is not set
1461# CONFIG_NFSD is not set
1462CONFIG_LOCKD=y
1463CONFIG_LOCKD_V4=y
1464CONFIG_NFS_COMMON=y
1465CONFIG_SUNRPC=y
1466CONFIG_SUNRPC_GSS=y
1467CONFIG_RPCSEC_GSS_KRB5=y
1468# CONFIG_RPCSEC_GSS_SPKM3 is not set
1469# CONFIG_SMB_FS is not set
1470CONFIG_CIFS=y
1471# CONFIG_CIFS_STATS is not set
1472# CONFIG_CIFS_WEAK_PW_HASH is not set
1473# CONFIG_CIFS_XATTR is not set
1474# CONFIG_CIFS_DEBUG2 is not set
1475# CONFIG_CIFS_EXPERIMENTAL is not set
1476# CONFIG_NCP_FS is not set
1477# CONFIG_CODA_FS is not set
1478# CONFIG_AFS_FS is not set
1479# CONFIG_9P_FS is not set
1480
1481#
1482# Partition Types
1483#
1484# CONFIG_PARTITION_ADVANCED is not set
1485CONFIG_MSDOS_PARTITION=y
1486
1487#
1488# Native Language Support
1489#
1490CONFIG_NLS=y
1491CONFIG_NLS_DEFAULT="iso8859-1"
1492CONFIG_NLS_CODEPAGE_437=y
1493# CONFIG_NLS_CODEPAGE_737 is not set
1494# CONFIG_NLS_CODEPAGE_775 is not set
1495# CONFIG_NLS_CODEPAGE_850 is not set
1496# CONFIG_NLS_CODEPAGE_852 is not set
1497# CONFIG_NLS_CODEPAGE_855 is not set
1498# CONFIG_NLS_CODEPAGE_857 is not set
1499# CONFIG_NLS_CODEPAGE_860 is not set
1500# CONFIG_NLS_CODEPAGE_861 is not set
1501# CONFIG_NLS_CODEPAGE_862 is not set
1502# CONFIG_NLS_CODEPAGE_863 is not set
1503# CONFIG_NLS_CODEPAGE_864 is not set
1504# CONFIG_NLS_CODEPAGE_865 is not set
1505# CONFIG_NLS_CODEPAGE_866 is not set
1506# CONFIG_NLS_CODEPAGE_869 is not set
1507# CONFIG_NLS_CODEPAGE_936 is not set
1508# CONFIG_NLS_CODEPAGE_950 is not set
1509# CONFIG_NLS_CODEPAGE_932 is not set
1510# CONFIG_NLS_CODEPAGE_949 is not set
1511# CONFIG_NLS_CODEPAGE_874 is not set
1512# CONFIG_NLS_ISO8859_8 is not set
1513# CONFIG_NLS_CODEPAGE_1250 is not set
1514# CONFIG_NLS_CODEPAGE_1251 is not set
1515# CONFIG_NLS_ASCII is not set
1516CONFIG_NLS_ISO8859_1=y
1517CONFIG_NLS_ISO8859_2=y
1518# CONFIG_NLS_ISO8859_3 is not set
1519# CONFIG_NLS_ISO8859_4 is not set
1520# CONFIG_NLS_ISO8859_5 is not set
1521# CONFIG_NLS_ISO8859_6 is not set
1522# CONFIG_NLS_ISO8859_7 is not set
1523# CONFIG_NLS_ISO8859_9 is not set
1524# CONFIG_NLS_ISO8859_13 is not set
1525# CONFIG_NLS_ISO8859_14 is not set
1526CONFIG_NLS_ISO8859_15=y
1527# CONFIG_NLS_KOI8_R is not set
1528# CONFIG_NLS_KOI8_U is not set
1529CONFIG_NLS_UTF8=y
1530
1531#
1532# Distributed Lock Manager
1533#
1534# CONFIG_DLM is not set
1535
1536#
1537# Profiling support
1538#
1539# CONFIG_PROFILING is not set
1540
1541#
1542# Kernel hacking
1543#
1544CONFIG_PRINTK_TIME=y
1545CONFIG_ENABLE_MUST_CHECK=y
1546CONFIG_MAGIC_SYSRQ=y
1547# CONFIG_UNUSED_SYMBOLS is not set
1548CONFIG_DEBUG_FS=y
1549# CONFIG_HEADERS_CHECK is not set
1550CONFIG_DEBUG_KERNEL=y
1551# CONFIG_DEBUG_SHIRQ is not set
1552CONFIG_LOG_BUF_SHIFT=14
1553CONFIG_DETECT_SOFTLOCKUP=y
1554# CONFIG_SCHEDSTATS is not set
1555# CONFIG_TIMER_STATS is not set
1556# CONFIG_DEBUG_SLAB is not set
1557# CONFIG_DEBUG_RT_MUTEXES is not set
1558# CONFIG_RT_MUTEX_TESTER is not set
1559# CONFIG_DEBUG_SPINLOCK is not set
1560# CONFIG_DEBUG_MUTEXES is not set
1561# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1562# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1563# CONFIG_DEBUG_KOBJECT is not set
1564CONFIG_DEBUG_BUGVERBOSE=y
1565# CONFIG_DEBUG_INFO is not set
1566# CONFIG_DEBUG_VM is not set
1567# CONFIG_DEBUG_LIST is not set
1568CONFIG_FRAME_POINTER=y
1569CONFIG_FORCED_INLINING=y
1570# CONFIG_RCU_TORTURE_TEST is not set
1571# CONFIG_FAULT_INJECTION is not set
1572
1573#
1574# GCOV coverage profiling
1575#
1576# CONFIG_GCOV_PROFILE is not set
1577CONFIG_DEBUG_USER=y
1578CONFIG_DEBUG_ERRORS=y
1579# CONFIG_DEBUG_LL is not set
1580
1581#
1582# Security options
1583#
1584# CONFIG_KEYS is not set
1585CONFIG_SECURITY=y
1586# CONFIG_SECURITY_NETWORK is not set
1587# CONFIG_SECURITY_CAPABILITIES is not set
1588# CONFIG_SECURITY_ROOTPLUG is not set
1589CONFIG_SECURITY_LOWMEM=y
1590
1591#
1592# Cryptographic options
1593#
1594CONFIG_CRYPTO=y
1595CONFIG_CRYPTO_ALGAPI=y
1596CONFIG_CRYPTO_BLKCIPHER=y
1597CONFIG_CRYPTO_MANAGER=y
1598# CONFIG_CRYPTO_HMAC is not set
1599# CONFIG_CRYPTO_XCBC is not set
1600# CONFIG_CRYPTO_NULL is not set
1601# CONFIG_CRYPTO_MD4 is not set
1602CONFIG_CRYPTO_MD5=y
1603# CONFIG_CRYPTO_SHA1 is not set
1604# CONFIG_CRYPTO_SHA256 is not set
1605# CONFIG_CRYPTO_SHA512 is not set
1606# CONFIG_CRYPTO_WP512 is not set
1607# CONFIG_CRYPTO_TGR192 is not set
1608# CONFIG_CRYPTO_GF128MUL is not set
1609CONFIG_CRYPTO_ECB=m
1610CONFIG_CRYPTO_CBC=y
1611CONFIG_CRYPTO_PCBC=m
1612# CONFIG_CRYPTO_LRW is not set
1613CONFIG_CRYPTO_DES=y
1614# CONFIG_CRYPTO_FCRYPT is not set
1615# CONFIG_CRYPTO_BLOWFISH is not set
1616# CONFIG_CRYPTO_TWOFISH is not set
1617# CONFIG_CRYPTO_SERPENT is not set
1618# CONFIG_CRYPTO_AES is not set
1619# CONFIG_CRYPTO_CAST5 is not set
1620# CONFIG_CRYPTO_CAST6 is not set
1621# CONFIG_CRYPTO_TEA is not set
1622# CONFIG_CRYPTO_ARC4 is not set
1623# CONFIG_CRYPTO_KHAZAD is not set
1624# CONFIG_CRYPTO_ANUBIS is not set
1625# CONFIG_CRYPTO_DEFLATE is not set
1626# CONFIG_CRYPTO_LZO is not set
1627# CONFIG_CRYPTO_MICHAEL_MIC is not set
1628# CONFIG_CRYPTO_CRC32C is not set
1629# CONFIG_CRYPTO_CAMELLIA is not set
1630# CONFIG_CRYPTO_TEST is not set
1631
1632#
1633# Hardware crypto devices
1634#
1635
1636#
1637# Library routines
1638#
1639CONFIG_BITREVERSE=y
1640CONFIG_CRC_CCITT=y
1641# CONFIG_CRC16 is not set
1642CONFIG_CRC32=y
1643# CONFIG_LIBCRC32C is not set
1644CONFIG_LZO_COMPRESS=y
1645CONFIG_LZO_DECOMPRESS=y
1646CONFIG_ZLIB_INFLATE=y
1647CONFIG_ZLIB_DEFLATE=y
1648CONFIG_PLIST=y
1649CONFIG_HAS_IOMEM=y
1650CONFIG_HAS_IOPORT=y
diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch b/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch
deleted file mode 100644
index 791a66e02a..0000000000
--- a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch
+++ /dev/null
@@ -1,60 +0,0 @@
1Index: linux-2.6.21/drivers/cbus/retu-pwrbutton.c
2===================================================================
3--- linux-2.6.21.orig/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:44:18.000000000 +0000
4+++ linux-2.6.21/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:46:22.000000000 +0000
5@@ -53,7 +53,9 @@
6 state = PWRBTN_PRESSED;
7
8 if (pwrbtn_state != state) {
9- input_report_key(pwrbtn_dev, KEY_POWER, state);
10+ input_report_key(pwrbtn_dev, KEY_SUSPEND, state);
11+ if (state == PWRBTN_PRESSED)
12+ input_event(pwrbtn_dev, EV_PWR, KEY_SUSPEND, 1);
13 pwrbtn_state = state;
14 }
15 }
16@@ -92,8 +94,8 @@
17 if (!pwrbtn_dev)
18 return -ENOMEM;
19
20- pwrbtn_dev->evbit[0] = BIT(EV_KEY);
21- pwrbtn_dev->keybit[LONG(KEY_POWER)] = BIT(KEY_POWER);
22+ pwrbtn_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_PWR);
23+ pwrbtn_dev->keybit[LONG(KEY_SUSPEND)] = BIT(KEY_SUSPEND);
24 pwrbtn_dev->name = "retu-pwrbutton";
25
26 input_register_device(pwrbtn_dev);
27Index: linux-2.6.21/drivers/char/apm-emulation.c
28===================================================================
29--- linux-2.6.21.orig/drivers/char/apm-emulation.c 2008-02-21 00:32:41.000000000 +0000
30+++ linux-2.6.21/drivers/char/apm-emulation.c 2008-02-21 00:33:43.000000000 +0000
31@@ -206,10 +206,18 @@
32 return ret;
33 }
34
35+static in_suspend;
36+
37 static void apm_suspend(void)
38 {
39 struct apm_user *as;
40- int err = pm_suspend(PM_SUSPEND_MEM);
41+ int err;
42+
43+ in_suspend = 1;
44+
45+ err = pm_suspend(PM_SUSPEND_MEM);
46+
47+ in_suspend = 0;
48
49 /*
50 * Anyone on the APM queues will think we're still suspended.
51@@ -663,6 +671,9 @@
52 {
53 unsigned long flags;
54
55+ if (in_suspend)
56+ return;
57+
58 spin_lock_irqsave(&kapmd_queue_lock, flags);
59 queue_add_event(&kapmd_queue, event);
60 spin_unlock_irqrestore(&kapmd_queue_lock, flags);
diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig
deleted file mode 100644
index 52ee1b10ce..0000000000
--- a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig
+++ /dev/null
@@ -1,1642 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21-omap1
4# Tue Mar 4 12:08:53 2008
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_MMU=y
11# CONFIG_NO_IOPORT is not set
12CONFIG_GENERIC_HARDIRQS=y
13CONFIG_TRACE_IRQFLAGS_SUPPORT=y
14CONFIG_HARDIRQS_SW_RESEND=y
15CONFIG_GENERIC_IRQ_PROBE=y
16CONFIG_RWSEM_GENERIC_SPINLOCK=y
17# CONFIG_ARCH_HAS_ILOG2_U32 is not set
18# CONFIG_ARCH_HAS_ILOG2_U64 is not set
19CONFIG_GENERIC_HWEIGHT=y
20CONFIG_GENERIC_CALIBRATE_DELAY=y
21CONFIG_ZONE_DMA=y
22CONFIG_VECTORS_BASE=0xffff0000
23CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
24
25#
26# Code maturity level options
27#
28CONFIG_EXPERIMENTAL=y
29CONFIG_BROKEN_ON_SMP=y
30CONFIG_INIT_ENV_ARG_LIMIT=32
31
32#
33# General setup
34#
35CONFIG_LOCALVERSION=""
36# CONFIG_LOCALVERSION_AUTO is not set
37CONFIG_SWAP=y
38CONFIG_SYSVIPC=y
39# CONFIG_IPC_NS is not set
40CONFIG_SYSVIPC_SYSCTL=y
41CONFIG_POSIX_MQUEUE=y
42# CONFIG_BSD_PROCESS_ACCT is not set
43# CONFIG_TASKSTATS is not set
44# CONFIG_UTS_NS is not set
45# CONFIG_AUDIT is not set
46# CONFIG_IKCONFIG is not set
47CONFIG_SYSFS_DEPRECATED=y
48# CONFIG_RELAY is not set
49CONFIG_BLK_DEV_INITRD=y
50CONFIG_INITRAMFS_SOURCE=""
51CONFIG_CC_OPTIMIZE_FOR_SIZE=y
52CONFIG_SYSCTL=y
53# CONFIG_EMBEDDED is not set
54CONFIG_UID16=y
55CONFIG_SYSCTL_SYSCALL=y
56CONFIG_KALLSYMS=y
57# CONFIG_KALLSYMS_ALL is not set
58# CONFIG_KALLSYMS_EXTRA_PASS is not set
59CONFIG_HOTPLUG=y
60CONFIG_PRINTK=y
61CONFIG_BUG=y
62CONFIG_ELF_CORE=y
63CONFIG_BASE_FULL=y
64CONFIG_FUTEX=y
65CONFIG_EPOLL=y
66CONFIG_SHMEM=y
67CONFIG_SLAB=y
68CONFIG_VM_EVENT_COUNTERS=y
69CONFIG_RT_MUTEXES=y
70# CONFIG_TINY_SHMEM is not set
71CONFIG_BASE_SMALL=0
72# CONFIG_SLOB is not set
73
74#
75# Loadable module support
76#
77CONFIG_MODULES=y
78CONFIG_MODULE_UNLOAD=y
79# CONFIG_MODULE_FORCE_UNLOAD is not set
80# CONFIG_MODVERSIONS is not set
81# CONFIG_MODULE_SRCVERSION_ALL is not set
82# CONFIG_KMOD is not set
83
84#
85# Block layer
86#
87CONFIG_BLOCK=y
88# CONFIG_LBD is not set
89# CONFIG_BLK_DEV_IO_TRACE is not set
90# CONFIG_LSF is not set
91
92#
93# IO Schedulers
94#
95CONFIG_IOSCHED_NOOP=y
96# CONFIG_IOSCHED_AS is not set
97# CONFIG_IOSCHED_DEADLINE is not set
98# CONFIG_IOSCHED_CFQ is not set
99# CONFIG_DEFAULT_AS is not set
100# CONFIG_DEFAULT_DEADLINE is not set
101# CONFIG_DEFAULT_CFQ is not set
102CONFIG_DEFAULT_NOOP=y
103CONFIG_DEFAULT_IOSCHED="noop"
104
105#
106# System Type
107#
108# CONFIG_ARCH_AAEC2000 is not set
109# CONFIG_ARCH_INTEGRATOR is not set
110# CONFIG_ARCH_REALVIEW is not set
111# CONFIG_ARCH_VERSATILE is not set
112# CONFIG_ARCH_AT91 is not set
113# CONFIG_ARCH_CLPS7500 is not set
114# CONFIG_ARCH_CLPS711X is not set
115# CONFIG_ARCH_CO285 is not set
116# CONFIG_ARCH_EBSA110 is not set
117# CONFIG_ARCH_EP93XX is not set
118# CONFIG_ARCH_FOOTBRIDGE is not set
119# CONFIG_ARCH_NETX is not set
120# CONFIG_ARCH_H720X is not set
121# CONFIG_ARCH_IMX is not set
122# CONFIG_ARCH_IOP32X is not set
123# CONFIG_ARCH_IOP33X is not set
124# CONFIG_ARCH_IOP13XX is not set
125# CONFIG_ARCH_IXP4XX is not set
126# CONFIG_ARCH_IXP2000 is not set
127# CONFIG_ARCH_IXP23XX is not set
128# CONFIG_ARCH_L7200 is not set
129# CONFIG_ARCH_NS9XXX is not set
130# CONFIG_ARCH_PNX4008 is not set
131# CONFIG_ARCH_PXA is not set
132# CONFIG_ARCH_RPC is not set
133# CONFIG_ARCH_SA1100 is not set
134# CONFIG_ARCH_S3C2410 is not set
135# CONFIG_ARCH_SHARK is not set
136# CONFIG_ARCH_LH7A40X is not set
137CONFIG_ARCH_OMAP=y
138
139#
140# TI OMAP Implementations
141#
142CONFIG_ARCH_OMAP_OTG=y
143# CONFIG_ARCH_OMAP1 is not set
144CONFIG_ARCH_OMAP2=y
145
146#
147# OMAP Feature Selections
148#
149CONFIG_MACH_OMAP2420_DVFS=y
150CONFIG_ARCH_OMAP2420_DEBUG=y
151CONFIG_ARCH_OMAP2420_OBSERVABILITY=m
152CONFIG_ARCH_OMAP2420_PEEK_N_POKE=m
153CONFIG_ARCH_OMAP2420_SNAPSHOT=m
154CONFIG_ARCH_OMAP2420_DMA_DRAIN=y
155CONFIG_OMAP_RESET_CLOCKS=y
156CONFIG_OMAP_BOOT_TAG=y
157CONFIG_OMAP_BOOT_REASON=y
158CONFIG_OMAP_COMPONENT_VERSION=y
159CONFIG_OMAP_GPIO_SWITCH=y
160# CONFIG_OMAP_MUX is not set
161CONFIG_OMAP_STI=y
162CONFIG_OMAP_STI_CONSOLE=y
163# CONFIG_OMAP_MCBSP is not set
164CONFIG_OMAP_MMU_FWK=y
165CONFIG_OMAP_MBOX_FWK=y
166# CONFIG_OMAP_MPU_TIMER is not set
167CONFIG_OMAP_32K_TIMER=y
168CONFIG_OMAP_32K_TIMER_HZ=128
169CONFIG_OMAP_DM_TIMER=y
170# CONFIG_OMAP_LL_DEBUG_UART1 is not set
171# CONFIG_OMAP_LL_DEBUG_UART2 is not set
172CONFIG_OMAP_LL_DEBUG_UART3=y
173CONFIG_OMAP_DSP=y
174# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
175CONFIG_OMAP_DSP_TASK_MULTIOPEN=y
176CONFIG_OMAP_DSP_FBEXPORT=y
177CONFIG_OMAP_DSP_PAUSING=y
178# CONFIG_MACH_OMAP_GENERIC is not set
179
180#
181# OMAP Core Type
182#
183CONFIG_ARCH_OMAP24XX=y
184CONFIG_ARCH_OMAP2420=y
185# CONFIG_ARCH_OMAP2430 is not set
186
187#
188# OMAP Board Type
189#
190CONFIG_MACH_NOKIA_N800=y
191CONFIG_MACH_NOKIA_RX44=y
192CONFIG_MACH_OMAP2_TUSB6010=y
193# CONFIG_MACH_OMAP_H4 is not set
194# CONFIG_MACH_OMAP_APOLLON is not set
195# CONFIG_MACH_OMAP_2430SDP is not set
196
197#
198# Processor Type
199#
200CONFIG_CPU_32=y
201CONFIG_CPU_V6=y
202# CONFIG_CPU_32v6K is not set
203CONFIG_CPU_32v6=y
204CONFIG_CPU_ABRT_EV6=y
205CONFIG_CPU_CACHE_V6=y
206CONFIG_CPU_CACHE_VIPT=y
207CONFIG_CPU_COPY_V6=y
208CONFIG_CPU_TLB_V6=y
209CONFIG_CPU_CP15=y
210CONFIG_CPU_CP15_MMU=y
211
212#
213# Processor Features
214#
215CONFIG_ARM_THUMB=y
216# CONFIG_CPU_ICACHE_DISABLE is not set
217# CONFIG_CPU_DCACHE_DISABLE is not set
218# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
219# CONFIG_CPU_BPREDICT_DISABLE is not set
220# CONFIG_OUTER_CACHE is not set
221
222#
223# Bus support
224#
225
226#
227# PCCARD (PCMCIA/CardBus) support
228#
229# CONFIG_PCCARD is not set
230
231#
232# Kernel Features
233#
234# CONFIG_PREEMPT is not set
235CONFIG_NO_IDLE_HZ=y
236CONFIG_HZ=128
237CONFIG_AEABI=y
238CONFIG_OABI_COMPAT=y
239# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
240CONFIG_SELECT_MEMORY_MODEL=y
241CONFIG_FLATMEM_MANUAL=y
242# CONFIG_DISCONTIGMEM_MANUAL is not set
243# CONFIG_SPARSEMEM_MANUAL is not set
244CONFIG_FLATMEM=y
245CONFIG_FLAT_NODE_MEM_MAP=y
246# CONFIG_SPARSEMEM_STATIC is not set
247CONFIG_SPLIT_PTLOCK_CPUS=4
248# CONFIG_RESOURCES_64BIT is not set
249CONFIG_ZONE_DMA_FLAG=1
250CONFIG_LEDS=y
251CONFIG_ALIGNMENT_TRAP=y
252
253#
254# Boot options
255#
256CONFIG_ZBOOT_ROM_TEXT=0x10C08000
257CONFIG_ZBOOT_ROM_BSS=0x10200000
258# CONFIG_ZBOOT_ROM is not set
259CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 ro console=tty0"
260# CONFIG_XIP_KERNEL is not set
261# CONFIG_KEXEC is not set
262
263#
264# CPU Frequency scaling
265#
266CONFIG_CPU_FREQ=y
267CONFIG_CPU_FREQ_TABLE=y
268# CONFIG_CPU_FREQ_DEBUG is not set
269CONFIG_CPU_FREQ_STAT=y
270# CONFIG_CPU_FREQ_STAT_DETAILS is not set
271# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
272# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
273CONFIG_CPU_FREQ_DEFAULT_GOV_NULL=y
274# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
275CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
276CONFIG_CPU_FREQ_GOV_POWERSAVE=y
277CONFIG_CPU_FREQ_GOV_NULL=y
278# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
279CONFIG_CPU_FREQ_GOV_ONDEMAND=y
280CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
281
282#
283# Floating point emulation
284#
285
286#
287# At least one emulation must be selected
288#
289CONFIG_FPE_NWFPE=y
290# CONFIG_FPE_NWFPE_XP is not set
291# CONFIG_FPE_FASTFPE is not set
292CONFIG_VFP=y
293
294#
295# Userspace binary formats
296#
297CONFIG_BINFMT_ELF=y
298# CONFIG_BINFMT_AOUT is not set
299# CONFIG_BINFMT_MISC is not set
300
301#
302# Power management options
303#
304CONFIG_PM=y
305# CONFIG_PM_LEGACY is not set
306# CONFIG_PM_DEBUG is not set
307# CONFIG_PM_SYSFS_DEPRECATED is not set
308CONFIG_APM_EMULATION=y
309
310#
311# Networking
312#
313CONFIG_NET=y
314
315#
316# Networking options
317#
318# CONFIG_NETDEBUG is not set
319CONFIG_PACKET=y
320# CONFIG_PACKET_MMAP is not set
321CONFIG_UNIX=y
322CONFIG_XFRM=y
323# CONFIG_XFRM_USER is not set
324# CONFIG_XFRM_SUB_POLICY is not set
325# CONFIG_XFRM_MIGRATE is not set
326# CONFIG_NET_KEY is not set
327CONFIG_INET=y
328CONFIG_IP_MULTICAST=y
329# CONFIG_IP_ADVANCED_ROUTER is not set
330CONFIG_IP_FIB_HASH=y
331# CONFIG_IP_PNP is not set
332# CONFIG_NET_IPIP is not set
333# CONFIG_NET_IPGRE is not set
334# CONFIG_IP_MROUTE is not set
335# CONFIG_ARPD is not set
336# CONFIG_SYN_COOKIES is not set
337# CONFIG_INET_AH is not set
338# CONFIG_INET_ESP is not set
339# CONFIG_INET_IPCOMP is not set
340# CONFIG_INET_XFRM_TUNNEL is not set
341# CONFIG_INET_TUNNEL is not set
342# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
343# CONFIG_INET_XFRM_MODE_TUNNEL is not set
344CONFIG_INET_XFRM_MODE_BEET=y
345CONFIG_INET_DIAG=y
346CONFIG_INET_TCP_DIAG=y
347# CONFIG_TCP_CONG_ADVANCED is not set
348CONFIG_TCP_CONG_CUBIC=y
349CONFIG_DEFAULT_TCP_CONG="cubic"
350# CONFIG_TCP_MD5SIG is not set
351
352#
353# IP: Virtual Server Configuration
354#
355# CONFIG_IP_VS is not set
356# CONFIG_IPV6 is not set
357# CONFIG_INET6_XFRM_TUNNEL is not set
358# CONFIG_INET6_TUNNEL is not set
359# CONFIG_NETLABEL is not set
360# CONFIG_NETWORK_SECMARK is not set
361CONFIG_NETFILTER=y
362# CONFIG_NETFILTER_DEBUG is not set
363
364#
365# Core Netfilter Configuration
366#
367CONFIG_NETFILTER_NETLINK=y
368# CONFIG_NETFILTER_NETLINK_QUEUE is not set
369# CONFIG_NETFILTER_NETLINK_LOG is not set
370# CONFIG_NF_CONNTRACK_ENABLED is not set
371CONFIG_NETFILTER_XTABLES=y
372# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
373# CONFIG_NETFILTER_XT_TARGET_MARK is not set
374# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
375# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
376# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
377# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
378# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
379# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
380# CONFIG_NETFILTER_XT_MATCH_ESP is not set
381# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
382# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
383# CONFIG_NETFILTER_XT_MATCH_MAC is not set
384# CONFIG_NETFILTER_XT_MATCH_MARK is not set
385# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
386# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
387# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
388# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
389# CONFIG_NETFILTER_XT_MATCH_REALM is not set
390# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
391# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
392# CONFIG_NETFILTER_XT_MATCH_STRING is not set
393# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
394# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
395
396#
397# IP: Netfilter Configuration
398#
399# CONFIG_IP_NF_QUEUE is not set
400CONFIG_IP_NF_IPTABLES=y
401# CONFIG_IP_NF_MATCH_IPRANGE is not set
402# CONFIG_IP_NF_MATCH_TOS is not set
403# CONFIG_IP_NF_MATCH_RECENT is not set
404# CONFIG_IP_NF_MATCH_ECN is not set
405# CONFIG_IP_NF_MATCH_AH is not set
406# CONFIG_IP_NF_MATCH_TTL is not set
407# CONFIG_IP_NF_MATCH_OWNER is not set
408# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
409CONFIG_IP_NF_FILTER=y
410# CONFIG_IP_NF_TARGET_REJECT is not set
411# CONFIG_IP_NF_TARGET_LOG is not set
412# CONFIG_IP_NF_TARGET_ULOG is not set
413CONFIG_IP_NF_TARGET_IDLETIMER=y
414# CONFIG_IP_NF_MANGLE is not set
415# CONFIG_IP_NF_RAW is not set
416# CONFIG_IP_NF_ARPTABLES is not set
417
418#
419# DCCP Configuration (EXPERIMENTAL)
420#
421# CONFIG_IP_DCCP is not set
422
423#
424# SCTP Configuration (EXPERIMENTAL)
425#
426# CONFIG_IP_SCTP is not set
427
428#
429# TIPC Configuration (EXPERIMENTAL)
430#
431# CONFIG_TIPC is not set
432# CONFIG_ATM is not set
433# CONFIG_BRIDGE is not set
434# CONFIG_VLAN_8021Q is not set
435# CONFIG_DECNET is not set
436# CONFIG_LLC2 is not set
437# CONFIG_IPX is not set
438# CONFIG_ATALK is not set
439# CONFIG_X25 is not set
440# CONFIG_LAPB is not set
441# CONFIG_ECONET is not set
442# CONFIG_WAN_ROUTER is not set
443
444#
445# QoS and/or fair queueing
446#
447# CONFIG_NET_SCHED is not set
448
449#
450# Network testing
451#
452# CONFIG_NET_PKTGEN is not set
453# CONFIG_HAMRADIO is not set
454# CONFIG_IRDA is not set
455CONFIG_BT=y
456CONFIG_BT_L2CAP=y
457CONFIG_BT_SCO=y
458CONFIG_BT_RFCOMM=y
459CONFIG_BT_RFCOMM_TTY=y
460CONFIG_BT_BNEP=y
461# CONFIG_BT_BNEP_MC_FILTER is not set
462# CONFIG_BT_BNEP_PROTO_FILTER is not set
463CONFIG_BT_HIDP=y
464
465#
466# Bluetooth device drivers
467#
468# CONFIG_BT_HCIUSB is not set
469# CONFIG_BT_HCIUART is not set
470# CONFIG_BT_HCIBCM203X is not set
471# CONFIG_BT_HCIBPA10X is not set
472# CONFIG_BT_HCIBFUSB is not set
473# CONFIG_BT_HCIBRF6150 is not set
474CONFIG_BT_HCIH4P=y
475# CONFIG_BT_HCIVHCI is not set
476# CONFIG_IEEE80211 is not set
477CONFIG_WIRELESS_EXT=y
478
479#
480# Device Drivers
481#
482
483#
484# Generic Driver Options
485#
486CONFIG_STANDALONE=y
487CONFIG_PREVENT_FIRMWARE_BUILD=y
488CONFIG_FW_LOADER=y
489# CONFIG_DEBUG_DRIVER is not set
490# CONFIG_DEBUG_DEVRES is not set
491# CONFIG_SYS_HYPERVISOR is not set
492
493#
494# Connector - unified userspace <-> kernelspace linker
495#
496# CONFIG_CONNECTOR is not set
497
498#
499# Memory Technology Devices (MTD)
500#
501CONFIG_MTD=y
502# CONFIG_MTD_DEBUG is not set
503# CONFIG_MTD_CONCAT is not set
504CONFIG_MTD_PARTITIONS=y
505# CONFIG_MTD_REDBOOT_PARTS is not set
506CONFIG_MTD_CMDLINE_PARTS=y
507# CONFIG_MTD_AFS_PARTS is not set
508
509#
510# User Modules And Translation Layers
511#
512CONFIG_MTD_CHAR=y
513CONFIG_MTD_BLKDEVS=y
514CONFIG_MTD_BLOCK=y
515# CONFIG_FTL is not set
516# CONFIG_NFTL is not set
517# CONFIG_INFTL is not set
518# CONFIG_RFD_FTL is not set
519# CONFIG_SSFDC is not set
520# CONFIG_MTD_OOPS is not set
521
522#
523# RAM/ROM/Flash chip drivers
524#
525# CONFIG_MTD_CFI is not set
526# CONFIG_MTD_JEDECPROBE is not set
527CONFIG_MTD_MAP_BANK_WIDTH_1=y
528CONFIG_MTD_MAP_BANK_WIDTH_2=y
529CONFIG_MTD_MAP_BANK_WIDTH_4=y
530# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
531# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
532# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
533CONFIG_MTD_CFI_I1=y
534CONFIG_MTD_CFI_I2=y
535# CONFIG_MTD_CFI_I4 is not set
536# CONFIG_MTD_CFI_I8 is not set
537# CONFIG_MTD_RAM is not set
538# CONFIG_MTD_ROM is not set
539# CONFIG_MTD_ABSENT is not set
540# CONFIG_MTD_OBSOLETE_CHIPS is not set
541
542#
543# Mapping drivers for chip access
544#
545# CONFIG_MTD_COMPLEX_MAPPINGS is not set
546# CONFIG_MTD_PLATRAM is not set
547
548#
549# Self-contained MTD device drivers
550#
551# CONFIG_MTD_DATAFLASH is not set
552# CONFIG_MTD_M25P80 is not set
553# CONFIG_MTD_SLRAM is not set
554# CONFIG_MTD_PHRAM is not set
555# CONFIG_MTD_MTDRAM is not set
556# CONFIG_MTD_BLOCK2MTD is not set
557
558#
559# Disk-On-Chip Device Drivers
560#
561# CONFIG_MTD_DOC2000 is not set
562# CONFIG_MTD_DOC2001 is not set
563# CONFIG_MTD_DOC2001PLUS is not set
564
565#
566# NAND Flash Device Drivers
567#
568# CONFIG_MTD_NAND is not set
569
570#
571# OneNAND Flash Device Drivers
572#
573CONFIG_MTD_ONENAND=y
574# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
575# CONFIG_MTD_ONENAND_GENERIC is not set
576CONFIG_MTD_ONENAND_OMAP2=y
577CONFIG_MTD_ONENAND_OTP=y
578
579#
580# Parallel port support
581#
582# CONFIG_PARPORT is not set
583
584#
585# Plug and Play support
586#
587# CONFIG_PNPACPI is not set
588
589#
590# Block devices
591#
592# CONFIG_BLK_DEV_COW_COMMON is not set
593CONFIG_BLK_DEV_LOOP=y
594# CONFIG_BLK_DEV_CRYPTOLOOP is not set
595# CONFIG_BLK_DEV_NBD is not set
596# CONFIG_BLK_DEV_UB is not set
597CONFIG_BLK_DEV_RAM=y
598CONFIG_BLK_DEV_RAM_COUNT=16
599CONFIG_BLK_DEV_RAM_SIZE=4096
600CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
601# CONFIG_CDROM_PKTCDVD is not set
602# CONFIG_ATA_OVER_ETH is not set
603
604#
605# SCSI device support
606#
607# CONFIG_RAID_ATTRS is not set
608CONFIG_SCSI=y
609# CONFIG_SCSI_TGT is not set
610# CONFIG_SCSI_NETLINK is not set
611# CONFIG_SCSI_PROC_FS is not set
612
613#
614# SCSI support type (disk, tape, CD-ROM)
615#
616CONFIG_BLK_DEV_SD=y
617# CONFIG_CHR_DEV_ST is not set
618# CONFIG_CHR_DEV_OSST is not set
619# CONFIG_BLK_DEV_SR is not set
620# CONFIG_CHR_DEV_SG is not set
621# CONFIG_CHR_DEV_SCH is not set
622
623#
624# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
625#
626CONFIG_SCSI_MULTI_LUN=y
627# CONFIG_SCSI_CONSTANTS is not set
628# CONFIG_SCSI_LOGGING is not set
629# CONFIG_SCSI_SCAN_ASYNC is not set
630
631#
632# SCSI Transports
633#
634# CONFIG_SCSI_SPI_ATTRS is not set
635# CONFIG_SCSI_FC_ATTRS is not set
636# CONFIG_SCSI_ISCSI_ATTRS is not set
637# CONFIG_SCSI_SAS_ATTRS is not set
638# CONFIG_SCSI_SAS_LIBSAS is not set
639
640#
641# SCSI low-level drivers
642#
643# CONFIG_ISCSI_TCP is not set
644# CONFIG_SCSI_DEBUG is not set
645
646#
647# Serial ATA (prod) and Parallel ATA (experimental) drivers
648#
649# CONFIG_ATA is not set
650
651#
652# Multi-device support (RAID and LVM)
653#
654# CONFIG_MD is not set
655
656#
657# Fusion MPT device support
658#
659# CONFIG_FUSION is not set
660
661#
662# IEEE 1394 (FireWire) support
663#
664
665#
666# I2O device support
667#
668
669#
670# Network device support
671#
672CONFIG_NETDEVICES=y
673# CONFIG_DUMMY is not set
674# CONFIG_BONDING is not set
675# CONFIG_EQUALIZER is not set
676CONFIG_TUN=y
677
678#
679# PHY device support
680#
681
682#
683# Ethernet (10 or 100Mbit)
684#
685# CONFIG_NET_ETHERNET is not set
686CONFIG_MII=y
687
688#
689# Ethernet (1000 Mbit)
690#
691
692#
693# Ethernet (10000 Mbit)
694#
695
696#
697# Token Ring devices
698#
699
700#
701# Wireless LAN (non-hamradio)
702#
703CONFIG_NET_RADIO=y
704# CONFIG_NET_WIRELESS_RTNETLINK is not set
705
706#
707# Obsolete Wireless cards support (pre-802.11)
708#
709# CONFIG_STRIP is not set
710# CONFIG_USB_ZD1201 is not set
711# CONFIG_HOSTAP is not set
712
713#
714# Wan interfaces
715#
716# CONFIG_WAN is not set
717CONFIG_PPP=y
718# CONFIG_PPP_MULTILINK is not set
719CONFIG_PPP_FILTER=y
720CONFIG_PPP_ASYNC=y
721CONFIG_PPP_SYNC_TTY=y
722CONFIG_PPP_DEFLATE=y
723CONFIG_PPP_BSDCOMP=y
724# CONFIG_PPP_MPPE is not set
725# CONFIG_PPPOE is not set
726# CONFIG_SLIP is not set
727CONFIG_SLHC=y
728# CONFIG_SHAPER is not set
729# CONFIG_NETCONSOLE is not set
730# CONFIG_NETPOLL is not set
731# CONFIG_NET_POLL_CONTROLLER is not set
732
733#
734# ISDN subsystem
735#
736# CONFIG_ISDN is not set
737
738#
739# Input device support
740#
741CONFIG_INPUT=y
742# CONFIG_INPUT_FF_MEMLESS is not set
743
744#
745# Userland interfaces
746#
747CONFIG_INPUT_MOUSEDEV=y
748# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
749CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
750CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
751# CONFIG_INPUT_JOYDEV is not set
752# CONFIG_INPUT_TSDEV is not set
753CONFIG_INPUT_EVDEV=y
754# CONFIG_INPUT_EVBUG is not set
755CONFIG_INPUT_POWER=y
756
757#
758# Input Device Drivers
759#
760CONFIG_INPUT_KEYBOARD=y
761# CONFIG_KEYBOARD_ATKBD is not set
762# CONFIG_KEYBOARD_SUNKBD is not set
763# CONFIG_KEYBOARD_LKKBD is not set
764# CONFIG_KEYBOARD_XTKBD is not set
765# CONFIG_KEYBOARD_NEWTON is not set
766# CONFIG_KEYBOARD_STOWAWAY is not set
767# CONFIG_KEYBOARD_OMAP is not set
768# CONFIG_KEYBOARD_GPIO is not set
769CONFIG_KEYBOARD_TSC2301=y
770# CONFIG_INPUT_MOUSE is not set
771# CONFIG_INPUT_JOYSTICK is not set
772CONFIG_INPUT_TOUCHSCREEN=y
773# CONFIG_TOUCHSCREEN_ADS7846 is not set
774# CONFIG_TOUCHSCREEN_GUNZE is not set
775# CONFIG_TOUCHSCREEN_ELO is not set
776# CONFIG_TOUCHSCREEN_MTOUCH is not set
777# CONFIG_TOUCHSCREEN_MK712 is not set
778# CONFIG_TOUCHSCREEN_PENMOUNT is not set
779# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
780# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
781# CONFIG_TOUCHSCREEN_UCB1400 is not set
782CONFIG_TOUCHSCREEN_TSC2005=y
783CONFIG_TOUCHSCREEN_TSC2301=y
784# CONFIG_TOUCHSCREEN_TSC2046 is not set
785# CONFIG_INPUT_MISC is not set
786
787#
788# Hardware I/O ports
789#
790CONFIG_SERIO=y
791CONFIG_SERIO_SERPORT=y
792# CONFIG_SERIO_RAW is not set
793# CONFIG_GAMEPORT is not set
794
795#
796# Character devices
797#
798CONFIG_VT=y
799CONFIG_VT_CONSOLE=y
800CONFIG_HW_CONSOLE=y
801# CONFIG_VT_HW_CONSOLE_BINDING is not set
802# CONFIG_SERIAL_NONSTANDARD is not set
803
804#
805# Serial drivers
806#
807# CONFIG_SERIAL_8250 is not set
808
809#
810# Non-8250 serial port support
811#
812CONFIG_SERIAL_OMAP=y
813CONFIG_SERIAL_OMAP_CONSOLE=y
814CONFIG_SERIAL_CORE=y
815CONFIG_SERIAL_CORE_CONSOLE=y
816CONFIG_UNIX98_PTYS=y
817# CONFIG_LEGACY_PTYS is not set
818
819#
820# IPMI
821#
822# CONFIG_IPMI_HANDLER is not set
823
824#
825# Watchdog Cards
826#
827CONFIG_WATCHDOG=y
828CONFIG_WATCHDOG_NOWAYOUT=y
829
830#
831# Watchdog Device Drivers
832#
833# CONFIG_SOFT_WATCHDOG is not set
834CONFIG_OMAP_WATCHDOG=y
835
836#
837# USB-based Watchdog Cards
838#
839# CONFIG_USBPCWATCHDOG is not set
840# CONFIG_HW_RANDOM is not set
841# CONFIG_NVRAM is not set
842# CONFIG_DTLK is not set
843# CONFIG_R3964 is not set
844# CONFIG_RAW_DRIVER is not set
845
846#
847# TPM devices
848#
849# CONFIG_TCG_TPM is not set
850
851#
852# I2C support
853#
854CONFIG_I2C=y
855# CONFIG_I2C_CHARDEV is not set
856
857#
858# I2C Algorithms
859#
860# CONFIG_I2C_ALGOBIT is not set
861# CONFIG_I2C_ALGOPCF is not set
862# CONFIG_I2C_ALGOPCA is not set
863
864#
865# I2C Hardware Bus support
866#
867# CONFIG_I2C_OCORES is not set
868CONFIG_I2C_OMAP=y
869# CONFIG_I2C_PARPORT_LIGHT is not set
870# CONFIG_I2C_STUB is not set
871# CONFIG_I2C_PCA_ISA is not set
872
873#
874# Miscellaneous I2C Chip support
875#
876# CONFIG_SENSORS_DS1337 is not set
877# CONFIG_SENSORS_DS1374 is not set
878# CONFIG_SENSORS_EEPROM is not set
879# CONFIG_SENSORS_PCF8574 is not set
880# CONFIG_SENSORS_PCA9539 is not set
881# CONFIG_SENSORS_PCF8591 is not set
882# CONFIG_ISP1301_OMAP is not set
883# CONFIG_TPS65010 is not set
884# CONFIG_SENSORS_TLV320AIC23 is not set
885CONFIG_SENSORS_TSL2563=y
886# CONFIG_GPIOEXPANDER_OMAP is not set
887CONFIG_LM8323=y
888CONFIG_LP5521=y
889CONFIG_MENELAUS=y
890# CONFIG_TWL4030_CORE is not set
891# CONFIG_SENSORS_MAX6875 is not set
892# CONFIG_I2C_DEBUG_CORE is not set
893# CONFIG_I2C_DEBUG_ALGO is not set
894# CONFIG_I2C_DEBUG_BUS is not set
895# CONFIG_I2C_DEBUG_CHIP is not set
896
897#
898# SPI support
899#
900CONFIG_SPI=y
901# CONFIG_SPI_DEBUG is not set
902CONFIG_SPI_MASTER=y
903
904#
905# SPI Master Controller Drivers
906#
907# CONFIG_SPI_BITBANG is not set
908CONFIG_SPI_OMAP24XX=y
909CONFIG_SPI_OMAP_PAUSING=y
910
911#
912# SPI Protocol Masters
913#
914# CONFIG_SPI_AT25 is not set
915# CONFIG_SPI_TSC2005 is not set
916# CONFIG_SPI_TSC2101 is not set
917# CONFIG_SPI_TSC2102 is not set
918CONFIG_SPI_TSC2301=y
919CONFIG_SPI_TSC2301_AUDIO=y
920
921#
922# Dallas's 1-wire bus
923#
924# CONFIG_W1 is not set
925
926#
927# Hardware Monitoring support
928#
929CONFIG_HWMON=y
930# CONFIG_HWMON_VID is not set
931# CONFIG_SENSORS_ABITUGURU is not set
932# CONFIG_SENSORS_ADM1021 is not set
933# CONFIG_SENSORS_ADM1025 is not set
934# CONFIG_SENSORS_ADM1026 is not set
935# CONFIG_SENSORS_ADM1029 is not set
936# CONFIG_SENSORS_ADM1031 is not set
937# CONFIG_SENSORS_ADM9240 is not set
938# CONFIG_SENSORS_ASB100 is not set
939# CONFIG_SENSORS_ATXP1 is not set
940# CONFIG_SENSORS_DS1621 is not set
941# CONFIG_SENSORS_F71805F is not set
942# CONFIG_SENSORS_FSCHER is not set
943# CONFIG_SENSORS_FSCPOS is not set
944# CONFIG_SENSORS_GL518SM is not set
945# CONFIG_SENSORS_GL520SM is not set
946# CONFIG_SENSORS_IT87 is not set
947# CONFIG_SENSORS_LM63 is not set
948# CONFIG_SENSORS_LM70 is not set
949# CONFIG_SENSORS_LM75 is not set
950# CONFIG_SENSORS_LM77 is not set
951# CONFIG_SENSORS_LM78 is not set
952# CONFIG_SENSORS_LM80 is not set
953# CONFIG_SENSORS_LM83 is not set
954# CONFIG_SENSORS_LM85 is not set
955# CONFIG_SENSORS_LM87 is not set
956# CONFIG_SENSORS_LM90 is not set
957# CONFIG_SENSORS_LM92 is not set
958# CONFIG_SENSORS_MAX1619 is not set
959# CONFIG_SENSORS_PC87360 is not set
960# CONFIG_SENSORS_PC87427 is not set
961# CONFIG_SENSORS_SMSC47M1 is not set
962# CONFIG_SENSORS_SMSC47M192 is not set
963# CONFIG_SENSORS_SMSC47B397 is not set
964CONFIG_SENSORS_TMP105=y
965# CONFIG_SENSORS_VT1211 is not set
966# CONFIG_SENSORS_W83781D is not set
967# CONFIG_SENSORS_W83791D is not set
968# CONFIG_SENSORS_W83792D is not set
969# CONFIG_SENSORS_W83793 is not set
970# CONFIG_SENSORS_W83L785TS is not set
971# CONFIG_SENSORS_W83627HF is not set
972# CONFIG_SENSORS_W83627EHF is not set
973# CONFIG_HWMON_DEBUG_CHIP is not set
974
975#
976# Misc devices
977#
978
979#
980# Multifunction device drivers
981#
982# CONFIG_MFD_SM501 is not set
983
984#
985# LED devices
986#
987CONFIG_NEW_LEDS=y
988CONFIG_LEDS_CLASS=y
989
990#
991# LED drivers
992#
993# CONFIG_LEDS_OMAP_DEBUG is not set
994# CONFIG_LEDS_OMAP is not set
995CONFIG_LEDS_OMAP_PWM=y
996
997#
998# LED Triggers
999#
1000CONFIG_LEDS_TRIGGERS=y
1001CONFIG_LEDS_TRIGGER_TIMER=y
1002CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1003
1004#
1005# Multimedia devices
1006#
1007CONFIG_VIDEO_DEV=y
1008# CONFIG_VIDEO_V4L1 is not set
1009# CONFIG_VIDEO_V4L1_COMPAT is not set
1010CONFIG_VIDEO_V4L2=y
1011
1012#
1013# Video Capture Adapters
1014#
1015
1016#
1017# Video Capture Adapters
1018#
1019# CONFIG_VIDEO_ADV_DEBUG is not set
1020CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1021# CONFIG_VIDEO_SAA5246A is not set
1022# CONFIG_VIDEO_SAA5249 is not set
1023
1024#
1025# V4L USB devices
1026#
1027# CONFIG_VIDEO_PVRUSB2 is not set
1028# CONFIG_VIDEO_USBVISION is not set
1029CONFIG_VIDEO_OMAP_CAMERA=y
1030# CONFIG_VIDEO_CAMERA_SENSOR_OV9640 is not set
1031CONFIG_VIDEO_CAMERA_SENSOR_TCM825X=y
1032
1033#
1034# Radio Adapters
1035#
1036CONFIG_RADIO_TEA5761=y
1037# CONFIG_USB_DSBR is not set
1038
1039#
1040# Digital Video Broadcasting Devices
1041#
1042# CONFIG_DVB is not set
1043CONFIG_VIDEO_BUF=y
1044# CONFIG_USB_DABUSB is not set
1045
1046#
1047# Graphics support
1048#
1049# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1050CONFIG_FB=y
1051# CONFIG_FIRMWARE_EDID is not set
1052# CONFIG_FB_DDC is not set
1053# CONFIG_FB_CFB_FILLRECT is not set
1054# CONFIG_FB_CFB_COPYAREA is not set
1055# CONFIG_FB_CFB_IMAGEBLIT is not set
1056# CONFIG_FB_SVGALIB is not set
1057# CONFIG_FB_MACMODES is not set
1058# CONFIG_FB_BACKLIGHT is not set
1059# CONFIG_FB_MODE_HELPERS is not set
1060# CONFIG_FB_TILEBLITTING is not set
1061
1062#
1063# Frame buffer hardware drivers
1064#
1065# CONFIG_FB_S1D13XXX is not set
1066CONFIG_FB_OMAP=y
1067CONFIG_FB_OMAP_LCDC_EXTERNAL=y
1068# CONFIG_FB_OMAP_LCDC_HWA742 is not set
1069CONFIG_FB_OMAP_LCDC_BLIZZARD=y
1070# CONFIG_FB_OMAP_MANUAL_UPDATE is not set
1071CONFIG_FB_OMAP_LCD_MIPID=y
1072CONFIG_FB_OMAP_BOOTLOADER_INIT=y
1073CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4
1074CONFIG_FB_OMAP_PAUSING=y
1075# CONFIG_FB_VIRTUAL is not set
1076
1077#
1078# Console display driver support
1079#
1080# CONFIG_VGA_CONSOLE is not set
1081CONFIG_DUMMY_CONSOLE=y
1082CONFIG_FRAMEBUFFER_CONSOLE=y
1083# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1084# CONFIG_FONTS is not set
1085CONFIG_FONT_8x8=y
1086CONFIG_FONT_8x16=y
1087
1088#
1089# Logo configuration
1090#
1091# CONFIG_LOGO is not set
1092
1093#
1094# Sound
1095#
1096CONFIG_SOUND=y
1097
1098#
1099# Advanced Linux Sound Architecture
1100#
1101CONFIG_SND=y
1102# CONFIG_SND_SEQUENCER is not set
1103CONFIG_SND_OSSEMUL=y
1104CONFIG_SND_MIXER_OSS=y
1105# CONFIG_SND_PCM_OSS is not set
1106# CONFIG_SND_DYNAMIC_MINORS is not set
1107CONFIG_SND_SUPPORT_OLD_API=y
1108# CONFIG_SND_VERBOSE_PROCFS is not set
1109# CONFIG_SND_VERBOSE_PRINTK is not set
1110# CONFIG_SND_DEBUG is not set
1111
1112#
1113# Generic devices
1114#
1115# CONFIG_SND_DUMMY is not set
1116# CONFIG_SND_MTPAV is not set
1117# CONFIG_SND_SERIAL_U16550 is not set
1118# CONFIG_SND_MPU401 is not set
1119
1120#
1121# ALSA ARM devices
1122#
1123# CONFIG_SND_OMAP_AIC23 is not set
1124CONFIG_SND_AIC33=y
1125# CONFIG_SND_OMAP_TSC2101 is not set
1126# CONFIG_SND_SX1 is not set
1127# CONFIG_SND_OMAP_TSC2102 is not set
1128CONFIG_SND_OMAP24XX_EAC=y
1129
1130#
1131# USB devices
1132#
1133# CONFIG_SND_USB_AUDIO is not set
1134
1135#
1136# SoC audio support
1137#
1138# CONFIG_SND_SOC is not set
1139
1140#
1141# Open Sound System
1142#
1143# CONFIG_SOUND_PRIME is not set
1144
1145#
1146# HID Devices
1147#
1148CONFIG_HID=y
1149# CONFIG_HID_DEBUG is not set
1150
1151#
1152# USB support
1153#
1154CONFIG_USB_ARCH_HAS_HCD=y
1155CONFIG_USB_ARCH_HAS_OHCI=y
1156# CONFIG_USB_ARCH_HAS_EHCI is not set
1157CONFIG_USB=y
1158CONFIG_USB_DEBUG=y
1159
1160#
1161# Miscellaneous USB options
1162#
1163CONFIG_USB_DEVICEFS=y
1164CONFIG_USB_DYNAMIC_MINORS=y
1165CONFIG_USB_SUSPEND=y
1166CONFIG_USB_OTG=y
1167CONFIG_USB_OTG_WHITELIST=y
1168# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1169
1170#
1171# USB Host Controller Drivers
1172#
1173# CONFIG_USB_ISP116X_HCD is not set
1174# CONFIG_USB_OHCI_HCD is not set
1175# CONFIG_USB_SL811_HCD is not set
1176CONFIG_USB_MUSB_HDRC=y
1177CONFIG_USB_TUSB6010=y
1178CONFIG_USB_TUSB6010_TEST=y
1179# CONFIG_USB_MUSB_HOST is not set
1180# CONFIG_USB_MUSB_PERIPHERAL is not set
1181CONFIG_USB_MUSB_OTG=y
1182CONFIG_USB_GADGET_MUSB_HDRC=y
1183CONFIG_USB_MUSB_HDRC_HCD=y
1184CONFIG_USB_MUSB_HSET=y
1185# CONFIG_MUSB_PIO_ONLY is not set
1186# CONFIG_USB_INVENTRA_DMA is not set
1187# CONFIG_USB_TI_CPPI_DMA is not set
1188CONFIG_USB_TUSB_OMAP_DMA=y
1189CONFIG_USB_MUSB_LOGLEVEL=1
1190
1191#
1192# USB Device Class drivers
1193#
1194# CONFIG_USB_ACM is not set
1195# CONFIG_USB_PRINTER is not set
1196
1197#
1198# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1199#
1200
1201#
1202# may also be needed; see USB_STORAGE Help for more information
1203#
1204CONFIG_USB_STORAGE=y
1205# CONFIG_USB_STORAGE_DEBUG is not set
1206# CONFIG_USB_STORAGE_DATAFAB is not set
1207# CONFIG_USB_STORAGE_FREECOM is not set
1208# CONFIG_USB_STORAGE_DPCM is not set
1209# CONFIG_USB_STORAGE_USBAT is not set
1210# CONFIG_USB_STORAGE_SDDR09 is not set
1211# CONFIG_USB_STORAGE_SDDR55 is not set
1212# CONFIG_USB_STORAGE_JUMPSHOT is not set
1213# CONFIG_USB_STORAGE_ALAUDA is not set
1214# CONFIG_USB_STORAGE_KARMA is not set
1215CONFIG_USB_LIBUSUAL=y
1216
1217#
1218# USB Input Devices
1219#
1220CONFIG_USB_HID=y
1221# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1222# CONFIG_HID_FF is not set
1223# CONFIG_USB_HIDDEV is not set
1224# CONFIG_USB_AIPTEK is not set
1225# CONFIG_USB_WACOM is not set
1226# CONFIG_USB_ACECAD is not set
1227# CONFIG_USB_KBTAB is not set
1228# CONFIG_USB_POWERMATE is not set
1229# CONFIG_USB_TOUCHSCREEN is not set
1230# CONFIG_USB_YEALINK is not set
1231# CONFIG_USB_XPAD is not set
1232# CONFIG_USB_ATI_REMOTE is not set
1233# CONFIG_USB_ATI_REMOTE2 is not set
1234# CONFIG_USB_KEYSPAN_REMOTE is not set
1235# CONFIG_USB_APPLETOUCH is not set
1236# CONFIG_USB_GTCO is not set
1237
1238#
1239# USB Imaging devices
1240#
1241# CONFIG_USB_MDC800 is not set
1242# CONFIG_USB_MICROTEK is not set
1243
1244#
1245# USB Network Adapters
1246#
1247# CONFIG_USB_CATC is not set
1248# CONFIG_USB_KAWETH is not set
1249# CONFIG_USB_PEGASUS is not set
1250CONFIG_USB_RTL8150=y
1251# CONFIG_USB_USBNET_MII is not set
1252CONFIG_USB_USBNET=y
1253CONFIG_USB_NET_CDCETHER=y
1254# CONFIG_USB_NET_DM9601 is not set
1255# CONFIG_USB_NET_GL620A is not set
1256CONFIG_USB_NET_NET1080=y
1257CONFIG_USB_NET_PLUSB=y
1258# CONFIG_USB_NET_MCS7830 is not set
1259CONFIG_USB_NET_RNDIS_HOST=y
1260CONFIG_USB_NET_CDC_SUBSET=y
1261# CONFIG_USB_ALI_M5632 is not set
1262# CONFIG_USB_AN2720 is not set
1263CONFIG_USB_BELKIN=y
1264CONFIG_USB_ARMLINUX=y
1265# CONFIG_USB_EPSON2888 is not set
1266# CONFIG_USB_KC2190 is not set
1267CONFIG_USB_NET_ZAURUS=y
1268CONFIG_USB_MON=y
1269
1270#
1271# USB port drivers
1272#
1273
1274#
1275# USB Serial Converter support
1276#
1277# CONFIG_USB_SERIAL is not set
1278
1279#
1280# USB Miscellaneous drivers
1281#
1282# CONFIG_USB_EMI62 is not set
1283# CONFIG_USB_EMI26 is not set
1284# CONFIG_USB_ADUTUX is not set
1285# CONFIG_USB_AUERSWALD is not set
1286# CONFIG_USB_RIO500 is not set
1287# CONFIG_USB_LEGOTOWER is not set
1288# CONFIG_USB_LCD is not set
1289# CONFIG_USB_BERRY_CHARGE is not set
1290# CONFIG_USB_LED is not set
1291# CONFIG_USB_CYPRESS_CY7C63 is not set
1292# CONFIG_USB_CYTHERM is not set
1293# CONFIG_USB_PHIDGET is not set
1294# CONFIG_USB_IDMOUSE is not set
1295# CONFIG_USB_FTDI_ELAN is not set
1296# CONFIG_USB_APPLEDISPLAY is not set
1297# CONFIG_USB_LD is not set
1298# CONFIG_USB_TRANCEVIBRATOR is not set
1299# CONFIG_USB_IOWARRIOR is not set
1300CONFIG_USB_TEST=y
1301
1302#
1303# USB DSL modem support
1304#
1305
1306#
1307# USB Gadget Support
1308#
1309CONFIG_USB_GADGET=m
1310CONFIG_USB_GADGET_DEBUG_FILES=y
1311CONFIG_USB_GADGET_SELECTED=y
1312# CONFIG_USB_GADGET_NET2280 is not set
1313# CONFIG_USB_GADGET_PXA2XX is not set
1314# CONFIG_USB_GADGET_GOKU is not set
1315# CONFIG_USB_GADGET_LH7A40X is not set
1316# CONFIG_USB_GADGET_OMAP is not set
1317# CONFIG_USB_GADGET_AT91 is not set
1318# CONFIG_USB_GADGET_DUMMY_HCD is not set
1319CONFIG_USB_GADGET_DUALSPEED=y
1320# CONFIG_USB_ZERO is not set
1321CONFIG_USB_ETH=m
1322CONFIG_USB_ETH_RNDIS=y
1323CONFIG_USB_GADGETFS=m
1324CONFIG_USB_FILE_STORAGE=m
1325CONFIG_USB_FILE_STORAGE_TEST=y
1326# CONFIG_USB_G_SERIAL is not set
1327# CONFIG_USB_MIDI_GADGET is not set
1328
1329#
1330# MMC/SD Card support
1331#
1332CONFIG_MMC=y
1333# CONFIG_MMC_DEBUG is not set
1334CONFIG_MMC_BLOCK=y
1335CONFIG_MMC_OMAP=y
1336CONFIG_MMC_PAUSING=y
1337
1338#
1339# Real Time Clock
1340#
1341CONFIG_RTC_LIB=y
1342# CONFIG_RTC_CLASS is not set
1343
1344#
1345# CBUS support
1346#
1347CONFIG_CBUS=y
1348CONFIG_CBUS_TAHVO=y
1349CONFIG_CBUS_TAHVO_USER=y
1350# CONFIG_CBUS_TAHVO_USB is not set
1351CONFIG_CBUS_RETU=y
1352CONFIG_CBUS_RETU_USER=y
1353CONFIG_CBUS_RETU_POWERBUTTON=y
1354CONFIG_CBUS_RETU_RTC=y
1355CONFIG_CBUS_RETU_WDT=y
1356CONFIG_CBUS_RETU_HEADSET=y
1357
1358#
1359# File systems
1360#
1361CONFIG_EXT2_FS=y
1362CONFIG_EXT2_FS_XATTR=y
1363# CONFIG_EXT2_FS_POSIX_ACL is not set
1364# CONFIG_EXT2_FS_SECURITY is not set
1365# CONFIG_EXT2_FS_XIP is not set
1366CONFIG_EXT3_FS=y
1367CONFIG_EXT3_FS_XATTR=y
1368# CONFIG_EXT3_FS_POSIX_ACL is not set
1369# CONFIG_EXT3_FS_SECURITY is not set
1370# CONFIG_EXT4DEV_FS is not set
1371CONFIG_JBD=y
1372# CONFIG_JBD_DEBUG is not set
1373CONFIG_FS_MBCACHE=y
1374# CONFIG_REISERFS_FS is not set
1375# CONFIG_JFS_FS is not set
1376# CONFIG_FS_POSIX_ACL is not set
1377# CONFIG_XFS_FS is not set
1378# CONFIG_GFS2_FS is not set
1379# CONFIG_OCFS2_FS is not set
1380# CONFIG_MINIX_FS is not set
1381# CONFIG_ROMFS_FS is not set
1382CONFIG_INOTIFY=y
1383CONFIG_INOTIFY_USER=y
1384# CONFIG_QUOTA is not set
1385CONFIG_DNOTIFY=y
1386# CONFIG_AUTOFS_FS is not set
1387# CONFIG_AUTOFS4_FS is not set
1388CONFIG_FUSE_FS=y
1389
1390#
1391# CD-ROM/DVD Filesystems
1392#
1393# CONFIG_ISO9660_FS is not set
1394# CONFIG_UDF_FS is not set
1395
1396#
1397# DOS/FAT/NT Filesystems
1398#
1399CONFIG_FAT_FS=y
1400# CONFIG_MSDOS_FS is not set
1401CONFIG_VFAT_FS=y
1402CONFIG_FAT_DEFAULT_CODEPAGE=437
1403CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1404# CONFIG_NTFS_FS is not set
1405
1406#
1407# Pseudo filesystems
1408#
1409CONFIG_PROC_FS=y
1410CONFIG_PROC_SYSCTL=y
1411CONFIG_SYSFS=y
1412CONFIG_TMPFS=y
1413# CONFIG_TMPFS_POSIX_ACL is not set
1414# CONFIG_HUGETLB_PAGE is not set
1415CONFIG_RAMFS=y
1416# CONFIG_CONFIGFS_FS is not set
1417
1418#
1419# Miscellaneous filesystems
1420#
1421# CONFIG_ADFS_FS is not set
1422# CONFIG_AFFS_FS is not set
1423# CONFIG_HFS_FS is not set
1424# CONFIG_HFSPLUS_FS is not set
1425# CONFIG_BEFS_FS is not set
1426# CONFIG_BFS_FS is not set
1427# CONFIG_EFS_FS is not set
1428CONFIG_JFFS2_FS=y
1429CONFIG_JFFS2_FS_DEBUG=0
1430CONFIG_JFFS2_FS_WRITEBUFFER=y
1431CONFIG_JFFS2_SUMMARY=y
1432# CONFIG_JFFS2_FS_XATTR is not set
1433# CONFIG_JFFS2_SYSFS is not set
1434CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1435CONFIG_JFFS2_ZLIB=y
1436CONFIG_JFFS2_LZO=y
1437CONFIG_JFFS2_RTIME=y
1438# CONFIG_JFFS2_RUBIN is not set
1439# CONFIG_JFFS2_CMODE_NONE is not set
1440CONFIG_JFFS2_CMODE_PRIORITY=y
1441# CONFIG_JFFS2_CMODE_SIZE is not set
1442# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1443# CONFIG_CRAMFS is not set
1444# CONFIG_VXFS_FS is not set
1445# CONFIG_HPFS_FS is not set
1446# CONFIG_QNX4FS_FS is not set
1447# CONFIG_SYSV_FS is not set
1448# CONFIG_UFS_FS is not set
1449
1450#
1451# Network File Systems
1452#
1453CONFIG_NFS_FS=y
1454CONFIG_NFS_V3=y
1455# CONFIG_NFS_V3_ACL is not set
1456CONFIG_NFS_V4=y
1457# CONFIG_NFS_DIRECTIO is not set
1458# CONFIG_NFSD is not set
1459CONFIG_LOCKD=y
1460CONFIG_LOCKD_V4=y
1461CONFIG_NFS_COMMON=y
1462CONFIG_SUNRPC=y
1463CONFIG_SUNRPC_GSS=y
1464CONFIG_RPCSEC_GSS_KRB5=y
1465# CONFIG_RPCSEC_GSS_SPKM3 is not set
1466# CONFIG_SMB_FS is not set
1467CONFIG_CIFS=y
1468# CONFIG_CIFS_STATS is not set
1469# CONFIG_CIFS_WEAK_PW_HASH is not set
1470# CONFIG_CIFS_XATTR is not set
1471# CONFIG_CIFS_DEBUG2 is not set
1472# CONFIG_CIFS_EXPERIMENTAL is not set
1473# CONFIG_NCP_FS is not set
1474# CONFIG_CODA_FS is not set
1475# CONFIG_AFS_FS is not set
1476# CONFIG_9P_FS is not set
1477
1478#
1479# Partition Types
1480#
1481# CONFIG_PARTITION_ADVANCED is not set
1482CONFIG_MSDOS_PARTITION=y
1483
1484#
1485# Native Language Support
1486#
1487CONFIG_NLS=y
1488CONFIG_NLS_DEFAULT="iso8859-1"
1489CONFIG_NLS_CODEPAGE_437=y
1490# CONFIG_NLS_CODEPAGE_737 is not set
1491# CONFIG_NLS_CODEPAGE_775 is not set
1492# CONFIG_NLS_CODEPAGE_850 is not set
1493# CONFIG_NLS_CODEPAGE_852 is not set
1494# CONFIG_NLS_CODEPAGE_855 is not set
1495# CONFIG_NLS_CODEPAGE_857 is not set
1496# CONFIG_NLS_CODEPAGE_860 is not set
1497# CONFIG_NLS_CODEPAGE_861 is not set
1498# CONFIG_NLS_CODEPAGE_862 is not set
1499# CONFIG_NLS_CODEPAGE_863 is not set
1500# CONFIG_NLS_CODEPAGE_864 is not set
1501# CONFIG_NLS_CODEPAGE_865 is not set
1502# CONFIG_NLS_CODEPAGE_866 is not set
1503# CONFIG_NLS_CODEPAGE_869 is not set
1504# CONFIG_NLS_CODEPAGE_936 is not set
1505# CONFIG_NLS_CODEPAGE_950 is not set
1506# CONFIG_NLS_CODEPAGE_932 is not set
1507# CONFIG_NLS_CODEPAGE_949 is not set
1508# CONFIG_NLS_CODEPAGE_874 is not set
1509# CONFIG_NLS_ISO8859_8 is not set
1510# CONFIG_NLS_CODEPAGE_1250 is not set
1511# CONFIG_NLS_CODEPAGE_1251 is not set
1512# CONFIG_NLS_ASCII is not set
1513CONFIG_NLS_ISO8859_1=y
1514CONFIG_NLS_ISO8859_2=y
1515# CONFIG_NLS_ISO8859_3 is not set
1516# CONFIG_NLS_ISO8859_4 is not set
1517# CONFIG_NLS_ISO8859_5 is not set
1518# CONFIG_NLS_ISO8859_6 is not set
1519# CONFIG_NLS_ISO8859_7 is not set
1520# CONFIG_NLS_ISO8859_9 is not set
1521# CONFIG_NLS_ISO8859_13 is not set
1522# CONFIG_NLS_ISO8859_14 is not set
1523CONFIG_NLS_ISO8859_15=y
1524# CONFIG_NLS_KOI8_R is not set
1525# CONFIG_NLS_KOI8_U is not set
1526CONFIG_NLS_UTF8=y
1527
1528#
1529# Distributed Lock Manager
1530#
1531# CONFIG_DLM is not set
1532
1533#
1534# Profiling support
1535#
1536# CONFIG_PROFILING is not set
1537
1538#
1539# Kernel hacking
1540#
1541CONFIG_PRINTK_TIME=y
1542CONFIG_ENABLE_MUST_CHECK=y
1543CONFIG_MAGIC_SYSRQ=y
1544# CONFIG_UNUSED_SYMBOLS is not set
1545CONFIG_DEBUG_FS=y
1546# CONFIG_HEADERS_CHECK is not set
1547CONFIG_DEBUG_KERNEL=y
1548# CONFIG_DEBUG_SHIRQ is not set
1549CONFIG_LOG_BUF_SHIFT=14
1550CONFIG_DETECT_SOFTLOCKUP=y
1551# CONFIG_SCHEDSTATS is not set
1552# CONFIG_TIMER_STATS is not set
1553# CONFIG_DEBUG_SLAB is not set
1554# CONFIG_DEBUG_RT_MUTEXES is not set
1555# CONFIG_RT_MUTEX_TESTER is not set
1556# CONFIG_DEBUG_SPINLOCK is not set
1557# CONFIG_DEBUG_MUTEXES is not set
1558# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1559# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1560# CONFIG_DEBUG_KOBJECT is not set
1561CONFIG_DEBUG_BUGVERBOSE=y
1562# CONFIG_DEBUG_INFO is not set
1563# CONFIG_DEBUG_VM is not set
1564# CONFIG_DEBUG_LIST is not set
1565CONFIG_FRAME_POINTER=y
1566CONFIG_FORCED_INLINING=y
1567# CONFIG_RCU_TORTURE_TEST is not set
1568# CONFIG_FAULT_INJECTION is not set
1569CONFIG_DEBUG_USER=y
1570CONFIG_DEBUG_ERRORS=y
1571# CONFIG_DEBUG_LL is not set
1572
1573#
1574# Security options
1575#
1576# CONFIG_KEYS is not set
1577CONFIG_SECURITY=y
1578# CONFIG_SECURITY_NETWORK is not set
1579# CONFIG_SECURITY_CAPABILITIES is not set
1580# CONFIG_SECURITY_ROOTPLUG is not set
1581CONFIG_SECURITY_LOWMEM=y
1582
1583#
1584# Cryptographic options
1585#
1586CONFIG_CRYPTO=y
1587CONFIG_CRYPTO_ALGAPI=y
1588CONFIG_CRYPTO_BLKCIPHER=y
1589CONFIG_CRYPTO_MANAGER=y
1590# CONFIG_CRYPTO_HMAC is not set
1591# CONFIG_CRYPTO_XCBC is not set
1592# CONFIG_CRYPTO_NULL is not set
1593# CONFIG_CRYPTO_MD4 is not set
1594CONFIG_CRYPTO_MD5=y
1595# CONFIG_CRYPTO_SHA1 is not set
1596# CONFIG_CRYPTO_SHA256 is not set
1597# CONFIG_CRYPTO_SHA512 is not set
1598# CONFIG_CRYPTO_WP512 is not set
1599# CONFIG_CRYPTO_TGR192 is not set
1600# CONFIG_CRYPTO_GF128MUL is not set
1601CONFIG_CRYPTO_ECB=m
1602CONFIG_CRYPTO_CBC=y
1603CONFIG_CRYPTO_PCBC=m
1604# CONFIG_CRYPTO_LRW is not set
1605CONFIG_CRYPTO_DES=y
1606# CONFIG_CRYPTO_FCRYPT is not set
1607# CONFIG_CRYPTO_BLOWFISH is not set
1608# CONFIG_CRYPTO_TWOFISH is not set
1609# CONFIG_CRYPTO_SERPENT is not set
1610# CONFIG_CRYPTO_AES is not set
1611# CONFIG_CRYPTO_CAST5 is not set
1612# CONFIG_CRYPTO_CAST6 is not set
1613# CONFIG_CRYPTO_TEA is not set
1614# CONFIG_CRYPTO_ARC4 is not set
1615# CONFIG_CRYPTO_KHAZAD is not set
1616# CONFIG_CRYPTO_ANUBIS is not set
1617# CONFIG_CRYPTO_DEFLATE is not set
1618# CONFIG_CRYPTO_LZO is not set
1619# CONFIG_CRYPTO_MICHAEL_MIC is not set
1620# CONFIG_CRYPTO_CRC32C is not set
1621# CONFIG_CRYPTO_CAMELLIA is not set
1622# CONFIG_CRYPTO_TEST is not set
1623
1624#
1625# Hardware crypto devices
1626#
1627
1628#
1629# Library routines
1630#
1631CONFIG_BITREVERSE=y
1632CONFIG_CRC_CCITT=y
1633# CONFIG_CRC16 is not set
1634CONFIG_CRC32=y
1635# CONFIG_LIBCRC32C is not set
1636CONFIG_LZO_COMPRESS=y
1637CONFIG_LZO_DECOMPRESS=y
1638CONFIG_ZLIB_INFLATE=y
1639CONFIG_ZLIB_DEFLATE=y
1640CONFIG_PLIST=y
1641CONFIG_HAS_IOMEM=y
1642CONFIG_HAS_IOPORT=y
diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch b/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch
deleted file mode 100644
index 791a66e02a..0000000000
--- a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch
+++ /dev/null
@@ -1,60 +0,0 @@
1Index: linux-2.6.21/drivers/cbus/retu-pwrbutton.c
2===================================================================
3--- linux-2.6.21.orig/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:44:18.000000000 +0000
4+++ linux-2.6.21/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:46:22.000000000 +0000
5@@ -53,7 +53,9 @@
6 state = PWRBTN_PRESSED;
7
8 if (pwrbtn_state != state) {
9- input_report_key(pwrbtn_dev, KEY_POWER, state);
10+ input_report_key(pwrbtn_dev, KEY_SUSPEND, state);
11+ if (state == PWRBTN_PRESSED)
12+ input_event(pwrbtn_dev, EV_PWR, KEY_SUSPEND, 1);
13 pwrbtn_state = state;
14 }
15 }
16@@ -92,8 +94,8 @@
17 if (!pwrbtn_dev)
18 return -ENOMEM;
19
20- pwrbtn_dev->evbit[0] = BIT(EV_KEY);
21- pwrbtn_dev->keybit[LONG(KEY_POWER)] = BIT(KEY_POWER);
22+ pwrbtn_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_PWR);
23+ pwrbtn_dev->keybit[LONG(KEY_SUSPEND)] = BIT(KEY_SUSPEND);
24 pwrbtn_dev->name = "retu-pwrbutton";
25
26 input_register_device(pwrbtn_dev);
27Index: linux-2.6.21/drivers/char/apm-emulation.c
28===================================================================
29--- linux-2.6.21.orig/drivers/char/apm-emulation.c 2008-02-21 00:32:41.000000000 +0000
30+++ linux-2.6.21/drivers/char/apm-emulation.c 2008-02-21 00:33:43.000000000 +0000
31@@ -206,10 +206,18 @@
32 return ret;
33 }
34
35+static in_suspend;
36+
37 static void apm_suspend(void)
38 {
39 struct apm_user *as;
40- int err = pm_suspend(PM_SUSPEND_MEM);
41+ int err;
42+
43+ in_suspend = 1;
44+
45+ err = pm_suspend(PM_SUSPEND_MEM);
46+
47+ in_suspend = 0;
48
49 /*
50 * Anyone on the APM queues will think we're still suspended.
51@@ -663,6 +671,9 @@
52 {
53 unsigned long flags;
54
55+ if (in_suspend)
56+ return;
57+
58 spin_lock_irqsave(&kapmd_queue_lock, flags);
59 queue_add_event(&kapmd_queue, event);
60 spin_unlock_irqrestore(&kapmd_queue_lock, flags);
diff --git a/meta-extras/packages/linux/linux-nokia800.inc b/meta-extras/packages/linux/linux-nokia800.inc
deleted file mode 100644
index 540dfbb4c2..0000000000
--- a/meta-extras/packages/linux/linux-nokia800.inc
+++ /dev/null
@@ -1,43 +0,0 @@
1SECTION = "kernel"
2DESCRIPTION = "Linux kernel for Nokia 770/800"
3LICENSE = "GPL"
4
5KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}"
6KERNEL_CCSUFFIX = "-3.4.4+csl-arm-2005q3-2"
7
8inherit kernel deploy
9
10RPROVIDES_kernel-image = "hostap-modules"
11
12COMPATIBLE_MACHINE = "nokia770|nokia800"
13
14RPSRC = "http://www.rpsys.net/openzaurus/patches/archive"
15
16do_configure_prepend() {
17
18 rm -f ${S}/.config || true
19
20 if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibcgnueabi" ]; then
21 echo "CONFIG_AEABI=y" >> ${S}/.config
22 echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
23 else
24 echo "# CONFIG_AEABI is not set" >> ${S}/.config
25 echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
26 fi
27
28 sed -e '/CONFIG_AEABI/d' \
29 -e '/CONFIG_OABI_COMPAT=/d' \
30 '${WORKDIR}/defconfig' >>'${S}/.config'
31
32 yes '' | oe_runmake oldconfig
33
34}
35
36do_deploy() {
37 install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOYDIR}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
38 cd ${DEPLOYDIR}
39 ln -sf ${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin ${KERNEL_IMAGETYPE}-${MACHINE}.bin
40 tar -cvzf ${DEPLOYDIR}/modules-${KERNEL_RELEASE}-${MACHINE}.tgz -C ${D} lib
41}
42
43addtask deploy before do_populate_sysroot after do_install
diff --git a/meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb b/meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb
deleted file mode 100644
index f987ab321a..0000000000
--- a/meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb
+++ /dev/null
@@ -1,18 +0,0 @@
1require linux-nokia800.inc
2
3PR = "r7"
4SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/kernel-source-rx-34_2.6.18.orig.tar.gz \
5 http://repository.maemo.org/pool/maemo3.1/free/source/kernel-source-rx-34_2.6.18-osso40.diff.gz;patch=1 \
6 ${RPSRC}/lzo_kernel-r0.patch;patch=1 \
7 ${RPSRC}/lzo_jffs2-r0.patch;patch=1 \
8 ${RPSRC}/lzo_crypto-r0b.patch;patch=1 \
9 ${RPSRC}/lzo_jffs2_lzomode-r0.patch;patch=1 \
10 ${RPSRC}/lzo_jffs2_sysfs-r0.patch;patch=1 \
11 file://fix_oprofile.patch;patch=1 \
12 file://sumversion-fix.patch;patch=1 \
13 file://defconfig"
14
15SRC_URI_append_nokia770 = " file://nokia770_nand_fix.patch;patch=1"
16
17S = "${WORKDIR}/linux-g"
18
diff --git a/meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb b/meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb
deleted file mode 100644
index 9ea91c3a26..0000000000
--- a/meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb
+++ /dev/null
@@ -1,18 +0,0 @@
1require linux-nokia800.inc
2PR = "r0"
3
4DEFAULT_PREFERENCE_nokia770 = "-1"
5
6SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \
7 file://kernel-source_2.6.21-200823maemo6.diff.gz;patch=1 \
8 http://www.rpsys.net/openzaurus/patches/archive/input_power-r7.patch;patch=1 \
9 file://suspend-button.patch;patch=1 \
10 file://defconfig"
11
12S = "${WORKDIR}/linux-2.6.21"
13
14do_install_append () {
15 mkdir -p ${D}/kernel/include/drivers/media/video/omap/
16 cp -f drivers/media/video/omap/tcm825x.h ${D}/kernel/include/drivers/media/video/omap/
17}
18
diff --git a/meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb b/meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb
deleted file mode 100644
index b64c697c9b..0000000000
--- a/meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb
+++ /dev/null
@@ -1,18 +0,0 @@
1require linux-nokia800.inc
2PR = "r5"
3
4DEFAULT_PREFERENCE_nokia770 = "-1"
5
6SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \
7 http://repository.maemo.org/pool/os2008/free/source/k/kernel-source-rx-34/kernel-source-rx-34_2.6.21.0-osso71.diff.gz;patch=1 \
8 http://www.rpsys.net/openzaurus/patches/archive/input_power-r7.patch;patch=1 \
9 file://suspend-button.patch;patch=1 \
10 file://sumversion-fix.patch;patch=1 \
11 file://defconfig"
12
13S = "${WORKDIR}/linux-2.6.21"
14
15do_install_append () {
16 mkdir -p ${D}/kernel/include/drivers/media/video/omap/
17 cp -f drivers/media/video/omap/tcm825x.h ${D}/kernel/include/drivers/media/video/omap/
18}
diff --git a/meta-extras/packages/linux/linux-openmoko.inc b/meta-extras/packages/linux/linux-openmoko.inc
deleted file mode 100644
index a0bf48e609..0000000000
--- a/meta-extras/packages/linux/linux-openmoko.inc
+++ /dev/null
@@ -1,25 +0,0 @@
1RDEPENDS_kernel-image += "mtd-utils"
2
3pkg_postinst_kernel-image () {
4if test "x$D" != "x"; then
5 exit 1
6else
7 if [ -f ${sysconfdir}/default/flashkernel ] ; then
8 echo "Upgrading Kernel in Flash"
9 echo "DO NOT stop this process"
10
11 MTD_KERNEL_PARTITION=`cat /proc/mtd | grep kernel | cut -d':' -f1`
12 MTD_KERNEL_PARTITION=/dev/$MTD_KERNEL_PARTITION
13
14 if [ "x$MTD_KERNEL_PARTITION" = "x" ] ; then
15 exit 1
16 fi
17
18 ${bindir}/flash_eraseall $MTD_KERNEL_PARTITION
19 ${bindir}/nandwrite -p $MTD_KERNEL_PARTITION /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION}
20 else
21 touch ${sysconfdir}/default/flashkernel
22 fi
23fi
24}
25
diff --git a/meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch b/meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch
deleted file mode 100644
index 4aba897b06..0000000000
--- a/meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1Backport of this patch here
2
3http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg270684.html
4
5Needed for 2.6.24 to compile with gcc 4.3
6Index: linux-2.6.24/include/linux/time.h
7===================================================================
8--- linux-2.6.24.orig/include/linux/time.h 2008-05-28 15:39:46.000000000 -0700
9+++ linux-2.6.24/include/linux/time.h 2008-05-28 15:40:48.000000000 -0700
10@@ -173,6 +173,10 @@
11 {
12 ns += a->tv_nsec;
13 while(unlikely(ns >= NSEC_PER_SEC)) {
14+ /* The following asm() prevents the compiler from
15+ * optimising this loop into a modulo operation. */
16+ asm("" : "+r"(ns));
17+
18 ns -= NSEC_PER_SEC;
19 a->tv_sec++;
20 }
diff --git a/meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb b/meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb
deleted file mode 100644
index a1d573be17..0000000000
--- a/meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb
+++ /dev/null
@@ -1,53 +0,0 @@
1require linux.inc
2require linux-openmoko.inc
3
4DESCRIPTION = "Linux 2.6.x (development) kernel for FIC SmartPhones shipping w/ Openmoko"
5
6PE = "1"
7PV = "${KERNEL_RELEASE}+git${SRCREV}"
8PR = "r2"
9
10SRC_URI = "git://git.openmoko.org/git/kernel.git;protocol=git;branch=stable \
11 file://timespec_add_ns_avoid_udivdi3.patch;patch=1"
12
13S = "${WORKDIR}/git"
14
15do_configure_prepend() {
16 cp -f ${S}/defconfig-${CONFIG_NAME} ${WORKDIR}/defconfig
17}
18
19##############################################################
20# kernel image resides on a seperate flash partition (for now)
21#
22ALLOW_EMPTY = "1"
23
24CMDLINE = "unused -- bootloader passes ATAG list"
25
26COMPATIBLE_HOST = "arm.*-linux"
27COMPATIBLE_MACHINE = "om-gta01|om-gta02"
28DEFAULT_PREFERENCE = "1"
29
30KERNEL_IMAGETYPE = "uImage"
31KERNEL_RELEASE = "2.6.24"
32KERNEL_VERSION = "${KERNEL_RELEASE}"
33
34CONFIG_NAME_om-gta01 = "gta01"
35CONFIG_NAME_om-gta02 = "gta02"
36
37UBOOT_ENTRYPOINT = "30008000"
38
39###############################################################
40# module configs specific to this kernel
41#
42
43# usb
44module_autoload_ohci-hcd = "ohci-hcd"
45module_autoload_hci_usb = "hci_usb"
46module_autoload_g_ether = "g_ether"
47# audio
48module_autoload_snd-soc-neo1973-wm8753 = "snd-soc-neo1973-wm8753"
49module_autoload_snd-soc-neo1973-gta02-wm8753 = "snd-soc-neo1973-gta02-wm8753"
50module_autoload_snd-pcm-oss = "snd-pcm-oss"
51module_autoload_snd-mixer-oss = "snd-mixer-oss"
52# sd/mmc
53module_autoload_s3cmci = "s3cmci"
diff --git a/meta-extras/packages/lirc/files/lirc_sir-sa1100.patch b/meta-extras/packages/lirc/files/lirc_sir-sa1100.patch
deleted file mode 100644
index 245b28ac51..0000000000
--- a/meta-extras/packages/lirc/files/lirc_sir-sa1100.patch
+++ /dev/null
@@ -1,10 +0,0 @@
1--- lirc/drivers/lirc_sir/lirc_sir.c.orig 2004-11-18 17:30:17 +0100
2+++ lirc/drivers/lirc_sir/lirc_sir.c 2004-11-18 17:30:21 +0100
3@@ -628,6 +628,7 @@
4 struct timeval curr_tv;
5 static unsigned long deltv;
6 #ifdef LIRC_ON_SA1100
7+ unsigned long deltintrtv;
8 int status;
9 static int n=0;
10
diff --git a/meta-extras/packages/lirc/files/lircd.conf_nslu2 b/meta-extras/packages/lirc/files/lircd.conf_nslu2
deleted file mode 100644
index 5fbaba469c..0000000000
--- a/meta-extras/packages/lirc/files/lircd.conf_nslu2
+++ /dev/null
@@ -1,1886 +0,0 @@
1# This file is modified for the NSLU2.
2# It's based on http://lirc.sourceforge.net/remotes/philips/RC-5
3# and should support all RC5 compatible remotes.
4# The timings are for a de-underclocked NSLU2.
5
6# To see which key generates which code, run "irw".
7# To check whether lirc works at all, run "mode2 -d /dev/lirc"
8# after stopping lircd with "/etc/init.d/lircd stop".
9# To learn a new remote, run "irrecord -d /dev/lirc /etc/lircd.conf.new" and after
10# success "mv /etc/lircd.conf.new /etc/lircd.conf".
11# You could also take the timing values from /etc/lircd.conf.new
12# and paste it in here.
13# See also /etc/lircrc.
14
15begin remote
16
17 name RC5
18 bits 13
19 flags RC5|CONST_LENGTH
20 eps 30
21 aeps 100
22# if it doesn't work, you could change the following values:
23 one 863 921
24 zero 863 921
25 plead 947
26 gap 113626
27 min_repeat 1
28 repeat_bit 2
29
30 begin codes
31 amp1-0 0x0000000000001400
32 amp1-1 0x0000000000001401
33 amp1-2 0x0000000000001402
34 amp1-3 0x0000000000001403
35 amp1-4 0x0000000000001404
36 amp1-5 0x0000000000001405
37 amp1-6 0x0000000000001406
38 amp1-7 0x0000000000001407
39 amp1-8 0x0000000000001408
40 amp1-9 0x0000000000001409
41 amp1-graphic_equalizer_left 0x000000000000140A
42 amp1-graphic_equalizer_right 0x000000000000140B
43 amp1-standby 0x000000000000140C
44 amp1-mute/demute 0x000000000000140D
45 amp1-P.P. 0x000000000000140E
46 amp1-display 0x000000000000140F
47 amp1-volume+ 0x0000000000001410
48 amp1-volume- 0x0000000000001411
49 amp1-brightness+ 0x0000000000001412
50 amp1-brightness- 0x0000000000001413
51 amp1-colour_saturation+ 0x0000000000001414
52 amp1-colour_saturation- 0x0000000000001415
53 amp1-bass+ 0x0000000000001416
54 amp1-bass- 0x0000000000001417
55 amp1-treble+ 0x0000000000001418
56 amp1-treble- 0x0000000000001419
57 amp1-balance_right 0x000000000000141A
58 amp1-balance_left 0x000000000000141B
59 amp1-graph_equal_left&right 0x000000000000141C
60 amp1-loudness 0x000000000000141D
61 amp1-high_tone_filter 0x000000000000141E
62 amp1-low_tone_filter 0x000000000000141F
63 amp1-step+ 0x0000000000001420
64 amp1-step- 0x0000000000001421
65 amp1-signal_path_scroll 0x0000000000001422
66 amp1-INVALID 0x0000000000001423
67 amp1-INVALID 0x0000000000001424
68 amp1-surround_mode 0x0000000000001425
69 amp1-sleeptimer 0x0000000000001426
70 amp1-balance_rear 0x0000000000001427
71 amp1-balance_front 0x0000000000001428
72 amp1-TPS 0x0000000000001429
73 amp1-timer_set 0x000000000000142A
74 amp1-timer_up 0x000000000000142B
75 amp1-timer_down 0x000000000000142C
76 amp1-timer_memo 0x000000000000142D
77 amp1-acoustic_memory 0x000000000000142E
78 amp1-acoustic_memory_select 0x000000000000142F
79 amp1-pause 0x0000000000001430
80 amp1-erase 0x0000000000001431
81 amp1-rewind 0x0000000000001432
82 amp1-go_to 0x0000000000001433
83 amp1-wind 0x0000000000001434
84 amp1-play 0x0000000000001435
85 amp1-stop 0x0000000000001436
86 amp1-recording 0x0000000000001437
87 amp1-external1 0x0000000000001438
88 amp1-external2 0x0000000000001439
89 amp1-clear_all_memory 0x000000000000143A
90 amp1-INVALID 0x000000000000143B
91 amp1-dyn_range_expand/compr 0x000000000000143C
92 amp1-system_standby 0x000000000000143D
93 amp1-INVALID 0x000000000000143E
94 amp1-system_select 0x000000000000143F
95 amp1-surround_sound 0x0000000000000400
96 amp1-balance_front 0x0000000000000401
97 amp1-balance_rear 0x0000000000000402
98 amp1-sound_effects1 0x0000000000000403
99 amp1-sound_effects2 0x0000000000000404
100 amp1-sound_effects3 0x0000000000000405
101 amp1-sound_effects4 0x0000000000000406
102 amp1-sound_effects5 0x0000000000000407
103 amp1-sound_or_menu_func.1 0x0000000000000408
104 amp1-sound_or_menu_func.2 0x0000000000000409
105 amp1-sound_or_menu_func.3 0x000000000000040A
106 amp1-linear_function_up 0x000000000000040D
107 amp1-linear_function_down 0x000000000000040E
108 amp1-catalogue 0x000000000000040F
109 amp1-cursor_step_up 0x0000000000000410
110 amp1-cursor_step_down 0x0000000000000411
111 amp1-menu_on 0x0000000000000412
112 amp1-menu_off 0x0000000000000413
113 amp1-display_A/V_status 0x0000000000000414
114 amp1-cursor_step_left 0x0000000000000415
115 amp1-cursor_step_right 0x0000000000000416
116 amp1-menu_function 0x0000000000000417
117 amp1-PIP_on/off 0x0000000000000418
118 amp1-PIP_shift 0x0000000000000419
119 amp1-PIP_main_swap 0x000000000000041A
120 amp1-strobe_on/off 0x000000000000041B
121 amp1-multi_strobe 0x000000000000041C
122 amp1-main_freezed 0x000000000000041D
123 amp1-3/9_multi_scan 0x000000000000041E
124 amp1-PIP_mode_select 0x000000000000041F
125 amp1-mosaic 0x0000000000000420
126 amp1-solarization 0x0000000000000421
127 amp1-main_stored 0x0000000000000422
128 amp1-PIP_strobe 0x0000000000000423
129 amp1-recall_main 0x0000000000000424
130 amp1-PIP_freeze 0x0000000000000425
131 amp1-PIP_step_up 0x0000000000000426
132 amp1-PIP_step_down 0x0000000000000427
133 amp1-INVALID 0x000000000000042C
134 amp1-INVALID 0x0000000000000430
135 amp1-INVALID 0x0000000000000431
136 amp1-INVALID 0x0000000000000436
137 amp1-INVALID 0x0000000000000437
138 amp1-connect 0x000000000000043B
139 amp1-disconnect 0x000000000000043C
140 amp2-0 0x00000000000014C0
141 amp2-1 0x00000000000014C1
142 amp2-2 0x00000000000014C2
143 amp2-3 0x00000000000014C3
144 amp2-4 0x00000000000014C4
145 amp2-5 0x00000000000014C5
146 amp2-6 0x00000000000014C6
147 amp2-7 0x00000000000014C7
148 amp2-8 0x00000000000014C8
149 amp2-9 0x00000000000014C9
150 amp2-graphic_equalizer_left 0x00000000000014CA
151 amp2-graphic_equalizer_right 0x00000000000014CB
152 amp2-standby 0x00000000000014CC
153 amp2-mute/demute 0x00000000000014CD
154 amp2-P.P. 0x00000000000014CE
155 amp2-display 0x00000000000014CF
156 amp2-volume+ 0x00000000000014D0
157 amp2-volume- 0x00000000000014D1
158 amp2-brightness+ 0x00000000000014D2
159 amp2-brightness- 0x00000000000014D3
160 amp2-colour_saturation+ 0x00000000000014D4
161 amp2-colour_saturation- 0x00000000000014D5
162 amp2-bass+ 0x00000000000014D6
163 amp2-bass- 0x00000000000014D7
164 amp2-treble+ 0x00000000000014D8
165 amp2-treble- 0x00000000000014D9
166 amp2-balance_right 0x00000000000014DA
167 amp2-balance_left 0x00000000000014DB
168 amp2-graph_equal_left&right 0x00000000000014DC
169 amp2-loudness 0x00000000000014DD
170 amp2-high_tone_filter 0x00000000000014DE
171 amp2-low_tone_filter 0x00000000000014DF
172 amp2-step+ 0x00000000000014E0
173 amp2-step- 0x00000000000014E1
174 amp2-signal_path_scroll 0x00000000000014E2
175 amp2-INVALID 0x00000000000014E3
176 amp2-INVALID 0x00000000000014E4
177 amp2-surround_mode 0x00000000000014E5
178 amp2-sleeptimer 0x00000000000014E6
179 amp2-balance_rear 0x00000000000014E7
180 amp2-balance_front 0x00000000000014E8
181 amp2-TPS 0x00000000000014E9
182 amp2-timer_set 0x00000000000014EA
183 amp2-timer_up 0x00000000000014EB
184 amp2-timer_down 0x00000000000014EC
185 amp2-timer_memo 0x00000000000014ED
186 amp2-acoustic_memory 0x00000000000014EE
187 amp2-acoustic_memory_select 0x00000000000014EF
188 amp2-pause 0x00000000000014F0
189 amp2-erase 0x00000000000014F1
190 amp2-rewind 0x00000000000014F2
191 amp2-go_to 0x00000000000014F3
192 amp2-wind 0x00000000000014F4
193 amp2-play 0x00000000000014F5
194 amp2-stop 0x00000000000014F6
195 amp2-recording 0x00000000000014F7
196 amp2-external1 0x00000000000014F8
197 amp2-external2 0x00000000000014F9
198 amp2-clear_all_memory 0x00000000000014FA
199 amp2-INVALID 0x00000000000014FB
200 amp2-dyn_range_expand/compr 0x00000000000014FC
201 amp2-system_standby 0x00000000000014FD
202 amp2-INVALID 0x00000000000014FE
203 amp2-system_select 0x00000000000014FF
204 amp2-surround_sound 0x00000000000004C0
205 amp2-balance_front 0x00000000000004C1
206 amp2-balance_rear 0x00000000000004C2
207 amp2-sound_effects1 0x00000000000004C3
208 amp2-sound_effects2 0x00000000000004C4
209 amp2-sound_effects3 0x00000000000004C5
210 amp2-sound_effects4 0x00000000000004C6
211 amp2-sound_effects5 0x00000000000004C7
212 amp2-sound_or_menu_func.1 0x00000000000004C8
213 amp2-sound_or_menu_func.2 0x00000000000004C9
214 amp2-sound_or_menu_func.3 0x00000000000004CA
215 amp2-linear_function_up 0x00000000000004CD
216 amp2-linear_function_down 0x00000000000004CE
217 amp2-catalogue 0x00000000000004CF
218 amp2-cursor_step_up 0x00000000000004D0
219 amp2-cursor_step_down 0x00000000000004D1
220 amp2-menu_on 0x00000000000004D2
221 amp2-menu_off 0x00000000000004D3
222 amp2-display_A/V_status 0x00000000000004D4
223 amp2-cursor_step_left 0x00000000000004D5
224 amp2-cursor_step_right 0x00000000000004D6
225 amp2-menu_function 0x00000000000004D7
226 amp2-PIP_on/off 0x00000000000004D8
227 amp2-PIP_shift 0x00000000000004D9
228 amp2-PIP_main_swap 0x00000000000004DA
229 amp2-strobe_on/off 0x00000000000004DB
230 amp2-multi_strobe 0x00000000000004DC
231 amp2-main_freezed 0x00000000000004DD
232 amp2-3/9_multi_scan 0x00000000000004DE
233 amp2-PIP_mode_select 0x00000000000004DF
234 amp2-mosaic 0x00000000000004E0
235 amp2-solarization 0x00000000000004E1
236 amp2-main_stored 0x00000000000004E2
237 amp2-PIP_strobe 0x00000000000004E3
238 amp2-recall_main 0x00000000000004E4
239 amp2-PIP_freeze 0x00000000000004E5
240 amp2-PIP_step_up 0x00000000000004E6
241 amp2-PIP_step_down 0x00000000000004E7
242 amp2-INVALID 0x00000000000004EC
243 amp2-INVALID 0x00000000000004F0
244 amp2-INVALID 0x00000000000004F1
245 amp2-INVALID 0x00000000000004F6
246 amp2-INVALID 0x00000000000004F7
247 amp2-connect 0x00000000000004FB
248 amp2-disconnect 0x00000000000004FC
249 cd-0 0x0000000000001500
250 cd-1 0x0000000000001501
251 cd-2 0x0000000000001502
252 cd-3 0x0000000000001503
253 cd-4 0x0000000000001504
254 cd-5 0x0000000000001505
255 cd-6 0x0000000000001506
256 cd-7 0x0000000000001507
257 cd-8 0x0000000000001508
258 cd-9 0x0000000000001509
259 cd-cursor_scroll 0x000000000000150A
260 cd-display_scroll 0x000000000000150B
261 cd-standby 0x000000000000150C
262 cd-mute/demute 0x000000000000150D
263 cd-P.P._(personal_pref.) 0x000000000000150E
264 cd-display 0x000000000000150F
265 cd-volume+ 0x0000000000001510
266 cd-volume- 0x0000000000001511
267 cd-brightness+ 0x0000000000001512
268 cd-brightness- 0x0000000000001513
269 cd-colour_saturation+ 0x0000000000001514
270 cd-colour_saturation- 0x0000000000001515
271 cd-bass+ 0x0000000000001516
272 cd-bass- 0x0000000000001517
273 cd-treble+ 0x0000000000001518
274 cd-treble- 0x0000000000001519
275 cd-balance_right 0x000000000000151A
276 cd-balance_left 0x000000000000151B
277 cd-rept_once/TSPo/shuffle 0x000000000000151C
278 cd-repeat_cont/TSPc 0x000000000000151D
279 cd-select+ 0x000000000000151E
280 cd-select- 0x000000000000151F
281 cd-next 0x0000000000001520
282 cd-previous 0x0000000000001521
283 cd-index_next 0x0000000000001522
284 cd-index_previous 0x0000000000001523
285 cd-play/program 0x0000000000001524
286 cd-speed_nominal 0x0000000000001525
287 cd-speed+ 0x0000000000001526
288 cd-speed- 0x0000000000001527
289 cd-INVALID 0x0000000000001528
290 cd-store_execute 0x0000000000001529
291 cd-INVALID 0x000000000000152A
292 cd-scan_forward 0x000000000000152B
293 cd-INVALID 0x000000000000152C
294 cd-open/close 0x000000000000152D
295 cd-INVALID 0x000000000000152E
296 cd-INVALID 0x000000000000152F
297 cd-pause 0x0000000000001530
298 cd-erase 0x0000000000001531
299 cd-rewind 0x0000000000001532
300 cd-go_to 0x0000000000001533
301 cd-wind 0x0000000000001534
302 cd-play 0x0000000000001535
303 cd-stop 0x0000000000001536
304 cd-recording 0x0000000000001537
305 cd-external1 0x0000000000001538
306 cd-external2 0x0000000000001539
307 cd-clear_all_memory 0x000000000000153A
308 cd-repeat_A/B_program 0x000000000000153B
309 cd-dynamic_range_expand 0x000000000000153C
310 cd-system_standby 0x000000000000153D
311 cd-dynamic_range_compress 0x000000000000153E
312 cd-system_select 0x000000000000153F
313 cd-surround_sound 0x0000000000000500
314 cd-balance_front 0x0000000000000501
315 cd-balance_rear 0x0000000000000502
316 cd-sound_effects1 0x0000000000000503
317 cd-sound_effects2 0x0000000000000504
318 cd-sound_effects3 0x0000000000000505
319 cd-sound_effects4 0x0000000000000506
320 cd-sound_effects5 0x0000000000000507
321 cd-sound_or_menu_func.1 0x0000000000000508
322 cd-sound_or_menu_func.2 0x0000000000000509
323 cd-sound_or_menu_func.3 0x000000000000050A
324 cd-linear_function_up 0x000000000000050D
325 cd-linear_function_down 0x000000000000050E
326 cd-sound_or_menu_func. 0x000000000000050F
327 cd-cursor_step_up 0x0000000000000510
328 cd-cursor_step_down 0x0000000000000511
329 cd-menu_on 0x0000000000000512
330 cd-menu_off 0x0000000000000513
331 cd-display_A/V_status 0x0000000000000514
332 cd-cursor_step_left 0x0000000000000515
333 cd-cursor_step_right 0x0000000000000516
334 cd-menu_function 0x0000000000000517
335 cd-PIP_on/off 0x0000000000000518
336 cd-PIP_shift 0x0000000000000519
337 cd-PIP_main_swap 0x000000000000051A
338 cd-strobe_on/off 0x000000000000051B
339 cd-multi_strobe 0x000000000000051C
340 cd-main_freezed 0x000000000000051D
341 cd-3/9_multi_scan 0x000000000000051E
342 cd-PIP_mode_select 0x000000000000051F
343 cd-mosaic 0x0000000000000520
344 cd-solarization 0x0000000000000521
345 cd-main_stored 0x0000000000000522
346 cd-PIP_strobe 0x0000000000000523
347 cd-recall_main 0x0000000000000524
348 cd-PIP_freeze 0x0000000000000525
349 cd-PIP_step_up 0x0000000000000526
350 cd-PIP_step_down 0x0000000000000527
351 cd-INVALID 0x0000000000000528
352 cd-INVALID 0x0000000000000529
353 cd-INVALID 0x000000000000052A
354 cd-INVALID 0x000000000000052B
355 cd-FTS 0x000000000000052C
356 cd-INVALID 0x000000000000052D
357 cd-INVALID 0x0000000000000532
358 cd-INVALID 0x0000000000000533
359 cd-INVALID 0x0000000000000534
360 cd-INVALID 0x0000000000000535
361 cd-sub_mode1 0x0000000000000536
362 cd-sub_mode2 0x0000000000000537
363 cd-connect 0x000000000000053B
364 cd-disconnect 0x000000000000053C
365 lv1-0 0x0000000000001100
366 lv1-1 0x0000000000001101
367 lv1-2 0x0000000000001102
368 lv1-3 0x0000000000001103
369 lv1-4 0x0000000000001104
370 lv1-5 0x0000000000001105
371 lv1-6 0x0000000000001106
372 lv1-7 0x0000000000001107
373 lv1-8 0x0000000000001108
374 lv1-9 0x0000000000001109
375 lv1-picture_number/time 0x000000000000110A
376 lv1-channel_number 0x000000000000110B
377 lv1-standby 0x000000000000110C
378 lv1-mute/demute 0x000000000000110D
379 lv1-P.P._(personal_pref.) 0x000000000000110E
380 lv1-display 0x000000000000110F
381 lv1-volume+ 0x0000000000001110
382 lv1-volume- 0x0000000000001111
383 lv1-brightness+ 0x0000000000001112
384 lv1-brightness- 0x0000000000001113
385 lv1-colour_saturation+ 0x0000000000001114
386 lv1-colour_saturation- 0x0000000000001115
387 lv1-bass+ 0x0000000000001116
388 lv1-bass- 0x0000000000001117
389 lv1-treble+ 0x0000000000001118
390 lv1-treble- 0x0000000000001119
391 lv1-balance_right 0x000000000000111A
392 lv1-balance_left 0x000000000000111B
393 lv1-repeat_once/TSPo 0x000000000000111C
394 lv1-repeat_cont/TSPc 0x000000000000111D
395 lv1-next 0x000000000000111E
396 lv1-fast_run_reverse 0x000000000000111F
397 lv1-entry 0x0000000000001120
398 lv1-auto_stop/memory 0x0000000000001121
399 lv1-slow_run_reverse 0x0000000000001122
400 lv1-audio1 0x0000000000001123
401 lv1-audio2 0x0000000000001124
402 lv1-still_picture 0x0000000000001125
403 lv1-speed+ 0x0000000000001126
404 lv1-speed- 0x0000000000001127
405 lv1-slow_run_forward 0x0000000000001128
406 lv1-still_forward 0x0000000000001129
407 lv1-fast_run_forward 0x000000000000112A
408 lv1-search_automatic 0x000000000000112B
409 lv1-scan_reverse 0x000000000000112C
410 lv1-open/close_(eject) 0x000000000000112D
411 lv1-scan_forward 0x000000000000112E
412 lv1-play_reverse 0x000000000000112F
413 lv1-pause 0x0000000000001130
414 lv1-erase 0x0000000000001131
415 lv1-rewind 0x0000000000001132
416 lv1-go_to 0x0000000000001133
417 lv1-wind 0x0000000000001134
418 lv1-play 0x0000000000001135
419 lv1-stop 0x0000000000001136
420 lv1-recording 0x0000000000001137
421 lv1-external1 0x0000000000001138
422 lv1-external2 0x0000000000001139
423 lv1-clear_all_memory 0x000000000000113A
424 lv1-freeze_segment 0x000000000000113B
425 lv1-TXT_(pal)/ant.sw_(ntsc) 0x000000000000113C
426 lv1-system_standby 0x000000000000113D
427 lv1-CX_on/off 0x000000000000113E
428 lv1-system_select 0x000000000000113F
429 lv1-surround_sound 0x0000000000000100
430 lv1-balance_front 0x0000000000000101
431 lv1-balance_rear 0x0000000000000102
432 lv1-sound_effects1 0x0000000000000103
433 lv1-sound_effects2 0x0000000000000104
434 lv1-sound_effects3 0x0000000000000105
435 lv1-sound_effects4 0x0000000000000106
436 lv1-sound_effects5 0x0000000000000107
437 lv1-sound_or_menu_func.1 0x0000000000000108
438 lv1-sound_or_menu_func.2 0x0000000000000109
439 lv1-sound_or_menu_func.3 0x000000000000010A
440 lv1-INVALID 0x000000000000010B
441 lv1-INVALID 0x000000000000010C
442 lv1-linear_function_up 0x000000000000010D
443 lv1-linear_function_down 0x000000000000010E
444 lv1-sound_or_menu_func. 0x000000000000010F
445 lv1-cursor_step_up 0x0000000000000110
446 lv1-cursor_step_down 0x0000000000000111
447 lv1-menu_on 0x0000000000000112
448 lv1-menu_off 0x0000000000000113
449 lv1-display_A/V_status 0x0000000000000114
450 lv1-cursor_step_left 0x0000000000000115
451 lv1-cursor_step_right 0x0000000000000116
452 lv1-menu_function 0x0000000000000117
453 lv1-PIP_on/off 0x0000000000000118
454 lv1-PIP_shift 0x0000000000000119
455 lv1-PIP_main_swap 0x000000000000011A
456 lv1-strobe_on/off 0x000000000000011B
457 lv1-multi_strobe 0x000000000000011C
458 lv1-main_freezed 0x000000000000011D
459 lv1-3/9_multi_scan 0x000000000000011E
460 lv1-PIP_mode_select 0x000000000000011F
461 lv1-mosaic 0x0000000000000120
462 lv1-solarization 0x0000000000000121
463 lv1-main_stored 0x0000000000000122
464 lv1-PIP_strobe 0x0000000000000123
465 lv1-recall_main 0x0000000000000124
466 lv1-PIP_freeze 0x0000000000000125
467 lv1-PIP_step_up 0x0000000000000126
468 lv1-PIP_step_down 0x0000000000000127
469 lv1-INVALID 0x0000000000000128
470 lv1-INVALID 0x0000000000000129
471 lv1-INVALID 0x000000000000012A
472 lv1-INVALID 0x000000000000012B
473 lv1-INVALID 0x000000000000012C
474 lv1-INVALID 0x000000000000012D
475 lv1-INVALID 0x0000000000000130
476 lv1-INVALID 0x0000000000000131
477 lv1-INVALID 0x0000000000000132
478 lv1-INVALID 0x0000000000000133
479 lv1-INVALID 0x0000000000000134
480 lv1-INVALID 0x0000000000000135
481 lv1-sub_mode1 0x0000000000000136
482 lv1-sub_mode2 0x0000000000000137
483 lv1-INVALID 0x0000000000000138
484 lv1-INVALID 0x0000000000000139
485 lv1-INVALID 0x000000000000013A
486 lv1-connect 0x000000000000013B
487 lv1-disconnect 0x000000000000013C
488 lv2-0 0x0000000000001300
489 lv2-1 0x0000000000001301
490 lv2-2 0x0000000000001302
491 lv2-3 0x0000000000001303
492 lv2-4 0x0000000000001304
493 lv2-5 0x0000000000001305
494 lv2-6 0x0000000000001306
495 lv2-7 0x0000000000001307
496 lv2-8 0x0000000000001308
497 lv2-9 0x0000000000001309
498 lv2-picture_number/time 0x000000000000130A
499 lv2-chapter_number 0x000000000000130B
500 lv2-standby 0x000000000000130C
501 lv2-mute/demute 0x000000000000130D
502 lv2-P.P._(personal_pref.) 0x000000000000130E
503 lv2-display 0x000000000000130F
504 lv2-volume+ 0x0000000000001310
505 lv2-volume- 0x0000000000001311
506 lv2-brightness+ 0x0000000000001312
507 lv2-brightness- 0x0000000000001313
508 lv2-colour_saturation+ 0x0000000000001314
509 lv2-colour_saturation- 0x0000000000001315
510 lv2-bass+ 0x0000000000001316
511 lv2-bass- 0x0000000000001317
512 lv2-treble+ 0x0000000000001318
513 lv2-treble- 0x0000000000001319
514 lv2-balance_right 0x000000000000131A
515 lv2-balance_left 0x000000000000131B
516 lv2-repeat_once/TSPo 0x000000000000131C
517 lv2-repeat_cont/TSPc 0x000000000000131D
518 lv2-next 0x000000000000131E
519 lv2-programming 0x000000000000131F
520 lv2-INVALID 0x0000000000001320
521 lv2-auto_stop/memory 0x0000000000001321
522 lv2-slow_run_reverse 0x0000000000001322
523 lv2-stereo_left/right 0x0000000000001323
524 lv2-previous 0x0000000000001324
525 lv2-still_reverse 0x0000000000001325
526 lv2-speed+ 0x0000000000001326
527 lv2-speed- 0x0000000000001327
528 lv2-slow_run_forward 0x0000000000001328
529 lv2-still_forward 0x0000000000001329
530 lv2-digital_multi_screen 0x000000000000132A
531 lv2-strobe 0x000000000000132B
532 lv2-scan_reverse 0x000000000000132C
533 lv2-open/close_(eject) 0x000000000000132D
534 lv2-scan_forward 0x000000000000132E
535 lv2-INVALID 0x000000000000132F
536 lv2-pause 0x0000000000001330
537 lv2-erase 0x0000000000001331
538 lv2-rewind 0x0000000000001332
539 lv2-go_to 0x0000000000001333
540 lv2-wind 0x0000000000001334
541 lv2-play 0x0000000000001335
542 lv2-stop 0x0000000000001336
543 lv2-recording 0x0000000000001337
544 lv2-external1 0x0000000000001338
545 lv2-external2 0x0000000000001339
546 lv2-clear_all_memory 0x000000000000133A
547 lv2-repeat_A/B_program 0x000000000000133B
548 lv2-TXT_(pal)/ant.sw_(ntsc) 0x000000000000133C
549 lv2-system_standby 0x000000000000133D
550 lv2-CX_on/off 0x000000000000133E
551 lv2-system_select 0x000000000000133F
552 lv2-surround_sound 0x0000000000000300
553 lv2-balance_front 0x0000000000000301
554 lv2-balance_rear 0x0000000000000302
555 lv2-sound_effects1 0x0000000000000303
556 lv2-sound_effects2 0x0000000000000304
557 lv2-sound_effects3 0x0000000000000305
558 lv2-sound_effects4 0x0000000000000306
559 lv2-sound_effects5 0x0000000000000307
560 lv2-sound_or_menu_func.1 0x0000000000000308
561 lv2-sound_or_menu_func.2 0x0000000000000309
562 lv2-sound_or_menu_func.3 0x000000000000030A
563 lv2-linear_function_up 0x000000000000030D
564 lv2-linear_function_down 0x000000000000030E
565 lv2-sound_or_menu_func. 0x000000000000030F
566 lv2-cursor_step_up 0x0000000000000310
567 lv2-cursor_step_down 0x0000000000000311
568 lv2-menu_on 0x0000000000000312
569 lv2-menu_off 0x0000000000000313
570 lv2-display_A/V_status 0x0000000000000314
571 lv2-cursor_step_left 0x0000000000000315
572 lv2-cursor_step_right 0x0000000000000316
573 lv2-menu_function 0x0000000000000317
574 lv2-PIP_on/off 0x0000000000000318
575 lv2-PIP_shift 0x0000000000000319
576 lv2-PIP_main_swap 0x000000000000031A
577 lv2-strobe_on/off 0x000000000000031B
578 lv2-multi_strobe 0x000000000000031C
579 lv2-main_freezed 0x000000000000031D
580 lv2-3/9_multi_scan 0x000000000000031E
581 lv2-PIP_mode_select 0x000000000000031F
582 lv2-mosaic 0x0000000000000320
583 lv2-solarization 0x0000000000000321
584 lv2-main_stored 0x0000000000000322
585 lv2-PIP_strobe 0x0000000000000323
586 lv2-recall_main 0x0000000000000324
587 lv2-PIP_freeze 0x0000000000000325
588 lv2-PIP_step_up 0x0000000000000326
589 lv2-PIP_step_down 0x0000000000000327
590 lv2-FTS 0x000000000000032C
591 lv2-index_next 0x0000000000000330
592 lv2-index_previous 0x0000000000000331
593 lv2-sub_mode1 0x0000000000000336
594 lv2-sub_mode2 0x0000000000000337
595 lv2-connect 0x000000000000033B
596 lv2-disconnect 0x000000000000033C
597 phono-0 0x0000000000001540
598 phono-1 0x0000000000001541
599 phono-2 0x0000000000001542
600 phono-3 0x0000000000001543
601 phono-4 0x0000000000001544
602 phono-5 0x0000000000001545
603 phono-6 0x0000000000001546
604 phono-7 0x0000000000001547
605 phono-8 0x0000000000001548
606 phono-9 0x0000000000001549
607 phono-INVALID 0x000000000000154A
608 phono-INVALID 0x000000000000154B
609 phono-standby 0x000000000000154C
610 phono-mute/demute 0x000000000000154D
611 phono-P.P. 0x000000000000154E
612 phono-display 0x000000000000154F
613 phono-volume+ 0x0000000000001550
614 phono-volume- 0x0000000000001551
615 phono-brightness+ 0x0000000000001552
616 phono-brightness- 0x0000000000001553
617 phono-colour_saturation+ 0x0000000000001554
618 phono-colour_saturation- 0x0000000000001555
619 phono-bass+ 0x0000000000001556
620 phono-bass- 0x0000000000001557
621 phono-treble+ 0x0000000000001558
622 phono-treble- 0x0000000000001559
623 phono-balance_right 0x000000000000155A
624 phono-balance_left 0x000000000000155B
625 phono-repeat_once 0x000000000000155C
626 phono-repeat_continuously 0x000000000000155D
627 phono-select+ 0x000000000000155E
628 phono-select- 0x000000000000155F
629 phono-next 0x0000000000001560
630 phono-previous 0x0000000000001561
631 phono-index_next 0x0000000000001562
632 phono-index_previous 0x0000000000001563
633 phono-stereo/mono 0x0000000000001564
634 phono-INVALID 0x0000000000001565
635 phono-INVALID 0x0000000000001566
636 phono-INVALID 0x0000000000001567
637 phono-INVALID 0x0000000000001568
638 phono-store_execute 0x0000000000001569
639 phono-INVALID 0x000000000000156A
640 phono-scan_forward 0x000000000000156B
641 phono-INVALID 0x000000000000156C
642 phono-open/close 0x000000000000156D
643 phono-wave_scroll 0x000000000000156E
644 phono-INVALID 0x000000000000156F
645 phono-pause 0x0000000000001570
646 phono-erase 0x0000000000001571
647 phono-rewind 0x0000000000001572
648 phono-go_to 0x0000000000001573
649 phono-wind 0x0000000000001574
650 phono-play 0x0000000000001575
651 phono-stop 0x0000000000001576
652 phono-recording 0x0000000000001577
653 phono-external1 0x0000000000001578
654 phono-external2 0x0000000000001579
655 phono-clear_all_memory 0x000000000000157A
656 phono-INVALID 0x000000000000157B
657 phono-INVALID 0x000000000000157C
658 phono-system_standby 0x000000000000157D
659 phono-counter_memory 0x000000000000157E
660 phono-system_select 0x000000000000157F
661 phono-surround_sound 0x0000000000000540
662 phono-balance_front 0x0000000000000541
663 phono-balance_rear 0x0000000000000542
664 phono-sound_effects1 0x0000000000000543
665 phono-sound_effects2 0x0000000000000544
666 phono-sound_effects3 0x0000000000000545
667 phono-sound_effects4 0x0000000000000546
668 phono-sound_effects5 0x0000000000000547
669 phono-sound_or_menu_func.1 0x0000000000000548
670 phono-sound_or_menu_func.2 0x0000000000000549
671 phono-sound_or_menu_func.3 0x000000000000054A
672 phono-linear_function_up 0x000000000000054D
673 phono-linear_function_down 0x000000000000054E
674 phono-sound_or_menu_func. 0x000000000000054F
675 phono-cursor_step_up 0x0000000000000550
676 phono-cursor_step_down 0x0000000000000551
677 phono-menu_on 0x0000000000000552
678 phono-menu_off 0x0000000000000553
679 phono-display_A/V_status 0x0000000000000554
680 phono-cursor_step_left 0x0000000000000555
681 phono-cursor_step_right 0x0000000000000556
682 phono-menu_function 0x0000000000000557
683 phono-PIP_on/off 0x0000000000000558
684 phono-PIP_shift 0x0000000000000559
685 phono-PIP_main_swap 0x000000000000055A
686 phono-strobe_on/off 0x000000000000055B
687 phono-multi_strobe 0x000000000000055C
688 phono-main_freezed 0x000000000000055D
689 phono-3/9_multi_scan 0x000000000000055E
690 phono-PIP_mode_select 0x000000000000055F
691 phono-mosaic 0x0000000000000560
692 phono-solarization 0x0000000000000561
693 phono-main_stored 0x0000000000000562
694 phono-PIP_strobe 0x0000000000000563
695 phono-recall_main 0x0000000000000564
696 phono-PIP_freeze 0x0000000000000565
697 phono-PIP_step_up 0x0000000000000566
698 phono-PIP_step_down 0x0000000000000567
699 phono-INVALID 0x0000000000000568
700 phono-INVALID 0x0000000000000569
701 phono-INVALID 0x000000000000056A
702 phono-INVALID 0x000000000000056B
703 phono-INVALID 0x000000000000056C
704 phono-INVALID 0x000000000000056D
705 phono-INVALID 0x0000000000000572
706 phono-INVALID 0x0000000000000573
707 phono-INVALID 0x0000000000000574
708 phono-INVALID 0x0000000000000575
709 phono-sub_mode 0x0000000000000576
710 phono-sub_mode 0x0000000000000577
711 phono-connect 0x000000000000057B
712 phono-disconnect 0x000000000000057C
713 rec1-0 0x0000000000001480
714 rec1-1 0x0000000000001481
715 rec1-2 0x0000000000001482
716 rec1-3 0x0000000000001483
717 rec1-4 0x0000000000001484
718 rec1-5 0x0000000000001485
719 rec1-6 0x0000000000001486
720 rec1-7 0x0000000000001487
721 rec1-8 0x0000000000001488
722 rec1-9 0x0000000000001489
723 rec1-INVALID 0x000000000000148A
724 rec1-INVALID 0x000000000000148B
725 rec1-standby 0x000000000000148C
726 rec1-mute/demute 0x000000000000148D
727 rec1-P.P. 0x000000000000148E
728 rec1-display 0x000000000000148F
729 rec1-volume+ 0x0000000000001490
730 rec1-volume- 0x0000000000001491
731 rec1-brightness+ 0x0000000000001492
732 rec1-brightness- 0x0000000000001493
733 rec1-colour_saturation+ 0x0000000000001494
734 rec1-colour_saturation- 0x0000000000001495
735 rec1-bass+ 0x0000000000001496
736 rec1-bass- 0x0000000000001497
737 rec1-treble+ 0x0000000000001498
738 rec1-treble- 0x0000000000001499
739 rec1-balance_right 0x000000000000149A
740 rec1-balance_left 0x000000000000149B
741 rec1-repeat_once 0x000000000000149C
742 rec1-repeat_continuously 0x000000000000149D
743 rec1-select+ 0x000000000000149E
744 rec1-select- 0x000000000000149F
745 rec1-next 0x00000000000014A0
746 rec1-previous 0x00000000000014A1
747 rec1-INVALID 0x00000000000014A2
748 rec1-last_record_cancel 0x00000000000014A3
749 rec1-sequential 0x00000000000014A4
750 rec1-blank_search 0x00000000000014A5
751 rec1-INVALID 0x00000000000014A6
752 rec1-INVALID 0x00000000000014A7
753 rec1-recording_pause 0x00000000000014A8
754 rec1-store_execute 0x00000000000014A9
755 rec1-recording_blank 0x00000000000014AA
756 rec1-scan_forward 0x00000000000014AB
757 rec1-mechanism_A 0x00000000000014AC
758 rec1-eject 0x00000000000014AD
759 rec1-mechanism_B 0x00000000000014AE
760 rec1-play_reverse 0x00000000000014AF
761 rec1-pause 0x00000000000014B0
762 rec1-erase 0x00000000000014B1
763 rec1-rewind 0x00000000000014B2
764 rec1-go_to 0x00000000000014B3
765 rec1-wind 0x00000000000014B4
766 rec1-play 0x00000000000014B5
767 rec1-stop 0x00000000000014B6
768 rec1-recording 0x00000000000014B7
769 rec1-external1 0x00000000000014B8
770 rec1-external2 0x00000000000014B9
771 rec1-clear_all_memory 0x00000000000014BA
772 rec1-INVALID 0x00000000000014BB
773 rec1-INVALID 0x00000000000014BC
774 rec1-system_standby 0x00000000000014BD
775 rec1-INVALID 0x00000000000014BE
776 rec1-system_select 0x00000000000014BF
777 rec1-surround_sound 0x0000000000000480
778 rec1-balance_front 0x0000000000000481
779 rec1-balance_rear 0x0000000000000482
780 rec1-sound_effects1 0x0000000000000483
781 rec1-sound_effects2 0x0000000000000484
782 rec1-sound_effects3 0x0000000000000485
783 rec1-sound_effects4 0x0000000000000486
784 rec1-sound_effects5 0x0000000000000487
785 rec1-sound_or_menu_func.1 0x0000000000000488
786 rec1-sound_or_menu_func.2 0x0000000000000489
787 rec1-sound_or_menu_func.3 0x000000000000048A
788 rec1-linear_function_up 0x000000000000048D
789 rec1-linear_function_down 0x000000000000048E
790 rec1-sound_or_menu_func. 0x000000000000048F
791 rec1-cursor_step_up 0x0000000000000490
792 rec1-cursor_step_down 0x0000000000000491
793 rec1-menu_on 0x0000000000000492
794 rec1-menu_off 0x0000000000000493
795 rec1-display_A/V_status 0x0000000000000494
796 rec1-cursor_step_left 0x0000000000000495
797 rec1-cursor_step_right 0x0000000000000496
798 rec1-menu_function 0x0000000000000497
799 rec1-PIP_on/off 0x0000000000000498
800 rec1-PIP_shift 0x0000000000000499
801 rec1-PIP_main_swap 0x000000000000049A
802 rec1-strobe_on/off 0x000000000000049B
803 rec1-multi_strobe 0x000000000000049C
804 rec1-main_freezed 0x000000000000049D
805 rec1-3/9_multi_scan 0x000000000000049E
806 rec1-PIP_mode_select 0x000000000000049F
807 rec1-mosaic 0x00000000000004A0
808 rec1-solarization 0x00000000000004A1
809 rec1-main_stored 0x00000000000004A2
810 rec1-PIP_strobe 0x00000000000004A3
811 rec1-recall_main 0x00000000000004A4
812 rec1-PIP_freeze 0x00000000000004A5
813 rec1-PIP_step_up 0x00000000000004A6
814 rec1-PIP_step_down 0x00000000000004A7
815 rec1-automatic_start_ID 0x00000000000004A8
816 rec1-write_skip_ID 0x00000000000004A9
817 rec1-skip_on/off 0x00000000000004AA
818 rec1-write_end_ID 0x00000000000004AB
819 rec1-write_FTS 0x00000000000004AC
820 rec1-write_TOC 0x00000000000004AD
821 rec1-write_start_ID 0x00000000000004B2
822 rec1-Ca/Er/SK_ID 0x00000000000004B3
823 rec1-reformat 0x00000000000004B4
824 rec1-blank_search 0x00000000000004B5
825 rec1-sub_mode 0x00000000000004B6
826 rec1-sub_mode 0x00000000000004B7
827 rec1-connect 0x00000000000004BB
828 rec1-disconnect 0x00000000000004BC
829 rec2-0 0x00000000000015C0
830 rec2-1 0x00000000000015C1
831 rec2-2 0x00000000000015C2
832 rec2-3 0x00000000000015C3
833 rec2-4 0x00000000000015C4
834 rec2-5 0x00000000000015C5
835 rec2-6 0x00000000000015C6
836 rec2-7 0x00000000000015C7
837 rec2-8 0x00000000000015C8
838 rec2-9 0x00000000000015C9
839 rec2-INVALID 0x00000000000015CA
840 rec2-INVALID 0x00000000000015CB
841 rec2-standby 0x00000000000015CC
842 rec2-mute/demute 0x00000000000015CD
843 rec2-P.P. 0x00000000000015CE
844 rec2-display 0x00000000000015CF
845 rec2-volume+ 0x00000000000015D0
846 rec2-volume- 0x00000000000015D1
847 rec2-brightness+ 0x00000000000015D2
848 rec2-brightness- 0x00000000000015D3
849 rec2-colour_saturation+ 0x00000000000015D4
850 rec2-colour_saturation- 0x00000000000015D5
851 rec2-bass+ 0x00000000000015D6
852 rec2-bass- 0x00000000000015D7
853 rec2-treble+ 0x00000000000015D8
854 rec2-treble- 0x00000000000015D9
855 rec2-balance_right 0x00000000000015DA
856 rec2-balance_left 0x00000000000015DB
857 rec2-repeat_once 0x00000000000015DC
858 rec2-repeat_continuously 0x00000000000015DD
859 rec2-select+ 0x00000000000015DE
860 rec2-select- 0x00000000000015DF
861 rec2-next 0x00000000000015E0
862 rec2-previous 0x00000000000015E1
863 rec2-INVALID 0x00000000000015E2
864 rec2-last_record_cancel 0x00000000000015E3
865 rec2-sequential 0x00000000000015E4
866 rec2-blank_search 0x00000000000015E5
867 rec2-INVALID 0x00000000000015E6
868 rec2-INVALID 0x00000000000015E7
869 rec2-recording_pause 0x00000000000015E8
870 rec2-store_execute 0x00000000000015E9
871 rec2-recording_blank 0x00000000000015EA
872 rec2-scan_forward 0x00000000000015EB
873 rec2-mechanism_A 0x00000000000015EC
874 rec2-eject 0x00000000000015ED
875 rec2-mechanism_B 0x00000000000015EE
876 rec2-play_reverse 0x00000000000015EF
877 rec2-pause 0x00000000000015F0
878 rec2-erase 0x00000000000015F1
879 rec2-rewind 0x00000000000015F2
880 rec2-go_to 0x00000000000015F3
881 rec2-wind 0x00000000000015F4
882 rec2-play 0x00000000000015F5
883 rec2-stop 0x00000000000015F6
884 rec2-recording 0x00000000000015F7
885 rec2-external1 0x00000000000015F8
886 rec2-external2 0x00000000000015F9
887 rec2-clear_all_memory 0x00000000000015FA
888 rec2-INVALID 0x00000000000015FB
889 rec2-INVALID 0x00000000000015FC
890 rec2-system_standby 0x00000000000015FD
891 rec2-INVALID 0x00000000000015FE
892 rec2-system_select 0x00000000000015FF
893 rec2-surround_sound 0x00000000000005C0
894 rec2-balance_front 0x00000000000005C1
895 rec2-balance_rear 0x00000000000005C2
896 rec2-sound_effects1 0x00000000000005C3
897 rec2-sound_effects2 0x00000000000005C4
898 rec2-sound_effects3 0x00000000000005C5
899 rec2-sound_effects4 0x00000000000005C6
900 rec2-sound_effects5 0x00000000000005C7
901 rec2-sound_or_menu_func.1 0x00000000000005C8
902 rec2-sound_or_menu_func.2 0x00000000000005C9
903 rec2-sound_or_menu_func.3 0x00000000000005CA
904 rec2-linear_function_up 0x00000000000005CD
905 rec2-linear_function_down 0x00000000000005CE
906 rec2-sound_or_menu_func. 0x00000000000005CF
907 rec2-cursor_step_up 0x00000000000005D0
908 rec2-cursor_step_down 0x00000000000005D1
909 rec2-menu_on 0x00000000000005D2
910 rec2-menu_off 0x00000000000005D3
911 rec2-display_A/V_status 0x00000000000005D4
912 rec2-cursor_step_left 0x00000000000005D5
913 rec2-cursor_step_right 0x00000000000005D6
914 rec2-menu_function 0x00000000000005D7
915 rec2-PIP_on/off 0x00000000000005D8
916 rec2-PIP_shift 0x00000000000005D9
917 rec2-PIP_main_swap 0x00000000000005DA
918 rec2-strobe_on/off 0x00000000000005DB
919 rec2-multi_strobe 0x00000000000005DC
920 rec2-main_freezed 0x00000000000005DD
921 rec2-3/9_multi_scan 0x00000000000005DE
922 rec2-PIP_mode_select 0x00000000000005DF
923 rec2-mosaic 0x00000000000005E0
924 rec2-solarization 0x00000000000005E1
925 rec2-main_stored 0x00000000000005E2
926 rec2-PIP_strobe 0x00000000000005E3
927 rec2-recall_main 0x00000000000005E4
928 rec2-PIP_freeze 0x00000000000005E5
929 rec2-PIP_step_up 0x00000000000005E6
930 rec2-PIP_step_down 0x00000000000005E7
931 rec2-automatic_start_ID 0x00000000000005E8
932 rec2-write_skip_ID 0x00000000000005E9
933 rec2-skip_on/off 0x00000000000005EA
934 rec2-write_end_ID 0x00000000000005EB
935 rec2-write_FTS 0x00000000000005EC
936 rec2-write_TOC 0x00000000000005ED
937 rec2-write_start_ID 0x00000000000005F2
938 rec2-Ca/Er/SK_ID 0x00000000000005F3
939 rec2-reformat 0x00000000000005F4
940 rec2-blank_search 0x00000000000005F5
941 rec2-sub_mode 0x00000000000005F6
942 rec2-sub_mode 0x00000000000005F7
943 rec2-connect 0x00000000000005FB
944 rec2-disconnect 0x00000000000005FC
945 sat-0 0x0000000000001200
946 sat-1 0x0000000000001201
947 sat-2 0x0000000000001202
948 sat-3 0x0000000000001203
949 sat-4 0x0000000000001204
950 sat-5 0x0000000000001205
951 sat-6 0x0000000000001206
952 sat-7 0x0000000000001207
953 sat-8 0x0000000000001208
954 sat-9 0x0000000000001209
955 sat-1/2_digits 0x000000000000120A
956 sat-channel/program_mode 0x000000000000120B
957 sat-standby 0x000000000000120C
958 sat-mute/demute 0x000000000000120D
959 sat-P.P. 0x000000000000120E
960 sat-display 0x000000000000120F
961 sat-volume+ 0x0000000000001210
962 sat-volume- 0x0000000000001211
963 sat-brightness+ 0x0000000000001212
964 sat-brightness- 0x0000000000001213
965 sat-colour_saturation+ 0x0000000000001214
966 sat-colour_saturation- 0x0000000000001215
967 sat-bass+ 0x0000000000001216
968 sat-bass- 0x0000000000001217
969 sat-treble+ 0x0000000000001218
970 sat-treble- 0x0000000000001219
971 sat-balance_right 0x000000000000121A
972 sat-balance_left 0x000000000000121B
973 sat-INVALID 0x000000000000121C
974 sat-INVALID 0x000000000000121D
975 sat-INVALID 0x000000000000121E
976 sat-INVALID 0x000000000000121F
977 sat-channel/program+ 0x0000000000001220
978 sat-channel/program- 0x0000000000001221
979 sat-INVALID 0x0000000000001222
980 sat-language_select/mode1 0x0000000000001223
981 sat-special_stereo_on/off 0x0000000000001224
982 sat-audio_mixed_/_mode2 0x0000000000001225
983 sat-INVALID 0x0000000000001226
984 sat-INVALID 0x0000000000001227
985 sat-INVALID 0x0000000000001228
986 sat-INVALID 0x0000000000001229
987 sat-INVALID 0x000000000000122A
988 sat-INVALID 0x000000000000122B
989 sat-INVALID 0x000000000000122C
990 sat-INVALID 0x000000000000122D
991 sat-subtitle 0x000000000000122E
992 sat-INVALID 0x000000000000122F
993 sat-pause 0x0000000000001230
994 sat-erase 0x0000000000001231
995 sat-rewind 0x0000000000001232
996 sat-go_to 0x0000000000001233
997 sat-wind 0x0000000000001234
998 sat-play 0x0000000000001235
999 sat-stop 0x0000000000001236
1000 sat-recording 0x0000000000001237
1001 sat-external1 0x0000000000001238
1002 sat-external2 0x0000000000001239
1003 sat-INVALID 0x000000000000123A
1004 sat-INVALID 0x000000000000123B
1005 sat-TXT_submode 0x000000000000123C
1006 sat-system_standby 0x000000000000123D
1007 sat-INVALID 0x000000000000123E
1008 sat-system_select 0x000000000000123F
1009 sat-surround_sound 0x0000000000000200
1010 sat-balance_front 0x0000000000000201
1011 sat-balance_rear 0x0000000000000202
1012 sat-sound_effects1 0x0000000000000203
1013 sat-sound_effects2 0x0000000000000204
1014 sat-sound_effects3 0x0000000000000205
1015 sat-sound_effects4 0x0000000000000206
1016 sat-sound_effects5 0x0000000000000207
1017 sat-sound_or_menu_func.1 0x0000000000000208
1018 sat-sound_or_menu_func.2 0x0000000000000209
1019 sat-sound_or_menu_func.3 0x000000000000020A
1020 sat-INVALID 0x000000000000020B
1021 sat-INVALID 0x000000000000020C
1022 sat-linear_function_up 0x000000000000020D
1023 sat-linear_function_down 0x000000000000020E
1024 sat-sound_or_menu_func. 0x000000000000020F
1025 sat-cursor_step_up 0x0000000000000210
1026 sat-cursor_step_down 0x0000000000000211
1027 sat-menu_on 0x0000000000000212
1028 sat-menu_off 0x0000000000000213
1029 sat-display_A/V_status 0x0000000000000214
1030 sat-cursor_step_left 0x0000000000000215
1031 sat-cursor_step_right 0x0000000000000216
1032 sat-menu_function 0x0000000000000217
1033 sat-PIP_on/off 0x0000000000000218
1034 sat-PIP_shift 0x0000000000000219
1035 sat-PIP_main_swap 0x000000000000021A
1036 sat-strobe_on/off 0x000000000000021B
1037 sat-multi_strobe 0x000000000000021C
1038 sat-main_freezed 0x000000000000021D
1039 sat-3/9_multi_scan 0x000000000000021E
1040 sat-PIP_mode_select 0x000000000000021F
1041 sat-mosaic 0x0000000000000220
1042 sat-solarization 0x0000000000000221
1043 sat-main_stored 0x0000000000000222
1044 sat-PIP_strobe 0x0000000000000223
1045 sat-recall_main 0x0000000000000224
1046 sat-PIP_freeze 0x0000000000000225
1047 sat-PIP_step_up 0x0000000000000226
1048 sat-PIP_step_down 0x0000000000000227
1049 sat-INVALID 0x0000000000000228
1050 sat-INVALID 0x0000000000000229
1051 sat-INVALID 0x000000000000022A
1052 sat-INVALID 0x000000000000022B
1053 sat-INVALID 0x000000000000022C
1054 sat-INVALID 0x000000000000022D
1055 sat-INVALID 0x0000000000000230
1056 sat-INVALID 0x0000000000000231
1057 sat-INVALID 0x0000000000000232
1058 sat-INVALID 0x0000000000000233
1059 sat-INVALID 0x0000000000000234
1060 sat-INVALID 0x0000000000000235
1061 sat-sub_mode 0x0000000000000236
1062 sat-sub_mode 0x0000000000000237
1063 sat-INVALID 0x0000000000000238
1064 sat-INVALID 0x0000000000000239
1065 sat-INVALID 0x000000000000023A
1066 sat-connect 0x000000000000023B
1067 sat-INVALID 0x000000000000023C
1068 text-0 0x0000000000001080
1069 text-1 0x0000000000001081
1070 text-2 0x0000000000001082
1071 text-3 0x0000000000001083
1072 text-4 0x0000000000001084
1073 text-5 0x0000000000001085
1074 text-6 0x0000000000001086
1075 text-7 0x0000000000001087
1076 text-8 0x0000000000001088
1077 text-9 0x0000000000001089
1078 text-step_page+ 0x000000000000108A
1079 text-step_page- 0x000000000000108B
1080 text-standby 0x000000000000108C
1081 text-mute/demute 0x000000000000108D
1082 text-P.P. 0x000000000000108E
1083 text-display 0x000000000000108F
1084 text-volume+ 0x0000000000001090
1085 text-volume- 0x0000000000001091
1086 text-brightness+ 0x0000000000001092
1087 text-brightness- 0x0000000000001093
1088 text-colour_saturation+ 0x0000000000001094
1089 text-colour_saturation- 0x0000000000001095
1090 text-bass+ 0x0000000000001096
1091 text-bass- 0x0000000000001097
1092 text-treble+ 0x0000000000001098
1093 text-treble- 0x0000000000001099
1094 text-balance_right 0x000000000000109A
1095 text-balance_left 0x000000000000109B
1096 text-enter/validation_(Frnc) 0x000000000000109C
1097 text-memory_out 0x000000000000109D
1098 text-sequence_out 0x000000000000109E
1099 text-INVALID 0x000000000000109F
1100 text-exchange 0x00000000000010A0
1101 text-index/summary_(France) 0x00000000000010A1
1102 text-row_zero_(France) 0x00000000000010A2
1103 text-1st/2nd_language 0x00000000000010A3
1104 text-spacial_stereo_on/off 0x00000000000010A4
1105 text-INVALID 0x00000000000010A5
1106 text-hardcopy_printer 0x00000000000010A6
1107 text-antiope_TV_mixed_(Frnc) 0x00000000000010A7
1108 text-PIP_select 0x00000000000010A8
1109 text-page_hold_on/off 0x00000000000010A9
1110 text-clck_timed_page_(F:magazine) 0x00000000000010AA
1111 text-large_top/lrge_bot/norm 0x00000000000010AB
1112 text-reveal/conceal/canc_pic 0x00000000000010AC
1113 text-cancel_teletext_picture 0x00000000000010AD
1114 text-TV/Text_mixed/Subtitle 0x00000000000010AE
1115 text-PIP_shift 0x00000000000010AF
1116 text-pause 0x00000000000010B0
1117 text-erase 0x00000000000010B1
1118 text-rewind 0x00000000000010B2
1119 text-go_to 0x00000000000010B3
1120 text-wind 0x00000000000010B4
1121 text-play 0x00000000000010B5
1122 text-stop 0x00000000000010B6
1123 text-recording 0x00000000000010B7
1124 text-external1 0x00000000000010B8
1125 text-external2 0x00000000000010B9
1126 text-PIP_display_mode 0x00000000000010BA
1127 text-INVALID 0x00000000000010BB
1128 text-INVALID 0x00000000000010BC
1129 text-system_standby 0x00000000000010BD
1130 text-news_flash_(France) 0x00000000000010BE
1131 text-system_select 0x00000000000010BF
1132 text-surround_sound 0x0000000000000080
1133 text-balance_front 0x0000000000000081
1134 text-balance_rear 0x0000000000000082
1135 text-sound_effects1 0x0000000000000083
1136 text-sound_effects2 0x0000000000000084
1137 text-sound_effects3 0x0000000000000085
1138 text-sound_effects4 0x0000000000000086
1139 text-sound_effects5 0x0000000000000087
1140 text-sound_or_menu_func.1 0x0000000000000088
1141 text-sound_or_menu_func.2 0x0000000000000089
1142 text-sound_or_menu_func.3 0x000000000000008A
1143 text-linear_function_up 0x000000000000008D
1144 text-linear_function_down 0x000000000000008E
1145 text-sound_or_menu_func. 0x000000000000008F
1146 text-cursor_step_up 0x0000000000000090
1147 text-cursor_step_down 0x0000000000000091
1148 text-menu_on 0x0000000000000092
1149 text-menu_off 0x0000000000000093
1150 text-display_A/V_status 0x0000000000000094
1151 text-cursor_step_left 0x0000000000000095
1152 text-cursor_step_right 0x0000000000000096
1153 text-menu_function 0x0000000000000097
1154 text-PIP_on/off 0x0000000000000098
1155 text-PIP_shift 0x0000000000000099
1156 text-PIP_main_swap 0x000000000000009A
1157 text-strobe_on/off 0x000000000000009B
1158 text-multi_strobe 0x000000000000009C
1159 text-main_freezed 0x000000000000009D
1160 text-3/9_multi_scan 0x000000000000009E
1161 text-PIP_mode_select 0x000000000000009F
1162 text-mosaic 0x00000000000000A0
1163 text-solarization 0x00000000000000A1
1164 text-main_stored 0x00000000000000A2
1165 text-PIP_strobe 0x00000000000000A3
1166 text-recall_main 0x00000000000000A4
1167 text-PIP_freeze 0x00000000000000A5
1168 text-PIP_step_up 0x00000000000000A6
1169 text-PIP_step_down 0x00000000000000A7
1170 text-red 0x00000000000000AB
1171 text-green 0x00000000000000AC
1172 text-yellow 0x00000000000000AD
1173 text-cyan 0x00000000000000AE
1174 text-INVALID 0x00000000000000AF
1175 text-sub_mode 0x00000000000000B6
1176 text-sub_mode 0x00000000000000B7
1177 text-cleaning_up 0x00000000000000BA
1178 text-connect 0x00000000000000BB
1179 text-disconnect 0x00000000000000BC
1180 text-cleaning_up1 0x00000000000000BD
1181 text-cleaning_up2 0x00000000000000BE
1182 text-cleaning_up3 0x00000000000000BF
1183 tuner-0 0x0000000000001440
1184 tuner-1 0x0000000000001441
1185 tuner-2 0x0000000000001442
1186 tuner-3 0x0000000000001443
1187 tuner-4 0x0000000000001444
1188 tuner-5 0x0000000000001445
1189 tuner-6 0x0000000000001446
1190 tuner-7 0x0000000000001447
1191 tuner-8 0x0000000000001448
1192 tuner-9 0x0000000000001449
1193 tuner-1/2_digits 0x000000000000144A
1194 tuner-INVALID 0x000000000000144B
1195 tuner-standby 0x000000000000144C
1196 tuner-mute/demute 0x000000000000144D
1197 tuner-P.P. 0x000000000000144E
1198 tuner-display 0x000000000000144F
1199 tuner-volume+ 0x0000000000001450
1200 tuner-volume- 0x0000000000001451
1201 tuner-brightness+ 0x0000000000001452
1202 tuner-brightness- 0x0000000000001453
1203 tuner-colour_saturation+ 0x0000000000001454
1204 tuner-colour_saturation- 0x0000000000001455
1205 tuner-bass+ 0x0000000000001456
1206 tuner-bass- 0x0000000000001457
1207 tuner-treble+ 0x0000000000001458
1208 tuner-treble- 0x0000000000001459
1209 tuner-balance_right 0x000000000000145A
1210 tuner-balance_left 0x000000000000145B
1211 tuner-INVALID 0x000000000000145C
1212 tuner-INVALID 0x000000000000145D
1213 tuner-search+ 0x000000000000145E
1214 tuner-search- 0x000000000000145F
1215 tuner-preset+ 0x0000000000001460
1216 tuner-preset- 0x0000000000001461
1217 tuner-INVALID 0x0000000000001462
1218 tuner-INVALID 0x0000000000001463
1219 tuner-INVALID 0x0000000000001464
1220 tuner-mono/stereo 0x0000000000001465
1221 tuner-INVALID 0x0000000000001466
1222 tuner-INVALID 0x0000000000001467
1223 tuner-RF_switch 0x0000000000001468
1224 tuner-store_execute 0x0000000000001469
1225 tuner-INVALID 0x000000000000146A
1226 tuner-scan_forward 0x000000000000146B
1227 tuner-INVALID 0x000000000000146C
1228 tuner-FM 0x000000000000146D
1229 tuner-MW_(USA:_MW/FM) 0x000000000000146E
1230 tuner-LW 0x000000000000146F
1231 tuner-pause 0x0000000000001470
1232 tuner-erase 0x0000000000001471
1233 tuner-rewind 0x0000000000001472
1234 tuner-go_to 0x0000000000001473
1235 tuner-wind 0x0000000000001474
1236 tuner-play 0x0000000000001475
1237 tuner-stop 0x0000000000001476
1238 tuner-recording 0x0000000000001477
1239 tuner-external1 0x0000000000001478
1240 tuner-external2 0x0000000000001479
1241 tuner-clear_all_memory 0x000000000000147A
1242 tuner-INVALID 0x000000000000147B
1243 tuner-INVALID 0x000000000000147C
1244 tuner-system_standby 0x000000000000147D
1245 tuner-INVALID 0x000000000000147E
1246 tuner-system_select 0x000000000000147F
1247 tuner-surround_sound 0x0000000000000440
1248 tuner-balance_front 0x0000000000000441
1249 tuner-balance_rear 0x0000000000000442
1250 tuner-sound_effects1 0x0000000000000443
1251 tuner-sound_effects2 0x0000000000000444
1252 tuner-sound_effects3 0x0000000000000445
1253 tuner-sound_effects4 0x0000000000000446
1254 tuner-sound_effects5 0x0000000000000447
1255 tuner-sound_or_menu_func.1 0x0000000000000448
1256 tuner-sound_or_menu_func.2 0x0000000000000449
1257 tuner-sound_or_menu_func.3 0x000000000000044A
1258 tuner-linear_function_up 0x000000000000044D
1259 tuner-linear_function_down 0x000000000000044E
1260 tuner-sound_or_menu_func. 0x000000000000044F
1261 tuner-cursor_step_up 0x0000000000000450
1262 tuner-cursor_step_down 0x0000000000000451
1263 tuner-menu_on 0x0000000000000452
1264 tuner-menu_off 0x0000000000000453
1265 tuner-display_A/V_status 0x0000000000000454
1266 tuner-cursor_step_left 0x0000000000000455
1267 tuner-cursor_step_right 0x0000000000000456
1268 tuner-menu_function 0x0000000000000457
1269 tuner-PIP_on/off 0x0000000000000458
1270 tuner-PIP_shift 0x0000000000000459
1271 tuner-PIP_main_swap 0x000000000000045A
1272 tuner-strobe_on/off 0x000000000000045B
1273 tuner-multi_strobe 0x000000000000045C
1274 tuner-main_freezed 0x000000000000045D
1275 tuner-3/9_multi_scan 0x000000000000045E
1276 tuner-PIP_mode_select 0x000000000000045F
1277 tuner-mosaic 0x0000000000000460
1278 tuner-solarization 0x0000000000000461
1279 tuner-main_stored 0x0000000000000462
1280 tuner-PIP_strobe 0x0000000000000463
1281 tuner-recall_main 0x0000000000000464
1282 tuner-PIP_freeze 0x0000000000000465
1283 tuner-PIP_step_up 0x0000000000000466
1284 tuner-PIP_step_down 0x0000000000000467
1285 tuner-INVALID 0x000000000000046C
1286 tuner-INVALID 0x0000000000000470
1287 tuner-INVALID 0x0000000000000471
1288 tuner-INVALID 0x0000000000000476
1289 tuner-INVALID 0x0000000000000477
1290 tuner-connect 0x000000000000047B
1291 tuner-disconnect 0x000000000000047C
1292 tv1-0 0x0000000000001000
1293 tv1-1 0x0000000000001001
1294 tv1-2 0x0000000000001002
1295 tv1-3 0x0000000000001003
1296 tv1-4 0x0000000000001004
1297 tv1-5 0x0000000000001005
1298 tv1-6 0x0000000000001006
1299 tv1-7 0x0000000000001007
1300 tv1-8 0x0000000000001008
1301 tv1-9 0x0000000000001009
1302 tv1-1/2/3_digs_(japan:10) 0x000000000000100A
1303 tv1-channel/program(jap:11) 0x000000000000100B
1304 tv1-standby 0x000000000000100C
1305 tv1-mute/demute 0x000000000000100D
1306 tv1-P.P._(personal_pref.) 0x000000000000100E
1307 tv1-display 0x000000000000100F
1308 tv1-volume+ 0x0000000000001010
1309 tv1-volume- 0x0000000000001011
1310 tv1-brightness+ 0x0000000000001012
1311 tv1-brightness- 0x0000000000001013
1312 tv1-colour_saturation+ 0x0000000000001014
1313 tv1-colour_saturation- 0x0000000000001015
1314 tv1-bass+ 0x0000000000001016
1315 tv1-bass- 0x0000000000001017
1316 tv1-treble+ 0x0000000000001018
1317 tv1-treble- 0x0000000000001019
1318 tv1-balance_right 0x000000000000101A
1319 tv1-balance_left 0x000000000000101B
1320 tv1-contrast+ 0x000000000000101C
1321 tv1-contrast- 0x000000000000101D
1322 tv1-search+ 0x000000000000101E
1323 tv1-tint/hue+ 0x000000000000101F
1324 tv1-channel/program+ 0x0000000000001020
1325 tv1-channel/program- 0x0000000000001021
1326 tv1-alt/channel 0x0000000000001022
1327 tv1-1st/2nd_language 0x0000000000001023
1328 tv1-spacial_stereo_on/off 0x0000000000001024
1329 tv1-mono/stereo_(USA) 0x0000000000001025
1330 tv1-sleeptimer 0x0000000000001026
1331 tv1-tint/hue- 0x0000000000001027
1332 tv1-RF_switch/PIP_select 0x0000000000001028
1333 tv1-vote 0x0000000000001029
1334 tv1-timed_page/channel 0x000000000000102A
1335 tv1-increment_(USA) 0x000000000000102B
1336 tv1-decrement_(USA) 0x000000000000102C
1337 tv1-INVALID 0x000000000000102D
1338 tv1-2nd_controls_(USA:menu) 0x000000000000102E
1339 tv1-PIP_shift 0x000000000000102F
1340 tv1-pause 0x0000000000001030
1341 tv1-erase 0x0000000000001031
1342 tv1-rewind 0x0000000000001032
1343 tv1-go_to 0x0000000000001033
1344 tv1-wind 0x0000000000001034
1345 tv1-play 0x0000000000001035
1346 tv1-stop 0x0000000000001036
1347 tv1-recording 0x0000000000001037
1348 tv1-external1 0x0000000000001038
1349 tv1-external2 0x0000000000001039
1350 tv1-PIP_display_mode 0x000000000000103A
1351 tv1-view_data_mode/advance 0x000000000000103B
1352 tv1-teletext_submode_(J:12) 0x000000000000103C
1353 tv1-system_standby 0x000000000000103D
1354 tv1-crispener_on/off 0x000000000000103E
1355 tv1-system_select 0x000000000000103F
1356 tv1-surround_sound 0x0000000000000000
1357 tv1-balance_front 0x0000000000000001
1358 tv1-balance_rear 0x0000000000000002
1359 tv1-sound_effects1 0x0000000000000003
1360 tv1-sound_effects2 0x0000000000000004
1361 tv1-sound_effects3 0x0000000000000005
1362 tv1-sound_effects4 0x0000000000000006
1363 tv1-sound_effects5 0x0000000000000007
1364 tv1-sound_or_menu_func.1 0x0000000000000008
1365 tv1-sound_or_menu_func.2 0x0000000000000009
1366 tv1-sound_or_menu_func.3 0x000000000000000A
1367 tv1-linear_function_up 0x000000000000000D
1368 tv1-linear_function_down 0x000000000000000E
1369 tv1-sound_or_menu_func. 0x000000000000000F
1370 tv1-cursor_step_up 0x0000000000000010
1371 tv1-cursor_step_down 0x0000000000000011
1372 tv1-menu_on 0x0000000000000012
1373 tv1-menu_off 0x0000000000000013
1374 tv1-display_A/V_status 0x0000000000000014
1375 tv1-cursor_step_left 0x0000000000000015
1376 tv1-cursor_step_right 0x0000000000000016
1377 tv1-menu_function 0x0000000000000017
1378 tv1-PIP_on/off 0x0000000000000018
1379 tv1-PIP_shift 0x0000000000000019
1380 tv1-PIP_main_swap 0x000000000000001A
1381 tv1-strobe_on/off 0x000000000000001B
1382 tv1-multi_strobe 0x000000000000001C
1383 tv1-main_freezed 0x000000000000001D
1384 tv1-3/9_multi_scan 0x000000000000001E
1385 tv1-PIP_mode_select 0x000000000000001F
1386 tv1-mosaic 0x0000000000000020
1387 tv1-solarization 0x0000000000000021
1388 tv1-main_stored 0x0000000000000022
1389 tv1-PIP_strobe 0x0000000000000023
1390 tv1-recall_main 0x0000000000000024
1391 tv1-PIP_freeze 0x0000000000000025
1392 tv1-PIP_step_up 0x0000000000000026
1393 tv1-PIP_step_down 0x0000000000000027
1394 tv1-INVALID 0x000000000000002B
1395 tv1-INVALID 0x000000000000002C
1396 tv1-INVALID 0x000000000000002D
1397 tv1-INVALID 0x000000000000002E
1398 tv1-index 0x000000000000002F
1399 tv1-sub_mode 0x0000000000000036
1400 tv1-sub_mode 0x0000000000000037
1401 tv1-cleaning_up 0x000000000000003A
1402 tv1-connect 0x000000000000003B
1403 tv1-disconnect 0x000000000000003C
1404 tv1-cleaning_up1 0x000000000000003D
1405 tv1-cleaning_up2 0x000000000000003E
1406 tv1-cleaning_up3 0x000000000000003F
1407 tv2-0 0x0000000000001040
1408 tv2-1 0x0000000000001041
1409 tv2-2 0x0000000000001042
1410 tv2-3 0x0000000000001043
1411 tv2-4 0x0000000000001044
1412 tv2-5 0x0000000000001045
1413 tv2-6 0x0000000000001046
1414 tv2-7 0x0000000000001047
1415 tv2-8 0x0000000000001048
1416 tv2-9 0x0000000000001049
1417 tv2-1/2/3_digs_(japan:10) 0x000000000000104A
1418 tv2-channel/program(jap:11) 0x000000000000104B
1419 tv2-standby 0x000000000000104C
1420 tv2-mute/demute 0x000000000000104D
1421 tv2-P.P._(personal_pref.) 0x000000000000104E
1422 tv2-display 0x000000000000104F
1423 tv2-volume+ 0x0000000000001050
1424 tv2-volume- 0x0000000000001051
1425 tv2-brightness+ 0x0000000000001052
1426 tv2-brightness- 0x0000000000001053
1427 tv2-colour_saturation+ 0x0000000000001054
1428 tv2-colour_saturation- 0x0000000000001055
1429 tv2-bass+ 0x0000000000001056
1430 tv2-bass- 0x0000000000001057
1431 tv2-treble+ 0x0000000000001058
1432 tv2-treble- 0x0000000000001059
1433 tv2-balance_right 0x000000000000105A
1434 tv2-balance_left 0x000000000000105B
1435 tv2-contrast+ 0x000000000000105C
1436 tv2-contrast- 0x000000000000105D
1437 tv2-search+ 0x000000000000105E
1438 tv2-tint/hue+ 0x000000000000105F
1439 tv2-channel/program+ 0x0000000000001060
1440 tv2-channel/program- 0x0000000000001061
1441 tv2-alt/channel 0x0000000000001062
1442 tv2-1st/2nd_language 0x0000000000001063
1443 tv2-spacial_stereo_on/off 0x0000000000001064
1444 tv2-mono/stereo_(USA) 0x0000000000001065
1445 tv2-sleeptimer 0x0000000000001066
1446 tv2-tint/hue- 0x0000000000001067
1447 tv2-RF_switch/PIP_select 0x0000000000001068
1448 tv2-vote 0x0000000000001069
1449 tv2-timed_page/channel 0x000000000000106A
1450 tv2-increment_(USA) 0x000000000000106B
1451 tv2-decrement_(USA) 0x000000000000106C
1452 tv2-INVALID 0x000000000000106D
1453 tv2-2nd_controls_(USA:menu) 0x000000000000106E
1454 tv2-PIP_shift 0x000000000000106F
1455 tv2-pause 0x0000000000001070
1456 tv2-erase 0x0000000000001071
1457 tv2-rewind 0x0000000000001072
1458 tv2-go_to 0x0000000000001073
1459 tv2-wind 0x0000000000001074
1460 tv2-play 0x0000000000001075
1461 tv2-stop 0x0000000000001076
1462 tv2-recording 0x0000000000001077
1463 tv2-external1 0x0000000000001078
1464 tv2-external2 0x0000000000001079
1465 tv2-PIP_display_mode 0x000000000000107A
1466 tv2-view_data_mode/advance 0x000000000000107B
1467 tv2-teletext_submode_(J:12) 0x000000000000107C
1468 tv2-system_standby 0x000000000000107D
1469 tv2-crispener_on/off 0x000000000000107E
1470 tv2-system_select 0x000000000000107F
1471 tv2-surround_sound 0x0000000000000040
1472 tv2-balance_front 0x0000000000000041
1473 tv2-balance_rear 0x0000000000000042
1474 tv2-sound_effects1 0x0000000000000043
1475 tv2-sound_effects2 0x0000000000000044
1476 tv2-sound_effects3 0x0000000000000045
1477 tv2-sound_effects4 0x0000000000000046
1478 tv2-sound_effects5 0x0000000000000047
1479 tv2-sound_or_menu_func.1 0x0000000000000048
1480 tv2-sound_or_menu_func.2 0x0000000000000049
1481 tv2-sound_or_menu_func.3 0x000000000000004A
1482 tv2-linear_function_up 0x000000000000004D
1483 tv2-linear_function_down 0x000000000000004E
1484 tv2-sound_or_menu_func. 0x000000000000004F
1485 tv2-cursor_step_up 0x0000000000000050
1486 tv2-cursor_step_down 0x0000000000000051
1487 tv2-menu_on 0x0000000000000052
1488 tv2-menu_off 0x0000000000000053
1489 tv2-display_A/V_status 0x0000000000000054
1490 tv2-cursor_step_left 0x0000000000000055
1491 tv2-cursor_step_right 0x0000000000000056
1492 tv2-menu_function 0x0000000000000057
1493 tv2-PIP_on/off 0x0000000000000058
1494 tv2-PIP_shift 0x0000000000000059
1495 tv2-PIP_main_swap 0x000000000000005A
1496 tv2-strobe_on/off 0x000000000000005B
1497 tv2-multi_strobe 0x000000000000005C
1498 tv2-main_freezed 0x000000000000005D
1499 tv2-3/9_multi_scan 0x000000000000005E
1500 tv2-PIP_mode_select 0x000000000000005F
1501 tv2-mosaic 0x0000000000000060
1502 tv2-solarization 0x0000000000000061
1503 tv2-main_stored 0x0000000000000062
1504 tv2-PIP_strobe 0x0000000000000063
1505 tv2-recall_main 0x0000000000000064
1506 tv2-PIP_freeze 0x0000000000000065
1507 tv2-PIP_step_up 0x0000000000000066
1508 tv2-PIP_step_down 0x0000000000000067
1509 tv2-INVALID 0x000000000000006B
1510 tv2-INVALID 0x000000000000006C
1511 tv2-INVALID 0x000000000000006D
1512 tv2-INVALID 0x000000000000006E
1513 tv2-index 0x000000000000006F
1514 tv2-sub_mode 0x0000000000000076
1515 tv2-sub_mode 0x0000000000000077
1516 tv2-cleaning_up 0x000000000000007A
1517 tv2-connect 0x000000000000007B
1518 tv2-disconnect 0x000000000000007C
1519 tv2-cleaning_up1 0x000000000000007D
1520 tv2-cleaning_up2 0x000000000000007E
1521 tv2-cleaning_up3 0x000000000000007F
1522 vcr1-0 0x0000000000001140
1523 vcr1-1 0x0000000000001141
1524 vcr1-2 0x0000000000001142
1525 vcr1-3 0x0000000000001143
1526 vcr1-4 0x0000000000001144
1527 vcr1-5 0x0000000000001145
1528 vcr1-6 0x0000000000001146
1529 vcr1-7 0x0000000000001147
1530 vcr1-8 0x0000000000001148
1531 vcr1-9 0x0000000000001149
1532 vcr1-1/2_digits/AM/PM 0x000000000000114A
1533 vcr1-channel/program_mode 0x000000000000114B
1534 vcr1-standby 0x000000000000114C
1535 vcr1-mute/demute 0x000000000000114D
1536 vcr1-P.P. 0x000000000000114E
1537 vcr1-display 0x000000000000114F
1538 vcr1-volume+ 0x0000000000001150
1539 vcr1-volume- 0x0000000000001151
1540 vcr1-brightness+ 0x0000000000001152
1541 vcr1-brightness- 0x0000000000001153
1542 vcr1-colour_saturation+ 0x0000000000001154
1543 vcr1-colour_saturation- 0x0000000000001155
1544 vcr1-bass+ 0x0000000000001156
1545 vcr1-bass- 0x0000000000001157
1546 vcr1-treble+ 0x0000000000001158
1547 vcr1-treble- 0x0000000000001159
1548 vcr1-balance_right 0x000000000000115A
1549 vcr1-balance_left 0x000000000000115B
1550 vcr1-ITR_(OTR)_delay 0x000000000000115C
1551 vcr1-timer_programming 0x000000000000115D
1552 vcr1-record_select 0x000000000000115E
1553 vcr1-fast_run_reverse 0x000000000000115F
1554 vcr1-step+ 0x0000000000001160
1555 vcr1-step- 0x0000000000001161
1556 vcr1-slow_run_reverse 0x0000000000001162
1557 vcr1-audio_output_select 0x0000000000001163
1558 vcr1-clock/channel 0x0000000000001164
1559 vcr1-speed- 0x0000000000001165
1560 vcr1-speed+ 0x0000000000001166
1561 vcr1-Instant_Time_Recording 0x0000000000001167
1562 vcr1-slow_run_forward 0x0000000000001168
1563 vcr1-still_forward 0x0000000000001169
1564 vcr1-fast_run_forward 0x000000000000116A
1565 vcr1-index_scan 0x000000000000116B
1566 vcr1-scan_reverse 0x000000000000116C
1567 vcr1-eject 0x000000000000116D
1568 vcr1-scan_forward 0x000000000000116E
1569 vcr1-play_reverse 0x000000000000116F
1570 vcr1-pause 0x0000000000001170
1571 vcr1-erase 0x0000000000001171
1572 vcr1-rewind 0x0000000000001172
1573 vcr1-go_to 0x0000000000001173
1574 vcr1-wind 0x0000000000001174
1575 vcr1-play 0x0000000000001175
1576 vcr1-stop 0x0000000000001176
1577 vcr1-recording 0x0000000000001177
1578 vcr1-external1 0x0000000000001178
1579 vcr1-external2 0x0000000000001179
1580 vcr1-short/long_play 0x000000000000117A
1581 vcr1-counter_memory 0x000000000000117B
1582 vcr1-scroll_local_display 0x000000000000117C
1583 vcr1-system_standby 0x000000000000117D
1584 vcr1-RF_switch 0x000000000000117E
1585 vcr1-system_select 0x000000000000117F
1586 vcr1-surround_sound 0x0000000000000140
1587 vcr1-balance_front 0x0000000000000141
1588 vcr1-balance_rear 0x0000000000000142
1589 vcr1-sound_effects1 0x0000000000000143
1590 vcr1-sound_effects2 0x0000000000000144
1591 vcr1-sound_effects3 0x0000000000000145
1592 vcr1-sound_effects4 0x0000000000000146
1593 vcr1-sound_effects5 0x0000000000000147
1594 vcr1-sound_or_menu_func.1 0x0000000000000148
1595 vcr1-sound_or_menu_func.2 0x0000000000000149
1596 vcr1-sound_or_menu_func.3 0x000000000000014A
1597 vcr1-data_stream_start 0x000000000000014B
1598 vcr1-data_stream_end 0x000000000000014C
1599 vcr1-linear_function_up 0x000000000000014D
1600 vcr1-linear_function_down 0x000000000000014E
1601 vcr1-catalogue 0x000000000000014F
1602 vcr1-cursor_step_up 0x0000000000000150
1603 vcr1-cursor_step_down 0x0000000000000151
1604 vcr1-menu_on 0x0000000000000152
1605 vcr1-menu_off 0x0000000000000153
1606 vcr1-display_A/V_status 0x0000000000000154
1607 vcr1-cursor_step_left 0x0000000000000155
1608 vcr1-cursor_step_right 0x0000000000000156
1609 vcr1-acknowledge 0x0000000000000157
1610 vcr1-PIP_on/off 0x0000000000000158
1611 vcr1-PIP_shift 0x0000000000000159
1612 vcr1-PIP_main_swap 0x000000000000015A
1613 vcr1-strobe_on/off 0x000000000000015B
1614 vcr1-multi_strobe 0x000000000000015C
1615 vcr1-main_freezed 0x000000000000015D
1616 vcr1-3/9_multi_scan 0x000000000000015E
1617 vcr1-PIP_mode_select 0x000000000000015F
1618 vcr1-mosaic 0x0000000000000160
1619 vcr1-solarization 0x0000000000000161
1620 vcr1-main_stored 0x0000000000000162
1621 vcr1-PIP_strobe 0x0000000000000163
1622 vcr1-recall_main 0x0000000000000164
1623 vcr1-PIP_freeze 0x0000000000000165
1624 vcr1-PIP_step_up 0x0000000000000166
1625 vcr1-PIP_step_down 0x0000000000000167
1626 vcr1-automatic_start_ID 0x0000000000000168
1627 vcr1-write_skip_ID 0x0000000000000169
1628 vcr1-skip_on/off 0x000000000000016A
1629 vcr1-write_end_ID 0x000000000000016B
1630 vcr1-write_FTS 0x000000000000016C
1631 vcr1-write_TOC 0x000000000000016D
1632 vcr1-viss_index_next 0x0000000000000170
1633 vcr1-viss_index_previous 0x0000000000000171
1634 vcr1-mark 0x0000000000000172
1635 vcr1-erase 0x0000000000000173
1636 vcr1-renumber 0x0000000000000174
1637 vcr1-blank_search 0x0000000000000175
1638 vcr1-sub_mode 0x0000000000000176
1639 vcr1-sub_mode 0x0000000000000177
1640 vcr1-auto_repeat 0x0000000000000178
1641 vcr1-insert_temp 0x0000000000000179
1642 vcr1-scr_loc_disp 0x000000000000017A
1643 vcr1-connect 0x000000000000017B
1644 vcr1-INVALID 0x000000000000017C
1645 vcr2-0 0x0000000000001180
1646 vcr2-1 0x0000000000001181
1647 vcr2-2 0x0000000000001182
1648 vcr2-3 0x0000000000001183
1649 vcr2-4 0x0000000000001184
1650 vcr2-5 0x0000000000001185
1651 vcr2-6 0x0000000000001186
1652 vcr2-7 0x0000000000001187
1653 vcr2-8 0x0000000000001188
1654 vcr2-9 0x0000000000001189
1655 vcr2-1/2_digits/AM/PM 0x000000000000118A
1656 vcr2-channel/program_mode 0x000000000000118B
1657 vcr2-standby 0x000000000000118C
1658 vcr2-mute/demute 0x000000000000118D
1659 vcr2-P.P. 0x000000000000118E
1660 vcr2-display 0x000000000000118F
1661 vcr2-volume+ 0x0000000000001190
1662 vcr2-volume- 0x0000000000001191
1663 vcr2-brightness+ 0x0000000000001192
1664 vcr2-brightness- 0x0000000000001193
1665 vcr2-colour_saturation+ 0x0000000000001194
1666 vcr2-colour_saturation- 0x0000000000001195
1667 vcr2-bass+ 0x0000000000001196
1668 vcr2-bass- 0x0000000000001197
1669 vcr2-treble+ 0x0000000000001198
1670 vcr2-treble- 0x0000000000001199
1671 vcr2-balance_right 0x000000000000119A
1672 vcr2-balance_left 0x000000000000119B
1673 vcr2-ITR_(OTR)_delay 0x000000000000119C
1674 vcr2-timer_programming 0x000000000000119D
1675 vcr2-record_select 0x000000000000119E
1676 vcr2-fast_run_reverse 0x000000000000119F
1677 vcr2-step+ 0x00000000000011A0
1678 vcr2-step- 0x00000000000011A1
1679 vcr2-slow_run_reverse 0x00000000000011A2
1680 vcr2-audio_output_select 0x00000000000011A3
1681 vcr2-clock/channel 0x00000000000011A4
1682 vcr2-speed- 0x00000000000011A5
1683 vcr2-speed+ 0x00000000000011A6
1684 vcr2-Instant_Time_Recording 0x00000000000011A7
1685 vcr2-slow_run_forward 0x00000000000011A8
1686 vcr2-still_forward 0x00000000000011A9
1687 vcr2-fast_run_forward 0x00000000000011AA
1688 vcr2-index_scan 0x00000000000011AB
1689 vcr2-scan_reverse 0x00000000000011AC
1690 vcr2-eject 0x00000000000011AD
1691 vcr2-scan_forward 0x00000000000011AE
1692 vcr2-play_reverse 0x00000000000011AF
1693 vcr2-pause 0x00000000000011B0
1694 vcr2-erase 0x00000000000011B1
1695 vcr2-rewind 0x00000000000011B2
1696 vcr2-go_to 0x00000000000011B3
1697 vcr2-wind 0x00000000000011B4
1698 vcr2-play 0x00000000000011B5
1699 vcr2-stop 0x00000000000011B6
1700 vcr2-recording 0x00000000000011B7
1701 vcr2-external1 0x00000000000011B8
1702 vcr2-external2 0x00000000000011B9
1703 vcr2-short/long_play 0x00000000000011BA
1704 vcr2-counter_memory 0x00000000000011BB
1705 vcr2-scroll_local_display 0x00000000000011BC
1706 vcr2-system_standby 0x00000000000011BD
1707 vcr2-RF_switch 0x00000000000011BE
1708 vcr2-system_select 0x00000000000011BF
1709 vcr2-surround_sound 0x0000000000000180
1710 vcr2-balance_front 0x0000000000000181
1711 vcr2-balance_rear 0x0000000000000182
1712 vcr2-sound_effects1 0x0000000000000183
1713 vcr2-sound_effects2 0x0000000000000184
1714 vcr2-sound_effects3 0x0000000000000185
1715 vcr2-sound_effects4 0x0000000000000186
1716 vcr2-sound_effects5 0x0000000000000187
1717 vcr2-sound_or_menu_func.1 0x0000000000000188
1718 vcr2-sound_or_menu_func.2 0x0000000000000189
1719 vcr2-sound_or_menu_func.3 0x000000000000018A
1720 vcr2-data_stream_start 0x000000000000018B
1721 vcr2-data_stream_end 0x000000000000018C
1722 vcr2-linear_function_up 0x000000000000018D
1723 vcr2-linear_function_down 0x000000000000018E
1724 vcr2-catalogue 0x000000000000018F
1725 vcr2-cursor_step_up 0x0000000000000190
1726 vcr2-cursor_step_down 0x0000000000000191
1727 vcr2-menu_on 0x0000000000000192
1728 vcr2-menu_off 0x0000000000000193
1729 vcr2-display_A/V_status 0x0000000000000194
1730 vcr2-cursor_step_left 0x0000000000000195
1731 vcr2-cursor_step_right 0x0000000000000196
1732 vcr2-acknowledge 0x0000000000000197
1733 vcr2-PIP_on/off 0x0000000000000198
1734 vcr2-PIP_shift 0x0000000000000199
1735 vcr2-PIP_main_swap 0x000000000000019A
1736 vcr2-strobe_on/off 0x000000000000019B
1737 vcr2-multi_strobe 0x000000000000019C
1738 vcr2-main_freezed 0x000000000000019D
1739 vcr2-3/9_multi_scan 0x000000000000019E
1740 vcr2-PIP_mode_select 0x000000000000019F
1741 vcr2-mosaic 0x00000000000001A0
1742 vcr2-solarization 0x00000000000001A1
1743 vcr2-main_stored 0x00000000000001A2
1744 vcr2-PIP_strobe 0x00000000000001A3
1745 vcr2-recall_main 0x00000000000001A4
1746 vcr2-PIP_freeze 0x00000000000001A5
1747 vcr2-PIP_step_up 0x00000000000001A6
1748 vcr2-PIP_step_down 0x00000000000001A7
1749 vcr2-automatic_start_ID 0x00000000000001A8
1750 vcr2-write_skip_ID 0x00000000000001A9
1751 vcr2-skip_on/off 0x00000000000001AA
1752 vcr2-write_end_ID 0x00000000000001AB
1753 vcr2-write_FTS 0x00000000000001AC
1754 vcr2-write_TOC 0x00000000000001AD
1755 vcr2-viss_index_next 0x00000000000001B0
1756 vcr2-viss_index_previous 0x00000000000001B1
1757 vcr2-mark 0x00000000000001B2
1758 vcr2-erase 0x00000000000001B3
1759 vcr2-renumber 0x00000000000001B4
1760 vcr2-blank_search 0x00000000000001B5
1761 vcr2-sub_mode 0x00000000000001B6
1762 vcr2-sub_mode 0x00000000000001B7
1763 vcr2-auto_repeat 0x00000000000001B8
1764 vcr2-insert_temp 0x00000000000001B9
1765 vcr2-scr_loc_disp 0x00000000000001BA
1766 vcr2-connect 0x00000000000001BB
1767 vcr2-INVALID 0x00000000000001BC
1768 vd-0 0x00000000000010C0
1769 vd-1 0x00000000000010C1
1770 vd-2 0x00000000000010C2
1771 vd-3 0x00000000000010C3
1772 vd-4 0x00000000000010C4
1773 vd-5 0x00000000000010C5
1774 vd-6 0x00000000000010C6
1775 vd-7 0x00000000000010C7
1776 vd-8 0x00000000000010C8
1777 vd-9 0x00000000000010C9
1778 vd-=/=_=/= 0x00000000000010CA
1779 vd-* 0x00000000000010CB
1780 vd-standby 0x00000000000010CC
1781 vd-mute/demute 0x00000000000010CD
1782 vd-P.P. 0x00000000000010CE
1783 vd-display 0x00000000000010CF
1784 vd-volume+ 0x00000000000010D0
1785 vd-volume- 0x00000000000010D1
1786 vd-brightness+ 0x00000000000010D2
1787 vd-brightness- 0x00000000000010D3
1788 vd-colour_saturation+ 0x00000000000010D4
1789 vd-colour_saturation- 0x00000000000010D5
1790 vd-bass+ 0x00000000000010D6
1791 vd-bass- 0x00000000000010D7
1792 vd-treble+ 0x00000000000010D8
1793 vd-treble- 0x00000000000010D9
1794 vd-balance_right 0x00000000000010DA
1795 vd-balance_left 0x00000000000010DB
1796 vd-INVALID 0x00000000000010DC
1797 vd-INVALID 0x00000000000010DD
1798 vd-attribute_on/off 0x00000000000010DE
1799 vd-INVALID 0x00000000000010DF
1800 vd-INVALID 0x00000000000010E0
1801 vd-index 0x00000000000010E1
1802 vd-INVALID 0x00000000000010E2
1803 vd-1st/2nd_language 0x00000000000010E3
1804 vd-spacial_stereo_on/off 0x00000000000010E4
1805 vd-INVALID 0x00000000000010E5
1806 vd-hardcopy_printer 0x00000000000010E6
1807 vd-INVALID 0x00000000000010E7
1808 vd-terminal_initiation 0x00000000000010E8
1809 vd-INVALID 0x00000000000010E9
1810 vd-INVALID 0x00000000000010EA
1811 vd-large_top/lrge_bot/norm 0x00000000000010EB
1812 vd-INVALID 0x00000000000010EC
1813 vd-INVALID 0x00000000000010ED
1814 vd-TV/Text_mixed 0x00000000000010EE
1815 vd-view_data_line_off 0x00000000000010EF
1816 vd-pause 0x00000000000010F0
1817 vd-erase 0x00000000000010F1
1818 vd-rewind 0x00000000000010F2
1819 vd-go_to 0x00000000000010F3
1820 vd-wind 0x00000000000010F4
1821 vd-play 0x00000000000010F5
1822 vd-stop 0x00000000000010F6
1823 vd-recording 0x00000000000010F7
1824 vd-external1 0x00000000000010F8
1825 vd-external2 0x00000000000010F9
1826 vd-INVALID 0x00000000000010FA
1827 vd-view_data_line_on 0x00000000000010FB
1828 vd-INVALID 0x00000000000010FC
1829 vd-system_standby 0x00000000000010FD
1830 vd-INVALID 0x00000000000010FE
1831 vd-system_select 0x00000000000010FF
1832 vd-surround_sound 0x00000000000000C0
1833 vd-balance_front 0x00000000000000C1
1834 vd-balance_rear 0x00000000000000C2
1835 vd-sound_effects1 0x00000000000000C3
1836 vd-sound_effects2 0x00000000000000C4
1837 vd-sound_effects3 0x00000000000000C5
1838 vd-sound_effects4 0x00000000000000C6
1839 vd-sound_effects5 0x00000000000000C7
1840 vd-sound_or_menu_func.1 0x00000000000000C8
1841 vd-sound_or_menu_func.2 0x00000000000000C9
1842 vd-sound_or_menu_func.3 0x00000000000000CA
1843 vd-linear_function_up 0x00000000000000CD
1844 vd-linear_function_down 0x00000000000000CE
1845 vd-sound_or_menu_func. 0x00000000000000CF
1846 vd-cursor_step_up 0x00000000000000D0
1847 vd-cursor_step_down 0x00000000000000D1
1848 vd-menu_on 0x00000000000000D2
1849 vd-menu_off 0x00000000000000D3
1850 vd-display_A/V_status 0x00000000000000D4
1851 vd-cursor_step_left 0x00000000000000D5
1852 vd-cursor_step_right 0x00000000000000D6
1853 vd-menu_function 0x00000000000000D7
1854 vd-PIP_on/off 0x00000000000000D8
1855 vd-PIP_shift 0x00000000000000D9
1856 vd-PIP_main_swap 0x00000000000000DA
1857 vd-strobe_on/off 0x00000000000000DB
1858 vd-multi_strobe 0x00000000000000DC
1859 vd-main_freezed 0x00000000000000DD
1860 vd-3/9_multi_scan 0x00000000000000DE
1861 vd-PIP_mode_select 0x00000000000000DF
1862 vd-mosaic 0x00000000000000E0
1863 vd-solarization 0x00000000000000E1
1864 vd-main_stored 0x00000000000000E2
1865 vd-PIP_strobe 0x00000000000000E3
1866 vd-recall_main 0x00000000000000E4
1867 vd-PIP_freeze 0x00000000000000E5
1868 vd-PIP_step_up 0x00000000000000E6
1869 vd-PIP_step_down 0x00000000000000E7
1870 vd-INVALID 0x00000000000000EB
1871 vd-INVALID 0x00000000000000EC
1872 vd-INVALID 0x00000000000000ED
1873 vd-INVALID 0x00000000000000EE
1874 vd-INVALID 0x00000000000000EF
1875 vd-sub_mode 0x00000000000000F6
1876 vd-sub_mode 0x00000000000000F7
1877 vd-cleaning_up 0x00000000000000FA
1878 vd-connect 0x00000000000000FB
1879 vd-disconnect 0x00000000000000FC
1880 vd-cleaning_up1 0x00000000000000FD
1881 vd-cleaning_up2 0x00000000000000FE
1882 vd-cleaning_up3 0x00000000000000FF
1883 end codes
1884
1885end remote
1886
diff --git a/meta-extras/packages/lirc/files/lircd.init b/meta-extras/packages/lirc/files/lircd.init
deleted file mode 100755
index 11ce62447f..0000000000
--- a/meta-extras/packages/lirc/files/lircd.init
+++ /dev/null
@@ -1,39 +0,0 @@
1#! /bin/sh
2#
3# This is an init script for Familiar
4# Copy it to /etc/init.d/lircd and type
5# > update-rc.d lircd defaults 20
6#
7
8
9test -f /usr/sbin/lircd || exit 0
10test -f /etc/lircd.conf || exit 0
11
12case "$1" in
13 start)
14 echo -n "Starting lirc daemon: lircd"
15 start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --device=/dev/lirc
16 echo "."
17 ;;
18 stop)
19 echo -n "Stopping lirc daemon: lircd"
20 start-stop-daemon --stop --quiet --exec /usr/sbin/lircd
21 echo "."
22 ;;
23 reload|force-reload)
24 start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircd
25 ;;
26 restart)
27 echo -n "Stopping lirc daemon: lircd"
28 start-stop-daemon --stop --quiet --exec /usr/sbin/lircd
29 sleep 1
30 echo -n "Starting lirc daemon: lircd"
31 start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --device=/dev/lirc
32 echo "."
33 ;;
34 *)
35 echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}"
36 exit 1
37esac
38
39exit 0
diff --git a/meta-extras/packages/lirc/files/lircexec.init b/meta-extras/packages/lirc/files/lircexec.init
deleted file mode 100755
index 3a8c1a306e..0000000000
--- a/meta-extras/packages/lirc/files/lircexec.init
+++ /dev/null
@@ -1,37 +0,0 @@
1#! /bin/sh
2#
3# This is an init script for Familiar
4# Copy it to /etc/init.d/lircexecd and type
5# > update-rc.d lircexecd defaults 20
6# It must be started after lircd (and it does alphabetically :-)
7# irexec reads /etc/lircrc by default
8
9
10test -f /usr/bin/irexec || exit 0
11test -f /etc/lircrc || exit 0
12
13case "$1" in
14 start)
15 echo -n "Starting lircexec daemon: irexec"
16 start-stop-daemon --start --quiet --exec /usr/bin/irexec -- --daemon
17 echo "."
18 ;;
19 stop)
20 echo -n "Stopping lircexec daemon: irexec"
21 start-stop-daemon --stop --quiet --exec /usr/bin/irexec
22 echo "."
23 ;;
24 restart|force-restart)
25 echo -n "Stopping lircexec daemon: irexec"
26 start-stop-daemon --stop --quiet --exec /usr/bin/irexec
27 sleep 1
28 echo -n "Starting lircexec daemon: irexec"
29 start-stop-daemon --start --quiet --exec /usr/bin/irexec -- --daemon
30 echo "."
31 ;;
32 *)
33 echo "Usage: /etc/init.d/lircexec {start|stop|reload|restart|force-restart}"
34 exit 1
35esac
36
37exit 0
diff --git a/meta-extras/packages/lirc/files/lircmd.init b/meta-extras/packages/lirc/files/lircmd.init
deleted file mode 100755
index 1a96207dbb..0000000000
--- a/meta-extras/packages/lirc/files/lircmd.init
+++ /dev/null
@@ -1,38 +0,0 @@
1#! /bin/sh
2#
3# This is an init script for Familiar
4# Copy it to /etc/init.d/lirc and type
5# > update-rc.d lirc defaults 20
6#
7
8
9test -f /usr/sbin/lircmd || exit 0
10
11case "$1" in
12 start)
13 echo -n "Starting lirc daemon: lircmd"
14 start-stop-daemon --start --quiet --exec /usr/sbin/lircmd
15 echo "."
16 ;;
17 stop)
18 echo -n "Stopping lirc daemon: lircmd"
19 start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd
20 echo "."
21 ;;
22 reload|force-reload)
23 start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircmd
24 ;;
25 restart)
26 echo -n "Stopping lirc daemon: lircmd"
27 start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd
28 sleep 1
29 echo -n "Starting lirc daemon: lircmd"
30 start-stop-daemon --start --quiet --exec /usr/sbin/lircmd
31 echo "."
32 ;;
33 *)
34 echo "Usage: /etc/init.d/lircmd {start|stop|reload|restart|force-reload}"
35 exit 1
36esac
37
38exit 0
diff --git a/meta-extras/packages/lirc/files/lircrc_nslu2 b/meta-extras/packages/lirc/files/lircrc_nslu2
deleted file mode 100644
index 0669d90b09..0000000000
--- a/meta-extras/packages/lirc/files/lircrc_nslu2
+++ /dev/null
@@ -1,113 +0,0 @@
1# This is the default files read by all lirc clients
2# (see also /etc/lircd.conf)
3
4# I run /sbin/buzzer before every command to get an audible feedback
5
6## Here LIRC could shutdown your system
7#begin
8# prog = irexec
9# remote = RC5
10# repeat = 0
11# button = vcr2-standby
12# config = /sbin/buzzer; /sbin/halt
13#end
14
15
16## Here LIRC controls your mpd music deamon
17begin
18 prog = irexec
19 remote = RC5
20 repeat = 0
21 button = vcr2-pause
22 config = /sbin/buzzer; mpc toggle
23end
24begin
25 prog = irexec
26 remote = RC5
27 repeat = 0
28 button = vcr2-step+
29 config = /sbin/buzzer; mpc next
30end
31begin
32 prog = irexec
33 remote = RC5
34 repeat = 0
35 button = vcr2-step-
36 config = /sbin/buzzer; mpc prev
37end
38begin
39 prog = irexec
40 remote = RC5
41 repeat = 0
42 button = vcr2-scan_forward
43 config = /sbin/buzzer; mpc seek +00:00:30
44end
45begin
46 prog = irexec
47 remote = RC5
48 repeat = 0
49 button = vcr2-scan_reverse
50 config = /sbin/buzzer; mpc seek -00:00:30
51end
52begin
53 prog = irexec
54 remote = RC5
55 repeat = 0
56 button = vcr2-brightness+
57 config = /sbin/buzzer; mpc volume +20
58end
59begin
60 prog = irexec
61 remote = RC5
62 repeat = 0
63 button = vcr2-brightness-
64 config = /sbin/buzzer; mpc volume -20
65end
66
67
68## Here LIRC acts as an repeater
69begin
70 prog = irexec
71 remote = RC5
72 repeat = 0
73 button = vcr2-volume+
74 config = /sbin/buzzer; irsend SEND_ONCE RC5 amp1-volume+
75end
76begin
77 prog = irexec
78 remote = RC5
79 repeat = 0
80 button = vcr2-volume-
81 config = /sbin/buzzer; irsend SEND_ONCE RC5 amp1-volume-
82end
83
84
85## Here LIRC is the input device for your LC display software
86begin
87 prog = lcdd
88 remote = RC5
89 repeat = 0
90 button = vcr2-1
91 config = A
92end
93begin
94 prog = lcdd
95 remote = RC5
96 repeat = 0
97 button = vcr2-2
98 config = B
99end
100begin
101 prog = lcdd
102 remote = RC5
103 repeat = 0
104 button = vcr2-3
105 config = C
106end
107begin
108 prog = lcdd
109 remote = RC5
110 repeat = 0
111 button = vcr2-4
112 config = D
113end
diff --git a/meta-extras/packages/lirc/files/split-hauppauge.patch b/meta-extras/packages/lirc/files/split-hauppauge.patch
deleted file mode 100644
index 170a233ffb..0000000000
--- a/meta-extras/packages/lirc/files/split-hauppauge.patch
+++ /dev/null
@@ -1,141 +0,0 @@
1--- lirc/remotes/hauppauge/lircd.conf.hauppauge~ 2003-05-03 15:42:30.000000000 +0100
2+++ lirc/remotes/hauppauge/lircd.conf.hauppauge 2004-10-10 20:14:14.000000000 +0100
3@@ -51,71 +51,3 @@
4 end codes
5
6 end remote
7-
8-
9-#
10-# this config file was automatically generated
11-# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003
12-#
13-# contributed by
14-#
15-# brand: Hauppauge
16-# model no. of remote control:
17-# devices being controlled by this remote: PVR 2/350
18-#
19-
20-begin remote
21-
22- name hauppauge_pvr
23- bits 13
24- flags RC5|CONST_LENGTH
25- eps 30
26- aeps 100
27-
28- one 969 811
29- zero 969 811
30- plead 1097
31- gap 114605
32- toggle_bit 2
33-
34-
35- begin codes
36- Power 0x00000000000017FD
37- Go 0x00000000000017FB
38- 1 0x00000000000017C1
39- 2 0x00000000000017C2
40- 3 0x00000000000017C3
41- 4 0x00000000000017C4
42- 5 0x00000000000017C5
43- 6 0x00000000000017C6
44- 7 0x00000000000017C7
45- 8 0x00000000000017C8
46- 9 0x00000000000017C9
47- Back/Exit 0x00000000000017DF
48- 0 0x00000000000017C0
49- Menu 0x00000000000017CD
50- Red 0x00000000000017CB
51- Green 0x00000000000017EE
52- Yellow 0x00000000000017F8
53- Blue 0x00000000000017E9
54- Ch+ 0x00000000000017E0
55- Ch- 0x00000000000017E1
56- Vol- 0x00000000000017D1
57- Vol+ 0x00000000000017D0
58- Ok 0x00000000000017E5
59- Mute 0x00000000000017CF
60- Blank 0x00000000000017CC
61- Full 0x00000000000017FC
62- Rewind 0x00000000000017F2
63- Play 0x00000000000017F5
64- Forward 0x00000000000017F4
65- Record 0x00000000000017F7
66- Stop 0x00000000000017F6
67- Pause 0x00000000000017F0
68- Replay 0x00000000000017E4
69- Skip 0x00000000000017DE
70- end codes
71-
72-end remote
73-
74-
75--- /dev/null 2004-06-13 02:32:19.000000000 +0100
76+++ lirc/remotes/hauppauge/lircd.conf.hauppauge-pvr 2004-10-10 20:14:05.000000000 +0100
77@@ -0,0 +1,64 @@
78+#
79+# this config file was automatically generated
80+# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003
81+#
82+# contributed by
83+#
84+# brand: Hauppauge
85+# model no. of remote control:
86+# devices being controlled by this remote: PVR 2/350
87+#
88+
89+begin remote
90+
91+ name hauppauge_pvr
92+ bits 13
93+ flags RC5|CONST_LENGTH
94+ eps 30
95+ aeps 100
96+
97+ one 969 811
98+ zero 969 811
99+ plead 1097
100+ gap 114605
101+ toggle_bit 2
102+
103+
104+ begin codes
105+ Power 0x00000000000017FD
106+ Go 0x00000000000017FB
107+ 1 0x00000000000017C1
108+ 2 0x00000000000017C2
109+ 3 0x00000000000017C3
110+ 4 0x00000000000017C4
111+ 5 0x00000000000017C5
112+ 6 0x00000000000017C6
113+ 7 0x00000000000017C7
114+ 8 0x00000000000017C8
115+ 9 0x00000000000017C9
116+ Back/Exit 0x00000000000017DF
117+ 0 0x00000000000017C0
118+ Menu 0x00000000000017CD
119+ Red 0x00000000000017CB
120+ Green 0x00000000000017EE
121+ Yellow 0x00000000000017F8
122+ Blue 0x00000000000017E9
123+ Ch+ 0x00000000000017E0
124+ Ch- 0x00000000000017E1
125+ Vol- 0x00000000000017D1
126+ Vol+ 0x00000000000017D0
127+ Ok 0x00000000000017E5
128+ Mute 0x00000000000017CF
129+ Blank 0x00000000000017CC
130+ Full 0x00000000000017FC
131+ Rewind 0x00000000000017F2
132+ Play 0x00000000000017F5
133+ Forward 0x00000000000017F4
134+ Record 0x00000000000017F7
135+ Stop 0x00000000000017F6
136+ Pause 0x00000000000017F0
137+ Replay 0x00000000000017E4
138+ Skip 0x00000000000017DE
139+ end codes
140+
141+end remote
diff --git a/meta-extras/packages/lirc/lirc-config.inc b/meta-extras/packages/lirc/lirc-config.inc
deleted file mode 100644
index 03bfc61e39..0000000000
--- a/meta-extras/packages/lirc/lirc-config.inc
+++ /dev/null
@@ -1,13 +0,0 @@
1EXTRA_OECONF = "--with-kerneldir=${STAGING_KERNEL_DIR} --with-driver=${DRIVER}"
2
3DRIVER ?= "serial"
4# fails to build at the moment, re-enable later
5#DRIVER_collie = "sa1100"
6DRIVER_h3600 = "sa1100"
7DRIVER_simpad = "sa1100"
8DRIVER_nslu2 = "nslu2"
9# XXX Why is X disabled on all these platforms anyway?
10EXTRA_OECONF_append_collie = " --without-x"
11EXTRA_OECONF_append_h3600 = " --without-x"
12EXTRA_OECONF_append_simpad = " --without-x"
13EXTRA_OECONF_append_nslu2 = " --without-x --with-transmitter --with-soft-carrier"
diff --git a/meta-extras/packages/lirc/lirc-modules_0.8.3.bb b/meta-extras/packages/lirc/lirc-modules_0.8.3.bb
deleted file mode 100644
index ee1de7194e..0000000000
--- a/meta-extras/packages/lirc/lirc-modules_0.8.3.bb
+++ /dev/null
@@ -1,33 +0,0 @@
1DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
2SECTION = "base"
3PRIORITY = "optional"
4LICENSE = "GPL"
5DEPENDS = "virtual/kernel virtual/fakeroot-native"
6PR = "r2"
7
8SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz \
9 file://lirc_sir-sa1100.patch;patch=1"
10S = "${WORKDIR}/lirc-${PV}"
11
12inherit autotools module-base
13
14include lirc-config.inc
15
16do_compile() {
17 # ${KERNEL_LD} doesn't understand the LDFLAGS, so suppress them
18 cd drivers && oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" LDFLAGS=""
19}
20
21fakeroot do_install() {
22 oe_runmake -C drivers DESTDIR="${D}" moduledir="/lib/modules/${KERNEL_VERSION}/lirc" install
23 rm -rf ${D}/dev
24}
25
26pkg_postinst() {
27#!/bin/sh
28set -e
29if [ ! -c $D/dev/lirc ]; then mknod $D/dev/lirc c 61 0; fi
30exit 0
31}
32
33FILES_${PN} = "/lib/modules"
diff --git a/meta-extras/packages/lirc/lirc_0.8.3.bb b/meta-extras/packages/lirc/lirc_0.8.3.bb
deleted file mode 100644
index 9e4cacc3e4..0000000000
--- a/meta-extras/packages/lirc/lirc_0.8.3.bb
+++ /dev/null
@@ -1,31 +0,0 @@
1DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
2SECTION = "console/network"
3PRIORITY = "optional"
4LICENSE = "GPL"
5DEPENDS = "virtual/kernel virtual/libx11 libxau libsm libice"
6PR = "r5"
7
8SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz \
9 file://lircd.init file://lircmd.init"
10S = "${WORKDIR}/lirc-${PV}"
11
12inherit autotools module-base update-rc.d
13
14INITSCRIPT_NAME = "lircd"
15INITSCRIPT_PARAMS = "defaults 20"
16
17include lirc-config.inc
18
19EXTRA_OEMAKE = 'SUBDIRS="daemons tools"'
20
21do_install_append() {
22 install -d ${D}${sysconfdir}/init.d
23 install ${WORKDIR}/lircd.init ${D}${sysconfdir}/init.d/lircd
24
25 install -d ${D}${datadir}/lirc/
26 cp -pPR ${S}/remotes ${D}${datadir}/lirc/
27}
28
29PACKAGES =+ "lirc-x"
30
31FILES_lirc-x = "${bindir}/irxevent ${bindir}/xmode2"
diff --git a/meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch b/meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch
deleted file mode 100644
index 77511d68f6..0000000000
--- a/meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1Index: trunk/tools/llvm-config/Makefile
2===================================================================
3--- trunk.orig/tools/llvm-config/Makefile 2008-02-11 15:14:22.000000000 +0000
4+++ trunk/tools/llvm-config/Makefile 2008-04-11 16:58:06.000000000 +0100
5@@ -27,7 +27,7 @@
6 # This is blank for now. We need to be careful about adding stuff here:
7 # LDFLAGS tend not to be portable, and we don't currently require the
8 # user to use libtool when linking against LLVM.
9-SUB_LDFLAGS =
10+SUB_LDFLAGS = ${LD.Flags}
11
12 FinalLibDeps = $(PROJ_OBJ_DIR)/FinalLibDeps.txt
13 LibDeps = $(PROJ_OBJ_DIR)/LibDeps.txt
14@@ -57,10 +57,11 @@
15 # Build our final script.
16 $(ToolDir)/llvm-config: llvm-config.in $(FinalLibDeps)
17 $(Echo) "Building llvm-config script."
18+ $(Echo) 's,@LLVM_LDFLAGS@,$(SUB_LDFLAGS),'
19 $(Verb) $(ECHO) 's,@LLVM_CPPFLAGS@,$(SUB_CPPFLAGS),' > temp.sed
20 $(Verb) $(ECHO) 's,@LLVM_CFLAGS@,$(SUB_CFLAGS),' >> temp.sed
21 $(Verb) $(ECHO) 's,@LLVM_CXXFLAGS@,$(SUB_CXXFLAGS),' >> temp.sed
22- $(Verb) $(ECHO) 's,@LLVM_LDFLAGS@,$(SUB_LDFLAGS),' >> temp.sed
23+ $(Verb) $(ECHO) 's#@LLVM_LDFLAGS@#$(SUB_LDFLAGS)#' >> temp.sed
24 $(Verb) $(ECHO) 's,@LLVM_BUILDMODE@,$(BuildMode),' >> temp.sed
25 $(Verb) $(SED) -f temp.sed < $< > $@
26 $(Verb) $(RM) temp.sed
diff --git a/meta-extras/packages/llvm/llvm-native_svn.bb b/meta-extras/packages/llvm/llvm-native_svn.bb
deleted file mode 100644
index 56cc0d97b7..0000000000
--- a/meta-extras/packages/llvm/llvm-native_svn.bb
+++ /dev/null
@@ -1,13 +0,0 @@
1DEPENDS = "flex-native"
2SRC_URI = "svn://llvm.org/svn/llvm-project/llvm;proto=http;module=trunk \
3 file://fix_ldflags_export.patch;patch=1"
4
5PV = "0.0+${SRCREV}"
6PR = "r1"
7
8S = "${WORKDIR}/trunk"
9
10inherit autotools native
11
12EXTRA_OECONF = "--enable-optimized"
13EXTRA_OEMAKE = "ENABLE_OPTIMIZED=1" \ No newline at end of file
diff --git a/meta-extras/packages/madplay/madplay_0.15.2b.bb b/meta-extras/packages/madplay/madplay_0.15.2b.bb
deleted file mode 100644
index d942b965e2..0000000000
--- a/meta-extras/packages/madplay/madplay_0.15.2b.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1DESCRIPTION = "Madplay is a command-line MPEG audio decoder and player"
2SECTION = "console/multimedia"
3DEPENDS = "libmad"
4LICENSE = "GPL"
5AUTHOR = "Robert Leslie <rob@mars.org>"
6HOMEPAGE = "http://www.mars.org/home/rob/proj/mpeg/"
7
8SRC_URI = "ftp://ftp.mars.org/pub/mpeg/${PN}-${PV}.tar.gz"
9
10inherit autotools
11
12FILES_${PN} = "${bindir}/madplay"
diff --git a/meta-extras/packages/maemo-mapper/files/fix_segfault.patch b/meta-extras/packages/maemo-mapper/files/fix_segfault.patch
deleted file mode 100644
index 23730e8c01..0000000000
--- a/meta-extras/packages/maemo-mapper/files/fix_segfault.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1 src/maemo-mapper.c | 10 +++++-----
2 1 file changed, 5 insertions(+), 5 deletions(-)
3
4Index: trunk/src/maemo-mapper.c
5===================================================================
6--- trunk.orig/src/maemo-mapper.c 2006-11-28 15:11:49.000000000 +0000
7+++ trunk/src/maemo-mapper.c 2006-11-28 22:40:19.000000000 +0000
8@@ -140,8 +140,8 @@
9 #define HILDON_HARDKEY_RIGHT GDK_Right
10 #define HILDON_HARDKEY_SELECT GDK_Return
11 #define HILDON_HARDKEY_FULLSCREEN GDK_F10
12-#define HILDON_HARDKEY_INCREASE GDK_F6
13-#define HILDON_HARDKEY_DECREASE GDK_F5
14+#define HILDON_HARDKEY_INCREASE GDK_plus
15+#define HILDON_HARDKEY_DECREASE GDK_minus
16 #define HILDON_HARDKEY_ESC GDK_Escape
17 #define HILDON_COLOR_BUTTON GTK_COLOR_BUTTON
18
19@@ -3117,9 +3117,9 @@ set_conn_state(ConnState new_conn_state)
20 gtk_widget_destroy(_fix_banner);
21 _fix_banner = NULL;
22 }
23- if(!_connect_banner)
24- _connect_banner = hildon_banner_show_animation(
25- _window, NULL, _("Searching for GPS receiver"));
26+// if(!_connect_banner)
27+// _connect_banner = hildon_banner_show_animation(
28+// _window, NULL, _("Searching for GPS receiver"));
29 break;
30 case RCVR_UP:
31 if(_connect_banner)
diff --git a/meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb b/meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb
deleted file mode 100644
index ceda4ff811..0000000000
--- a/meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1DESCRIPTION = "GPS navigation/map display software"
2LICENSE = "GPL"
3DEPENDS = "sqlite3 gtk+ gnome-vfs dbus bluez-libs"
4RDEPENDS = "bluez-utils"
5PV = "1.2.4+svn${SRCDATE}"
6PR = "r1"
7
8# Only works with SRCDATE_maemo-mapper-nohildon = "20061114"
9SRC_URI = "svn://garage.maemo.org/svn/maemo-mapper;proto=https;module=trunk \
10 http://home.tal.org/%7Emilang/n770/maemo-mapper-desktop-20061114-001.patch;patch=1;pnum=0 \
11 file://fix_segfault.patch;patch=1"
12
13S = "${WORKDIR}/trunk"
14
15inherit autotools pkgconfig
16
17do_install_append () {
18 install -d ${D}${datadir}/applications/
19 mv ${D}/maemo-mapper.desktop ${D}${datadir}/applications/
20}
21
22#FILES_${PN} += "${datadir}/icons"
diff --git a/meta-extras/packages/maemo/nokia770-init/fixup-770.sh b/meta-extras/packages/maemo/nokia770-init/fixup-770.sh
deleted file mode 100644
index 0f1734d2ab..0000000000
--- a/meta-extras/packages/maemo/nokia770-init/fixup-770.sh
+++ /dev/null
@@ -1,26 +0,0 @@
1#! /bin/sh
2case "$1" in
3 start)
4 echo -n "Unmounting virtual fs from initrd"
5 umount /mnt/initfs/sys
6 umount /mnt/initfs/proc
7 ln -s /dev/vc/0 /dev/tty0
8 ln -s /dev/vc/1 /dev/tty1
9 ln -s /dev/vc/2 /dev/tty2
10 ln -s /dev/vc/3 /dev/tty3
11 ln -s /dev/vc/4 /dev/tty4
12 ln -s /dev/vc/5 /dev/tty5
13 ln -s /dev/vc/6 /dev/tty6
14 ln -s /dev/vc/7 /dev/tty7
15 /sbin/ifconfig wlan0 up
16 ;;
17 stop)
18 ;;
19 *)
20 echo "Usage: $SCRIPTNAME {start|stop}" >&2
21 exit 1
22 ;;
23esac
24
25exit 0
26 \ No newline at end of file
diff --git a/meta-extras/packages/maemo/nokia770-init_1.0.bb b/meta-extras/packages/maemo/nokia770-init_1.0.bb
deleted file mode 100644
index 9075c016a6..0000000000
--- a/meta-extras/packages/maemo/nokia770-init_1.0.bb
+++ /dev/null
@@ -1,38 +0,0 @@
1LICENSE = "GPL"
2PR = "r7"
3
4DEPENDS = "base-passwd"
5
6SRC_URI = "file://fixup-770.sh"
7
8COMPATIBLE_MACHINE = "(nokia770|nokia800)"
9
10inherit update-rc.d
11
12INITSCRIPT_NAME = "fixup-770.sh"
13INITSCRIPT_PARAMS = "defaults 01"
14
15FILES_${PN} = "${sysconfdir} ${libdir}"
16
17do_install () {
18 install -d ${D}${sysconfdir}/init.d
19 install -m 755 ${WORKDIR}/fixup-770.sh ${D}/${sysconfdir}/init.d/fixup-770.sh
20
21 install -d ${D}/lib/firmware
22}
23
24pkg_postinst () {
25#!/bin/sh
26
27# set up some links to firmware and modules in initrd
28 mkdir -p $D/lib/firmware
29 ln -sf /mnt/initfs/usr/lib/hotplug/firmware/3825.arm $D/lib/firmware/3825.arm
30 ln -sf /mnt/initfs/usr/lib/hotplug/firmware/3826.arm $D/lib/firmware/3826.arm
31 ln -sf /mnt/initfs/usr/lib/hotplug/firmware/bc4fw.bin $D/lib/firmware/bc4fw.bin
32 ln -sf /mnt/initfs/usr/lib/hotplug/firmware/brf6150fw.bin $D/lib/firmware/brf6150fw.bin
33 ln -sf /mnt/initfs/usr/lib/hotplug/firmware/mtlm3825.arm $D/lib/firmware/mtlm3825.arm
34 ln -sf /mnt/initfs/usr/lib/hotplug/firmware/mtlm3826.arm $D/lib/firmware/mtlm3826.arm
35
36# rm -rf $D/lib/modules
37# ln -s /mnt/initfs/lib/modules $D/lib/modules
38}
diff --git a/meta-extras/packages/maemo/xpext/auxdir.patch b/meta-extras/packages/maemo/xpext/auxdir.patch
deleted file mode 100644
index da5841a132..0000000000
--- a/meta-extras/packages/maemo/xpext/auxdir.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1--- configure.ac.old 2005-06-03 12:53:28.000000000 +0200
2+++ configure.ac 2005-06-03 12:54:29.000000000 +0200
3@@ -25,9 +25,9 @@
4
5 AC_PREREQ([2.57])
6 AC_INIT([spext], [1.0], [lauri.leukkunen@nokia.com], spext)
7+AC_CONFIG_AUX_DIR(.)
8 AM_INIT_AUTOMAKE([dist-bzip2])
9 AM_MAINTAINER_MODE
10-AC_CONFIG_AUX_DIR(.)
11
12 dnl PKG_CHECK_MODULES(FIXESEXT, fixesext)
13
diff --git a/meta-extras/packages/maemo/xpext_1.0-5.bb b/meta-extras/packages/maemo/xpext_1.0-5.bb
deleted file mode 100644
index 5be3d1c041..0000000000
--- a/meta-extras/packages/maemo/xpext_1.0-5.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1DESCRIPTION = "X Server Nokia 770 extensions library"
2LICENSE= "MIT"
3SECTION = "x11/libs"
4PRIORITY = "optional"
5DEPENDS = "virtual/libx11 libxext"
6PR = "r1"
7
8SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${PN}/${PN}_${PV}.tar.gz \
9 file://auxdir.patch;patch=1;pnum=0"
10S = "${WORKDIR}/xpext-1.0"
11
12# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
13RDEPENDS_${PN}-dev = ""
14RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPV})"
15
16inherit autotools pkgconfig
17
18do_configure_prepend () {
19 cd ${S}
20 chmod +x ./autogen.sh
21 ./autogen.sh
22}
diff --git a/meta-extras/packages/maemo/xsp_1.0.0-8.bb b/meta-extras/packages/maemo/xsp_1.0.0-8.bb
deleted file mode 100644
index c722213c86..0000000000
--- a/meta-extras/packages/maemo/xsp_1.0.0-8.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1DESCRIPTION = "X Server Nokia 770 extensions library"
2SECTION = "x11/libs"
3PRIORITY = "optional"
4LICENSE= "MIT"
5DEPENDS = "virtual/libx11 libxext xpext"
6
7PR = "r1"
8
9SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${PN}_${PV}.tar.gz"
10S = "${WORKDIR}/Xsp"
11
12inherit autotools pkgconfig
diff --git a/meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb b/meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb
deleted file mode 100644
index d868f148c3..0000000000
--- a/meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1DESCRIPTION = "Matchbox input manager"
2LICENSE = "GPL"
3DEPENDS = "matchbox-wm libmatchbox"
4SECTION = "x11/wm"
5
6SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-input-manager/${PV}/mb-applet-input-manager-${PV}.tar.gz"
7S = "${WORKDIR}/mb-applet-input-manager-${PV}"
8
9inherit autotools pkgconfig
10
11FILES_${PN} = "${bindir}/* ${datadir}/applications ${datadir}/pixmaps"
12
diff --git a/meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb b/meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb
deleted file mode 100644
index 3f1c2d02c7..0000000000
--- a/meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1LICENSE = "GPLv2"
2PRIORITY = "optional"
3DEPENDS = "libmatchbox gtk+"
4PV = "0.0+svnr${SRCREV}"
5
6SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=mb-applet-light;proto=http"
7
8S = "${WORKDIR}/mb-applet-light"
9
10inherit autotools pkgconfig
diff --git a/meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb b/meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb
deleted file mode 100644
index 68b224714a..0000000000
--- a/meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1DESCRIPTION = "Matchbox Startup monitor applet"
2LICENSE = "GPL"
3DEPENDS = "libmatchbox startup-notification"
4SECTION = "x11/wm"
5
6SRC_URI = "http://matchbox-project.org/sources/mb-applet-startup-monitor/${PV}/mb-applet-startup-monitor-${PV}.tar.gz"
7S = "${WORKDIR}/mb-applet-startup-monitor-${PV}"
8
9inherit autotools pkgconfig
10
11FILES_${PN} = "${bindir}/* ${datadir}/applications ${datadir}/pixmaps"
diff --git a/meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb b/meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb
deleted file mode 100644
index e4b843f6b1..0000000000
--- a/meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1DESCRIPTION = "Matchbox Volume Applet"
2LICENSE = "GPL"
3DEPENDS = "matchbox-wm libmatchbox gtk+"
4SECTION = "x11/wm"
5
6SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-volume/${PV}/mb-applet-volume-${PV}.tar.gz"
7S = "${WORKDIR}/mb-applet-volume-${PV}"
8
9inherit autotools pkgconfig
10
11FILES_${PN} = "${bindir} ${datadir}/applications ${datadir}/pixmaps"
12
diff --git a/meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb b/meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb
deleted file mode 100644
index 2927ccd08f..0000000000
--- a/meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
1SECTION = "x11/wm"
2DESCRIPTION = "Matchbox window manager common files"
3LICENSE = "GPL"
4DEPENDS = "libmatchbox"
5
6SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/0.9/${PN}-${PV}.tar.gz"
7
8inherit autotools pkgconfig
9
10EXTRA_OECONF = "--enable-pda-folders"
11
12FILES_${PN} = "${bindir} \
13 ${datadir}/matchbox/vfolders \
14 ${datadir}/pixmaps"
diff --git a/meta-extras/packages/matchbox-common/matchbox-common_svn.bb b/meta-extras/packages/matchbox-common/matchbox-common_svn.bb
deleted file mode 100644
index ec62ac05a8..0000000000
--- a/meta-extras/packages/matchbox-common/matchbox-common_svn.bb
+++ /dev/null
@@ -1,17 +0,0 @@
1SECTION = "x11/wm"
2DESCRIPTION = "Matchbox window manager common files"
3LICENSE = "GPL"
4DEPENDS = "libmatchbox"
5PV = "0.9.1+svnr${SRCREV}"
6S = "${WORKDIR}/matchbox-common"
7DEFAULT_PREFERENCE = "-1"
8
9SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-common;proto=http"
10
11inherit autotools pkgconfig
12
13EXTRA_OECONF = " --enable-pda-folders "
14
15FILES_${PN} = "${bindir} \
16 ${datadir}/matchbox/vfolders \
17 ${datadir}/pixmaps"
diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop
deleted file mode 100644
index 4e08dfd379..0000000000
--- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop
+++ /dev/null
@@ -1,7 +0,0 @@
1[Desktop Entry]
2Name=Home
3Comment=Home
4Exec=mb-applet-home
5Type=PanelApp
6Icon=xrandr.png
7Categories=Panel;Utility;MB
diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home
deleted file mode 100755
index 132e72bdd4..0000000000
--- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home
+++ /dev/null
@@ -1,2 +0,0 @@
1#!/bin/sh
2exec mb-applet-launcher -na -o -1 -l --title "Home" mbdesktop.png matchbox-remote -d
diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop
deleted file mode 100644
index 512e3771e4..0000000000
--- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop
+++ /dev/null
@@ -1,7 +0,0 @@
1[Desktop Entry]
2Name=Screen Rotator
3Comment=Panel based Rotation tool.
4Exec=mb-applet-launcher -na -l --title "Screen Rotator" /usr/share/pixmaps/xrandr.png xrandr-panelapp.sh
5Type=PanelApp
6Icon=xrandr.png
7Categories=Panel;Utility;MB
diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh
deleted file mode 100755
index d17c805ffc..0000000000
--- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh
+++ /dev/null
@@ -1,9 +0,0 @@
1#!/bin/sh
2if [ -n "$(xrandr | grep rotation | grep left)" ]
3then
4xrandr -o normal
5xmodmap /etc/X11/xmodmap-portrait
6else
7xrandr -o left
8xmodmap /etc/X11/xmodmap-left
9fi
diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png
deleted file mode 100644
index 08cd476e8a..0000000000
--- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png
+++ /dev/null
Binary files differ
diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb
deleted file mode 100644
index 8975853448..0000000000
--- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
1DESCRIPTION = "Simple dockapps created with monolaunch and shell script"
2DEPENDS = "matchbox-common xmodmap"
3SRC_URI = "file://xrandr-panelapp.sh \
4 file://xrandr-panelapp.desktop \
5 file://mb-applet-home \
6 file://home-panelapp.desktop \
7 file://xrandr.png"
8SECTION = "x11/wm"
9PRIORITY = "optional"
10PR = "r8"
11LICENSE = "MIT"
12
13do_install() {
14 install -d ${D}${bindir}
15 install -d ${D}${datadir}/applications
16 install -d ${D}${datadir}/pixmaps
17 install -m 0755 ${WORKDIR}/xrandr-panelapp.sh ${D}${bindir}/
18 install -m 0644 ${WORKDIR}/xrandr-panelapp.desktop ${D}${datadir}/applications/
19 install -m 0644 ${WORKDIR}/xrandr.png ${D}${datadir}/pixmaps/
20 install -m 0755 ${WORKDIR}/mb-applet-home ${D}${bindir}/
21 install -m 0644 ${WORKDIR}/home-panelapp.desktop ${D}${datadir}/applications/
22
23}
diff --git a/meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb b/meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb
deleted file mode 100644
index fea6953ece..0000000000
--- a/meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1DESCRIPTION = "Matchbox Panel Manager"
2LICENSE = "GPL"
3DEPENDS = "gtk+"
4SECTION = "x11/wm"
5
6SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.bz2"
7S = "${WORKDIR}/${PN}-${PV}"
8
9inherit autotools pkgconfig
10
11FILES_${PN} = "${bindir}/* ${datadir}/applications ${datadir}/pixmaps"
12
diff --git a/meta-extras/packages/matchbox-panel/matchbox-panel.inc b/meta-extras/packages/matchbox-panel/matchbox-panel.inc
deleted file mode 100644
index f7d6b93389..0000000000
--- a/meta-extras/packages/matchbox-panel/matchbox-panel.inc
+++ /dev/null
@@ -1,27 +0,0 @@
1DESCRIPTION = "Matchbox Window Manager Panel"
2LICENSE = "GPL"
3DEPENDS = "libmatchbox virtual/libx11 libxext libxpm apmd startup-notification virtual/kernel wireless-tools"
4RDEPENDS = "matchbox-common"
5SECTION = "x11/wm"
6
7PR = "r2"
8
9inherit autotools pkgconfig gettext
10
11CFLAGS += "-D_GNU_SOURCE"
12
13EXTRA_OECONF = " --enable-startup-notification --enable-dnotify "
14EXTRA_OECONF_append_h3600 = " --enable-small-icons "
15EXTRA_OECONF_append_h3900 = " --enable-small-icons "
16EXTRA_OECONF_append_h2200 = " --enable-small-icons "
17EXTRA_OECONF_append_h4000 = " --enable-small-icons "
18EXTRA_OECONF_append_collie = " --enable-small-icons "
19EXTRA_OECONF_append_poodle = " --enable-small-icons "
20EXTRA_OECONF_append_mnci = " --enable-small-icons "
21EXTRA_OECONF_append_integral13 = " --enable-small-icons "
22PACKAGE_ARCH = "${MACHINE}"
23
24FILES_${PN} = "${bindir}/* \
25 ${datadir}/applications \
26 ${datadir}/pixmaps"
27
diff --git a/meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb b/meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb
deleted file mode 100644
index 2b5f4693a7..0000000000
--- a/meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require matchbox-panel.inc
2
3PR="r3"
4SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/0.9/${PN}-${PV}.tar.gz"
5
6
diff --git a/meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb b/meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb
deleted file mode 100644
index 50182dacce..0000000000
--- a/meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require matchbox-panel.inc
2PV = "0.9.2+svnr${SRCREV}"
3DEFAULT_PREFERENCE = "-1"
4
5SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
6
7EXTRA_OECONF = "--enable-startup-notification --enable-dnotify"
8
9S = "${WORKDIR}/${PN}"
diff --git a/meta-extras/packages/mozilla/files/eabi-fix.patch b/meta-extras/packages/mozilla/files/eabi-fix.patch
deleted file mode 100644
index fd3bb88683..0000000000
--- a/meta-extras/packages/mozilla/files/eabi-fix.patch
+++ /dev/null
@@ -1,66 +0,0 @@
1http://lists.debian.org/debian-arm/2007/05/msg00039.html
2
3From: Lennert Buytenhek <buytenh@wantstofly.org>
4
5Hi,
6
7The reason that building nss (i.e., firefox) would segfault on ARM EABI
8systems is an assumption about the layout of the jmp_buf structure in
9the nspr library (which nss depends on) that does hold on old-ABI but
10no longer holds on EABI. The attached patch fixes this assumption,
11and fixes the shlibsign segfault during the building of nss (it also
12fixes a floating point byte order assumption.)
13
14Looks sane?
15
16It's of course a stupid idea to depend on a particular layout of the
17jmp_buf structure in application programs, but oh well. People write
18ugly buggy code, film at 11.
19
20
21--- mozilla/nsprpub/pr/src/misc/prdtoa.c.orig 2007-05-06 02:39:00.000000000 +0200
22+++ mozilla/nsprpub/pr/src/misc/prdtoa.c 2007-05-06 02:39:22.000000000 +0200
23@@ -59,8 +59,8 @@
24 /* FIXME: deal with freelist and p5s. */
25 }
26
27-#if defined(__arm) || defined(__arm__) || defined(__arm26__) \
28- || defined(__arm32__)
29+#if (defined(__arm) || defined(__arm__) || defined(__arm26__) \
30+ || defined(__arm32__)) && !defined(__ARM_EABI__) && !defined(__ARMEB__)
31 #define IEEE_ARM
32 #elif defined(IS_LITTLE_ENDIAN)
33 #define IEEE_8087
34--- mozilla/nsprpub/pr/include/md/_linux.h.orig 2007-05-06 02:39:45.000000000 +0200
35+++ mozilla/nsprpub/pr/include/md/_linux.h 2007-05-06 02:40:57.000000000 +0200
36@@ -346,7 +346,7 @@
37 #error "Linux/MIPS pre-glibc2 not supported yet"
38 #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
39
40-#elif defined(__arm__)
41+#elif defined(__arm__) && !defined(__ARM_EABI__)
42 /* ARM/Linux */
43 #if defined(__GLIBC__) && __GLIBC__ >= 2
44 #define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[20]
45@@ -358,6 +358,18 @@
46 #error "ARM/Linux pre-glibc2 not supported yet"
47 #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
48
49+#elif defined(__arm__) && defined(__ARM_EABI__)
50+/* ARM/Linux */
51+#if defined(__GLIBC__) && __GLIBC__ >= 2
52+#define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[8]
53+#define _MD_SET_FP(_t, val) ((_t)->md.context[0].__jmpbuf[7] = (val))
54+#define _MD_GET_SP_PTR(_t) &(_MD_GET_SP(_t))
55+#define _MD_GET_FP_PTR(_t) (&(_t)->md.context[0].__jmpbuf[7])
56+#define _MD_SP_TYPE __ptr_t
57+#else
58+#error "ARM/Linux pre-glibc2 not supported yet"
59+#endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
60+
61 #else
62
63 #error "Unknown CPU architecture"
64
65
66
diff --git a/meta-extras/packages/mozilla/files/eabi-fix2.patch b/meta-extras/packages/mozilla/files/eabi-fix2.patch
deleted file mode 100644
index 5f64e7f796..0000000000
--- a/meta-extras/packages/mozilla/files/eabi-fix2.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1https://bugzilla.mozilla.org/show_bug.cgi?id=369722
2
3Index: js/src/jsnum.h
4===================================================================
5RCS file: /cvsroot/mozilla/js/src/jsnum.h,v
6retrieving revision 3.27
7diff -p -u -8 -r3.27 jsnum.h
8--- mozilla/js/src/jsnum.h 21 Dec 2006 01:00:32 -0000 3.27
9+++ mozilla/js/src/jsnum.h 8 Feb 2007 12:13:01 -0000
10@@ -52,23 +52,24 @@ JS_BEGIN_EXTERN_C
11
12 /*
13 * Stefan Hanske <sh990154@mail.uni-greifswald.de> reports:
14 * ARM is a little endian architecture but 64 bit double words are stored
15 * differently: the 32 bit words are in little endian byte order, the two words
16 * are stored in big endian`s way.
17 */
18
19-#if defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__)
20-#define CPU_IS_ARM
21+#if !defined(__ARM_EABI__) && \
22+ (defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__))
23+#define IEEE_ARM
24 #endif
25
26 typedef union jsdpun {
27 struct {
28-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
29+#if defined(IS_LITTLE_ENDIAN) && !defined(IEEE_ARM)
30 uint32 lo, hi;
31 #else
32 uint32 hi, lo;
33 #endif
34 } s;
35 jsdouble d;
36 } jsdpun;
37
38@@ -87,17 +88,17 @@ typedef union jsdpun {
39
40 #else /* not or old GNUC */
41
42 /*
43 * We don't know of any non-gcc compilers that perform alias optimization,
44 * so this code should work.
45 */
46
47-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
48+#if defined(IS_LITTLE_ENDIAN) && !defined(IEEE_ARM)
49 #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[1])
50 #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[0])
51 #else
52 #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[0])
53 #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[1])
54 #endif
55
56 #define JSDOUBLE_SET_HI32(x, y) (JSDOUBLE_HI32(x)=(y))
diff --git a/meta-extras/packages/mozilla/files/eabi-fix3.patch b/meta-extras/packages/mozilla/files/eabi-fix3.patch
deleted file mode 100644
index 8bf8c2f4da..0000000000
--- a/meta-extras/packages/mozilla/files/eabi-fix3.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1From: Marcin Juszkiewicz <openembedded@hrw.one.pl>
2
3Index: mozilla/extensions/transformiix/source/base/Double.cpp
4===================================================================
5--- mozilla.orig/extensions/transformiix/source/base/Double.cpp 2007-05-09 11:21:34.000000000 +0200
6+++ mozilla/extensions/transformiix/source/base/Double.cpp 2007-05-09 11:23:59.000000000 +0200
7@@ -71,7 +71,7 @@
8 * are stored in big endian`s way.
9 */
10
11-#if defined(__arm) || defined(__arm32__) || defined(_arm26__) || defined(__arm__)
12+#if !defined(__ARM_EABI__) && defined(__arm) || defined(__arm32__) || defined(_arm26__) || defined(__arm__)
13 #define CPU_IS_ARM
14 #endif
15
diff --git a/meta-extras/packages/mozilla/files/minimo.desktop b/meta-extras/packages/mozilla/files/minimo.desktop
deleted file mode 100644
index 5ef0f2075a..0000000000
--- a/meta-extras/packages/mozilla/files/minimo.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
1[Desktop Entry]
2Name=Minimo
3Comment=Minimo web browser
4Exec=minimo http://www.mozilla.org/projects/minimo/home.html
5Terminal=0
6Type=Application
7Icon=minimo.png
8Categories=Application;Network;
9StartupNotify=True
diff --git a/meta-extras/packages/mozilla/files/minimo.png b/meta-extras/packages/mozilla/files/minimo.png
deleted file mode 100644
index f8b2e2192b..0000000000
--- a/meta-extras/packages/mozilla/files/minimo.png
+++ /dev/null
Binary files differ
diff --git a/meta-extras/packages/mozilla/minimo/bug-322806.diff b/meta-extras/packages/mozilla/minimo/bug-322806.diff
deleted file mode 100644
index e001e3fc67..0000000000
--- a/meta-extras/packages/mozilla/minimo/bug-322806.diff
+++ /dev/null
@@ -1,13 +0,0 @@
1See https://bugzilla.mozilla.org/show_bug.cgi?id=322806 and http://bugs.openembedded.org/show_bug.cgi?id=1600
2
3--- /tmp/xptcinvoke_arm.cpp 2006-12-10 20:02:57.000000000 +0100
4+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp 2006-12-10 20:03:54.592227000 +0100
5@@ -212,7 +212,7 @@
6 "add sp, sp, r4 \n\t" /* restore stack pointer */
7 "mov %0, r0 \n\t" /* the result... */
8 : "=r" (result)
9- : "r" (&my_params)
10+ : "r" (&my_params), "m" (my_params)
11 : "r0", "r1", "r2", "r3", "r4", "ip", "lr", "sp"
12 );
13
diff --git a/meta-extras/packages/mozilla/minimo/minimo b/meta-extras/packages/mozilla/minimo/minimo
deleted file mode 100644
index d130173adf..0000000000
--- a/meta-extras/packages/mozilla/minimo/minimo
+++ /dev/null
@@ -1,4 +0,0 @@
1#!/bin/sh
2export MOZILLA_FIVE_HOME=/usr/lib/mozilla-minimo
3export LD_LIBRARY_PATH=${MOZILLA_FIVE_HOME}
4exec ${MOZILLA_FIVE_HOME}/minimo "$@"
diff --git a/meta-extras/packages/mozilla/minimo/minimo.patch b/meta-extras/packages/mozilla/minimo/minimo.patch
deleted file mode 100644
index 8894ee7f45..0000000000
--- a/meta-extras/packages/mozilla/minimo/minimo.patch
+++ /dev/null
@@ -1,356 +0,0 @@
1Index: mozilla/content/html/content/src/nsFormSubmission.cpp
2===================================================================
3--- mozilla.orig/content/html/content/src/nsFormSubmission.cpp 2005-07-13 18:55:59.000000000 +0200
4+++ mozilla/content/html/content/src/nsFormSubmission.cpp 2007-05-10 12:11:20.000000000 +0200
5@@ -1315,11 +1315,6 @@
6 nsresult rv = NS_OK;
7
8 nsCAutoString charset(aCharset);
9- // canonical name is passed so that we just have to check against
10- // *our* canonical names listed in charsetaliases.properties
11- if (charset.EqualsLiteral("ISO-8859-1")) {
12- charset.AssignLiteral("windows-1252");
13- }
14
15 // use UTF-8 for UTF-16* and UTF-32* (per WHATWG and existing practice of
16 // MS IE/Opera).
17Index: mozilla/embedding/base/Makefile.in
18===================================================================
19--- mozilla.orig/embedding/base/Makefile.in 2006-02-14 06:28:31.000000000 +0100
20+++ mozilla/embedding/base/Makefile.in 2007-05-10 12:11:20.000000000 +0200
21@@ -43,6 +43,7 @@
22
23 MODULE = embed_base
24 LIBRARY_NAME = embed_base_s
25+EXPORT_LIBRARY = 1
26 XPIDL_MODULE = embed_base
27
28 include $(DEPTH)/config/autoconf.mk
29Index: mozilla/js/src/Makefile.in
30===================================================================
31--- mozilla.orig/js/src/Makefile.in 2006-07-28 00:56:20.000000000 +0200
32+++ mozilla/js/src/Makefile.in 2007-05-10 12:11:21.000000000 +0200
33@@ -46,6 +46,7 @@
34
35 MODULE = js
36 LIBRARY_NAME = mozjs
37+EXPORT_LIBRARY = 1
38 LIB_IS_C_ONLY = 1
39 GRE_MODULE = 1
40
41Index: mozilla/minimo/Makefile.in
42===================================================================
43--- mozilla.orig/minimo/Makefile.in 2006-07-24 21:40:53.000000000 +0200
44+++ mozilla/minimo/Makefile.in 2007-05-10 12:13:46.000000000 +0200
45@@ -41,6 +41,6 @@
46
47 include $(DEPTH)/config/autoconf.mk
48
49-DIRS = config components chrome locales customization base extensions
50+DIRS = config chrome locales customization base extensions
51
52 include $(topsrcdir)/config/rules.mk
53Index: mozilla/minimo/base/Makefile.in
54===================================================================
55--- mozilla.orig/minimo/base/Makefile.in 2006-08-09 17:42:26.000000000 +0200
56+++ mozilla/minimo/base/Makefile.in 2007-05-10 12:11:21.000000000 +0200
57@@ -96,7 +96,6 @@
58
59 # this should move into the toolkit!
60 LOCAL_INCLUDES = -I$(srcdir) -I$(topsrcdir)/xpfe/browser/src/
61-CPPSRCS += nsBrowserStatusFilter.cpp nsBrowserInstance.cpp
62
63 ifdef WINCE
64 RCINCLUDE = wince/SplashScreen.rc
65@@ -143,10 +142,6 @@
66 endif
67
68
69-FINAL_LINK_COMPS=$(topsrcdir)/minimo/base/$(FINAL_PLATFORM)/minimo-link-comps
70-FINAL_LINK_COMP_NAMES=$(topsrcdir)/minimo/base/$(FINAL_PLATFORM)/minimo-link-names
71-FINAL_LINK_LIBS=$(topsrcdir)/minimo/base/$(FINAL_PLATFORM)/minimo-link-libs
72-
73 include $(topsrcdir)/config/static-config.mk
74
75 EXTRA_DEPS += $(STATIC_EXTRA_DEPS)
76@@ -180,14 +175,11 @@
77 # (same as in mozilla/js/src/Makefile.in)
78 ifdef WINCE
79 LDFLAGS += -OPT:NOICF
80+else
81+# Hack to work around libxpcom_core.a / libunicharutil_s.a link order problem.
82+LDFLAGS += -u NS_StringGetData_P -u NS_StringGetMutableData_P
83 endif
84
85-export::
86- $(NSINSTALL) $(topsrcdir)/xpfe/browser/src/nsBrowserStatusFilter.cpp .
87- $(NSINSTALL) $(topsrcdir)/xpfe/browser/src/nsBrowserInstance.cpp .
88-
89-
90-GARBAGE += nsBrowserStatusFilter.cpp nsBrowserInstance.cpp
91
92 ifdef WINCE
93 package::
94Index: mozilla/minimo/base/Minimo.cpp
95===================================================================
96--- mozilla.orig/minimo/base/Minimo.cpp 2006-10-27 22:30:36.000000000 +0200
97+++ mozilla/minimo/base/Minimo.cpp 2007-05-10 12:13:21.000000000 +0200
98@@ -813,6 +813,8 @@
99 #ifdef MOZ_WIDGET_GTK2
100 gtk_set_locale();
101 gtk_init(&argc, &argv);
102+ gtk_widget_set_default_visual(gdk_rgb_get_visual());
103+ gtk_widget_set_default_colormap(gdk_rgb_get_cmap());
104 #endif
105
106 #ifdef HACKY_PRE_LOAD_LIBRARY
107Index: mozilla/minimo/base/SplashScreen.cpp
108===================================================================
109--- mozilla.orig/minimo/base/SplashScreen.cpp 2006-08-21 21:00:24.000000000 +0200
110+++ mozilla/minimo/base/SplashScreen.cpp 2007-05-10 12:11:22.000000000 +0200
111@@ -202,9 +202,24 @@
112 void KillSplashScreen() {}
113 void GetScreenSize(unsigned long* x, unsigned long* y)
114 {
115+#ifdef MOZ_WIDGET_GTK2
116+ GdkDisplay* display = gdk_display_get_default();
117+ if (display != NULL)
118+ {
119+ GdkScreen *screen;
120+ screen = gdk_display_get_default_screen(display);
121+ *x = gdk_screen_get_width(screen);
122+ *y = gdk_screen_get_height(screen);
123+ }
124+ else
125+ {
126+#endif
127 // we need to figure this out.
128 *x = 240;
129 *y = 320;
130+#ifdef MOZ_WIDGET_GTK2
131+ }
132+#endif
133 }
134
135
136Index: mozilla/minimo/config/linux_package.sh
137===================================================================
138--- mozilla.orig/minimo/config/linux_package.sh 2006-06-30 18:35:19.000000000 +0200
139+++ mozilla/minimo/config/linux_package.sh 2007-05-10 12:11:22.000000000 +0200
140@@ -29,9 +29,7 @@
141 cp -pRL bin/libnssckbi.so minimo
142 cp -pRL bin/libsmime3.so minimo
143 cp -pRL bin/libsoftokn3.so minimo
144-cp -pRL bin/libsoftokn3.chk minimo
145 cp -pRL bin/libfreebl3.so minimo
146-cp -pRL bin/libfreebl3.chk minimo
147 cp -pRL bin/libssl3.so minimo
148
149 mkdir -p minimo/chrome
150@@ -62,8 +60,6 @@
151 cp -pRL bin/components/nsHelperAppDlg.js minimo/components
152 cp -pRL bin/components/nsProgressDialog.js minimo/components
153
154-cp -pRL bin/extensions/spatial-navigation@extensions.mozilla.org/components/* minimo/components
155-
156 mkdir -p minimo/greprefs
157 cp -pRL bin/greprefs/* minimo/greprefs
158
159@@ -80,7 +76,7 @@
160
161 echo Linking XPT files.
162
163-bin/xpt_link minimo/components/all.xpt bin/components/*.xpt
164+host/bin/host_xpt_link minimo/components/all.xpt bin/components/*.xpt
165
166 echo Chewing on chrome
167
168Index: mozilla/profile/dirserviceprovider/src/Makefile.in
169===================================================================
170--- mozilla.orig/profile/dirserviceprovider/src/Makefile.in 2005-04-06 05:35:21.000000000 +0200
171+++ mozilla/profile/dirserviceprovider/src/Makefile.in 2007-05-10 12:11:23.000000000 +0200
172@@ -44,6 +44,7 @@
173
174 MODULE = profdirserviceprovider
175 LIBRARY_NAME = profdirserviceprovider_s
176+EXPORT_LIBRARY = 1
177 MOZILLA_INTERNAL_API = 1
178
179 REQUIRES = xpcom \
180Index: mozilla/security/coreconf/Linux.mk
181===================================================================
182--- mozilla.orig/security/coreconf/Linux.mk 2006-02-03 23:26:36.000000000 +0100
183+++ mozilla/security/coreconf/Linux.mk 2007-05-10 12:11:23.000000000 +0200
184@@ -117,6 +117,10 @@
185 OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
186 CPU_ARCH = mips
187 else
188+ifeq ($(OS_TEST),arm)
189+ OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
190+ CPU_ARCH = arm
191+else
192 OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
193 CPU_ARCH = x86
194 endif
195@@ -133,6 +137,7 @@
196 endif
197 endif
198 endif
199+endif
200
201
202 LIBC_TAG = _glibc
203Index: mozilla/security/coreconf/arch.mk
204===================================================================
205--- mozilla.orig/security/coreconf/arch.mk 2006-02-03 23:26:36.000000000 +0100
206+++ mozilla/security/coreconf/arch.mk 2007-05-10 12:11:24.000000000 +0200
207@@ -60,18 +60,14 @@
208 64BIT_TAG=
209 endif
210
211-OS_ARCH := $(subst /,_,$(shell uname -s))
212+OS_ARCH := Linux
213
214 #
215 # Attempt to differentiate between sparc and x86 Solaris
216 #
217
218-OS_TEST := $(shell uname -m)
219-ifeq ($(OS_TEST),i86pc)
220- OS_RELEASE := $(shell uname -r)_$(OS_TEST)
221-else
222- OS_RELEASE := $(shell uname -r)
223-endif
224+OS_TEST := arm
225+OS_RELEASE := 2.6
226
227 #
228 # Force the IRIX64 machines to use IRIX.
229Index: mozilla/toolkit/components/build/Makefile.in
230===================================================================
231--- mozilla.orig/toolkit/components/build/Makefile.in 2006-07-13 22:08:29.000000000 +0200
232+++ mozilla/toolkit/components/build/Makefile.in 2007-05-10 12:11:27.000000000 +0200
233@@ -112,7 +112,6 @@
234 $(NULL)
235
236 SHARED_LIBRARY_LIBS = \
237- ../startup/src/$(LIB_PREFIX)appstartup_s.$(LIB_SUFFIX) \
238 $(NULL)
239
240 ifdef MOZ_XPINSTALL
241Index: mozilla/toolkit/components/startup/src/Makefile.in
242===================================================================
243--- mozilla.orig/toolkit/components/startup/src/Makefile.in 2005-07-27 22:42:44.000000000 +0200
244+++ mozilla/toolkit/components/startup/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200
245@@ -43,6 +43,7 @@
246
247 MODULE = toolkitcomps
248 LIBRARY_NAME = appstartup_s
249+EXPORT_LIBRARY = 1
250 FORCE_STATIC_LIB = 1
251 LIBXUL_LIBRARY = 1
252
253Index: mozilla/toolkit/xre/Makefile.in
254===================================================================
255--- mozilla.orig/toolkit/xre/Makefile.in 2007-02-06 08:13:20.000000000 +0100
256+++ mozilla/toolkit/xre/Makefile.in 2007-05-10 12:11:27.000000000 +0200
257@@ -45,7 +45,6 @@
258
259 MODULE = xulapp
260 LIBRARY_NAME = xulapp_s
261-EXPORT_LIBRARY = 1
262 LIBXUL_LIBRARY = 1
263
264 REQUIRES = \
265@@ -180,14 +179,6 @@
266
267 include $(topsrcdir)/config/rules.mk
268
269-ifdef BUILD_STATIC_LIBS
270-export::
271- @$(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/build-list.pl $(FINAL_LINK_COMP_NAMES) Apprunner
272-# embedding/browser/gtk/src/Makefile.in sucks! we need to add an empty line to
273-# FINAL_LINK_COMPS to keep the two lists in sync :-(
274- @$(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/build-list.pl $(FINAL_LINK_COMPS) ""
275-endif
276-
277 LOCAL_INCLUDES += \
278 -I$(srcdir) \
279 -I$(topsrcdir)/xpfe/bootstrap \
280Index: mozilla/xpcom/build/Makefile.in
281===================================================================
282--- mozilla.orig/xpcom/build/Makefile.in 2006-01-29 17:51:02.000000000 +0100
283+++ mozilla/xpcom/build/Makefile.in 2007-05-10 12:11:27.000000000 +0200
284@@ -61,7 +61,7 @@
285 endif
286
287 # Do not set EXPORT_LIBRARY as we do not want xpcom in the static libs list
288-#EXPORT_LIBRARY = 1
289+EXPORT_LIBRARY = 1
290 GRE_MODULE = 1
291 MOZILLA_INTERNAL_API = 1
292
293Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp
294===================================================================
295--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2004-04-18 16:18:18.000000000 +0200
296+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2007-05-10 12:11:27.000000000 +0200
297@@ -45,9 +45,9 @@
298 #endif
299
300 /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */
301-static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch");
302+nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch");
303
304-static nsresult
305+nsresult
306 PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args)
307 {
308 #define PARAM_BUFFER_COUNT 16
309Index: mozilla/xpfe/browser/src/Makefile.in
310===================================================================
311--- mozilla.orig/xpfe/browser/src/Makefile.in 2005-03-18 22:23:45.000000000 +0100
312+++ mozilla/xpfe/browser/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200
313@@ -44,6 +44,7 @@
314
315 MODULE = browser
316 LIBRARY_NAME = mozbrwsr_s
317+EXPORT_LIBRARY = 1
318 FORCE_STATIC_LIB = 1
319 LIBXUL_LIBRARY = 1
320 MODULE_NAME = nsBrowserModule
321Index: mozilla/xpfe/components/build/Makefile.in
322===================================================================
323--- mozilla.orig/xpfe/components/build/Makefile.in 2005-09-27 02:15:25.000000000 +0200
324+++ mozilla/xpfe/components/build/Makefile.in 2007-05-10 12:11:27.000000000 +0200
325@@ -44,7 +44,6 @@
326
327 MODULE = appcomps
328 LIBRARY_NAME = appcomps
329-EXPORT_LIBRARY = 1
330 IS_COMPONENT = 1
331 MODULE_NAME = application
332 LIBXUL_LIBRARY = 1
333Index: mozilla/xpfe/components/filepicker/src/Makefile.in
334===================================================================
335--- mozilla.orig/xpfe/components/filepicker/src/Makefile.in 2006-05-22 18:29:32.000000000 +0200
336+++ mozilla/xpfe/components/filepicker/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200
337@@ -47,7 +47,6 @@
338 MODULE = filepicker
339 LIBRARY_NAME = fileview
340 SHORT_LIBNAME = fileview
341-EXPORT_LIBRARY = 1
342 IS_COMPONENT = 1
343 MODULE_NAME = nsFileViewModule
344 MOZILLA_INTERNAL_API = 1
345Index: mozilla/xpfe/components/find/src/Makefile.in
346===================================================================
347--- mozilla.orig/xpfe/components/find/src/Makefile.in 2005-03-18 22:23:46.000000000 +0100
348+++ mozilla/xpfe/components/find/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200
349@@ -45,7 +45,6 @@
350 MODULE = appcomps
351 XPIDL_MODULE = mozfind
352 LIBRARY_NAME = mozfind
353-EXPORT_LIBRARY = 1
354 IS_COMPONENT = 1
355 MODULE_NAME = nsFindComponent
356 LIBXUL_LIBRARY = 1
diff --git a/meta-extras/packages/mozilla/minimo/minimo.png b/meta-extras/packages/mozilla/minimo/minimo.png
deleted file mode 100644
index f8b2e2192b..0000000000
--- a/meta-extras/packages/mozilla/minimo/minimo.png
+++ /dev/null
Binary files differ
diff --git a/meta-extras/packages/mozilla/minimo/mozconfig b/meta-extras/packages/mozilla/minimo/mozconfig
deleted file mode 100644
index 393981e9fa..0000000000
--- a/meta-extras/packages/mozilla/minimo/mozconfig
+++ /dev/null
@@ -1,36 +0,0 @@
1# mozilla/configure: Features and packages:
2
3ac_add_options --enable-application=minimo
4ac_add_options --enable-default-toolkit=gtk2
5ac_add_options --disable-freetype2
6ac_add_options --enable-xft
7ac_add_options --disable-postscript
8ac_add_options --disable-xprint
9ac_add_options --disable-gnomevfs
10ac_add_options --disable-gnomeui
11ac_add_options --disable-jsd
12ac_add_options --disable-plugins
13ac_add_options --disable-view-source
14ac_add_options --disable-accessibility
15ac_add_options --disable-xpinstall
16ac_add_options --enable-single-profile
17ac_add_options --disable-jsloader
18ac_add_options --disable-printing
19ac_add_options --enable-native-uconv
20ac_add_options --enable-plaintext-editor-only
21ac_add_options --disable-xpcom-obsolete
22ac_add_options --disable-pref-extensions
23ac_add_options --disable-extensions
24ac_add_options --enable-image-decoders=png,gif,jpeg
25ac_add_options --disable-mathml
26ac_add_options --disable-installer
27ac_add_options --disable-updater
28ac_add_options --disable-tests
29ac_add_options --enable-optimize=-Os
30ac_add_options --disable-logging
31ac_add_options --enable-strip
32ac_add_options --enable-elf-dynstr-gc
33ac_add_options --disable-shared
34ac_add_options --enable-static
35ac_add_options --disable-profilesharing
36ac_add_options --disable-profilelocking
diff --git a/meta-extras/packages/mozilla/minimo_cvs.bb b/meta-extras/packages/mozilla/minimo_cvs.bb
deleted file mode 100644
index 5eec96d143..0000000000
--- a/meta-extras/packages/mozilla/minimo_cvs.bb
+++ /dev/null
@@ -1,153 +0,0 @@
1DESCRIPTION = "A minimal version of the Mozilla web browser for mobile devices"
2SECTION = "x11/network"
3LICENSE = "MPL/GPL/LGPL"
4HOMEPAGE = "http://www.mozilla.org/projects/minimo/"
5PRIORITY = "optional"
6
7DEPENDS = "libxrender xt xft fontconfig freetype libidl dbus-glib pango atk gtk+ libidl-native"
8
9CVSSVR = "cvs-mirror.mozilla.org"
10BRTAG = "MOZILLA_1_8_BRANCH"
11MOZDATE = "20070510"
12
13PV = "0.02+cvs${MOZDATE}"
14PR = "r3"
15
16SRC_URI = "cvs://anonymous@${CVSSVR}/cvsroot;module=mozilla;tag=${BRTAG};date=${MOZDATE} \
17 file://minimo.patch;patch=1 \
18 file://bug-322806.diff;patch=1 \
19 file://mozconfig \
20 file://minimo \
21 file://eabi-fix.patch;patch=1 \
22 file://eabi-fix2.patch;patch=1 \
23 file://eabi-fix3.patch;patch=1 \
24 file://minimo.desktop \
25 file://minimo.png"
26
27inherit autotools
28
29S = "${WORKDIR}/mozilla"
30
31export MOZCONFIG = "${WORKDIR}/mozconfig"
32
33export CROSS_COMPILE="1"
34export ac_cv_prog_HOST_CC="${BUILD_CC}"
35export ac_cv_prog_HOST_CFLAGS="${BUILD_CFLAGS}"
36export ac_cv_prog_HOST_CXX="${BUILD_CXX}"
37export ac_cv_prog_HOST_CXXFLAGS="${BUILD_CXXFLAGS}"
38export HOST_LIBIDL_CONFIG = "${STAGING_BINDIR_NATIVE}/libIDL-config-2"
39
40mozdir="${libdir}/mozilla-minimo"
41
42EXTRA_OECONF += "--build=${BUILD_SYS} --host=${BUILD_SYS} --target=${TARGET_SYS} "
43
44do_configure() {
45 cd ${S}
46 oe_runmake -f client.mk CONFIGURE_ARGS="${EXTRA_OECONF}" configure
47 sed -i s:${TARGET_PREFIX}strip:echo:g config/autoconf.mk
48}
49
50do_compile() {
51 cd ${S}
52 oe_runmake -f client.mk build
53}
54
55do_install() {
56 cd ${WORKDIR}
57
58 install -d ${D}${bindir}
59 install -m 0755 minimo ${D}${bindir}
60
61 install -d ${D}${datadir}/applications
62 install -m 0644 minimo.desktop ${D}${datadir}/applications
63
64 install -d ${D}/${datadir}/pixmaps
65 install -m 0644 minimo.png ${D}${datadir}/pixmaps
66
67 cd ${S}
68
69 ./minimo/config/linux_package.sh ${S} ${S}/minimo/config
70
71 cd dist/minimo
72
73 install -d ${D}${mozdir}
74 install -m 0755 minimo ${D}${mozdir}
75 install -m 0755 libfreebl3.so ${D}${mozdir}
76 install -m 0755 libnspr4.so ${D}${mozdir}
77 install -m 0755 libnss3.so ${D}${mozdir}
78 install -m 0755 libnssckbi.so ${D}${mozdir}
79 install -m 0755 libplc4.so ${D}${mozdir}
80 install -m 0755 libplds4.so ${D}${mozdir}
81 install -m 0755 libsmime3.so ${D}${mozdir}
82 install -m 0755 libsoftokn3.so ${D}${mozdir}
83 install -m 0755 libssl3.so ${D}${mozdir}
84
85 install -d ${D}${mozdir}/chrome
86 install -m 0644 chrome/classic.jar ${D}${mozdir}/chrome
87 install -m 0644 chrome/classic.manifest ${D}${mozdir}/chrome
88 install -m 0644 chrome/en-US.jar ${D}${mozdir}/chrome
89 install -m 0644 chrome/en-US.manifest ${D}${mozdir}/chrome
90 install -m 0644 chrome/minimo-skin-vga.jar ${D}${mozdir}/chrome
91 install -m 0644 chrome/minimo-skin-vga.manifest ${D}${mozdir}/chrome
92 install -m 0644 chrome/minimo-skin.jar ${D}${mozdir}/chrome
93 install -m 0644 chrome/minimo-skin.manifest ${D}${mozdir}/chrome
94 install -m 0644 chrome/minimo.jar ${D}${mozdir}/chrome
95 install -m 0644 chrome/minimo.manifest ${D}${mozdir}/chrome
96 install -m 0644 chrome/pippki.jar ${D}${mozdir}/chrome
97 install -m 0644 chrome/pippki.manifest ${D}${mozdir}/chrome
98 install -m 0644 chrome/toolkit.jar ${D}${mozdir}/chrome
99 install -m 0644 chrome/toolkit.manifest ${D}${mozdir}/chrome
100
101 install -d ${D}${mozdir}/components
102 install -m 0644 components/all.xpt ${D}${mozdir}/components
103 install -m 0644 components/nsHelperAppDlg.js ${D}${mozdir}/components
104 install -m 0644 components/nsProgressDialog.js ${D}${mozdir}/components
105
106 install -d ${D}${mozdir}/greprefs
107 install -m 0644 greprefs/all.js ${D}${mozdir}/greprefs
108 install -m 0644 greprefs/security-prefs.js ${D}${mozdir}/greprefs
109
110 install -d ${D}${mozdir}/res
111 install -m 0644 res/forms.css ${D}${mozdir}/res
112 install -m 0644 res/html.css ${D}${mozdir}/res
113 install -m 0644 res/quirk.css ${D}${mozdir}/res
114 install -m 0644 res/ua.css ${D}${mozdir}/res
115 install -m 0644 res/arrow.gif ${D}${mozdir}/res
116 install -m 0644 res/arrowd.gif ${D}${mozdir}/res
117 install -m 0644 res/broken-image.gif ${D}${mozdir}/res
118 install -m 0644 res/loading-image.gif ${D}${mozdir}/res
119 install -m 0644 res/charsetData.properties ${D}${mozdir}/res
120 install -m 0644 res/charsetalias.properties ${D}${mozdir}/res
121 install -m 0644 res/langGroups.properties ${D}${mozdir}/res
122 install -m 0644 res/language.properties ${D}${mozdir}/res
123 install -m 0644 res/unixcharset.properties ${D}${mozdir}/res
124
125 install -d ${D}${mozdir}/res/dtd
126 install -m 0644 res/dtd/xhtml11.dtd ${D}${mozdir}/res/dtd
127
128 install -d ${D}${mozdir}/res/entityTables
129 install -m 0644 res/entityTables/html40Latin1.properties ${D}${mozdir}/res/entityTables
130 install -m 0644 res/entityTables/html40Special.properties ${D}${mozdir}/res/entityTables
131 install -m 0644 res/entityTables/html40Symbols.properties ${D}${mozdir}/res/entityTables
132 install -m 0644 res/entityTables/htmlEntityVersions.properties ${D}${mozdir}/res/entityTables
133 install -m 0644 res/entityTables/transliterate.properties ${D}${mozdir}/res/entityTables
134
135 install -d ${D}${mozdir}/res/fonts
136 install -m 0644 res/fonts/fontEncoding.properties ${D}${mozdir}/res/fonts
137 install -m 0644 res/fonts/pangoFontEncoding.properties ${D}${mozdir}/res/fonts
138
139 install -d ${D}${mozdir}/res/html
140 install -m 0644 res/html/gopher-audio.gif ${D}${mozdir}/res/html
141 install -m 0644 res/html/gopher-binary.gif ${D}${mozdir}/res/html
142 install -m 0644 res/html/gopher-find.gif ${D}${mozdir}/res/html
143 install -m 0644 res/html/gopher-image.gif ${D}${mozdir}/res/html
144 install -m 0644 res/html/gopher-menu.gif ${D}${mozdir}/res/html
145 install -m 0644 res/html/gopher-movie.gif ${D}${mozdir}/res/html
146 install -m 0644 res/html/gopher-sound.gif ${D}${mozdir}/res/html
147 install -m 0644 res/html/gopher-telnet.gif ${D}${mozdir}/res/html
148 install -m 0644 res/html/gopher-text.gif ${D}${mozdir}/res/html
149 install -m 0644 res/html/gopher-unknown.gif ${D}${mozdir}/res/html
150}
151
152FILES_${PN}-dbg += "${libdir}/mozilla-minimo/.debug*"
153FILES_${PN} += "${mozdir}"
diff --git a/meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg b/meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg
deleted file mode 100644
index 8858b3e7c2..0000000000
--- a/meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg
+++ /dev/null
@@ -1,4 +0,0 @@
1#!/bin/sh
2# Wait for the desktop to say its finished loading
3dbus-wait org.matchbox_project.desktop Loaded
4exec /usr/bin/nm-applet
diff --git a/meta-extras/packages/networkmanager/files/99_networkmanager b/meta-extras/packages/networkmanager/files/99_networkmanager
deleted file mode 100644
index 20cbcc1bca..0000000000
--- a/meta-extras/packages/networkmanager/files/99_networkmanager
+++ /dev/null
@@ -1 +0,0 @@
1d root root 0700 /var/run/NetworkManager none
diff --git a/meta-extras/packages/networkmanager/files/NetworkManager b/meta-extras/packages/networkmanager/files/NetworkManager
deleted file mode 100644
index 4522e0107b..0000000000
--- a/meta-extras/packages/networkmanager/files/NetworkManager
+++ /dev/null
@@ -1,43 +0,0 @@
1#!/bin/sh
2#
3### BEGIN INIT INFO
4# Provides: NetworkManager
5# Required-Start: $remote_fs dbus hal
6# Required-Stop: $remote_fs dbus hal
7# Should-Start: $syslog
8# Should-Stop: $syslog
9# Default-Start: 2 3 4 5
10# Default-Stop: 0 1 6
11# Short-Description: network connection manager
12# Description: Daemon for automatically switching network
13# connections to the best available connection.
14### END INIT INFO
15
16. /etc/profile
17
18case $1 in
19 'start')
20 echo -n "Starting NetworkManager daemon: NetworkManager"
21 /usr/sbin/NetworkManager
22 /usr/sbin/NetworkManagerDispatcher
23 /usr/sbin/wpa_supplicant -u &
24 echo "."
25 ;;
26
27 'stop')
28 echo -n "Stopping NetworkManager daemon: NetworkManager"
29 kill `ps |grep /usr/sbin/NetworkManagerDispatcher | grep -v grep | cut "-d " -f2`
30 kill `ps |grep /usr/sbin/NetworkManager | grep -v grep | cut "-d " -f2`
31 kill `ps |grep /usr/sbin/wpa_supplicant | grep -v grep | cut "-d " -f2`
32 echo "."
33 ;;
34
35 'restart')
36 $0 stop
37 $0 start
38 ;;
39
40 *)
41 echo "Usage: $0 { start | stop | restart }"
42 ;;
43esac
diff --git a/meta-extras/packages/networkmanager/files/allow-disabling.patch b/meta-extras/packages/networkmanager/files/allow-disabling.patch
deleted file mode 100644
index 10730e9fe5..0000000000
--- a/meta-extras/packages/networkmanager/files/allow-disabling.patch
+++ /dev/null
@@ -1,45 +0,0 @@
1Allow interfaces to be ignored by networkmanager by creation of a
2/etc/network/nm-disabled-INTERFACENAME file.
3
4RP - 16/7/2008
5
6Index: trunk/src/backends/NetworkManagerDebian.c
7===================================================================
8--- trunk.orig/src/backends/NetworkManagerDebian.c 2008-07-15 19:23:11.000000000 +0100
9+++ trunk/src/backends/NetworkManagerDebian.c 2008-07-15 19:37:05.000000000 +0100
10@@ -29,6 +29,7 @@
11
12 #include <stdio.h>
13 #include <sys/types.h>
14+#include <sys/stat.h>
15 #include <signal.h>
16 #include <arpa/inet.h>
17 #include "NetworkManagerGeneric.h"
18@@ -374,12 +375,25 @@
19 /*
20 * nm_system_device_get_disabled
21 *
22- * Return whether the distro-specific system config tells us to use
23- * dhcp for this device.
24+ * Return whether the distro-specific system config tells us to interact
25+ * with this device.
26 *
27 */
28 gboolean nm_system_device_get_disabled (NMDevice *dev)
29 {
30+ struct stat statbuf;
31+ gchar *filepath;
32+
33+ g_return_val_if_fail (dev != NULL, FALSE);
34+
35+ filepath = g_strdup_printf (SYSCONFDIR"/network/nm-disabled-%s", nm_device_get_iface (dev));
36+
37+ if (stat(filepath, &statbuf) == 0) {
38+ g_free(filepath);
39+ return TRUE;
40+ }
41+
42+ g_free(filepath);
43 return FALSE;
44 }
45
diff --git a/meta-extras/packages/networkmanager/files/applet-no-animation.patch b/meta-extras/packages/networkmanager/files/applet-no-animation.patch
deleted file mode 100644
index d437fd0fc9..0000000000
--- a/meta-extras/packages/networkmanager/files/applet-no-animation.patch
+++ /dev/null
@@ -1,234 +0,0 @@
1Index: trunk/src/applet.c
2===================================================================
3--- trunk.orig/src/applet.c 2008-02-06 20:30:04.000000000 +0000
4+++ trunk/src/applet.c 2008-02-06 20:46:59.000000000 +0000
5@@ -111,8 +111,6 @@
6
7 static void nma_init (NMApplet *applet)
8 {
9- applet->animation_id = 0;
10- applet->animation_step = 0;
11 applet->passphrase_dialog = NULL;
12 applet->icon_theme = NULL;
13 #ifdef ENABLE_NOTIFY
14@@ -1006,20 +1004,6 @@
15 }
16 }
17
18-static gboolean
19-vpn_animation_timeout (gpointer data)
20-{
21- NMApplet *applet = NM_APPLET (data);
22-
23- foo_set_icon (applet, applet->vpn_connecting_icons[applet->animation_step], ICON_LAYER_VPN);
24-
25- applet->animation_step++;
26- if (applet->animation_step >= NUM_VPN_CONNECTING_FRAMES)
27- applet->animation_step = 0;
28-
29- return TRUE;
30-}
31-
32 static void
33 vpn_connection_state_changed (NMVPNConnection *connection,
34 NMVPNConnectionState state,
35@@ -1030,10 +1014,6 @@
36
37 switch (state) {
38 case NM_VPN_CONNECTION_STATE_ACTIVATED:
39- if (applet->animation_id) {
40- g_source_remove (applet->animation_id);
41- applet->animation_id = 0;
42- }
43 foo_set_icon (applet, applet->vpn_lock_icon, ICON_LAYER_VPN);
44 // vpn_connection_info_set_last_attempt_success (info, TRUE);
45 break;
46@@ -1041,10 +1021,7 @@
47 case NM_VPN_CONNECTION_STATE_NEED_AUTH:
48 case NM_VPN_CONNECTION_STATE_CONNECT:
49 case NM_VPN_CONNECTION_STATE_IP_CONFIG_GET:
50- if (applet->animation_id == 0) {
51- applet->animation_step = 0;
52- applet->animation_id = g_timeout_add (100, vpn_animation_timeout, applet);
53- }
54+ foo_set_icon (applet, applet->network_connecting_icon, ICON_LAYER_VPN);
55 break;
56 case NM_VPN_CONNECTION_STATE_FAILED:
57 // vpn_connection_info_set_last_attempt_success (info, FALSE);
58@@ -1053,10 +1030,6 @@
59 g_hash_table_remove (applet->vpn_connections, nm_vpn_connection_get_name (connection));
60 /* Fall through */
61 default:
62- if (applet->animation_id) {
63- g_source_remove (applet->animation_id);
64- applet->animation_id = 0;
65- }
66 foo_set_icon (applet, NULL, ICON_LAYER_VPN);
67 break;
68 }
69@@ -2295,45 +2268,6 @@
70 } FooAnimationTimeoutInfo;
71
72 static void
73-foo_animation_timeout_info_destroy (gpointer data)
74-{
75- g_slice_free (FooAnimationTimeoutInfo, data);
76-}
77-
78-static gboolean
79-foo_animation_timeout (gpointer data)
80-{
81- FooAnimationTimeoutInfo *info = (FooAnimationTimeoutInfo *) data;
82- NMApplet *applet = info->applet;
83- int stage = -1;
84-
85- switch (info->state) {
86- case NM_DEVICE_STATE_PREPARE:
87- stage = 0;
88- break;
89- case NM_DEVICE_STATE_CONFIG:
90- stage = 1;
91- break;
92- case NM_DEVICE_STATE_IP_CONFIG:
93- stage = 2;
94- break;
95- default:
96- break;
97- }
98-
99- if (stage >= 0)
100- foo_set_icon (applet,
101- applet->network_connecting_icons[stage][applet->animation_step],
102- ICON_LAYER_LINK);
103-
104- applet->animation_step++;
105- if (applet->animation_step >= NUM_CONNECTING_FRAMES)
106- applet->animation_step = 0;
107-
108- return TRUE;
109-}
110-
111-static void
112 foo_common_state_change (NMDevice *device, NMDeviceState state, NMApplet *applet)
113 {
114 FooAnimationTimeoutInfo *info;
115@@ -2345,11 +2279,7 @@
116 info = g_slice_new (FooAnimationTimeoutInfo);
117 info->applet = applet;
118 info->state = state;
119- applet->animation_step = 0;
120- applet->animation_id = g_timeout_add_full (G_PRIORITY_DEFAULT_IDLE,
121- 100, foo_animation_timeout,
122- info,
123- foo_animation_timeout_info_destroy);
124+ foo_set_icon (applet, applet->network_connecting_icon, ICON_LAYER_LINK);
125 break;
126 case NM_DEVICE_STATE_ACTIVATED:
127 break;
128@@ -2602,12 +2532,6 @@
129 NMApplet *applet = NM_APPLET (user_data);
130 gboolean handled = FALSE;
131
132- applet->animation_step = 0;
133- if (applet->animation_id) {
134- g_source_remove (applet->animation_id);
135- applet->animation_id = 0;
136- }
137-
138 clear_active_connections (applet);
139 applet->active_connections = nm_client_get_active_connections (applet->nm_client);
140
141@@ -3166,17 +3090,8 @@
142 if (applet->wireless_100_icon)
143 g_object_unref (applet->wireless_100_icon);
144
145- for (i = 0; i < NUM_CONNECTING_STAGES; i++) {
146- int j;
147-
148- for (j = 0; j < NUM_CONNECTING_FRAMES; j++)
149- if (applet->network_connecting_icons[i][j])
150- g_object_unref (applet->network_connecting_icons[i][j]);
151- }
152-
153- for (i = 0; i < NUM_VPN_CONNECTING_FRAMES; i++)
154- if (applet->vpn_connecting_icons[i])
155- g_object_unref (applet->vpn_connecting_icons[i]);
156+ if (applet->network_connecting_icon)
157+ g_object_unref (applet->network_connecting_icon);
158
159 nma_icons_zero (applet);
160 }
161@@ -3196,16 +3111,7 @@
162 applet->wireless_75_icon = NULL;
163 applet->wireless_100_icon = NULL;
164
165- for (i = 0; i < NUM_CONNECTING_STAGES; i++)
166- {
167- int j;
168-
169- for (j = 0; j < NUM_CONNECTING_FRAMES; j++)
170- applet->network_connecting_icons[i][j] = NULL;
171- }
172-
173- for (i = 0; i < NUM_VPN_CONNECTING_FRAMES; i++)
174- applet->vpn_connecting_icons[i] = NULL;
175+ applet->network_connecting_icon = NULL;
176
177 applet->icons_loaded = FALSE;
178 }
179@@ -3257,28 +3163,7 @@
180 ICON_LOAD(applet->wireless_75_icon, "nm-signal-75");
181 ICON_LOAD(applet->wireless_100_icon, "nm-signal-100");
182
183- for (i = 0; i < NUM_CONNECTING_STAGES; i++)
184- {
185- int j;
186-
187- for (j = 0; j < NUM_CONNECTING_FRAMES; j++)
188- {
189- char *name;
190-
191- name = g_strdup_printf ("nm-stage%02d-connecting%02d", i+1, j+1);
192- ICON_LOAD(applet->network_connecting_icons[i][j], name);
193- g_free (name);
194- }
195- }
196-
197- for (i = 0; i < NUM_VPN_CONNECTING_FRAMES; i++)
198- {
199- char *name;
200-
201- name = g_strdup_printf ("nm-vpn-connecting%02d", i+1);
202- ICON_LOAD(applet->vpn_connecting_icons[i], name);
203- g_free (name);
204- }
205+ ICON_LOAD(applet->network_connecting_icon, "nm-connecting");
206
207 success = TRUE;
208
209Index: trunk/src/applet.h
210===================================================================
211--- trunk.orig/src/applet.h 2008-02-06 20:30:06.000000000 +0000
212+++ trunk/src/applet.h 2008-02-06 20:46:05.000000000 +0000
213@@ -111,20 +111,12 @@
214 GdkPixbuf * wireless_50_icon;
215 GdkPixbuf * wireless_75_icon;
216 GdkPixbuf * wireless_100_icon;
217-#define NUM_CONNECTING_STAGES 3
218-#define NUM_CONNECTING_FRAMES 11
219- GdkPixbuf * network_connecting_icons[NUM_CONNECTING_STAGES][NUM_CONNECTING_FRAMES];
220-#define NUM_VPN_CONNECTING_FRAMES 14
221- GdkPixbuf * vpn_connecting_icons[NUM_VPN_CONNECTING_FRAMES];
222+ GdkPixbuf * network_connecting_icon;
223 GdkPixbuf * vpn_lock_icon;
224
225 /* Active status icon pixbufs */
226 GdkPixbuf * icon_layers[ICON_LAYER_MAX + 1];
227
228- /* Animation stuff */
229- int animation_step;
230- guint animation_id;
231-
232 /* Direct UI elements */
233 #ifdef HAVE_STATUS_ICON
234 GtkStatusIcon * status_icon;
diff --git a/meta-extras/packages/networkmanager/files/applet-no-gnome.diff b/meta-extras/packages/networkmanager/files/applet-no-gnome.diff
deleted file mode 100644
index e098e8c9ed..0000000000
--- a/meta-extras/packages/networkmanager/files/applet-no-gnome.diff
+++ /dev/null
@@ -1,59 +0,0 @@
1---
2 configure.ac | 3 +--
3 src/main.c | 8 ++++++++
4 2 files changed, 9 insertions(+), 2 deletions(-)
5
6Index: src/main.c
7===================================================================
8--- src/main.c.orig 2007-09-26 10:39:16.000000000 +0100
9+++ src/main.c 2007-09-26 10:39:37.000000000 +0100
10@@ -27,7 +27,9 @@
11
12 #include <string.h>
13 #include <gtk/gtk.h>
14+#if 0
15 #include <libgnomeui/libgnomeui.h>
16+#endif
17 #include <glib/gi18n-lib.h>
18
19 #include "applet.h"
20@@ -36,11 +38,15 @@
21 int main (int argc, char *argv[])
22 {
23 NMApplet * applet;
24+#if 0
25 GnomeProgram * program;
26
27 program = gnome_program_init ("nm-applet", VERSION, LIBGNOMEUI_MODULE,
28 argc, argv,
29 GNOME_PARAM_NONE, GNOME_PARAM_NONE);
30+#else
31+ gtk_init (&argc, &argv);
32+#endif
33
34 bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
35 bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
36@@ -53,7 +59,9 @@ int main (int argc, char *argv[])
37 gtk_main ();
38
39 g_object_unref (applet);
40+#if 0
41 g_object_unref (program);
42+#endif
43
44 exit (0);
45 }
46Index: configure.ac
47===================================================================
48--- configure.ac.orig 2007-09-26 10:39:30.000000000 +0100
49+++ configure.ac 2007-09-26 10:39:37.000000000 +0100
50@@ -65,8 +65,7 @@ PKG_CHECK_MODULES(NMA,
51 gtk+-2.0 >= 2.6
52 libglade-2.0
53 gconf-2.0
54- gnome-keyring-1
55- libgnomeui-2.0])
56+ gnome-keyring-1])
57
58 ##### Find out the version of DBUS we're using
59 dbus_version=`pkg-config --modversion dbus-1`
diff --git a/meta-extras/packages/networkmanager/files/libnlfix.patch b/meta-extras/packages/networkmanager/files/libnlfix.patch
deleted file mode 100644
index 69f4922ea0..0000000000
--- a/meta-extras/packages/networkmanager/files/libnlfix.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1Index: trunk/src/nm-netlink.c
2===================================================================
3--- trunk.orig/src/nm-netlink.c 2007-09-25 22:37:50.000000000 +0100
4+++ trunk/src/nm-netlink.c 2009-05-16 12:44:26.000000000 +0100
5@@ -52,16 +52,20 @@
6 struct nl_handle *
7 nm_netlink_get_default_handle (void)
8 {
9+ struct nl_cb *cb;
10+
11 if (def_nl_handle)
12 return def_nl_handle;
13
14- def_nl_handle = nl_handle_alloc_nondefault (NL_CB_VERBOSE);
15- g_assert (def_nl_handle);
16+ cb = nl_cb_alloc(NL_CB_VERBOSE);
17+ def_nl_handle = nl_handle_alloc_cb (cb);
18+ if (!def_nl_handle) {
19+ nm_warning ("couldn't allocate netlink handle.");
20+ return NULL;
21+ }
22
23- nl_handle_set_pid (def_nl_handle, (pthread_self () << 16 | getpid ()));
24 if (nl_connect (def_nl_handle, NETLINK_ROUTE) < 0) {
25 nm_error ("couldn't connect to netlink: %s", nl_geterror ());
26- nl_handle_destroy (def_nl_handle);
27 return NULL;
28 }
29
diff --git a/meta-extras/packages/networkmanager/files/makefile-fix.patch b/meta-extras/packages/networkmanager/files/makefile-fix.patch
deleted file mode 100644
index 5fbbf3a74a..0000000000
--- a/meta-extras/packages/networkmanager/files/makefile-fix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
1This line causes libtool to try and create a program which fails since there is no
2main(). This is hidden with libtool 1.5.10 but appears with 2.2.2.
3
4RP - 14/4/08
5
6Index: trunk/src/ppp-manager/Makefile.am
7===================================================================
8--- trunk.orig/src/ppp-manager/Makefile.am 2008-04-14 23:00:54.000000000 +0100
9+++ trunk/src/ppp-manager/Makefile.am 2008-04-14 23:01:24.000000000 +0100
10@@ -25,7 +25,6 @@
11 $(top_builddir)/src/marshallers/libmarshallers.la
12
13 nm_pppd_plugindir = $(libdir)
14-nm_pppd_plugin_PROGRAMS = nm-pppd-plugin.so
15
16 nm_pppd_plugin_so_SOURCES = \
17 nm-pppd-plugin.c \
diff --git a/meta-extras/packages/networkmanager/files/nmutil-fix.patch b/meta-extras/packages/networkmanager/files/nmutil-fix.patch
deleted file mode 100644
index d8495bac40..0000000000
--- a/meta-extras/packages/networkmanager/files/nmutil-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1Index: trunk/configure.ac
2===================================================================
3--- trunk.orig/configure.ac 2009-01-08 10:49:26.000000000 -0600
4+++ trunk/configure.ac 2009-01-08 12:00:34.000000000 -0600
5@@ -62,6 +62,7 @@
6 glib-2.0 >= 2.10
7 NetworkManager >= 0.7.0
8 libnm_glib
9+ libnm-util
10 gtk+-2.0 >= 2.6
11 libglade-2.0
12 gconf-2.0
diff --git a/meta-extras/packages/networkmanager/files/no-restarts.diff b/meta-extras/packages/networkmanager/files/no-restarts.diff
deleted file mode 100644
index 20bdf82aab..0000000000
--- a/meta-extras/packages/networkmanager/files/no-restarts.diff
+++ /dev/null
@@ -1,21 +0,0 @@
1Index: src/backends/NetworkManagerDebian.c
2===================================================================
3--- src/backends/NetworkManagerDebian.c (revision 2881)
4+++ src/backends/NetworkManagerDebian.c (working copy)
5@@ -204,8 +204,6 @@
6 */
7 void nm_system_update_dns (void)
8 {
9- nm_spawn_process ("/usr/sbin/invoke-rc.d nscd restart");
10-
11 }
12
13
14@@ -218,7 +216,6 @@
15 */
16 void nm_system_restart_mdns_responder (void)
17 {
18- nm_spawn_process ("/usr/bin/killall -q -USR1 mDNSResponder");
19 }
20
21
diff --git a/meta-extras/packages/networkmanager/files/no_vpn.patch b/meta-extras/packages/networkmanager/files/no_vpn.patch
deleted file mode 100644
index 49423e879f..0000000000
--- a/meta-extras/packages/networkmanager/files/no_vpn.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1Index: trunk/src/applet.c
2===================================================================
3--- trunk.orig/src/applet.c 2008-02-29 17:47:39.000000000 +0000
4+++ trunk/src/applet.c 2008-02-29 17:48:38.000000000 +0000
5@@ -1783,7 +1783,7 @@
6 }
7
8 nma_menu_add_devices (menu, applet);
9- nma_menu_add_vpn_submenu (menu, applet);
10+ //nma_menu_add_vpn_submenu (menu, applet);
11
12 gtk_widget_show_all (applet->menu);
13
diff --git a/meta-extras/packages/networkmanager/networkmanager-applet_svn.bb b/meta-extras/packages/networkmanager/networkmanager-applet_svn.bb
deleted file mode 100644
index 1f0987011f..0000000000
--- a/meta-extras/packages/networkmanager/networkmanager-applet_svn.bb
+++ /dev/null
@@ -1,33 +0,0 @@
1DESCRIPTION = "GTK+ applet for NetworkManager"
2HOMEPAGE = "http://projects.gnome.org/NetworkManager/"
3BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=NetworkManager&content="
4LICENSE = "GPLv2+ & LGPLv2.1+"
5DEPENDS = "networkmanager dbus-glib libglade gconf gnome-keyring"
6#TODO DEPENDS libnotify
7RDEPENDS = "networkmanager dbus-wait"
8PR = "r7"
9
10inherit gnome gtk-icon-cache
11
12SRC_URI = "svn://svn.gnome.org/svn/network-manager-applet/;module=trunk;proto=http \
13 file://applet-no-gnome.diff;patch=1;pnum=0 \
14 file://applet-no-animation.patch;patch=1 \
15 file://no_vpn.patch;patch=1 \
16 file://nmutil-fix.patch;patch=1 \
17 file://70NetworkManagerApplet.shbg"
18
19PV = "0.0+svnr${SRCREV}"
20
21S = "${WORKDIR}/trunk"
22
23FILES_${PN} += "${datadir}/nm-applet/ \
24 ${datadir}/gnome-vpn-properties/ \
25 ${datadir}/gnome/autostart/"
26
27do_install_append () {
28 install -d ${D}${sysconfdir}/X11/Xsession.d/
29 install -m 755 ${WORKDIR}/70NetworkManagerApplet.shbg ${D}${sysconfdir}/X11/Xsession.d/
30}
31
32#TODO: remove if libnotify in DEPENDS
33EXTRA_OECONF += "--without-libnotify"
diff --git a/meta-extras/packages/networkmanager/networkmanager_svn.bb b/meta-extras/packages/networkmanager/networkmanager_svn.bb
deleted file mode 100644
index 40f04e497c..0000000000
--- a/meta-extras/packages/networkmanager/networkmanager_svn.bb
+++ /dev/null
@@ -1,51 +0,0 @@
1DESCRIPTION = "NetworkManager"
2HOMEPAGE = "http://projects.gnome.org/NetworkManager/"
3BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=NetworkManager&content="
4SECTION = "net/misc"
5LICENSE = "GPLv2+ & LGPLv2+"
6PRIORITY = "optional"
7DEPENDS = "libnl dbus dbus-glib hal gconf-dbus wireless-tools ppp gnome-common polkit"
8RDEPENDS = "hal wpa-supplicant iproute2 dhcp-client"
9
10PV = "0.7+svnr${SRCREV}"
11PR = "r10"
12
13SRC_URI="svn://svn.gnome.org/svn/NetworkManager/;module=trunk;proto=http \
14 file://no-restarts.diff;patch=1;pnum=0 \
15 file://libnlfix.patch;patch=1 \
16 file://makefile-fix.patch;patch=1 \
17 file://allow-disabling.patch;patch=1 \
18 file://NetworkManager \
19 file://99_networkmanager"
20
21EXTRA_OECONF = "--with-distro=debian \
22 --with-ip=/sbin/ip"
23# TODO: will /bin/ip from busybox do?
24
25S = "${WORKDIR}/trunk"
26
27inherit autotools pkgconfig update-rc.d
28
29INITSCRIPT_NAME = "NetworkManager"
30INITSCRIPT_PARAMS = "defaults 22"
31
32do_install_append () {
33 install -d ${D}/etc/default/volatiles
34 install -m 0644 ${WORKDIR}/99_networkmanager ${D}/etc/default/volatiles
35 # This overwrites the provided init script
36 install -m 0755 ${WORKDIR}/NetworkManager ${D}/etc/init.d/
37 rmdir ${D}/var/run/NetworkManager
38 rmdir ${D}/var/run
39}
40
41PACKAGES =+ "libnmutil libnmglib"
42
43FILES_libnmutil += "${libdir}/libnm-util.so.*"
44
45FILES_libnmglib += "${libdir}/libnm_glib.so.*"
46
47FILES_${PN}-dev = "${includedir}/* \
48 ${libdir}/*.so \
49 ${libdir}/*.a \
50 ${libdir}/pkgconfig/*.pc \
51 ${datadir}/NetworkManager/gdb-cmd"
diff --git a/meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch b/meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch
deleted file mode 100644
index 3367292e1f..0000000000
--- a/meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch
+++ /dev/null
@@ -1,98 +0,0 @@
1diff -ur notification-daemon-0.3.7.orig/configure.ac notification-daemon-0.3.7/configure.ac
2--- notification-daemon-0.3.7.orig/configure.ac 2007-02-28 05:16:16.000000000 +0000
3+++ notification-daemon-0.3.7/configure.ac 2008-01-18 11:29:28.000000000 +0000
4@@ -82,9 +82,7 @@
5 glib-2.0 >= $REQ_GLIB_VERSION, \
6 dbus-1 >= $REQ_DBUS_VERSION, \
7 dbus-glib-1 >= $REQ_DBUS_VERSION, \
8- libsexy >= $REQ_SEXY_VERSION, \
9- gconf-2.0, \
10- libwnck-1.0 \
11+ gconf-2.0 \
12 "
13 PKG_CHECK_MODULES(NOTIFICATION_DAEMON, $pkg_modules)
14 AC_SUBST(NOTIFICATION_DAEMON_CFLAGS)
15Only in notification-daemon-0.3.7/: configure.ac~
16Only in notification-daemon-0.3.7.orig/: debian
17diff -ur notification-daemon-0.3.7.orig/src/daemon/daemon.c notification-daemon-0.3.7/src/daemon/daemon.c
18--- notification-daemon-0.3.7.orig/src/daemon/daemon.c 2007-02-15 10:47:09.000000000 +0000
19+++ notification-daemon-0.3.7/src/daemon/daemon.c 2008-01-18 11:24:40.000000000 +0000
20@@ -39,9 +39,6 @@
21 #include <X11/Xatom.h>
22 #include <gdk/gdkx.h>
23
24-#define WNCK_I_KNOW_THIS_IS_UNSTABLE
25-#include <libwnck/libwnck.h>
26-
27 #include "daemon.h"
28 #include "engines.h"
29 #include "stack.h"
30@@ -771,37 +768,6 @@
31 static gboolean
32 fullscreen_window_exists(GtkWidget *nw)
33 {
34- WnckScreen *wnck_screen;
35- GList *l;
36-
37- wnck_screen = wnck_screen_get(GDK_SCREEN_XNUMBER(
38- gdk_drawable_get_screen(GDK_DRAWABLE(GTK_WIDGET(nw)->window))));
39- wnck_screen_force_update(wnck_screen);
40-
41- for (l = wnck_screen_get_windows_stacked(wnck_screen);
42- l != NULL;
43- l = l->next)
44- {
45- WnckWindow *wnck_win = (WnckWindow *)l->data;
46-
47- if (wnck_window_is_fullscreen(wnck_win))
48- {
49- /*
50- * Sanity check if the window is _really_ fullscreen to
51- * work around a bug in libwnck that doesn't get all
52- * unfullscreen events.
53- */
54- int sw = wnck_screen_get_width(wnck_screen);
55- int sh = wnck_screen_get_height(wnck_screen);
56- int x, y, w, h;
57-
58- wnck_window_get_geometry(wnck_win, &x, &y, &w, &h);
59-
60- if (sw == w && sh == h)
61- return TRUE;
62- }
63- }
64-
65 return FALSE;
66 }
67
68Only in notification-daemon-0.3.7/src/daemon: daemon.c~
69diff -ur notification-daemon-0.3.7.orig/src/themes/standard/theme.c notification-daemon-0.3.7/src/themes/standard/theme.c
70--- notification-daemon-0.3.7.orig/src/themes/standard/theme.c 2007-01-26 04:20:15.000000000 +0000
71+++ notification-daemon-0.3.7/src/themes/standard/theme.c 2008-01-18 11:34:58.000000000 +0000
72@@ -1,7 +1,6 @@
73 #include "config.h"
74
75 #include <gtk/gtk.h>
76-#include <libsexy/sexy-url-label.h>
77
78 typedef void (*ActionInvokedCb)(GtkWindow *nw, const char *key);
79 typedef void (*UrlClickedCb)(GtkWindow *nw, const char *url);
80@@ -799,7 +798,7 @@
81 gtk_widget_show(vbox);
82 gtk_box_pack_start(GTK_BOX(windata->content_hbox), vbox, TRUE, TRUE, 0);
83
84- windata->body_label = sexy_url_label_new();
85+ windata->body_label = gtk_label_new(NULL);
86 gtk_box_pack_start(GTK_BOX(vbox), windata->body_label, TRUE, TRUE, 0);
87 gtk_misc_set_alignment(GTK_MISC(windata->body_label), 0, 0);
88 gtk_label_set_line_wrap(GTK_LABEL(windata->body_label), TRUE);
89@@ -874,7 +873,7 @@
90 gtk_label_set_markup(GTK_LABEL(windata->summary_label), str);
91 g_free(str);
92
93- sexy_url_label_set_markup(SEXY_URL_LABEL(windata->body_label), body);
94+ gtk_label_set_markup(GTK_LABEL(windata->body_label), body);
95
96 if (body == NULL || *body == '\0')
97 gtk_widget_hide(windata->body_label);
98Only in notification-daemon-0.3.7/src/themes/standard: theme.c~
diff --git a/meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb b/meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb
deleted file mode 100644
index f443e307c9..0000000000
--- a/meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb
+++ /dev/null
@@ -1,21 +0,0 @@
1DESCRIPTION = "A dbus service that listens to desktop notification requests and displays them"
2HOMEPAGE = "http://www.galago-project.org/"
3SECTION = "x11"
4LICENSE = "GPL"
5DEPENDS = "dbus gtk+ gconf"
6
7SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \
8 file://no-wnck-sexy.patch;patch=1"
9
10EXTRA_OECONF = "--disable-binreloc"
11
12inherit autotools pkgconfig
13
14FILES_${PN} = "\
15 ${libexecdir}/notification-daemon \
16 ${datadir}/dbus-1/services/ \
17 ${libdir}/notification-daemon-1.0/engines/*.so \
18 ${sysconfdir}/gconf/schemas/notification-daemon.schemas \
19"
20
21FILES_${PN}-dbg += "${libexecdir}/.debug ${libdir}/notification-daemon-1.0/engines/.debug"
diff --git a/meta-extras/packages/osc/osc-native_svn.bb b/meta-extras/packages/osc/osc-native_svn.bb
deleted file mode 100755
index ab0ee0ba3a..0000000000
--- a/meta-extras/packages/osc/osc-native_svn.bb
+++ /dev/null
@@ -1,28 +0,0 @@
1DESCRIPTION = "osc - OpenSUSE build service command-line tool."
2HOMEPAGE = "http://en.opensuse.org/Build_Service/CLI"
3SECTION = "console/utils"
4LICENSE = "GPL"
5PV = "0.0+svnr${SRCREV}"
6PR = "r1"
7DEPENDS = "python-native rpm-native"
8RDEPENDS = ""
9
10SRC_URI = "svn://forgesvn1.novell.com/svn/opensuse/trunk/buildservice/src/clientlib/python;module=osc;proto=https"
11S = "${WORKDIR}/osc"
12
13inherit native
14
15do_install() {
16 BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
17 STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
18 ${STAGING_BINDIR_NATIVE}/python setup.py build ||
19 oefatal "python setup.py build execution failed."
20
21 BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
22 STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \
23 ${STAGING_BINDIR_NATIVE}/python setup.py install --prefix=${D}${prefix} --install-data=${D}${datadir} || \
24 oefatal "python setup.py install execution failed."
25
26 ln -sf osc-wrapper.py ${D}${bindir}/osc
27}
28
diff --git a/meta-extras/packages/prism-firmware/prism-firmware.bb b/meta-extras/packages/prism-firmware/prism-firmware.bb
deleted file mode 100644
index 903c55e15e..0000000000
--- a/meta-extras/packages/prism-firmware/prism-firmware.bb
+++ /dev/null
@@ -1,32 +0,0 @@
1DESCRIPTION = "Firmware for the Prism 2.x/3 cards"
2SECTION = "base"
3LICENSE = "closed"
4RDEPENDS = "hostap-utils"
5RREPLACES = "prism3-firmware prism3-support"
6RCONFLICTS = "prism3-firmware prism3-support"
7PACKAGE_ARCH = "all"
8PR = "r3"
9
10SRC_URI = "http://www.red-bean.com/~proski/firmware/primary.tar.bz2 \
11 http://www.red-bean.com/~proski/firmware/1.7.4.tar.bz2 \
12 file://prism-fw.sh \
13 file://hostap.rules"
14
15do_install() {
16 install -d ${D}${base_libdir}/firmware/
17 install -d ${D}${base_libdir}/udev/
18 install -d ${D}${sysconfdir}/pcmcia/
19 install -d ${D}${sysconfdir}/udev/rules.d/
20
21 install -m 0644 ${WORKDIR}/primary/af010104.hex ${D}${base_libdir}/firmware/
22 install -m 0644 ${WORKDIR}/primary/ak010104.hex ${D}${base_libdir}/firmware/
23 install -m 0644 ${WORKDIR}/primary/pm010102.hex ${D}${base_libdir}/firmware/
24
25 install -m 0644 ${WORKDIR}/1.7.4/rf010704.hex ${D}${base_libdir}/firmware/
26
27 install -m 0755 ${WORKDIR}/prism-fw.sh ${D}${base_libdir}/udev/
28 install -m 0644 ${WORKDIR}/hostap.rules ${D}${sysconfdir}/udev/rules.d/
29}
30
31PACKAGES = "${PN}"
32FILES_${PN} += "${base_libdir}"
diff --git a/meta-extras/packages/prism-firmware/prism-firmware/hostap.rules b/meta-extras/packages/prism-firmware/prism-firmware/hostap.rules
deleted file mode 100644
index dece98ae93..0000000000
--- a/meta-extras/packages/prism-firmware/prism-firmware/hostap.rules
+++ /dev/null
@@ -1,4 +0,0 @@
1#
2# update firmware on Prism cards (load it to RAM, not to Flash)
3#
4SUBSYSTEM=="net", KERNEL=="wlan*" RUN="/lib/udev/prism-fw.sh"
diff --git a/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh b/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh
deleted file mode 100644
index 619f612be1..0000000000
--- a/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh
+++ /dev/null
@@ -1,32 +0,0 @@
1#!/bin/sh
2
3CARD_ID=`/usr/sbin/hostap_diag $INTERFACE|grep NICID|awk '{print $2}'|sed -e 's/id=0x//'`
4
5# 801d cards lack even Primary firmware so we cannot use hostap_diag
6PRI=/lib/firmware/pm010102.hex
7STA=/lib/firmware/rf010704.hex
8
9if [ $CARD_ID = '800c' ] || [ $CARD_ID = '8013' ] || [ $CARD_ID = '8017' ] || \
10 [ $CARD_ID = '801b' ] || [ $CARD_ID = '8022' ] || [ $CARD_ID = '8023' ] ; then
11 PRI=/lib/firmware/ak010104.hex
12elif [ $CARD_ID = '800b' ] || [ $CARD_ID = '8012' ] || [ $CARD_ID = '8016' ] || \
13 [ $CARD_ID = '801a' ] ; then
14 PRI=/lib/firmware/af010104.hex
15elif [ $CARD_ID = '800e' ] || [ $CARD_ID = '8015' ] || [ $CARD_ID = '8019' ] || \
16 [ $CARD_ID = '801d' ] ; then
17 PRI=/lib/firmware/pm010102.hex
18fi
19
20DIR=/proc/net/hostap/wlan0
21
22if [ ! -d $DIR ]; then
23 exit 1
24fi
25
26if grep -q no_pri=1 $DIR/debug; then
27 /usr/sbin/prism2_srec -gs wlan0 $PRI
28 /usr/sbin/prism2_srec -gp wlan0 $PRI
29fi
30
31/usr/sbin/prism2_srec -rp wlan0 $STA
32
diff --git a/meta-extras/packages/python/python-iniparse-native_0.3.2.bb b/meta-extras/packages/python/python-iniparse-native_0.3.2.bb
deleted file mode 100644
index 41aa13d97a..0000000000
--- a/meta-extras/packages/python/python-iniparse-native_0.3.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require python-iniparse_${PV}.bb
2inherit native
3DEPENDS = "python-native"
4RDEPENDS = ""
5PR = "r0"
6
diff --git a/meta-extras/packages/python/python-iniparse_0.3.2.bb b/meta-extras/packages/python/python-iniparse_0.3.2.bb
deleted file mode 100644
index 27a38f4249..0000000000
--- a/meta-extras/packages/python/python-iniparse_0.3.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1DESCRIPTION = "iniparse is a INI parser for Python"
2HOMEPAGE = "http://code.google.com/p/iniparse/"
3SECTION = "devel/python"
4PRIORITY = "optional"
5LICENSE = "GPL"
6PR = "r0"
7
8SRC_URI = "http://iniparse.googlecode.com/files/iniparse-${PV}.tar.gz"
9S = "${WORKDIR}/iniparse-${PV}"
10
11inherit distutils
diff --git a/meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb b/meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb
deleted file mode 100644
index ff8f02ecd7..0000000000
--- a/meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require python-urlgrabber_${PV}.bb
2inherit native
3DEPENDS = "python-native python-pycurl-native"
4RDEPENDS = ""
diff --git a/meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch b/meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch
deleted file mode 100644
index 7a1ee059d1..0000000000
--- a/meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1diff -up urlgrabber-3.0.0/urlgrabber/grabber.py.cleanup urlgrabber-3.0.0/urlgrabber/grabber.py
2--- urlgrabber-3.0.0/urlgrabber/grabber.py.cleanup 2007-11-29 10:25:13.000000000 +0000
3+++ urlgrabber-3.0.0/urlgrabber/grabber.py 2007-11-29 10:26:15.000000000 +0000
4@@ -1204,16 +1204,18 @@ class URLGrabberFileObject:
5 bs = 1024*8
6 size = 0
7
8- if amount is not None: bs = min(bs, amount - size)
9- block = self.read(bs)
10- size = size + len(block)
11- while block:
12- new_fo.write(block)
13+ try:
14 if amount is not None: bs = min(bs, amount - size)
15 block = self.read(bs)
16 size = size + len(block)
17+ while block:
18+ new_fo.write(block)
19+ if amount is not None: bs = min(bs, amount - size)
20+ block = self.read(bs)
21+ size = size + len(block)
22+ finally:
23+ new_fo.close()
24
25- new_fo.close()
26 try:
27 modified_tuple = self.hdr.getdate_tz('last-modified')
28 modified_stamp = rfc822.mktime_tz(modified_tuple)
diff --git a/meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch b/meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch
deleted file mode 100644
index 90180d29a0..0000000000
--- a/meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch
+++ /dev/null
@@ -1,142 +0,0 @@
1diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py
2index e090e90..a26880c 100644
3--- a/urlgrabber/grabber.py
4+++ b/urlgrabber/grabber.py
5@@ -439,6 +439,12 @@ try:
6 except:
7 __version__ = '???'
8
9+try:
10+ # this part isn't going to do much - need to talk to gettext
11+ from i18n import _
12+except ImportError, msg:
13+ def _(st): return st
14+
15 ########################################################################
16 # functions for debugging output. These functions are here because they
17 # are also part of the module initialization.
18@@ -1052,7 +1058,8 @@ class PyCurlFileObject():
19 self._reget_length = 0
20 self._prog_running = False
21 self._error = (None, None)
22- self.size = None
23+ self.size = 0
24+ self._hdr_ended = False
25 self._do_open()
26
27
28@@ -1085,9 +1092,14 @@ class PyCurlFileObject():
29 return -1
30
31 def _hdr_retrieve(self, buf):
32+ if self._hdr_ended:
33+ self._hdr_dump = ''
34+ self.size = 0
35+ self._hdr_ended = False
36+
37 if self._over_max_size(cur=len(self._hdr_dump),
38 max_size=self.opts.max_header_size):
39- return -1
40+ return -1
41 try:
42 self._hdr_dump += buf
43 # we have to get the size before we do the progress obj start
44@@ -1104,7 +1116,17 @@ class PyCurlFileObject():
45 s = parse150(buf)
46 if s:
47 self.size = int(s)
48-
49+
50+ if buf.lower().find('location') != -1:
51+ location = ':'.join(buf.split(':')[1:])
52+ location = location.strip()
53+ self.scheme = urlparse.urlsplit(location)[0]
54+ self.url = location
55+
56+ if len(self._hdr_dump) != 0 and buf == '\r\n':
57+ self._hdr_ended = True
58+ if DEBUG: DEBUG.info('header ended:')
59+
60 return len(buf)
61 except KeyboardInterrupt:
62 return pycurl.READFUNC_ABORT
63@@ -1136,6 +1158,7 @@ class PyCurlFileObject():
64 self.curl_obj.setopt(pycurl.PROGRESSFUNCTION, self._progress_update)
65 self.curl_obj.setopt(pycurl.FAILONERROR, True)
66 self.curl_obj.setopt(pycurl.OPT_FILETIME, True)
67+ self.curl_obj.setopt(pycurl.FOLLOWLOCATION, True)
68
69 if DEBUG:
70 self.curl_obj.setopt(pycurl.VERBOSE, True)
71@@ -1291,7 +1314,12 @@ class PyCurlFileObject():
72 raise err
73
74 elif str(e.args[1]) == '' and self.http_code != 0: # fake it until you make it
75- msg = 'HTTP Error %s : %s ' % (self.http_code, self.url)
76+ if self.scheme in ['http', 'https']:
77+ msg = 'HTTP Error %s : %s ' % (self.http_code, self.url)
78+ elif self.scheme in ['ftp']:
79+ msg = 'FTP Error %s : %s ' % (self.http_code, self.url)
80+ else:
81+ msg = "Unknown Error: URL=%s , scheme=%s" % (self.url, self.scheme)
82 else:
83 msg = 'PYCURL ERROR %s - "%s"' % (errcode, str(e.args[1]))
84 code = errcode
85@@ -1299,6 +1327,12 @@ class PyCurlFileObject():
86 err.code = code
87 err.exception = e
88 raise err
89+ else:
90+ if self._error[1]:
91+ msg = self._error[1]
92+ err = URLGRabError(14, msg)
93+ err.url = self.url
94+ raise err
95
96 def _do_open(self):
97 self.curl_obj = _curl_cache
98@@ -1532,11 +1566,14 @@ class PyCurlFileObject():
99 def _over_max_size(self, cur, max_size=None):
100
101 if not max_size:
102- max_size = self.size
103- if self.opts.size: # if we set an opts size use that, no matter what
104- max_size = self.opts.size
105+ if not self.opts.size:
106+ max_size = self.size
107+ else:
108+ max_size = self.opts.size
109+
110 if not max_size: return False # if we have None for all of the Max then this is dumb
111- if cur > max_size + max_size*.10:
112+
113+ if cur > int(float(max_size) * 1.10):
114
115 msg = _("Downloaded more than max size for %s: %s > %s") \
116 % (self.url, cur, max_size)
117@@ -1582,7 +1619,11 @@ class PyCurlFileObject():
118 self.opts.progress_obj.end(self._amount_read)
119 self.fo.close()
120
121-
122+ def geturl(self):
123+ """ Provide the geturl() method, used to be got from
124+ urllib.addinfourl, via. urllib.URLopener.* """
125+ return self.url
126+
127 _curl_cache = pycurl.Curl() # make one and reuse it over and over and over
128
129
130diff --git a/urlgrabber/progress.py b/urlgrabber/progress.py
131index dd07c6a..45eb248 100644
132--- a/urlgrabber/progress.py
133+++ b/urlgrabber/progress.py
134@@ -658,6 +658,8 @@ def format_time(seconds, use_hours=0):
135 if seconds is None or seconds < 0:
136 if use_hours: return '--:--:--'
137 else: return '--:--'
138+ elif seconds == float('inf'):
139+ return 'Infinite'
140 else:
141 seconds = int(seconds)
142 minutes = seconds / 60
diff --git a/meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch b/meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch
deleted file mode 100644
index b63e7c33ac..0000000000
--- a/meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1--- a/urlgrabber/grabber.py 2010-02-19 14:50:45.000000000 -0500
2+++ b/urlgrabber/grabber.py 2010-02-19 14:51:28.000000000 -0500
3@@ -1626,6 +1626,12 @@
4
5 _curl_cache = pycurl.Curl() # make one and reuse it over and over and over
6
7+def reset_curl_obj():
8+ """To make sure curl has reread the network/dns info we force a reload"""
9+ global _curl_cache
10+ _curl_cache.close()
11+ _curl_cache = pycurl.Curl()
12+
13
14 #####################################################################
15 # DEPRECATED FUNCTIONS
diff --git a/meta-extras/packages/python/python-urlgrabber_3.9.1.bb b/meta-extras/packages/python/python-urlgrabber_3.9.1.bb
deleted file mode 100644
index 9f3a4cc6a7..0000000000
--- a/meta-extras/packages/python/python-urlgrabber_3.9.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
1DESCRIPTION = "urlgrabber is a pure python package that drastically simplifies the fetching of files."
2
3HOMEPAGE = "http://urlgrabber.baseurl.org/"
4SECTION = "devel/python"
5PRIORITY = "optional"
6LICENSE = "GPL"
7PR = "r1"
8
9SRC_URI = "http://urlgrabber.baseurl.org/download/urlgrabber-${PV}.tar.gz \
10 file://urlgrabber-HEAD.patch;patch=1 \
11 file://urlgrabber-reset.patch;patch=1"
12S = "${WORKDIR}/urlgrabber-${PV}"
13
14DEPENDS = "python-pycurl"
15
16inherit distutils \ No newline at end of file
diff --git a/meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb b/meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb
deleted file mode 100644
index 0a44b99e2c..0000000000
--- a/meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
1require yum-metadata-parser_${PV}.bb
2inherit native
3DEPENDS = "python-native sqlite3-native glib-2.0-native libxml2-native"
4RDEPENDS = ""
5PR = "r0"
6
7#BUILD_CFLAGS += "-I${STAGING_LIBDIR}/glib-2.0"
diff --git a/meta-extras/packages/python/yum-metadata-parser_1.1.4.bb b/meta-extras/packages/python/yum-metadata-parser_1.1.4.bb
deleted file mode 100644
index 2e404a2bb1..0000000000
--- a/meta-extras/packages/python/yum-metadata-parser_1.1.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1DESCRIPTION = "C-based metadata parser to quickly parse xml metadata into sqlite databases."
2HOMEPAGE = "http://linux.duke.edu/projects/yum/download.ptml"
3SECTION = "devel/python"
4PRIORITY = "optional"
5DEPENDS = "python sqlite3 glib-2.0 libxml2"
6LICENSE = "GPL"
7
8PR = "r1"
9
10SRC_URI = "http://linux.duke.edu/projects/yum/download/yum-metadata-parser/yum-metadata-parser-${PV}.tar.gz"
11S = "${WORKDIR}/yum-metadata-parser-${PV}"
12
13TARGET_CFLAGS += "-I${STAGING_LIBDIR}/glib-2.0"
14
15inherit distutils
diff --git a/meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch b/meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch
deleted file mode 100644
index 4ebc3dea8d..0000000000
--- a/meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch
+++ /dev/null
@@ -1,120 +0,0 @@
1From 594157753a24d0575aaf948dc0e9500f6bdb2178 Mon Sep 17 00:00:00 2001
2From: Michael Krelin <hacker@klever.net>
3Date: Sat, 2 Jun 2007 16:39:58 +0200
4Subject: [PATCH] fix mkspecs
5
6---
7 mkspecs/common/g++.conf | 18 +++++++++---------
8 mkspecs/common/linux.conf | 26 +++++++++++++-------------
9 2 files changed, 22 insertions(+), 22 deletions(-)
10
11Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf
12===================================================================
13--- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/g++.conf
14+++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf
15@@ -2,12 +2,12 @@
16 # qmake configuration for common gcc
17 #
18
19-QMAKE_CC = gcc
20-QMAKE_CFLAGS += -pipe
21+QMAKE_CC = $(OE_QMAKE_CC)
22+QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS)
23 QMAKE_CFLAGS_DEPS += -M
24 QMAKE_CFLAGS_WARN_ON += -Wall -W
25 QMAKE_CFLAGS_WARN_OFF += -w
26-QMAKE_CFLAGS_RELEASE += -O2
27+QMAKE_CFLAGS_RELEASE += -O2
28 QMAKE_CFLAGS_DEBUG += -g
29 QMAKE_CFLAGS_SHLIB += -fPIC
30 QMAKE_CFLAGS_STATIC_LIB += -fPIC
31@@ -16,8 +16,8 @@ QMAKE_CFLAGS_HIDESYMS += -fvisibility=
32 QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
33 QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
34
35-QMAKE_CXX = g++
36-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
37+QMAKE_CXX = $(OE_QMAKE_CXX)
38+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
39 QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
40 QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
41 QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
42@@ -30,11 +30,11 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAG
43 QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
44 QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
45
46-QMAKE_LINK = g++
47-QMAKE_LINK_SHLIB = g++
48-QMAKE_LINK_C = gcc
49-QMAKE_LINK_C_SHLIB = gcc
50-QMAKE_LFLAGS +=
51+QMAKE_LINK = $(OE_QMAKE_LINK)
52+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
53+QMAKE_LINK_C = $(OE_QMAKE_CC)
54+QMAKE_LINK_C_SHLIB = $(OE_QMAKE_CC)
55+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
56 QMAKE_LFLAGS_RELEASE += -Wl,-O1
57 QMAKE_LFLAGS_DEBUG +=
58 QMAKE_LFLAGS_APP +=
59@@ -43,7 +43,7 @@ QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SH
60 QMAKE_LFLAGS_SONAME += -Wl,-soname,
61 QMAKE_LFLAGS_THREAD +=
62 QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
63-QMAKE_RPATH = -Wl,-rpath,
64+QMAKE_RPATH = -Wl,-rpath-link,
65
66 QMAKE_PCH_OUTPUT_EXT = .gch
67
68Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf
69===================================================================
70--- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/linux.conf
71+++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf
72@@ -7,27 +7,27 @@ QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_
73
74 QMAKE_INCDIR =
75 QMAKE_LIBDIR =
76-QMAKE_INCDIR_X11 = /usr/X11R6/include
77-QMAKE_LIBDIR_X11 = /usr/X11R6/lib
78-QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
79-QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
80-QMAKE_INCDIR_OPENGL = /usr/X11R6/include
81-QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
82+QMAKE_INCDIR_X11 =
83+QMAKE_LIBDIR_X11 =
84+QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
85+QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
86+QMAKE_INCDIR_OPENGL =
87+QMAKE_LIBDIR_OPENGL =
88
89 QMAKE_LIBS =
90 QMAKE_LIBS_DYNLOAD = -ldl
91-QMAKE_LIBS_X11 = -lXext -lX11 -lm
92-QMAKE_LIBS_X11SM = -lSM -lICE
93+QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
94+QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
95 QMAKE_LIBS_NIS = -lnsl
96 QMAKE_LIBS_OPENGL = -lGLU -lGL
97 QMAKE_LIBS_OPENGL_QT = -lGL
98 QMAKE_LIBS_THREAD = -lpthread
99
100-QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
101-QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
102+QMAKE_MOC = $(OE_QMAKE_MOC)
103+QMAKE_UIC = $(OE_QMAKE_UIC)
104
105-QMAKE_AR = ar cqs
106-QMAKE_OBJCOPY = objcopy
107+QMAKE_AR = $(OE_QMAKE_AR) cqs
108+QMAKE_OBJCOPY = $(OE_QMAKE_OBJCOPY)
109 QMAKE_RANLIB =
110
111 QMAKE_TAR = tar -cf
112@@ -39,7 +39,7 @@ QMAKE_COPY_DIR = $(COPY) -r
113 QMAKE_MOVE = mv -f
114 QMAKE_DEL_FILE = rm -f
115 QMAKE_DEL_DIR = rmdir
116-QMAKE_STRIP = strip
117+QMAKE_STRIP = $(OE_QMAKE_STRIP)
118 QMAKE_STRIPFLAGS_LIB += --strip-unneeded
119 QMAKE_CHK_DIR_EXISTS = test -d
120 QMAKE_MKDIR = mkdir -p
diff --git a/meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf b/meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf
deleted file mode 100644
index f58481a693..0000000000
--- a/meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf
+++ /dev/null
@@ -1 +0,0 @@
1include(../linux-g++/qmake.conf)
diff --git a/meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch b/meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch
deleted file mode 100644
index 4197dbbf64..0000000000
--- a/meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1Index: qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp
2===================================================================
3--- qtopia-core-opensource-src-4.3.1.orig/qmake/generators/unix/unixmake2.cpp 2007-10-07 13:45:26.000000000 +0200
4+++ qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp 2007-10-07 13:57:09.000000000 +0200
5@@ -416,7 +416,7 @@
6 t << "\n\t" << mkdir_p_asstring(destdir) << "\n\t";
7 if(!project->isEmpty("QMAKE_PRE_LINK"))
8 t << var("QMAKE_PRE_LINK") << "\n\t";
9- t << "$(LINK) $(LFLAGS) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS)";
10+ t << "$(LINK) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS) $(LFLAGS)";
11 if(!project->isEmpty("QMAKE_POST_LINK"))
12 t << "\n\t" << var("QMAKE_POST_LINK");
13 t << endl << endl;
14@@ -430,7 +430,7 @@
15 t << mkdir_p_asstring(destdir) << "\n\t";
16 if(!project->isEmpty("QMAKE_PRE_LINK"))
17 t << var("QMAKE_PRE_LINK") << "\n\t";
18- t << "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)";
19+ t << "$(LINK) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) $(LFLAGS)";
20 if(!project->isEmpty("QMAKE_POST_LINK"))
21 t << "\n\t" << var("QMAKE_POST_LINK");
22 t << endl << endl;
diff --git a/meta-extras/packages/qmake/qmake2-cross_2.10a.bb b/meta-extras/packages/qmake/qmake2-cross_2.10a.bb
deleted file mode 100644
index 60f738b9ce..0000000000
--- a/meta-extras/packages/qmake/qmake2-cross_2.10a.bb
+++ /dev/null
@@ -1,74 +0,0 @@
1DESCRIPTION = "TrollTech Makefile Generator"
2PRIORITY = "optional"
3HOMEPAGE = "http://www.trolltech.com"
4SECTION = "devel"
5LICENSE = "GPL"
6PR = "r2"
7
8QTVER = "qt-embedded-linux-opensource-src-4.5.3"
9
10SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTVER}.tar.gz \
11 file://0001-fix-mkspecs.patch;patch=1 \
12 file://use-lflags-last.patch;patch=1 \
13 file://linux-oe-qmake.conf"
14S = "${WORKDIR}/${QTVER}"
15
16# we need the real target system here
17CROSS_SYS := "${TARGET_SYS}"
18CROSS_BINDIR := "${STAGING_BINDIR_CROSS}"
19inherit autotools cross
20
21export QTDIR = "${S}"
22EXTRA_OEMAKE = "-e"
23EXTRA_OECONF = "-opensource"
24
25do_configure() {
26 # Install the OE build templates
27 for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++
28 do
29 install -d ${S}/mkspecs/$template
30 install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf
31 ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h
32 done
33
34 QMAKESPEC=
35 PLATFORM=${HOST_OS}-oe-g++
36 export PLATFORM
37 # yes, TARGET_SYS is correct, because this is a 'cross'-qmake-native :) :M:
38 export OE_QMAKE_CC="${CC}"
39 export OE_QMAKE_CFLAGS="${CFLAGS}"
40 export OE_QMAKE_CXX="${CXX}"
41 export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}"
42 export OE_QMAKE_LDFLAGS="${LDFLAGS}"
43 export OE_QMAKE_LINK="${CCLD}"
44 export OE_QMAKE_AR="${AR}"
45 export OE_QMAKE_OBJCOPY="${OBJCOPY}"
46 export OE_QMAKE_STRIP="${STRIP}"
47 export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic"
48 export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc"
49 export OE_QMAKE_RCC="non-existant"
50 export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake"
51 export OE_QMAKE_RPATH="-Wl,-rpath-link,"
52 echo yes | ./configure -prefix ${STAGING_DIR}/${CROSS_SYS}/qt4 ${EXTRA_OECONF} || die "Configuring qt failed"
53}
54
55do_compile() {
56 :
57}
58
59do_install() {
60 install -d ${D}${CROSS_BINDIR}/
61 install -m 0755 bin/qmake ${D}${CROSS_BINDIR}/qmake2
62 install -m 0755 bin/qmake ${D}${CROSS_BINDIR}/qmake-qt4
63 install -d ${D}${STAGING_DIR}/${CROSS_SYS}/qt4/
64 cp -PfR mkspecs ${D}${STAGING_DIR}/${CROSS_SYS}/qt4/
65 install -d ${D}${STAGING_DIR}/${HOST_SYS}/qt4/
66 cp -PfR mkspecs ${D}${STAGING_DIR}/${HOST_SYS}/qt4/
67}
68
69sysroot_stage_all_append() {
70 sysroot_stage_dir ${D}/${STAGING_DIR_NATIVE}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}/qt4
71 sysroot_stage_dir ${D}/${STAGING_DIR_TARGET}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/qt4
72}
73
74
diff --git a/meta-extras/packages/redland/files/crosscompile.patch b/meta-extras/packages/redland/files/crosscompile.patch
deleted file mode 100644
index 281007a791..0000000000
--- a/meta-extras/packages/redland/files/crosscompile.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1Index: redland-1.0.8/raptor/configure.ac
2===================================================================
3--- redland-1.0.8.orig/raptor/configure.ac 2008-12-16 17:26:58.000000000 +0000
4+++ redland-1.0.8/raptor/configure.ac 2008-12-16 17:27:41.000000000 +0000
5@@ -279,23 +279,7 @@
6
7 if test $ac_cv_func_vsnprintf = yes; then
8 AC_MSG_CHECKING(vsnprintf has C99 compatible return value)
9- AC_TRY_RUN([#include <stdarg.h>
10-int is_c99(char *s, ...) {
11- char buffer[32];
12- va_list args;
13- int r;
14- va_start(args, s);
15- r = vsnprintf(buffer, 5, s, args);
16- va_end(args);
17-
18- return (r == 7);
19-}
20-
21-int main(int argc, char* argv) {
22- return is_c99("1234567");
23-}], AC_MSG_RESULT(no),
24- AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [vsnprint has C99 compatible return value])
25- AC_MSG_RESULT(yes))
26+ AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [vsnprint has C99 compatible return value])
27 fi
28
29 need_libm=no
diff --git a/meta-extras/packages/redland/files/sane_pkgconfig.patch b/meta-extras/packages/redland/files/sane_pkgconfig.patch
deleted file mode 100644
index 32742e2b29..0000000000
--- a/meta-extras/packages/redland/files/sane_pkgconfig.patch
+++ /dev/null
@@ -1,126 +0,0 @@
1Index: redland-1.0.8/configure.ac
2===================================================================
3--- redland-1.0.8.orig/configure.ac 2008-07-04 07:56:25.000000000 +0100
4+++ redland-1.0.8/configure.ac 2008-12-17 23:04:25.000000000 +0000
5@@ -404,7 +404,7 @@
6
7 if test "$have_libdb" = yes; then
8 bdb_available="Version $bdb_version (library $bdb_dbname in $bdb_lib_dir)"
9- LIBRDF_LIBS="$LIBRDF_LIBS $nLDFLAGS -l$bdb_dbname"
10+ LIBRDF_LIBS="$LIBRDF_LIBS -l$bdb_dbname"
11 LIBRDF_CPPFLAGS="$LIBRDF_CPPFLAGS $nCPPFLAGS"
12 fi
13
14Index: redland-1.0.8/raptor/configure.ac
15===================================================================
16--- redland-1.0.8.orig/raptor/configure.ac 2008-12-17 23:04:25.000000000 +0000
17+++ redland-1.0.8/raptor/configure.ac 2008-12-18 11:18:36.000000000 +0000
18@@ -304,9 +304,12 @@
19 AC_DEFINE(HAVE_ROUND, 1, [have round() in libm]),
20 AC_MSG_RESULT(no))
21 LIBS="$oLIBS"
22+PRIV_PC_LIBS=""
23+PRIV_PC_REQS=""
24
25 if test "X$need_libm" = Xyes; then
26 LIBS="$LIBS -lm"
27+ PRIV_PC_LIBS="$PRIV_PC_LIBS -lm"
28 fi
29
30
31@@ -369,6 +372,7 @@
32 AC_MSG_CHECKING(for working expat in libxmlparse and libxmltok)
33 if test $xmlp = 1 -a $xmlt = 1 -a $ac_cv_header_xmlparse_h = yes; then
34 LIBS="$LIBS -lxmlparse -lxmltok"
35+ PRIV_PC_LIBS="$PRIV_PC_LIBS -lxmlparse -lxmltok"
36 AC_TRY_RUN([#include <stdio.h>
37 main() {XML_ParserCreate(NULL); return(0);}],
38 worked=yes, worked=no, worked=no)
39@@ -391,6 +395,7 @@
40 AC_MSG_CHECKING(for working expat in libexpat)
41 if test $libexpat = 1 -a $ac_cv_header_expat_h = yes ; then
42 LIBS="$LIBS -lexpat"
43+ PRIV_PC_LIBS="$PRIV_PC_LIBS -lexpat"
44 AC_TRY_RUN([#include <stdio.h>
45 main() {XML_ParserCreate(NULL); return(0);}],
46 worked=yes, worked=no, worked=no)
47@@ -531,6 +536,7 @@
48 oLIBS="$LIBS"
49 if test "X$XML_CONFIG" != X; then
50 LIBS="$LIBS `$XML_CONFIG --libs`"
51+ PRIV_PC_REQS="$PRIV_PC_REQS libxml-2.0"
52 AC_CHECK_FUNC(xmlCreatePushParserCtxt, have_xmlCreatePushParserCtxt=yes, have_xmlCreatePushParserCtxt=no)
53 AC_MSG_CHECKING(for system (GNOME) libxml library)
54 if test $have_xmlCreatePushParserCtxt = yes; then
55@@ -637,6 +643,7 @@
56 oLIBS="$LIBS"
57 if test "X$XSLT_CONFIG" != X; then
58 LIBS="$LIBS `$XSLT_CONFIG --libs`"
59+ PRIV_PC_REQS="$PRIV_PC_REQS libxslt"
60 AC_CHECK_FUNC(xsltSaveResultToString, have_xsltSaveResultToString=yes, have_xsltSaveResultToString=no)
61 AC_MSG_CHECKING(for system libxslt library)
62 if test $have_xsltSaveResultToString = yes; then
63@@ -1034,6 +1041,7 @@
64 if test $need_libcurl = 1; then
65 CPPFLAGS="$CPPFLAGS `$CURL_CONFIG --cflags`"
66 LIBS="$LIBS `$CURL_CONFIG --libs`"
67+ PRIV_PC_REQS="$PRIV_PC_REQS libcurl"
68 AC_LIBOBJ(raptor_www_curl)
69
70 fi
71@@ -1054,6 +1062,7 @@
72 if test $ac_cv_header_libinn_h = yes; then
73 CPPFLAGS="$CPPFLAGS -I/usr/include/inn"
74 LIBS="$LIBS -L/usr/lib/news -linn"
75+ PRIV_PC_LIBS="$PRIV_PC_LIBS -linn"
76 AC_CHECK_LIB(inn, HashMessageID, have_libinn=yes)
77
78 AC_MSG_CHECKING(parsedate in libinn)
79@@ -1102,6 +1111,7 @@
80
81 if test $need_libfetch = 1; then
82 LIBS="$LIBS -lfetch"
83+ PRIV_PC_LIBS="$PRIV_PC_REQS -lfetch"
84 AC_LIBOBJ(raptor_www_libfetch)
85 fi
86
87@@ -1120,6 +1130,7 @@
88 else
89 LIBS="$LIBS `$XML_CONFIG --libs`"
90 CPPFLAGS="`$XML_CONFIG --cflags` $CPPFLAGS"
91+ PRIV_PC_REQS="$PRIV_PC_REQS libxml-2.0"
92 fi
93 RAPTOR_XML_PARSER=libxml
94 fi
95@@ -1147,6 +1158,7 @@
96 if test $need_libxslt = 1; then
97 LIBS="$LIBS `$XSLT_CONFIG --libs`"
98 CPPFLAGS="`$XSLT_CONFIG --cflags` $CPPFLAGS"
99+ PRIV_PC_REQS="$PRIV_PC_REQS libxslt"
100 fi
101
102 RAPTOR_LIBTOOLLIBS=libraptor.la
103@@ -1214,6 +1226,9 @@
104 AC_SUBST(MEM_LIBS)
105 AC_SUBST(STANDARD_CFLAGS)
106
107+AC_SUBST(PRIV_PC_LIBS)
108+AC_SUBST(PRIV_PC_REQS)
109+
110 ECHO_N="$ECHO_N"
111 ECHO_C="$ECHO_C"
112 AC_SUBST(ECHO_N)
113Index: redland-1.0.8/raptor/raptor.pc.in
114===================================================================
115--- redland-1.0.8.orig/raptor/raptor.pc.in 2008-12-17 23:06:47.000000000 +0000
116+++ redland-1.0.8/raptor/raptor.pc.in 2008-12-17 23:07:20.000000000 +0000
117@@ -6,7 +6,8 @@
118 Name: Raptor
119 Description: RDF Parser Toolkit Library
120 Version: @VERSION@
121+Requires.private: @PRIV_PC_REQS@
122 Libs: -L${libdir} -lraptor
123-Libs.private: @LIBS@
124+Libs.private: @PRIV_PC_LIBS@@
125 Cflags: -I${includedir}
126
diff --git a/meta-extras/packages/redland/redland_1.0.8.bb b/meta-extras/packages/redland/redland_1.0.8.bb
deleted file mode 100644
index f1ff8f8e89..0000000000
--- a/meta-extras/packages/redland/redland_1.0.8.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1SRC_URI = "http://download.librdf.org/source/redland-1.0.8.tar.gz \
2 file://crosscompile.patch;patch=1 \
3 file://sane_pkgconfig.patch;patch=1"
4
5PR = "r3"
6
7EXTRA_OECONF = "--with-bdb-lib=${STAGING_LIBDIR} --with-bdb-include=${STAGING_INCDIR} --with-sqlite=no"
8
9inherit autotools
diff --git a/meta-extras/packages/smart/smart_1.1.bb b/meta-extras/packages/smart/smart_1.1.bb
deleted file mode 100644
index 8f89eb3e00..0000000000
--- a/meta-extras/packages/smart/smart_1.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
1DESCRIPTION = "Next generation package handling tool."
2HOMEPAGE = "http://labix.org/smart/"
3LICENSE = "GPL v2+"
4DEPENDS = "zlib python desktop-file-utils-native python-pygtk rpm"
5
6SRC_URI = "http://labix.org/download/smart/smart-1.1.tar.bz2"
7
8S = "${WORKDIR}/smart-${PV}"
9
10inherit distutils
11
12FILES_${PN} += "/usr/share/lib/${PYTHON_DIR}/site-packages/smart/interfaces/images/*.png \
13 /usr/share/lib/${PYTHON_DIR/site-packages/smart/backends/"
14
15FILES_${PN}-doc += "/usr/share/share/man/man8/smart.8"
16
17FILES_${PN}-locale += "/usr/share/share/locale/es_ES/LC_MESSAGES/smart.mo \
18 /usr/share/share/locale/it/LC_MESSAGES/smart.mo \
19 /usr/share/share/locale/de/LC_MESSAGES/smart.mo \
20 /usr/share/share/locale/ru/LC_MESSAGES/smart.mo \
21 /usr/share/share/locale/sv/LC_MESSAGES/smart.mo \
22 /usr/share/share/locale/fr/LC_MESSAGES/smart.mo \
23 /usr/share/share/locale/hu/LC_MESSAGES/smart.mo \
24 /usr/share/share/locale/zh_TW/LC_MESSAGES/smart.mo \
25 /usr/share/share/locale/pt_BR/LC_MESSAGES/smart.mo \
26 /usr/share/share/locale/zh_CN/LC_MESSAGES/smart.mo"
27
28FILES_${PN}-dbg += "/usr/lib/${PYTHON_DIR}/site-packages/smart/backends/rpm/.debug \
29 /usr/lib/${PYTHON_DIR}/site-packages/smart/backends/deb/.debug \" \ No newline at end of file
diff --git a/meta-extras/packages/spectrum-fw/spectrum-fw.bb b/meta-extras/packages/spectrum-fw/spectrum-fw.bb
deleted file mode 100644
index 45011d336c..0000000000
--- a/meta-extras/packages/spectrum-fw/spectrum-fw.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1DESCRIPTION = "Firmware for Spectrum Wireless LAN cards"
2DEPENDS += " unzip-native "
3LICENSE = "closed"
4PR = "r2"
5
6SRC_URI = "http://ftp.osuosl.org/pub/nslu2/sources/MC&DriverOnlyInstallers.zip \
7 file://get_symbol_fw \
8 file://parse_symbol_fw"
9S = "${WORKDIR}"
10
11do_configure() {
12 ./get_symbol_fw
13}
14
15do_install() {
16 install -d ${D}${base_libdir}/firmware/
17 install -m 0755 ${WORKDIR}/symbol_sp24t_prim_fw ${D}${base_libdir}/firmware/symbol_sp24t_prim_fw
18 install -m 0755 ${WORKDIR}/symbol_sp24t_sec_fw ${D}${base_libdir}/firmware/symbol_sp24t_sec_fw
19}
20
21PACKAGE_ARCH = "all"
22FILES_${PN} += "${base_libdir}/firmware/symbol*"
diff --git a/meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw b/meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw
deleted file mode 100755
index 80420b01a8..0000000000
--- a/meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw
+++ /dev/null
@@ -1,29 +0,0 @@
1#!/bin/sh
2
3# Get firmware for Symbol Spectrum24 Trilogy.
4# Both the header file and the binary firmware files are produced.
5
6# Copyright (C) 2004 Pavel Roskin <proski@gnu.org>
7
8# This script is Free Software, and it can be copied, distributed and
9# modified as defined in the GNU General Public License. A copy of
10# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
11
12# Usage: get_symbol_fw
13# Output: spectrum_fw.h symbol_sp24t_prim_fw symbol_sp24t_sec_fw
14# Needed tools: curl (or wget), unzip, perl.
15
16set -e
17
18DL_INT1='S24DRVR392B67-01.exe'
19DL_INT2='Driver Only Installer/NetWLan5.sys'
20DRIVER1=symbol1.drv
21DRIVER2=symbol2.drv
22
23unzip -p $DL_INT1 "$DL_INT2" >$DRIVER2
24
25perl parse_symbol_fw $DRIVER2 spectrum_fw.h symbol_sp24t_prim_fw \
26 symbol_sp24t_sec_fw
27
28rm -f $DRIVER1 $DRIVER2
29
diff --git a/meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw b/meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw
deleted file mode 100755
index 7fe0ea57c4..0000000000
--- a/meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw
+++ /dev/null
@@ -1,129 +0,0 @@
1#!/usr/bin/perl -w
2
3# Extract Symbol firmware and convert is to a header file and two binary
4# files.
5
6# Copyright (C) 2004 Pavel Roskin <proski@gnu.org>
7
8# This script is Free Software, and it can be copied, distributed and
9# modified as defined in the GNU General Public License. A copy of
10# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
11
12# Usage:
13# parse_symbol_fw infile header binfile1 binfile2
14
15use strict;
16
17# Print message and exit (like "die", but without raising an exception).
18# Newline is added at the end.
19sub error
20{
21 printf STDERR "ERROR: ";
22 printf STDERR @_;
23 printf STDERR "\n";
24 exit 1;
25}
26
27sub readnum_ba ()
28{
29 my $byte_a;
30 read INFILE,$byte_a,1;
31 my $byte_b;
32 read INFILE,$byte_b,1;
33 return (ord($byte_b) << 8) + ord($byte_a);
34}
35
36
37if ($#ARGV != 3) {
38 error ("Usage: parse_symbol_fw infile header binfile1 binfile2");
39}
40
41unless (open (INFILE, "< $ARGV[0]")) {
42 error ("couldn't open $ARGV[0] for reading: $!");
43}
44
45unless (open (OUTFILE, "> $ARGV[1]")) {
46 error ("couldn't open $ARGV[1] for writing: $!");
47}
48
49# Process one array, either for primary or for secondary firmware
50sub process_one_array($$) {
51 my $arrname = shift(@_);
52 my $binfile = shift(@_);
53 my $offset = -1;
54 my $str_offset = 0;
55
56 # Skip to the beginning of firmware
57 $/ = "\x00";
58 while (<INFILE>) {
59 if (m{FILE: }g) {
60 $offset = $str_offset + pos() - 6;
61 last;
62 }
63 $str_offset = tell(INFILE);
64 }
65
66 if ($offset == -1) {
67 error("Cannot find FILE: marker");
68 }
69
70 my @fwdata = split;
71 print $fwdata[1] . "\n";
72 seek(INFILE, $offset, 0);
73
74 my $blknum = $fwdata[3];
75 my $pdrlen = $fwdata[4];
76 my $crclen = $fwdata[5];
77 my $compatlen = $fwdata[6];
78
79 while (!eof(INFILE)) {
80 my $byte;
81 read INFILE, $byte, 1;
82 last if (ord($byte) == 0x1a);
83 }
84
85 # Walk all blocks
86 my $block = $blknum;
87 while ($block-- > 0) {
88 seek(INFILE, 4, 1);
89 my $len = readnum_ba();
90 seek(INFILE, $len, 1);
91 }
92
93 my $img_len = tell(INFILE) - $offset + $pdrlen + $crclen + $compatlen + 2;
94 seek(INFILE, $offset, 0);
95
96 # Write binary file for the section
97 unless (open (BINFILE, "> $binfile")) {
98 error ("couldn't open $binfile for writing: $!");
99 }
100
101 # Output the array
102 printf OUTFILE "/* %s %s */\n", $fwdata[1], $fwdata[2];
103 printf OUTFILE "static u8 %s[] = {\n", $arrname;
104
105 my $count = 0;
106 while ($count++ < $img_len) {
107 my $byte;
108 read INFILE, $byte, 1;
109 $byte = ord($byte);
110 printf OUTFILE "0x%02x,", $byte;
111 printf BINFILE "%c", $byte;
112 if ($count % 16 == 0) {
113 printf OUTFILE "\n";
114 }
115 }
116
117 if ($img_len % 16) {
118 printf OUTFILE "\n";
119 }
120
121 print OUTFILE "};\n";
122 close(BINFILE);
123}
124
125process_one_array("primsym", $ARGV[2]);
126process_one_array("secsym", $ARGV[3]);
127
128close(INFILE);
129close(OUTFILE);
diff --git a/meta-extras/packages/syslog-ng/files/initscript b/meta-extras/packages/syslog-ng/files/initscript
deleted file mode 100644
index b95e8adc20..0000000000
--- a/meta-extras/packages/syslog-ng/files/initscript
+++ /dev/null
@@ -1,45 +0,0 @@
1#! /bin/sh
2#
3# This is an init script for openembedded
4# Copy it to /etc/init.d/syslog-ng and type
5# > update-rc.d syslog-ng defaults 5
6#
7
8
9syslog_ng=/usr/sbin/syslog-ng
10test -x "$syslog_ng" || exit 0
11
12case "$1" in
13 start)
14 echo -n "Starting syslog-ng:"
15 start-stop-daemon --start --quiet --exec $syslog_ng
16 echo "."
17 ;;
18 stop)
19 echo -n "Stopping syslog-ng:"
20 start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid
21 echo "."
22 ;;
23 reload|force-reload)
24 start-stop-daemon --stop --quiet --signal 1 --exec $syslog_ng
25 ;;
26 restart)
27 echo "Stopping syslog-ng:"
28 start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid
29 echo -n "Waiting for syslog-ng to die off"
30 for i in 1 2 3 ;
31 do
32 sleep 1
33 echo -n "."
34 done
35 echo ""
36 echo -n "Starting syslog-ng:"
37 start-stop-daemon --start --quiet --exec $syslog_ng
38 echo "."
39 ;;
40 *)
41 echo "Usage: /etc/init.d/syslog-ng {start|stop|reload|restart|force-reload}"
42 exit 1
43esac
44
45exit 0
diff --git a/meta-extras/packages/syslog-ng/files/syslog-ng.conf b/meta-extras/packages/syslog-ng/files/syslog-ng.conf
deleted file mode 100644
index 4d1e9f8b22..0000000000
--- a/meta-extras/packages/syslog-ng/files/syslog-ng.conf
+++ /dev/null
@@ -1,89 +0,0 @@
1#
2# Syslog-ng example configuration for for Debian GNU/Linux
3#
4# Copyright (c) 1999 anonymous
5# Copyright (c) 1999 Balazs Scheidler
6# $Id: syslog-ng.conf.sample,v 1.3 2003/05/20 08:57:27 asd Exp $
7#
8# Syslog-ng configuration file, compatible with default Debian syslogd
9# installation.
10#
11
12options { long_hostnames(off); sync(0); };
13
14source src { file("/proc/kmsg"); unix-stream("/dev/log"); internal(); };
15source net { udp(); };
16
17destination authlog { file("/var/log/auth.log"); };
18destination syslog { file("/var/log/syslog"); };
19destination cron { file("/var/log/cron.log"); };
20destination daemon { file("/var/log/daemon.log"); };
21destination kern { file("/var/log/kern.log"); };
22destination lpr { file("/var/log/lpr.log"); };
23destination user { file("/var/log/user.log"); };
24destination uucp { file("/var/log/uucp.log"); };
25destination ppp { file("/var/log/ppp.log"); };
26destination mail { file("/var/log/mail.log"); };
27
28destination mailinfo { file("/var/log/mail.info"); };
29destination mailwarn { file("/var/log/mail.warn"); };
30destination mailerr { file("/var/log/mail.err"); };
31
32destination newscrit { file("/var/log/news/news.crit"); };
33destination newserr { file("/var/log/news/news.err"); };
34destination newsnotice { file("/var/log/news/news.notice"); };
35
36destination debug { file("/var/log/debug"); };
37destination messages { file("/var/log/messages"); };
38destination console { usertty("root"); };
39destination console_all { file("/dev/tty12"); };
40#destination loghost { udp("loghost" port(999)); };
41
42
43destination xconsole { pipe("/dev/xconsole"); };
44
45filter f_auth { facility(auth); };
46filter f_authpriv { facility(auth, authpriv); };
47filter f_syslog { not facility(authpriv, mail); };
48filter f_cron { facility(cron); };
49filter f_daemon { facility(daemon); };
50filter f_kern { facility(kern); };
51filter f_lpr { facility(lpr); };
52filter f_mail { facility(mail); };
53filter f_user { facility(user); };
54filter f_uucp { facility(cron); };
55filter f_ppp { facility(local2); };
56filter f_news { facility(news); };
57filter f_debug { not facility(auth, authpriv, news, mail); };
58filter f_messages { level(info..warn)
59 and not facility(auth, authpriv, mail, news); };
60filter f_emergency { level(emerg); };
61
62filter f_info { level(info); };
63filter f_notice { level(notice); };
64filter f_warn { level(warn); };
65filter f_crit { level(crit); };
66filter f_err { level(err); };
67
68log { source(src); filter(f_authpriv); destination(authlog); };
69log { source(src); filter(f_syslog); destination(syslog); };
70log { source(src); filter(f_cron); destination(cron); };
71log { source(src); filter(f_daemon); destination(daemon); };
72log { source(src); filter(f_kern); destination(kern); };
73log { source(src); filter(f_lpr); destination(lpr); };
74log { source(src); filter(f_mail); destination(mail); };
75log { source(src); filter(f_user); destination(user); };
76log { source(src); filter(f_uucp); destination(uucp); };
77log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };
78log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };
79log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };
80log { source(src); filter(f_news); filter(f_crit); destination(newscrit); };
81log { source(src); filter(f_news); filter(f_err); destination(newserr); };
82log { source(src); filter(f_news); filter(f_notice); destination(newsnotice); };
83log { source(src); filter(f_debug); destination(debug); };
84log { source(src); filter(f_messages); destination(messages); };
85log { source(src); filter(f_emergency); destination(console); };
86log { source(src); filter(f_ppp); destination(ppp); };
87log { source(src); destination(console_all); };
88
89
diff --git a/meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb b/meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb
deleted file mode 100644
index 0d13b922f2..0000000000
--- a/meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb
+++ /dev/null
@@ -1,34 +0,0 @@
1DESCRIPTION = "Alternative system logger daemon"
2DEPENDS = "libol flex eventlog glib-2.0"
3PR = "r1"
4
5SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/${P}.tar.gz \
6 file://syslog-ng.conf \
7 file://initscript"
8
9S = "${WORKDIR}/${PN}-${PV}"
10
11inherit autotools update-rc.d
12
13EXTRA_OECONF = "--with-libol=${STAGING_BINDIR_CROSS}/ --enable-dynamic-linking"
14
15do_install_append() {
16 install -d ${D}/${sysconfdir}/${PN}
17 install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/syslog-ng.conf
18 install -d ${D}/${sysconfdir}/init.d
19 install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog-ng
20}
21
22pkg_postinst() {
23 update-rc.d -f syslog remove
24}
25
26pkg_postrm() {
27 update-rc.d syslog add 5
28}
29
30CONFFILES_${PN} = "${sysconfdir}/syslog-ng.conf"
31
32INITSCRIPT_NAME = "syslog-ng"
33#INITSCRIPT_PARAMS = "defaults 05"
34INITSCRIPT_PARAMS = "remove"
diff --git a/meta-extras/packages/tasks/task-poky-extras.bb b/meta-extras/packages/tasks/task-poky-extras.bb
deleted file mode 100644
index c983beda97..0000000000
--- a/meta-extras/packages/tasks/task-poky-extras.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1PACKAGES = "task-poky-extraapps"
2DESCRIPTION = "Extras Tasks for OpenedHand Poky"
3
4ALLOW_EMPTY = "1"
5
6RDEPENDS_task-poky-extraapps = "\
7 madplay \
8 maemo-mapper-nohildon \
9 mc"
diff --git a/meta-extras/packages/tasks/task-poky-x11-netbook.bb b/meta-extras/packages/tasks/task-poky-x11-netbook.bb
deleted file mode 100644
index 9c5d9ce300..0000000000
--- a/meta-extras/packages/tasks/task-poky-x11-netbook.bb
+++ /dev/null
@@ -1,28 +0,0 @@
1#
2# Copyright (C) 2008 Intel.
3#
4
5DESCRIPTION = "Netbook Tasks for Poky"
6PR = "r1"
7
8PACKAGES = "\
9 task-poky-x11-netbook \
10 task-poky-x11-netbook-dbg \
11 task-poky-x11-netbook-dev \
12 "
13
14PACKAGE_ARCH = "${MACHINE_ARCH}"
15
16ALLOW_EMPTY = "1"
17
18NETWORK_MANAGER ?= "connman-gnome"
19RDEPENDS_task-poky-x11-netbook = "\
20 mutter \
21 matchbox-desktop \
22 matchbox-session-netbook \
23 matchbox-config-gtk \
24 xcursor-transparent-theme \
25 sato-icon-theme \
26 settings-daemon \
27 gtk-sato-engine \
28 ${NETWORK_MANAGER}"
diff --git a/meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch b/meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch
deleted file mode 100644
index 2bd1b191da..0000000000
--- a/meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
1Index: Twisted-2.5.0/TwistedCore-2.5.0/twisted/__init__.py
2===================================================================
3--- Twisted-2.5.0.orig/TwistedCore-2.5.0/twisted/__init__.py 2007-03-05 16:30:08.117422472 +0100
4+++ Twisted-2.5.0/TwistedCore-2.5.0/twisted/__init__.py 2007-03-05 16:30:13.810553949 +0100
5@@ -14,13 +14,6 @@
6 raise RuntimeError("Twisted requires Python 2.3 or later.")
7 del sys
8
9-# Ensure zope.interface is installed
10-try:
11- from zope.interface import Interface
12- del Interface
13-except ImportError:
14- raise ImportError("you need zope.interface installed "
15- "(http://zope.org/Products/ZopeInterface/)")
16
17 # Ensure compat gets imported
18 from twisted.python import compat
diff --git a/meta-extras/packages/twisted/twisted_2.5.0.bb b/meta-extras/packages/twisted/twisted_2.5.0.bb
deleted file mode 100644
index e00b351b2a..0000000000
--- a/meta-extras/packages/twisted/twisted_2.5.0.bb
+++ /dev/null
@@ -1,175 +0,0 @@
1DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \
2Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \
3(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more."
4HOMEPAGE = "http://www.twistedmatrix.com"
5SECTION = "console/network"
6PRIORITY = "optional"
7LICENSE = "LGPL"
8RDEPENDS = "python-core python-zopeinterface"
9RDEPENDS_python-twisted += "python-twisted-bin python-twisted-conch python-twisted-core \
10 python-twisted-lore python-twisted-mail python-twisted-names \
11 python-twisted-news python-twisted-runner python-twisted-web \
12 python-twisted-words"
13PR = "r5"
14
15SRC_URI = "http://tmrc.mit.edu/mirror/twisted/Twisted/2.5/Twisted-${PV}.tar.bz2 \
16 file://remove-zope-check.patch;patch=1"
17
18S = "${WORKDIR}/Twisted-${PV}"
19
20inherit distutils
21
22PACKAGES += "python-twisted-zsh python-twisted-test python-twisted-protocols \
23 python-twisted-bin python-twisted-conch python-twisted-lore \
24 python-twisted-mail python-twisted-names python-twisted-news python-twisted-runner \
25 python-twisted-web python-twisted-words python-twisted python-twisted-core \
26 "
27
28ALLOW_EMPTY = "1"
29FILES_${PN} = ""
30FILES_python-twisted = ""
31
32FILES_python-twisted-test = " \
33${libdir}/python2.4/site-packages/twisted/python/web/test \
34"
35
36FILES_python-twisted-protocols = " \
37${libdir}/python2.4/site-packages/twisted/python/protocols/ \
38"
39
40FILES_python-twisted-zsh = " \
41${libdir}/python2.4/site-packages/twisted/python/zsh \
42${libdir}/python2.4/site-packages/twisted/python/zshcomp.* \
43"
44
45FILES_python-twisted-bin = " \
46${libdir}/python2.4/site-packages/twisted/protocols/_c_urlarg.so \
47${libdir}/python2.4/site-packages/twisted/spread/cBanana.so"
48
49FILES_python-twisted-conch = " \
50${bindir}/ckeygen \
51${bindir}/tkconch \
52${bindir}/conch \
53${bindir}/conchftp \
54${libdir}/python2.4/site-packages/twisted/plugins/twisted_conch.py \
55${libdir}/python2.4/site-packages/twisted/conch \
56"
57
58FILES_python-twisted-core = " \
59${bindir}/manhole \
60${bindir}/mktap \
61${bindir}/twistd \
62${bindir}/tap2deb \
63${bindir}/tap2rpm \
64${bindir}/tapconvert \
65${bindir}/tkmktap \
66${bindir}/trial \
67${libdir}/python2.4/site-packages/twisted/*.py \
68${libdir}/python2.4/site-packages/twisted/plugins/__init__.py \
69${libdir}/python2.4/site-packages/twisted/plugins/notestplugin.py \
70${libdir}/python2.4/site-packages/twisted/plugins/testplugin.py \
71${libdir}/python2.4/site-packages/twisted/plugins/twisted_ftp.py \
72${libdir}/python2.4/site-packages/twisted/plugins/twisted_inet.py \
73${libdir}/python2.4/site-packages/twisted/plugins/twisted_manhole.py \
74${libdir}/python2.4/site-packages/twisted/plugins/twisted_portforward.py \
75${libdir}/python2.4/site-packages/twisted/plugins/twisted_socks.py \
76${libdir}/python2.4/site-packages/twisted/plugins/twisted_telnet.py \
77${libdir}/python2.4/site-packages/twisted/plugins/twisted_trial.py \
78${libdir}/python2.4/site-packages/twisted/plugins/dropin.cache \
79${libdir}/python2.4/site-packages/twisted/application \
80${libdir}/python2.4/site-packages/twisted/cred \
81${libdir}/python2.4/site-packages/twisted/enterprise \
82${libdir}/python2.4/site-packages/twisted/internet \
83${libdir}/python2.4/site-packages/twisted/manhole \
84${libdir}/python2.4/site-packages/twisted/manhole \
85${libdir}/python2.4/site-packages/twisted/persisted \
86${libdir}/python2.4/site-packages/twisted/protocols\
87${libdir}/python2.4/site-packages/twisted/python\
88${libdir}/python2.4/site-packages/twisted/python/timeoutqueue.py \
89${libdir}/python2.4/site-packages/twisted/python/filepath.py \
90${libdir}/python2.4/site-packages/twisted/python/dxprofile.py \
91${libdir}/python2.4/site-packages/twisted/python/plugin.py \
92${libdir}/python2.4/site-packages/twisted/python/htmlizer.py \
93${libdir}/python2.4/site-packages/twisted/python/__init__.py \
94${libdir}/python2.4/site-packages/twisted/python/dispatch.py \
95${libdir}/python2.4/site-packages/twisted/python/hook.py \
96${libdir}/python2.4/site-packages/twisted/python/threadpool.py \
97${libdir}/python2.4/site-packages/twisted/python/otp.py \
98${libdir}/python2.4/site-packages/twisted/python/usage.py \
99${libdir}/python2.4/site-packages/twisted/python/roots.py \
100${libdir}/python2.4/site-packages/twisted/python/versions.py \
101${libdir}/python2.4/site-packages/twisted/python/urlpath.py \
102${libdir}/python2.4/site-packages/twisted/python/util.py \
103${libdir}/python2.4/site-packages/twisted/python/components.py \
104${libdir}/python2.4/site-packages/twisted/python/logfile.py \
105${libdir}/python2.4/site-packages/twisted/python/runtime.py \
106${libdir}/python2.4/site-packages/twisted/python/reflect.py \
107${libdir}/python2.4/site-packages/twisted/python/context.py \
108${libdir}/python2.4/site-packages/twisted/python/threadable.py \
109${libdir}/python2.4/site-packages/twisted/python/rebuild.py \
110${libdir}/python2.4/site-packages/twisted/python/failure.py \
111${libdir}/python2.4/site-packages/twisted/python/lockfile.py \
112${libdir}/python2.4/site-packages/twisted/python/formmethod.py \
113${libdir}/python2.4/site-packages/twisted/python/finalize.py \
114${libdir}/python2.4/site-packages/twisted/python/win32.py \
115${libdir}/python2.4/site-packages/twisted/python/dist.py \
116${libdir}/python2.4/site-packages/twisted/python/shortcut.py \
117${libdir}/python2.4/site-packages/twisted/python/zipstream.py \
118${libdir}/python2.4/site-packages/twisted/python/release.py \
119${libdir}/python2.4/site-packages/twisted/python/syslog.py \
120${libdir}/python2.4/site-packages/twisted/python/log.py \
121${libdir}/python2.4/site-packages/twisted/python/compat.py \
122${libdir}/python2.4/site-packages/twisted/python/zshcomp.py \
123${libdir}/python2.4/site-packages/twisted/python/procutils.py \
124${libdir}/python2.4/site-packages/twisted/python/text.py \
125${libdir}/python2.4/site-packages/twisted/python/_twisted_zsh_stub \
126${libdir}/python2.4/site-packages/twisted/scripts/ \
127${libdir}/python2.4/site-packages/twisted/spread/ \
128${libdir}/python2.4/site-packages/twisted/tap/ \
129${libdir}/python2.4/site-packages/twisted/trial/ \
130${libdir}/python2.4/site-packages/twisted/__init__.py \
131${libdir}/python2.4/site-packages/twisted/_version.py \
132${libdir}/python2.4/site-packages/twisted/copyright.py \
133${libdir}/python2.4/site-packages/twisted/im.py \
134${libdir}/python2.4/site-packages/twisted/plugin.py \
135"
136
137FILES_python-twisted-lore = " \
138${bindir}/bookify \
139${bindir}/lore \
140${libdir}/python2.4/site-packages/twisted/plugins/twisted_lore.py \
141${libdir}/python2.4/site-packages/twisted/lore \
142"
143
144FILES_python-twisted-mail = " \
145${bindir}/mailmail \
146${libdir}/python2.4/site-packages/twisted/plugins/twisted_mail.py \
147${libdir}/python2.4/site-packages/twisted/mail \
148"
149
150FILES_python-twisted-names = " \
151${libdir}/python2.4/site-packages/twisted/plugins/twisted_names.py \
152${libdir}/python2.4/site-packages/twisted/names \
153"
154
155FILES_python-twisted-news = " \
156${libdir}/python2.4/site-packages/twisted/plugins/twisted_news.py \
157${libdir}/python2.4/site-packages/twisted/news \
158"
159
160FILES_python-twisted-runner = " \
161${libdir}python2.4/site-packages/twisted/runner/portmap.so \
162${libdir}/python2.4/site-packages/twisted/runner\
163"
164
165FILES_python-twisted-web = " \
166${bindir}/websetroot \
167${libdir}/python2.4/site-packages/twisted/plugins/twisted_web.py \
168${libdir}/python2.4/site-packages/twisted/web\
169"
170
171FILES_python-twisted-words = " \
172${bindir}/im \
173${libdir}/python2.4/site-packages/twisted/plugins/twisted_words.py \
174${libdir}/python2.4/site-packages/twisted/words\
175"
diff --git a/meta-extras/packages/uicmoc/uicmoc4-native.inc b/meta-extras/packages/uicmoc/uicmoc4-native.inc
deleted file mode 100644
index b6933628d9..0000000000
--- a/meta-extras/packages/uicmoc/uicmoc4-native.inc
+++ /dev/null
@@ -1,67 +0,0 @@
1DESCRIPTION = "User-Interface-, Meta-Object-, and Resource Compiler for Qt/[X11|Mac|Embedded] version 4.x"
2DEPENDS = "zlib-native"
3SECTION = "libs"
4HOMEPAGE = "http://www.trolltech.com"
5PRIORITY = "optional"
6LICENSE = "GPL"
7PR = "r1"
8
9SRC_URI = "ftp://ftp.trolltech.com/qt/source/qtopia-core-opensource-src-${PV}.tar.gz"
10S = "${WORKDIR}/qtopia-core-opensource-src-${PV}"
11
12inherit native
13
14EXTRA_OECONF = "-prefix ${STAGING_DIR_NATIVE}/qt4 \
15 -qt-libjpeg -qt-gif -system-zlib \
16 -no-nis -no-cups -no-exceptions \
17 -no-accessibility -no-libjpeg \
18 -no-nas-sound -no-sm \
19 -no-xshape -no-xinerama \
20 -no-xcursor -no-xrandr \
21 -no-xrender -no-fontconfig \
22 -no-tablet -no-xkb \
23 -no-libpng \
24 -verbose -release -fast -static \
25 -L ${STAGING_LIBDIR_NATIVE} \
26 -qt3support "
27# yank default -e
28EXTRA_OEMAKE = " "
29
30do_configure() {
31 sed -i 's:^QT += xml qt3support$:QT += xml qt3support network:' "${S}"/src/tools/uic3/uic3.pro
32 echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
33}
34
35TOBUILD = "\
36 src/tools/moc \
37 src/corelib \
38 src/sql \
39 src/qt3support \
40 src/xml \
41 src/tools/uic \
42 src/tools/rcc \
43 src/network \
44 src/gui \
45 src/tools/uic3 \
46"
47
48do_compile() {
49 unset CC CXX CFLAGS LFLAGS CXXFLAGS CPPFLAGS
50 for i in ${TOBUILD}; do
51 cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
52 done
53}
54
55do_install() {
56 install -d ${D}${bindir}/
57 install -m 0755 bin/moc ${D}${bindir}//moc4
58 install -m 0755 bin/uic ${D}${bindir}/uic4
59 install -m 0755 bin/uic3 ${D}${bindir}/uic34
60 install -m 0755 bin/rcc $${D}${bindir}/rcc4
61 install -d ${D}/qt4/
62 install -m 0644 tools/porting/src/q3porting.xml ${D}/qt4/
63}
64
65sysroot_stage_all_append() {
66 sysroot_stage_dir ${D}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/qt4
67}
diff --git a/meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb b/meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb
deleted file mode 100644
index 1950f63068..0000000000
--- a/meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb
+++ /dev/null
@@ -1 +0,0 @@
1require uicmoc4-native.inc
diff --git a/meta-extras/packages/xorg-app/iceauth_1.0.2.bb b/meta-extras/packages/xorg-app/iceauth_1.0.2.bb
deleted file mode 100644
index 3dec6f4660..0000000000
--- a/meta-extras/packages/xorg-app/iceauth_1.0.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DESCRIPTION = "a tool for manipulating ICE protocol authorization records"
5
6DEPENDS += " libice"
diff --git a/meta-extras/packages/xorg-app/luit_1.0.2.bb b/meta-extras/packages/xorg-app/luit_1.0.2.bb
deleted file mode 100644
index 00ae395c61..0000000000
--- a/meta-extras/packages/xorg-app/luit_1.0.2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3PR = "r1"
4
5DESCRIPTION = "a filter for locale and ISO 2022 support on Unicode terminals"
6
7DEPENDS += " zlib virtual/libx11 libfontenc libxdmcp"
8
diff --git a/meta-extras/packages/xorg-app/oclock_1.0.1.bb b/meta-extras/packages/xorg-app/oclock_1.0.1.bb
deleted file mode 100644
index b2abeadfb0..0000000000
--- a/meta-extras/packages/xorg-app/oclock_1.0.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " virtual/libx11 libxmu libxext libxt"
5
diff --git a/meta-extras/packages/xorg-app/rgb_1.0.1.bb b/meta-extras/packages/xorg-app/rgb_1.0.1.bb
deleted file mode 100644
index f3622410ee..0000000000
--- a/meta-extras/packages/xorg-app/rgb_1.0.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " xproto util-macros"
5
6FILES_${PN} += "${datadir}/X11"
diff --git a/meta-extras/packages/xorg-app/sessreg_1.0.4.bb b/meta-extras/packages/xorg-app/sessreg_1.0.4.bb
deleted file mode 100644
index 6dc94a3699..0000000000
--- a/meta-extras/packages/xorg-app/sessreg_1.0.4.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DESCRIPTION = "a simple program for managing utmp/wtmp entries"
5
6DEPENDS += " virtual/libx11"
diff --git a/meta-extras/packages/xorg-app/twm_1.0.4.bb b/meta-extras/packages/xorg-app/twm_1.0.4.bb
deleted file mode 100644
index b8e75b2bbd..0000000000
--- a/meta-extras/packages/xorg-app/twm_1.0.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DESCRIPTION = "tiny window manager"
5
6DEPENDS += " virtual/libx11 libxext libxt libxmu"
7
8ALTERNATIVE_PATH = "${bindir}/twm"
9ALTERNATIVE_NAME = "x-window-manager"
10ALTERNATIVE_LINK = "${bindir}/x-window-manager"
11ALTERNATIVE_PRIORITY = "1"
diff --git a/meta-extras/packages/xorg-app/xbiff_1.0.1.bb b/meta-extras/packages/xorg-app/xbiff_1.0.1.bb
deleted file mode 100644
index 5ccac5cf17..0000000000
--- a/meta-extras/packages/xorg-app/xbiff_1.0.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3PR = "r1"
4
5DEPENDS += " libxaw xbitmaps libxext"
6
7do_configure_prepend () {
8 sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac
9}
diff --git a/meta-extras/packages/xorg-app/xclipboard_1.1.0.bb b/meta-extras/packages/xorg-app/xclipboard_1.1.0.bb
deleted file mode 100644
index 852b803757..0000000000
--- a/meta-extras/packages/xorg-app/xclipboard_1.1.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " libxaw libxt"
diff --git a/meta-extras/packages/xorg-app/xclock_1.0.4.bb b/meta-extras/packages/xorg-app/xclock_1.0.4.bb
deleted file mode 100644
index bbd839a132..0000000000
--- a/meta-extras/packages/xorg-app/xclock_1.0.4.bb
+++ /dev/null
@@ -1,5 +0,0 @@
1require xorg-app-common.inc
2DESCRIPTION = "analog / digital clock for X"
3DEPENDS += " virtual/libx11 libxaw libxrender libxft libxkbfile libxt"
4PE = "1"
5
diff --git a/meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb b/meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb
deleted file mode 100644
index 056d04bf12..0000000000
--- a/meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " virtual/libx11 libxdmcp"
diff --git a/meta-extras/packages/xorg-app/xconsole_1.0.3.bb b/meta-extras/packages/xorg-app/xconsole_1.0.3.bb
deleted file mode 100644
index 0e28d9897e..0000000000
--- a/meta-extras/packages/xorg-app/xconsole_1.0.3.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require xorg-app-common.inc
2DESCRIPTION = "monitor system console messages with X"
3DEPENDS += " libxt"
4PE = "1"
5PR = "r1"
6
7do_configure_prepend () {
8 sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac
9}
diff --git a/meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb b/meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb
deleted file mode 100644
index 98e619e99a..0000000000
--- a/meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2DESCRIPTION = "create an X cursor file from a collection of PNG images"
3DEPENDS += " virtual/libx11 libxcursor libpng"
4PE = "1"
diff --git a/meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb b/meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb
deleted file mode 100644
index b995e91753..0000000000
--- a/meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2DESCRIPTION = "query configuration information of DRI drivers"
3DEPENDS += " virtual/libx11 glproto virtual/libgl"
4PE = "1"
diff --git a/meta-extras/packages/xorg-app/xfd_1.0.1.bb b/meta-extras/packages/xorg-app/xfd_1.0.1.bb
deleted file mode 100644
index f2b0c12835..0000000000
--- a/meta-extras/packages/xorg-app/xfd_1.0.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3PR = "r1"
4
5DEPENDS += " libxaw freetype fontconfig libxft libxt"
6
7do_configure_prepend () {
8 sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac
9}
diff --git a/meta-extras/packages/xorg-app/xfontsel_1.0.2.bb b/meta-extras/packages/xorg-app/xfontsel_1.0.2.bb
deleted file mode 100644
index 294b029b72..0000000000
--- a/meta-extras/packages/xorg-app/xfontsel_1.0.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require xorg-app-common.inc
2
3DESCRIPTION = "point and click selection of X11 font names"
4DEPENDS += " libxaw"
5PR = "r1"
6
7do_configure_prepend () {
8 sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac
9}
diff --git a/meta-extras/packages/xorg-app/xgamma_1.0.2.bb b/meta-extras/packages/xorg-app/xgamma_1.0.2.bb
deleted file mode 100644
index e5d479aa81..0000000000
--- a/meta-extras/packages/xorg-app/xgamma_1.0.2.bb
+++ /dev/null
@@ -1,5 +0,0 @@
1require xorg-app-common.inc
2
3DESCRIPTION = "Alter a monitor's gamma correction through the X server"
4DEPENDS += " virtual/libx11 libxxf86vm"
5PE = "1"
diff --git a/meta-extras/packages/xorg-app/xkbevd_1.0.2.bb b/meta-extras/packages/xorg-app/xkbevd_1.0.2.bb
deleted file mode 100644
index 4223f93438..0000000000
--- a/meta-extras/packages/xorg-app/xkbevd_1.0.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " libxkbfile virtual/libx11"
diff --git a/meta-extras/packages/xorg-app/xkbprint_1.0.2.bb b/meta-extras/packages/xorg-app/xkbprint_1.0.2.bb
deleted file mode 100644
index 4223f93438..0000000000
--- a/meta-extras/packages/xorg-app/xkbprint_1.0.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " libxkbfile virtual/libx11"
diff --git a/meta-extras/packages/xorg-app/xkbutils_1.0.2.bb b/meta-extras/packages/xorg-app/xkbutils_1.0.2.bb
deleted file mode 100644
index 102a9ba2d8..0000000000
--- a/meta-extras/packages/xorg-app/xkbutils_1.0.2.bb
+++ /dev/null
@@ -1,5 +0,0 @@
1require xorg-app-common.inc
2
3#DESCRIPTION = ""
4
5DEPENDS += " libxaw libxkbfile virtual/libx11"
diff --git a/meta-extras/packages/xorg-app/xkill_1.0.1.bb b/meta-extras/packages/xorg-app/xkill_1.0.1.bb
deleted file mode 100644
index b6ede179c1..0000000000
--- a/meta-extras/packages/xorg-app/xkill_1.0.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " virtual/libx11 libxmu"
diff --git a/meta-extras/packages/xorg-app/xload_1.0.2.bb b/meta-extras/packages/xorg-app/xload_1.0.2.bb
deleted file mode 100644
index adc79bc7ed..0000000000
--- a/meta-extras/packages/xorg-app/xload_1.0.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1require xorg-app-common.inc
2
3DESCRIPTION = "system load average display for X"
4DEPENDS += " libxaw libxt"
5PE = "1"
6PR = "r1"
7
8do_configure_prepend () {
9 sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac
10}
diff --git a/meta-extras/packages/xorg-app/xlogo_1.0.1.bb b/meta-extras/packages/xorg-app/xlogo_1.0.1.bb
deleted file mode 100644
index 393d99b333..0000000000
--- a/meta-extras/packages/xorg-app/xlogo_1.0.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " libxaw libxprintutil libxp libxrender libxft libxext libxt"
diff --git a/meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb b/meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb
deleted file mode 100644
index b6ede179c1..0000000000
--- a/meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " virtual/libx11 libxmu"
diff --git a/meta-extras/packages/xorg-app/xlsclients_1.0.1.bb b/meta-extras/packages/xorg-app/xlsclients_1.0.1.bb
deleted file mode 100644
index b6ede179c1..0000000000
--- a/meta-extras/packages/xorg-app/xlsclients_1.0.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " virtual/libx11 libxmu"
diff --git a/meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb b/meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb
deleted file mode 100644
index 31cd482b61..0000000000
--- a/meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2
3DESCRIPTION = "server font list displayer for X"
4DEPENDS += " virtual/libx11"
diff --git a/meta-extras/packages/xorg-app/xmag_1.0.2.bb b/meta-extras/packages/xorg-app/xmag_1.0.2.bb
deleted file mode 100644
index 1f01603462..0000000000
--- a/meta-extras/packages/xorg-app/xmag_1.0.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1require xorg-app-common.inc
2
3DESCRIPTION = "magnify parts of the screen"
4DEPENDS += " libxaw libxt"
5PE = "1"
6PR = "r1"
7
8do_configure_prepend () {
9 sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac
10}
diff --git a/meta-extras/packages/xorg-app/xmessage_1.0.2.bb b/meta-extras/packages/xorg-app/xmessage_1.0.2.bb
deleted file mode 100644
index 82b6a9a577..0000000000
--- a/meta-extras/packages/xorg-app/xmessage_1.0.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1require xorg-app-common.inc
2
3DESCRIPTION = "xmessage displays a message or query in a window."
4DEPENDS += " libxaw libxt"
5PE = "1"
6PR = "r1"
7
8do_configure_prepend () {
9 sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac
10}
diff --git a/meta-extras/packages/xorg-app/xorg-app-common.inc b/meta-extras/packages/xorg-app/xorg-app-common.inc
deleted file mode 100644
index 11f7fe3e00..0000000000
--- a/meta-extras/packages/xorg-app/xorg-app-common.inc
+++ /dev/null
@@ -1,15 +0,0 @@
1DESCRIPTION = "X application"
2HOMEPAGE = "http://www.x.org/"
3SECTION = "x11/apps"
4LICENSE = "MIT-X"
5DEPENDS = "util-macros-native virtual/libx11"
6
7XORG_PN = "${PN}"
8
9SRC_URI = "${XORG_MIRROR}/individual/app/${XORG_PN}-${PV}.tar.bz2"
10
11S = "${WORKDIR}/${XORG_PN}-${PV}"
12
13inherit autotools pkgconfig
14
15FILES_${PN} += " /usr/lib/X11/${XORG_PN}"
diff --git a/meta-extras/packages/xorg-app/xpr_1.0.2.bb b/meta-extras/packages/xorg-app/xpr_1.0.2.bb
deleted file mode 100644
index 96b340c8c7..0000000000
--- a/meta-extras/packages/xorg-app/xpr_1.0.2.bb
+++ /dev/null
@@ -1,5 +0,0 @@
1require xorg-app-common.inc
2
3DESCRIPTION = "print an X window dump"
4DEPENDS += " libxmu virtual/libx11"
5PE = "1"
diff --git a/meta-extras/packages/xorg-app/xrefresh_1.0.2.bb b/meta-extras/packages/xorg-app/xrefresh_1.0.2.bb
deleted file mode 100644
index 8a569b0659..0000000000
--- a/meta-extras/packages/xorg-app/xrefresh_1.0.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " virtual/libx11"
diff --git a/meta-extras/packages/xorg-app/xsetroot_1.0.2.bb b/meta-extras/packages/xorg-app/xsetroot_1.0.2.bb
deleted file mode 100644
index 0f63feb79f..0000000000
--- a/meta-extras/packages/xorg-app/xsetroot_1.0.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require xorg-app-common.inc
2
3DESCRIPTION = "Sets the visual appearance of the X root window"
4LICENSE = "MIT"
5DEPENDS += "libxmu xbitmaps"
6PE = "1"
diff --git a/meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb b/meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb
deleted file mode 100644
index 6a2e501624..0000000000
--- a/meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " libxmu virtual/libx11"
diff --git a/meta-extras/packages/xorg-app/xterm_207.bb b/meta-extras/packages/xorg-app/xterm_207.bb
deleted file mode 100644
index aae600b545..0000000000
--- a/meta-extras/packages/xorg-app/xterm_207.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1DESCRIPTION = "xterm app"
2SECTION = "x11/applications"
3LICENSE = "MIT-X"
4
5DEPENDS = "libxaw xproto virtual/libx11 xextproto xext xau libxpm ncurses"
6
7SRC_URI = "${XORG_MIRROR}/development/X11R7.0-RC4/extras/${PN}-${PV}.tar.gz"
8
9inherit autotools pkgconfig
10
11FILES_${PN} += " /usr/lib/X11"
12
13#EXTRA_OERECONF = " -I${S}/xterm.m4"
14EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR} FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config --disable-imake"
15
16#do_configure_prepend () {
17# mv ${S}/aclocal.m4 ${S}/xterm.m4
18#}
19do_configure() {
20
21 sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
22
23 oe_runconf
24}
diff --git a/meta-extras/packages/xorg-app/xtrap_1.0.2.bb b/meta-extras/packages/xorg-app/xtrap_1.0.2.bb
deleted file mode 100644
index cf87d235c7..0000000000
--- a/meta-extras/packages/xorg-app/xtrap_1.0.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " virtual/libx11 libxtrap"
diff --git a/meta-extras/packages/xorg-app/xvidtune_1.0.1.bb b/meta-extras/packages/xorg-app/xvidtune_1.0.1.bb
deleted file mode 100644
index 8a20fff4e8..0000000000
--- a/meta-extras/packages/xorg-app/xvidtune_1.0.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3PR = "r1"
4
5DEPENDS += " libxaw libxxf86vm libxt"
6
7do_configure_prepend () {
8 sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac
9}
diff --git a/meta-extras/packages/xorg-app/xvinfo_1.0.2.bb b/meta-extras/packages/xorg-app/xvinfo_1.0.2.bb
deleted file mode 100644
index ac27f13f34..0000000000
--- a/meta-extras/packages/xorg-app/xvinfo_1.0.2.bb
+++ /dev/null
@@ -1,5 +0,0 @@
1require xorg-app-common.inc
2
3DESCRIPTION = "Print out X-Video extension adaptor information"
4DEPENDS += " libxv"
5PE = "1"
diff --git a/meta-extras/packages/xorg-app/xwd_1.0.1.bb b/meta-extras/packages/xorg-app/xwd_1.0.1.bb
deleted file mode 100644
index 6a2e501624..0000000000
--- a/meta-extras/packages/xorg-app/xwd_1.0.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " libxmu virtual/libx11"
diff --git a/meta-extras/packages/xorg-app/xwud_1.0.1.bb b/meta-extras/packages/xorg-app/xwud_1.0.1.bb
deleted file mode 100644
index 8a569b0659..0000000000
--- a/meta-extras/packages/xorg-app/xwud_1.0.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
1require xorg-app-common.inc
2PE = "1"
3
4DEPENDS += " virtual/libx11"
diff --git a/meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb b/meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb
deleted file mode 100644
index f622d769d5..0000000000
--- a/meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
1require xorg-data-common.inc
2
3DESCRIPTION = "Common X11 Bitmaps"
4LICENSE = "MIT"
5DEPENDS += "libxmu"
diff --git a/meta-extras/packages/xorg-data/xorg-data-common.inc b/meta-extras/packages/xorg-data/xorg-data-common.inc
deleted file mode 100644
index e128763398..0000000000
--- a/meta-extras/packages/xorg-data/xorg-data-common.inc
+++ /dev/null
@@ -1,10 +0,0 @@
1HOMEPAGE = "http://www.x.org"
2SECTION = "x11/data"
3LICENSE = "MIT-X"
4
5XORG_PN = "${PN}"
6
7SRC_URI = "${XORG_MIRROR}/individual/data/${XORG_PN}-${PV}.tar.bz2"
8S = "${WORKDIR}/${XORG_PN}-${PV}"
9
10inherit autotools pkgconfig
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch
deleted file mode 100644
index f87e7cc2cd..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch
+++ /dev/null
@@ -1,14 +0,0 @@
1--- xserver/hw/kdrive/fbdev/fbdev.c~ 2004-09-15 00:08:10.000000000 +0100
2+++ xserver/hw/kdrive/fbdev/fbdev.c 2004-11-13 17:47:02.000000000 +0000
3@@ -198,6 +198,11 @@
4 return FALSE;
5 }
6
7+ /* Re-get the "fixed" parameters since they might have changed */
8+ k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix);
9+ if (k < 0)
10+ perror ("FBIOGET_FSCREENINFO");
11+
12 /* Now get the new screeninfo */
13 ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var);
14 depth = priv->var.bits_per_pixel;
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch
deleted file mode 100644
index 3da235e1e1..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1# Reverse include order in render/picturestr.h to be able to compile against renderproto >= 0.9.3
2Index: xorg-server-1.2.0/render/picturestr.h
3===================================================================
4--- xorg-server-1.2.0.orig/render/picturestr.h 2008-02-09 22:54:46.000000000 +0100
5+++ xorg-server-1.2.0/render/picturestr.h 2008-02-09 22:54:50.000000000 +0100
6@@ -26,8 +26,8 @@
7 #ifndef _PICTURESTR_H_
8 #define _PICTURESTR_H_
9
10-#include "glyphstr.h"
11 #include "scrnintstr.h"
12+#include "glyphstr.h"
13 #include "resource.h"
14
15 typedef struct _DirectFormat {
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch
deleted file mode 100644
index edc5146302..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1---
2 hw/kdrive/src/kmode.c | 4 ++--
3 1 file changed, 2 insertions(+), 2 deletions(-)
4
5Index: xorg-server-1.3.0.0/hw/kdrive/src/kmode.c
6===================================================================
7--- xorg-server-1.3.0.0.orig/hw/kdrive/src/kmode.c 2007-05-16 10:30:29.000000000 +0100
8+++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2007-05-16 10:31:08.000000000 +0100
9@@ -106,6 +106,8 @@ const KdMonitorTiming kdMonitorTimings[
10 16, 120, 176, KdSyncNegative, /* 37.861 */
11 1, 20, 24, KdSyncNegative, /* 72.809 */
12 },
13+ /* DEFAULT */
14+#define MONITOR_TIMING_DEFAULT 13
15 { 640, 480, 60, 25175, /* VESA */
16 16, 48, 160, KdSyncNegative, /* 31.469 */
17 10, 33, 45, KdSyncNegative, /* 59.940 */
18@@ -127,8 +129,6 @@ const KdMonitorTiming kdMonitorTimings[
19 16, 160, 256, KdSyncPositive, /* 46.875 */
20 1, 21, 25, KdSyncPositive, /* 75.000 */
21 },
22- /* DEFAULT */
23-#define MONITOR_TIMING_DEFAULT 9
24 { 800, 600, 72, 50000, /* VESA */
25 56, 64, 240, KdSyncPositive, /* 48.077 */
26 37, 23, 66, KdSyncPositive, /* 72.188 */
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch
deleted file mode 100644
index 56817a7001..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1--- /tmp/kmode.c 2007-10-07 11:49:52.000000000 +0200
2+++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2007-10-07 11:51:57.962045000 +0200
3@@ -119,7 +119,19 @@
4 0, 0, 0, KdSyncNegative, /* 59.940 */
5 },
6
7-
8+
9+/* gumstix console-vx */
10+ { 480, 272, 60, 0, /* VESA */
11+ 0, 0, 0, KdSyncNegative, /* 31.469 */
12+ 0, 0, 0, KdSyncNegative, /* 59.940 */
13+ },
14+
15+ { 272, 480, 60, 0, /* VESA */
16+ 0, 0, 0, KdSyncNegative, /* 31.469 */
17+ 0, 0, 0, KdSyncNegative, /* 59.940 */
18+ },
19+
20+
21 /* 800x600 modes */
22 { 800, 600, 85, 56250, /* VESA */
23 32, 152, 248, KdSyncPositive, /* 53.674 */
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch
deleted file mode 100644
index 714536934c..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch
+++ /dev/null
@@ -1,419 +0,0 @@
1diff -Nurd xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.c
2--- xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c 2006-11-16 19:01:23.000000000 +0100
3+++ xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.c 2007-09-15 16:53:20.152045000 +0200
4@@ -213,6 +213,24 @@
5
6 /* Now get the new screeninfo */
7 ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var);
8+ /* Special treatment of 18bpp */
9+ if ((priv->var.red.length == 6) && (priv->var.green.length == 6) &&
10+ (priv->var.blue.length == 6))
11+ {
12+ priv->var.red.length = 8;
13+ if (priv->var.red.offset != 0)
14+ priv->var.red.offset = 16;
15+ priv->var.green.length = 8;
16+ priv->var.green.offset = 8;
17+ priv->var.blue.length = 8;
18+ if (priv->var.blue.offset != 0)
19+ priv->var.blue.offset = 16;
20+ priv->var.bits_per_pixel = 32;
21+ priv->Have18Bpp = TRUE;
22+ }
23+ else
24+ priv->Have18Bpp = FALSE;
25+
26 depth = priv->var.bits_per_pixel;
27 gray = priv->var.grayscale;
28
29@@ -334,7 +352,7 @@
30 KdMouseMatrix m;
31 FbdevPriv *priv = screen->card->driver;
32
33- if (scrpriv->randr != RR_Rotate_0)
34+ if (scrpriv->randr != RR_Rotate_0 || priv->Have18Bpp)
35 scrpriv->shadow = TRUE;
36 else
37 scrpriv->shadow = FALSE;
38@@ -398,6 +416,354 @@
39 return TRUE;
40 }
41
42+void
43+shadowUpdatePacked18 (ScreenPtr pScreen,
44+ shadowBufPtr pBuf)
45+{
46+ RegionPtr damage = shadowDamage (pBuf);
47+ PixmapPtr pShadow = pBuf->pPixmap;
48+ int nbox = REGION_NUM_RECTS (damage);
49+ BoxPtr pbox = REGION_RECTS (damage);
50+ FbBits *shaBase, *shaLine, *sha;
51+ FbStride shaStride;
52+ int scrBase, scrLine, scr;
53+ int shaBpp;
54+ int shaXoff, shaYoff; /* XXX assumed to be zero */
55+ int x, y, w, h, width;
56+ int i;
57+ char *winBase = NULL, *win;
58+ CARD32 winSize;
59+
60+ fbGetDrawable (&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff, shaYoff);
61+ while (nbox--)
62+ {
63+ x = pbox->x1 * shaBpp;
64+ y = pbox->y1;
65+ w = (pbox->x2 - pbox->x1) * shaBpp;
66+ h = pbox->y2 - pbox->y1;
67+
68+ scrLine = (x >> FB_SHIFT);
69+ shaLine = shaBase + y * shaStride + (x >> FB_SHIFT);
70+
71+ x &= FB_MASK;
72+ w = (w + x + FB_MASK) >> FB_SHIFT;
73+
74+ while (h--)
75+ {
76+ winSize = 0;
77+ scrBase = 0;
78+ width = w;
79+ scr = scrLine;
80+ sha = shaLine;
81+ while (width) {
82+ /* how much remains in this window */
83+ i = scrBase + winSize - scr;
84+ if (i <= 0 || scr < scrBase)
85+ {
86+ winBase = (char *) (*pBuf->window) (pScreen,
87+ y,
88+ scr * 3,
89+ SHADOW_WINDOW_WRITE,
90+ &winSize,
91+ pBuf->closure);
92+ if(!winBase)
93+ return;
94+ scrBase = scr;
95+ winSize /= 3;
96+ i = winSize;
97+ }
98+ win = winBase + (scr - scrBase);
99+ if (i > width)
100+ i = width;
101+ width -= i;
102+ scr += i;
103+#define PickBit(a,i) (((a) >> (i)) & 1)
104+ while (i--)
105+ {
106+ FbBits bits = *sha++;
107+ *win++ = ((bits & 0xFC) >> 2) |
108+ ((bits & 0xC00) >> 4);
109+ *win++ = ((bits & 0xF000) >> 12) |
110+ ((bits & 0x3C0000) >> 14);
111+ *win++ = (bits & 0xC00000) >> 22;
112+ }
113+ }
114+ shaLine += shaStride;
115+ y++;
116+ }
117+ pbox++;
118+ }
119+}
120+
121+#define LEFT_TO_RIGHT 1
122+#define RIGHT_TO_LEFT -1
123+#define TOP_TO_BOTTOM 2
124+#define BOTTOM_TO_TOP -2
125+
126+void
127+shadowUpdateRotatePacked18 (ScreenPtr pScreen,
128+ shadowBufPtr pBuf)
129+{
130+ RegionPtr damage = shadowDamage (pBuf);
131+ PixmapPtr pShadow = pBuf->pPixmap;
132+ int nbox = REGION_NUM_RECTS (damage);
133+ BoxPtr pbox = REGION_RECTS (damage);
134+ FbBits *shaBits;
135+ FbStride shaStride;
136+ int shaBpp;
137+ int shaXoff, shaYoff;
138+ int box_x1, box_x2, box_y1, box_y2;
139+ int sha_x1 = 0, sha_y1 = 0;
140+ int scr_x1 = 0, scr_x2 = 0, scr_y1 = 0, scr_y2 = 0, scr_w, scr_h;
141+ int scr_x, scr_y;
142+ int w;
143+ int pixelsPerBits;
144+ int pixelsMask;
145+ FbStride shaStepOverY = 0, shaStepDownY = 0;
146+ FbStride shaStepOverX = 0, shaStepDownX = 0;
147+ FbBits *shaLine, *sha;
148+ int shaHeight = pShadow->drawable.height;
149+ int shaWidth = pShadow->drawable.width;
150+ FbBits shaMask;
151+ int shaFirstShift, shaShift;
152+ int o_x_dir;
153+ int o_y_dir;
154+ int x_dir;
155+ int y_dir;
156+
157+ fbGetDrawable (&pShadow->drawable, shaBits, shaStride, shaBpp, shaXoff, shaYoff);
158+ pixelsPerBits = (sizeof (FbBits) * 8) / shaBpp;
159+ pixelsMask = ~(pixelsPerBits - 1);
160+ shaMask = FbBitsMask (FB_UNIT-shaBpp, shaBpp);
161+ /*
162+ * Compute rotation related constants to walk the shadow
163+ */
164+ o_x_dir = LEFT_TO_RIGHT;
165+ o_y_dir = TOP_TO_BOTTOM;
166+ if (pBuf->randr & SHADOW_REFLECT_X)
167+ o_x_dir = -o_x_dir;
168+ if (pBuf->randr & SHADOW_REFLECT_Y)
169+ o_y_dir = -o_y_dir;
170+ switch (pBuf->randr & (SHADOW_ROTATE_ALL)) {
171+ case SHADOW_ROTATE_0: /* upper left shadow -> upper left screen */
172+ default:
173+ x_dir = o_x_dir;
174+ y_dir = o_y_dir;
175+ break;
176+ case SHADOW_ROTATE_90: /* upper right shadow -> upper left screen */
177+ x_dir = o_y_dir;
178+ y_dir = -o_x_dir;
179+ break;
180+ case SHADOW_ROTATE_180: /* lower right shadow -> upper left screen */
181+ x_dir = -o_x_dir;
182+ y_dir = -o_y_dir;
183+ break;
184+ case SHADOW_ROTATE_270: /* lower left shadow -> upper left screen */
185+ x_dir = -o_y_dir;
186+ y_dir = o_x_dir;
187+ break;
188+ }
189+ switch (x_dir) {
190+ case LEFT_TO_RIGHT:
191+ shaStepOverX = shaBpp;
192+ shaStepOverY = 0;
193+ break;
194+ case TOP_TO_BOTTOM:
195+ shaStepOverX = 0;
196+ shaStepOverY = shaStride;
197+ break;
198+ case RIGHT_TO_LEFT:
199+ shaStepOverX = -shaBpp;
200+ shaStepOverY = 0;
201+ break;
202+ case BOTTOM_TO_TOP:
203+ shaStepOverX = 0;
204+ shaStepOverY = -shaStride;
205+ break;
206+ }
207+ switch (y_dir) {
208+ case TOP_TO_BOTTOM:
209+ shaStepDownX = 0;
210+ shaStepDownY = shaStride;
211+ break;
212+ case RIGHT_TO_LEFT:
213+ shaStepDownX = -shaBpp;
214+ shaStepDownY = 0;
215+ break;
216+ case BOTTOM_TO_TOP:
217+ shaStepDownX = 0;
218+ shaStepDownY = -shaStride;
219+ break;
220+ case LEFT_TO_RIGHT:
221+ shaStepDownX = shaBpp;
222+ shaStepDownY = 0;
223+ break;
224+ }
225+
226+ while (nbox--)
227+ {
228+ box_x1 = pbox->x1;
229+ box_y1 = pbox->y1;
230+ box_x2 = pbox->x2;
231+ box_y2 = pbox->y2;
232+ pbox++;
233+
234+ /*
235+ * Compute screen and shadow locations for this box
236+ */
237+ switch (x_dir) {
238+ case LEFT_TO_RIGHT:
239+ scr_x1 = box_x1 & pixelsMask;
240+ scr_x2 = (box_x2 + pixelsPerBits - 1) & pixelsMask;
241+
242+ sha_x1 = scr_x1;
243+ break;
244+ case TOP_TO_BOTTOM:
245+ scr_x1 = box_y1 & pixelsMask;
246+ scr_x2 = (box_y2 + pixelsPerBits - 1) & pixelsMask;
247+
248+ sha_y1 = scr_x1;
249+ break;
250+ case RIGHT_TO_LEFT:
251+ scr_x1 = (shaWidth - box_x2) & pixelsMask;
252+ scr_x2 = (shaWidth - box_x1 + pixelsPerBits - 1) & pixelsMask;
253+
254+ sha_x1 = (shaWidth - scr_x1 - 1);
255+ break;
256+ case BOTTOM_TO_TOP:
257+ scr_x1 = (shaHeight - box_y2) & pixelsMask;
258+ scr_x2 = (shaHeight - box_y1 + pixelsPerBits - 1) & pixelsMask;
259+
260+ sha_y1 = (shaHeight - scr_x1 - 1);
261+ break;
262+ }
263+ switch (y_dir) {
264+ case TOP_TO_BOTTOM:
265+ scr_y1 = box_y1;
266+ scr_y2 = box_y2;
267+
268+ sha_y1 = scr_y1;
269+ break;
270+ case RIGHT_TO_LEFT:
271+ scr_y1 = (shaWidth - box_x2);
272+ scr_y2 = (shaWidth - box_x1);
273+
274+ sha_x1 = box_x2 - 1;
275+ break;
276+ case BOTTOM_TO_TOP:
277+ scr_y1 = shaHeight - box_y2;
278+ scr_y2 = shaHeight - box_y1;
279+
280+ sha_y1 = box_y2 - 1;
281+ break;
282+ case LEFT_TO_RIGHT:
283+ scr_y1 = box_x1;
284+ scr_y2 = box_x2;
285+
286+ sha_x1 = box_x1;
287+ break;
288+ }
289+ scr_w = ((scr_x2 - scr_x1) * shaBpp) >> FB_SHIFT;
290+ scr_h = scr_y2 - scr_y1;
291+ scr_y = scr_y1;
292+
293+ /* shift amount for first pixel on screen */
294+ shaFirstShift = FB_UNIT - ((sha_x1 * shaBpp) & FB_MASK) - shaBpp;
295+
296+ /* pointer to shadow data first placed on screen */
297+ shaLine = (shaBits +
298+ sha_y1 * shaStride +
299+ ((sha_x1 * shaBpp) >> FB_SHIFT));
300+
301+ /*
302+ * Copy the bits, always write across the physical frame buffer
303+ * to take advantage of write combining.
304+ */
305+ while (scr_h--)
306+ {
307+ int p;
308+ FbBits bits;
309+ char *win;
310+ int i;
311+ CARD32 winSize;
312+
313+ sha = shaLine;
314+ shaShift = shaFirstShift;
315+ w = scr_w;
316+ scr_x = scr_x1 * shaBpp >> FB_SHIFT;
317+
318+ while (w)
319+ {
320+ /*
321+ * Map some of this line
322+ */
323+ win = (char *) (*pBuf->window) (pScreen,
324+ scr_y,
325+ scr_x * 3,
326+ SHADOW_WINDOW_WRITE,
327+ &winSize,
328+ pBuf->closure);
329+ i = winSize / 3;
330+ if (i > w)
331+ i = w;
332+ w -= i;
333+ scr_x += i;
334+ /*
335+ * Copy the portion of the line mapped
336+ */
337+ while (i--)
338+ {
339+ bits = 0;
340+ p = pixelsPerBits;
341+ /*
342+ * Build one word of output from multiple inputs
343+ *
344+ * Note that for 90/270 rotations, this will walk
345+ * down the shadow hitting each scanline once.
346+ * This is probably not very efficient.
347+ */
348+ while (p--)
349+ {
350+ bits = FbScrLeft(bits, shaBpp);
351+ bits |= FbScrRight (*sha, shaShift) & shaMask;
352+
353+ shaShift -= shaStepOverX;
354+ if (shaShift >= FB_UNIT)
355+ {
356+ shaShift -= FB_UNIT;
357+ sha--;
358+ }
359+ else if (shaShift < 0)
360+ {
361+ shaShift += FB_UNIT;
362+ sha++;
363+ }
364+ sha += shaStepOverY;
365+ }
366+ *win++ = ((bits & 0xFC) >> 2) |
367+ ((bits & 0xC00) >> 4);
368+ *win++ = ((bits & 0xF000) >> 12) |
369+ ((bits & 0x3C0000) >> 14);
370+ *win++ = (bits & 0xC00000) >> 22;
371+ }
372+ }
373+ scr_y++;
374+ shaFirstShift -= shaStepDownX;
375+ if (shaFirstShift >= FB_UNIT)
376+ {
377+ shaFirstShift -= FB_UNIT;
378+ shaLine--;
379+ }
380+ else if (shaFirstShift < 0)
381+ {
382+ shaFirstShift += FB_UNIT;
383+ shaLine++;
384+ }
385+ shaLine += shaStepDownY;
386+ }
387+ }
388+}
389+
390 Bool
391 fbdevSetShadow (ScreenPtr pScreen)
392 {
393@@ -418,7 +784,14 @@
394
395 window = fbdevWindowLinear;
396 update = 0;
397- if (scrpriv->randr)
398+ if (priv->Have18Bpp)
399+ {
400+ if (scrpriv->randr != RR_Rotate_0)
401+ update = shadowUpdateRotatePacked18;
402+ else
403+ update = shadowUpdatePacked18;
404+ }
405+ else if (scrpriv->randr)
406 if (priv->var.bits_per_pixel == 16) {
407 switch (scrpriv->randr) {
408 case RR_Rotate_90:
409diff -Nurd xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.h xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.h
410--- xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.h 2006-09-18 08:04:17.000000000 +0200
411+++ xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.h 2007-09-15 16:45:07.362045000 +0200
412@@ -44,6 +44,7 @@
413 int fd;
414 char *fb;
415 char *fb_base;
416+ Bool Have18Bpp;
417 } FbdevPriv;
418
419 typedef struct _fbdevScrPriv {
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch
deleted file mode 100644
index 255e707b55..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1--- kmode.c 2006-05-03 19:48:42.000000000 +0200
2+++ xserver/hw/kdrive/src/kmode.c 2006-05-03 19:50:43.000000000 +0200
3@@ -32,6 +32,31 @@
4 /* H V Hz KHz */
5 /* FP BP BLANK POLARITY */
6
7+ /* Treo 650 */
8+
9+ { 320, 320, 64, 16256,
10+ 17, 12, 32, KdSyncNegative,
11+ 1, 11, 14, KdSyncNegative,
12+ },
13+
14+ { 320, 320, 64, 0,
15+ 0, 0, 0, KdSyncNegative,
16+ 0, 0, 0, KdSyncNegative,
17+ },
18+
19+ /* LifeDrive/T3/TX modes */
20+
21+ { 320, 480, 64, 16256,
22+ 17, 12, 32, KdSyncNegative,
23+ 1, 11, 14, KdSyncNegative,
24+ },
25+
26+ { 480, 320, 64, 0,
27+ 0, 0, 0, KdSyncNegative,
28+ 0, 0, 0, KdSyncNegative,
29+ },
30+
31+
32 /* IPAQ modeline:
33 *
34 * Modeline "320x240" 5.7222 320 337 340 352 240 241 244 254"
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch
deleted file mode 100644
index 5ad3e4e277..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1--- /tmp/kmode.c 2005-06-27 14:46:19.716843288 +0200
2+++ xserver/hw/kdrive/src/kmode.c 2005-06-27 14:46:30.070269328 +0200
3@@ -41,6 +41,11 @@
4 1, 11, 14, KdSyncNegative,
5 },
6
7+ { 240, 320, 64, 0,
8+ 0, 0, 0, KdSyncNegative,
9+ 0, 0, 0, KdSyncNegative,
10+ },
11+
12 /* Other VESA modes */
13 { 640, 350, 85, 31500, /* VESA */
14 32, 96, 192, KdSyncPositive, /* 26.413 */
15@@ -80,6 +85,13 @@
16 16, 48, 160, KdSyncNegative, /* 31.469 */
17 10, 33, 45, KdSyncNegative, /* 59.940 */
18 },
19+
20+
21+ { 480, 640, 60, 0, /* VESA */
22+ 0, 0, 0, KdSyncNegative, /* 31.469 */
23+ 0, 0, 0, KdSyncNegative, /* 59.940 */
24+ },
25+
26
27 /* 800x600 modes */
28 { 800, 600, 85, 56250, /* VESA */
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch
deleted file mode 100644
index b53e327dae..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch
+++ /dev/null
@@ -1,54 +0,0 @@
1Index: git/hw/kdrive/Makefile.am
2===================================================================
3--- git.orig/hw/kdrive/Makefile.am 2006-09-02 12:12:13.000000000 +0200
4+++ git/hw/kdrive/Makefile.am 2006-09-02 12:12:14.000000000 +0200
5@@ -7,6 +7,10 @@
6 FBDEV_SUBDIRS = fbdev epson
7 endif
8
9+if KDRIVEW100
10+W100_SUBDIRS = w100
11+endif
12+
13 if XSDLSERVER
14 XSDL_SUBDIRS = sdl
15 endif
16@@ -20,6 +24,7 @@
17 linux \
18 $(XSDL_SUBDIRS) \
19 $(FBDEV_SUBDIRS) \
20+ $(W100_SUBDIRS) \
21 $(VESA_SUBDIRS) \
22 $(XEPHYR_SUBDIRS) \
23 fake
24Index: git/configure.ac
25===================================================================
26--- git.orig/configure.ac 2006-09-02 12:12:14.000000000 +0200
27+++ git/configure.ac 2006-09-02 12:12:14.000000000 +0200
28@@ -442,6 +442,7 @@
29 AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no])
30 AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto])
31 AC_ARG_ENABLE(xsdl, AS_HELP_STRING([--enable-xsdl], [Build the kdrive Xsdl server (default: auto)]), [XSDL=$enableval], [XSDL=auto])
32+AC_ARG_ENABLE(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=no])
33 dnl xprint
34 AC_ARG_ENABLE(freetype, AS_HELP_STRING([ --enable-freetype], [Build Xprint FreeType backend (default: yes)]), [XP_USE_FREETYPE=$enableval],[XP_USE_FREETYPE=no])
35 AC_ARG_WITH(freetype-config, AS_HELP_STRING([ --with-freetype-config=PROG], [Use FreeType configuration program PROG (default: auto)]), freetype_config=$withval, freetype_config=auto)
36@@ -1519,6 +1520,10 @@
37 AC_SUBST([XSDL_LIBS])
38 AC_SUBST([XSDL_INCS])
39
40+AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes])
41+if test "x$KDRIVEW100" = xyes; then
42+ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 server])
43+fi
44
45 dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers)
46 AC_DEFINE(__XKBDEFRULES__, "xorg", [Default XKB rules])
47@@ -1753,6 +1758,7 @@
48 hw/kdrive/epson/Makefile
49 hw/kdrive/fake/Makefile
50 hw/kdrive/fbdev/Makefile
51+hw/kdrive/w100/Makefile
52 hw/kdrive/i810/Makefile
53 hw/kdrive/linux/Makefile
54 hw/kdrive/mach64/Makefile
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch
deleted file mode 100644
index 39bc22c6b3..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Patch suggested by Manuel Teira to actually enable offscreen pixmap
2acceleration in Xw100. Value 16 is empirical, works well on hx4700,
3but in case of issues, consider double it (other accelerated drivers
4use bigger values than 16).
5
6--- xorg-server-1.2.0/hw/kdrive/w100/ati_draw.c.org 2007-04-04 10:28:57.000000000 +0000
7+++ xorg-server-1.2.0/hw/kdrive/w100/ati_draw.c 2007-04-06 14:43:40.000000000 +0000
8@@ -433,6 +433,7 @@
9 * or kaaPixmapUseScreen. But this is probably caused by some bug in this
10 * driver... */
11 atis->kaa.flags |= KAA_OFFSCREEN_PIXMAPS;
12+ atis->kaa.pitchAlign = 16;
13 if (!kaaDrawInit(pScreen, &atis->kaa))
14 return FALSE;
15
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch
deleted file mode 100644
index 239ae0bb67..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1Index: xorg-server-1.4/hw/kdrive/w100/ati_stub.c
2===================================================================
3--- xorg-server-1.4.orig/hw/kdrive/w100/ati_stub.c 2007-09-08 21:40:26.000000000 +0200
4+++ xorg-server-1.4/hw/kdrive/w100/ati_stub.c 2007-09-08 22:04:27.000000000 +0200
5@@ -74,10 +74,20 @@
6 void
7 InitInput(int argc, char **argv)
8 {
9- KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs);
10-#ifdef TOUCHSCREEN
11- KdAddMouseDriver(&TsFuncs);
12+ KdKeyboardInfo *ki;
13+
14+ KdAddKeyboardDriver (&LinuxKeyboardDriver);
15+ KdAddPointerDriver (&LinuxMouseDriver);
16+ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver);
17+ KdAddPointerDriver (&LinuxEvdevMouseDriver);
18+#ifdef TSLIB
19+ KdAddPointerDriver (&TsDriver);
20 #endif
21+
22+ ki = KdParseKeyboard ("keyboard");
23+ KdAddKeyboard(ki);
24+
25+ KdInitInput ();
26 }
27
28 void
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch
deleted file mode 100644
index 1bb6f357c6..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch
+++ /dev/null
@@ -1,6335 +0,0 @@
1Index: git/hw/kdrive/w100/ati.c
2===================================================================
3--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4+++ git/hw/kdrive/w100/ati.c 2006-09-02 12:12:14.000000000 +0200
5@@ -0,0 +1,434 @@
6+/*
7+ * Copyright © 2006 Alberto Mardegan <mardy@users.sourceforge.net>
8+ *
9+ * Permission to use, copy, modify, distribute, and sell this software and its
10+ * documentation for any purpose is hereby granted without fee, provided that
11+ * the above copyright notice appear in all copies and that both that
12+ * copyright notice and this permission notice appear in supporting
13+ * documentation, and that the name of Alberto Mardegan not be used in
14+ * advertising or publicity pertaining to distribution of the software without
15+ * specific, written prior permission. Alberto Mardegan makes no
16+ * representations about the suitability of this software for any purpose. It
17+ * is provided "as is" without express or implied warranty.
18+ *
19+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
20+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
21+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
22+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
23+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
24+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
25+ * PERFORMANCE OF THIS SOFTWARE.
26+ */
27+
28+#ifdef HAVE_CONFIG_H
29+#include <kdrive-config.h>
30+#endif
31+#include "ati.h"
32+#include "w100_regs.h"
33+
34+
35+struct pci_id_entry ati_pci_ids[] = {
36+ {0x1002, 0x5644, 0, "ATI Imageon 3200"},
37+ {0x1002, 0x5741, 0, "ATI Imageon 100"},
38+ {0x1002, 0x5744, 0, "ATI Imageon 3220"},
39+ {0, 0, 0, NULL}
40+};
41+
42+
43+static Bool
44+ATICardInit(KdCardInfo * card)
45+{
46+ ATICardInfo *atic;
47+ int i;
48+ Bool initialized = FALSE;
49+
50+ atic = xcalloc(sizeof(ATICardInfo), 1);
51+ if (atic == NULL)
52+ return FALSE;
53+
54+#ifdef KDRIVEFBDEV
55+ if (!initialized && fbdevInitialize(card, &atic->backend_priv.fbdev)) {
56+ atic->use_fbdev = TRUE;
57+ initialized = TRUE;
58+ atic->backend_funcs.cardfini = fbdevCardFini;
59+ atic->backend_funcs.scrfini = fbdevScreenFini;
60+ atic->backend_funcs.initScreen = fbdevInitScreen;
61+ atic->backend_funcs.finishInitScreen = fbdevFinishInitScreen;
62+ atic->backend_funcs.createRes = fbdevCreateResources;
63+ atic->backend_funcs.preserve = fbdevPreserve;
64+ atic->backend_funcs.restore = fbdevRestore;
65+ atic->backend_funcs.dpms = fbdevDPMS;
66+ atic->backend_funcs.enable = fbdevEnable;
67+ atic->backend_funcs.disable = fbdevDisable;
68+ atic->backend_funcs.getColors = fbdevGetColors;
69+ atic->backend_funcs.putColors = fbdevPutColors;
70+#ifdef RANDR
71+ atic->backend_funcs.randrSetConfig = fbdevRandRSetConfig;
72+#endif
73+ }
74+#endif
75+#ifdef KDRIVEVESA
76+ if (!initialized && vesaInitialize(card, &atic->backend_priv.vesa)) {
77+ atic->use_vesa = TRUE;
78+ initialized = TRUE;
79+ atic->backend_funcs.cardfini = vesaCardFini;
80+ atic->backend_funcs.scrfini = vesaScreenFini;
81+ atic->backend_funcs.initScreen = vesaInitScreen;
82+ atic->backend_funcs.finishInitScreen = vesaFinishInitScreen;
83+ atic->backend_funcs.createRes = vesaCreateResources;
84+ atic->backend_funcs.preserve = vesaPreserve;
85+ atic->backend_funcs.restore = vesaRestore;
86+ atic->backend_funcs.dpms = vesaDPMS;
87+ atic->backend_funcs.enable = vesaEnable;
88+ atic->backend_funcs.disable = vesaDisable;
89+ atic->backend_funcs.getColors = vesaGetColors;
90+ atic->backend_funcs.putColors = vesaPutColors;
91+#ifdef RANDR
92+ atic->backend_funcs.randrSetConfig = vesaRandRSetConfig;
93+#endif
94+ }
95+#endif
96+
97+ if (!initialized || !ATIMap(card, atic)) {
98+ xfree(atic);
99+ return FALSE;
100+ }
101+
102+ card->driver = atic;
103+
104+ for (i = 0; ati_pci_ids[i].name != NULL; i++) {
105+ if (ati_pci_ids[i].device == card->attr.deviceID) {
106+ atic->pci_id = &ati_pci_ids[i];
107+ break;
108+ }
109+ }
110+
111+ ErrorF("Using ATI card: %s\n", atic->pci_id->name);
112+
113+ return TRUE;
114+}
115+
116+static void
117+ATICardFini(KdCardInfo * card)
118+{
119+ ATICardInfo *atic = (ATICardInfo *) card->driver;
120+
121+ ATIUnmap(card, atic);
122+ atic->backend_funcs.cardfini(card);
123+}
124+
125+/*
126+ * Once screen->off_screen_base is set, this function
127+ * allocates the remaining memory appropriately
128+ */
129+
130+static void
131+ATISetOffscreen(KdScreenInfo * screen)
132+{
133+ ATICardInfo(screen);
134+ int screen_size;
135+ char *mmio = atic->reg_base;
136+
137+ /* check (and adjust) pitch */
138+ if (mmio) {
139+ int byteStride = screen->fb[0].byteStride;
140+ int bitStride;
141+ int pixelStride;
142+ int bpp = screen->fb[0].bitsPerPixel;
143+
144+ /*
145+ * Ensure frame buffer is correctly aligned
146+ */
147+ if (byteStride & 0x3f) {
148+ byteStride = (byteStride + 0x3f) & ~0x3f;
149+ bitStride = byteStride * 8;
150+ pixelStride = bitStride / bpp;
151+
152+ screen->fb[0].byteStride = byteStride;
153+ screen->fb[0].pixelStride = pixelStride;
154+ }
155+ }
156+
157+ screen_size = screen->fb[0].byteStride * screen->height;
158+
159+ screen->off_screen_base = screen_size;
160+
161+}
162+
163+static Bool
164+ATIScreenInit(KdScreenInfo * screen)
165+{
166+ ATIScreenInfo *atis;
167+ ATICardInfo(screen);
168+ Bool success = FALSE;
169+
170+ atis = xcalloc(sizeof(ATIScreenInfo), 1);
171+ if (atis == NULL)
172+ return FALSE;
173+
174+ atis->atic = atic;
175+ atis->screen = screen;
176+ screen->driver = atis;
177+
178+ if (screen->fb[0].depth == 0)
179+ screen->fb[0].depth = 16;
180+#ifdef KDRIVEFBDEV
181+ if (atic->use_fbdev) {
182+ success = fbdevScreenInitialize(screen, &atis->backend_priv.fbdev);
183+ }
184+#endif
185+#ifdef KDRIVEVESA
186+ if (atic->use_vesa) {
187+ success = vesaScreenInitialize(screen, &atis->backend_priv.vesa);
188+ }
189+#endif
190+
191+ if (!success) {
192+ screen->driver = NULL;
193+ xfree(atis);
194+ return FALSE;
195+ }
196+
197+ ErrorF
198+ ("Offscreen memory at offset %08x, memory base %08x, size %08x\n",
199+ screen->off_screen_base, screen->memory_base,
200+ screen->memory_size);
201+ ATISetOffscreen(screen);
202+
203+ return TRUE;
204+}
205+
206+#ifdef RANDR
207+static Bool
208+ATIRandRSetConfig(ScreenPtr pScreen,
209+ Rotation randr, int rate, RRScreenSizePtr pSize)
210+{
211+ KdScreenPriv(pScreen);
212+ KdScreenInfo *screen = pScreenPriv->screen;
213+ ATICardInfo *atic = screen->card->driver;
214+ Bool ret;
215+
216+ ATIDrawDisable(pScreen);
217+ ret = atic->backend_funcs.randrSetConfig(pScreen, randr, rate, pSize);
218+ ATISetOffscreen(screen);
219+ /*
220+ * Set frame buffer mapping
221+ */
222+ (*pScreen->ModifyPixmapHeader) (fbGetScreenPixmap(pScreen),
223+ pScreen->width,
224+ pScreen->height,
225+ screen->fb[0].depth,
226+ screen->fb[0].bitsPerPixel,
227+ screen->fb[0].byteStride,
228+ screen->fb[0].frameBuffer);
229+
230+ ATIDrawEnable(pScreen);
231+ return ret;
232+}
233+
234+static Bool
235+ATIRandRInit(ScreenPtr pScreen)
236+{
237+ rrScrPrivPtr pScrPriv;
238+
239+ pScrPriv = rrGetScrPriv(pScreen);
240+ pScrPriv->rrSetConfig = ATIRandRSetConfig;
241+ return TRUE;
242+}
243+#endif
244+
245+static void
246+ATIScreenFini(KdScreenInfo * screen)
247+{
248+ ATIScreenInfo *atis = (ATIScreenInfo *) screen->driver;
249+ ATICardInfo *atic = screen->card->driver;
250+
251+ atic->backend_funcs.scrfini(screen);
252+ xfree(atis);
253+ screen->driver = 0;
254+}
255+
256+Bool
257+ATIMap(KdCardInfo * card, ATICardInfo * atic)
258+{
259+ atic->mem_base = (CARD8 *) KdMapDevice(ATI_MEM_BASE(card),
260+ ATI_MEM_SIZE(card));
261+
262+ if (atic->mem_base == NULL)
263+ return FALSE;
264+ atic->reg_base = atic->mem_base + 0x10000; /* XXX */
265+
266+ KdSetMappedMode(ATI_MEM_BASE(card), ATI_MEM_SIZE(card),
267+ KD_MAPPED_MODE_REGISTERS);
268+
269+ return TRUE;
270+}
271+
272+void
273+ATIUnmap(KdCardInfo * card, ATICardInfo * atic)
274+{
275+ if (atic->reg_base) {
276+ KdResetMappedMode(ATI_REG_BASE(card), ATI_REG_SIZE(card),
277+ KD_MAPPED_MODE_REGISTERS);
278+ KdUnmapDevice((void *) atic->reg_base, ATI_REG_SIZE(card));
279+ atic->reg_base = 0;
280+ }
281+}
282+
283+static Bool
284+ATIInitScreen(ScreenPtr pScreen)
285+{
286+ KdScreenPriv(pScreen);
287+ ATICardInfo(pScreenPriv);
288+
289+ return atic->backend_funcs.initScreen(pScreen);
290+}
291+
292+static Bool
293+ATIFinishInitScreen(ScreenPtr pScreen)
294+{
295+ KdScreenPriv(pScreen);
296+ ATICardInfo(pScreenPriv);
297+
298+ if (!atic->backend_funcs.finishInitScreen(pScreen))
299+ return FALSE;
300+#ifdef RANDR
301+ if (!ATIRandRInit(pScreen))
302+ return FALSE;
303+#endif
304+ return TRUE;
305+}
306+
307+static Bool
308+ATICreateResources(ScreenPtr pScreen)
309+{
310+ KdScreenPriv(pScreen);
311+ ATICardInfo(pScreenPriv);
312+
313+ return atic->backend_funcs.createRes(pScreen);
314+}
315+
316+static void
317+ATIPreserve(KdCardInfo * card)
318+{
319+ ATICardInfo *atic = card->driver;
320+
321+ atic->backend_funcs.preserve(card);
322+}
323+
324+static void
325+ATIRestore(KdCardInfo * card)
326+{
327+ ATICardInfo *atic = card->driver;
328+
329+ ATIUnmap(card, atic);
330+
331+ atic->backend_funcs.restore(card);
332+}
333+
334+static Bool
335+ATIDPMS(ScreenPtr pScreen, int mode)
336+{
337+ KdScreenPriv(pScreen);
338+ ATICardInfo(pScreenPriv);
339+
340+ return atic->backend_funcs.dpms(pScreen, mode);
341+}
342+
343+static Bool
344+ATIEnable(ScreenPtr pScreen)
345+{
346+ KdScreenPriv(pScreen);
347+ ATICardInfo(pScreenPriv);
348+ mc_ext_mem_location_u eml;
349+ char *mmio;
350+
351+ if (!atic->backend_funcs.enable(pScreen))
352+ return FALSE;
353+
354+ if ((atic->reg_base == NULL)
355+ && !ATIMap(pScreenPriv->screen->card, atic))
356+ return FALSE;
357+
358+ mmio = atic->reg_base;
359+ eml.val = MMIO_IN32(mmio, mmMC_EXT_MEM_LOCATION);
360+ atic->ext_mem_location = eml.f.mc_ext_mem_start << 8;
361+ ATISetOffscreen(pScreenPriv->screen);
362+
363+ return TRUE;
364+}
365+
366+static void
367+ATIDisable(ScreenPtr pScreen)
368+{
369+ KdScreenPriv(pScreen);
370+ ATICardInfo(pScreenPriv);
371+
372+ ATIUnmap(pScreenPriv->card, atic);
373+
374+ atic->backend_funcs.disable(pScreen);
375+}
376+
377+static void
378+ATIGetColors(ScreenPtr pScreen, int fb, int n, xColorItem * pdefs)
379+{
380+ KdScreenPriv(pScreen);
381+ ATICardInfo(pScreenPriv);
382+
383+ atic->backend_funcs.getColors(pScreen, fb, n, pdefs);
384+}
385+
386+static void
387+ATIPutColors(ScreenPtr pScreen, int fb, int n, xColorItem * pdefs)
388+{
389+ KdScreenPriv(pScreen);
390+ ATICardInfo(pScreenPriv);
391+
392+ atic->backend_funcs.putColors(pScreen, fb, n, pdefs);
393+}
394+
395+/* Compute log base 2 of val. */
396+int
397+ATILog2(int val)
398+{
399+ int bits;
400+
401+ for (bits = 0; val != 0; val >>= 1, ++bits);
402+ return bits - 1;
403+}
404+
405+
406+
407+KdCardFuncs ATIFuncs = {
408+ ATICardInit, /* cardinit */
409+ ATIScreenInit, /* scrinit */
410+ ATIInitScreen, /* initScreen */
411+ ATIFinishInitScreen, /* finishInitScreen */
412+ ATICreateResources, /* createRes */
413+ ATIPreserve, /* preserve */
414+ ATIEnable, /* enable */
415+ ATIDPMS, /* dpms */
416+ ATIDisable, /* disable */
417+ ATIRestore, /* restore */
418+ ATIScreenFini, /* scrfini */
419+ ATICardFini, /* cardfini */
420+
421+#define ATICursorInit 0
422+#define ATICursorEnable 0
423+#define ATICursorDisable 0
424+#define ATICursorFini 0
425+#define ATIRecolorCursor 0
426+ ATICursorInit, /* initCursor */
427+ ATICursorEnable, /* enableCursor */
428+ ATICursorDisable, /* disableCursor */
429+ ATICursorFini, /* finiCursor */
430+ ATIRecolorCursor, /* recolorCursor */
431+
432+ ATIDrawInit, /* initAccel */
433+ ATIDrawEnable, /* enableAccel */
434+ ATIDrawDisable, /* disableAccel */
435+ ATIDrawFini, /* finiAccel */
436+
437+ ATIGetColors, /* getColors */
438+ ATIPutColors, /* putColors */
439+};
440Index: git/hw/kdrive/w100/ati_cursor.c
441===================================================================
442--- /dev/null 1970-01-01 00:00:00.000000000 +0000
443+++ git/hw/kdrive/w100/ati_cursor.c 2006-09-02 12:12:14.000000000 +0200
444@@ -0,0 +1,93 @@
445+/*
446+ * Copyright © 2006 Alberto Mardegan <mardy@users.sourceforge.net>
447+ *
448+ * Permission to use, copy, modify, distribute, and sell this software and its
449+ * documentation for any purpose is hereby granted without fee, provided that
450+ * the above copyright notice appear in all copies and that both that
451+ * copyright notice and this permission notice appear in supporting
452+ * documentation, and that the name of Alberto Mardegan not be used in
453+ * advertising or publicity pertaining to distribution of the software without
454+ * specific, written prior permission. Alberto Mardegan makes no
455+ * representations about the suitability of this software for any purpose. It
456+ * is provided "as is" without express or implied warranty.
457+ *
458+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
459+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
460+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
461+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
462+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
463+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
464+ * PERFORMANCE OF THIS SOFTWARE.
465+ */
466+
467+#ifdef HAVE_CONFIG_H
468+#include <kdrive-config.h>
469+#endif
470+#include "ati.h"
471+#include "cursorstr.h"
472+#include "ati_draw.h"
473+
474+static void
475+ATIMoveCursor(ScreenPtr pScreen, int x, int y)
476+{
477+}
478+
479+
480+static Bool
481+ATIRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor)
482+{
483+ return FALSE;
484+}
485+
486+
487+static Bool
488+ATIUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor)
489+{
490+ return TRUE;
491+}
492+
493+
494+static void
495+ATISetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y)
496+{
497+}
498+
499+
500+miPointerSpriteFuncRec ATIPointerSpriteFuncs = {
501+ ATIRealizeCursor,
502+ ATIUnrealizeCursor,
503+ ATISetCursor,
504+ ATIMoveCursor,
505+};
506+
507+
508+void
509+ATICursorEnable(ScreenPtr pScreen)
510+{
511+}
512+
513+
514+void
515+ATICursorDisable(ScreenPtr pScreen)
516+{
517+}
518+
519+
520+Bool
521+ATICursorInit(ScreenPtr pScreen)
522+{
523+ return FALSE;
524+}
525+
526+
527+void
528+ATIRecolorCursor(ScreenPtr pScreen, int ndef, xColorItem * pdef)
529+{
530+ return;
531+}
532+
533+
534+void
535+ATICursorFini(ScreenPtr pScreen)
536+{
537+}
538Index: git/hw/kdrive/w100/ati_dma.c
539===================================================================
540--- /dev/null 1970-01-01 00:00:00.000000000 +0000
541+++ git/hw/kdrive/w100/ati_dma.c 2006-09-02 12:12:14.000000000 +0200
542@@ -0,0 +1,333 @@
543+/*
544+ * Copyright © 2006 Alberto Mardegan <mardy@users.sourceforge.net>
545+ *
546+ * Permission to use, copy, modify, distribute, and sell this software and its
547+ * documentation for any purpose is hereby granted without fee, provided that
548+ * the above copyright notice appear in all copies and that both that
549+ * copyright notice and this permission notice appear in supporting
550+ * documentation, and that the name of Alberto Mardegan not be used in
551+ * advertising or publicity pertaining to distribution of the software without
552+ * specific, written prior permission. Alberto Mardegan makes no
553+ * representations about the suitability of this software for any purpose. It
554+ * is provided "as is" without express or implied warranty.
555+ *
556+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
557+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
558+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
559+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
560+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
561+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
562+ * PERFORMANCE OF THIS SOFTWARE.
563+ */
564+
565+#include <sys/time.h>
566+
567+#include "ati.h"
568+#include "w100_regs.h"
569+#include "w100_const.h"
570+#include "ati_dma.h"
571+#include "ati_draw.h"
572+
573+
574+#define DEBUG_FIFO 0
575+
576+extern CARD32 w100_microcode[][2];
577+
578+#if DEBUG_FIFO
579+static void
580+ATIDebugFifo(ATIScreenInfo * atis)
581+{
582+ ATICardInfo *atic = atis->atic;
583+ char *mmio = atic->reg_base;
584+
585+ ErrorF("mmCP_CSQ_CNTL: 0x%08x\n", MMIO_IN32(mmio, mmCP_CSQ_CNTL));
586+ ErrorF("mmCP_CSQ_STAT: 0x%08x\n", MMIO_IN32(mmio, mmCP_CSQ_STAT));
587+ ErrorF("mmRBBM_STATUS: 0x%08x\n", MMIO_IN32(mmio, mmRBBM_STATUS));
588+}
589+#endif
590+
591+static void
592+ATIUploadMicrocode(ATIScreenInfo * atis)
593+{
594+ ATICardInfo *atic = atis->atic;
595+ char *mmio = atic->reg_base;
596+ int i;
597+
598+ MMIO_OUT32(mmio, mmCP_ME_RAM_ADDR, 0);
599+ for (i = 0; i < 256; i++) {
600+ MMIO_OUT32(mmio, mmCP_ME_RAM_DATAH, w100_microcode[i][1]);
601+ MMIO_OUT32(mmio, mmCP_ME_RAM_DATAL, w100_microcode[i][0]);
602+ }
603+}
604+
605+/* Required when reading from video memory after acceleration to make sure all
606+ * data has been flushed to video memory from the pixel cache.
607+ */
608+static void
609+ATIFlushPixelCache(ATIScreenInfo * atis)
610+{
611+ ATICardInfo *atic = atis->atic;
612+ char *mmio = atic->reg_base;
613+ rbbm_status_u rs;
614+ TIMEOUT_LOCALS;
615+
616+ WHILE_NOT_TIMEOUT(.2) {
617+ rs.val = MMIO_IN32(mmio, mmRBBM_STATUS);
618+ if (!rs.f.gui_active)
619+ break;
620+ }
621+ if (TIMEDOUT())
622+ ErrorF("Timeout flushing pixel cache.\n");
623+}
624+
625+static void
626+ATIEngineReset(ATIScreenInfo * atis)
627+{
628+ ATICardInfo *atic = atis->atic;
629+ char *mmio = atic->reg_base;
630+ CARD32 sclk_cntl;
631+ sclk_cntl_u sc;
632+ rbbm_soft_reset_u rsr;
633+
634+#if DEBUG_FIFO
635+ ErrorF("Engine Reset!\n");
636+ ATIDebugFifo(atis);
637+#endif
638+
639+ ATIFlushPixelCache(atis);
640+
641+ sc.val = sclk_cntl = MMIO_IN32(mmio, mmSCLK_CNTL);
642+ sc.f.sclk_force_e2 = sc.f.sclk_force_e3 = sc.f.sclk_force_idct = 1;
643+ MMIO_OUT32(mmio, mmSCLK_CNTL, sc.val);
644+
645+ rsr.val = 0;
646+ rsr.f.soft_reset_e2 = 1;
647+ MMIO_OUT32(mmio, mmRBBM_SOFT_RESET, rsr.val);
648+ MMIO_OUT32(mmio, mmRBBM_SOFT_RESET, 0);
649+
650+ MMIO_OUT32(mmio, mmSCLK_CNTL, sclk_cntl);
651+}
652+
653+inline void
654+ATIWaitAvailMMIO(ATIScreenInfo * atis, int n)
655+{
656+ ATICardInfo *atic = atis->atic;
657+ char *mmio = atic->reg_base;
658+ rbbm_status_u rs;
659+ TIMEOUT_LOCALS;
660+
661+ if (atis->mmio_avail >= n) {
662+ atis->mmio_avail -= n;
663+ return;
664+ }
665+ WHILE_NOT_TIMEOUT(.2) {
666+ rs.val = MMIO_IN32(mmio, mmRBBM_STATUS);
667+ atis->mmio_avail = rs.f.cmdfifo_avail;
668+ if (atis->mmio_avail >= n)
669+ break;
670+ ErrorF("Available %d slots.\n", atis->mmio_avail);
671+ }
672+ if (TIMEDOUT()) {
673+ ErrorF("Timeout waiting for %d MMIO slots.\n", n);
674+ ATIEngineReset(atis);
675+ ATIDrawSetup(atis->screen->pScreen);
676+ }
677+ atis->mmio_avail -= n;
678+}
679+
680+
681+void
682+ATIWaitIdle(ATIScreenInfo * atis)
683+{
684+ ATICardInfo *atic = atis->atic;
685+ char *mmio = atic->reg_base;
686+ rbbm_status_u rs;
687+ TIMEOUT_LOCALS;
688+
689+ /* Empty the fifo */
690+ ATIWaitAvailMMIO(atis, 16);
691+
692+ WHILE_NOT_TIMEOUT(.2) {
693+ rs.val = MMIO_IN32(mmio, mmRBBM_STATUS);
694+ if (!rs.f.gui_active)
695+ break;
696+#if DEBUG_FIFO
697+ ATIDebugFifo(atis);
698+#endif
699+ /* don't know if this is needed, but it's in aticore */
700+ MMIO_IN32(mmio, mmCP_RB_RPTR);
701+ }
702+ if (TIMEDOUT()) {
703+ ErrorF("Timeout idling accelerator, resetting...\n");
704+ ATIEngineReset(atis);
705+ ATIDrawSetup(atis->screen->pScreen);
706+ }
707+
708+ ATIFlushPixelCache(atis);
709+
710+#if DEBUG_FIFO
711+ ErrorF("Idle?\n");
712+ ATIDebugFifo(atis);
713+#endif
714+}
715+
716+
717+static Bool
718+ATIDMAInit(ScreenPtr pScreen, Bool use_agp)
719+{
720+ KdScreenPriv(pScreen);
721+ ATIScreenInfo(pScreenPriv);
722+ ATICardInfo(pScreenPriv);
723+ char *mmio = atic->reg_base;
724+ int dma_offset, rbsize = 10;
725+ wrap_start_dir_u wsd;
726+ wrap_buf_a_u wba;
727+ cp_rb_cntl_u rc;
728+ cp_csq_cntl_u cc;
729+ CARD32 mem_offset;
730+
731+ /* with rbsize = 10, DMA buffer will be of 0x2000 (8192) bytes */
732+ atis->ring_count = 1 << (rbsize + 1);
733+ atis->ring_mask = atis->ring_count - 1;
734+ atis->ring_len = atis->ring_count * 4;
735+ atis->dma_space = KdOffscreenAlloc(pScreen, atis->ring_len,
736+ 16, TRUE, NULL, NULL);
737+ if (atis->dma_space == NULL)
738+ return FALSE;
739+
740+ wsd.val = MMIO_IN32(mmio, mmWRAP_START_DIR);
741+ atis->ring_addr =
742+ (CARD32 *) (atic->mem_base + (wsd.f.start_addr << 1));
743+ dma_offset = atis->dma_space->offset;
744+
745+ ATIUploadMicrocode(atis);
746+ ATIEngineReset(atis);
747+
748+ atis->ring_read = 0;
749+ atis->ring_write = 0;
750+ atis->ring_free = atis->ring_count;
751+
752+ mem_offset = atic->ext_mem_location + atis->dma_space->offset;
753+ MMIO_OUT32(mmio, mmCP_RB_BASE, mem_offset);
754+ MMIO_OUT32(mmio, mmCP_RB_WPTR, atis->ring_write);
755+ MMIO_OUT32(mmio, mmCP_RB_RPTR, atis->ring_read);
756+ MMIO_OUT32(mmio, mmCP_RB_RPTR_ADDR, 0);
757+
758+ wba.val = 0;
759+ wba.f.offset_addr_a = mem_offset;
760+ switch (rbsize) {
761+ case 9:
762+ wba.f.block_size_a = WB_BLOCK_SIZE_A_0;
763+ break;
764+ case 10:
765+ wba.f.block_size_a = WB_BLOCK_SIZE_A_1;
766+ break;
767+ case 11:
768+ wba.f.block_size_a = WB_BLOCK_SIZE_A_2;
769+ break;
770+ case 12:
771+ wba.f.block_size_a = WB_BLOCK_SIZE_A_3;
772+ break;
773+ case 13:
774+ wba.f.block_size_a = WB_BLOCK_SIZE_A_4;
775+ break;
776+ }
777+ MMIO_OUT32(mmio, mmWRAP_BUF_A, wba.val);
778+
779+ rc.val = 0;
780+ rc.f.rb_no_update = 1;
781+ rc.f.rb_bufsz = rbsize;
782+ MMIO_OUT32(mmio, mmCP_RB_CNTL, rc.val);
783+
784+ cc.val = 0;
785+ cc.f.csq_mode = CSQ_CNTL_MODE_FREERUN;
786+ MMIO_OUT32(mmio, mmCP_CSQ_CNTL, cc.val);
787+
788+ return TRUE;
789+}
790+
791+static Bool
792+ATIDMAFini(ScreenPtr pScreen)
793+{
794+ KdScreenPriv(pScreen);
795+ ATIScreenInfo(pScreenPriv);
796+ ATICardInfo(pScreenPriv);
797+ char *mmio = atic->reg_base;
798+
799+ MMIO_OUT32(mmio, mmCP_CSQ_CNTL, 0);
800+
801+ ATIEngineReset(atis);
802+
803+ //KdOffscreenFree(pScreen, atis->dma_space);
804+
805+ return TRUE;
806+}
807+
808+void
809+ATIDMASetup(ScreenPtr pScreen)
810+{
811+ KdScreenPriv(pScreen);
812+ ATIScreenInfo(pScreenPriv);
813+
814+ atis->using_dma = FALSE;
815+ atis->using_pio = FALSE;
816+ if (ATIDMAInit(pScreen, FALSE))
817+ atis->using_dma = TRUE;
818+
819+ if (atis->using_dma)
820+ ErrorF("Initialized DMA\n");
821+}
822+
823+void
824+ATIDMATeardown(ScreenPtr pScreen)
825+{
826+ KdScreenPriv(pScreen);
827+ ATIScreenInfo(pScreenPriv);
828+
829+ ATIWaitIdle(atis);
830+
831+ if (atis->using_dma)
832+ ATIDMAFini(pScreen);
833+
834+ atis->using_pio = FALSE;
835+ atis->using_dma = FALSE;
836+}
837+
838+
839+CARD32 *
840+ATIRequestEntries(ATIScreenInfo * atis, int n)
841+{
842+ char *mmio = atis->atic->reg_base;
843+ CARD32 *ptr;
844+ TIMEOUT_LOCALS;
845+
846+ WHILE_NOT_TIMEOUT(1) {
847+ if (atis->ring_free > n) {
848+ ptr = atis->ring_addr + atis->ring_write;
849+ return ptr;
850+ }
851+ atis->ring_read = MMIO_IN32(mmio, mmCP_RB_RPTR);
852+ atis->ring_write = MMIO_IN32(mmio, mmCP_RB_WPTR);
853+
854+ if (atis->ring_read == atis->ring_write) {
855+ atis->ring_free = atis->ring_count;
856+ } else {
857+ atis->ring_free =
858+ (atis->ring_count +
859+ atis->ring_read - atis->ring_write) & atis->ring_mask;
860+ }
861+ }
862+ if (TIMEDOUT())
863+ ErrorF("Timeout waiting for %d entries.\n", n);
864+ return NULL;
865+}
866+
867+void
868+ATISubmitEntries(ATIScreenInfo * atis, int n)
869+{
870+ char *mmio = atis->atic->reg_base;
871+ atis->ring_free -= n;
872+ atis->ring_write += n;
873+ atis->ring_write &= atis->ring_mask;
874+ MMIO_OUT32(mmio, mmCP_RB_WPTR, atis->ring_write);
875+}
876Index: git/hw/kdrive/w100/ati_dma.h
877===================================================================
878--- /dev/null 1970-01-01 00:00:00.000000000 +0000
879+++ git/hw/kdrive/w100/ati_dma.h 2006-09-02 12:12:14.000000000 +0200
880@@ -0,0 +1,176 @@
881+/*
882+ * Copyright © 2004 Eric Anholt
883+ *
884+ * Permission to use, copy, modify, distribute, and sell this software and its
885+ * documentation for any purpose is hereby granted without fee, provided that
886+ * the above copyright notice appear in all copies and that both that
887+ * copyright notice and this permission notice appear in supporting
888+ * documentation, and that the name of Eric Anholt not be used in
889+ * advertising or publicity pertaining to distribution of the software without
890+ * specific, written prior permission. Eric Anholt makes no
891+ * representations about the suitability of this software for any purpose. It
892+ * is provided "as is" without express or implied warranty.
893+ *
894+ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
895+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
896+ * EVENT SHALL ERIC ANHOLT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
897+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
898+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
899+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
900+ * PERFORMANCE OF THIS SOFTWARE.
901+ */
902+/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati_dma.h,v 1.5 2005-01-27 05:25:57 anholt Exp $ */
903+
904+#ifndef _ATI_DMA_H_
905+#define _ATI_DMA_H_
906+
907+#define CCE_DEBUG 1
908+
909+/* CCE packet defines */
910+
911+#define ATI_CCE_PACKETTYPE_MASK 0xc0000000
912+#define ATI_CCE_PACKET0 0x00000000
913+#define ATI_CCE_PACKET0_COUNT_MASK 0x3fff0000
914+#define ATI_CCE_PACKET0_ONE_REG_WR 0x00008000
915+#define ATI_CCE_PACKET0_REG_MASK 0x000007ff
916+#define ATI_CCE_PACKET1 0x40000000
917+#define ATI_CCE_PACKET1_REG_1 0x000007ff
918+#define ATI_CCE_PACKET1_REG_2 0x003ff800
919+#define ATI_CCE_PACKET1_REG_2_SHIFT 10
920+#define ATI_CCE_PACKET2 0x80000000
921+#define ATI_CCE_PACKET3 0xc0000000
922+#define ATI_CCE_PACKET3_COUNT_MASK 0x3fff0000
923+#define ATI_CCE_PACKET3_IT_OPCODE_MASK 0x0000ff00
924+
925+
926+#if !CCE_DEBUG
927+#define DMA_PACKET0(reg, count) \
928+ (ATI_CCE_PACKET0 | (((count) - 1) << 16) | ((reg) >> 2))
929+#else
930+#define DMA_PACKET0(reg, count) \
931+ (__packet0count = (count), __reg = (reg), \
932+ ATI_CCE_PACKET0 | (((count) - 1) << 16) | ((reg) >> 2))
933+#endif
934+#define DMA_PACKET1(reg1, reg2) \
935+ (ATI_CCE_PACKET1 | \
936+ (((reg2) >> 2) << ATI_CCE_PACKET1_REG_2_SHIFT) | ((reg1) >> 2))
937+#define DMA_PACKET3(type, count) \
938+ ((type) | (((count) - 1) << 16))
939+
940+
941+
942+#ifdef USE_DMA
943+
944+#if !CCE_DEBUG
945+
946+#define RING_LOCALS \
947+ CARD32 *__head; int __count
948+#define BEGIN_DMA(n) \
949+do { \
950+ __head = ATIRequestEntries(atis, n); \
951+ __count = 0; \
952+} while (0)
953+#define END_DMA() do { \
954+ ATISubmitEntries(atis, __count); \
955+} while (0)
956+
957+#else /* CCE_DEBUG */
958+#define RING_LOCALS \
959+ CARD32 *__head; int __count, __total, __reg, __packet0count
960+#define BEGIN_DMA(n) \
961+do { \
962+ __head = ATIRequestEntries(atis, n); \
963+ __count = 0; \
964+ __total = n; \
965+ __reg = 0; \
966+ __packet0count = 0; \
967+} while (0)
968+#define END_DMA() do { \
969+ if (__count != __total) \
970+ FatalError("count != total (%d vs %d) at %s:%d\n", \
971+ __count, __total, __FILE__, __LINE__); \
972+ ATISubmitEntries(atis, __count); \
973+} while (0)
974+
975+#endif /* CCE_DEBUG */
976+
977+#define BEGIN_DMA_REG(n) BEGIN_DMA(n * 2)
978+#define END_DMA_REG() END_DMA()
979+
980+#define OUT_REG(reg, val) \
981+do { \
982+ OUT_RING(DMA_PACKET0(reg, 1)); \
983+ OUT_RING(val); \
984+} while (0)
985+
986+
987+#else /* USE_DMA */
988+
989+
990+#define RING_LOCALS char *__mmio = atis->atic->reg_base
991+#define BEGIN_DMA_REG(n) \
992+do { \
993+ ATIWaitAvailMMIO(atis, n); \
994+} while (0)
995+#define END_DMA_REG() do {} while (0)
996+#define OUT_REG(reg, val) MMIO_OUT32(__mmio, reg, val)
997+#endif /* USE_DMA */
998+
999+
1000+#define OUT_RING(val) do { \
1001+ __head[__count++] = (val); \
1002+} while (0)
1003+
1004+#define OUT_RING_REG(reg, val) do { \
1005+ if (__reg != reg) \
1006+ FatalError("unexpected reg (0x%x vs 0x%x) at %s:%d\n", \
1007+ reg, __reg, __FILE__, __LINE__); \
1008+ if (__packet0count-- <= 0) \
1009+ FatalError("overrun of packet0 at %s:%d\n", \
1010+ __FILE__, __LINE__); \
1011+ __head[__count++] = (val); \
1012+ __reg += 4; \
1013+} while (0)
1014+
1015+#define OUT_RING_F(x) OUT_RING(GET_FLOAT_BITS(x))
1016+
1017+#define TIMEOUT_LOCALS struct timeval _target, _curtime
1018+
1019+static inline Bool
1020+tv_le(struct timeval *tv1, struct timeval *tv2)
1021+{
1022+ if (tv1->tv_sec < tv2->tv_sec ||
1023+ (tv1->tv_sec == tv2->tv_sec && tv1->tv_usec < tv2->tv_usec))
1024+ return TRUE;
1025+ else
1026+ return FALSE;
1027+}
1028+
1029+#define WHILE_NOT_TIMEOUT(_timeout) \
1030+ gettimeofday(&_target, NULL); \
1031+ _target.tv_usec += ((_timeout) * 1000000); \
1032+ _target.tv_sec += _target.tv_usec / 1000000; \
1033+ _target.tv_usec = _target.tv_usec % 1000000; \
1034+ while (gettimeofday(&_curtime, NULL), tv_le(&_curtime, &_target))
1035+
1036+#define TIMEDOUT() (!tv_le(&_curtime, &_target))
1037+
1038+
1039+void
1040+ATIFlushIndirect(ATIScreenInfo *atis, Bool discard);
1041+
1042+void
1043+ATIDMASetup(ScreenPtr pScreen);
1044+
1045+void
1046+ATIDMATeardown(ScreenPtr pScreen);
1047+
1048+CARD32 *
1049+ATIRequestEntries(ATIScreenInfo *atis, int n);
1050+
1051+void
1052+ATISubmitEntries(ATIScreenInfo *atis, int n);
1053+
1054+inline void
1055+ATIWaitAvailMMIO(ATIScreenInfo *atis, int n);
1056+#endif /* _ATI_DMA_H_ */
1057Index: git/hw/kdrive/w100/ati_draw.c
1058===================================================================
1059--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1060+++ git/hw/kdrive/w100/ati_draw.c 2006-09-02 12:12:14.000000000 +0200
1061@@ -0,0 +1,477 @@
1062+/*
1063+ * Copyright © 2006 Alberto Mardegan <mardy@users.sourceforge.net>
1064+ *
1065+ * Permission to use, copy, modify, distribute, and sell this software and its
1066+ * documentation for any purpose is hereby granted without fee, provided that
1067+ * the above copyright notice appear in all copies and that both that
1068+ * copyright notice and this permission notice appear in supporting
1069+ * documentation, and that the name of Alberto Mardegan not be used in
1070+ * advertising or publicity pertaining to distribution of the software without
1071+ * specific, written prior permission. Alberto Mardegan makes no
1072+ * representations about the suitability of this software for any purpose. It
1073+ * is provided "as is" without express or implied warranty.
1074+ *
1075+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
1076+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
1077+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
1078+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
1079+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
1080+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1081+ * PERFORMANCE OF THIS SOFTWARE.
1082+ */
1083+
1084+#define USE_DMA
1085+#define DRAW_USING_PACKET3
1086+
1087+#ifdef HAVE_CONFIG_H
1088+#include <kdrive-config.h>
1089+#endif
1090+#include "ati.h"
1091+#include "w100_regs.h"
1092+#include "w100_const.h"
1093+#include "ati_dma.h"
1094+#include "ati_draw.h"
1095+#include "kaa.h"
1096+
1097+
1098+CARD8 ATISolidRop[16] = {
1099+ /* GXclear */ 0x00,
1100+ /* 0 */
1101+ /* GXand */ 0xa0,
1102+ /* src AND dst */
1103+ /* GXandReverse */ 0x50,
1104+ /* src AND NOT dst */
1105+ /* GXcopy */ 0xf0,
1106+ /* src */
1107+ /* GXandInverted */ 0x0a,
1108+ /* NOT src AND dst */
1109+ /* GXnoop */ 0xaa,
1110+ /* dst */
1111+ /* GXxor */ 0x5a,
1112+ /* src XOR dst */
1113+ /* GXor */ 0xfa,
1114+ /* src OR dst */
1115+ /* GXnor */ 0x05,
1116+ /* NOT src AND NOT dst */
1117+ /* GXequiv */ 0xa5,
1118+ /* NOT src XOR dst */
1119+ /* GXinvert */ 0x55,
1120+ /* NOT dst */
1121+ /* GXorReverse */ 0xf5,
1122+ /* src OR NOT dst */
1123+ /* GXcopyInverted */ 0x0f,
1124+ /* NOT src */
1125+ /* GXorInverted */ 0xaf,
1126+ /* NOT src OR dst */
1127+ /* GXnand */ 0x5f,
1128+ /* NOT src OR NOT dst */
1129+ /* GXset */ 0xff,
1130+ /* 1 */
1131+};
1132+
1133+CARD8 ATIBltRop[16] = {
1134+ /* GXclear */ 0x00,
1135+ /* 0 */
1136+ /* GXand */ 0x88,
1137+ /* src AND dst */
1138+ /* GXandReverse */ 0x44,
1139+ /* src AND NOT dst */
1140+ /* GXcopy */ 0xcc,
1141+ /* src */
1142+ /* GXandInverted */ 0x22,
1143+ /* NOT src AND dst */
1144+ /* GXnoop */ 0xaa,
1145+ /* dst */
1146+ /* GXxor */ 0x66,
1147+ /* src XOR dst */
1148+ /* GXor */ 0xee,
1149+ /* src OR dst */
1150+ /* GXnor */ 0x11,
1151+ /* NOT src AND NOT dst */
1152+ /* GXequiv */ 0x99,
1153+ /* NOT src XOR dst */
1154+ /* GXinvert */ 0x55,
1155+ /* NOT dst */
1156+ /* GXorReverse */ 0xdd,
1157+ /* src OR NOT dst */
1158+ /* GXcopyInverted */ 0x33,
1159+ /* NOT src */
1160+ /* GXorInverted */ 0xbb,
1161+ /* NOT src OR dst */
1162+ /* GXnand */ 0x77,
1163+ /* NOT src OR NOT dst */
1164+ /* GXset */ 0xff,
1165+ /* 1 */
1166+};
1167+
1168+static int copydx, copydy;
1169+static ATIScreenInfo *accel_atis;
1170+static char *accel_mmio;
1171+
1172+
1173+void
1174+ATIDrawSetup(ScreenPtr pScreen)
1175+{
1176+ KdScreenPriv(pScreen);
1177+ ATIScreenInfo(pScreenPriv);
1178+ default_sc_bottom_right_u dsbr;
1179+ RING_LOCALS;
1180+
1181+ dsbr.val = 0;
1182+ dsbr.f.default_sc_right = dsbr.f.default_sc_bottom = W100_MAXINT;
1183+
1184+ BEGIN_DMA_REG(2);
1185+ OUT_REG(mmDEFAULT_SC_BOTTOM_RIGHT, dsbr.val);
1186+ OUT_REG(mmSRC_SC_BOTTOM_RIGHT, dsbr.val);
1187+ END_DMA_REG();
1188+}
1189+
1190+static void
1191+ATIWaitMarker(ScreenPtr pScreen, int marker)
1192+{
1193+ KdScreenPriv(pScreen);
1194+ ATIScreenInfo(pScreenPriv);
1195+
1196+ ENTER_DRAW(0);
1197+ ATIWaitIdle(atis);
1198+ LEAVE_DRAW(0);
1199+}
1200+
1201+
1202+#if ATI_TRACE_DRAW
1203+void
1204+ATIEnterDraw(PixmapPtr pPix, const char *function)
1205+{
1206+ if (pPix != NULL) {
1207+ KdScreenPriv(pPix->drawable.pScreen);
1208+ CARD32 offset;
1209+
1210+ offset = ((CARD8 *) pPix->devPrivate.ptr -
1211+ pScreenPriv->screen->memory_base);
1212+
1213+ ErrorF("Enter %s 0x%x (%dx%dx%d/%d)\n", function, offset,
1214+ pPix->drawable.width, pPix->drawable.height,
1215+ pPix->drawable.depth, pPix->drawable.bitsPerPixel);
1216+ } else
1217+ ErrorF("Enter %s\n", function);
1218+}
1219+
1220+void
1221+ATILeaveDraw(PixmapPtr pPix, const char *function)
1222+{
1223+ if (pPix != NULL) {
1224+ KdScreenPriv(pPix->drawable.pScreen);
1225+ CARD32 offset;
1226+
1227+ offset = ((CARD8 *) pPix->devPrivate.ptr -
1228+ pScreenPriv->screen->memory_base);
1229+
1230+ ErrorF("Leave %s 0x%x\n", function, offset);
1231+ } else
1232+ ErrorF("Leave %s\n", function);
1233+}
1234+#endif
1235+
1236+/* Assumes that depth 15 and 16 can be used as depth 16, which is okay since we
1237+ * require src and dest datatypes to be equal.
1238+ */
1239+static Bool
1240+ATIGetDatatypeBpp(int bpp, CARD32 * type)
1241+{
1242+ switch (bpp) {
1243+ case 8:
1244+ *type = DATATYPE_8BPP;
1245+ return TRUE;
1246+ case 16:
1247+ *type = DATATYPE_ARGB1555;
1248+ return TRUE;
1249+ default:
1250+ ATI_FALLBACK(("Unsupported bpp: %d\n", bpp));
1251+ return FALSE;
1252+ }
1253+}
1254+
1255+
1256+Bool
1257+ATIGetPixmapOffsetPitch(PixmapPtr pPix, CARD32 * pitch, CARD32 * offset)
1258+{
1259+ KdScreenPriv(pPix->drawable.pScreen);
1260+ ATICardInfo(pScreenPriv);
1261+
1262+ /* XXX this only works for surfaces allocated in external memory */
1263+ *offset = ((CARD8 *) pPix->devPrivate.ptr -
1264+ pScreenPriv->screen->memory_base) + atic->ext_mem_location;
1265+ *pitch = pPix->devKind >> 1;
1266+
1267+ return TRUE;
1268+}
1269+
1270+
1271+static Bool
1272+ATIPrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg)
1273+{
1274+ KdScreenPriv(pPix->drawable.pScreen);
1275+ ATIScreenInfo(pScreenPriv);
1276+ ATICardInfo(pScreenPriv);
1277+ CARD32 datatype, dst_pitch, dst_offset;
1278+ dp_gui_master_cntl_u gmc;
1279+ dp_cntl_u dp_cntl;
1280+ RING_LOCALS;
1281+
1282+ accel_atis = atis;
1283+ accel_mmio = atic->reg_base;
1284+
1285+ if (!ATIGetDatatypeBpp(pPix->drawable.bitsPerPixel, &datatype))
1286+ return FALSE;
1287+ if (!ATIGetPixmapOffsetPitch(pPix, &dst_pitch, &dst_offset))
1288+ return FALSE;
1289+
1290+ ENTER_DRAW(pPix);
1291+
1292+ gmc.val = 0;
1293+ gmc.f.gmc_dst_pitch_offset_cntl = 1;
1294+ gmc.f.gmc_dst_clipping = 1;
1295+ gmc.f.gmc_brush_datatype = BRUSH_SOLIDCOLOR;
1296+ gmc.f.gmc_dst_datatype = datatype;
1297+ gmc.f.gmc_src_datatype = datatype;
1298+ gmc.f.gmc_byte_pix_order = 1;
1299+ gmc.f.gmc_rop3 = ATISolidRop[alu];
1300+ gmc.f.gmc_dp_src_source = SOURCE_MEM_RECTANGULAR;
1301+ gmc.f.gmc_clr_cmp_fcn_dis = 1;
1302+ gmc.f.gmc_dp_op = OP_ROP;
1303+
1304+ dp_cntl.val = 0;
1305+ dp_cntl.f.dst_x_dir = 1;
1306+ dp_cntl.f.dst_y_dir = 1;
1307+
1308+ BEGIN_DMA_REG(6);
1309+ OUT_REG(mmDST_PITCH, dst_pitch);
1310+ OUT_REG(mmDST_OFFSET, dst_offset);
1311+ OUT_REG(mmDP_GUI_MASTER_CNTL, gmc.val);
1312+ OUT_REG(mmDP_BRUSH_FRGD_CLR, fg);
1313+ OUT_REG(mmDP_WRITE_MSK, pm);
1314+ OUT_REG(mmDP_CNTL, dp_cntl.val);
1315+ END_DMA_REG();
1316+
1317+ LEAVE_DRAW(pPix);
1318+ return TRUE;
1319+}
1320+
1321+static void
1322+ATISolid(int x1, int y1, int x2, int y2)
1323+{
1324+ ENTER_DRAW(0);
1325+ ATIScreenInfo *atis = accel_atis;
1326+ RING_LOCALS;
1327+
1328+#ifdef DRAW_USING_PACKET3
1329+ BEGIN_DMA(3);
1330+ OUT_RING(DMA_PACKET3(W100_CCE_PACKET3_PAINT_MULTI, 2));
1331+ OUT_RING((x1 << 16) | y1);
1332+ OUT_RING(((x2 - x1) << 16) | (y2 - y1));
1333+ END_DMA();
1334+#elif defined DRAW_USING_PACKET0
1335+ BEGIN_DMA(3);
1336+ OUT_RING(DMA_PACKET0(mmDST_Y_X, 2));
1337+ OUT_RING_REG(mmDST_Y_X, (y1 << 16) | x1);
1338+ OUT_RING_REG(mmDST_HEIGHT_WIDTH, ((y2 - y1) << 16) | (x2 - x1));
1339+ END_DMA();
1340+#else
1341+ BEGIN_DMA_REG(2);
1342+ OUT_REG(mmDST_Y_X, (y1 << 16) | x1);
1343+ OUT_REG(mmDST_HEIGHT_WIDTH, ((y2 - y1) << 16) | (x2 - x1));
1344+ END_DMA_REG();
1345+#endif
1346+ LEAVE_DRAW(0);
1347+}
1348+
1349+
1350+static void
1351+ATIDoneSolid(void)
1352+{
1353+ ENTER_DRAW(0);
1354+ LEAVE_DRAW(0);
1355+}
1356+
1357+
1358+static Bool
1359+ATIPrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, int dx, int dy, int alu,
1360+ Pixel pm)
1361+{
1362+ KdScreenPriv(pDst->drawable.pScreen);
1363+ ATIScreenInfo(pScreenPriv);
1364+ ATICardInfo(pScreenPriv);
1365+ CARD32 datatype, src_pitch, src_offset, dst_pitch, dst_offset;
1366+ dp_gui_master_cntl_u gmc;
1367+ dp_cntl_u dp_cntl;
1368+ dp_datatype_u dpdt;
1369+ RING_LOCALS;
1370+
1371+ accel_mmio = atic->reg_base;
1372+ copydx = dx;
1373+ copydy = dy;
1374+ accel_atis = atis;
1375+
1376+ if (!ATIGetDatatypeBpp(pDst->drawable.bitsPerPixel, &datatype))
1377+ return FALSE;
1378+ if (!ATIGetPixmapOffsetPitch(pSrc, &src_pitch, &src_offset))
1379+ return FALSE;
1380+ if (!ATIGetPixmapOffsetPitch(pDst, &dst_pitch, &dst_offset))
1381+ return FALSE;
1382+
1383+ ENTER_DRAW(pDst);
1384+
1385+ gmc.val = 0;
1386+ gmc.f.gmc_src_pitch_offset_cntl = 1;
1387+ gmc.f.gmc_dst_pitch_offset_cntl = 1;
1388+ gmc.f.gmc_src_clipping = 1;
1389+ gmc.f.gmc_dst_clipping = 1;
1390+ gmc.f.gmc_brush_datatype = BRUSH_NONE;
1391+ gmc.f.gmc_dst_datatype = datatype;
1392+ gmc.f.gmc_src_datatype = datatype;
1393+ gmc.f.gmc_byte_pix_order = 1;
1394+ gmc.f.gmc_rop3 = ATIBltRop[alu];
1395+ gmc.f.gmc_dp_src_source = SOURCE_MEM_RECTANGULAR;
1396+ gmc.f.gmc_clr_cmp_fcn_dis = 1;
1397+ gmc.f.gmc_dp_op = OP_ROP;
1398+
1399+ dp_cntl.val = 0;
1400+ if (dx >= 0)
1401+ dp_cntl.f.dst_x_dir = 1;
1402+ if (dy >= 0)
1403+ dp_cntl.f.dst_y_dir = 1;
1404+
1405+ dpdt.val = 0;
1406+ dpdt.f.dp_dst_datatype = datatype;
1407+ dpdt.f.dp_src_datatype = datatype;
1408+ dpdt.f.dp_byte_pix_order = 1;
1409+
1410+ BEGIN_DMA_REG(8);
1411+ OUT_REG(mmSRC_PITCH, src_pitch);
1412+ OUT_REG(mmSRC_OFFSET, src_offset);
1413+ OUT_REG(mmDST_PITCH, dst_pitch);
1414+ OUT_REG(mmDST_OFFSET, dst_offset);
1415+ OUT_REG(mmDP_GUI_MASTER_CNTL, gmc.val);
1416+ OUT_REG(mmDP_WRITE_MSK, pm);
1417+ OUT_REG(mmDP_CNTL, dp_cntl.val);
1418+ OUT_REG(mmDP_DATATYPE, dpdt.val);
1419+ END_DMA_REG();
1420+
1421+ LEAVE_DRAW(pDst);
1422+ return TRUE;
1423+}
1424+
1425+static void
1426+ATICopy(int srcX, int srcY, int dstX, int dstY, int w, int h)
1427+{
1428+ ATIScreenInfo *atis = accel_atis;
1429+ RING_LOCALS;
1430+
1431+ ENTER_DRAW(0);
1432+#ifndef DRAW_USING_PACKET3
1433+ if (copydx < 0) {
1434+ srcX += w - 1;
1435+ dstX += w - 1;
1436+ }
1437+ if (copydy < 0) {
1438+ srcY += h - 1;
1439+ dstY += h - 1;
1440+ }
1441+#endif
1442+
1443+#ifdef DRAW_USING_PACKET3
1444+ BEGIN_DMA(4);
1445+ OUT_RING(DMA_PACKET3(W100_CCE_PACKET3_BITBLT_MULTI, 3));
1446+ OUT_RING((srcX << 16) | srcY);
1447+ OUT_RING((dstX << 16) | dstY);
1448+ OUT_RING((w << 16) | h);
1449+ END_DMA();
1450+#elif defined DRAW_USING_PACKET0
1451+ BEGIN_DMA(4);
1452+ OUT_RING(DMA_PACKET0(mmSRC_Y_X, 3));
1453+ OUT_RING_REG(mmSRC_Y_X, (srcY << 16) | srcX);
1454+ OUT_RING_REG(mmDST_Y_X, (dstY << 16) | dstX);
1455+ OUT_RING_REG(mmDST_HEIGHT_WIDTH, (h << 16) | w);
1456+ END_DMA();
1457+#else
1458+ BEGIN_DMA_REG(3);
1459+ OUT_REG(mmSRC_Y_X, (srcY << 16) | srcX);
1460+ OUT_REG(mmDST_Y_X, (dstY << 16) | dstX);
1461+ OUT_REG(mmDST_HEIGHT_WIDTH, (h << 16) | w);
1462+ END_DMA_REG();
1463+#endif
1464+ LEAVE_DRAW(0);
1465+}
1466+
1467+
1468+static void
1469+ATIDoneCopy(void)
1470+{
1471+ ENTER_DRAW(0);
1472+ LEAVE_DRAW(0);
1473+}
1474+
1475+
1476+Bool
1477+ATIDrawInit(ScreenPtr pScreen)
1478+{
1479+ KdScreenPriv(pScreen);
1480+ ATIScreenInfo(pScreenPriv);
1481+
1482+ ErrorF("Screen: %d/%d depth/bpp\n", pScreenPriv->screen->fb[0].depth,
1483+ pScreenPriv->screen->fb[0].bitsPerPixel);
1484+
1485+ memset(&atis->kaa, 0, sizeof(KaaScreenInfoRec));
1486+ atis->kaa.waitMarker = ATIWaitMarker;
1487+ atis->kaa.PrepareSolid = ATIPrepareSolid;
1488+ atis->kaa.Solid = ATISolid;
1489+ atis->kaa.DoneSolid = ATIDoneSolid;
1490+ atis->kaa.PrepareCopy = ATIPrepareCopy;
1491+ atis->kaa.Copy = ATICopy;
1492+ atis->kaa.DoneCopy = ATIDoneCopy;
1493+ /* XXX if this flag isn't specified, Kdrive crashes in kaaPixmapUseMemory
1494+ * or kaaPixmapUseScreen. But this is probably caused by some bug in this
1495+ * driver... */
1496+ atis->kaa.flags |= KAA_OFFSCREEN_PIXMAPS;
1497+ if (!kaaDrawInit(pScreen, &atis->kaa))
1498+ return FALSE;
1499+
1500+ return TRUE;
1501+}
1502+
1503+
1504+void
1505+ATIDrawEnable(ScreenPtr pScreen)
1506+{
1507+ KdScreenPriv(pScreen);
1508+ ATIScreenInfo(pScreenPriv);
1509+
1510+ ATIDMASetup(pScreen);
1511+ ATIDrawSetup(pScreen);
1512+
1513+ atis->scratch_area = NULL;
1514+ atis->kaa.PrepareBlend = NULL;
1515+ atis->kaa.Blend = NULL;
1516+ atis->kaa.DoneBlend = NULL;
1517+ atis->kaa.CheckComposite = NULL;
1518+ atis->kaa.PrepareComposite = NULL;
1519+ atis->kaa.Composite = NULL;
1520+ atis->kaa.DoneComposite = NULL;
1521+ atis->kaa.UploadToScreen = NULL;
1522+ atis->kaa.UploadToScratch = NULL;
1523+
1524+
1525+ kaaMarkSync(pScreen);
1526+}
1527+
1528+void
1529+ATIDrawDisable(ScreenPtr pScreen)
1530+{
1531+ ATIDMATeardown(pScreen);
1532+}
1533+
1534+void
1535+ATIDrawFini(ScreenPtr pScreen)
1536+{
1537+ kaaDrawFini(pScreen);
1538+}
1539Index: git/hw/kdrive/w100/ati_draw.h
1540===================================================================
1541--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1542+++ git/hw/kdrive/w100/ati_draw.h 2006-09-02 12:12:14.000000000 +0200
1543@@ -0,0 +1,107 @@
1544+/*
1545+ * Copyright © 2004 Eric Anholt
1546+ *
1547+ * Permission to use, copy, modify, distribute, and sell this software and its
1548+ * documentation for any purpose is hereby granted without fee, provided that
1549+ * the above copyright notice appear in all copies and that both that
1550+ * copyright notice and this permission notice appear in supporting
1551+ * documentation, and that the name of Eric Anholt not be used in
1552+ * advertising or publicity pertaining to distribution of the software without
1553+ * specific, written prior permission. Eric Anholt makes no
1554+ * representations about the suitability of this software for any purpose. It
1555+ * is provided "as is" without express or implied warranty.
1556+ *
1557+ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
1558+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
1559+ * EVENT SHALL ERIC ANHOLT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
1560+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
1561+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
1562+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1563+ * PERFORMANCE OF THIS SOFTWARE.
1564+ */
1565+/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati_draw.h,v 1.9 2005-02-21 03:44:10 anholt Exp $ */
1566+
1567+#ifndef _ATI_DRAW_H_
1568+#define _ATI_DRAW_H_
1569+
1570+Bool ATIGetOffsetPitch(ATIScreenInfo *atis, int bpp, CARD32 *pitch_offset,
1571+ int offset, int pitch);
1572+Bool ATIGetPixmapOffsetPitch(PixmapPtr pPix, CARD32 *pitch, CARD32 *offset);
1573+
1574+Bool R128CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture,
1575+ PicturePtr pDstPicture);
1576+Bool R128PrepareComposite(int op, PicturePtr pSrcPicture,
1577+ PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc,
1578+ PixmapPtr pMask, PixmapPtr pDst);
1579+void R128Composite(int srcX, int srcY, int maskX, int maskY, int dstX, int dstY,
1580+ int w, int h);
1581+void R128DoneComposite(void);
1582+
1583+Bool R128PrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst);
1584+void R128Trapezoids(KaaTrapezoid *traps, int ntraps);
1585+void R128DoneTrapezoids(void);
1586+
1587+Bool R100CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture,
1588+ PicturePtr pDstPicture);
1589+Bool R100PrepareComposite(int op, PicturePtr pSrcPicture,
1590+ PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc,
1591+ PixmapPtr pMask, PixmapPtr pDst);
1592+Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture,
1593+ PicturePtr pDstPicture);
1594+Bool R200PrepareComposite(int op, PicturePtr pSrcPicture,
1595+ PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc,
1596+ PixmapPtr pMask, PixmapPtr pDst);
1597+void RadeonComposite(int srcX, int srcY, int maskX, int maskY, int dstX,
1598+ int dstY, int w, int h);
1599+void RadeonDoneComposite(void);
1600+
1601+Bool RadeonPrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst);
1602+void RadeonTrapezoids(KaaTrapezoid *traps, int ntraps);
1603+void RadeonDoneTrapezoids(void);
1604+
1605+void RadeonSwitchTo2D(ATIScreenInfo *atis);
1606+void RadeonSwitchTo3D(ATIScreenInfo *atis);
1607+void ATIWaitIdle(ATIScreenInfo *atis);
1608+
1609+#define ATI_TRACE_FALL 0
1610+#define ATI_TRACE_DRAW 1
1611+
1612+#if ATI_TRACE_FALL
1613+#define ATI_FALLBACK(x) \
1614+do { \
1615+ ErrorF("%s: ", __FUNCTION__); \
1616+ ErrorF x; \
1617+ return FALSE; \
1618+} while (0)
1619+#else
1620+#define ATI_FALLBACK(x) return FALSE
1621+#endif
1622+
1623+#if ATI_TRACE_DRAW
1624+#define ENTER_DRAW(pix) ATIEnterDraw(pix, __FUNCTION__)
1625+#define LEAVE_DRAW(pix) ATILeaveDraw(pix, __FUNCTION__)
1626+
1627+void
1628+ATIEnterDraw (PixmapPtr pPixmap, const char *function);
1629+
1630+void
1631+ATILeaveDraw (PixmapPtr pPixmap, const char *function);
1632+#else /* ATI_TRACE */
1633+#define ENTER_DRAW(pix)
1634+#define LEAVE_DRAW(pix)
1635+#endif /* !ATI_TRACE */
1636+
1637+#ifndef USE_DMA
1638+/* if DMA is not going to be used, drawing using PACKET3 or PACKET0 won't
1639+ * be possible */
1640+#ifdef DRAW_USING_PACKET3
1641+#undef DRAW_USING_PACKET3
1642+#endif
1643+
1644+#ifdef DRAW_USING_PACKET0
1645+#undef DRAW_USING_PACKET0
1646+#endif
1647+
1648+#endif /* USE_DMA */
1649+
1650+#endif /* _ATI_DRAW_H_ */
1651Index: git/hw/kdrive/w100/ati.h
1652===================================================================
1653--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1654+++ git/hw/kdrive/w100/ati.h 2006-09-02 12:12:14.000000000 +0200
1655@@ -0,0 +1,256 @@
1656+/*
1657+ * $Id: ati.h,v 1.18 2005-06-10 02:14:44 anholt Exp $
1658+ *
1659+ * Copyright © 2003 Eric Anholt
1660+ *
1661+ * Permission to use, copy, modify, distribute, and sell this software and its
1662+ * documentation for any purpose is hereby granted without fee, provided that
1663+ * the above copyright notice appear in all copies and that both that
1664+ * copyright notice and this permission notice appear in supporting
1665+ * documentation, and that the name of Eric Anholt not be used in
1666+ * advertising or publicity pertaining to distribution of the software without
1667+ * specific, written prior permission. Eric Anholt makes no
1668+ * representations about the suitability of this software for any purpose. It
1669+ * is provided "as is" without express or implied warranty.
1670+ *
1671+ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
1672+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
1673+ * EVENT SHALL ERIC ANHOLT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
1674+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
1675+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
1676+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1677+ * PERFORMANCE OF THIS SOFTWARE.
1678+ */
1679+/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati.h,v 1.18 2005-06-10 02:14:44 anholt Exp $ */
1680+
1681+#ifndef _ATI_H_
1682+#define _ATI_H_
1683+
1684+#ifdef HAVE_CONFIG_H
1685+#include <kdrive-config.h>
1686+#endif
1687+
1688+#ifdef KDRIVEFBDEV
1689+#include <fbdev.h>
1690+#endif
1691+#ifdef KDRIVEVESA
1692+#include <vesa.h>
1693+#endif
1694+
1695+#include "kxv.h"
1696+
1697+
1698+#define ATI_MEM_BASE(c) (0x08000000)
1699+#define ATI_MEM_SIZE(c) (0x01000000)
1700+#define ATI_REG_BASE(c) (ATI_MEM_BASE(c) + 0x10000) /* the 0x08000000 must be obtained from /proc/iomem, the 0x10000 from ReadCfgReg(cfgREG_BASE) << 16) & 0xff0000 */
1701+#define ATI_REG_SIZE(c) (0x2000)
1702+
1703+#ifdef __powerpc__
1704+
1705+static __inline__ void
1706+MMIO_OUT32(__volatile__ void *base, const unsigned long offset,
1707+ const unsigned int val)
1708+{
1709+ __asm__ __volatile__(
1710+ "stwbrx %1,%2,%3\n\t"
1711+ "eieio"
1712+ : "=m" (*((volatile unsigned char *)base+offset))
1713+ : "r" (val), "b" (base), "r" (offset));
1714+}
1715+
1716+static __inline__ CARD32
1717+MMIO_IN32(__volatile__ void *base, const unsigned long offset)
1718+{
1719+ register unsigned int val;
1720+ __asm__ __volatile__(
1721+ "lwbrx %0,%1,%2\n\t"
1722+ "eieio"
1723+ : "=r" (val)
1724+ : "b" (base), "r" (offset),
1725+ "m" (*((volatile unsigned char *)base+offset)));
1726+ return val;
1727+}
1728+
1729+#else
1730+
1731+#define MMIO_OUT32(mmio, a, v) (*(VOL32 *)((mmio) + (a)) = (v))
1732+#define MMIO_IN32(mmio, a) (*(VOL32 *)((mmio) + (a)))
1733+
1734+#endif
1735+
1736+#define MMIO_OUT8(mmio, a, v) (*(VOL8 *)((mmio) + (a)) = (v))
1737+#define MMIO_IN8(mmio, a, v) (*(VOL8 *)((mmio) + (a)))
1738+
1739+
1740+typedef volatile CARD8 VOL8;
1741+typedef volatile CARD16 VOL16;
1742+typedef volatile CARD32 VOL32;
1743+
1744+struct pci_id_entry {
1745+ CARD16 vendor;
1746+ CARD16 device;
1747+ CARD8 caps;
1748+ char *name;
1749+};
1750+
1751+struct backend_funcs {
1752+ void (*cardfini)(KdCardInfo *);
1753+ void (*scrfini)(KdScreenInfo *);
1754+ Bool (*initScreen)(ScreenPtr);
1755+ Bool (*finishInitScreen)(ScreenPtr pScreen);
1756+ Bool (*createRes)(ScreenPtr);
1757+ void (*preserve)(KdCardInfo *);
1758+ void (*restore)(KdCardInfo *);
1759+ Bool (*dpms)(ScreenPtr, int);
1760+ Bool (*enable)(ScreenPtr);
1761+ void (*disable)(ScreenPtr);
1762+ void (*getColors)(ScreenPtr, int, int, xColorItem *);
1763+ void (*putColors)(ScreenPtr, int, int, xColorItem *);
1764+#ifdef RANDR
1765+ Bool (*randrSetConfig) (ScreenPtr, Rotation, int, RRScreenSizePtr);
1766+#endif
1767+};
1768+
1769+typedef struct _ATICardInfo {
1770+ union {
1771+#ifdef KDRIVEFBDEV
1772+ FbdevPriv fbdev;
1773+#endif
1774+#ifdef KDRIVEVESA
1775+ VesaCardPrivRec vesa;
1776+#endif
1777+ } backend_priv;
1778+ struct backend_funcs backend_funcs;
1779+
1780+ struct pci_id_entry *pci_id;
1781+ CARD8 *mem_base;
1782+ CARD8 *reg_base;
1783+ CARD32 fb_location;
1784+ CARD32 ext_mem_location;
1785+ Bool use_fbdev, use_vesa;
1786+} ATICardInfo;
1787+
1788+#define getATICardInfo(kd) ((ATICardInfo *) ((kd)->card->driver))
1789+#define ATICardInfo(kd) ATICardInfo *atic = getATICardInfo(kd)
1790+
1791+typedef struct _ATICursor {
1792+ int width, height;
1793+ int xhot, yhot;
1794+
1795+ Bool has_cursor;
1796+ CursorPtr pCursor;
1797+ Pixel source, mask;
1798+ KdOffscreenArea *area;
1799+} ATICursor;
1800+
1801+typedef struct _ATIPortPriv {
1802+ int brightness;
1803+ int saturation;
1804+ RegionRec clip;
1805+ CARD32 size;
1806+ KdOffscreenArea *off_screen;
1807+ DrawablePtr pDraw;
1808+ PixmapPtr pPixmap;
1809+
1810+ CARD32 src_offset;
1811+ CARD32 src_pitch;
1812+ CARD8 *src_addr;
1813+
1814+ int id;
1815+ int src_x1, src_y1, src_x2, src_y2;
1816+ int dst_x1, dst_y1, dst_x2, dst_y2;
1817+ int src_w, src_h, dst_w, dst_h;
1818+} ATIPortPrivRec, *ATIPortPrivPtr;
1819+
1820+typedef struct _ATIScreenInfo {
1821+ union {
1822+#ifdef KDRIVEFBDEV
1823+ FbdevScrPriv fbdev;
1824+#endif
1825+#ifdef KDRIVEVESA
1826+ VesaScreenPrivRec vesa;
1827+#endif
1828+ } backend_priv;
1829+ KaaScreenInfoRec kaa;
1830+
1831+ ATICardInfo *atic;
1832+ KdScreenInfo *screen;
1833+
1834+ int scratch_offset;
1835+ int scratch_next;
1836+ KdOffscreenArea *scratch_area;
1837+
1838+ ATICursor cursor;
1839+
1840+ KdVideoAdaptorPtr pAdaptor;
1841+ int num_texture_ports;
1842+
1843+ Bool using_pio; /* If we use decode DMA packets to MMIO. */
1844+ Bool using_dma; /* If we use non-DRI DMA to submit packets. */
1845+
1846+ KdOffscreenArea *dma_space; /* For "DMA" from framebuffer. */
1847+ CARD32 *ring_addr; /* Beginning of ring buffer. */
1848+ int ring_write; /* Index of write ptr in ring. */
1849+ int ring_read; /* Index of read ptr in ring. */
1850+ int ring_len;
1851+ int ring_mask;
1852+ int ring_count;
1853+ int ring_free;
1854+
1855+
1856+ int mmio_avail;
1857+} ATIScreenInfo;
1858+
1859+#define getATIScreenInfo(kd) ((ATIScreenInfo *) ((kd)->screen->driver))
1860+#define ATIScreenInfo(kd) ATIScreenInfo *atis = getATIScreenInfo(kd)
1861+
1862+typedef union { float f; CARD32 i; } fi_type;
1863+
1864+
1865+/* ati.c */
1866+Bool
1867+ATIMap(KdCardInfo *card, ATICardInfo *atic);
1868+
1869+void
1870+ATIUnmap(KdCardInfo *card, ATICardInfo *atic);
1871+
1872+/* ati_draw.c */
1873+void
1874+ATIDrawSetup(ScreenPtr pScreen);
1875+
1876+Bool
1877+ATIDrawInit(ScreenPtr pScreen);
1878+
1879+void
1880+ATIDrawEnable(ScreenPtr pScreen);
1881+
1882+void
1883+ATIDrawDisable(ScreenPtr pScreen);
1884+
1885+void
1886+ATIDrawFini(ScreenPtr pScreen);
1887+
1888+
1889+/* ati_cursor.c */
1890+Bool
1891+ATICursorInit(ScreenPtr pScreen);
1892+
1893+void
1894+ATICursorEnable(ScreenPtr pScreen);
1895+
1896+void
1897+ATICursorDisable(ScreenPtr pScreen);
1898+
1899+void
1900+ATICursorFini(ScreenPtr pScreen);
1901+
1902+void
1903+ATIRecolorCursor(ScreenPtr pScreen, int ndef, xColorItem *pdef);
1904+
1905+int
1906+ATILog2(int val);
1907+
1908+
1909+extern KdCardFuncs ATIFuncs;
1910+
1911+#endif /* _ATI_H_ */
1912Index: git/hw/kdrive/w100/ati_microcode.c
1913===================================================================
1914--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1915+++ git/hw/kdrive/w100/ati_microcode.c 2006-09-02 12:12:14.000000000 +0200
1916@@ -0,0 +1,412 @@
1917+/*
1918+ * Copyright © 2006 Alberto Mardegan <mardy@users.sourceforge.net>
1919+ *
1920+ * Permission to use, copy, modify, distribute, and sell this software and its
1921+ * documentation for any purpose is hereby granted without fee, provided that
1922+ * the above copyright notice appear in all copies and that both that
1923+ * copyright notice and this permission notice appear in supporting
1924+ * documentation, and that the name of Alberto Mardegan not be used in
1925+ * advertising or publicity pertaining to distribution of the software without
1926+ * specific, written prior permission. Alberto Mardegan makes no
1927+ * representations about the suitability of this software for any purpose. It
1928+ * is provided "as is" without express or implied warranty.
1929+ *
1930+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
1931+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
1932+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
1933+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
1934+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
1935+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1936+ * PERFORMANCE OF THIS SOFTWARE.
1937+ */
1938+
1939+/* CCE microcode (from ATI) */
1940+
1941+#include "ati.h"
1942+
1943+
1944+CARD32 w100_microcode[][2] = {
1945+ {0x21007000, 0x00000000}
1946+ ,
1947+ {0x20007000, 0x00000000}
1948+ ,
1949+ {0x00000098, 0x00000004}
1950+ ,
1951+ {0x0000009c, 0x00000004}
1952+ ,
1953+ {0x66544a49, 0x00000000}
1954+ ,
1955+ {0x49494174, 0x00000000}
1956+ ,
1957+ {0x54517d83, 0x00000000}
1958+ ,
1959+ {0x498d8b64, 0x00000000}
1960+ ,
1961+ {0x49494949, 0x00000000}
1962+ ,
1963+ {0x49b6493c, 0x00000000}
1964+ ,
1965+ {0x49494949, 0x00000000}
1966+ ,
1967+ {0x49494949, 0x00000000}
1968+ ,
1969+ {0x49490d10, 0x00000000}
1970+ ,
1971+ {0x000f0000, 0x00000016}
1972+ ,
1973+ {0x30292027, 0x00000000}
1974+ ,
1975+ {0x00000012, 0x00000004}
1976+ ,
1977+ {0x000f0000, 0x00000016}
1978+ ,
1979+ {0x30292427, 0x00000000}
1980+ ,
1981+ {0x0000730f, 0x00000002}
1982+ , /* mmIDCT_CONTROL */
1983+ {0x00061000, 0x00000002}
1984+ ,
1985+ {0x0000001d, 0x0000001a}
1986+ ,
1987+ {0x00004000, 0x0000001e}
1988+ ,
1989+ {0x00061000, 0x00000002}
1990+ ,
1991+ {0x0000001d, 0x0000001a}
1992+ ,
1993+ {0x00004000, 0x0000001e}
1994+ ,
1995+ {0x00061000, 0x00000002}
1996+ ,
1997+ {0x0000001d, 0x0000001a}
1998+ ,
1999+ {0x00004000, 0x0000001e}
2000+ ,
2001+ {0x00000013, 0x00000004}
2002+ ,
2003+ {0x0003803a, 0x00000002}
2004+ ,
2005+ {0x04006300, 0x00000002}
2006+ , /* mmIDCT_RUNS */
2007+ {0x00000013, 0x00000004}
2008+ ,
2009+ {0x00007300, 0x00000002}
2010+ , /* mmIDCT_RUNS */
2011+ {0x00065000, 0x00000002}
2012+ ,
2013+ {0x00003301, 0x00000002}
2014+ , /* mmIDCT_LEVELS */
2015+ {0x04006301, 0x00000006}
2016+ , /* mmIDCT_LEVELS */
2017+ {0x00007300, 0x00000002}
2018+ , /* mmIDCT_RUNS */
2019+ {0x00007301, 0x00000002}
2020+ , /* mmIDCT_LEVELS */
2021+ {0x00007301, 0x00000006}
2022+ , /* mmIDCT_LEVELS */
2023+ {0x0003803a, 0x00000002}
2024+ ,
2025+ {0x04006300, 0x00000006}
2026+ , /* mmIDCT_RUNS */
2027+ {0x00a05000, 0x00000002}
2028+ ,
2029+ {0x00000039, 0x0000000c}
2030+ ,
2031+ {0x00000000, 0x00000002}
2032+ ,
2033+ {0x00007300, 0x00000002}
2034+ , /* mmIDCT_RUNS */
2035+ {0x00007301, 0x00000002}
2036+ , /* mmIDCT_LEVELS */
2037+ {0x00007301, 0x00000002}
2038+ , /* mmIDCT_LEVELS */
2039+ {0x0060002a, 0x00000004}
2040+ ,
2041+ {0x00007488, 0x00000002}
2042+ , /* mmE2_ARITHMETIC_CNTL */
2043+ {0x0003803b, 0x00000002}
2044+ ,
2045+ {0x00098000, 0x00000002}
2046+ ,
2047+ {0x00200000, 0x00000002}
2048+ ,
2049+ {0x00000039, 0x0000000c}
2050+ ,
2051+ {0x00007465, 0x00000002}
2052+ , /* mmDST_X_Y */
2053+ {0x00007464, 0x00000002}
2054+ , /* mmSRC_X_Y */
2055+ {0x00007478, 0x00000002}
2056+ , /* mmMVC_CNTL_START */
2057+ {0x00600034, 0x00000004}
2058+ ,
2059+ {0x00000000, 0x00000006}
2060+ ,
2061+ {0xffffffff, 0x00000000}
2062+ ,
2063+ {0x00000006, 0x00000000}
2064+ ,
2065+ {0x01605000, 0x00000002}
2066+ ,
2067+ {0x00065000, 0x00000002}
2068+ ,
2069+ {0x00098000, 0x00000002}
2070+ ,
2071+ {0x00061000, 0x00000002}
2072+ ,
2073+ {0x64c0603d, 0x00000004}
2074+ ,
2075+ {0x00080000, 0x00000016}
2076+ ,
2077+ {0x00000000, 0x00000000}
2078+ ,
2079+ {0x0400241d, 0x00000002}
2080+ , /* mmBRUSH_Y_X */
2081+ {0x00007424, 0x00000002}
2082+ , /* mmDST_LINE_START */
2083+ {0x00067425, 0x00000002}
2084+ , /* mmDST_LINE_END */
2085+ {0x04002424, 0x00000002}
2086+ , /* mmDST_LINE_START */
2087+ {0x00067425, 0x00000002}
2088+ , /* mmDST_LINE_END */
2089+ {0x00000046, 0x00000004}
2090+ ,
2091+ {0x00005000, 0x00000000}
2092+ ,
2093+ {0x00061000, 0x00000002}
2094+ ,
2095+ {0x0000740e, 0x00000002}
2096+ , /* mmDST_Y_X */
2097+ {0x00019000, 0x00000002}
2098+ ,
2099+ {0x00011050, 0x00000014}
2100+ ,
2101+ {0x00000050, 0x00000012}
2102+ ,
2103+ {0x0400240f, 0x00000002}
2104+ , /* mmDST_HEIGHT_WIDTH */
2105+ {0x0000504a, 0x00000004}
2106+ ,
2107+ {0x00007465, 0x00000002}
2108+ , /* mmDST_X_Y */
2109+ {0x00007466, 0x00000002}
2110+ , /* mmDST_WIDTH_HEIGHT */
2111+ {0x00000051, 0x00000004}
2112+ ,
2113+ {0x01e65473, 0x00000002}
2114+ , /* mmDP_CNTL_DST_DIR */
2115+ {0x4401b0b9, 0x00000002}
2116+ ,
2117+ {0x01c110b9, 0x00000002}
2118+ ,
2119+ {0x2666705d, 0x00000018}
2120+ ,
2121+ {0x040c2465, 0x00000002}
2122+ , /* mmDST_X_Y */
2123+ {0x0000005d, 0x00000018}
2124+ ,
2125+ {0x04002464, 0x00000002}
2126+ , /* mmSRC_X_Y */
2127+ {0x00007466, 0x00000002}
2128+ , /* mmDST_WIDTH_HEIGHT */
2129+ {0x00000054, 0x00000004}
2130+ ,
2131+ {0x00401060, 0x00000008}
2132+ ,
2133+ {0x00101000, 0x00000002}
2134+ ,
2135+ {0x000d80ff, 0x00000002}
2136+ ,
2137+ {0x00800063, 0x00000008}
2138+ ,
2139+ {0x000f9000, 0x00000002}
2140+ ,
2141+ {0x000e00ff, 0x00000002}
2142+ ,
2143+ {0x00000000, 0x00000006}
2144+ ,
2145+ {0x00000080, 0x00000018}
2146+ ,
2147+ {0x00000054, 0x00000004}
2148+ ,
2149+ {0x00007490, 0x00000002}
2150+ , /* mmDP_SRC_FRGD_CLR */
2151+ {0x00065000, 0x00000002}
2152+ ,
2153+ {0x00009000, 0x00000002}
2154+ ,
2155+ {0x00041000, 0x00000002}
2156+ ,
2157+ {0x0c00340e, 0x00000002}
2158+ , /* mmDST_Y_X */
2159+ {0x00049000, 0x00000002}
2160+ ,
2161+ {0x00051000, 0x00000002}
2162+ ,
2163+ {0x01e784f8, 0x00000002}
2164+ ,
2165+ {0x00200000, 0x00000002}
2166+ ,
2167+ {0x00600073, 0x0000000c}
2168+ ,
2169+ {0x00007463, 0x00000002}
2170+ , /* mmDST_HEIGHT_WIDTH_8 */
2171+ {0x006074f0, 0x00000021}
2172+ , /* mmHOST_DATA0 */
2173+ {0x20007068, 0x00000004}
2174+ ,
2175+ {0x00005068, 0x00000004}
2176+ ,
2177+ {0x00007490, 0x00000002}
2178+ , /* mmDP_SRC_FRGD_CLR */
2179+ {0x00007491, 0x00000002}
2180+ , /* mmDP_SRC_BKGD_CLR */
2181+ {0x0000740e, 0x00000002}
2182+ , /* mmDST_Y_X */
2183+ {0x0000740f, 0x00000002}
2184+ , /* mmDST_HEIGHT_WIDTH */
2185+ {0x00a05000, 0x00000002}
2186+ ,
2187+ {0x00600076, 0x0000000c}
2188+ ,
2189+ {0x006074f0, 0x00000021}
2190+ , /* mmHOST_DATA0 */
2191+ {0x000074f8, 0x00000002}
2192+ , /* mmHOST_DATA_LAST */
2193+ {0x00000076, 0x00000004}
2194+ ,
2195+ {0x000a740e, 0x00000002}
2196+ , /* mmDST_Y_X */
2197+ {0x0020740f, 0x00000002}
2198+ , /* mmDST_HEIGHT_WIDTH */
2199+ {0x00600079, 0x00000004}
2200+ ,
2201+ {0x0000748c, 0x00000002}
2202+ , /* mmCLR_CMP_CNTL */
2203+ {0x0000748d, 0x00000002}
2204+ , /* mmCLR_CMP_CLR_SRC */
2205+ {0x0000748e, 0x00000006}
2206+ , /* mmCLR_CMP_CLR_DST */
2207+ {0x00005000, 0x00000002}
2208+ ,
2209+ {0x00a05000, 0x00000002}
2210+ ,
2211+ {0x00007468, 0x00000002}
2212+ , /* mmDST_HEIGHT_Y */
2213+ {0x00061000, 0x00000002}
2214+ ,
2215+ {0x00000084, 0x0000000c}
2216+ ,
2217+ {0x00058000, 0x00000002}
2218+ ,
2219+ {0x0c607462, 0x00000002}
2220+ , /* mmDST_WIDTH_X */
2221+ {0x00000086, 0x00000004}
2222+ ,
2223+ {0x00600085, 0x00000004}
2224+ ,
2225+ {0x400070ba, 0x00000000}
2226+ ,
2227+ {0x000380ba, 0x00000002}
2228+ ,
2229+ {0x00000093, 0x0000001c}
2230+ ,
2231+ {0x00065095, 0x00000018}
2232+ ,
2233+ {0x0400246f, 0x00000002}
2234+ , /* mmSC_TOP_LEFT */
2235+ {0x00061096, 0x00000018}
2236+ ,
2237+ {0x04007470, 0x00000000}
2238+ , /* mmSC_BOTTOM_RIGHT */
2239+ {0x0000746f, 0x00000002}
2240+ , /* mmSC_TOP_LEFT */
2241+ {0x00007470, 0x00000000}
2242+ , /* mmSC_BOTTOM_RIGHT */
2243+ {0x00090000, 0x00000006}
2244+ ,
2245+ {0x00090000, 0x00000002}
2246+ ,
2247+ {0x000d8002, 0x00000006}
2248+ ,
2249+ {0x01200000, 0x00000002}
2250+ ,
2251+ {0x20077000, 0x00000002}
2252+ ,
2253+ {0x01200000, 0x00000002}
2254+ ,
2255+ {0x20007000, 0x00000002}
2256+ ,
2257+ {0x00061000, 0x00000002}
2258+ ,
2259+ {0x0120741b, 0x00000002}
2260+ , /* mmDP_GUI_MASTER_CNTL */
2261+ {0x8040740a, 0x00000002}
2262+ , /* mmSRC_PITCH_OFFSET */
2263+ {0x8040740b, 0x00000002}
2264+ , /* mmDST_PITCH_OFFSET */
2265+ {0x00110000, 0x00000002}
2266+ ,
2267+ {0x000380ba, 0x00000002}
2268+ ,
2269+ {0x000000aa, 0x0000001c}
2270+ ,
2271+ {0x00061096, 0x00000018}
2272+ ,
2273+ {0x84407471, 0x00000002}
2274+ , /* mmSRC_SC_BOTTOM_RIGHT */
2275+ {0x00061095, 0x00000018}
2276+ ,
2277+ {0x8400746f, 0x00000002}
2278+ , /* mmSC_TOP_LEFT */
2279+ {0x00061096, 0x00000018}
2280+ ,
2281+ {0x84407470, 0x00000002}
2282+ , /* mmSC_BOTTOM_RIGHT */
2283+ {0x000000ad, 0x00000004}
2284+ ,
2285+ {0x80407471, 0x00000002}
2286+ , /* mmSRC_SC_BOTTOM_RIGHT */
2287+ {0x8000746f, 0x00000002}
2288+ , /* mmSC_TOP_LEFT */
2289+ {0x80407470, 0x00000002}
2290+ , /* mmSC_BOTTOM_RIGHT */
2291+ {0x00108000, 0x00000002}
2292+ ,
2293+ {0x01400000, 0x00000002}
2294+ ,
2295+ {0x006000b1, 0x0000000c}
2296+ ,
2297+ {0x20c07000, 0x00000020}
2298+ ,
2299+ {0x000000b3, 0x00000012}
2300+ ,
2301+ {0x00800000, 0x00000006}
2302+ ,
2303+ {0x0080741d, 0x00000006}
2304+ , /* mmBRUSH_Y_X */
2305+ {0x00000000, 0x00000000}
2306+ ,
2307+ {0x00000001, 0x00000000}
2308+ ,
2309+ {0x000380b5, 0x00000002}
2310+ ,
2311+ {0x04002054, 0x00000002}
2312+ , /* mmNQWAIT_UNTIL */
2313+ {0x00005000, 0x00000000}
2314+ ,
2315+ {0x00000000, 0x00000000}
2316+ ,
2317+ {0x00000000, 0x00000000}
2318+ ,
2319+ {0x00000000, 0x00000000}
2320+ ,
2321+ {0x00000000, 0x00000000}
2322+ ,
2323+ {0x00000000, 0x00000000}
2324+ ,
2325+ {0x00000000, 0x00000000}
2326+ ,
2327+ {0x00000000, 0x00000000}
2328+};
2329Index: git/hw/kdrive/w100/ati_stub.c
2330===================================================================
2331--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2332+++ git/hw/kdrive/w100/ati_stub.c 2006-09-02 12:12:14.000000000 +0200
2333@@ -0,0 +1,103 @@
2334+/*
2335+ * Copyright © 2006 Alberto Mardegan <mardy@users.sourceforge.net>
2336+ *
2337+ * Permission to use, copy, modify, distribute, and sell this software and its
2338+ * documentation for any purpose is hereby granted without fee, provided that
2339+ * the above copyright notice appear in all copies and that both that
2340+ * copyright notice and this permission notice appear in supporting
2341+ * documentation, and that the name of Alberto Mardegan not be used in
2342+ * advertising or publicity pertaining to distribution of the software without
2343+ * specific, written prior permission. Alberto Mardegan makes no
2344+ * representations about the suitability of this software for any purpose. It
2345+ * is provided "as is" without express or implied warranty.
2346+ *
2347+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
2348+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
2349+ * EVENT SHALL ALBERTO MARDEGAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
2350+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
2351+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
2352+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2353+ * PERFORMANCE OF THIS SOFTWARE.
2354+ */
2355+
2356+#ifdef HAVE_CONFIG_H
2357+#include <kdrive-config.h>
2358+#endif
2359+#include "ati.h"
2360+#include "w100_regs.h"
2361+#include "klinux.h"
2362+
2363+extern struct pci_id_entry ati_pci_ids[];
2364+
2365+static Bool
2366+FindW100(CARD16 vendor, CARD16 device, CARD32 count, KdCardAttr * attr)
2367+{
2368+ char *mmio;
2369+ CARD32 chip_id;
2370+ Bool found = FALSE;
2371+
2372+ mmio = KdMapDevice(ATI_REG_BASE(0), ATI_REG_SIZE(0));
2373+ KdSetMappedMode((CARD32) mmio, ATI_REG_SIZE(0),
2374+ KD_MAPPED_MODE_REGISTERS);
2375+
2376+ chip_id = MMIO_IN32(mmio, mmCHIP_ID);
2377+ if ((vendor | (device << 16)) == chip_id) {
2378+ ErrorF("Found Chip ID: %08x\n\n", chip_id);
2379+ attr->deviceID = device;
2380+ attr->vendorID = vendor;
2381+ found = TRUE;
2382+ }
2383+ KdUnmapDevice(mmio, ATI_REG_SIZE(0));
2384+ return found;
2385+}
2386+
2387+
2388+void
2389+InitCard(char *name)
2390+{
2391+ struct pci_id_entry *id;
2392+ KdCardAttr attr;
2393+
2394+ for (id = ati_pci_ids; id->name != NULL; id++) {
2395+ int j = 0;
2396+ if (FindW100(id->vendor, id->device, j++, &attr))
2397+ KdCardInfoAdd(&ATIFuncs, &attr, 0);
2398+ }
2399+}
2400+
2401+void
2402+InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
2403+{
2404+ KdInitOutput(pScreenInfo, argc, argv);
2405+}
2406+
2407+void
2408+InitInput(int argc, char **argv)
2409+{
2410+ KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs);
2411+#ifdef TOUCHSCREEN
2412+ KdAddMouseDriver(&TsFuncs);
2413+#endif
2414+}
2415+
2416+void
2417+ddxUseMsg(void)
2418+{
2419+ KdUseMsg();
2420+#ifdef KDRIVEVESA
2421+ vesaUseMsg();
2422+#endif
2423+}
2424+
2425+int
2426+ddxProcessArgument(int argc, char **argv, int i)
2427+{
2428+ int ret;
2429+
2430+#ifdef KDRIVEVESA
2431+ if (!(ret = vesaProcessArgument(argc, argv, i)))
2432+#endif
2433+ ret = KdProcessArgument(argc, argv, i);
2434+
2435+ return ret;
2436+}
2437Index: git/hw/kdrive/w100/Makefile.am
2438===================================================================
2439--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2440+++ git/hw/kdrive/w100/Makefile.am 2006-09-02 12:42:38.000000000 +0200
2441@@ -0,0 +1,56 @@
2442+if KDRIVEFBDEV
2443+FBDEV_INCLUDES =-I$(top_srcdir)/hw/kdrive/fbdev
2444+FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a
2445+endif
2446+
2447+if KDRIVEVESA
2448+VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa
2449+VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a
2450+endif
2451+
2452+INCLUDES = \
2453+ @KDRIVE_INCS@ \
2454+ $(FBDEV_INCLUDES) \
2455+ $(VESA_INCLUDES) \
2456+ @KDRIVE_CFLAGS@
2457+
2458+bin_PROGRAMS = Xw100
2459+
2460+if TSLIB
2461+TSLIB_FLAG = -lts
2462+endif
2463+
2464+noinst_LIBRARIES = libw100.a
2465+
2466+libw100_a_SOURCES = \
2467+ ati_cursor.c \
2468+ ati_dma.c \
2469+ ati_dma.h \
2470+ ati_draw.c \
2471+ ati_draw.h \
2472+ ati_microcode.c \
2473+ ati.c \
2474+ ati.h \
2475+ w100_regs.h \
2476+ w100_const.h
2477+
2478+Xw100_SOURCES = \
2479+ ati_stub.c
2480+
2481+W100_LIBS = \
2482+ libw100.a \
2483+ $(FBDEV_LIBS) \
2484+ $(VESA_LIBS) \
2485+ $(DRI_LIBS) \
2486+ @KDRIVE_LIBS@
2487+
2488+Xw100_LDADD = \
2489+ $(W100_LIBS) \
2490+ @XSERVER_LIBS@ \
2491+ $(TSLIB_FLAG)
2492+
2493+
2494+Xw100_DEPENDENCIES = \
2495+ libw100.a \
2496+ $(FBDEV_LIBS) \
2497+ $(VESA_LIBS)
2498Index: git/hw/kdrive/w100/w100_const.h
2499===================================================================
2500--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2501+++ git/hw/kdrive/w100/w100_const.h 2006-09-02 12:12:14.000000000 +0200
2502@@ -0,0 +1,25 @@
2503+#define CSQ_CNTL_MODE_FREERUN 0x8
2504+
2505+#define WB_BLOCK_SIZE_A_0 0
2506+#define WB_BLOCK_SIZE_A_1 1
2507+#define WB_BLOCK_SIZE_A_2 2
2508+#define WB_BLOCK_SIZE_A_3 3
2509+#define WB_BLOCK_SIZE_A_4 4
2510+
2511+#define DATATYPE_8BPP 2
2512+#define DATATYPE_ARGB1555 3
2513+#define DATATYPE_ARGB4444 5
2514+
2515+#define BRUSH_SOLIDCOLOR 13
2516+#define BRUSH_NONE 15
2517+
2518+#define OP_ROP 0
2519+#define OP_ARITHMETIC 1
2520+
2521+#define SOURCE_MEM_RECTANGULAR 2
2522+
2523+#define W100_MAXINT 0x1fff
2524+
2525+#define W100_CCE_PACKET3_PAINT_MULTI 0xc0001a00
2526+#define W100_CCE_PACKET3_BITBLT_MULTI 0xc0001b00
2527+
2528Index: git/hw/kdrive/w100/w100_regs.h
2529===================================================================
2530--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2531+++ git/hw/kdrive/w100/w100_regs.h 2006-09-02 12:12:14.000000000 +0200
2532@@ -0,0 +1,3802 @@
2533+#ifndef _W100_REGS_H_
2534+#define _W100_REGS_H_
2535+
2536+/* Block CIF Start: */
2537+#define mmCHIP_ID 0x0000
2538+#define mmREVISION_ID 0x0004
2539+#define mmWRAP_BUF_A 0x0008
2540+#define mmWRAP_BUF_B 0x000C
2541+#define mmWRAP_TOP_DIR 0x0010
2542+#define mmWRAP_START_DIR 0x0014
2543+#define mmCIF_CNTL 0x0018
2544+#define mmCFGREG_BASE 0x001C
2545+#define mmCIF_IO 0x0020
2546+#define mmCIF_READ_DBG 0x0024
2547+#define mmCIF_WRITE_DBG 0x0028
2548+#define cfgIND_ADDR_A_0 0x0000
2549+#define cfgIND_ADDR_A_1 0x0001
2550+#define cfgIND_ADDR_A_2 0x0002
2551+#define cfgIND_DATA_A 0x0003
2552+#define cfgREG_BASE 0x0004
2553+#define cfgINTF_CNTL 0x0005
2554+#define cfgSTATUS 0x0006
2555+#define cfgCPU_DEFAULTS 0x0007
2556+#define cfgIND_ADDR_B_0 0x0008
2557+#define cfgIND_ADDR_B_1 0x0009
2558+#define cfgIND_ADDR_B_2 0x000A
2559+#define cfgIND_DATA_B 0x000B
2560+#define cfgPM4_RPTR 0x000C
2561+#define cfgSCRATCH 0x000D
2562+#define cfgPM4_WRPTR_0 0x000E
2563+#define cfgPM4_WRPTR_1 0x000F
2564+/* Block CIF End: */
2565+
2566+/* Block CP Start: */
2567+#define mmCP_RB_CNTL 0x0210
2568+#define mmCP_RB_BASE 0x0214
2569+#define mmCP_RB_RPTR_ADDR 0x0218
2570+#define mmCP_RB_RPTR 0x021C
2571+#define mmCP_RB_RPTR_WR 0x02F8
2572+#define mmCP_RB_WPTR 0x0220
2573+#define mmCP_IB_BASE 0x0228
2574+#define mmCP_IB_BUFSZ 0x022C
2575+#define mmCP_CSQ_CNTL 0x0230
2576+#define mmCP_CSQ_APER_PRIMARY 0x0300
2577+#define mmCP_CSQ_APER_INDIRECT 0x0340
2578+#define mmCP_ME_CNTL 0x0240
2579+#define mmCP_ME_RAM_ADDR 0x0244
2580+#define mmCP_ME_RAM_RADDR 0x0248
2581+#define mmCP_ME_RAM_DATAH 0x024C
2582+#define mmCP_ME_RAM_DATAL 0x0250
2583+#define mmCP_DEBUG 0x025C
2584+#define mmSCRATCH_REG0 0x0260
2585+#define mmSCRATCH_REG1 0x0264
2586+#define mmSCRATCH_REG2 0x0268
2587+#define mmSCRATCH_REG3 0x026C
2588+#define mmSCRATCH_REG4 0x0270
2589+#define mmSCRATCH_REG5 0x0274
2590+#define mmSCRATCH_UMSK 0x0280
2591+#define mmSCRATCH_ADDR 0x0284
2592+#define mmCP_CSQ_ADDR 0x02E4
2593+#define mmCP_CSQ_DATA 0x02E8
2594+#define mmCP_CSQ_STAT 0x02EC
2595+#define mmCP_STAT 0x02F0
2596+#define mmGEN_INT_CNTL 0x0200
2597+#define mmGEN_INT_STATUS 0x0204
2598+/* Block CP End: */
2599+
2600+/* Block DISPLAY Start: */
2601+#define mmLCD_FORMAT 0x0410
2602+#define mmGRAPHIC_CTRL 0x0414
2603+#define mmGRAPHIC_OFFSET 0x0418
2604+#define mmGRAPHIC_PITCH 0x041C
2605+#define mmCRTC_TOTAL 0x0420
2606+#define mmACTIVE_H_DISP 0x0424
2607+#define mmACTIVE_V_DISP 0x0428
2608+#define mmGRAPHIC_H_DISP 0x042C
2609+#define mmGRAPHIC_V_DISP 0x0430
2610+#define mmVIDEO_CTRL 0x0434
2611+#define mmGRAPHIC_KEY 0x0438
2612+#define mmVIDEO_Y_OFFSET 0x043C
2613+#define mmVIDEO_Y_PITCH 0x0440
2614+#define mmVIDEO_U_OFFSET 0x0444
2615+#define mmVIDEO_U_PITCH 0x0448
2616+#define mmVIDEO_V_OFFSET 0x044C
2617+#define mmVIDEO_V_PITCH 0x0450
2618+#define mmVIDEO_H_POS 0x0454
2619+#define mmVIDEO_V_POS 0x0458
2620+#define mmBRIGHTNESS_CNTL 0x045C
2621+#define mmCURSOR1_OFFSET 0x0460
2622+#define mmCURSOR1_H_POS 0x0464
2623+#define mmCURSOR1_V_POS 0x0468
2624+#define mmCURSOR1_COLOR0 0x046C
2625+#define mmCURSOR1_COLOR1 0x0470
2626+#define mmCURSOR2_OFFSET 0x0474
2627+#define mmCURSOR2_H_POS 0x0478
2628+#define mmCURSOR2_V_POS 0x047C
2629+#define mmCURSOR2_COLOR0 0x0480
2630+#define mmCURSOR2_COLOR1 0x0484
2631+#define mmDISP_INT_CNTL 0x0488
2632+#define mmCRTC_SS 0x048C
2633+#define mmCRTC_LS 0x0490
2634+#define mmCRTC_REV 0x0494
2635+#define mmCRTC_DCLK 0x049C
2636+#define mmCRTC_GS 0x04A0
2637+#define mmCRTC_VPOS_GS 0x04A4
2638+#define mmCRTC_GCLK 0x04A8
2639+#define mmCRTC_GOE 0x04AC
2640+#define mmCRTC_FRAME 0x04B0
2641+#define mmCRTC_FRAME_VPOS 0x04B4
2642+#define mmGPIO_DATA 0x04B8
2643+#define mmGPIO_CNTL1 0x04BC
2644+#define mmGPIO_CNTL2 0x04C0
2645+#define mmLCDD_CNTL1 0x04C4
2646+#define mmLCDD_CNTL2 0x04C8
2647+#define mmGENLCD_CNTL1 0x04CC
2648+#define mmGENLCD_CNTL2 0x04D0
2649+#define mmDISP_DEBUG 0x04D4
2650+#define mmDISP_DB_BUF_CNTL 0x04D8
2651+#define mmDISP_CRC_SIG 0x04DC
2652+#define mmCRTC_DEFAULT_COUNT 0x04E0
2653+#define mmLCD_BACKGROUND_COLOR 0x04E4
2654+#define mmCRTC_PS2 0x04E8
2655+#define mmCRTC_PS2_VPOS 0x04EC
2656+#define mmCRTC_PS1_ACTIVE 0x04F0
2657+#define mmCRTC_PS1_NACTIVE 0x04F4
2658+#define mmCRTC_GCLK_EXT 0x04F8
2659+#define mmCRTC_ALW 0x04FC
2660+#define mmCRTC_ALW_VPOS 0x0500
2661+#define mmCRTC_PSK 0x0504
2662+#define mmCRTC_PSK_HPOS 0x0508
2663+#define mmCRTC_CV4_START 0x050C
2664+#define mmCRTC_CV4_END 0x0510
2665+#define mmCRTC_CV4_HPOS 0x0514
2666+#define mmCRTC_ECK 0x051C
2667+#define mmREFRESH_CNTL 0x0520
2668+#define mmGENLCD_CNTL3 0x0524
2669+#define mmGPIO_DATA2 0x0528
2670+#define mmGPIO_CNTL3 0x052C
2671+#define mmGPIO_CNTL4 0x0530
2672+#define mmCHIP_STRAP 0x0534
2673+#define mmDISP_DEBUG2 0x0538
2674+#define mmDEBUG_BUS_CNTL 0x053C
2675+#define mmGAMMA_VALUE1 0x0540
2676+#define mmGAMMA_VALUE2 0x0544
2677+#define mmGAMMA_SLOPE 0x0548
2678+#define mmGEN_STATUS 0x054C
2679+#define mmHW_INT 0x0550
2680+/* Block DISPLAY End: */
2681+
2682+/* Block GFX Start: */
2683+#define mmDST_OFFSET 0x1004
2684+#define mmDST_PITCH 0x1008
2685+#define mmDST_PITCH_OFFSET 0x102C
2686+#define mmDST_X 0x101C
2687+#define mmDST_Y 0x1020
2688+#define mmDST_X_Y 0x1194
2689+#define mmDST_Y_X 0x1038
2690+#define mmDST_WIDTH 0x100C
2691+#define mmDST_HEIGHT 0x1010
2692+#define mmDST_WIDTH_HEIGHT 0x1198
2693+#define mmDST_HEIGHT_WIDTH 0x103C
2694+#define mmDST_HEIGHT_WIDTH_8 0x118C
2695+#define mmDST_HEIGHT_Y 0x11A0
2696+#define mmDST_WIDTH_X 0x1188
2697+#define mmDST_WIDTH_X_INCY 0x119C
2698+#define mmDST_LINE_START 0x1090
2699+#define mmDST_LINE_END 0x1094
2700+#define mmBRUSH_OFFSET 0x108C
2701+#define mmBRUSH_Y_X 0x1074
2702+#define mmDP_BRUSH_FRGD_CLR 0x107C
2703+#define mmDP_BRUSH_BKGD_CLR 0x1078
2704+#define mmSRC2_OFFSET 0x1060
2705+#define mmSRC2_PITCH 0x1064
2706+#define mmSRC2_PITCH_OFFSET 0x1068
2707+#define mmSRC2_X 0x1050
2708+#define mmSRC2_Y 0x1054
2709+#define mmSRC2_X_Y 0x1058
2710+#define mmSRC2_WIDTH 0x1080
2711+#define mmSRC2_HEIGHT 0x1084
2712+#define mmSRC2_INC 0x1088
2713+#define mmSRC_OFFSET 0x11AC
2714+#define mmSRC_PITCH 0x11B0
2715+#define mmSRC_PITCH_OFFSET 0x1028
2716+#define mmSRC_X 0x1014
2717+#define mmSRC_Y 0x1018
2718+#define mmSRC_X_Y 0x1190
2719+#define mmSRC_Y_X 0x1034
2720+#define mmSRC_WIDTH 0x1040
2721+#define mmSRC_HEIGHT 0x1044
2722+#define mmSRC_INC 0x1048
2723+#define mmHOST_DATA0 0x13C0
2724+#define mmHOST_DATA1 0x13C4
2725+#define mmHOST_DATA2 0x13C8
2726+#define mmHOST_DATA3 0x13CC
2727+#define mmHOST_DATA4 0x13D0
2728+#define mmHOST_DATA5 0x13D4
2729+#define mmHOST_DATA6 0x13D8
2730+#define mmHOST_DATA7 0x13DC
2731+#define mmHOST_DATA_LAST 0x13E0
2732+#define mmDP_SRC_FRGD_CLR 0x1240
2733+#define mmDP_SRC_BKGD_CLR 0x1244
2734+#define mmSC_LEFT 0x1140
2735+#define mmSC_RIGHT 0x1144
2736+#define mmSC_TOP 0x1148
2737+#define mmSC_BOTTOM 0x114C
2738+#define mmSRC_SC_RIGHT 0x1154
2739+#define mmSRC_SC_BOTTOM 0x115C
2740+#define mmDP_CNTL 0x11C8
2741+#define mmDP_CNTL_DST_DIR 0x11CC
2742+#define mmDP_DATATYPE 0x12C4
2743+#define mmDP_MIX 0x12C8
2744+#define mmDP_WRITE_MSK 0x12CC
2745+#define mmCLR_CMP_CLR_SRC 0x1234
2746+#define mmCLR_CMP_CLR_DST 0x1238
2747+#define mmCLR_CMP_CNTL 0x1230
2748+#define mmCLR_CMP_MSK 0x123C
2749+#define mmDEFAULT_PITCH_OFFSET 0x10A0
2750+#define mmDEFAULT_SC_BOTTOM_RIGHT 0x10A8
2751+#define mmDEFAULT2_SC_BOTTOM_RIGHT 0x10AC
2752+#define mmREF1_PITCH_OFFSET 0x10B8
2753+#define mmREF2_PITCH_OFFSET 0x10BC
2754+#define mmREF3_PITCH_OFFSET 0x10C0
2755+#define mmREF4_PITCH_OFFSET 0x10C4
2756+#define mmREF5_PITCH_OFFSET 0x10C8
2757+#define mmREF6_PITCH_OFFSET 0x10CC
2758+#define mmDP_GUI_MASTER_CNTL 0x106C
2759+#define mmSC_TOP_LEFT 0x11BC
2760+#define mmSC_BOTTOM_RIGHT 0x11C0
2761+#define mmSRC_SC_BOTTOM_RIGHT 0x11C4
2762+#define mmGLOBAL_ALPHA 0x1210
2763+#define mmFILTER_COEF 0x1214
2764+#define mmMVC_CNTL_START 0x11E0
2765+#define mmE2_ARITHMETIC_CNTL 0x1220
2766+#define mmDEBUG0 0x1280
2767+#define mmDEBUG1 0x1284
2768+#define mmDEBUG2 0x1288
2769+#define mmDEBUG3 0x128C
2770+#define mmDEBUG4 0x1290
2771+#define mmDEBUG5 0x1294
2772+#define mmDEBUG6 0x1298
2773+#define mmDEBUG7 0x129C
2774+#define mmDEBUG8 0x12A0
2775+#define mmDEBUG9 0x12A4
2776+#define mmDEBUG10 0x12A8
2777+#define mmDEBUG11 0x12AC
2778+#define mmDEBUG12 0x12B0
2779+#define mmDEBUG13 0x12B4
2780+#define mmDEBUG14 0x12B8
2781+#define mmDEBUG15 0x12BC
2782+#define mmENG_CNTL 0x13E8
2783+#define mmENG_PERF_CNT 0x13F0
2784+/* Block GFX End: */
2785+
2786+/* Block IDCT Start: */
2787+#define mmIDCT_RUNS 0x0C00
2788+#define mmIDCT_LEVELS 0x0C04
2789+#define mmIDCT_CONTROL 0x0C3C
2790+#define mmIDCT_AUTH_CONTROL 0x0C08
2791+#define mmIDCT_AUTH 0x0C0C
2792+/* Block IDCT End: */
2793+
2794+/* Block MC Start: */
2795+#define mmMEM_CNTL 0x0180
2796+#define mmMEM_ARB 0x0184
2797+#define mmMC_FB_LOCATION 0x0188
2798+#define mmMEM_EXT_CNTL 0x018C
2799+#define mmMC_EXT_MEM_LOCATION 0x0190
2800+#define mmMEM_EXT_TIMING_CNTL 0x0194
2801+#define mmMEM_SDRAM_MODE_REG 0x0198
2802+#define mmMEM_IO_CNTL 0x019C
2803+#define mmMC_DEBUG 0x01A0
2804+#define mmMC_BIST_CTRL 0x01A4
2805+#define mmMC_BIST_COLLAR_READ 0x01A8
2806+#define mmTC_MISMATCH 0x01AC
2807+#define mmMC_PERF_MON_CNTL 0x01B0
2808+#define mmMC_PERF_COUNTERS 0x01B4
2809+/* Block MC End: */
2810+
2811+/* Block RBBM Start: */
2812+#define mmWAIT_UNTIL 0x1400
2813+#define mmISYNC_CNTL 0x1404
2814+#define mmRBBM_GUICNTL 0x1408
2815+#define mmRBBM_STATUS 0x0140
2816+#define mmRBBM_STATUS_alt_1 0x140C
2817+#define mmRBBM_CNTL 0x0144
2818+#define mmRBBM_SOFT_RESET 0x0148
2819+#define mmNQWAIT_UNTIL 0x0150
2820+#define mmRBBM_DEBUG 0x016C
2821+#define mmRBBM_CMDFIFO_ADDR 0x0170
2822+#define mmRBBM_CMDFIFO_DATAL 0x0174
2823+#define mmRBBM_CMDFIFO_DATAH 0x0178
2824+#define mmRBBM_CMDFIFO_STAT 0x017C
2825+/* Block RBBM End: */
2826+
2827+/* Block CG Start: */
2828+#define mmCLK_PIN_CNTL 0x0080
2829+#define mmPLL_REF_FB_DIV 0x0084
2830+#define mmPLL_CNTL 0x0088
2831+#define mmSCLK_CNTL 0x008C
2832+#define mmPCLK_CNTL 0x0090
2833+#define mmCLK_TEST_CNTL 0x0094
2834+#define mmPWRMGT_CNTL 0x0098
2835+#define mmPWRMGT_STATUS 0x009C
2836+/* Block CG End: */
2837+
2838+
2839+/* data structure definitions */
2840+
2841+typedef struct _chip_id_t {
2842+ unsigned long vendor_id : 16;
2843+ unsigned long device_id : 16;
2844+ } chip_id_t;
2845+
2846+typedef union {
2847+ unsigned long val : 32;
2848+ chip_id_t f;
2849+} chip_id_u;
2850+
2851+typedef struct _revision_id_t {
2852+ unsigned long minor_rev_id : 4;
2853+ unsigned long major_rev_id : 4;
2854+ unsigned long : 24;
2855+ } revision_id_t;
2856+
2857+typedef union {
2858+ unsigned long val : 32;
2859+ revision_id_t f;
2860+} revision_id_u;
2861+
2862+typedef struct _wrap_buf_a_t {
2863+ unsigned long offset_addr_a : 24;
2864+ unsigned long block_size_a : 3;
2865+ unsigned long : 5;
2866+ } wrap_buf_a_t;
2867+
2868+typedef union {
2869+ unsigned long val : 32;
2870+ wrap_buf_a_t f;
2871+} wrap_buf_a_u;
2872+
2873+typedef struct _wrap_buf_b_t {
2874+ unsigned long offset_addr_b : 24;
2875+ unsigned long block_size_b : 3;
2876+ unsigned long : 5;
2877+ } wrap_buf_b_t;
2878+
2879+typedef union {
2880+ unsigned long val : 32;
2881+ wrap_buf_b_t f;
2882+} wrap_buf_b_u;
2883+
2884+typedef struct _wrap_top_dir_t {
2885+ unsigned long top_addr : 23;
2886+ unsigned long : 9;
2887+ } wrap_top_dir_t;
2888+
2889+typedef union {
2890+ unsigned long val : 32;
2891+ wrap_top_dir_t f;
2892+} wrap_top_dir_u;
2893+
2894+typedef struct _wrap_start_dir_t {
2895+ unsigned long start_addr : 23;
2896+ unsigned long : 9;
2897+ } wrap_start_dir_t;
2898+
2899+typedef union {
2900+ unsigned long val : 32;
2901+ wrap_start_dir_t f;
2902+} wrap_start_dir_u;
2903+
2904+typedef struct _cif_cntl_t {
2905+ unsigned long swap_reg : 2;
2906+ unsigned long swap_fbuf_1 : 2;
2907+ unsigned long swap_fbuf_2 : 2;
2908+ unsigned long swap_fbuf_3 : 2;
2909+ unsigned long pmi_int_disable : 1;
2910+ unsigned long pmi_schmen_disable : 1;
2911+ unsigned long intb_oe : 1;
2912+ unsigned long en_wait_to_compensate_dq_prop_dly : 1;
2913+ unsigned long compensate_wait_rd_size : 2;
2914+ unsigned long wait_asserted_timeout_val : 2;
2915+ unsigned long wait_masked_val : 2;
2916+ unsigned long en_wait_timeout : 1;
2917+ unsigned long en_one_clk_setup_before_wait : 1;
2918+ unsigned long interrupt_active_high : 1;
2919+ unsigned long en_overwrite_straps : 1;
2920+ unsigned long strap_wait_active_hi : 1;
2921+ unsigned long lat_busy_count : 2;
2922+ unsigned long lat_rd_pm4_sclk_busy : 1;
2923+ unsigned long dis_system_bits : 1;
2924+ unsigned long dis_mr : 1;
2925+ unsigned long cif_spare_1 : 4;
2926+ } cif_cntl_t;
2927+
2928+typedef union {
2929+ unsigned long val : 32;
2930+ cif_cntl_t f;
2931+} cif_cntl_u;
2932+
2933+typedef struct _cfgreg_base_t {
2934+ unsigned long cfgreg_base : 24;
2935+ unsigned long : 8;
2936+ } cfgreg_base_t;
2937+
2938+typedef union {
2939+ unsigned long val : 32;
2940+ cfgreg_base_t f;
2941+} cfgreg_base_u;
2942+
2943+typedef struct _cif_io_t {
2944+ unsigned long dq_srp : 1;
2945+ unsigned long dq_srn : 1;
2946+ unsigned long dq_sp : 4;
2947+ unsigned long dq_sn : 4;
2948+ unsigned long waitb_srp : 1;
2949+ unsigned long waitb_srn : 1;
2950+ unsigned long waitb_sp : 4;
2951+ unsigned long waitb_sn : 4;
2952+ unsigned long intb_srp : 1;
2953+ unsigned long intb_srn : 1;
2954+ unsigned long intb_sp : 4;
2955+ unsigned long intb_sn : 4;
2956+ unsigned long : 2;
2957+ } cif_io_t;
2958+
2959+typedef union {
2960+ unsigned long val : 32;
2961+ cif_io_t f;
2962+} cif_io_u;
2963+
2964+typedef struct _cif_read_dbg_t {
2965+ unsigned long unpacker_pre_fetch_trig_gen : 2;
2966+ unsigned long dly_second_rd_fetch_trig : 1;
2967+ unsigned long rst_rd_burst_id : 1;
2968+ unsigned long dis_rd_burst_id : 1;
2969+ unsigned long en_block_rd_when_packer_is_not_emp : 1;
2970+ unsigned long dis_pre_fetch_cntl_sm : 1;
2971+ unsigned long rbbm_chrncy_dis : 1;
2972+ unsigned long rbbm_rd_after_wr_lat : 2;
2973+ unsigned long dis_be_during_rd : 1;
2974+ unsigned long one_clk_invalidate_pulse : 1;
2975+ unsigned long dis_chnl_priority : 1;
2976+ unsigned long rst_read_path_a_pls : 1;
2977+ unsigned long rst_read_path_b_pls : 1;
2978+ unsigned long dis_reg_rd_fetch_trig : 1;
2979+ unsigned long dis_rd_fetch_trig_from_ind_addr : 1;
2980+ unsigned long dis_rd_same_byte_to_trig_fetch : 1;
2981+ unsigned long dis_dir_wrap : 1;
2982+ unsigned long dis_ring_buf_to_force_dec : 1;
2983+ unsigned long dis_addr_comp_in_16bit : 1;
2984+ unsigned long clr_w : 1;
2985+ unsigned long err_rd_tag_is_3 : 1;
2986+ unsigned long err_load_when_ful_a : 1;
2987+ unsigned long err_load_when_ful_b : 1;
2988+ unsigned long : 7;
2989+ } cif_read_dbg_t;
2990+
2991+typedef union {
2992+ unsigned long val : 32;
2993+ cif_read_dbg_t f;
2994+} cif_read_dbg_u;
2995+
2996+typedef struct _cif_write_dbg_t {
2997+ unsigned long packer_timeout_count : 2;
2998+ unsigned long en_upper_load_cond : 1;
2999+ unsigned long en_chnl_change_cond : 1;
3000+ unsigned long dis_addr_comp_cond : 1;
3001+ unsigned long dis_load_same_byte_addr_cond : 1;
3002+ unsigned long dis_timeout_cond : 1;
3003+ unsigned long dis_timeout_during_rbbm : 1;
3004+ unsigned long dis_packer_ful_during_rbbm_timeout : 1;
3005+ unsigned long en_dword_split_to_rbbm : 1;
3006+ unsigned long en_dummy_val : 1;
3007+ unsigned long dummy_val_sel : 1;
3008+ unsigned long mask_pm4_wrptr_dec : 1;
3009+ unsigned long dis_mc_clean_cond : 1;
3010+ unsigned long err_two_reqi_during_ful : 1;
3011+ unsigned long err_reqi_during_idle_clk : 1;
3012+ unsigned long err_global : 1;
3013+ unsigned long en_wr_buf_dbg_load : 1;
3014+ unsigned long en_wr_buf_dbg_path : 1;
3015+ unsigned long sel_wr_buf_byte : 3;
3016+ unsigned long dis_rd_flush_wr : 1;
3017+ unsigned long dis_packer_ful_cond : 1;
3018+ unsigned long dis_invalidate_by_ops_chnl : 1;
3019+ unsigned long en_halt_when_reqi_err : 1;
3020+ unsigned long cif_spare_2 : 5;
3021+ unsigned long : 1;
3022+ } cif_write_dbg_t;
3023+
3024+typedef union {
3025+ unsigned long val : 32;
3026+ cif_write_dbg_t f;
3027+} cif_write_dbg_u;
3028+
3029+typedef struct _ind_addr_a_0_t {
3030+ unsigned char ind_addr_a_0 : 8;
3031+ } ind_addr_a_0_t;
3032+
3033+typedef union {
3034+ unsigned char val : 8;
3035+ ind_addr_a_0_t f;
3036+} ind_addr_a_0_u;
3037+
3038+typedef struct _ind_addr_a_1_t {
3039+ unsigned char ind_addr_a_1 : 8;
3040+ } ind_addr_a_1_t;
3041+
3042+typedef union {
3043+ unsigned char val : 8;
3044+ ind_addr_a_1_t f;
3045+} ind_addr_a_1_u;
3046+
3047+typedef struct _ind_addr_a_2_t {
3048+ unsigned char ind_addr_a_2 : 8;
3049+ } ind_addr_a_2_t;
3050+
3051+typedef union {
3052+ unsigned char val : 8;
3053+ ind_addr_a_2_t f;
3054+} ind_addr_a_2_u;
3055+
3056+typedef struct _ind_data_a_t {
3057+ unsigned char ind_data_a : 8;
3058+ } ind_data_a_t;
3059+
3060+typedef union {
3061+ unsigned char val : 8;
3062+ ind_data_a_t f;
3063+} ind_data_a_u;
3064+
3065+typedef struct _reg_base_t {
3066+ unsigned char reg_base : 8;
3067+ } reg_base_t;
3068+
3069+typedef union {
3070+ unsigned char val : 8;
3071+ reg_base_t f;
3072+} reg_base_u;
3073+
3074+typedef struct _intf_cntl_t {
3075+ unsigned char ad_inc_a : 1;
3076+ unsigned char ring_buf_a : 1;
3077+ unsigned char rd_fetch_trigger_a : 1;
3078+ unsigned char rd_data_rdy_a : 1;
3079+ unsigned char ad_inc_b : 1;
3080+ unsigned char ring_buf_b : 1;
3081+ unsigned char rd_fetch_trigger_b : 1;
3082+ unsigned char rd_data_rdy_b : 1;
3083+ } intf_cntl_t;
3084+
3085+typedef union {
3086+ unsigned char val : 8;
3087+ intf_cntl_t f;
3088+} intf_cntl_u;
3089+
3090+typedef struct _status_t {
3091+ unsigned char wr_fifo_available_space : 2;
3092+ unsigned char fbuf_wr_pipe_emp : 1;
3093+ unsigned char soft_reset : 1;
3094+ unsigned char system_pwm_mode : 2;
3095+ unsigned char mem_access_dis : 1;
3096+ unsigned char en_pre_fetch : 1;
3097+ } status_t;
3098+
3099+typedef union {
3100+ unsigned char val : 8;
3101+ status_t f;
3102+} status_u;
3103+
3104+typedef struct _cpu_defaults_t {
3105+ unsigned char unpack_rd_data : 1;
3106+ unsigned char access_ind_addr_a : 1;
3107+ unsigned char access_ind_addr_b : 1;
3108+ unsigned char access_scratch_reg : 1;
3109+ unsigned char pack_wr_data : 1;
3110+ unsigned char transition_size : 1;
3111+ unsigned char en_read_buf_mode : 1;
3112+ unsigned char rd_fetch_scratch : 1;
3113+ } cpu_defaults_t;
3114+
3115+typedef union {
3116+ unsigned char val : 8;
3117+ cpu_defaults_t f;
3118+} cpu_defaults_u;
3119+
3120+typedef struct _ind_addr_b_0_t {
3121+ unsigned char ind_addr_b_0 : 8;
3122+ } ind_addr_b_0_t;
3123+
3124+typedef union {
3125+ unsigned char val : 8;
3126+ ind_addr_b_0_t f;
3127+} ind_addr_b_0_u;
3128+
3129+typedef struct _ind_addr_b_1_t {
3130+ unsigned char ind_addr_b_1 : 8;
3131+ } ind_addr_b_1_t;
3132+
3133+typedef union {
3134+ unsigned char val : 8;
3135+ ind_addr_b_1_t f;
3136+} ind_addr_b_1_u;
3137+
3138+typedef struct _ind_addr_b_2_t {
3139+ unsigned char ind_addr_b_2 : 8;
3140+ } ind_addr_b_2_t;
3141+
3142+typedef union {
3143+ unsigned char val : 8;
3144+ ind_addr_b_2_t f;
3145+} ind_addr_b_2_u;
3146+
3147+typedef struct _ind_data_b_t {
3148+ unsigned char ind_data_b : 8;
3149+ } ind_data_b_t;
3150+
3151+typedef union {
3152+ unsigned char val : 8;
3153+ ind_data_b_t f;
3154+} ind_data_b_u;
3155+
3156+typedef struct _pm4_rptr_t {
3157+ unsigned char pm4_rptr : 8;
3158+ } pm4_rptr_t;
3159+
3160+typedef union {
3161+ unsigned char val : 8;
3162+ pm4_rptr_t f;
3163+} pm4_rptr_u;
3164+
3165+typedef struct _scratch_t {
3166+ unsigned char scratch : 8;
3167+ } scratch_t;
3168+
3169+typedef union {
3170+ unsigned char val : 8;
3171+ scratch_t f;
3172+} scratch_u;
3173+
3174+typedef struct _pm4_wrptr_0_t {
3175+ unsigned char pm4_wrptr_0 : 8;
3176+ } pm4_wrptr_0_t;
3177+
3178+typedef union {
3179+ unsigned char val : 8;
3180+ pm4_wrptr_0_t f;
3181+} pm4_wrptr_0_u;
3182+
3183+typedef struct _pm4_wrptr_1_t {
3184+ unsigned char pm4_wrptr_1 : 6;
3185+ unsigned char rd_fetch_pm4_rptr : 1;
3186+ unsigned char wrptr_atomic_update_w : 1;
3187+ } pm4_wrptr_1_t;
3188+
3189+typedef union {
3190+ unsigned char val : 8;
3191+ pm4_wrptr_1_t f;
3192+} pm4_wrptr_1_u;
3193+
3194+typedef struct _cp_rb_cntl_t {
3195+ unsigned long rb_bufsz : 6;
3196+ unsigned long : 2;
3197+ unsigned long rb_blksz : 6;
3198+ unsigned long : 2;
3199+ unsigned long buf_swap : 2;
3200+ unsigned long max_fetch : 2;
3201+ unsigned long : 7;
3202+ unsigned long rb_no_update : 1;
3203+ unsigned long : 3;
3204+ unsigned long rb_rptr_wr_ena : 1;
3205+ } cp_rb_cntl_t;
3206+
3207+typedef union {
3208+ unsigned long val : 32;
3209+ cp_rb_cntl_t f;
3210+} cp_rb_cntl_u;
3211+
3212+typedef struct _cp_rb_base_t {
3213+ unsigned long : 2;
3214+ unsigned long rb_base : 22;
3215+ unsigned long : 8;
3216+ } cp_rb_base_t;
3217+
3218+typedef union {
3219+ unsigned long val : 32;
3220+ cp_rb_base_t f;
3221+} cp_rb_base_u;
3222+
3223+typedef struct _cp_rb_rptr_addr_t {
3224+ unsigned long rb_rptr_swap : 2;
3225+ unsigned long rb_rptr_addr : 22;
3226+ unsigned long : 8;
3227+ } cp_rb_rptr_addr_t;
3228+
3229+typedef union {
3230+ unsigned long val : 32;
3231+ cp_rb_rptr_addr_t f;
3232+} cp_rb_rptr_addr_u;
3233+
3234+typedef struct _cp_rb_rptr_t {
3235+ unsigned long rb_rptr : 23;
3236+ unsigned long : 9;
3237+ } cp_rb_rptr_t;
3238+
3239+typedef union {
3240+ unsigned long val : 32;
3241+ cp_rb_rptr_t f;
3242+} cp_rb_rptr_u;
3243+
3244+typedef struct _cp_rb_rptr_wr_t {
3245+ unsigned long rb_rptr_wr : 23;
3246+ unsigned long : 9;
3247+ } cp_rb_rptr_wr_t;
3248+
3249+typedef union {
3250+ unsigned long val : 32;
3251+ cp_rb_rptr_wr_t f;
3252+} cp_rb_rptr_wr_u;
3253+
3254+typedef struct _cp_rb_wptr_t {
3255+ unsigned long rb_wptr : 23;
3256+ unsigned long : 9;
3257+ } cp_rb_wptr_t;
3258+
3259+typedef union {
3260+ unsigned long val : 32;
3261+ cp_rb_wptr_t f;
3262+} cp_rb_wptr_u;
3263+
3264+typedef struct _cp_ib_base_t {
3265+ unsigned long : 2;
3266+ unsigned long ib_base : 22;
3267+ unsigned long : 8;
3268+ } cp_ib_base_t;
3269+
3270+typedef union {
3271+ unsigned long val : 32;
3272+ cp_ib_base_t f;
3273+} cp_ib_base_u;
3274+
3275+typedef struct _cp_ib_bufsz_t {
3276+ unsigned long ib_bufsz : 23;
3277+ unsigned long : 9;
3278+ } cp_ib_bufsz_t;
3279+
3280+typedef union {
3281+ unsigned long val : 32;
3282+ cp_ib_bufsz_t f;
3283+} cp_ib_bufsz_u;
3284+
3285+typedef struct _cp_csq_cntl_t {
3286+ unsigned long csq_cnt_primary : 8;
3287+ unsigned long csq_cnt_indirect : 8;
3288+ unsigned long : 12;
3289+ unsigned long csq_mode : 4;
3290+ } cp_csq_cntl_t;
3291+
3292+typedef union {
3293+ unsigned long val : 32;
3294+ cp_csq_cntl_t f;
3295+} cp_csq_cntl_u;
3296+
3297+typedef struct _cp_csq_aper_primary_t {
3298+ unsigned long cp_csq_aper_primary : 32;
3299+ } cp_csq_aper_primary_t;
3300+
3301+typedef union {
3302+ unsigned long val : 32;
3303+ cp_csq_aper_primary_t f;
3304+} cp_csq_aper_primary_u;
3305+
3306+typedef struct _cp_csq_aper_indirect_t {
3307+ unsigned long cp_csq_aper_indirect : 32;
3308+ } cp_csq_aper_indirect_t;
3309+
3310+typedef union {
3311+ unsigned long val : 32;
3312+ cp_csq_aper_indirect_t f;
3313+} cp_csq_aper_indirect_u;
3314+
3315+typedef struct _cp_me_cntl_t {
3316+ unsigned long me_stat : 16;
3317+ unsigned long me_statmux : 5;
3318+ unsigned long : 8;
3319+ unsigned long me_busy : 1;
3320+ unsigned long me_mode : 1;
3321+ unsigned long me_step : 1;
3322+ } cp_me_cntl_t;
3323+
3324+typedef union {
3325+ unsigned long val : 32;
3326+ cp_me_cntl_t f;
3327+} cp_me_cntl_u;
3328+
3329+typedef struct _cp_me_ram_addr_t {
3330+ unsigned long me_ram_addr : 8;
3331+ unsigned long : 24;
3332+ } cp_me_ram_addr_t;
3333+
3334+typedef union {
3335+ unsigned long val : 32;
3336+ cp_me_ram_addr_t f;
3337+} cp_me_ram_addr_u;
3338+
3339+typedef struct _cp_me_ram_raddr_t {
3340+ unsigned long me_ram_raddr : 8;
3341+ unsigned long : 24;
3342+ } cp_me_ram_raddr_t;
3343+
3344+typedef union {
3345+ unsigned long val : 32;
3346+ cp_me_ram_raddr_t f;
3347+} cp_me_ram_raddr_u;
3348+
3349+typedef struct _cp_me_ram_datah_t {
3350+ unsigned long me_ram_datah : 6;
3351+ unsigned long : 26;
3352+ } cp_me_ram_datah_t;
3353+
3354+typedef union {
3355+ unsigned long val : 32;
3356+ cp_me_ram_datah_t f;
3357+} cp_me_ram_datah_u;
3358+
3359+typedef struct _cp_me_ram_datal_t {
3360+ unsigned long me_ram_datal : 32;
3361+ } cp_me_ram_datal_t;
3362+
3363+typedef union {
3364+ unsigned long val : 32;
3365+ cp_me_ram_datal_t f;
3366+} cp_me_ram_datal_u;
3367+
3368+typedef struct _cp_debug_t {
3369+ unsigned long cp_debug : 32;
3370+ } cp_debug_t;
3371+
3372+typedef union {
3373+ unsigned long val : 32;
3374+ cp_debug_t f;
3375+} cp_debug_u;
3376+
3377+typedef struct _scratch_reg0_t {
3378+ unsigned long scratch_reg0 : 32;
3379+ } scratch_reg0_t;
3380+
3381+typedef union {
3382+ unsigned long val : 32;
3383+ scratch_reg0_t f;
3384+} scratch_reg0_u;
3385+
3386+typedef struct _scratch_reg1_t {
3387+ unsigned long scratch_reg1 : 32;
3388+ } scratch_reg1_t;
3389+
3390+typedef union {
3391+ unsigned long val : 32;
3392+ scratch_reg1_t f;
3393+} scratch_reg1_u;
3394+
3395+typedef struct _scratch_reg2_t {
3396+ unsigned long scratch_reg2 : 32;
3397+ } scratch_reg2_t;
3398+
3399+typedef union {
3400+ unsigned long val : 32;
3401+ scratch_reg2_t f;
3402+} scratch_reg2_u;
3403+
3404+typedef struct _scratch_reg3_t {
3405+ unsigned long scratch_reg3 : 32;
3406+ } scratch_reg3_t;
3407+
3408+typedef union {
3409+ unsigned long val : 32;
3410+ scratch_reg3_t f;
3411+} scratch_reg3_u;
3412+
3413+typedef struct _scratch_reg4_t {
3414+ unsigned long scratch_reg4 : 32;
3415+ } scratch_reg4_t;
3416+
3417+typedef union {
3418+ unsigned long val : 32;
3419+ scratch_reg4_t f;
3420+} scratch_reg4_u;
3421+
3422+typedef struct _scratch_reg5_t {
3423+ unsigned long scratch_reg5 : 32;
3424+ } scratch_reg5_t;
3425+
3426+typedef union {
3427+ unsigned long val : 32;
3428+ scratch_reg5_t f;
3429+} scratch_reg5_u;
3430+
3431+typedef struct _scratch_umsk_t {
3432+ unsigned long scratch_umsk : 6;
3433+ unsigned long : 10;
3434+ unsigned long scratch_swap : 2;
3435+ unsigned long : 14;
3436+ } scratch_umsk_t;
3437+
3438+typedef union {
3439+ unsigned long val : 32;
3440+ scratch_umsk_t f;
3441+} scratch_umsk_u;
3442+
3443+typedef struct _scratch_addr_t {
3444+ unsigned long : 5;
3445+ unsigned long scratch_addr : 27;
3446+ } scratch_addr_t;
3447+
3448+typedef union {
3449+ unsigned long val : 32;
3450+ scratch_addr_t f;
3451+} scratch_addr_u;
3452+
3453+typedef struct _cp_csq_addr_t {
3454+ unsigned long : 2;
3455+ unsigned long csq_addr : 8;
3456+ unsigned long : 22;
3457+ } cp_csq_addr_t;
3458+
3459+typedef union {
3460+ unsigned long val : 32;
3461+ cp_csq_addr_t f;
3462+} cp_csq_addr_u;
3463+
3464+typedef struct _cp_csq_data_t {
3465+ unsigned long csq_data : 32;
3466+ } cp_csq_data_t;
3467+
3468+typedef union {
3469+ unsigned long val : 32;
3470+ cp_csq_data_t f;
3471+} cp_csq_data_u;
3472+
3473+typedef struct _cp_csq_stat_t {
3474+ unsigned long csq_rptr_primary : 8;
3475+ unsigned long csq_wptr_primary : 8;
3476+ unsigned long csq_rptr_indirect : 8;
3477+ unsigned long csq_wptr_indirect : 8;
3478+ } cp_csq_stat_t;
3479+
3480+typedef union {
3481+ unsigned long val : 32;
3482+ cp_csq_stat_t f;
3483+} cp_csq_stat_u;
3484+
3485+typedef struct _cp_stat_t {
3486+ unsigned long mru_busy : 1;
3487+ unsigned long mwu_busy : 1;
3488+ unsigned long rsiu_busy : 1;
3489+ unsigned long rciu_busy : 1;
3490+ unsigned long : 5;
3491+ unsigned long csf_primary_busy : 1;
3492+ unsigned long csf_indirect_busy : 1;
3493+ unsigned long csq_primary_busy : 1;
3494+ unsigned long csq_indirect_busy : 1;
3495+ unsigned long csi_busy : 1;
3496+ unsigned long : 14;
3497+ unsigned long guidma_busy : 1;
3498+ unsigned long viddma_busy : 1;
3499+ unsigned long cmdstrm_busy : 1;
3500+ unsigned long cp_busy : 1;
3501+ } cp_stat_t;
3502+
3503+typedef union {
3504+ unsigned long val : 32;
3505+ cp_stat_t f;
3506+} cp_stat_u;
3507+
3508+typedef struct _gen_int_cntl_t {
3509+ unsigned long crtc_vblank_mask : 1;
3510+ unsigned long crtc_vline_mask : 1;
3511+ unsigned long crtc_hwint1_mask : 1;
3512+ unsigned long crtc_hwint2_mask : 1;
3513+ unsigned long : 15;
3514+ unsigned long gui_idle_mask : 1;
3515+ unsigned long : 8;
3516+ unsigned long pm4_idle_int_mask : 1;
3517+ unsigned long dvi_i2c_int_mask : 1;
3518+ unsigned long : 2;
3519+ } gen_int_cntl_t;
3520+
3521+typedef union {
3522+ unsigned long val : 32;
3523+ gen_int_cntl_t f;
3524+} gen_int_cntl_u;
3525+
3526+typedef struct _gen_int_status_rd_t {
3527+ unsigned long crtc_vblank_stat : 1;
3528+ unsigned long crtc_vline_stat : 1;
3529+ unsigned long crtc_hwint1_stat : 1;
3530+ unsigned long crtc_hwint2_stat : 1;
3531+ unsigned long : 15;
3532+ unsigned long gui_idle_stat : 1;
3533+ unsigned long : 8;
3534+ unsigned long pm4_idle_int_stat : 1;
3535+ unsigned long dvi_i2c_int_stat : 1;
3536+ unsigned long : 2;
3537+ } gen_int_status_rd_t;
3538+
3539+typedef union {
3540+ unsigned long val : 32;
3541+ gen_int_status_rd_t f;
3542+} gen_int_status_rd_u;
3543+
3544+typedef struct _gen_int_status_wr_t {
3545+ unsigned long crtc_vblank_stat_ak : 1;
3546+ unsigned long crtc_vline_stat_ak : 1;
3547+ unsigned long crtc_hwint1_stat_ak : 1;
3548+ unsigned long crtc_hwint2_stat_ak : 1;
3549+ unsigned long : 15;
3550+ unsigned long gui_idle_stat_ak : 1;
3551+ unsigned long : 8;
3552+ unsigned long pm4_idle_int_ak : 1;
3553+ unsigned long dvi_i2c_int_ak : 1;
3554+ unsigned long : 2;
3555+ } gen_int_status_wr_t;
3556+
3557+typedef union {
3558+ unsigned long val : 32;
3559+ gen_int_status_wr_t f;
3560+} gen_int_status_wr_u;
3561+
3562+typedef struct _lcd_format_t {
3563+ unsigned long lcd_type : 4;
3564+ unsigned long color_to_mono : 1;
3565+ unsigned long data_inv : 1;
3566+ unsigned long stn_fm : 2;
3567+ unsigned long tft_fm : 2;
3568+ unsigned long scan_lr_en : 1;
3569+ unsigned long scan_ud_en : 1;
3570+ unsigned long pol_inv : 1;
3571+ unsigned long rst_fm : 1;
3572+ unsigned long yuv_to_rgb : 1;
3573+ unsigned long hr_tft : 1;
3574+ unsigned long ulc_panel : 1;
3575+ unsigned long : 15;
3576+ } lcd_format_t;
3577+
3578+typedef union {
3579+ unsigned long val : 32;
3580+ lcd_format_t f;
3581+} lcd_format_u;
3582+
3583+typedef struct _graphic_ctrl_t {
3584+ unsigned long color_depth : 3;
3585+ unsigned long portrait_mode : 2;
3586+ unsigned long low_power_on : 1;
3587+ unsigned long req_freq : 4;
3588+ unsigned long en_crtc : 1;
3589+ unsigned long en_graphic_req : 1;
3590+ unsigned long en_graphic_crtc : 1;
3591+ unsigned long total_req_graphic : 9;
3592+ unsigned long lcd_pclk_on : 1;
3593+ unsigned long lcd_sclk_on : 1;
3594+ unsigned long pclk_running : 1;
3595+ unsigned long sclk_running : 1;
3596+ unsigned long : 6;
3597+ } graphic_ctrl_t;
3598+
3599+typedef union {
3600+ unsigned long val : 32;
3601+ graphic_ctrl_t f;
3602+} graphic_ctrl_u;
3603+
3604+typedef struct _graphic_offset_t {
3605+ unsigned long graphic_offset : 24;
3606+ unsigned long : 8;
3607+ } graphic_offset_t;
3608+
3609+typedef union {
3610+ unsigned long val : 32;
3611+ graphic_offset_t f;
3612+} graphic_offset_u;
3613+
3614+typedef struct _graphic_pitch_t {
3615+ unsigned long graphic_pitch : 11;
3616+ unsigned long : 21;
3617+ } graphic_pitch_t;
3618+
3619+typedef union {
3620+ unsigned long val : 32;
3621+ graphic_pitch_t f;
3622+} graphic_pitch_u;
3623+
3624+typedef struct _crtc_total_t {
3625+ unsigned long crtc_h_total : 10;
3626+ unsigned long : 6;
3627+ unsigned long crtc_v_total : 10;
3628+ unsigned long : 6;
3629+ } crtc_total_t;
3630+
3631+typedef union {
3632+ unsigned long val : 32;
3633+ crtc_total_t f;
3634+} crtc_total_u;
3635+
3636+typedef struct _active_h_disp_t {
3637+ unsigned long active_h_start : 10;
3638+ unsigned long : 6;
3639+ unsigned long active_h_end : 10;
3640+ unsigned long : 6;
3641+ } active_h_disp_t;
3642+
3643+typedef union {
3644+ unsigned long val : 32;
3645+ active_h_disp_t f;
3646+} active_h_disp_u;
3647+
3648+typedef struct _active_v_disp_t {
3649+ unsigned long active_v_start : 10;
3650+ unsigned long : 6;
3651+ unsigned long active_v_end : 10;
3652+ unsigned long : 6;
3653+ } active_v_disp_t;
3654+
3655+typedef union {
3656+ unsigned long val : 32;
3657+ active_v_disp_t f;
3658+} active_v_disp_u;
3659+
3660+typedef struct _graphic_h_disp_t {
3661+ unsigned long graphic_h_start : 10;
3662+ unsigned long : 6;
3663+ unsigned long graphic_h_end : 10;
3664+ unsigned long : 6;
3665+ } graphic_h_disp_t;
3666+
3667+typedef union {
3668+ unsigned long val : 32;
3669+ graphic_h_disp_t f;
3670+} graphic_h_disp_u;
3671+
3672+typedef struct _graphic_v_disp_t {
3673+ unsigned long graphic_v_start : 10;
3674+ unsigned long : 6;
3675+ unsigned long graphic_v_end : 10;
3676+ unsigned long : 6;
3677+ } graphic_v_disp_t;
3678+
3679+typedef union {
3680+ unsigned long val : 32;
3681+ graphic_v_disp_t f;
3682+} graphic_v_disp_u;
3683+
3684+typedef struct _video_ctrl_t {
3685+ unsigned long video_mode : 1;
3686+ unsigned long keyer_en : 1;
3687+ unsigned long en_video_req : 1;
3688+ unsigned long en_graphic_req_video : 1;
3689+ unsigned long en_video_crtc : 1;
3690+ unsigned long video_hor_exp : 2;
3691+ unsigned long video_ver_exp : 2;
3692+ unsigned long uv_combine : 1;
3693+ unsigned long total_req_video : 9;
3694+ unsigned long video_ch_sel : 1;
3695+ unsigned long video_portrait : 2;
3696+ unsigned long yuv2rgb_en : 1;
3697+ unsigned long yuv2rgb_option : 1;
3698+ unsigned long video_inv_hor : 1;
3699+ unsigned long video_inv_ver : 1;
3700+ unsigned long gamma_sel : 2;
3701+ unsigned long dis_limit : 1;
3702+ unsigned long en_uv_hblend : 1;
3703+ unsigned long rgb_gamma_sel : 2;
3704+ } video_ctrl_t;
3705+
3706+typedef union {
3707+ unsigned long val : 32;
3708+ video_ctrl_t f;
3709+} video_ctrl_u;
3710+
3711+typedef struct _graphic_key_t {
3712+ unsigned long keyer_color : 16;
3713+ unsigned long keyer_mask : 16;
3714+ } graphic_key_t;
3715+
3716+typedef union {
3717+ unsigned long val : 32;
3718+ graphic_key_t f;
3719+} graphic_key_u;
3720+
3721+typedef struct _video_y_offset_t {
3722+ unsigned long y_offset : 24;
3723+ unsigned long : 8;
3724+ } video_y_offset_t;
3725+
3726+typedef union {
3727+ unsigned long val : 32;
3728+ video_y_offset_t f;
3729+} video_y_offset_u;
3730+
3731+typedef struct _video_y_pitch_t {
3732+ unsigned long y_pitch : 11;
3733+ unsigned long : 21;
3734+ } video_y_pitch_t;
3735+
3736+typedef union {
3737+ unsigned long val : 32;
3738+ video_y_pitch_t f;
3739+} video_y_pitch_u;
3740+
3741+typedef struct _video_u_offset_t {
3742+ unsigned long u_offset : 24;
3743+ unsigned long : 8;
3744+ } video_u_offset_t;
3745+
3746+typedef union {
3747+ unsigned long val : 32;
3748+ video_u_offset_t f;
3749+} video_u_offset_u;
3750+
3751+typedef struct _video_u_pitch_t {
3752+ unsigned long u_pitch : 11;
3753+ unsigned long : 21;
3754+ } video_u_pitch_t;
3755+
3756+typedef union {
3757+ unsigned long val : 32;
3758+ video_u_pitch_t f;
3759+} video_u_pitch_u;
3760+
3761+typedef struct _video_v_offset_t {
3762+ unsigned long v_offset : 24;
3763+ unsigned long : 8;
3764+ } video_v_offset_t;
3765+
3766+typedef union {
3767+ unsigned long val : 32;
3768+ video_v_offset_t f;
3769+} video_v_offset_u;
3770+
3771+typedef struct _video_v_pitch_t {
3772+ unsigned long v_pitch : 11;
3773+ unsigned long : 21;
3774+ } video_v_pitch_t;
3775+
3776+typedef union {
3777+ unsigned long val : 32;
3778+ video_v_pitch_t f;
3779+} video_v_pitch_u;
3780+
3781+typedef struct _video_h_pos_t {
3782+ unsigned long video_h_start : 10;
3783+ unsigned long : 6;
3784+ unsigned long video_h_end : 10;
3785+ unsigned long : 6;
3786+ } video_h_pos_t;
3787+
3788+typedef union {
3789+ unsigned long val : 32;
3790+ video_h_pos_t f;
3791+} video_h_pos_u;
3792+
3793+typedef struct _video_v_pos_t {
3794+ unsigned long video_v_start : 10;
3795+ unsigned long : 6;
3796+ unsigned long video_v_end : 10;
3797+ unsigned long : 6;
3798+ } video_v_pos_t;
3799+
3800+typedef union {
3801+ unsigned long val : 32;
3802+ video_v_pos_t f;
3803+} video_v_pos_u;
3804+
3805+typedef struct _brightness_cntl_t {
3806+ unsigned long brightness : 7;
3807+ unsigned long : 25;
3808+ } brightness_cntl_t;
3809+
3810+typedef union {
3811+ unsigned long val : 32;
3812+ brightness_cntl_t f;
3813+} brightness_cntl_u;
3814+
3815+typedef struct _cursor1_offset_t {
3816+ unsigned long cur1_offset : 24;
3817+ unsigned long cur1_x_offset : 4;
3818+ unsigned long cur1_y_offset : 4;
3819+ } cursor1_offset_t;
3820+
3821+typedef union {
3822+ unsigned long val : 32;
3823+ cursor1_offset_t f;
3824+} cursor1_offset_u;
3825+
3826+typedef struct _cursor1_h_pos_t {
3827+ unsigned long cur1_h_start : 10;
3828+ unsigned long : 6;
3829+ unsigned long cur1_h_end : 10;
3830+ unsigned long : 5;
3831+ unsigned long cur1_en : 1;
3832+ } cursor1_h_pos_t;
3833+
3834+typedef union {
3835+ unsigned long val : 32;
3836+ cursor1_h_pos_t f;
3837+} cursor1_h_pos_u;
3838+
3839+typedef struct _cursor1_v_pos_t {
3840+ unsigned long cur1_v_start : 10;
3841+ unsigned long : 6;
3842+ unsigned long cur1_v_end : 10;
3843+ unsigned long : 6;
3844+ } cursor1_v_pos_t;
3845+
3846+typedef union {
3847+ unsigned long val : 32;
3848+ cursor1_v_pos_t f;
3849+} cursor1_v_pos_u;
3850+
3851+typedef struct _cursor1_color0_t {
3852+ unsigned long cur1_color0_r : 8;
3853+ unsigned long cur1_color0_g : 8;
3854+ unsigned long cur1_color0_b : 8;
3855+ unsigned long : 8;
3856+ } cursor1_color0_t;
3857+
3858+typedef union {
3859+ unsigned long val : 32;
3860+ cursor1_color0_t f;
3861+} cursor1_color0_u;
3862+
3863+typedef struct _cursor1_color1_t {
3864+ unsigned long cur1_color1_r : 8;
3865+ unsigned long cur1_color1_g : 8;
3866+ unsigned long cur1_color1_b : 8;
3867+ unsigned long : 8;
3868+ } cursor1_color1_t;
3869+
3870+typedef union {
3871+ unsigned long val : 32;
3872+ cursor1_color1_t f;
3873+} cursor1_color1_u;
3874+
3875+typedef struct _cursor2_offset_t {
3876+ unsigned long cur2_offset : 24;
3877+ unsigned long cur2_x_offset : 4;
3878+ unsigned long cur2_y_offset : 4;
3879+ } cursor2_offset_t;
3880+
3881+typedef union {
3882+ unsigned long val : 32;
3883+ cursor2_offset_t f;
3884+} cursor2_offset_u;
3885+
3886+typedef struct _cursor2_h_pos_t {
3887+ unsigned long cur2_h_start : 10;
3888+ unsigned long : 6;
3889+ unsigned long cur2_h_end : 10;
3890+ unsigned long : 5;
3891+ unsigned long cur2_en : 1;
3892+ } cursor2_h_pos_t;
3893+
3894+typedef union {
3895+ unsigned long val : 32;
3896+ cursor2_h_pos_t f;
3897+} cursor2_h_pos_u;
3898+
3899+typedef struct _cursor2_v_pos_t {
3900+ unsigned long cur2_v_start : 10;
3901+ unsigned long : 6;
3902+ unsigned long cur2_v_end : 10;
3903+ unsigned long : 6;
3904+ } cursor2_v_pos_t;
3905+
3906+typedef union {
3907+ unsigned long val : 32;
3908+ cursor2_v_pos_t f;
3909+} cursor2_v_pos_u;
3910+
3911+typedef struct _cursor2_color0_t {
3912+ unsigned long cur2_color0_r : 8;
3913+ unsigned long cur2_color0_g : 8;
3914+ unsigned long cur2_color0_b : 8;
3915+ unsigned long : 8;
3916+ } cursor2_color0_t;
3917+
3918+typedef union {
3919+ unsigned long val : 32;
3920+ cursor2_color0_t f;
3921+} cursor2_color0_u;
3922+
3923+typedef struct _cursor2_color1_t {
3924+ unsigned long cur2_color1_r : 8;
3925+ unsigned long cur2_color1_g : 8;
3926+ unsigned long cur2_color1_b : 8;
3927+ unsigned long : 8;
3928+ } cursor2_color1_t;
3929+
3930+typedef union {
3931+ unsigned long val : 32;
3932+ cursor2_color1_t f;
3933+} cursor2_color1_u;
3934+
3935+typedef struct _disp_int_cntl_t {
3936+ unsigned long vline_int_pos : 10;
3937+ unsigned long : 6;
3938+ unsigned long hpos_int_pos : 10;
3939+ unsigned long : 4;
3940+ unsigned long vblank_int_pol : 1;
3941+ unsigned long frame_int_pol : 1;
3942+ } disp_int_cntl_t;
3943+
3944+typedef union {
3945+ unsigned long val : 32;
3946+ disp_int_cntl_t f;
3947+} disp_int_cntl_u;
3948+
3949+typedef struct _crtc_ss_t {
3950+ unsigned long ss_start : 10;
3951+ unsigned long : 6;
3952+ unsigned long ss_end : 10;
3953+ unsigned long : 2;
3954+ unsigned long ss_align : 1;
3955+ unsigned long ss_pol : 1;
3956+ unsigned long ss_run_mode : 1;
3957+ unsigned long ss_en : 1;
3958+ } crtc_ss_t;
3959+
3960+typedef union {
3961+ unsigned long val : 32;
3962+ crtc_ss_t f;
3963+} crtc_ss_u;
3964+
3965+typedef struct _crtc_ls_t {
3966+ unsigned long ls_start : 10;
3967+ unsigned long : 6;
3968+ unsigned long ls_end : 10;
3969+ unsigned long : 2;
3970+ unsigned long ls_align : 1;
3971+ unsigned long ls_pol : 1;
3972+ unsigned long ls_run_mode : 1;
3973+ unsigned long ls_en : 1;
3974+ } crtc_ls_t;
3975+
3976+typedef union {
3977+ unsigned long val : 32;
3978+ crtc_ls_t f;
3979+} crtc_ls_u;
3980+
3981+typedef struct _crtc_rev_t {
3982+ unsigned long rev_pos : 10;
3983+ unsigned long : 6;
3984+ unsigned long rev_align : 1;
3985+ unsigned long rev_freq_nref : 5;
3986+ unsigned long rev_en : 1;
3987+ unsigned long : 9;
3988+ } crtc_rev_t;
3989+
3990+typedef union {
3991+ unsigned long val : 32;
3992+ crtc_rev_t f;
3993+} crtc_rev_u;
3994+
3995+typedef struct _crtc_dclk_t {
3996+ unsigned long dclk_start : 10;
3997+ unsigned long : 6;
3998+ unsigned long dclk_end : 10;
3999+ unsigned long : 1;
4000+ unsigned long dclk_run_mode : 2;
4001+ unsigned long dclk_pol : 1;
4002+ unsigned long dclk_align : 1;
4003+ unsigned long dclk_en : 1;
4004+ } crtc_dclk_t;
4005+
4006+typedef union {
4007+ unsigned long val : 32;
4008+ crtc_dclk_t f;
4009+} crtc_dclk_u;
4010+
4011+typedef struct _crtc_gs_t {
4012+ unsigned long gs_start : 10;
4013+ unsigned long : 6;
4014+ unsigned long gs_end : 10;
4015+ unsigned long : 3;
4016+ unsigned long gs_align : 1;
4017+ unsigned long gs_pol : 1;
4018+ unsigned long gs_en : 1;
4019+ } crtc_gs_t;
4020+
4021+typedef union {
4022+ unsigned long val : 32;
4023+ crtc_gs_t f;
4024+} crtc_gs_u;
4025+
4026+typedef struct _crtc_vpos_gs_t {
4027+ unsigned long gs_vpos_start : 10;
4028+ unsigned long : 6;
4029+ unsigned long gs_vpos_end : 10;
4030+ unsigned long : 6;
4031+ } crtc_vpos_gs_t;
4032+
4033+typedef union {
4034+ unsigned long val : 32;
4035+ crtc_vpos_gs_t f;
4036+} crtc_vpos_gs_u;
4037+
4038+typedef struct _crtc_gclk_t {
4039+ unsigned long gclk_start : 10;
4040+ unsigned long : 6;
4041+ unsigned long gclk_end : 10;
4042+ unsigned long : 3;
4043+ unsigned long gclk_align : 1;
4044+ unsigned long gclk_pol : 1;
4045+ unsigned long gclk_en : 1;
4046+ } crtc_gclk_t;
4047+
4048+typedef union {
4049+ unsigned long val : 32;
4050+ crtc_gclk_t f;
4051+} crtc_gclk_u;
4052+
4053+typedef struct _crtc_goe_t {
4054+ unsigned long goe_start : 10;
4055+ unsigned long : 6;
4056+ unsigned long goe_end : 10;
4057+ unsigned long : 3;
4058+ unsigned long goe_align : 1;
4059+ unsigned long goe_pol : 1;
4060+ unsigned long goe_en : 1;
4061+ } crtc_goe_t;
4062+
4063+typedef union {
4064+ unsigned long val : 32;
4065+ crtc_goe_t f;
4066+} crtc_goe_u;
4067+
4068+typedef struct _crtc_frame_t {
4069+ unsigned long crtc_fr_start : 10;
4070+ unsigned long : 6;
4071+ unsigned long crtc_fr_end : 10;
4072+ unsigned long : 4;
4073+ unsigned long crtc_frame_en : 1;
4074+ unsigned long crtc_frame_align : 1;
4075+ } crtc_frame_t;
4076+
4077+typedef union {
4078+ unsigned long val : 32;
4079+ crtc_frame_t f;
4080+} crtc_frame_u;
4081+
4082+typedef struct _crtc_frame_vpos_t {
4083+ unsigned long crtc_fr_vpos : 10;
4084+ unsigned long : 22;
4085+ } crtc_frame_vpos_t;
4086+
4087+typedef union {
4088+ unsigned long val : 32;
4089+ crtc_frame_vpos_t f;
4090+} crtc_frame_vpos_u;
4091+
4092+typedef struct _gpio_data_t {
4093+ unsigned long gio_out : 16;
4094+ unsigned long gio_in : 16;
4095+ } gpio_data_t;
4096+
4097+typedef union {
4098+ unsigned long val : 32;
4099+ gpio_data_t f;
4100+} gpio_data_u;
4101+
4102+typedef struct _gpio_cntl1_t {
4103+ unsigned long gio_pd : 16;
4104+ unsigned long gio_schmen : 16;
4105+ } gpio_cntl1_t;
4106+
4107+typedef union {
4108+ unsigned long val : 32;
4109+ gpio_cntl1_t f;
4110+} gpio_cntl1_u;
4111+
4112+typedef struct _gpio_cntl2_t {
4113+ unsigned long gio_oe : 16;
4114+ unsigned long gio_srp : 1;
4115+ unsigned long gio_srn : 1;
4116+ unsigned long gio_sp : 4;
4117+ unsigned long gio_sn : 4;
4118+ unsigned long : 6;
4119+ } gpio_cntl2_t;
4120+
4121+typedef union {
4122+ unsigned long val : 32;
4123+ gpio_cntl2_t f;
4124+} gpio_cntl2_u;
4125+
4126+typedef struct _lcdd_cntl1_t {
4127+ unsigned long lcdd_pd : 18;
4128+ unsigned long lcdd_srp : 1;
4129+ unsigned long lcdd_srn : 1;
4130+ unsigned long lcdd_sp : 4;
4131+ unsigned long lcdd_sn : 4;
4132+ unsigned long lcdd_align : 1;
4133+ unsigned long : 3;
4134+ } lcdd_cntl1_t;
4135+
4136+typedef union {
4137+ unsigned long val : 32;
4138+ lcdd_cntl1_t f;
4139+} lcdd_cntl1_u;
4140+
4141+typedef struct _lcdd_cntl2_t {
4142+ unsigned long lcdd_oe : 18;
4143+ unsigned long : 14;
4144+ } lcdd_cntl2_t;
4145+
4146+typedef union {
4147+ unsigned long val : 32;
4148+ lcdd_cntl2_t f;
4149+} lcdd_cntl2_u;
4150+
4151+typedef struct _genlcd_cntl1_t {
4152+ unsigned long dclk_oe : 1;
4153+ unsigned long dclk_pd : 1;
4154+ unsigned long dclk_srp : 1;
4155+ unsigned long dclk_srn : 1;
4156+ unsigned long dclk_sp : 4;
4157+ unsigned long dclk_sn : 4;
4158+ unsigned long ss_oe : 1;
4159+ unsigned long ss_pd : 1;
4160+ unsigned long ls_oe : 1;
4161+ unsigned long ls_pd : 1;
4162+ unsigned long gs_oe : 1;
4163+ unsigned long gs_pd : 1;
4164+ unsigned long goe_oe : 1;
4165+ unsigned long goe_pd : 1;
4166+ unsigned long rev_oe : 1;
4167+ unsigned long rev_pd : 1;
4168+ unsigned long frame_oe : 1;
4169+ unsigned long frame_pd : 1;
4170+ unsigned long : 8;
4171+ } genlcd_cntl1_t;
4172+
4173+typedef union {
4174+ unsigned long val : 32;
4175+ genlcd_cntl1_t f;
4176+} genlcd_cntl1_u;
4177+
4178+typedef struct _genlcd_cntl2_t {
4179+ unsigned long gclk_oe : 1;
4180+ unsigned long gclk_pd : 1;
4181+ unsigned long gclk_srp : 1;
4182+ unsigned long gclk_srn : 1;
4183+ unsigned long gclk_sp : 4;
4184+ unsigned long gclk_sn : 4;
4185+ unsigned long genlcd_srp : 1;
4186+ unsigned long genlcd_srn : 1;
4187+ unsigned long genlcd_sp : 4;
4188+ unsigned long genlcd_sn : 4;
4189+ unsigned long : 10;
4190+ } genlcd_cntl2_t;
4191+
4192+typedef union {
4193+ unsigned long val : 32;
4194+ genlcd_cntl2_t f;
4195+} genlcd_cntl2_u;
4196+
4197+typedef struct _disp_debug_t {
4198+ unsigned long disp_debug : 32;
4199+ } disp_debug_t;
4200+
4201+typedef union {
4202+ unsigned long val : 32;
4203+ disp_debug_t f;
4204+} disp_debug_u;
4205+
4206+typedef struct _disp_db_buf_cntl_rd_t {
4207+ unsigned long en_db_buf : 1;
4208+ unsigned long update_db_buf_done : 1;
4209+ unsigned long db_buf_cntl : 6;
4210+ unsigned long : 24;
4211+ } disp_db_buf_cntl_rd_t;
4212+
4213+typedef union {
4214+ unsigned long val : 32;
4215+ disp_db_buf_cntl_rd_t f;
4216+} disp_db_buf_cntl_rd_u;
4217+
4218+typedef struct _disp_db_buf_cntl_wr_t {
4219+ unsigned long en_db_buf : 1;
4220+ unsigned long update_db_buf : 1;
4221+ unsigned long db_buf_cntl : 6;
4222+ unsigned long : 24;
4223+ } disp_db_buf_cntl_wr_t;
4224+
4225+typedef union {
4226+ unsigned long val : 32;
4227+ disp_db_buf_cntl_wr_t f;
4228+} disp_db_buf_cntl_wr_u;
4229+
4230+typedef struct _disp_crc_sig_t {
4231+ unsigned long crc_sig_r : 6;
4232+ unsigned long crc_sig_g : 6;
4233+ unsigned long crc_sig_b : 6;
4234+ unsigned long crc_cont_en : 1;
4235+ unsigned long crc_en : 1;
4236+ unsigned long crc_mask_en : 1;
4237+ unsigned long crc_sig_cntl : 6;
4238+ unsigned long : 5;
4239+ } disp_crc_sig_t;
4240+
4241+typedef union {
4242+ unsigned long val : 32;
4243+ disp_crc_sig_t f;
4244+} disp_crc_sig_u;
4245+
4246+typedef struct _crtc_default_count_t {
4247+ unsigned long crtc_hcount_def : 10;
4248+ unsigned long : 6;
4249+ unsigned long crtc_vcount_def : 10;
4250+ unsigned long : 6;
4251+ } crtc_default_count_t;
4252+
4253+typedef union {
4254+ unsigned long val : 32;
4255+ crtc_default_count_t f;
4256+} crtc_default_count_u;
4257+
4258+typedef struct _lcd_background_color_t {
4259+ unsigned long lcd_bg_red : 8;
4260+ unsigned long lcd_bg_green : 8;
4261+ unsigned long lcd_bg_blue : 8;
4262+ unsigned long : 8;
4263+ } lcd_background_color_t;
4264+
4265+typedef union {
4266+ unsigned long val : 32;
4267+ lcd_background_color_t f;
4268+} lcd_background_color_u;
4269+
4270+typedef struct _crtc_ps2_t {
4271+ unsigned long ps2_start : 10;
4272+ unsigned long : 6;
4273+ unsigned long ps2_end : 10;
4274+ unsigned long : 4;
4275+ unsigned long ps2_pol : 1;
4276+ unsigned long ps2_en : 1;
4277+ } crtc_ps2_t;
4278+
4279+typedef union {
4280+ unsigned long val : 32;
4281+ crtc_ps2_t f;
4282+} crtc_ps2_u;
4283+
4284+typedef struct _crtc_ps2_vpos_t {
4285+ unsigned long ps2_vpos_start : 10;
4286+ unsigned long : 6;
4287+ unsigned long ps2_vpos_end : 10;
4288+ unsigned long : 6;
4289+ } crtc_ps2_vpos_t;
4290+
4291+typedef union {
4292+ unsigned long val : 32;
4293+ crtc_ps2_vpos_t f;
4294+} crtc_ps2_vpos_u;
4295+
4296+typedef struct _crtc_ps1_active_t {
4297+ unsigned long ps1_h_start : 10;
4298+ unsigned long : 6;
4299+ unsigned long ps1_h_end : 10;
4300+ unsigned long : 3;
4301+ unsigned long ps1_pol : 1;
4302+ unsigned long ps1_en : 1;
4303+ unsigned long ps1_use_nactive : 1;
4304+ } crtc_ps1_active_t;
4305+
4306+typedef union {
4307+ unsigned long val : 32;
4308+ crtc_ps1_active_t f;
4309+} crtc_ps1_active_u;
4310+
4311+typedef struct _crtc_ps1_nactive_t {
4312+ unsigned long ps1_h_start_na : 10;
4313+ unsigned long : 6;
4314+ unsigned long ps1_h_end_na : 10;
4315+ unsigned long : 5;
4316+ unsigned long ps1_en_na : 1;
4317+ } crtc_ps1_nactive_t;
4318+
4319+typedef union {
4320+ unsigned long val : 32;
4321+ crtc_ps1_nactive_t f;
4322+} crtc_ps1_nactive_u;
4323+
4324+typedef struct _crtc_gclk_ext_t {
4325+ unsigned long gclk_alter_start : 10;
4326+ unsigned long : 6;
4327+ unsigned long gclk_alter_width : 2;
4328+ unsigned long gclk_en_alter : 1;
4329+ unsigned long gclk_db_width : 2;
4330+ unsigned long : 11;
4331+ } crtc_gclk_ext_t;
4332+
4333+typedef union {
4334+ unsigned long val : 32;
4335+ crtc_gclk_ext_t f;
4336+} crtc_gclk_ext_u;
4337+
4338+typedef struct _crtc_alw_t {
4339+ unsigned long alw_hstart : 10;
4340+ unsigned long : 6;
4341+ unsigned long alw_hend : 10;
4342+ unsigned long : 4;
4343+ unsigned long alw_delay : 1;
4344+ unsigned long alw_en : 1;
4345+ } crtc_alw_t;
4346+
4347+typedef union {
4348+ unsigned long val : 32;
4349+ crtc_alw_t f;
4350+} crtc_alw_u;
4351+
4352+typedef struct _crtc_alw_vpos_t {
4353+ unsigned long alw_vstart : 10;
4354+ unsigned long : 6;
4355+ unsigned long alw_vend : 10;
4356+ unsigned long : 6;
4357+ } crtc_alw_vpos_t;
4358+
4359+typedef union {
4360+ unsigned long val : 32;
4361+ crtc_alw_vpos_t f;
4362+} crtc_alw_vpos_u;
4363+
4364+typedef struct _crtc_psk_t {
4365+ unsigned long psk_vstart : 10;
4366+ unsigned long : 6;
4367+ unsigned long psk_vend : 10;
4368+ unsigned long : 4;
4369+ unsigned long psk_pol : 1;
4370+ unsigned long psk_en : 1;
4371+ } crtc_psk_t;
4372+
4373+typedef union {
4374+ unsigned long val : 32;
4375+ crtc_psk_t f;
4376+} crtc_psk_u;
4377+
4378+typedef struct _crtc_psk_hpos_t {
4379+ unsigned long psk_hstart : 10;
4380+ unsigned long : 6;
4381+ unsigned long psk_hend : 10;
4382+ unsigned long : 6;
4383+ } crtc_psk_hpos_t;
4384+
4385+typedef union {
4386+ unsigned long val : 32;
4387+ crtc_psk_hpos_t f;
4388+} crtc_psk_hpos_u;
4389+
4390+typedef struct _crtc_cv4_start_t {
4391+ unsigned long cv4_vstart : 10;
4392+ unsigned long : 20;
4393+ unsigned long cv4_pol : 1;
4394+ unsigned long cv4_en : 1;
4395+ } crtc_cv4_start_t;
4396+
4397+typedef union {
4398+ unsigned long val : 32;
4399+ crtc_cv4_start_t f;
4400+} crtc_cv4_start_u;
4401+
4402+typedef struct _crtc_cv4_end_t {
4403+ unsigned long cv4_vend1 : 10;
4404+ unsigned long : 6;
4405+ unsigned long cv4_vend2 : 10;
4406+ unsigned long : 6;
4407+ } crtc_cv4_end_t;
4408+
4409+typedef union {
4410+ unsigned long val : 32;
4411+ crtc_cv4_end_t f;
4412+} crtc_cv4_end_u;
4413+
4414+typedef struct _crtc_cv4_hpos_t {
4415+ unsigned long cv4_hstart : 10;
4416+ unsigned long : 6;
4417+ unsigned long cv4_hend : 10;
4418+ unsigned long : 6;
4419+ } crtc_cv4_hpos_t;
4420+
4421+typedef union {
4422+ unsigned long val : 32;
4423+ crtc_cv4_hpos_t f;
4424+} crtc_cv4_hpos_u;
4425+
4426+typedef struct _crtc_eck_t {
4427+ unsigned long eck_freq1 : 3;
4428+ unsigned long eck_en : 1;
4429+ unsigned long : 28;
4430+ } crtc_eck_t;
4431+
4432+typedef union {
4433+ unsigned long val : 32;
4434+ crtc_eck_t f;
4435+} crtc_eck_u;
4436+
4437+typedef struct _refresh_cntl_t {
4438+ unsigned long ref_frame : 3;
4439+ unsigned long nref_frame : 5;
4440+ unsigned long ref_cntl : 1;
4441+ unsigned long stop_sm_nref : 1;
4442+ unsigned long stop_req_nref : 1;
4443+ unsigned long : 21;
4444+ } refresh_cntl_t;
4445+
4446+typedef union {
4447+ unsigned long val : 32;
4448+ refresh_cntl_t f;
4449+} refresh_cntl_u;
4450+
4451+typedef struct _genlcd_cntl3_t {
4452+ unsigned long ps1_oe : 1;
4453+ unsigned long ps1_pd : 1;
4454+ unsigned long ps2_oe : 1;
4455+ unsigned long ps2_pd : 1;
4456+ unsigned long rev2_oe : 1;
4457+ unsigned long rev2_pd : 1;
4458+ unsigned long awl_oe : 1;
4459+ unsigned long awl_pd : 1;
4460+ unsigned long dinv_oe : 1;
4461+ unsigned long dinv_pd : 1;
4462+ unsigned long psk_out : 1;
4463+ unsigned long psd_out : 1;
4464+ unsigned long eck_out : 1;
4465+ unsigned long cv4_out : 1;
4466+ unsigned long ps1_out : 1;
4467+ unsigned long ps2_out : 1;
4468+ unsigned long rev_out : 1;
4469+ unsigned long rev2_out : 1;
4470+ unsigned long : 14;
4471+ } genlcd_cntl3_t;
4472+
4473+typedef union {
4474+ unsigned long val : 32;
4475+ genlcd_cntl3_t f;
4476+} genlcd_cntl3_u;
4477+
4478+typedef struct _gpio_data2_t {
4479+ unsigned long gio2_out : 16;
4480+ unsigned long gio2_in : 16;
4481+ } gpio_data2_t;
4482+
4483+typedef union {
4484+ unsigned long val : 32;
4485+ gpio_data2_t f;
4486+} gpio_data2_u;
4487+
4488+typedef struct _gpio_cntl3_t {
4489+ unsigned long gio2_pd : 16;
4490+ unsigned long gio2_schmen : 16;
4491+ } gpio_cntl3_t;
4492+
4493+typedef union {
4494+ unsigned long val : 32;
4495+ gpio_cntl3_t f;
4496+} gpio_cntl3_u;
4497+
4498+typedef struct _gpio_cntl4_t {
4499+ unsigned long gio2_oe : 16;
4500+ unsigned long : 16;
4501+ } gpio_cntl4_t;
4502+
4503+typedef union {
4504+ unsigned long val : 32;
4505+ gpio_cntl4_t f;
4506+} gpio_cntl4_u;
4507+
4508+typedef struct _chip_strap_t {
4509+ unsigned long config_strap : 8;
4510+ unsigned long pkg_strap : 1;
4511+ unsigned long : 23;
4512+ } chip_strap_t;
4513+
4514+typedef union {
4515+ unsigned long val : 32;
4516+ chip_strap_t f;
4517+} chip_strap_u;
4518+
4519+typedef struct _disp_debug2_t {
4520+ unsigned long disp_debug2 : 32;
4521+ } disp_debug2_t;
4522+
4523+typedef union {
4524+ unsigned long val : 32;
4525+ disp_debug2_t f;
4526+} disp_debug2_u;
4527+
4528+typedef struct _debug_bus_cntl_t {
4529+ unsigned long debug_testmux : 4;
4530+ unsigned long debug_testsel : 4;
4531+ unsigned long debug_gioa_sel : 2;
4532+ unsigned long debug_giob_sel : 2;
4533+ unsigned long debug_clk_sel : 1;
4534+ unsigned long debug_clk_inv : 1;
4535+ unsigned long : 2;
4536+ unsigned long debug_bus : 16;
4537+ } debug_bus_cntl_t;
4538+
4539+typedef union {
4540+ unsigned long val : 32;
4541+ debug_bus_cntl_t f;
4542+} debug_bus_cntl_u;
4543+
4544+typedef struct _gamma_value1_t {
4545+ unsigned long gamma1 : 8;
4546+ unsigned long gamma2 : 8;
4547+ unsigned long gamma3 : 8;
4548+ unsigned long gamma4 : 8;
4549+ } gamma_value1_t;
4550+
4551+typedef union {
4552+ unsigned long val : 32;
4553+ gamma_value1_t f;
4554+} gamma_value1_u;
4555+
4556+typedef struct _gamma_value2_t {
4557+ unsigned long gamma5 : 8;
4558+ unsigned long gamma6 : 8;
4559+ unsigned long gamma7 : 8;
4560+ unsigned long gamma8 : 8;
4561+ } gamma_value2_t;
4562+
4563+typedef union {
4564+ unsigned long val : 32;
4565+ gamma_value2_t f;
4566+} gamma_value2_u;
4567+
4568+typedef struct _gamma_slope_t {
4569+ unsigned long slope1 : 3;
4570+ unsigned long slope2 : 3;
4571+ unsigned long slope3 : 3;
4572+ unsigned long slope4 : 3;
4573+ unsigned long slope5 : 3;
4574+ unsigned long slope6 : 3;
4575+ unsigned long slope7 : 3;
4576+ unsigned long slope8 : 3;
4577+ unsigned long : 8;
4578+ } gamma_slope_t;
4579+
4580+typedef union {
4581+ unsigned long val : 32;
4582+ gamma_slope_t f;
4583+} gamma_slope_u;
4584+
4585+typedef struct _gen_status_t {
4586+ unsigned long status : 16;
4587+ unsigned long : 16;
4588+ } gen_status_t;
4589+
4590+typedef union {
4591+ unsigned long val : 32;
4592+ gen_status_t f;
4593+} gen_status_u;
4594+
4595+typedef struct _hw_int_t {
4596+ unsigned long hwint1_pos : 5;
4597+ unsigned long hwint2_pos : 5;
4598+ unsigned long hwint1_pol : 1;
4599+ unsigned long hwint2_pol : 1;
4600+ unsigned long hwint1_en_db : 1;
4601+ unsigned long hwint2_en_db : 1;
4602+ unsigned long : 18;
4603+ } hw_int_t;
4604+
4605+typedef union {
4606+ unsigned long val : 32;
4607+ hw_int_t f;
4608+} hw_int_u;
4609+
4610+typedef struct _dst_offset_t {
4611+ unsigned long dst_offset : 24;
4612+ unsigned long : 8;
4613+ } dst_offset_t;
4614+
4615+typedef union {
4616+ unsigned long val : 32;
4617+ dst_offset_t f;
4618+} dst_offset_u;
4619+
4620+typedef struct _dst_pitch_t {
4621+ unsigned long dst_pitch : 14;
4622+ unsigned long mc_dst_pitch_mul : 2;
4623+ unsigned long : 16;
4624+ } dst_pitch_t;
4625+
4626+typedef union {
4627+ unsigned long val : 32;
4628+ dst_pitch_t f;
4629+} dst_pitch_u;
4630+
4631+typedef struct _dst_pitch_offset_t {
4632+ unsigned long dst_offset : 20;
4633+ unsigned long dst_pitch : 10;
4634+ unsigned long mc_dst_pitch_mul : 2;
4635+ } dst_pitch_offset_t;
4636+
4637+typedef union {
4638+ unsigned long val : 32;
4639+ dst_pitch_offset_t f;
4640+} dst_pitch_offset_u;
4641+
4642+typedef struct _dst_x_t {
4643+ unsigned long dst_x : 14;
4644+ unsigned long : 18;
4645+ } dst_x_t;
4646+
4647+typedef union {
4648+ unsigned long val : 32;
4649+ dst_x_t f;
4650+} dst_x_u;
4651+
4652+typedef struct _dst_y_t {
4653+ unsigned long dst_y : 14;
4654+ unsigned long : 18;
4655+ } dst_y_t;
4656+
4657+typedef union {
4658+ unsigned long val : 32;
4659+ dst_y_t f;
4660+} dst_y_u;
4661+
4662+typedef struct _dst_x_y_t {
4663+ unsigned long dst_y : 14;
4664+ unsigned long : 2;
4665+ unsigned long dst_x : 14;
4666+ unsigned long : 2;
4667+ } dst_x_y_t;
4668+
4669+typedef union {
4670+ unsigned long val : 32;
4671+ dst_x_y_t f;
4672+} dst_x_y_u;
4673+
4674+typedef struct _dst_y_x_t {
4675+ unsigned long dst_x : 14;
4676+ unsigned long : 2;
4677+ unsigned long dst_y : 14;
4678+ unsigned long : 2;
4679+ } dst_y_x_t;
4680+
4681+typedef union {
4682+ unsigned long val : 32;
4683+ dst_y_x_t f;
4684+} dst_y_x_u;
4685+
4686+typedef struct _dst_width_t {
4687+ unsigned long dst_width_b0 : 8;
4688+ unsigned long dst_width_b1 : 6;
4689+ unsigned long : 18;
4690+ } dst_width_t;
4691+
4692+typedef union {
4693+ unsigned long val : 32;
4694+ dst_width_t f;
4695+} dst_width_u;
4696+
4697+typedef struct _dst_height_t {
4698+ unsigned long dst_height : 14;
4699+ unsigned long : 18;
4700+ } dst_height_t;
4701+
4702+typedef union {
4703+ unsigned long val : 32;
4704+ dst_height_t f;
4705+} dst_height_u;
4706+
4707+typedef struct _dst_width_height_t {
4708+ unsigned long dst_height : 14;
4709+ unsigned long : 2;
4710+ unsigned long dst_width_b0 : 8;
4711+ unsigned long dst_width_b1 : 6;
4712+ unsigned long : 2;
4713+ } dst_width_height_t;
4714+
4715+typedef union {
4716+ unsigned long val : 32;
4717+ dst_width_height_t f;
4718+} dst_width_height_u;
4719+
4720+typedef struct _dst_height_width_t {
4721+ unsigned long dst_width_b0 : 8;
4722+ unsigned long dst_width_b1 : 6;
4723+ unsigned long : 2;
4724+ unsigned long dst_height : 14;
4725+ unsigned long : 2;
4726+ } dst_height_width_t;
4727+
4728+typedef union {
4729+ unsigned long val : 32;
4730+ dst_height_width_t f;
4731+} dst_height_width_u;
4732+
4733+typedef struct _dst_height_width_8_t {
4734+ unsigned long : 16;
4735+ unsigned long dst_width_b0 : 8;
4736+ unsigned long dst_height : 8;
4737+ } dst_height_width_8_t;
4738+
4739+typedef union {
4740+ unsigned long val : 32;
4741+ dst_height_width_8_t f;
4742+} dst_height_width_8_u;
4743+
4744+typedef struct _dst_height_y_t {
4745+ unsigned long dst_y : 14;
4746+ unsigned long : 2;
4747+ unsigned long dst_height : 14;
4748+ unsigned long : 2;
4749+ } dst_height_y_t;
4750+
4751+typedef union {
4752+ unsigned long val : 32;
4753+ dst_height_y_t f;
4754+} dst_height_y_u;
4755+
4756+typedef struct _dst_width_x_t {
4757+ unsigned long dst_x : 14;
4758+ unsigned long : 2;
4759+ unsigned long dst_width_b0 : 8;
4760+ unsigned long dst_width_b1 : 6;
4761+ unsigned long : 2;
4762+ } dst_width_x_t;
4763+
4764+typedef union {
4765+ unsigned long val : 32;
4766+ dst_width_x_t f;
4767+} dst_width_x_u;
4768+
4769+typedef struct _dst_width_x_incy_t {
4770+ unsigned long dst_x : 14;
4771+ unsigned long : 2;
4772+ unsigned long dst_width_b0 : 8;
4773+ unsigned long dst_width_b1 : 6;
4774+ unsigned long : 2;
4775+ } dst_width_x_incy_t;
4776+
4777+typedef union {
4778+ unsigned long val : 32;
4779+ dst_width_x_incy_t f;
4780+} dst_width_x_incy_u;
4781+
4782+typedef struct _dst_line_start_t {
4783+ unsigned long dst_start_x : 14;
4784+ unsigned long : 2;
4785+ unsigned long dst_start_y : 14;
4786+ unsigned long : 2;
4787+ } dst_line_start_t;
4788+
4789+typedef union {
4790+ unsigned long val : 32;
4791+ dst_line_start_t f;
4792+} dst_line_start_u;
4793+
4794+typedef struct _dst_line_end_t {
4795+ unsigned long dst_end_x : 14;
4796+ unsigned long : 2;
4797+ unsigned long dst_end_y_b0 : 8;
4798+ unsigned long dst_end_y_b1 : 6;
4799+ unsigned long : 2;
4800+ } dst_line_end_t;
4801+
4802+typedef union {
4803+ unsigned long val : 32;
4804+ dst_line_end_t f;
4805+} dst_line_end_u;
4806+
4807+typedef struct _brush_offset_t {
4808+ unsigned long brush_offset : 24;
4809+ unsigned long : 8;
4810+ } brush_offset_t;
4811+
4812+typedef union {
4813+ unsigned long val : 32;
4814+ brush_offset_t f;
4815+} brush_offset_u;
4816+
4817+typedef struct _brush_y_x_t {
4818+ unsigned long brush_x : 5;
4819+ unsigned long : 3;
4820+ unsigned long brush_y : 3;
4821+ unsigned long : 21;
4822+ } brush_y_x_t;
4823+
4824+typedef union {
4825+ unsigned long val : 32;
4826+ brush_y_x_t f;
4827+} brush_y_x_u;
4828+
4829+typedef struct _dp_brush_frgd_clr_t {
4830+ unsigned long dp_brush_frgd_clr : 32;
4831+ } dp_brush_frgd_clr_t;
4832+
4833+typedef union {
4834+ unsigned long val : 32;
4835+ dp_brush_frgd_clr_t f;
4836+} dp_brush_frgd_clr_u;
4837+
4838+typedef struct _dp_brush_bkgd_clr_t {
4839+ unsigned long dp_brush_bkgd_clr : 32;
4840+ } dp_brush_bkgd_clr_t;
4841+
4842+typedef union {
4843+ unsigned long val : 32;
4844+ dp_brush_bkgd_clr_t f;
4845+} dp_brush_bkgd_clr_u;
4846+
4847+typedef struct _src2_offset_t {
4848+ unsigned long src2_offset : 24;
4849+ unsigned long : 8;
4850+ } src2_offset_t;
4851+
4852+typedef union {
4853+ unsigned long val : 32;
4854+ src2_offset_t f;
4855+} src2_offset_u;
4856+
4857+typedef struct _src2_pitch_t {
4858+ unsigned long src2_pitch : 14;
4859+ unsigned long src2_pitch_mul : 2;
4860+ unsigned long : 16;
4861+ } src2_pitch_t;
4862+
4863+typedef union {
4864+ unsigned long val : 32;
4865+ src2_pitch_t f;
4866+} src2_pitch_u;
4867+
4868+typedef struct _src2_pitch_offset_t {
4869+ unsigned long src2_offset : 20;
4870+ unsigned long : 2;
4871+ unsigned long src2_pitch : 8;
4872+ unsigned long src2_pitch_mul : 2;
4873+ } src2_pitch_offset_t;
4874+
4875+typedef union {
4876+ unsigned long val : 32;
4877+ src2_pitch_offset_t f;
4878+} src2_pitch_offset_u;
4879+
4880+typedef struct _src2_x_t {
4881+ unsigned long src_x : 14;
4882+ unsigned long : 18;
4883+ } src2_x_t;
4884+
4885+typedef union {
4886+ unsigned long val : 32;
4887+ src2_x_t f;
4888+} src2_x_u;
4889+
4890+typedef struct _src2_y_t {
4891+ unsigned long src_y : 14;
4892+ unsigned long : 18;
4893+ } src2_y_t;
4894+
4895+typedef union {
4896+ unsigned long val : 32;
4897+ src2_y_t f;
4898+} src2_y_u;
4899+
4900+typedef struct _src2_x_y_t {
4901+ unsigned long src_y : 14;
4902+ unsigned long : 2;
4903+ unsigned long src_x : 14;
4904+ unsigned long : 2;
4905+ } src2_x_y_t;
4906+
4907+typedef union {
4908+ unsigned long val : 32;
4909+ src2_x_y_t f;
4910+} src2_x_y_u;
4911+
4912+typedef struct _src2_width_t {
4913+ unsigned long src2_width : 14;
4914+ unsigned long : 18;
4915+ } src2_width_t;
4916+
4917+typedef union {
4918+ unsigned long val : 32;
4919+ src2_width_t f;
4920+} src2_width_u;
4921+
4922+typedef struct _src2_height_t {
4923+ unsigned long src2_height : 14;
4924+ unsigned long : 18;
4925+ } src2_height_t;
4926+
4927+typedef union {
4928+ unsigned long val : 32;
4929+ src2_height_t f;
4930+} src2_height_u;
4931+
4932+typedef struct _src2_inc_t {
4933+ unsigned long src2_xinc : 6;
4934+ unsigned long : 2;
4935+ unsigned long src2_yinc : 6;
4936+ unsigned long : 18;
4937+ } src2_inc_t;
4938+
4939+typedef union {
4940+ unsigned long val : 32;
4941+ src2_inc_t f;
4942+} src2_inc_u;
4943+
4944+typedef struct _src_offset_t {
4945+ unsigned long src_offset : 24;
4946+ unsigned long : 8;
4947+ } src_offset_t;
4948+
4949+typedef union {
4950+ unsigned long val : 32;
4951+ src_offset_t f;
4952+} src_offset_u;
4953+
4954+typedef struct _src_pitch_t {
4955+ unsigned long src_pitch : 14;
4956+ unsigned long src_pitch_mul : 2;
4957+ unsigned long : 16;
4958+ } src_pitch_t;
4959+
4960+typedef union {
4961+ unsigned long val : 32;
4962+ src_pitch_t f;
4963+} src_pitch_u;
4964+
4965+typedef struct _src_pitch_offset_t {
4966+ unsigned long src_offset : 20;
4967+ unsigned long src_pitch : 10;
4968+ unsigned long src_pitch_mul : 2;
4969+ } src_pitch_offset_t;
4970+
4971+typedef union {
4972+ unsigned long val : 32;
4973+ src_pitch_offset_t f;
4974+} src_pitch_offset_u;
4975+
4976+typedef struct _src_x_t {
4977+ unsigned long src_x : 14;
4978+ unsigned long : 18;
4979+ } src_x_t;
4980+
4981+typedef union {
4982+ unsigned long val : 32;
4983+ src_x_t f;
4984+} src_x_u;
4985+
4986+typedef struct _src_y_t {
4987+ unsigned long src_y : 14;
4988+ unsigned long : 18;
4989+ } src_y_t;
4990+
4991+typedef union {
4992+ unsigned long val : 32;
4993+ src_y_t f;
4994+} src_y_u;
4995+
4996+typedef struct _src_x_y_t {
4997+ unsigned long src_y : 14;
4998+ unsigned long : 2;
4999+ unsigned long src_x : 14;
5000+ unsigned long : 2;
5001+ } src_x_y_t;
5002+
5003+typedef union {
5004+ unsigned long val : 32;
5005+ src_x_y_t f;
5006+} src_x_y_u;
5007+
5008+typedef struct _src_y_x_t {
5009+ unsigned long src_x : 14;
5010+ unsigned long : 2;
5011+ unsigned long src_y : 14;
5012+ unsigned long : 2;
5013+ } src_y_x_t;
5014+
5015+typedef union {
5016+ unsigned long val : 32;
5017+ src_y_x_t f;
5018+} src_y_x_u;
5019+
5020+typedef struct _src_width_t {
5021+ unsigned long src_width : 14;
5022+ unsigned long : 18;
5023+ } src_width_t;
5024+
5025+typedef union {
5026+ unsigned long val : 32;
5027+ src_width_t f;
5028+} src_width_u;
5029+
5030+typedef struct _src_height_t {
5031+ unsigned long src_height : 14;
5032+ unsigned long : 18;
5033+ } src_height_t;
5034+
5035+typedef union {
5036+ unsigned long val : 32;
5037+ src_height_t f;
5038+} src_height_u;
5039+
5040+typedef struct _src_inc_t {
5041+ unsigned long src_xinc : 6;
5042+ unsigned long : 2;
5043+ unsigned long src_yinc : 6;
5044+ unsigned long : 18;
5045+ } src_inc_t;
5046+
5047+typedef union {
5048+ unsigned long val : 32;
5049+ src_inc_t f;
5050+} src_inc_u;
5051+
5052+typedef struct _host_data0_t {
5053+ unsigned long host_data : 32;
5054+ } host_data0_t;
5055+
5056+typedef union {
5057+ unsigned long val : 32;
5058+ host_data0_t f;
5059+} host_data0_u;
5060+
5061+typedef struct _host_data1_t {
5062+ unsigned long host_data : 32;
5063+ } host_data1_t;
5064+
5065+typedef union {
5066+ unsigned long val : 32;
5067+ host_data1_t f;
5068+} host_data1_u;
5069+
5070+typedef struct _host_data2_t {
5071+ unsigned long host_data : 32;
5072+ } host_data2_t;
5073+
5074+typedef union {
5075+ unsigned long val : 32;
5076+ host_data2_t f;
5077+} host_data2_u;
5078+
5079+typedef struct _host_data3_t {
5080+ unsigned long host_data : 32;
5081+ } host_data3_t;
5082+
5083+typedef union {
5084+ unsigned long val : 32;
5085+ host_data3_t f;
5086+} host_data3_u;
5087+
5088+typedef struct _host_data4_t {
5089+ unsigned long host_data : 32;
5090+ } host_data4_t;
5091+
5092+typedef union {
5093+ unsigned long val : 32;
5094+ host_data4_t f;
5095+} host_data4_u;
5096+
5097+typedef struct _host_data5_t {
5098+ unsigned long host_data : 32;
5099+ } host_data5_t;
5100+
5101+typedef union {
5102+ unsigned long val : 32;
5103+ host_data5_t f;
5104+} host_data5_u;
5105+
5106+typedef struct _host_data6_t {
5107+ unsigned long host_data : 32;
5108+ } host_data6_t;
5109+
5110+typedef union {
5111+ unsigned long val : 32;
5112+ host_data6_t f;
5113+} host_data6_u;
5114+
5115+typedef struct _host_data7_t {
5116+ unsigned long host_data : 32;
5117+ } host_data7_t;
5118+
5119+typedef union {
5120+ unsigned long val : 32;
5121+ host_data7_t f;
5122+} host_data7_u;
5123+
5124+typedef struct _host_data_last_t {
5125+ unsigned long host_data_last : 32;
5126+ } host_data_last_t;
5127+
5128+typedef union {
5129+ unsigned long val : 32;
5130+ host_data_last_t f;
5131+} host_data_last_u;
5132+
5133+typedef struct _dp_src_frgd_clr_t {
5134+ unsigned long dp_src_frgd_clr : 32;
5135+ } dp_src_frgd_clr_t;
5136+
5137+typedef union {
5138+ unsigned long val : 32;
5139+ dp_src_frgd_clr_t f;
5140+} dp_src_frgd_clr_u;
5141+
5142+typedef struct _dp_src_bkgd_clr_t {
5143+ unsigned long dp_src_bkgd_clr : 32;
5144+ } dp_src_bkgd_clr_t;
5145+
5146+typedef union {
5147+ unsigned long val : 32;
5148+ dp_src_bkgd_clr_t f;
5149+} dp_src_bkgd_clr_u;
5150+
5151+typedef struct _sc_left_t {
5152+ unsigned long sc_left : 14;
5153+ unsigned long : 18;
5154+ } sc_left_t;
5155+
5156+typedef union {
5157+ unsigned long val : 32;
5158+ sc_left_t f;
5159+} sc_left_u;
5160+
5161+typedef struct _sc_right_t {
5162+ unsigned long sc_right : 14;
5163+ unsigned long : 18;
5164+ } sc_right_t;
5165+
5166+typedef union {
5167+ unsigned long val : 32;
5168+ sc_right_t f;
5169+} sc_right_u;
5170+
5171+typedef struct _sc_top_t {
5172+ unsigned long sc_top : 14;
5173+ unsigned long : 18;
5174+ } sc_top_t;
5175+
5176+typedef union {
5177+ unsigned long val : 32;
5178+ sc_top_t f;
5179+} sc_top_u;
5180+
5181+typedef struct _sc_bottom_t {
5182+ unsigned long sc_bottom : 14;
5183+ unsigned long : 18;
5184+ } sc_bottom_t;
5185+
5186+typedef union {
5187+ unsigned long val : 32;
5188+ sc_bottom_t f;
5189+} sc_bottom_u;
5190+
5191+typedef struct _src_sc_right_t {
5192+ unsigned long sc_right : 14;
5193+ unsigned long : 18;
5194+ } src_sc_right_t;
5195+
5196+typedef union {
5197+ unsigned long val : 32;
5198+ src_sc_right_t f;
5199+} src_sc_right_u;
5200+
5201+typedef struct _src_sc_bottom_t {
5202+ unsigned long sc_bottom : 14;
5203+ unsigned long : 18;
5204+ } src_sc_bottom_t;
5205+
5206+typedef union {
5207+ unsigned long val : 32;
5208+ src_sc_bottom_t f;
5209+} src_sc_bottom_u;
5210+
5211+typedef struct _dp_cntl_t {
5212+ unsigned long dst_x_dir : 1;
5213+ unsigned long dst_y_dir : 1;
5214+ unsigned long src_x_dir : 1;
5215+ unsigned long src_y_dir : 1;
5216+ unsigned long dst_major_x : 1;
5217+ unsigned long src_major_x : 1;
5218+ unsigned long : 26;
5219+ } dp_cntl_t;
5220+
5221+typedef union {
5222+ unsigned long val : 32;
5223+ dp_cntl_t f;
5224+} dp_cntl_u;
5225+
5226+typedef struct _dp_cntl_dst_dir_t {
5227+ unsigned long : 15;
5228+ unsigned long dst_y_dir : 1;
5229+ unsigned long : 15;
5230+ unsigned long dst_x_dir : 1;
5231+ } dp_cntl_dst_dir_t;
5232+
5233+typedef union {
5234+ unsigned long val : 32;
5235+ dp_cntl_dst_dir_t f;
5236+} dp_cntl_dst_dir_u;
5237+
5238+typedef struct _dp_datatype_t {
5239+ unsigned long dp_dst_datatype : 4;
5240+ unsigned long : 4;
5241+ unsigned long dp_brush_datatype : 4;
5242+ unsigned long dp_src2_type : 1;
5243+ unsigned long dp_src2_datatype : 3;
5244+ unsigned long dp_src_datatype : 3;
5245+ unsigned long : 11;
5246+ unsigned long dp_byte_pix_order : 1;
5247+ unsigned long : 1;
5248+ } dp_datatype_t;
5249+
5250+typedef union {
5251+ unsigned long val : 32;
5252+ dp_datatype_t f;
5253+} dp_datatype_u;
5254+
5255+typedef struct _dp_mix_t {
5256+ unsigned long : 8;
5257+ unsigned long dp_src_source : 3;
5258+ unsigned long dp_src2_source : 3;
5259+ unsigned long : 2;
5260+ unsigned long dp_rop3 : 8;
5261+ unsigned long dp_op : 1;
5262+ unsigned long : 7;
5263+ } dp_mix_t;
5264+
5265+typedef union {
5266+ unsigned long val : 32;
5267+ dp_mix_t f;
5268+} dp_mix_u;
5269+
5270+typedef struct _dp_write_msk_t {
5271+ unsigned long dp_write_msk : 32;
5272+ } dp_write_msk_t;
5273+
5274+typedef union {
5275+ unsigned long val : 32;
5276+ dp_write_msk_t f;
5277+} dp_write_msk_u;
5278+
5279+typedef struct _clr_cmp_clr_src_t {
5280+ unsigned long clr_cmp_clr_src : 32;
5281+ } clr_cmp_clr_src_t;
5282+
5283+typedef union {
5284+ unsigned long val : 32;
5285+ clr_cmp_clr_src_t f;
5286+} clr_cmp_clr_src_u;
5287+
5288+typedef struct _clr_cmp_clr_dst_t {
5289+ unsigned long clr_cmp_clr_dst : 32;
5290+ } clr_cmp_clr_dst_t;
5291+
5292+typedef union {
5293+ unsigned long val : 32;
5294+ clr_cmp_clr_dst_t f;
5295+} clr_cmp_clr_dst_u;
5296+
5297+typedef struct _clr_cmp_cntl_t {
5298+ unsigned long clr_cmp_fcn_src : 3;
5299+ unsigned long : 5;
5300+ unsigned long clr_cmp_fcn_dst : 3;
5301+ unsigned long : 13;
5302+ unsigned long clr_cmp_src : 2;
5303+ unsigned long : 6;
5304+ } clr_cmp_cntl_t;
5305+
5306+typedef union {
5307+ unsigned long val : 32;
5308+ clr_cmp_cntl_t f;
5309+} clr_cmp_cntl_u;
5310+
5311+typedef struct _clr_cmp_msk_t {
5312+ unsigned long clr_cmp_msk : 32;
5313+ } clr_cmp_msk_t;
5314+
5315+typedef union {
5316+ unsigned long val : 32;
5317+ clr_cmp_msk_t f;
5318+} clr_cmp_msk_u;
5319+
5320+typedef struct _default_pitch_offset_t {
5321+ unsigned long default_offset : 20;
5322+ unsigned long default_pitch : 10;
5323+ unsigned long : 2;
5324+ } default_pitch_offset_t;
5325+
5326+typedef union {
5327+ unsigned long val : 32;
5328+ default_pitch_offset_t f;
5329+} default_pitch_offset_u;
5330+
5331+typedef struct _default_sc_bottom_right_t {
5332+ unsigned long default_sc_right : 14;
5333+ unsigned long : 2;
5334+ unsigned long default_sc_bottom : 14;
5335+ unsigned long : 2;
5336+ } default_sc_bottom_right_t;
5337+
5338+typedef union {
5339+ unsigned long val : 32;
5340+ default_sc_bottom_right_t f;
5341+} default_sc_bottom_right_u;
5342+
5343+typedef struct _default2_sc_bottom_right_t {
5344+ unsigned long default_sc_right : 14;
5345+ unsigned long : 2;
5346+ unsigned long default_sc_bottom : 14;
5347+ unsigned long : 2;
5348+ } default2_sc_bottom_right_t;
5349+
5350+typedef union {
5351+ unsigned long val : 32;
5352+ default2_sc_bottom_right_t f;
5353+} default2_sc_bottom_right_u;
5354+
5355+typedef struct _ref1_pitch_offset_t {
5356+ unsigned long offset : 20;
5357+ unsigned long : 2;
5358+ unsigned long pitch : 8;
5359+ unsigned long : 2;
5360+ } ref1_pitch_offset_t;
5361+
5362+typedef union {
5363+ unsigned long val : 32;
5364+ ref1_pitch_offset_t f;
5365+} ref1_pitch_offset_u;
5366+
5367+typedef struct _ref2_pitch_offset_t {
5368+ unsigned long offset : 20;
5369+ unsigned long : 2;
5370+ unsigned long pitch : 8;
5371+ unsigned long : 2;
5372+ } ref2_pitch_offset_t;
5373+
5374+typedef union {
5375+ unsigned long val : 32;
5376+ ref2_pitch_offset_t f;
5377+} ref2_pitch_offset_u;
5378+
5379+typedef struct _ref3_pitch_offset_t {
5380+ unsigned long offset : 20;
5381+ unsigned long : 2;
5382+ unsigned long pitch : 8;
5383+ unsigned long : 2;
5384+ } ref3_pitch_offset_t;
5385+
5386+typedef union {
5387+ unsigned long val : 32;
5388+ ref3_pitch_offset_t f;
5389+} ref3_pitch_offset_u;
5390+
5391+typedef struct _ref4_pitch_offset_t {
5392+ unsigned long offset : 20;
5393+ unsigned long : 2;
5394+ unsigned long pitch : 8;
5395+ unsigned long : 2;
5396+ } ref4_pitch_offset_t;
5397+
5398+typedef union {
5399+ unsigned long val : 32;
5400+ ref4_pitch_offset_t f;
5401+} ref4_pitch_offset_u;
5402+
5403+typedef struct _ref5_pitch_offset_t {
5404+ unsigned long offset : 20;
5405+ unsigned long : 2;
5406+ unsigned long pitch : 8;
5407+ unsigned long : 2;
5408+ } ref5_pitch_offset_t;
5409+
5410+typedef union {
5411+ unsigned long val : 32;
5412+ ref5_pitch_offset_t f;
5413+} ref5_pitch_offset_u;
5414+
5415+typedef struct _ref6_pitch_offset_t {
5416+ unsigned long offset : 20;
5417+ unsigned long : 2;
5418+ unsigned long pitch : 8;
5419+ unsigned long : 2;
5420+ } ref6_pitch_offset_t;
5421+
5422+typedef union {
5423+ unsigned long val : 32;
5424+ ref6_pitch_offset_t f;
5425+} ref6_pitch_offset_u;
5426+
5427+typedef struct _dp_gui_master_cntl_t {
5428+ unsigned long gmc_src_pitch_offset_cntl : 1;
5429+ unsigned long gmc_dst_pitch_offset_cntl : 1;
5430+ unsigned long gmc_src_clipping : 1;
5431+ unsigned long gmc_dst_clipping : 1;
5432+ unsigned long gmc_brush_datatype : 4;
5433+ unsigned long gmc_dst_datatype : 4;
5434+ unsigned long gmc_src_datatype : 3;
5435+ unsigned long gmc_byte_pix_order : 1;
5436+ unsigned long gmc_default_sel : 1;
5437+ unsigned long gmc_rop3 : 8;
5438+ unsigned long gmc_dp_src_source : 3;
5439+ unsigned long gmc_clr_cmp_fcn_dis : 1;
5440+ unsigned long : 1;
5441+ unsigned long gmc_wr_msk_dis : 1;
5442+ unsigned long gmc_dp_op : 1;
5443+ } dp_gui_master_cntl_t;
5444+
5445+typedef union {
5446+ unsigned long val : 32;
5447+ dp_gui_master_cntl_t f;
5448+} dp_gui_master_cntl_u;
5449+
5450+typedef struct _sc_top_left_t {
5451+ unsigned long sc_left : 14;
5452+ unsigned long : 2;
5453+ unsigned long sc_top : 14;
5454+ unsigned long : 2;
5455+ } sc_top_left_t;
5456+
5457+typedef union {
5458+ unsigned long val : 32;
5459+ sc_top_left_t f;
5460+} sc_top_left_u;
5461+
5462+typedef struct _sc_bottom_right_t {
5463+ unsigned long sc_right : 14;
5464+ unsigned long : 2;
5465+ unsigned long sc_bottom : 14;
5466+ unsigned long : 2;
5467+ } sc_bottom_right_t;
5468+
5469+typedef union {
5470+ unsigned long val : 32;
5471+ sc_bottom_right_t f;
5472+} sc_bottom_right_u;
5473+
5474+typedef struct _src_sc_top_left_t {
5475+ unsigned short sc_left;
5476+ unsigned short sc_top;
5477+} src_sc_top_left_t;
5478+
5479+typedef union {
5480+ unsigned long val : 32;
5481+ src_sc_top_left_t f;
5482+} src_sc_top_left_u;
5483+
5484+typedef struct _src_sc_bottom_right_t {
5485+ unsigned long sc_right : 14;
5486+ unsigned long : 2;
5487+ unsigned long sc_bottom : 14;
5488+ unsigned long : 2;
5489+ } src_sc_bottom_right_t;
5490+
5491+typedef union {
5492+ unsigned long val : 32;
5493+ src_sc_bottom_right_t f;
5494+} src_sc_bottom_right_u;
5495+
5496+typedef struct _global_alpha_t {
5497+ unsigned long alpha_r : 8;
5498+ unsigned long alpha_g : 8;
5499+ unsigned long alpha_b : 8;
5500+ unsigned long alpha_a : 8;
5501+} global_alpha_t;
5502+
5503+typedef union {
5504+ unsigned long val : 32;
5505+ global_alpha_t f;
5506+} global_alpha_u;
5507+
5508+typedef struct _filter_coef_t {
5509+ unsigned long c_4 : 4;
5510+ unsigned long c_3 : 4;
5511+ unsigned long c_2 : 4;
5512+ unsigned long c_1 : 4;
5513+ unsigned long c1 : 4;
5514+ unsigned long c2 : 4;
5515+ unsigned long c3 : 4;
5516+ unsigned long c4 : 4;
5517+} filter_coef_t;
5518+
5519+typedef union {
5520+ unsigned long val : 32;
5521+ filter_coef_t f;
5522+} filter_coef_u;
5523+
5524+typedef struct _mvc_cntl_start_t {
5525+ unsigned long mc_cntl_src_1_index : 4;
5526+ unsigned long mc_cntl_dst_offset : 20;
5527+ unsigned long mc_dst_pitch_mul : 2;
5528+ unsigned long mc_cntl_src_2_index : 3;
5529+ unsigned long mc_cntl_width_height_sel : 3;
5530+} mvc_cntl_start_t;
5531+
5532+typedef union {
5533+ unsigned long val : 32;
5534+ mvc_cntl_start_t f;
5535+} mvc_cntl_start_u;
5536+
5537+typedef struct _e2_arithmetic_cntl_t {
5538+ unsigned long opcode : 5;
5539+ unsigned long shiftright : 4;
5540+ unsigned long clamp : 1;
5541+ unsigned long rounding : 2;
5542+ unsigned long filter_n : 3;
5543+ unsigned long : 1;
5544+ unsigned long srcblend_inv : 1;
5545+ unsigned long srcblend : 4;
5546+ unsigned long : 3;
5547+ unsigned long dstblend_inv : 1;
5548+ unsigned long dstblend : 4;
5549+ unsigned long dst_signed : 1;
5550+ unsigned long autoinc : 1;
5551+ unsigned long : 1;
5552+} e2_arithmetic_cntl_t;
5553+
5554+typedef union {
5555+ unsigned long val : 32;
5556+ e2_arithmetic_cntl_t f;
5557+} e2_arithmetic_cntl_u;
5558+
5559+typedef struct _debug0_t {
5560+ unsigned long debug0_r : 8;
5561+ unsigned long : 8;
5562+ unsigned long debug0_rw : 8;
5563+ unsigned long : 8;
5564+} debug0_t;
5565+
5566+typedef union {
5567+ unsigned long val : 32;
5568+ debug0_t f;
5569+} debug0_u;
5570+
5571+typedef struct _debug1_t {
5572+ unsigned long debug1_r : 8;
5573+ unsigned long : 8;
5574+ unsigned long debug1_rw : 8;
5575+ unsigned long : 8;
5576+} debug1_t;
5577+
5578+typedef union {
5579+ unsigned long val : 32;
5580+ debug1_t f;
5581+} debug1_u;
5582+
5583+typedef struct _debug2_t {
5584+ unsigned long debug2_r : 8;
5585+ unsigned long : 8;
5586+ unsigned long debug2_rw : 8;
5587+ unsigned long : 8;
5588+} debug2_t;
5589+
5590+typedef union {
5591+ unsigned long val : 32;
5592+ debug2_t f;
5593+} debug2_u;
5594+
5595+typedef struct _debug3_t {
5596+ unsigned long : 32;
5597+} debug3_t;
5598+
5599+typedef union {
5600+ unsigned long val : 32;
5601+ debug3_t f;
5602+} debug3_u;
5603+
5604+typedef struct _debug4_t {
5605+ unsigned long : 32;
5606+} debug4_t;
5607+
5608+typedef union {
5609+ unsigned long val : 32;
5610+ debug4_t f;
5611+} debug4_u;
5612+
5613+typedef struct _debug5_t {
5614+ unsigned long : 32;
5615+} debug5_t;
5616+
5617+typedef union {
5618+ unsigned long val : 32;
5619+ debug5_t f;
5620+} debug5_u;
5621+
5622+typedef struct _debug6_t {
5623+ unsigned long : 32;
5624+} debug6_t;
5625+
5626+typedef union {
5627+ unsigned long val : 32;
5628+ debug6_t f;
5629+} debug6_u;
5630+
5631+typedef struct _debug7_t {
5632+ unsigned long : 32;
5633+} debug7_t;
5634+
5635+typedef union {
5636+ unsigned long val : 32;
5637+ debug7_t f;
5638+} debug7_u;
5639+
5640+typedef struct _debug8_t {
5641+ unsigned long : 32;
5642+} debug8_t;
5643+
5644+typedef union {
5645+ unsigned long val : 32;
5646+ debug8_t f;
5647+} debug8_u;
5648+
5649+typedef struct _debug9_t {
5650+ unsigned long : 32;
5651+} debug9_t;
5652+
5653+typedef union {
5654+ unsigned long val : 32;
5655+ debug9_t f;
5656+} debug9_u;
5657+
5658+typedef struct _debug10_t {
5659+ unsigned long : 32;
5660+ } debug10_t;
5661+
5662+typedef union {
5663+ unsigned long val : 32;
5664+ debug10_t f;
5665+} debug10_u;
5666+
5667+typedef struct _debug11_t {
5668+ unsigned long : 32;
5669+ } debug11_t;
5670+
5671+typedef union {
5672+ unsigned long val : 32;
5673+ debug11_t f;
5674+} debug11_u;
5675+
5676+typedef struct _debug12_t {
5677+ unsigned long : 32;
5678+ } debug12_t;
5679+
5680+typedef union {
5681+ unsigned long val : 32;
5682+ debug12_t f;
5683+} debug12_u;
5684+
5685+typedef struct _debug13_t {
5686+ unsigned long : 32;
5687+ } debug13_t;
5688+
5689+typedef union {
5690+ unsigned long val : 32;
5691+ debug13_t f;
5692+} debug13_u;
5693+
5694+typedef struct _debug14_t {
5695+ unsigned long : 32;
5696+ } debug14_t;
5697+
5698+typedef union {
5699+ unsigned long val : 32;
5700+ debug14_t f;
5701+} debug14_u;
5702+
5703+typedef struct _debug15_t {
5704+ unsigned long : 32;
5705+ } debug15_t;
5706+
5707+typedef union {
5708+ unsigned long val : 32;
5709+ debug15_t f;
5710+} debug15_u;
5711+
5712+typedef struct _eng_cntl_t {
5713+ unsigned long erc_reg_rd_ws : 1;
5714+ unsigned long erc_reg_wr_ws : 1;
5715+ unsigned long erc_idle_reg_wr : 1;
5716+ unsigned long dis_engine_triggers : 1;
5717+ unsigned long dis_rop_src_uses_dst_w_h : 1;
5718+ unsigned long dis_src_uses_dst_dirmaj : 1;
5719+ unsigned long : 6;
5720+ unsigned long force_3dclk_when_2dclk : 1;
5721+ unsigned long : 19;
5722+ } eng_cntl_t;
5723+
5724+typedef union {
5725+ unsigned long val : 32;
5726+ eng_cntl_t f;
5727+} eng_cntl_u;
5728+
5729+typedef struct _eng_perf_cnt_t {
5730+ unsigned long perf_cnt : 20;
5731+ unsigned long perf_sel : 4;
5732+ unsigned long perf_en : 1;
5733+ unsigned long : 3;
5734+ unsigned long perf_clr : 1;
5735+ unsigned long : 3;
5736+ } eng_perf_cnt_t;
5737+
5738+typedef union {
5739+ unsigned long val : 32;
5740+ eng_perf_cnt_t f;
5741+} eng_perf_cnt_u;
5742+
5743+typedef struct _idct_runs_t {
5744+ unsigned long idct_runs_3 : 8;
5745+ unsigned long idct_runs_2 : 8;
5746+ unsigned long idct_runs_1 : 8;
5747+ unsigned long idct_runs_0 : 8;
5748+ } idct_runs_t;
5749+
5750+typedef union {
5751+ unsigned long val : 32;
5752+ idct_runs_t f;
5753+} idct_runs_u;
5754+
5755+typedef struct _idct_levels_t {
5756+ unsigned long idct_level_hi : 16;
5757+ unsigned long idct_level_lo : 16;
5758+ } idct_levels_t;
5759+
5760+typedef union {
5761+ unsigned long val : 32;
5762+ idct_levels_t f;
5763+} idct_levels_u;
5764+
5765+typedef struct _idct_control_t {
5766+ unsigned long idct_ctl_luma_rd_format : 2;
5767+ unsigned long idct_ctl_chroma_rd_format : 2;
5768+ unsigned long idct_ctl_scan_pattern : 1;
5769+ unsigned long idct_ctl_intra : 1;
5770+ unsigned long idct_ctl_flush : 1;
5771+ unsigned long idct_ctl_passthru : 1;
5772+ unsigned long idct_ctl_sw_reset : 1;
5773+ unsigned long idct_ctl_constreq : 1;
5774+ unsigned long idct_ctl_scramble : 1;
5775+ unsigned long idct_ctl_alt_scan : 1;
5776+ unsigned long : 20;
5777+ } idct_control_t;
5778+
5779+typedef union {
5780+ unsigned long val : 32;
5781+ idct_control_t f;
5782+} idct_control_u;
5783+
5784+typedef struct _idct_auth_control_t {
5785+ unsigned long control_bits : 32;
5786+ } idct_auth_control_t;
5787+
5788+typedef union {
5789+ unsigned long val : 32;
5790+ idct_auth_control_t f;
5791+} idct_auth_control_u;
5792+
5793+typedef struct _idct_auth_t {
5794+ unsigned long auth : 32;
5795+ } idct_auth_t;
5796+
5797+typedef union {
5798+ unsigned long val : 32;
5799+ idct_auth_t f;
5800+} idct_auth_u;
5801+
5802+typedef struct _mem_cntl_t {
5803+ unsigned long : 1;
5804+ unsigned long en_mem_ch1 : 1;
5805+ unsigned long en_mem_ch2 : 1;
5806+ unsigned long int_mem_mapping : 1;
5807+ unsigned long : 28;
5808+ } mem_cntl_t;
5809+
5810+typedef union {
5811+ unsigned long val : 32;
5812+ mem_cntl_t f;
5813+} mem_cntl_u;
5814+
5815+typedef struct _mem_arb_t {
5816+ unsigned long disp_time_slot : 4;
5817+ unsigned long disp_timer : 4;
5818+ unsigned long arb_option : 1;
5819+ unsigned long : 23;
5820+ } mem_arb_t;
5821+
5822+typedef union {
5823+ unsigned long val : 32;
5824+ mem_arb_t f;
5825+} mem_arb_u;
5826+
5827+typedef struct _mc_fb_location_t {
5828+ unsigned long mc_fb_start : 16;
5829+ unsigned long mc_fb_top : 16;
5830+ } mc_fb_location_t;
5831+
5832+typedef union {
5833+ unsigned long val : 32;
5834+ mc_fb_location_t f;
5835+} mc_fb_location_u;
5836+
5837+typedef struct _mem_ext_cntl_t {
5838+ unsigned long mem_ext_enable : 1;
5839+ unsigned long mem_ap_enable : 1;
5840+ unsigned long mem_addr_mapping : 2;
5841+ unsigned long mem_wdoe_cntl : 2;
5842+ unsigned long mem_wdoe_extend : 1;
5843+ unsigned long : 1;
5844+ unsigned long mem_page_timer : 8;
5845+ unsigned long mem_dynamic_cke : 1;
5846+ unsigned long mem_sdram_tri_en : 1;
5847+ unsigned long mem_self_refresh_en : 1;
5848+ unsigned long mem_power_down : 1;
5849+ unsigned long mem_hw_power_down_en : 1;
5850+ unsigned long mem_power_down_stat : 1;
5851+ unsigned long : 3;
5852+ unsigned long mem_pd_mck : 1;
5853+ unsigned long mem_pd_ma : 1;
5854+ unsigned long mem_pd_mdq : 1;
5855+ unsigned long mem_tristate_mck : 1;
5856+ unsigned long mem_tristate_ma : 1;
5857+ unsigned long mem_tristate_mcke : 1;
5858+ unsigned long mem_invert_mck : 1;
5859+ } mem_ext_cntl_t;
5860+
5861+typedef union {
5862+ unsigned long val : 32;
5863+ mem_ext_cntl_t f;
5864+} mem_ext_cntl_u;
5865+
5866+typedef struct _mc_ext_mem_location_t {
5867+ unsigned long mc_ext_mem_start : 16;
5868+ unsigned long mc_ext_mem_top : 16;
5869+ } mc_ext_mem_location_t;
5870+
5871+typedef union {
5872+ unsigned long val : 32;
5873+ mc_ext_mem_location_t f;
5874+} mc_ext_mem_location_u;
5875+
5876+typedef struct _mem_ext_timing_cntl_t {
5877+ unsigned long mem_trp : 2;
5878+ unsigned long mem_trcd : 2;
5879+ unsigned long mem_tras : 3;
5880+ unsigned long : 1;
5881+ unsigned long mem_trrd : 2;
5882+ unsigned long mem_tr2w : 2;
5883+ unsigned long mem_twr : 2;
5884+ unsigned long : 4;
5885+ unsigned long mem_twr_mode : 1;
5886+ unsigned long : 1;
5887+ unsigned long mem_refresh_dis : 1;
5888+ unsigned long : 3;
5889+ unsigned long mem_refresh_rate : 8;
5890+ } mem_ext_timing_cntl_t;
5891+
5892+typedef union {
5893+ unsigned long val : 32;
5894+ mem_ext_timing_cntl_t f;
5895+} mem_ext_timing_cntl_u;
5896+
5897+typedef struct _mem_sdram_mode_reg_t {
5898+ unsigned long mem_mode_reg : 14;
5899+ unsigned long : 2;
5900+ unsigned long mem_read_latency : 2;
5901+ unsigned long mem_schmen_latency : 2;
5902+ unsigned long mem_cas_latency : 2;
5903+ unsigned long mem_schmen_extend : 1;
5904+ unsigned long : 8;
5905+ unsigned long mem_sdram_reset : 1;
5906+ } mem_sdram_mode_reg_t;
5907+
5908+typedef union {
5909+ unsigned long val : 32;
5910+ mem_sdram_mode_reg_t f;
5911+} mem_sdram_mode_reg_u;
5912+
5913+typedef struct _mem_io_cntl_t {
5914+ unsigned long mem_sn_mck : 4;
5915+ unsigned long mem_sn_ma : 4;
5916+ unsigned long mem_sn_mdq : 4;
5917+ unsigned long mem_srn_mck : 1;
5918+ unsigned long mem_srn_ma : 1;
5919+ unsigned long mem_srn_mdq : 1;
5920+ unsigned long : 1;
5921+ unsigned long mem_sp_mck : 4;
5922+ unsigned long mem_sp_ma : 4;
5923+ unsigned long mem_sp_mdq : 4;
5924+ unsigned long mem_srp_mck : 1;
5925+ unsigned long mem_srp_ma : 1;
5926+ unsigned long mem_srp_mdq : 1;
5927+ unsigned long : 1;
5928+ } mem_io_cntl_t;
5929+
5930+typedef union {
5931+ unsigned long val : 32;
5932+ mem_io_cntl_t f;
5933+} mem_io_cntl_u;
5934+
5935+typedef struct _mc_debug_t {
5936+ unsigned long mc_debug : 32;
5937+ } mc_debug_t;
5938+
5939+typedef union {
5940+ unsigned long val : 32;
5941+ mc_debug_t f;
5942+} mc_debug_u;
5943+
5944+typedef struct _mc_bist_ctrl_t {
5945+ unsigned long mc_bist_ctrl : 32;
5946+ } mc_bist_ctrl_t;
5947+
5948+typedef union {
5949+ unsigned long val : 32;
5950+ mc_bist_ctrl_t f;
5951+} mc_bist_ctrl_u;
5952+
5953+typedef struct _mc_bist_collar_read_t {
5954+ unsigned long mc_bist_collar_read : 32;
5955+ } mc_bist_collar_read_t;
5956+
5957+typedef union {
5958+ unsigned long val : 32;
5959+ mc_bist_collar_read_t f;
5960+} mc_bist_collar_read_u;
5961+
5962+typedef struct _tc_mismatch_t {
5963+ unsigned long tc_mismatch : 24;
5964+ unsigned long : 8;
5965+ } tc_mismatch_t;
5966+
5967+typedef union {
5968+ unsigned long val : 32;
5969+ tc_mismatch_t f;
5970+} tc_mismatch_u;
5971+
5972+typedef struct _mc_perf_mon_cntl_t {
5973+ unsigned long clr_perf : 1;
5974+ unsigned long en_perf : 1;
5975+ unsigned long : 2;
5976+ unsigned long perf_op_a : 2;
5977+ unsigned long perf_op_b : 2;
5978+ unsigned long : 8;
5979+ unsigned long monitor_period : 8;
5980+ unsigned long perf_count_a_overflow : 1;
5981+ unsigned long perf_count_b_overflow : 1;
5982+ unsigned long : 6;
5983+ } mc_perf_mon_cntl_t;
5984+
5985+typedef union {
5986+ unsigned long val : 32;
5987+ mc_perf_mon_cntl_t f;
5988+} mc_perf_mon_cntl_u;
5989+
5990+typedef struct _mc_perf_counters_t {
5991+ unsigned long mc_perf_counter_a : 16;
5992+ unsigned long mc_perf_counter_b : 16;
5993+ } mc_perf_counters_t;
5994+
5995+typedef union {
5996+ unsigned long val : 32;
5997+ mc_perf_counters_t f;
5998+} mc_perf_counters_u;
5999+
6000+typedef struct _wait_until_t {
6001+ unsigned long wait_crtc_pflip : 1;
6002+ unsigned long wait_re_crtc_vline : 1;
6003+ unsigned long wait_fe_crtc_vline : 1;
6004+ unsigned long wait_crtc_vline : 1;
6005+ unsigned long wait_dma_viph0_idle : 1;
6006+ unsigned long wait_dma_viph1_idle : 1;
6007+ unsigned long wait_dma_viph2_idle : 1;
6008+ unsigned long wait_dma_viph3_idle : 1;
6009+ unsigned long wait_dma_vid_idle : 1;
6010+ unsigned long wait_dma_gui_idle : 1;
6011+ unsigned long wait_cmdfifo : 1;
6012+ unsigned long wait_ov0_flip : 1;
6013+ unsigned long wait_ov0_slicedone : 1;
6014+ unsigned long : 1;
6015+ unsigned long wait_2d_idle : 1;
6016+ unsigned long wait_3d_idle : 1;
6017+ unsigned long wait_2d_idleclean : 1;
6018+ unsigned long wait_3d_idleclean : 1;
6019+ unsigned long wait_host_idleclean : 1;
6020+ unsigned long wait_extern_sig : 1;
6021+ unsigned long cmdfifo_entries : 7;
6022+ unsigned long : 3;
6023+ unsigned long wait_both_crtc_pflip : 1;
6024+ unsigned long eng_display_select : 1;
6025+ } wait_until_t;
6026+
6027+typedef union {
6028+ unsigned long val : 32;
6029+ wait_until_t f;
6030+} wait_until_u;
6031+
6032+typedef struct _isync_cntl_t {
6033+ unsigned long isync_any2d_idle3d : 1;
6034+ unsigned long isync_any3d_idle2d : 1;
6035+ unsigned long isync_trig2d_idle3d : 1;
6036+ unsigned long isync_trig3d_idle2d : 1;
6037+ unsigned long isync_wait_idlegui : 1;
6038+ unsigned long isync_cpscratch_idlegui : 1;
6039+ unsigned long : 26;
6040+ } isync_cntl_t;
6041+
6042+typedef union {
6043+ unsigned long val : 32;
6044+ isync_cntl_t f;
6045+} isync_cntl_u;
6046+
6047+typedef struct _rbbm_guicntl_t {
6048+ unsigned long host_data_swap : 2;
6049+ unsigned long : 30;
6050+ } rbbm_guicntl_t;
6051+
6052+typedef union {
6053+ unsigned long val : 32;
6054+ rbbm_guicntl_t f;
6055+} rbbm_guicntl_u;
6056+
6057+typedef struct _rbbm_status_t {
6058+ unsigned long cmdfifo_avail : 7;
6059+ unsigned long : 1;
6060+ unsigned long hirq_on_rbb : 1;
6061+ unsigned long cprq_on_rbb : 1;
6062+ unsigned long cfrq_on_rbb : 1;
6063+ unsigned long hirq_in_rtbuf : 1;
6064+ unsigned long cprq_in_rtbuf : 1;
6065+ unsigned long cfrq_in_rtbuf : 1;
6066+ unsigned long cf_pipe_busy : 1;
6067+ unsigned long eng_ev_busy : 1;
6068+ unsigned long cp_cmdstrm_busy : 1;
6069+ unsigned long e2_busy : 1;
6070+ unsigned long rb2d_busy : 1;
6071+ unsigned long rb3d_busy : 1;
6072+ unsigned long se_busy : 1;
6073+ unsigned long re_busy : 1;
6074+ unsigned long tam_busy : 1;
6075+ unsigned long tdm_busy : 1;
6076+ unsigned long pb_busy : 1;
6077+ unsigned long : 6;
6078+ unsigned long gui_active : 1;
6079+ } rbbm_status_t;
6080+
6081+typedef union {
6082+ unsigned long val : 32;
6083+ rbbm_status_t f;
6084+} rbbm_status_u;
6085+
6086+typedef struct _rbbm_cntl_t {
6087+ unsigned long rb_settle : 4;
6088+ unsigned long abortclks_hi : 3;
6089+ unsigned long : 1;
6090+ unsigned long abortclks_cp : 3;
6091+ unsigned long : 1;
6092+ unsigned long abortclks_cfifo : 3;
6093+ unsigned long : 2;
6094+ unsigned long cpq_data_swap : 1;
6095+ unsigned long : 3;
6096+ unsigned long no_abort_idct : 1;
6097+ unsigned long no_abort_bios : 1;
6098+ unsigned long no_abort_fb : 1;
6099+ unsigned long no_abort_cp : 1;
6100+ unsigned long no_abort_hi : 1;
6101+ unsigned long no_abort_hdp : 1;
6102+ unsigned long no_abort_mc : 1;
6103+ unsigned long no_abort_aic : 1;
6104+ unsigned long no_abort_vip : 1;
6105+ unsigned long no_abort_disp : 1;
6106+ unsigned long no_abort_cg : 1;
6107+ } rbbm_cntl_t;
6108+
6109+typedef union {
6110+ unsigned long val : 32;
6111+ rbbm_cntl_t f;
6112+} rbbm_cntl_u;
6113+
6114+typedef struct _rbbm_soft_reset_t {
6115+ unsigned long soft_reset_cp : 1;
6116+ unsigned long soft_reset_hi : 1;
6117+ unsigned long reserved3 : 3;
6118+ unsigned long soft_reset_e2 : 1;
6119+ unsigned long reserved2 : 2;
6120+ unsigned long soft_reset_mc : 1;
6121+ unsigned long reserved1 : 2;
6122+ unsigned long soft_reset_disp : 1;
6123+ unsigned long soft_reset_cg : 1;
6124+ unsigned long : 19;
6125+ } rbbm_soft_reset_t;
6126+
6127+typedef union {
6128+ unsigned long val : 32;
6129+ rbbm_soft_reset_t f;
6130+} rbbm_soft_reset_u;
6131+
6132+typedef struct _nqwait_until_t {
6133+ unsigned long wait_gui_idle : 1;
6134+ unsigned long : 31;
6135+ } nqwait_until_t;
6136+
6137+typedef union {
6138+ unsigned long val : 32;
6139+ nqwait_until_t f;
6140+} nqwait_until_u;
6141+
6142+typedef struct _rbbm_debug_t {
6143+ unsigned long rbbm_debug : 32;
6144+ } rbbm_debug_t;
6145+
6146+typedef union {
6147+ unsigned long val : 32;
6148+ rbbm_debug_t f;
6149+} rbbm_debug_u;
6150+
6151+typedef struct _rbbm_cmdfifo_addr_t {
6152+ unsigned long cmdfifo_addr : 6;
6153+ unsigned long : 26;
6154+ } rbbm_cmdfifo_addr_t;
6155+
6156+typedef union {
6157+ unsigned long val : 32;
6158+ rbbm_cmdfifo_addr_t f;
6159+} rbbm_cmdfifo_addr_u;
6160+
6161+typedef struct _rbbm_cmdfifo_datal_t {
6162+ unsigned long cmdfifo_datal : 32;
6163+ } rbbm_cmdfifo_datal_t;
6164+
6165+typedef union {
6166+ unsigned long val : 32;
6167+ rbbm_cmdfifo_datal_t f;
6168+} rbbm_cmdfifo_datal_u;
6169+
6170+typedef struct _rbbm_cmdfifo_datah_t {
6171+ unsigned long cmdfifo_datah : 12;
6172+ unsigned long : 20;
6173+ } rbbm_cmdfifo_datah_t;
6174+
6175+typedef union {
6176+ unsigned long val : 32;
6177+ rbbm_cmdfifo_datah_t f;
6178+} rbbm_cmdfifo_datah_u;
6179+
6180+typedef struct _rbbm_cmdfifo_stat_t {
6181+ unsigned long cmdfifo_rptr : 6;
6182+ unsigned long : 2;
6183+ unsigned long cmdfifo_wptr : 6;
6184+ unsigned long : 18;
6185+ } rbbm_cmdfifo_stat_t;
6186+
6187+typedef union {
6188+ unsigned long val : 32;
6189+ rbbm_cmdfifo_stat_t f;
6190+} rbbm_cmdfifo_stat_u;
6191+
6192+typedef struct _clk_pin_cntl_t {
6193+ unsigned long osc_en : 1;
6194+ unsigned long osc_gain : 5;
6195+ unsigned long dont_use_xtalin : 1;
6196+ unsigned long xtalin_pm_en : 1;
6197+ unsigned long xtalin_dbl_en : 1;
6198+ unsigned long : 7;
6199+ unsigned long cg_debug : 16;
6200+ } clk_pin_cntl_t;
6201+
6202+typedef union {
6203+ unsigned long val : 32;
6204+ clk_pin_cntl_t f;
6205+} clk_pin_cntl_u;
6206+
6207+typedef struct _pll_ref_fb_div_t {
6208+ unsigned long pll_ref_div : 4;
6209+ unsigned long : 4;
6210+ unsigned long pll_fb_div_int : 6;
6211+ unsigned long : 2;
6212+ unsigned long pll_fb_div_frac : 3;
6213+ unsigned long : 1;
6214+ unsigned long pll_reset_time : 4;
6215+ unsigned long pll_lock_time : 8;
6216+ } pll_ref_fb_div_t;
6217+
6218+typedef union {
6219+ unsigned long val : 32;
6220+ pll_ref_fb_div_t f;
6221+} pll_ref_fb_div_u;
6222+
6223+typedef struct _pll_cntl_t {
6224+ unsigned long pll_pwdn : 1;
6225+ unsigned long pll_reset : 1;
6226+ unsigned long pll_pm_en : 1;
6227+ unsigned long pll_mode : 1;
6228+ unsigned long pll_refclk_sel : 1;
6229+ unsigned long pll_fbclk_sel : 1;
6230+ unsigned long pll_tcpoff : 1;
6231+ unsigned long pll_pcp : 3;
6232+ unsigned long pll_pvg : 3;
6233+ unsigned long pll_vcofr : 1;
6234+ unsigned long pll_ioffset : 2;
6235+ unsigned long pll_pecc_mode : 2;
6236+ unsigned long pll_pecc_scon : 2;
6237+ unsigned long pll_dactal : 4;
6238+ unsigned long pll_cp_clip : 2;
6239+ unsigned long pll_conf : 3;
6240+ unsigned long pll_mbctrl : 2;
6241+ unsigned long pll_ring_off : 1;
6242+ } pll_cntl_t;
6243+
6244+typedef union {
6245+ unsigned long val : 32;
6246+ pll_cntl_t f;
6247+} pll_cntl_u;
6248+
6249+typedef struct _sclk_cntl_t {
6250+ unsigned long sclk_src_sel : 2;
6251+ unsigned long : 2;
6252+ unsigned long sclk_post_div_fast : 4;
6253+ unsigned long sclk_clkon_hys : 3;
6254+ unsigned long sclk_post_div_slow : 4;
6255+ unsigned long disp_cg_ok2switch_en : 1;
6256+ unsigned long sclk_force_reg : 1;
6257+ unsigned long sclk_force_disp : 1;
6258+ unsigned long sclk_force_mc : 1;
6259+ unsigned long sclk_force_extmc : 1;
6260+ unsigned long sclk_force_cp : 1;
6261+ unsigned long sclk_force_e2 : 1;
6262+ unsigned long sclk_force_e3 : 1;
6263+ unsigned long sclk_force_idct : 1;
6264+ unsigned long sclk_force_bist : 1;
6265+ unsigned long busy_extend_cp : 1;
6266+ unsigned long busy_extend_e2 : 1;
6267+ unsigned long busy_extend_e3 : 1;
6268+ unsigned long busy_extend_idct : 1;
6269+ unsigned long : 3;
6270+ } sclk_cntl_t;
6271+
6272+typedef union {
6273+ unsigned long val : 32;
6274+ sclk_cntl_t f;
6275+} sclk_cntl_u;
6276+
6277+typedef struct _pclk_cntl_t {
6278+ unsigned long pclk_src_sel : 2;
6279+ unsigned long : 2;
6280+ unsigned long pclk_post_div : 4;
6281+ unsigned long : 8;
6282+ unsigned long pclk_force_disp : 1;
6283+ unsigned long : 15;
6284+ } pclk_cntl_t;
6285+
6286+typedef union {
6287+ unsigned long val : 32;
6288+ pclk_cntl_t f;
6289+} pclk_cntl_u;
6290+
6291+typedef struct _clk_test_cntl_t {
6292+ unsigned long testclk_sel : 4;
6293+ unsigned long : 3;
6294+ unsigned long start_check_freq : 1;
6295+ unsigned long tstcount_rst : 1;
6296+ unsigned long : 15;
6297+ unsigned long test_count : 8;
6298+ } clk_test_cntl_t;
6299+
6300+typedef union {
6301+ unsigned long val : 32;
6302+ clk_test_cntl_t f;
6303+} clk_test_cntl_u;
6304+
6305+typedef struct _pwrmgt_cntl_t {
6306+ unsigned long pwm_enable : 1;
6307+ unsigned long : 1;
6308+ unsigned long pwm_mode_req : 2;
6309+ unsigned long pwm_wakeup_cond : 2;
6310+ unsigned long pwm_fast_noml_hw_en : 1;
6311+ unsigned long pwm_noml_fast_hw_en : 1;
6312+ unsigned long pwm_fast_noml_cond : 4;
6313+ unsigned long pwm_noml_fast_cond : 4;
6314+ unsigned long pwm_idle_timer : 8;
6315+ unsigned long pwm_busy_timer : 8;
6316+ } pwrmgt_cntl_t;
6317+
6318+typedef union {
6319+ unsigned long val : 32;
6320+ pwrmgt_cntl_t f;
6321+} pwrmgt_cntl_u;
6322+
6323+typedef struct _pwrmgt_status_t {
6324+ unsigned long pwm_mode : 2;
6325+ unsigned long : 30;
6326+ } pwrmgt_status_t;
6327+
6328+typedef union {
6329+ unsigned long val : 32;
6330+ pwrmgt_status_t f;
6331+} pwrmgt_status_u;
6332+
6333+
6334+#endif //_W100_REGS_H_
6335
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb
deleted file mode 100644
index cdfa305d50..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb
+++ /dev/null
@@ -1,64 +0,0 @@
1DESCRIPTION = "X server for glamo chip in GTA02"
2SECTION = "x11/base"
3LICENSE = "MIT"
4DEPENDS = "compositeproto damageproto fixesproto recordproto resourceproto \
5 scrnsaverproto xineramaproto videoproto xextproto xproto \
6 libxau libxext libxdmcp libxfont libxrandr tslib virtual/libx11 \
7 xtrans libxkbfile libxcalibrate"
8DEPENDS += "libxkbfile libxcalibrate"
9RDEPENDS_${PN} = "xserver-kdrive"
10PROVIDES = "virtual/xserver"
11PE = "1"
12PR = "r8"
13PV = "1.3.0.0+git${SRCREV}"
14
15SRC_URI = "git://git.openmoko.org/git/xglamo.git;protocol=git \
16 file://kmode.patch;patch=1 \
17 file://disable-apm.patch;patch=1 \
18 file://no-serial-probing.patch;patch=1 \
19 file://fbdev-not-fix.patch;patch=1 \
20 file://optional-xkb.patch;patch=1 \
21 file://enable-tslib.patch;patch=1 \
22 file://kmode-palm.patch;patch=1 \
23 file://enable-epson.patch;patch=1 \
24 file://enable-builtin-fonts.patch;patch=1 \
25 file://kdrive-evdev.patch;patch=1 \
26 file://kdrive-use-evdev.patch;patch=1 \
27 file://disable-xf86-dga-xorgcfg.patch;patch=1 \
28 file://fix_default_mode.patch;patch=1 \
29 file://enable-xcalibrate.patch;patch=1 \
30 file://hide-cursor-and-ppm-root.patch;patch=1 \
31 file://xcalibrate_coords.patch;patch=1 \
32 file://w100.patch;patch=1 \
33 file://w100-autofoo.patch;patch=1 \
34 file://w100-fix-offscreen-bmp.patch;patch=1 \
35 file://kdrive-1.3-18bpp.patch;patch=1 \
36 file://gumstix-kmode.patch;patch=1 \
37 file://fix-picturestr-include-order.patch;patch=1 \
38"
39
40FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-glamo:${FILE_DIRNAME}/xserver-kdrive-1.3.0.0:${FILE_DIRNAME}/xserver-kdrive:${FILE_DIRNAME}/files"
41
42S = "${WORKDIR}/git"
43
44inherit autotools pkgconfig
45
46EXTRA_OECONF = "--enable-composite --enable-kdrive \
47 --disable-dga --disable-dri --disable-xinerama \
48 --disable-xf86misc --disable-xf86vidmode \
49 --disable-xorg --disable-xorgcfg \
50 --disable-xkb --disable-xnest --disable-xvfb \
51 --disable-xevie --disable-xprint --disable-xtrap \
52 --disable-dmx \
53 --with-default-font-path=built-ins \
54 --enable-tslib --enable-xcalibrate \
55 ac_cv_file__usr_share_sgml_X11_defs_ent=no"
56
57do_configure_prepend() {
58 sed -i -e 's/tslib-0.0/tslib-1.0/' ${S}/configure.ac
59}
60
61FILES_${PN} = "${bindir}/Xglamo"
62FILES_${PN}-dbg = "${bindir}/.debug/Xglamo"
63
64ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch
deleted file mode 100644
index ee8c1ed680..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1---
2 hw/kdrive/linux/tslib.c | 5 +----
3 1 file changed, 1 insertion(+), 4 deletions(-)
4
5Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c
6===================================================================
7--- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-05-17 10:28:12.000000000 +0100
8+++ xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 2007-05-17 10:28:42.000000000 +0100
9@@ -111,10 +111,7 @@ TsRead (int fd, void *closure)
10 event.pressure);
11 discard = 0;
12 if (event.pressure) {
13- if (event.pressure > pi->dixdev->absolute->button_threshold)
14- flags = KD_BUTTON_8;
15- else
16- flags = KD_BUTTON_1;
17+ flags = KD_BUTTON_1;
18
19 /*
20 * Here we test for the touch screen driver actually being on the
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch
deleted file mode 100644
index c5997c2ffa..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch
+++ /dev/null
@@ -1,124 +0,0 @@
1---
2 configure |38107 -----------------------------------------------------------
3 configure.ac | 2 -
4 hw/kdrive/linux/tslib.c | 68 ++++++++++++++++++++++++++----------------------
5 2 files changed, 39 insertions(+), 31 deletions(-)
6
7
8Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c
9===================================================================
10--- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-01-30 00:44:13.000000000 +0000
11+++ xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 2007-01-30 21:55:52.000000000 +0000
12@@ -47,6 +47,10 @@
13
14 #define TSLIB_QUEUE_SIZE 3
15
16+/* For XCalibrate extension */
17+void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure);
18+void *tslib_raw_event_closure;
19+
20 struct TslibPrivate {
21 int fd;
22 int lastx, lasty;
23@@ -76,6 +80,19 @@ TsRead (int fd, void *closure)
24 unsigned long flags = 0;
25 int discard = 0;
26
27+ if (tslib_raw_event_hook)
28+ {
29+ /* XCalibrate Ext */
30+ if (ts_read_raw(private->tsDev, &event, 1) == 1)
31+ {
32+ tslib_raw_event_hook (event.x,
33+ event.y,
34+ event.pressure,
35+ tslib_raw_event_closure);
36+ }
37+ return;
38+ }
39+
40 if (!private->tsDev) {
41 DebugF("[tslib] EXTREME BADNESS: TsRead called while tsDev is null!\n");
42 return;
43@@ -322,14 +339,14 @@ TsRead (int fd, void *closure)
44 }
45 }
46
47-/* must always be NULL-terminated. */
48-char *valid_ts_names[] = {
49- "ADS784x Touchscreen",
50- "omap-ts",
51- "TSC2301 touchscreen",
52- NULL
53+static char *TsNames[] = {
54+ NULL, /* set via TSLIB_TSDEVICE */
55+ "/dev/ts",
56+ "/dev/touchscreen/0",
57 };
58
59+#define NUM_TS_NAMES (sizeof (TsNames) / sizeof (TsNames[0]))
60+
61 #define TS_NAME_SIZE 32
62
63 static Status
64@@ -383,11 +400,10 @@ TslibDisable (KdPointerInfo *pi)
65 private->tsDev = NULL;
66 }
67
68-
69 static Status
70 TslibInit (KdPointerInfo *pi)
71 {
72- int fd = 0, i = 0;
73+ int fd = 0, i = 0, j = 0;
74 char devpath[PATH_MAX], devname[TS_NAME_SIZE];
75 DIR *inputdir = NULL;
76 struct dirent *inputent = NULL;
77@@ -397,33 +413,25 @@ TslibInit (KdPointerInfo *pi)
78 return !Success;
79
80 if (!pi->path || strcmp(pi->path, "auto") == 0) {
81- if (!(inputdir = opendir("/dev/input"))) {
82- ErrorF("[tslib/TslibInit]: couldn't open /dev/input!\n");
83- return BadMatch;
84- }
85
86- while ((inputent = readdir(inputdir))) {
87- if (strncmp(inputent->d_name, "event", 5) != 0)
88- continue;
89+ if ((TsNames[0] = getenv("TSLIB_TSDEVICE")) == NULL)
90+ j++;
91+
92+ for (i = j; i < NUM_TS_NAMES; i++)
93+ {
94+ struct tsdev *tsDev;
95
96- snprintf(devpath, PATH_MAX, "/dev/input/%s", inputent->d_name);
97- fd = open(devpath, O_RDWR);
98+ if(!(tsDev = ts_open(TsNames[i], 0)))
99+ continue;
100
101- if (!ioctl(fd, EVIOCGNAME(sizeof(devname)), devname)) {
102- close(fd);
103+ if (ts_config(tsDev))
104 continue;
105- }
106- close(fd);
107
108- for (i = 0; valid_ts_names[i]; i++) {
109- if (strcmp(devname, valid_ts_names[i]) == 0) {
110- pi->path = KdSaveString(devpath);
111- break;
112- }
113- }
114- }
115-
116- closedir(inputdir);
117+ ts_close(tsDev);
118+
119+ pi->path = KdSaveString(TsNames[i]);
120+ break;
121+ }
122 }
123
124 if (!pi->path || strcmp(pi->path, "auto") == 0) {
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch
deleted file mode 100644
index ada8f3a788..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Index: xorg-server-1.1.99.3/configure.ac
2===================================================================
3--- xorg-server-1.1.99.3.orig/configure.ac 2010-06-09 12:52:26.000000000 +0100
4+++ xorg-server-1.1.99.3/configure.ac 2010-06-09 12:52:51.000000000 +0100
5@@ -1731,7 +1731,9 @@
6 DIX_CFLAGS="-DHAVE_DIX_CONFIG_H"
7 AC_SUBST([DIX_CFLAGS])
8
9-AC_SUBST([libdir exec_prefix prefix])
10+AC_SUBST([libdir])
11+AC_SUBST([exec_prefix])
12+AC_SUBST([prefix])
13
14 # Man page sections - used in config utils & generating man pages
15 XORG_MANPAGE_SECTIONS
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch
deleted file mode 100644
index bd8842721b..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1--- xserver/hw/kdrive/linux/linux.c.orig 2005-04-23 15:56:13.988849232 +0000
2+++ xserver/hw/kdrive/linux/linux.c 2005-04-23 15:57:05.001094192 +0000
3@@ -342,7 +342,7 @@
4 /*
5 * Open the APM driver
6 */
7- LinuxApmFd = open ("/dev/apm_bios", 2);
8+ /*LinuxApmFd = open ("/dev/apm_bios", 2);
9 if (LinuxApmFd < 0 && errno == ENOENT)
10 LinuxApmFd = open ("/dev/misc/apm_bios", 2);
11 if (LinuxApmFd >= 0)
12@@ -352,7 +352,7 @@
13 RegisterBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0);
14 AddEnabledDevice (LinuxApmFd);
15 }
16-
17+ */
18 /*
19 * now get the VT
20 */
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch
deleted file mode 100644
index 9c43e52ead..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1--- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200
2+++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200
3@@ -505,7 +505,11 @@
4 XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la'
5
6 dnl Core modules for most extensions, et al.
7+if test "$KDRIVE" = yes; then
8+REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto"
9+else
10 REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto"
11+fi
12 REQUIRED_LIBS="xfont xau fontenc"
13
14 AM_CONDITIONAL(XV, [test "x$XV" = xyes])
15@@ -1514,7 +1526,9 @@
16 AC_SUBST(XKB_COMPILED_DIR)
17
18 dnl and the rest of these are generic, so they're in config.h
19+if test ! x"$KDRIVE" = xyes; then
20 AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
21+fi
22 AC_DEFINE(XResExtension, 1, [Build XRes extension])
23
24 dnl CYGWIN does not define fd_set if _POSIX_SOURCE is defined
25@@ -1534,10 +1548,12 @@
26
27 AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
28
29+if test ! "x$KDRIVE" = xyes ; then
30 dnl xorgconfig CLI configuration utility
31 PKG_CHECK_MODULES([XORGCONFIG_DEP], [xkbfile x11])
32 AC_SUBST(XORGCONFIG_DEP_CFLAGS)
33 AC_SUBST(XORGCONFIG_DEP_LIBS)
34+fi
35
36 dnl xorgcfg GUI configuration utility
37 AC_ARG_ENABLE(xorgcfg, AS_HELP_STRING([--enable-xorgcfg],
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch
deleted file mode 100644
index 9c38156cd2..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch
+++ /dev/null
@@ -1,82 +0,0 @@
1Index: xorg-server-1.1.99.3/Makefile.am
2===================================================================
3--- xorg-server-1.1.99.3.orig/Makefile.am 2008-02-20 22:22:56.000000000 +0000
4+++ xorg-server-1.1.99.3/Makefile.am 2008-02-20 22:23:22.000000000 +0000
5@@ -34,6 +34,11 @@
6 XSP_DIR=xsp
7 endif
8
9+if XKB
10+XKB_DIR=xkb
11+endif
12+
13+
14 SUBDIRS = \
15 doc \
16 include \
17@@ -46,7 +51,7 @@
18 randr \
19 render \
20 Xi \
21- xkb \
22+ $(XKB_DIR) \
23 $(DBE_DIR) \
24 $(MFB_DIR) \
25 $(AFB_DIR) \
26Index: xorg-server-1.1.99.3/configure.ac
27===================================================================
28--- xorg-server-1.1.99.3.orig/configure.ac 2008-02-20 22:04:15.000000000 +0000
29+++ xorg-server-1.1.99.3/configure.ac 2008-02-20 22:28:35.000000000 +0000
30@@ -434,6 +434,7 @@
31 AC_ARG_ENABLE(dbus, AS_HELP_STRING([--disable-dbus], [Build D-BUS support (default: auto)]), [DBUS=$enableval], [DBUS=auto])
32 AC_ARG_ENABLE(xsp, AS_HELP_STRING([--disable-xsp], [Build XSP support (default: auto)]), [XSP=$enableval], [XSP=auto])
33 AC_ARG_ENABLE(tslib, AS_HELP_STRING([--disable-tslib], [Build embedded touchscreen support (default: auto)]), [TSLIB=$enableval], [TSLIB=auto])
34+AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes])
35
36 dnl DDXes.
37 AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
38@@ -751,12 +752,15 @@
39
40 AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
41
42-AC_DEFINE(XKB, 1, [Build XKB])
43-AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
44-AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
45-REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
46-XKB_LIB='$(top_builddir)/xkb/libxkb.la'
47-XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
48+AM_CONDITIONAL(XKB, [test "x$XKB" = xyes])
49+if test "x$XKB" = xyes; then
50+ AC_DEFINE(XKB, 1, [Build XKB])
51+ AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
52+ AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
53+ REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
54+ XKB_LIB='$(top_builddir)/xkb/libxkb.la'
55+ XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
56+fi
57
58 AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1,
59 [Do not have `strcasecmp'.]))
60Index: xorg-server-1.1.99.3/hw/kdrive/src/Makefile.am
61===================================================================
62--- xorg-server-1.1.99.3.orig/hw/kdrive/src/Makefile.am 2008-02-20 22:28:04.000000000 +0000
63+++ xorg-server-1.1.99.3/hw/kdrive/src/Makefile.am 2008-02-20 22:28:31.000000000 +0000
64@@ -39,4 +39,4 @@
65 libkdrivestubs_a_SOURCES = \
66 $(top_srcdir)/fb/fbcmap.c
67
68-libkdrivexkb_a_SOURCES = kxkb.c
69+libkdrivexkb_a_SOURCES =
70Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c
71===================================================================
72--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2008-02-20 22:25:58.000000000 +0000
73+++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2008-02-20 22:27:29.000000000 +0000
74@@ -777,7 +777,7 @@
75 KdInitModMap(ki);
76 KdInitAutoRepeats(ki);
77
78-#ifndef XKB
79+#ifdef XKB
80 if (!noXkbExtension) {
81 memset(&names, 0, sizeof(XkbComponentNamesRec));
82 if (XkbInitialMap)
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch
deleted file mode 100644
index 13a6c2c954..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1--- xorg-server-X11R7.1-1.1.0/dix/dixfonts.c.orig 2006-06-08 14:49:12.158684250 +0200
2+++ xorg-server-X11R7.1-1.1.0/dix/dixfonts.c 2006-06-08 14:49:52.493205000 +0200
3@@ -52,8 +52,8 @@
4 /* $Xorg: dixfonts.c,v 1.4 2000/08/17 19:48:18 cpqbld Exp $ */
5
6 #define NEED_REPLIES
7 #ifdef HAVE_DIX_CONFIG_H
8-#include <dix-config.h>
9+#include <kdrive-config.h>
10 #endif
11
12 #include <X11/X.h>
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch
deleted file mode 100644
index e488657b74..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1--- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200
2+++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200
3@@ -1438,6 +1446,10 @@
4 fi
5
6- # tslib...
7+ AC_CHECK_HEADERS([tslib.h])
8+ if test "$ac_cv_header_tslib_h" = yes; then
9+ AC_DEFINE(TSLIB, 1, [Build kdrive with tslib support])
10+ AC_DEFINE(TOUCHSCREEN, 1, [Build kdrive with touchscreen support])
11+ fi
12
13 # damage shadow extension glx (NOTYET) fb mi
14 KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src'
15@@ -1467,7 +1479,7 @@
16 AC_SUBST(KDRIVE_CFLAGS)
17 AC_SUBST(KDRIVE_PURE_LIBS)
18 AC_SUBST(KDRIVE_LIBS)
19-AM_CONDITIONAL(TSLIB, false)
20+AM_CONDITIONAL(TSLIB, [test x"$ac_cv_header_tslib_h" = xyes])
21 AM_CONDITIONAL(H3600_TS, false)
22 AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes])
23 AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes])
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch
deleted file mode 100644
index f87e7cc2cd..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch
+++ /dev/null
@@ -1,14 +0,0 @@
1--- xserver/hw/kdrive/fbdev/fbdev.c~ 2004-09-15 00:08:10.000000000 +0100
2+++ xserver/hw/kdrive/fbdev/fbdev.c 2004-11-13 17:47:02.000000000 +0000
3@@ -198,6 +198,11 @@
4 return FALSE;
5 }
6
7+ /* Re-get the "fixed" parameters since they might have changed */
8+ k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix);
9+ if (k < 0)
10+ perror ("FBIOGET_FSCREENINFO");
11+
12 /* Now get the new screeninfo */
13 ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var);
14 depth = priv->var.bits_per_pixel;
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch
deleted file mode 100644
index 09c9e8909c..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch
+++ /dev/null
@@ -1,446 +0,0 @@
1---
2 Xi/chgdctl.c | 55 +++++++++++++++++++------
3 Xi/getdctl.c | 87 +++++++++++++++++++++++++++++++----------
4 Xi/getdctl.h | 11 +++--
5 Xi/stubs.c | 2
6 configure.ac | 2
7 dix/devices.c | 31 +++++++++-----
8 hw/kdrive/linux/tslib.c | 8 +--
9 hw/kdrive/src/kinput.c | 6 +-
10 hw/xfree86/common/xf86Xinput.c | 3 -
11 include/input.h | 2
12 include/inputstr.h | 18 +++++++-
13 11 files changed, 162 insertions(+), 63 deletions(-)
14
15Index: xorg-server-1.1.99.3/Xi/chgdctl.c
16===================================================================
17--- xorg-server-1.1.99.3.orig/Xi/chgdctl.c 2007-01-29 22:58:18.000000000 +0000
18+++ xorg-server-1.1.99.3/Xi/chgdctl.c 2007-01-29 22:59:27.000000000 +0000
19@@ -104,8 +104,10 @@ ProcXChangeDeviceControl(ClientPtr clien
20 xChangeDeviceControlReply rep;
21 AxisInfoPtr a;
22 CARD32 *resolution;
23- xDeviceTSCtl *ts;
24+ xDeviceAbsCalibCtl *calib;
25+ xDeviceAbsAreaCtl *area;
26 xDeviceCoreCtl *c;
27+ xDeviceEnableCtl *e;
28
29 REQUEST(xChangeDeviceControlReq);
30 REQUEST_AT_LEAST_SIZE(xChangeDeviceControlReq);
31@@ -170,25 +172,28 @@ ProcXChangeDeviceControl(ClientPtr clien
32 return Success;
33 }
34 break;
35- case DEVICE_TOUCHSCREEN:
36- ts = (xDeviceTSCtl *)&stuff[1];
37-
38- if (ts->button_threshold < 0 || ts->button_threshold > 255) {
39+ case DEVICE_ABS_CALIB:
40+ calib = (xDeviceAbsCalibCtl *)&stuff[1];
41+
42+ if (calib->button_threshold < 0 || calib->button_threshold > 255) {
43 SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0,
44 BadValue);
45 return Success;
46 }
47
48- status = ChangeDeviceControl(client, dev, (xDeviceCtl *) ts);
49+ status = ChangeDeviceControl(client, dev, (xDeviceCtl *) calib);
50
51 if (status == Success) {
52- dev->touchscreen->min_x = ts->min_x;
53- dev->touchscreen->max_x = ts->max_x;
54- dev->touchscreen->min_y = ts->min_y;
55- dev->touchscreen->max_y = ts->max_y;
56- dev->touchscreen->button_threshold = ts->button_threshold;
57- } else if (status == DeviceBusy) {
58- rep.status = DeviceBusy;
59+ dev->absolute->min_x = calib->min_x;
60+ dev->absolute->max_x = calib->max_x;
61+ dev->absolute->min_y = calib->min_y;
62+ dev->absolute->max_y = calib->max_y;
63+ dev->absolute->flip_x = calib->flip_x;
64+ dev->absolute->flip_y = calib->flip_y;
65+ dev->absolute->rotation = calib->rotation;
66+ dev->absolute->button_threshold = calib->button_threshold;
67+ } else if (status == DeviceBusy || status == BadValue) {
68+ rep.status = status;
69 WriteReplyToClient(client, sizeof(xChangeDeviceControlReply),
70 &rep);
71 return Success;
72@@ -199,6 +204,30 @@ ProcXChangeDeviceControl(ClientPtr clien
73 }
74
75 break;
76+ case DEVICE_ABS_AREA:
77+ area = (xDeviceAbsAreaCtl *)&stuff[1];
78+
79+ status = ChangeDeviceControl(client, dev, (xDeviceCtl *) area);
80+
81+ if (status == Success) {
82+ dev->absolute->offset_x = area->offset_x;
83+ dev->absolute->offset_y = area->offset_y;
84+ dev->absolute->width = area->width;
85+ dev->absolute->height = area->height;
86+ dev->absolute->screen = area->screen;
87+ dev->absolute->following = area->following;
88+ } else if (status == DeviceBusy || status == BadValue) {
89+ rep.status = status;
90+ WriteReplyToClient(client, sizeof(xChangeDeviceControlReply),
91+ &rep);
92+ return Success;
93+ } else {
94+ SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0,
95+ BadMatch);
96+ return Success;
97+ }
98+
99+ break;
100 case DEVICE_CORE:
101 c = (xDeviceCoreCtl *)&stuff[1];
102
103Index: xorg-server-1.1.99.3/Xi/getdctl.c
104===================================================================
105--- xorg-server-1.1.99.3.orig/Xi/getdctl.c 2007-01-29 22:58:18.000000000 +0000
106+++ xorg-server-1.1.99.3/Xi/getdctl.c 2007-01-29 22:59:27.000000000 +0000
107@@ -124,14 +124,23 @@ ProcXGetDeviceControl(ClientPtr client)
108 total_length = sizeof(xDeviceResolutionState) +
109 (3 * sizeof(int) * dev->valuator->numAxes);
110 break;
111- case DEVICE_TOUCHSCREEN:
112- if (!dev->touchscreen) {
113+ case DEVICE_ABS_CALIB:
114+ if (!dev->absolute) {
115 SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0,
116 BadMatch);
117 return Success;
118 }
119
120- total_length = sizeof(xDeviceTSCtl);
121+ total_length = sizeof(xDeviceAbsCalibCtl);
122+ break;
123+ case DEVICE_ABS_AREA:
124+ if (!dev->absolute) {
125+ SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0,
126+ BadMatch);
127+ return Success;
128+ }
129+
130+ total_length = sizeof(xDeviceAbsAreaCtl);
131 break;
132 case DEVICE_CORE:
133 total_length = sizeof(xDeviceCoreCtl);
134@@ -152,8 +161,11 @@ ProcXGetDeviceControl(ClientPtr client)
135 case DEVICE_RESOLUTION:
136 CopySwapDeviceResolution(client, dev->valuator, buf, total_length);
137 break;
138- case DEVICE_TOUCHSCREEN:
139- CopySwapDeviceTouchscreen(client, dev->touchscreen, buf);
140+ case DEVICE_ABS_CALIB:
141+ CopySwapDeviceAbsCalib(client, dev->absolute, buf);
142+ break;
143+ case DEVICE_ABS_AREA:
144+ CopySwapDeviceAbsArea(client, dev->absolute, buf);
145 break;
146 case DEVICE_CORE:
147 CopySwapDeviceCore(client, dev, buf);
148@@ -206,28 +218,61 @@ CopySwapDeviceResolution(ClientPtr clien
149 }
150 }
151
152-void CopySwapDeviceTouchscreen (ClientPtr client, TouchscreenClassPtr dts,
153+void CopySwapDeviceAbsCalib (ClientPtr client, AbsoluteClassPtr dts,
154 char *buf)
155 {
156 register char n;
157- xDeviceTSState *ts = (xDeviceTSState *) buf;
158+ xDeviceAbsCalibState *calib = (xDeviceAbsCalibState *) buf;
159
160- ts->control = DEVICE_TOUCHSCREEN;
161- ts->length = sizeof(ts);
162- ts->min_x = dts->min_x;
163- ts->max_x = dts->max_x;
164- ts->min_y = dts->min_y;
165- ts->max_y = dts->max_y;
166- ts->button_threshold = dts->button_threshold;
167+ calib->control = DEVICE_ABS_CALIB;
168+ calib->length = sizeof(calib);
169+ calib->min_x = dts->min_x;
170+ calib->max_x = dts->max_x;
171+ calib->min_y = dts->min_y;
172+ calib->max_y = dts->max_y;
173+ calib->flip_x = dts->flip_x;
174+ calib->flip_y = dts->flip_y;
175+ calib->rotation = dts->rotation;
176+ calib->button_threshold = dts->button_threshold;
177
178 if (client->swapped) {
179- swaps(&ts->control, n);
180- swaps(&ts->length, n);
181- swapl(&ts->min_x, n);
182- swapl(&ts->max_x, n);
183- swapl(&ts->min_y, n);
184- swapl(&ts->max_y, n);
185- swapl(&ts->button_threshold, n);
186+ swaps(&calib->control, n);
187+ swaps(&calib->length, n);
188+ swapl(&calib->min_x, n);
189+ swapl(&calib->max_x, n);
190+ swapl(&calib->min_y, n);
191+ swapl(&calib->max_y, n);
192+ swapl(&calib->flip_x, n);
193+ swapl(&calib->flip_y, n);
194+ swapl(&calib->rotation, n);
195+ swapl(&calib->button_threshold, n);
196+ }
197+}
198+
199+void CopySwapDeviceAbsArea (ClientPtr client, AbsoluteClassPtr dts,
200+ char *buf)
201+{
202+ register char n;
203+ xDeviceAbsAreaState *area = (xDeviceAbsAreaState *) buf;
204+
205+ area->control = DEVICE_ABS_AREA;
206+ area->length = sizeof(area);
207+ area->offset_x = dts->offset_x;
208+ area->offset_y = dts->offset_y;
209+ area->width = dts->width;
210+ area->height = dts->height;
211+ area->screen = dts->screen;
212+ area->following = dts->following;
213+
214+ if (client->swapped) {
215+ swaps(&area->control, n);
216+ swaps(&area->length, n);
217+ swapl(&area->offset_x, n);
218+ swapl(&area->offset_y, n);
219+ swapl(&area->width, n);
220+ swapl(&area->height, n);
221+ swapl(&area->screen, n);
222+ swapl(&area->following, n);
223 }
224 }
225
226Index: xorg-server-1.1.99.3/Xi/getdctl.h
227===================================================================
228--- xorg-server-1.1.99.3.orig/Xi/getdctl.h 2007-01-29 22:58:18.000000000 +0000
229+++ xorg-server-1.1.99.3/Xi/getdctl.h 2007-01-29 22:59:27.000000000 +0000
230@@ -42,10 +42,13 @@ void CopySwapDeviceResolution(ClientPtr
231 int /* length */
232 );
233
234-void CopySwapDeviceTouchscreen(ClientPtr /* client */ ,
235- TouchscreenClassPtr /* ts */ ,
236- char * /* buf */
237- );
238+void CopySwapDeviceAbsCalib (ClientPtr client,
239+ AbsoluteClassPtr dts,
240+ char *buf);
241+
242+void CopySwapDeviceAbsArea (ClientPtr client,
243+ AbsoluteClassPtr dts,
244+ char *buf);
245
246 void CopySwapDeviceCore(ClientPtr /* client */ ,
247 DeviceIntPtr /* dev */ ,
248Index: xorg-server-1.1.99.3/Xi/stubs.c
249===================================================================
250--- xorg-server-1.1.99.3.orig/Xi/stubs.c 2007-01-29 22:58:18.000000000 +0000
251+++ xorg-server-1.1.99.3/Xi/stubs.c 2007-01-29 22:59:27.000000000 +0000
252@@ -287,7 +287,7 @@ ChangeDeviceControl(register ClientPtr c
253 switch (control->control) {
254 case DEVICE_RESOLUTION:
255 return (BadMatch);
256- case DEVICE_TOUCHSCREEN:
257+ case DEVICE_ABS_CALIB:
258 return (BadMatch);
259 case DEVICE_CORE:
260 return (BadMatch);
261Index: xorg-server-1.1.99.3/dix/devices.c
262===================================================================
263--- xorg-server-1.1.99.3.orig/dix/devices.c 2007-01-29 22:58:18.000000000 +0000
264+++ xorg-server-1.1.99.3/dix/devices.c 2007-01-29 22:59:27.000000000 +0000
265@@ -117,7 +117,7 @@ AddInputDevice(DeviceProc deviceProc, Bo
266 dev->button = (ButtonClassPtr)NULL;
267 dev->focus = (FocusClassPtr)NULL;
268 dev->proximity = (ProximityClassPtr)NULL;
269- dev->touchscreen = (TouchscreenClassPtr)NULL;
270+ dev->absolute = (AbsoluteClassPtr)NULL;
271 dev->kbdfeed = (KbdFeedbackPtr)NULL;
272 dev->ptrfeed = (PtrFeedbackPtr)NULL;
273 dev->intfeed = (IntegerFeedbackPtr)NULL;
274@@ -821,22 +821,31 @@ InitValuatorClassDeviceStruct(DeviceIntP
275 }
276
277 _X_EXPORT Bool
278-InitTouchscreenClassDeviceStruct(DeviceIntPtr dev)
279+InitAbsoluteClassDeviceStruct(DeviceIntPtr dev)
280 {
281- register TouchscreenClassPtr tsc;
282+ register AbsoluteClassPtr abs;
283
284- tsc = (TouchscreenClassPtr)xalloc(sizeof(TouchscreenClassRec));
285- if (!tsc)
286+ abs = (AbsoluteClassPtr)xalloc(sizeof(AbsoluteClassRec));
287+ if (!abs)
288 return FALSE;
289
290 /* we don't do anything sensible with these, but should */
291- tsc->min_x = -1;
292- tsc->min_y = -1;
293- tsc->max_x = -1;
294- tsc->max_y = -1;
295+ abs->min_x = -1;
296+ abs->min_y = -1;
297+ abs->max_x = -1;
298+ abs->max_y = -1;
299+ abs->flip_x = 0;
300+ abs->flip_y = 0;
301+ abs->rotation = 0;
302+ abs->button_threshold = 0;
303
304- tsc->button_threshold = 0;
305- dev->touchscreen = tsc;
306+ abs->offset_x = 0;
307+ abs->offset_y = 0;
308+ abs->width = -1;
309+ abs->height = -1;
310+ abs->following = 0;
311+
312+ dev->absolute = abs;
313
314 return TRUE;
315 }
316Index: xorg-server-1.1.99.3/hw/xfree86/common/xf86Xinput.c
317===================================================================
318--- xorg-server-1.1.99.3.orig/hw/xfree86/common/xf86Xinput.c 2007-01-29 22:58:18.000000000 +0000
319+++ xorg-server-1.1.99.3/hw/xfree86/common/xf86Xinput.c 2007-01-29 22:59:27.000000000 +0000
320@@ -538,7 +538,8 @@ ChangeDeviceControl (ClientPtr client, D
321 switch (control->control) {
322 case DEVICE_CORE:
323 case DEVICE_RESOLUTION:
324- case DEVICE_TOUCHSCREEN:
325+ case DEVICE_ABS_CALIB:
326+ case DEVICE_ABS_AREA:
327 return Success;
328 default:
329 return BadMatch;
330Index: xorg-server-1.1.99.3/include/input.h
331===================================================================
332--- xorg-server-1.1.99.3.orig/include/input.h 2007-01-29 22:58:18.000000000 +0000
333+++ xorg-server-1.1.99.3/include/input.h 2007-01-29 22:59:27.000000000 +0000
334@@ -238,7 +238,7 @@ extern Bool InitValuatorClassDeviceStruc
335 int /*numMotionEvents*/,
336 int /*mode*/);
337
338-extern Bool InitTouchscreenClassDeviceStruct(
339+extern Bool InitAbsoluteClassDeviceStruct(
340 DeviceIntPtr /*device*/);
341
342 extern Bool InitFocusClassDeviceStruct(
343Index: xorg-server-1.1.99.3/include/inputstr.h
344===================================================================
345--- xorg-server-1.1.99.3.orig/include/inputstr.h 2007-01-29 22:58:18.000000000 +0000
346+++ xorg-server-1.1.99.3/include/inputstr.h 2007-01-29 22:59:27.000000000 +0000
347@@ -185,13 +185,25 @@ typedef struct _ProximityClassRec {
348 char pad;
349 } ProximityClassRec, *ProximityClassPtr;
350
351-typedef struct _TouchscreenClassRec {
352+typedef struct _AbsoluteClassRec {
353+ /* Calibration. */
354 int min_x;
355 int max_x;
356 int min_y;
357 int max_y;
358+ int flip_x;
359+ int flip_y;
360+ int rotation;
361 int button_threshold;
362-} TouchscreenClassRec, *TouchscreenClassPtr;
363+
364+ /* Area. */
365+ int offset_x;
366+ int offset_y;
367+ int width;
368+ int height;
369+ int screen;
370+ XID following;
371+} AbsoluteClassRec, *AbsoluteClassPtr;
372
373 typedef struct _KbdFeedbackClassRec *KbdFeedbackPtr;
374 typedef struct _PtrFeedbackClassRec *PtrFeedbackPtr;
375@@ -293,7 +305,7 @@ typedef struct _DeviceIntRec {
376 ButtonClassPtr button;
377 FocusClassPtr focus;
378 ProximityClassPtr proximity;
379- TouchscreenClassPtr touchscreen;
380+ AbsoluteClassPtr absolute;
381 KbdFeedbackPtr kbdfeed;
382 PtrFeedbackPtr ptrfeed;
383 IntegerFeedbackPtr intfeed;
384Index: xorg-server-1.1.99.3/configure.ac
385===================================================================
386--- xorg-server-1.1.99.3.orig/configure.ac 2007-01-29 22:58:18.000000000 +0000
387+++ xorg-server-1.1.99.3/configure.ac 2007-01-29 22:59:27.000000000 +0000
388@@ -1586,7 +1586,7 @@ if test "$KDRIVE" = yes; then
389 #KDRIVE_PURE_LIBS="$DIX_LIB $OS_LIB $FB_LIB $XEXT_LIB $MIEXT_DAMAGE_LIB \
390 # $MIEXT_SHADOW_LIB $XPSTUBS_LIB"
391 KDRIVE_XKB_DDX_LIB='$(top_builddir)/hw/kdrive/src/libkdrivexkb.a'
392- KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $KDRIVE_XKB_DDX_LIB $XKB_LIB $KDRIVE_XKB_DDX_LIB$COMPOSITE_LIB $XPSTUBS_LIB $OS_LIB $CONFIG_LIB"
393+ KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $KDRIVE_XKB_DDX_LIB $XKB_LIB $KDRIVE_XKB_DDX_LIB $COMPOSITE_LIB $XPSTUBS_LIB $OS_LIB $CONFIG_LIB"
394 KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a'
395 KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a'
396 KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a'
397Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c
398===================================================================
399--- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-01-29 22:58:18.000000000 +0000
400+++ xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 2007-01-29 22:59:27.000000000 +0000
401@@ -94,7 +94,7 @@ TsRead (int fd, void *closure)
402 event.pressure);
403 discard = 0;
404 if (event.pressure) {
405- if (event.pressure > pi->dixdev->touchscreen->button_threshold)
406+ if (event.pressure > pi->dixdev->absolute->button_threshold)
407 flags = KD_BUTTON_8;
408 else
409 flags = KD_BUTTON_1;
410@@ -356,9 +356,9 @@ TslibEnable (KdPointerInfo *pi)
411 close(private->fd);
412 return BadAlloc;
413 }
414- if (pi->dixdev && pi->dixdev->touchscreen &&
415- pi->dixdev->touchscreen->button_threshold == 0)
416- pi->dixdev->touchscreen->button_threshold = 115;
417+ if (pi->dixdev && pi->dixdev->absolute &&
418+ pi->dixdev->absolute->button_threshold == 0)
419+ pi->dixdev->absolute->button_threshold = 115;
420
421 DebugF("[tslib/TslibEnable] successfully enabled %s\n", pi->path);
422 KdRegisterFd(private->fd, TsRead, pi);
423Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c
424===================================================================
425--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2007-01-29 22:58:18.000000000 +0000
426+++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2007-01-29 22:59:27.000000000 +0000
427@@ -444,7 +444,7 @@ KdPointerProc(DeviceIntPtr pDevice, int
428
429 #ifdef XINPUT
430 if (pi->inputClass == KD_TOUCHSCREEN) {
431- InitTouchscreenClassDeviceStruct(pDevice);
432+ InitAbsoluteClassDeviceStruct(pDevice);
433 xiclass = AtomFromName(XI_TOUCHSCREEN);
434 }
435 else {
436@@ -2323,8 +2323,8 @@ ChangeDeviceControl(register ClientPtr c
437 /* FIXME do something more intelligent here */
438 return BadMatch;
439
440- case DEVICE_TOUCHSCREEN:
441- if (!pDev->touchscreen)
442+ case DEVICE_ABS_CALIB:
443+ if (!pDev->absolute)
444 return BadDevice;
445 else
446 return Success;
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch
deleted file mode 100644
index 06eab817bd..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch
+++ /dev/null
@@ -1,503 +0,0 @@
1# Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at
2# http://lists.freedesktop.org/archives/xorg/2005-December/011635.html
3---
4# hw/kdrive/linux/evdev.c | 385 ++++++++++++++++++++++++++++++++++++++++++++++--
5# hw/kdrive/src/kdrive.c | 9 +
6# hw/kdrive/src/kdrive.h | 4
7# 3 files changed, 386 insertions(+), 12 deletions(-)
8#
9Index: xorg-server-1.1.99.3/hw/kdrive/linux/evdev.c
10===================================================================
11--- xorg-server-1.1.99.3.orig/hw/kdrive/linux/evdev.c 2006-11-03 14:49:05.000000000 +0000
12+++ xorg-server-1.1.99.3/hw/kdrive/linux/evdev.c 2007-01-25 22:05:48.000000000 +0000
13@@ -31,9 +31,11 @@
14 #include <X11/X.h>
15 #include <X11/Xproto.h>
16 #include <X11/Xpoll.h>
17+#include <X11/keysym.h>
18 #include "inputstr.h"
19 #include "scrnintstr.h"
20 #include "kdrive.h"
21+#include "kkeymap.h"
22
23 #define NUM_EVENTS 128
24 #define ABS_UNSET -65535
25@@ -107,9 +109,10 @@ EvdevRead (int evdevPort, void *closure)
26 {
27 KdPointerInfo *pi = closure;
28 Kevdev *ke = pi->driverPrivate;
29- int i;
30+ int i, j;
31 struct input_event events[NUM_EVENTS];
32 int n;
33+ int flags;
34
35 n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event));
36 if (n <= 0)
37@@ -117,22 +120,64 @@ EvdevRead (int evdevPort, void *closure)
38 n /= sizeof (struct input_event);
39 for (i = 0; i < n; i++)
40 {
41+ flags = KD_MOUSE_DELTA | kdPointerInfo->buttonState;
42 switch (events[i].type) {
43 case EV_SYN:
44 break;
45 case EV_KEY:
46- EvdevMotion (pi);
47- ASSIGNBIT(ke->key,events[i].code, events[i].value);
48- if (events[i].code < 0x100)
49- ErrorF ("key %d %d\n", events[i].code, events[i].value);
50- else
51- ErrorF ("key 0x%x %d\n", events[i].code, events[i].value);
52+ if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) {
53+ switch (events[i].code) {
54+ case BTN_LEFT:
55+ if (events[i].value == 1)
56+ flags |= KD_BUTTON_1;
57+ else
58+ flags &= ~KD_BUTTON_1;
59+ break;
60+ case BTN_MIDDLE:
61+ if (events[i].value == 1)
62+ flags |= KD_BUTTON_2;
63+ else
64+ flags &= ~KD_BUTTON_2;
65+ break;
66+ case BTN_RIGHT:
67+ if (events[i].value == 1)
68+ flags |= KD_BUTTON_3;
69+ else
70+ flags &= ~KD_BUTTON_3;
71+ break;
72+ default:
73+ /* Unknow button */
74+ break;
75+ }
76+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
77+ }
78 break;
79 case EV_REL:
80- ke->rel[events[i].code] += events[i].value;
81+ if (events[i].code == REL_X) {
82+ KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0);
83+ }
84+ else if (events[i].code == REL_Y) {
85+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value);
86+ }
87+ else if (events[i].code == REL_WHEEL) {
88+ for (j = 0; j < abs (events[i].value); j++) {
89+ if (events[i].value > 0)
90+ flags |= KD_BUTTON_4;
91+ else
92+ flags |= KD_BUTTON_5;
93+
94+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
95+
96+ if (events[i].value > 0)
97+ flags &= ~KD_BUTTON_4;
98+ else
99+ flags &= ~KD_BUTTON_5;
100+
101+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
102+ } /* events[i].code == REL_WHEEL */
103+ }
104 break;
105 case EV_ABS:
106- ke->abs[events[i].code] = events[i].value;
107 break;
108 }
109 }
110@@ -162,6 +207,12 @@ EvdevInit (KdPointerInfo *pi)
111 for (i = 0; i < NUM_DEFAULT_EVDEV; i++) {
112 fd = open (kdefaultEvdev[i], 2);
113 if (fd >= 0) {
114+ if (ioctl (fd, EVIOCGRAB, 1) < 0)
115+ {
116+ close (fd);
117+ continue;
118+ }
119+
120 pi->path = KdSaveString (kdefaultEvdev[i]);
121 break;
122 }
123@@ -300,7 +351,319 @@ KdPointerDriver LinuxEvdevMouseDriver =
124 NULL,
125 };
126
127-#if 0
128+/* Keyboard */
129+
130+int kbd_fd = -1;
131+int EvdevInputType = 0;
132+
133+KeySym evdevKeymap[(194 - 1 + 1) * 2] = {
134+/* These are directly mapped from DOS scanset 0 */
135+/* 1 8 */ XK_Escape, NoSymbol,
136+/* 2 9 */ XK_1, XK_exclam,
137+/* 3 10 */ XK_2, XK_at,
138+/* 4 11 */ XK_3, XK_numbersign,
139+/* 5 12 */ XK_4, XK_dollar,
140+/* 6 13 */ XK_5, XK_percent,
141+/* 7 14 */ XK_6, XK_asciicircum,
142+/* 8 15 */ XK_7, XK_ampersand,
143+/* 9 16 */ XK_8, XK_asterisk,
144+/* 10 17 */ XK_9, XK_parenleft,
145+/* 11 18 */ XK_0, XK_parenright,
146+/* 12 19 */ XK_minus, XK_underscore,
147+/* 13 20 */ XK_equal, XK_plus,
148+/* 14 21 */ XK_BackSpace, NoSymbol,
149+/* 15 22 */ XK_Tab, NoSymbol,
150+/* 16 23 */ XK_Q, NoSymbol,
151+/* 17 24 */ XK_W, NoSymbol,
152+/* 18 25 */ XK_E, NoSymbol,
153+/* 19 26 */ XK_R, NoSymbol,
154+/* 20 27 */ XK_T, NoSymbol,
155+/* 21 28 */ XK_Y, NoSymbol,
156+/* 22 29 */ XK_U, NoSymbol,
157+/* 23 30 */ XK_I, NoSymbol,
158+/* 24 31 */ XK_O, NoSymbol,
159+/* 25 32 */ XK_P, NoSymbol,
160+/* 26 33 */ XK_bracketleft, XK_braceleft,
161+/* 27 34 */ XK_bracketright, XK_braceright,
162+/* 28 35 */ XK_Return, NoSymbol,
163+/* 29 36 */ XK_Control_L, NoSymbol,
164+/* 30 37 */ XK_A, NoSymbol,
165+/* 31 38 */ XK_S, NoSymbol,
166+/* 32 39 */ XK_D, NoSymbol,
167+/* 33 40 */ XK_F, NoSymbol,
168+/* 34 41 */ XK_G, NoSymbol,
169+/* 35 42 */ XK_H, NoSymbol,
170+/* 36 43 */ XK_J, NoSymbol,
171+/* 37 44 */ XK_K, NoSymbol,
172+/* 38 45 */ XK_L, NoSymbol,
173+/* 39 46 */ XK_semicolon, XK_colon,
174+/* 40 47 */ XK_apostrophe, XK_quotedbl,
175+/* 41 48 */ XK_grave, XK_asciitilde,
176+/* 42 49 */ XK_Shift_L, NoSymbol,
177+/* 43 50 */ XK_backslash, XK_bar,
178+/* 44 51 */ XK_Z, NoSymbol,
179+/* 45 52 */ XK_X, NoSymbol,
180+/* 46 53 */ XK_C, NoSymbol,
181+/* 47 54 */ XK_V, NoSymbol,
182+/* 48 55 */ XK_B, NoSymbol,
183+/* 49 56 */ XK_N, NoSymbol,
184+/* 50 57 */ XK_M, NoSymbol,
185+/* 51 58 */ XK_comma, XK_less,
186+/* 52 59 */ XK_period, XK_greater,
187+/* 53 60 */ XK_slash, XK_question,
188+/* 54 61 */ XK_Shift_R, NoSymbol,
189+/* 55 62 */ XK_KP_Multiply, NoSymbol,
190+/* 56 63 */ XK_Alt_L, XK_Meta_L,
191+/* 57 64 */ XK_space, NoSymbol,
192+/* 58 65 */ XK_Caps_Lock, NoSymbol,
193+/* 59 66 */ XK_F1, NoSymbol,
194+/* 60 67 */ XK_F2, NoSymbol,
195+/* 61 68 */ XK_F3, NoSymbol,
196+/* 62 69 */ XK_F4, NoSymbol,
197+/* 63 70 */ XK_F5, NoSymbol,
198+/* 64 71 */ XK_F6, NoSymbol,
199+/* 65 72 */ XK_F7, NoSymbol,
200+/* 66 73 */ XK_F8, NoSymbol,
201+/* 67 74 */ XK_F9, NoSymbol,
202+/* 68 75 */ XK_F10, NoSymbol,
203+/* 69 76 */ XK_Break, XK_Pause,
204+/* 70 77 */ XK_Scroll_Lock, NoSymbol,
205+/* 71 78 */ XK_KP_Home, XK_KP_7,
206+/* 72 79 */ XK_KP_Up, XK_KP_8,
207+/* 73 80 */ XK_KP_Page_Up, XK_KP_9,
208+/* 74 81 */ XK_KP_Subtract, NoSymbol,
209+/* 75 82 */ XK_KP_Left, XK_KP_4,
210+/* 76 83 */ XK_KP_5, NoSymbol,
211+/* 77 84 */ XK_KP_Right, XK_KP_6,
212+/* 78 85 */ XK_KP_Add, NoSymbol,
213+/* 79 86 */ XK_KP_End, XK_KP_1,
214+/* 80 87 */ XK_KP_Down, XK_KP_2,
215+/* 81 88 */ XK_KP_Page_Down, XK_KP_3,
216+/* 82 89 */ XK_KP_Insert, XK_KP_0,
217+/* 83 90 */ XK_KP_Delete, XK_KP_Decimal,
218+/* 84 91 */ NoSymbol, NoSymbol,
219+/* 85 92 */ NoSymbol, NoSymbol,
220+/* 86 93 */ NoSymbol, NoSymbol,
221+/* 87 94 */ XK_F11, NoSymbol,
222+/* 88 95 */ XK_F12, NoSymbol,
223+
224+/* These are remapped from the extended set (using ExtendMap) */
225+
226+/* 89 96 */ XK_Control_R, NoSymbol,
227+/* 90 97 */ XK_KP_Enter, NoSymbol,
228+/* 91 98 */ XK_KP_Divide, NoSymbol,
229+/* 92 99 */ XK_Sys_Req, XK_Print,
230+/* 93 100 */ XK_Alt_R, XK_Meta_R,
231+/* 94 101 */ XK_Num_Lock, NoSymbol,
232+/* 95 102 */ XK_Home, NoSymbol,
233+/* 96 103 */ XK_Up, NoSymbol,
234+/* 97 104 */ XK_Page_Up, NoSymbol,
235+/* 98 105 */ XK_Left, NoSymbol,
236+/* 99 106 */ XK_Right, NoSymbol,
237+/* 100 107 */ XK_End, NoSymbol,
238+/* 101 108 */ XK_Down, NoSymbol,
239+/* 102 109 */ XK_Page_Down, NoSymbol,
240+/* 103 110 */ XK_Insert, NoSymbol,
241+/* 104 111 */ XK_Delete, NoSymbol,
242+/* 105 112 */ XK_Super_L, NoSymbol,
243+/* 106 113 */ XK_Super_R, NoSymbol,
244+/* 107 114 */ XK_Menu, NoSymbol,
245+/* 108 115 */ NoSymbol, NoSymbol,
246+/* 109 116 */ NoSymbol, NoSymbol,
247+/* 110 117 */ NoSymbol, NoSymbol,
248+/* 111 118 */ NoSymbol, NoSymbol,
249+/* 112 119 */ NoSymbol, NoSymbol,
250+
251+/* 113 120 */ NoSymbol, NoSymbol,
252+/* 114 121 */ NoSymbol, NoSymbol,
253+/* 115 122 */ NoSymbol, NoSymbol,
254+/* 116 123 */ NoSymbol, NoSymbol,
255+/* 117 124 */ NoSymbol, NoSymbol,
256+/* 118 125 */ NoSymbol, NoSymbol,
257+/* 119 126 */ NoSymbol, NoSymbol,
258+/* 120 127 */ NoSymbol, NoSymbol,
259+/* 121 128 */ NoSymbol, NoSymbol,
260+/* 122 129 */ NoSymbol, NoSymbol,
261+/* 123 130 */ NoSymbol, NoSymbol,
262+/* 124 131 */ NoSymbol, NoSymbol,
263+/* 125 132 */ NoSymbol, NoSymbol,
264+/* 126 133 */ NoSymbol, NoSymbol,
265+/* 127 134 */ NoSymbol, NoSymbol,
266+/* 128 135 */ NoSymbol, NoSymbol,
267+/* 129 136 */ NoSymbol, NoSymbol,
268+/* 130 137 */ NoSymbol, NoSymbol,
269+/* 131 138 */ NoSymbol, NoSymbol,
270+/* 132 139 */ NoSymbol, NoSymbol,
271+/* 133 140 */ NoSymbol, NoSymbol,
272+/* 134 141 */ NoSymbol, NoSymbol,
273+/* 135 142 */ NoSymbol, NoSymbol,
274+/* 136 143 */ NoSymbol, NoSymbol,
275+/* 137 144 */ NoSymbol, NoSymbol,
276+/* 138 145 */ NoSymbol, NoSymbol,
277+/* 139 146 */ NoSymbol, NoSymbol,
278+/* 140 147 */ NoSymbol, NoSymbol,
279+/* 141 148 */ NoSymbol, NoSymbol,
280+/* 142 149 */ NoSymbol, NoSymbol,
281+/* 143 150 */ NoSymbol, NoSymbol,
282+/* 144 151 */ NoSymbol, NoSymbol,
283+/* 145 152 */ NoSymbol, NoSymbol,
284+/* 146 153 */ NoSymbol, NoSymbol,
285+/* 147 154 */ NoSymbol, NoSymbol,
286+/* 148 155 */ NoSymbol, NoSymbol,
287+/* 149 156 */ NoSymbol, NoSymbol,
288+/* 150 157 */ NoSymbol, NoSymbol,
289+/* 151 158 */ NoSymbol, NoSymbol,
290+/* 152 159 */ NoSymbol, NoSymbol,
291+/* 153 160 */ NoSymbol, NoSymbol,
292+/* 154 161 */ NoSymbol, NoSymbol,
293+/* 155 162 */ NoSymbol, NoSymbol,
294+/* 156 163 */ NoSymbol, NoSymbol,
295+/* 157 164 */ NoSymbol, NoSymbol,
296+/* 158 165 */ NoSymbol, NoSymbol,
297+/* 159 166 */ NoSymbol, NoSymbol,
298+/* 160 167 */ NoSymbol, NoSymbol,
299+/* 161 168 */ NoSymbol, NoSymbol,
300+/* 162 169 */ NoSymbol, NoSymbol,
301+/* 163 170 */ NoSymbol, NoSymbol,
302+/* 164 171 */ NoSymbol, NoSymbol,
303+/* 165 172 */ NoSymbol, NoSymbol,
304+/* 166 173 */ NoSymbol, NoSymbol,
305+/* 167 174 */ NoSymbol, NoSymbol,
306+/* 168 175 */ NoSymbol, NoSymbol,
307+/* 169 176 */ NoSymbol, NoSymbol,
308+/* 170 177 */ NoSymbol, NoSymbol,
309+/* 171 178 */ NoSymbol, NoSymbol,
310+/* 172 179 */ NoSymbol, NoSymbol,
311+/* 173 180 */ NoSymbol, NoSymbol,
312+/* 174 181 */ NoSymbol, NoSymbol,
313+/* 175 182 */ NoSymbol, NoSymbol,
314+/* 176 183 */ NoSymbol, NoSymbol,
315+/* 177 184 */ NoSymbol, NoSymbol,
316+/* 178 185 */ NoSymbol, NoSymbol,
317+/* 179 186 */ NoSymbol, NoSymbol,
318+/* 180 187 */ NoSymbol, NoSymbol,
319+/* 181 188 */ NoSymbol, NoSymbol,
320+/* 182 189 */ NoSymbol, NoSymbol,
321+/* 183 190 */ NoSymbol, NoSymbol,
322+/* 184 191 */ NoSymbol, NoSymbol,
323+/* 185 192 */ NoSymbol, NoSymbol,
324+/* 186 193 */ NoSymbol, NoSymbol,
325+/* 187 194 */ NoSymbol, NoSymbol,
326+/* 188 195 */ NoSymbol, NoSymbol,
327+/* 189 196 */ NoSymbol, NoSymbol,
328+/* 190 197 */ NoSymbol, NoSymbol,
329+/* 191 198 */ NoSymbol, NoSymbol,
330+/* 192 199 */ NoSymbol, NoSymbol,
331+/* 193 200 */ NoSymbol, NoSymbol,
332+/* 194 201 */ NoSymbol, NoSymbol,
333+};
334+
335+static void
336+EvdevKbdRead (int fd, void *closure)
337+{
338+ int i, n;
339+ struct input_event events[NUM_EVENTS];
340+
341+ n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event));
342+ if (n <= 0)
343+ return;
344+
345+ n /= sizeof (struct input_event);
346+
347+ for (i = 0; i < n; i++)
348+ {
349+ if (events[i].type == EV_KEY)
350+ KdEnqueueKeyboardEvent (events[i].code, !events[i].value);
351+ }
352+}
353+
354+static void
355+EvdevKbdLoad (void)
356+{
357+ kdMinScanCode = 0;
358+ kdMaxScanCode = 193;
359+ kdKeymapWidth = 2;
360+ memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap));
361+}
362+
363+static int
364+EvdevKbdInit (void)
365+{
366+ int fd, i;
367+
368+ if (!EvdevInputType)
369+ EvdevInputType = KdAllocInputType ();
370+
371+ if (!kdKeyboard)
372+ {
373+ for (i = 0; i < NUM_DEFAULT_EVDEV; i++)
374+ {
375+ fd = open (kdefaultEvdev[i], 2);
376+ if (fd >= 0)
377+ {
378+ kdKeyboard = KdSaveString (kdefaultEvdev[i]);
379+ break;
380+ }
381+ }
382+ }
383+ else
384+ {
385+ fd = open (kdKeyboard, O_RDWR);
386+ if (fd < 0)
387+ return FALSE;
388+ }
389+
390+ if (ioctl (fd, EVIOCGRAB, 1) < 0)
391+ {
392+ close (fd);
393+ return FALSE;
394+ }
395+
396+ if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL))
397+ return FALSE;
398+
399+ kbd_fd = fd;
400+ return TRUE;
401+}
402+
403+static void
404+EvdevKbdFini (void)
405+{
406+}
407+
408+static void
409+EvdevKbdLeds (int leds)
410+{
411+ struct input_event event;
412+
413+ memset(&event, 0, sizeof(event));
414+
415+ event.type = EV_LED;
416+ event.code = LED_CAPSL;
417+ event.value = leds & (1 << 0) ? 1 : 0;
418+ write(kbd_fd, (char *) &event, sizeof(event));
419+
420+ event.type = EV_LED;
421+ event.code = LED_NUML;
422+ event.value = leds & (1 << 1) ? 1 : 0;
423+ write(kbd_fd, (char *) &event, sizeof(event));
424+
425+ event.type = EV_LED;
426+ event.code = LED_SCROLLL;
427+ event.value = leds & (1 << 2) ? 1 : 0;
428+ write(kbd_fd, (char *) &event, sizeof(event));
429+
430+ event.type = EV_LED;
431+ event.code = LED_COMPOSE;
432+ event.value = leds & (1 << 3) ? 1 : 0;
433+ write(kbd_fd, (char *) &event, sizeof(event));
434+}
435+
436+static void
437+EvdevKbdBell (int volume, int frequency, int duration)
438+{
439+}
440+
441 KdKeyboardFuncs LinuxEvdevKeyboardFuncs = {
442 EvdevKbdLoad,
443 EvdevKbdInit,
444@@ -309,4 +672,4 @@ KdKeyboardFuncs LinuxEvdevKeyboardFuncs
445 EvdevKbdFini,
446 0,
447 };
448-#endif
449+
450Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.c
451===================================================================
452--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.c 2006-11-03 14:49:05.000000000 +0000
453+++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.c 2007-01-25 21:56:32.000000000 +0000
454@@ -80,6 +80,7 @@ Bool kdDontZap;
455 Bool kdEnabled;
456 int kdSubpixelOrder;
457 int kdVirtualTerminal = -1;
458+char *kdKeyboard = 0;
459 Bool kdSwitchPending;
460 char *kdSwitchCmd;
461 DDXPointRec kdOrigin;
462@@ -707,6 +708,14 @@ KdProcessArgument (int argc, char **argv
463 UseMsg ();
464 return 2;
465 }
466+ if (!strcmp (argv[i], "-keyboard"))
467+ {
468+ if ((i+1) < argc)
469+ kdKeyboard = argv[i+1];
470+ else
471+ UseMsg ();
472+ return 2;
473+ }
474 if (!strcmp (argv[i], "-rgba"))
475 {
476 if ((i+1) < argc)
477Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h
478===================================================================
479--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.h 2006-11-03 14:49:05.000000000 +0000
480+++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h 2007-01-25 21:58:26.000000000 +0000
481@@ -512,6 +512,7 @@ extern Bool kdEmulateMiddleButton;
482 extern Bool kdDisableZaphod;
483 extern Bool kdDontZap;
484 extern int kdVirtualTerminal;
485+extern char *kdKeyboard;
486 extern char *kdSwitchCmd;
487 extern KdOsFuncs *kdOsFuncs;
488
489@@ -875,12 +876,13 @@ void
490 ProcessInputEvents (void);
491
492 extern KdPointerDriver LinuxMouseDriver;
493-extern KdPointerDriver LinuxEvdevDriver;
494+extern KdPointerDriver LinuxEvdevMouseFuncs;
495 extern KdPointerDriver Ps2MouseDriver;
496 extern KdPointerDriver BusMouseDriver;
497 extern KdPointerDriver MsMouseDriver;
498 extern KdPointerDriver TsDriver;
499 extern KdKeyboardDriver LinuxKeyboardDriver;
500+extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs;
501 extern KdOsFuncs LinuxFuncs;
502
503 extern KdPointerDriver VxWorksMouseDriver;
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch
deleted file mode 100644
index d4f885ee26..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch
+++ /dev/null
@@ -1,53 +0,0 @@
1--- xserver/hw/kdrive/fbdev/fbinit.c~ 2006-01-31 17:09:33.000000000 +0100
2+++ xserver/hw/kdrive/fbdev/fbinit.c 2006-01-31 17:11:55.000000000 +0100
3@@ -28,6 +28,8 @@
4 #endif
5 #include <fbdev.h>
6
7+extern int use_evdev;
8+
9 void
10 InitCard (char *name)
11 {
12@@ -45,7 +47,10 @@
13 void
14 InitInput (int argc, char **argv)
15 {
16- KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
17+ if (use_evdev)
18+ KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs);
19+ else
20+ KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
21 #ifdef TOUCHSCREEN
22 KdAddMouseDriver (&TsFuncs);
23 #endif
24--- xserver/hw/kdrive/src/kdrive.c.orig 2006-01-31 17:13:28.000000000 +0100
25+++ xserver/hw/kdrive/src/kdrive.c 2006-01-31 17:15:28.000000000 +0100
26@@ -44,6 +44,8 @@
27 #include "dpmsproc.h"
28 #endif
29
30+int use_evdev = 0;
31+
32 typedef struct _kdDepths {
33 CARD8 depth;
34 CARD8 bpp;
35@@ -687,6 +689,7 @@
36 ErrorF("-videoTest Start the server, pause momentarily and exit\n");
37 ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n");
38 ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n");
39+ ErrorF("-use-evdev Use Linux evdev input\n");
40 ErrorF("-switchCmd Command to execute on vt switch\n");
41 ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n");
42 ErrorF("vtxx Use virtual terminal xx instead of the next available\n");
43@@ -796,6 +799,10 @@
44 UseMsg ();
45 return 2;
46 }
47+ if (!strcmp (argv[i], "-use-evdev"))
48+ {
49+ use_evdev = 1;
50+ }
51 if (!strcmp (argv[i], "-keyboard"))
52 {
53 if ((i+1) < argc)
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch
deleted file mode 100644
index 23a0f7eae8..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1---
2 hw/kdrive/src/kmode.c | 21 +++++++++++++++++++++
3 1 file changed, 21 insertions(+)
4
5Index: xorg-server-1.1.99.3/hw/kdrive/src/kmode.c
6===================================================================
7--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kmode.c 2007-01-25 23:53:59.000000000 +0000
8+++ xorg-server-1.1.99.3/hw/kdrive/src/kmode.c 2007-01-27 17:17:09.000000000 +0000
9@@ -41,6 +41,11 @@ const KdMonitorTiming kdMonitorTimings[
10 1, 11, 14, KdSyncNegative,
11 },
12
13+ { 240, 320, 64, 0,
14+ 0, 0, 0, KdSyncNegative,
15+ 0, 0, 0, KdSyncNegative,
16+ },
17+
18 /* Other VESA modes */
19 { 640, 350, 85, 31500, /* VESA */
20 32, 96, 192, KdSyncPositive, /* 26.413 */
21@@ -80,6 +85,22 @@ const KdMonitorTiming kdMonitorTimings[
22 16, 48, 160, KdSyncNegative, /* 31.469 */
23 10, 33, 45, KdSyncNegative, /* 59.940 */
24 },
25+
26+
27+ { 480, 640, 60, 0,
28+ 0, 0, 0, KdSyncNegative,
29+ 0, 0, 0, KdSyncNegative,
30+ },
31+
32+ { 800, 480, 51, 0,
33+ 0, 0, 0, KdSyncNegative,
34+ 0, 0, 0, KdSyncNegative,
35+ },
36+
37+ { 480, 800, 51, 0,
38+ 0, 0, 0, KdSyncNegative,
39+ 0, 0, 0, KdSyncNegative,
40+ },
41
42 /* 800x600 modes */
43 { 800, 600, 85, 56250, /* VESA */
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch
deleted file mode 100644
index 35ccadaa8d..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1--- xserver/hw/kdrive/linux/mouse.c.orig 2004-05-13 14:25:51.000000000 -0700
2+++ xserver/hw/kdrive/linux/mouse.c 2005-09-22 12:20:47.000000000 -0700
3@@ -927,8 +927,10 @@ char *kdefaultMouse[] = {
4 "/dev/psaux",
5 "/dev/input/mice",
6 "/dev/adbmouse",
7+#ifdef BREAK_MY_SERIAL_CONSOLE
8 "/dev/ttyS0",
9 "/dev/ttyS1",
10+#endif
11 };
12
13 #define NUM_DEFAULT_MOUSE (sizeof (kdefaultMouse) / sizeof (kdefaultMouse[0]))
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch
deleted file mode 100644
index 2a10f13d40..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch
+++ /dev/null
@@ -1,73 +0,0 @@
1---
2 Xext/Makefile.am | 5
3 Xext/xcalibrate.c | 262 +++++++++++++++++++++++++++++++++++++++++++++
4 configure.ac | 8 +
5 include/kdrive-config.h.in | 3
6 mi/miinitext.c | 6 +
7 5 files changed, 283 insertions(+), 1 deletion(-)
8
9Index: xorg-server-1.1.99.3/mi/miinitext.c
10===================================================================
11--- xorg-server-1.1.99.3.orig/mi/miinitext.c 2006-11-03 14:49:06.000000000 +0000
12+++ xorg-server-1.1.99.3/mi/miinitext.c 2007-01-27 17:59:40.000000000 +0000
13@@ -368,6 +368,9 @@ extern void ResExtensionInit(INITARGS);
14 #ifdef DMXEXT
15 extern void DMXExtensionInit(INITARGS);
16 #endif
17+#ifdef XCALIBRATE
18+extern void XCalibrateExtensionInit(INITARGS);
19+#endif
20 #ifdef XEVIE
21 extern void XevieExtensionInit(INITARGS);
22 #endif
23@@ -662,6 +665,9 @@ InitExtensions(argc, argv)
24 #ifdef XSP
25 if (!noXspExtension) XSPExtensionInit();
26 #endif
27+#ifdef XCALIBRATE
28+ XCalibrateExtensionInit ();
29+#endif
30 }
31
32 void
33Index: xorg-server-1.1.99.3/configure.ac
34===================================================================
35--- xorg-server-1.1.99.3.orig/configure.ac 2006-11-03 14:49:05.000000000 +0000
36+++ xorg-server-1.1.99.3/configure.ac 2007-01-29 22:58:18.000000000 +0000
37@@ -1584,7 +1590,7 @@ if test "$KDRIVE" = yes; then
38 KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a'
39 KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a'
40 KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a'
41- KDRIVE_LIBS="$XSERVERLIBS_LIBS $DIX_LIB $XSP_LIB $KDRIVE_LIB $TSLIB_LIBS $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB"
42+ KDRIVE_LIBS="$XSERVERLIBS_LIBS $DIX_LIB $XSP_LIB $KDRIVE_LIB $TSLIB_LIBS $KDRIVE_PURE_LIBS $KDRIVE_OS_LIB $KDRIVE_STUB_LIB"
43
44 # check if we can build Xephyr
45 PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"])
46Index: xorg-server-1.1.99.3/include/kdrive-config.h.in
47===================================================================
48--- xorg-server-1.1.99.3.orig/include/kdrive-config.h.in 2006-11-03 14:49:06.000000000 +0000
49+++ xorg-server-1.1.99.3/include/kdrive-config.h.in 2007-01-27 17:59:40.000000000 +0000
50@@ -28,4 +28,7 @@
51 /* Have the backtrace() functiln. */
52 #undef HAVE_BACKTRACE
53
54+/* Enable XCalibrate extension */
55+#undef XCALIBRATE
56+
57 #endif /* _KDRIVE_CONFIG_H_ */
58Index: xorg-server-1.1.99.3/Xext/Makefile.am
59===================================================================
60--- xorg-server-1.1.99.3.orig/Xext/Makefile.am 2006-11-03 14:49:05.000000000 +0000
61+++ xorg-server-1.1.99.3/Xext/Makefile.am 2007-01-29 22:58:33.000000000 +0000
62@@ -81,6 +81,11 @@ BUILTIN_SRCS += $(XCALIBRATE_SRCS)
63 # XCalibrare needs tslib
64 endif
65
66+XCALIBRATE_SRCS = xcalibrate.c
67+if XCALIBRATE
68+BUILTIN_SRCS += $(XCALIBRATE_SRCS)
69+endif
70+
71 # X EVent Interception Extension: allows accessibility helpers & composite
72 # managers to intercept events from input devices and transform as needed
73 # before the clients see them.
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch
deleted file mode 100644
index fbe89b16b1..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch
+++ /dev/null
@@ -1,122 +0,0 @@
1---
2 Xext/xcalibrate.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
3 hw/kdrive/src/kdrive.h | 3 +++
4 hw/kdrive/src/kinput.c | 12 ++++++++++++
5 3 files changed, 61 insertions(+), 1 deletion(-)
6
7Index: xorg-server-1.1.99.3/Xext/xcalibrate.c
8===================================================================
9--- xorg-server-1.1.99.3.orig/Xext/xcalibrate.c 2007-06-30 16:27:13.000000000 +0100
10+++ xorg-server-1.1.99.3/Xext/xcalibrate.c 2007-06-30 16:27:15.000000000 +0100
11@@ -166,7 +166,6 @@ ProcXCalibrateSetRawMode (ClientPtr clie
12 return (client->noClientException);
13 }
14
15-
16 static int
17 SProcXCalibrateSetRawMode (ClientPtr client)
18 {
19@@ -180,6 +179,47 @@ SProcXCalibrateSetRawMode (ClientPtr cli
20 return ProcXCalibrateSetRawMode(client);
21 }
22
23+static int
24+ProcXCalibrateScreenToCoord (ClientPtr client)
25+{
26+ REQUEST(xXCalibrateScreenToCoordReq);
27+ xXCalibrateScreenToCoordReply rep;
28+
29+ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
30+
31+ memset (&rep, 0, sizeof (rep));
32+ rep.type = X_Reply;
33+ rep.sequenceNumber = client->sequence;
34+ rep.x = stuff->x;
35+ rep.y = stuff->y;
36+
37+ KdScreenToMouseCoords(&rep.x, &rep.y);
38+
39+ if (client->swapped)
40+ {
41+ int n;
42+
43+ swaps (&rep.x, n);
44+ swaps (&rep.y, n);
45+ }
46+ WriteToClient(client, sizeof (rep), (char *) &rep);
47+ return (client->noClientException);
48+}
49+
50+static int
51+SProcXCalibrateScreenToCoord (ClientPtr client)
52+{
53+ REQUEST(xXCalibrateScreenToCoordReq);
54+ int n;
55+
56+ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
57+
58+ swaps(&stuff->x, n);
59+ swaps(&stuff->y, n);
60+
61+ return ProcXCalibrateScreenToCoord(client);
62+}
63+
64 static void
65 XCalibrateResetProc (ExtensionEntry *extEntry)
66 {
67@@ -194,6 +234,9 @@ ProcXCalibrateDispatch (ClientPtr client
68 return ProcXCalibrateQueryVersion(client);
69 case X_XCalibrateRawMode:
70 return ProcXCalibrateSetRawMode(client);
71+ case X_XCalibrateScreenToCoord:
72+ return ProcXCalibrateScreenToCoord(client);
73+
74 default: break;
75 }
76
77@@ -213,6 +256,8 @@ SProcXCalibrateDispatch (ClientPtr clien
78 return SProcXCalibrateQueryVersion(client);
79 case X_XCalibrateRawMode:
80 return SProcXCalibrateSetRawMode(client);
81+ case X_XCalibrateScreenToCoord:
82+ return SProcXCalibrateScreenToCoord(client);
83
84 default: break;
85 }
86Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h
87===================================================================
88--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.h 2007-06-30 16:27:13.000000000 +0100
89+++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h 2007-06-30 16:30:40.000000000 +0100
90@@ -851,6 +851,9 @@ void
91 KdSetPointerMatrix (KdPointerMatrix *pointer);
92
93 void
94+KdScreenToMouseCoords (int *x, int *y);
95+
96+void
97 KdComputePointerMatrix (KdPointerMatrix *pointer, Rotation randr, int width, int height);
98
99 void
100Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c
101===================================================================
102--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2007-06-30 16:27:14.000000000 +0100
103+++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2007-06-30 16:30:16.000000000 +0100
104@@ -570,6 +570,18 @@ KdSetPointerMatrix (KdPointerMatrix *mat
105 }
106
107 void
108+KdScreenToMouseCoords (int *x, int *y)
109+{
110+ int (*m)[3] = kdPointerMatrix.matrix;
111+ int div = m[0][1] * m[1][0] - m[1][1] * m[0][0];
112+ int sx = *x;
113+ int sy = *y;
114+
115+ *x = (m[0][1] * sy - m[0][1] * m[1][2] + m[1][1] * m[0][2] - m[1][1] * sx) / div;
116+ *y = (m[1][0] * sx + m[0][0] * m[1][2] - m[1][0] * m[0][2] - m[0][0] * sy) / div;
117+}
118+
119+void
120 KdComputePointerMatrix (KdPointerMatrix *m, Rotation randr, int width,
121 int height)
122 {
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch
deleted file mode 100644
index a8f002ea2a..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch
+++ /dev/null
@@ -1,82 +0,0 @@
1---
2 hw/kdrive/fbdev/fbdev.c | 17 ++++++++++++-----
3 hw/kdrive/fbdev/fbdev.h | 1 +
4 hw/kdrive/fbdev/fbinit.c | 20 ++++++++++++++++----
5 3 files changed, 29 insertions(+), 9 deletions(-)
6
7--- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbdev.c
8+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbdev.c
9@@ -33,16 +33,23 @@
10
11 extern int KdTsPhyScreen;
12
13+char *fbdevDevicePath = NULL;
14 Bool
15 fbdevInitialize (KdCardInfo *card, FbdevPriv *priv)
16 {
17 int k;
18 unsigned long off;
19- if ((priv->fd = open("/dev/fb0", O_RDWR)) < 0 && \
20- (priv->fd = open("/dev/fb/0", O_RDWR)) < 0) {
21- perror("Error opening /dev/fb0");
22- return FALSE;
23- }
24+
25+ if (fbdevDevicePath == NULL)
26+ fbdevDevicePath = "/dev/fb0";
27+
28+ if ((priv->fd = open(fbdevDevicePath, O_RDWR)) < 0)
29+ {
30+ ErrorF("Error opening framebuffer %s: %s\n",
31+ fbdevDevicePath, strerror(errno));
32+ return FALSE;
33+ }
34+
35 /* quiet valgrind */
36 memset (&priv->fix, '\0', sizeof (priv->fix));
37 if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0) {
38--- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbdev.h
39+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbdev.h
40@@ -53,6 +53,7 @@ typedef struct _fbdevScrPriv {
41 } FbdevScrPriv;
42
43 extern KdCardFuncs fbdevFuncs;
44+extern char* fbdevDevicePath;
45
46 Bool
47 fbdevInitialize (KdCardInfo *card, FbdevPriv *priv);
48--- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbinit.c
49+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbinit.c
50@@ -59,16 +59,28 @@ InitInput (int argc, char **argv)
51 void
52 ddxUseMsg (void)
53 {
54- KdUseMsg();
55+ KdUseMsg();
56+ ErrorF("\nXfbdev Device Usage:\n");
57+ ErrorF("-fb path Framebuffer device to use. Defaults to /dev/fb0\n");
58+ ErrorF("\n");
59 }
60
61 int
62 ddxProcessArgument (int argc, char **argv, int i)
63 {
64- return KdProcessArgument (argc, argv, i);
65-}
66-
67+ if (!strcmp (argv[i], "-fb"))
68+ {
69+ if (i+1 < argc)
70+ {
71+ fbdevDevicePath = argv[i+1];
72+ return 2;
73+ }
74+ UseMsg();
75+ exit(1);
76+ }
77
78+ return KdProcessArgument (argc, argv, i);
79+}
80
81 KdCardFuncs fbdevFuncs = {
82 fbdevCardInit, /* cardinit */
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb
deleted file mode 100644
index d1e955f9d3..0000000000
--- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb
+++ /dev/null
@@ -1,52 +0,0 @@
1LICENSE = "MIT"
2DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto xpext xsp libxkbfile dbus"
3
4PROVIDES = "virtual/xserver"
5PACKAGES =+ "xserver-kdrive-xomap"
6SECTION = "x11/base"
7DESCRIPTION = "X server from freedesktop.org"
8DESCRIPTION_xserver-kdrive-xomap = "X server for the OMAP in the Nokia 800"
9
10PE = "1"
11
12COMPATIBLE_MACHINE = "nokia(800|770)"
13
14FILES_${PN} = "${libdir}/xserver /etc/dbus-1/* ${bindir}/Xomap"
15
16SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/xorg-server_1.1.99.3-0osso31.tar.gz \
17 file://kmode.patch;patch=1 \
18 file://disable-apm.patch;patch=1 \
19 file://no-serial-probing.patch;patch=1 \
20 file://fbdev-not-fix.patch;patch=1 \
21 file://enable-builtin-fonts.patch;patch=1 \
22 file://xcalibrate.patch;patch=1 \
23 file://fixups.patch;patch=1 \
24 file://button_only.patch;patch=1 \
25 file://calibrateext.patch;patch=1 \
26 file://disable-xkb.patch;patch=1 \
27 file://configfix.patch;patch=1 \
28 file://xcalibrate_coords.patch;patch=1"
29# file://kdrive-evdev.patch;patch=1 \
30# file://kdrive-use-evdev.patch;patch=1 \
31# file://disable-xf86-dga-xorgcfg.patch;patch=1 \
32# file://enable-tslib.patch;patch=1 \
33# file://xfbdev-fb-opt.patch;patch=1"
34
35S = "${WORKDIR}/xorg-server-1.1.99.3"
36
37inherit autotools pkgconfig
38
39EXTRA_OECONF = "--enable-composite --enable-kdrive --enable-builtin-fonts \
40 --disable-dga --disable-dri --disable-xinerama \
41 --disable-xf86misc --disable-xf86vidmode \
42 --disable-xorg --disable-xorgcfg \
43 --disable-dmx --enable-xcalibrate \
44 --disable-xkb --disable-xnest --disable-xvfb \
45 --disable-xevie --disable-xprint --disable-xtrap \
46 --with-default-font-path=built-ins \
47 ac_cv_file__usr_share_X11_sgml_defs_ent=no \
48 --enable-xomap"
49
50do_configure_prepend() {
51 sed -i -e 's/tslib-0.0/tslib-1.0/' ${S}/configure.ac
52}
diff --git a/meta-extras/packages/yum/createrepo-native/pathfix.patch b/meta-extras/packages/yum/createrepo-native/pathfix.patch
deleted file mode 100644
index a09a51ccc9..0000000000
--- a/meta-extras/packages/yum/createrepo-native/pathfix.patch
+++ /dev/null
@@ -1,81 +0,0 @@
1Index: createrepo-0.9/Makefile
2===================================================================
3--- createrepo-0.9.orig/Makefile 2008-08-23 17:49:24.000000000 +0100
4+++ createrepo-0.9/Makefile 2008-08-23 17:52:01.000000000 +0100
5@@ -10,22 +10,6 @@
6 SHELL = /bin/sh
7 top_srcdir = .
8 srcdir = .
9-prefix = /usr
10-exec_prefix = ${prefix}
11-
12-bindir = ${exec_prefix}/bin
13-sbindir = ${exec_prefix}/sbin
14-libexecdir = ${exec_prefix}/libexec
15-datadir = ${prefix}/share
16-sysconfdir = ${prefix}/etc
17-sharedstatedir = ${prefix}/com
18-localstatedir = ${prefix}/var
19-libdir = ${exec_prefix}/lib
20-infodir = ${prefix}/info
21-docdir =
22-includedir = ${prefix}/include
23-oldincludedir = /usr/include
24-mandir = ${prefix}/share/man
25
26 pkgdatadir = $(datadir)/$(PKGNAME)
27 pkglibdir = $(libdir)/$(PKGNAME)
28Index: createrepo-0.9/bin/Makefile
29===================================================================
30--- createrepo-0.9.orig/bin/Makefile 2008-08-23 17:50:13.000000000 +0100
31+++ createrepo-0.9/bin/Makefile 2008-08-23 17:50:23.000000000 +0100
32@@ -1,22 +1,6 @@
33 SHELL = /bin/sh
34 top_srcdir = ..
35 srcdir = ../bin
36-prefix = /usr
37-exec_prefix = ${prefix}
38-
39-bindir = ${exec_prefix}/bin
40-sbindir = ${exec_prefix}/sbin
41-libexecdir = ${exec_prefix}/libexec
42-datadir = ${prefix}/share
43-sysconfdir = ${prefix}/etc
44-sharedstatedir = ${prefix}/com
45-localstatedir = ${prefix}/var
46-libdir = ${exec_prefix}/lib
47-infodir = ${prefix}/info
48-docdir =
49-includedir = ${prefix}/include
50-oldincludedir = /usr/include
51-mandir = ${prefix}/man
52
53 pkgdatadir = $(datadir)/$(PKGNAME)
54 pkglibdir = $(libdir)/$(PKGNAME)
55Index: createrepo-0.9/docs/Makefile
56===================================================================
57--- createrepo-0.9.orig/docs/Makefile 2008-08-23 17:52:42.000000000 +0100
58+++ createrepo-0.9/docs/Makefile 2008-08-23 17:52:50.000000000 +0100
59@@ -1,22 +1,6 @@
60 SHELL = /bin/sh
61 top_srcdir = ..
62 srcdir = ../docs
63-prefix = /usr
64-exec_prefix = ${prefix}
65-
66-bindir = ${exec_prefix}/bin
67-sbindir = ${exec_prefix}/sbin
68-libexecdir = ${exec_prefix}/libexec
69-datadir = ${prefix}/share
70-sysconfdir = ${prefix}/etc
71-sharedstatedir = ${prefix}/com
72-localstatedir = ${prefix}/var
73-libdir = ${exec_prefix}/lib
74-infodir = ${prefix}/info
75-docdir =
76-includedir = ${prefix}/include
77-oldincludedir = /usr/include
78-mandir = ${datadir}/man
79
80 pkgdatadir = $(datadir)/$(PKGNAME)
81 pkglibdir = $(libdir)/$(PKGNAME)
diff --git a/meta-extras/packages/yum/createrepo-native_0.9.8.bb b/meta-extras/packages/yum/createrepo-native_0.9.8.bb
deleted file mode 100644
index 895f2e96fe..0000000000
--- a/meta-extras/packages/yum/createrepo-native_0.9.8.bb
+++ /dev/null
@@ -1,17 +0,0 @@
1DEPENDS = "python-native libxml2-native"
2RDEPENDS = "yum-native"
3
4SRC_URI = "http://createrepo.baseurl.org/download/createrepo-${PV}.tar.gz \
5 file://pathfix.patch;patch=1 "
6PR = "r2"
7
8inherit autotools native
9
10S = "${WORKDIR}/createrepo-${PV}"
11
12do_compile_append () {
13 sed -e 's#exec /usr/share#exec ${datadir}#' -i ${S}/bin/createrepo
14 sed -e 's#exec /usr/share#exec ${datadir}#' -i ${S}/bin/modifyrepo
15 sed -e 's#!/usr/bin/python#!${bindir}/python#' -i ${S}/genpkgmetadata.py
16 sed -e 's#!/usr/bin/python#!${bindir}/python#' -i ${S}/modifyrepo.py
17}
diff --git a/meta-extras/packages/yum/files/98_yum b/meta-extras/packages/yum/files/98_yum
deleted file mode 100644
index cb4047ad2b..0000000000
--- a/meta-extras/packages/yum/files/98_yum
+++ /dev/null
@@ -1 +0,0 @@
1d root root 0755 /var/cache/yum none
diff --git a/meta-extras/packages/yum/files/extract-postinst.awk b/meta-extras/packages/yum/files/extract-postinst.awk
deleted file mode 100644
index 8f2836b32c..0000000000
--- a/meta-extras/packages/yum/files/extract-postinst.awk
+++ /dev/null
@@ -1,11 +0,0 @@
1/Name:.*/ {
2 package = substr($0, 7)
3 next
4}
5/postinstall.*scriptlet .*/ {
6 next
7}
8{
9 print $0 >> ENVIRON["D"] "/etc/rpm-postinsts/" package ".sh"
10}
11
diff --git a/meta-extras/packages/yum/files/fix b/meta-extras/packages/yum/files/fix
deleted file mode 100644
index bcb3301e14..0000000000
--- a/meta-extras/packages/yum/files/fix
+++ /dev/null
@@ -1,18 +0,0 @@
1---
2 rpmUtils/Makefile | 2 +-
3 1 file changed, 1 insertion(+), 1 deletion(-)
4
5--- yum-3.2.18.orig/rpmUtils/Makefile
6+++ yum-3.2.18/rpmUtils/Makefile
7@@ -1,10 +1,10 @@
8 PYTHON=python
9 PACKAGE = $(shell basename `pwd`)
10 PYFILES = $(wildcard *.py)
11 PYVER := $(shell $(PYTHON) -c 'import sys; print "%.3s" %(sys.version)')
12-PYSYSDIR := $(shell $(PYTHON) -c 'import sys; print sys.prefix')
13+PYSYSDIR := /usr
14 PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER)
15 PKGDIR = $(PYLIBDIR)/site-packages/$(PACKAGE)
16
17 all:
18 echo "Nothing to do"
diff --git a/meta-extras/packages/yum/files/hacks.patch b/meta-extras/packages/yum/files/hacks.patch
deleted file mode 100644
index 61f477172c..0000000000
--- a/meta-extras/packages/yum/files/hacks.patch
+++ /dev/null
@@ -1,81 +0,0 @@
1---
2 rpmUtils/arch.py | 3 +++
3 rpmUtils/transaction.py | 1 +
4 yum/constants.py | 2 +-
5 yum/depsolve.py | 2 ++
6 4 files changed, 7 insertions(+), 1 deletion(-)
7
8Index: yum-3.2.18/rpmUtils/arch.py
9===================================================================
10--- yum-3.2.18.orig/rpmUtils/arch.py 2008-06-17 14:05:42.000000000 +0100
11+++ yum-3.2.18/rpmUtils/arch.py 2008-10-02 22:09:19.000000000 +0100
12@@ -275,6 +275,12 @@
13 return arch
14
15 def getCanonArch(skipRpmPlatform = 0):
16+ import os
17+ if 'YUM_ARCH_FORCE' in os.environ:
18+ return os.environ['YUM_ARCH_FORCE']
19+
20+ sys.exit(1)
21+
22 if not skipRpmPlatform and os.access("/etc/rpm/platform", os.R_OK):
23 try:
24 f = open("/etc/rpm/platform", "r")
25@@ -331,6 +338,12 @@
26 base arch is the arch before noarch in the arches dict if myarch is not
27 a key in the multilibArches."""
28
29+ import os
30+ if 'YUM_ARCH_FORCE' in os.environ:
31+ return os.environ['YUM_ARCH_FORCE']
32+
33+ sys.exit(1)
34+
35 if not myarch:
36 myarch = canonArch
37
38Index: yum-3.2.18/rpmUtils/transaction.py
39===================================================================
40--- yum-3.2.18.orig/rpmUtils/transaction.py 2008-06-17 14:05:42.000000000 +0100
41+++ yum-3.2.18/rpmUtils/transaction.py 2008-10-02 17:09:57.000000000 +0100
42@@ -43,6 +43,7 @@
43 'clean']
44 self.tsflags = []
45 self.open = True
46+ self.ts.setProbFilter(rpm.RPMPROB_FILTER_IGNOREOS | rpm.RPMPROB_FILTER_IGNOREARCH)
47
48 def __del__(self):
49 # Automatically close the rpm transaction when the reference is lost
50Index: yum-3.2.18/yum/constants.py
51===================================================================
52--- yum-3.2.18.orig/yum/constants.py 2008-07-21 16:56:54.000000000 +0100
53+++ yum-3.2.18/yum/constants.py 2008-10-02 17:09:57.000000000 +0100
54@@ -17,7 +17,7 @@
55 """
56
57 #Constants
58-YUM_PID_FILE = '/var/run/yum.pid'
59+YUM_PID_FILE = '/var/run2/yum.pid'
60
61 #transaction set states
62 TS_UPDATE = 10
63Index: yum-3.2.18/yum/depsolve.py
64===================================================================
65--- yum-3.2.18.orig/yum/depsolve.py 2008-08-06 17:05:16.000000000 +0100
66+++ yum-3.2.18/yum/depsolve.py 2008-10-02 17:09:57.000000000 +0100
67@@ -141,9 +141,14 @@
68 else:
69 self.logger.critical(_('Invalid tsflag in config file: %s'), flag)
70
71+ self._ts.addTsFlag(rpm.RPMTRANS_FLAG_NOPOST)
72+ self._ts.addTsFlag(rpm.RPMTRANS_FLAG_NOTRIGGERS)
73+
74 probfilter = 0
75 for flag in self.tsInfo.probFilterFlags:
76 probfilter |= flag
77+ probfilter |= rpm.RPMPROB_FILTER_IGNOREOS
78+ probfilter |= rpm.RPMPROB_FILTER_IGNOREARCH
79 self._ts.setProbFilter(probfilter)
80
81 def whatProvides(self, name, flags, version):
diff --git a/meta-extras/packages/yum/files/paths.patch b/meta-extras/packages/yum/files/paths.patch
deleted file mode 100644
index 0175d05b34..0000000000
--- a/meta-extras/packages/yum/files/paths.patch
+++ /dev/null
@@ -1,106 +0,0 @@
1---
2 Makefile | 18 +++++++++---------
3 docs/Makefile | 12 ++++++------
4 etc/Makefile | 20 ++++++++++----------
5 3 files changed, 25 insertions(+), 25 deletions(-)
6
7Index: yum-3.2.27/Makefile
8===================================================================
9--- yum-3.2.27.orig/Makefile 2010-03-04 01:10:20.000000000 +0000
10+++ yum-3.2.27/Makefile 2010-03-23 13:49:50.663912930 +0000
11@@ -22,19 +22,19 @@
12 for d in $(SUBDIRS); do make PYTHON=$(PYTHON) -C $$d; [ $$? = 0 ] || exit 1 ; done
13
14 install:
15- mkdir -p $(DESTDIR)/usr/share/yum-cli
16+ mkdir -p $(DESTDIR)$(datadir)/yum-cli
17 for p in $(PYFILES) ; do \
18- install -m 644 $$p $(DESTDIR)/usr/share/yum-cli/$$p; \
19+ install -m 644 $$p $(DESTDIR)$(datadir)/yum-cli/$$p; \
20 done
21- mv $(DESTDIR)/usr/share/yum-cli/yum-updatesd.py $(DESTDIR)/usr/share/yum-cli/yumupd.py
22- $(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)/usr/share/yum-cli', 1, '$(PYDIR)', 1)"
23+ mv $(DESTDIR)$(datadir)/yum-cli/yum-updatesd.py $(DESTDIR)$(datadir)/yum-cli/yumupd.py
24+ $(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)$(datadir)/yum-cli', 1, '$(PYDIR)', 1)"
25
26- mkdir -p $(DESTDIR)/usr/bin $(DESTDIR)/usr/sbin
27- install -m 755 bin/yum.py $(DESTDIR)/usr/bin/yum
28- install -m 755 bin/yum-updatesd.py $(DESTDIR)/usr/sbin/yum-updatesd
29+ mkdir -p $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir)
30+ install -m 755 bin/yum.py $(DESTDIR)$(bindir)/yum
31+ install -m 755 bin/yum-updatesd.py $(DESTDIR)$(sbindir)/yum-updatesd
32
33- mkdir -p $(DESTDIR)/var/cache/yum
34- mkdir -p $(DESTDIR)/var/lib/yum
35+ mkdir -p $(DESTDIR)$(localstatedir)/cache/yum
36+ mkdir -p $(DESTDIR)$(localstatedir)/lib/yum
37
38 for d in $(SUBDIRS); do make PYTHON=$(PYTHON) DESTDIR=`cd $(DESTDIR); pwd` -C $$d install; [ $$? = 0 ] || exit 1; done
39
40Index: yum-3.2.27/docs/Makefile
41===================================================================
42--- yum-3.2.27.orig/docs/Makefile 2009-04-07 14:57:06.000000000 +0100
43+++ yum-3.2.27/docs/Makefile 2010-03-23 13:52:30.086667913 +0000
44@@ -6,10 +6,10 @@
45 rm -fr epydoc
46
47 install:
48- mkdir -p $(DESTDIR)/usr/share/man/man5
49- mkdir -p $(DESTDIR)/usr/share/man/man8
50- install -m 644 yum.8 $(DESTDIR)/usr/share/man/man8/yum.8
51- install -m 644 yum-shell.8 $(DESTDIR)/usr/share/man/man8/yum-shell.8
52- install -m 644 yum.conf.5 $(DESTDIR)/usr/share/man/man5/yum.conf.5
53- install -m 644 yum-updatesd.8 $(DESTDIR)/usr/share/man/man8/yum-updatesd.8
54- install -m 644 yum-updatesd.conf.5 $(DESTDIR)/usr/share/man/man5/yum-updatesd.conf.5
55+ mkdir -p $(DESTDIR)$(mandir)/man5
56+ mkdir -p $(DESTDIR)$(mandir)/man8
57+ install -m 644 yum.8 $(DESTDIR)$(mandir)/man8/yum.8
58+ install -m 644 yum-shell.8 $(DESTDIR)$(mandir)/man8/yum-shell.8
59+ install -m 644 yum.conf.5 $(DESTDIR)$(mandir)/man5/yum.conf.5
60+ install -m 644 yum-updatesd.8 $(DESTDIR)$(mandir)/man8/yum-updatesd.8
61+ install -m 644 yum-updatesd.conf.5 $(DESTDIR)$(mandir)/man5/yum-updatesd.conf.5
62Index: yum-3.2.27/etc/Makefile
63===================================================================
64--- yum-3.2.27.orig/etc/Makefile 2009-10-26 18:56:06.000000000 +0000
65+++ yum-3.2.27/etc/Makefile 2010-03-23 13:54:40.421912460 +0000
66@@ -1,4 +1,4 @@
67-YUMETC=$(DESTDIR)/etc/yum
68+YUMETC=$(DESTDIR)$(sysconfdir)/yum
69
70 all:
71 echo "Nothing to do"
72@@ -7,23 +7,23 @@
73 rm -f *.pyc *.pyo *~
74
75 install:
76- mkdir -p $(DESTDIR)/etc/yum/
77- mkdir -p $(DESTDIR)/etc/yum/repos.d
78+ mkdir -p $(DESTDIR)$(sysconfdir)/yum/
79+ mkdir -p $(DESTDIR)$(sysconfdir)/yum/repos.d
80
81 install -m 644 yum.conf $(YUMETC)/yum.conf
82
83 install -m 644 version-groups.conf $(YUMETC)/version-groups.conf
84
85- mkdir -p $(DESTDIR)/etc/logrotate.d
86- install -m 644 yum.logrotate $(DESTDIR)/etc/logrotate.d/yum
87+ mkdir -p $(DESTDIR)$(sysconfdir)/logrotate.d
88+ install -m 644 yum.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/yum
89
90- mkdir -p $(DESTDIR)/etc/rc.d/init.d
91- install -m 755 yum-updatesd.init $(DESTDIR)/etc/rc.d/init.d/yum-updatesd
92+ mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d
93+ install -m 755 yum-updatesd.init $(DESTDIR)$(sysconfdir)/rc.d/init.d/yum-updatesd
94
95- mkdir -p $(DESTDIR)/etc/dbus-1/system.d/
96- install -m 755 yum-updatesd-dbus.conf $(DESTDIR)/etc/dbus-1/system.d/yum-updatesd.conf
97+ mkdir -p $(DESTDIR)$(sysconfdir)/dbus-1/system.d/
98+ install -m 755 yum-updatesd-dbus.conf $(DESTDIR)$(sysconfdir)/dbus-1/system.d/yum-updatesd.conf
99
100- install -m 755 yum-updatesd.conf $(DESTDIR)/etc/yum/yum-updatesd.conf
101+ install -m 755 yum-updatesd.conf $(DESTDIR)$(sysconfdir)/yum/yum-updatesd.conf
102
103- mkdir -p $(DESTDIR)/etc/bash_completion.d
104- install -m 644 yum.bash $(DESTDIR)/etc/bash_completion.d
105+ mkdir -p $(DESTDIR)$(sysconfdir)/bash_completion.d
106+ install -m 644 yum.bash $(DESTDIR)$(sysconfdir)/bash_completion.d
diff --git a/meta-extras/packages/yum/files/paths2.patch b/meta-extras/packages/yum/files/paths2.patch
deleted file mode 100644
index 8fe6d0c983..0000000000
--- a/meta-extras/packages/yum/files/paths2.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1---
2 rpmUtils/Makefile | 2 +-
3 yum/Makefile | 2 +-
4 2 files changed, 2 insertions(+), 2 deletions(-)
5
6Index: yum-3.2.27/rpmUtils/Makefile
7===================================================================
8--- yum-3.2.27.orig/rpmUtils/Makefile 2010-03-24 17:26:39.759798777 +0000
9+++ yum-3.2.27/rpmUtils/Makefile 2010-03-24 17:26:54.835863845 +0000
10@@ -2,8 +2,8 @@
11 PACKAGE = $(shell basename `pwd`)
12 PYFILES = $(wildcard *.py)
13 PYVER := $(shell $(PYTHON) -c 'import sys; print "%.3s" %(sys.version)')
14-PYSYSDIR := $(shell $(PYTHON) -c 'import sys; print sys.prefix')
15-PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER)
16+PYSYSDIR = $(libdir)
17+PYLIBDIR = $(PYSYSDIR)/python$(PYVER)
18 PKGDIR = $(PYLIBDIR)/site-packages/$(PACKAGE)
19
20 all:
21Index: yum-3.2.27/yum/Makefile
22===================================================================
23--- yum-3.2.27.orig/yum/Makefile 2010-03-24 17:26:39.759798777 +0000
24+++ yum-3.2.27/yum/Makefile 2010-03-24 17:26:43.726773783 +0000
25@@ -2,8 +2,8 @@
26 PACKAGE = $(shell basename `pwd`)
27 PYFILES = $(wildcard *.py)
28 PYVER := $(shell $(PYTHON) -c 'import sys; print "%.3s" %(sys.version)')
29-PYSYSDIR := $(shell $(PYTHON) -c 'import sys; print sys.prefix')
30-PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER)
31+PYSYSDIR = $(libdir)
32+PYLIBDIR = $(PYSYSDIR)/python$(PYVER)
33 PKGDIR = $(PYLIBDIR)/site-packages/$(PACKAGE)
34
35 all:
diff --git a/meta-extras/packages/yum/files/yum-install-recommends.py b/meta-extras/packages/yum/files/yum-install-recommends.py
deleted file mode 100755
index 64716f2c3e..0000000000
--- a/meta-extras/packages/yum/files/yum-install-recommends.py
+++ /dev/null
@@ -1,39 +0,0 @@
1#!/usr/bin/env python
2import os, sys
3
4root = sys.argv[1]
5installcmd = sys.argv[2]
6
7#
8# Take an rpm image and look through for Recommends:. For each recommends
9# found, try and install any matching packages including any Recommends for
10# packages installed by us.
11#
12
13
14def get_recommends():
15 deps = []
16 output = os.popen("rpm --root %s -aq --recommends" % (root))
17 lines = output.readlines()
18 for line in lines:
19 line = line.replace("(none)","")
20 if line:
21 deps.append(line.split()[0])
22 return deps
23
24processed = []
25
26while True:
27 toinstall = []
28 recommends = set(get_recommends())
29 for item in recommends:
30 if item not in processed:
31 toinstall.append(item)
32 if len(toinstall) != 0:
33 print "Installing %s" % " ".join(toinstall)
34 os.system("%s %s" % (installcmd, " ".join(toinstall)))
35 else:
36 break
37 processed.extend(toinstall)
38
39
diff --git a/meta-extras/packages/yum/yum_3.2.27.bb b/meta-extras/packages/yum/yum_3.2.27.bb
deleted file mode 100644
index acebc79dde..0000000000
--- a/meta-extras/packages/yum/yum_3.2.27.bb
+++ /dev/null
@@ -1,46 +0,0 @@
1DESCRIPTION = "yum package manger is an automatic updater for rpm."
2HOMEPAGE = "http://yum.baseurl.org/"
3BUGTRACKER = "http://yum.baseurl.org/report"
4
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \
7 file://yum/sqlutils.py;beginline=2;endline=14;md5=d704ae6a9d69ce90768ab9188236b992"
8
9RDEPENDS = "python-rpm python-core python-iniparse python-urlgrabber \
10 python-shell python-re python-logging python-pickle \
11 python-netserver python-compression \
12 python-unixadmin python-xml python-sqlite3 \
13 python-textutils python-fcntl python-email \
14 yum-metadata-parser"
15
16PR = "r9"
17
18SRC_URI = "http://yum.baseurl.org/download/3.2/yum-${PV}.tar.gz \
19 file://paths.patch;apply=yes \
20 file://paths2.patch;apply=yes \
21 file://yum-install-recommends.py \
22 file://extract-postinst.awk \
23 file://98_yum"
24
25S = "${WORKDIR}/yum-${PV}"
26
27inherit autotools
28
29do_compile_append () {
30 sed -e 's#!/usr/bin/python#!${bindir}/python#' -e 's#/usr/share#${datadir}#' -i ${S}/bin/yum.py
31 sed -e 's#!/usr/bin/python#!${bindir}/python#' -e 's#/usr/share#${datadir}#' -i ${S}/bin/yum-updatesd.py
32}
33
34do_install_append () {
35 install -d ${D}${bindir}/
36 install ${WORKDIR}/extract-postinst.awk ${D}${bindir}/
37 install ${WORKDIR}/yum-install-recommends.py ${D}${bindir}/
38 rmdir ${D}${localstatedir}/cache/yum
39 rmdir ${D}${localstatedir}/cache
40 install -d ${D}/etc/default/volatiles
41 install -m 0644 ${WORKDIR}/98_yum ${D}/etc/default/volatiles
42}
43
44FILES_${PN} += "${libdir}/python* ${datadir}/yum-cli"
45
46BBCLASSEXTEND = "native"
diff --git a/meta-extras/packages/zope/zope_3.3.1.bb b/meta-extras/packages/zope/zope_3.3.1.bb
deleted file mode 100644
index 283cb18d0e..0000000000
--- a/meta-extras/packages/zope/zope_3.3.1.bb
+++ /dev/null
@@ -1,45 +0,0 @@
1DESCRIPTION = "A full fledged pluggable content management system with integrated web server and much more."
2SECTION = "console/network"
3PRIORITY = "optional"
4DEPENDS = "python"
5RDEPENDS = "python-core python-shell"
6LICENSE = "ZPL"
7PR = "r3"
8
9SRC_URI = "http://www.zope.org/Products/Zope3/${PV}/Zope-${PV}.tgz"
10
11S = "${WORKDIR}/Zope-${PV}"
12
13do_configure() {
14 ./configure --with-python=${STAGING_BINDIR_NATIVE}/python --prefix=${prefix} --force
15}
16
17do_compile() {
18 oe_runmake HOST_SYS=${HOST_SYS} BUILD_SYS=${BUILD_SYS} STAGING_INCDIR=${STAGING_INCDIR} STAGING_LIBDIR=${STAGING_LIBDIR}
19}
20
21PYTHON_MAJMIN = "2.5"
22
23do_install() {
24 install -d ${D}${libdir}/python${PYTHON_MAJMIN}
25 oe_runmake install prefix=${D}${prefix} HOST_SYS=${HOST_SYS} BUILD_SYS=${BUILD_SYS} STAGING_INCDIR=${STAGING_INCDIR} STAGING_LIBDIR=${STAGING_LIBDIR}
26 mv ${D}${libdir}/python/* ${D}${libdir}/python${PYTHON_MAJMIN}
27}
28
29PACKAGES =+ "python-zopeinterface python-zopeinterface-dbg"
30
31FILES_${PN} = "${prefix}"
32FILES_${PN}_doc = "${prefix}/doc"
33FILES_${PN}-dbg += "\
34${libdir}/python${PYTHON_MAJMIN}/BTrees/.debug \
35${libdir}/python${PYTHON_MAJMIN}/persistent/.debug \
36${libdir}/python${PYTHON_MAJMIN}/zope/proxy/.debug \
37${libdir}/python${PYTHON_MAJMIN}/zope/thread/.debug \
38${libdir}/python${PYTHON_MAJMIN}/zope/security/.debug \
39${libdir}/python${PYTHON_MAJMIN}/zope/hookable/.debug \
40${libdir}/python${PYTHON_MAJMIN}/zope/app/container/.debug \
41${libdir}/python${PYTHON_MAJMIN}/zope/i18nmessageid/.debug \
42${libdir}/python${PYTHON_MAJMIN}/ZODB/.debug"
43FILES_python-zopeinterface-dbg += "${libdir}/python${PYTHON_MAJMIN}/zope/interface/.debug "
44
45FILES_python-zopeinterface = "${libdir}/python${PYTHON_MAJMIN}/zope/interface/*.* ${libdir}/python${PYTHON_MAJMIN}/zope/interface/common"