From: Michael Tremer Date: Mon, 12 May 2014 11:49:12 +0000 (+0200) Subject: Merge remote-tracking branch 'glotzi/nut-update' into next X-Git-Tag: v2.15-core79~90 X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff_plain;h=d25b7c32bd420267d2604dfa34e6e3bfa7de9ed7;hp=9eb6ff30db048dfeff384b53acc18e58b6363788 Merge remote-tracking branch 'glotzi/nut-update' into next --- diff --git a/config/backup/includes/stunnel b/config/backup/includes/stunnel new file mode 100644 index 0000000000..e5702f1794 --- /dev/null +++ b/config/backup/includes/stunnel @@ -0,0 +1 @@ +/etc/stunnel/ diff --git a/config/backup/includes/watchdog b/config/backup/includes/watchdog index 3ef13592a0..fe7a567886 100644 --- a/config/backup/includes/watchdog +++ b/config/backup/includes/watchdog @@ -1 +1,2 @@ +/etc/sysconfig/watchdog /etc/watchdog.conf diff --git a/config/cfgroot/general-functions.pl b/config/cfgroot/general-functions.pl index adfba54891..271dc41dac 100644 --- a/config/cfgroot/general-functions.pl +++ b/config/cfgroot/general-functions.pl @@ -353,7 +353,7 @@ sub iporsubtodec } #Subnet already in decimal and valid? if ($mask=~/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ &&(($1<=255 && $2<=$1 && $3<=$2 && $4<=$3 ))) { - for (my $i=8;$i<=32;$i++){ + for (my $i=0;$i<=32;$i++){ if (&General::cidrtosub($i) eq $mask){ if ($full == 0){return $mask;}else{ return $net."/".$mask; @@ -362,7 +362,7 @@ sub iporsubtodec } } #Subnet in binary format? - if ($mask=~/^(\d{1,2})$/ && (($1<=32 && $1>=8))){ + if ($mask=~/^(\d{1,2})$/ && (($1<=32 && $1>=0))){ if($full == 0){ return &General::cidrtosub($mask);}else{ return $net."/".&General::cidrtosub($mask); } @@ -389,7 +389,7 @@ sub iporsubtocidr } #Subnet in decimal and valid? if ($mask=~/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ &&(($1<=255 && $2<=$1 && $3<=$2 && $4<=$3 ))) { - for (my $i=8;$i<=32;$i++){ + for (my $i=0;$i<=32;$i++){ if (&General::cidrtosub($i) eq $mask){ if ($full == 0){return &General::subtocidr($mask);}else{ return $net."/".&General::subtocidr($mask); @@ -398,7 +398,7 @@ sub iporsubtocidr } } #Subnet already in binary format? - if ($mask=~/^(\d{1,2})$/ && (($1<=32 && $1>=8))){ + if ($mask=~/^(\d{1,2})$/ && (($1<=32 && $1>=0))){ if($full == 0){ return $mask;}else{ return $net."/".$mask; } @@ -488,13 +488,13 @@ sub validipandmask if ($ccdip=~/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ &&(($1>0 && $1<=255 && $2>=0 && $2<=255 && $3>=0 && $3<=255 && $4<=255 ))) { #Subnet in decimal and valid? if ($ccdsubnet=~/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ &&(($1<=255 && $2<=$1 && $3<=$2 && $4<=$3 ))) { - for (my $i=8;$i<=32;$i++){ + for (my $i=0;$i<=32;$i++){ if (&General::cidrtosub($i) eq $ccdsubnet){ return 1; } - } + } #Subnet already in binary format? - }elsif ($ccdsubnet=~/^(\d{1,2})$/ && (($1<=32 && $1>=8))){ + }elsif ($ccdsubnet=~/^(\d{1,2})$/ && (($1<=32 && $1>=0))){ return 1; }else{ return 0; diff --git a/config/etc/passwd b/config/etc/passwd index ebc82d55cc..0c2527ca39 100644 --- a/config/etc/passwd +++ b/config/etc/passwd @@ -8,6 +8,7 @@ mysql:x:41:41:MySQL Server:/dev/null:/bin/false ftp:x:45:45:anonymous_user:/home/ftp:/bin/false vsftpd:x:47:47:vsftpd User:/home/ftp:/bin/false rsyncd:x:48:48:rsyncd Daemon:/home/rsync:/bin/false +stunnel:x:51:51:stunnel Daemon:/var/lib/stunnel:/bin/false sshd:x:74:74:sshd:/var/empty:/bin/false nobody:x:99:99:Nobody:/home/nobody:/bin/false postfix:x:100:100::/var/spool/postfix:/bin/false diff --git a/config/firewall/convert-outgoingfw b/config/firewall/convert-outgoingfw index 2f9b74c4f9..c917f84384 100755 --- a/config/firewall/convert-outgoingfw +++ b/config/firewall/convert-outgoingfw @@ -427,8 +427,8 @@ sub process_rules $grp1='std_net_src'; $source='ORANGE'; }elsif ($configline[2] eq 'red') { - $grp1='std_net_src'; - $source='IPFire'; + $grp1='ipfire_src'; + $source='RED1'; &General::readhash($fwdfwsettings,\%fwdsettings); $fwdsettings{'POLICY1'}=$outsettings{'POLICY'}; $fwdsettings{'POLICY'}=$outsettings{'POLICY'}; @@ -538,7 +538,7 @@ sub process_rules my $chain; foreach my $protocol (@prot){ my $now=localtime; - if ($source eq 'IPFire'){ + if ($source eq 'RED1'){ $chain='OUTGOINGFW'; }else{ $chain='FORWARDFW'; diff --git a/config/firewall/rules.pl b/config/firewall/rules.pl index 2c314d16e5..c0ddcb2d69 100755 --- a/config/firewall/rules.pl +++ b/config/firewall/rules.pl @@ -354,20 +354,21 @@ sub buildrules { # Destination NAT if ($NAT_MODE eq "DNAT") { - # Make port-forwardings useable from the internal networks. - my @internal_addresses = &fwlib::get_internal_firewall_ip_addresses(1); - unless ($nat_address ~~ @internal_addresses) { - &add_dnat_mangle_rules($nat_address, @options); - } - my @nat_options = (); if ($protocol ne "all") { my @nat_protocol_options = &get_protocol_options($hash, $key, $protocol, 1); push(@nat_options, @nat_protocol_options); } + push(@nat_options, @time_options); + + # Make port-forwardings useable from the internal networks. + my @internal_addresses = &fwlib::get_internal_firewall_ip_addresses(1); + unless ($nat_address ~~ @internal_addresses) { + &add_dnat_mangle_rules($nat_address, @nat_options); + } + push(@nat_options, @source_options); push(@nat_options, ("-d", $nat_address)); - push(@nat_options, @time_options); my $dnat_port; if ($protocol_has_ports) { diff --git a/config/kernel/kernel.config.armv5tel-ipfire-kirkwood b/config/kernel/kernel.config.armv5tel-ipfire-kirkwood index 5245a7f8ee..2d9b11521a 100644 --- a/config/kernel/kernel.config.armv5tel-ipfire-kirkwood +++ b/config/kernel/kernel.config.armv5tel-ipfire-kirkwood @@ -1934,6 +1934,7 @@ CONFIG_WLAN=y CONFIG_LIBERTAS_THINFIRM=m # CONFIG_LIBERTAS_THINFIRM_DEBUG is not set CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_LIBERTAS_UAP=m CONFIG_ATMEL=m CONFIG_PCI_ATMEL=m CONFIG_AT76C50X_USB=m diff --git a/config/kernel/kernel.config.armv5tel-ipfire-multi b/config/kernel/kernel.config.armv5tel-ipfire-multi index dcd3b08f73..dcc177d3ec 100644 --- a/config/kernel/kernel.config.armv5tel-ipfire-multi +++ b/config/kernel/kernel.config.armv5tel-ipfire-multi @@ -2141,6 +2141,7 @@ CONFIG_WLAN=y CONFIG_LIBERTAS_THINFIRM=m # CONFIG_LIBERTAS_THINFIRM_DEBUG is not set CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_LIBERTAS_UAP=m CONFIG_ATMEL=m CONFIG_PCI_ATMEL=m CONFIG_AT76C50X_USB=m diff --git a/config/kernel/kernel.config.armv5tel-ipfire-rpi b/config/kernel/kernel.config.armv5tel-ipfire-rpi index a5266ec192..0c9b3d20ec 100644 --- a/config/kernel/kernel.config.armv5tel-ipfire-rpi +++ b/config/kernel/kernel.config.armv5tel-ipfire-rpi @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 3.10.32 Kernel Configuration +# Linux/arm 3.10.38 Kernel Configuration # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -681,6 +681,8 @@ CONFIG_NETFILTER_XT_MATCH_HELPER=m CONFIG_NETFILTER_XT_MATCH_HL=m CONFIG_NETFILTER_XT_MATCH_IPRANGE=m CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_LAYER7=m +# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set CONFIG_NETFILTER_XT_MATCH_LENGTH=m CONFIG_NETFILTER_XT_MATCH_LIMIT=m CONFIG_NETFILTER_XT_MATCH_MAC=m @@ -699,8 +701,6 @@ CONFIG_NETFILTER_XT_MATCH_RECENT=m CONFIG_NETFILTER_XT_MATCH_SCTP=m CONFIG_NETFILTER_XT_MATCH_SOCKET=m CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_LAYER7=m -# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set CONFIG_NETFILTER_XT_MATCH_STATISTIC=m CONFIG_NETFILTER_XT_MATCH_STRING=m CONFIG_NETFILTER_XT_MATCH_TCPMSS=m @@ -1530,6 +1530,7 @@ CONFIG_WLAN=y CONFIG_LIBERTAS_THINFIRM=m # CONFIG_LIBERTAS_THINFIRM_DEBUG is not set CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_LIBERTAS_UAP=m CONFIG_AT76C50X_USB=m CONFIG_USB_ZD1201=m CONFIG_USB_NET_RNDIS_WLAN=m @@ -2956,11 +2957,13 @@ CONFIG_SND_BCM2708_SOC_I2S=m CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m CONFIG_SND_BCM2708_SOC_RPI_DAC=m +# CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC is not set CONFIG_SND_DESIGNWARE_I2S=m CONFIG_SND_SOC_I2C_AND_SPI=m # CONFIG_SND_SOC_ALL_CODECS is not set CONFIG_SND_SOC_PCM1794A=m CONFIG_SND_SOC_PCM5102A=m +# CONFIG_SND_SOC_PCM512x is not set CONFIG_SND_SOC_WM8804=m CONFIG_SND_SIMPLE_CARD=m # CONFIG_SOUND_PRIME is not set diff --git a/config/kernel/kernel.config.i586-ipfire b/config/kernel/kernel.config.i586-ipfire index a50a248c73..246e436ecb 100644 --- a/config/kernel/kernel.config.i586-ipfire +++ b/config/kernel/kernel.config.i586-ipfire @@ -2120,6 +2120,7 @@ CONFIG_WLAN=y CONFIG_LIBERTAS_THINFIRM=m # CONFIG_LIBERTAS_THINFIRM_DEBUG is not set CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_LIBERTAS_UAP=m CONFIG_AIRO=m CONFIG_ATMEL=m CONFIG_PCI_ATMEL=m @@ -3052,37 +3053,37 @@ CONFIG_WATCHDOG_NOWAYOUT=y # CONFIG_SOFT_WATCHDOG=m CONFIG_RETU_WATCHDOG=m -# CONFIG_ACQUIRE_WDT is not set -# CONFIG_ADVANTECH_WDT is not set +CONFIG_ACQUIRE_WDT=m +CONFIG_ADVANTECH_WDT=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m CONFIG_F71808E_WDT=m CONFIG_SP5100_TCO=m CONFIG_GEODE_WDT=m -# CONFIG_SC520_WDT is not set +CONFIG_SC520_WDT=m CONFIG_SBC_FITPC2_WATCHDOG=m -# CONFIG_EUROTECH_WDT is not set +CONFIG_EUROTECH_WDT=m CONFIG_IB700_WDT=m CONFIG_IBMASR=m -# CONFIG_WAFER_WDT is not set +CONFIG_WAFER_WDT=m CONFIG_I6300ESB_WDT=m CONFIG_IE6XX_WDT=m CONFIG_ITCO_WDT=m -# CONFIG_ITCO_VENDOR_SUPPORT is not set +CONFIG_ITCO_VENDOR_SUPPORT=y CONFIG_IT8712F_WDT=m CONFIG_IT87_WDT=m CONFIG_HP_WATCHDOG=m CONFIG_HPWDT_NMI_DECODING=y -# CONFIG_SC1200_WDT is not set -# CONFIG_SCx200_WDT is not set -# CONFIG_PC87413_WDT is not set +CONFIG_SC1200_WDT=m +CONFIG_SCx200_WDT=m +CONFIG_PC87413_WDT=m CONFIG_NV_TCO=m -# CONFIG_60XX_WDT is not set -# CONFIG_SBC8360_WDT is not set -# CONFIG_SBC7240_WDT is not set -# CONFIG_CPU5_WDT is not set +CONFIG_60XX_WDT=m +CONFIG_SBC8360_WDT=m +CONFIG_SBC7240_WDT=m +CONFIG_CPU5_WDT=m CONFIG_SMSC_SCH311X_WDT=m -# CONFIG_SMSC37B787_WDT is not set +CONFIG_SMSC37B787_WDT=m CONFIG_VIA_WDT=m CONFIG_W83627HF_WDT=m CONFIG_W83697HF_WDT=m @@ -3090,7 +3091,7 @@ CONFIG_W83697UG_WDT=m CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m -# CONFIG_SBC_EPX_C3_WATCHDOG is not set +CONFIG_SBC_EPX_C3_WATCHDOG=m # # ISA-based Watchdog Cards diff --git a/config/kernel/kernel.config.i586-ipfire-pae b/config/kernel/kernel.config.i586-ipfire-pae index a116122aca..8dc185bca3 100644 --- a/config/kernel/kernel.config.i586-ipfire-pae +++ b/config/kernel/kernel.config.i586-ipfire-pae @@ -2134,6 +2134,7 @@ CONFIG_WLAN=y CONFIG_LIBERTAS_THINFIRM=m # CONFIG_LIBERTAS_THINFIRM_DEBUG is not set CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_LIBERTAS_UAP=m CONFIG_AIRO=m CONFIG_ATMEL=m CONFIG_PCI_ATMEL=m @@ -3071,36 +3072,36 @@ CONFIG_WATCHDOG_NOWAYOUT=y # CONFIG_SOFT_WATCHDOG=m CONFIG_RETU_WATCHDOG=m -# CONFIG_ACQUIRE_WDT is not set -# CONFIG_ADVANTECH_WDT is not set +CONFIG_ACQUIRE_WDT=m +CONFIG_ADVANTECH_WDT=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m CONFIG_F71808E_WDT=m CONFIG_SP5100_TCO=m CONFIG_GEODE_WDT=m -# CONFIG_SC520_WDT is not set +CONFIG_SC520_WDT=m CONFIG_SBC_FITPC2_WATCHDOG=m -# CONFIG_EUROTECH_WDT is not set +CONFIG_EUROTECH_WDT=m CONFIG_IB700_WDT=m CONFIG_IBMASR=m -# CONFIG_WAFER_WDT is not set +CONFIG_WAFER_WDT=m CONFIG_I6300ESB_WDT=m CONFIG_IE6XX_WDT=m CONFIG_ITCO_WDT=m -# CONFIG_ITCO_VENDOR_SUPPORT is not set +CONFIG_ITCO_VENDOR_SUPPORT=y CONFIG_IT8712F_WDT=m CONFIG_IT87_WDT=m CONFIG_HP_WATCHDOG=m CONFIG_HPWDT_NMI_DECODING=y -# CONFIG_SC1200_WDT is not set -# CONFIG_PC87413_WDT is not set +CONFIG_SC1200_WDT=m +CONFIG_PC87413_WDT=m CONFIG_NV_TCO=m -# CONFIG_60XX_WDT is not set -# CONFIG_SBC8360_WDT is not set -# CONFIG_SBC7240_WDT is not set -# CONFIG_CPU5_WDT is not set +CONFIG_60XX_WDT=m +CONFIG_SBC8360_WDT=m +CONFIG_SBC7240_WDT=m +CONFIG_CPU5_WDT=m CONFIG_SMSC_SCH311X_WDT=m -# CONFIG_SMSC37B787_WDT is not set +CONFIG_SMSC37B787_WDT=m CONFIG_VIA_WDT=m CONFIG_W83627HF_WDT=m CONFIG_W83697HF_WDT=m @@ -3108,7 +3109,7 @@ CONFIG_W83697UG_WDT=m CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m -# CONFIG_SBC_EPX_C3_WATCHDOG is not set +CONFIG_SBC_EPX_C3_WATCHDOG=m CONFIG_XEN_WDT=m # diff --git a/config/rootfiles/common/armv5tel/initscripts b/config/rootfiles/common/armv5tel/initscripts index 4716b9726e..ecd01ec1e2 100644 --- a/config/rootfiles/common/armv5tel/initscripts +++ b/config/rootfiles/common/armv5tel/initscripts @@ -115,6 +115,7 @@ etc/rc.d/init.d/squid etc/rc.d/init.d/sshd #etc/rc.d/init.d/sslh etc/rc.d/init.d/static-routes +#etc/rc.d/init.d/stunnel etc/rc.d/init.d/swap etc/rc.d/init.d/sysctl etc/rc.d/init.d/sysklogd diff --git a/config/rootfiles/common/armv5tel/linux-kirkwood b/config/rootfiles/common/armv5tel/linux-kirkwood index cb6858f77e..9cb3057d06 100644 --- a/config/rootfiles/common/armv5tel/linux-kirkwood +++ b/config/rootfiles/common/armv5tel/linux-kirkwood @@ -1394,6 +1394,8 @@ lib/modules/KVER-ipfire-kirkwood #lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas_tf #lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko #lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko +#lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas_uap +#lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas_uap/uap8xxx.ko #lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/mac80211_hwsim.ko #lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/mwifiex #lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/mwifiex/mwifiex.ko diff --git a/config/rootfiles/common/armv5tel/linux-multi b/config/rootfiles/common/armv5tel/linux-multi index 89107a3349..1fd840c95e 100644 --- a/config/rootfiles/common/armv5tel/linux-multi +++ b/config/rootfiles/common/armv5tel/linux-multi @@ -1356,6 +1356,8 @@ lib/modules/KVER-ipfire-multi #lib/modules/KVER-ipfire-multi/kernel/drivers/net/wireless/libertas_tf #lib/modules/KVER-ipfire-multi/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko #lib/modules/KVER-ipfire-multi/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko +#lib/modules/KVER-ipfire-multi/kernel/drivers/net/wireless/libertas_uap +#lib/modules/KVER-ipfire-multi/kernel/drivers/net/wireless/libertas_uap/uap8xxx.ko #lib/modules/KVER-ipfire-multi/kernel/drivers/net/wireless/mac80211_hwsim.ko #lib/modules/KVER-ipfire-multi/kernel/drivers/net/wireless/mwifiex #lib/modules/KVER-ipfire-multi/kernel/drivers/net/wireless/mwifiex/mwifiex.ko diff --git a/config/rootfiles/common/armv5tel/linux-rpi b/config/rootfiles/common/armv5tel/linux-rpi index 98f513e9b0..2ea9efe196 100644 --- a/config/rootfiles/common/armv5tel/linux-rpi +++ b/config/rootfiles/common/armv5tel/linux-rpi @@ -1125,6 +1125,8 @@ lib/modules/KVER-ipfire-rpi #lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas_tf #lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko #lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko +#lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas_uap +#lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas_uap/uap8xxx.ko #lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/mwifiex #lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/mwifiex/mwifiex.ko #lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko diff --git a/config/rootfiles/common/i586/initscripts b/config/rootfiles/common/i586/initscripts index 07a39f4635..b34ea9187c 100644 --- a/config/rootfiles/common/i586/initscripts +++ b/config/rootfiles/common/i586/initscripts @@ -117,6 +117,7 @@ etc/rc.d/init.d/squid etc/rc.d/init.d/sshd #etc/rc.d/init.d/sslh etc/rc.d/init.d/static-routes +#etc/rc.d/init.d/stunnel etc/rc.d/init.d/swap etc/rc.d/init.d/sysctl etc/rc.d/init.d/sysklogd diff --git a/config/rootfiles/common/i586/linux b/config/rootfiles/common/i586/linux index daaa17645f..48bd9ced55 100644 --- a/config/rootfiles/common/i586/linux +++ b/config/rootfiles/common/i586/linux @@ -1299,9 +1299,6 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/misc/ics932s401.ko #lib/modules/KVER-ipfire/kernel/drivers/misc/lis3lv02d #lib/modules/KVER-ipfire/kernel/drivers/misc/lis3lv02d/lis3lv02d.ko -#lib/modules/KVER-ipfire/kernel/drivers/misc/mei -#lib/modules/KVER-ipfire/kernel/drivers/misc/mei/mei-me.ko -#lib/modules/KVER-ipfire/kernel/drivers/misc/mei/mei.ko #lib/modules/KVER-ipfire/kernel/drivers/misc/pch_phub.ko #lib/modules/KVER-ipfire/kernel/drivers/misc/ti-st #lib/modules/KVER-ipfire/kernel/drivers/misc/ti-st/st_drv.ko @@ -1651,6 +1648,8 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas_tf #lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko #lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko +#lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas_uap +#lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas_uap/uap8xxx.ko #lib/modules/KVER-ipfire/kernel/drivers/net/wireless/mac80211_hwsim.ko #lib/modules/KVER-ipfire/kernel/drivers/net/wireless/mwifiex #lib/modules/KVER-ipfire/kernel/drivers/net/wireless/mwifiex/mwifiex.ko @@ -2191,12 +2190,17 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/w1/slaves/w1_therm.ko #lib/modules/KVER-ipfire/kernel/drivers/w1/wire.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/acquirewdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/advantechwdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/alim1535_wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/alim7101_wdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/cpu5wdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/eurotechwdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/f71808e_wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/geodewdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/hpwdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/i6300esb.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/iTCO_vendor_support.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/iTCO_wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/ib700wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/ibmasr.ko @@ -2205,11 +2209,20 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/watchdog/it87_wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/machzwd.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/nv_tco.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/pc87413_wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/pcwd_pci.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/pcwd_usb.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/retu_wdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/sbc60xxwdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/sbc7240_wdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/sbc8360.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/sbc_epx_c3.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/sbc_fitpc2_wdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/sc1200wdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/sc520_wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/sch311x_wdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/scx200_wdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/smsc37b787_wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/softdog.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/sp5100_tco.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/via_wdt.ko @@ -2218,6 +2231,7 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/watchdog/w83697ug_wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/w83877f_wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/w83977f_wdt.ko +#lib/modules/KVER-ipfire/kernel/drivers/watchdog/wafer5823wdt.ko #lib/modules/KVER-ipfire/kernel/drivers/watchdog/wdt_pci.ko #lib/modules/KVER-ipfire/kernel/fs #lib/modules/KVER-ipfire/kernel/fs/btrfs diff --git a/config/rootfiles/common/libsigc++ b/config/rootfiles/common/libsigc++ deleted file mode 100644 index a05b64bed9..0000000000 --- a/config/rootfiles/common/libsigc++ +++ /dev/null @@ -1,1368 +0,0 @@ -#usr/include/sigc++-2.0 -#usr/include/sigc++-2.0/sigc++ -#usr/include/sigc++-2.0/sigc++/adaptors -#usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h -#usr/include/sigc++-2.0/sigc++/adaptors/adaptors.h -#usr/include/sigc++-2.0/sigc++/adaptors/bind.h -#usr/include/sigc++-2.0/sigc++/adaptors/bind_return.h -#usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h -#usr/include/sigc++-2.0/sigc++/adaptors/compose.h -#usr/include/sigc++-2.0/sigc++/adaptors/deduce_result_type.h -#usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h -#usr/include/sigc++-2.0/sigc++/adaptors/hide.h -#usr/include/sigc++-2.0/sigc++/adaptors/lambda -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/base.h -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/group.h -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/lambda.h -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros/base.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros/group.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros/lambda.cc.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros/operator.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros/select.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/operator.h -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/select.h -#usr/include/sigc++-2.0/sigc++/adaptors/macros -#usr/include/sigc++-2.0/sigc++/adaptors/macros/adaptor_trait.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/bind.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/bind_return.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/compose.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/deduce_result_type.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/exception_catch.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/hide.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/retype.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/retype_return.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/retype.h -#usr/include/sigc++-2.0/sigc++/adaptors/retype_return.h -#usr/include/sigc++-2.0/sigc++/bind.h -#usr/include/sigc++-2.0/sigc++/bind_return.h -#usr/include/sigc++-2.0/sigc++/class_slot.h -#usr/include/sigc++-2.0/sigc++/compatibility.h -#usr/include/sigc++-2.0/sigc++/connection.h -#usr/include/sigc++-2.0/sigc++/functors -#usr/include/sigc++-2.0/sigc++/functors/functor_trait.h -#usr/include/sigc++-2.0/sigc++/functors/functors.h -#usr/include/sigc++-2.0/sigc++/functors/macros -#usr/include/sigc++-2.0/sigc++/functors/macros/functor_trait.h.m4 -#usr/include/sigc++-2.0/sigc++/functors/macros/mem_fun.h.m4 -#usr/include/sigc++-2.0/sigc++/functors/macros/ptr_fun.h.m4 -#usr/include/sigc++-2.0/sigc++/functors/macros/slot.h.m4 -#usr/include/sigc++-2.0/sigc++/functors/mem_fun.h -#usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h -#usr/include/sigc++-2.0/sigc++/functors/slot.h -#usr/include/sigc++-2.0/sigc++/functors/slot_base.h -#usr/include/sigc++-2.0/sigc++/hide.h -#usr/include/sigc++-2.0/sigc++/limit_reference.h -#usr/include/sigc++-2.0/sigc++/macros -#usr/include/sigc++-2.0/sigc++/macros/class_slot.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/hide.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/limit_reference.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/method_slot.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/object_slot.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/retype.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/signal.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/slot.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/template.macros.m4 -#usr/include/sigc++-2.0/sigc++/method_slot.h -#usr/include/sigc++-2.0/sigc++/object.h -#usr/include/sigc++-2.0/sigc++/object_slot.h -#usr/include/sigc++-2.0/sigc++/reference_wrapper.h -#usr/include/sigc++-2.0/sigc++/retype.h -#usr/include/sigc++-2.0/sigc++/retype_return.h -#usr/include/sigc++-2.0/sigc++/sigc++.h -#usr/include/sigc++-2.0/sigc++/signal.h -#usr/include/sigc++-2.0/sigc++/signal_base.h -#usr/include/sigc++-2.0/sigc++/slot.h -#usr/include/sigc++-2.0/sigc++/trackable.h -#usr/include/sigc++-2.0/sigc++/type_traits.h -#usr/include/sigc++-2.0/sigc++/visit_each.h -#usr/lib/libsigc-2.0.a -#usr/lib/libsigc-2.0.la -#usr/lib/libsigc-2.0.so -usr/lib/libsigc-2.0.so.0 -usr/lib/libsigc-2.0.so.0.0.0 -#usr/lib/pkgconfig/sigc++-2.0.pc -#usr/lib/sigc++-2.0 -#usr/lib/sigc++-2.0/include -#usr/lib/sigc++-2.0/include/sigc++config.h -#usr/share/doc/libsigc-2.0 -#usr/share/doc/libsigc-2.0/docs -#usr/share/doc/libsigc-2.0/docs/images -#usr/share/doc/libsigc-2.0/docs/images/libsigc_logo.gif -#usr/share/doc/libsigc-2.0/docs/images/top.gif -#usr/share/doc/libsigc-2.0/docs/index.html -#usr/share/doc/libsigc-2.0/docs/reference -#usr/share/doc/libsigc-2.0/docs/reference/html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptor__trait_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_2bind_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_2bind__return_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_2hide_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_2retype_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_2retype__return_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/annotated.html -#usr/share/doc/libsigc-2.0/docs/reference/html/base_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/bind_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/bind__return_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/bound__argument_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/class__slot_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classes.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classinternal_1_1lambda__core.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classinternal_1_1lambda__core__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classnil.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument_3_01const__reference__wrapper_3_01T__wrapped_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument_3_01const__reference__wrapper_3_01T__wrapped_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument_3_01reference__wrapper_3_01T__wrapped_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument_3_01reference__wrapper_3_01T__wrapped_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__limit__reference-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__limit__reference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__limit__reference_3_01T__type_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__limit__reference_3_01T__type_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__limit__reference-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__limit__reference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1limit__reference-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1limit__reference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal_1_1accumulated-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal_1_1accumulated.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal_1_1accumulated__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot__base-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot__base.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot__base__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__limit__reference-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__limit__reference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/compatibility_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/compose_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/connection_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/deduce__result__type_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/deprecated.html -#usr/share/doc/libsigc-2.0/docs/reference/html/doxygen.css -#usr/share/doc/libsigc-2.0/docs/reference/html/doxygen.png -#usr/share/doc/libsigc-2.0/docs/reference/html/exception__catch_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/files.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x61.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x62.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x63.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x64.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x65.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x66.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x67.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x68.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x69.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x6c.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x6d.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x6e.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x6f.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x70.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x72.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x73.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x74.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x75.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x76.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x7e.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x62.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x63.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x64.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x65.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x66.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x68.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x69.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x6c.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x6d.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x6e.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x6f.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x70.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x72.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x73.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x74.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x75.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x76.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x7e.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_rela.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x63.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x64.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x65.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x66.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x67.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x69.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x6c.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x6f.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x70.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x72.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x73.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x74.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type_0x76.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x61.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x62.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x63.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x64.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x65.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x66.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x67.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x69.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x6c.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x6f.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x70.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x72.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x73.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x74.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars_0x76.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functor__trait_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functors_2slot_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functors_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/globals.html -#usr/share/doc/libsigc-2.0/docs/reference/html/globals_defs.html -#usr/share/doc/libsigc-2.0/docs/reference/html/graph_legend.dot -#usr/share/doc/libsigc-2.0/docs/reference/html/graph_legend.html -#usr/share/doc/libsigc-2.0/docs/reference/html/graph_legend.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__adaptors.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__adaptors.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__bind.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__bind.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__compat.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__compose.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__compose.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__exception__catch.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__exception__catch.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__functors.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__functors.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__group__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__group__.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__hide.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__hide.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__lambdas.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__lambdas.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__mem__fun.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__mem__fun.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__ptr__fun.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__ptr__fun.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__retype.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__retype.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__signal.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__slot.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__slot.png -#usr/share/doc/libsigc-2.0/docs/reference/html/hide_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/hierarchy.html -#usr/share/doc/libsigc-2.0/docs/reference/html/index.html -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__0.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__1.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__10.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__100.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__101.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__102.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__103.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__104.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__105.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__106.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__107.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__108.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__109.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__11.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__110.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__111.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__112.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__113.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__114.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__115.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__116.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__117.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__118.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__119.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__12.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__120.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__121.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__122.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__123.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__124.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__125.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__126.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__127.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__128.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__129.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__13.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__130.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__131.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__132.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__133.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__134.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__135.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__136.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__137.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__138.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__139.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__14.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__140.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__141.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__142.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__143.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__144.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__145.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__146.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__147.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__148.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__149.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__15.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__150.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__151.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__152.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__153.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__154.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__155.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__156.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__157.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__158.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__159.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__16.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__160.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__161.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__162.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__163.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__164.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__165.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__166.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__167.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__168.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__169.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__17.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__170.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__171.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__172.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__173.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__174.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__175.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__176.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__177.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__178.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__179.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__18.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__180.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__181.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__182.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__183.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__184.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__185.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__186.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__187.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__188.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__189.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__19.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__190.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__191.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__192.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__193.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__194.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__195.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__196.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__197.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__198.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__199.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__2.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__20.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__200.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__201.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__202.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__203.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__204.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__205.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__206.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__207.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__208.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__209.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__21.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__210.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__211.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__212.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__213.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__214.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__215.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__216.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__217.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__218.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__219.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__22.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__220.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__221.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__222.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__223.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__224.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__225.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__226.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__227.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__228.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__229.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__23.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__230.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__231.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__232.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__233.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__234.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__235.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__236.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__237.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__238.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__239.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__24.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__240.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__241.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__242.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__243.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__244.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__245.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__246.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__247.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__248.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__249.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__25.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__250.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__251.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__252.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__253.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__254.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__255.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__256.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__257.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__258.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__259.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__26.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__260.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__261.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__262.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__263.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__27.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__28.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__29.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__3.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__30.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__31.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__32.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__33.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__34.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__35.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__36.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__37.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__38.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__39.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__4.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__40.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__41.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__42.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__43.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__44.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__45.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__46.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__47.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__48.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__49.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__5.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__50.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__51.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__52.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__53.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__54.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__55.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__56.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__57.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__58.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__59.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__6.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__60.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__61.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__62.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__63.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__64.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__65.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__66.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__67.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__68.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__69.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__7.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__70.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__71.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__72.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__73.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__74.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__75.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__76.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__77.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__78.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__79.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__8.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__80.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__81.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__82.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__83.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__84.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__85.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__86.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__87.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__88.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__89.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__9.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__90.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__91.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__92.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__93.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__94.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__95.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__96.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__97.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__98.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__99.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherits.html -#usr/share/doc/libsigc-2.0/docs/reference/html/lambda_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/limit__reference_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/mem__fun_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/method__slot_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/modules.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespaceSigC.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x62.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x63.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x64.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x65.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x66.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x67.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x68.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x6d.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x6f.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x70.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x72.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x73.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x75.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_0x76.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x63.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x64.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x65.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x67.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x68.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x6d.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x6f.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x70.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x72.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x73.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x75.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func_0x76.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_vars.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespaces.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacesigc.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacesigc_1_1internal.html -#usr/share/doc/libsigc-2.0/docs/reference/html/object_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/object__slot_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/operator_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/pages.html -#usr/share/doc/libsigc-2.0/docs/reference/html/ptr__fun_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/reference__wrapper_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/retype_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/retype__return_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/select_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/sigc++_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/signal_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/signal__base_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/slot_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/slot__base_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structSigC_1_1retype__slot__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structSigC_1_1retype__slot__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structSigC_1_1retype__slot__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structSigC_1_1retype__slot__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structSigC_1_1retype__slot__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__base.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__base__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adapts-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adapts.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adapts__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1address.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1and__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1arithmetic.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1arithmetic__assign.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1assign.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bind__return__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bind__return__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bind__return__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bind__return__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bind__return__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bitwise.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bitwise__assign.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1cast__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose1__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose1__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose1__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose1__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose1__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose2__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose2__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose2__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose2__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose2__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1connection-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1connection.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1const__reference__wrapper-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1const__reference__wrapper.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5const_01_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5const_01_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5const_01_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5const_01_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1divides.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dynamic__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1equal__to.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__base.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__base__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__functor_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__functor_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)()_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)()_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)()_01const_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)()_01const_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)(T__arg1)_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)(T__arg1)_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)(T__arg1)_01const_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)(T__arg1_00_01T__arg2)_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)()_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)()_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)(T__arg1)_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)(T__arg1)_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)(T__arg1_00_01T__arg2)_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)(T__arg1_00_01T__arg2)_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1greater.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1greater__equal.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3-1_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3-1_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3-1_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3-1_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_010_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_010_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_010_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_010_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_011_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_011_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_011_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_011_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_011_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_012_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_012_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_012_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_012_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_012_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_013_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_013_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_013_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_013_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_013_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_014_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_014_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_014_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_014_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_014_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_015_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_015_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_015_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_015_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_015_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_016_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_016_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_016_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_016_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_016_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01false_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01false_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01true_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01true_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select1_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select1_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select2_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select2_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select3_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select3_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select5_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select5_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select6_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select6_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select7_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select7_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1limit__derived__target-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1limit__derived__target.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1limit__derived__target_3_01T__target_01_5_00_01T__action_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1limit__derived__target_3_01T__target_01_5_00_01T__action_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0_3_01T__return_00_01nil_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0_3_01T__return_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0_3_01void_00_01nil_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0_3_01void_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1_3_01T__return_00_01T__arg1_00_01nil_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1_3_01T__return_00_01T__arg1_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1_3_01void_00_01T__arg1_00_01nil_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1_3_01void_00_01T__arg1_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit2_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit2_3_01void_00_01T__arg1_00_01T__arg2_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__exec-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__exec.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__impl-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__impl.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__do__bind-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__do__bind.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__do__unbind-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__do__unbind.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__iterator__buf-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__iterator__buf.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__iterator__buf_3_01T__emitter_00_01void_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__iterator__buf_3_01T__emitter_00_01void_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__rep-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__rep.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__rep__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1temp__slot__list-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1temp__slot__list.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1trackable__callback-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1trackable__callback.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1trackable__callback__list-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1trackable__callback__list.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1typed__slot__rep-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1typed__slot__rep.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1typed__slot__rep__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type_3_01false_00_01T__type_00_01T__limit_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type_3_01false_00_01T__type_00_01T__limit_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type_3_01true_00_01T__type_00_01T__limit_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type_3_01true_00_01T__type_00_01T__limit_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type__pointer_3_01false_00_01T__type_00_01T__limit_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type__pointer_3_01false_00_01T__type_00_01T__limit_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type__pointer_3_01true_00_01T__type_00_01T__limit_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type__pointer_3_01true_00_01T__type_00_01T__limit_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1is__base__and__derived-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1is__base__and__derived.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01divides_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01divides_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01minus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01minus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01modulus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01modulus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01multiplies_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01multiplies_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01plus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01plus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01divides_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01divides_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01minus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01minus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01modulus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01modulus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01multiplies_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01multiplies_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01plus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01plus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01and___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01and___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01leftshift_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01leftshift_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01or___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01or___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01rightshift_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01rightshift_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01xor___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01xor___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01and___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01and___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01leftshift_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01leftshift_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01or___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01or___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01rightshift_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01rightshift_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01xor___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01xor___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01logical_3_01and___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01logical_3_01and___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01logical_3_01or___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01logical_3_01or___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01other_3_01assign_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01other_3_01assign_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01other_3_01subscript_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01other_3_01subscript_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01equal__to_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01equal__to_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01greater_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01greater_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01greater__equal_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01greater__equal_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01less_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01less_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01less__equal_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01less__equal_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01not__equal__to_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01not__equal__to_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert_3_01cast___3_01dynamic___01_4_00_01T__type_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert_3_01cast___3_01dynamic___01_4_00_01T__type_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert_3_01cast___3_01reinterpret___01_4_00_01T__type_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert_3_01cast___3_01static___01_4_00_01T__type_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert_3_01cast___3_01static___01_4_00_01T__type_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert__deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert__deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01negate_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01negate_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01pre__decrement_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01pre__decrement_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01pre__increment_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01pre__increment_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__bitwise_3_01not___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__bitwise_3_01not___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__logical_3_01not___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__logical_3_01not___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__other_3_01address_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__other_3_01address_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__other_3_01dereference_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__other_3_01dereference_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary__deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary__deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__base.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__base__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group1_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group1_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group2_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group2_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group3_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group3_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__convert-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__convert.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__convert_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__convert_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__convert__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__unary-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__unary.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__unary_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__unary_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__unary__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1leftshift.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1less.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1less__equal.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1logical.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1minus.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1modulus.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1multiplies.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1negate.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1not__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1not__equal__to.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1or__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1other.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1plus.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1pre__decrement.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1pre__increment.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1reference__wrapper-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1reference__wrapper.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1reinterpret__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1relational.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1rightshift.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1signal__base-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1signal__base.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1signal__base__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__const__iterator-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__const__iterator.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__iterator-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__iterator.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__list-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__list.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1static__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1subscript.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1trackable-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1trackable.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1trackable__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unary__arithmetic.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unary__bitwise.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unary__logical.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unary__other.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__lambda__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__lambda__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1xor__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/tabs.css -#usr/share/doc/libsigc-2.0/docs/reference/html/trackable_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/type__traits_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/visit__each_8h.html -#usr/share/doc/libsigc-2.0/docs/tutorial -#usr/share/doc/libsigc-2.0/docs/tutorial/html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch01.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch02.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch02s02.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch02s03.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch02s04.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch03.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch03s02.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch04.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch04s02.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch04s03.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch05.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/index.html diff --git a/config/rootfiles/common/libtorrent b/config/rootfiles/common/libtorrent deleted file mode 100644 index 7e249a14be..0000000000 --- a/config/rootfiles/common/libtorrent +++ /dev/null @@ -1,48 +0,0 @@ -#usr/include/torrent -#usr/include/torrent/bitfield.h -#usr/include/torrent/chunk_manager.h -#usr/include/torrent/common.h -#usr/include/torrent/connection_manager.h -#usr/include/torrent/data -#usr/include/torrent/data/block.h -#usr/include/torrent/data/block_list.h -#usr/include/torrent/data/block_transfer.h -#usr/include/torrent/data/file.h -#usr/include/torrent/data/file_list.h -#usr/include/torrent/data/file_list_iterator.h -#usr/include/torrent/data/file_manager.h -#usr/include/torrent/data/file_utils.h -#usr/include/torrent/data/piece.h -#usr/include/torrent/data/transfer_list.h -#usr/include/torrent/download.h -#usr/include/torrent/error.h -#usr/include/torrent/event.h -#usr/include/torrent/exceptions.h -#usr/include/torrent/hash_string.h -#usr/include/torrent/http.h -#usr/include/torrent/object.h -#usr/include/torrent/object_stream.h -#usr/include/torrent/path.h -#usr/include/torrent/peer -#usr/include/torrent/peer/client_info.h -#usr/include/torrent/peer/client_list.h -#usr/include/torrent/peer/peer.h -#usr/include/torrent/peer/peer_info.h -#usr/include/torrent/peer/peer_list.h -#usr/include/torrent/poll.h -#usr/include/torrent/poll_epoll.h -#usr/include/torrent/poll_kqueue.h -#usr/include/torrent/poll_select.h -#usr/include/torrent/rate.h -#usr/include/torrent/resume.h -#usr/include/torrent/torrent.h -#usr/include/torrent/tracker.h -#usr/include/torrent/tracker_list.h -#usr/lib/libtorrent.la -#usr/lib/libtorrent.so -#usr/lib/libtorrent.so.11 -#usr/lib/libtorrent.so.11.0.6 -#usr/lib/pkgconfig/libtorrent.pc -#usr/include/torrent/dht_manager.h -#usr/include/torrent/peer/connection_list.h -#usr/include/torrent/throttle.h diff --git a/config/rootfiles/common/strongswan b/config/rootfiles/common/strongswan index 9b61cd135c..6d7bb0de46 100644 --- a/config/rootfiles/common/strongswan +++ b/config/rootfiles/common/strongswan @@ -58,6 +58,7 @@ etc/strongswan.d/charon/updown.conf etc/strongswan.d/charon/x509.conf etc/strongswan.d/charon/xauth-eap.conf etc/strongswan.d/charon/xauth-generic.conf +etc/strongswan.d/charon/xauth-noauth.conf etc/strongswan.d/charon/xcbc.conf etc/strongswan.d/starter.conf etc/strongswan.d/tools.conf @@ -134,17 +135,18 @@ usr/lib/ipsec/plugins/libstrongswan-updown.so usr/lib/ipsec/plugins/libstrongswan-x509.so usr/lib/ipsec/plugins/libstrongswan-xauth-eap.so usr/lib/ipsec/plugins/libstrongswan-xauth-generic.so +usr/lib/ipsec/plugins/libstrongswan-xauth-noauth.so usr/lib/ipsec/plugins/libstrongswan-xcbc.so #usr/libexec/ipsec usr/libexec/ipsec/_copyright usr/libexec/ipsec/_updown usr/libexec/ipsec/_updown_espmark usr/libexec/ipsec/charon -usr/libexec/ipsec/openac usr/libexec/ipsec/scepclient usr/libexec/ipsec/starter usr/libexec/ipsec/stroke usr/sbin/ipsec +#usr/share/man/man1/pki---acert.1 #usr/share/man/man1/pki---gen.1 #usr/share/man/man1/pki---issue.1 #usr/share/man/man1/pki---keyid.1 @@ -212,6 +214,7 @@ usr/sbin/ipsec #usr/share/strongswan/templates/config/plugins/x509.conf #usr/share/strongswan/templates/config/plugins/xauth-eap.conf #usr/share/strongswan/templates/config/plugins/xauth-generic.conf +#usr/share/strongswan/templates/config/plugins/xauth-noauth.conf #usr/share/strongswan/templates/config/plugins/xcbc.conf #usr/share/strongswan/templates/config/strongswan.conf #usr/share/strongswan/templates/config/strongswan.d diff --git a/config/rootfiles/common/usb_modeswitch_data b/config/rootfiles/common/usb_modeswitch_data index 6948694cca..70160f57e3 100644 --- a/config/rootfiles/common/usb_modeswitch_data +++ b/config/rootfiles/common/usb_modeswitch_data @@ -43,6 +43,7 @@ usr/share/usb_modeswitch/05c6:6503 usr/share/usb_modeswitch/05c6:9024 usr/share/usb_modeswitch/05c6:f000 usr/share/usb_modeswitch/05c7:1000 +usr/share/usb_modeswitch/0685:2000 usr/share/usb_modeswitch/072f:100d usr/share/usb_modeswitch/07d1:a800 usr/share/usb_modeswitch/07d1:a804 @@ -174,6 +175,8 @@ usr/share/usb_modeswitch/12d1:1553 usr/share/usb_modeswitch/12d1:1557 usr/share/usb_modeswitch/12d1:155b usr/share/usb_modeswitch/12d1:156a +usr/share/usb_modeswitch/12d1:157c +usr/share/usb_modeswitch/12d1:157d usr/share/usb_modeswitch/12d1:1805 usr/share/usb_modeswitch/12d1:1c0b usr/share/usb_modeswitch/12d1:1c1b @@ -188,6 +191,10 @@ usr/share/usb_modeswitch/12d1:1f16 usr/share/usb_modeswitch/12d1:1f17 usr/share/usb_modeswitch/12d1:1f18 usr/share/usb_modeswitch/12d1:1f19 +usr/share/usb_modeswitch/12d1:1f1b +usr/share/usb_modeswitch/12d1:1f1c +usr/share/usb_modeswitch/12d1:1f1d +usr/share/usb_modeswitch/12d1:1f1e usr/share/usb_modeswitch/12d1:380b usr/share/usb_modeswitch/1307:1169 usr/share/usb_modeswitch/1410:5010 @@ -228,25 +235,34 @@ usr/share/usb_modeswitch/19d2:0166 usr/share/usb_modeswitch/19d2:0169 usr/share/usb_modeswitch/19d2:0266 usr/share/usb_modeswitch/19d2:0304 +usr/share/usb_modeswitch/19d2:0318 usr/share/usb_modeswitch/19d2:0325 usr/share/usb_modeswitch/19d2:1001 usr/share/usb_modeswitch/19d2:1007 usr/share/usb_modeswitch/19d2:1009 usr/share/usb_modeswitch/19d2:1013 usr/share/usb_modeswitch/19d2:1017 +usr/share/usb_modeswitch/19d2:1030 usr/share/usb_modeswitch/19d2:1171 usr/share/usb_modeswitch/19d2:1175 usr/share/usb_modeswitch/19d2:1179 usr/share/usb_modeswitch/19d2:1201 +usr/share/usb_modeswitch/19d2:1207 +usr/share/usb_modeswitch/19d2:1210 usr/share/usb_modeswitch/19d2:1216 +usr/share/usb_modeswitch/19d2:1219 usr/share/usb_modeswitch/19d2:1224 usr/share/usb_modeswitch/19d2:1225 usr/share/usb_modeswitch/19d2:1227 +usr/share/usb_modeswitch/19d2:1233 +usr/share/usb_modeswitch/19d2:1238 +usr/share/usb_modeswitch/19d2:1511 usr/share/usb_modeswitch/19d2:1514 usr/share/usb_modeswitch/19d2:1517 usr/share/usb_modeswitch/19d2:1520 usr/share/usb_modeswitch/19d2:1523 usr/share/usb_modeswitch/19d2:1528 +usr/share/usb_modeswitch/19d2:1536 usr/share/usb_modeswitch/19d2:1542 usr/share/usb_modeswitch/19d2:2000 usr/share/usb_modeswitch/19d2:2004 diff --git a/config/rootfiles/core/77/filelists/GeoIP b/config/rootfiles/core/77/filelists/GeoIP new file mode 100644 index 0000000000..0258236c03 --- /dev/null +++ b/config/rootfiles/core/77/filelists/GeoIP @@ -0,0 +1 @@ +usr/local/share/GeoIP/GeoIP.dat diff --git a/config/rootfiles/core/77/filelists/files b/config/rootfiles/core/77/filelists/files index ea71ac4b57..dd35042c16 100644 --- a/config/rootfiles/core/77/filelists/files +++ b/config/rootfiles/core/77/filelists/files @@ -20,6 +20,7 @@ srv/web/ipfire/html/themes/ipfire srv/web/ipfire/html/themes/ipfire-legacy srv/web/ipfire/html/themes/maniac usr/lib/firewall +usr/local/bin/backupiso usr/local/bin/timezone-transition usr/local/bin/setddns.pl usr/sbin/updxlrator @@ -31,3 +32,4 @@ var/ipfire/header.pl var/ipfire/graphs.pl var/ipfire/langs var/ipfire/menu.d/10-system.menu +var/ipfire/menu.d/20-status.menu diff --git a/config/rootfiles/core/77/filelists/hwdata b/config/rootfiles/core/77/filelists/hwdata new file mode 100644 index 0000000000..5a9672ff36 --- /dev/null +++ b/config/rootfiles/core/77/filelists/hwdata @@ -0,0 +1,2 @@ +usr/share/hwdata/pci.ids +usr/share/hwdata/usb.ids diff --git a/config/rootfiles/core/77/update.sh b/config/rootfiles/core/77/update.sh index 0078abd941..e9cf770045 100644 --- a/config/rootfiles/core/77/update.sh +++ b/config/rootfiles/core/77/update.sh @@ -399,13 +399,17 @@ if [ -e /var/ipfire/qos/enable ]; then /usr/local/bin/qosctrl start fi +chown cron:cron /var/spool/cron # Update crontab -cat <> /var/spool/cron/root.orig +grep -q timezone-transition /var/spool/cron/root.orig || cat <> /var/spool/cron/root.orig # Re-read firewall rules every Sunday in March, October and November to take care of daylight saving time 00 3 * 3 0 /usr/local/bin/timezone-transition /usr/local/bin/firewallctrl 00 2 * 10-11 0 /usr/local/bin/timezone-transition /usr/local/bin/firewallctrl EOF + +# Remove dialctrl script. +sed -i /var/spool/cron/root.orig -e "/Dialup/,/dialctrl.pl/d" fcrontab -z &>/dev/null diff --git a/config/rootfiles/core/75/exclude b/config/rootfiles/oldcore/75/exclude similarity index 100% rename from config/rootfiles/core/75/exclude rename to config/rootfiles/oldcore/75/exclude diff --git a/config/rootfiles/core/75/filelists/files b/config/rootfiles/oldcore/75/filelists/files similarity index 100% rename from config/rootfiles/core/75/filelists/files rename to config/rootfiles/oldcore/75/filelists/files diff --git a/config/rootfiles/core/75/meta b/config/rootfiles/oldcore/75/meta similarity index 100% rename from config/rootfiles/core/75/meta rename to config/rootfiles/oldcore/75/meta diff --git a/config/rootfiles/core/75/update.sh b/config/rootfiles/oldcore/75/update.sh similarity index 100% rename from config/rootfiles/core/75/update.sh rename to config/rootfiles/oldcore/75/update.sh diff --git a/config/rootfiles/packages/linux-pae b/config/rootfiles/packages/linux-pae index 242bc968dd..eaaa3e589e 100644 --- a/config/rootfiles/packages/linux-pae +++ b/config/rootfiles/packages/linux-pae @@ -1295,9 +1295,6 @@ lib/modules/KVER-ipfire-pae #lib/modules/KVER-ipfire-pae/kernel/drivers/misc/ics932s401.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/misc/lis3lv02d #lib/modules/KVER-ipfire-pae/kernel/drivers/misc/lis3lv02d/lis3lv02d.ko -#lib/modules/KVER-ipfire-pae/kernel/drivers/misc/mei -#lib/modules/KVER-ipfire-pae/kernel/drivers/misc/mei/mei-me.ko -#lib/modules/KVER-ipfire-pae/kernel/drivers/misc/mei/mei.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/misc/pch_phub.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/misc/ti-st #lib/modules/KVER-ipfire-pae/kernel/drivers/misc/ti-st/st_drv.ko @@ -1647,6 +1644,8 @@ lib/modules/KVER-ipfire-pae #lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas_tf #lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas_uap +#lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas_uap/uap8xxx.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/mac80211_hwsim.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/mwifiex #lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/mwifiex/mwifiex.ko @@ -2192,12 +2191,17 @@ lib/modules/KVER-ipfire-pae #lib/modules/KVER-ipfire-pae/kernel/drivers/w1/slaves/w1_therm.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/w1/wire.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/acquirewdt.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/advantechwdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/alim1535_wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/alim7101_wdt.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/cpu5wdt.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/eurotechwdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/f71808e_wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/geodewdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/hpwdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/i6300esb.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/iTCO_vendor_support.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/iTCO_wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/ib700wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/ibmasr.ko @@ -2206,11 +2210,19 @@ lib/modules/KVER-ipfire-pae #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/it87_wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/machzwd.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/nv_tco.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/pc87413_wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/pcwd_pci.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/pcwd_usb.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/retu_wdt.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/sbc60xxwdt.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/sbc7240_wdt.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/sbc8360.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/sbc_epx_c3.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/sbc_fitpc2_wdt.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/sc1200wdt.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/sc520_wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/sch311x_wdt.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/smsc37b787_wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/softdog.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/sp5100_tco.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/via_wdt.ko @@ -2219,6 +2231,7 @@ lib/modules/KVER-ipfire-pae #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/w83697ug_wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/w83877f_wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/w83977f_wdt.ko +#lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/wafer5823wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/wdt_pci.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/watchdog/xen_wdt.ko #lib/modules/KVER-ipfire-pae/kernel/drivers/xen diff --git a/config/rootfiles/packages/pound b/config/rootfiles/packages/pound index a935172a73..02f3d41b9c 100644 --- a/config/rootfiles/packages/pound +++ b/config/rootfiles/packages/pound @@ -1,7 +1,4 @@ etc/rc.d/init.d/pound -etc/rc.d/rc0.d/K40pound -etc/rc.d/rc3.d/S60pound -etc/rc.d/rc6.d/K40pound #etc/pound.cfg usr/sbin/pound usr/sbin/poundctl diff --git a/config/rootfiles/packages/rtorrent b/config/rootfiles/packages/rtorrent deleted file mode 100644 index 93709f49f7..0000000000 --- a/config/rootfiles/packages/rtorrent +++ /dev/null @@ -1,1372 +0,0 @@ -# THIS INCLUDES ligsigc++ and libtorrent -usr/bin/rtorrent -#usr/share/man/man1/rtorrent.1 -#usr/include/torrent -#usr/include/torrent/bitfield.h -#usr/include/torrent/chunk_manager.h -#usr/include/torrent/common.h -#usr/include/torrent/connection_manager.h -#usr/include/torrent/data -#usr/include/torrent/data/block.h -#usr/include/torrent/data/block_list.h -#usr/include/torrent/data/block_transfer.h -#usr/include/torrent/data/file.h -#usr/include/torrent/data/file_list.h -#usr/include/torrent/data/file_list_iterator.h -#usr/include/torrent/data/file_manager.h -#usr/include/torrent/data/file_utils.h -#usr/include/torrent/data/piece.h -#usr/include/torrent/data/transfer_list.h -#usr/include/torrent/download.h -#usr/include/torrent/error.h -#usr/include/torrent/event.h -#usr/include/torrent/exceptions.h -#usr/include/torrent/hash_string.h -#usr/include/torrent/http.h -#usr/include/torrent/object.h -#usr/include/torrent/object_stream.h -#usr/include/torrent/path.h -#usr/include/torrent/peer -#usr/include/torrent/peer/client_info.h -#usr/include/torrent/peer/client_list.h -#usr/include/torrent/peer/peer.h -#usr/include/torrent/peer/peer_info.h -#usr/include/torrent/peer/peer_list.h -#usr/include/torrent/poll.h -#usr/include/torrent/poll_epoll.h -#usr/include/torrent/poll_kqueue.h -#usr/include/torrent/poll_select.h -#usr/include/torrent/rate.h -#usr/include/torrent/resume.h -#usr/include/torrent/torrent.h -#usr/include/torrent/tracker.h -#usr/include/torrent/tracker_list.h -#usr/lib/libtorrent.la -usr/lib/libtorrent.so -usr/lib/libtorrent.so.11 -usr/lib/libtorrent.so.11.0.6 -#usr/lib/pkgconfig/libtorrent.pc -#usr/include/sigc++-2.0 -#usr/include/sigc++-2.0/sigc++ -#usr/include/sigc++-2.0/sigc++/adaptors -#usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h -#usr/include/sigc++-2.0/sigc++/adaptors/adaptors.h -#usr/include/sigc++-2.0/sigc++/adaptors/bind.h -#usr/include/sigc++-2.0/sigc++/adaptors/bind_return.h -#usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h -#usr/include/sigc++-2.0/sigc++/adaptors/compose.h -#usr/include/sigc++-2.0/sigc++/adaptors/deduce_result_type.h -#usr/include/sigc++-2.0/sigc++/adaptors/exception_catch.h -#usr/include/sigc++-2.0/sigc++/adaptors/hide.h -#usr/include/sigc++-2.0/sigc++/adaptors/lambda -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/base.h -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/group.h -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/lambda.h -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros/base.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros/group.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros/lambda.cc.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros/operator.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/macros/select.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/operator.h -#usr/include/sigc++-2.0/sigc++/adaptors/lambda/select.h -#usr/include/sigc++-2.0/sigc++/adaptors/macros -#usr/include/sigc++-2.0/sigc++/adaptors/macros/adaptor_trait.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/bind.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/bind_return.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/compose.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/deduce_result_type.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/exception_catch.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/hide.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/retype.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/macros/retype_return.h.m4 -#usr/include/sigc++-2.0/sigc++/adaptors/retype.h -#usr/include/sigc++-2.0/sigc++/adaptors/retype_return.h -#usr/include/sigc++-2.0/sigc++/bind.h -#usr/include/sigc++-2.0/sigc++/bind_return.h -#usr/include/sigc++-2.0/sigc++/class_slot.h -#usr/include/sigc++-2.0/sigc++/compatibility.h -#usr/include/sigc++-2.0/sigc++/connection.h -#usr/include/sigc++-2.0/sigc++/functors -#usr/include/sigc++-2.0/sigc++/functors/functor_trait.h -#usr/include/sigc++-2.0/sigc++/functors/functors.h -#usr/include/sigc++-2.0/sigc++/functors/macros -#usr/include/sigc++-2.0/sigc++/functors/macros/functor_trait.h.m4 -#usr/include/sigc++-2.0/sigc++/functors/macros/mem_fun.h.m4 -#usr/include/sigc++-2.0/sigc++/functors/macros/ptr_fun.h.m4 -#usr/include/sigc++-2.0/sigc++/functors/macros/slot.h.m4 -#usr/include/sigc++-2.0/sigc++/functors/mem_fun.h -#usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h -#usr/include/sigc++-2.0/sigc++/functors/slot.h -#usr/include/sigc++-2.0/sigc++/functors/slot_base.h -#usr/include/sigc++-2.0/sigc++/hide.h -#usr/include/sigc++-2.0/sigc++/limit_reference.h -#usr/include/sigc++-2.0/sigc++/macros -#usr/include/sigc++-2.0/sigc++/macros/class_slot.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/hide.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/limit_reference.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/method_slot.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/object_slot.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/retype.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/signal.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/slot.h.m4 -#usr/include/sigc++-2.0/sigc++/macros/template.macros.m4 -#usr/include/sigc++-2.0/sigc++/method_slot.h -#usr/include/sigc++-2.0/sigc++/object.h -#usr/include/sigc++-2.0/sigc++/object_slot.h -#usr/include/sigc++-2.0/sigc++/reference_wrapper.h -#usr/include/sigc++-2.0/sigc++/retype.h -#usr/include/sigc++-2.0/sigc++/retype_return.h -#usr/include/sigc++-2.0/sigc++/sigc++.h -#usr/include/sigc++-2.0/sigc++/signal.h -#usr/include/sigc++-2.0/sigc++/signal_base.h -#usr/include/sigc++-2.0/sigc++/slot.h -#usr/include/sigc++-2.0/sigc++/trackable.h -#usr/include/sigc++-2.0/sigc++/type_traits.h -#usr/include/sigc++-2.0/sigc++/visit_each.h -#usr/lib/libsigc-2.0.a -#usr/lib/libsigc-2.0.la -usr/lib/libsigc-2.0.so -usr/lib/libsigc-2.0.so.0 -usr/lib/libsigc-2.0.so.0.0.0 -#usr/lib/pkgconfig/sigc++-2.0.pc -#usr/lib/sigc++-2.0 -#usr/lib/sigc++-2.0/include -#usr/lib/sigc++-2.0/include/sigc++config.h -#usr/share/doc/libsigc-2.0 -#usr/share/doc/libsigc-2.0/docs -#usr/share/doc/libsigc-2.0/docs/images -#usr/share/doc/libsigc-2.0/docs/images/libsigc_logo.gif -#usr/share/doc/libsigc-2.0/docs/images/top.gif -#usr/share/doc/libsigc-2.0/docs/index.html -#usr/share/doc/libsigc-2.0/docs/reference -#usr/share/doc/libsigc-2.0/docs/reference/html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptor__trait_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_2bind_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_2bind__return_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_2hide_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_2retype_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_2retype__return_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/adaptors_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/annotated.html -#usr/share/doc/libsigc-2.0/docs/reference/html/base_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/bind_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/bind__return_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/bound__argument_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Signal7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classSigC_1_1Slot7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/class__slot_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classes.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classinternal_1_1lambda__core.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classinternal_1_1lambda__core__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument_3_01const__reference__wrapper_3_01T__wrapped_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument_3_01const__reference__wrapper_3_01T__wrapped_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument_3_01reference__wrapper_3_01T__wrapped_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__argument_3_01reference__wrapper_3_01T__wrapped_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__const__volatile__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1bound__volatile__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__limit__reference-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__limit__reference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__limit__reference_3_01T__type_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__limit__reference_3_01T__type_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__limit__reference-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__limit__reference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__limit__reference_3_01T__type_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1const__volatile__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1limit__reference-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1limit__reference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1limit__reference_3_01T__type_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1pointer__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal_1_1accumulated-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal_1_1accumulated.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal_1_1accumulated__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1signal__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot__base-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot__base.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot__base__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1slot__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__limit__reference-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__limit__reference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__limit__reference_3_01T__type_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor0__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/classsigc_1_1volatile__mem__functor7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/compatibility_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/compose_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/connection_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/deduce__result__type_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/deprecated.html -#usr/share/doc/libsigc-2.0/docs/reference/html/dir__2Fhome_2Fmurrayc_2Fcvs_2Fgnome214_2Flibsigc_2B_2B2_2Fsigc_2B_2B_2F.html -#usr/share/doc/libsigc-2.0/docs/reference/html/dir__2Fhome_2Fmurrayc_2Fcvs_2Fgnome214_2Flibsigc_2B_2B2_2Fsigc_2B_2B_2F_dep.png -#usr/share/doc/libsigc-2.0/docs/reference/html/dir__2Fhome_2Fmurrayc_2Fcvs_2Fgnome214_2Flibsigc_2B_2B2_2Fsigc_2B_2B_2Fadaptors_2F.html -#usr/share/doc/libsigc-2.0/docs/reference/html/dir__2Fhome_2Fmurrayc_2Fcvs_2Fgnome214_2Flibsigc_2B_2B2_2Fsigc_2B_2B_2Fadaptors_2F_dep.png -#usr/share/doc/libsigc-2.0/docs/reference/html/dir__2Fhome_2Fmurrayc_2Fcvs_2Fgnome214_2Flibsigc_2B_2B2_2Fsigc_2B_2B_2Fadaptors_2Flambda_2F.html -#usr/share/doc/libsigc-2.0/docs/reference/html/dir__2Fhome_2Fmurrayc_2Fcvs_2Fgnome214_2Flibsigc_2B_2B2_2Fsigc_2B_2B_2Fadaptors_2Flambda_2F_dep.png -#usr/share/doc/libsigc-2.0/docs/reference/html/dir__2Fhome_2Fmurrayc_2Fcvs_2Fgnome214_2Flibsigc_2B_2B2_2Fsigc_2B_2B_2Ffunctors_2F.html -#usr/share/doc/libsigc-2.0/docs/reference/html/dir__2Fhome_2Fmurrayc_2Fcvs_2Fgnome214_2Flibsigc_2B_2B2_2Fsigc_2B_2B_2Ffunctors_2F_dep.png -#usr/share/doc/libsigc-2.0/docs/reference/html/dirs.html -#usr/share/doc/libsigc-2.0/docs/reference/html/doxygen.css -#usr/share/doc/libsigc-2.0/docs/reference/html/doxygen.png -#usr/share/doc/libsigc-2.0/docs/reference/html/exception__catch_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/files.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x61.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x62.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x63.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x64.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x65.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x66.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x67.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x68.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x69.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x6c.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x6d.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x6e.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x6f.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x70.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x72.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x73.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x74.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x75.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x76.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_0x7e.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x62.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x63.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x64.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x65.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x66.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x68.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x69.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x6c.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x6d.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x6e.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x6f.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x70.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x72.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x73.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x74.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x75.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x76.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_func_0x7e.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_rela.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functions_vars.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functor__trait_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functors_2slot_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/functors_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/globals.html -#usr/share/doc/libsigc-2.0/docs/reference/html/globals_defs.html -#usr/share/doc/libsigc-2.0/docs/reference/html/globals_func.html -#usr/share/doc/libsigc-2.0/docs/reference/html/globals_type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/globals_vars.html -#usr/share/doc/libsigc-2.0/docs/reference/html/graph_legend.dot -#usr/share/doc/libsigc-2.0/docs/reference/html/graph_legend.html -#usr/share/doc/libsigc-2.0/docs/reference/html/graph_legend.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__adaptors.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__adaptors.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__bind.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__bind.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__compat.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__compose.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__compose.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__exception__catch.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__exception__catch.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__functors.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__functors.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__group__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__group__.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__hide.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__hide.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__lambdas.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__lambdas.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__mem__fun.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__mem__fun.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__ptr__fun.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__ptr__fun.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__retype.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__retype.png -#usr/share/doc/libsigc-2.0/docs/reference/html/group__signal.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__slot.html -#usr/share/doc/libsigc-2.0/docs/reference/html/group__slot.png -#usr/share/doc/libsigc-2.0/docs/reference/html/hide_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/hierarchy.html -#usr/share/doc/libsigc-2.0/docs/reference/html/index.html -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__0.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__1.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__10.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__100.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__101.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__102.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__103.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__104.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__105.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__106.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__107.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__108.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__109.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__11.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__110.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__111.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__112.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__113.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__114.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__115.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__116.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__117.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__118.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__119.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__12.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__120.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__121.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__122.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__123.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__124.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__125.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__126.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__127.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__128.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__129.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__13.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__130.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__131.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__132.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__133.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__134.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__135.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__136.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__137.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__138.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__139.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__14.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__140.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__141.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__142.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__143.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__144.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__145.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__146.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__147.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__148.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__149.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__15.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__150.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__151.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__152.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__153.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__154.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__155.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__156.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__157.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__158.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__159.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__16.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__160.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__161.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__162.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__163.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__164.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__165.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__166.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__167.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__168.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__169.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__17.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__170.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__171.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__172.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__173.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__174.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__175.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__176.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__177.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__178.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__179.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__18.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__180.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__181.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__182.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__183.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__184.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__185.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__186.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__187.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__188.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__189.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__19.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__190.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__191.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__192.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__193.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__194.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__195.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__196.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__197.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__198.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__199.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__2.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__20.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__200.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__201.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__202.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__203.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__204.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__205.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__206.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__207.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__208.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__209.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__21.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__210.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__211.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__212.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__213.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__214.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__215.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__216.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__217.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__218.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__219.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__22.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__220.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__221.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__222.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__223.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__224.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__225.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__226.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__227.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__228.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__229.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__23.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__230.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__231.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__232.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__233.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__234.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__235.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__236.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__237.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__238.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__239.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__24.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__240.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__241.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__242.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__243.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__244.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__245.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__246.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__247.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__248.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__249.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__25.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__250.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__251.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__252.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__253.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__254.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__255.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__256.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__257.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__258.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__259.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__26.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__260.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__261.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__262.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__27.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__28.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__29.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__3.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__30.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__31.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__32.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__33.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__34.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__35.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__36.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__37.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__38.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__39.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__4.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__40.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__41.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__42.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__43.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__44.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__45.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__46.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__47.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__48.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__49.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__5.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__50.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__51.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__52.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__53.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__54.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__55.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__56.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__57.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__58.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__59.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__6.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__60.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__61.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__62.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__63.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__64.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__65.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__66.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__67.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__68.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__69.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__7.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__70.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__71.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__72.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__73.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__74.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__75.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__76.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__77.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__78.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__79.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__8.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__80.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__81.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__82.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__83.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__84.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__85.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__86.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__87.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__88.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__89.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__9.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__90.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__91.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__92.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__93.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__94.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__95.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__96.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__97.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__98.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherit__graph__99.png -#usr/share/doc/libsigc-2.0/docs/reference/html/inherits.html -#usr/share/doc/libsigc-2.0/docs/reference/html/lambda_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/limit__reference_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/mem__fun_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/method__slot_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/modules.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespaceSigC.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_func.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacemembers_vars.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespaces.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacesigc.html -#usr/share/doc/libsigc-2.0/docs/reference/html/namespacesigc_1_1internal.html -#usr/share/doc/libsigc-2.0/docs/reference/html/object_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/object__slot_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/operator_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/pages.html -#usr/share/doc/libsigc-2.0/docs/reference/html/ptr__fun_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/reference__wrapper_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/retype_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/retype__return_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/select_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/sigc++_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/signal_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/signal__base_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/slot_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/slot__base_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structSigC_1_1retype__slot__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structSigC_1_1retype__slot__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structSigC_1_1retype__slot__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structSigC_1_1retype__slot__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structSigC_1_1retype__slot__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__base.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__base__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adaptor__trait_3_01T__functor_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adapts-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adapts.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1adapts__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1address.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1and__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1arithmetic.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1arithmetic__assign.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1assign.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bind__return__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bind__return__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bind__return__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bind__return__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bind__return__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bitwise.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1bitwise__assign.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1cast__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose1__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose1__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose1__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose1__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose1__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose2__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose2__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose2__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose2__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1compose2__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1connection-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1connection.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1const__reference__wrapper-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1const__reference__wrapper.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5const_01_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01T__type_01_5const_01_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5const_01_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dereference__trait_3_01const_01T__type_01_5const_01_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1divides.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1dynamic__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1equal__to.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor_3_01T__functor_00_01T__catcher_00_01void_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1exception__catch__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__base.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__base__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__functor_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__functor_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)()_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)()_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)()_01const_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)()_01const_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)(T__arg1)_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)(T__arg1)_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)(T__arg1)_01const_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(T__obj_1_1_5)(T__arg1_00_01T__arg2)_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)()_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)()_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)(T__arg1)_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)(T__arg1)_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)(T__arg1_00_01T__arg2)_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1functor__trait_3_01T__return(_5)(T__arg1_00_01T__arg2)_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1greater.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1greater__equal.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3-1_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3-1_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3-1_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3-1_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3-1_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_010_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_010_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_010_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_010_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_010_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_011_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_011_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_011_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_011_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_011_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_012_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_012_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_012_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_012_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_012_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_013_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_013_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_013_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_013_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_013_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_014_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_014_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_014_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_014_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_014_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_015_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_015_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_015_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_015_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_015_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_016_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_016_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_016_00_01T__functor_01_4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_016_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1hide__functor_3_016_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01false_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01false_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01false_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01false_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01true_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01true_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01true_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__core_3_01T__type_00_01true_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select1_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select1_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select2_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select2_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select3_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select3_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select4_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select5_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select5_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select5__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select6_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select6_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select6__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select7_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select7_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1lambda__select7__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1limit__derived__target-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1limit__derived__target.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1limit__derived__target_3_01T__target_01_5_00_01T__action_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1limit__derived__target_3_01T__target_01_5_00_01T__action_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0_3_01T__return_00_01nil_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0_3_01T__return_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0_3_01void_00_01nil_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit0_3_01void_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1_3_01T__return_00_01T__arg1_00_01nil_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1_3_01T__return_00_01T__arg1_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1_3_01void_00_01T__arg1_00_01nil_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit1_3_01void_00_01T__arg1_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit2_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit2_3_01void_00_01T__arg1_00_01T__arg2_00_01nil_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__emit7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__exec-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__exec.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__impl-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1signal__impl.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call0-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call0.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call5-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call5.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call6-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call6.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call7-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__call7.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__do__bind-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__do__bind.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__do__unbind-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__do__unbind.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__iterator__buf-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__iterator__buf.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__iterator__buf_3_01T__emitter_00_01void_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__iterator__buf_3_01T__emitter_00_01void_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__rep-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__rep.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1slot__rep__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1temp__slot__list-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1temp__slot__list.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1trackable__callback-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1trackable__callback.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1trackable__callback__list-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1trackable__callback__list.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1typed__slot__rep-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1typed__slot__rep.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1typed__slot__rep__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type_3_01false_00_01T__type_00_01T__limit_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type_3_01false_00_01T__type_00_01T__limit_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type_3_01true_00_01T__type_00_01T__limit_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type_3_01true_00_01T__type_00_01T__limit_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type__pointer_3_01false_00_01T__type_00_01T__limit_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type__pointer_3_01false_00_01T__type_00_01T__limit_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type__pointer_3_01true_00_01T__type_00_01T__limit_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1internal_1_1with__type__pointer_3_01true_00_01T__type_00_01T__limit_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1is__base__and__derived-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1is__base__and__derived.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1is__base__and__derived_3_01T__base_00_01T__base_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01divides_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01divides_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01minus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01minus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01modulus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01modulus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01multiplies_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01multiplies_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01plus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic_3_01plus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01divides_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01divides_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01minus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01minus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01modulus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01modulus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01multiplies_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01multiplies_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01plus_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01arithmetic__assign_3_01plus_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01and___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01and___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01leftshift_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01leftshift_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01or___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01or___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01rightshift_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01rightshift_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01xor___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise_3_01xor___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01and___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01and___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01leftshift_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01leftshift_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01or___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01or___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01rightshift_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01rightshift_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01xor___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01bitwise__assign_3_01xor___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01logical_3_01and___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01logical_3_01and___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01logical_3_01or___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01logical_3_01or___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01other_3_01assign_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01other_3_01assign_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01other_3_01subscript_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01other_3_01subscript_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01equal__to_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01equal__to_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01greater_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01greater_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01greater__equal_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01greater__equal_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01less_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01less_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01less__equal_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01less__equal_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01not__equal__to_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action_3_01relational_3_01not__equal__to_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert_3_01cast___3_01dynamic___01_4_00_01T__type_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert_3_01cast___3_01dynamic___01_4_00_01T__type_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert_3_01cast___3_01reinterpret___01_4_00_01T__type_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert_3_01cast___3_01static___01_4_00_01T__type_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert_3_01cast___3_01static___01_4_00_01T__type_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert__deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__convert__deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01negate_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01negate_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01pre__decrement_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01pre__decrement_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01pre__increment_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__arithmetic_3_01pre__increment_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__bitwise_3_01not___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__bitwise_3_01not___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__logical_3_01not___01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__logical_3_01not___01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__other_3_01address_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__other_3_01address_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__other_3_01dereference_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary_3_01unary__other_3_01dereference_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary__deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__action__unary__deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__base.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__base__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group1-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group1.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group1_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group1_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group1__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group2-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group2.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group2_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group2_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group2__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group3-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group3.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group3_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group3_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__group3__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__convert-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__convert.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__convert_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__convert_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__convert__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__unary-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__unary.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__unary_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__unary_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1lambda__operator__unary__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1leftshift.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1less.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1less__equal.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1logical.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1minus.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1modulus.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1multiplies.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1negate.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1not__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1not__equal__to.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1or__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1other.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1plus.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1pre__decrement.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1pre__increment.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1reference__wrapper-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1reference__wrapper.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1reinterpret__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1relational.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_1_1deduce__result__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4_1_1deduce__result__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor_3_01void_00_01T__functor_01_4__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1retype__return__functor__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1rightshift.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1signal__base-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1signal__base.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1signal__base__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__const__iterator-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__const__iterator.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__iterator-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__iterator.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__list-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1slot__list.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1static__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1subscript.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1trackable-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1trackable.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1trackable__inherit__graph.png -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01T__type[N]_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01T__type_01_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01const_01T__type_01_6_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1type__trait_3_01void_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unary__arithmetic.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unary__bitwise.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unary__logical.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unary__other.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__lambda__type-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__lambda__type.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__lambda__type_3_01lambda_3_01T__type_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference_3_01const__reference__wrapper_3_01T__type_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4-members.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1unwrap__reference_3_01reference__wrapper_3_01T__type_01_4_01_4.html -#usr/share/doc/libsigc-2.0/docs/reference/html/structsigc_1_1xor__.html -#usr/share/doc/libsigc-2.0/docs/reference/html/tabs.css -#usr/share/doc/libsigc-2.0/docs/reference/html/trackable_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/type__traits_8h.html -#usr/share/doc/libsigc-2.0/docs/reference/html/visit__each_8h.html -#usr/share/doc/libsigc-2.0/docs/tutorial -#usr/share/doc/libsigc-2.0/docs/tutorial/html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch01.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch02.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch02s02.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch02s03.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch02s04.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch03.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch03s02.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch04.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch04s02.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch04s03.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/ch05.html -#usr/share/doc/libsigc-2.0/docs/tutorial/html/index.html diff --git a/config/rootfiles/packages/stunnel b/config/rootfiles/packages/stunnel new file mode 100644 index 0000000000..eaf7fcece9 --- /dev/null +++ b/config/rootfiles/packages/stunnel @@ -0,0 +1,41 @@ +etc/rc.d/init.d/stunnel +etc/stunnel +etc/stunnel/stunnel.conf +#etc/stunnel/stunnel.conf-sample +usr/bin/stunnel +#usr/bin/stunnel3 +#usr/lib/stunnel +#usr/lib/stunnel/libstunnel.la +usr/lib/stunnel/libstunnel.so +#usr/share/doc/stunnel +#usr/share/doc/stunnel/AUTHORS +#usr/share/doc/stunnel/BUGS +#usr/share/doc/stunnel/COPYING +#usr/share/doc/stunnel/COPYRIGHT.GPL +#usr/share/doc/stunnel/CREDITS +#usr/share/doc/stunnel/ChangeLog +#usr/share/doc/stunnel/INSTALL +#usr/share/doc/stunnel/INSTALL.FIPS +#usr/share/doc/stunnel/INSTALL.W32 +#usr/share/doc/stunnel/INSTALL.WCE +#usr/share/doc/stunnel/PORTS +#usr/share/doc/stunnel/README +#usr/share/doc/stunnel/TODO +#usr/share/doc/stunnel/examples +#usr/share/doc/stunnel/examples/ca.html +#usr/share/doc/stunnel/examples/ca.pl +#usr/share/doc/stunnel/examples/importCA.html +#usr/share/doc/stunnel/examples/importCA.sh +#usr/share/doc/stunnel/examples/script.sh +#usr/share/doc/stunnel/examples/stunnel.init +#usr/share/doc/stunnel/examples/stunnel.service +#usr/share/doc/stunnel/examples/stunnel.spec +#usr/share/doc/stunnel/stunnel.fr.html +#usr/share/doc/stunnel/stunnel.html +#usr/share/doc/stunnel/stunnel.pl.html +#usr/share/man/man8/stunnel.8 +#usr/share/man/man8/stunnel.fr.8 +#usr/share/man/man8/stunnel.pl.8 +var/ipfire/backup/addons/includes/stunnel +var/lib/stunnel +var/lib/stunnel/run diff --git a/config/stunnel/stunnel.conf b/config/stunnel/stunnel.conf new file mode 100644 index 0000000000..b172200887 --- /dev/null +++ b/config/stunnel/stunnel.conf @@ -0,0 +1,21 @@ +; File: /etc/stunnel/stunnel.conf + +; Note: The pid and output locations are relative to the chroot location. + +pid = /run/stunnel.pid +chroot = /var/lib/stunnel +client = no +setuid = stunnel +setgid = stunnel +cert = /etc/stunnel/stunnel.pem + +;debug = 7 +;output = stunnel.log + +;[https] +;accept = 443 +;connect = 80 +;; "TIMEOUTclose = 0" is a workaround for a design flaw in Microsoft SSL +;; Microsoft implementations do not use SSL close-notify alert and thus +;; they are vulnerable to truncation attacks +;TIMEOUTclose = 0 diff --git a/config/xen-image/xen-image-maker.sh b/config/xen-image/xen-image-maker.sh index c08045037e..a42ad5bf06 100644 --- a/config/xen-image/xen-image-maker.sh +++ b/config/xen-image/xen-image-maker.sh @@ -27,15 +27,16 @@ KERN_TYPE=pae KVER=xxxKVERxxx KERN_PACK=xxxKERN_PACKxxx KRNDOWN=http://mirror0.ipfire.org/pakfire2/$VERSION/paks - +CONSOLE=hvc0 ############################################################################### # If you really want to use outdated legacy kernel uncomment this lines. ##### # Not recommended!!! ########################################################## ###################### #KERN_TYPE=xen #KVER=2.6.32.61 -#KERN_PACK=28 +#KERN_PACK=29 #KRNDOWN=http://mirror0.ipfire.org/pakfire2/2.15/paks +#CONSOLE=xvc0 ############################################################################### SIZEboot=64 @@ -108,10 +109,10 @@ mount -o loop $IMGvar $MNThdd/var # Install IPFire without kernel modules tar -C $MNThdd/ -xvf $ISODIR/$SNAME-$VERSION.tlz --lzma \ - --exclude=lib/modules* --exclude=boot* + --exclude=lib/modules* --exclude=boot* --numeric-owner #Install Kernel -tar -C $MNThdd/opt/pakfire/tmp -xvf $TMPDIR/$KERNEL +tar -C $MNThdd/opt/pakfire/tmp -xvf $TMPDIR/$KERNEL --numeric-owner chroot $MNThdd /opt/pakfire/tmp/install.sh rm -rf $MNThdd/opt/pakfire/tmp/* @@ -120,7 +121,7 @@ mkdir $MNThdd/boot/grub echo "timeout 10" > $MNThdd/boot/grub/grub.conf echo "default 0" >> $MNThdd/boot/grub/grub.conf echo "title IPFire ($KERN_TYPE-kernel)" >> $MNThdd/boot/grub/grub.conf -echo " kernel /vmlinuz-$KVER-ipfire-xen root=/dev/xvda3 rootdelay=10 panic=10 console=xvc0 ro" \ +echo " kernel /vmlinuz-$KVER-ipfire-xen root=/dev/xvda3 rootdelay=10 panic=10 console=$CONSOLE ro" \ >> $MNThdd/boot/grub/grub.conf echo " initrd /ipfirerd-$KVER-$KERN_TYPE.img" >> $MNThdd/boot/grub/grub.conf echo "# savedefault 0" >> $MNThdd/boot/grub/grub.conf @@ -161,12 +162,12 @@ rm -rf $MNThdd/etc/rc.d/rcsysinit.d/S19checkfstab #Remove console init rm -rf $MNThdd/etc/rc.d/rcsysinit.d/S70console -#Add xvc0 to securetty -echo xvc0 >> $MNThdd/etc/securetty +#Add console to securetty +echo $CONSOLE >> $MNThdd/etc/securetty -#Add getty for xvc0 +#Add getty for console echo "#Enable login for XEN" >> $MNThdd/etc/inittab -echo "8:2345:respawn:/sbin/agetty xvc0 9600 --noclear" >> $MNThdd/etc/inittab +echo "8:2345:respawn:/sbin/agetty $CONSOLE 9600 --noclear" >> $MNThdd/etc/inittab #Disable some initskripts echo "#!/bin/sh" > $MNThdd/etc/rc.d/init.d/setclock diff --git a/doc/language_issues.de b/doc/language_issues.de index 8dbfc9088b..a00e97a051 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -1,4 +1,3 @@ -WARNING: translation string unused: Client status and controlc WARNING: translation string unused: ConnSched scheduler WARNING: translation string unused: ConnSched select profile WARNING: translation string unused: HDD temperature @@ -226,6 +225,14 @@ WARNING: translation string unused: fwdfw std network WARNING: translation string unused: fwdfw till WARNING: translation string unused: fwdfw time WARNING: translation string unused: fwdfw xt access +WARNING: translation string unused: fwhost Custom Host +WARNING: translation string unused: fwhost Custom Network +WARNING: translation string unused: fwhost IpSec Host +WARNING: translation string unused: fwhost IpSec Network +WARNING: translation string unused: fwhost OpenVPN N-2-N +WARNING: translation string unused: fwhost OpenVPN static host +WARNING: translation string unused: fwhost OpenVPN static network +WARNING: translation string unused: fwhost Standard Network WARNING: translation string unused: fwhost attention WARNING: translation string unused: fwhost blue WARNING: translation string unused: fwhost changeremark @@ -356,6 +363,7 @@ WARNING: translation string unused: network time WARNING: translation string unused: network traffic graphs WARNING: translation string unused: network updated WARNING: translation string unused: networks settings +WARNING: translation string unused: never WARNING: translation string unused: new optionsfw must boot WARNING: translation string unused: no alcatelusb firmware WARNING: translation string unused: no cfg upload @@ -403,6 +411,8 @@ WARNING: translation string unused: override mtu WARNING: translation string unused: ovpn config WARNING: translation string unused: ovpn dl WARNING: translation string unused: ovpn log +WARNING: translation string unused: ovpn reneg sec +WARNING: translation string unused: ovpn_fastio WARNING: translation string unused: ovpn_fragment WARNING: translation string unused: ovpn_mssfix WARNING: translation string unused: ovpn_mtudisc @@ -448,16 +458,12 @@ WARNING: translation string unused: released WARNING: translation string unused: removable device advice WARNING: translation string unused: reportfile WARNING: translation string unused: requested data -WARNING: translation string unused: reserved dst port -WARNING: translation string unused: reserved src port WARNING: translation string unused: restore hardware settings WARNING: translation string unused: root WARNING: translation string unused: root path WARNING: translation string unused: root user password WARNING: translation string unused: route subnet is invalid WARNING: translation string unused: router ip -WARNING: translation string unused: rsvd dst port overlap -WARNING: translation string unused: rsvd src port overlap WARNING: translation string unused: rules already up to date WARNING: translation string unused: safe removal of umounted device WARNING: translation string unused: save error @@ -588,7 +594,6 @@ WARNING: translation string unused: use dov WARNING: translation string unused: use ibod WARNING: translation string unused: view log WARNING: translation string unused: vpn aggrmode -WARNING: translation string unused: vpn configuration main WARNING: translation string unused: vpn incompatible use of defaultroute WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue @@ -604,19 +609,21 @@ WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits -WARNING: untranslated string: Number of Countries for the pie chart WARNING: untranslated string: Scan for Songs WARNING: untranslated string: addons WARNING: untranslated string: bytes WARNING: untranslated string: community rules WARNING: untranslated string: dead peer detection +WARNING: untranslated string: dns servers +WARNING: untranslated string: downlink WARNING: untranslated string: emerging rules -WARNING: untranslated string: firewall logs country +WARNING: untranslated string: first WARNING: untranslated string: fwhost err hostip +WARNING: untranslated string: last WARNING: untranslated string: monitor interface WARNING: untranslated string: qos add subclass WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed WARNING: untranslated string: routing table -WARNING: untranslated string: source ip country +WARNING: untranslated string: uplink diff --git a/doc/language_issues.en b/doc/language_issues.en index 79dafe5bd0..ba7f0307df 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -1,4 +1,3 @@ -WARNING: translation string unused: Client status and controlc WARNING: translation string unused: ConnSched scheduler WARNING: translation string unused: ConnSched select profile WARNING: translation string unused: HDD temperature @@ -146,6 +145,7 @@ WARNING: translation string unused: destination ip bad WARNING: translation string unused: destination ip or net WARNING: translation string unused: destination net WARNING: translation string unused: destination port overlaps +WARNING: translation string unused: dh name is invalid WARNING: translation string unused: dhcp base ip fixed lease WARNING: translation string unused: dhcp create fixed leases WARNING: translation string unused: dhcp fixed lease err1 @@ -248,6 +248,14 @@ WARNING: translation string unused: fwdfw std network WARNING: translation string unused: fwdfw till WARNING: translation string unused: fwdfw time WARNING: translation string unused: fwdfw xt access +WARNING: translation string unused: fwhost Custom Host +WARNING: translation string unused: fwhost Custom Network +WARNING: translation string unused: fwhost IpSec Host +WARNING: translation string unused: fwhost IpSec Network +WARNING: translation string unused: fwhost OpenVPN N-2-N +WARNING: translation string unused: fwhost OpenVPN static host +WARNING: translation string unused: fwhost OpenVPN static network +WARNING: translation string unused: fwhost Standard Network WARNING: translation string unused: fwhost attention WARNING: translation string unused: fwhost blue WARNING: translation string unused: fwhost changeremark @@ -381,6 +389,7 @@ WARNING: translation string unused: network time WARNING: translation string unused: network traffic graphs WARNING: translation string unused: network updated WARNING: translation string unused: networks settings +WARNING: translation string unused: never WARNING: translation string unused: new optionsfw must boot WARNING: translation string unused: no alcatelusb firmware WARNING: translation string unused: no cfg upload @@ -429,8 +438,8 @@ WARNING: translation string unused: override mtu WARNING: translation string unused: ovpn config WARNING: translation string unused: ovpn dl WARNING: translation string unused: ovpn log +WARNING: translation string unused: ovpn reneg sec WARNING: translation string unused: ovpn_fastio -WARNING: translation string unused: ovpn_fragment WARNING: translation string unused: ovpn_mssfix WARNING: translation string unused: ovpn_mtudisc WARNING: translation string unused: ovpn_processprio @@ -476,16 +485,12 @@ WARNING: translation string unused: released WARNING: translation string unused: removable device advice WARNING: translation string unused: reportfile WARNING: translation string unused: requested data -WARNING: translation string unused: reserved dst port -WARNING: translation string unused: reserved src port WARNING: translation string unused: restore hardware settings WARNING: translation string unused: root WARNING: translation string unused: root path WARNING: translation string unused: root user password WARNING: translation string unused: route subnet is invalid WARNING: translation string unused: router ip -WARNING: translation string unused: rsvd dst port overlap -WARNING: translation string unused: rsvd src port overlap WARNING: translation string unused: rules already up to date WARNING: translation string unused: safe removal of umounted device WARNING: translation string unused: save error @@ -540,6 +545,7 @@ WARNING: translation string unused: successfully refreshed updates list WARNING: translation string unused: system graphs WARNING: translation string unused: system log viewer WARNING: translation string unused: system status information +WARNING: translation string unused: teovpn_fragment WARNING: translation string unused: test WARNING: translation string unused: test email could not be sent WARNING: translation string unused: test email was sent @@ -623,7 +629,6 @@ WARNING: translation string unused: use dov WARNING: translation string unused: use ibod WARNING: translation string unused: view log WARNING: translation string unused: vpn aggrmode -WARNING: translation string unused: vpn configuration main WARNING: translation string unused: vpn incompatible use of defaultroute WARNING: translation string unused: vpn mtu invalid WARNING: translation string unused: vpn on blue @@ -639,13 +644,16 @@ WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits -WARNING: untranslated string: Number of Countries for the pie chart WARNING: untranslated string: Scan for Songs WARNING: untranslated string: bytes +WARNING: untranslated string: dns servers +WARNING: untranslated string: downlink +WARNING: untranslated string: first WARNING: untranslated string: fwhost err hostip +WARNING: untranslated string: last WARNING: untranslated string: monitor interface WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed WARNING: untranslated string: routing table -WARNING: untranslated string: source ip country +WARNING: untranslated string: uplink diff --git a/doc/language_issues.es b/doc/language_issues.es index f7649af637..54cb32e982 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -420,16 +420,12 @@ WARNING: translation string unused: released WARNING: translation string unused: removable device advice WARNING: translation string unused: reportfile WARNING: translation string unused: requested data -WARNING: translation string unused: reserved dst port -WARNING: translation string unused: reserved src port WARNING: translation string unused: restore hardware settings WARNING: translation string unused: root WARNING: translation string unused: root path WARNING: translation string unused: root user password WARNING: translation string unused: route subnet is invalid WARNING: translation string unused: router ip -WARNING: translation string unused: rsvd dst port overlap -WARNING: translation string unused: rsvd src port overlap WARNING: translation string unused: rules already up to date WARNING: translation string unused: safe removal of umounted device WARNING: translation string unused: save error @@ -588,6 +584,7 @@ WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent +WARNING: untranslated string: atm device WARNING: untranslated string: attention WARNING: untranslated string: bit WARNING: untranslated string: bytes @@ -637,8 +634,9 @@ WARNING: untranslated string: dead peer detection WARNING: untranslated string: deprecated fs warn WARNING: untranslated string: details WARNING: untranslated string: dh +WARNING: untranslated string: dh key move failed WARNING: untranslated string: dh key warn -WARNING: untranslated string: dh name is invalid +WARNING: untranslated string: dh key warn1 WARNING: untranslated string: dnat address WARNING: untranslated string: dns servers WARNING: untranslated string: dnsforward @@ -876,7 +874,8 @@ WARNING: untranslated string: outgoing firewall p2p allow WARNING: untranslated string: outgoing firewall p2p deny WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh -WARNING: untranslated string: ovpn dh name +WARNING: untranslated string: ovpn dh upload +WARNING: untranslated string: ovpn engines WARNING: untranslated string: ovpn errmsg green already pushed WARNING: untranslated string: ovpn errmsg invalid ip or mask WARNING: untranslated string: ovpn generating the root and host certificates @@ -903,6 +902,7 @@ WARNING: untranslated string: proxy reports monthly WARNING: untranslated string: proxy reports today WARNING: untranslated string: proxy reports weekly WARNING: untranslated string: qos enter bandwidths +WARNING: untranslated string: random number generator daemon WARNING: untranslated string: red1 WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added diff --git a/doc/language_issues.fr b/doc/language_issues.fr index a3084e87d2..0386f243cc 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -431,16 +431,12 @@ WARNING: translation string unused: released WARNING: translation string unused: removable device advice WARNING: translation string unused: reportfile WARNING: translation string unused: requested data -WARNING: translation string unused: reserved dst port -WARNING: translation string unused: reserved src port WARNING: translation string unused: restore hardware settings WARNING: translation string unused: root WARNING: translation string unused: root path WARNING: translation string unused: root user password WARNING: translation string unused: route subnet is invalid WARNING: translation string unused: router ip -WARNING: translation string unused: rsvd dst port overlap -WARNING: translation string unused: rsvd src port overlap WARNING: translation string unused: rules already up to date WARNING: translation string unused: safe removal of umounted device WARNING: translation string unused: save error @@ -598,6 +594,7 @@ WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent +WARNING: untranslated string: atm device WARNING: untranslated string: attention WARNING: untranslated string: bit WARNING: untranslated string: bytes @@ -647,8 +644,9 @@ WARNING: untranslated string: dead peer detection WARNING: untranslated string: deprecated fs warn WARNING: untranslated string: details WARNING: untranslated string: dh +WARNING: untranslated string: dh key move failed WARNING: untranslated string: dh key warn -WARNING: untranslated string: dh name is invalid +WARNING: untranslated string: dh key warn1 WARNING: untranslated string: dnat address WARNING: untranslated string: dns address deleted txt WARNING: untranslated string: dns servers @@ -887,7 +885,8 @@ WARNING: untranslated string: other WARNING: untranslated string: outgoing firewall access WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh -WARNING: untranslated string: ovpn dh name +WARNING: untranslated string: ovpn dh upload +WARNING: untranslated string: ovpn engines WARNING: untranslated string: ovpn generating the root and host certificates WARNING: untranslated string: ovpn ha WARNING: untranslated string: ovpn hmac @@ -910,6 +909,7 @@ WARNING: untranslated string: proxy reports monthly WARNING: untranslated string: proxy reports today WARNING: untranslated string: proxy reports weekly WARNING: untranslated string: qos enter bandwidths +WARNING: untranslated string: random number generator daemon WARNING: untranslated string: red1 WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added diff --git a/doc/language_issues.nl b/doc/language_issues.nl index 747f406285..7c6f729dd0 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -42,6 +42,11 @@ WARNING: translation string unused: advproxy no cre groups WARNING: translation string unused: advproxy ssadvanced proxy WARNING: translation string unused: advproxy update information WARNING: translation string unused: advproxy update notification +WARNING: translation string unused: age second +WARNING: translation string unused: age seconds +WARNING: translation string unused: age shour +WARNING: translation string unused: age sminute +WARNING: translation string unused: age ssecond WARNING: translation string unused: alcatelusb help WARNING: translation string unused: alcatelusb upload WARNING: translation string unused: all interfaces @@ -133,6 +138,7 @@ WARNING: translation string unused: ddns help freedns WARNING: translation string unused: ddns help plus WARNING: translation string unused: debugme WARNING: translation string unused: deep scan directories +WARNING: translation string unused: default ip WARNING: translation string unused: default networks WARNING: translation string unused: default services WARNING: translation string unused: description @@ -212,6 +218,7 @@ WARNING: translation string unused: firewall log viewer WARNING: translation string unused: firmware WARNING: translation string unused: firmware upload WARNING: translation string unused: force update +WARNING: translation string unused: forward firewall WARNING: translation string unused: forwarding rule added WARNING: translation string unused: forwarding rule removed WARNING: translation string unused: forwarding rule updated @@ -223,6 +230,47 @@ WARNING: translation string unused: from email pw WARNING: translation string unused: from email server WARNING: translation string unused: from email user WARNING: translation string unused: from warn email bad +WARNING: translation string unused: fwdfw MODE1 +WARNING: translation string unused: fwdfw MODE2 +WARNING: translation string unused: fwdfw addrule +WARNING: translation string unused: fwdfw err nosrcip +WARNING: translation string unused: fwdfw err notgtip +WARNING: translation string unused: fwdfw err prot_port1 +WARNING: translation string unused: fwdfw final_rule +WARNING: translation string unused: fwdfw from +WARNING: translation string unused: fwdfw ipsec network +WARNING: translation string unused: fwdfw man port +WARNING: translation string unused: fwdfw menu +WARNING: translation string unused: fwdfw natport used +WARNING: translation string unused: fwdfw p2p txt +WARNING: translation string unused: fwdfw rule action +WARNING: translation string unused: fwdfw rules +WARNING: translation string unused: fwdfw std network +WARNING: translation string unused: fwdfw till +WARNING: translation string unused: fwdfw time +WARNING: translation string unused: fwdfw xt access +WARNING: translation string unused: fwhost Custom Host +WARNING: translation string unused: fwhost Custom Network +WARNING: translation string unused: fwhost IpSec Host +WARNING: translation string unused: fwhost IpSec Network +WARNING: translation string unused: fwhost OpenVPN N-2-N +WARNING: translation string unused: fwhost OpenVPN static host +WARNING: translation string unused: fwhost OpenVPN static network +WARNING: translation string unused: fwhost Standard Network +WARNING: translation string unused: fwhost attention +WARNING: translation string unused: fwhost blue +WARNING: translation string unused: fwhost changeremark +WARNING: translation string unused: fwhost err addrgrp +WARNING: translation string unused: fwhost err hostorip +WARNING: translation string unused: fwhost err mac +WARNING: translation string unused: fwhost green +WARNING: translation string unused: fwhost hosts +WARNING: translation string unused: fwhost ipadr +WARNING: translation string unused: fwhost ipsec host +WARNING: translation string unused: fwhost orange +WARNING: translation string unused: fwhost reread +WARNING: translation string unused: fwhost reset +WARNING: translation string unused: fwhost wo subnet WARNING: translation string unused: g.dtm WARNING: translation string unused: g.lite WARNING: translation string unused: gen static key @@ -268,6 +316,7 @@ WARNING: translation string unused: invalid upstream proxy username or password WARNING: translation string unused: invert WARNING: translation string unused: ip address in use WARNING: translation string unused: ipfire side +WARNING: translation string unused: ipsec no connections WARNING: translation string unused: iptable rules WARNING: translation string unused: isdn WARNING: translation string unused: isdn settings @@ -436,16 +485,12 @@ WARNING: translation string unused: released WARNING: translation string unused: removable device advice WARNING: translation string unused: reportfile WARNING: translation string unused: requested data -WARNING: translation string unused: reserved dst port -WARNING: translation string unused: reserved src port WARNING: translation string unused: restore hardware settings WARNING: translation string unused: root WARNING: translation string unused: root path WARNING: translation string unused: root user password WARNING: translation string unused: route subnet is invalid WARNING: translation string unused: router ip -WARNING: translation string unused: rsvd dst port overlap -WARNING: translation string unused: rsvd src port overlap WARNING: translation string unused: rules already up to date WARNING: translation string unused: safe removal of umounted device WARNING: translation string unused: save error @@ -517,6 +562,13 @@ WARNING: translation string unused: to email adr WARNING: translation string unused: to install an update WARNING: translation string unused: to warn email bad WARNING: translation string unused: too long 80 char max +WARNING: translation string unused: tor 0 = disabled +WARNING: translation string unused: tor accounting period daily +WARNING: translation string unused: tor accounting period monthly +WARNING: translation string unused: tor accounting period weekly +WARNING: translation string unused: tor bridge enabled +WARNING: translation string unused: tor errmsg invalid node id +WARNING: translation string unused: tor exit country WARNING: translation string unused: total connection time WARNING: translation string unused: traffic back WARNING: translation string unused: traffic calc time @@ -547,9 +599,12 @@ WARNING: translation string unused: updates is old1 WARNING: translation string unused: updates is old2 WARNING: translation string unused: updxlrtr children WARNING: translation string unused: updxlrtr invalid num of children +WARNING: translation string unused: updxlrtr sources +WARNING: translation string unused: updxlrtr standard view WARNING: translation string unused: updxlrtr unknown WARNING: translation string unused: updxlrtr update information WARNING: translation string unused: updxlrtr update notification +WARNING: translation string unused: updxlrtr used by WARNING: translation string unused: upload fcdsl.o WARNING: translation string unused: upload file WARNING: translation string unused: upload static key @@ -559,6 +614,7 @@ WARNING: translation string unused: upload update file WARNING: translation string unused: upstream password WARNING: translation string unused: upstream proxy host:port WARNING: translation string unused: upstream username +WARNING: translation string unused: uptime WARNING: translation string unused: uptime and users WARNING: translation string unused: urlfilter background image WARNING: translation string unused: urlfilter background text @@ -588,218 +644,23 @@ WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits -WARNING: untranslated string: ConnSched dial -WARNING: untranslated string: ConnSched hangup -WARNING: untranslated string: ConnSched reboot -WARNING: untranslated string: ConnSched shutdown -WARNING: untranslated string: MB read -WARNING: untranslated string: MB written WARNING: untranslated string: Number of Countries for the pie chart WARNING: untranslated string: Scan for Songs -WARNING: untranslated string: addons -WARNING: untranslated string: advproxy cache-digest -WARNING: untranslated string: advproxy errmsg proxy ports equal -WARNING: untranslated string: advproxy proxy port transparent -WARNING: untranslated string: bit +WARNING: untranslated string: atm device WARNING: untranslated string: bytes WARNING: untranslated string: capabilities -WARNING: untranslated string: ccd err isipsecrw -WARNING: untranslated string: ccd err isovpnn2n -WARNING: untranslated string: ccd iroute2 -WARNING: untranslated string: count -WARNING: untranslated string: countries -WARNING: untranslated string: country codes and flags -WARNING: untranslated string: countrycode -WARNING: untranslated string: dead peer detection -WARNING: untranslated string: details WARNING: untranslated string: dh +WARNING: untranslated string: dh key move failed WARNING: untranslated string: dh key warn -WARNING: untranslated string: dh name is invalid -WARNING: untranslated string: dnat address +WARNING: untranslated string: dh key warn1 WARNING: untranslated string: dns servers -WARNING: untranslated string: dnsforward -WARNING: untranslated string: dnsforward add a new entry -WARNING: untranslated string: dnsforward configuration -WARNING: untranslated string: dnsforward edit an entry -WARNING: untranslated string: dnsforward entries -WARNING: untranslated string: dnsforward forward_server -WARNING: untranslated string: dnsforward zone -WARNING: untranslated string: downlink -WARNING: untranslated string: dpd delay -WARNING: untranslated string: dpd timeout -WARNING: untranslated string: drop action -WARNING: untranslated string: drop action1 -WARNING: untranslated string: drop action2 -WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing -WARNING: untranslated string: encryption -WARNING: untranslated string: entropy -WARNING: untranslated string: entropy graphs WARNING: untranslated string: firewall logs country -WARNING: untranslated string: firewall rules -WARNING: untranslated string: first -WARNING: untranslated string: flag -WARNING: untranslated string: fw default drop -WARNING: untranslated string: fw settings -WARNING: untranslated string: fw settings color -WARNING: untranslated string: fw settings dropdown -WARNING: untranslated string: fw settings remark -WARNING: untranslated string: fw settings ruletable -WARNING: untranslated string: fwdfw ACCEPT -WARNING: untranslated string: fwdfw DROP -WARNING: untranslated string: fwdfw REJECT -WARNING: untranslated string: fwdfw action -WARNING: untranslated string: fwdfw additional -WARNING: untranslated string: fwdfw all icmp -WARNING: untranslated string: fwdfw change -WARNING: untranslated string: fwdfw copy -WARNING: untranslated string: fwdfw delete -WARNING: untranslated string: fwdfw dnat -WARNING: untranslated string: fwdfw dnat error -WARNING: untranslated string: fwdfw dnat extport -WARNING: untranslated string: fwdfw dnat nochoice -WARNING: untranslated string: fwdfw dnat porterr -WARNING: untranslated string: fwdfw dnat porterr2 -WARNING: untranslated string: fwdfw edit -WARNING: untranslated string: fwdfw err nosrc -WARNING: untranslated string: fwdfw err notgt -WARNING: untranslated string: fwdfw err prot_port -WARNING: untranslated string: fwdfw err remark -WARNING: untranslated string: fwdfw err ruleexists -WARNING: untranslated string: fwdfw err same -WARNING: untranslated string: fwdfw err samesub -WARNING: untranslated string: fwdfw err src_addr -WARNING: untranslated string: fwdfw err tgt_addr -WARNING: untranslated string: fwdfw err tgt_grp -WARNING: untranslated string: fwdfw err tgt_mac -WARNING: untranslated string: fwdfw err tgt_port -WARNING: untranslated string: fwdfw err time -WARNING: untranslated string: fwdfw external port nat -WARNING: untranslated string: fwdfw hint ip1 -WARNING: untranslated string: fwdfw hint ip2 -WARNING: untranslated string: fwdfw hint mac -WARNING: untranslated string: fwdfw iface -WARNING: untranslated string: fwdfw log -WARNING: untranslated string: fwdfw log rule -WARNING: untranslated string: fwdfw many -WARNING: untranslated string: fwdfw movedown -WARNING: untranslated string: fwdfw moveup -WARNING: untranslated string: fwdfw newrule -WARNING: untranslated string: fwdfw pol allow -WARNING: untranslated string: fwdfw pol block -WARNING: untranslated string: fwdfw pol text -WARNING: untranslated string: fwdfw pol text1 -WARNING: untranslated string: fwdfw pol title -WARNING: untranslated string: fwdfw prot41 -WARNING: untranslated string: fwdfw prot41 short -WARNING: untranslated string: fwdfw red -WARNING: untranslated string: fwdfw reread -WARNING: untranslated string: fwdfw rule activate -WARNING: untranslated string: fwdfw rulepos -WARNING: untranslated string: fwdfw snat -WARNING: untranslated string: fwdfw source -WARNING: untranslated string: fwdfw sourceip -WARNING: untranslated string: fwdfw target -WARNING: untranslated string: fwdfw targetip -WARNING: untranslated string: fwdfw timeframe -WARNING: untranslated string: fwdfw toggle -WARNING: untranslated string: fwdfw togglelog -WARNING: untranslated string: fwdfw use nat -WARNING: untranslated string: fwdfw use srcport -WARNING: untranslated string: fwdfw use srv -WARNING: untranslated string: fwdfw useless rule -WARNING: untranslated string: fwdfw warn1 -WARNING: untranslated string: fwdfw wd_fri -WARNING: untranslated string: fwdfw wd_mon -WARNING: untranslated string: fwdfw wd_sat -WARNING: untranslated string: fwdfw wd_sun -WARNING: untranslated string: fwdfw wd_thu -WARNING: untranslated string: fwdfw wd_tue -WARNING: untranslated string: fwdfw wd_wed -WARNING: untranslated string: fwhost addgrp -WARNING: untranslated string: fwhost addgrpname -WARNING: untranslated string: fwhost addhost -WARNING: untranslated string: fwhost addnet -WARNING: untranslated string: fwhost addservice -WARNING: untranslated string: fwhost addservicegrp -WARNING: untranslated string: fwhost any -WARNING: untranslated string: fwhost back -WARNING: untranslated string: fwhost ccdhost -WARNING: untranslated string: fwhost ccdnet -WARNING: untranslated string: fwhost change -WARNING: untranslated string: fwhost cust addr -WARNING: untranslated string: fwhost cust grp -WARNING: untranslated string: fwhost cust net -WARNING: untranslated string: fwhost cust service -WARNING: untranslated string: fwhost cust srvgrp -WARNING: untranslated string: fwhost deleted -WARNING: untranslated string: fwhost empty -WARNING: untranslated string: fwhost err addr -WARNING: untranslated string: fwhost err empty -WARNING: untranslated string: fwhost err emptytable -WARNING: untranslated string: fwhost err groupempty -WARNING: untranslated string: fwhost err grpexist -WARNING: untranslated string: fwhost err hostexist WARNING: untranslated string: fwhost err hostip -WARNING: untranslated string: fwhost err ip -WARNING: untranslated string: fwhost err ipcheck -WARNING: untranslated string: fwhost err ipmac -WARNING: untranslated string: fwhost err ipwithsub -WARNING: untranslated string: fwhost err isccdhost -WARNING: untranslated string: fwhost err isccdiphost -WARNING: untranslated string: fwhost err isccdipnet -WARNING: untranslated string: fwhost err isccdnet -WARNING: untranslated string: fwhost err isingrp -WARNING: untranslated string: fwhost err maxservicetcp -WARNING: untranslated string: fwhost err maxserviceudp -WARNING: untranslated string: fwhost err name -WARNING: untranslated string: fwhost err name1 -WARNING: untranslated string: fwhost err net -WARNING: untranslated string: fwhost err netexist -WARNING: untranslated string: fwhost err partofnet -WARNING: untranslated string: fwhost err port -WARNING: untranslated string: fwhost err remark -WARNING: untranslated string: fwhost err srv exists -WARNING: untranslated string: fwhost err srvexist -WARNING: untranslated string: fwhost err sub32 -WARNING: untranslated string: fwhost hint -WARNING: untranslated string: fwhost icmptype -WARNING: untranslated string: fwhost ip_mac -WARNING: untranslated string: fwhost ipsec net -WARNING: untranslated string: fwhost menu -WARNING: untranslated string: fwhost netaddress -WARNING: untranslated string: fwhost newgrp -WARNING: untranslated string: fwhost newhost -WARNING: untranslated string: fwhost newnet -WARNING: untranslated string: fwhost newservice -WARNING: untranslated string: fwhost newservicegrp -WARNING: untranslated string: fwhost ovpn_n2n -WARNING: untranslated string: fwhost port -WARNING: untranslated string: fwhost prot -WARNING: untranslated string: fwhost services -WARNING: untranslated string: fwhost srv_name -WARNING: untranslated string: fwhost stdnet -WARNING: untranslated string: fwhost type -WARNING: untranslated string: fwhost used -WARNING: untranslated string: fwhost welcome WARNING: untranslated string: gen dh WARNING: untranslated string: generate dh key -WARNING: untranslated string: grouptype -WARNING: untranslated string: hardware support WARNING: untranslated string: imei WARNING: untranslated string: imsi -WARNING: untranslated string: incoming firewall access -WARNING: untranslated string: integrity -WARNING: untranslated string: invalid input for dpd delay -WARNING: untranslated string: invalid input for dpd timeout -WARNING: untranslated string: ipsec -WARNING: untranslated string: ipsec network -WARNING: untranslated string: last -WARNING: untranslated string: least preferred -WARNING: untranslated string: lifetime -WARNING: untranslated string: mac filter -WARNING: untranslated string: maximum -WARNING: untranslated string: minimum WARNING: untranslated string: model WARNING: untranslated string: modem hardware details WARNING: untranslated string: modem information @@ -814,118 +675,21 @@ WARNING: untranslated string: modem no connection message WARNING: untranslated string: modem sim information WARNING: untranslated string: modem status WARNING: untranslated string: monitor interface -WARNING: untranslated string: most preferred -WARNING: untranslated string: no hardware random number generator WARNING: untranslated string: not a valid dh key -WARNING: untranslated string: notice -WARNING: untranslated string: openvpn network -WARNING: untranslated string: outgoing firewall access WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh -WARNING: untranslated string: ovpn dh name +WARNING: untranslated string: ovpn dh upload +WARNING: untranslated string: ovpn engines WARNING: untranslated string: ovpn generating the root and host certificates WARNING: untranslated string: ovpn ha WARNING: untranslated string: ovpn hmac -WARNING: untranslated string: ovpn mgmt in root range -WARNING: untranslated string: ovpn no connections -WARNING: untranslated string: ovpn port in root range -WARNING: untranslated string: p2p block -WARNING: untranslated string: p2p block save notice -WARNING: untranslated string: qos enter bandwidths -WARNING: untranslated string: red1 +WARNING: untranslated string: random number generator daemon WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed WARNING: untranslated string: routing table WARNING: untranslated string: show dh -WARNING: untranslated string: snat new source ip address WARNING: untranslated string: software version WARNING: untranslated string: source ip country -WARNING: untranslated string: ssh -WARNING: untranslated string: support donation -WARNING: untranslated string: system has hwrng -WARNING: untranslated string: system has rdrand -WARNING: untranslated string: tor -WARNING: untranslated string: tor accounting -WARNING: untranslated string: tor accounting bytes -WARNING: untranslated string: tor accounting bytes left -WARNING: untranslated string: tor accounting interval -WARNING: untranslated string: tor accounting limit -WARNING: untranslated string: tor accounting period -WARNING: untranslated string: tor acls -WARNING: untranslated string: tor allowed subnets -WARNING: untranslated string: tor bandwidth burst -WARNING: untranslated string: tor bandwidth rate -WARNING: untranslated string: tor bandwidth settings -WARNING: untranslated string: tor bandwidth unlimited -WARNING: untranslated string: tor common settings -WARNING: untranslated string: tor configuration -WARNING: untranslated string: tor connected relays -WARNING: untranslated string: tor contact info -WARNING: untranslated string: tor daemon -WARNING: untranslated string: tor directory port -WARNING: untranslated string: tor enabled -WARNING: untranslated string: tor errmsg invalid accounting limit -WARNING: untranslated string: tor errmsg invalid directory port -WARNING: untranslated string: tor errmsg invalid ip or mask -WARNING: untranslated string: tor errmsg invalid relay address -WARNING: untranslated string: tor errmsg invalid relay name -WARNING: untranslated string: tor errmsg invalid relay port -WARNING: untranslated string: tor errmsg invalid socks port -WARNING: untranslated string: tor exit country any -WARNING: untranslated string: tor exit nodes -WARNING: untranslated string: tor relay address -WARNING: untranslated string: tor relay configuration -WARNING: untranslated string: tor relay enabled -WARNING: untranslated string: tor relay external address -WARNING: untranslated string: tor relay fingerprint -WARNING: untranslated string: tor relay mode -WARNING: untranslated string: tor relay mode bridge -WARNING: untranslated string: tor relay mode exit -WARNING: untranslated string: tor relay mode private bridge -WARNING: untranslated string: tor relay mode relay -WARNING: untranslated string: tor relay nickname -WARNING: untranslated string: tor relay port -WARNING: untranslated string: tor service -WARNING: untranslated string: tor socks port -WARNING: untranslated string: tor stats -WARNING: untranslated string: tor traffic limit hard -WARNING: untranslated string: tor traffic limit soft -WARNING: untranslated string: tor traffic read written -WARNING: untranslated string: tor use exit nodes -WARNING: untranslated string: uplink WARNING: untranslated string: upload dh key -WARNING: untranslated string: uptime load average -WARNING: untranslated string: urlfilter redirect template WARNING: untranslated string: vendor -WARNING: untranslated string: wlan client -WARNING: untranslated string: wlan client advanced settings -WARNING: untranslated string: wlan client and -WARNING: untranslated string: wlan client bssid -WARNING: untranslated string: wlan client ccmp -WARNING: untranslated string: wlan client configuration -WARNING: untranslated string: wlan client disconnected -WARNING: untranslated string: wlan client duplicate ssid -WARNING: untranslated string: wlan client edit entry -WARNING: untranslated string: wlan client encryption -WARNING: untranslated string: wlan client encryption none -WARNING: untranslated string: wlan client encryption wep -WARNING: untranslated string: wlan client encryption wpa -WARNING: untranslated string: wlan client encryption wpa2 -WARNING: untranslated string: wlan client group cipher -WARNING: untranslated string: wlan client group key algorithm -WARNING: untranslated string: wlan client invalid key length -WARNING: untranslated string: wlan client new entry -WARNING: untranslated string: wlan client new network -WARNING: untranslated string: wlan client pairwise cipher -WARNING: untranslated string: wlan client pairwise key algorithm -WARNING: untranslated string: wlan client pairwise key group key -WARNING: untranslated string: wlan client psk -WARNING: untranslated string: wlan client ssid -WARNING: untranslated string: wlan client tkip -WARNING: untranslated string: wlan client wpa mode -WARNING: untranslated string: wlan client wpa mode all -WARNING: untranslated string: wlan client wpa mode ccmp ccmp -WARNING: untranslated string: wlan client wpa mode ccmp tkip -WARNING: untranslated string: wlan client wpa mode tkip tkip -WARNING: untranslated string: wlan clients diff --git a/doc/language_issues.pl b/doc/language_issues.pl index f7649af637..54cb32e982 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -420,16 +420,12 @@ WARNING: translation string unused: released WARNING: translation string unused: removable device advice WARNING: translation string unused: reportfile WARNING: translation string unused: requested data -WARNING: translation string unused: reserved dst port -WARNING: translation string unused: reserved src port WARNING: translation string unused: restore hardware settings WARNING: translation string unused: root WARNING: translation string unused: root path WARNING: translation string unused: root user password WARNING: translation string unused: route subnet is invalid WARNING: translation string unused: router ip -WARNING: translation string unused: rsvd dst port overlap -WARNING: translation string unused: rsvd src port overlap WARNING: translation string unused: rules already up to date WARNING: translation string unused: safe removal of umounted device WARNING: translation string unused: save error @@ -588,6 +584,7 @@ WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent +WARNING: untranslated string: atm device WARNING: untranslated string: attention WARNING: untranslated string: bit WARNING: untranslated string: bytes @@ -637,8 +634,9 @@ WARNING: untranslated string: dead peer detection WARNING: untranslated string: deprecated fs warn WARNING: untranslated string: details WARNING: untranslated string: dh +WARNING: untranslated string: dh key move failed WARNING: untranslated string: dh key warn -WARNING: untranslated string: dh name is invalid +WARNING: untranslated string: dh key warn1 WARNING: untranslated string: dnat address WARNING: untranslated string: dns servers WARNING: untranslated string: dnsforward @@ -876,7 +874,8 @@ WARNING: untranslated string: outgoing firewall p2p allow WARNING: untranslated string: outgoing firewall p2p deny WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh -WARNING: untranslated string: ovpn dh name +WARNING: untranslated string: ovpn dh upload +WARNING: untranslated string: ovpn engines WARNING: untranslated string: ovpn errmsg green already pushed WARNING: untranslated string: ovpn errmsg invalid ip or mask WARNING: untranslated string: ovpn generating the root and host certificates @@ -903,6 +902,7 @@ WARNING: untranslated string: proxy reports monthly WARNING: untranslated string: proxy reports today WARNING: untranslated string: proxy reports weekly WARNING: untranslated string: qos enter bandwidths +WARNING: untranslated string: random number generator daemon WARNING: untranslated string: red1 WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added diff --git a/doc/language_issues.ru b/doc/language_issues.ru index 0af9d3c2c0..c7c39ec983 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -425,16 +425,12 @@ WARNING: translation string unused: released WARNING: translation string unused: removable device advice WARNING: translation string unused: reportfile WARNING: translation string unused: requested data -WARNING: translation string unused: reserved dst port -WARNING: translation string unused: reserved src port WARNING: translation string unused: restore hardware settings WARNING: translation string unused: root WARNING: translation string unused: root path WARNING: translation string unused: root user password WARNING: translation string unused: route subnet is invalid WARNING: translation string unused: router ip -WARNING: translation string unused: rsvd dst port overlap -WARNING: translation string unused: rsvd src port overlap WARNING: translation string unused: rules already up to date WARNING: translation string unused: safe removal of umounted device WARNING: translation string unused: save error @@ -591,6 +587,7 @@ WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent +WARNING: untranslated string: atm device WARNING: untranslated string: attention WARNING: untranslated string: bit WARNING: untranslated string: bytes @@ -641,8 +638,9 @@ WARNING: untranslated string: dead peer detection WARNING: untranslated string: deprecated fs warn WARNING: untranslated string: details WARNING: untranslated string: dh +WARNING: untranslated string: dh key move failed WARNING: untranslated string: dh key warn -WARNING: untranslated string: dh name is invalid +WARNING: untranslated string: dh key warn1 WARNING: untranslated string: disk access per WARNING: untranslated string: dnat address WARNING: untranslated string: dns servers @@ -871,7 +869,8 @@ WARNING: untranslated string: outgoing firewall access WARNING: untranslated string: outgoing traffic in bytes per second WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh -WARNING: untranslated string: ovpn dh name +WARNING: untranslated string: ovpn dh upload +WARNING: untranslated string: ovpn engines WARNING: untranslated string: ovpn generating the root and host certificates WARNING: untranslated string: ovpn ha WARNING: untranslated string: ovpn hmac @@ -893,6 +892,7 @@ WARNING: untranslated string: proxy reports monthly WARNING: untranslated string: proxy reports today WARNING: untranslated string: proxy reports weekly WARNING: untranslated string: qos enter bandwidths +WARNING: untranslated string: random number generator daemon WARNING: untranslated string: red1 WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added diff --git a/doc/language_issues.tr b/doc/language_issues.tr index bbb832d0e8..06cacf10fa 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -248,6 +248,14 @@ WARNING: translation string unused: fwdfw std network WARNING: translation string unused: fwdfw till WARNING: translation string unused: fwdfw time WARNING: translation string unused: fwdfw xt access +WARNING: translation string unused: fwhost Custom Host +WARNING: translation string unused: fwhost Custom Network +WARNING: translation string unused: fwhost IpSec Host +WARNING: translation string unused: fwhost IpSec Network +WARNING: translation string unused: fwhost OpenVPN N-2-N +WARNING: translation string unused: fwhost OpenVPN static host +WARNING: translation string unused: fwhost OpenVPN static network +WARNING: translation string unused: fwhost Standard Network WARNING: translation string unused: fwhost attention WARNING: translation string unused: fwhost blue WARNING: translation string unused: fwhost changeremark @@ -476,16 +484,12 @@ WARNING: translation string unused: released WARNING: translation string unused: removable device advice WARNING: translation string unused: reportfile WARNING: translation string unused: requested data -WARNING: translation string unused: reserved dst port -WARNING: translation string unused: reserved src port WARNING: translation string unused: restore hardware settings WARNING: translation string unused: root WARNING: translation string unused: root path WARNING: translation string unused: root user password WARNING: translation string unused: route subnet is invalid WARNING: translation string unused: router ip -WARNING: translation string unused: rsvd dst port overlap -WARNING: translation string unused: rsvd src port overlap WARNING: translation string unused: rules already up to date WARNING: translation string unused: safe removal of umounted device WARNING: translation string unused: save error @@ -639,26 +643,20 @@ WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits -WARNING: untranslated string: ConnSched dial -WARNING: untranslated string: ConnSched hangup -WARNING: untranslated string: ConnSched reboot -WARNING: untranslated string: ConnSched shutdown WARNING: untranslated string: Number of Countries for the pie chart WARNING: untranslated string: Scan for Songs WARNING: untranslated string: bytes WARNING: untranslated string: capabilities -WARNING: untranslated string: count WARNING: untranslated string: dh +WARNING: untranslated string: dh key move failed WARNING: untranslated string: dh key warn -WARNING: untranslated string: dh name is invalid +WARNING: untranslated string: dh key warn1 WARNING: untranslated string: firewall logs country -WARNING: untranslated string: fwdfw many WARNING: untranslated string: fwhost err hostip WARNING: untranslated string: gen dh WARNING: untranslated string: generate dh key WARNING: untranslated string: imei WARNING: untranslated string: imsi -WARNING: untranslated string: incoming firewall access WARNING: untranslated string: model WARNING: untranslated string: modem hardware details WARNING: untranslated string: modem information @@ -674,10 +672,10 @@ WARNING: untranslated string: modem sim information WARNING: untranslated string: modem status WARNING: untranslated string: monitor interface WARNING: untranslated string: not a valid dh key -WARNING: untranslated string: outgoing firewall access WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh -WARNING: untranslated string: ovpn dh name +WARNING: untranslated string: ovpn dh upload +WARNING: untranslated string: ovpn engines WARNING: untranslated string: ovpn generating the root and host certificates WARNING: untranslated string: ovpn ha WARNING: untranslated string: ovpn hmac diff --git a/doc/language_missings b/doc/language_missings index 6d7bb9266a..d25ea40f8d 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -6,6 +6,7 @@ ############################################################################ < addon < ccd maxclients +< ovpn_fragment ############################################################################ # Checking install/setup translations for language: fr # ############################################################################ @@ -23,6 +24,7 @@ < age shour < age sminute < age ssecond +< atm device < attention < bit < capabilities @@ -78,8 +80,9 @@ < deprecated fs warn < details < dh +< dh key move failed < dh key warn -< dh name is invalid +< dh key warn1 < dnat address < dns address deleted txt < dnsforward @@ -89,8 +92,6 @@ < dnsforward entries < dnsforward forward_server < dnsforward zone -< dns servers -< downlink < dpd delay < dpd timeout < drop action @@ -118,8 +119,8 @@ < fireinfo why enable < fireinfo why read more < fireinfo your profile id +< firewall logs country < firewall rules -< first < flag < forward firewall < fw default drop @@ -230,6 +231,8 @@ < fwhost cust addr < fwhost cust grp < fwhost cust net +< fwhost Custom Host +< fwhost Custom Network < fwhost cust service < fwhost cust srvgrp < fwhost deleted @@ -271,7 +274,9 @@ < fwhost ipadr < fwhost ip_mac < fwhost ipsec host +< fwhost IpSec Host < fwhost ipsec net +< fwhost IpSec Network < fwhost menu < fwhost netaddress < fwhost newgrp @@ -279,6 +284,9 @@ < fwhost newnet < fwhost newservice < fwhost newservicegrp +< fwhost OpenVPN N-2-N +< fwhost OpenVPN static host +< fwhost OpenVPN static network < fwhost orange < fwhost ovpn_n2n < fwhost port @@ -287,6 +295,7 @@ < fwhost reset < fwhost services < fwhost srv_name +< fwhost Standard Network < fwhost stdnet < fwhost type < fwhost used @@ -310,7 +319,6 @@ < ipsec < ipsec network < ipsec no connections -< last < least preferred < lifetime < mac filter @@ -333,11 +341,13 @@ < modem sim information < modem status < most preferred +< never < no hardware random number generator < not a valid dh key < notice < ntp common settings < ntp sync +< Number of Countries for the pie chart < openvpn default < openvpn destination port used < openvpn disabled @@ -354,7 +364,8 @@ < outgoing firewall access < ovpn crypt options < ovpn dh -< ovpn dh name +< ovpn dh upload +< ovpn engines < ovpn generating the root and host certificates < ovpn ha < ovpn hmac @@ -368,6 +379,7 @@ < ovpn mtu-disc yes < ovpn no connections < ovpn port in root range +< ovpn reneg sec < p2p block < p2p block save notice < proxy reports @@ -376,12 +388,14 @@ < proxy reports today < proxy reports weekly < qos enter bandwidths +< random number generator daemon < red1 < server restart < show dh < snat new source ip address < snort working < software version +< source ip country < ssh < static routes < support donation @@ -443,7 +457,6 @@ < tor use exit nodes < updxlrtr sources < updxlrtr standard view -< uplink < upload dh key < upload new ruleset < uptime @@ -524,6 +537,7 @@ < age sminute < age ssecond < Async logging enabled +< atm device < attention < bit < capabilities @@ -579,8 +593,9 @@ < deprecated fs warn < details < dh +< dh key move failed < dh key warn -< dh name is invalid +< dh key warn1 < dnat address < dnsforward < dnsforward add a new entry @@ -589,8 +604,6 @@ < dnsforward entries < dnsforward forward_server < dnsforward zone -< dns servers -< downlink < dpd delay < dpd timeout < drop action @@ -618,8 +631,8 @@ < fireinfo why enable < fireinfo why read more < fireinfo your profile id +< firewall logs country < firewall rules -< first < flag < forward firewall < fw default drop @@ -730,6 +743,8 @@ < fwhost cust addr < fwhost cust grp < fwhost cust net +< fwhost Custom Host +< fwhost Custom Network < fwhost cust service < fwhost cust srvgrp < fwhost deleted @@ -771,7 +786,9 @@ < fwhost ipadr < fwhost ip_mac < fwhost ipsec host +< fwhost IpSec Host < fwhost ipsec net +< fwhost IpSec Network < fwhost menu < fwhost netaddress < fwhost newgrp @@ -779,6 +796,9 @@ < fwhost newnet < fwhost newservice < fwhost newservicegrp +< fwhost OpenVPN N-2-N +< fwhost OpenVPN static host +< fwhost OpenVPN static network < fwhost orange < fwhost ovpn_n2n < fwhost port @@ -787,6 +807,7 @@ < fwhost reset < fwhost services < fwhost srv_name +< fwhost Standard Network < fwhost stdnet < fwhost type < fwhost used @@ -810,7 +831,6 @@ < ipsec < ipsec network < ipsec no connections -< last < least preferred < lifetime < mac filter @@ -833,9 +853,11 @@ < modem sim information < modem status < most preferred +< never < no hardware random number generator < not a valid dh key < notice +< Number of Countries for the pie chart < openvpn default < openvpn destination port used < openvpn disabled @@ -866,7 +888,8 @@ < outgoing firewall view group < ovpn crypt options < ovpn dh -< ovpn dh name +< ovpn dh upload +< ovpn engines < ovpn errmsg green already pushed < ovpn errmsg invalid ip or mask < ovpn generating the root and host certificates @@ -882,6 +905,7 @@ < ovpn mtu-disc yes < ovpn no connections < ovpn port in root range +< ovpn reneg sec < ovpn routes push < ovpn routes push options < p2p block @@ -892,12 +916,14 @@ < proxy reports today < proxy reports weekly < qos enter bandwidths +< random number generator daemon < red1 < server restart < Set time on boot < show dh < snat new source ip address < software version +< source ip country < ssh < static routes < support donation @@ -959,7 +985,6 @@ < tor use exit nodes < updxlrtr sources < updxlrtr standard view -< uplink < upload dh key < uptime < uptime load average @@ -1016,6 +1041,7 @@ < age shour < age sminute < age ssecond +< atm device < attention < bit < capabilities @@ -1071,8 +1097,9 @@ < deprecated fs warn < details < dh +< dh key move failed < dh key warn -< dh name is invalid +< dh key warn1 < dnat address < dnsforward < dnsforward add a new entry @@ -1081,8 +1108,6 @@ < dnsforward entries < dnsforward forward_server < dnsforward zone -< dns servers -< downlink < dpd delay < dpd timeout < drop action @@ -1102,8 +1127,8 @@ < extrahd unable to read < extrahd unable to write < extrahd you cant mount +< firewall logs country < firewall rules -< first < flag < forward firewall < fw default drop @@ -1214,6 +1239,8 @@ < fwhost cust addr < fwhost cust grp < fwhost cust net +< fwhost Custom Host +< fwhost Custom Network < fwhost cust service < fwhost cust srvgrp < fwhost deleted @@ -1255,7 +1282,9 @@ < fwhost ipadr < fwhost ip_mac < fwhost ipsec host +< fwhost IpSec Host < fwhost ipsec net +< fwhost IpSec Network < fwhost menu < fwhost netaddress < fwhost newgrp @@ -1263,6 +1292,9 @@ < fwhost newnet < fwhost newservice < fwhost newservicegrp +< fwhost OpenVPN N-2-N +< fwhost OpenVPN static host +< fwhost OpenVPN static network < fwhost orange < fwhost ovpn_n2n < fwhost port @@ -1271,6 +1303,7 @@ < fwhost reset < fwhost services < fwhost srv_name +< fwhost Standard Network < fwhost stdnet < fwhost type < fwhost used @@ -1294,7 +1327,6 @@ < ipsec < ipsec network < ipsec no connections -< last < least preferred < lifetime < mac filter @@ -1317,9 +1349,11 @@ < modem sim information < modem status < most preferred +< never < no hardware random number generator < not a valid dh key < notice +< Number of Countries for the pie chart < openvpn default < openvpn destination port used < openvpn disabled @@ -1336,7 +1370,8 @@ < outgoing firewall access < ovpn crypt options < ovpn dh -< ovpn dh name +< ovpn dh upload +< ovpn engines < ovpn errmsg green already pushed < ovpn errmsg invalid ip or mask < ovpn generating the root and host certificates @@ -1352,6 +1387,7 @@ < ovpn mtu-disc yes < ovpn no connections < ovpn port in root range +< ovpn reneg sec < ovpn routes push < ovpn routes push options < p2p block @@ -1362,11 +1398,13 @@ < proxy reports today < proxy reports weekly < qos enter bandwidths +< random number generator daemon < red1 < server restart < show dh < snat new source ip address < software version +< source ip country < ssh < static routes < support donation @@ -1427,7 +1465,6 @@ < tor use exit nodes < updxlrtr sources < updxlrtr standard view -< uplink < upload dh key < uptime < uptime load average @@ -1485,6 +1522,7 @@ < age shour < age sminute < age ssecond +< atm device < attention < bit < capabilities @@ -1541,8 +1579,9 @@ < deprecated fs warn < details < dh +< dh key move failed < dh key warn -< dh name is invalid +< dh key warn1 < disk access per < dnat address < dnsforward @@ -1552,8 +1591,6 @@ < dnsforward entries < dnsforward forward_server < dnsforward zone -< dns servers -< downlink < dpd delay < dpd timeout < drop action @@ -1574,8 +1611,8 @@ < extrahd unable to read < extrahd unable to write < extrahd you cant mount +< firewall logs country < firewall rules -< first < flag < forward firewall < frequency @@ -1687,6 +1724,8 @@ < fwhost cust addr < fwhost cust grp < fwhost cust net +< fwhost Custom Host +< fwhost Custom Network < fwhost cust service < fwhost cust srvgrp < fwhost deleted @@ -1728,7 +1767,9 @@ < fwhost ipadr < fwhost ip_mac < fwhost ipsec host +< fwhost IpSec Host < fwhost ipsec net +< fwhost IpSec Network < fwhost menu < fwhost netaddress < fwhost newgrp @@ -1736,6 +1777,9 @@ < fwhost newnet < fwhost newservice < fwhost newservicegrp +< fwhost OpenVPN N-2-N +< fwhost OpenVPN static host +< fwhost OpenVPN static network < fwhost orange < fwhost ovpn_n2n < fwhost port @@ -1744,6 +1788,7 @@ < fwhost reset < fwhost services < fwhost srv_name +< fwhost Standard Network < fwhost stdnet < fwhost type < fwhost used @@ -1769,7 +1814,6 @@ < ipsec < ipsec network < ipsec no connections -< last < least preferred < lifetime < mac filter @@ -1793,9 +1837,11 @@ < modem status < month-graph < most preferred +< never < no hardware random number generator < not a valid dh key < notice +< Number of Countries for the pie chart < openvpn default < openvpn destination port used < openvpn disabled @@ -1813,7 +1859,8 @@ < outgoing traffic in bytes per second < ovpn crypt options < ovpn dh -< ovpn dh name +< ovpn dh upload +< ovpn engines < ovpn generating the root and host certificates < ovpn ha < ovpn hmac @@ -1827,6 +1874,7 @@ < ovpn mtu-disc yes < ovpn no connections < ovpn port in root range +< ovpn reneg sec < p2p block < p2p block save notice < proxy reports @@ -1835,11 +1883,13 @@ < proxy reports today < proxy reports weekly < qos enter bandwidths +< random number generator daemon < red1 < server restart < show dh < snat new source ip address < software version +< source ip country < ssh < static routes < support donation @@ -1900,7 +1950,6 @@ < tor use exit nodes < updxlrtr sources < updxlrtr standard view -< uplink < upload dh key < uptime < uptime load average diff --git a/html/cgi-bin/entropy.cgi b/html/cgi-bin/entropy.cgi index bd3de82f8c..8e016b6cf6 100644 --- a/html/cgi-bin/entropy.cgi +++ b/html/cgi-bin/entropy.cgi @@ -61,9 +61,27 @@ if ( $querry[0] ne~ "") { $message = $Lang::tr{'no hardware random number generator'}; } + my $rngd_status = "$Lang::tr{'stopped'}"; + if (&rngd_is_running()) { + $rngd_status = "$Lang::tr{'running'}"; + } + &Header::openbox('100%', 'center', $Lang::tr{'hardware support'}); print <$message

+ + + + + + + + + $rngd_status + +
$Lang::tr{'service'}$Lang::tr{'status'}
+ $Lang::tr{'random number generator daemon'} +
EOF &Header::closebox(); @@ -87,3 +105,7 @@ sub has_rdrand() { return 0; } + +sub rngd_is_running() { + return (-e "/var/run/rngd.pid"); +} diff --git a/html/cgi-bin/firewall.cgi b/html/cgi-bin/firewall.cgi index 53c7c1c1fe..e6ae5272a2 100644 --- a/html/cgi-bin/firewall.cgi +++ b/html/cgi-bin/firewall.cgi @@ -1334,7 +1334,7 @@ sub getcolor return; }elsif($val =~ /^(.*?)\/(.*?)$/){ my ($sip,$scidr) = split ("/",$val); - if ( &General::IpInSubnet($sip,$netsettings{'ORANGE_ADDRESS'},$netsettings{'ORANGE_NETMASK'})){ + if ( &Header::orange_used() && &General::IpInSubnet($sip,$netsettings{'ORANGE_ADDRESS'},$netsettings{'ORANGE_NETMASK'})){ $tdcolor="style='background-color: $Header::colourorange;color:white;'"; return; } @@ -1342,7 +1342,7 @@ sub getcolor $tdcolor="style='background-color: $Header::colourgreen;color:white;'"; return; } - if ( &General::IpInSubnet($sip,$netsettings{'BLUE_ADDRESS'},$netsettings{'BLUE_NETMASK'})){ + if ( &Header::blue_used() && &General::IpInSubnet($sip,$netsettings{'BLUE_ADDRESS'},$netsettings{'BLUE_NETMASK'})){ $tdcolor="style='background-color: $Header::colourblue;color:white;'"; return; } @@ -1539,6 +1539,7 @@ sub newrule $selected{'ipfire'}{$fwdfwsettings{$fwdfwsettings{'grp2'}}} ='selected'; $selected{'ipfire_src'}{$fwdfwsettings{$fwdfwsettings{'grp1'}}} ='selected'; $selected{'dnat'}{$fwdfwsettings{'dnat'}} ='selected'; + $selected{'snat'}{$fwdfwsettings{'snat'}} ='selected'; } } $fwdfwsettings{'oldgrp1a'}=$fwdfwsettings{'grp1'}; @@ -1601,7 +1602,7 @@ END if (! -z "${General::swroot}/ethernet/aliases"){ foreach my $alias (sort keys %aliases) { - print ""; + print ""; } } print<$alias"; + print ""; } } print< 0){ - &General::firewall_config_changed(); - } if ($fwhostsettings{'update'} eq 'on'){ $fwhostsettings{'remark'}= $grpremark; $fwhostsettings{'grp_name'}=$grpname; @@ -1635,7 +1632,7 @@ sub getcolor } #Now check if IP is part of ORANGE,BLUE or GREEN - if ( &General::IpInSubnet($sip,$netsettings{'ORANGE_ADDRESS'},$netsettings{'ORANGE_NETMASK'})){ + if ( &Header::orange_used() && &General::IpInSubnet($sip,$netsettings{'ORANGE_ADDRESS'},$netsettings{'ORANGE_NETMASK'})){ $tdcolor="$c"; return $tdcolor; } @@ -1643,7 +1640,7 @@ sub getcolor $tdcolor="$c"; return $tdcolor; } - if ( &General::IpInSubnet($sip,$netsettings{'BLUE_ADDRESS'},$netsettings{'BLUE_NETMASK'})){ + if ( &Header::blue_used() && &General::IpInSubnet($sip,$netsettings{'BLUE_ADDRESS'},$netsettings{'BLUE_NETMASK'})){ $tdcolor="$c"; return $tdcolor; } @@ -1843,11 +1840,11 @@ sub viewtablegrp print "$customgrp{$key}[2]"; } if ($ip eq '' && $customgrp{$key}[2] ne $Lang::tr{'fwhost err emptytable'}){ - print "$Lang::tr{'fwhost deleted'}$customgrp{$key}[3]
"; + print "$Lang::tr{'fwhost deleted'}$Lang::tr{'fwhost '.$customgrp{$key}[3]}"; }else{ my ($colip,$colsub) = split("/",$ip); $ip="$colip/".&General::iporsubtocidr($colsub) if ($colsub); - print"".&getcolor($ip)."$customgrp{$key}[3]"; + print"".&getcolor($ip)."$Lang::tr{'fwhost '.$customgrp{$key}[3]}"; } if ($delflag > 0 && $ip ne ''){ print""; @@ -1858,8 +1855,7 @@ sub viewtablegrp } } } - print"
"; - + print""; $helper=$customgrp{$key}[0]; $number++; } diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index dec27b722c..df5f9ece2a 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -2,7 +2,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2013 IPFire Team # +# Copyright (C) 2007-2014 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -19,7 +19,6 @@ # # ############################################################################### ### -# Based on IPFireCore 76 ### use CGI; use CGI qw/:standard/; @@ -90,8 +89,10 @@ $cgiparams{'DCOMPLZO'} = 'off'; $cgiparams{'MSSFIX'} = ''; $cgiparams{'number'} = ''; $cgiparams{'PMTU_DISCOVERY'} = ''; -$cgiparams{'DAUTH'} = ''; $cgiparams{'DCIPHER'} = ''; +$cgiparams{'DAUTH'} = ''; +$cgiparams{'TLSAUTH'} = ''; +$cgiparams{'ENGINES'} = ''; $routes_push_file = "${General::swroot}/ovpn/routes_push"; unless (-e $routes_push_file) { system("touch $routes_push_file"); } unless (-e "${General::swroot}/ovpn/ccd.conf") { system("touch ${General::swroot}/ovpn/ccd.conf"); } @@ -226,6 +227,50 @@ sub checkportinc } } +# Darren Critchley - certain ports are reserved for IPFire +# TCP 67,68,81,222,444 +# UDP 67,68 +# Params passed in -> port, rangeyn, protocol +sub disallowreserved +{ + # port 67 and 68 same for tcp and udp, don't bother putting in an array + my $msg = ""; + my @tcp_reserved = (81,222,444); + my $prt = $_[0]; # the port or range + my $ryn = $_[1]; # tells us whether or not it is a port range + my $prot = $_[2]; # protocol + my $srcdst = $_[3]; # source or destination + if ($ryn) { # disect port range + if ($srcdst eq "src") { + $msg = "$Lang::tr{'rsvd src port overlap'}"; + } else { + $msg = "$Lang::tr{'rsvd dst port overlap'}"; + } + my @tmprng = split(/\:/,$prt); + unless (67 < $tmprng[0] || 67 > $tmprng[1]) { $errormessage="$msg 67"; return; } + unless (68 < $tmprng[0] || 68 > $tmprng[1]) { $errormessage="$msg 68"; return; } + if ($prot eq "tcp") { + foreach my $prange (@tcp_reserved) { + unless ($prange < $tmprng[0] || $prange > $tmprng[1]) { $errormessage="$msg $prange"; return; } + } + } + } else { + if ($srcdst eq "src") { + $msg = "$Lang::tr{'reserved src port'}"; + } else { + $msg = "$Lang::tr{'reserved dst port'}"; + } + if ($prt == 67) { $errormessage="$msg 67"; return; } + if ($prt == 68) { $errormessage="$msg 68"; return; } + if ($prot eq "tcp") { + foreach my $prange (@tcp_reserved) { + if ($prange == $prt) { $errormessage="$msg $prange"; return; } + } + } + } + return; +} + sub writeserverconf { my %sovpnsettings = (); @@ -251,7 +296,7 @@ sub writeserverconf { print CONF "ca ${General::swroot}/ovpn/ca/cacert.pem\n"; print CONF "cert ${General::swroot}/ovpn/certs/servercert.pem\n"; print CONF "key ${General::swroot}/ovpn/certs/serverkey.pem\n"; - print CONF "dh ${General::swroot}/ovpn/ca/dh1024.pem\n"; + print CONF "dh ${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}\n"; my @tempovpnsubnet = split("\/",$sovpnsettings{'DOVPN_SUBNET'}); print CONF "server $tempovpnsubnet[0] $tempovpnsubnet[1]\n"; #print CONF "push \"route $netsettings{'GREEN_NETADDRESS'} $netsettings{'GREEN_NETMASK'}\"\n"; @@ -321,8 +366,16 @@ sub writeserverconf { if ($sovpnsettings{'DAUTH'} eq '') { print CONF ""; } else { - print CONF "auth $sovpnsettings{'DAUTH'}\n"; - } + print CONF "auth $sovpnsettings{'DAUTH'}\n"; + } + if ($sovpnsettings{'TLSAUTH'} eq 'on') { + print CONF "tls-auth ${General::swroot}/ovpn/ca/ta.key 0\n"; + } + if ($sovpnsettings{ENGINES} eq 'disabled') { + print CONF ""; + } else { + print CONF "engine $sovpnsettings{ENGINES}\n"; + } if ($sovpnsettings{DCOMPLZO} eq 'on') { print CONF "comp-lzo\n"; } @@ -519,7 +572,7 @@ sub getccdadresses my @iprange=(); my %ccdhash=(); &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%ccdhash); - $iprange[0]=$ip1.".".$ip2.".".$ip3.".".($ip4+2); + $iprange[0]=$ip1.".".$ip2.".".$ip3.".".2; for (my $i=1;$i<=$count;$i++) { my $tmpip=$iprange[$i-1]; my $stepper=$i*4; @@ -742,6 +795,8 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) { $vpnsettings{'ROUTES_PUSH'} = $cgiparams{'ROUTES_PUSH'}; $vpnsettings{'PMTU_DISCOVERY'} = $cgiparams{'PMTU_DISCOVERY'}; $vpnsettings{'DAUTH'} = $cgiparams{'DAUTH'}; + $vpnsettings{'TLSAUTH'} = $cgiparams{'TLSAUTH'}; + $vpnsettings{'ENGINES'} = $cgiparams{'ENGINES'}; my @temp=(); if ($cgiparams{'FRAGMENT'} eq '') { @@ -754,12 +809,20 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) { $vpnsettings{'FRAGMENT'} = $cgiparams{'FRAGMENT'}; } } + if ($cgiparams{'MSSFIX'} ne 'on') { delete $vpnsettings{'MSSFIX'}; } else { $vpnsettings{'MSSFIX'} = $cgiparams{'MSSFIX'}; } + # Create ta.key for tls-auth if not presant + if ($cgiparams{'TLSAUTH'} eq 'on') { + if ( ! -e "${General::swroot}/ovpn/ca/ta.key") { + system('/usr/sbin/openvpn', '--genkey', '--secret', "${General::swroot}/ovpn/ca/ta.key") + } + } + if (($cgiparams{'PMTU_DISCOVERY'} eq 'yes') || ($cgiparams{'PMTU_DISCOVERY'} eq 'maybe') || ($cgiparams{'PMTU_DISCOVERY'} eq 'no' )) { @@ -936,11 +999,21 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General print SERVERCONF "ca ${General::swroot}/ovpn/ca/cacert.pem\n"; print SERVERCONF "cert ${General::swroot}/ovpn/certs/servercert.pem\n"; print SERVERCONF "key ${General::swroot}/ovpn/certs/serverkey.pem\n"; - print SERVERCONF "dh ${General::swroot}/ovpn/ca/dh1024.pem\n"; + print SERVERCONF "dh ${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}\n"; print SERVERCONF "# Cipher\n"; print SERVERCONF "cipher $cgiparams{'DCIPHER'}\n"; - print SERVERCONF "# HMAC algorithm\n"; - print SERVERCONF "auth $cgiparams{'DAUTH'}\n"; + if ($cgiparams{'DAUTH'} eq '') { + print SERVERCONF "auth SHA1\n"; + } else { + print SERVERCONF "# HMAC algorithm\n"; + print SERVERCONF "auth $cgiparams{'DAUTH'}\n"; + } + if ($cgiparams{'ENGINES'} eq 'disabled') { + print SERVERCONF ""; + } else { + print SERVERCONF "# Crypto engine\n"; + print SERVERCONF "engine $cgiparams{'ENGINES'}\n"; + } if ($cgiparams{'COMPLZO'} eq 'on') { print SERVERCONF "# Enable Compression\n"; print SERVERCONF "comp-lzo\r\n"; @@ -1029,9 +1102,19 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General print CLIENTCONF "tls-client\n"; print CLIENTCONF "# Cipher\n"; print CLIENTCONF "cipher $cgiparams{'DCIPHER'}\n"; - print CLIENTCONF "# HMAC algorithm\n"; - print CLIENTCONF "auth $cgiparams{'DAUTH'}\n"; print CLIENTCONF "pkcs12 ${General::swroot}/ovpn/certs/$cgiparams{'NAME'}.p12\r\n"; + if ($cgiparams{'DAUTH'} eq '') { + print CLIENTCONF "auth SHA1\n"; + } else { + print CLIENTCONF "# HMAC algorithm\n"; + print CLIENTCONF "auth $cgiparams{'DAUTH'}\n"; + } + if ($cgiparams{'ENGINES'} eq 'disabled') { + print CLIENTCONF ""; + } else { + print CLIENTCONF "# Crypto engine\n"; + print CLIENTCONF "engine $cgiparams{'ENGINES'}\n"; + } if ($cgiparams{'COMPLZO'} eq 'on') { print CLIENTCONF "# Enable Compression\n"; print CLIENTCONF "comp-lzo\r\n"; @@ -1165,41 +1248,43 @@ SETTINGS_ERROR: } } while ($file = glob("${General::swroot}/ovpn/ca/*")) { - unlink $file + unlink $file; } while ($file = glob("${General::swroot}/ovpn/certs/*")) { - unlink $file + unlink $file; } while ($file = glob("${General::swroot}/ovpn/crls/*")) { - unlink $file + unlink $file; } &cleanssldatabase(); if (open(FILE, ">${General::swroot}/ovpn/caconfig")) { print FILE ""; close FILE; } - if (open(FILE, ">${General::swroot}/ovpn/ccdroute")) { - print FILE ""; - close FILE; - } - if (open(FILE, ">${General::swroot}/ovpn/ccdroute2")) { - print FILE ""; - close FILE; - } - while ($file = glob("${General::swroot}/ovpn/ccd/*")) { - unlink $file - } - if (open(FILE, ">${General::swroot}/ovpn/ovpn-leases.db")) { - print FILE ""; - close FILE; - } - if (open(FILE, ">${General::swroot}/ovpn/ovpnconfig")) { - print FILE ""; - close FILE; - } - while ($file = glob("${General::swroot}/ovpn/n2nconf/*")) { - system ("rm -rf $file") - } + if (open(FILE, ">${General::swroot}/ovpn/ccdroute")) { + print FILE ""; + close FILE; + } + if (open(FILE, ">${General::swroot}/ovpn/ccdroute2")) { + print FILE ""; + close FILE; + } + while ($file = glob("${General::swroot}/ovpn/ccd/*")) { + unlink $file + } + if (open(FILE, ">${General::swroot}/ovpn/ovpn-leases.db")) { + print FILE ""; + close FILE; + } + if (open(FILE, ">${General::swroot}/ovpn/ovpnconfig")) { + print FILE ""; + close FILE; + } + while ($file = glob("${General::swroot}/ovpn/n2nconf/*")) { + system ("rm -rf $file"); + } + + #&writeserverconf(); ### ### Reset all step 1 ### @@ -1215,6 +1300,7 @@ SETTINGS_ERROR: $Lang::tr{'capswarning'}: + $Lang::tr{'capswarning'}: $Lang::tr{'resetting the vpn configuration will remove the root ca, the host certificate and all certificate based connections'} @@ -1234,7 +1320,7 @@ END ### Generate DH key step 2 ### } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'generate dh key'} && $cgiparams{'AREUSURE'} eq 'yes') { - # Delete if old key exists + # Delete if old key exists if (-f "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}") { unlink "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}"; } @@ -1258,7 +1344,7 @@ END - +
$Lang::tr{'ovpn dh'}: @@ -1276,10 +1362,12 @@ END
- $Lang::tr{'capswarning'}: - $Lang::tr{'dh key warn'} - + $Lang::tr{'capswarning'}: $Lang::tr{'dh key warn'} + + + + @@ -1298,21 +1386,17 @@ END ### Upload DH key ### } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'upload dh key'}) { - if ($cgiparams{'DH_NAME'} !~ /dh1024.pem/) { - $errormessage = $Lang::tr{'dh name is invalid'}; - goto UPLOADCA_ERROR; - } if (ref ($cgiparams{'FH'}) ne 'Fh') { $errormessage = $Lang::tr{'there was no file upload'}; goto UPLOADCA_ERROR; } - # Move uploaded dh key to a temporary file + # Move uploaded dh key to a temporary file (my $fh, my $filename) = tempfile( ); if (copy ($cgiparams{'FH'}, $fh) != 1) { $errormessage = $!; - goto UPLOADCA_ERROR; + goto UPLOADCA_ERROR; } - my $temp = `/usr/bin/openssl dhparam -text -in $filename`; + my $temp = `/usr/bin/openssl dhparam -text -in $filename`; if ($temp !~ /DH Parameters: \((1024|2048|3072|4096) bit\)/) { $errormessage = $Lang::tr{'not a valid dh key'}; unlink ($filename); @@ -1323,11 +1407,11 @@ END unlink "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}"; } move($filename, "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}"); - if ($? ne 0) { - $errormessage = "$Lang::tr{'certificate file move failed'}: $!"; - unlink ($filename); - goto UPLOADCA_ERROR; - } + if ($? ne 0) { + $errormessage = "$Lang::tr{'dh key move failed'}: $!"; + unlink ($filename); + goto UPLOADCA_ERROR; + } } ### @@ -1784,7 +1868,7 @@ END } } else { # child unless (exec ('/usr/bin/openssl', 'req', '-x509', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache', - '-days', '999999', '-newkey', 'rsa:4096', + '-days', '999999', '-newkey', 'rsa:4096', '-sha512', '-keyout', "${General::swroot}/ovpn/ca/cakey.pem", '-out', "${General::swroot}/ovpn/ca/cacert.pem", '-config',"${General::swroot}/ovpn/openssl/ovpn.cnf")) { @@ -1894,7 +1978,7 @@ END &Header::closebox(); } &Header::openbox('100%', 'LEFT', "$Lang::tr{'generate root/host certificates'}:"); - print <
$Lang::tr{'dh key warn1'}

@@ -1927,8 +2011,8 @@ END } print ">$country"; } - print < + print < - - + +
$Lang::tr{'organization name'}:
$Lang::tr{'ovpn dh'}:   
* $Lang::tr{'this field may be blank'}


- $Lang::tr{'capswarning'}: - $Lang::tr{'ovpn generating the root and host certificates'} -

+ + $Lang::tr{'capswarning'}: $Lang::tr{'ovpn generating the root and host certificates'} + - + + + + +
$Lang::tr{'dh key warn'}
- $Lang::tr{'dh key warn'} -
$Lang::tr{'dh key warn1'}

+ @@ -2104,14 +2191,19 @@ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net'){ print CLIENTCONF "ns-cert-type server\n"; print CLIENTCONF "# Auth. Client\n"; print CLIENTCONF "tls-client\n"; - print CLIENTCONF "# Cipher\n"; + print CLIENTCONF "# Cipher\n"; print CLIENTCONF "cipher $confighash{$cgiparams{'KEY'}}[40]\n"; - print CLIENTCONF "# HMAC algorithm\n"; - print CLIENTCONF "auth $confighash{$cgiparams{'KEY'}}[39]\n"; if ($confighash{$cgiparams{'KEY'}}[4] eq 'cert' && -f "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12") { print CLIENTCONF "pkcs12 ${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12\r\n"; $zip->addFile( "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12", "$confighash{$cgiparams{'KEY'}}[1].p12") or die "Can't add file $confighash{$cgiparams{'KEY'}}[1].p12\n"; - } + } + if ($confighash{$cgiparams{'KEY'}}[39] eq '') { + print CLIENTCONF "# HMAC algorithm\n"; + print CLIENTCONF "auth SHA1\n"; + } else { + print CLIENTCONF "# HMAC algorithm\n"; + print CLIENTCONF "auth $confighash{$cgiparams{'KEY'}}[39]\n"; + } if ($confighash{$cgiparams{'KEY'}}[30] eq 'on') { print CLIENTCONF "# Enable Compression\n"; print CLIENTCONF "comp-lzo\r\n"; @@ -2207,11 +2299,15 @@ else $zip->addFile( "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem", "$confighash{$cgiparams{'KEY'}}[1]cert.pem") or die "Can't add file $confighash{$cgiparams{'KEY'}}[1]cert.pem\n"; } print CLIENTCONF "cipher $vpnsettings{DCIPHER}\r\n"; - if ($vpnsettings{'DAUTH'} eq '') { + if ($vpnsettings{'DAUTH'} eq '') { print CLIENTCONF ""; } else { - print CLIENTCONF "auth $vpnsettings{'DAUTH'}\r\n"; - } + print CLIENTCONF "auth $vpnsettings{'DAUTH'}\r\n"; + } + if ($vpnsettings{'TLSAUTH'} eq 'on') { + print CLIENTCONF "tls-auth ta.key 1\r\n"; + $zip->addFile( "${General::swroot}/ovpn/ca/ta.key", "ta.key") or die "Can't add file ta.key\n"; + } if ($vpnsettings{DCOMPLZO} eq 'on') { print CLIENTCONF "comp-lzo\r\n"; } @@ -2320,8 +2416,7 @@ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') { } else { $errormessage = $Lang::tr{'invalid key'}; } - - &General::firewall_reload(); + &General::firewall_reload(); ### ### Download PKCS12 file @@ -2361,7 +2456,7 @@ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') { } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show dh'}) { if (! -e "${General::swroot}/ovpn/ca/dh1024.pem") { - $errormessage = $Lang::tr{'not present'}; + $errormessage = $Lang::tr{'not present'}; } else { &Header::showhttpheaders(); &Header::openpage($Lang::tr{'ovpn'}, 1, ''); @@ -2383,21 +2478,21 @@ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') { } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show crl'}) { # &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash); - if (! -e "${General::swroot}/ovpn/crls/cacrl.pem") { - $errormessage = $Lang::tr{'not present'}; + if (! -e "${General::swroot}/ovpn/crls/cacrl.pem") { + $errormessage = $Lang::tr{'not present'}; } else { - &Header::showhttpheaders(); - &Header::openpage($Lang::tr{'ovpn'}, 1, ''); - &Header::openbigbox('100%', 'LEFT', '', ''); - &Header::openbox('100%', 'LEFT', "$Lang::tr{'crl'}:"); - my $output = `/usr/bin/openssl crl -text -noout -in ${General::swroot}/ovpn/crls/cacrl.pem`; - $output = &Header::cleanhtml($output,"y"); - print "
$output
\n"; - &Header::closebox(); - print ""; - &Header::closebigbox(); - &Header::closepage(); - exit(0); + &Header::showhttpheaders(); + &Header::openpage($Lang::tr{'ovpn'}, 1, ''); + &Header::openbigbox('100%', 'LEFT', '', ''); + &Header::openbox('100%', 'LEFT', "$Lang::tr{'crl'}:"); + my $output = `/usr/bin/openssl crl -text -noout -in ${General::swroot}/ovpn/crls/cacrl.pem`; + $output = &Header::cleanhtml($output,"y"); + print "
$output
\n"; + &Header::closebox(); + print ""; + &Header::closebigbox(); + &Header::closepage(); + exit(0); } ### @@ -2435,6 +2530,15 @@ ADV_ERROR: if ($cgiparams{'DAUTH'} eq '') { $cgiparams{'DAUTH'} = 'SHA1'; } + if ($cgiparams{'DAUTH'} eq '') { + $cgiparams{'DAUTH'} = 'SHA1'; + } + if ($cgiparams{'ENGINES'} eq '') { + $cgiparams{'ENGINES'} = 'disabled'; + } + if ($cgiparams{'TLSAUTH'} eq '') { + $cgiparams{'TLSAUTH'} = 'off'; + } $checked{'CLIENT2CLIENT'}{'off'} = ''; $checked{'CLIENT2CLIENT'}{'on'} = ''; $checked{'CLIENT2CLIENT'}{$cgiparams{'CLIENT2CLIENT'}} = 'CHECKED'; @@ -2445,6 +2549,7 @@ ADV_ERROR: $checked{'MSSFIX'}{'on'} = ''; $checked{'MSSFIX'}{$cgiparams{'MSSFIX'}} = 'CHECKED'; $checked{'PMTU_DISCOVERY'}{$cgiparams{'PMTU_DISCOVERY'}} = 'checked=\'checked\''; + $selected{'LOG_VERB'}{'0'} = ''; $selected{'LOG_VERB'}{'1'} = ''; $selected{'LOG_VERB'}{'2'} = ''; $selected{'LOG_VERB'}{'3'} = ''; @@ -2456,15 +2561,22 @@ ADV_ERROR: $selected{'LOG_VERB'}{'9'} = ''; $selected{'LOG_VERB'}{'10'} = ''; $selected{'LOG_VERB'}{'11'} = ''; - $selected{'LOG_VERB'}{'0'} = ''; $selected{'LOG_VERB'}{$cgiparams{'LOG_VERB'}} = 'SELECTED'; $selected{'DAUTH'}{'whirlpool'} = ''; $selected{'DAUTH'}{'SHA512'} = ''; $selected{'DAUTH'}{'SHA384'} = ''; $selected{'DAUTH'}{'SHA256'} = ''; - $selected{'DAUTH'}{'ecdsa-with-SHA1'} = ''; $selected{'DAUTH'}{'SHA1'} = ''; $selected{'DAUTH'}{$cgiparams{'DAUTH'}} = 'SELECTED'; + $checked{'TLSAUTH'}{'off'} = ''; + $checked{'TLSAUTH'}{'on'} = ''; + $checked{'TLSAUTH'}{$cgiparams{'TLSAUTH'}} = 'CHECKED'; + $selected{'ENGINES'}{'cryptodev'} = ''; + $selected{'ENGINES'}{'dynamic'} = ''; + $selected{'ENGINES'}{'aesni'} = ''; + $selected{'ENGINES'}{'padlock'} = ''; + $selected{'ENGINES'}{'disabled'} = ''; + $selected{'ENGINES'}{$cgiparams{'ENGINES'}} = 'SELECTED'; &Header::showhttpheaders(); &Header::openpage($Lang::tr{'status ovpn'}, 1, ''); @@ -2478,7 +2590,7 @@ ADV_ERROR: &Header::openbox('100%', 'LEFT', $Lang::tr{'advanced server'}); print < -

$Lang::tr{'upload p12 file'}:
+
@@ -2546,12 +2658,13 @@ print < - - + + - - + + + @@ -2564,30 +2677,28 @@ print <
$Lang::tr{'dhcp-options'}
fragment
mssfix $Lang::tr{'openvpn default'}: on
$Lang::tr{'openvpn default'}: off
$Lang::tr{'ovpn mtu-disc'} $Lang::tr{'ovpn mtu-disc yes'}
- + - + - -
$Lang::tr{'log-options'}$Lang::tr{'log-options'}
VERB -
+ + + + + + + + + + + + + +
@@ -2599,24 +2710,46 @@ print < -
$Lang::tr{'ovpn ha'} Default: SHA1 (160 $Lang::tr{'bit'})

+ + + $Lang::tr{'ovpn engines'} + + + Default: $Lang::tr{'disabled'} + + + + + + + + + + + +
HMAC tls-auth

END if ( -e "/var/run/openvpn.pid"){ print"
$Lang::tr{'attention'}:
$Lang::tr{'server restart'}


"; - print<   @@ -2632,7 +2765,7 @@ END }else{ -print<   @@ -2687,11 +2820,11 @@ if ($cgiparams{'ACTION'} eq "edit"){ &Header::openbox('100%', 'LEFT', $Lang::tr{'ccd modify'}); - print <
$Lang::tr{'ccd name'}: - $Lang::tr{'ccd subnet'}: + $Lang::tr{'ccd subnet'}:
@@ -2701,7 +2834,7 @@ END &Header::closebox(); &Header::openbox('100%', 'LEFT',$Lang::tr{'ccd net'} ); - print < $Lang::tr{'ccd name'}$Lang::tr{'network'}$Lang::tr{'ccd used'} @@ -2711,7 +2844,7 @@ END else{ if (! -e "/var/run/openvpn.pid"){ &Header::openbox('100%', 'LEFT', $Lang::tr{'ccd add'}); - print < $Lang::tr{'ccd hint'}

@@ -2751,7 +2884,7 @@ END print"$ccdconf[0]$ccdconf[1]$ccdhosts/".(&ccdmaxclients($ccdconf[1])+1).""; print < - + @@ -2760,7 +2893,7 @@ END - + END ; } @@ -2864,7 +2997,7 @@ END } print ""; - print < @@ -2979,7 +3112,7 @@ END if ( -s "${General::swroot}/ovpn/settings") { - print <$Lang::tr{'connection type'}:

@@ -2990,7 +3123,7 @@ if ( -s "${General::swroot}/ovpn/settings") { - + @@ -3000,7 +3133,7 @@ END } else { - print <$Lang::tr{'connection type'}:
$Lang::tr{'net to net vpn'} (Upload Client Package)
 
 Import Connection Name
 $Lang::tr{'openvpn default'}: Client Packagename
 Default : Client Packagename

* $Lang::tr{'this field may be blank'}
@@ -3149,6 +3282,7 @@ my $complzoactive; my $mssfixactive; my $authactive; my $n2nfragment; +my $authactive; my @n2nmtudisc = split(/ /, (grep { /^mtu-disc/ } @firen2nconf)[0]); my @n2nproto2 = split(/ /, (grep { /^proto/ } @firen2nconf)[0]); my @n2nproto = split(/-/, $n2nproto2[1]); @@ -3168,7 +3302,7 @@ my @n2nmgmt = split(/ /, (grep { /^management/ } @firen2nconf)[0]); my @n2nlocalsub = split(/ /, (grep { /^# remsub/ } @firen2nconf)[0]); my @n2ncipher = split(/ /, (grep { /^cipher/ } @firen2nconf)[0]); my @n2nauth = split(/ /, (grep { /^auth/ } @firen2nconf)[0]); - +my @n2nengine = split(/ /, (grep { /^engine/ } @firen2nconf)[0]);; ### # m.a.d delete CR and LF from arrays for this chomp doesnt work @@ -3189,6 +3323,7 @@ $n2nmgmt[2] =~ s/\n|\r//g; $n2nmtudisc[1] =~ s/\n|\r//g; $n2ncipher[1] =~ s/\n|\r//g; $n2nauth[1] =~ s/\n|\r//g; +$n2nengine[1] =~ s/\n|\r//g; chomp ($complzoactive); chomp ($mssfixactive); @@ -3242,7 +3377,7 @@ foreach my $dkey (keys %confighash) { $key = &General::findhasharraykey (\%confighash); - foreach my $i (0 .. 41) { $confighash{$key}[$i] = "";} + foreach my $i (0 .. 42) { $confighash{$key}[$i] = "";} $confighash{$key}[0] = 'off'; $confighash{$key}[1] = $n2nname[0]; @@ -3263,9 +3398,10 @@ foreach my $dkey (keys %confighash) { $confighash{$key}[29] = $n2nport[1]; $confighash{$key}[30] = $complzoactive; $confighash{$key}[31] = $n2ntunmtu[1]; - $confighash{$key}[38] = $n2nmtudisc[1]; + $confighash{$key}[38] = $n2nmtudisc[1]; $confighash{$key}[39] = $n2nauth[1]; $confighash{$key}[40] = $n2ncipher[1]; + $confighash{$key}[41] = 'disabled'; &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash); @@ -3285,7 +3421,7 @@ foreach my $dkey (keys %confighash) { &Header::openbox('100%', 'LEFT', 'import ipfire net2net config'); } if ($errormessage eq ''){ - print <
$Lang::tr{'host to net vpn'}
@@ -3302,8 +3438,8 @@ foreach my $dkey (keys %confighash) { - - + + @@ -3405,6 +3541,8 @@ if ($confighash{$cgiparams{'KEY'}}) { $cgiparams{'PMTU_DISCOVERY'} = $confighash{$cgiparams{'KEY'}}[38]; $cgiparams{'DAUTH'} = $confighash{$cgiparams{'KEY'}}[39]; $cgiparams{'DCIPHER'} = $confighash{$cgiparams{'KEY'}}[40]; + $cgiparams{'TLSAUTH'} = $confighash{$cgiparams{'KEY'}}[41]; + $cgiparams{'ENGINES'} = $confighash{$cgiparams{'KEY'}}[42]; } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) { $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'}); @@ -3723,14 +3861,13 @@ if ($cgiparams{'TYPE'} eq 'net') { unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!"; rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!"; goto VPNCONF_ERROR; - } - #Check if remote subnet is used elsewhere - my ($n2nip,$n2nsub)=split("/",$cgiparams{'REMOTE_SUBNET'}); - $warnmessage=&General::checksubnets('',$n2nip,'ovpn'); - if ($warnmessage){ - $warnmessage=$Lang::tr{'remote subnet'}." ($cgiparams{'REMOTE_SUBNET'})
".$warnmessage; - } - + } + #Check if remote subnet is used elsewhere + my ($n2nip,$n2nsub)=split("/",$cgiparams{'REMOTE_SUBNET'}); + $warnmessage=&General::checksubnets('',$n2nip,'ovpn'); + if ($warnmessage){ + $warnmessage=$Lang::tr{'remote subnet'}." ($cgiparams{'REMOTE_SUBNET'})
".$warnmessage; + } } # if (($cgiparams{'TYPE'} eq 'net') && ($cgiparams{'SIDE'} !~ /^(left|right)$/)) { @@ -4085,7 +4222,7 @@ if ($cgiparams{'TYPE'} eq 'net') { if (! $key) { $key = &General::findhasharraykey (\%confighash); - foreach my $i (0 .. 41) { $confighash{$key}[$i] = "";} + foreach my $i (0 .. 43) { $confighash{$key}[$i] = "";} } $confighash{$key}[0] = $cgiparams{'ENABLED'}; $confighash{$key}[1] = $cgiparams{'NAME'}; @@ -4131,6 +4268,7 @@ if ($cgiparams{'TYPE'} eq 'net') { $confighash{$key}[38] = $cgiparams{'PMTU_DISCOVERY'}; $confighash{$key}[39] = $cgiparams{'DAUTH'}; $confighash{$key}[40] = $cgiparams{'DCIPHER'}; + $confighash{$key}[42] = $cgiparams{'ENGINES'}; &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash); @@ -4240,8 +4378,9 @@ if ($cgiparams{'TYPE'} eq 'net') { ### $cgiparams{'MSSFIX'} = 'on'; $cgiparams{'FRAGMENT'} = '1300'; - $cgiparams{'PMTU_DISCOVERY'} = 'off'; - $cgiparams{'DAUTH'} = 'SHA1'; + $cgiparams{'PMTU_DISCOVERY'} = 'off'; + $cgiparams{'DAUTH'} = 'SHA1'; + $cgiparams{'ENGINES'} = 'disabled'; ### # m.a.d n2n end ### @@ -4306,14 +4445,6 @@ if ($cgiparams{'TYPE'} eq 'net') { } $checked{'PMTU_DISCOVERY'}{$cgiparams{'PMTU_DISCOVERY'}} = 'checked=\'checked\''; - $selected{'DAUTH'}{'whirlpool'} = ''; - $selected{'DAUTH'}{'SHA512'} = ''; - $selected{'DAUTH'}{'SHA384'} = ''; - $selected{'DAUTH'}{'SHA256'} = ''; - $selected{'DAUTH'}{'ecdsa-with-SHA1'} = ''; - $selected{'DAUTH'}{'SHA1'} = ''; - $selected{'DAUTH'}{$cgiparams{'DAUTH'}} = 'SELECTED'; - $selected{'DCIPHER'}{'CAMELLIA-256-CBC'} = ''; $selected{'DCIPHER'}{'CAMELLIA-192-CBC'} = ''; $selected{'DCIPHER'}{'CAMELLIA-128-CBC'} = ''; @@ -4330,7 +4461,35 @@ if ($cgiparams{'TYPE'} eq 'net') { $selected{'DCIPHER'}{'DES-CBC'} = ''; $selected{'DCIPHER'}{'RC2-64-CBC'} = ''; $selected{'DCIPHER'}{'RC2-40-CBC'} = ''; + # If no cipher has been chossen yet, select + # the old default (AES-256-CBC) for compatiblity reasons. + if ($cgiparams{'DCIPHER'} eq '') { + $cgiparams{'DCIPHER'} = 'AES-256-CBC'; + } $selected{'DCIPHER'}{$cgiparams{'DCIPHER'}} = 'SELECTED'; + $selected{'DAUTH'}{'whirlpool'} = ''; + $selected{'DAUTH'}{'SHA512'} = ''; + $selected{'DAUTH'}{'SHA384'} = ''; + $selected{'DAUTH'}{'SHA256'} = ''; + $selected{'DAUTH'}{'SHA1'} = ''; + # If no hash algorythm has been choosen yet, select + # the old default value (SHA1) for compatiblity reasons. + if ($cgiparams{'DAUTH'} eq '') { + $cgiparams{'DAUTH'} = 'SHA1'; + } + $selected{'DAUTH'}{$cgiparams{'DAUTH'}} = 'SELECTED'; + + $selected{'ENGINES'}{'disabled'} = ''; + $selected{'ENGINES'}{'cryptodev'} = ''; + $selected{'ENGINES'}{'dynamic'} = ''; + $selected{'ENGINES'}{'aesni'} = ''; + $selected{'ENGINES'}{'padlock'} = ''; + # If no engine has been choosen yet, select + # a default one (disabled). + if ($cgiparams{'ENGINES'} eq '') { + $cgiparams{'ENGINES'} = 'disabled'; + } + $selected{'ENGINES'}{$cgiparams{'ENGINES'}} = 'SELECTED'; if (1) { &Header::showhttpheaders(); @@ -4386,7 +4545,6 @@ if ($cgiparams{'TYPE'} eq 'net') { } else { print ""; } - print <  @@ -4405,77 +4563,93 @@ if ($cgiparams{'TYPE'} eq 'net') { - - - - + + + - - + + + + + - + + + + + + + + - + + - + - - - - + + + + END ; } @@ -4538,7 +4712,7 @@ if ($cgiparams{'TYPE'} eq 'host') { if ($cgiparams{'TYPE'} eq 'host') { - print < @@ -4563,7 +4737,7 @@ END } else { - print < @@ -4597,7 +4771,7 @@ END ### if ($cgiparams{'TYPE'} eq 'host') { - print < @@ -4605,7 +4779,7 @@ if ($cgiparams{'TYPE'} eq 'host') { - + @@ -4613,7 +4787,7 @@ if ($cgiparams{'TYPE'} eq 'host') {
  
MSSFIX:$confighash{$key}[23]
Fragment:$confighash{$key}[24]
$Lang::tr{'MTU'}$confighash{$key}[31]
$Lang::tr{'ovpn mtu-disc'}:$confighash{$key}[38]
Management Port:$confighash{$key}[22]
$Lang::tr{'ovpn mtu-disc'}$confighash{$key}[38]
Management Port $confighash{$key}[22]
$Lang::tr{'ovpn hmac'}:$confighash{$key}[39]
$Lang::tr{'cipher'}$confighash{$key}[40]
  
 
$Lang::tr{'ovpn subnet'}$Lang::tr{'destination port'}:
$Lang::tr{'protocol'} Management Port ($Lang::tr{'openvpn default'}: $Lang::tr{'destination port'}):   $Lang::tr{'destination port'}:
$Lang::tr{'cipher'} $Lang::tr{'ovpn ha'}: +
$Lang::tr{'ovpn engines'}   +
$Lang::tr{'MTU'} 

Management Port ($Lang::tr{'openvpn default'}: $Lang::tr{'destination port'}):  
$Lang::tr{'MTU'}  $Lang::tr{'openvpn default'}: udp/tcp 1500/1400
fragment:  
fragment   $Lang::tr{'openvpn default'}: 1300
mssfix:  
mssfix   $Lang::tr{'openvpn default'}: on
$Lang::tr{'comp-lzo'}   -
$Lang::tr{'ovpn mtu-disc'}: - $Lang::tr{'ovpn mtu-disc yes'} - $Lang::tr{'ovpn mtu-disc maybe'} - $Lang::tr{'ovpn mtu-disc no'} - $Lang::tr{'ovpn mtu-disc off'} -
$Lang::tr{'comp-lzo'}   +
$Lang::tr{'ovpn mtu-disc'} + $Lang::tr{'ovpn mtu-disc yes'} + $Lang::tr{'ovpn mtu-disc maybe'} + $Lang::tr{'ovpn mtu-disc no'} + $Lang::tr{'ovpn mtu-disc off'} +
$Lang::tr{'upload a certificate request'}
$Lang::tr{'generate a certificate'} 
 $Lang::tr{'valid till'} (days):
  $Lang::tr{'pkcs12 file password'}:
 $Lang::tr{'pkcs12 file password'}:
($Lang::tr{'confirmation'})
 $Lang::tr{'pkcs12 file password'}:
($Lang::tr{'confirmation'})
 

END }else{ - print <         @@ -4741,7 +4915,7 @@ END if (&haveOrangeNet() && $selorange == '1'){ print"";$selorange=0;}elsif(&haveOrangeNet() && $selorange == '0'){print"";} if ($selgreen == '1' || $other == '0'){ print"";$set=0;}else{print"";}; - print<DNS1: DNS2: WINS:

@@ -4803,6 +4977,9 @@ END if ($cgiparams{'DAUTH'} eq '') { $cgiparams{'DAUTH'} = 'SHA1'; } + if ($cgiparams{'ENGINES'} eq '') { + $cgiparams{'ENGINES'} = 'disabled'; + } if ($cgiparams{'DOVPN_SUBNET'} eq '') { $cgiparams{'DOVPN_SUBNET'} = '10.' . int(rand(256)) . '.' . int(rand(256)) . '.0/255.255.255.0'; } @@ -4845,10 +5022,16 @@ END $selected{'DAUTH'}{'SHA512'} = ''; $selected{'DAUTH'}{'SHA384'} = ''; $selected{'DAUTH'}{'SHA256'} = ''; - $selected{'DAUTH'}{'ecdsa-with-SHA1'} = ''; $selected{'DAUTH'}{'SHA1'} = ''; $selected{'DAUTH'}{$cgiparams{'DAUTH'}} = 'SELECTED'; + $selected{'ENGINES'}{'cryptodev'} = ''; + $selected{'ENGINES'}{'dynamic'} = ''; + $selected{'ENGINES'}{'aesni'} = ''; + $selected{'ENGINES'}{'padlock'} = ''; + $selected{'ENGINES'}{'disabled'} = ''; + $selected{'ENGINES'}{$cgiparams{'ENGINES'}} = 'SELECTED'; + $checked{'DCOMPLZO'}{'off'} = ''; $checked{'DCOMPLZO'}{'on'} = ''; $checked{'DCOMPLZO'}{$cgiparams{'DCOMPLZO'}} = 'CHECKED'; @@ -4869,15 +5052,15 @@ END &Header::closebox(); } - if ($warnmessage) { - &Header::openbox('100%', 'LEFT', $Lang::tr{'warning messages'}); - print "$warnmessage
"; - print "$Lang::tr{'fwdfw warn1'}
"; - &Header::closebox(); - print"
"; - &Header::closepage(); - exit 0; - } + if ($warnmessage) { + &Header::openbox('100%', 'LEFT', $Lang::tr{'warning messages'}); + print "$warnmessage
"; + print "$Lang::tr{'fwdfw warn1'}
"; + &Header::closebox(); + print"
"; + &Header::closepage(); + exit 0; + } my $sactive = "
$Lang::tr{'stopped'}
"; my $srunning = "no"; @@ -5337,10 +5520,10 @@ END - $Lang::tr{'ovpn dh name'}: - + $Lang::tr{'ovpn dh upload'}: + - +
diff --git a/html/cgi-bin/pppsetup.cgi b/html/cgi-bin/pppsetup.cgi index 563d0eb58c..7bceb80ee7 100644 --- a/html/cgi-bin/pppsetup.cgi +++ b/html/cgi-bin/pppsetup.cgi @@ -153,6 +153,9 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) if (($pppsettings{'VPI'} eq '0') && ($pppsettings{'VCI'} eq '0')) { $errormessage = $Lang::tr{'invalid vpi vpci'}; goto ERROR; } + if ($pppsettings{'ATM_DEV'} eq '') { + $errormessage = $Lang::tr{'invalid input'}; + goto ERROR; } if ( $pppsettings{'PROTOCOL'} eq '' ) { $errormessage = $Lang::tr{'invalid input'}; goto ERROR; } @@ -751,11 +754,12 @@ if ($pppsettings{'TYPE'} =~ /^(pppoeatm|pptpatm)$/) print < - $Lang::tr{'adsl settings'}: + $Lang::tr{'atm settings'}: - + $Lang::tr{'atm device'} + $Lang::tr{'encapsulation'}: - + - $Lang::tr{'vci number'} - + $Lang::tr{'vci number'} + END ; @@ -968,6 +971,7 @@ sub initprofile $pppsettings{'ENCAP'} = '0'; $pppsettings{'VPI'} = '1'; $pppsettings{'VCI'} = '32'; + $pppsettings{'ATM_DEV'} = '0'; $pppsettings{'PPTP_PEER'} = '10.0.0.138'; $pppsettings{'PPTP_NICCFG'} = '10.0.0.140/24 broadcast 10.0.0.255'; $pppsettings{'PPTP_ROUTE'} = ''; diff --git a/html/cgi-bin/proxy.cgi b/html/cgi-bin/proxy.cgi index c4cff47892..2a9d493942 100644 --- a/html/cgi-bin/proxy.cgi +++ b/html/cgi-bin/proxy.cgi @@ -2972,11 +2972,23 @@ sub writepacfile print FILE < 'Konfiguriert als', +'Act as' => 'Konfiguriert als:', 'Add Level7 rule' => 'Level7-Regel hinzufügen', 'Add Port Rule' => 'Port-Regel hinzufügen', 'Add Rule' => 'Regel hinzufügen', @@ -10,7 +10,6 @@ 'Choose Rule' => 'Wählen Sie eine der untenstehenden Regeln aus.', 'Class' => 'Klasse', 'Class was deleted' => 'wurde mit eventuell vorhandenen Unterklassen gelöscht', -'Client status and controlc' => 'Client-Status und -Kontrolle', 'ConnSched action' => 'Aktion:', 'ConnSched add action' => 'Aktion hinzufügen', 'ConnSched change profile title' => 'Wechsle zu Profil:', @@ -18,8 +17,8 @@ 'ConnSched dial' => 'Verbinden', 'ConnSched down' => 'Runter', 'ConnSched hangup' => 'Trennen', -'ConnSched ipsecstart' => 'IPSec (neu)starten', -'ConnSched ipsecstop' => 'IPSec stop', +'ConnSched ipsecstart' => 'IPsec (neu)starten', +'ConnSched ipsecstop' => 'IPsec stop', 'ConnSched reboot' => 'Neustarten', 'ConnSched reconnect' => 'Neu verbinden', 'ConnSched scheduled actions' => 'Geplante Aktionen', @@ -39,7 +38,8 @@ 'Local VPN IP' => 'Internes Netzwerk (GREEN)', 'MB read' => 'MB gelesen', 'MB written' => 'MB geschrieben', -'MTU' => 'MTU Size:', +'MTU' => 'MTU-Größe:', +'Number of Countries for the pie chart' => 'Anzahl der angezeigten Länder im Diagramm', 'Number of IPs for the pie chart' => 'Anzahl der angezeigten IPs im Diagramm', 'Number of Ports for the pie chart' => 'Anzahl der angezeigten Ports im Diagramm', 'OVPN' => 'OpenVPN', @@ -99,7 +99,6 @@ 'admin user password has been changed' => 'Passwort für Benutzer admin wurde geändert.', 'admin users' => 'Liste der Benutzer mit Super User Rechten', 'administrator user password' => 'Passwort für Benutzer "admin":', -'adsl settings' => 'ADSL-Einstellungen', 'advanced' => 'Erweitert', 'advanced server' => 'Erweiterte Server-Optionen', 'advproxy AUTH always required' => 'Authentifizierung für uneingeschränkte Quelladressen erforderlich', @@ -366,6 +365,8 @@ 'are you sure' => 'Sind Sie sicher?', 'arp table entries' => 'Einträge der ARP-Tabelle', 'artist' => 'Künstler', +'atm device' => 'Device:', +'atm settings' => 'ATM-Einstellungen', 'attemps' => 'Versuche', 'attention' => 'ACHTUNG', 'august' => 'August', @@ -660,9 +661,10 @@ 'details' => 'Mehr', 'device' => 'Gerät', 'devices on blue' => 'Geräte auf Blau', -'dh' => 'Diffie-Hellman Key', -'dh key warn' => 'Keys mit 1024 und 2048 Bit können mehrere Minuten, 3072 und 4096 Bit bis zu mehreren Stunden dauern. Bitte haben sie Geduld.', -'dh name is invalid' => 'Name ist ungültig, bitte "dh1024.pem" verwenden.', +'dh' => 'Diffie-Hellman-Parameter', +'dh key move failed' => 'Verschieben der Diffie-Hellman-Parameter fehlgeschlagen.', +'dh key warn' => 'Das Generieren der Diffie-Hellman-Parameter mit 1024 oder 2048 Bit dauert üblicherweise mehrere Minuten. Schlüssellängen von 3072 oder 4096 Bit beanspruchen mehrere Stunden. Bitte haben Sie etwas Geduld.', +'dh key warn1' => 'Bei schwachen Systemen oder Systeme mit wenig Entropie wird empfohlen lange Diffie-Hellman-Parameter über die Upload-Funktion hochzuladen.', 'dhcp advopt add' => 'DHCP Option hinzufügen', 'dhcp advopt added' => 'DHCP Option hinzugefügt', 'dhcp advopt blank value' => 'Wert für DHCP Option darf nicht leer sein', @@ -735,8 +737,7 @@ 'dns proxy server' => 'DNS-Proxyserver', 'dns saved' => 'Erfolgreich gespeichert!', 'dns saved txt' => 'Die beiden eingegebenen DNS-Server-Adressen wurde erfolgreich gespeichert.
Um die Änderung wirksam zu machen, müssen Sie neustarten oder wiederverbinden!', -'dns server' => 'DNS-Server', -'dns servers' => 'DNS-Server', +'dns server' => 'DNS Server', 'dns title' => 'Domain Name System', 'dnsforward' => 'DNS-Weiterleitung', 'dnsforward add a new entry' => 'Neuen Eintrag hinzufügen', @@ -760,7 +761,6 @@ 'donation-text' => 'IPFire wird von Freiwilligen in ihrer Freizeit betrieben und auch betreut. Um dieses Projekt am Laufen zu halten, entstehen uns natürlich auch Kosten. Wenn Sie uns unterstützen wollen, würden wir uns über eine kleine Spende sehr freuen.', 'dos charset' => 'DOS Charset', 'down and up speed' => 'Geben Sie bitte hier ihre Download- bzw. Upload-Geschwindigkeit ein
und klicken Sie danach auf Speichern.', -'downlink' => 'Downlink', 'downlink speed' => 'Downlink-Geschwindigkeit (kBit/sek)', 'downlink std class' => 'Downloadstandardklasse', 'download' => 'herunterladen', @@ -906,13 +906,13 @@ 'firewall log' => 'Firewall-Protokoll', 'firewall log viewer' => 'Betrachter der Firewall-Logdateien', 'firewall logs' => 'Firewall-Logdateien', +'firewall logs country' => 'Fw-Logdiagramme (Land)', 'firewall logs ip' => 'Fw-Logdiagramme (IP)', 'firewall logs port' => 'Fw-Logdiagramme (Port)', 'firewall rules' => 'Firewallregeln', 'firewallhits' => 'Firewalltreffer', 'firmware' => 'Firmware', 'firmware upload' => 'Hochladen der Firmware/Treiber', -'first' => 'Erste', 'fixed ip lease added' => 'Feste IP-Zuordnung hinzugefügt', 'fixed ip lease modified' => 'Feste IP-Zuordnung geändert', 'fixed ip lease removed' => 'Feste IP-Zuordnung gelöscht', @@ -1034,6 +1034,14 @@ 'fwdfw wd_tue' => 'Di', 'fwdfw wd_wed' => 'Mi', 'fwdfw xt access' => 'Input', +'fwhost Custom Host' => 'Host', +'fwhost Custom Network' => 'Netzwerk', +'fwhost IpSec Host' => 'IPsec-Host', +'fwhost IpSec Network' => 'IPsec-Netzwerk', +'fwhost OpenVPN N-2-N' => 'OpenVPN Netz-zu-Netz', +'fwhost OpenVPN static host' => 'OpenVPN statischer Host', +'fwhost OpenVPN static network' => 'OpenVPN statisches Netzwerk', +'fwhost Standard Network' => 'Standard-Netzwerk', 'fwhost addgrp' => 'Neue Gruppe hinzufügen', 'fwhost addgrpname' => 'Gruppenname:', 'fwhost addhost' => 'Neuen Host hinzufügen', @@ -1115,7 +1123,7 @@ 'fwhost wo subnet' => '(Ohne Subnetz)', 'gateway' => 'Gateway', 'gateway ip' => 'Gateway-IP', -'gen dh' => 'Diffie-Hellman Key erzeugen', +'gen dh' => 'Diffie-Hellman-Parameter erzeugen', 'gen static key' => 'Statischen Schlüssel erzeugen', 'generate' => 'Root/Host-Zertifikate generieren', 'generate a certificate' => 'Erzeuge ein Zertifikat:', @@ -1330,7 +1338,6 @@ 'lan' => 'LAN', 'lang' => 'de', 'languagepurpose' => 'Wählen Sie eine Sprache, in der IPFire angezeigt werden soll:', -'last' => 'Letzte', 'last activity' => 'Letzte Aktivität', 'lateprompting' => 'Late prompting', 'lease expires' => 'Zuordnung verfällt', @@ -1535,6 +1542,7 @@ 'network traffic graphs others' => 'Netzwerk (sonstige)', 'network updated' => 'Benutzerdefiniertes Netzwerk aktualisiert', 'networks settings' => 'Firewall - Netzwerkeinstellungen', +'never' => 'Nie', 'new optionsfw later' => 'Einige Einstellungen werden erst nach einem Neustart aktiv', 'new optionsfw must boot' => 'Sie müssen Ihren IPFire neu starten', 'newer' => 'Neuer', @@ -1556,7 +1564,7 @@ 'nonetworkname' => 'Kein Netzwerkname wurde eingegeben', 'noservicename' => 'Kein Dienstname wurde eingegeben', 'not a valid ca certificate' => 'Kein gültiges CA Zertifikat.', -'not a valid dh key' => 'Kein gültiger Diffie-Hellman Schlüssel. Bitte nur 1024, 2048, 3072 oder 4096 Bit im PKCS#3 Format verwenden.', +'not a valid dh key' => 'Kein gültiger Diffie-Hellman-Parameter. Es sind nur Parameter mit einer Länge von 1024, 2048, 3072 oder 4096 Bit im PKCS#3-Format erlaubt.', 'not enough disk space' => 'Nicht genügend Plattenplatz vorhanden', 'not present' => 'Nicht vorhanden', 'not running' => 'nicht gestartet', @@ -1649,15 +1657,16 @@ 'ovpn con stat' => 'OpenVPN Verbindungs-Statistik', 'ovpn config' => 'OVPN-Konfiguration', 'ovpn crypt options' => 'Kryptografieoptionen', -'ovpn device' => 'OpenVPN-Gerät:', -'ovpn dh' => 'Diffie-Hellman Key Länge', -'ovpn dh name' => 'Diffie-Hellman Key Name', +'ovpn device' => 'OpenVPN-Gerät', +'ovpn dh' => 'Diffie-Hellman-Parameter-Länge', +'ovpn dh upload' => 'Diffie-Hellman-Parameter hochladen', 'ovpn dl' => 'OVPN-Konfiguration downloaden', +'ovpn engines' => 'Krypto Engine', 'ovpn errmsg green already pushed' => 'Route für grünes Netzwerk wird immer gesetzt', 'ovpn errmsg invalid ip or mask' => 'Ungültige Netzwerk-Adresse oder Subnetzmaske', 'ovpn generating the root and host certificates' => 'Die Erzeugung der Root- und Host-Zertifikate kann lange Zeit dauern.', -'ovpn ha' => 'Hash Algorithmus', -'ovpn hmac' => 'HMAC Optionen', +'ovpn ha' => 'Hash-Algorithmus', +'ovpn hmac' => 'HMAC-Optionen', 'ovpn log' => 'OVPN-Log', 'ovpn mgmt in root range' => 'Ein Port von 1024 oder höher ist erforderlich.', 'ovpn mtu-disc' => 'Path MTU Discovery', @@ -1672,12 +1681,14 @@ 'ovpn on orange' => 'OpenVPN auf ORANGE:', 'ovpn on red' => 'OpenVPN auf ROT:', 'ovpn port in root range' => 'Ein Port von 1024 oder höher ist erforderlich.', +'ovpn reneg sec' => 'Session Key Lifetime', 'ovpn routes push' => 'Routen (eine pro Zeile) z.b. 192.168.10.0/255.255.255.0 192.168.20.0/24', 'ovpn routes push options' => 'Route push Optionen', 'ovpn server status' => 'OpenVPN-Server-Status', 'ovpn subnet' => 'OpenVPN-Subnetz:', 'ovpn subnet is invalid' => 'Das OpenVPN-Subnetz ist ungültig.', 'ovpn subnet overlap' => 'OpenVPNSubnetz überschneidet sich mit ', +'ovpn_fastio' => 'Fast-IO', 'ovpn_fragment' => 'Fragmentgrösse', 'ovpn_mssfix' => 'MSSFIX-Grösse', 'ovpn_mtudisc' => 'MTU-Discovery', @@ -1801,6 +1812,7 @@ 'qos warning' => 'Die Regel muss wieder gespeichert werden, ansonsten wird sie verworfen!', 'quick playlist' => 'Quick Playlist', 'ram' => 'RAM-Speicher', +'random number generator daemon' => 'Random Number Generator Daemon', 'read bytes' => 'Gelesene Bytes', 'read list' => 'Liste der Leseberechtigten', 'real address' => 'Reale Addresse', @@ -1917,7 +1929,7 @@ 'show ca certificate' => 'CA Zertifikat anzeigen', 'show certificate' => 'Zertifikat anzeigen', 'show crl' => 'Certificate Revocation List anzeigen', -'show dh' => 'Diffie-Hellman Key anzeigen', +'show dh' => 'Diffie-Hellman-Parameter anzeigen', 'show host certificate' => 'Host-Zertifikat anzeigen', 'show last x lines' => 'die letzten x Zeilen anzeigen', 'show root certificate' => 'Root-Zertifikat anzeigen', @@ -1955,6 +1967,7 @@ 'source ip' => 'Quell-IP-Adresse', 'source ip and port' => 'Quell-IP:Port', 'source ip bad' => 'Ungültige Quell-IP-Adresse.', +'source ip country' => 'Quell-IP-Adresse Land', 'source ip in use' => 'Benutzte Quell-IP:', 'source ip or net' => 'Quellen-IP oder Netz', 'source net' => 'Quell-Netz', @@ -2246,14 +2259,13 @@ 'updxlrtr weekly' => 'wöchentlich', 'updxlrtr year' => 'einem Jahr', 'upgrade' => 'upgrade', -'uplink' => 'Uplink', 'uplink speed' => 'Uplink-Geschwindigkeit (kBit/sek)', 'uplink std class' => 'Uploadstandardklasse', 'upload' => 'Hochladen', 'upload a certificate' => 'Ein Zertifikat hochladen:', 'upload a certificate request' => 'Eine Zertifikatsanfrage hochladen:', 'upload ca certificate' => 'CA-Zertifikat hochladen', -'upload dh key' => 'Diffie-Hellman Key hochladen', +'upload dh key' => 'Diffie-Hellman-Parameter hochladen', 'upload file' => 'Datei zum hochladen', 'upload new ruleset' => 'Neuen Regelsatz hochladen', 'upload p12 file' => 'PKCS12-Datei hochladen', @@ -2504,7 +2516,6 @@ 'vpn aggrmode' => 'IKE Aggressive Mode zugelassen. Wenn möglich, vermeiden (preshared Schlüssel wird im Klartext übertragen)!', 'vpn altname syntax' => 'Der Subjekt Alternativ Name ist eine durch Komma getrennte Liste von Email, DNS, URI, RID und IP Objekten.
Email: eine Email Adresse. Syntax Email: \'copy\' benutzt die Email Adresse aus dem Zertifikatfeld.
DNS: ein gültiger Domain Name.
URI: eine gültige URI.
RID: Registriertes Objekt Identifikation.
IP: eine IP Adresse.
Bitte beachten: der Zeichensatz ist eingeschränkt und die Groß-/Kleinschreibung ist entscheidend.
Beispiel:
email:info@ipfire.org,email:copy,DNS:www.ipfire.org,IP:127.0.0.1,URI:http://url/nach/irgendwo', 'vpn auth-dn' => 'Peer wird identifiziert durch entweder ein IPV4_ADDR, FQDN, USER_FQDN oder DER_ASN1_DN string in Remote ID Feld', -'vpn configuration main' => 'VPN-Konfiguration', 'vpn delayed start' => 'Verzögerung bevor VPN gestartet wird (Sekunden)', 'vpn delayed start help' => 'Falls notwendig, kann diese Verzögerung dazu verwendet werden, um Dynamic-DNS-Updates ordnungsgemäß anzuwenden. 60 ist ein gängiger Wert, wenn ROT (RED) eine dynamische IP Adresse ist.', 'vpn incompatible use of defaultroute' => 'Hostname=%defaultroute nicht zulässig', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index d41a7ad343..5ccad79ee9 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -10,7 +10,6 @@ 'Choose Rule' => 'Choose one of the following rules.', 'Class' => 'Class', 'Class was deleted' => 'with potential subclasses was deleted', -'Client status and controlc' => 'Client status and control:', 'ConnSched action' => 'Action:', 'ConnSched add action' => 'Add action', 'ConnSched change profile title' => 'Change to profile:', @@ -18,8 +17,8 @@ 'ConnSched dial' => 'Connect', 'ConnSched down' => 'Down', 'ConnSched hangup' => 'Disconnect', -'ConnSched ipsecstart' => 'IPSec (re)start', -'ConnSched ipsecstop' => 'IPSec stop', +'ConnSched ipsecstart' => 'IPsec (re)start', +'ConnSched ipsecstop' => 'IPsec stop', 'ConnSched reboot' => 'Reboot', 'ConnSched reconnect' => 'Reconnect', 'ConnSched scheduled actions' => 'Scheduled actions', @@ -40,6 +39,7 @@ 'MB read' => 'MB read', 'MB written' => 'MB written', 'MTU' => 'MTU size:', +'Number of Countries for the pie chart' => 'Number of Countries for the pie chart', 'Number of IPs for the pie chart' => 'Number of IPs for the pie chart', 'Number of Ports for the pie chart' => 'Number of ports for the pie chart', 'OVPN' => 'OpenVPN', @@ -99,7 +99,6 @@ 'admin user password has been changed' => 'Admin user password has been changed.', 'admin users' => 'User with superuser rights', 'administrator user password' => 'Admin user password:', -'adsl settings' => 'ADSL settings', 'advanced' => 'Advanced', 'advanced server' => 'Advanced server options', 'advproxy AUTH always required' => 'Require authentication for unrestricted source addresses', @@ -368,6 +367,8 @@ 'are you sure' => 'Are you sure?', 'arp table entries' => 'ARP Table Entries', 'artist' => 'Artist', +'atm device' => 'Device:', +'atm settings' => 'ATM settings', 'attemps' => 'Attempts', 'attention' => 'ATTENTION', 'august' => 'August', @@ -423,7 +424,7 @@ 'behind a proxy' => 'Behind a proxy:', 'bewan adsl pci st' => 'TO BE REMOVED', 'bewan adsl usb' => 'TO BE REMOVED', -'bit' => 'Bit', +'bit' => 'bit', 'bitrate' => 'Bitrate', 'bleeding rules' => 'Bleeding Edge Snort Rules', 'blue' => 'BLUE', @@ -682,8 +683,10 @@ 'details' => 'Details', 'device' => 'Device', 'devices on blue' => 'Devices on BLUE', -'dh' => 'Diffie-Hellman Key', -'dh key warn' => 'Keys with 1024 and 2048 bit takes up to several minutes, 3072 and 4096 bit might needs several hours. Please be patient.', +'dh' => 'Diffie-Hellman parameters', +'dh key move failed' => 'Diffie-Hellman parameters move failed.', +'dh key warn' => 'Creating Diffie-Hellman parameters with lengths of 1024 or 2048 bits takes up to several minutes. Lengths of 3072 or 4096 bits might needs several hours. Please be patient.', +'dh key warn1' => 'For weak systems or systems with little entropy, it is recommended to upload long Diffie-Hellman parameters by usage of the upload function.', 'dh name is invalid' => 'Name is invalid, please use "dh1024.pem".', 'dhcp advopt add' => 'Add a DHCP option', 'dhcp advopt added' => 'DHCP option added', @@ -760,7 +763,6 @@ 'dns saved' => 'Successfully saved!', 'dns saved txt' => 'The two entered DNS server addresses have been saved successfully.
You have to reboot or reconnect that the changes have effect!', 'dns server' => 'DNS Server', -'dns servers' => 'DNS Servers', 'dns title' => 'Domain Name System', 'dnsforward' => 'DNS Forwarding', 'dnsforward add a new entry' => 'Add a new entry', @@ -785,7 +787,6 @@ 'done' => 'Do it', 'dos charset' => 'DOS Charset', 'down and up speed' => 'Enter your Down- and Uplink-Speed
and then press Save.', -'downlink' => 'Downlink', 'downlink speed' => 'Downlink speed (kbit/sec)', 'downlink std class' => 'downlink standard class', 'download' => 'download', @@ -939,7 +940,6 @@ 'firewallhits' => 'firewallhits', 'firmware' => 'Firmware', 'firmware upload' => 'Upload Firmware/Drivers', -'first' => 'First', 'fixed ip lease added' => 'Fixed IP lease added', 'fixed ip lease modified' => 'Fixed IP lease modified', 'fixed ip lease removed' => 'Fixed IP lease removed', @@ -1061,6 +1061,14 @@ 'fwdfw wd_tue' => 'Tue', 'fwdfw wd_wed' => 'Wed', 'fwdfw xt access' => 'Input', +'fwhost Custom Host' => 'Host', +'fwhost Custom Network' => 'Network', +'fwhost IpSec Host' => 'IPsec host', +'fwhost IpSec Network' => 'IPsec network', +'fwhost OpenVPN N-2-N' => 'OpenVPN Net-to-Net', +'fwhost OpenVPN static host' => 'OpenVPN static host', +'fwhost OpenVPN static network' => 'OpenVPN static network', +'fwhost Standard Network' => 'Standard network', 'fwhost addgrp' => 'Add new network/host group', 'fwhost addgrpname' => 'Group name:', 'fwhost addhost' => 'Add new host', @@ -1144,11 +1152,11 @@ 'g.lite' => 'TO BE REMOVED', 'gateway' => 'Gateway', 'gateway ip' => 'Gateway IP', -'gen dh' => 'Generate Diffie-Hellman key', +'gen dh' => 'Generate Diffie-Hellman parameters', 'gen static key' => 'Generate a static key', 'generate' => 'Generate root/host zertifikate', 'generate a certificate' => 'Generate a certificate:', -'generate dh key' => 'Generate Diffie-Hellman key', +'generate dh key' => 'Generate Diffie-Hellman parameters', 'generate iso' => 'Generate ISO', 'generate root/host certificates' => 'Generate root/host certificates', 'generate tripwire keys and init' => 'generate tripwire keys and init', @@ -1360,7 +1368,6 @@ 'lan' => 'LAN', 'lang' => 'en', 'languagepurpose' => 'Select the language you wish IPFire to display in:', -'last' => 'Last', 'last activity' => 'Last Activity', 'lateprompting' => 'Lateprompting', 'lease expires' => 'Lease expires', @@ -1565,6 +1572,7 @@ 'network traffic graphs others' => 'Network (others)', 'network updated' => 'Custom Network updated', 'networks settings' => 'Firewall - Network settings', +'never' => 'Never', 'new optionsfw later' => 'Some options need a reboot to take effect', 'new optionsfw must boot' => 'You must reboot your IPFire', 'newer' => 'Newer', @@ -1586,7 +1594,7 @@ 'nonetworkname' => 'No Network Name entered', 'noservicename' => 'No Service Name entered', 'not a valid ca certificate' => 'Not a valid CA certificate.', -'not a valid dh key' => 'Not a valid Diffie-Hellman key. Please use 1024, 2048, 3072 or 4096 bit in PKCS#3 format.', +'not a valid dh key' => 'Not a valid Diffie-Hellman parameters file. Please use a length of 1024, 2048, 3072 or 4096 bits and the PKCS#3 format.', 'not enough disk space' => 'Not enough disk space', 'not present' => 'Not present', 'not running' => 'not running', @@ -1681,9 +1689,10 @@ 'ovpn config' => 'OVPN-Config', 'ovpn crypt options' => 'Cryptographic options', 'ovpn device' => 'OpenVPN device:', -'ovpn dh' => 'Diffie-Hellman key lenght', -'ovpn dh name' => 'Diffie-Hellman key name', +'ovpn dh' => 'Diffie-Hellman parameters length', +'ovpn dh upload' => 'Upload Diffie-Hellman parameters', 'ovpn dl' => 'OVPN-Config Download', +'ovpn engines' => 'Crypto engine', 'ovpn errmsg green already pushed' => 'Route for green network is always set', 'ovpn errmsg invalid ip or mask' => 'Invalid network-address or subnetmask', 'ovpn generating the root and host certificates' => 'Generating the root and host certifictae can take a long time.', @@ -1703,6 +1712,7 @@ 'ovpn on orange' => 'OpenVPN on ORANGE:', 'ovpn on red' => 'OpenVPN on RED:', 'ovpn port in root range' => 'A port number of 1024 or higher is required.', +'ovpn reneg sec' => 'Session key lifetime:', 'ovpn routes push' => 'Routes (one per line) e.g. 192.168.10.0/255.255.255.0 192.168.20.0/24', 'ovpn routes push options' => 'Route push options', 'ovpn server status' => 'Current OpenVPN server status:', @@ -1710,7 +1720,6 @@ 'ovpn subnet is invalid' => 'OpenVPN subnet is invalid.', 'ovpn subnet overlap' => 'OpenVPN Subnet overlaps with : ', 'ovpn_fastio' => 'Fast-IO', -'ovpn_fragment' => 'Fragmentsize', 'ovpn_mssfix' => 'MSSFIX Size', 'ovpn_mtudisc' => 'MTU-Discovery', 'ovpn_processprio' => 'Process priority', @@ -1835,6 +1844,7 @@ 'quick control' => 'Quick Control', 'quick playlist' => 'Quick Playlist', 'ram' => 'RAM', +'random number generator daemon' => 'Random Number Generator Daemon', 'read bytes' => 'Read Bytes', 'read list' => 'list with readonly hosts', 'real address' => 'Real Address', @@ -1953,7 +1963,7 @@ 'show ca certificate' => 'Show CA certificate', 'show certificate' => 'Show certificate', 'show crl' => 'Show certificate revocation list', -'show dh' => 'Show Diffie-Hellman key', +'show dh' => 'Show Diffie-Hellman parameters', 'show host certificate' => 'Show host certificate', 'show last x lines' => 'Show last x lines', 'show lines' => 'Show lines', @@ -1992,6 +2002,7 @@ 'source ip' => 'Source IP', 'source ip and port' => 'Source IP: Port', 'source ip bad' => 'Not a valid IP address or a network address.', +'source ip country' => 'Source IP Country', 'source ip in use' => 'Source IP in use:', 'source ip or net' => 'Source IP or Net', 'source net' => 'Source Net', @@ -2072,6 +2083,7 @@ 'telephone not set' => 'Telephone not set.', 'template' => 'Preset', 'template warning' => 'You have two options to set up Qos. The First, you press the save button and generate the classes and rules on your own. The second, you press the preset button and classes and rules will be set up by a template.', +'teovpn_fragment' => 'Fragmentsize', 'test' => 'test', 'test email could not be sent' => 'Could not sent Testemail', 'test email was sent' => 'Testemail was send successfully', @@ -2286,14 +2298,13 @@ 'updxlrtr weekly' => 'weekly', 'updxlrtr year' => 'one year', 'upgrade' => 'upgrade', -'uplink' => 'Uplink', 'uplink speed' => 'Uplink speed (kbit/sec)', 'uplink std class' => 'uplink standard class', 'upload' => 'Upload', 'upload a certificate' => 'Upload a certificate:', 'upload a certificate request' => 'Upload a certificate request:', 'upload ca certificate' => 'Upload CA certificate', -'upload dh key' => 'Upload Diffie-Hellman key', +'upload dh key' => 'Upload Diffie-Hellman parameters', 'upload fcdsl.o' => 'TO BE REMOVED', 'upload file' => 'Upload file', 'upload new ruleset' => 'Upload new ruleset', @@ -2545,7 +2556,6 @@ 'vpn aggrmode' => 'IKE aggressive mode allowed. Avoid if possible (preshared key is transmitted in clear text)!', 'vpn altname syntax' => 'SubjectAltName is a comma separated list of e-mail, dns, uri, rid and ip objects.
email:an email address. Syntax email:copy takes the email field from the cert to be used.
DNS:a valid domain name.
URI:any valid uri.
RID:registered object identifier.
IP:an IP address.
Note:charset is limited and case is significant.
Example:
e-mail:ipfire@foo.org,email:copy,DNS:www.ipfire.org,IP:127.0.0.1,URI:http://url/to/something', 'vpn auth-dn' => 'Peer is identified by either IPV4_ADDR, FQDN, USER_FQDN or DER_ASN1_DN string in remote ID field', -'vpn configuration main' => 'VPN Configuration', 'vpn delayed start' => 'Delay before launching VPN (seconds)', 'vpn delayed start help' => 'If required, this delay can be used to allow dynamic DNS updates to propagate properly. 60 is a common value when RED is a dynamic IP.', 'vpn incompatible use of defaultroute' => 'hostname=%defaultroute not allowed', diff --git a/langs/es/cgi-bin/es.pl b/langs/es/cgi-bin/es.pl index edb8be0b52..ae5bf14a67 100644 --- a/langs/es/cgi-bin/es.pl +++ b/langs/es/cgi-bin/es.pl @@ -15,8 +15,8 @@ 'ConnSched change profile title' => 'Cambiar a perfil:', 'ConnSched days' => 'Días:', 'ConnSched down' => 'Abajo', -'ConnSched ipsecstart' => '(Re)iniciarIPSec', -'ConnSched ipsecstop' => 'Detener IPSec', +'ConnSched ipsecstart' => '(Re)iniciarIPsec', +'ConnSched ipsecstop' => 'Detener IPsec', 'ConnSched reconnect' => 'Reconectar', 'ConnSched scheduled actions' => 'Acciones planificadas', 'ConnSched scheduler' => 'Planificador', @@ -90,7 +90,6 @@ 'admin user password has been changed' => 'El password del usuario Admin ha cambiado', 'admin users' => 'Usuario con niveles de superusuario (root)', 'administrator user password' => 'Contraseña del usuario Admin:', -'adsl settings' => 'Configuraciones ADSL', 'advanced' => 'Avanzadas', 'advanced server' => 'Opciones avanzadas de servidor', 'advproxy AUTH always required' => 'Se necesita autentificación para acceso irrestricto de direcciones de orígen', @@ -349,6 +348,7 @@ 'are you sure' => '¿Esta seguro?', 'arp table entries' => 'Tabla de entradas ARP:', 'artist' => 'Artista', +'atm settings' => 'Configuraciones ATM', 'attemps' => 'Intentos', 'august' => 'Agosto', 'authentication' => 'Autenticación', diff --git a/langs/fr/cgi-bin/fr.pl b/langs/fr/cgi-bin/fr.pl index 9f2e7857ef..84e15a82bb 100644 --- a/langs/fr/cgi-bin/fr.pl +++ b/langs/fr/cgi-bin/fr.pl @@ -16,8 +16,8 @@ 'ConnSched change profile title' => 'Changer de profil :', 'ConnSched days' => 'Jours :', 'ConnSched down' => 'Arrêt', -'ConnSched ipsecstart' => 'IPSec (re)démarrage', -'ConnSched ipsecstop' => 'IPSec arrêt', +'ConnSched ipsecstart' => 'IPsec (re)démarrage', +'ConnSched ipsecstop' => 'IPsec arrêt', 'ConnSched reconnect' => 'Reconnecter', 'ConnSched scheduled actions' => 'Actions planifiées', 'ConnSched scheduler' => 'Planificateur', @@ -92,7 +92,6 @@ 'admin user password has been changed' => 'Le mot de passe admin a été changé.', 'admin users' => 'Utilisateur avec droits super-utilisateur', 'administrator user password' => 'Mot de passe de l\'administrateur:', -'adsl settings' => 'Réglages ADSL', 'advanced' => 'Avancé', 'advanced server' => 'Options avancées du serveur', 'advproxy AUTH always required' => 'Exige l\'authentification pour un accès sans restriction des adresses sources', @@ -351,6 +350,7 @@ 'are you sure' => 'Etes vous sûr ?', 'arp table entries' => 'Table d\'entrées ARP:', 'artist' => 'Artiste', +'atm settings' => 'Réglages ATM', 'attemps' => 'Tentatives', 'august' => 'Août', 'authentication' => 'Authentification :', diff --git a/langs/nl/cgi-bin/nl.pl b/langs/nl/cgi-bin/nl.pl index 43d76ebf53..767f93b95d 100644 --- a/langs/nl/cgi-bin/nl.pl +++ b/langs/nl/cgi-bin/nl.pl @@ -15,13 +15,17 @@ 'ConnSched add action' => 'Voeg actie toe', 'ConnSched change profile title' => 'Gebruik profiel:', 'ConnSched days' => 'Dagen:', +'ConnSched dial' => 'Verbind', 'ConnSched down' => 'Omlaag', -'ConnSched ipsecstart' => 'IPSec (her)starten', -'ConnSched ipsecstop' => 'IPSec stoppen', +'ConnSched hangup' => 'Verbreek', +'ConnSched ipsecstart' => 'IPsec (her)starten', +'ConnSched ipsecstop' => 'IPsec stoppen', +'ConnSched reboot' => 'Herstarten', 'ConnSched reconnect' => 'Opnieuw verbinden', 'ConnSched scheduled actions' => 'Ingeplande acties', 'ConnSched scheduler' => 'Scheduler', 'ConnSched select profile' => 'Selecteer profiel', +'ConnSched shutdown' => 'Afsluiten', 'ConnSched time' => 'Tijd:', 'ConnSched up' => 'Omhoog', 'ConnSched weekdays' => 'Dagen van de week:', @@ -33,13 +37,15 @@ 'Level7 Rule' => 'Level7-Regel', 'Level7 rule' => 'Level7 regel', 'Local VPN IP' => 'Intern Netwerk (GROEN):', +'MB read' => 'MB gelezen', +'MB written' => 'MB geschreven', 'MTU' => 'MTU grootte:', 'Number of IPs for the pie chart' => 'Aantal IPs voor de taartdiagram', 'Number of Ports for the pie chart' => 'Aantal poorten voor de taartdiagram', 'OVPN' => 'OpenVPN', 'OpenVPN' => 'OpenVPN', 'Pages' => 'Pagina\'s', -'Ping' => 'Ping:', +'Ping' => 'Ping :', 'Port Rule' => 'Poort-Regel', 'QoS not enabled' => 'QoS is niet ingeschakeld!', 'Queuelenght' => 'Wachtrijlengte', @@ -89,10 +95,10 @@ 'add xtaccess' => 'Voeg een externe toegang toe', 'add-route' => 'Extra push route', 'added from dhcp lease list' => 'Toegevoegd van DHCP lease-lijst.', +'addons' => 'Toevoegingen', 'admin user password has been changed' => 'Beheerderswachtwoord is gewijzigd.', 'admin users' => 'Gebruiker met beheerdersrechten.', 'administrator user password' => 'Beheerderswachtwoord:', -'adsl settings' => 'ADSL instellingen', 'advanced' => 'Geavanceerd', 'advanced server' => 'Geavanceerde server opties', 'advproxy AUTH always required' => 'Authenticatie vereist voor ongelimiteerde bronadressen.', @@ -187,6 +193,7 @@ 'advproxy banned mac clients' => 'Verboden MAC-adressen (een per regel)', 'advproxy cache management' => 'Cache beheer', 'advproxy cache replacement policy' => 'Cache vervangingsbeleid', +'advproxy cache-digest' => 'Inschakelen Cache-Digest Generation', 'advproxy chgwebpwd ERROR' => 'F O U T :', 'advproxy chgwebpwd SUCCESS' => 'S U C C E S V O L :', 'advproxy chgwebpwd change password' => 'Wijzig wachtwoord', @@ -243,6 +250,7 @@ 'advproxy errmsg password length 1' => 'Wachtwoord moet tenminste ', 'advproxy errmsg password length 2' => ' tekens bevatten', 'advproxy errmsg passwords different' => 'Wachtwoorden zijn niet gelijk', +'advproxy errmsg proxy ports equal' => 'De proxy poort en de transparante poort kunnen niet gelijk zijn.', 'advproxy errmsg radius port' => 'Ongeldig RADIUS poortnummer', 'advproxy errmsg radius secret' => 'RADIUS gedeeld geheim vereist', 'advproxy errmsg radius server' => 'Ongeldig IP-adres voor RADIUS server', @@ -280,6 +288,7 @@ 'advproxy on' => 'Proxy aan', 'advproxy privacy' => 'Privacy', 'advproxy proxy port' => 'Proxy poort', +'advproxy proxy port transparent' => 'Transparante poort', 'advproxy ram cache size' => 'Geheugen cache-grootte (MB)', 'advproxy redirector children' => 'Aantal filterprocessen', 'advproxy reset' => 'Reset', @@ -323,6 +332,11 @@ 'advproxy web browser' => 'Webbrowser', 'advproxy wednesday' => 'Woe', 'again' => 'Nogmaals:', +'age second' => 'seconde', +'age seconds' => 'seconden', +'age shour' => 'uur', +'age sminute' => 'min', +'age ssecond' => 'sec', 'aktiv' => 'Actief', 'album' => 'Album', 'alcatelusb help' => 'Om gebruik te kunnen maken van de SpeedTouch 330 of SpeedTouch USB modem moet u eerst de firmware naar uw IPFire machine uploaden. U kunt de Embedded Firmware voor de SpeedTouch 330 downloaden van speedtouch.com. Pak het uit en upload het juiste bestand naar uw modem: KQD6_3.xxx als Rev<4 of ZZZL_3.xxx, voor Rev=4 gebruik het formulier hieronder.', @@ -353,6 +367,7 @@ 'are you sure' => 'Weet u het zeker?', 'arp table entries' => 'ARP Tabelingangen:', 'artist' => 'Artiest', +'atm settings' => 'ATM instellingen', 'attemps' => 'Pogingen', 'attention' => 'LET OP', 'august' => 'Augustus', @@ -408,6 +423,7 @@ 'behind a proxy' => 'Achter een proxy:', 'bewan adsl pci st' => 'WORDT VERWIJDERD', 'bewan adsl usb' => 'WORDT VERWIJDERD', +'bit' => 'Bit', 'bitrate' => 'Bitsnelheid', 'bleeding rules' => 'Nieuwste Snort regels', 'blue' => 'BLAUW', @@ -490,6 +506,8 @@ 'ccd err iroute' => 'Netwerkadres voor route is ongeldig.', 'ccd err irouteexist' => 'Deze route is al in gebruik.', 'ccd err isipsecnet' => 'Het gegeven subnet-adres is al in gebruik door een IPsec netwerk.', +'ccd err isipsecrw' => 'Het gegeven subnet-adres is al in gebruik door het IPsec rw netwerk.', +'ccd err isovpnn2n' => 'The subnet address is already in use for an OpenVPN net-to-net connection.', 'ccd err isovpnnet' => 'Subnet-adres is al in gebruik voor OpenVPN Server.', 'ccd err issubnet' => 'Subnet-adres is al in gebruik.', 'ccd err name' => 'Kies een naam.', @@ -503,6 +521,7 @@ 'ccd hint' => 'Op deze pagina kunt u statische netwerken definiëren vanwaar de roadwarrior clients vaste IP-adressen toegewezen kunnen krijgen.', 'ccd invalid' => 'Ongeldig.', 'ccd iroute' => 'IPFire heeft toegang tot deze netwerken aan de klant-site.', +'ccd iroute2' => 'Client heeft toegang tot deze netwerken op IPFire\'s site', 'ccd iroutehint' => 'Attentie! Als u deze instellingen wijzigt, moet u de OpenVPN server herstarten om deze instellingen actief te laten worden!', 'ccd modify' => 'Wijzig netwerk', 'ccd name' => 'Naam', @@ -574,7 +593,11 @@ 'could not open installed updates file' => 'Kan het geïnstalleerde update-bestand niet openen.', 'could not open update information file' => 'Kan het update informatiebestand niet openen. Het update-bestand is beschadigd.', 'could not retrieve common name from certificate' => 'Kan de gemeenschappelijke naam van het certificaat niet bepalen.', +'count' => 'Aantal', +'countries' => 'Landen', 'country' => 'Land', +'country codes and flags' => 'Landcodes en vlaggen:', +'countrycode' => 'Code', 'cpu frequency per' => 'CPU frequentie per', 'cpu idle usage' => 'Idle CPU gebruik', 'cpu interrupt usage' => 'Interrupt CPU gebruik', @@ -626,10 +649,12 @@ 'ddns noip prefix' => 'Om no-ip in groepsmodus te gebruiken, zet % voor de hostnaam', 'deactivate' => 'deactiveer', 'deactivate user' => 'deactiveer gebruiker', +'dead peer detection' => 'Dode Peer-detectie', 'debugme' => 'Nog niet geïmplementeerd', 'december' => 'December', 'deep scan directories' => 'Scan recursief', 'def lease time' => 'Standaard leasetijd', +'default ip' => 'Standaard IP adres', 'default lease time' => 'Standaard leasetijd (min.):', 'default networks' => 'Standaard netwerken', 'default renewal time' => 'Standaard vernieuwtijd', @@ -653,6 +678,7 @@ 'destination port numbers' => 'Bestemmingspoort moet een geldig poortnummer of poortreeks zijn.', 'destination port overlaps' => 'Bestemming-poortreeks overlapt een bestaande poortreeks.', 'detail level' => 'Detailniveau', +'details' => 'Details', 'device' => 'Apparaat', 'devices on blue' => 'Apparaten op BLAUW', 'dhcp advopt add' => 'Voeg een DHCP optie toe', @@ -711,6 +737,7 @@ 'dmz pinhole rule added' => 'DMZ pinhole regel toegevoegd; DMZ regel wordt herstart.', 'dmz pinhole rule removed' => 'DMZ pinhole regel verwijderd; DMZ wordt herstart', 'dmzpinholes for same net not necessary' => 'DMZ Pinholes zijn niet per se nodig voor hetzelfde net. Selecteer verschillende bron- of bestemmings-net.', +'dnat address' => 'Firewallinterface', 'dns address deleted' => 'Succesvol verwijderd!', 'dns address deleted txt' => 'De DNS-Server adressen zijn succesvol verwijderd.
U moet herstarten of opnieuw verbinden om de wijzigingen actief te laten worden!', 'dns address done' => 'De DNS-server adresinstellingen zullen worden opgeslagen.', @@ -730,7 +757,14 @@ 'dns saved txt' => 'De twee ingevoerde DNS serveradressen zijn succesvol opgeslagen.
U moet herstarten of opnieuw verbinden om de wijzigingen actief te laten worden!', 'dns server' => 'DNS Server', 'dns title' => 'Domein Naam Systeem', -'do not log this port list' => 'Negeer deze poorten voordat ze worden gelogd (vermindert loggrootte)', +'dnsforward' => 'DNS Forwarding', +'dnsforward add a new entry' => 'Voeg een nieuwe regel toe', +'dnsforward configuration' => 'DNS forward configuratie', +'dnsforward edit an entry' => 'Wijzig een bestaande regel', +'dnsforward entries' => 'Huidige regels', +'dnsforward forward_server' => 'Naamserver', +'dnsforward zone' => 'Zone', +'do not log this port list' => 'Negeer deze poortlijst voordat deze wordt gelogd (beperkt grootte logbestand)', 'dod' => 'Inbellen op afroep', 'dod for dns' => 'Inbellen op afroep voor DNS:', 'dod not compatible with ddns' => 'Inkiezen op afroep compatibel met de dynamische DNS Diesten', @@ -746,6 +780,7 @@ 'done' => 'Doe het', 'dos charset' => 'DOS tekenset', 'down and up speed' => 'Voer uw down- en uploadsnelheid in
en klik dan op Opslaan.', +'downlink' => 'Downlink', 'downlink speed' => 'Downlink snelheid (kbit/sec)', 'downlink std class' => 'downlink standaard klasse', 'download' => 'download', @@ -756,7 +791,13 @@ 'download pkcs12 file' => 'Download PKCS12 bestand', 'download root certificate' => 'Download root certificaat', 'dpd action' => 'Dead peer-detectie actie', +'dpd delay' => 'Vertraging', +'dpd timeout' => 'Timeout', 'driver' => 'Driver', +'drop action' => 'Standaard gedrag van (forward) firewall in mode "Geblokkeerd"', +'drop action1' => 'Standaard gedrag van (uitgaande) firewall in mode "Geblokkeerd"', +'drop action2' => 'Standaard gedrag van (input) firewall', +'drop forward' => 'Log geblokkeerde forward packetten', 'drop input' => 'Log geblokkeerde input pakketten', 'drop newnotsyn' => 'Log geblokkeerde new-not-syn pakketten', 'drop output' => 'Log geblokkeerde output pakketten', @@ -805,9 +846,12 @@ 'enabledtitle' => 'Ingeschakeld', 'encapsulation' => 'Inkapseling', 'encrypted' => 'Gecodeerd', +'encryption' => 'Codering:', 'end address' => 'Eindadres:', 'enter ack class' => 'Voer de ACK-klasse in
en klik dan op Opslaan.', 'enter data' => 'Maak uw instellingen
en klik dan op Opslaan.', +'entropy' => 'Entropy', +'entropy graphs' => 'Entropy grafieken', 'err bk 1' => 'Fout bij aanmaken van archief', 'err bk 10 password' => 'Fout met het back-up wachtwoord', 'err bk 2 key' => 'Fout bij het aanmaken van een sleutelbestand', @@ -885,14 +929,18 @@ 'firewall logs' => 'Firewall Logs', 'firewall logs ip' => 'Fw-Logdgrafieken (IP)', 'firewall logs port' => 'Fw-Loggrafieken (Poort)', +'firewall rules' => 'Firewallregels', 'firewallhits' => 'firewalltreffers', 'firmware' => 'Firmware', 'firmware upload' => 'Upload Firmware/Drivers', +'first' => 'Eerste', 'fixed ip lease added' => 'Vast IP-lease toegevoegd', 'fixed ip lease modified' => 'Vast IP-lease gewijzigd', 'fixed ip lease removed' => 'Vast IP-lease verwijderd', +'flag' => 'Vlag', 'force update' => 'Forceer update', 'force user' => 'forceer alle nieuwe bestanden naar de gebruiker', +'forward firewall' => 'Firewall', 'forwarding rule added' => 'Forwarding regel toegevoegd; herstarten van forwarder', 'forwarding rule removed' => 'Forwarding regel verwijderd; herstarten van forwarder', 'forwarding rule updated' => 'Forwarding regel bijgewerkt; herstarten van forwarder', @@ -910,7 +958,190 @@ 'from email user' => 'Van e-mail gebruiker', 'from warn email bad' => 'Het van e-mailadres is niet geldig', 'fw blue' => 'Firewallopties voor de BLAUWE interface', +'fw default drop' => 'Firewallbeleid', 'fw logging' => 'Firewall logging', +'fw settings' => 'Firewall instellingen', +'fw settings color' => 'Toon gekleurde regels in tabel', +'fw settings dropdown' => 'Toon alle netwerken op omgeving van aangemaakte regels', +'fw settings remark' => 'Toon opmerkingen in tabel', +'fw settings ruletable' => 'Toon lege tabellen', +'fwdfw ACCEPT' => 'ACCEPTEER', +'fwdfw DROP' => 'BLOKKEER', +'fwdfw MODE1' => 'Blokeer alle pakketten', +'fwdfw MODE2' => 'Accepteer alle pakketten', +'fwdfw REJECT' => 'WEIGER', +'fwdfw action' => 'Actie', +'fwdfw additional' => 'Extra instellingen', +'fwdfw addrule' => 'Voeg toe/Wijzig regel:', +'fwdfw all icmp' => 'Alle ICMP types', +'fwdfw change' => 'Bijwerken', +'fwdfw copy' => 'Kopiëer', +'fwdfw delete' => 'Verwijder', +'fwdfw dnat' => 'Bestemmings-NAT (Poort forwarding)', +'fwdfw dnat error' => 'U kunt slechts één host selecteren voor DNAT. Groepen of netwerken zijn niet toegestaan.', +'fwdfw dnat extport' => 'De externe poort moet leeg zijn wanneer bron-NAT regels worden gebruikt.', +'fwdfw dnat nochoice' => 'Kies een bron-NAT of bestemmings-NAT adres uit de NAT-sectie.', +'fwdfw dnat porterr' => 'U moet een enkele poort of poortreeks (tcp/udp) selecteren voor NAT', +'fwdfw dnat porterr2' => 'Kan geen externe poort (NAT) gebruiken als er geen bestemmingspoort is gedefiniëerd.', +'fwdfw edit' => 'Wijzigen', +'fwdfw err nosrc' => 'Geen bron geselecteerd.', +'fwdfw err nosrcip' => 'Geef a.u.b. het bron IP adres.', +'fwdfw err notgt' => 'Geen bestemming geselecteerd.', +'fwdfw err notgtip' => 'Geef a.u.b. een bestemmings IP adres.', +'fwdfw err prot_port' => 'Bron- of doelpoort zijn niet toegestaan met het geselecteerde protocol', +'fwdfw err prot_port1' => 'Als een bron- of doelpoort wordt gebruikt, moet het TCP of UDP protocol worden geselecteerd.', +'fwdfw err remark' => 'Ongeldige tekens in opmerking.', +'fwdfw err ruleexists' => 'Deze regel bestaat al.', +'fwdfw err same' => 'Bron en bestemming zijn gelijk.', +'fwdfw err samesub' => 'Bron- en bestemmings IP adres zitten in hetzelfde subnet.', +'fwdfw err src_addr' => 'Ongeldig bron MAC/IP adres.', +'fwdfw err tgt_addr' => 'Ongeldig bestemmings IP adres.', +'fwdfw err tgt_grp' => 'De bestemmings servicegroep is leeg', +'fwdfw err tgt_mac' => 'Een MAC adres kan niet worden gebruikt als bestemming.', +'fwdfw err tgt_port' => 'Ongeldige bestemmingspoort.', +'fwdfw err time' => 'U moet tenminste één dag selecteren.', +'fwdfw external port nat' => 'Externe poort (NAT)', +'fwdfw final_rule' => 'Laatste regel: ', +'fwdfw from' => 'Van:', +'fwdfw hint ip1' => 'De laatst gegenereerde regel mag nooit overeenkomen, omdat bron- en bestemmingssubnet kunnen overlappen.', +'fwdfw hint ip2' => 'Controleer of deze regel juist is: ', +'fwdfw hint mac' => 'De bestemmingsgroep bevat MAC adressen; deze zullen worden overgeslagen tijdens het aanmaken van de regels.', +'fwdfw iface' => 'Interface', +'fwdfw ipsec network' => 'IPsec netwerken:', +'fwdfw log' => 'Log', +'fwdfw log rule' => 'Log regel', +'fwdfw man port' => 'Poort(en):', +'fwdfw many' => 'Meerdere', +'fwdfw menu' => 'Firewall', +'fwdfw movedown' => 'Omlaag', +'fwdfw moveup' => 'Omhoog', +'fwdfw natport used' => 'De gegeven poort voor NAPT is al in gebruik door een andere DNAT regel.', +'fwdfw newrule' => 'Nieuwe regel', +'fwdfw p2p txt' => 'Toestaan/Verbieden toegang tot P2P netwerken.', +'fwdfw pol allow' => 'Toegestaan', +'fwdfw pol block' => 'Geblokkeerd', +'fwdfw pol text' => 'Stel het standaard gedrag in voor verbindingen van lokale netwerken. U kunt alle verbindingen standaard toestaan of blokkeren. Verbindingen tussen lokale netwerken zijn tevens geblokeerd in de laatst genoemde modus.', +'fwdfw pol text1' => 'Stel het standaard gedrag in voor verbindingen die door de firewall zelf zijn geïnitieerd. Let op! U kunt uzelf hiermee buiten sluiten.', +'fwdfw pol title' => 'Standaard firewall gedrag', +'fwdfw prot41' => 'IPv6 Encapsulation (Protocol 41)', +'fwdfw prot41 short' => 'IPv6 Encap', +'fwdfw red' => 'RED', +'fwdfw reread' => 'Wijzigingen toepassen', +'fwdfw rule action' => 'Regel actie:', +'fwdfw rule activate' => 'Activeer regel', +'fwdfw rulepos' => 'Regel positie', +'fwdfw rules' => 'Regels', +'fwdfw snat' => 'Bron NAT', +'fwdfw source' => 'Bron', +'fwdfw sourceip' => 'Bronadres (MAC/IP adres of netwerk):', +'fwdfw std network' => 'Standaard netwerken:', +'fwdfw target' => 'Bestemming', +'fwdfw targetip' => 'Bestemmingsadres (IP adres of netwerk):', +'fwdfw till' => 'Tot:', +'fwdfw time' => 'Tijdvak', +'fwdfw timeframe' => 'Gebruik tijdvakken', +'fwdfw toggle' => 'Activeer of deactiveer', +'fwdfw togglelog' => 'Activeer of deactiveer logging', +'fwdfw use nat' => 'Gebruik Netwerk Adres Translatie (NAT)', +'fwdfw use srcport' => 'Bronpoort:', +'fwdfw use srv' => 'Bestemmingspoort:', +'fwdfw useless rule' => 'Deze regel kan niet gebruikt worden.', +'fwdfw warn1' => 'Dit kan leiden tot firewallregels die worden toegepast op netwerken waar ze niet voor bedoeld zijn.', +'fwdfw wd_fri' => 'Vri', +'fwdfw wd_mon' => 'Maa', +'fwdfw wd_sat' => 'Zat', +'fwdfw wd_sun' => 'Zon', +'fwdfw wd_thu' => 'Don', +'fwdfw wd_tue' => 'Din', +'fwdfw wd_wed' => 'Woe', +'fwdfw xt access' => 'Input', +'fwhost Custom Host' => 'Host', +'fwhost Custom Network' => 'Netwerk', +'fwhost IpSec Host' => 'IPsec host', +'fwhost IpSec Network' => 'IPsec netwerk', +'fwhost OpenVPN N-2-N' => 'OpenVPN Net-to-Net', +'fwhost OpenVPN static host' => 'OpenVPN statische host', +'fwhost OpenVPN static network' => 'OpenVPN statisch netwerk', +'fwhost Standard Network' => 'Standaard netwerk', +'fwhost addgrp' => 'Voeg nieuw netwerk/host groep toe', +'fwhost addgrpname' => 'Groepnaam:', +'fwhost addhost' => 'Nieuwe host toevoegen', +'fwhost addnet' => 'Nieuw netwerk toevoegen', +'fwhost addservice' => 'Nieuwe dienst toevoegen', +'fwhost addservicegrp' => 'Nieuwe dienstgroep toevoegen', +'fwhost any' => 'Elke', +'fwhost attention' => 'LET OP', +'fwhost back' => 'Terug', +'fwhost blue' => 'Blauw', +'fwhost ccdhost' => 'OpenVPN clients:', +'fwhost ccdnet' => 'OpenVPN netwerken:', +'fwhost change' => 'Wijzigen', +'fwhost changeremark' => 'U hebt de opmerking aangepast', +'fwhost cust addr' => 'Hosts', +'fwhost cust grp' => 'Netwerk/Host Groepen', +'fwhost cust net' => 'Netwerken', +'fwhost cust service' => 'Diensten', +'fwhost cust srvgrp' => 'Dienstengroepen', +'fwhost deleted' => 'Verwijderd', +'fwhost empty' => 'Geen regels gedefinieerd', +'fwhost err addr' => 'Ongeldig IP adres of subnet', +'fwhost err addrgrp' => 'Geef a.u.b. een groepnaam op', +'fwhost err empty' => 'Vul a.u.b. alle invoervelden in', +'fwhost err emptytable' => 'Er zijn geen regels in deze groep', +'fwhost err groupempty' => 'De geselecteerde groep is leeg', +'fwhost err grpexist' => 'Een groep met dezelfde naam bestaat al', +'fwhost err hostexist' => 'Een host met dezelfde naam bestaat al', +'fwhost err hostorip' => 'Ongeldige naam of IP adres', +'fwhost err ip' => 'Ongeldig IP adres', +'fwhost err ipcheck' => 'Dit IP adres is al in gebruik', +'fwhost err ipmac' => 'Ongeldig IP/MAC adres', +'fwhost err ipwithsub' => 'Geef a.u.b. alleen een IP adres (zonder subnetmasker)', +'fwhost err isccdhost' => 'Deze naam is al in gebruik door een OpenVPN client verbinding', +'fwhost err isccdiphost' => 'Dit IP adres is al in gebruik door een OpenVPN client verbinding', +'fwhost err isccdipnet' => 'Dit IP adres is al in gebruik door een OpenVPN netwerk verbinding', +'fwhost err isccdnet' => 'Deze naam is al in gebruik door een OpenVPN netwerk', +'fwhost err isingrp' => 'Deze regel bestaat al in de groep', +'fwhost err mac' => 'Ongeldig MAC adres', +'fwhost err maxservicetcp' => 'Het maximale aantal van 15 TCP diensten is bereikt in deze groep (poortreeksen tellen dubbel)', +'fwhost err maxserviceudp' => 'Het maximale aantal van 15 UDP diensten is bereikt in deze groep (poortreeksen tellen dubbel)', +'fwhost err name' => 'Ongeldige naam. Toegestane tekens: hoofd- en kleine letters, cijfers, spatie en min-teken.', +'fwhost err name1' => 'Geen naam gegeven.', +'fwhost err net' => 'Netwerk/IP adres bestaat al', +'fwhost err netexist' => 'Een netwerk met dezelfde naam bestaat al', +'fwhost err partofnet' => 'Het netwerk is een subnet van een bestaand netwerk.', +'fwhost err port' => 'Geen poort gegeven', +'fwhost err remark' => 'Ongeldige opmerking. Toegestane tekens: hoofd- en kleine letters, cijfers, spatie, min-teken, accolades, puntkomma, vertikale streep en punt.', +'fwhost err srv exists' => 'Een dienst met dezelfde naam bestaat al', +'fwhost err srvexist' => 'Deze dienst bestaat al in de groep', +'fwhost err sub32' => 'Geef a.u.b. een enkele hostnaam op, geen netwerk.', +'fwhost green' => 'Groen', +'fwhost hint' => 'Notitie', +'fwhost hosts' => 'Firewall Hosts', +'fwhost icmptype' => 'ICMP type:', +'fwhost ip_mac' => 'IP/MAC adres', +'fwhost ipadr' => 'IP adres:', +'fwhost ipsec host' => 'IPsec clients:', +'fwhost ipsec net' => 'IPsec netwerken:', +'fwhost menu' => 'Firewallgroepen', +'fwhost netaddress' => 'Netwerkadressen', +'fwhost newgrp' => 'Netwerk/Host Groepen', +'fwhost newhost' => 'Hosts', +'fwhost newnet' => 'Netwerken', +'fwhost newservice' => 'Diensten', +'fwhost newservicegrp' => 'Dienstgroepen', +'fwhost orange' => 'Oranje', +'fwhost ovpn_n2n' => 'OpenVPN Net-to-Net', +'fwhost port' => 'Poort(en)', +'fwhost prot' => 'Protocol', +'fwhost reread' => 'Firewallregels moeten bijgewerkt worden.', +'fwhost reset' => 'Annuleren', +'fwhost services' => 'Diensten:', +'fwhost srv_name' => 'Dienstnamen', +'fwhost stdnet' => 'Standaard netweken:', +'fwhost type' => 'Type', +'fwhost used' => 'Gebruikt', +'fwhost welcome' => 'Hier kunt u enkele hosts, netwerken en diensten groeperen, waarmee nieuwe regels sneller aangemaakt kunnen worden.', +'fwhost wo subnet' => '(zonder subnet)', 'g.dtm' => 'WORDT VERWIJDERD', 'g.lite' => 'WORDT VERWIJDERD', 'gateway' => 'Gateway', @@ -936,6 +1167,7 @@ 'graph per' => 'per', 'green' => 'GROEN', 'green interface' => 'Groene Interface', +'grouptype' => 'Groeptype:', 'guaranteed bandwith' => 'Gegarandeerde bandbreedte', 'guardian alertfile' => 'Meldingenbestand', 'guardian configuration' => 'Guardian configuratie', @@ -951,6 +1183,7 @@ 'harddisk temperature' => 'Harddisk temperatuur', 'harddisk temperature graphs' => 'hdd temperatuurgrafieken', 'hardware graphs' => 'Hardware grafieken', +'hardware support' => 'Hardware ondersteuning', 'hdd temperature in' => 'Harddisk temperatuur in', 'help' => 'Help', 'high' => 'Hoog', @@ -1002,6 +1235,7 @@ 'inactive' => 'inactief', 'include logfiles' => 'Inclusief logbestanden', 'incoming' => 'inkomend', +'incoming firewall access' => 'Inkomende firewalltoegang', 'incoming traffic in bytes per second' => 'Inkomend verkeer', 'incorrect password' => 'Onjuist wachtwoord', 'info' => 'Info', @@ -1013,6 +1247,7 @@ 'installed' => 'Geïnstalleerd', 'installed updates' => 'Geïnstalleerde updates:', 'instant update' => 'Directe update', +'integrity' => 'Integriteit:', 'interface' => 'Interface', 'interfaces' => 'Interfaces', 'internet' => 'INTERNET', @@ -1040,6 +1275,8 @@ 'invalid input for dhcp dns' => ' Ongeldige invoer voor DHCP DNS', 'invalid input for dhcp domain' => ' Ongeldige invoer voor DHCP domein', 'invalid input for dhcp wins' => ' Ongeldige invoer voor DHCP WINS', +'invalid input for dpd delay' => 'Ongeldige invoer voor DPD vertraging', +'invalid input for dpd timeout' => 'Ongeldige invoer voor DPD timeout', 'invalid input for e-mail address' => ' Ongeldige invoer voor e-mailadres.', 'invalid input for esp keylife' => ' Ongeldige invoer voor ESP sleutel levensduur', 'invalid input for hostname' => ' Ongeldige invoer voor hostnaam.', @@ -1096,6 +1333,9 @@ 'ipfire side is invalid' => 'IPFire-zijde is ongeldig.', 'ipfires hostname' => 'IPFire\'s Hostnaam', 'ipinfo' => 'IP info', +'ipsec' => 'IPsec', +'ipsec network' => 'IPsec netwerk', +'ipsec no connections' => 'Geen actieve IPsec verbindingen', 'iptable rules' => 'IPTable regels', 'iptmangles' => 'IPTable Mangles', 'iptnats' => 'IPTable Network Adrestranslatie', @@ -1118,11 +1358,14 @@ 'lan' => 'LAN', 'lang' => 'nl', 'languagepurpose' => 'Selecteer de taal die u wilt gebruiken voor IPFire:', +'last' => 'Laatste', 'last activity' => 'Laatste activiteit', 'lateprompting' => 'Laat-prompting', 'lease expires' => 'Lease verloopt', +'least preferred' => 'Minste voorkeur', 'legend' => 'Legenda', 'length' => 'Lengte', +'lifetime' => 'Levensduur:', 'line' => 'Lijn', 'linkq' => 'Lijnkwaliteit', 'load printer' => 'Laad printer', @@ -1180,6 +1423,7 @@ 'mac address saved txt' => 'Het MAC-adres is succesvol opgeslagen, maar de wijzigingen worden pas actief na een herstart of opnieuw verbinden.', 'mac address title' => 'Medium Access Control Adres', 'mac desc' => 'Hier kunt u het MAC-adres van red0 wijzigen. Het adres moet in hexadecimale waarden (0-9,a-f) ingevoerd worden,
bijv. 00-01-02-0e-b8-d6 of 00:01:02:0e:b8:d6.', +'mac filter' => 'MAC filter', 'mac new' => 'nieuw MAC-adres:', 'mac1 new' => 'nieuw MAC-adres 1 (vdsl-inet):', 'mac2 new' => 'nieuw MAC-adres 2 (vdsl-iptv):', @@ -1206,6 +1450,7 @@ 'max size' => 'Max. objectgrootte (KB):', 'max throughput' => 'Maximum doorvoersnelheid', 'maximal' => 'Maximaal', +'maximum' => 'Maximum', 'maximum retries' => 'Maximum aantal pogingen:', 'may' => 'Mei', 'mbmon display' => 'Display', @@ -1231,6 +1476,7 @@ 'min delay' => 'Minimum vertraging', 'min size' => 'Min. objectgrootte (KB):', 'minimal' => 'Minimaal', +'minimum' => 'Minimum', 'minute' => 'Minuut', 'minutes' => 'Minuten', 'misc-options' => 'Overige opties', @@ -1259,6 +1505,7 @@ 'monthly volume start day short' => 'Eerste dag', 'months' => 'maanden', 'more' => 'meer', +'most preferred' => 'Meeste voorkeur', 'mount' => 'Koppelen', 'mounted on' => 'Gekoppeld op', 'mpfire' => 'Mediaspeler voor IPFire', @@ -1314,6 +1561,7 @@ 'no eciadsl synch.bin file' => 'Geen ECI ADSL synch.bin bestand. Bestand uploaden a.u.b.', 'no filter pass' => 'Geef de standaard-klasse voor niet-gefilterde pakketten.', 'no fritzdsl driver' => 'Geen Fritz!DSL driver. Bestand uploaden a.u.b.', +'no hardware random number generator' => 'Dit systeem heeft geen mogelijkheden voor entropie.', 'no information available' => 'Geen informatie beschikbaar.', 'no log selected' => 'Geen log geselecteerd', 'no modem selected' => 'Geen modem geselecteerd', @@ -1328,6 +1576,7 @@ 'not running' => 'loopt niet', 'not set' => 'niet gezet', 'notes' => 'Notities', +'notice' => 'Opmerking', 'november' => 'November', 'ntp common settings' => 'Algemene instellingen', 'ntp configuration' => 'NTP configuratie', @@ -1360,6 +1609,7 @@ 'openvpn fragment allowed with udp' => 'Het gebruik van fragment is alleen toegestaan met het UDP protocol.', 'openvpn log' => 'OpenVPN Log', 'openvpn mssfix allowed with udp' => 'Het gebruik van "mssfix" is alleen toegestaan met het UDP protocol.', +'openvpn network' => 'OpenVPN netwerken', 'openvpn prefix local subnet' => 'Het gebruik van de prefix notatie wordt niet ondersteunt op het lokale subnet. Geef a.u.b. een ander subnetmasker zoals 255.255.255.0.', 'openvpn prefix openvpn subnet' => 'Het gebruik van de prefix notatie wordt niet ondersteund voor het OpenVPN subnet. Geef a.u.b. een ander subnetmasker zoals 255.255.255.0.', 'openvpn prefix remote subnet' => 'Het gebruik van de prefix notatie wordt niet ondersteund voor het remote subnet. Geef a.u.b. een ander subnetmasker zoals 255.255.255.0.', @@ -1387,6 +1637,7 @@ 'out' => 'Uit', 'outgoing' => 'uitgaand', 'outgoing firewall' => 'Uitgaande Firewall', +'outgoing firewall access' => 'Uitgaande firewalltoegang', 'outgoing firewall add ip group' => 'Toevoegen IP-adresgroep', 'outgoing firewall add mac group' => 'Toevoegen MAC-adresgroep', 'outgoing firewall edit ip group' => 'Wijzig IP-adresgroep', @@ -1417,6 +1668,7 @@ 'ovpn errmsg green already pushed' => 'Route voor het groene netwerk is altijd aangezet', 'ovpn errmsg invalid ip or mask' => 'Ongeldig netwerkadres of subnetmasker', 'ovpn log' => 'OVPN-Log', +'ovpn mgmt in root range' => 'Een poortnummer hoger dan 1024 is vereist.', 'ovpn mtu-disc' => 'Pad MTU Discovery', 'ovpn mtu-disc and mtu not 1500' => 'Pad MTU Discovery vereist een MTU van 1500.', 'ovpn mtu-disc maybe' => 'Optioneel', @@ -1424,10 +1676,12 @@ 'ovpn mtu-disc off' => 'Uitgeschakeld', 'ovpn mtu-disc with mssfix or fragment' => 'Pad MTU Discovery kan niet worden gebruikt met mssfix of fragment.', 'ovpn mtu-disc yes' => 'Geforceerd', +'ovpn no connections' => 'Geen actieve OpenVPN verbindingen', 'ovpn on blue' => 'OpenVPN op BLAUW', 'ovpn on orange' => 'OpenVPN op ORANJE', 'ovpn on red' => 'OpenVPN op ROOD', -'ovpn routes push' => 'Routes (een per regel):', +'ovpn port in root range' => 'Een poortnummer hoger dan 1024 is vereist.', +'ovpn routes push' => 'Routes (een per regel) bijv. 192.168.10.0/255.255.255.0 192.168.20.0/24', 'ovpn routes push options' => 'Route push opties', 'ovpn server status' => 'Huidige OpenVPN server status:', 'ovpn subnet' => 'OpenVPN subnet (bijv. 10.0.10.0/255.255.255.0)', @@ -1449,6 +1703,8 @@ 'ovpn_processprioVH' => 'Zeer hoog', 'ovpnstatus log' => 'OVPN-Status-Log', 'ovpnsys log' => 'OVPN-Systeem-Log', +'p2p block' => 'P2P netwerken', +'p2p block save notice' => 'De firewallregels moeten opnieuw geladen worden om uw wijzigingen actief te maken.', 'package failed to install' => 'Pakket kon niet worden geïnstalleerd.', 'pagerefresh' => 'Pagina wordt ververst, wacht even a.u.b.', 'pakfire accept all' => 'Wilt u alle pakketten installeren?', @@ -1551,6 +1807,7 @@ 'pulse' => 'Puls', 'pulse dial' => 'Pulskiezen:', 'qos add subclass' => 'Voeg sub-klasse toe', +'qos enter bandwidths' => 'U moet uw downstream- en upstream bandbreedte opgeven!', 'qos graphs' => 'QoS grafieken', 'qos warning' => 'De regel moet worden opgeslagen, anders zal het worden genegeerd!', 'quick control' => 'Quick controle', @@ -1569,6 +1826,7 @@ 'reconnect' => 'Opnieuw verbinden', 'reconnection' => 'Opnieuw verbinding', 'red' => 'Internet', +'red1' => 'ROOD', 'references' => 'Referenties', 'refresh' => 'Ververs', 'refresh index page while connected' => 'Ververs de index.cgi pagina terwijl verbonden', @@ -1699,6 +1957,7 @@ 'smbstop' => 'Stop samba', 'smtphost' => 'SMTP host', 'smtpport' => 'SMTP poort', +'snat new source ip address' => 'Nieuw bron IP adres', 'snort hits' => 'Totaal aantal inbraakregels geactiveerd voor', 'snort working' => 'Snort is bezig ... Wacht a.u.b. totdat alle handelingen succesvol zijn afgerond.', 'socket options' => 'Socket opties', @@ -1726,6 +1985,7 @@ 'srcprt range overlaps' => 'Bronpoortreeks overlapt met een al gedefinieerde poort.', 'srcprt within existing' => 'Bronpoort ligt binnen een al gedefinieerde poortreeks.', 'ssdmz pinholes' => 'DMZ Pinholes', +'ssh' => 'SSH', 'ssh access' => 'SSH toegang', 'ssh access tip' => 'IPFire SSH gebruikt niet de standaard poort 222!', 'ssh fingerprint' => 'Vingerafdruk', @@ -1774,10 +2034,13 @@ 'successfully refreshed updates list' => 'Lijst succesvol bijgewerkt.', 'summaries kept' => 'Bewaar samenvattingen voor', 'sunday' => 'Zondag', +'support donation' => 'Steun het IPFire project met uw donatie', 'swap' => 'Swap', 'swap usage per' => 'Swap gebruik per', 'system' => 'Systeem', 'system graphs' => 'Systeemgrafieken', +'system has hwrng' => 'Dit systeem heeft een hardware-generator voor willekeurige getallen.', +'system has rdrand' => 'Dit systeem ondersteunt Intel(R) RDRAND.', 'system information' => 'Systeeminformatie', 'system log viewer' => 'Systeem Log Viewer', 'system logs' => 'Systeem logs', @@ -1816,6 +2079,61 @@ 'tone' => 'Toon', 'tone dial' => 'Toonkiezen:', 'too long 80 char max' => ' is te lang, maximaal 80 tekens toegestaan', +'tor' => 'Tor', +'tor 0 = disabled' => '0 = uitgeschakeld', +'tor accounting' => 'Verbruik', +'tor accounting bytes' => 'Verkeer (lezen/schrijven)', +'tor accounting bytes left' => 'resterend', +'tor accounting interval' => 'Interval (UTC)', +'tor accounting limit' => 'Verbruikslimiet (MB)', +'tor accounting period' => 'Verbruik periode', +'tor accounting period daily' => 'dagelijks', +'tor accounting period monthly' => 'maandelijks', +'tor accounting period weekly' => 'weekelijks', +'tor acls' => 'Toegangscontrole', +'tor allowed subnets' => 'Toegestane subnetten (een per regel)', +'tor bandwidth burst' => 'Max. burst', +'tor bandwidth rate' => 'Max. snelheid', +'tor bandwidth settings' => 'Bandbreedte instellingen', +'tor bandwidth unlimited' => 'ongelimiteerd', +'tor bridge enabled' => 'Inschakelen Tor bridge', +'tor common settings' => 'Algemene instellingen', +'tor configuration' => 'Tor Configuratie', +'tor connected relays' => 'Verbonden relays', +'tor contact info' => 'Contact Info', +'tor daemon' => 'Daemon', +'tor directory port' => 'Directory poort', +'tor enabled' => 'Inschakelen Tor', +'tor errmsg invalid accounting limit' => 'Ongeldige verbruikslimiet', +'tor errmsg invalid directory port' => 'Ongeldige directory poort', +'tor errmsg invalid ip or mask' => 'Ongeldig IP subnet', +'tor errmsg invalid node id' => 'Ongeldige node ID', +'tor errmsg invalid relay address' => 'Ongeldig relay-adres', +'tor errmsg invalid relay name' => 'Ongeldige relay-nickname', +'tor errmsg invalid relay port' => 'Ongeldige relay-poort', +'tor errmsg invalid socks port' => 'Ongeldige SOCKS poort', +'tor exit country' => 'Land eindpunt', +'tor exit country any' => 'Ieder land', +'tor exit nodes' => 'Eindpunt nodes', +'tor relay address' => 'Relay-adres', +'tor relay configuration' => 'Tor relay-configuratie', +'tor relay enabled' => 'Inschakelen Tor Relay', +'tor relay external address' => 'Relay extern adres', +'tor relay fingerprint' => 'Relay-fingerprint', +'tor relay mode' => 'Relay-mode', +'tor relay mode bridge' => 'Bridge', +'tor relay mode exit' => 'Eindpunt-Node', +'tor relay mode private bridge' => 'Private bridge', +'tor relay mode relay' => 'Relay only', +'tor relay nickname' => 'Relay nickname', +'tor relay port' => 'Relay poort', +'tor service' => 'Tor dienst', +'tor socks port' => 'SOCKS poort', +'tor stats' => 'Statistieken', +'tor traffic limit hard' => 'Verkeerslimiet is bereikt.', +'tor traffic limit soft' => 'Verkeerslimiet bijna bereikt. Nieuwe verbindigen worden niet meer geaccepteerd.', +'tor traffic read written' => 'Totaal verkeer (lezen/schrijven)', +'tor use exit nodes' => 'Gebruik alleen deze eindpunt-nodes (een per regel)', 'total connection time' => 'Totale verbindingstijd', 'total hits for log section' => 'Totaal aantal treffers voor logsectie', 'traffic back' => 'Terug', @@ -1926,6 +2244,8 @@ 'updxlrtr source' => 'Bron', 'updxlrtr source checkup' => 'Broncontrole', 'updxlrtr source checkup schedule' => 'Broncontrole planning', +'updxlrtr sources' => 'Bronnen', +'updxlrtr standard view' => 'Standaard beeld', 'updxlrtr statistics' => 'Statistieken', 'updxlrtr statistics by source' => 'Statistieken per bron', 'updxlrtr summary' => 'Samenvatting', @@ -1936,11 +2256,13 @@ 'updxlrtr update accelerator' => 'Updateversneller', 'updxlrtr update information' => 'Er is een nieuwere versie beschikbaar voor download. Bezoek http://update-accelerator.advproxy.net voor meer informatie.', 'updxlrtr update notification' => 'Update notificatie!', +'updxlrtr used by' => 'Gebruikt door', 'updxlrtr web proxy service required' => 'Web proxy service moet ingeschakeld zijn om de updateversneller te kunnen gebruiken.', 'updxlrtr week' => 'een week', 'updxlrtr weekly' => 'wekelijks', 'updxlrtr year' => 'een jaar', 'upgrade' => 'upgrade', +'uplink' => 'Uplink', 'uplink speed' => 'Uplink snelheid (kbit/sec)', 'uplink std class' => 'uplink standaardklasse', 'upload' => 'Upload', @@ -1958,8 +2280,10 @@ 'upstream password' => 'Upstream wachtwoord:', 'upstream proxy host:port' => 'Upstream proxy (host:poort)', 'upstream username' => 'Upstream gebruikersnaam:', +'uptime' => 'Bedrijfstijd', 'uptime and users' => 'Bedrijfstijd en gebruikers:', -'url filter' => 'Inhoudsfilter', +'uptime load average' => 'Gemiddelde belasting', +'url filter' => 'URL filter', 'urlfilter access' => 'Toegang', 'urlfilter activity detection' => 'Activiteitsdetectie', 'urlfilter add new time constraint rule' => 'Voeg nieuwe tijdslimietregel toe', @@ -2084,6 +2408,7 @@ 'urlfilter quota restart message' => 'Noot: de tellers worden gereset voor alle gebruikers als het URL-filter wordt herstart', 'urlfilter quota time error' => 'Ongeldige waarde voor tijdsquotum', 'urlfilter quota user error' => 'Tenminste een gebruikersnaam is vereist', +'urlfilter redirect template' => 'Omleidingspagina template', 'urlfilter redirectpage' => 'Omleiden naar deze URL', 'urlfilter remove file' => 'Verwijder bestand uit repository', 'urlfilter renewal' => 'Vernieuwing', @@ -2177,7 +2502,7 @@ 'users department' => 'Gebruikersafdeling', 'users email' => 'E-mailadres gebruiker', 'users fullname or system hostname' => 'Volledige naam gebruiker of systeemnaam', -'valid root certificate already exists' => 'Een geldig root certificaat bestaat al.', +'valid root certificate already exists' => 'Er bestaat al een geldig root certificaat.', 'valid till' => 'Geldig tot', 'vci number' => 'VCI nummer:', 'view log' => 'bekijk log', @@ -2234,7 +2559,38 @@ 'wireless config added' => 'Draadloze configuratie toegevoegd', 'wireless config changed' => ' Draadloze configuratie gewijzigd', 'wireless configuration' => 'Draadloze configuratie', -'wlanap access point' => 'Access Point', +'wlan client' => 'Draadloze client', +'wlan client advanced settings' => 'Geavanceerde instellingen', +'wlan client and' => 'en', +'wlan client bssid' => 'BSSID', +'wlan client ccmp' => 'CCMP', +'wlan client configuration' => 'Draadloze client configuratie', +'wlan client disconnected' => 'Verbroken', +'wlan client duplicate ssid' => 'Bestaande SSID', +'wlan client edit entry' => 'Wijzig draadloze client configuratie', +'wlan client encryption' => 'Encryptie', +'wlan client encryption none' => 'Geen', +'wlan client encryption wep' => 'WEP', +'wlan client encryption wpa' => 'WPA', +'wlan client encryption wpa2' => 'WPA2', +'wlan client group cipher' => 'Group cipher', +'wlan client group key algorithm' => 'GKA', +'wlan client invalid key length' => 'Ongeldige sleutellengte.', +'wlan client new entry' => 'Maak nieuwe draadloze client configuratie', +'wlan client new network' => 'Nieuw netwerk', +'wlan client pairwise cipher' => 'Paargebonden cipher', +'wlan client pairwise key algorithm' => 'PKA', +'wlan client pairwise key group key' => 'Paargebonden sleutel/groep sleutel', +'wlan client psk' => 'Pre-shared sleutel', +'wlan client ssid' => 'SSID', +'wlan client tkip' => 'TKIP', +'wlan client wpa mode' => 'WPA mode', +'wlan client wpa mode all' => 'Auto', +'wlan client wpa mode ccmp ccmp' => 'CCMP-CCMP', +'wlan client wpa mode ccmp tkip' => 'CCMP-TKIP', +'wlan client wpa mode tkip tkip' => 'TKIP-TKIP', +'wlan clients' => 'Draadloze clients', +'wlanap access point' => 'Toegangspunt (AP)', 'wlanap channel' => 'Kanaal', 'wlanap country' => 'Landcode', 'wlanap debugging' => 'Debugging', diff --git a/langs/nl/install/lang_nl.c b/langs/nl/install/lang_nl.c index aa0fa2f017..cd43fc554c 100644 --- a/langs/nl/install/lang_nl.c +++ b/langs/nl/install/lang_nl.c @@ -588,9 +588,9 @@ char *nl_tr[] = { /* TR_DHCP_FORCE_MTU */ "Forceer DHCP mtu:", /* TR_IDENTIFY */ -"Identify", +"Identificeer", /* TR_IDENTIFY_SHOULD_BLINK */ -"Selected port should blink now ...", +"Geselecteerde poort zou nu moeten knipperen ...", /* TR_IDENTIFY_NOT_SUPPORTED */ -"Function is not supported by this port.", +"Functie wordt niet ondersteund door deze poort.", }; diff --git a/langs/pl/cgi-bin/pl.pl b/langs/pl/cgi-bin/pl.pl index 80da6d63f2..103e5262e3 100644 --- a/langs/pl/cgi-bin/pl.pl +++ b/langs/pl/cgi-bin/pl.pl @@ -16,8 +16,8 @@ 'ConnSched change profile title' => 'Zmień na profil:', 'ConnSched days' => 'Dni:', 'ConnSched down' => 'Niżej', -'ConnSched ipsecstart' => '(Re)start IPSec', -'ConnSched ipsecstop' => 'Zatrzymanie IPSec', +'ConnSched ipsecstart' => '(Re)start IPsec', +'ConnSched ipsecstop' => 'Zatrzymanie IPsec', 'ConnSched reconnect' => 'Ponowne połączenie', 'ConnSched scheduled actions' => 'Zaplanowane zadania', 'ConnSched scheduler' => 'Harmonogram', @@ -92,7 +92,6 @@ 'admin user password has been changed' => 'Hasło administratora zostało zmienione.', 'admin users' => 'Użytkownik prawami superużytkownika', 'administrator user password' => 'Hasło administratora:', -'adsl settings' => 'Ustawienia ADSL', 'advanced' => 'Zaawansowane', 'advanced server' => 'Zaawansowane ustawienia serwera', 'advproxy AUTH always required' => 'Wymagaj autoryzacji dla adresów źródłowych bez ograniczeń', @@ -351,6 +350,7 @@ 'are you sure' => 'Jesteś pewien?', 'arp table entries' => 'Wpisy tabeli ARP:', 'artist' => 'Artysta', +'atm settings' => 'Ustawienia ATM', 'attemps' => 'Prób', 'august' => 'Sierpień', 'authentication' => 'Uwierzytelnianie:', diff --git a/langs/ru/cgi-bin/ru.pl b/langs/ru/cgi-bin/ru.pl index c1729b8a75..2b680b0665 100644 --- a/langs/ru/cgi-bin/ru.pl +++ b/langs/ru/cgi-bin/ru.pl @@ -15,8 +15,8 @@ 'ConnSched change profile title' => 'Сменить профиль:', 'ConnSched days' => 'Дни:', 'ConnSched down' => 'Down', -'ConnSched ipsecstart' => 'IPSec (пере)запустить', -'ConnSched ipsecstop' => 'IPSec остановить', +'ConnSched ipsecstart' => 'IPsec (пере)запустить', +'ConnSched ipsecstop' => 'IPsec остановить', 'ConnSched reconnect' => 'Переподключить', 'ConnSched scheduled actions' => 'Действия по расписанию', 'ConnSched scheduler' => 'Расписание', @@ -90,7 +90,6 @@ 'admin user password has been changed' => 'Пароль пользователя Admin был изменён.', 'admin users' => 'Пользователь с правами суперадминистратора', 'administrator user password' => 'Пароль пользователя Admin:', -'adsl settings' => 'Настройки ADSL', 'advanced' => 'Дополнительно', 'advanced server' => 'Дополнительные настройки сервера', 'advproxy AUTH always required' => 'Требовать аутентификацию у незарегистрированных адресов', @@ -349,6 +348,7 @@ 'are you sure' => 'Вы уверены?', 'arp table entries' => 'Записи ARP-таблицы:', 'artist' => 'Artist', +'atm settings' => 'Настройки ATM', 'attemps' => 'Попытки', 'august' => 'Август', 'authentication' => 'Аутентификация:', diff --git a/langs/tr/cgi-bin/tr.pl b/langs/tr/cgi-bin/tr.pl index 445357567c..9eb5a43252 100644 --- a/langs/tr/cgi-bin/tr.pl +++ b/langs/tr/cgi-bin/tr.pl @@ -15,13 +15,17 @@ 'ConnSched add action' => 'Eylem ekle', 'ConnSched change profile title' => 'Profili değitirin:', 'ConnSched days' => 'Günler:', +'ConnSched dial' => 'Bağlan', 'ConnSched down' => 'Aşağı', -'ConnSched ipsecstart' => 'IPSec yeniden başlat', -'ConnSched ipsecstop' => 'IPSec durudur', +'ConnSched hangup' => 'Bağlantıyı kes', +'ConnSched ipsecstart' => 'IPsec yeniden başlat', +'ConnSched ipsecstop' => 'IPsec durudur', +'ConnSched reboot' => 'Yeniden başlat', 'ConnSched reconnect' => 'Yeniden bağlan', 'ConnSched scheduled actions' => 'Planlanmış eylemler', 'ConnSched scheduler' => 'Zamanlayıcı', 'ConnSched select profile' => 'Profil seçin', +'ConnSched shutdown' => 'Kapat', 'ConnSched time' => 'Zaman:', 'ConnSched up' => 'Yukarı', 'ConnSched weekdays' => 'Haftanın günleri:', @@ -67,9 +71,9 @@ 'abort' => 'durdur', 'access allowed' => 'Erişimine izin ver:', 'access refused with this oinkcode' => 'Erişim bu Oink Kodunu reddetti', -'accounting' => 'Hesaplama', -'accounting user nonpdc' => 'Hesaplama - Hiçbir PDC Yöntemi', -'accounting user pdc' => 'Hesaplama - PDC Yöntemi', +'accounting' => 'Hesap oluşturma', +'accounting user nonpdc' => 'Hesap oluşturma - PDC yöntemi olmadan', +'accounting user pdc' => 'Hesap oluşturma - PDC yöntemi', 'action' => 'Eylem', 'activate' => 'Aktif', 'activate user' => 'Aktif kullanıcı', @@ -95,7 +99,6 @@ 'admin user password has been changed' => 'Yönetici kullanıcı şifresi değiştirildi.', 'admin users' => 'Yetkili kullanıcı hakları ile kullanıcı', 'administrator user password' => 'Admin kullanıcı parolası:', -'adsl settings' => 'ADSL ayarları', 'advanced' => 'Gelişmiş', 'advanced server' => 'Gelişmiş Sunucu Seçenekleri', 'advproxy AUTH always required' => 'Sınırsız kaynak adresleri için kimlik doğrulaması iste', @@ -364,6 +367,8 @@ 'are you sure' => 'Emin misiniz?', 'arp table entries' => 'ARP tablosu girdileri:', 'artist' => 'Sanatçı', +'atm device' => 'Aygıt:', +'atm settings' => 'ATM ayarları', 'attemps' => 'Girişim', 'attention' => 'DÄ°KKAT', 'august' => 'Ağustos', @@ -502,7 +507,7 @@ 'ccd err iroute' => 'Ağ adresi için geçersiz yol.', 'ccd err irouteexist' => 'Bu yol zaten kullanılıyor.', 'ccd err isipsecnet' => 'Verilen ağ adresi zaten bir IPsec ağ tarafından kullanılıyor.', -'ccd err isipsecrw' => 'Verilan ağ adresi zaten IPSec rw ağı tarafından kullanılıyor.', +'ccd err isipsecrw' => 'Verilan ağ adresi zaten IPsec rw ağı tarafından kullanılıyor.', 'ccd err isovpnn2n' => 'Bu alt ağ adresi zaten OpenVPN ağdan ağa bağlantısı için kullanılıyor.', 'ccd err isovpnnet' => 'Bu adres zaten OpenVPN Sunucusu için kullanılan alt ağ adresidir.', 'ccd err issubnet' => 'Bu adres zaten kullanımda olan bir alt ağ adresidir.', @@ -517,7 +522,7 @@ 'ccd hint' => 'Bu sayfadan RoadWarrior istemcilerine sabit bir IP adresi alabilir ve statik ağları tanımlayabilirsiniz.', 'ccd invalid' => 'Geçersiz.', 'ccd iroute' => 'IPFire istemcilerinin sitesinden bu ağlara eriş', -'ccd iroute2' => 'Ä°stemcilerin IPFire sitesinden bu ağlara eriş', +'ccd iroute2' => 'Ä°stemciler IPFire sitesinden bu ağlara erişsin', 'ccd iroutehint' => 'Dikkat! Bu ayarları değiştirirseniz, değişikliklerin etkili olduğu OpenVPN sunucusunu yeniden başlatmanız gerekir!', 'ccd modify' => 'Ağı değiştir', 'ccd name' => 'Ad', @@ -548,7 +553,7 @@ 'clenabled' => 'Yerel ağa zaman sağla', 'click to disable' => 'Aktif (pasifleştirmek için tıklayın)', 'click to enable' => 'Pasif (aktifleştirmek için tıklayın)', -'client' => 'İş Ä°stasyonu Adı', +'client' => 'İş istasyonun adı', 'clock has not been synchronized' => 'Saat eşitlenemedi', 'clock last synchronized at' => 'Saatin son olarak eşitlendiği zaman:', 'comment' => 'Açıklama:', @@ -589,6 +594,7 @@ 'could not open installed updates file' => 'Yüklü güncelleştirmeler dosya açılamadı', 'could not open update information file' => 'Güncelleştirme bilgileri dosyası açılamadı. Güncelleme dosyası bozuk.', 'could not retrieve common name from certificate' => 'Sertifikadan ortak ad alınamadı.', +'count' => 'Say', 'countries' => 'Ülkeler', 'country' => 'Ülke', 'country codes and flags' => 'Ülke kodları ve bayrakları:', @@ -643,7 +649,7 @@ 'ddns minimize updates' => 'Güncellemeleri azalt: Güncellemelerden önce, sunucu adı \'[host.]domain\' için dns IP adresini KIRMIZI IP ile karşılaştır.', 'ddns noip prefix' => 'Grup yönteminde ip-yok seçeneğini kullanmak için ana bilgisayar adı öneki: %', 'deactivate' => 'Devre dışı', -'deactivate user' => 'kullanıcı devre dışı', +'deactivate user' => 'Kullanıcı devre dışı', 'dead peer detection' => 'Sonlanmış Eş Algılama', 'debugme' => 'Henüz uygulanmadı', 'december' => 'Aralık', @@ -925,7 +931,7 @@ 'firewall logs' => 'Güvenlik Duvarı Günlükleri', 'firewall logs ip' => 'Gd-Günlük Grafikleri (IP)', 'firewall logs port' => 'Gd-Günlük Grafikleri (Port)', -'firewall rules' => 'Güvenlik duvarı kuralları', +'firewall rules' => 'Güvenlik Duvarı Kuralları', 'firewallhits' => 'güvenlik duvarı kaydı', 'firmware' => 'Yazılım', 'firmware upload' => 'Yazılım/Sürücü Yükle', @@ -1007,6 +1013,7 @@ 'fwdfw log' => 'Günlük', 'fwdfw log rule' => 'Günlük kuralı', 'fwdfw man port' => 'Bağlantı noktası:', +'fwdfw many' => 'Çok', 'fwdfw menu' => 'Güvenlik Duvarı Kuralları', 'fwdfw movedown' => 'Aşağı taşı', 'fwdfw moveup' => 'Yukarı taşı', @@ -1050,6 +1057,14 @@ 'fwdfw wd_tue' => 'Sal', 'fwdfw wd_wed' => 'Çar', 'fwdfw xt access' => 'Kayıt', +'fwhost Custom Host' => 'Ana bilgisayar', +'fwhost Custom Network' => 'Ağ', +'fwhost IpSec Host' => 'IPsec ana bilgisayarı', +'fwhost IpSec Network' => 'IPsec ağı', +'fwhost OpenVPN N-2-N' => 'Ağdan ağa OpenVPN', +'fwhost OpenVPN static host' => 'OpenVPN statik ana bilgisayar', +'fwhost OpenVPN static network' => 'OpenVPN statik ağ', +'fwhost Standard Network' => 'Standart ağ', 'fwhost addgrp' => 'Yeni ağ/ana bilgisayar grubu ekle:', 'fwhost addgrpname' => 'Grup adı:', 'fwhost addhost' => 'Yeni bir ana bilgisayar ekle:', @@ -1222,6 +1237,7 @@ 'inactive' => 'Pasif', 'include logfiles' => 'Günlük dosyaları dahil', 'incoming' => 'gelen', +'incoming firewall access' => 'Gelen güvenlik duvarı bağlantısı', 'incoming traffic in bytes per second' => 'gelen trafik', 'incorrect password' => 'Yanlış parola', 'info' => 'Bilgi', @@ -1357,7 +1373,7 @@ 'load printer' => 'Yazıcı Yükle', 'loaded modules' => 'Yüklü modüller:', 'local hard disk' => 'Sabit disk', -'local master' => 'Yerel Yönetici', +'local master' => 'Yerel yönetici', 'local ntp server specified but not enabled' => 'Belirtilen yerel NTP sunucusu aktif değil', 'local subnet' => 'Yerel Alt Ağ:', 'local subnet is invalid' => 'Geçersiz yerel alt ağ.', @@ -1490,7 +1506,7 @@ 'monthly volume start day' => 'Aylık dönemin ilk günü', 'monthly volume start day short' => 'Ä°lk gün', 'months' => 'ay', -'more' => 'daha', +'more' => 'Daha fazla', 'most preferred' => 'En çok tercih edilen', 'mount' => 'Bağla', 'mounted on' => 'Bağlı', @@ -1623,6 +1639,7 @@ 'out' => 'Dışarı', 'outgoing' => 'giden', 'outgoing firewall' => 'Giden güvenlik duvarı', +'outgoing firewall access' => 'giden güvenlik duvarı bağlantısı', 'outgoing firewall add ip group' => 'IP Adres Grubu Ekle', 'outgoing firewall add mac group' => 'MAC Adres Grubu Ekle', 'outgoing firewall edit ip group' => 'IP Adres Grubunu Düzenle', @@ -1656,7 +1673,7 @@ 'ovpn mgmt in root range' => 'Bağlantı noktası numarası 1024 ya da daha yüksek bir numara olmalıdır.', 'ovpn mtu-disc' => 'MTU algılama', 'ovpn mtu-disc and mtu not 1500' => 'MTU algılama 1500 MTU olmasını gerektirir.', -'ovpn mtu-disc maybe' => 'Ä°steğe Bağlı', +'ovpn mtu-disc maybe' => 'Ä°steğe bağlı', 'ovpn mtu-disc no' => 'Asla', 'ovpn mtu-disc off' => 'Devre dışı', 'ovpn mtu-disc with mssfix or fragment' => 'MTU algılama mssfix veya parçası ile kullanılamaz.', @@ -1725,7 +1742,7 @@ 'passwords do not match' => 'Parolalar eşleşmiyor.', 'passwords must be at least 6 characters in length' => 'Parolalar en az 6 karakter olmalıdır', 'path to directory' => 'paylaşım yolu', -'pc' => 'İş Ä°stasyonu', +'pc' => 'İş istasyonu', 'pc add' => 'İş istasyonu ekle', 'pdc options' => 'PDC seçenekleri', 'percentage' => 'Yüzde', @@ -1748,7 +1765,7 @@ 'pppoe settings' => 'Ek PPPoE ayarları:', 'pptp settings' => 'Ek PPTP ayarları:', 'pre-shared key is too short' => 'Ön paylaşımlı anahtar çok kısa.', -'prefered master' => 'Tercih Edilen Yönetici', +'prefered master' => 'Tercih edilen yönetici', 'present' => 'Mevcut', 'prev' => 'önceki', 'primary dns' => 'Birincil DNS:', @@ -1798,6 +1815,7 @@ 'quick control' => 'Hızlı Kontrol', 'quick playlist' => 'Hızlı Oynatıcı', 'ram' => 'RAM', +'random number generator daemon' => 'Rastgele sayı oluşturucu programı', 'read bytes' => 'okunan bayt', 'read list' => 'salt okunur bilgisayarlar ile liste', 'real address' => 'Gerçek Adres', @@ -1818,7 +1836,7 @@ 'refresh update list' => 'Güncelleme listesini yenile', 'registered user rules' => 'Kayıtlı kullanıcılar için kaynak güvenlik duvarı VRT kuralları', 'released' => 'Çıkış', -'reload' => 'yeniden yükle', +'reload' => 'Yeniden yükle', 'remark' => 'Açıklama', 'remark title' => 'Açıklama:', 'remote access' => 'Uzak erişim', @@ -1850,7 +1868,7 @@ 'restore' => 'Geri Yükle', 'restore defaults' => 'Varsayılanı Geri Yükle', 'restore hardware settings' => 'Donanım ayarlarını geri yükle', -'restore settings' => 'Ayarları Sıfırla', +'restore settings' => 'Ayarları sıfırla', 'reverse sort' => 'Ters kronolojik sıralama', 'root' => 'Root', 'root certificate' => 'Root sertifika', @@ -1868,7 +1886,7 @@ 'samba status' => 'Samba durumu', 'saturday' => 'Cumartesi', 'save' => 'Kaydet', -'save config' => 'ayarları kaydet', +'save config' => 'Ayarları kaydet', 'save error' => 'Yapılandırma arşiv dosyası kaydedilemiyor.', 'save settings' => 'Ayarları kaydet', 'save-adv-options' => 'Gelişmiş Seçenekleri Kaydet', @@ -1902,7 +1920,7 @@ 'servicename' => 'Hizmet Adı', 'services' => 'Hizmetler', 'services settings' => 'Güvenlik Duvarı - Hizmet Ayarları', -'set' => 'ayar', +'set' => 'Ayarlı', 'set time now' => 'Zamanı Şimdi Ayarla', 'set time now help' => 'Herhangi bir zamanda eşitleme etkinliği sırasında (hatta yinelenen bir program kullanılırken) Zamanı şimdi ayarla düğmesine basın. Bir eşitleme olmadan önce beş dakika veya daha fazla beklemek zorunda olduğunuzu unutmayın.', 'settings' => 'Ayarlar', @@ -1999,7 +2017,7 @@ 'standard login script' => 'Standart oturum açma komut dosyası', 'start' => 'Başlat', 'start address' => 'Başlangıç adresi:', -'start ovpn server' => 'OpenVPN Sunucu Başlangıcı', +'start ovpn server' => 'OpenVPN Sunucusunu Başlat', 'state or province' => 'Ä°lçe', 'static ip' => 'Statik IP', 'static routes' => 'Statik Yollar', @@ -2162,7 +2180,7 @@ 'unix charset' => 'UNIX karakterleri', 'unix group' => ' UNIX kullanıcı grubu', 'unix password sync' => 'Unix Parola Eşitleme', -'unix shell' => 'UNIX Kabuğu', +'unix shell' => 'UNIX kabuğu', 'unknown' => 'BÄ°LÄ°NMEYEN', 'unnamed' => 'Adsız', 'update' => 'Güncelle', @@ -2251,7 +2269,7 @@ 'uplink speed' => 'Yükleme hızı (kbit/san)', 'uplink std class' => 'Standart yükleme hızı sınıf', 'upload' => 'Yükle', -'upload a certificate' => 'Sertifikası yükle:', +'upload a certificate' => 'Sertifika yükle:', 'upload a certificate request' => 'Sertifika isteği yükle:', 'upload ca certificate' => 'CA Sertifikası Yükle', 'upload fcdsl.o' => 'KALDIRILACAK', diff --git a/lfs/GeoIP b/lfs/GeoIP index 88e147cfb0..17064fba09 100644 --- a/lfs/GeoIP +++ b/lfs/GeoIP @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2012 IPFire Team # +# Copyright (C) 2007-2014 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -25,7 +25,7 @@ include Config VER = 1.17 -DATVER = 01102013 +DATVER = 06052014 THISAPP = Geo-IP-PurePerl-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -43,7 +43,7 @@ $(DL_FILE) = $(DL_FROM)/$(DL_FILE) GeoIP.dat-$(DATVER).gz = $(DL_FROM)/GeoIP.dat-$(DATVER).gz $(DL_FILE)_MD5 = 42a6b9d4dd2563a20c8998556216e1de -GeoIP.dat-$(DATVER).gz_MD5 = 4aecef560aa6dacfe7e59dad8a12914b +GeoIP.dat-$(DATVER).gz_MD5 = aba5fc86202337c53a33bbc47d2083d0 install : $(TARGET) diff --git a/lfs/fireinfo b/lfs/fireinfo index f1ee58a13c..0c36706569 100644 --- a/lfs/fireinfo +++ b/lfs/fireinfo @@ -24,7 +24,7 @@ include Config -VER = 2.1.9 +VER = 2.1.10 THISAPP = fireinfo-v$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = a4dbb3a4111f263b5059b2f76b14b32c +$(DL_FILE)_MD5 = cc7838cda22d7d4e9bb177aa1dc6f25a install : $(TARGET) @@ -71,8 +71,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo-0001-Exclude-some-more-invalid-patterns.patch - cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh cd $(DIR_APP) && ./configure --prefix=/usr cd $(DIR_APP) && make $(MAKETUNING) diff --git a/lfs/flash-images b/lfs/flash-images index f74c7e1e4e..4e28e4cd37 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -65,9 +65,9 @@ else endif # /boot: 64MB - OFFSET -# / : 600MB +# / : 700MB S_BOOT := $(shell echo $$(( 131072 - $(S_OFFSET) ))) -S_ROOT := 1228800 +S_ROOT := 1433600 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) rm -rf $(MNThdd) $(IMGinst) $(IMGpart) $(IMGboot) $(IMGroot) && mkdir -p $(MNThdd) diff --git a/lfs/initrd b/lfs/initrd index cc16956804..42da9bc7b3 100644 --- a/lfs/initrd +++ b/lfs/initrd @@ -64,11 +64,25 @@ $(TARGET) : -cd / && cpio -d -p /install/initrd < /tmp/ROOTFILES - # Copy hid and network modules + # Copy hid and network modules (and deps) cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/hid \ /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/ cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/net \ /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/ + cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/pcmcia \ + /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/ + cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/ssb \ + /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/ + cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/uio \ + /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/ + cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/ptp \ + /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/ + cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/dca \ + /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/ + cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/pps \ + /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/ + # Remove wireless modules + rm -rf /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/net/wireless cd /install/initrd/etc && rm -f fstab cp -aRf $(DIR_SRC)/config/install/* /install/initrd/etc/ @@ -93,6 +107,14 @@ $(TARGET) : cp -f /etc/nsswitch.conf /install/initrd/etc/ cp -f $(DIR_SRC)/config/initrd/dhcpc/* /install/initrd/var/ipfire/dhcpc/dhcpcd-hooks/ + # Install needed locales. + -mkdir -pv /install/initrd/usr/lib/locale + for lang in $(DIR_SRC)/langs/*; do \ + for path in /usr/lib/locale/$${lang##*/}*; do \ + [ -d "$${path}" ] && cp -lrvf "$${path}" /install/initrd/usr/lib/locale/; \ + done; \ + done + cd /install/initrd && find . | cpio -o -H newc | lzma > /install/images/initrd cd /install/initrd && find ./ -ls > $(DIR_INFO)/_build.initrd.log diff --git a/lfs/libsigc++ b/lfs/libsigc++ deleted file mode 100644 index 0d90f4c771..0000000000 --- a/lfs/libsigc++ +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################### -# # -# IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # -# # -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation, either version 3 of the License, or # -# (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with this program. If not, see . # -# # -############################################################################### - -############################################################################### -# Definitions -############################################################################### - -include Config - -VER = 2.0.18 - -THISAPP = libsigc++-$(VER) -DL_FILE = $(THISAPP).tar.bz2 -DL_FROM = $(URL_IPFIRE) -DIR_APP = $(DIR_SRC)/$(THISAPP) -TARGET = $(DIR_INFO)/$(THISAPP) - -############################################################################### -# Top-level Rules -############################################################################### - -objects = $(DL_FILE) - -$(DL_FILE) = $(DL_FROM)/$(DL_FILE) - -$(DL_FILE)_MD5 = ddebf5aafc8525d10366a8724abc9f28 - -install : $(TARGET) - -check : $(patsubst %,$(DIR_CHK)/%,$(objects)) - -download :$(patsubst %,$(DIR_DL)/%,$(objects)) - -md5 : $(subst %,%_MD5,$(objects)) - -############################################################################### -# Downloading, checking, md5sum -############################################################################### - -$(patsubst %,$(DIR_CHK)/%,$(objects)) : - @$(CHECK) - -$(patsubst %,$(DIR_DL)/%,$(objects)) : - @$(LOAD) - -$(subst %,%_MD5,$(objects)) : - @$(MD5) - -############################################################################### -# Installation Details -############################################################################### - -$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) - @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libsigc++-gcc43.patch - cd $(DIR_APP) && ./configure --prefix=/usr - cd $(DIR_APP) && make $(MAKETUNING) - cd $(DIR_APP) && make install - @rm -rf $(DIR_APP) - @$(POSTBUILD) diff --git a/lfs/libtorrent b/lfs/libtorrent deleted file mode 100644 index 7ce3b23963..0000000000 --- a/lfs/libtorrent +++ /dev/null @@ -1,79 +0,0 @@ -############################################################################### -# # -# IPFire.org - A linux based firewall # -# Copyright (C) 2009 Michael Tremer & Christian Schmidt # -# # -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation, either version 3 of the License, or # -# (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with this program. If not, see . # -# # -############################################################################### - -############################################################################### -# Definitions -############################################################################### - -include Config - -VER = 0.12.6 - -THISAPP = libtorrent-$(VER) -DL_FILE = $(THISAPP).tar.gz -DL_FROM = $(URL_IPFIRE) -DIR_APP = $(DIR_SRC)/$(THISAPP) -TARGET = $(DIR_INFO)/$(THISAPP) -CFLAGS = -CXXFLAGS = - -############################################################################### -# Top-level Rules -############################################################################### - -objects = $(DL_FILE) - -$(DL_FILE) = $(DL_FROM)/$(DL_FILE) - -$(DL_FILE)_MD5 = 037499ed708aaf72988cee60e5a8d96b - -install : $(TARGET) - -check : $(patsubst %,$(DIR_CHK)/%,$(objects)) - -download :$(patsubst %,$(DIR_DL)/%,$(objects)) - -md5 : $(subst %,%_MD5,$(objects)) - -############################################################################### -# Downloading, checking, md5sum -############################################################################### - -$(patsubst %,$(DIR_CHK)/%,$(objects)) : - @$(CHECK) - -$(patsubst %,$(DIR_DL)/%,$(objects)) : - @$(LOAD) - -$(subst %,%_MD5,$(objects)) : - @$(MD5) - -############################################################################### -# Installation Details -############################################################################### - -$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) - @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && ./configure --prefix=/usr --disable-ipv6 - cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) - cd $(DIR_APP) && make install - @rm -rf $(DIR_APP) - @$(POSTBUILD) diff --git a/lfs/linux b/lfs/linux index 948d056a68..2bf32d39b8 100644 --- a/lfs/linux +++ b/lfs/linux @@ -24,10 +24,10 @@ include Config -VER = 3.10.37 +VER = 3.10.39 -RPI_PATCHES = linux-3.10.34-grsec-dea8280 -GRS_PATCHES = grsecurity-2.9.1-3.10.37-ipfire1.patch.xz +RPI_PATCHES = linux-3.10.38-grsec-1b49b45 +GRS_PATCHES = grsecurity-2.9.1-3.10.39-ipfire1.patch.xz THISAPP = linux-$(VER) DL_FILE = linux-$(VER).tar.xz @@ -36,7 +36,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP) CFLAGS = CXXFLAGS = -PAK_VER = 42 +PAK_VER = 44 DEPS = "" VERSUFIX=ipfire$(KCFG) @@ -74,9 +74,9 @@ $(DL_FILE) = $(URL_IPFIRE)/$(DL_FILE) rpi-patches-$(RPI_PATCHES).patch.xz = $(URL_IPFIRE)/rpi-patches-$(RPI_PATCHES).patch.xz $(GRS_PATCHES) = $(URL_IPFIRE)/$(GRS_PATCHES) -$(DL_FILE)_MD5 = a08a10ffc31b07d9422af1cd2baa3274 -rpi-patches-$(RPI_PATCHES).patch.xz_MD5 = 522683db031f7033b1b5dfe1b1f30e67 -$(GRS_PATCHES)_MD5 = 7b0f44571974217d79dbcdf5d7e33976 +$(DL_FILE)_MD5 = 74db7cc558a1a72ebf5044d286e2bc47 +rpi-patches-$(RPI_PATCHES).patch.xz_MD5 = a7408e8bad57b4b2cb677dd5a0bfb7ff +$(GRS_PATCHES)_MD5 = 6296b7ec4146544249075249e338ceb3 install : $(TARGET) @@ -137,6 +137,8 @@ endif # Wlan Patches cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-drivers-3.8.3-ath_ignore_eeprom_regdomain.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.10.34-iwlwifi-noibss_only_on_radar_chan.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.10.37-rt2800usb_add_dlink_dwa137_usbid.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.10.39-add_libertas_uap.patch # mISDN Patches cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/mISDN_hfc-s_add_id.patch diff --git a/lfs/mc b/lfs/mc index 18613498a7..ed799be064 100644 --- a/lfs/mc +++ b/lfs/mc @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2013 IPFire Team # +# Copyright (C) 2007-2014 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@ include Config -VER = 4.8.9 +VER = 4.8.12 THISAPP = mc-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = mc -PAK_VER = 8 +PAK_VER = 9 DEPS = "" @@ -44,7 +44,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 0f8a05f9a9708241541ae177c8e2f209 +$(DL_FILE)_MD5 = 7ecccc03df060cd0ca1414a5a14e6649 install : $(TARGET) diff --git a/lfs/openvpn b/lfs/openvpn index 053d581986..8c7c81a491 100644 --- a/lfs/openvpn +++ b/lfs/openvpn @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2013 IPFire Team # +# Copyright (C) 2007-2014 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,10 +24,10 @@ include Config -VER = 2.3.2 +VER = 2.3.4 THISAPP = openvpn-$(VER) -DL_FILE = $(THISAPP).tar.gz +DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 06e5f93dbf13f2c19647ca15ffc23ac1 +$(DL_FILE)_MD5 = 9b70be9fb45e407117c3c9b118e4ba22 install : $(TARGET) @@ -69,7 +69,7 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && ./configure \ --prefix=/usr \ --sysconfdir=/var/ipfire/ovpn \ diff --git a/lfs/pound b/lfs/pound index 9305f45952..20e807d187 100644 --- a/lfs/pound +++ b/lfs/pound @@ -24,7 +24,7 @@ include Config -VER = 2.6 +VER = 2.7c THISAPP = Pound-$(VER) DL_FILE = $(THISAPP).tgz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = pound -PAK_VER = 5 +PAK_VER = 6 DEPS = "" @@ -44,7 +44,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 8c913b527332694943c4c67c8f152071 +$(DL_FILE)_MD5 = 56dace6b79c6be1d25b31355269c380a install : $(TARGET) @@ -77,16 +77,11 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -p4 < $(DIR_SRC)/src/patches/pound-2.6.patch - cd $(DIR_APP) && patch -p1 < $(DIR_SRC)/src/patches/Pound-2.6-reneg-ciphers-altnames-nosslv2.patch - cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc --enable-cert1l + cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install install -v -m 644 $(DIR_SRC)/config/backup/includes/pound \ /var/ipfire/backup/addons/includes/pound - ln -sf ../init.d/pound /etc/rc.d/rc3.d/S60pound - ln -sf ../init.d/pound /etc/rc.d/rc0.d/K40pound - ln -sf ../init.d/pound /etc/rc.d/rc6.d/K40pound # Remove temporary file. rm -vf /root/.rnd diff --git a/lfs/rpi-firmware b/lfs/rpi-firmware index a7f87616ef..6882fcbdc0 100644 --- a/lfs/rpi-firmware +++ b/lfs/rpi-firmware @@ -24,7 +24,7 @@ include Config -VER = 18a7921 +VER = cd50136 THISAPP = rpi-firmware-$(VER) DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 07a83d2700fb73aad67154c9e74901f3 +$(DL_FILE)_MD5 = fced022c0e646affae0d5d5543f59054 install : $(TARGET) diff --git a/lfs/squid b/lfs/squid index 00dc12a10a..1f1589d016 100644 --- a/lfs/squid +++ b/lfs/squid @@ -24,7 +24,7 @@ include Config -VER = 3.4.4 +VER = 3.4.5 THISAPP = squid-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = dc2bcb967fc6b15bbbc6b961010c0c00 +$(DL_FILE)_MD5 = a831efb36cfbaa419f8dc7a43cba72c9 install : $(TARGET) diff --git a/lfs/strongswan b/lfs/strongswan index f9f6e78112..ba492106ec 100644 --- a/lfs/strongswan +++ b/lfs/strongswan @@ -89,6 +89,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) --enable-farp \ --enable-openssl \ --enable-xauth-eap \ + --enable-xauth-noauth \ --enable-eap-radius \ --enable-eap-tls \ --enable-eap-ttls \ diff --git a/lfs/rtorrent b/lfs/stunnel similarity index 80% rename from lfs/rtorrent rename to lfs/stunnel index 3ccbb4c2f1..f6f27e0759 100644 --- a/lfs/rtorrent +++ b/lfs/stunnel @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2009 Michael Tremer & Christian Schmidt # +# Copyright (C) 2007 Michael Tremer & Christian Schmidt # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,17 +24,15 @@ include Config -VER = 0.8.6 +VER = 5.01 -THISAPP = rtorrent-$(VER) +THISAPP = stunnel-$(VER) DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PROG = rtorrent -PAK_VER = 5 -CFLAGS = -CXXFLAGS = +PROG = stunnel +PAK_VER = 1 DEPS = "" @@ -46,7 +44,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = b804c45c01c40312926bcea6b55bb084 +$(DL_FILE)_MD5 = 7b63266b6fa05da696729e245100da65 install : $(TARGET) @@ -79,8 +77,25 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && ./configure --prefix=/usr - cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var + cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install + + # Create secure directory + install -v -m750 -o stunnel -g stunnel -d /var/lib/stunnel/run + chown -v stunnel:stunnel /var/lib/stunnel + + # Install default configuration + -mkdir -pv /etc/stunnel + install -v -m 644 $(DIR_SRC)/config/stunnel/stunnel.conf \ + /etc/stunnel + + # Install backup include + install -v -m 644 $(DIR_SRC)/config/backup/includes/stunnel \ + /var/ipfire/backup/addons/includes + @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/usb_modeswitch b/lfs/usb_modeswitch index b0cf7d3590..1b719a60d8 100644 --- a/lfs/usb_modeswitch +++ b/lfs/usb_modeswitch @@ -24,7 +24,7 @@ include Config -VER = 2.0.1 +VER = 2.1.1 THISAPP = usb-modeswitch-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = e48d4419d0574d342bb183f7465556d0 +$(DL_FILE)_MD5 = 1f0dc900df88254bd1102444cb73efbc install : $(TARGET) diff --git a/lfs/usb_modeswitch_data b/lfs/usb_modeswitch_data index 95aeac6081..b0b8a37076 100644 --- a/lfs/usb_modeswitch_data +++ b/lfs/usb_modeswitch_data @@ -24,7 +24,7 @@ include Config -VER = 20131113 +VER = 20140327 THISAPP = usb-modeswitch-data-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 7b5ac1226b360ddc366c286e62b3c3a4 +$(DL_FILE)_MD5 = bbbc0a8e6a98bde2c6e119b3826658fb install : $(TARGET) diff --git a/lfs/watchdog b/lfs/watchdog index 8058c8cbe3..70bf6921ea 100644 --- a/lfs/watchdog +++ b/lfs/watchdog @@ -24,7 +24,7 @@ include Config -VER = 5.9 +VER = 5.13 THISAPP = watchdog-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = watchdog -PAK_VER = 3 +PAK_VER = 4 DEPS = "" @@ -44,7 +44,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = d7cae3c9829f5d9a680764f314234867 +$(DL_FILE)_MD5 = 153455f008f1cf8f65f6ad9586a21ff1 install : $(TARGET) @@ -77,7 +77,7 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && ./configure + cd $(DIR_APP) && ./configure --prefix=/usr cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install install -v -m 644 $(DIR_SRC)/config/backup/includes/watchdog \ diff --git a/make.sh b/make.sh index d280d9c8f7..5bff402a4b 100755 --- a/make.sh +++ b/make.sh @@ -25,7 +25,7 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name VERSION="2.15" # Version number -CORE="77-rc1" # Core Level (Filename) +CORE="77" # Core Level (Filename) PAKFIRE_CORE="77" # Core Level (PAKFIRE) GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch SLOGAN="www.ipfire.org" # Software slogan @@ -638,9 +638,6 @@ buildipfire() { ipfiremake libmpeg2 ipfiremake cmake ipfiremake gnump3d - ipfiremake libsigc++ - ipfiremake libtorrent - ipfiremake rtorrent ipfiremake rsync ipfiremake tcpwrapper ipfiremake libevent @@ -799,6 +796,7 @@ buildipfire() { ipfiremake wavemon ipfiremake iptraf-ng ipfiremake iotop + ipfiremake stunnel } buildinstaller() { @@ -842,7 +840,8 @@ buildpackages() { ipfiremake cdrom # Check if there is a loop device for building in virtual environments - if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then + modprobe loop 2>/dev/null + if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ] || [ -e "/dev/loop-control" ]); then ipfiremake flash-images fi diff --git a/src/hwdata/pci.ids b/src/hwdata/pci.ids index d856c9098d..219c7c2ecd 100644 --- a/src/hwdata/pci.ids +++ b/src/hwdata/pci.ids @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2013.10.06 -# Date: 2013-10-06 03:15:01 +# Version: 2014.04.30 +# Date: 2014-04-30 03:15:02 # # Maintained by Martin Mares and other volunteers from the # PCI ID Project at http://pci-ids.ucw.cz/. @@ -192,6 +192,7 @@ c000 Remote Insight Lights-Out Edition f130 NetFlex-3/P ThunderLAN 1.0 f150 NetFlex-3/P ThunderLAN 2.3 +0e55 HaSoTec GmbH 0eac SHF Communication Technologies AG 0008 Ethernet Powerlink Managing Node 01 0f62 Acrox Technologies Co., Ltd. @@ -325,6 +326,7 @@ 1000 9291 MegaRAID SAS 9286CV-8e 1000 9295 MegaRAID SAS 9286CV-8eCC 1014 040b ServeRAID M5110 SAS/SATA Controller + 1014 040c ServeRAID M5120 SAS/SATA Controller 1014 0412 ServeRAID M5110e SAS/SATA Controller 1028 1f2d PERC H810 Adapter 1028 1f30 PERC H710 Embedded @@ -334,6 +336,8 @@ 1028 1f35 PERC H710 Adapter 1028 1f37 PERC H710 Mini (for blades) 1028 1f38 PERC H710 Mini (for monolithics) + 15d9 0690 LSI MegaRAID ROMB + 8086 3510 RMS25PB080 RAID Controller 8086 3513 RMS25CB080 RAID Controller 005c SAS1064A PCI-X Fusion-MPT SAS 005d MegaRAID SAS-3 3108 [Invader] @@ -344,6 +348,8 @@ 1028 1f48 PERC H730P Mini (for blades) 1028 1f49 PERC H730 Mini 1028 1f4a PERC H730 Mini (for blades) + 17aa 1052 ThinkServer RAID 720i + 17aa 1053 ThinkServer RAID 720ix 005e SAS1066 PCI-X Fusion-MPT SAS 005f MegaRAID SAS-3 3008 [Fury] 1028 1f44 PERC H330 Adapter @@ -413,8 +419,11 @@ 1137 0073 2008 ROMB 1137 00b0 UCSC RAID SAS 2008M-8i 1137 00b1 UCSC RAID SAS 2008M-8i + 1137 00c2 UCS E-Series Double Wide + 1137 00c3 UCS E-Series Single Wide 15d9 0400 Supermicro SMC2008-iMR 1734 1177 RAID Ctrl SAS 6G 0/1 (D2607) + 17aa 1051 ThinkServer RAID 510i 8086 350d RMS2AF040 RAID Controller 8086 9240 RAID Controller RS2WC080 8086 9241 RAID Controller RS2WC040 @@ -560,6 +569,7 @@ 1028 0533 PowerEdge Expandable RAID Controller 4/QC 8086 0520 MegaRAID RAID Controller SRCU41L 8086 0523 MegaRAID RAID Controller SRCS16 + 3050 SAS2008 PCI-Express Fusion-MPT SAS-2 6001 DX1 Multiformat Broadcast HD/SD Encoder/Decoder 1001 Kolter Electronic 0010 PCI 1616 Measurement card with 32 digital I/O lines @@ -577,22 +587,27 @@ 1305 Kaveri 1306 Kaveri 1307 Kaveri - 1309 Kaveri - 130a Kaveri - 130b Kaveri - 130c Kaveri - 130d Kaveri - 130e Kaveri - 130f Kaveri + 1308 Kaveri HDMI/DP Audio Controller + 1309 Kaveri [Radeon R7 Graphics] + 130a Kaveri [Radeon R6 Graphics] + 130b Kaveri [Radeon R4 Graphics] + 130c Kaveri [Radeon R7 Graphics] + 130d Kaveri [Radeon R6 Graphics] + 130e Kaveri [Radeon R5 Graphics] + 130f Kaveri [Radeon R7 Graphics] 1310 Kaveri 1311 Kaveri - 1313 Kaveri + 1312 Kaveri + 1313 Kaveri [Radeon R7 Graphics] 1314 Wrestler HDMI Audio 174b 1001 PURE Fusion Mini - 1315 Kaveri - 1316 Kaveri - 131b Kaveri - 131c Kaveri + 1315 Kaveri [Radeon R5 Graphics] + 1316 Kaveri [Radeon R5 Graphics] + 1317 Kaveri + 1318 Kaveri [Radeon R5 Graphics] + 131b Kaveri [Radeon R4 Graphics] + 131c Kaveri [Radeon R7 Graphics] + 131d Kaveri [Radeon R6 Graphics] 1714 BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] 103c 168b ProBook 4535s 3150 RV380/M24 [Mobility Radeon X600] @@ -1419,41 +1434,57 @@ 5f57 R423 [Radeon X800 XT] 6600 Mars [Radeon HD 8670A/8670M/8750M] 6601 Mars [Radeon HD 8730M] + 103c 2100 FirePro M4100 6602 Mars 6603 Mars - 6604 Mars [Radeon R7 M265] - 6605 Mars [Radeon R7 M260] + 6604 Opal XT [Radeon R7 M265] + 6605 Opal PRO [Radeon R7 M260] 6606 Mars XTX [Radeon HD 8790M] - 6607 Mars LE [Radeon HD 8530M] - 6610 Oland XT [Radeon HD 8670/R7 250] - 6611 Oland [Radeon HD 8570] + 6607 Mars LE [Radeon HD 8530M / R5 M240] + 6610 Oland XT [Radeon HD 8670 / R7 250] + 1019 0030 Radeon HD 8670 + 1028 2120 Radeon R7 250 + 1028 2322 Radeon R7 250 + 1462 2910 Radeon HD 8670 + 1462 2911 Radeon HD 8670 + 1642 3c81 Radeon HD 8670 + 1642 3c91 Radeon HD 8670 + 6611 Oland [Radeon HD 8570 / R7 240 OEM] + 1028 210b Radeon R5 240 OEM + 174b 4248 Radeon R7 240 OEM + 174b a240 Radeon R7 240 OEM + 1b0a 90d3 Radeon R7 240 OEM 6613 Oland PRO [Radeon R7 240] + 1682 7240 R7 240 2048 MB 6620 Mars 6621 Mars PRO 6623 Mars 6631 Oland - 6640 Saturn XT [Radeon HD 8950M] + 6640 Saturn XT [FirePro M6100] 6641 Saturn PRO [Radeon HD 8930M] - 6649 Bonaire + 6649 Bonaire [FirePro W5100] 6650 Bonaire 6651 Bonaire 6658 Bonaire XTX [Radeon R7 260X] - 665c Bonaire XT [Radeon HD 7790/8770] + 665c Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] 1043 0452 Radeon HD 7790 DirectCU II OC # R7790-1GD5/OC 1462 2930 Radeon HD 7790 OC 1462 2932 Radeon HD 8770 + 1462 2934 Radeon R9 260 OEM + 148c 9260 Radeon R9 260 OEM # FX-779A-CDB4 / FX-779A-CDBC 1682 3310 Radeon HD 7790 Black Edition 2 GB # 100356OCL / 11210-01-20G 174b e253 Radeon HD 7790 Dual-X OC 1787 2329 Radeon HD 7790 TurboDuo - 665d Bonaire + 665d Bonaire [Radeon R7 200 Series] 6660 Sun XT [Radeon HD 8670A/8670M/8690M] - 6663 Sun PRO [Radeon HD 8570M] - 6664 Jet XT [Radeon R5 M200 Series] - 6665 Jet PRO [Radeon R5 M200 Series] - 6667 Jet ULT [Radeon R5 M200 Series] + 6663 Sun PRO [Radeon HD 8570A/8570M] + 1025 0846 Radeon HD 8570A + 6664 Jet XT [Radeon R5 M240] + 6665 Jet PRO [Radeon R5 M230] + 6667 Jet ULT [Radeon R5 M230] 666f Sun LE [Radeon HD 8550M] 6670 Hainan 6704 Cayman PRO GL [FirePro V7900] @@ -1639,7 +1670,11 @@ 1462 6570 Turks [Radeon HD 6570] 148c 6570 Turks [Radeon HD 6570] 1682 6570 Turks [Radeon HD 6570] + 174b 5570 Turks [Radeon HD 5570] 174b 6570 Turks [Radeon HD 6570] + 174b 7570 Turks [Radeon HD 7570] + 174b 8510 Turks [Radeon HD 8510] + 174b 8570 Turks [Radeon HD 8570] 1787 6570 Turks [Radeon HD 6570] 17af 6570 Turks [Radeon HD 6570] 8086 2111 Radeon HD 6625M @@ -1670,13 +1705,16 @@ 1682 3300 Radeon HD 7670 174b 7670 Radeon HD 7670 174b e181 Radeon HD 6670 - 6759 Turks PRO [Radeon HD 6570/7570] + 1787 2309 Radeon HD 6670 + 6759 Turks PRO [Radeon HD 6570/7570/8550] 103c 3130 Radeon HD 6570 + 1043 0403 Radeon HD 6570 1462 2500 Radeon HD 6570 1462 2509 Radeon HD 7570 148c 7570 Radeon HD 7570 1642 3a67 Radeon HD 6570 1682 3280 Radeon HD 7570 + 1682 3530 Radeon HD 8550 174b 7570 Radeon HD 7570 174b e142 Radeon HD 6570 174b e181 Radeon HD 6570 @@ -1687,6 +1725,7 @@ 1b0a 909e Radeon HD 6570 1b0a 90b5 Radeon HD 7570 1b0a 90b6 Radeon HD 7570 + 675b Turks [Radeon HD 7600 Series] 675d Turks PRO [Radeon HD 7570] 675f Turks LE [Radeon HD 5570/6510/7510/8510] 148c 6510 Radeon HD 6510 @@ -1877,9 +1916,9 @@ 17aa 3629 Radeon HD 6450A 17aa 363c Radeon HD 6450A 17aa 3658 Radeon HD 7470A - 6771 Caicos XTX [Radeon HD 8490] + 6771 Caicos XTX [Radeon HD 8490 / R5 235X OEM] 6772 Caicos [Radeon HD 7450A] - 6778 Caicos XT [Radeon HD 7470/8470] + 6778 Caicos XT [Radeon HD 7470/8470 / R5 235 OEM] 1019 0024 Radeon HD 7470 1019 0027 Radeon HD 8470 1028 2120 Radeon HD 7470 @@ -1890,13 +1929,14 @@ 1642 3c75 Radeon HD 8470 174b 8145 Radeon HD 8470 174b e145 Radeon HD 7470 - 6779 Caicos [Radeon HD 6450/7450/8450] + 6779 Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] 1019 0016 Radeon HD 6450 1019 0017 Radeon HD 6450 1019 0018 Radeon HD 6450 1028 2120 Radeon HD 6450 103c 2128 Radeon HD 6450 103c 2aee Radeon HD 7450A + 1462 2125 Radeon HD 6450 1462 2346 Radeon HD 7450 1462 2490 Radeon HD 6450 1462 2494 Radeon HD 6450 @@ -1937,7 +1977,7 @@ 6790 Tahiti 6791 Tahiti 6792 Tahiti - 6798 Tahiti XT [Radeon HD 7970/R9 280X] + 6798 Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] 1002 3000 Tahiti XT2 [Radeon HD 7970 GHz Edition] 1002 3001 Tahiti XTL [Radeon R9 280X] 1002 4000 Radeon HD 8970 OEM @@ -1952,6 +1992,7 @@ 1043 9999 ARES II 1092 3000 Tahiti XT2 [Radeon HD 7970 GHz Edition] 1458 2261 Tahiti XT2 [Radeon HD 7970 GHz Edition OC] + 1462 2774 MSI R7970 TF 3GD5/OC BE 1682 3211 Double D HD 7970 Black Edition # FX-797A-TNBC 1682 3213 HD 7970 Black Edition @@ -1961,7 +2002,7 @@ 1787 2317 Radeon HD 7990 1787 3000 Tahiti XT2 [Radeon HD 7970 GHz Edition] 6799 New Zealand [Radeon HD 7900 Series] - 679a Tahiti PRO [Radeon HD 7950] + 679a Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] 1002 0b01 Radeon HD 8950 OEM 1002 3000 Tahiti PRO2 [Radeon HD 7950 Boost] 1462 3000 Radeon HD 8950 OEM @@ -1975,16 +2016,20 @@ 67a0 Hawaii XT GL 67a1 Hawaii GL 67a2 Hawaii GL + 67a8 Hawaii + 67a9 Hawaii + 67aa Hawaii 67b0 Hawaii XT [Radeon R9 290X] 67b1 Hawaii PRO [Radeon R9 290] - 67b9 Vesuvius + 67b9 Vesuvius [Radeon R9 295 X2] 67be Hawaii LE 6800 Wimbledon XT [Radeon HD 7970M] 1002 0124 Radeon HD 7970M 8086 2110 Radeon HD 7970M 8086 2111 Radeon HD 7970M - 6801 Neptune [Radeon HD 8970M] + 6801 Neptune XT [Radeon HD 8970M] 1002 0124 Radeon HD 8970M + 1462 1117 Radeon R9 M290X 8086 2110 Radeon HD 8970M 8086 2111 Radeon HD 8970M 6802 Wimbledon @@ -2002,12 +2047,15 @@ 174b 8b04 Radeon HD 8860 6819 Pitcairn PRO [Radeon HD 7850] 174b e221 Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP - 6820 Venus XTX [Radeon HD 8890M] + 6820 Venus XTX [Radeon HD 8890M / R9 M275X] 103c 1851 Radeon HD 7750M - 6821 Venus XT [Radeon HD 8870M] + 17aa 3801 Radeon R9 M275 + 6821 Venus XT [Radeon HD 8870M / R9 M270X] 1002 031e FirePro SX4000 - 6822 Venus PRO - 6823 Venus PRO [Radeon HD 8850M] + 1028 05cc FirePro M5100 + 1028 15cc FirePro M5100 + 6822 Venus PRO [Radeon E8860] + 6823 Venus PRO [Radeon HD 8850M / R9 M265X] 6825 Heathrow XT [Radeon HD 7870M] 8086 2111 Chelsea PRO 6826 Chelsea LP [Radeon HD 7700M Series] @@ -2021,7 +2069,7 @@ 103c 1851 Radeon HD 7750M 6830 Cape Verde [Radeon HD 7800M Series] 6831 Cape Verde [AMD Radeon HD 7700M Series] - 6835 Cape Verde PRX [Radeon R7 260] + 6835 Cape Verde PRX [Radeon R9 255 OEM] 6837 Cape Verde LE [Radeon HD 7730/8730] 1462 2796 Radeon HD 8730 1462 8092 Radeon HD 8730 @@ -2030,11 +2078,13 @@ 6838 Cape Verde 6839 Cape Verde 683b Cape Verde [Radeon HD 7700 Series] - 683d Cape Verde XT [Radeon HD 7770 GHz Edition] + 683d Cape Verde XT [Radeon HD 7770/8760 / R7 250X] 1002 0030 Radeon HD 8760 OEM 1019 0030 Radeon HD 8760 OEM 103c 6890 Radeon HD 8760 OEM - 683f Cape Verde PRO [Radeon HD 7750] + 1043 8760 Radeon HD 8760 OEM + 174b 8304 Radeon HD 8760 OEM + 683f Cape Verde PRO [Radeon HD 7750 / R7 250E] 6840 Thames [Radeon HD 7500M/7600M Series] 1025 050e Radeon HD 7670M 1025 050f Radeon HD 7670M @@ -2527,6 +2577,7 @@ 103c 2aac Radeon HD 5450 103c 2aae Radeon HD 5450 103c 3580 Radeon HD 5450 + 1043 0386 Radeon HD 5450 1043 03c2 EAH5450 SILENT/DI/512MD2 (LP) 1462 2130 Radeon HD 5450 1462 2131 Radeon HD 5450 @@ -2580,7 +2631,7 @@ 17af 3012 Radeon HD 5490 17af 3013 Radeon HD 5470 17af 3014 Radeon HD 6350 - 68fa Cedar [Radeon HD 7350/8350] + 68fa Cedar [Radeon HD 7350/8350 / R5 220] 1019 0019 Radeon HD 7350 1019 0021 Radeon HD 7350 1019 0022 Radeon HD 7350 @@ -2594,6 +2645,9 @@ 1462 2495 Radeon HD 7350 1462 b490 Radeon HD 7350 1642 3985 Radeon HD 7350 + 174b 3510 Radeon HD 8350 + 174b 3521 Radeon R5 220 + 174b 3522 Radeon R5 220 174b 7350 Radeon HD 7350 174b 8153 Radeon HD 8350 174b e127 Radeon HD 7350 @@ -2601,6 +2655,8 @@ 174b e180 Radeon HD 7350 17af 3015 Radeon HD 7350 68fe Cedar LE + 6900 Topaz XT [Radeon R7 M260] + 6901 Topaz PRO [Radeon R5 M255] 6920 Tonga 700f RS100 AGP Bridge 7010 RS200/RS250 AGP Bridge @@ -2956,15 +3012,15 @@ 9808 Wrestler [Radeon HD 7340] 9809 Wrestler [Radeon HD 7310] 980a Wrestler [Radeon HD 7290] - 9830 Kabini [Radeon HD 8400] + 9830 Kabini [Radeon HD 8400 / R3 Series] 9831 Kabini [Radeon HD 8400E] 9832 Kabini [Radeon HD 8330] 9833 Kabini [Radeon HD 8330E] 9834 Kabini [Radeon HD 8210] 9835 Kabini [Radeon HD 8310E] - 9836 Kabini [Radeon HD 8280] + 9836 Kabini [Radeon HD 8280 / R3 Series] 9837 Kabini [Radeon HD 8280E] - 9838 Kabini [Radeon HD 8240] + 9838 Kabini [Radeon HD 8240 / R3 Series] 9839 Kabini [Radeon HD 8180] 983a Kabini 983b Kabini @@ -2988,10 +3044,14 @@ 985d Mullins 985e Mullins 985f Mullins + 9900 Trinity [Radeon HD 7660G] # AMD A10-5800K CPU 9901 Trinity [Radeon HD 7660D] 9902 Trinity HDMI Audio Controller + 103c 194e ProBook 455 G1 Notebook 9903 Trinity [Radeon HD 7640G] + 103c 194e ProBook 455 G1 Notebook + 103c 1952 ProBook 455 G1 Notebook 9904 Trinity [Radeon HD 7560D] 9905 Trinity [FirePro A300 Series Graphics] 9906 Trinity [FirePro A300 Series Graphics] @@ -3022,7 +3082,8 @@ 999a Richland [Radeon HD 8410G] 999b Richland [Radeon HD 8310G] 999c Richland - 999d Richland +# AMD Quad-Core A8-Series APU A8-6500T with Radeon HD 8550D + 999d Richland [Radeon HD 8550D] 99a0 Trinity [Radeon HD 7520G] 99a2 Trinity [Radeon HD 7420G] 99a4 Trinity [Radeon HD 7400G] @@ -3189,7 +3250,7 @@ 2646 0001 KNE100TX Fast Ethernet 000a 21230 Video Codec 000d PBXGB [TGA2] - 000f PCI-to-PDQ Interface Chip [PFI] + 000f DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] 1011 def1 FDDI controller (DEFPA) 103c def1 FDDI controller (3X-DEFPA) 0014 DECchip 21041 [Tulip Pass 3] @@ -3222,6 +3283,7 @@ 1186 1101 DFE-500TX Fast Ethernet 1186 1102 DFE-500TX Fast Ethernet 1186 1112 DFE-570TX Quad Fast Ethernet + 11f0 4235 21143 [FASTLine-II UTP 10/100] 1259 2800 AT-2800Tx Fast Ethernet 1266 0004 Eagle Fast EtherMAX 12af 0019 NetFlyer Cardbus Fast Ethernet @@ -3277,6 +3339,7 @@ 00ac GD 5436 [Alpine] 00b0 GD 5440 00b8 GD 5446 + 1af4 1100 QEMU Virtual Machine 00bc GD 5480 1013 00bc CL-GD5480 00d0 GD 5462 @@ -3462,6 +3525,9 @@ 1014 0475 PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EC) 1014 0499 PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57ED) 1014 049a PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE) + 1014 04c7 PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA) + 1014 04c8 PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2) + 1014 0c49 PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD) 04aa Flash Adapter 90 (PCIe2 0.9TB) 3022 QLA3022 Network Adapter 4022 QLA3022 Network Adapter @@ -3522,6 +3588,7 @@ 1028 0493 PowerEdge RAID Controller 3/DC 1028 0511 PowerEdge Cost Effective RAID Controller ATA100/4Ch 103c 60e7 NetRAID-1M + 103c 60e8 NetRaid 2M [AMI MegaRaid 493] 9010 MegaRAID 428 Ultra RAID Controller 9030 EIDE Controller 9031 EIDE Controller @@ -3564,6 +3631,15 @@ 1417 Family 15h (Models 10h-1fh) Processor Root Port 1418 Family 15h (Models 10h-1fh) Processor Root Port 1419 Family 15h (Models 10h-1fh) I/O Memory Management Unit + 141a Family 15h (Models 30h-3fh) Processor Function 0 + 141b Family 15h (Models 30h-3fh) Processor Function 1 + 141c Family 15h (Models 30h-3fh) Processor Function 2 + 141d Family 15h (Models 30h-3fh) Processor Function 3 + 141e Family 15h (Models 30h-3fh) Processor Function 4 + 141f Family 15h (Models 30h-3fh) Processor Function 5 + 1422 Family 15h (Models 30h-3fh) Processor Root Complex + 1423 Family 15h (Models 30h-3fh) I/O Memory Management Unit + 1426 Family 15h (Models 30h-3fh) Processor Root Port 1439 Family 16h Processor Functions 5:1 1510 Family 14h Processor Root Complex 174b 1001 PURE Fusion Mini @@ -3630,6 +3706,7 @@ 1668 0299 ActionLink Home Network Adapter 2003 Am 1771 MBW [Alchemy] 2020 53c974 [PCscsi] + 1af4 1100 QEMU Virtual Machine 2040 79c974 2080 CS5536 [Geode companion] Host Bridge 2081 Geode LX Video @@ -3705,25 +3782,42 @@ 7800 FCH SATA Controller [IDE mode] 7801 FCH SATA Controller [AHCI mode] 103c 168b ProBook 4535s Notebook + 103c 194e ProBook 455 G1 Notebook 7802 FCH SATA Controller [RAID mode] 7803 FCH SATA Controller [RAID mode] 7804 FCH SATA Controller [AHCI mode] 7805 FCH SATA Controller [RAID mode] 7806 FCH SD Flash Controller 7807 FCH USB OHCI Controller + 103c 194e ProBook 455 G1 Notebook 7808 FCH USB EHCI Controller + 103c 194e ProBook 455 G1 Notebook 7809 FCH USB OHCI Controller + 103c 194e ProBook 455 G1 Notebook 780b FCH SMBus Controller + 103c 194e ProBook 455 G1 Notebook 780c FCH IDE Controller 780d FCH Azalia Controller + 103c 194e ProBook 455 G1 Notebook 1043 8444 F2A85-M Series 780e FCH LPC Bridge + 103c 194e ProBook 455 G1 Notebook 780f FCH PCI Bridge 7812 FCH USB XHCI Controller 7813 FCH SD Flash Controller 7814 FCH USB XHCI Controller - 7900 CZ SATA Controller [IDE mode] - 790b CZ SMBus Controller + 103c 194e ProBook 455 G1 Notebook + 7900 FCH SATA Controller [IDE mode] + 7901 FCH SATA Controller [AHCI mode] + 7902 FCH SATA Controller [RAID mode] + 7903 FCH SATA Controller [RAID mode] + 7904 FCH SATA Controller [AHCI mode] + 7906 FCH SD Flash Controller + 7908 FCH USB EHCI Controller + 790b FCH SMBus Controller + 790e FCH LPC Bridge + 790f FCH PCI Bridge + 7914 FCH USB XHCI Controller 9600 RS780 Host Bridge 1043 82f1 M3A78-EH Motherboard 9601 RS880 Host Bridge @@ -4100,6 +4194,8 @@ 110a 001e MGA-G100 AGP 2007 MGA Mistral 2527 Millennium G550 +# PCI\VEN_102B&DEV_2527&SUBSYS_0F42102B&REV_01 + 102b 0f42 Matrox G550 Low Profile PCI 102b 0f83 Millennium G550 102b 0f84 Millennium G550 Dual Head DDR 32Mb 102b 1e41 Millennium G550 @@ -4184,10 +4280,15 @@ 47c2 Solios COM port 4949 Radient frame grabber family 102b 0010 Radient eCL (Single-full) frame grabber + 102b 0011 Radient eCLV (Single-full) frame grabber 102b 0020 Radient eCL (Dual-base) frame grabber 102b 0030 Radient eCL (Dual-full) frame grabber 102b 0040 Radient eCL (Quad-base) frame grabber 102b 0050 Radient eCL (Golden) frame grabber + 102b 1010 Radient eV-CXP (quad CXP-6) frame grabber + 102b 1015 Radient eV-CXP (dual CXP-6) frame grabber + 102b 1020 Radient eV-CXP (quad CXP-3) frame grabber + 102b 1050 Radient eV-CXP (Golden) frame grabber 4cdc Morphis JPEG2000 accelerator 4f54 Morphis (e)Quad frame grabber 4fc5 Morphis (e)Dual frame grabber @@ -4316,6 +4417,7 @@ 1028 04b2 Vostro 3350 1028 04da Vostro 3750 1043 8413 P8P67 Deluxe Motherboard + 1af4 1100 QEMU Virtual Machine 1b96 0001 USB 3.0 PCIe Card 01e7 uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller 01f2 uPD72874 [Firewarden] IEEE1394a OHCI 1.1 Link/3-port PHY Controller @@ -4576,6 +4678,25 @@ 3238 Smart Array E200i (SAS Controller) 103c 3211 Smart Array E200i 103c 3212 Smart Array E200 + 3239 Smart Array Gen9 Controllers + 103c 21bd Smart Array + 103c 21be Smart Array + 103c 21bf Smart Array + 103c 21c0 Smart Array + 103c 21c1 Smart Array + 103c 21c2 Smart Array + 103c 21c3 Smart Array + 103c 21c4 Smart Array + 103c 21c5 Smart Array + 103c 21c6 Smart Array + 103c 21c7 Smart Array + 103c 21c8 Smart Array + 103c 21c9 Smart Array + 103c 21ca Smart Array + 103c 21cb Smart Array + 103c 21cc Smart Array + 103c 21cd Smart Array + 103c 21ce Smart Array 323a Smart Array G6 controllers 103c 3241 Smart Array P212 103c 3243 Smart Array P410 @@ -4590,22 +4711,14 @@ 103c 3352 P421 103c 3354 P420i 103c 3355 P220i -# New Smart Array controllers for Gen8+ servers 323c Smart Array Gen8+ Controllers -# Add marketing names for Gen8+ Smart Array 103c 1920 P430i -# Add marketing names for Gen8+ Smart Array 103c 1921 P830i -# Add marketing names for Gen8+ Smart Array 103c 1922 P430 -# Add marketing names for Gen8+ Smart Array 103c 1923 P431 -# Add marketing names for Gen8+ Smart Array 103c 1924 P830 103c 1925 Smart Array -# Add marketing names for Gen8+ Smart Array 103c 1926 P731m -# Add marketing names for Gen8+ Smart Array 103c 1928 P230i 3300 Integrated Lights-Out Standard Virtual USB Controller 103c 3304 iLO2 @@ -4641,7 +4754,6 @@ 4031 zx2 I/O Controller 4037 PCIe Local Bus Adapter 403b PCIe Root Port - 60e8 NetRAID-2M : ZX1/M (OEM AMI MegaRAID 493) 103e Solliday Engineering 103f Synopsys/Logic Modeling Group 1040 Accelgraphics Inc. @@ -4745,6 +4857,8 @@ 0009 STG 1764X 0010 STG4000 [3D Prophet Kyro Series] 104a 4018 ST PowerVR Kyro (64MB AGP TVO) +# 64MB AGP + 1681 0010 PowerVR Kyro II [3D Prophet 4500] 1681 0028 3D Prophet 4000XT 1681 c010 3D Prophet 4500 TV-Out 1681 c069 3D Prophet 4000XT @@ -4834,6 +4948,7 @@ 8022 TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] 104c 8023 TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) 8023 TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] + 1028 0168 Precision Workstation 670 Mainboard 103c 088c NC8000 laptop 1043 808b K8N4/A8N Series Mainboard 1043 815b P5W DH Deluxe Motherboard @@ -5104,6 +5219,7 @@ 3020 FIVE-EX based Fibre Channel to PCIe HBA 302c M001 PCI Express Switch Upstream Port 302d M001 PCI Express Switch Downstream Port + 3070 Hitachi FIVE-FX Fibre Channel to PCIe HBA 3505 SH7751 PCI Controller (PCIC) 350e SH7751R PCI Controller (PCIC) 1055 Efar Microsystems @@ -5431,6 +5547,7 @@ 003b UniNorth/Intrepid ATA/100 003e KeyLargo/Intrepid Mac I/O 003f KeyLargo/Intrepid USB + 1af4 1100 QEMU Virtual Machine 0040 K2 KeyLargo USB 0041 K2 KeyLargo Mac/IO 0042 K2 FireWire @@ -5535,6 +5652,7 @@ 103c 12d7 4Gb Fibre Channel [AB379A] 103c 12dd 4Gb Fibre Channel [AB429A] 2432 ISP2432-based 4Gb Fibre Channel to PCI Express HBA + 103c 7040 FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A] 2532 ISP2532-based 8Gb Fibre Channel to PCI Express HBA 103c 3262 StorageWorks 81Q 1077 0167 QME2572 Dual Port FC8 HBA Mezzanine @@ -5570,6 +5688,8 @@ 1077 0246 8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) 8031 8300 Series 10GbE Converged Network Adapter (FCoE) 8032 8300 Series 10GbE Converged Network Adapter (iSCSI) + 8430 ISP8324 1/10GbE Converged Network Controller (NIC VF) + 8431 8300 Series 10GbE Converged Network Adapter (FCoE VF) 8432 ISP2432M-based 10GbE Converged Network Adapter (CNA) 1078 Cyrix Corporation 0000 5510 [Grappa] @@ -5634,7 +5754,7 @@ 108d Olicom 0001 Token-Ring 16/4 PCI Adapter (3136/3137) 0002 16/4 Token Ring - 0004 RapidFire 3139 Token-Ring 16/4 PCI Adapter + 0004 RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter 108d 0004 OC-3139/3140 RapidFire Token-Ring 16/4 Adapter 0005 GoCard 3250 Token-Ring 16/4 CardBus PC Card 0006 OC-3530 RapidFire Token-Ring 100 @@ -5780,6 +5900,8 @@ 2880 DAQCard-6601 2890 PCI-6036E 28c0 PCI-6014 + 28d0 PCI-5122 + 28e0 PXI-5122 2a60 PCI-6023E 2a70 PCI-6024E 2a80 PCI-6025E @@ -5792,6 +5914,14 @@ 2ca0 PCI-6034E 2cc0 PXI-6608 2db0 PCI-6608 + 702c PXI-7831R + 702d PCI-7831R + 702e PXI-7811R + 702f PCI-7811R + 7055 PXI-7830R + 7056 PCI-7830R + 7074 PXI-7833R + 7083 PCI-7833R # Low-Cost, High-Current, 96 Ch, 5 V TTL/CMOS Digital I/O 7085 PCI-6509 70a9 PCI-6528 (Digital I/O at 60V) @@ -5809,13 +5939,65 @@ 70bd PCI-6281 70bf PXI-6281 70c0 PCI-6143 + 70f0 PXI-5922 + 70f1 PCI-5922 70f2 PCI-6224 + 7121 PXI-5122EX + 7122 PCI-5122EX 7144 PXI-5124 (12-bit 200 MS/s Digitizer) + 7145 PCI-5124 + 714c PXI-5114 + 714d PCI-5114 + 7152 PCI-5640R 716c PCI-6225 717d PCIE-6251 717f PCIe-6259 + 7193 PXI-7813R + 7194 PCI-7813R 71bc PCI-6221 (37pin) 71d0 PXI-6143 + 71dc PCI-1588 + 7260 PXI-5142 + 7261 PCI-5142 + 72a8 PXI-5152 + 72a9 PCI-5152 + 72aa PXI-5105 + 72ab PCI-5105 + 72b8 PXI-6682 + 730f PXI-5922EX + 7310 PCI-5922EX + 7333 PXI-5900 + 7349 PXI-5154 + 734a PCI-5154 + 737d PXI-5124EX + 7384 PXI-7851R + 7385 PXI-7852R + 7386 PCIe-7851R + 7387 PCIe-7852R + 7390 PXI-7841R + 7391 PXI-7842R + 7392 PXI-7853R + 7393 PCIe-7841R + 7394 PCIe-7842R + 73a5 PXIe-5641R + 73d5 PXI-7951R + 73d6 PXI-7952R + 73d7 PXI-7953R + 73e1 PXI-7854R + 73ec PXI-7954R + 73f0 PXI-5153 + 73f1 PCI-5153 + 7405 PXIe-6674T + 745e PXI-5153EX + 745f PCI-5153EX + 7460 PXI-5154EX + 7461 PCI-5154EX + 7539 NI 9157 + 753a NI 9159 + 75e5 PXI-6683 + 75e6 PXI-6683H + 7626 NI 9154 + 7627 NI 9155 b001 IMAQ-PCI-1408 b011 IMAQ-PXI-1408 b021 IMAQ-PCI-1424 @@ -5826,7 +6008,15 @@ b071 IMAQ-PCI-1422 b081 IMAQ-PXI-1422 b091 IMAQ-PXI-1411 - c4c4 PXIe-4353 + c4c4 PXIe/PCIe Device + 1093 74b2 PXIe-4353 + 1093 74d0 PXIe-7961R + 1093 74e2 PXIe-7962R + 1093 74e3 PXIe-7965R + 1093 7553 PCIe-1473R + 1093 75ce PXIe-7966R + 1093 76b7 PXIe-7975R + 1093 76d0 PXIe-5160 c801 PCI-GPIB c831 PCI-GPIB bridge 1094 First International Computers [FIC] @@ -5912,6 +6102,38 @@ 1852 1852 FlyVideo'98 - Video (with FM Tuner) 18ac d500 DViCO FusionHDTV5 Lite 270f fc00 Digitop DTT-1000 +# Vendor/ID appear to be randomly chosen + aa00 1460 Spectra8 CardA Input0 +# Vendor/ID appear to be randomly chosen + aa01 1461 Spectra8 CardA Input1 +# Vendor/ID appear to be randomly chosen + aa02 1462 Spectra8 CardA Input2 +# Vendor/ID appear to be randomly chosen + aa03 1463 Spectra8 CardA Input3 +# Vendor/ID appear to be randomly chosen + aa04 1464 Spectra8 CardB Input0 +# Vendor/ID appear to be randomly chosen + aa05 1465 Spectra8 CardB Input1 +# Vendor/ID appear to be randomly chosen + aa06 1466 Spectra8 CardB Input2 +# Vendor/ID appear to be randomly chosen + aa07 1467 Spectra8 CardB Input3 +# Vendor/ID appear to be randomly chosen + aa08 1468 Spectra8 CardC Input0 +# Vendor/ID appear to be randomly chosen + aa09 1469 Spectra8 CardC Input1 +# Vendor/ID appear to be randomly chosen + aa0a 146a Spectra8 CardC Input2 +# Vendor/ID appear to be randomly chosen + aa0b 146b Spectra8 CardC Input3 +# Vendor/ID appear to be randomly chosen + aa0c 146c Spectra8 CardD Input0 +# Vendor/ID appear to be randomly chosen + aa0d 146d Spectra8 CardD Input1 +# Vendor/ID appear to be randomly chosen + aa0e 146e Spectra8 CardD Input2 +# Vendor/ID appear to be randomly chosen + aa0f 146f Spectra8 CardD Input3 bd11 1200 PCTV pro (TV + FM stereo receiver) 036f Bt879 Video Capture 127a 0044 Bt879 Video Capture NTSC @@ -6053,6 +6275,8 @@ 4002 TIO-CE PCI Express Port 8001 O2 1394 8002 G-net NT +# PCIe x1 Low Profile + 802b REACT external interrupt controller 10aa ACC Microelectronics 0000 ACCM 2188 2051 2051 CPU bridge @@ -6164,6 +6388,7 @@ 8718 PEX 8718 16-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch 8732 PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch 8734 PEX 8734 32-lane, 8-Port PCI Express Gen 3 (8.0GT/s) Switch + 8747 PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch # This is the Non-Transparent-Bridge Virtualized Port as presented by the PLX PEX 8732 chip, the physical bridges show up at 10b5:8732 87b0 PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch 9016 PLX 9016 8-port serial controller @@ -6327,8 +6552,8 @@ 10b6 0007 Presto PCI 0009 Smart 100/16/4 PCI-HS Ringnode 10b6 0009 Smart 100/16/4 PCI-HS Ringnode - 000a Smart 100/16/4 PCI Ringnode - 10b6 000a Smart 100/16/4 PCI Ringnode + 000a Token Ring 100/16/4 Ringnode/Ringrunner + 10b6 000a Token Ring 100/16/4 Ringnode/Ringrunner 000b 16/4 CardBus Adapter Mk2 10b6 0008 16/4 CardBus Adapter Mk2 10b6 000b 16/4 Cardbus Adapter Mk2 @@ -6338,6 +6563,8 @@ 1001 Collage 155 ATM Server Adapter 10b7 3Com Corporation 0001 3c985 1000BaseSX (SX/TX) +# wrong ID? + 9850 0001 3c985B-SX 0013 AR5212 802.11abg NIC (3CRDAG675) 10b7 2031 3CRDAG675 11a/b/g Wireless PCI Adapter 0910 3C910-A01 @@ -7023,8 +7250,7 @@ 00c8 NV41M [GeForce Go 6800] 00c9 NV41M [GeForce Go 6800 Ultra] 00cc NV41GLM [Quadro FX Go1400] - 00cd NV41GL [Quadro FX 3450/4000 SDI] - 10de 029b wx4300 Workstation + 00cd NV42GL [Quadro FX 3450/4000 SDI] 00ce NV41GL [Quadro FX 1400] 00cf NV41 00d0 nForce3 LPC Bridge @@ -7944,6 +8170,11 @@ 1682 2490 GX-285N-ZDF 05e6 GT200b [GeForce GTX 275] 05e7 GT200GL [Tesla C1060 / M1060] + 10de 0595 Tesla T10 Processor + 10de 068f Tesla T10 Processor + 10de 0697 Tesla M1060 + 10de 0714 Tesla M1060 + 10de 0743 Tesla M1060 05ea GT200 [GeForce GTX 260] 05eb GT200 [GeForce GTX 295] 05ed GT200GL [Quadro Plex 2200 D2] @@ -7964,6 +8195,7 @@ 0607 G92 [GeForce GTS 240] 0608 G92M [GeForce 9800M GTX] 0609 G92M [GeForce 8800M GTS] + 106b 00a7 GeForce 8800 GS 060a G92M [GeForce GTX 280M] 060b G92M [GeForce 9800M GT] 060c G92M [GeForce 8800M GTX] @@ -8010,6 +8242,7 @@ 062c G94M [GeForce 9800M GTS] 062d G94 [GeForce 9600 GT] 062e G94 [GeForce 9600 GT] + 106b 0605 GeForce GT 130 062f G94 [GeForce 9800 S] 0630 G94 [GeForce 9600 GT] 0631 G94M [GeForce GTS 160M] @@ -8029,6 +8262,7 @@ 0647 G96M [GeForce 9600M GT] 0648 G96M [GeForce 9600M GS] 0649 G96M [GeForce 9600M GT] + 1043 202d GeForce GT 220M 064a G96M [GeForce 9700M GT] 064b G96M [GeForce 9500M G] 064c G96M [GeForce 9650M GT] @@ -8036,8 +8270,11 @@ 064e G96 [GeForce 9600 GT / 9800 GT] 0651 G96M [GeForce G 110M] 0652 G96M [GeForce GT 130M] + 152d 0850 GeForce GT 240M LE 0653 G96M [GeForce GT 120M] 0654 G96M [GeForce GT 220M] + 1043 14a2 GeForce GT 320M + 1043 14d2 GeForce GT 320M 0655 G96 [GeForce GT 120] 0656 G96 [GeForce 9650 S] 0658 G96GL [Quadro FX 380] @@ -8088,6 +8325,7 @@ 06e6 G98 [GeForce G 100] 06e7 G98 [GeForce 9300 SE] 06e8 G98M [GeForce 9200M GS] + 103c 360b GeForce 9200M GE 06e9 G98M [GeForce 9300M GS] 1043 19b2 U6V laptop 06ea G98M [Quadro NVS 150M] @@ -8255,6 +8493,7 @@ 07fe GeForce 7100/nForce 630i USB 1019 297a MCP73PVT-SM 1afa 7150 JW-IN7150-HD + 0840 C77 [GeForce 8200M] 0844 C77 [GeForce 9100M G] 0845 C77 [GeForce 8200M G] 0846 C77 [GeForce 9200] @@ -8278,6 +8517,7 @@ 0864 C79 [GeForce 9300] 0865 C79 [GeForce 9300/ION] 0866 C79 [GeForce 9400M G] + 106b 00b1 GeForce 9400M 0867 C79 [GeForce 9400] 106b 00ad iMac 9,1 0868 C79 [nForce 760i SLI] @@ -8286,7 +8526,7 @@ 086c C79 [GeForce 9300 / nForce 730i] 086d C79 [GeForce 9200] 086e C79 [GeForce 9100M G] - 086f C79 [GeForce 9200M G] + 086f MCP79 [GeForce 8200M G] 0870 C79 [GeForce 9400M] 0871 C79 [GeForce 9200] 0872 C79 [GeForce G102M] @@ -8305,9 +8545,11 @@ 19da a123 IONITX-F-E 087e ION LE VGA 087f ION LE VGA + 08a0 MCP89 [GeForce 320M] 08a2 MCP89 [GeForce 320M] 08a3 MCP89 [GeForce 320M] 08a4 MCP89 [GeForce 320M] + 08a5 MCP89 [GeForce 320M] 0a20 GT216 [GeForce GT 220] 1043 8311 ENGT220/DI/1GD3(LP)/V2 0a21 GT216M [GeForce GT 330M] @@ -8348,6 +8590,7 @@ 0a72 GT218M [GeForce 310M] 0a73 GT218M [GeForce 305M] 0a74 GT218M [GeForce G210M] + 1b0a 903a GeForce G210 0a75 GT218M [GeForce 310M] 0a76 GT218 [ION 2] 0a78 GT218GL [Quadro FX 380 LP] @@ -8385,9 +8628,11 @@ 1462 ac81 GeForce 315M 1462 ac82 GeForce 405 1462 ae33 GeForce 405 + 1642 3980 GeForce 405 17aa 3950 GeForce 405M 17aa 397d GeForce 405M 1b0a 2091 GeForce 315M + 1b0a 90b4 GeForce 405 1bfd 0003 GeForce 405 1bfd 8006 GeForce 405 1bfd 8007 GeForce 315M @@ -8478,7 +8723,7 @@ 1043 82e8 M3N72-D 1849 0ad4 K10N78FullHD-hSLI R3.0 AHCI Controller 0ad8 MCP78S [GeForce 8200] SATA Controller (RAID mode) - 0be2 High Definition Audio Controller + 0be2 GT216 HDMI Audio Controller 1043 8311 ENGT220/DI/1GD3(LP)/V2 0be3 High Definition Audio Controller 1028 040b Latitude E6510 @@ -8543,8 +8788,18 @@ 0de3 GF108M [GeForce GT 635M] 0de4 GF108 [GeForce GT 520] 0de5 GF108 [GeForce GT 530] + 0de7 GF108 [GeForce GT 610] 0de8 GF108M [GeForce GT 620M] 0de9 GF108M [GeForce GT 630M] + 1025 0692 GeForce GT 620M + 1025 0725 GeForce GT 620M + 1025 0728 GeForce GT 620M + 1025 072b GeForce GT 620M + 1025 072e GeForce GT 620M + 1025 0753 GeForce GT 620M + 1025 0754 GeForce GT 620M + 17aa 3977 GeForce GT 640M LE + 1b0a 2210 GeForce GT 635M 0dea GF108M [GeForce 610M] 17aa 365a GeForce 615 17aa 365b GeForce 615 @@ -8561,6 +8816,8 @@ 0df2 GF108M [GeForce GT 435M] 0df3 GF108M [GeForce GT 420M] 0df4 GF108M [GeForce GT 540M] + 152d 0952 GeForce GT 630M + 152d 0953 GeForce GT 630M 0df5 GF108M [GeForce GT 525M] 0df6 GF108M [GeForce GT 550M] 0df7 GF108M [GeForce GT 520M] @@ -8577,6 +8834,7 @@ 0e0c GF114 HDMI Audio Controller 0e1a GK110 HDMI Audio 0e1b GK107 HDMI Audio Controller + 103c 197b ZBook 15 1043 8428 GTX650-DC-1GD5 0e22 GF104 [GeForce GTX 460] 1462 2322 N460GTX Cyclone 1GD5/OC @@ -8594,6 +8852,7 @@ 0fc6 GK107 [GeForce GTX 650] 1043 8428 GTX650-DC-1GD5 0fcd GK107M [GeForce GT 755M] + 0fce GK107M [GeForce GT 640M LE] 0fd1 GK107M [GeForce GT 650M] 1043 1597 GeForce GT 650M 1043 15a7 GeForce GT 650M @@ -8613,6 +8872,7 @@ 0fdf GK107M [GeForce GT 740M] 0fe0 GK107M [GeForce GTX 660M Mac Edition] 0fe1 GK107M [GeForce GT 730M] + 0fe2 GK107M [GeForce GT 745M] 0fe3 GK107M [GeForce GT 745M] 17aa 3675 GeForce GT 745A 0fe4 GK107M [GeForce GT 750M] @@ -8621,11 +8881,14 @@ # GRID K1 USM 0fe7 GK107GL [GRID K100 vGPU] 10de 101e GRID K100 + 0fe9 GK107M [GeForce GT 750M Mac Edition] + 0fea GK107M [GeForce GT 755M Mac Edition] 0fef GK107GL [GRID K340] 0ff1 GK107 [NVS 1000] 0ff2 GK107GL [GRID K1] 0ff5 GK107GL [GRID K1 Tesla USM] 0ff6 GK107GLM [Quadro K1100M] + 103c 197b ZBook 15 # GRID K1 Quadro USM 0ff7 GK107GL [GRID K140Q vGPU] 10de 1037 GRID K140Q @@ -8639,6 +8902,9 @@ 0fff GK107GL [Quadro 410] 1003 GK110 [GeForce GTX Titan LE] 1004 GK110 [GeForce GTX 780] + 3842 0784 GK110B [GeForce GTX 780 SC w/ ACX Cooler] + 3842 1784 GK110B [GeForce GTX 780 Dual FTW w/ ACX Cooler] + 3842 1788 GK110B [GeForce GTX 780 Dual Classified w/ ACX Cooler] 1005 GK110 [GeForce GTX Titan] 1043 8451 GTXTITAN-6GD5 # Reference Model @@ -8653,12 +8919,20 @@ 3842 2794 GeForce GTX Titan SC Hydro Copper # 06G-P4-2795-KR 3842 2795 GeForce GTX Titan SC Hydro Copper Signature + 1007 GK110 [GeForce GTX 780 Rev. 2] + 1008 GK110 [GeForce GTX 780 Ti Rev. 2] + 100a GK110B [GeForce GTX 780 Ti] + 100c GK110B [GeForce GTX Titan Black] 101f GK110GL [Tesla K20] 1020 GK110GL [Tesla K20X] 1021 GK110GL [Tesla K20Xm] 1022 GK110GL [Tesla K20c] + 1023 GK110BGL [Tesla K40m] + 1024 GK110BGL [Tesla K40c] 1026 GK110GL [Tesla K20s] + 1027 GK110BGL [Tesla K40st] 1028 GK110GL [Tesla K20m] + 1029 GK110BGL [Tesla K40s] 103a GK110GL [Quadro K6000] 1040 GF119 [GeForce GT 520] 1042 GF119 [GeForce 510] @@ -8668,6 +8942,7 @@ # 1024MB with passive cooling (heatsink) 10b0 104a Gainward GeForce GT 610 104b GF119 [GeForce GT 625 OEM] + 104c GF119 [GeForce GT 705] 1050 GF119M [GeForce GT 520M] 1051 GF119M [GeForce GT 520MX] 1052 GF119M [GeForce GT 520M] @@ -8676,14 +8951,26 @@ 1056 GF119M [NVS 4200M] 1057 GF119M [Quadro NVS 4200M] 1058 GF119M [GeForce 610M] + 103c 2aed GeForce 610 + 103c 2af1 GeForce 610 1043 10ac GeForce GT 610M 1043 10bc GeForce GT 610M 1043 1652 GeForce GT 610M + 17aa 367a GeForce 610M + 17aa 3682 GeForce 800A + 17aa 3687 GeForce 800A + 17aa 3692 GeForce 705A + 17aa 3695 GeForce 800A + 17aa a117 GeForce 610M + 1059 GF119M [GeForce 610M] 105a GF119M [GeForce 610M] 1043 2111 GeForce GT 610M 1043 2112 GeForce GT 610M 105b GF119M [GeForce 705M] 103c 2afb GeForce 705A + 17aa 309d GeForce 705A + 17aa 30b1 GeForce 800A + 17aa 36a1 GeForce 800A 107c GF119 [NVS 315] 107d GF119 [NVS 310] 1080 GF110 [GeForce GTX 580] @@ -8700,6 +8987,8 @@ 1091 GF110GL [Tesla M2090] 10de 088e Tesla X2090 10de 0891 Tesla X2090 + 10de 0974 Tesla X2090 + 10de 098d Tesla X2090 1094 GF110GL [Tesla M2075] 10de 0888 Tesla M2075 1096 GF110GL [Tesla C2050 / C2075] @@ -8712,7 +9001,7 @@ 10c3 GT218 [GeForce 8400 GS Rev. 3] 10c5 GT218 [GeForce 405] 10d8 GT218 [NVS 300] - 1140 GF117M [GeForce 610M/710M / GT 620M/625M/630M/720M] + 1140 GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] 1025 0600 GeForce GT 620M 1025 0606 GeForce GT 620M 1025 064a GeForce GT 620M @@ -8759,6 +9048,7 @@ 1028 054e GeForce GT 630M 1028 0554 GeForce GT 620M 1028 0557 GeForce GT 620M + 1028 0562 GeForce GT 625M 1028 0565 GeForce GT 630M 1028 0568 GeForce GT 630M 1028 0590 GeForce GT 630M @@ -8769,6 +9059,8 @@ 1028 05b1 GeForce GT 625M 1028 05b3 GeForce GT 625M 1028 05da GeForce GT 630M + 1028 05de GeForce GT 720M + 1028 05e0 GeForce GT 720M 1028 05e8 GeForce GT 630M 1028 05f4 GeForce GT 720M 103c 18ef GeForce GT 630M @@ -8784,8 +9076,17 @@ 1043 124d GeForce GT 720M 1043 126d GeForce GT 720M 1043 131d GeForce GT 720M + 1043 13fd GeForce GT 720M 1043 14c7 GeForce GT 720M 1043 1507 GeForce GT 620M + 1043 15ad GeForce 820M + 1043 15ed GeForce 820M + 1043 160d GeForce 820M + 1043 163d GeForce 820M + 1043 166d GeForce 820M + 1043 16cd GeForce 820M + 1043 16dd GeForce 820M + 1043 170d GeForce 820M 1043 2132 GeForce GT 620M 1043 2136 NVS 5200M 1043 21ba GeForce GT 720M @@ -8794,7 +9095,10 @@ 1043 221a GeForce GT 720M 1043 223a GeForce GT 710M 1043 224a GeForce GT 710M + 1043 227a GeForce 820M + 1043 228a GeForce 820M 1043 8595 GeForce GT 720M + 1072 152d GeForce GT 720M 10cf 17f5 GeForce GT 720M 1179 fa01 GeForce 710M 1179 fa02 GeForce 710M @@ -8829,18 +9133,39 @@ 144d c652 GeForce GT 620M 144d c709 GeForce 710M 144d c711 GeForce 710M + 144d c736 GeForce 710M 1462 10b8 GeForce GT 710M 1462 10e9 GeForce GT 720M + 1462 1116 GeForce 820M 1462 aa33 GeForce 720M 1462 aaa2 GeForce GT 720M + 1462 aaa3 GeForce 820M 1462 ae71 GeForce GT 720M 152d 0926 GeForce 620M 152d 0982 GeForce GT 630M 152d 0983 GeForce GT 630M + 152d 1012 GeForce 710M 152d 1030 GeForce GT 630M 152d 1055 GeForce 710M + 152d 1067 GeForce GT 720M + 152d 1072 GeForce GT 720M 17aa 2200 NVS 5200M + 17aa 2213 GeForce GT 720M + 17aa 2220 GeForce GT 720M + 17aa 309c GeForce GT 720A + 17aa 30b4 GeForce 820A 17aa 3656 GeForce GT 620M + 17aa 365a GeForce 705M + 17aa 365e GeForce 800M + 17aa 366c GeForce 800M + 17aa 3685 GeForce 800M + 17aa 3686 GeForce 800M + 17aa 3687 GeForce 705A + 17aa 3696 GeForce 820A + 17aa 369b GeForce 820A + 17aa 369c GeForce 820A + 17aa 369d GeForce 820A + 17aa 369e GeForce 820A 17aa 3800 GeForce GT 720M 17aa 3801 GeForce GT 720M 17aa 3802 GeForce GT 720M @@ -8855,6 +9180,7 @@ 17aa 3912 GeForce 720M 17aa 3977 GeForce GT 720M 17aa 3983 GeForce 610M + 17aa 5001 GeForce 610M 17aa 5003 GeForce GT 720M 17aa 5005 GeForce 705M 17aa 500d GeForce GT 620M @@ -8870,11 +9196,17 @@ 17aa 502d GeForce 710M 17aa 502e GeForce GT 720M 17aa 502f GeForce GT 720M + 17aa 503e GeForce 710M + 17aa 503f GeForce 820M 1854 0177 GeForce 710M 1854 0180 GeForce 710M + 1854 0190 GeForce GT 720M + 1854 0192 GeForce GT 720M 1b0a 20dd GeForce GT 620M 1b0a 20df GeForce GT 620M + 1b0a 2202 GeForce GT 720M 1180 GK104 [GeForce GTX 680] + 1043 83f1 GTX680-DC2-2GD5 3842 3682 GeForce GTX 680 Mac Edition 1182 GK104 [GeForce GTX 760 Ti] 1183 GK104 [GeForce GTX 660 Ti] @@ -8894,8 +9226,12 @@ 118e GK104 [GeForce GTX 760 OEM] 118f GK104GL [Tesla K10] 1193 GK104 [GeForce GTX 760 Ti OEM] - 119d GK104M [GeForce GTX 775M] - 119e GK104M [GeForce GTX 780M] + 1195 GK104 [GeForce GTX 660 Rev. 2] + 1198 GK104M [GeForce GTX 880M] + 1199 GK104M [GeForce GTX 870M] + 119a GK104M [GeForce GTX 860M] + 119d GK104M [GeForce GTX 775M Mac Edition] + 119e GK104M [GeForce GTX 780M Mac Edition] 119f GK104M [GeForce GTX 780M] 11a0 GK104M [GeForce GTX 680M] 11a1 GK104M [GeForce GTX 670MX] @@ -8935,6 +9271,7 @@ 11e1 GK106M [GeForce GTX 765M] 11e2 GK106M [GeForce GTX 765M] 11e3 GK106M [GeForce GTX 760M] + 17aa 3683 GeForce GTX 760A 11fa GK106GL [Quadro K4000] 11fc GK106GLM [Quadro K2100M] 1200 GF114 [GeForce GTX 560 Ti] @@ -8982,8 +9319,10 @@ 1462 10cc GeForce GT 635M 1251 GF116M [GeForce GT 560M] 1280 GK208 [GeForce GT 635] + 1281 GK208 [GeForce GT 710] 1282 GK208 [GeForce GT 640 Rev. 2] 1284 GK208 [GeForce GT 630 Rev. 2] + 1286 GK208 [GeForce GT 720] 1290 GK208M [GeForce GT 730M] 103c 2afa GeForce GT 730A 103c 2b04 GeForce GT 730A @@ -8996,12 +9335,30 @@ 1293 GK208M [GeForce GT 730M] 1294 GK208M [GeForce GT 740M] 1295 GK208M [GeForce 710M] + 1296 GK208M [GeForce 825M] 1298 GK208M [GeForce GT 720M] 12a0 GK208 12b9 GK208GLM [Quadro K610M] 12ba GK208GLM [Quadro K510M] + 1340 GM108M [GeForce 830M] + 1341 GM108M [GeForce 840M] + 17aa 3697 GeForce 840A + 17aa 3699 GeForce 840A + 17aa 369c GeForce 840A + 1380 GM107 [GeForce GTX 750 Ti] + 1381 GM107 [GeForce GTX 750] + 1382 GM107 [GeForce GTX 745] + 1390 GM107M [GeForce 845M] + 1391 GM107M [GeForce GTX 850M] + 17aa 3697 GeForce GTX 850A + 17aa a125 GeForce GTX 850A + 1392 GM107M [GeForce GTX 860M] + 1393 GM107M [GeForce 840M] 10df Emulex Corporation 0720 OneConnect NIC (Skyhawk) + 17aa 1056 ThinkServer OCm14102-UX-L AnyFabric + 17aa 1057 ThinkServer OCm14104-UX-L AnyFabric + 17aa 1059 ThinkServer OCm14104-UT-L AnyFabric 0722 OneConnect iSCSI Initiator (Skyhawk) 0723 OneConnect iSCSI Initiator + Target (Skyhawk) 0724 OneConnect FCoE Initiator (Skyhawk) @@ -9016,6 +9373,8 @@ e200 Lancer-X: LightPulse Fibre Channel Host Adapter e208 LightPulse 16Gb Fibre Channel Host Adapter (Lancer-VF) e220 OneConnect NIC (Lancer) + 17aa 1054 ThinkServer LPm16002B-M6-L AnyFabric + 17aa 1055 ThinkServer LPm16004B-M8-L AnyFabric e240 OneConnect iSCSI Initiator (Lancer) e260 OneConnect FCoE Initiator (Lancer) e268 OneConnect 10Gb FCoE Converged Network Adapter (Lancer-VF) @@ -9138,23 +9497,25 @@ 0101 3GA 8111 Twist3 Frame Grabber 10ec Realtek Semiconductor Co., Ltd. - 0139 Zonet Zen3200 - 0880 Realtek 880 High Definition Audio - 0883 Realtek 883 High Definition Audio - 0885 Realtek 885 High Definition Audio - 0888 Realtek 888 High Definition Audio - 0892 Realtek 892 High Definition Audio + 0139 RTL-8139/8139C/8139C+ Ethernet Controller + 5208 RTS5208 PCI Express Card Reader 5209 RTS5209 PCI Express Card Reader + 5227 RTS5227 PCI Express Card Reader + 17aa 220e ThinkPad T440p + 17aa 2214 ThinkPad X240 5229 RTS5229 PCI Express Card Reader 1025 0813 Aspire R7-571 - 5288 Barossa PCI Express Card Reader + 103c 194e ProBook 455 G1 Notebook + 5249 RTS5249 PCI Express Card Reader + 103c 1909 ZBook 15 + 5288 RTS5288 PCI Express Card Reader 8029 RTL-8029(AS) 10b8 2011 EZ-Card (SMC1208) 10ec 8029 RTL-8029(AS) 1113 1208 EN1208 1186 0300 DE-528 1259 2400 AT-2400 - 1af4 1100 Qemu virtual machine + 1af4 1100 QEMU Virtual Machine 8129 RTL-8129 10ec 8129 RT8129 Fast Ethernet Adapter 11ec 8129 RTL8111/8168 PCIe Gigabit Ethernet (misconfigured) @@ -9164,7 +9525,7 @@ 1179 ff64 RTL8102E PCI-E Fast Ethernet NIC 8138 RT8139 (B/C) Cardbus Fast Ethernet Adapter 10ec 8138 RT8139 (B/C) Fast Ethernet Adapter - 8139 RTL-8139/8139C/8139C+ + 8139 RTL-8100/8101L/8139 PCI Fast Ethernet Adapter 0357 000a TTP-Monitoring Card V2.0 1025 005a TravelMate 290 1025 8920 ALN-325 @@ -9176,8 +9537,9 @@ 1043 8109 P5P800-MX Mainboard 1071 8160 MIM2000 10bd 0320 EP-320X-R + 10ec 8139 RTL-8100/8101L/8139 PCI Fast Ethernet Adapter 10f7 8338 Panasonic CF-Y5 laptop - 1113 ec01 FNC-0107TX + 1113 ec01 LevelOne FNC-0107TX/FNC-0109TX 1186 1300 DFE-538TX 1186 1320 SN5200 1186 8139 DRN-32TX @@ -9208,6 +9570,7 @@ 1799 5010 F5D5010 CardBus Notebook Network Card 187e 3303 FN312 1904 8139 RTL8139D Fast Ethernet Adapter + 1af4 1100 QEMU Virtual Machine 2646 0001 KNE120TX 8e2e 7000 KF-230TX 8e2e 7100 KF-230TX/2 @@ -9218,9 +9581,12 @@ 1462 236c 945P Neo3-F motherboard 8168 RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller 1019 8168 RTL8111/8168 PCI Express Gigabit Ethernet controller + 1028 0283 Vostro 220 1028 04b2 Vostro 3350 1028 04da Vostro 3750 103c 1611 Pavilion DM1Z-3000 + 103c 1950 ProBook 450/455 + 103c 2a6f Asus IPIBL-LB Motherboard 1043 11f5 A6J-Q008 1043 16d5 U6V/U31J laptop 1043 81aa P5B @@ -9233,6 +9599,7 @@ 1458 e000 Motherboard 1462 238c Onboard RTL8111b on MSI P965 Platinum Mainboard 1462 368c K9AG Neo2 + 1462 4180 Wind PC MS-7418 1462 7522 X58 Pro-E 1775 11cc CC11/CL11 1849 8168 Motherboard (one of many) @@ -9259,21 +9626,26 @@ 8174 RTL8192SE Wireless LAN Controller 8176 RTL8188CE 802.11b/g/n WiFi Adapter 1a3b 1139 AW-NE139H Half-size Mini PCIe Card - 8177 RTL8188CE 802.11b/g/n WiFi Adapter - 8178 RTL8188CE 802.11b/g/n WiFi Adapter + 8177 RTL8191CE PCIe Wireless Network Adapter + 8178 RTL8192CE PCIe Wireless Network Adapter 8179 RTL8188EE Wireless Network Adapter 8180 RTL8180L 802.11b MAC 1385 4700 MA521 802.11b Wireless PC Card 1737 0019 WPC11v4 802.11b Wireless-B Notebook Adapter 8185 RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller - 8190 RTL8190 802.11n Wireless LAN - 8191 RTL8188CE 802.11b/g/n WiFi Adapter + 818b RTL8192EE PCIe Wireless Network Adapter + 8190 RTL8190 802.11n PCI Wireless Network Adapter + 8191 RTL8192CE PCIe Wireless Network Adapter 8192 RTL8192E/RTL8192SE Wireless LAN Controller 8193 RTL8192DE Wireless LAN Controller 8197 SmartLAN56 56K Modem 8199 RTL8187SE Wireless LAN Controller 1462 6894 MN54G2 / MS-6894 Wireless Mini PCIe Card 8723 RTL8723AE PCIe Wireless Network Adapter + 8812 RTL8812AE 802.11ac PCIe Wireless Network Adapter + 8813 RTL8813AE 802.11ac PCIe Wireless Network Adapter + 8821 RTL8821AE 802.11ac PCIe Wireless Network Adapter + b723 RTL8723BE PCIe Wireless Network Adapter 10ed Ascii Corporation 7310 V7310 10ee Xilinx Corporation @@ -9366,6 +9738,7 @@ 1102 0053 SB0090 Audigy Player/OEM 1102 0058 SB0090 Audigy Player/OEM 1102 1002 SB Audigy2 Platinum + 1102 1003 SB0350 Audigy 2 1102 1007 SB0240 Audigy 2 Platinum 6.1 1102 1009 SB Audigy2 OEM HP 1102 2001 SB Audigy 2 ZS Platinum Pro @@ -9442,6 +9815,7 @@ 1740 RocketRAID 1740 1742 RocketRAID 1742 2210 RocketRAID 2210 SATA-II Controller + 11ab 11ab 88SX6042 2300 RocketRAID 230x 4 Port SATA-II Controller 2310 RocketRAID 2310 4 Port SATA-II Controller 2320 RocketRAID 2320 SATA-II Controller @@ -9511,7 +9885,7 @@ 0409 VX855/VX875 Host Bridge: Host Control 0410 VX900 Host Bridge: Host Control 0415 VT6415 PATA IDE Host Controller - 1043 838f M5A88-V EVO + 1043 838f Motherboard 0501 VT8501 [Apollo MVP4] 0505 VT82C505 # Shares chip with :0576. The VT82C576M has :1571 instead of :0561. @@ -9649,6 +10023,7 @@ # probably all K7VT2/4*/6 1849 3038 K7VT series Motherboards 19da a179 ZBOX nano VD01 + 1af4 1100 QEMU Virtual Machine 3040 VT82C586B ACPI 3043 VT86C100A [Rhine] 10bd 0000 VT86C100A Fast Ethernet Adapter @@ -9841,6 +10216,7 @@ 3230 K8M890CE/K8N890CE [Chrome 9] 3238 K8T890 Host Bridge 3249 VT6421 IDE/SATA Controller + 1106 3249 VT6421 IDE/SATA Controller 324a CX700/VX700 PCI to PCI Bridge 324b CX700/VX700 Host Bridge 324e CX700/VX700 Internal Module Bus @@ -10037,7 +10413,7 @@ 013d P1690Plus 1109 Cogent Data Technologies, Inc. 1400 EM110TX [EX110TX] -110a Siemens Nixdorf AG +110a Siemens AG 0002 Pirahna 2-port 0005 Tulip controller, power management, switch extender 0006 FSC PINC (I/O-APIC) @@ -10050,11 +10426,24 @@ # Superfastcom-PCI (Commtech, Inc.) or DSCC4 WAN Adapter 2102 DSCC4 PEB/PEF 20534 DMA Supported Serial Communication Controller with 4 Channels 2104 Eicon Diva 2.02 compatible passive ISDN card - 3141 SIMATIC NET CP 5611 (Profibus Adapter) - 3142 SIMATIC NET CP 5613A1 (Profibus Adapter) + 3141 SIMATIC NET CP 5611 / 5621 + 3142 SIMATIC NET CP 5613 / 5614 + 3143 SIMATIC NET CP 1613 4021 SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) - 4029 SIMATIC NET CP 5613A2 (Profibus Adapter) + 4029 SIMATIC NET CP 5613 A2 + 110a 4029 SIMATIC NET CP 5613 A2 + 110a c029 SIMATIC NET CP 5614 A2 4035 SIMATIC NET CP 1613 A2 + 4036 SIMATIC NET CP 1616 + 4038 SIMATIC NET CP 1604 + 4069 SIMATIC NET CP 5623 + 110a 4069 SIMATIC NET CP 5623 + 110a c069 SIMATIC NET CP 5624 + 407c SIMATIC NET CP 5612 + 407d SIMATIC NET CP 5613 A3 + 407e SIMATIC NET CP 5622 + 4083 SIMATIC NET CP 5614 A3 + 4084 SIMATIC NET CP 1626 4942 FPGA I-Bus Tracer for MBD 6120 SZB6120 110b Chromatic Research Inc. @@ -10370,6 +10759,7 @@ 14c0 1212 LifeView FlyTV Platinum Mini2 153b 1160 Cinergy 250 PCI TV 153b 1162 Terratec Cinergy 400 mobile + 17de 7256 PlusTV All In One PI610 card 17de 7350 ATSC 110 Digital / Analog HDTV Tuner 17de 7352 ATSC 115 Digital / Analog HDTV Tuner 185b c100 VideoMate TV @@ -10394,7 +10784,12 @@ 5ace 6193 Behold TV M6 Extra 5ace 6290 Behold TV H6 5ace 7090 Behold TV A7 + 5ace 7150 Behold TV H75 + 5ace 7151 Behold TV H75 5ace 7190 Behold TV H7 + 5ace 7191 Behold TV H7 + 5ace 7290 Behold TV T7 + 5ace 7591 Behold TV X7 5ace 7595 Behold TV X7 7134 SAA7134/SAA7135HL Video Broadcast Decoder 0000 4036 Behold TV 403 @@ -10474,6 +10869,7 @@ 1894 0023 TVStation DVB-C plus 7160 SAA7160 1458 9009 E8000 DVB-T/Analog TV/FM tuner + 1461 1455 AVerTV Hybrid Speedy PCI-E (H788) 7162 SAA7162 11bd 0101 Pinnacle PCTV 7010iX TV Card 7164 SAA7164 @@ -10497,7 +10893,14 @@ 0070 89a1 WinTV HVR-2200 7231 SAA7231 5ace 8000 Behold TV H8 + 5ace 8001 Behold TV H8 + 5ace 8050 Behold TV H85 + 5ace 8051 Behold TV H85 5ace 8100 Behold TV A8 + 5ace 8101 Behold TV A8 + 5ace 8150 Behold TV A85 + 5ace 8151 Behold TV A85 + 5ace 8201 Behold TV T8 9730 SAA9730 Integrated Multimedia and Peripheral Controller 1131 0000 Integrated Multimedia and Peripheral Controller 1132 Mitel Corp. @@ -10608,26 +11011,35 @@ 0041 VIC PCIe Downstream Port 0042 VIC Management Controller 1137 0047 VIC P81E PCIe Management Controller + 1137 0085 VIC 1225 PCIe Management Controller + 1137 00cd VIC 1285 PCIe Management Controller + 1137 00ce VIC 1225T PCIe Management Controller 0043 VIC Ethernet NIC 1137 0047 VIC P81E PCIe Ethernet NIC 1137 0048 VIC M81KR Mezzanine Ethernet NIC 1137 004f VIC 1280 Mezzanine Ethernet NIC 1137 0084 VIC 1240 MLOM Ethernet NIC 1137 0085 VIC 1225 PCIe Ethernet NIC + 1137 00cd VIC 1285 PCIe Ethernet NIC + 1137 00ce VIC 1225T PCIe Ethernet NIC 0044 VIC Ethernet NIC Dynamic 1137 0047 VIC P81E PCIe Ethernet NIC Dynamic 1137 0048 VIC M81KR Mezzanine Ethernet NIC Dynamic 1137 004f VIC 1280 Mezzanine Ethernet NIC Dynamic 1137 0084 VIC 1240 MLOM Ethernet NIC Dynamic 1137 0085 VIC 1225 PCIe Ethernet NIC Dynamic + 1137 00cd VIC 1285 PCIe Ethernet NIC Dynamic + 1137 00ce VIC 1225T PCIe Ethernet NIC Dynamic 0045 VIC FCoE HBA 1137 0047 VIC P81E PCIe FCoE HBA 1137 0048 VIC M81KR Mezzanine FCoE HBA 1137 004f VIC 1280 Mezzanine FCoE HBA + 1137 0084 VIC 1240 MLOM FCoE HBA + 1137 0085 VIC 1225 PCIe FCoE HBA + 1137 00cd VIC 1285 PCIe FCoE HBA + 1137 00ce VIC 1225T PCIe FCoE HBA 004e VIC 82 PCIe Upstream Port 0071 VIC SR-IOV VF - 0084 VIC 1240 MLOM FCoE HBA - 0085 VIC 1225 PCIe FCOE HBA 00cf VIC Userspace NIC 1138 Ziatech Corporation 8905 8905 [STD 32 Bridge] @@ -11056,7 +11468,7 @@ 144d c005 X10 Laptop 144d c00c P30/P35 notebook 14ef 0220 PCD-RP-220S - 17aa 201c ThinkPad X60s + 17aa 201c ThinkPad X60/X60s 17aa 20c4 ThinkPad T61 17aa 20c6 ThinkPad R61 0477 RL5c477 @@ -11076,7 +11488,7 @@ 1043 1757 M2400N laptop 144d c005 X10 Laptop 144d c00c P30/P35 notebook - 17aa 201e ThinkPad X60s + 17aa 201e ThinkPad X60/X60s 0554 R5C554 0575 R5C575 SD Bus Host Adapter 0576 R5C576 SD Bus Host Adapter @@ -11110,13 +11522,14 @@ 1043 1967 ASUS V6800V 10f7 8338 Panasonic CF-Y5 laptop 144d c018 X20 IV - 17aa 201d ThinkPad X60s + 17aa 201d ThinkPad X60/X60s 17aa 20c7 ThinkPad T61 17aa 20c8 ThinkPad W500 0832 R5C832 IEEE 1394 Controller 1025 0121 Aspire 5920G 1028 01d7 XPS M1210 1028 01f3 Inspiron 1420 + 1028 024d Latitude E4300 103c 30b5 Presario V3242AU 103c 30b7 Presario V6133CL 103c 30c1 Compaq 6910p @@ -11309,6 +11722,7 @@ 2a41 88W8366 [TopDog] 802.11n Wireless 2a42 88W8366 [TopDog] 802.11n Wireless 2a43 88W8366 [TopDog] 802.11n Wireless + 2a55 88W8864 [Avastar] 802.11ac Wireless 2b36 88W8764 [Avastar] 802.11n Wireless 4101 OLPC Cafe Controller Secure Digital Controller 4320 88E8001 Gigabit Ethernet Controller @@ -11662,6 +12076,7 @@ 5803 USS-344S USB Controller 5811 FW322/323 [TrueFire] 1394a Controller 103c 2a34 Pavilion a1677c + 103c 2a6f Asus IPIBL-LB Motherboard 103c 2a9e Pavilion p6310f 1043 8294 LSI FW322/323 IEEE 1394a FireWire Controller 8086 524c D865PERL mainboard @@ -11794,6 +12209,9 @@ 7375 PM7375 [LASAR-155 ATM SAR] 7384 PM7384 [FREEDM - 84P672 Frm Engine & Datalink Mgr] 8000 PM8000 [SPC - SAS Protocol Controller] + 8032 ATTO Celerity FC8xEN + 117c 003b Celerity FC-82EN Fibre Channel Adapter + 117c 003c Celerity FC-84EN Fibre Channel Adapter 11f9 I-Cube Inc 11fa Kasan Electronics Company, Ltd. 11fb Datel Inc @@ -11931,6 +12349,7 @@ 8330 OZ600 MS/xD Controller 1028 04a3 Precision M4600 8331 O2 Flash Memory Card + 8520 SD/MMC Card Reader Controller 1218 Hybricon Corp. 1219 First Virtual Corporation 121a 3Dfx Interactive, Inc. @@ -12267,13 +12686,13 @@ 0002 DirecPC 1274 Ensoniq 1171 ES1373 [AudioPCI] (also Creative Labs CT5803) - 1371 ES1371 [AudioPCI-97] + 1371 ES1371 / Creative Labs CT2518 [AudioPCI-97] 0e11 0024 AudioPCI on Motherboard Compaq Deskpro 0e11 b1a7 ES1371, ES1373 AudioPCI 1033 80ac ES1371, ES1373 AudioPCI 1042 1854 Tazer 107b 8054 Tabor2 - 1274 1371 Creative Sound Blaster AudioPCI64V, AudioPCI128 + 1274 1371 AudioPCI 64V/128 / Creative Sound Blaster CT4810 1274 8001 CT4751 board 1462 6470 ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A 1462 6560 ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10 @@ -13506,6 +13925,7 @@ 13f6 ffff CMI8787-HG2PCI 14c3 1710 HiFier Fantasia 14c3 1711 HiFier Serenade + 14c3 1713 HiFier Serenade III 1a58 0910 Barracuda AC-1 415a 5431 X-Meridian 7.1 5431 017a X-Meridian 7.1 2G @@ -13952,8 +14372,12 @@ 5012 T560-CR Unified Wire Ethernet Controller 5013 T580-CR Unified Wire Ethernet Controller 5014 T580-LP-SO-CR Unified Wire Ethernet Controller + 5015 T502-BT Unified Wire Ethernet Controller 5080 T540-5080 Unified Wire Ethernet Controller 5081 T540-5081 Unified Wire Ethernet Controller + 5083 T540-5083 Unified Wire Ethernet Controller + 5084 T580-5084 Unified Wire Ethernet Controller + 5085 T580-5085 Unified Wire Ethernet Controller 5401 T520-CR Unified Wire Ethernet Controller 5402 T522-CR Unified Wire Ethernet Controller 5403 T540-CR Unified Wire Ethernet Controller @@ -13974,8 +14398,12 @@ 5412 T560-CR Unified Wire Ethernet Controller 5413 T580-CR Unified Wire Ethernet Controller 5414 T580-LP-SO-CR Unified Wire Ethernet Controller + 5415 T502-BT Unified Wire Ethernet Controller 5480 T540-5080 Unified Wire Ethernet Controller 5481 T540-5081 Unified Wire Ethernet Controller + 5483 T540-5083 Unified Wire Ethernet Controller + 5484 T580-5084 Unified Wire Ethernet Controller + 5485 T580-5085 Unified Wire Ethernet Controller 5501 T520-CR Unified Wire Storage Controller 5502 T522-CR Unified Wire Storage Controller 5503 T540-CR Unified Wire Storage Controller @@ -13996,8 +14424,12 @@ 5512 T560-CR Unified Wire Storage Controller 5513 T580-CR Unified Wire Storage Controller 5514 T580-LP-SO-CR Unified Wire Storage Controller + 5515 T502-BT Unified Wire Storage Controller 5580 T540-5080 Unified Wire Storage Controller 5581 T540-5081 Unified Wire Storage Controller + 5583 T540-5083 Unified Wire Storage Controller + 5584 T580-5084 Unified Wire Storage Controller + 5585 T580-5085 Unified Wire Storage Controller 5601 T520-CR Unified Wire Storage Controller 5602 T522-CR Unified Wire Storage Controller 5603 T540-CR Unified Wire Storage Controller @@ -14018,8 +14450,12 @@ 5612 T560-CR Unified Wire Storage Controller 5613 T580-CR Unified Wire Storage Controller 5614 T580-LP-SO-CR Unified Wire Storage Controller + 5615 T502-BT Unified Wire Storage Controller 5680 T540-5080 Unified Wire Storage Controller 5681 T540-5081 Unified Wire Storage Controller + 5683 T540-5083 Unified Wire Storage Controller + 5684 T580-5084 Unified Wire Storage Controller + 5685 T580-5085 Unified Wire Storage Controller 5701 T520-CR Unified Wire Ethernet Controller 5702 T522-CR Unified Wire Ethernet Controller 5703 T540-CR Unified Wire Ethernet Controller @@ -14040,8 +14476,12 @@ 5712 T560-CR Unified Wire Ethernet Controller 5713 T580-CR Unified Wire Ethernet Controller 5714 T580-LP-SO-CR Unified Wire Ethernet Controller + 5715 T502-BT Unified Wire Ethernet Controller 5780 T540-5080 Unified Wire Ethernet Controller 5781 T540-5081 Unified Wire Ethernet Controller + 5783 T540-5083 Unified Wire Ethernet Controller + 5784 T580-5084 Unified Wire Ethernet Controller + 5785 T580-5085 Unified Wire Ethernet Controller 5801 T520-CR Unified Wire Ethernet Controller 5802 T522-CR Unified Wire Ethernet Controller 5803 T540-CR Unified Wire Ethernet Controller @@ -14062,8 +14502,12 @@ 5812 T560-CR Unified Wire Ethernet Controller 5813 T580-CR Unified Wire Ethernet Controller 5814 T580-LP-SO-CR Unified Wire Ethernet Controller + 5815 T502-BT Unified Wire Ethernet Controller 5880 T540-5080 Unified Wire Ethernet Controller 5881 T540-5081 Unified Wire Ethernet Controller + 5883 T540-5083 Unified Wire Ethernet Controller + 5884 T580-5084 Unified Wire Ethernet Controller + 5885 T580-5085 Unified Wire Ethernet Controller a000 PE10K Unified Wire Ethernet Controller 1426 Storage Technology Corp. 1427 Better On-Line Solutions @@ -14131,6 +14575,12 @@ 144b Verint Systems Inc. 144c Catalina Research Inc 144d Samsung Electronics Co Ltd + 1600 Apple PCIe SSD + a800 XP941 PCIe SSD + a820 NVMe SSD Controller 171X + 1028 1f95 Express Flash NVMe XS1715 SSD 400GB + 1028 1f96 Express Flash NVMe XS1715 SSD 800GB + 1028 1f97 Express Flash NVMe XS1715 SSD 1600GB 144e OLITEC 144f Askey Computer Corp. 1450 Octave Communications Ind. @@ -14156,7 +14606,7 @@ a836 M115 DVB-T, PAL/SECAM/NTSC Tuner e836 M115S Hybrid Analog/DVB PAL/SECAM/NTSC Tuner f436 AVerTV Hybrid+FM -1462 Micro-Star International Co., Ltd. +1462 Micro-Star International Co., Ltd. [MSI] 1463 Fast Corporation 1464 Interactive Circuits & Systems Ltd 1465 GN NETTEST Telecom DIV. @@ -14164,7 +14614,11 @@ 1467 DIGICOM SPA 1468 AMBIT Microsystem Corp. 1469 Cleveland Motion Controls -146a IFR +# formerly IFR. +146a Aeroflex +# 1.5 GHz to 3.0 GHz x 1Hz + 3010 3010 RF Synthesizer + 3a11 3011A PXI RF Synthesizer 146b Parascan Technologies Ltd 146c Ruby Tech Corp. 1430 FE-1430TX Fast Ethernet PCI Adapter @@ -14299,6 +14753,7 @@ 103c 1240 Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM) 14c2 DTK Computer 14c3 MEDIATEK Corp. + 7630 MT7630e 802.11bgn Wireless Network Adapter 14c4 IWASAKI Information Systems Co Ltd 14c5 Automation Products AB 14c6 Data Race Inc @@ -14615,6 +15070,15 @@ 168d NetXtreme II BCM57840 10/20 Gigabit Ethernet 168e NetXtreme II BCM57810 10 Gigabit Ethernet 103c 1798 Flex-10 10Gb 2-port 530FLB Adapter [Meru] + 103c 17a5 HP Flex-10 10Gb 2-port 530M Adapter + 103c 18d3 HP Ethernet 10Gb 2-port 530T Adapter + 103c 1930 HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter + 103c 1931 HP StoreFabric CN1100R Dual Port Converged Network Adapter + 103c 1932 HP FlexFabric 10Gb 2-port 534FLB Adapter + 103c 1933 HP FlexFabric 10Gb 2-port 534M Adapter + 103c 193a HP FlexFabric 10Gb 2-port 533FLR-T Adapter + 103c 3382 HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter + 103c 339d HP Ethernet 10Gb 2-port 530SFP+ Adapter 1690 NetXtreme BCM57760 Gigabit Ethernet PCIe 1691 NetLink BCM57788 Gigabit Ethernet PCIe 1028 04aa XPS 8300 @@ -14640,7 +15104,11 @@ 16a0 NetLink BCM5785 Fast Ethernet 16a1 BCM57840 NetXtreme II 10 Gigabit Ethernet 16a2 BCM57840 NetXtreme II 10/20-Gigabit Ethernet + 103c 1916 HP FlexFabric 20Gb 2-port 630FLB Adapter + 103c 1917 HP FlexFabric 20Gb 2-port 630M Adapter 16a4 BCM57840 NetXtreme II Ethernet Multi Function + 103c 1916 HP NPAR 20Gb 2-port 630FLB Adapter + 103c 1917 HP NPAR 20Gb 2-port 630M Adapter # The Broadcom 57800 device has two 1Gig ports and two 10Gig ports. The subsystem information can be used to differentiate. 16a5 NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function 1028 1f5c NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function @@ -14684,8 +15152,30 @@ 103c 703b NC373i Integrated Multifunction Gigabit Server Adapter 103c 703d NC373F PCI Express Multifunction Gigabit Server Adapter 16ad NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function + 103c 1916 HP FlexFabric 20Gb 2-port 630FLB Adapter + 103c 1917 HP FlexFabric 20Gb 2-port 630M Adapter 16ae NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function + 103c 1798 HP NPAR 10Gb 2-port 530FLB Adapter + 103c 17a5 HP NPAR 10Gb 2-port 530M Adapter + 103c 18d3 HP NPAR 10Gb 2-port 530T Adapter + 103c 1930 HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter + 103c 1931 HP NPAR CN1100R Dual Port Converged Network Adapter + 103c 1932 HP NPAR 10Gb 2-port 534FLB Adapter + 103c 1933 HP NPAR 10Gb 2-port 534M Adapter + 103c 193a HP NPAR 10Gb 2-port 533FLR-T Adapter + 103c 3382 HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter + 103c 339d HP NPAR 10Gb 2-port 530SFP+ Adapter 16af NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function + 103c 1798 HP Flex-10 10Gb 2-port 530FLB Adapter + 103c 17a5 HP Flex-10 10Gb 2-port 530M Adapter + 103c 18d3 HP Ethernet 10Gb 2-port 530T Adapter + 103c 1930 HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter + 103c 1931 HP StoreFabric CN1100R Dual Port Converged Network Adapter + 103c 1932 HP FlexFabric 10Gb 2-port 534FLB Adapter + 103c 1933 HP FlexFabric 10Gb 2-port 534M Adapter + 103c 193a HP FlexFabric 10Gb 2-port 533FLR-T Adapter + 103c 3382 HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter + 103c 339d HP Ethernet 10Gb 2-port 530SFP+ Adapter 16b0 NetXtreme BCM57761 Gigabit Ethernet PCIe 16b1 NetLink BCM57781 Gigabit Ethernet PCIe 1849 96b1 Z77 Extreme4 motherboard @@ -15578,6 +16068,7 @@ 07a0 PCI Express Root Port 07b0 VMXNET3 Ethernet Controller 07c0 PVSCSI SCSI Controller + 07e0 SATA AHCI controller 0801 Virtual Machine Interface 15ad 0800 Hypervisor ROM Interface 1977 HD Audio Controller @@ -15674,8 +16165,10 @@ 15bc Agilent Technologies 0100 HPFC-5600 Tachyon DX2+ FC 0103 QX4 PCI Express quad 4-gigabit Fibre Channel controller - 0105 Celerity FC-42XS Fibre Channel Adapter + 0105 Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES 117c 0022 Celerity FC-42XS Fibre Channel Adapter + 117c 0025 Celerity FC-44ES Fibre Channel Adapter + 117c 0026 Celerity FC-42ES Fibre Channel Adapter 1100 E8001-66442 PCI Express CIC 2922 64 Bit, 133MHz PCI-X Exerciser & Protocol Checker 2928 64 Bit, 66MHz PCI Exerciser & Analyzer @@ -16081,13 +16574,18 @@ 103c 1838 AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter 0033 AR9580 Wireless Network Adapter 0034 AR9462 Wireless Network Adapter + 1a56 2003 Killer Wireless-N 1202 Half-size Mini PCIe Card 0036 QCA9565 / AR9565 Wireless Network Adapter + 0037 AR9485 Wireless Network Adapter +# Also used as Gigabyte GC-WB150 on a PCIe-to-mini-PCIe converter + 1a3b 2100 AW-NB100H 802.11n Wireless Mini PCIe Card 003c QCA988x 802.11ac Wireless Network Adapter 0207 AR5210 Wireless Network Adapter [AR5000 802.11a] 1014 AR5212 802.11abg NIC 1014 058a ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6) 9013 AR5002X Wireless Network Adapter ff19 AR5006X Wireless Network Adapter + ff1b AR2425 Wireless Network Adapter [AR5007EG 802.11bg] ff1c AR5008 Wireless Network Adapter ff1d AR922x Wireless Network Adapter # Found in "AVM Fritz!Box FON WLAN 7270v3" @@ -16216,6 +16714,7 @@ 0100 NSP2000-SSL crypto accelerator 170c YottaYotta Inc. 1719 EZChip Technologies + 1000 NPA Access Network Processor Family # Seems to be a 2nd ID for Vitesse Semiconductor 1725 Vitesse Semiconductor 7174 VSC7174 PCI/PCI-X Serial ATA Host Bus Controller @@ -16298,6 +16797,14 @@ 6811 TW6816 multimedia video controller 6812 TW6816 multimedia video controller 6813 TW6816 multimedia video controller +# port 5 of 8 + 6814 TW6816 multimedia video controller +# port 6 of 8 + 6815 TW6816 multimedia video controller +# port 7 of 8 + 6816 TW6816 multimedia video controller +# channel 8 of 8 + 6817 TW6816 multimedia video controller 1799 Belkin 6001 F5D6001 Wireless PCI Card [Realtek RTL8180] 6020 F5D6020 v3000 Wireless PCMCIA Card [Realtek RTL8180] @@ -16497,15 +17004,20 @@ 3091 RT3091 Wireless 802.11n 1T/2R PCIe 3092 RT3092 Wireless 802.11n 2T/2R PCIe 3290 RT3290 Wireless 802.11n 1T/1R PCIe + 103c 18ec Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter 3298 RT3290 Bluetooth + 103c 18ec Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter 3592 RT3592 Wireless 802.11abgn 2T/2R PCIe + 359f RT3592 PCIe Wireless Network Adapter 5360 RT5360 Wireless 802.11n 1T/1R 1186 3c05 DWA-525 Wireless N 150 Desktop Adapter (rev.A2) 20f4 703a TEW-703PI N150 Wireless PCI Adapter 5390 RT5390 Wireless 802.11n 1T/1R PCIe 103c 1636 U98Z077.00 Half-size Mini PCIe Card + 5392 RT5392 PCIe Wireless Network Adapter 539f RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip] 103c 1637 Pavilion DM1Z-3000 PCIe wireless card + 5592 RT5592 PCIe Wireless Network Adapter e932 RT2560F 802.11 b/g PCI 1815 Devolo AG 1820 InfiniCon Systems Inc. @@ -16827,8 +17339,15 @@ 1924 7104 SFN5161T-R4 10GBASE-T Server Adapter 1924 7904 SFN5151T-R4 10GBASE-T Server Adapter 0903 SFC9120 + 1014 04cc SFN7122F-R2 2x10GbE SFP+ Flareon Ultra 1924 8002 SFN7122F-R1 SFP+ Server Adapter + 1924 8003 SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter 1924 8006 SFN7022F-R1 SFP+ Server Adapter + 1924 8007 SFN7322F-R2 Precision Time SFP+ Server Adapter + 1924 8009 SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter + 1924 800a SFN7x02F-R2 Flareon 7000 Series 10G Adapter + 0923 SFC9140 + 1924 800b SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter 1803 SFC9020 Virtual Function [Solarstorm] 1813 SFL9021 Virtual Function [Solarstorm] 6703 SFC4000 rev A iSCSI/Onload [Solarstorm] @@ -16858,6 +17377,8 @@ 0364 AHA364-PCIe 0367 AHA367-PCIe 0370 AHA370-PCIe + 3641 AHA3641 + 3642 AHA3642 1942 ClearSpeed Technology plc e511 Advance X620 accelerator card e521 Advance e620 accelerator card @@ -16909,10 +17430,14 @@ 0082 MPC8347E TBGA 0083 MPC8347 TBGA 0084 MPC8347E PBGA + 110a 4074 SIMATIC NET CP 1628 0085 MPC8347 PBGA + 110a 4046 SIMATIC NET CP 1623 0086 MPC8343E 0087 MPC8343 00b4 MPC8315E + 00b6 MPC8314E + 1a56 1101 Killer Xeno Pro Gigabit Ethernet Controller 00c2 MPC8379E 00c3 MPC8379 00c4 MPC8378E @@ -16941,6 +17466,8 @@ 7010 MPC8641 PCI Host Bridge 7011 MPC8641D PCI Host Bridge 7018 MPC8610 + c006 MPC8308 + 1a56 1201 Killer E2100 Gigabit Ethernet Controller 1958 Faster Technology, LLC. 1959 PA Semi, Inc a000 PA6T Core @@ -16981,7 +17508,8 @@ 2048 Attansic L2 Fast Ethernet 2060 AR8152 v1.1 Fast Ethernet 2062 AR8152 v2.0 Fast Ethernet - e091 Killer E2200 Gigabit Ethernet Controller +# E2200, E2201, E2205 + e091 Killer E220x Gigabit Ethernet Controller 196a Sensory Networks Inc. 0101 NodalCore C-1000 Content Classification Accelerator 0102 NodalCore C-2000 Content Classification Accelerator @@ -17062,9 +17590,11 @@ 103c 3340 NC552SFP 2-port 10Gb Server Adapter 103c 3341 NC552m 10Gb 2-port FlexFabric Converged Network Adapter 103c 3345 NC553m 10Gb 2-port FlexFabric Converged Network Adapter + 103c 337b NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter 0712 OneConnect 10Gb iSCSI Initiator (be3) 0714 OneConnect 10Gb FCoE Initiator (be3) 103c 3315 NC553i 10Gb 2-port FlexFabric Converged Network Adapter + 103c 337b NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter 19a8 DAQDATA GmbH 19ac Kasten Chase Applied Research 0001 ACA2400 Crypto Accelerator @@ -17110,6 +17640,7 @@ 1a1e 3Leaf Systems, Inc. 1a22 Ambric Inc. 1a29 Fortinet, Inc. + 4338 CP8 Content Processor ASIC 1a2b Ascom AG 0000 GESP v1.2 0001 GESP v1.3 @@ -17124,7 +17655,8 @@ 0001 TILE64 processor 0002 TILEPro processor 0200 TILE-Gx processor - 2000 TILE-Gx PCI Express Bridge + 0201 TILE-Gx Processor Virtual Function + 2000 TILE-Gx PCI Express Root Port 1a4a SLAC National Accelerator Lab PPA-REG 1000 MCOR Power Supply Controller 1010 AMC EVR - Stockholm Timing Board @@ -17190,6 +17722,7 @@ 4005 Accelerated Virtual Video Adapter 4006 Memory Ballooning Controller 1ab9 Espia Srl +1ac8 Aeroflex Gaisler 1acc Point of View BV 1ad7 Spectracom Corporation 8000 TSync-PCIe Time Code Processor @@ -17234,6 +17767,10 @@ 1004 Virtio SCSI 1005 Virtio RNG 1009 Virtio filesystem + 1010 Virtio GPU + 1012 Virtio input device + 1110 Inter-VM shared memory + 1af4 1100 QEMU Virtual Machine 1af5 Netezza Corp. 1afa J & W Electronics Co., Ltd. 1b03 Magnum Semiconductor, Inc, @@ -17248,11 +17785,23 @@ 0612 ASM1062 Serial ATA Controller 1849 0612 Motherboard 1042 ASM1042 SuperSpeed USB Host Controller + 1043 8488 P8B WS Motherboard 1849 1042 Motherboard 1080 ASM1083/1085 PCIe to PCI Bridge 1849 1080 Motherboard 1b2c Opal-RT Technologies Inc. 1b36 Red Hat, Inc. + 0001 QEMU PCI-PCI bridge + 0002 QEMU PCI 16550A Adapter + 1af4 1100 QEMU Virtual Machine + 0003 QEMU PCI Dual-port 16550A Adapter + 1af4 1100 QEMU Virtual Machine + 0004 QEMU PCI Quad-port 16550A Adapter + 1af4 1100 QEMU Virtual Machine + 0005 QEMU PCI Test Device + 1af4 1100 QEMU Virtual Machine + 0100 QXL paravirtual graphic card + 1af4 1100 QEMU Virtual Machine 1b37 Signal Processing Devices Sweden AB 0014 ADQ412 1b3a Westar Display Technologies @@ -17275,11 +17824,16 @@ 9130 88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo 1043 8438 P8P67 Deluxe Motherboard 9172 88SE9172 SATA 6Gb/s Controller + 9178 88SE9170 PCIe SATA 6Gb/s Controller 917a 88SE9172 SATA III 6Gb/s RAID Controller + 9183 88SS9183 PCIe SSD Controller 9192 88SE9172 SATA III 6Gb/s RAID Controller 91a0 88SE912x SATA 6Gb/s Controller [IDE mode] 91a4 88SE912x IDE Controller + 9220 88SE9220 PCIe 2.0 x2 2-port SATA 6 Gb/s RAID Controller 9230 88SE9230 PCIe SATA 6Gb/s Controller + 9235 88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller + 9445 88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller 9480 88SE9480 SAS/SATA 6Gb/s RAID controller 9485 88SE9485 SAS/SATA 6Gb/s controller 1b55 NetUP Inc. @@ -17325,12 +17879,23 @@ 0003 MAX3 0004 MAX4 1bf4 VTI Instruments Corporation + 0001 SentinelEX 1bfd EeeTOP 1c1c Symphony 0001 82C101 1c2c Fiberblaze + 000a Capture + 000f SmartNIC + 00a0 FBC4G Capture 4x1Gb + 00a1 FBC4XG Capture 4x10Gb + 00a2 FBC8XG Capture 8x10Gb + 00a3 FBC2XG Capture 2x10Gb + 00a4 FBC4XGG3 Capture 4x10Gb + 00a5 FBC2XLG Capture 2x40Gb + 00a6 FBC1CG Capture 1x100Gb # Used on V120 VME Crate Controller 1c32 Highland Technology, Inc. +1c33 Daktronics, Inc 1c3b Accensus, LLC 0200 Telas2 # http://www.accensusllc.com/accensustelas2.html @@ -17347,6 +17912,7 @@ 1ce4 Exablaze 0001 ExaNIC X4 0002 ExaNIC X2 +1cf7 Subspace Dynamics 1d44 DPT a400 PM2x24/PM3224 1d5c Fantasia Trading LLC @@ -17929,7 +18495,7 @@ 1025 16 photo couple 16 relay Card 4000 WatchDog Card 6688 Zycoo Co., Ltd - 1200 CooVOX TDM Analog Module + 1200 CooVox TDM Analog Module 1400 CooVOX TDM GSM Module 1600 CooVOX TDM E1/T1 Module 1800 CooVOX TDM BRI Module @@ -18024,12 +18590,13 @@ 8086 5226 Centrino Advanced-N 6230 ABG 0100 2nd Generation Core Processor Family DRAM Controller 1028 04aa XPS 8300 - 1043 844d P8P67 Deluxe Motherboard + 1043 844d P8P67/P8H67 Series Motherboard 0101 Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port 1028 04b2 Vostro 3350 106b 00dc MacBookPro8,2 [Core i7, 15", 2011] 0102 2nd Generation Core Processor Family Integrated Graphics Controller 1028 04aa XPS 8300 + 1043 0102 P8H67 Series Motherboard 0104 2nd Generation Core Processor Family DRAM Controller 1028 04a3 Precision M4600 1028 04b2 Vostro 3350 @@ -18056,7 +18623,9 @@ 1849 0150 Motherboard 0151 Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port 1043 1477 N56VZ + 1043 844d P8 series motherboard 1043 84ca P8H77-I Motherboard + 8086 2010 Server Board S1200BTS 0152 Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller 1043 84ca P8H77-I Motherboard 0153 3rd Gen Core Processor Thermal Subsystem @@ -18067,12 +18636,16 @@ 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 0155 Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + 8086 2010 Server Board S1200BTS 0156 3rd Gen Core processor Graphics Controller 0158 Xeon E3-1200 v2/Ivy Bridge DRAM Controller + 1043 844d P8 series motherboard + 8086 2010 Server Board S1200BTS 0159 Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port 015a Xeon E3-1200 v2/Ivy Bridge Graphics Controller 015c Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller 015d Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port + 1043 844d P8 series motherboard 015e Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller 0162 Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller 1849 0162 Motherboard @@ -18080,6 +18653,7 @@ 1043 1517 Zenbook Prime UX31A 1043 2103 N56VZ 016a Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller + 1043 844d P8B WS Motherboard 0172 Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller 0176 3rd Gen Core processor Graphics Controller 0309 80303 I/O Processor PCI-to-PCI Bridge @@ -18112,6 +18686,7 @@ 040a Xeon E3-1200 v3 Processor Integrated Graphics Controller 0412 Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller 0416 4th Gen Core Processor Integrated Graphics Controller + 17aa 220e ThinkPad T440p 041a Xeon E3-1200 v3 Processor Integrated Graphics Controller 0433 Coleto Creek ACC - ME/CPM interface 0435 Coleto Creek PCIe Endpoint @@ -18329,12 +18904,86 @@ 8086 0270 Dual Band Wireless-AC 3160 # Wilkins Peak 1 1x1 80Mhz + BT - lenovo/HP 8086 8270 Dual Band Wireless AC 3160 +# PowerVR SGX 545 + 08cf Atom Processor Z2760 Integrated Graphics Controller + 095a Wireless 7265 +# Stone Peak 2 AC + 8086 1010 Dual Band Wireless-AC 7265 +# Stone Peak 2 AGN + 8086 5000 Dual Band Wireless-N 7265 +# Stone Peak 2 BGN + 8086 5002 Wireless-N 7265 +# Stone Peak 2 AGN + 8086 500a Dual Band Wireless-N 7265 +# Stone Peak 2 AC + 8086 5010 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 5012 Dual Band Wireless-AC 7265 +# Stone Peak 2 AGN + 8086 5020 Dual Band Wireless-N 7265 +# Stone Peak 2 AGN + 8086 502a Dual Band Wireless-N 7265 +# Maple Peak AC + 8086 5090 Dual Band Wireless-AC 7265 +# Stone Peak 2 AGN + 8086 5100 Dual Band Wireless-AC 7265 +# Stone Peak 2 AGN + 8086 510a Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 5110 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 5112 Dual Band Wireless-AC 7265 +# Maple Peak AC + 8086 5190 Dual Band Wireless-AC 7265 +# Stone Peak 2 AGN + 8086 5400 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 5410 Dual Band Wireless-AC 7265 +# Stone Peak 2 AGN + 8086 5420 Dual Band Wireless-N 7265 +# Maple Peak AC + 8086 5490 Dual Band Wireless-AC 7265 +# Maple Peak AC + 8086 5590 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 9010 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 9012 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 9110 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 9112 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 9210 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 9310 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 9410 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 9510 Dual Band Wireless-AC 7265 + 095b Wireless 7265 +# Stone Peak 2 AGN + 8086 5200 Dual Band Wireless-N 7265 +# Stone Peak 2 BGN + 8086 5202 Wireless-N 7265 +# Stone Peak 2 AC + 8086 5210 Dual Band Wireless-AC 7265 +# Maple Peak AC + 8086 5290 Dual Band Wireless-AC 7265 +# Stone Peak 2 BGN + 8086 5302 Dual Band Wireless-AC 7265 +# Stone Peak 2 AC + 8086 5310 Dual Band Wireless-AC 7265 0960 80960RP (i960RP) Microprocessor/Bridge 0962 80960RM (i960RM) Bridge 0964 80960RP (i960RP) Microprocessor/Bridge 0a04 Haswell-ULT DRAM Controller + 17aa 2214 ThinkPad X240 0a06 Haswell-ULT Integrated Graphics Controller + 0a0c Haswell-ULT HD Audio Controller + 17aa 2214 ThinkPad X240 0a16 Haswell-ULT Integrated Graphics Controller + 17aa 2214 ThinkPad X240 0a22 Haswell-ULT Integrated Graphics Controller 0a26 Haswell-ULT Integrated Graphics Controller 0a2a Haswell-ULT Integrated Graphics Controller @@ -18367,10 +19016,13 @@ 0c00 4th Gen Core Processor DRAM Controller 0c01 Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller 0c04 Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller + 103c 1909 ZBook 15 + 17aa 220e ThinkPad T440p 0c05 Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller 0c08 Xeon E3-1200 v3 Processor DRAM Controller 0c09 Xeon E3-1200 v3/4th Gen Core Processor PCI Express x4 Controller 0c0c Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller + 17aa 220e ThinkPad T440p 0c46 Atom Processor S1200 PCI Express Root Port 1 0c47 Atom Processor S1200 PCI Express Root Port 2 0c48 Atom Processor S1200 PCI Express Root Port 3 @@ -18412,137 +19064,141 @@ 0d16 Crystal Well Integrated Graphics Controller 0d26 Crystal Well Integrated Graphics Controller 0d36 Crystal Well Integrated Graphics Controller - 0e00 Xeon E5 v2/Core i7 DMI2 - 0e01 Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode - 0e02 Xeon E5 v2/Core i7 PCI Express Root Port 1a - 0e03 Xeon E5 v2/Core i7 PCI Express Root Port 1b - 0e04 Xeon E5 v2/Core i7 PCI Express Root Port 2a - 0e05 Xeon E5 v2/Core i7 PCI Express Root Port 2b - 0e06 Xeon E5 v2/Core i7 PCI Express Root Port 2c - 0e07 Xeon E5 v2/Core i7 PCI Express Root Port 2d - 0e08 Xeon E5 v2/Core i7 PCI Express Root Port 3a - 0e09 Xeon E5 v2/Core i7 PCI Express Root Port 3b - 0e0a Xeon E5 v2/Core i7 PCI Express Root Port 3c - 0e0b Xeon E5 v2/Core i7 PCI Express Root Port 3d - 0e10 Xeon E5 v2/Core i7 IIO Configuration Registers - 0e13 Xeon E5 v2/Core i7 IIO Configuration Registers - 0e17 Xeon E5 v2/Core i7 IIO Configuration Registers - 0e18 Xeon E5 v2/Core i7 IIO Configuration Registers - 0e1c Xeon E5 v2/Core i7 IIO Configuration Registers - 0e1d Xeon E5 v2/Core i7 R2PCIe - 0e1e Xeon E5 v2/Core i7 UBOX Registers - 0e1f Xeon E5 v2/Core i7 UBOX Registers - 0e20 Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 - 0e21 Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 - 0e22 Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 - 0e23 Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 - 0e24 Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 - 0e25 Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 - 0e26 Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 - 0e27 Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 - 0e28 Xeon E5 v2/Core i7 VTd/Memory Map/Misc - 0e29 Xeon E5 v2/Core i7 Memory Hotplug - 0e2a Xeon E5 v2/Core i7 IIO RAS - 0e2c Xeon E5 v2/Core i7 IOAPIC - 0e2e Xeon E5 v2/Core i7 CBDMA - 0e2f Xeon E5 v2/Core i7 CBDMA - 0e30 Xeon E5 v2/Core i7 Home Agent 0 - 0e32 Xeon E5 v2/Core i7 QPI Link 0 - 0e33 Xeon E5 v2/Core i7 QPI Link 1 - 0e34 Xeon E5 v2/Core i7 R2PCIe - 0e36 Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - 0e37 Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - 0e38 Xeon E5 v2/Core i7 Home Agent 1 - 0e3a Xeon E5 v2/Core i7 QPI Link 2 - 0e3e Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - 0e3f Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring - 0e40 Xeon E5 v2/Core i7 QPI Link 2 - 0e41 Xeon E5 v2/Core i7 QPI Ring Registers - 0e43 Xeon E5 v2/Core i7 QPI Link Reut 2 - 0e44 Xeon E5 v2/Core i7 QPI Link Reut 2 - 0e60 Xeon E5 v2/Core i7 Home Agent 1 - 0e68 Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers - 0e6a Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - 0e6b Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - 0e6c Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - 0e6d Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers - 0e71 Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers - 0e74 Xeon E5 v2/Core i7 R2PCIe - 0e75 Xeon E5 v2/Core i7 R2PCIe - 0e77 Xeon E5 v2/Core i7 QPI Ring Registers - 0e79 Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers - 0e7d Xeon E5 v2/Core i7 UBOX Registers - 0e7f Xeon E5 v2/Core i7 QPI Ring Registers - 0e80 Xeon E5 v2/Core i7 QPI Link 0 - 0e81 Xeon E5 v2/Core i7 QPI Ring Registers - 0e83 Xeon E5 v2/Core i7 QPI Link Reut 0 - 0e84 Xeon E5 v2/Core i7 QPI Link Reut 0 - 0e87 Xeon E5 v2/Core i7 QPI Registers - 0e90 Xeon E5 v2/Core i7 QPI Link 1 - 0e93 Xeon E5 v2/Core i7 QPI Link 1 - 0e94 Xeon E5 v2/Core i7 QPI Link Reut 1 - 0ea0 Xeon E5 v2/Core i7 Home Agent 0 - 0ea8 Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers - 0eaa Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - 0eab Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - 0eac Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - 0ead Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers - 0eae Xeon E5 v2/Core i7 DDRIO Registers - 0eaf Xeon E5 v2/Core i7 DDRIO Registers - 0eb0 Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 - 0eb1 Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 - 0eb2 Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 - 0eb3 Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 - 0eb4 Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 - 0eb5 Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 - 0eb6 Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 - 0eb7 Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 - 0ebc Xeon E5 v2/Core i7 DDRIO Registers - 0ebe Xeon E5 v2/Core i7 DDRIO Registers - 0ebf Xeon E5 v2/Core i7 DDRIO Registers - 0ec0 Xeon E5 v2/Core i7 Power Control Unit 0 - 0ec1 Xeon E5 v2/Core i7 Power Control Unit 1 - 0ec2 Xeon E5 v2/Core i7 Power Control Unit 2 - 0ec3 Xeon E5 v2/Core i7 Power Control Unit 3 - 0ec4 Xeon E5 v2/Core i7 Power Control Unit 4 - 0ec8 Xeon E5 v2/Core i7 System Address Decoder - 0ec9 Xeon E5 v2/Core i7 Broadcast Registers - 0eca Xeon E5 v2/Core i7 Broadcast Registers - 0ed8 Xeon E5 v2/Core i7 DDRIO - 0ed9 Xeon E5 v2/Core i7 DDRIO - 0edc Xeon E5 v2/Core i7 DDRIO - 0edd Xeon E5 v2/Core i7 DDRIO - 0ede Xeon E5 v2/Core i7 DDRIO - 0edf Xeon E5 v2/Core i7 DDRIO - 0ee0 Xeon E5 v2/Core i7 Unicast Registers - 0ee1 Xeon E5 v2/Core i7 Unicast Registers - 0ee2 Xeon E5 v2/Core i7 Unicast Registers - 0ee3 Xeon E5 v2/Core i7 Unicast Registers - 0ee4 Xeon E5 v2/Core i7 Unicast Registers - 0ee5 Xeon E5 v2/Core i7 Unicast Registers - 0ee6 Xeon E5 v2/Core i7 Unicast Registers - 0ee7 Xeon E5 v2/Core i7 Unicast Registers - 0ee8 Xeon E5 v2/Core i7 Unicast Registers - 0ee9 Xeon E5 v2/Core i7 Unicast Registers - 0eea Xeon E5 v2/Core i7 Unicast Registers - 0eeb Xeon E5 v2/Core i7 Unicast Registers - 0eec Xeon E5 v2/Core i7 Unicast Registers - 0eed Xeon E5 v2/Core i7 Unicast Registers - 0eee Xeon E5 v2/Core i7 Unicast Registers - 0ef0 Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 - 0ef1 Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 - 0ef2 Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 - 0ef3 Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 - 0ef4 Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 - 0ef5 Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 - 0ef6 Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 - 0ef7 Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 - 0ef8 Xeon E5 v2/Core i7 DDRIO - 0ef9 Xeon E5 v2/Core i7 DDRIO - 0efa Xeon E5 v2/Core i7 DDRIO - 0efb Xeon E5 v2/Core i7 DDRIO - 0efc Xeon E5 v2/Core i7 DDRIO - 0efd Xeon E5 v2/Core i7 DDRIO + 0e00 Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 + 0e01 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode + 0e02 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1a + 0e03 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1b + 0e04 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2a + 0e05 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2b + 0e06 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2c + 0e07 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2d + 0e08 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3a + 0e09 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3b + 0e0a Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3c + 0e0b Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3d + 0e10 Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + 0e13 Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + 0e17 Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + 0e18 Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + 0e1c Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers + 0e1d Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + 0e1e Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers + 0e1f Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers + 0e20 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 + 0e21 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 + 0e22 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 + 0e23 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 + 0e24 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 + 0e25 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 + 0e26 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 + 0e27 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 + 0e28 Xeon E7 v2/Xeon E5 v2/Core i7 VTd/Memory Map/Misc + 0e29 Xeon E7 v2/Xeon E5 v2/Core i7 Memory Hotplug + 0e2a Xeon E7 v2/Xeon E5 v2/Core i7 IIO RAS + 0e2c Xeon E7 v2/Xeon E5 v2/Core i7 IOAPIC + 0e2e Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA + 0e2f Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA + 0e30 Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 + 0e32 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 + 0e33 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 + 0e34 Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + 0e36 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + 0e37 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + 0e38 Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 + 0e3a Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 + 0e3e Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + 0e3f Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring + 0e40 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 + 0e41 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + 0e43 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 + 0e44 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 + 0e45 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register + 0e47 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register + 0e60 Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 + 0e68 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers + 0e6a Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + 0e6b Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + 0e6c Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + 0e6d Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers + 0e71 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers + 0e74 Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + 0e75 Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe + 0e77 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + 0e79 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers + 0e7d Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers + 0e7f Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + 0e80 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 + 0e81 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers + 0e83 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 + 0e84 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 + 0e85 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register + 0e87 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Registers + 0e90 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 + 0e93 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 + 0e94 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 1 + 0e95 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register + 0ea0 Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 + 0ea8 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers + 0eaa Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + 0eab Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + 0eac Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + 0ead Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers + 0eae Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + 0eaf Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + 0eb0 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 + 0eb1 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 + 0eb2 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 + 0eb3 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 + 0eb4 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 + 0eb5 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 + 0eb6 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 + 0eb7 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 + 0ebc Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + 0ebe Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + 0ebf Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers + 0ec0 Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 0 + 0ec1 Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 1 + 0ec2 Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 2 + 0ec3 Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 3 + 0ec4 Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 4 + 0ec8 Xeon E7 v2/Xeon E5 v2/Core i7 System Address Decoder + 0ec9 Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers + 0eca Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers + 0ed8 Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0ed9 Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0edc Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0edd Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0ede Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0edf Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0ee0 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0ee1 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0ee2 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0ee3 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0ee4 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0ee5 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0ee6 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0ee7 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0ee8 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0ee9 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0eea Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0eeb Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0eec Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0eed Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0eee Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers + 0ef0 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 + 0ef1 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 + 0ef2 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 + 0ef3 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 + 0ef4 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 + 0ef5 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 + 0ef6 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 + 0ef7 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 + 0ef8 Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0ef9 Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0efa Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0efb Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0efc Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO + 0efd Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0f00 ValleyView SSA-CUnit 0f01 ValleyView SSA-CUnit 0f02 ValleyView SSA-CUnit @@ -18672,6 +19328,7 @@ 1028 0134 PowerEdge 600SC 1028 0151 Optiplex GX270 107b 8920 PRO/1000 MT Desktop Adapter + 1af4 1100 QEMU Virtual Machine 8086 001e PRO/1000 MT Desktop Adapter 8086 002e PRO/1000 MT Desktop Adapter 8086 1376 PRO/1000 GT Desktop Adapter @@ -18735,6 +19392,7 @@ 1179 0001 PRO/1000 MT Mobile Connection 8086 101e PRO/1000 MT Mobile Connection 1026 82545GM Gigabit Ethernet Controller + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 8086 1000 PRO/1000 MT Server Connection 8086 1001 PRO/1000 MT Server Adapter @@ -18927,7 +19585,7 @@ 109a 82573L Gigabit Ethernet Controller 1179 ff10 PRO/1000 PL 17aa 2001 ThinkPad T60 - 17aa 207e ThinkPad X60s + 17aa 207e ThinkPad X60/X60s 8086 109a PRO/1000 PL Network Connection 8086 309c Desktop Board D945GTP 8086 30a5 Desktop Board D975XBX @@ -19005,9 +19663,12 @@ 10ce 82567V-2 Gigabit Network Connection 10d3 82574L Gigabit Network Connection 103c 3250 NC112T PCI Express single Port Gigabit Server Adapter + 1043 8369 Motherboard 10a9 8029 Prism XL Single Port Gigabit Ethernet 15d9 060a X7SPA-H/X7SPA-HF Motherboard + 15d9 060d C7SIM-Q Motherboard 8086 0001 Gigabit CT2 Desktop Adapter + 8086 357a Server Board S1200BTS 8086 a01f Gigabit CT Desktop Adapter e4bf 50c1 PC1-GROOVE e4bf 50c2 PC2-LIMBO @@ -19050,6 +19711,7 @@ 10ed 82599 Ethernet Controller Virtual Function 10ef 82578DM Gigabit Network Connection 1028 02da OptiPlex 980 + 15d9 060d C7SIM-Q Motherboard 10f0 82578DC Gigabit Network Connection 10f1 82598EB 10-Gigabit AF Dual Port Network Connection 8086 a20f 10-Gigabit AF DA Dual Port Server Adapter @@ -19075,8 +19737,10 @@ 103c 17d3 Ethernet 10Gb 2-port 560SFP+ Adapter 103c 211b Ethernet 10Gb 1-port P560FLR-SFP+ Adapter 103c 2147 Ethernet 10Gb 1-port 561i Adapter + 103c 2159 Ethernet 10Gb 2-port 562i Adapter 108e 7b11 Ethernet Server Adapter X520-2 1734 11a9 10 Gigabit Dual Port Network Connection + 17aa 1071 ThinkServer X520-2 AnyFabric 8086 0002 Ethernet Server Adapter X520-DA2 8086 0003 Ethernet Server Adapter X520-2 8086 0006 Ethernet Server Adapter X520-1 @@ -19109,6 +19773,7 @@ 172a 0000 AEP SSL Accelerator 1209 8255xER/82551IT Fast Ethernet Controller 140b 0610 PMC610 quad Ethernet board + 1af4 1100 QEMU Virtual Machine 4c53 1050 CT7 mainboard 4c53 1051 CE7 mainboard 4c53 1070 PC6 mainboard @@ -19191,6 +19856,7 @@ 1668 1100 EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem) 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 + 1af4 1100 QEMU Virtual Machine 4c53 1080 CT8 mainboard 4c53 10e0 PSL09 PrPMC 8086 0001 EtherExpress PRO/100B (TX) @@ -19309,6 +19975,7 @@ 1501 82567V-3 Gigabit Network Connection 1502 82579LM Gigabit Network Connection 1028 04a3 Precision M4600 + 8086 357a Server Board S1200BTS 1503 82579V Gigabit Network Connection 1043 849c P8P67 Deluxe Motherboard 1507 Ethernet Express Module X520-P2 @@ -19341,15 +20008,20 @@ 108e 7b13 Dual 10GBASE-T LP 1520 I350 Ethernet Controller Virtual Function 1521 I350 Gigabit Network Connection + 1028 0602 Gigabit 2P I350-t LOM 1028 1f60 Intel GbE 4P I350crNDC 1028 1f62 Intel GbE 2P I350crNDC + 1028 ff9a Gigabit 4P X710/I350 rNDC 103c 17d1 Ethernet 1Gb 4-port 366FLR Adapter + 103c 2003 Ethernet 1Gb 2-port 367i Adapter + 103c 2226 Ethernet 1Gb 1-port 364i Adapter 103c 337f Ethernet 1Gb 2-port 361i Adapter 103c 3380 Ethernet 1Gb 4-port 366i Adapter 103c 339e Ethernet 1Gb 2-port 361T Adapter 108e 7b16 Quad Port GbE PCIe 2.0 ExpressModule, UTP 108e 7b18 Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP 10a9 802a UV2-BaseIO dual-port GbE + 17aa 1074 ThinkServer I350-T4 AnyFabric 8086 0001 Ethernet Server Adapter I350-T4 8086 0002 Ethernet Server Adapter I350-T2 8086 00a1 Ethernet Server Adapter I350-T4 @@ -19367,8 +20039,10 @@ 8086 00a3 Ethernet Server Adapter I350-F4 8086 00a4 Ethernet Server Adapter I350-F2 1523 I350 Gigabit Backplane Connection + 1028 1f9b Gigabit 4P I350 bNDC 103c 1784 Ethernet 1Gb 2-port 361FLB Adapter 103c 18d1 Ethernet 1Gb 2-port 361FLB Adapter + 103c 1989 Ethernet 1Gb 2-port 363i Adapter 103c 339f Ethernet 1Gb 4-port 366M Adapter 8086 1f52 1GbE 4P I350 Mezz 1524 I350 Gigabit Connection @@ -19382,10 +20056,12 @@ 1528 Ethernet Controller 10-Gigabit X540-AT2 1028 1f61 Ethernet 10G 4P X540/I350 rNDC 103c 192d 561FLR-T 2-port 10Gb Ethernet Adapter + 103c 2004 Ethernet 10Gb 2-port 561i Adapter 103c 211a Ethernet 10Gb 2-port 561T Adapter 108e 7b14 Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T 108e 7b15 Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T 1137 00bf Ethernet Converged Network Adapter X540-T2 + 17aa 1073 ThinkServer X540-T2 AnyFabric 8086 0001 Ethernet Converged Network Adapter X540-T2 8086 0002 Ethernet Converged Network Adapter X540-T1 8086 001a Ethernet Converged Network Adapter X540-T2 @@ -19396,14 +20072,16 @@ 152a 82599 10 Gigabit Dual Port Backplane Connection with FCoE 1533 I210 Gigabit Network Connection 103c 0003 Ethernet Server Adapter I210-T1 + 17aa 1100 ThinkServer Ethernet Server Adapter 8086 0001 Ethernet Server Adapter I210-T1 8086 0002 Ethernet Server Adapter I210-T1 1534 I210 Gigabit Network Connection 1536 I210 Gigabit Fiber Network Connection 1537 I210 Gigabit Backplane Connection - 1538 I210 Gigabit Network Connection 1539 I211 Gigabit Network Connection 153a Ethernet Connection I217-LM + 103c 1909 ZBook 15 + 17aa 220e ThinkPad T440p 153b Ethernet Connection I217-V 1547 DSL3510 Thunderbolt Port [Cactus Ridge] 1549 DSL3510 Thunderbolt Controller [Cactus Ridge] @@ -19411,6 +20089,7 @@ 8086 011a Ethernet Converged Network Adapter X520-4 8086 011b Ethernet Converged Network Adapter X520-4 8086 011c Ethernet Converged Network Adapter X520-4 + 154c XL710 X710 Virtual Function 154d Ethernet 10G 2P X520 Adapter 8086 7b11 10GbE 2P X520 Adapter 1557 82599 10 Gigabit Network Connection @@ -19420,17 +20099,80 @@ 8086 011b Ethernet Converged Network Adapter X520-Q1 1559 Ethernet Connection I218-V 155a Ethernet Connection I218-LM + 17aa 2214 ThinkPad X240 155c Ethernet Server Bypass Adapter 8086 0001 Ethernet Server Bypass Adapter X540-T2 155d Ethernet Server Bypass Adapter 8086 0001 Ethernet Server Bypass Adapter X520-SR2 8086 0002 Ethernet Server Bypass Adapter X520-LR2 1560 Ethernet Controller X540 + 156f Ethernet Connection I219-LM + 1570 Ethernet Connection I219-V + 1571 XL710 X710 Virtual Function + 1572 Ethernet 10G 2P X710 Adapter + 1028 1f99 Ethernet 10G 4P X710/I350 rNDC + 8086 0001 Ethernet Converged Network Adapter X710-4 + 8086 0002 Ethernet Converged Network Adapter X710-4 + 8086 0004 Ethernet Converged Network Adapter X710-4 + 8086 0005 Ethernet 10G 4P X710 Adapter + 8086 0006 Ethernet 10G2P X710 Adapter + 8086 0007 Ethernet Converged Network Adapter X710-2 + 8086 0008 Ethernet Converged Network Adapter X710-2 157b I210 Gigabit Network Connection + 157c I210 Gigabit Backplane Connection + 1580 Ethernet Controller XL710 for 40Gbe backplane + 1581 Ethernet Controller X710 for 10Gbe backplane + 1028 1f98 Ethernet 10G 4P X710-k bNDC + 1583 Ethernet Controller XL710 for 40GbE QSFP+ + 8086 0001 Ethernet Converged Network Adapter XL710-Q2 + 8086 0002 Ethernet Converged Network Adapter XL710-Q2 + 8086 0003 Ethernet I/O Module XL710-Q2 + 1584 Ethernet Controller XL710 for 40GbE QSFP+ + 8086 0001 Ethernet Converged Network Adapter XL710-Q1 + 8086 0002 Ethernet Converged Network Adapter XL710-Q1 + 8086 0003 Ethernet I/O Module XL710-Q1 + 1585 Ethernet Controller XL710 for 10GbE QSFP+ 15a0 Ethernet Connection (2) I218-LM 15a1 Ethernet Connection (2) I218-V 15a2 Ethernet Connection (3) I218-LM 15a3 Ethernet Connection (3) I218-V + 1600 Broadwell-U Host Bridge -OPI + 1601 Broadwell-U PCI Express x16 Controller + 1602 Broadwell-U Integrated Graphics + 1603 Broadwell-U Camarillo Device + 1604 Broadwell-U Host Bridge -OPI + 1605 Broadwell-U PCI Express x8 Controller + 1606 Broadwell-U Integrated Graphics + 1607 Broadwell-U CHAPS Device + 1608 Broadwell-U Host Bridge -OPI + 1609 Broadwell-U x4 PCIe + 160a Broadwell-U Integrated Graphics + 160b Broadwell-U Integrated Graphics + 160c Broadwell-U Audio Controller + 160d Broadwell-U Integrated Graphics + 160e Broadwell-U Integrated Graphics + 160f Broadwell-U SoftSKU + 1610 Broadwell-U Host Bridge - DMI + 1612 Broadwell-U Integrated Graphics + 1614 Broadwell-U Host Bridge - DMI + 1616 Broadwell-U Integrated Graphics + 1618 Broadwell-U Host Bridge - DMI + 161a Broadwell-U Integrated Graphics + 161b Broadwell-U Integrated Graphics + 161d Broadwell-U Integrated Graphics + 161e Broadwell-U Integrated Graphics + 1622 Broadwell-U Integrated Graphics + 1626 Broadwell-U Integrated Graphics + 162a Broadwell-U Integrated Graphics + 162b Broadwell-U Integrated Graphics + 162d Broadwell-U Integrated Graphics + 162e Broadwell-U Integrated Graphics + 1632 Broadwell-U Integrated Graphics + 1636 Broadwell-U Integrated Graphics + 163a Broadwell-U Integrated Graphics + 163b Broadwell-U Integrated Graphics + 163d Broadwell-U Integrated Graphics + 163e Broadwell-U Integrated Graphics 1960 80960RP (i960RP) Microprocessor 101e 0431 MegaRAID 431 RAID Controller 101e 0438 MegaRAID 438 Ultra2 LVD RAID Controller @@ -19478,7 +20220,8 @@ 1c01 6 Series/C200 Series Chipset Family 4 port SATA IDE Controller 1c02 6 Series/C200 Series Chipset Family SATA AHCI Controller 1028 04aa XPS 8300 - 1043 844d P8P67 Deluxe Motherboard + 1043 844d P8 series motherboard + 8086 7270 Server Board S1200BTS 1c03 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller 1028 04a3 Precision M4600 1028 04b2 Vostro 3350 @@ -19491,7 +20234,8 @@ 1c10 6 Series/C200 Series Chipset Family PCI Express Root Port 1 1028 04aa XPS 8300 1028 04da Vostro 3750 - 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] + 1043 844d P8 series motherboard + 8086 7270 Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 1c12 6 Series/C200 Series Chipset Family PCI Express Root Port 2 1028 04aa XPS 8300 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] @@ -19502,10 +20246,13 @@ 1028 04aa XPS 8300 1c18 6 Series/C200 Series Chipset Family PCI Express Root Port 5 1028 04da Vostro 3750 + 8086 7270 Server Board S1200BTS 1c1a 6 Series/C200 Series Chipset Family PCI Express Root Port 6 1028 04da Vostro 3750 + 1043 844d P8 series motherboard 1c1c 6 Series/C200 Series Chipset Family PCI Express Root Port 7 1c1e 6 Series/C200 Series Chipset Family PCI Express Root Port 8 + 1043 844d P8 series motherboard 1c20 6 Series/C200 Series Chipset Family High Definition Audio Controller 1028 0490 Alienware M17x R3 1028 04a3 Precision M4600 @@ -19513,6 +20260,7 @@ 1028 04b2 Vostro 3350 1028 04da Vostro 3750 1043 8418 P8P67 Deluxe Motherboard + 1043 841b P8H67 Series Motherboard # Realtek ALC888 audio codec 8086 2008 DQ67SW board 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] @@ -19521,8 +20269,8 @@ 1028 04aa XPS 8300 1028 04b2 Vostro 3350 1028 04da Vostro 3750 - 1043 844d P8P67 Deluxe Motherboard - 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] + 1043 844d P8 series motherboard + 8086 7270 Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 1c24 6 Series/C200 Series Chipset Family Thermal Management Controller 1c25 6 Series/C200 Series Chipset Family DMI to PCI Bridge 1c26 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 @@ -19530,8 +20278,8 @@ 1028 04aa XPS 8300 1028 04b2 Vostro 3350 1028 04da Vostro 3750 - 1043 844d P8P67 Deluxe Motherboard - 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] + 1043 844d P8 series motherboard + 8086 7270 Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 1c27 6 Series/C200 Series Chipset Family USB Universal Host Controller #1 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c2c 6 Series/C200 Series Chipset Family USB Universal Host Controller #5 @@ -19541,8 +20289,8 @@ 1028 04aa XPS 8300 1028 04b2 Vostro 3350 1028 04da Vostro 3750 - 1043 844d P8P67 Deluxe Motherboard - 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] + 1043 844d P8 series motherboard + 8086 7270 Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 1c33 6 Series/C200 Series Chipset Family LAN Controller 1c35 6 Series/C200 Series Chipset Family VECI Controller 1c3a 6 Series/C200 Series Chipset Family MEI Controller #1 @@ -19550,7 +20298,7 @@ 1028 04aa XPS 8300 1028 04b2 Vostro 3350 1028 04da Vostro 3750 - 1043 844d P8P67 Deluxe Motherboard + 1043 844d P8 series motherboard 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c3b 6 Series/C200 Series Chipset Family MEI Controller #2 1c3c 6 Series/C200 Series Chipset Family IDE-r Controller @@ -19569,6 +20317,7 @@ 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c4a H67 Express Chipset Family LPC Controller 1028 04aa XPS 8300 + 1043 844d P8H67 Series Motherboard 1c4b HM67 Express Chipset Family LPC Controller 1028 04b2 Vostro 3350 1028 04da Vostro 3750 @@ -19580,10 +20329,12 @@ 1c50 B65 Express Chipset Family LPC Controller 1c51 6 Series/C200 Series Chipset Family LPC Controller 1c52 C202 Chipset Family LPC Controller + 8086 7270 Server Board S1200BTS 1c53 6 Series/C200 Series Chipset Family LPC Controller 1c54 C204 Chipset Family LPC Controller 1c55 6 Series/C200 Series Chipset Family LPC Controller 1c56 C206 Chipset Family LPC Controller + 1043 844d P8B WS Motherboard 1c57 6 Series/C200 Series Chipset Family LPC Controller 1c58 Upgraded B65 Express Chipset Family LPC Controller 1c59 Upgraded HM67 Express Chipset Family LPC Controller @@ -19716,6 +20467,7 @@ 1043 84ca P8H77-I Motherboard 1849 1e2d Motherboard 1e31 7 Series/C210 Series Chipset Family USB xHCI Host Controller + 103c 17ab ProBook 6570b 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 1043 84ca P8H77-I Motherboard @@ -19816,7 +20568,7 @@ 1f3e Atom processor C2000 RAID SATA3 Controller 1f3f Atom processor C2000 RAID SATA3 Controller 1f40 Ethernet Connection I354 1.0 GbE Backplane - 1028 10f1 Ethernet Connection I354 1.0 GbE Backplane + 1028 05f1 Ethernet Connection I354 1.0 GbE Backplane 1f41 Ethernet Connection I354 1f42 Atom processor C2000 GbE 1f44 Atom processor C2000 GbE Virtual Function @@ -19824,6 +20576,7 @@ 2250 Xeon Phi coprocessor 5100 series 225c Xeon Phi coprocessor SE10/7120 series 225d Xeon Phi coprocessor 3120 series + 225e Xeon Phi coprocessor 31S1 2310 DH89xxCC LPC Controller 2323 DH89xxCC 4 Port SATA AHCI Controller 2330 DH89xxCC SMBus Controller @@ -19874,6 +20627,7 @@ 11d4 0048 SoundMAX Integrated Digital Audio 11d4 5340 SoundMAX Integrated Digital Audio 1734 1025 Activy 3xx + 1af4 1100 QEMU Virtual Machine 2416 82801AA AC'97 Modem Controller 2418 82801AA PCI Bridge 2420 82801AB ISA Bridge (LPC) @@ -19977,6 +20731,7 @@ 1179 ff01 PRO/100 VE Network Connection 1186 7801 EtherExpress PRO/100 VE 144d 2602 HomePNA 1M CNR + 1af4 1100 QEMU Virtual Machine 8086 3010 EtherExpress PRO/100 VE 8086 3011 EtherExpress PRO/100 VM 8086 3012 82562EH based Phoneline @@ -20008,13 +20763,18 @@ 1028 0211 Optiplex 755 1028 02da OptiPlex 980 103c 2a3b Pavilion A1512X + 103c 2a6f Asus IPIBL-LB Motherboard 103c 31fe ProLiant DL140 G3 103c 330b ProLiant ML150 G6 Server # same ID possibly also on other ASUS boards 1043 8277 P5K PRO Motherboard + 1043 844d P8 series motherboard 1458 5000 Motherboard + 1462 7418 Wind PC MS-7418 + 15d9 060d C7SIM-Q Motherboard 15d9 9680 X7DBN Motherboard 1775 11cc CC11/CL11 + 8086 7270 Server Board S1200BTS 2450 82801E ISA Bridge (LPC) 2452 82801E USB Controller 2453 82801E SMBus Controller @@ -20268,12 +21028,14 @@ 1509 1968 Averatec 5110H 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) 1734 1055 Amilo M1420 + 1af4 1100 QEMU Virtual Machine 4c53 1090 Cx9 / Vx9 mainboard 8086 24c2 Latitude X300 e4bf 0cc9 CC9-SAMBA e4bf 0cd2 CD2-BEBOP 24d0 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge 24d1 82801EB (ICH5) SATA Controller + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 019a PowerEdge SC1425 103c 12bc d530 CMT (DG746A) @@ -20291,6 +21053,7 @@ 24d2 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 1014 02dd eServer xSeries server mainboard 1014 02ed eServer xSeries server mainboard + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 016c PowerEdge 1850 onboard UHCI 1028 016d PowerEdge 2850 onboard UHCI @@ -20314,6 +21077,7 @@ 1014 02dd eServer xSeries server mainboard 1014 02ed eServer xSeries server mainboard 1028 0156 Precision 360 + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 103c 12bc d330 uT 103c 3208 ProLiant DL140 G2 @@ -20331,6 +21095,7 @@ 24d4 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 1014 02dd eServer xSeries server mainboard 1014 02ed eServer xSeries server mainboard + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 016c PowerEdge 1850 onboard UHCI 1028 016d PowerEdge 2850 onboard UHCI @@ -20353,6 +21118,7 @@ 8086 524c D865PERL mainboard 24d5 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller 100a 147b Abit IS7-E motherboard + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 103c 006a NX9500 103c 12bc d330 uT @@ -20370,6 +21136,7 @@ 103c 006a NX9500 24d7 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 1014 02ed xSeries server mainboard + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 016c PowerEdge 1850 onboard UHCI 1028 016d PowerEdge 2850 onboard UHCI @@ -20391,6 +21158,7 @@ 24db 82801EB/ER (ICH5/ICH5R) IDE Controller 1014 02dd eServer xSeries server mainboard 1014 02ed eServer xSeries server mainboard + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 016c PowerEdge 1850 IDE Controller 1028 016d PowerEdge 2850 IDE Controller @@ -20415,6 +21183,7 @@ 24dd 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller 1014 02dd eServer xSeries server mainboard 1014 02ed eServer xSeries server mainboard + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 016c PowerEdge 1850 onboard EHCI 1028 016d PowerEdge 2850 onboard EHCI @@ -20434,6 +21203,7 @@ 8086 524c D865PERL mainboard 24de 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 1014 02ed xSeries server mainboard + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1043 80a6 P4P800/P5P800 series motherboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) @@ -20447,6 +21217,13 @@ 8086 4c43 Desktop Board D865GLC 8086 524c D865PERL mainboard 24df 82801ER (ICH5R) SATA Controller + 1028 0168 Precision Workstation 670 Mainboard + 24f3 Wireless 8260 +# Snow Field Peak AC + 8086 0010 Dual Band Wireless-AC 8260 + 24f4 Wireless 8260 +# Snow Field Peak AC + 8086 0030 Dual Band Wireless-AC 8260 2500 82820 820 (Camino) Chipset Host Bridge (MCH) 1028 0095 Precision Workstation 220 Chipset 1043 801c P3C-2000 system chipset @@ -20604,6 +21381,7 @@ 1775 10d0 V5D Single Board Computer 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 + 1af4 1100 QEMU Virtual Machine 4c53 10b0 CL9 mainboard 4c53 10d0 Telum ASLP10 Processor AMC 4c53 10e0 PSL09 PrPMC @@ -20822,6 +21600,7 @@ 1043 1173 Asus A6VC 1043 814e P5GD1-VW Mainboard 1462 7028 915P/G Neo2 + 1af4 1100 QEMU Virtual Machine 266a 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller 1028 0177 Dimension 8400 1028 0179 Optiplex GX280 @@ -20931,10 +21710,12 @@ 103c 2a3b Pavilion A1512X 1043 817a P5LD2-VM Mainboard 107b 5048 E4500 + 1462 7418 Wind PC MS-7418 8086 544e DeskTop Board D945GTP 2771 82945G/GZ/P/PL PCI Express Root Port 2772 82945G/GZ Integrated Graphics Controller 103c 2a3b Pavilion A1512X + 1462 7418 Wind PC MS-7418 8086 544e DeskTop Board D945GTP 8086 d605 Intel Desktop Board D945GCCR 2774 82955X Memory Controller Hub @@ -20965,18 +21746,18 @@ 103c 30a3 Compaq nw8440 1043 1237 A6J-Q008 17aa 2015 ThinkPad T60 - 17aa 2017 ThinkPad T60/R60 series + 17aa 2017 ThinkPad R60/T60/X60 series 27a1 Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port 103c 309f Compaq nx9420 Notebook 103c 30a3 Compaq nw8440 27a2 Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller 103c 30a1 NC2400 - 17aa 201a ThinkPad T60/R60 series + 17aa 201a ThinkPad R60/T60/X60 series 9902 1584 CCE MPL-D10H120F 27a6 Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller 103c 30a1 NC2400 1775 11cc CC11/CL11 integrated graphics (secondary) - 17aa 201a ThinkPad T60/R60 series + 17aa 201a ThinkPad R60/T60/X60 series 27ac Mobile 945GSE Express Memory Controller Hub 1775 11cc CC11/CL11 27ad Mobile 945GSE Express PCI Express Root Port @@ -20989,6 +21770,7 @@ 1028 01e6 PowerEdge 860 1043 8179 P5KPL-VM Motherboard 107b 5048 E4500 + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 8086 544e DeskTop Board D945GTP 27b9 82801GBM (ICH7-M) LPC Interface Bridge @@ -20997,7 +21779,7 @@ 103c 30a1 NC2400 103c 30a3 Compaq nw8440 10f7 8338 Panasonic CF-Y5 laptop - 17aa 2009 ThinkPad T60/R60 series + 17aa 2009 ThinkPad R60/T60/X60 series 27bc NM10 Family LPC Controller 105b 0d7c D270S/D250S Motherboard 144d c072 Notebook N150P @@ -21014,6 +21796,7 @@ 107b 5048 E4500 1462 2310 MSI Hetis 945 1462 7236 945P Neo3-F Rev. 2.2 motherboard + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 8086 544b Desktop Board D425KT 8086 544e DeskTop Board D945GTP @@ -21032,11 +21815,11 @@ 27c4 82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] 1025 006c 9814 WKMI 1028 01d7 XPS M1210 - 17aa 200e Thinkpad T60 model 2007 + 17aa 200e ThinkPad T60 27c5 82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] 103c 309f Compaq nx9420 Notebook 103c 30a3 Compaq nw8440 - 17aa 200d ThinkPad T60/R60 series + 17aa 200d ThinkPad R60/T60/X60 series 27c6 82801GHM (ICH7-M DH) SATA Controller [RAID mode] 27c8 NM10/ICH7 Family USB UHCI Controller #1 1025 006c 9814 WKMI @@ -21054,8 +21837,9 @@ 107b 5048 E4500 144d c072 Notebook N150P 1458 5004 GA-D525TUD + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 - 17aa 200a ThinkPad T60/R60 series + 17aa 200a ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT 8086 544e DeskTop Board D945GTP @@ -21075,8 +21859,9 @@ 107b 5048 E4500 144d c072 Notebook N150P 1458 5004 GA-D525TUD + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 - 17aa 200a ThinkPad T60/R60 series + 17aa 200a ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT 8086 544e DeskTop Board D945GTP @@ -21096,8 +21881,9 @@ 107b 5048 E4500 144d c072 Notebook N150P 1458 5004 GA-D525TUD + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 - 17aa 200a ThinkPad T60/R60 series + 17aa 200a ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544e DeskTop Board D945GTP 27cb NM10/ICH7 Family USB UHCI Controller #4 @@ -21115,8 +21901,9 @@ 107b 5048 E4500 144d c072 Notebook N150P 1458 5004 GA-D525TUD + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 - 17aa 200a ThinkPad T60/R60 series + 17aa 200a ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544e DeskTop Board D945GTP 27cc NM10/ICH7 Family USB2 EHCI Controller @@ -21134,8 +21921,9 @@ 105b 0d7c D270S/D250S Motherboard 144d c072 Notebook N150P 1458 5006 GA-D525TUD + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 - 17aa 200b ThinkPad T60/R60 series + 17aa 200b ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT 8086 544e DeskTop Board D945GTP @@ -21144,21 +21932,25 @@ 103c 30a3 Compaq nw8440 144d c072 Notebook N150P 1458 5001 GA-D525TUD + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 8086 544b Desktop Board D425KT 27d2 NM10/ICH7 Family PCI Express Port 2 103c 309f Compaq nx9420 Notebook 103c 30a3 Compaq nw8440 144d c072 Notebook N150P + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 8086 544b Desktop Board D425KT 27d4 NM10/ICH7 Family PCI Express Port 3 144d c072 Notebook N150P + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 8086 544b Desktop Board D425KT 27d6 NM10/ICH7 Family PCI Express Port 4 103c 30a3 Compaq nw8440 144d c072 Notebook N150P + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 8086 544b Desktop Board D425KT 27d8 NM10/ICH7 Family High Definition Audio Controller @@ -21182,9 +21974,10 @@ 144d c072 Notebook N150P 1458 a002 GA-D525TUD (Realtek ALC887) 1458 a102 GA-8I945PG-RH Mainboard + 1462 7418 Wind PC MS-7418 152d 0753 Softmodem 1734 10ad Conexant softmodem SmartCP - 17aa 2010 ThinkPad T60/R60 series + 17aa 2010 ThinkPad R60/T60/X60 series 17aa 3802 Lenovo 3000 C200 audio [Realtek ALC861VD] 8086 1112 DeskTop Board D945GTP 8086 27d8 DeskTop Board D945GTP @@ -21202,8 +21995,9 @@ 10f7 8338 Panasonic CF-Y5 laptop 144d c072 Notebook N150P 1458 5001 GA-8I945PG-RH/GA-D525TUD Mainboard + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 - 17aa 200f ThinkPad T60/R60 series + 17aa 200f ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT 8086 544e DeskTop Board D945GTP @@ -21227,8 +22021,9 @@ 1043 8179 P5KPL-VM Motherboard 107b 5048 E4500 10f7 8338 Panasonic CF-Y5 laptop + 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 - 17aa 200c ThinkPad T60/R60 series + 17aa 200c ThinkPad R60/T60/X60 series 8086 544e DeskTop Board D945GTP 27e0 82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 1775 11cc CC11/CL11 @@ -21256,6 +22051,7 @@ 2821 82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA Controller [AHCI mode] 2822 82801 SATA Controller [RAID mode] 1028 020d Inspiron 530 + 103c 2a6f Asus IPIBL-LB Motherboard 2823 Wellsburg sSATA RAID Controller 2824 82801HB (ICH8) 4 port SATA Controller [AHCI mode] 1043 81ec P5B @@ -21446,6 +22242,7 @@ 1028 0211 Optiplex 755 2916 82801IR (ICH9R) LPC Interface Controller 1028 020d Inspiron 530 + 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard 8086 5044 Desktop Board DP35DP 2917 ICH9M-E LPC Interface Controller @@ -21453,6 +22250,7 @@ 2918 82801IB (ICH9) LPC Interface Controller 1028 0236 PowerEdge R610 82801IB (ICH9) LPC Interface Controller 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 2919 ICH9M LPC Interface Controller 2920 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] 1028 020d Inspiron 530 @@ -21467,6 +22265,7 @@ 1028 0237 PowerEdge T610 SATA IDE Controller 1462 7360 G33/P35 Neo 2922 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] + 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP 2923 82801IB (ICH9) 4 port SATA Controller [AHCI mode] 2925 82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] @@ -21489,9 +22288,11 @@ 2930 82801I (ICH9 Family) SMBus Controller 1028 020d Inspiron 530 1028 0211 Optiplex 755 + 103c 2a6f Asus IPIBL-LB Motherboard 103c 3628 dv6-1190en 1043 8277 P5K PRO Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 2932 82801I (ICH9 Family) Thermal Subsystem @@ -21508,8 +22309,10 @@ 1028 0287 PowerEdge M610 onboard UHCI 1028 029c PowerEdge M710 USB UHCI Controller 1028 2011 Optiplex 755 + 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 2935 82801I (ICH9 Family) USB UHCI Controller #2 @@ -21523,8 +22326,10 @@ 1028 023c PowerEdge R200 onboard UHCI 1028 0287 PowerEdge M610 onboard UHCI 1028 029c PowerEdge M710 USB UHCI Controller + 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 2936 82801I (ICH9 Family) USB UHCI Controller #3 @@ -21536,8 +22341,10 @@ 1028 023c PowerEdge R200 onboard UHCI 1028 0287 PowerEdge M610 onboard UHCI 1028 029c PowerEdge M710 USB UHCI Controller + 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 2937 82801I (ICH9 Family) USB UHCI Controller #4 @@ -21549,8 +22356,10 @@ 1028 0287 PowerEdge M610 onboard UHCI 1028 029c PowerEdge M710 USB UHCI Controller 1028 2011 Optiplex 755 + 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 2937 Optiplex 755 8086 2942 828011 (ICH9 Family ) USB UHCI Controller 8086 5044 Desktop Board DP35DP @@ -21563,8 +22372,10 @@ 1028 0237 PowerEdge T610 USB UHCI Controller 1028 0287 PowerEdge M610 onboard UHCI 1028 029c PowerEdge M710 USB UHCI Controller + 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 2938 Optiplex 755 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE @@ -21572,8 +22383,10 @@ 1028 020d Inspiron 530 1028 0210 PowerEdge T300 onboard UHCI 1028 0237 PowerEdge T610 USB UHCI Controller + 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 293a 82801I (ICH9 Family) USB2 EHCI Controller #1 @@ -21587,8 +22400,10 @@ 1028 023c PowerEdge R200 onboard EHCI 1028 0287 PowerEdge M610 onboard EHCI 1028 029c PowerEdge M710 USB EHCI Controller + 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 293c 82801I (ICH9 Family) USB2 EHCI Controller #2 @@ -21599,23 +22414,28 @@ 1028 0237 PowerEdge T610 USB EHCI Controller 1028 0287 PowerEdge M610 onboard EHCI 1028 029c PowerEdge M710 USB EHCI Controller + 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 293c Optiplex 755 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 293e 82801I (ICH9 Family) HD Audio Controller 1028 020d Inspiron 530 1028 0211 Optiplex 755 + 103c 2a6f Asus IPIBL-LB Motherboard 103c 3628 dv6-1190en 1043 829f P5K PRO Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 293e Optiplex 755 8086 2940 Optiplex 755 e4bf cc4d CCM-BOOGIE 2940 82801I (ICH9 Family) PCI Express Port 1 1028 020d Inspiron 530 1028 0211 Optiplex 755 + 103c 2a6f Asus IPIBL-LB Motherboard # same ID possibly also on other ASUS boards 1043 8277 P5K PRO Motherboard 8086 2940 Optiplex 755 @@ -21623,6 +22443,7 @@ 1028 020d Inspiron 530 2944 82801I (ICH9 Family) PCI Express Port 3 1028 020d Inspiron 530 + 103c 2a6f Asus IPIBL-LB Motherboard 2946 82801I (ICH9 Family) PCI Express Port 4 1028 020d Inspiron 530 2948 82801I (ICH9 Family) PCI Express Port 5 @@ -21685,10 +22506,12 @@ 1028 0211 OptiPlex 755 29c0 82G33/G31/P35/P31 Express DRAM Controller 1028 020d Inspiron 530 + 103c 2a6f Asus IPIBL-LB Motherboard # same ID possibly also on other ASUS boards 1043 8276 P5K PRO Motherboard 1043 82b0 P5KPL-VM Motherboard 1462 7360 G33/P35 Neo + 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP 29c1 82G33/G31/P35/P31 Express PCI Express Root Port 1028 020d Inspiron 530 @@ -21956,6 +22779,7 @@ 2e16 4 Series Chipset PT IDER Controller 2e17 4 Series Chipset Serial KT Controller 2e20 4 Series Chipset DRAM Controller + 1028 0283 Dell Vostro 220 1043 82d3 P5Q Deluxe Motherboard 1458 5000 GA-EP45-DS5/GA-EG45M-DS2H Motherboard 2e21 4 Series Chipset PCI Express Root Port @@ -22066,6 +22890,7 @@ 2f36 Haswell-E R3 QPI Link 0 & 1 Monitoring 2f37 Haswell-E R3 QPI Link 0 & 1 Monitoring 2f38 Haswell-E Home Agent 1 + 2f39 Haswell-E I/O Performance Monitoring 2f3a Haswell-E QPI Link 2 2f3e Haswell-E R3 QPI Link 2 Monitoring 2f3f Haswell-E R3 QPI Link 2 Monitoring @@ -22349,6 +23174,7 @@ 4c53 10d0 Telum ASLP10 Processor AMC 3591 E7525/E7520 Error Reporting Registers 1014 02dd eServer xSeries server mainboard + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 103c 3208 ProLiant DL140 G2 4c53 10d0 Telum ASLP10 Processor AMC @@ -22372,6 +23198,7 @@ 359b E7525/E7520/E7320 Extended Configuration Registers 1014 02dd eServer xSeries server mainboard 359e E7525 Memory Controller Hub + 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 35b0 3100 Chipset Memory I/O Controller Hub 35b1 3100 DRAM Controller Error Reporting Registers @@ -22578,6 +23405,7 @@ 1025 0347 Aspire 7740G 3b0a 5 Series Chipset LPC Interface Controller 1028 02da OptiPlex 980 + 15d9 060d C7SIM-Q Motherboard 3b0b Mobile 5 Series Chipset LPC Interface Controller 3b0c 5 Series Chipset LPC Interface Controller 3b0d 5 Series/3400 Series Chipset LPC Interface Controller @@ -22603,6 +23431,7 @@ 3b21 5 Series/3400 Series Chipset 2 port SATA IDE Controller 3b22 5 Series/3400 Series Chipset 6 port SATA AHCI Controller 1028 02da OptiPlex 980 + 15d9 060d C7SIM-Q Motherboard 3b23 5 Series/3400 Series Chipset 4 port SATA AHCI Controller 3b25 5 Series/3400 Series Chipset SATA RAID Controller 3b26 5 Series/3400 Series Chipset 2 port SATA IDE Controller @@ -22621,6 +23450,7 @@ 1025 0347 Aspire 7740G 1028 02da OptiPlex 980 1028 040b Latitude E6510 + 15d9 060d C7SIM-Q Motherboard e4bf 50c1 PC1-GROOVE 3b32 5 Series/3400 Series Chipset Thermal Subsystem 1025 0347 Aspire 7740G @@ -22628,6 +23458,7 @@ 1025 0347 Aspire 7740G 1028 02da OptiPlex 980 1028 040b Latitude E6510 + 15d9 060d C7SIM-Q Motherboard e4bf 50c1 PC1-GROOVE 3b36 5 Series/3400 Series Chipset USB Universal Host Controller 3b37 5 Series/3400 Series Chipset USB Universal Host Controller @@ -22639,6 +23470,7 @@ 1025 0347 Aspire 7740G 1028 02da OptiPlex 980 1028 040b Latitude E6510 + 15d9 060d C7SIM-Q Motherboard e4bf 50c1 PC1-GROOVE 3b3e 5 Series/3400 Series Chipset USB Universal Host Controller 3b3f 5 Series/3400 Series Chipset USB Universal Host Controller @@ -22647,8 +23479,10 @@ 3b42 5 Series/3400 Series Chipset PCI Express Root Port 1 1028 02da OptiPlex 980 1028 040b Latitude E6510 + 15d9 060d C7SIM-Q Motherboard 3b44 5 Series/3400 Series Chipset PCI Express Root Port 2 1028 040b Latitude E6510 + 15d9 060d C7SIM-Q Motherboard 3b46 5 Series/3400 Series Chipset PCI Express Root Port 3 1028 040b Latitude E6510 3b48 5 Series/3400 Series Chipset PCI Express Root Port 4 @@ -22663,10 +23497,12 @@ 1025 0347 Aspire 7740G 1028 02da OptiPlex 980 1028 040b Latitude E6510 + 15d9 060d C7SIM-Q Motherboard e4bf 50c1 PC1-GROOVE 3b57 5 Series/3400 Series Chipset High Definition Audio 3b64 5 Series/3400 Series Chipset HECI Controller 1025 0347 Aspire 7740G + 15d9 060d C7SIM-Q Motherboard e4bf 50c1 PC1-GROOVE 3b65 5 Series/3400 Series Chipset HECI Controller 3b66 5 Series/3400 Series Chipset PT IDER Controller @@ -22804,7 +23640,7 @@ 1351 103c Compaq NC6220 4224 PRO/Wireless 2915ABG [Calexico2] Network Connection 4227 PRO/Wireless 3945ABG [Golan] Network Connection - 8086 1011 ThinkPad R60e/X60s + 8086 1011 ThinkPad T60/R60e/X60s 8086 1014 PRO/Wireless 3945BG Network Connection 4229 PRO/Wireless 4965 AG or AGN [Kedron] Network Connection 8086 1100 Vaio VGN-SZ79SN_C @@ -22916,10 +23752,12 @@ 504a EP80579 Reserved 504b EP80579 Reserved 504c EP80579 Integrated Processor with QuickAssist TDM - 5200 EtherExpress PRO/100 Intelligent Server - 5201 EtherExpress PRO/100 Intelligent Server + 5200 EtherExpress PRO/100 Intelligent Server PCI Bridge + 5201 EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller 8086 0001 EtherExpress PRO/100 Server Ethernet Adapter 530d 80310 (IOP) IO Processor + 5845 QEMU NVM Express Controller + 1af4 1100 QEMU Virtual Machine 65c0 5100 Chipset Memory Controller Hub 65e2 5100 Chipset PCI Express x4 Port 2 65e3 5100 Chipset PCI Express x4 Port 3 @@ -22945,7 +23783,7 @@ 7010 82371SB PIIX3 IDE [Natoma/Triton II] 1af4 1100 Qemu virtual machine 7020 82371SB PIIX3 USB [Natoma/Triton II] - 1af4 1100 Qemu virtual machine + 1af4 1100 QEMU Virtual Machine 7030 430VX - 82437VX TVX [Triton VX] 7050 Intercast Video Capture Card 7051 PB 642365-003 (Business Video Conferencing Card) @@ -22956,6 +23794,7 @@ 15ad 1976 Virtual Machine Chipset 7112 82371AB/EB/MB PIIX4 USB 15ad 1976 Virtual Machine Chipset + 1af4 1100 QEMU Virtual Machine 7113 82371AB/EB/MB PIIX4 ACPI 15ad 1976 Virtual Machine Chipset 1af4 1100 Qemu virtual machine @@ -23093,6 +23932,8 @@ 8c01 8 Series Chipset Family 4-port SATA Controller 1 [IDE mode] - Mobile 8c02 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] 8c03 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] + 103c 1909 ZBook 15 + 17aa 220e ThinkPad T440p 8c04 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] 8c05 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] 8c06 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] @@ -23102,8 +23943,10 @@ 8c0e 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] 8c0f 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] 8c10 8 Series/C220 Series Chipset Family PCI Express Root Port #1 + 17aa 220e ThinkPad T440p 8c11 8 Series/C220 Series Chipset Family PCI Express Root Port #1 8c12 8 Series/C220 Series Chipset Family PCI Express Root Port #2 + 17aa 220e ThinkPad T440p 8c13 8 Series/C220 Series Chipset Family PCI Express Root Port #2 8c14 8 Series/C220 Series Chipset Family PCI Express Root Port #3 8c15 8 Series/C220 Series Chipset Family PCI Express Root Port #3 @@ -23118,16 +23961,28 @@ 8c1e 8 Series/C220 Series Chipset Family PCI Express Root Port #8 8c1f 8 Series/C220 Series Chipset Family PCI Express Root Port #8 8c20 8 Series/C220 Series Chipset High Definition Audio Controller + 103c 1909 ZBook 15 + 17aa 220e ThinkPad T440p 8c21 8 Series/C220 Series Chipset High Definition Audio Controller 8c22 8 Series/C220 Series Chipset Family SMBus Controller + 103c 1909 ZBook 15 + 17aa 220e ThinkPad T440p 8c23 8 Series Chipset Family CHAP Counters 8c24 8 Series Chipset Family Thermal Management Controller 8c26 8 Series/C220 Series Chipset Family USB EHCI #1 + 103c 1909 ZBook 15 + 17aa 220e ThinkPad T440p 8c2d 8 Series/C220 Series Chipset Family USB EHCI #2 + 103c 1909 ZBook 15 + 17aa 220e ThinkPad T440p 8c31 8 Series/C220 Series Chipset Family USB xHCI + 103c 1909 ZBook 15 + 17aa 220e ThinkPad T440p 8c33 8 Series/C220 Series Chipset Family LAN Controller 8c34 8 Series/C220 Series Chipset Family NAND Controller 8c3a 8 Series/C220 Series Chipset Family MEI Controller #1 + 103c 1909 ZBook 15 + 17aa 220e ThinkPad T440p 8c3b 8 Series/C220 Series Chipset Family MEI Controller #2 8c3c 8 Series/C220 Series Chipset Family IDE-r Controller 8c3d 8 Series/C220 Series Chipset Family KT Controller @@ -23147,6 +24002,8 @@ 8c4d 8 Series/C220 Series Chipset Family LPC Controller 8c4e Q87 Express LPC Controller 8c4f QM87 Express LPC Controller + 103c 1909 ZBook 15 + 17aa 220e ThinkPad T440p 8c50 B85 Express LPC Controller 8c51 8 Series/C220 Series Chipset Family LPC Controller 8c52 C222 Series Chipset Family Server Essential SKU LPC Controller @@ -23167,6 +24024,7 @@ 8d02 Wellsburg 6-Port SATA Controller [AHCI mode] 8d04 Wellsburg SATA Controller [RAID mode] 8d06 Wellsburg SATA Controller [RAID mode] + 17aa 1031 ThinkServer RAID 110i 8d08 Wellsburg 2-port SATA Controller [IDE mode] 8d0e Wellsburg SATA Controller [RAID mode] 8d10 Wellsburg PCI Express Root Port #1 @@ -23236,6 +24094,7 @@ 9c01 Lynx Point-LP SATA Controller 1 [IDE mode] 9c02 Lynx Point-LP SATA Controller 1 [AHCI mode] 9c03 Lynx Point-LP SATA Controller 1 [AHCI mode] + 17aa 2214 ThinkPad X240 9c04 Lynx Point-LP SATA Controller 1 [RAID mode] 9c05 Lynx Point-LP SATA Controller 1 [RAID mode] 9c06 Lynx Point-LP SATA Controller 1 [RAID mode] @@ -23265,16 +24124,21 @@ 9c1e Lynx Point-LP PCI Express Root Port 8 9c1f Lynx Point-LP PCI Express Root Port 8 9c20 Lynx Point-LP HD Audio Controller + 17aa 2214 ThinkPad X240 9c21 Lynx Point-LP HD Audio Controller 9c22 Lynx Point-LP SMBus Controller + 17aa 2214 ThinkPad X240 9c23 Lynx Point-LP CHAP Counters 9c24 Lynx Point-LP Thermal 9c26 Lynx Point-LP USB EHCI #1 + 17aa 2214 ThinkPad X240 9c2d Lynx Point-LP USB EHCI #2 9c31 Lynx Point-LP USB xHCI HC + 17aa 2214 ThinkPad X240 9c35 Lynx Point-LP SDIO Controller 9c36 Lynx Point-LP Audio DSP Controller 9c3a Lynx Point-LP HECI #0 + 17aa 2214 ThinkPad X240 9c3b Lynx Point-LP HECI #1 9c3c Lynx Point-LP HECI IDER 9c3d Lynx Point-LP HECI KT @@ -23282,6 +24146,7 @@ 9c41 Lynx Point-LP LPC Controller 9c42 Lynx Point-LP LPC Controller 9c43 Lynx Point-LP LPC Controller + 17aa 2214 ThinkPad X240 9c44 Lynx Point-LP LPC Controller 9c45 Lynx Point-LP LPC Controller 9c46 Lynx Point-LP LPC Controller @@ -23293,6 +24158,41 @@ 9c64 Lynx Point-LP UART Controller #1 9c65 Lynx Point-LP SPI Controller #0 9c66 Lynx Point-LP SPI Controller #1 + 9c83 Wildcat Point-LP SATA Controller [AHCI Mode] + 9c85 Wildcat Point-LP SATA Controller [RAID Mode] + 9c87 Wildcat Point-LP SATA Controller [RAID Mode] + 9c8f Wildcat Point-LP SATA Controller [RAID Mode] + 9c90 Wildcat Point-LP PCI Express Root Port #1 + 9c92 Wildcat Point-LP PCI Express Root Port #2 + 9c94 Wildcat Point-LP PCI Express Root Port #3 + 9c96 Wildcat Point-LP PCI Express Root Port #4 + 9c98 Wildcat Point-LP PCI Express Root Port #5 + 9c9a Wildcat Point-LP PCI Express Root Port #6 + 9ca0 Wildcat Point-LP High Definition Audio Controller + 9ca2 Wildcat Point-LP SMBus Controller + 9ca4 Wildcat Point-LP Thermal Management Controller + 9ca6 Wildcat Point-LP USB EHCI Controller + 9cb1 Wildcat Point-LP USB xHCI Controller + 9cb5 Wildcat Point-LP Secure Digital IO Controller + 9cb6 Wildcat Point-LP Smart Sound Technology Controller + 9cba Wildcat Point-LP MEI Controller #1 + 9cbb Wildcat Point-LP MEI Controller #2 + 9cbc Wildcat Point-LP IDE-r Controller + 9cbd Wildcat Point-LP KT Controller + 9cc1 Wildcat Point-LP LPC Controller + 9cc2 Wildcat Point-LP LPC Controller + 9cc3 Wildcat Point-LP LPC Controller + 9cc5 Wildcat Point-LP LPC Controller + 9cc6 Wildcat Point-LP LPC Controller + 9cc7 Wildcat Point-LP LPC Controller + 9cc9 Wildcat Point-LP LPC Controller + 9ce0 Wildcat Point-LP Serial IO DMA Controller + 9ce1 Wildcat Point-LP Serial IO I2C Controller #0 + 9ce2 Wildcat Point-LP Serial IO I2C Controller #1 + 9ce3 Wildcat Point-LP Serial IO UART Controller #0 + 9ce4 Wildcat Point-LP Serial IO UART Controller #1 + 9ce5 Wildcat Point-LP Serial IO GSPI Controller #0 + 9ce6 Wildcat Point-LP Serial IO GSPI Controller #1 a000 Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge 1458 5000 GA-D525TUD 8086 4f4d DeskTop Board D510MO @@ -23325,6 +24225,7 @@ d130 Core Processor DMI d131 Core Processor DMI 1028 02da OptiPlex 980 + 15d9 060d C7SIM-Q Motherboard d132 Core Processor DMI 1028 040b Latitude E6510 d133 Core Processor DMI @@ -23335,6 +24236,7 @@ d138 Core Processor PCI Express Root Port 1 1028 02da OptiPlex 980 1028 040b Latitude E6510 + 15d9 060d C7SIM-Q Motherboard d139 Core Processor PCI Express Root Port 2 d13a Core Processor PCI Express Root Port 3 d13b Core Processor PCI Express Root Port 4 @@ -23724,6 +24626,7 @@ 8088 PMC-Sierra PM8018 SAS HBA [Series 7H] 8089 PMC-Sierra PM8019 SAS encryption HBA [Series 7He] 808f AIC-7901 U320 w/HostRAID + 1028 0168 Precision Workstation 670 Mainboard 8090 ASC-39320 U320 w/HostRAID 8091 ASC-39320D U320 w/HostRAID 8092 ASC-29320 U320 w/HostRAID @@ -23772,8 +24675,10 @@ 9904 4-Port PCIe Serial Adapter # 2-port Serial 1-port Parallel Adaptor 9912 PCIe 9912 Multi-I/O Controller - 9922 PCIe 9922 Multi-I/O Controller + 9922 MCS9922 PCIe Multi-I/O Controller 9990 MCS9990 PCIe to 4‐Port USB 2.0 Host Controller +# Subsystem ID on a 3c985B-SX network card +9850 3Com (wrong ID) 9902 Stargen Inc. 0001 SG2010 PCI over Starfabric Bridge 0002 SG2010 PCI to Starfabric Gateway @@ -23787,6 +24692,22 @@ a304 Sony a727 3Com Corporation 0013 3CRPAG175 Wireless PC Card 6803 3CRDAG675B Wireless 11a/b/g Adapter +aa00 iTuner +aa01 iTuner +aa02 iTuner +aa03 iTuner +aa04 iTuner +aa05 iTuner +aa06 iTuner +aa07 iTuner +aa08 iTuner +aa09 iTuner +aa0a iTuner +aa0b iTuner +aa0c iTuner +aa0d iTuner +aa0e iTuner +aa0f iTuner aa42 Scitex Digital Video aa55 Ncomputing X300 PCI-Engine aaaa Adnaco Technology Inc. @@ -23811,6 +24732,7 @@ b1d9 ATCOM Technology co., LTD. # Pinnacle should be 11bd, but they got it wrong several times --mj bd11 Pinnacle Systems, Inc. (Wrong ID) bdbd Blackmagic Design + a106 Multibridge Extreme a117 Intensity Pro a11a DeckLink HD Extreme 2 a11b DeckLink SDI/Duo/Quad @@ -23818,9 +24740,16 @@ bdbd Blackmagic Design a11d DeckLink Studio a11e DeckLink Optical Fibre a121 DeckLink HD Extreme 3D/3D+ + a124 Intensity Extreme + a126 Intensity Shuttle + a127 UltraStudio Express + a129 UltraStudio Mini Monitor + a12a UltraStudio Mini Recorder + a12d UltraStudio 4K a12e DeckLink 4K Extreme a12f DeckLink Mini Monitor a130 DeckLink Mini Recorder + a132 UltraStudio 4K c001 TSI Telsys c0a9 Micron/Crucial Technology c0de Motorola @@ -23872,13 +24801,31 @@ d4d4 Dy4 Systems Inc d531 I+ME ACTIA GmbH d84d Exsys dada Datapath Limited + 0133 VisionRGB-X2 + 0139 VisionRGB-E1 + 0144 VisionSD8 + 0150 VisionRGB-E2 + 0151 VisionSD4+1 + 0159 VisionAV + 0161 DGC161 + 0165 DGC165 + 0167 DGC167 + 0168 DGC168 + 1139 VisionRGB-E1S + 1150 VisionRGB-E2S + 1151 VisionSD4+1S + 1153 VisionDVI-DL + 1154 VisionSDI2 db10 Diablo Technologies dcba Dynamic Engineering - 0046 PCIeAlteraCycloneIV + 0046 PCIe Altera Cyclone IV # VPX format Receiver Controller Board 0047 VPX-RCB # PMC Format FPGA design with 8 high speed UART channels 0048 PMC-Biserial-III-BAE9 + 004e PC104p-Biserial-III-NVY5 + 004f PC104p-Biserial-III-NVY6 + 0052 PCIeBiSerialDb37 BA22 LVDS IO dd01 Digital Devices GmbH 0003 Octopus DVB Adapter dd01 0001 Octopus DVB adapter @@ -23921,6 +24868,7 @@ e4bf EKF Elektronik GmbH 53c1 SC1-ALLEGRO cc47 CCG-RUMBA cc4d CCM-BOOGIE +e4e4 Xorcom e55e Essence Technology, Inc. ea01 Eagle Technology 000a PCI-773 Temperature Card diff --git a/src/hwdata/usb.ids b/src/hwdata/usb.ids index 7462851611..c8a83c862b 100644 --- a/src/hwdata/usb.ids +++ b/src/hwdata/usb.ids @@ -9,8 +9,8 @@ # The latest version can be obtained from # http://www.linux-usb.org/usb.ids # -# Version: 2013.08.21 -# Date: 2013-08-21 20:34:03 +# Version: 2014.02.03 +# Date: 2014-02-03 20:34:03 # # Vendors, devices and interfaces. Please keep sorted. @@ -26,10 +26,12 @@ 0002 Ingram 0003 Club Mac 0004 Nebraska Furniture Mart +0011 Unknown manufacturer + 7788 Flash mass storage drive 0053 Planex 5301 GW-US54ZGL 802.11bg 0079 DragonRise Inc. - 0006 Generic USB Joystick + 0006 PC TWIN SHOCK Gamepad 0011 Gamepad 0105 Trust International B.V. 145f NW-3100 802.11b/g 54Mbps Wireless Network Adapter [zd1211] @@ -37,8 +39,10 @@ 0112 Card Reader 017c MLK 145f Trust Deskset +0200 TP-Link + 0201 MA180 UMTS Modem 0204 Chipsbank Microelectronics Co., Ltd - 6025 CBM2080 Flash drive controller + 6025 CBM2080 / CBM2090 Flash drive controller 6026 CBM1180 Flash drive controller 0218 Hangzhou Worlde 0301 MIDI Port @@ -105,6 +109,7 @@ 2107 AVR Dragon 2109 STK541 ZigBee Development Board 210d XPLAIN evaluation kit (CDC ACM) + 2110 AVR JTAGICE3 Debugger and Programmer 2122 XMEGA-A1 Explained evaluation kit 2310 EVK11xx evaluation board 2fe4 ATxmega32A4U DFU bootloader @@ -191,6 +196,8 @@ 0412 Printing Support 0417 LaserJet 1200 series 0423 HS-COMBO Cardreader + 042a LaserJet M1132 MFP + 0441 HP Prime Calculator 0504 DeskJet 885c 0505 ScanJet 2100c 0507 DVD+RW @@ -338,7 +345,7 @@ 2311 OfficeJet d series 2312 OfficeJet Pro L7700 2317 LaserJet 4350 - 231d 4 GB Flash Drive + 231d Broadcom 2070 Bluetooth Combo 2402 PhotoSmart 7700 series 2404 Deskjet F2280 series 2405 ScanJet 4070 PhotoSmart @@ -349,6 +356,7 @@ 2504 DeskJet F4200 series 2505 ScanJet 3770 2512 OfficeJet Pro L7300 + 2514 4-port hub 2517 LaserJet 2410 251d Gobi 2000 Wireless Modem 2524 LP3065 30" Monitor Hub @@ -424,6 +432,7 @@ 3b11 PSC 1300 series 3b17 LaserJet M1005 MFP 3c02 PhotoSmart 7350 + 3c05 Scanjet Professional 1000 Mobile Scanner 3c11 PSC 1358 3c17 EWS UPD 3d02 PhotoSmart 7350~ @@ -473,6 +482,7 @@ 5017 EWS UPD 5111 PhotoSmart 3200 series 5211 PhotoSmart 3300 series + 5307 v165w Stick 5311 OfficeJet 6300 5312 Officejet Pro 8500A 5411 OfficeJet 4300 @@ -692,12 +702,20 @@ 8028 Dev board JTAG (FT232H based) 8040 4 Port Hub 8070 7 Port Hub + 8140 Vehicle Explorer Interface 8210 MGTimer - MGCC (Vic) Timing System 8370 7 Port Hub 8371 PS/2 Keyboard And Mouse 8372 FT8U100AX Serial Port 8a28 Rainforest Automation ZigBee Controller 8a98 TIAO Multi-Protocol Adapter + 8b28 Alpermann+Velte TCI70 + 8b29 Alpermann+Velte TC60 CLS + 8b2a Alpermann+Velte Rubidium Q1 + 8b2b Alpermann+Velte TCD + 8b2c Alpermann+Velte TCC70 + 9133 CallerID + 9135 Rotary Pub alarm 9e90 Marvell OpenRD Base/Client 9f80 Ewert Energy Systems CANdapter a6d0 Texas Instruments XDS100v2 JTAG / BeagleBone A3 @@ -730,6 +748,7 @@ c8bc Alpermann+Velte Rubidium S1 c8bd Alpermann+Velte Rubidium T1 c8be Alpermann+Velte Rubidium D1 + c8bf Alpermann+Velte TC60 RLV cc48 Tactrix OpenPort 1.3 Mitsubishi cc49 Tactrix OpenPort 1.3 Subaru cc4a Tactrix OpenPort 1.3 Universal @@ -1000,6 +1019,7 @@ 4000 InkJet Color Printer 4021 Photo Printer 6800 4022 1400 Digital Photo Printer + 402e 605 Photo Printer 4034 805 Photo Printer 4056 ESP 7200 Series AiO 4109 EasyShare Printer Dock Series 3 @@ -1012,6 +1032,7 @@ 6004 i60 6005 i80 040b Weltrend Semiconductor + 0a68 Func MS-3 gaming mouse [WT6573F MCU] 6510 Weltrend Bar Code Reader 6520 XBOX Xploder 6533 Speed-Link Competition Pro @@ -1240,6 +1261,7 @@ 4056 Live! Cam Video IM Pro 4057 Live! Cam Optia 4058 Live! Cam Optia AF + 405f WebCam Vista (VF0330) 4061 Live! Cam Notebook Pro [VF0400] 4063 Live! Cam Video IM Pro 4068 Live! Cam Notebook [VF0470] @@ -1659,6 +1681,7 @@ 4a4d Flatron 915FT Plus Monitor 7001 MF-PD100 Soul Digital MP3 Player 7013 MP3 Player + 70d7 Mouse Scanner LSM-150 [LG Smart Scan Mouse] 70f5 External HDD 8484 LPC-U30 Webcam II 8585 LPC-UC35 Webcam @@ -1714,6 +1737,7 @@ b10a T.16000M Joystick b203 360 Modena Pro Wheel b300 Firestorm Dual Power + b303 FireStorm Dual Analog 2 b304 Firestorm Dual Power b307 vibrating Upad b30b Wireless VibrationPad @@ -1771,6 +1795,7 @@ 0151 Super Flash 1GB / GXT 64MB Flash Drive 0162 SiS162 usb Wireless LAN Adapter 0163 802.11 Wireless LAN Adapter + 0817 SiS-184-ASUS-4352.17 touch panel 5401 Wireless Adapter RO80211GS-USB 0458 KYE Systems Corp. (Mouse Systems) 0001 Mouse @@ -1863,6 +1888,7 @@ 705c Genius iSlim 1300AF 7079 FaceCam 2025R 707f TVGo DVB-T03 [RTL2832] + 7088 WideCam 1050 0459 Adobe Systems, Inc. 045a SONICblue, Inc. 07da Supra Express 56K modem @@ -2153,6 +2179,8 @@ 076d LifeCam HD-5000 0772 LifeCam Studio 0779 LifeCam HD-3000 + 0780 Comfort Curve Keyboard 3000 + 0797 Optical Mouse 200 930a ISOUSB.SYS Intel 82930 Isochronous IO Test Board ffca Catalina fff8 Keyboard @@ -2227,7 +2255,7 @@ 0467 AT&T Paradyne 0468 Wieson Technologies Co., Ltd 046a Cherry GmbH - 0001 My3000 Keyboard + 0001 Keyboard 0003 My3000 Hub 0004 CyBoard Keyboard 0005 XX33 SmartCard Reader Keyboard @@ -2444,12 +2472,14 @@ c061 RX1500 Laser Mouse c062 M-UAS144 [LS1 Laser Mouse] c063 DELL Laser Mouse + c064 M110 corded optical mouse (M-B0001) c066 G9x Laser Mouse c068 G500 Laser Mouse c069 M500 Laser Mouse c06a USB Optical Mouse c06b G700 Wireless Gaming Mouse c06c Optical Mouse + c077 M105 Optical Mouse c101 UltraX Media Remote c110 Harmony 785/885 Remote c111 Harmony 525 Remote @@ -2460,6 +2490,7 @@ c124 Harmony 300 Remote c125 Harmony 200 Remote c126 Harmony Link + c12b Harmony Touch Remote c201 WingMan Extreme Joystick with Throttle c202 WingMan Formula c207 WingMan Extreme Digital 3D @@ -2489,12 +2520,18 @@ c225 G11/G15 Keyboard / G keys c226 G15 Refresh Keyboard c227 G15 Refresh Keyboard + c228 G19 Gaming Keyboard + c229 G19 Gaming Keyboard Macro Interface c22a Gaming Keyboard G110 c22b Gaming Keyboard G110 G-keys c22d G510 Gaming Keyboard c22e G510 Gaming Keyboard onboard audio c245 G400 Optical Mouse c246 Gaming Mouse G300 + c248 G105 Gaming Keyboard + c24a G600 Gaming Mouse + c24d G710 Gaming Keyboard + c24e G500s Laser Gaming Mouse c281 WingMan Force c283 WingMan Force 3D c285 WingMan Strike Force 3D @@ -2854,6 +2891,8 @@ 0014 InTouch Module a006 External Disk 1.5TB a007 External Disk USB 3.0 + a009 Stor.E Basics + d010 External Disk 3TB 0481 Zenith Data Systems 0482 Kyocera Corp. 000e FS-1020D Printer @@ -2885,6 +2924,7 @@ 5000 ST Micro/Ergenic ERG BT-002 Bluetooth Adapter 5001 ST Micro Bluetooth Device 5710 Joystick in FS Mode + 5720 STM microSD Flash Device 5721 Hantek DDS-3X25 Arbitrary Waveform Generator 5740 STM32F407 7270 ST Micro Serial Bridge @@ -2917,6 +2957,8 @@ 9006 IT9135 BDA Afatech DVB-T HDTV Dongle 9009 Zolid HD DVD Maker 9135 Zolid Mini DVB-T Stick + 9503 ITE it9503 feature-limited DVB-T transmission chip [ccHDtv] + 9507 ITE it9507 full featured DVB-T transmission chip [ccHDtv] 048f Eicon Tech. 0490 United Microelectronics Corp. 0491 Capetronic @@ -3607,6 +3649,7 @@ 31e4 PowerShot SX20 IS 31e5 Digital IXUS 200 IS 31e6 PowerShot SD940 IS DIGITAL ELPH / Digital IXUS 120 IS / IXY DIGITAL 220 IS + 31e7 SELPHY CP790 31ea EOS Rebel T2i / EOS 550D / EOS Kiss X4 31ee SELPHY ES40 31ef PowerShot A495 @@ -3664,8 +3707,14 @@ 325c PowerShot SX500 IS 325f PowerShot SX280 HS 3260 PowerShot SX270 HS + 3262 PowerShot A2600 3264 PowerShot A1400 + 3265 Powershot ELPH 130 IS / IXUS 140 3268 PowerShot ELPH 330 HS / IXUS 255 HS + 3271 PowerShot A2500 + 3276 PowerShot SX170 IS + 3277 PowerShot SX510 HS + 327d Powershot ELPH 115 IS / IXUS 132 04aa DaeWoo Telecom, Ltd 04ab Chromatic Research 04ac Micro Audiometrics Corp. @@ -3740,6 +3789,7 @@ 0424 D3000 0425 D300S 0428 D7000 + 0429 D5100 042a D800 (ptp) 0f03 PD-10 Wireless Printer Adapter 4000 Coolscan LS 40 ED @@ -3768,6 +3818,7 @@ 4427 Portable CD ROM 4482 Serial Converter 4485 Serial Converter + 4524 40 Character Vacuum Fluorescent Display 4525 Double sided CRT 4535 4610 Suremark Printer 4550 NVRAM (128 KB) @@ -4109,6 +4160,7 @@ 10e7 fi-5900C 10fe S500 1150 fi-6230 + 201d SATA 3.0 6Gbit/s Adaptor [GROOVY] 04c6 Toshiba America Electronic Components 04c7 Micro Macro Technologies 04c8 Konica Corp. @@ -4122,6 +4174,7 @@ 072c Revio KD20M 072d Revio KD410Z 04ca Lite-On Technology Corp. + 004f SK-9020 keyboard 1766 HID Monitor Controls 2004 Bluetooth 4.0 [Broadcom BCM20702A0] 9304 Hub @@ -4288,11 +4341,13 @@ 1400 PS/2 keyboard + mouse controller 1503 Shortboard Lefty 1603 Keyboard + 1702 Keyboard LKS02 2013 Keyboard [Das Keyboard] 2221 Keyboard 2323 Keyboard 2519 Shenzhen LogoTech 2.4GHz receiver 2832 1channel Telephone line recorder + 2834 HT82A834R Audio MCU a055 Keyboard 04da Panasonic (Matsushita) 0901 LS-120 Camera @@ -4444,6 +4499,7 @@ 5151 SCR338 Keyboard Smart Card Reader 5292 SCL011 RFID reader 5410 SCR35xx Smart Card Reader + 5591 SCL3711-NFC&RW e000 SCRx31 Reader e001 SCR331 SmartCard Reader e003 SPR532 PinPad SmartCard Reader @@ -4708,6 +4764,7 @@ 0760 Acer KU-0760 Keyboard 0841 HP Multimedia Keyboard 0860 2.4G Multimedia Wireless Kit + 1121 Periboard 717 Mini Wireless Keyboard a001 E-Video DC-100 Camera a120 ORITE CCD Webcam(PC370R) a121 ORITE CCD Webcam(PC370R) @@ -4770,6 +4827,7 @@ b330 Asus 720p CMOS webcam b354 UVC 1.00 device HD UVC WebCam 04f3 Elan Microelectronics Corp. + 000a Touchscreen 0103 ActiveJet K-2024 Multimedia Keyboard 01a4 Wireless Keyboard 0210 Optical Mouse @@ -5120,6 +5178,8 @@ 1004 F9L1004 802.11n Surf N300 XR Wireless Adapter [Realtek RTL8192CU] 1102 F7D1102 N150/Surf Micro Wireless Adapter v1000 [Realtek RTL8188CUS] 1103 F9L1103 N750 DB 802.11abgn 2x3:3 [Ralink RT3573] + 1106 F9L1106v1 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] + 1109 F9L1109v1 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] 11f2 ISY Wireless Micro Adapter IWL 2000 [RTL8188CUS] 1202 F5U120-PC Parallel Printer Port 1203 F5U120-PC Serial Port @@ -5524,6 +5584,7 @@ 0440 DSC-H55 0485 MHS-PM5 HD camcorder 04cb WALKMAN NWZ-E354 + 06bb WALKMAN NWZ-F805 1000 Wireless Buzz! Receiver 054d Try Corp. 054e Proside Corp. @@ -9637,8 +9698,8 @@ 0001 Hard Drive Adapter (TPP) 0002 SigmaDrive Adapter (TPP) 0906 Faraday Technology Corp. -0908 ShenZhen SANZHAI Technology Co.,Ltd - 2701 Spy Pen VGA +0908 Siemens AG + 2701 ShenZhen SANZHAI Technology Co.,Ltd Spy Pen VGA 0909 Audio-Technica Corp. 090a Trumpion Microelectronics, Inc. 1001 T33520 Flash Card Controller @@ -12779,6 +12840,8 @@ 0ff7 CHI SHING Computer Accessories Co., Ltd 0ffc Clavia DMI AB 0021 Nord Stage 2 +0ffd EarlySense + ff00 OEM 0fff Aopen, Inc. 1000 Speed Tech Corp. 1001 Ritronics Components (S) Pte., Ltd @@ -15344,6 +15407,8 @@ 1b59 K.S. Terminals Inc. 1b5a Chao Zhou Kai Yuan Electric Co., Ltd. 1b65 The Hong Kong Standards and Testing Centre Ltd. +1b71 Fushicai + 3002 USBTV007 Video Grabber [EasyCAP] 1b72 ATERGI TECHNOLOGY CO., LTD. 1b73 Fresco Logic 1000 xHC1 Controller @@ -15881,6 +15946,9 @@ 648b TEW-648UBM 802.11n 150Mbps Micro Wireless N Adapter [Realtek RTL8188CUS] 2101 ActionStar 0201 SIIG 4-to-2 Printer Switch +2149 Advanced Silicon S.A. + 211b Touchscreen Controller + 2703 TS58xxA/TC56xxA [CoolTouch] 2162 Creative (?) 2031 Network Blaster Wireless Adapter 500c DE5771 Modem Blaster @@ -15899,10 +15967,17 @@ 4050 AirStick joystick 2227 SAMWOO Enterprise 3105 SKYDATA SKD-U100 +2232 Silicon Motion + 1005 WebCam SCB-0385N + 1028 WebCam SC-03FFL11939N + 1029 WebCam SC-13HDL11939N + 1037 WebCam SC-03FFM12339N 2233 RadioShack Corporation 6323 USB Electronic Scale 2237 Kobo Inc. 4161 eReader White +228d 8D Technologies inc. + 0001 Terminal Bike Key Reader 22a6 Pie Digital, Inc. ffff PieKey "beta" 4GB model 4E4F41482E4F5247 (SM3251Q BB) 22b8 Motorola PCS diff --git a/src/initscripts/init.d/dhcp b/src/initscripts/init.d/dhcp index abc6b5c8f9..083a555a3a 100644 --- a/src/initscripts/init.d/dhcp +++ b/src/initscripts/init.d/dhcp @@ -9,26 +9,39 @@ . $rc_functions eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings) +function flush_chains() { + iptables -F DHCPGREENINPUT + iptables -F DHCPGREENOUTPUT + iptables -F DHCPBLUEINPUT + iptables -F DHCPBLUEOUTPUT +} + case "$1" in start) - iptables -F DHCPBLUEINPUT - if [ -e /var/ipfire/dhcp/enable_green ]; then + flush_chains + + if [ -n "${GREEN_DEV}" -a -e "/var/ipfire/dhcp/enable_green" ]; then devices="${GREEN_DEV}" + + iptables -A DHCPGREENINPUT -i "${GREEN_DEV}" -j DHCPINPUT + iptables -A DHCPGREENOUTPUT -o "${GREEN_DEV}" -j DHCPOUTPUT fi - if [ -e /var/ipfire/dhcp/enable_blue ]; then + if [ -n "${BLUE_DEV}" -a -e "/var/ipfire/dhcp/enable_blue" ]; then devices+=" ${BLUE_DEV}" - - iptables -A DHCPBLUEINPUT -p tcp --source-port 68 --destination-port 67 -i ${BLUE_DEV} -j ACCEPT > /dev/null 2>&1 - iptables -A DHCPBLUEINPUT -p udp --source-port 68 --destination-port 67 -i ${BLUE_DEV} -j ACCEPT > /dev/null 2>&1 - fi - + + iptables -A DHCPBLUEINPUT -i "${BLUE_DEV}" -j DHCPINPUT + iptables -A DHCPBLUEOUTPUT -o "${BLUE_DEV}" -j DHCPOUTPUT + fi + boot_mesg "Starting DHCP Server..." loadproc /usr/sbin/dhcpd -q ${devices} - + (sleep 5 && chmod 644 /var/run/dhcpd.pid) & # Fix because silly dhcpd creates its pid with mode 640 ;; stop) + flush_chains + boot_mesg "Stopping DHCP Server..." killproc -p /var/run/dhcpd.pid /usr/sbin/dhcpd if [ "$(ps -A | grep " dhcpd")" != "" ] ; then diff --git a/src/initscripts/init.d/fcron b/src/initscripts/init.d/fcron index 00a70bd4a3..0260d4ad62 100644 --- a/src/initscripts/init.d/fcron +++ b/src/initscripts/init.d/fcron @@ -13,6 +13,7 @@ case "$1" in start) boot_mesg "Starting fcron..." + chown cron:cron /var/spool/cron loadproc /usr/sbin/fcron -y # remove -y to reenable fcron logging ;; diff --git a/src/initscripts/init.d/firewall b/src/initscripts/init.d/firewall index f0d9c492ad..8371781101 100644 --- a/src/initscripts/init.d/firewall +++ b/src/initscripts/init.d/firewall @@ -143,6 +143,31 @@ iptables_init() { iptables -A ${i} -j CONNTRACK done + # Allow DHCP + iptables -N DHCPINPUT + iptables -A DHCPINPUT -p udp --sport 68 --dport 67 -j ACCEPT + iptables -A DHCPINPUT -p tcp --sport 68 --dport 67 -j ACCEPT + + iptables -N DHCPOUTPUT + iptables -A DHCPOUTPUT -p udp --sport 67 --dport 68 -j ACCEPT + iptables -A DHCPOUTPUT -p tcp --sport 67 --dport 68 -j ACCEPT + + # Allow DHCP on GREEN + iptables -N DHCPGREENINPUT + iptables -N DHCPGREENOUTPUT + if [ -n "${GREEN_DEV}" ]; then + iptables -A INPUT -i "${GREEN_DEV}" -j DHCPGREENINPUT + iptables -A OUTPUT -o "${GREEN_DEV}" -j DHCPGREENOUTPUT + fi + + # allow DHCP on BLUE to be turned on/off + iptables -N DHCPBLUEINPUT + iptables -N DHCPBLUEOUTPUT + if [ -n "${BLUE_DEV}" ]; then + iptables -A INPUT -i "${BLUE_DEV}" -j DHCPBLUEINPUT + iptables -A OUTPUT -o "${BLUE_DEV}" -j DHCPBLUEOUTPUT + fi + # trafic from ipsecX/TUN/TAP interfaces, before "-i GREEN_DEV" accept everything iptables -N IPSECINPUT iptables -N IPSECFORWARD @@ -155,11 +180,7 @@ iptables_init() { # localhost and ethernet. iptables -A INPUT -i $GREEN_DEV -m conntrack --ctstate NEW -j ACCEPT ! -p icmp - - # allow DHCP on BLUE to be turned on/off - iptables -N DHCPBLUEINPUT - iptables -A INPUT -j DHCPBLUEINPUT - + # WIRELESS chains iptables -N WIRELESSINPUT iptables -A INPUT -m conntrack --ctstate NEW -j WIRELESSINPUT diff --git a/src/initscripts/init.d/networking/red b/src/initscripts/init.d/networking/red index b09737e395..e0c66b6724 100644 --- a/src/initscripts/init.d/networking/red +++ b/src/initscripts/init.d/networking/red @@ -22,6 +22,7 @@ #Define some defaults INET_VLAN=7 IPTV_VLAN=8 +ATM_DEV=0 eval $(/usr/local/bin/readhash /var/ipfire/main/settings) if [ "$RRDLOG" == "" ]; then @@ -170,17 +171,17 @@ case "${1}" in if [ "$TYPE" == "pppoeatm" ] || [ "$TYPE" == "pptpatm" ]; then - PPP_NIC=nas0 - DEVICE=nas0 + PPP_NIC=nas${ATM_DEV} + DEVICE=nas${ATM_DEV} boot_mesg "Createing ATM-Bridge as $PPP_NIC ..." - br2684ctl -c0 -e${ENCAP} -a0.${VPI}.${VCI} >/dev/null 2>&1 & + br2684ctl -c${ATM_DEV} -e${ENCAP} -a${ATM_DEV}.${VPI}.${VCI} >/dev/null 2>&1 & sleep 1 # use user-defined or green mac address for nas0 if [ -n "$MAC" ]; then - ip link set dev nas0 address ${MAC} + ip link set dev nas${ATM_DEV} address ${MAC} else - ip link set dev nas0 address $(cat /sys/class/net/green0/address) + ip link set dev nas${ATM_DEV} address $(cat /sys/class/net/green0/address) fi if [ "$TYPE" == "pppoeatm" ]; then diff --git a/src/initscripts/init.d/sshd b/src/initscripts/init.d/sshd index 0ed8661653..1d61a63990 100644 --- a/src/initscripts/init.d/sshd +++ b/src/initscripts/init.d/sshd @@ -43,7 +43,10 @@ case "$1" in ( sleep 3 pid=$(cat /var/run/sshd.pid 2>/dev/null) - [ -n "${pid}" ] && echo "-16" > "/proc/${pid}/oom_score_adj" + [ -n "${pid}" ] && [ -e "/proc/${pid}/oom_score_adj" ] && \ + echo "-16" > "/proc/${pid}/oom_score_adj" || \ + [ -e "/proc/${pid}/oom_adj" ] && \ + echo "-16" > "/proc/${pid}/oom_adj" ) & ;; diff --git a/src/initscripts/init.d/stunnel b/src/initscripts/init.d/stunnel new file mode 100644 index 0000000000..9494b5d9bd --- /dev/null +++ b/src/initscripts/init.d/stunnel @@ -0,0 +1,39 @@ +#!/bin/sh +######################################################################## +# Begin $rc_base/init.d/stunnel +# +# Description : Provides an SSL encryption wrapper. +# +######################################################################## + +. /etc/sysconfig/rc +. ${rc_functions} + +case "$1" in + start) + boot_mesg "Starting the Stunnel Daemon..." + loadproc /usr/bin/stunnel + ;; + + stop) + boot_mesg "Stopping the Stunnel Daemon..." + killproc /usr/bin/stunnel + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + status) + statusproc /usr/bin/stunnel + ;; + + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac + +# End $rc_base/init.d/stunnel diff --git a/src/initscripts/init.d/watchdog b/src/initscripts/init.d/watchdog index 6d15775f49..a21949ad73 100644 --- a/src/initscripts/init.d/watchdog +++ b/src/initscripts/init.d/watchdog @@ -1,44 +1,31 @@ #!/bin/sh +######################################################################## +# Begin $rc_base/init.d/watchdog +# +# Description : watchdog daemon initscript +# +######################################################################## . /etc/sysconfig/rc . ${rc_functions} -PATH=/bin:/usr/bin:/sbin:/usr/sbin - -test -x /usr/sbin/watchdog || exit 0 - -# For configuration of the init script use the file -# /etc/sysconfig/watchdog, do not edit this init script. - -# Set run_watchdog to 1 to start watchdog or 0 to disable it. -run_watchdog=0 - -# Specify additional watchdog options here (see manpage). -watchdog_options="" - -# Specify module to load -watchdog_module="none" - -[ -e /etc/sysconfig/watchdog ] && . /etc/sysconfig/watchdog - -DAEMON=/usr/sbin/watchdog -WD_DAEMON=/usr/sbin/wd_keepalive +if [ -e "/etc/sysconfig/watchdog" ]; then + . /etc/sysconfig/watchdog +fi case "${1}" in start) - boot_mesg "Starting watchdog ..." - if [ $run_watchdog = 1 ] - then - # do we have to load a module? - [ ${watchdog_module:-none} != "none" ] && /sbin/modprobe $watchdog_module - - loadproc $DAEMON $watchdog_options - fi + if [ -n "${watchdog_module}" ]; then + modprobe -q "${watchdog_module}" 2>/dev/null + fi + + boot_mesg "Starting watchdog daemon..." + loadproc /usr/sbin/watchdog ${watchdog_options} ;; stop) - boot_mesg "Stopping watchdog ..." - killproc $DAEMON + boot_mesg "Stopping watchdog daemon..." + killproc /usr/sbin/watchdog ;; restart) @@ -48,7 +35,7 @@ case "${1}" in ;; status) - statusproc $DAEMON + statusproc /usr/sbin/watchdog ;; *) @@ -57,3 +44,4 @@ case "${1}" in ;; esac +# End $rc_base/init.d/watchdog diff --git a/src/install+setup/install/main.c b/src/install+setup/install/main.c index b503c8bb17..e61f94dab5 100644 --- a/src/install+setup/install/main.c +++ b/src/install+setup/install/main.c @@ -124,8 +124,6 @@ int main(int argc, char *argv[]) } // Load common modules - mysystem("/sbin/modprobe iso9660"); // CDROM -// mysystem("/sbin/modprobe ext2"); // Boot patition mysystem("/sbin/modprobe vfat"); // USB key /* German is the default */ diff --git a/src/install+setup/install/mountsource.sh b/src/install+setup/install/mountsource.sh index 267823a1dc..c3350209c2 100644 --- a/src/install+setup/install/mountsource.sh +++ b/src/install+setup/install/mountsource.sh @@ -2,7 +2,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2013 IPFire Team # +# Copyright (C) 2007-2014 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -42,7 +42,7 @@ done # scan all Partitions on block devices for DEVICE in `find /sys/block/* -maxdepth 0 ! -name fd* ! -name loop* ! -name ram* -exec basename {} \;` do - for DEVICEP in $(ls /dev/${DEVICE}? | sed "s/\/dev\///" 2> /dev/null);do + for DEVICEP in $(ls /dev/${DEVICE}? 2>/dev/null | sed "s/\/dev\///");do mount /dev/${DEVICEP} /cdrom 2> /dev/null if [ -n "$(ls /cdrom/${version}.media 2>/dev/null)" ]; then echo -n ${DEVICEP} > /tmp/source_device @@ -58,7 +58,7 @@ done # scan all Partitions on raid/mmc devices for DEVICE in `find /sys/block/* -maxdepth 0 ! -name fd* ! -name loop* ! -name ram* -exec basename {} \;` do - for DEVICEP in $(ls /dev/${DEVICE}p? | sed "s/\/dev\///");do + for DEVICEP in $(ls /dev/${DEVICE}p? 2>/dev/null | sed "s/\/dev\///");do mount /dev/${DEVICEP} /cdrom 2> /dev/null if [ -n "$(ls /cdrom/${version}.media 2>/dev/null)" ]; then echo -n ${DEVICEP} > /tmp/source_device diff --git a/src/paks/stunnel/install.sh b/src/paks/stunnel/install.sh new file mode 100644 index 0000000000..efd3a9f47e --- /dev/null +++ b/src/paks/stunnel/install.sh @@ -0,0 +1,37 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh + +# Create Username and group. +getent passwd stunnel >/dev/null || \ + useradd -u 51 -g stunnel -d /var/lib/stunnel -s /bin/false \ + -c "stunnel Daemon" stunnel + +extract_files +ln -svf ../init.d/stunnel /etc/rc.d/rc3.d/S65stunnel +ln -svf ../init.d/stunnel /etc/rc.d/rc0.d/K35stunnel +ln -svf ../init.d/stunnel /etc/rc.d/rc6.d/K35stunnel + +restore_backup ${NAME} +start_service --background ${NAME} diff --git a/src/paks/stunnel/uninstall.sh b/src/paks/stunnel/uninstall.sh new file mode 100644 index 0000000000..11f46d1800 --- /dev/null +++ b/src/paks/stunnel/uninstall.sh @@ -0,0 +1,28 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +stop_service ${NAME} +make_backup ${NAME} +remove_files +rm -rf /etc/rc.d/rc*.d/*stunnel diff --git a/src/paks/stunnel/update.sh b/src/paks/stunnel/update.sh new file mode 100644 index 0000000000..89c40d0d7c --- /dev/null +++ b/src/paks/stunnel/update.sh @@ -0,0 +1,26 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +./uninstall.sh +./install.sh diff --git a/src/patches/fireinfo-0001-Exclude-some-more-invalid-patterns.patch b/src/patches/fireinfo-0001-Exclude-some-more-invalid-patterns.patch deleted file mode 100644 index fd1c525b6e..0000000000 --- a/src/patches/fireinfo-0001-Exclude-some-more-invalid-patterns.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 220ffe76a48c72171d7724f7f602a2fdd8bbca6a Mon Sep 17 00:00:00 2001 -From: Michael Tremer -Date: Sat, 15 Feb 2014 18:37:54 +0100 -Subject: [PATCH] Exclude some more invalid patterns. - ---- - src/fireinfo/system.py | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/src/fireinfo/system.py b/src/fireinfo/system.py -index 40ff7b0..c875f96 100644 ---- a/src/fireinfo/system.py -+++ b/src/fireinfo/system.py -@@ -44,12 +44,17 @@ INVALID_ID_STRINGS = ( - "Chassis", "chassis", - "Not Applicable", - "None", "empty", -+ "XXXXX", - "01010101-0101-0101-0101-010101010101", - "00020003-0004-0005-0006-000700080009", - "03000200-0400-0500-0006-000700080009", - "0000000", "00000000", - ) - -+INVALID_ID_STRINGS_EXACT_MATCH = ( -+ "NA", -+) -+ - class Singleton(type): - def __init__(cls, name, bases, dict): - super(Singleton, cls).__init__(name, bases, dict) -@@ -234,12 +239,18 @@ class System(object): - if id is None: - continue - -- for i in INVALID_ID_STRINGS: -- if i in id: -+ for i in INVALID_ID_STRINGS_EXACT_MATCH: -+ if id == i: - id = None - break - - if id: -+ for i in INVALID_ID_STRINGS: -+ if i in id: -+ id = None -+ break -+ -+ if id: - _ids.append(id) - - ids = _ids --- -1.8.3.1 - diff --git a/src/patches/linux-3.10-layer7-filter.patch b/src/patches/linux-3.10-layer7-filter.patch index 4cf2a1ceb8..ec5fc5d2fd 100644 --- a/src/patches/linux-3.10-layer7-filter.patch +++ b/src/patches/linux-3.10-layer7-filter.patch @@ -1514,10 +1514,10 @@ index 0000000..339631f +} diff --git a/net/netfilter/xt_layer7.c b/net/netfilter/xt_layer7.c new file mode 100644 -index 0000000..51bb747 +index 0000000..1573e9d --- /dev/null +++ b/net/netfilter/xt_layer7.c -@@ -0,0 +1,625 @@ +@@ -0,0 +1,665 @@ +/* + Kernel module to match application layer (OSI layer 7) data in connections. + @@ -1726,40 +1726,67 @@ index 0000000..51bb747 + +static int can_handle(const struct sk_buff *skb) +{ -+ if(!ip_hdr(skb)) /* not IP */ ++ struct iphdr iphdr_tmp; ++ struct iphdr *iphdr; ++ int offset; ++ ++ if (!ip_hdr(skb)) + return 0; -+ if(ip_hdr(skb)->protocol != IPPROTO_TCP && -+ ip_hdr(skb)->protocol != IPPROTO_UDP && -+ ip_hdr(skb)->protocol != IPPROTO_ICMP) ++ ++ offset = ((uintptr_t)ip_hdr(skb)) - ((uintptr_t)skb->data); ++ ++ iphdr = skb_header_pointer(skb, offset, sizeof(*iphdr), &iphdr_tmp); ++ if (!iphdr) + return 0; -+ return 1; ++ ++ if (iphdr->protocol == IPPROTO_TCP || ++ iphdr->protocol == IPPROTO_UDP || ++ iphdr->protocol == IPPROTO_ICMP) ++ return 1; ++ ++ return 0; +} + -+/* Returns offset the into the skb->data that the application data starts */ +static int app_data_offset(const struct sk_buff *skb) +{ -+ /* In case we are ported somewhere (ebtables?) where ip_hdr(skb) -+ isn't set, this can be gotten from 4*(skb->data[0] & 0x0f) as well. */ -+ int ip_hl = 4*ip_hdr(skb)->ihl; -+ -+ if( ip_hdr(skb)->protocol == IPPROTO_TCP ) { -+ /* 12 == offset into TCP header for the header length field. -+ Can't get this with skb->h.th->doff because the tcphdr -+ struct doesn't get set when routing (this is confirmed to be -+ true in Netfilter as well as QoS.) */ -+ int tcp_hl = 4*(skb->data[ip_hl + 12] >> 4); -+ -+ return ip_hl + tcp_hl; -+ } else if( ip_hdr(skb)->protocol == IPPROTO_UDP ) { -+ return ip_hl + 8; /* UDP header is always 8 bytes */ -+ } else if( ip_hdr(skb)->protocol == IPPROTO_ICMP ) { -+ return ip_hl + 8; /* ICMP header is 8 bytes */ -+ } else { -+ if (net_ratelimit()) -+ printk(KERN_ERR "layer7: tried to handle unknown " -+ "protocol!\n"); -+ return ip_hl + 8; /* something reasonable */ ++ int offset; ++ struct iphdr iphdr_tmp; ++ struct iphdr *iphdr; ++ struct tcphdr tcphdr_tmp; ++ struct tcphdr *tcphdr; ++ ++ if (!ip_hdr(skb)) ++ return -1; ++ ++ offset = ((uintptr_t)ip_hdr(skb)) - ((uintptr_t)skb->data); ++ ++ iphdr = skb_header_pointer(skb, offset, sizeof(*iphdr), &iphdr_tmp); ++ if (!iphdr) ++ return -1; ++ ++ offset += iphdr->ihl * 4; ++ ++ if (iphdr->protocol == IPPROTO_TCP) { ++ tcphdr = skb_header_pointer(skb, offset, sizeof(*tcphdr), ++ &tcphdr_tmp); ++ if (!tcphdr) ++ return -1; ++ ++ offset += tcphdr->doff * 4; ++ ++ return offset; + } ++ ++ if (iphdr->protocol == IPPROTO_UDP) ++ return offset + 8; ++ ++ if (iphdr->protocol == IPPROTO_ICMP) ++ return offset + 8; ++ ++ if (net_ratelimit()) ++ pr_err(KERN_ERR "layer7: tried to handle unknown protocol!\n"); ++ ++ return offset + 8; /* something reasonable */ +} + +/* handles whether there's a match when we aren't appending data anymore */ @@ -1849,13 +1876,39 @@ index 0000000..51bb747 + return length; +} + ++/* add the new app data to the buffer. Return number of bytes added. */ ++static int add_data(char *target, int offset, const struct sk_buff *skb) ++{ ++ int length, length_sum = 0; ++ int data_start = app_data_offset(skb); ++ int remaining = skb->len - data_start; ++ int to_copy; ++ uint8_t buf[512]; ++ uint8_t *data; ++ ++ while ((offset < maxdatalen - 1) && (remaining > 0)) { ++ to_copy = min_t(int, remaining, sizeof(buf)); ++ ++ data = skb_header_pointer(skb, data_start, to_copy, buf); ++ length = add_datastr(target, offset, data, to_copy); ++ ++ remaining -= to_copy; ++ data_start += to_copy; ++ offset += length; ++ length_sum += length; ++ } ++ ++ return length_sum; ++} ++ +/* add the new app data to the conntrack. Return number of bytes added. */ -+static int add_data(struct nf_conn * master_conntrack, -+ char * app_data, int appdatalen) ++static int add_data_conntrack(struct nf_conn *master_conntrack, ++ const struct sk_buff *skb) +{ + int length; + -+ length = add_datastr(master_conntrack->layer7.app_data, master_conntrack->layer7.app_data_len, app_data, appdatalen); ++ length = add_data(master_conntrack->layer7.app_data, ++ master_conntrack->layer7.app_data_len, skb); + master_conntrack->layer7.app_data_len += length; + + return length; @@ -1911,20 +1964,20 @@ index 0000000..51bb747 +static bool match(const struct sk_buff *skbin, struct xt_action_param *par) +{ + /* sidestep const without getting a compiler warning... */ -+ struct sk_buff * skb = (struct sk_buff *)skbin; ++ struct sk_buff *skb = (struct sk_buff *)skbin; + + const struct xt_layer7_info * info = par->matchinfo; + + enum ip_conntrack_info master_ctinfo, ctinfo; + struct nf_conn *master_conntrack, *conntrack; -+ unsigned char *app_data, *tmp_data; -+ unsigned int pattern_result, appdatalen; ++ unsigned char *tmp_data; ++ unsigned int pattern_result; + regexp * comppattern; + + /* Be paranoid/incompetent - lock the entire match function. */ + spin_lock_bh(&l7_lock); + -+ if(!can_handle(skb)){ ++ if (!can_handle(skbin)) { + DPRINTK("layer7: This is some protocol I can't handle.\n"); + spin_unlock_bh(&l7_lock); + return info->invert; @@ -1933,8 +1986,9 @@ index 0000000..51bb747 + /* Treat parent & all its children together as one connection, except + for the purpose of setting conntrack->layer7.app_proto in the actual + connection. This makes /proc/net/ip_conntrack more satisfying. */ -+ if(!(conntrack = nf_ct_get(skb, &ctinfo)) || -+ !(master_conntrack=nf_ct_get(skb,&master_ctinfo))){ ++ conntrack = nf_ct_get(skbin, &ctinfo); ++ master_conntrack = nf_ct_get(skbin, &master_ctinfo); ++ if (!conntrack || !master_conntrack) { + DPRINTK("layer7: couldn't get conntrack.\n"); + spin_unlock_bh(&l7_lock); + return info->invert; @@ -1962,20 +2016,6 @@ index 0000000..51bb747 + return (pattern_result ^ info->invert); + } + -+ if(skb_is_nonlinear(skb)){ -+ if(skb_linearize(skb) != 0){ -+ if (net_ratelimit()) -+ printk(KERN_ERR "layer7: failed to linearize " -+ "packet, bailing.\n"); -+ spin_unlock_bh(&l7_lock); -+ return info->invert; -+ } -+ } -+ -+ /* now that the skb is linearized, it's safe to set these. */ -+ app_data = skb->data + app_data_offset(skb); -+ appdatalen = skb_tail_pointer(skb) - app_data; -+ + /* the return value gets checked later, when we're ready to use it */ + comppattern = compile_and_cache(info->pattern, info->protocol); + @@ -1988,7 +2028,7 @@ index 0000000..51bb747 + } + + tmp_data[0] = '\0'; -+ add_datastr(tmp_data, 0, app_data, appdatalen); ++ add_data(tmp_data, 0, skbin); + pattern_result = ((comppattern && regexec(comppattern, tmp_data)) ? 1 : 0); + + kfree(tmp_data); @@ -2023,7 +2063,7 @@ index 0000000..51bb747 + + if(!skb->cb[0]){ + int newbytes; -+ newbytes = add_data(master_conntrack, app_data, appdatalen); ++ newbytes = add_data_conntrack(master_conntrack, skb); + + if(newbytes == 0) { /* didn't add any data */ + skb->cb[0] = 1; diff --git a/src/patches/linux-3.10.37-rt2800usb_add_dlink_dwa137_usbid.patch b/src/patches/linux-3.10.37-rt2800usb_add_dlink_dwa137_usbid.patch new file mode 100644 index 0000000000..83142c853f --- /dev/null +++ b/src/patches/linux-3.10.37-rt2800usb_add_dlink_dwa137_usbid.patch @@ -0,0 +1,11 @@ +diff -Naur linux-3.10.37.org/drivers/net/wireless/rt2x00/rt2800usb.c linux-3.10.37/drivers/net/wireless/rt2x00/rt2800usb.c +--- linux-3.10.37.org/drivers/net/wireless/rt2x00/rt2800usb.c 2014-04-14 15:42:31.000000000 +0200 ++++ linux-3.10.37/drivers/net/wireless/rt2x00/rt2800usb.c 2014-04-25 10:25:12.796630526 +0200 +@@ -1175,6 +1175,7 @@ + /* Belkin */ + { USB_DEVICE(0x050d, 0x945b) }, + /* D-Link */ ++ { USB_DEVICE(0x2001, 0x3317) }, + { USB_DEVICE(0x2001, 0x3c17) }, + /* Panasonic */ + { USB_DEVICE(0x083a, 0xb511) }, diff --git a/src/patches/linux-3.10.39-add_libertas_uap.patch b/src/patches/linux-3.10.39-add_libertas_uap.patch new file mode 100644 index 0000000000..be9a493a68 --- /dev/null +++ b/src/patches/linux-3.10.39-add_libertas_uap.patch @@ -0,0 +1,5081 @@ +diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig +index f8f0156..42a0702 100644 +--- a/drivers/net/wireless/Kconfig ++++ b/drivers/net/wireless/Kconfig +@@ -51,6 +51,14 @@ config LIBERTAS_THINFIRM_USB + ---help--- + A driver for Marvell Libertas 8388 USB devices using thinfirm. + ++config LIBERTAS_UAP ++ tristate "Marvell 8xxx Libertas UAP" ++ depends on MAC80211 ++ depends on MMC ++ select FW_LOADER ++ ---help--- ++ Driver for Marvell Libertas 8xxx micro AP. ++ + config AIRO + tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards" + depends on ISA_DMA_API && (PCI || BROKEN) +diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile +index 67156ef..475a1b3 100644 +--- a/drivers/net/wireless/Makefile ++++ b/drivers/net/wireless/Makefile +@@ -37,6 +37,8 @@ obj-$(CONFIG_LIBERTAS) += libertas/ + + obj-$(CONFIG_LIBERTAS_THINFIRM) += libertas_tf/ + ++obj-$(CONFIG_LIBERTAS_UAP) += libertas_uap/ ++ + obj-$(CONFIG_ADM8211) += adm8211.o + + obj-$(CONFIG_MWL8K) += mwl8k.o +diff --git a/drivers/net/wireless/libertas_uap/Makefile b/drivers/net/wireless/libertas_uap/Makefile +new file mode 100644 +index 0000000..821f2a4 +--- /dev/null ++++ b/drivers/net/wireless/libertas_uap/Makefile +@@ -0,0 +1,6 @@ ++obj-$(CONFIG_LIBERTAS_UAP) += uap8xxx.o ++ ++uap8xxx-y += uap_main.o uap_sdio_mmc.o ++uap8xxx-$(CONFIG_PROC_FS) += uap_proc.o uap_debug.o ++ ++EXTRA_CFLAGS += -DFPNUM='"52"' -DPXA3XX_DMA_ALIGN -DDEBUG_LEVEL1 +diff --git a/drivers/net/wireless/libertas_uap/uap_debug.c b/drivers/net/wireless/libertas_uap/uap_debug.c +new file mode 100644 +index 0000000..a2f6dc9 +--- /dev/null ++++ b/drivers/net/wireless/libertas_uap/uap_debug.c +@@ -0,0 +1,260 @@ ++/** @file uap_debug.c ++ * @brief This file contains functions for debug proc file. ++ * ++ * Copyright (C) 2008-2009, Marvell International Ltd. ++ * ++ * This software file (the "File") is distributed by Marvell International ++ * Ltd. under the terms of the GNU General Public License Version 2, June 1991 ++ * (the "License"). You may use, redistribute and/or modify this File in ++ * accordance with the terms and conditions of the License, a copy of which ++ * is available along with the File in the gpl.txt file or by writing to ++ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt. ++ * ++ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ++ * ARE EXPRESSLY DISCLAIMED. The License provides additional details about ++ * this warranty disclaimer. ++ * ++ */ ++#ifdef CONFIG_PROC_FS ++#include "uap_headers.h" ++ ++/******************************************************** ++ Local Variables ++********************************************************/ ++ ++#define item_size(n) (sizeof ((uap_adapter *)0)->n) ++#define item_addr(n) ((u32) &((uap_adapter *)0)->n) ++ ++#define item_dbg_size(n) (sizeof (((uap_adapter *)0)->dbg.n)) ++#define item_dbg_addr(n) ((u32) &(((uap_adapter *)0)->dbg.n)) ++ ++#define item_dev_size(n) (sizeof ((uap_dev_t *)0)->n) ++#define item_dev_addr(n) ((u32) &((uap_dev_t *)0)->n) ++ ++/** MicroAp device offset */ ++#define OFFSET_UAP_DEV 0x01 ++/** Bluetooth adapter offset */ ++#define OFFSET_UAP_ADAPTER 0x02 ++ ++struct debug_data ++{ ++ /** Name */ ++ char name[32]; ++ /** Size */ ++ u32 size; ++ /** Address */ ++ u32 addr; ++ /** Offset */ ++ u32 offset; ++ /** Flag */ ++ u32 flag; ++}; ++ ++/* To debug any member of uap_adapter, simply add one line here. ++ */ ++static struct debug_data items[] = { ++ {"cmd_sent", item_dev_size(cmd_sent), 0, item_dev_addr(cmd_sent), ++ OFFSET_UAP_DEV}, ++ {"data_sent", item_dev_size(data_sent), 0, item_dev_addr(data_sent), ++ OFFSET_UAP_DEV}, ++ {"IntCounter", item_size(IntCounter), 0, item_addr(IntCounter), ++ OFFSET_UAP_ADAPTER}, ++ {"cmd_pending", item_size(cmd_pending), 0, item_addr(cmd_pending), ++ OFFSET_UAP_ADAPTER}, ++ {"num_cmd_h2c_fail", item_dbg_size(num_cmd_host_to_card_failure), 0, ++ item_dbg_addr(num_cmd_host_to_card_failure), OFFSET_UAP_ADAPTER}, ++ {"num_tx_h2c_fail", item_dbg_size(num_tx_host_to_card_failure), 0, ++ item_dbg_addr(num_tx_host_to_card_failure), OFFSET_UAP_ADAPTER}, ++ {"psmode", item_size(psmode), 0, item_addr(psmode), OFFSET_UAP_ADAPTER}, ++ {"ps_state", item_size(ps_state), 0, item_addr(ps_state), ++ OFFSET_UAP_ADAPTER}, ++#ifdef DEBUG_LEVEL1 ++ {"drvdbg", sizeof(drvdbg), (u32) & drvdbg, 0, 0} ++#endif ++}; ++ ++static int num_of_items = sizeof(items) / sizeof(items[0]); ++ ++/******************************************************** ++ Global Variables ++********************************************************/ ++ ++/******************************************************** ++ Local Functions ++********************************************************/ ++/** ++ * @brief proc read function ++ * ++ * @param page pointer to buffer ++ * @param s read data starting position ++ * @param off offset ++ * @param cnt counter ++ * @param eof end of file flag ++ * @param data data to output ++ * @return number of output data ++ */ ++static int uap_debug_proc_show(struct seq_file *s, void *data) { ++ int val = 0; ++ int i; ++ ++ struct debug_data *d = (struct debug_data *)s->private; ++ ++ if (MODULE_GET == 0) ++ return UAP_STATUS_FAILURE; ++ ++ for (i = 0; i < num_of_items; i++) { ++ if (d[i].size == 1) ++ val = *((u8 *) d[i].addr); ++ else if (d[i].size == 2) ++ val = *((u16 *) d[i].addr); ++ else if (d[i].size == 4) ++ val = *((u32 *) d[i].addr); ++ ++ seq_printf(s, "%s=%d\n", d[i].name, val); ++ } ++ MODULE_PUT; ++ return 0; ++} ++ ++static int uap_debug_proc_open(struct inode* inode, struct file* file) { ++ return single_open(file, uap_debug_proc_show, PDE_DATA(inode)); ++} ++ ++/** ++ * @brief proc write function ++ * ++ * @param f file pointer ++ * @param buf pointer to data buffer ++ * @param cnt data number to write ++ * @param data data to write ++ * @return number of data ++ */ ++static ssize_t uap_debug_proc_write(struct file *f, const char __user *buf, size_t cnt, loff_t *data) { ++ int r, i; ++ char *pdata; ++ char *p; ++ char *p0; ++ char *p1; ++ char *p2; ++ struct debug_data *d = (struct debug_data *)PDE_DATA(file_inode(f)); ++ ++ if (MODULE_GET == 0) ++ return UAP_STATUS_FAILURE; ++ ++ pdata = (char *) kmalloc(cnt, GFP_KERNEL); ++ if (pdata == NULL) { ++ MODULE_PUT; ++ return 0; ++ } ++ ++ if (copy_from_user(pdata, buf, cnt)) { ++ PRINTM(INFO, "Copy from user failed\n"); ++ kfree(pdata); ++ MODULE_PUT; ++ return 0; ++ } ++ ++ p0 = pdata; ++ for (i = 0; i < num_of_items; i++) { ++ do { ++ p = strstr(p0, d[i].name); ++ if (p == NULL) ++ break; ++ p1 = strchr(p, '\n'); ++ if (p1 == NULL) ++ break; ++ p0 = p1++; ++ p2 = strchr(p, '='); ++ if (!p2) ++ break; ++ p2++; ++ r = string_to_number(p2); ++ if (d[i].size == 1) ++ *((u8 *) d[i].addr) = (u8) r; ++ else if (d[i].size == 2) ++ *((u16 *) d[i].addr) = (u16) r; ++ else if (d[i].size == 4) ++ *((u32 *) d[i].addr) = (u32) r; ++ break; ++ } while (TRUE); ++ } ++ kfree(pdata); ++#ifdef DEBUG_LEVEL1 ++ printk(KERN_ALERT "drvdbg = 0x%x\n", drvdbg); ++ printk(KERN_ALERT "INFO (%08lx) %s\n", DBG_INFO, ++ (drvdbg & DBG_INFO) ? "X" : ""); ++ printk(KERN_ALERT "WARN (%08lx) %s\n", DBG_WARN, ++ (drvdbg & DBG_WARN) ? "X" : ""); ++ printk(KERN_ALERT "ENTRY (%08lx) %s\n", DBG_ENTRY, ++ (drvdbg & DBG_ENTRY) ? "X" : ""); ++ printk(KERN_ALERT "CMD_D (%08lx) %s\n", DBG_CMD_D, ++ (drvdbg & DBG_CMD_D) ? "X" : ""); ++ printk(KERN_ALERT "DAT_D (%08lx) %s\n", DBG_DAT_D, ++ (drvdbg & DBG_DAT_D) ? "X" : ""); ++ printk(KERN_ALERT "CMND (%08lx) %s\n", DBG_CMND, ++ (drvdbg & DBG_CMND) ? "X" : ""); ++ printk(KERN_ALERT "DATA (%08lx) %s\n", DBG_DATA, ++ (drvdbg & DBG_DATA) ? "X" : ""); ++ printk(KERN_ALERT "ERROR (%08lx) %s\n", DBG_ERROR, ++ (drvdbg & DBG_ERROR) ? "X" : ""); ++ printk(KERN_ALERT "FATAL (%08lx) %s\n", DBG_FATAL, ++ (drvdbg & DBG_FATAL) ? "X" : ""); ++ printk(KERN_ALERT "MSG (%08lx) %s\n", DBG_MSG, ++ (drvdbg & DBG_MSG) ? "X" : ""); ++#endif ++ MODULE_PUT; ++ return cnt; ++} ++ ++static const struct file_operations uap_debug_proc_fops = { ++ .owner = THIS_MODULE, ++ .open = uap_debug_proc_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = single_release, ++ .write = uap_debug_proc_write, ++}; ++ ++/******************************************************** ++ Global Functions ++********************************************************/ ++/** ++ * @brief create debug proc file ++ * ++ * @param priv pointer uap_private ++ * @param dev pointer net_device ++ * @return N/A ++ */ ++void ++uap_debug_entry(uap_private * priv, struct net_device *dev) ++{ ++ int i; ++ ++ if (priv->proc_entry == NULL) ++ return; ++ ++ for (i = 0; i < num_of_items; i++) { ++ if (items[i].flag & OFFSET_UAP_ADAPTER) ++ items[i].addr = items[i].offset + (u32) priv->adapter; ++ if (items[i].flag & OFFSET_UAP_DEV) ++ items[i].addr = items[i].offset + (u32) & priv->uap_dev; ++ } ++ proc_create_data("debug", 0644, priv->proc_entry, &uap_debug_proc_fops, ++ &items[0]); ++} ++ ++/** ++ * @brief remove proc file ++ * ++ * @param priv pointer uap_private ++ * @return N/A ++ */ ++void ++uap_debug_remove(uap_private * priv) ++{ ++ remove_proc_entry("debug", priv->proc_entry); ++} ++ ++#endif +diff --git a/drivers/net/wireless/libertas_uap/uap_drv.h b/drivers/net/wireless/libertas_uap/uap_drv.h +new file mode 100644 +index 0000000..5aa009f +--- /dev/null ++++ b/drivers/net/wireless/libertas_uap/uap_drv.h +@@ -0,0 +1,667 @@ ++/** @file uap_drv.h ++ * @brief This file contains Linux OS related definitions and ++ * declarations, uAP driver ++ * ++ * Copyright (C) 2008-2009, Marvell International Ltd. ++ * ++ * This software file (the "File") is distributed by Marvell International ++ * Ltd. under the terms of the GNU General Public License Version 2, June 1991 ++ * (the "License"). You may use, redistribute and/or modify this File in ++ * accordance with the terms and conditions of the License, a copy of which ++ * is available along with the File in the gpl.txt file or by writing to ++ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt. ++ * ++ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ++ * ARE EXPRESSLY DISCLAIMED. The License provides additional details about ++ * this warranty disclaimer. ++ * ++ */ ++ ++#ifndef _UAP_DRV_H ++#define _UAP_DRV_H ++ ++/** Driver release version */ ++#define DRIVER_VERSION "26146" ++ ++/** True */ ++#ifndef TRUE ++#define TRUE 1 ++#endif ++/** False */ ++#ifndef FALSE ++#define FALSE 0 ++#endif ++ ++/** Bit definitions */ ++#ifndef BIT ++#define BIT(x) (1UL << (x)) ++#endif ++ ++/** Dma addresses are 32-bits wide. */ ++#ifndef __ATTRIB_ALIGN__ ++#define __ATTRIB_ALIGN__ __attribute__((aligned(4))) ++#endif ++ ++/** attribute pack */ ++#ifndef __ATTRIB_PACK__ ++#define __ATTRIB_PACK__ __attribute__ ((packed)) ++#endif ++ ++/** Debug Macro definition*/ ++#ifdef DEBUG_LEVEL1 ++ ++extern u32 drvdbg; ++ ++/** Debug message control bit definition for drvdbg */ ++/** Debug message */ ++#define DBG_MSG BIT(0) ++/** Debug fatal message */ ++#define DBG_FATAL BIT(1) ++/** Debug error message */ ++#define DBG_ERROR BIT(2) ++/** Debug data message */ ++#define DBG_DATA BIT(3) ++/** Debug command message */ ++#define DBG_CMND BIT(4) ++ ++/** Debug data */ ++#define DBG_DAT_D BIT(16) ++/** Debug command */ ++#define DBG_CMD_D BIT(17) ++ ++/** Debug entry */ ++#define DBG_ENTRY BIT(28) ++/** Debug warning */ ++#define DBG_WARN BIT(29) ++/** Debug info */ ++#define DBG_INFO BIT(30) ++ ++/** Print info */ ++#define PRINTM_INFO(msg...) {if (drvdbg & DBG_INFO) printk(KERN_DEBUG msg);} ++/** Print warn message */ ++#define PRINTM_WARN(msg...) {if (drvdbg & DBG_WARN) printk(KERN_DEBUG msg);} ++/** Print entry */ ++#define PRINTM_ENTRY(msg...) {if (drvdbg & DBG_ENTRY) printk(KERN_DEBUG msg);} ++/** Print cmd_d */ ++#define PRINTM_CMD_D(msg...) {if (drvdbg & DBG_CMD_D) printk(KERN_DEBUG msg);} ++/** Print data_d */ ++#define PRINTM_DAT_D(msg...) {if (drvdbg & DBG_DAT_D) printk(KERN_DEBUG msg);} ++/** Print command */ ++#define PRINTM_CMND(msg...) {if (drvdbg & DBG_CMND) printk(KERN_DEBUG msg);} ++/** Print data */ ++#define PRINTM_DATA(msg...) {if (drvdbg & DBG_DATA) printk(KERN_DEBUG msg);} ++/** Print error message */ ++#define PRINTM_ERROR(msg...) {if (drvdbg & DBG_ERROR) printk(KERN_DEBUG msg);} ++/** Print fatal message */ ++#define PRINTM_FATAL(msg...) {if (drvdbg & DBG_FATAL) printk(KERN_DEBUG msg);} ++/** Print message */ ++#define PRINTM_MSG(msg...) {if (drvdbg & DBG_MSG) printk(KERN_ALERT msg);} ++/** Print level */ ++#define PRINTM(level,msg...) PRINTM_##level(msg) ++ ++#else ++ ++#define PRINTM(level,msg...) do {} while (0) ++ ++#endif /* DEBUG_LEVEL1 */ ++ ++/** Wait until a condition becomes true */ ++#define ASSERT(cond) \ ++do { \ ++ if (!(cond)) \ ++ PRINTM(INFO, "ASSERT: %s, %s:%i\n", \ ++ __FUNCTION__, __FILE__, __LINE__); \ ++} while(0) ++ ++/** Log enrty point for debugging */ ++#define ENTER() PRINTM(ENTRY, "Enter: %s, %s:%i\n", __FUNCTION__, \ ++ __FILE__, __LINE__) ++/** Log exit point for debugging */ ++#define LEAVE() PRINTM(ENTRY, "Leave: %s, %s:%i\n", __FUNCTION__, \ ++ __FILE__, __LINE__) ++ ++#ifdef DEBUG_LEVEL1 ++/** Dump buffer length */ ++#define DBG_DUMP_BUF_LEN 64 ++/** Maximum dump per line */ ++#define MAX_DUMP_PER_LINE 16 ++/** Data dump length */ ++#define DATA_DUMP_LEN 32 ++ ++static inline void ++hexdump(char *prompt, u8 * buf, int len) ++{ ++ int i; ++ char dbgdumpbuf[DBG_DUMP_BUF_LEN]; ++ char *ptr = dbgdumpbuf; ++ ++ printk(KERN_DEBUG "%s:\n", prompt); ++ for (i = 1; i <= len; i++) { ++ ptr += sprintf(ptr, "%02x ", *buf); ++ buf++; ++ if (i % MAX_DUMP_PER_LINE == 0) { ++ *ptr = 0; ++ printk(KERN_DEBUG "%s\n", dbgdumpbuf); ++ ptr = dbgdumpbuf; ++ } ++ } ++ if (len % MAX_DUMP_PER_LINE) { ++ *ptr = 0; ++ printk(KERN_DEBUG "%s\n", dbgdumpbuf); ++ } ++} ++ ++/** Debug command */ ++#define DBG_HEXDUMP_CMD_D(x,y,z) {if (drvdbg & DBG_CMD_D) hexdump(x,y,z);} ++/** Debug data */ ++#define DBG_HEXDUMP_DAT_D(x,y,z) {if (drvdbg & DBG_DAT_D) hexdump(x,y,z);} ++/** Debug hexdump */ ++#define DBG_HEXDUMP(level,x,y,z) DBG_HEXDUMP_##level(x,y,z) ++/** hexdump */ ++#define HEXDUMP(x,y,z) {if (drvdbg & DBG_INFO) hexdump(x,y,z);} ++#else ++/** Do nothing since debugging is not turned on */ ++#define DBG_HEXDUMP(level,x,y,z) do {} while (0) ++/** Do nothing since debugging is not turned on */ ++#define HEXDUMP(x,y,z) do {} while (0) ++#endif ++ ++/** ++ * Typedefs ++ */ ++/** Unsigned char */ ++typedef u8 BOOLEAN; ++ ++/* ++ * OS macro definitions ++ */ ++/** OS macro to get time */ ++#define os_time_get() jiffies ++ ++/** OS macro to update transfer start time */ ++#define UpdateTransStart(dev) { \ ++ dev->trans_start = jiffies; \ ++} ++ ++/** Try to get a reference to the module */ ++#define MODULE_GET try_module_get(THIS_MODULE) ++/** Decrease module reference count */ ++#define MODULE_PUT module_put(THIS_MODULE) ++ ++/** OS macro to initialize semaphore */ ++#define OS_INIT_SEMAPHORE(x) sema_init(x,1) ++/** OS macro to acquire blocking semaphore */ ++#define OS_ACQ_SEMAPHORE_BLOCK(x) down_interruptible(x) ++/** OS macro to acquire non-blocking semaphore */ ++#define OS_ACQ_SEMAPHORE_NOBLOCK(x) down_trylock(x) ++/** OS macro to release semaphore */ ++#define OS_REL_SEMAPHORE(x) up(x) ++ ++static inline void ++os_sched_timeout(u32 millisec) ++{ ++ set_current_state(TASK_INTERRUPTIBLE); ++ schedule_timeout((millisec * HZ) / 1000); ++} ++ ++/** Maximum size of ethernet packet */ ++#define MRVDRV_MAXIMUM_ETH_PACKET_SIZE 1514 ++ ++/** Maximum size of multicast list */ ++#define MRVDRV_MAX_MULTICAST_LIST_SIZE 32 ++ ++/** Find minimum */ ++#ifndef MIN ++#define MIN(a,b) ((a) < (b) ? (a) : (b)) ++#endif ++ ++/** Find maximum */ ++#ifndef MAX ++#define MAX(a,b) ((a) > (b) ? (a) : (b)) ++#endif ++ ++/** Find number of elements */ ++#ifndef NELEMENTS ++#define NELEMENTS(x) (sizeof(x)/sizeof(x[0])) ++#endif ++ ++/** Buffer Constants */ ++ ++/** Size of command buffer */ ++#define MRVDRV_SIZE_OF_CMD_BUFFER (2 * 1024) ++ ++/** Length of device length */ ++#define DEV_NAME_LEN 32 ++ ++/** Length of ethernet address */ ++#ifndef ETH_ALEN ++#define ETH_ALEN 6 ++#endif ++ ++/** Default watchdog timeout */ ++#define MRVDRV_DEFAULT_WATCHDOG_TIMEOUT (2 * HZ) ++ ++/** Success */ ++#define UAP_STATUS_SUCCESS (0) ++/** Failure */ ++#define UAP_STATUS_FAILURE (-1) ++/** Not accepted */ ++#define UAP_STATUS_NOT_ACCEPTED (-2) ++ ++/** Max loop count (* 100ms) for waiting device ready at init time */ ++#define MAX_WAIT_DEVICE_READY_COUNT 50 ++ ++/** Tx high watermark. Stop Tx queue after this is crossed */ ++#define TX_HIGH_WATERMARK 4 ++/** Tx low watermark. Restart Tx queue after this is crossed */ ++#define TX_LOW_WATERMARK 2 ++ ++/** Netlink protocol number */ ++#define NETLINK_MARVELL (MAX_LINKS - 1) ++/** Netlink maximum payload size */ ++#define NL_MAX_PAYLOAD 1024 ++/** Netlink multicast group number */ ++#define NL_MULTICAST_GROUP 1 ++ ++/** 20 seconds */ ++#define MRVDRV_TIMER_20S 20000 ++ ++/** Host Command option for wait till Send */ ++#define HostCmd_OPTION_WAITFORSEND 0x0001 ++/** Host Command option for wait for RSP */ ++#define HostCmd_OPTION_WAITFORRSP 0x0002 ++/** Host Command option for wait for RSP or Timeout */ ++#define HostCmd_OPTION_WAITFORRSP_TIMEOUT 0x0003 ++/** Host Command option for wait for RSP of sleep confirm */ ++#define HostCmd_OPTION_WAITFORRSP_SLEEPCONFIRM 0x0004 ++ ++/** Sleep until a condition gets true or a timeout elapses */ ++#define os_wait_interruptible_timeout(waitq, cond, timeout) \ ++ wait_event_interruptible_timeout(waitq, cond, ((timeout) * HZ / 1000)) ++ ++/** Private command ID to Host command */ ++#define UAPHOSTCMD (SIOCDEVPRIVATE + 1) ++ ++/** Private command ID to Power Mode */ ++#define UAP_POWER_MODE (SIOCDEVPRIVATE + 3) ++/** sleep_param */ ++typedef struct _ps_sleep_param ++{ ++ /** control bitmap */ ++ u32 ctrl_bitmap; ++ /** minimum sleep period (micro second) */ ++ u32 min_sleep; ++ /** maximum sleep period (micro second) */ ++ u32 max_sleep; ++} ps_sleep_param; ++ ++/** inactivity sleep_param */ ++typedef struct _inact_sleep_param ++{ ++ /** inactivity timeout (micro second) */ ++ u32 inactivity_to; ++ /** miniumu awake period (micro second) */ ++ u32 min_awake; ++ /** maximum awake period (micro second) */ ++ u32 max_awake; ++} inact_sleep_param; ++ ++/** flag for ps mode */ ++#define PS_FLAG_PS_MODE 1 ++/** flag for sleep param */ ++#define PS_FLAG_SLEEP_PARAM 2 ++/** flag for inactivity sleep param */ ++#define PS_FLAG_INACT_SLEEP_PARAM 4 ++ ++/** Disable power mode */ ++#define PS_MODE_DISABLE 0 ++/** Enable periodic dtim ps */ ++#define PS_MODE_PERIODIC_DTIM 1 ++/** Enable inactivity ps */ ++#define PS_MODE_INACTIVITY 2 ++ ++/** sleep parameter */ ++#define SLEEP_PARAMETER 1 ++/** inactivity sleep parameter */ ++#define INACTIVITY_SLEEP_PARAMETER 2 ++/** ps_mgmt */ ++typedef struct _ps_mgmt ++{ ++ /** flags for valid field */ ++ u16 flags; ++ /** power mode */ ++ u16 ps_mode; ++ /** sleep param */ ++ ps_sleep_param sleep_param; ++ /** inactivity sleep param */ ++ inact_sleep_param inact_param; ++} ps_mgmt; ++ ++/** Semaphore structure */ ++typedef struct semaphore SEMAPHORE; ++ ++/** Global Varibale Declaration */ ++/** Private data structure of the device */ ++typedef struct _uap_private uap_private; ++/** Adapter data structure of the device */ ++typedef struct _uap_adapter uap_adapter; ++/** private structure */ ++extern uap_private *uappriv; ++ ++/** ENUM definition*/ ++ ++/** Hardware status codes */ ++typedef enum _HARDWARE_STATUS ++{ ++ HWReady, ++ HWInitializing, ++ HWReset, ++ HWClosing, ++ HWNotReady ++} HARDWARE_STATUS; ++ ++/** info for debug purpose */ ++typedef struct _uap_dbg ++{ ++ /** Number of host to card command failures */ ++ u32 num_cmd_host_to_card_failure; ++ /** Number of host to card Tx failures */ ++ u32 num_tx_host_to_card_failure; ++} uap_dbg; ++ ++/** Set thread state */ ++#define OS_SET_THREAD_STATE(x) set_current_state(x) ++ ++typedef struct ++{ ++ /** Task */ ++ struct task_struct *task; ++ /** Queue */ ++ wait_queue_head_t waitQ; ++ /** PID */ ++ pid_t pid; ++ /** Private structure */ ++ void *priv; ++} uap_thread; ++ ++static inline void ++uap_activate_thread(uap_thread * thr) ++{ ++ /** Record the thread pid */ ++ thr->pid = current->pid; ++ ++ /** Initialize the wait queue */ ++ init_waitqueue_head(&thr->waitQ); ++} ++ ++static inline void ++uap_deactivate_thread(uap_thread * thr) ++{ ++ thr->pid = 0; ++ return; ++} ++ ++static inline void ++uap_create_thread(int (*uapfunc) (void *), uap_thread * thr, char *name) ++{ ++ thr->task = kthread_run(uapfunc, thr, "%s", name); ++} ++ ++static inline int ++uap_terminate_thread(uap_thread * thr) ++{ ++ /* Check if the thread is active or not */ ++ if (!thr->pid) ++ return -1; ++ kthread_stop(thr->task); ++ return 0; ++} ++ ++/** Data structure for the Marvell uAP device */ ++typedef struct _uap_dev ++{ ++ /** device name */ ++ char name[DEV_NAME_LEN]; ++ /** card pointer */ ++ void *card; ++ /** IO port */ ++ u32 ioport; ++ /** Rx unit */ ++ u8 rx_unit; ++ /** Data sent: ++ TRUE - Data is sent to fw, no Tx Done received ++ FALSE - Tx done received for previous Tx */ ++ BOOLEAN data_sent; ++ /** CMD sent: ++ TRUE - CMD is sent to fw, no CMD Done received ++ FALSE - CMD done received for previous CMD */ ++ BOOLEAN cmd_sent; ++ /** netdev pointer */ ++ struct net_device *netdev; ++} uap_dev_t, *puap_dev_t; ++ ++/** Private structure for the MV device */ ++struct _uap_private ++{ ++ /** Device open */ ++ int open; ++ ++ /** Device adapter structure */ ++ uap_adapter *adapter; ++ /** Device structure */ ++ uap_dev_t uap_dev; ++ ++ /** Net device statistics structure */ ++ struct net_device_stats stats; ++ ++ /** Number of Tx timeouts */ ++ u32 num_tx_timeout; ++ ++ /** Media connection status */ ++ BOOLEAN MediaConnected; ++ ++#ifdef CONFIG_PROC_FS ++ struct proc_dir_entry *proc_uap; ++ struct proc_dir_entry *proc_entry; ++#endif /* CONFIG_PROC_FS */ ++ ++ /** Firmware helper */ ++ const struct firmware *fw_helper; ++ /** Firmware */ ++ const struct firmware *firmware; ++ /** Hotplug device */ ++ struct device *hotplug_device; ++ /** thread to service interrupts */ ++ uap_thread MainThread; ++ /** Driver lock */ ++ spinlock_t driver_lock; ++ /** Driver lock flags */ ++ ulong driver_flags; ++ ++}; ++ ++/** PS_CMD_ConfirmSleep */ ++typedef struct _PS_CMD_ConfirmSleep ++{ ++ /** SDIO Length */ ++ u16 SDLen; ++ /** SDIO Type */ ++ u16 SDType; ++ /** Command */ ++ u16 Command; ++ /** Size */ ++ u16 Size; ++ /** Sequence number */ ++ u16 SeqNum; ++ /** Result */ ++ u16 Result; ++} __ATTRIB_PACK__ PS_CMD_ConfirmSleep, *PPS_CMD_ConfirmSleep; ++ ++/** Wlan Adapter data structure*/ ++struct _uap_adapter ++{ ++ /** Power save confirm sleep command */ ++ PS_CMD_ConfirmSleep PSConfirmSleep; ++ /** Device status */ ++ HARDWARE_STATUS HardwareStatus; ++ /** Interrupt counter */ ++ u32 IntCounter; ++ /** Tx packet queue */ ++ struct sk_buff_head tx_queue; ++ /** Cmd packet queue */ ++ struct sk_buff_head cmd_queue; ++ /** Command sequence number */ ++ u16 SeqNum; ++ /** Command buffer */ ++ u8 *CmdBuf; ++ /** cmd pending flag */ ++ u8 cmd_pending; ++ /** cmd wait option */ ++ u8 cmd_wait_option; ++ /** Command buffer length */ ++ u32 CmdSize; ++ /** Command wait queue */ ++ wait_queue_head_t cmdwait_q __ATTRIB_ALIGN__; ++ /** Command wait queue state flag */ ++ u8 CmdWaitQWoken; ++ /** PnP support */ ++ BOOLEAN SurpriseRemoved; ++ /** Debug */ ++ uap_dbg dbg; ++ /** Netlink kernel socket */ ++ struct sock *nl_sk; ++ /** Semaphore for CMD */ ++ SEMAPHORE CmdSem; ++ /** Power Save mode */ ++ u8 psmode; ++ /** Power Save state */ ++ u8 ps_state; ++ /** Number of wakeup tries */ ++ u32 WakeupTries; ++}; ++ ++static inline int ++os_upload_rx_packet(uap_private * priv, struct sk_buff *skb) ++{ ++ skb->dev = priv->uap_dev.netdev; ++ skb->protocol = eth_type_trans(skb, priv->uap_dev.netdev); ++ skb->ip_summed = CHECKSUM_UNNECESSARY; ++ if (in_interrupt()) ++ netif_rx(skb); ++ else ++ netif_rx_ni(skb); ++ return 0; ++} ++ ++/* ++ * netif carrier_on/off and start(wake)/stop_queue handling ++ */ ++static inline void ++os_carrier_on(uap_private * priv) ++{ ++ if (!netif_carrier_ok(priv->uap_dev.netdev) && ++ (priv->MediaConnected == TRUE)) { ++ netif_carrier_on(priv->uap_dev.netdev); ++ } ++} ++ ++static inline void ++os_carrier_off(uap_private * priv) ++{ ++ if (netif_carrier_ok(priv->uap_dev.netdev)) { ++ netif_carrier_off(priv->uap_dev.netdev); ++ } ++} ++ ++static inline void ++os_start_queue(uap_private * priv) ++{ ++ if (netif_queue_stopped(priv->uap_dev.netdev) && ++ (priv->MediaConnected == TRUE)) { ++ netif_wake_queue(priv->uap_dev.netdev); ++ } ++} ++ ++static inline void ++os_stop_queue(uap_private * priv) ++{ ++ if (!netif_queue_stopped(priv->uap_dev.netdev)) { ++ netif_stop_queue(priv->uap_dev.netdev); ++ } ++} ++ ++/** Interface specific header */ ++#define INTF_HEADER_LEN 4 ++ ++/** headroom alignment for tx packet */ ++#define HEADER_ALIGNMENT 8 ++ ++/** The number of times to try when polling for status bits */ ++#define MAX_POLL_TRIES 100 ++ ++/** Length of SNAP header */ ++#define MRVDRV_SNAP_HEADER_LEN 8 ++ ++/** Extra length of Tx packet buffer */ ++#define EXTRA_LEN 36 ++ ++/** Buffer size for ethernet Tx packets */ ++#define MRVDRV_ETH_TX_PACKET_BUFFER_SIZE \ ++ (ETH_FRAME_LEN + sizeof(TxPD) + EXTRA_LEN) ++ ++/** Buffer size for ethernet Rx packets */ ++#define MRVDRV_ETH_RX_PACKET_BUFFER_SIZE \ ++ (ETH_FRAME_LEN + sizeof(RxPD) \ ++ + MRVDRV_SNAP_HEADER_LEN + EXTRA_LEN) ++ ++/** Packet type: data, command & event */ ++typedef enum _mv_type ++{ ++ MV_TYPE_DAT = 0, ++ MV_TYPE_CMD = 1, ++ MV_TYPE_EVENT = 3 ++} mv_type; ++ ++/** Disable interrupt */ ++#define OS_INT_DISABLE spin_lock_irqsave(&priv->driver_lock, priv->driver_flags) ++/** Enable interrupt */ ++#define OS_INT_RESTORE spin_unlock_irqrestore(&priv->driver_lock, priv->driver_flags) ++ ++int uap_process_rx_packet(uap_private * priv, struct sk_buff *skb); ++void uap_interrupt(uap_private * priv); ++uap_private *uap_add_card(void *card); ++int uap_remove_card(void *card); ++int uap_process_event(uap_private * priv, u8 * payload, uint len); ++int uap_soft_reset(uap_private * priv); ++int uap_process_sleep_confirm_resp(uap_private * priv, u8 * resp, int resp_len); ++ ++#ifdef CONFIG_PROC_FS ++/** The proc fs interface */ ++void uap_proc_entry(uap_private * priv, struct net_device *dev); ++void uap_proc_remove(uap_private * priv); ++int string_to_number(char *s); ++void uap_debug_entry(uap_private * priv, struct net_device *dev); ++void uap_debug_remove(uap_private * priv); ++#endif /* CONFIG_PROC_FS */ ++ ++int sbi_register(void); ++ ++void sbi_unregister(void); ++int sbi_register_dev(uap_private * priv); ++int sbi_unregister_dev(uap_private * priv); ++int sbi_prog_fw_w_helper(uap_private *); ++ ++int sbi_host_to_card(uap_private * priv, u8 * payload, u16 nb); ++int sbi_enable_host_int(uap_private * priv); ++int sbi_disable_host_int(uap_private * priv); ++ ++int sbi_get_int_status(uap_private * priv, u8 * ireg); ++/** Check firmware status */ ++int sbi_check_fw_status(uap_private *, int); ++int sbi_prog_helper(uap_private *); ++ ++int sbi_wakeup_firmware(uap_private * priv); ++ ++#endif /* _UAP_DRV_H */ +diff --git a/drivers/net/wireless/libertas_uap/uap_fw.h b/drivers/net/wireless/libertas_uap/uap_fw.h +new file mode 100644 +index 0000000..23a40d6 +--- /dev/null ++++ b/drivers/net/wireless/libertas_uap/uap_fw.h +@@ -0,0 +1,359 @@ ++/** @file uap_fw.h ++ * ++ * @brief This file contains firmware specific defines. ++ * ++ * Copyright (C) 2008-2009, Marvell International Ltd. ++ * ++ * This software file (the "File") is distributed by Marvell International ++ * Ltd. under the terms of the GNU General Public License Version 2, June 1991 ++ * (the "License"). You may use, redistribute and/or modify this File in ++ * accordance with the terms and conditions of the License, a copy of which ++ * is available along with the File in the gpl.txt file or by writing to ++ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt. ++ * ++ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ++ * ARE EXPRESSLY DISCLAIMED. The License provides additional details about ++ * this warranty disclaimer. ++ * ++ */ ++/******************************************************** ++Change log: ++ 02/26/08: Initial creation ++********************************************************/ ++ ++#ifndef _UAP_FW_H ++#define _UAP_FW_H ++ ++/** uap upload size */ ++#define UAP_UPLD_SIZE 2312 ++/** Packet type Micro AP */ ++#define PKT_TYPE_MICROAP 1 ++/** Packet type client */ ++#define PKT_TYPE_CLIENT 0 ++ ++/** TxPD descriptor */ ++typedef struct _TxPD ++{ ++ /** Bss Type */ ++ u8 BssType; ++ /** Bss num */ ++ u8 BssNum; ++ /** Tx packet length */ ++ u16 TxPktLength; ++ /** Tx packet offset */ ++ u16 TxPktOffset; ++ /** Tx packet type */ ++ u16 TxPktType; ++ /** Tx Control */ ++ u32 TxControl; ++ /** reserved */ ++ u32 reserved[2]; ++} __ATTRIB_PACK__ TxPD, *PTxPD; ++ ++/** RxPD Descriptor */ ++typedef struct _RxPD ++{ ++ /** Bss Type */ ++ u8 BssType; ++ /** Bss Num */ ++ u8 BssNum; ++ /** Tx packet length */ ++ u16 RxPktLength; ++ /** Tx packet offset */ ++ u16 RxPktOffset; ++} __ATTRIB_PACK__ RxPD, *PRxPD; ++ ++#ifdef BIG_ENDIAN ++/** Convert from 16 bit little endian format to CPU format */ ++#define uap_le16_to_cpu(x) le16_to_cpu(x) ++/** Convert from 32 bit little endian format to CPU format */ ++#define uap_le32_to_cpu(x) le32_to_cpu(x) ++/** Convert from 64 bit little endian format to CPU format */ ++#define uap_le64_to_cpu(x) le64_to_cpu(x) ++/** Convert to 16 bit little endian format from CPU format */ ++#define uap_cpu_to_le16(x) cpu_to_le16(x) ++/** Convert to 32 bit little endian format from CPU format */ ++#define uap_cpu_to_le32(x) cpu_to_le32(x) ++/** Convert to 64 bit little endian format from CPU format */ ++#define uap_cpu_to_le64(x) cpu_to_le64(x) ++ ++/** Convert TxPD to little endian format from CPU format */ ++#define endian_convert_TxPD(x); \ ++ { \ ++ (x)->TxPktLength = uap_cpu_to_le16((x)->TxPktLength); \ ++ (x)->TxPktOffset = uap_cpu_to_le32((x)->TxPktOffset); \ ++ (x)->TxControl = uap_cpu_to_le32((x)->TxControl); \ ++ (x)->TxPktType = uap_cpu_to_le32((x)->TxPktType); \ ++ } ++ ++/** Convert RxPD from little endian format to CPU format */ ++#define endian_convert_RxPD(x); \ ++ { \ ++ (x)->RxPktLength = uap_le16_to_cpu((x)->RxPktLength); \ ++ (x)->RxPktOffset = uap_le32_to_cpu((x)->RxPktOffset); \ ++ } ++#else /* BIG_ENDIAN */ ++/** Do nothing */ ++#define uap_le16_to_cpu(x) x ++/** Do nothing */ ++#define uap_le32_to_cpu(x) x ++/** Do nothing */ ++#define uap_le64_to_cpu(x) x ++/** Do nothing */ ++#define uap_cpu_to_le16(x) x ++/** Do nothing */ ++#define uap_cpu_to_le32(x) x ++/** Do nothing */ ++#define uap_cpu_to_le64(x) x ++ ++/** Do nothing */ ++#define endian_convert_TxPD(x) ++/** Do nothing */ ++#define endian_convert_RxPD(x) ++#endif /* BIG_ENDIAN */ ++ ++/** Host Command ID : Function initialization */ ++#define HostCmd_CMD_FUNC_INIT 0x00a9 ++/** Host Command ID : Function shutdown */ ++#define HostCmd_CMD_FUNC_SHUTDOWN 0x00aa ++ ++/** Host Command id: SYS_INFO */ ++#define HOST_CMD_APCMD_SYS_INFO 0x00ae ++/** Host Command id: SYS_RESET */ ++#define HOST_CMD_APCMD_SYS_RESET 0x00af ++/** Host Command id: SYS_CONFIGURE */ ++#define HOST_CMD_APCMD_SYS_CONFIGURE 0x00b0 ++/** Host Command id: BSS_START */ ++#define HOST_CMD_APCMD_BSS_START 0x00b1 ++/** Host Command id: SYS_STOP */ ++#define HOST_CMD_APCMD_BSS_STOP 0x00b2 ++/** Host Command id: STA_LIST */ ++#define HOST_CMD_APCMD_STA_LIST 0x00b3 ++/** Host Command id: STA_FILTER_TABLE */ ++#define HOST_CMD_APCMD_STA_FILTER_TABLE 0x00b4 ++/** Host Command id: STA_DEAUTH */ ++#define HOST_CMD_APCMD_STA_DEAUTH 0x00b5 ++/** Host Command id: SOFT_RESET */ ++#define HOST_CMD_APCMD_SOFT_RESET 0x00d5 ++/** Host Command id: POWER_MGMT_EXT */ ++#define HOST_CMD_POWER_MGMT_EXT 0x00ef ++/** Host Command id: SLEEP_CONFIRM*/ ++#define HOST_CMD_SLEEP_CONFIRM 0x00d8 ++ ++/** TLV type : SSID */ ++#define TLV_TYPE_SSID 0x0000 ++/** TLV type : Rates */ ++#define TLV_TYPE_RATES 0x0001 ++/** TLV type : PHY DS */ ++#define TLV_TYPE_PHY_DS 0x0003 ++ ++/** TLV Id : Base id */ ++#define PROPRIETARY_TLV_BASE_ID 0x0100 ++/** TLV Id : AP_MAC_ADDRESS */ ++#define MRVL_AP_MAC_ADDRESS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 43) ++/** TLV Id : Beacon period */ ++#define MRVL_BEACON_PERIOD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 44) ++/** TLV Id : Dtim period */ ++#define MRVL_DTIM_PERIOD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 45) ++/** TLV Id : Basic rates */ ++#define MRVL_BASIC_RATES_TLV_ID (PROPRIETARY_TLV_BASE_ID + 46) ++/** TLV Id : Tx Power */ ++#define MRVL_TX_POWER_TLV_ID (PROPRIETARY_TLV_BASE_ID + 47) ++/** TLV Id : Broadcast SSID control */ ++#define MRVL_BCAST_SSID_CTL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 48) ++/** TLV Id : Preamble control */ ++#define MRVL_PREAMBLE_CTL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 49) ++/** TLV Id : Antenna control */ ++#define MRVL_ANTENNA_CTL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 50) ++/** TLV Id : RTS threshold */ ++#define MRVL_RTS_THRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 51) ++/** TLV Id : Radio control */ ++#define MRVL_RADIO_CTL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 52) ++/** TLV Id : TX data rate */ ++#define MRVL_TX_DATA_RATE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 53) ++/** TLV Id : Packet forward control */ ++#define MRVL_PKT_FWD_CTL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 54) ++/** TLV Id : STA info */ ++#define MRVL_STA_INFO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 55) ++/** TLV Id : STA MAC address filter */ ++#define MRVL_STA_MAC_ADDR_FILTER_TLV_ID (PROPRIETARY_TLV_BASE_ID + 56) ++/** TLV Id : STA ageout timer */ ++#define MRVL_STA_AGEOUT_TIMER_TLV_ID (PROPRIETARY_TLV_BASE_ID + 57) ++/** TLV Id : Security config */ ++#define MRVL_SECURITY_CFG_TLV_ID (PROPRIETARY_TLV_BASE_ID + 58) ++/** TLV Id : WEP KEY */ ++#define MRVL_WEP_KEY_TLV_ID (PROPRIETARY_TLV_BASE_ID + 59) ++/** TLV Id : WPA Passphrase */ ++#define MRVL_WPA_PASSPHRASE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 60) ++ ++/** Action get */ ++#define ACTION_GET 0 ++/** Action set */ ++#define ACTION_SET 1 ++/** Length of ethernet address */ ++#ifndef ETH_ALEN ++#define ETH_ALEN 6 ++#endif ++ ++/** HostCmd_DS_GEN */ ++typedef struct ++{ ++ /** Command */ ++ u16 Command; ++ /** Size */ ++ u16 Size; ++ /** Sequence number */ ++ u16 SeqNum; ++ /** Result */ ++ u16 Result; ++} __ATTRIB_PACK__ HostCmd_DS_GEN; ++ ++/** Size of HostCmd_DS_GEN */ ++#define S_DS_GEN sizeof(HostCmd_DS_GEN) ++ ++/** _HostCmd_HEADER*/ ++typedef struct ++{ ++ /** Command Header : Command */ ++ u16 Command; ++ /** Command Header : Size */ ++ u16 Size; ++} __ATTRIB_PACK__ HostCmd_HEADER; ++ ++/** HostCmd_SYS_CONFIG */ ++typedef struct _HostCmd_SYS_CONFIG ++{ ++ /** CMD Action GET/SET*/ ++ u16 Action; ++ /** Tlv buffer */ ++ u8 TlvBuffer[0]; ++} __ATTRIB_PACK__ HostCmd_SYS_CONFIG; ++ ++/** HostCmd_DS_POWER_MGMT_EXT */ ++typedef struct _HostCmd_DS_POWER_MGMT_EXT ++{ ++ /** CMD Action Get/Set*/ ++ u16 action; ++ /** power mode */ ++ u16 power_mode; ++} __ATTRIB_PACK__ HostCmd_DS_POWER_MGMT_EXT; ++ ++/** _HostCmd_DS_COMMAND*/ ++typedef struct _HostCmd_DS_COMMAND ++{ ++ ++ /** Command Header : Command */ ++ u16 Command; ++ /** Command Header : Size */ ++ u16 Size; ++ /** Command Header : Sequence number */ ++ u16 SeqNum; ++ /** Command Header : Result */ ++ u16 Result; ++ /** Command Body */ ++ union ++ { ++ HostCmd_SYS_CONFIG sys_config; ++ HostCmd_DS_POWER_MGMT_EXT pm_cfg; ++ ++ } params; ++} __ATTRIB_PACK__ HostCmd_DS_COMMAND; ++ ++/** MrvlIEtypesHeader_*/ ++typedef struct _MrvlIEtypesHeader ++{ ++ /** Header type */ ++ u16 Type; ++ /** Header length */ ++ u16 Len; ++} __ATTRIB_PACK__ MrvlIEtypesHeader_t; ++ ++/** MrvlIEtypes_Data_t */ ++typedef struct _MrvlIEtypes_Data_t ++{ ++ /** Header */ ++ MrvlIEtypesHeader_t Header; ++ /** Data */ ++ u8 Data[1]; ++} __ATTRIB_PACK__ MrvlIEtypes_Data_t; ++ ++/** MrvlIEtypes_ChanListParamSet_t */ ++typedef struct _MrvlIEtypes_MacAddr_t ++{ ++ /** Header */ ++ MrvlIEtypesHeader_t Header; ++ /** AP MAC address */ ++ u8 ApMacAddr[ETH_ALEN]; ++} __ATTRIB_PACK__ MrvlIEtypes_MacAddr_t; ++ ++/** Event ID: BSS started */ ++#define MICRO_AP_EV_ID_BSS_START 46 ++ ++/** Event ID: BSS idle event */ ++#define MICRO_AP_EV_BSS_IDLE 67 ++ ++/** Event ID: BSS active event */ ++#define MICRO_AP_EV_BSS_ACTIVE 68 ++ ++/** Event ID: PS_AWAKE */ ++#define EVENT_PS_AWAKE 0x0a ++ ++/** Event ID: PS_SLEEP */ ++#define EVENT_PS_SLEEP 0x0b ++ ++/** PS_STATE */ ++typedef enum _PS_STATE ++{ ++ PS_STATE_AWAKE, ++ PS_STATE_PRE_SLEEP, ++ PS_STATE_SLEEP ++} PS_STATE; ++ ++/** TLV type: AP Sleep param */ ++#define TLV_TYPE_AP_SLEEP_PARAM (PROPRIETARY_TLV_BASE_ID + 106) ++/** TLV type: AP Inactivity Sleep param */ ++#define TLV_TYPE_AP_INACT_SLEEP_PARAM (PROPRIETARY_TLV_BASE_ID + 107) ++ ++/** MrvlIEtypes_sleep_param_t */ ++typedef struct _MrvlIEtypes_sleep_param_t ++{ ++ /** Header */ ++ MrvlIEtypesHeader_t header; ++ /** control bitmap */ ++ u32 ctrl_bitmap; ++ /** min_sleep */ ++ u32 min_sleep; ++ /** max_sleep */ ++ u32 max_sleep; ++} __ATTRIB_PACK__ MrvlIEtypes_sleep_param_t; ++ ++/** MrvlIEtypes_inact_sleep_param_t */ ++typedef struct _MrvlIEtypes_inact_sleep_param_t ++{ ++ /** Header */ ++ MrvlIEtypesHeader_t header; ++ /** inactivity timeout */ ++ u32 inactivity_to; ++ /** min_awake */ ++ u32 min_awake; ++ /** max_awake */ ++ u32 max_awake; ++} __ATTRIB_PACK__ MrvlIEtypes_inact_sleep_param_t; ++ ++/** AP_Event */ ++typedef struct _AP_Event ++{ ++ /** Event ID */ ++ u32 EventId; ++ /* ++ * Reserved for STA_ASSOCIATED event and contains ++ * status information for the MIC_COUNTERMEASURES event. ++ */ ++ /** Reserved/status */ ++ u16 status; ++ /** AP MAC address */ ++ u8 MacAddr[ETH_ALEN]; ++} __ATTRIB_PACK__ AP_Event; ++#endif /* _UAP_FW_H */ +diff --git a/drivers/net/wireless/libertas_uap/uap_headers.h b/drivers/net/wireless/libertas_uap/uap_headers.h +new file mode 100644 +index 0000000..fa09af4 +--- /dev/null ++++ b/drivers/net/wireless/libertas_uap/uap_headers.h +@@ -0,0 +1,64 @@ ++/** @file uap_headers.h ++ * ++ * @brief This file contains all the necessary include file. ++ * ++ * Copyright (C) 2008-2009, Marvell International Ltd. ++ * ++ * This software file (the "File") is distributed by Marvell International ++ * Ltd. under the terms of the GNU General Public License Version 2, June 1991 ++ * (the "License"). You may use, redistribute and/or modify this File in ++ * accordance with the terms and conditions of the License, a copy of which ++ * is available along with the File in the gpl.txt file or by writing to ++ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt. ++ * ++ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ++ * ARE EXPRESSLY DISCLAIMED. The License provides additional details about ++ * this warranty disclaimer. ++ * ++ */ ++#ifndef _UAP_HEADERS_H ++#define _UAP_HEADERS_H ++ ++/* Linux header files */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27) ++#include ++#else ++#include ++#endif ++ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) ++#include ++#endif ++ ++/* Net header files */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "uap_drv.h" ++#include "uap_fw.h" ++ ++#include ++#include ++#include ++#include ++#include "uap_sdio_mmc.h" ++ ++#endif /* _UAP_HEADERS_H */ +diff --git a/drivers/net/wireless/libertas_uap/uap_main.c b/drivers/net/wireless/libertas_uap/uap_main.c +new file mode 100644 +index 0000000..6ad8403 +--- /dev/null ++++ b/drivers/net/wireless/libertas_uap/uap_main.c +@@ -0,0 +1,1817 @@ ++/** @file uap_main.c ++ * @brief This file contains the major functions in uAP ++ * driver. It includes init, exit etc.. ++ * This file also contains the initialization for SW, ++ * FW and HW ++ * ++ * Copyright (C) 2008-2009, Marvell International Ltd. ++ * ++ * This software file (the "File") is distributed by Marvell International ++ * Ltd. under the terms of the GNU General Public License Version 2, June 1991 ++ * (the "License"). You may use, redistribute and/or modify this File in ++ * accordance with the terms and conditions of the License, a copy of which ++ * is available along with the File in the gpl.txt file or by writing to ++ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt. ++ * ++ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ++ * ARE EXPRESSLY DISCLAIMED. The License provides additional details about ++ * this warranty disclaimer. ++ * ++ */ ++/** ++ * @mainpage uAP Linux Driver ++ * ++ * @section overview_sec Overview ++ * ++ * This is Linux reference driver for Marvell uAP. ++ * ++ * @section copyright_sec Copyright ++ * ++ * Copyright (C) 2008, Marvell International Ltd. ++ * ++ */ ++ ++#include "uap_headers.h" ++ ++/** ++ * the global variable of a pointer to uap_private ++ * structure variable ++ */ ++uap_private *uappriv = NULL; ++#ifdef DEBUG_LEVEL1 ++#define DEFAULT_DEBUG_MASK (DBG_MSG | DBG_FATAL | DBG_ERROR) ++u32 drvdbg = DEFAULT_DEBUG_MASK; ++#endif ++/** Helper name */ ++char *helper_name = NULL; ++/** Firmware name */ ++char *fw_name = NULL; ++ ++/** Semaphore for add/remove card */ ++SEMAPHORE AddRemoveCardSem; ++ ++/******************************************************** ++ Local Functions ++********************************************************/ ++/** ++ * @brief This function send sleep confirm command to firmware ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS for success otherwise UAP_STATUS_FAILURE ++ */ ++static int ++uap_dnld_sleep_confirm_cmd(uap_private * priv) ++{ ++ uap_adapter *Adapter = priv->adapter; ++ int ret = UAP_STATUS_SUCCESS; ++ ENTER(); ++ PRINTM(CMND, "Sleep confirm\n"); ++ Adapter->cmd_pending = TRUE; ++ Adapter->cmd_wait_option = HostCmd_OPTION_WAITFORRSP_SLEEPCONFIRM; ++ ret = ++ sbi_host_to_card(priv, (u8 *) & Adapter->PSConfirmSleep, ++ sizeof(PS_CMD_ConfirmSleep)); ++ if (ret != UAP_STATUS_SUCCESS) { ++ Adapter->ps_state = PS_STATE_AWAKE; ++ Adapter->cmd_pending = FALSE; ++ Adapter->cmd_wait_option = FALSE; ++ } ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function process sleep confirm resp from firmware ++ * ++ * @param priv A pointer to uap_private structure ++ * @param resp A pointer to resp buf ++ * @param resp_len resp buf len ++ * @return UAP_STATUS_SUCCESS for success otherwise UAP_STATUS_FAILURE ++ */ ++int ++uap_process_sleep_confirm_resp(uap_private * priv, u8 * resp, int resp_len) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ HostCmd_DS_COMMAND *cmd; ++ uap_adapter *Adapter = priv->adapter; ++ ENTER(); ++ PRINTM(CMND, "Sleep confirm resp\n"); ++ if (!resp_len) { ++ PRINTM(ERROR, "Cmd Size is 0\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ cmd = (HostCmd_DS_COMMAND *) resp; ++ cmd->Result = uap_le16_to_cpu(cmd->Result); ++ if (cmd->Result != UAP_STATUS_SUCCESS) { ++ PRINTM(ERROR, "HOST_CMD_APCMD_PS_SLEEP_CONFIRM fail=%x\n", cmd->Result); ++ ret = -EFAULT; ++ } ++ done: ++ if (ret == UAP_STATUS_SUCCESS) ++ Adapter->ps_state = PS_STATE_SLEEP; ++ else ++ Adapter->ps_state = PS_STATE_AWAKE; ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function checks condition and prepares to ++ * send sleep confirm command to firmware if OK. ++ * ++ * @param priv A pointer to uap_private structure ++ * @return n/a ++ */ ++static void ++uap_ps_cond_check(uap_private * priv) ++{ ++ uap_adapter *Adapter = priv->adapter; ++ ++ ENTER(); ++ if (!priv->uap_dev.cmd_sent && ++ !Adapter->cmd_pending && !Adapter->IntCounter) { ++ uap_dnld_sleep_confirm_cmd(priv); ++ } else { ++ PRINTM(INFO, "Delay Sleep Confirm (%s%s%s)\n", ++ (priv->uap_dev.cmd_sent) ? "D" : "", ++ (Adapter->cmd_pending) ? "C" : "", ++ (Adapter->IntCounter) ? "I" : ""); ++ } ++ LEAVE(); ++} ++ ++/** ++ * @brief This function add cmd to cmdQ and waiting for response ++ * ++ * @param priv A pointer to uap_private structure ++ * @param skb A pointer to the skb for process ++ * @param wait_option Wait option ++ * @return UAP_STATUS_SUCCESS for success otherwise UAP_STATUS_FAILURE ++ */ ++static int ++uap_process_cmd(uap_private * priv, struct sk_buff *skb, u8 wait_option) ++{ ++ uap_adapter *Adapter = priv->adapter; ++ int ret = UAP_STATUS_SUCCESS; ++ HostCmd_DS_COMMAND *cmd; ++ u8 *headptr; ++ ENTER(); ++ if (Adapter->HardwareStatus != HWReady) { ++ PRINTM(ERROR, "Hw not ready, uap_process_cmd\n"); ++ kfree(skb); ++ LEAVE(); ++ return -EFAULT; ++ } ++ skb->cb[0] = wait_option; ++ headptr = skb->data; ++ *(u16 *) & headptr[0] = uap_cpu_to_le16(skb->len); ++ *(u16 *) & headptr[2] = uap_cpu_to_le16(MV_TYPE_CMD); ++ cmd = (HostCmd_DS_COMMAND *) (skb->data + INTF_HEADER_LEN); ++ Adapter->SeqNum++; ++ cmd->SeqNum = uap_cpu_to_le16(Adapter->SeqNum); ++ PRINTM(CMND, "process_cmd: %x\n", cmd->Command); ++ DBG_HEXDUMP(CMD_D, "process_cmd", (u8 *) cmd, cmd->Size); ++ if (!wait_option) { ++ skb_queue_tail(&priv->adapter->cmd_queue, skb); ++ wake_up_interruptible(&priv->MainThread.waitQ); ++ LEAVE(); ++ return ret; ++ } ++ if (OS_ACQ_SEMAPHORE_BLOCK(&Adapter->CmdSem)) { ++ PRINTM(ERROR, "Acquire semaphore error, uap_prepare_cmd\n"); ++ kfree(skb); ++ LEAVE(); ++ return -EBUSY; ++ } ++ skb_queue_tail(&priv->adapter->cmd_queue, skb); ++ Adapter->CmdWaitQWoken = FALSE; ++ wake_up_interruptible(&priv->MainThread.waitQ); ++ /* Sleep until response is generated by FW */ ++ if (wait_option == HostCmd_OPTION_WAITFORRSP_TIMEOUT) { ++ if (!os_wait_interruptible_timeout ++ (Adapter->cmdwait_q, Adapter->CmdWaitQWoken, MRVDRV_TIMER_20S)) { ++ PRINTM(ERROR, "Cmd timeout\n"); ++ Adapter->cmd_pending = FALSE; ++ ret = -EFAULT; ++ } ++ } else ++ wait_event_interruptible(Adapter->cmdwait_q, Adapter->CmdWaitQWoken); ++ OS_REL_SEMAPHORE(&Adapter->CmdSem); ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief Inspect the response buffer for pointers to expected TLVs ++ * ++ * ++ * @param pTlv Pointer to the start of the TLV buffer to parse ++ * @param tlvBufSize Size of the TLV buffer ++ * @param reqTlvType request tlv's tlvtype ++ * @param ppTlv Output parameter: Pointer to the request TLV if found ++ * ++ * @return void ++ */ ++static void ++uap_get_tlv_ptrs(MrvlIEtypes_Data_t * pTlv, int tlvBufSize, ++ u16 reqTlvType, MrvlIEtypes_Data_t ** ppTlv) ++{ ++ MrvlIEtypes_Data_t *pCurrentTlv; ++ int tlvBufLeft; ++ u16 tlvType; ++ u16 tlvLen; ++ ++ ENTER(); ++ pCurrentTlv = pTlv; ++ tlvBufLeft = tlvBufSize; ++ *ppTlv = NULL; ++ PRINTM(INFO, "uap_get_tlv: tlvBufSize = %d, reqTlvType=%x\n", tlvBufSize, ++ reqTlvType); ++ while (tlvBufLeft >= sizeof(MrvlIEtypesHeader_t)) { ++ tlvType = uap_le16_to_cpu(pCurrentTlv->Header.Type); ++ tlvLen = uap_le16_to_cpu(pCurrentTlv->Header.Len); ++ if (reqTlvType == tlvType) ++ *ppTlv = (MrvlIEtypes_Data_t *) pCurrentTlv; ++ if (*ppTlv) { ++ HEXDUMP("TLV Buf", (u8 *) * ppTlv, tlvLen); ++ break; ++ } ++ tlvBufLeft -= (sizeof(pTlv->Header) + tlvLen); ++ pCurrentTlv = (MrvlIEtypes_Data_t *) (pCurrentTlv->Data + tlvLen); ++ } /* while */ ++ LEAVE(); ++} ++ ++/** ++ * @brief This function get mac ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS on success, otherwise failure code ++ */ ++static int ++uap_get_mac_address(uap_private * priv) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u32 CmdSize; ++ HostCmd_DS_COMMAND *cmd; ++ uap_adapter *Adapter = priv->adapter; ++ struct sk_buff *skb; ++ MrvlIEtypes_MacAddr_t *pMacAddrTlv; ++ MrvlIEtypes_Data_t *pTlv; ++ u16 tlvBufSize; ++ ENTER(); ++ skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER); ++ if (!skb) { ++ PRINTM(ERROR, "No free skb\n"); ++ ret = -ENOMEM; ++ goto done; ++ } ++ CmdSize = ++ S_DS_GEN + sizeof(HostCmd_SYS_CONFIG) + sizeof(MrvlIEtypes_MacAddr_t); ++ cmd = (HostCmd_DS_COMMAND *) (skb->data + INTF_HEADER_LEN); ++ cmd->Command = uap_cpu_to_le16(HOST_CMD_APCMD_SYS_CONFIGURE); ++ cmd->Size = uap_cpu_to_le16(CmdSize); ++ cmd->params.sys_config.Action = uap_cpu_to_le16(ACTION_GET); ++ pMacAddrTlv = ++ (MrvlIEtypes_MacAddr_t *) (skb->data + INTF_HEADER_LEN + S_DS_GEN + ++ sizeof(HostCmd_SYS_CONFIG)); ++ pMacAddrTlv->Header.Type = uap_cpu_to_le16(MRVL_AP_MAC_ADDRESS_TLV_ID); ++ pMacAddrTlv->Header.Len = uap_cpu_to_le16(ETH_ALEN); ++ skb_put(skb, CmdSize + INTF_HEADER_LEN); ++ if (UAP_STATUS_SUCCESS != ++ uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP_TIMEOUT)) { ++ PRINTM(ERROR, "Fail to process cmd SYS_CONFIGURE Query\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ if (!Adapter->CmdSize) { ++ PRINTM(ERROR, "Cmd Size is 0\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ cmd = (HostCmd_DS_COMMAND *) Adapter->CmdBuf; ++ cmd->Result = uap_le16_to_cpu(cmd->Result); ++ if (cmd->Result != UAP_STATUS_SUCCESS) { ++ PRINTM(ERROR, "uap_get_mac_address fail=%x\n", cmd->Result); ++ ret = -EFAULT; ++ goto done; ++ } ++ pTlv = ++ (MrvlIEtypes_Data_t *) (Adapter->CmdBuf + S_DS_GEN + ++ sizeof(HostCmd_SYS_CONFIG)); ++ tlvBufSize = Adapter->CmdSize - S_DS_GEN - sizeof(HostCmd_SYS_CONFIG); ++ uap_get_tlv_ptrs(pTlv, tlvBufSize, MRVL_AP_MAC_ADDRESS_TLV_ID, ++ (MrvlIEtypes_Data_t **) & pMacAddrTlv); ++ if (pMacAddrTlv) { ++ memcpy(priv->uap_dev.netdev->dev_addr, pMacAddrTlv->ApMacAddr, ++ ETH_ALEN); ++ HEXDUMP("Original MAC addr", priv->uap_dev.netdev->dev_addr, ETH_ALEN); ++ } ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function checks the conditions and sends packet to device ++ * ++ * @param priv A pointer to uap_private structure ++ * @param skb A pointer to the skb for process ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++uap_process_tx(uap_private * priv, struct sk_buff *skb) ++{ ++ uap_adapter *Adapter = priv->adapter; ++ int ret = UAP_STATUS_SUCCESS; ++ TxPD *pLocalTxPD; ++ u8 *headptr; ++ struct sk_buff *newskb; ++ int newheadlen; ++ ENTER(); ++ ASSERT(skb); ++ if (!skb) { ++ LEAVE(); ++ return UAP_STATUS_FAILURE; ++ } ++ if (skb_headroom(skb) < (sizeof(TxPD) + INTF_HEADER_LEN + HEADER_ALIGNMENT)) { ++ newheadlen = sizeof(TxPD) + INTF_HEADER_LEN + HEADER_ALIGNMENT; ++ PRINTM(WARN, "Tx: Insufficient skb headroom %d\n", skb_headroom(skb)); ++ /* Insufficient skb headroom - allocate a new skb */ ++ newskb = skb_realloc_headroom(skb, newheadlen); ++ if (unlikely(newskb == NULL)) { ++ PRINTM(ERROR, "Tx: Cannot allocate skb\n"); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ kfree_skb(skb); ++ skb = newskb; ++ PRINTM(INFO, "new skb headroom %d\n", skb_headroom(skb)); ++ } ++ /* headptr should be aligned */ ++ headptr = skb->data - sizeof(TxPD) - INTF_HEADER_LEN; ++ headptr = (u8 *) ((u32) headptr & ~((u32) (HEADER_ALIGNMENT - 1))); ++ ++ pLocalTxPD = (TxPD *) (headptr + INTF_HEADER_LEN); ++ memset(pLocalTxPD, 0, sizeof(TxPD)); ++ pLocalTxPD->BssType = PKT_TYPE_MICROAP; ++ pLocalTxPD->TxPktLength = skb->len; ++ /* offset of actual data */ ++ pLocalTxPD->TxPktOffset = (long) skb->data - (long) pLocalTxPD; ++ endian_convert_TxPD(pLocalTxPD); ++ *(u16 *) & headptr[0] = ++ uap_cpu_to_le16(skb->len + ((long) skb->data - (long) headptr)); ++ *(u16 *) & headptr[2] = uap_cpu_to_le16(MV_TYPE_DAT); ++ ret = ++ sbi_host_to_card(priv, headptr, ++ skb->len + ((long) skb->data - (long) headptr)); ++ if (ret) { ++ PRINTM(ERROR, "uap_process_tx Error: sbi_host_to_card failed: 0x%X\n", ++ ret); ++ Adapter->dbg.num_tx_host_to_card_failure++; ++ goto done; ++ } ++ PRINTM(DATA, "Data => FW\n"); ++ DBG_HEXDUMP(DAT_D, "Tx", headptr, ++ MIN(skb->len + sizeof(TxPD), DATA_DUMP_LEN)); ++ done: ++ /* Freed skb */ ++ kfree_skb(skb); ++ LEAVE(); ++ return ret; ++} ++ ++static struct netlink_kernel_cfg cfg = { ++ .groups = NL_MULTICAST_GROUP, ++}; ++ ++/** ++ * @brief This function initializes the adapter structure ++ * and set default value to the member of adapter. ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++uap_init_sw(uap_private * priv) ++{ ++ uap_adapter *Adapter = priv->adapter; ++ ++ ENTER(); ++ ++ if (!(Adapter->CmdBuf = kmalloc(MRVDRV_SIZE_OF_CMD_BUFFER, GFP_KERNEL))) { ++ PRINTM(INFO, "Failed to allocate command buffer!\n"); ++ LEAVE(); ++ return UAP_STATUS_FAILURE; ++ } ++ ++ Adapter->cmd_pending = FALSE; ++ Adapter->CmdWaitQWoken = FALSE; ++ Adapter->ps_state = PS_STATE_AWAKE; ++ Adapter->WakeupTries = 0; ++ ++ memset(&Adapter->PSConfirmSleep, 0, sizeof(PS_CMD_ConfirmSleep)); ++ /** SDIO header */ ++ Adapter->PSConfirmSleep.SDLen = ++ uap_cpu_to_le16(sizeof(PS_CMD_ConfirmSleep)); ++ Adapter->PSConfirmSleep.SDType = uap_cpu_to_le16(MV_TYPE_CMD); ++ Adapter->PSConfirmSleep.SeqNum = 0; ++ Adapter->PSConfirmSleep.Command = uap_cpu_to_le16(HOST_CMD_SLEEP_CONFIRM); ++ Adapter->PSConfirmSleep.Size = uap_cpu_to_le16(sizeof(HostCmd_DS_GEN)); ++ Adapter->PSConfirmSleep.Result = 0; ++ ++ init_waitqueue_head(&Adapter->cmdwait_q); ++ OS_INIT_SEMAPHORE(&Adapter->CmdSem); ++ ++ skb_queue_head_init(&Adapter->tx_queue); ++ skb_queue_head_init(&Adapter->cmd_queue); ++ ++ /* Status variable */ ++ Adapter->HardwareStatus = HWInitializing; ++ ++ /* PnP support */ ++ Adapter->SurpriseRemoved = FALSE; ++ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22) ++ Adapter->nl_sk = netlink_kernel_create(NETLINK_MARVELL, ++ NL_MULTICAST_GROUP, NULL, ++ THIS_MODULE); ++#else ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) ++ Adapter->nl_sk = netlink_kernel_create(NETLINK_MARVELL, ++ NL_MULTICAST_GROUP, NULL, NULL, ++ THIS_MODULE); ++#else ++ Adapter->nl_sk = netlink_kernel_create(&init_net, NETLINK_MARVELL, &cfg); ++#endif ++#endif ++ if (!Adapter->nl_sk) { ++ PRINTM(ERROR, ++ "Could not initialize netlink event passing mechanism!\n"); ++ } ++ LEAVE(); ++ return UAP_STATUS_SUCCESS; ++} ++ ++/** ++ * @brief This function sends FUNC_INIT command to firmware ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS on success, otherwise failure code ++ */ ++static int ++uap_func_init(uap_private * priv) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u32 CmdSize; ++ HostCmd_DS_GEN *cmd; ++ uap_adapter *Adapter = priv->adapter; ++ struct sk_buff *skb; ++ ENTER(); ++ if (Adapter->HardwareStatus != HWReady) { ++ PRINTM(ERROR, "uap_func_init:Hardware is not ready!\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER); ++ if (!skb) { ++ PRINTM(ERROR, "No free skb\n"); ++ ret = -ENOMEM; ++ goto done; ++ } ++ CmdSize = sizeof(HostCmd_DS_GEN); ++ cmd = (HostCmd_DS_GEN *) (skb->data + INTF_HEADER_LEN); ++ cmd->Command = uap_cpu_to_le16(HostCmd_CMD_FUNC_INIT); ++ cmd->Size = uap_cpu_to_le16(CmdSize); ++ skb_put(skb, CmdSize + INTF_HEADER_LEN); ++ PRINTM(CMND, "HostCmd_CMD_FUNC_INIT\n"); ++ if (UAP_STATUS_SUCCESS != ++ uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP_TIMEOUT)) { ++ PRINTM(ERROR, "Fail to process cmd HostCmd_CMD_FUNC_INIT\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function sends FUNC_SHUTDOWN command to firmware ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS on success, otherwise failure code ++ */ ++static int __exit ++uap_func_shutdown(uap_private * priv) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u32 CmdSize; ++ HostCmd_DS_GEN *cmd; ++ uap_adapter *Adapter = priv->adapter; ++ struct sk_buff *skb; ++ ENTER(); ++ if (Adapter->HardwareStatus != HWReady) { ++ PRINTM(ERROR, "uap_func_shutdown:Hardware is not ready!\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER); ++ if (!skb) { ++ PRINTM(ERROR, "No free skb\n"); ++ ret = -ENOMEM; ++ goto done; ++ } ++ CmdSize = sizeof(HostCmd_DS_GEN); ++ cmd = (HostCmd_DS_GEN *) (skb->data + INTF_HEADER_LEN); ++ cmd->Command = uap_cpu_to_le16(HostCmd_CMD_FUNC_SHUTDOWN); ++ cmd->Size = uap_cpu_to_le16(CmdSize); ++ skb_put(skb, CmdSize + INTF_HEADER_LEN); ++ PRINTM(CMND, "HostCmd_CMD_FUNC_SHUTDOWN\n"); ++ if (UAP_STATUS_SUCCESS != ++ uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP_TIMEOUT)) { ++ PRINTM(ERROR, "Fail to process cmd HostCmd_CMD_FUNC_SHUTDOWN\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function initializes firmware ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++uap_init_fw(uap_private * priv) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ ENTER(); ++ sbi_disable_host_int(priv); ++ /* Check if firmware is already running */ ++ if (sbi_check_fw_status(priv, 1) == UAP_STATUS_SUCCESS) { ++ PRINTM(MSG, "UAP FW already running! Skip FW download\n"); ++ } else { ++ if ((ret = request_firmware(&priv->fw_helper, helper_name, ++ priv->hotplug_device)) < 0) { ++ PRINTM(FATAL, ++ "request_firmware() failed (helper), error code = %#x\n", ++ ret); ++ goto done; ++ } ++ ++ /* Download the helper */ ++ ret = sbi_prog_helper(priv); ++ ++ if (ret) { ++ PRINTM(FATAL, ++ "Bootloader in invalid state! Helper download failed!\n"); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ if ((ret = request_firmware(&priv->firmware, fw_name, ++ priv->hotplug_device)) < 0) { ++ PRINTM(FATAL, "request_firmware() failed, error code = %#x\n", ret); ++ goto done; ++ } ++ ++ /* Download the main firmware via the helper firmware */ ++ if (sbi_prog_fw_w_helper(priv)) { ++ PRINTM(FATAL, "UAP FW download failed!\n"); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ /* Check if the firmware is downloaded successfully or not */ ++ if (sbi_check_fw_status(priv, MAX_FIRMWARE_POLL_TRIES) == ++ UAP_STATUS_FAILURE) { ++ PRINTM(FATAL, "FW failed to be active in time!\n"); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ PRINTM(MSG, "UAP FW is active\n"); ++ } ++ sbi_enable_host_int(priv); ++ priv->adapter->HardwareStatus = HWReady; ++ if (uap_func_init(priv) != UAP_STATUS_SUCCESS) { ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ done: ++ if (priv->fw_helper) ++ release_firmware(priv->fw_helper); ++ if (priv->firmware) ++ release_firmware(priv->firmware); ++ LEAVE(); ++ return ret; ++ ++} ++ ++/** ++ * @brief This function frees the structure of adapter ++ * ++ * @param priv A pointer to uap_private structure ++ * @return n/a ++ */ ++static void ++uap_free_adapter(uap_private * priv) ++{ ++ uap_adapter *Adapter = priv->adapter; ++ ++ ENTER(); ++ ++ if (Adapter) { ++ if ((Adapter->nl_sk) && ((Adapter->nl_sk)->sk_socket)) { ++ sock_release((Adapter->nl_sk)->sk_socket); ++ Adapter->nl_sk = NULL; ++ } ++ if (Adapter->CmdBuf) ++ kfree(Adapter->CmdBuf); ++ skb_queue_purge(&priv->adapter->tx_queue); ++ skb_queue_purge(&priv->adapter->cmd_queue); ++ /* Free the adapter object itself */ ++ kfree(Adapter); ++ priv->adapter = NULL; ++ } ++ ++ LEAVE(); ++} ++ ++/** ++ * @brief This function handles the major job in uap driver. ++ * it handles the event generated by firmware, rx data received ++ * from firmware and tx data sent from kernel. ++ * ++ * @param data A pointer to uap_thread structure ++ * @return BT_STATUS_SUCCESS ++ */ ++static int ++uap_service_main_thread(void *data) ++{ ++ uap_thread *thread = data; ++ uap_private *priv = thread->priv; ++ uap_adapter *Adapter = priv->adapter; ++ wait_queue_t wait; ++ u8 ireg = 0; ++ struct sk_buff *skb; ++ ENTER(); ++ uap_activate_thread(thread); ++ init_waitqueue_entry(&wait, current); ++ current->flags |= PF_NOFREEZE; ++ ++ for (;;) { ++ add_wait_queue(&thread->waitQ, &wait); ++ OS_SET_THREAD_STATE(TASK_INTERRUPTIBLE); ++ if ((Adapter->WakeupTries) || ++ (!Adapter->IntCounter && Adapter->ps_state == PS_STATE_PRE_SLEEP) || ++ (!priv->adapter->IntCounter ++ && (priv->uap_dev.data_sent || ++ skb_queue_empty(&priv->adapter->tx_queue)) ++ && (priv->uap_dev.cmd_sent || Adapter->cmd_pending || ++ skb_queue_empty(&priv->adapter->cmd_queue)) ++ )) { ++ PRINTM(INFO, "Main: Thread sleeping...\n"); ++ schedule(); ++ } ++ OS_SET_THREAD_STATE(TASK_RUNNING); ++ remove_wait_queue(&thread->waitQ, &wait); ++ if (kthread_should_stop() || Adapter->SurpriseRemoved) { ++ PRINTM(INFO, "main-thread: break from main thread: " ++ "SurpriseRemoved=0x%x\n", Adapter->SurpriseRemoved); ++ /* Cancel pending command */ ++ if (Adapter->cmd_pending == TRUE) { ++ /* Wake up cmd Q */ ++ Adapter->CmdWaitQWoken = TRUE; ++ wake_up_interruptible(&Adapter->cmdwait_q); ++ } ++ break; ++ } ++ ++ PRINTM(INFO, "Main: Thread waking up...\n"); ++ if (priv->adapter->IntCounter) { ++ OS_INT_DISABLE; ++ Adapter->IntCounter = 0; ++ OS_INT_RESTORE; ++ sbi_get_int_status(priv, &ireg); ++ } else if ((priv->adapter->ps_state == PS_STATE_SLEEP) && ++ (!skb_queue_empty(&priv->adapter->cmd_queue) || ++ !skb_queue_empty(&priv->adapter->tx_queue))) { ++ priv->adapter->WakeupTries++; ++ PRINTM(CMND, "%lu : Wakeup device...\n", os_time_get()); ++ sbi_wakeup_firmware(priv); ++ continue; ++ } ++ if (Adapter->ps_state == PS_STATE_PRE_SLEEP) ++ uap_ps_cond_check(priv); ++ ++ /* The PS state is changed during processing of Sleep Request event ++ above */ ++ if ((Adapter->ps_state == PS_STATE_SLEEP) || ++ (Adapter->ps_state == PS_STATE_PRE_SLEEP)) ++ continue; ++ /* Execute the next command */ ++ if (!priv->uap_dev.cmd_sent && !Adapter->cmd_pending && ++ (Adapter->HardwareStatus == HWReady)) { ++ if (!skb_queue_empty(&priv->adapter->cmd_queue)) { ++ skb = skb_dequeue(&priv->adapter->cmd_queue); ++ if (skb) { ++ Adapter->CmdSize = 0; ++ Adapter->cmd_pending = TRUE; ++ Adapter->cmd_wait_option = skb->cb[0]; ++ if (sbi_host_to_card(priv, skb->data, skb->len)) { ++ PRINTM(ERROR, "Cmd:sbi_host_to_card failed!\n"); ++ Adapter->cmd_pending = FALSE; ++ Adapter->dbg.num_cmd_host_to_card_failure++; ++ /* Wake up cmd Q */ ++ Adapter->CmdWaitQWoken = TRUE; ++ wake_up_interruptible(&Adapter->cmdwait_q); ++ } else { ++ if (Adapter->cmd_wait_option == ++ HostCmd_OPTION_WAITFORSEND) { ++ /* Wake up cmd Q */ ++ Adapter->CmdWaitQWoken = TRUE; ++ wake_up_interruptible(&Adapter->cmdwait_q); ++ Adapter->cmd_wait_option = FALSE; ++ } ++ } ++ kfree_skb(skb); ++ } ++ } ++ } ++ if (!priv->uap_dev.data_sent && (Adapter->HardwareStatus == HWReady)) { ++ if (!skb_queue_empty(&priv->adapter->tx_queue)) { ++ skb = skb_dequeue(&priv->adapter->tx_queue); ++ if (skb) { ++ if (uap_process_tx(priv, skb)) { ++ priv->stats.tx_dropped++; ++ priv->stats.tx_errors++; ++ os_start_queue(priv); ++ } else { ++ priv->stats.tx_packets++; ++ priv->stats.tx_bytes += skb->len; ++ } ++ ++ } ++ } ++ } ++ } ++ uap_deactivate_thread(thread); ++ LEAVE(); ++ return UAP_STATUS_SUCCESS; ++} ++ ++/** ++ * @brief uap hostcmd ioctl handler ++ * ++ * @param dev A pointer to net_device structure ++ * @param req A pointer to ifreq structure ++ * @return UAP_STATUS_SUCCESS --success, otherwise fail ++ */ ++/********* format of ifr_data *************/ ++/* buf_len + Hostcmd_body */ ++/* buf_len: 4 bytes */ ++/* the length of the buf which */ ++/* can be used to return data */ ++/* to application */ ++/* Hostcmd_body */ ++/*******************************************/ ++static int ++uap_hostcmd_ioctl(struct net_device *dev, struct ifreq *req) ++{ ++ u32 buf_len; ++ HostCmd_HEADER head; ++ uap_private *priv = (uap_private *) netdev_priv(dev); ++ uap_adapter *Adapter = priv->adapter; ++ int ret = UAP_STATUS_SUCCESS; ++ struct sk_buff *skb; ++ ++ ENTER(); ++ ++ /* Sanity check */ ++ if (req->ifr_data == NULL) { ++ PRINTM(ERROR, "uap_hostcmd_ioctl() corrupt data\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ if (copy_from_user(&buf_len, req->ifr_data, sizeof(buf_len))) { ++ PRINTM(ERROR, "Copy from user failed\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ memset(&head, 0, sizeof(HostCmd_HEADER)); ++ /* Get the command size from user space */ ++ if (copy_from_user ++ (&head, req->ifr_data + sizeof(buf_len), sizeof(HostCmd_HEADER))) { ++ PRINTM(ERROR, "Copy from user failed\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ head.Size = uap_le16_to_cpu(head.Size); ++ if (head.Size > MRVDRV_SIZE_OF_CMD_BUFFER) { ++ PRINTM(ERROR, "CmdSize too big=%d\n", head.Size); ++ LEAVE(); ++ return -EFAULT; ++ } ++ PRINTM(CMND, "ioctl: hostcmd=%x, size=%d,buf_len=%d\n", head.Command, ++ head.Size, buf_len); ++ skb = dev_alloc_skb(head.Size + INTF_HEADER_LEN); ++ if (!skb) { ++ PRINTM(ERROR, "No free skb\n"); ++ LEAVE(); ++ return -ENOMEM; ++ } ++ ++ /* Get the command from user space */ ++ if (copy_from_user ++ (skb->data + INTF_HEADER_LEN, req->ifr_data + sizeof(buf_len), ++ head.Size)) { ++ PRINTM(ERROR, "Copy from user failed\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ skb_put(skb, head.Size + INTF_HEADER_LEN); ++ if (UAP_STATUS_SUCCESS != ++ uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP)) { ++ PRINTM(ERROR, "Fail to process cmd\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ if (!Adapter->CmdSize) { ++ PRINTM(ERROR, "Cmd Size is 0\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ if (Adapter->CmdSize > buf_len) { ++ PRINTM(ERROR, "buf_len is too small\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ /* Copy to user */ ++ if (copy_to_user ++ (req->ifr_data + sizeof(buf_len), Adapter->CmdBuf, Adapter->CmdSize)) { ++ PRINTM(ERROR, "Copy to user failed!\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief uap power mode ioctl handler ++ * ++ * @param dev A pointer to net_device structure ++ * @param req A pointer to ifreq structure ++ * @return UAP_STATUS_SUCCESS --success, otherwise fail ++ */ ++static int ++uap_power_mode_ioctl(struct net_device *dev, struct ifreq *req) ++{ ++ ps_mgmt pm_cfg; ++ int ret = UAP_STATUS_SUCCESS; ++ uap_private *priv = (uap_private *) netdev_priv(dev); ++ uap_adapter *Adapter = priv->adapter; ++ struct sk_buff *skb = NULL; ++ HostCmd_DS_COMMAND *cmd; ++ u32 CmdSize; ++ u8 *tlv = NULL; ++ MrvlIEtypes_sleep_param_t *sleep_tlv = NULL; ++ MrvlIEtypes_inact_sleep_param_t *inact_tlv = NULL; ++ u16 tlv_buf_left = 0; ++ MrvlIEtypesHeader_t *tlvbuf = NULL; ++ u16 tlv_type = 0; ++ u16 tlv_len = 0; ++ ++ ENTER(); ++ ++ /* Sanity check */ ++ if (req->ifr_data == NULL) { ++ PRINTM(ERROR, "uap_power_mode_ioctl() corrupt data\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ ++ memset(&pm_cfg, 0, sizeof(ps_mgmt)); ++ if (copy_from_user(&pm_cfg, req->ifr_data, sizeof(ps_mgmt))) { ++ PRINTM(ERROR, "Copy from user failed\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ PRINTM(CMND, ++ "ioctl power: flag=0x%x ps_mode=%d ctrl_bitmap=%d min_sleep=%d max_sleep=%d " ++ "inact_to=%d min_awake=%d max_awake=%d\n", pm_cfg.flags, ++ (int) pm_cfg.ps_mode, (int) pm_cfg.sleep_param.ctrl_bitmap, ++ (int) pm_cfg.sleep_param.min_sleep, ++ (int) pm_cfg.sleep_param.max_sleep, ++ (int) pm_cfg.inact_param.inactivity_to, ++ (int) pm_cfg.inact_param.min_awake, ++ (int) pm_cfg.inact_param.max_awake); ++ ++ if (pm_cfg. ++ flags & ~(PS_FLAG_PS_MODE | PS_FLAG_SLEEP_PARAM | ++ PS_FLAG_INACT_SLEEP_PARAM)) { ++ PRINTM(ERROR, "Invalid parameter: flags = 0x%x\n", pm_cfg.flags); ++ ret = -EINVAL; ++ goto done; ++ } ++ if (pm_cfg.ps_mode > PS_MODE_INACTIVITY) { ++ PRINTM(ERROR, "Invalid parameter: ps_mode = %d\n", (int) pm_cfg.flags); ++ ret = -EINVAL; ++ goto done; ++ } ++ ++ skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER); ++ if (!skb) { ++ PRINTM(INFO, "No free skb\n"); ++ ret = -ENOMEM; ++ goto done; ++ } ++ ++ CmdSize = S_DS_GEN + sizeof(HostCmd_DS_POWER_MGMT_EXT); ++ ++ cmd = (HostCmd_DS_COMMAND *) (skb->data + INTF_HEADER_LEN); ++ cmd->Command = uap_cpu_to_le16(HOST_CMD_POWER_MGMT_EXT); ++ if (!pm_cfg.flags) { ++ cmd->params.pm_cfg.action = uap_cpu_to_le16(ACTION_GET); ++ } else { ++ cmd->params.pm_cfg.action = uap_cpu_to_le16(ACTION_SET); ++ cmd->params.pm_cfg.power_mode = uap_cpu_to_le16(pm_cfg.ps_mode); ++ tlv = (u8 *) & cmd->params.pm_cfg + sizeof(HostCmd_DS_POWER_MGMT_EXT); ++ ++ if ((pm_cfg.ps_mode) && (pm_cfg.flags & PS_FLAG_SLEEP_PARAM)) { ++ sleep_tlv = (MrvlIEtypes_sleep_param_t *) tlv; ++ sleep_tlv->header.Type = uap_cpu_to_le16(TLV_TYPE_AP_SLEEP_PARAM); ++ sleep_tlv->header.Len = ++ uap_cpu_to_le16(sizeof(MrvlIEtypes_sleep_param_t) - ++ sizeof(MrvlIEtypesHeader_t)); ++ sleep_tlv->ctrl_bitmap = ++ uap_cpu_to_le32(pm_cfg.sleep_param.ctrl_bitmap); ++ sleep_tlv->min_sleep = ++ uap_cpu_to_le32(pm_cfg.sleep_param.min_sleep); ++ sleep_tlv->max_sleep = ++ uap_cpu_to_le32(pm_cfg.sleep_param.max_sleep); ++ CmdSize += sizeof(MrvlIEtypes_sleep_param_t); ++ tlv += sizeof(MrvlIEtypes_sleep_param_t); ++ } ++ if ((pm_cfg.ps_mode == PS_MODE_INACTIVITY) && ++ (pm_cfg.flags & PS_FLAG_INACT_SLEEP_PARAM)) { ++ inact_tlv = (MrvlIEtypes_inact_sleep_param_t *) tlv; ++ inact_tlv->header.Type = ++ uap_cpu_to_le16(TLV_TYPE_AP_INACT_SLEEP_PARAM); ++ inact_tlv->header.Len = ++ uap_cpu_to_le16(sizeof(MrvlIEtypes_inact_sleep_param_t) - ++ sizeof(MrvlIEtypesHeader_t)); ++ inact_tlv->inactivity_to = ++ uap_cpu_to_le32(pm_cfg.inact_param.inactivity_to); ++ inact_tlv->min_awake = ++ uap_cpu_to_le32(pm_cfg.inact_param.min_awake); ++ inact_tlv->max_awake = ++ uap_cpu_to_le32(pm_cfg.inact_param.max_awake); ++ CmdSize += sizeof(MrvlIEtypes_inact_sleep_param_t); ++ tlv += sizeof(MrvlIEtypes_inact_sleep_param_t); ++ } ++ } ++ cmd->Size = uap_cpu_to_le16(CmdSize); ++ skb_put(skb, CmdSize + INTF_HEADER_LEN); ++ if (UAP_STATUS_SUCCESS != ++ uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP)) { ++ PRINTM(ERROR, "Fail to process cmd POWER_MODE\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ if (!Adapter->CmdSize) { ++ PRINTM(ERROR, "Cmd Size is 0\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ cmd = (HostCmd_DS_COMMAND *) Adapter->CmdBuf; ++ cmd->Result = uap_le16_to_cpu(cmd->Result); ++ if (cmd->Result != UAP_STATUS_SUCCESS) { ++ PRINTM(ERROR, "HOST_CMD_APCMD_POWER_MODE fail=%x\n", cmd->Result); ++ ret = -EFAULT; ++ goto done; ++ } ++ if (pm_cfg.flags) { ++ Adapter->psmode = uap_le16_to_cpu(cmd->params.pm_cfg.power_mode); ++ } else { ++ pm_cfg.flags = PS_FLAG_PS_MODE; ++ pm_cfg.ps_mode = uap_le16_to_cpu(cmd->params.pm_cfg.power_mode); ++ tlv_buf_left = ++ cmd->Size - (sizeof(HostCmd_DS_POWER_MGMT_EXT) + S_DS_GEN); ++ tlvbuf = ++ (MrvlIEtypesHeader_t *) ((u8 *) & cmd->params.pm_cfg + ++ sizeof(HostCmd_DS_POWER_MGMT_EXT)); ++ while (tlv_buf_left >= sizeof(MrvlIEtypesHeader_t)) { ++ tlv_type = uap_le16_to_cpu(tlvbuf->Type); ++ tlv_len = uap_le16_to_cpu(tlvbuf->Len); ++ switch (tlv_type) { ++ case TLV_TYPE_AP_SLEEP_PARAM: ++ sleep_tlv = (MrvlIEtypes_sleep_param_t *) tlvbuf; ++ pm_cfg.flags |= PS_FLAG_SLEEP_PARAM; ++ pm_cfg.sleep_param.ctrl_bitmap = ++ uap_le32_to_cpu(sleep_tlv->ctrl_bitmap); ++ pm_cfg.sleep_param.min_sleep = ++ uap_le32_to_cpu(sleep_tlv->min_sleep); ++ pm_cfg.sleep_param.max_sleep = ++ uap_le32_to_cpu(sleep_tlv->max_sleep); ++ break; ++ case TLV_TYPE_AP_INACT_SLEEP_PARAM: ++ inact_tlv = (MrvlIEtypes_inact_sleep_param_t *) tlvbuf; ++ pm_cfg.flags |= PS_FLAG_INACT_SLEEP_PARAM; ++ pm_cfg.inact_param.inactivity_to = ++ uap_le32_to_cpu(inact_tlv->inactivity_to); ++ pm_cfg.inact_param.min_awake = ++ uap_le32_to_cpu(inact_tlv->min_awake); ++ pm_cfg.inact_param.max_awake = ++ uap_le32_to_cpu(inact_tlv->max_awake); ++ break; ++ } ++ tlv_buf_left -= tlv_len + sizeof(MrvlIEtypesHeader_t); ++ tlvbuf = ++ (MrvlIEtypesHeader_t *) ((u8 *) tlvbuf + tlv_len + ++ sizeof(MrvlIEtypesHeader_t)); ++ } ++ /* Copy to user */ ++ if (copy_to_user(req->ifr_data, &pm_cfg, sizeof(ps_mgmt))) { ++ PRINTM(ERROR, "Copy to user failed!\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ } ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function send bss_stop command to firmware ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS on success, otherwise failure code ++ */ ++static int ++uap_bss_stop(uap_private * priv) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u32 CmdSize; ++ HostCmd_DS_GEN *cmd; ++ uap_adapter *Adapter = priv->adapter; ++ struct sk_buff *skb; ++ ENTER(); ++ if (Adapter->HardwareStatus != HWReady) { ++ PRINTM(ERROR, "uap_bss_stop:Hardware is not ready!\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER); ++ if (!skb) { ++ PRINTM(ERROR, "No free skb\n"); ++ ret = -ENOMEM; ++ goto done; ++ } ++ CmdSize = sizeof(HostCmd_DS_GEN); ++ cmd = (HostCmd_DS_GEN *) (skb->data + INTF_HEADER_LEN); ++ cmd->Command = uap_cpu_to_le16(HOST_CMD_APCMD_BSS_STOP); ++ cmd->Size = uap_cpu_to_le16(CmdSize); ++ skb_put(skb, CmdSize + INTF_HEADER_LEN); ++ PRINTM(CMND, "APCMD_BSS_STOP\n"); ++ if (UAP_STATUS_SUCCESS != ++ uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP_TIMEOUT)) { ++ PRINTM(ERROR, "Fail to process cmd BSS_STOP\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/******************************************************** ++ Global Functions ++********************************************************/ ++/** ++ * @brief This function send soft_reset command to firmware ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS on success, otherwise failure code ++ */ ++int ++uap_soft_reset(uap_private * priv) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u32 CmdSize; ++ HostCmd_DS_GEN *cmd; ++ uap_adapter *Adapter = priv->adapter; ++ struct sk_buff *skb; ++ ENTER(); ++ ret = uap_bss_stop(priv); ++ if (ret != UAP_STATUS_SUCCESS) ++ goto done; ++ skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER); ++ if (!skb) { ++ PRINTM(ERROR, "No free skb\n"); ++ ret = -ENOMEM; ++ goto done; ++ } ++ CmdSize = sizeof(HostCmd_DS_GEN); ++ cmd = (HostCmd_DS_GEN *) (skb->data + INTF_HEADER_LEN); ++ cmd->Command = uap_cpu_to_le16(HOST_CMD_APCMD_SOFT_RESET); ++ cmd->Size = uap_cpu_to_le16(CmdSize); ++ skb_put(skb, CmdSize + INTF_HEADER_LEN); ++ PRINTM(CMND, "APCMD_SOFT_RESET\n"); ++ if (UAP_STATUS_SUCCESS != ++ uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORSEND)) { ++ PRINTM(ERROR, "Fail to process cmd SOFT_RESET\n"); ++ ret = -EFAULT; ++ goto done; ++ } ++ Adapter->SurpriseRemoved = TRUE; ++ /* delay to allow hardware complete reset */ ++ os_sched_timeout(5); ++ if (priv->MediaConnected == TRUE) { ++ os_stop_queue(priv); ++ os_carrier_off(priv); ++ priv->MediaConnected = FALSE; ++ } ++ Adapter->CmdSize = 0; ++ Adapter->CmdWaitQWoken = TRUE; ++ wake_up_interruptible(&Adapter->cmdwait_q); ++ skb_queue_purge(&priv->adapter->tx_queue); ++ skb_queue_purge(&priv->adapter->cmd_queue); ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function processes received packet and forwards it ++ * to kernel/upper layer ++ * ++ * @param priv A pointer to uap_private ++ * @param skb A pointer to skb which includes the received packet ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++uap_process_rx_packet(uap_private * priv, struct sk_buff *skb) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ RxPD *pRxPD; ++ ENTER(); ++ priv->adapter->ps_state = PS_STATE_AWAKE; ++ pRxPD = (RxPD *) skb->data; ++ endian_convert_RxPD(pRxPD); ++ DBG_HEXDUMP(DAT_D, "Rx", skb->data, MIN(skb->len, DATA_DUMP_LEN)); ++ skb_pull(skb, pRxPD->RxPktOffset); ++ priv->stats.rx_packets++; ++ priv->stats.rx_bytes += skb->len; ++ os_upload_rx_packet(priv, skb); ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function opens the network device ++ * ++ * @param dev A pointer to net_device structure ++ * @return UAP_STATUS_SUCCESS ++ */ ++static int ++uap_open(struct net_device *dev) ++{ ++ uap_private *priv = (uap_private *) (uap_private *) netdev_priv(dev); ++ uap_adapter *Adapter = priv->adapter; ++ int i = 0; ++ ++ ENTER(); ++ ++ /* On some systems the device open handler will be called before HW ready. */ ++ /* Use the following flag check and wait function to work around the issue. */ ++ while ((Adapter->HardwareStatus != HWReady) && ++ (i < MAX_WAIT_DEVICE_READY_COUNT)) { ++ i++; ++ os_sched_timeout(100); ++ } ++ if (i >= MAX_WAIT_DEVICE_READY_COUNT) { ++ PRINTM(FATAL, "HW not ready, uap_open() return failure\n"); ++ LEAVE(); ++ return UAP_STATUS_FAILURE; ++ } ++ ++ if (MODULE_GET == 0) ++ return UAP_STATUS_FAILURE; ++ ++ priv->open = TRUE; ++ if (priv->MediaConnected == TRUE) { ++ os_carrier_on(priv); ++ os_start_queue(priv); ++ } else { ++ os_stop_queue(priv); ++ os_carrier_off(priv); ++ } ++ LEAVE(); ++ return UAP_STATUS_SUCCESS; ++} ++ ++/** ++ * @brief This function closes the network device ++ * ++ * @param dev A pointer to net_device structure ++ * @return UAP_STATUS_SUCCESS ++ */ ++static int ++uap_close(struct net_device *dev) ++{ ++ uap_private *priv = (uap_private *) netdev_priv(dev); ++ ++ ENTER(); ++ skb_queue_purge(&priv->adapter->tx_queue); ++ os_stop_queue(priv); ++ os_carrier_off(priv); ++ ++ MODULE_PUT; ++ priv->open = FALSE; ++ LEAVE(); ++ return UAP_STATUS_SUCCESS; ++} ++ ++/** ++ * @brief This function returns the network statistics ++ * ++ * @param dev A pointer to uap_private structure ++ * @return A pointer to net_device_stats structure ++ */ ++static struct net_device_stats * ++uap_get_stats(struct net_device *dev) ++{ ++ uap_private *priv = (uap_private *) netdev_priv(dev); ++ ++ return &priv->stats; ++} ++ ++/** ++ * @brief This function sets the MAC address to firmware. ++ * ++ * @param dev A pointer to uap_private structure ++ * @param addr MAC address to set ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++uap_set_mac_address(struct net_device *dev, void *addr) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ uap_private *priv = (uap_private *) netdev_priv(dev); ++ struct sockaddr *pHwAddr = (struct sockaddr *) addr; ++ u32 CmdSize; ++ HostCmd_DS_COMMAND *cmd; ++ MrvlIEtypes_MacAddr_t *pMacAddrTlv; ++ uap_adapter *Adapter = priv->adapter; ++ struct sk_buff *skb; ++ ++ ENTER(); ++ ++ /* Dump MAC address */ ++ DBG_HEXDUMP(CMD_D, "Original MAC addr", dev->dev_addr, ETH_ALEN); ++ DBG_HEXDUMP(CMD_D, "New MAC addr", pHwAddr->sa_data, ETH_ALEN); ++ if (priv->open && (priv->MediaConnected == TRUE)) { ++ os_carrier_on(priv); ++ os_start_queue(priv); ++ } ++ skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER); ++ if (!skb) { ++ PRINTM(ERROR, "No free skb\n"); ++ LEAVE(); ++ return -ENOMEM; ++ } ++ CmdSize = ++ S_DS_GEN + sizeof(HostCmd_SYS_CONFIG) + sizeof(MrvlIEtypes_MacAddr_t); ++ cmd = (HostCmd_DS_COMMAND *) (skb->data + INTF_HEADER_LEN); ++ cmd->Command = uap_cpu_to_le16(HOST_CMD_APCMD_SYS_CONFIGURE); ++ cmd->Size = uap_cpu_to_le16(CmdSize); ++ cmd->params.sys_config.Action = uap_cpu_to_le16(ACTION_SET); ++ pMacAddrTlv = ++ (MrvlIEtypes_MacAddr_t *) ((u8 *) cmd + S_DS_GEN + ++ sizeof(HostCmd_SYS_CONFIG)); ++ pMacAddrTlv->Header.Type = uap_cpu_to_le16(MRVL_AP_MAC_ADDRESS_TLV_ID); ++ pMacAddrTlv->Header.Len = uap_cpu_to_le16(ETH_ALEN); ++ memcpy(pMacAddrTlv->ApMacAddr, pHwAddr->sa_data, ETH_ALEN); ++ skb_put(skb, CmdSize + INTF_HEADER_LEN); ++ PRINTM(CMND, "set_mac_address\n"); ++ if (UAP_STATUS_SUCCESS != ++ uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP_TIMEOUT)) { ++ PRINTM(ERROR, "Fail to set mac address\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ if (!Adapter->CmdSize) { ++ PRINTM(ERROR, "Cmd Size is 0\n"); ++ LEAVE(); ++ return -EFAULT; ++ } ++ cmd = (HostCmd_DS_COMMAND *) Adapter->CmdBuf; ++ cmd->Result = uap_cpu_to_le16(cmd->Result); ++ if (cmd->Result != UAP_STATUS_SUCCESS) { ++ PRINTM(ERROR, "set mac addrress fail,cmd result=%x\n", cmd->Result); ++ ret = -EFAULT; ++ } else ++ memcpy(dev->dev_addr, pHwAddr->sa_data, ETH_ALEN); ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function handles the timeout of packet ++ * transmission ++ * ++ * @param dev A pointer to net_device structure ++ * @return n/a ++ */ ++static void ++uap_tx_timeout(struct net_device *dev) ++{ ++ uap_private *priv = (uap_private *) netdev_priv(dev); ++ ++ ENTER(); ++ ++ PRINTM(DATA, "Tx timeout\n"); ++ UpdateTransStart(dev); ++ priv->num_tx_timeout++; ++ priv->adapter->IntCounter++; ++ wake_up_interruptible(&priv->MainThread.waitQ); ++ ++ LEAVE(); ++} ++ ++/** ++ * @brief This function handles packet transmission ++ * ++ * @param skb A pointer to sk_buff structure ++ * @param dev A pointer to net_device structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++uap_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) ++{ ++ uap_private *priv = (uap_private *) netdev_priv(dev); ++ int ret = UAP_STATUS_SUCCESS; ++ ++ ENTER(); ++ PRINTM(DATA, "Data <= kernel\n"); ++ DBG_HEXDUMP(DAT_D, "Tx", skb->data, MIN(skb->len, DATA_DUMP_LEN)); ++ /* skb sanity check */ ++ if (!skb->len || (skb->len > MRVDRV_MAXIMUM_ETH_PACKET_SIZE)) { ++ PRINTM(ERROR, "Tx Error: Bad skb length %d : %d\n", skb->len, ++ MRVDRV_MAXIMUM_ETH_PACKET_SIZE); ++ priv->stats.tx_dropped++; ++ kfree(skb); ++ goto done; ++ } ++ skb_queue_tail(&priv->adapter->tx_queue, skb); ++ wake_up_interruptible(&priv->MainThread.waitQ); ++ if (skb_queue_len(&priv->adapter->tx_queue) > TX_HIGH_WATERMARK) { ++ UpdateTransStart(dev); ++ os_stop_queue(priv); ++ } ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief ioctl function - entry point ++ * ++ * @param dev A pointer to net_device structure ++ * @param req A pointer to ifreq structure ++ * @param cmd command ++ * @return UAP_STATUS_SUCCESS--success, otherwise fail ++ */ ++static int ++uap_do_ioctl(struct net_device *dev, struct ifreq *req, int cmd) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ ++ ENTER(); ++ ++ PRINTM(CMND, "uap_do_ioctl: ioctl cmd = 0x%x\n", cmd); ++ ++ switch (cmd) { ++ case UAPHOSTCMD: ++ ret = uap_hostcmd_ioctl(dev, req); ++ break; ++ case UAP_POWER_MODE: ++ ret = uap_power_mode_ioctl(dev, req); ++ break; ++ default: ++ ret = -EINVAL; ++ break; ++ } ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function handles events generated by firmware ++ * ++ * @param priv A pointer to uap_private structure ++ * @param payload A pointer to payload buffer ++ * @param len Length of the payload ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++uap_process_event(uap_private * priv, u8 * payload, uint len) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ uap_adapter *Adapter = priv->adapter; ++ struct sk_buff *skb = NULL; ++ struct nlmsghdr *nlh = NULL; ++ struct sock *sk = Adapter->nl_sk; ++ AP_Event *pEvent; ++ ++ ENTER(); ++ Adapter->ps_state = PS_STATE_AWAKE; ++ if (len > NL_MAX_PAYLOAD) { ++ PRINTM(ERROR, "event size is too big!!! len=%d\n", len); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ pEvent = (AP_Event *) payload; ++ PRINTM(CMND, "Event: %d\n", pEvent->EventId); ++ switch (pEvent->EventId) { ++ case MICRO_AP_EV_ID_BSS_START: ++ memcpy(priv->uap_dev.netdev->dev_addr, pEvent->MacAddr, ETH_ALEN); ++ DBG_HEXDUMP(CMD_D, "BSS MAC addr", priv->uap_dev.netdev->dev_addr, ++ ETH_ALEN); ++ break; ++ case MICRO_AP_EV_BSS_ACTIVE: ++ // carrier on ++ priv->MediaConnected = TRUE; ++ os_carrier_on(priv); ++ os_start_queue(priv); ++ break; ++ case MICRO_AP_EV_BSS_IDLE: ++ os_stop_queue(priv); ++ os_carrier_off(priv); ++ priv->MediaConnected = FALSE; ++ break; ++ case EVENT_PS_AWAKE: ++ PRINTM(CMND, "UAP: PS_AWAKE\n"); ++ Adapter->ps_state = PS_STATE_AWAKE; ++ Adapter->WakeupTries = 0; ++ break; ++ case EVENT_PS_SLEEP: ++ PRINTM(CMND, "UAP: PS_SLEEP\n"); ++ Adapter->ps_state = PS_STATE_PRE_SLEEP; ++ break; ++ default: ++ break; ++ } ++ if ((pEvent->EventId == EVENT_PS_AWAKE) || ++ (pEvent->EventId == EVENT_PS_SLEEP)) ++ goto done; ++ if (sk) { ++ /* Allocate skb */ ++ if (!(skb = alloc_skb(NLMSG_SPACE(NL_MAX_PAYLOAD), GFP_ATOMIC))) { ++ PRINTM(ERROR, "Could not allocate skb for netlink.\n"); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ nlh = (struct nlmsghdr *) skb->data; ++ nlh->nlmsg_len = NLMSG_SPACE(len); ++ ++ /* From kernel */ ++ nlh->nlmsg_pid = 0; ++ nlh->nlmsg_flags = 0; ++ ++ /* Data */ ++ skb_put(skb, nlh->nlmsg_len); ++ memcpy(NLMSG_DATA(nlh), payload, len); ++ ++ /* From Kernel */ ++ NETLINK_CB(skb).portid = 0; ++ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) ++ /* Multicast message */ ++ NETLINK_CB(skb).dst_pid = 0; ++#endif ++ ++ /* Multicast group number */ ++ NETLINK_CB(skb).dst_group = NL_MULTICAST_GROUP; ++ ++ /* Send message */ ++ netlink_broadcast(sk, skb, 0, NL_MULTICAST_GROUP, GFP_KERNEL); ++ ++ ret = UAP_STATUS_SUCCESS; ++ } else { ++ PRINTM(ERROR, "Could not send event through NETLINK. Link down.\n"); ++ ret = UAP_STATUS_FAILURE; ++ } ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function handles the interrupt. it will change PS ++ * state if applicable. it will wake up main_thread to handle ++ * the interrupt event as well. ++ * ++ * @param priv A pointer to uap_private structure ++ * @return n/a ++ */ ++void ++uap_interrupt(uap_private * priv) ++{ ++ ENTER(); ++ priv->adapter->IntCounter++; ++ priv->adapter->WakeupTries = 0; ++ PRINTM(INFO, "*\n"); ++ wake_up_interruptible(&priv->MainThread.waitQ); ++ ++ LEAVE(); ++ ++} ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29) ++/** Network device handlers */ ++static const struct net_device_ops uap_netdev_ops = { ++ .ndo_open = uap_open, ++ .ndo_start_xmit = uap_hard_start_xmit, ++ .ndo_stop = uap_close, ++ .ndo_do_ioctl = uap_do_ioctl, ++ .ndo_set_mac_address = uap_set_mac_address, ++ .ndo_tx_timeout = uap_tx_timeout, ++ .ndo_get_stats = uap_get_stats, ++}; ++#endif ++ ++/** ++ * @brief This function adds the card. it will probe the ++ * card, allocate the uap_priv and initialize the device. ++ * ++ * @param card A pointer to card ++ * @return A pointer to uap_private structure ++ */ ++uap_private * ++uap_add_card(void *card) ++{ ++ struct net_device *dev = NULL; ++ uap_private *priv = NULL; ++ ++ ENTER(); ++ ++ if (OS_ACQ_SEMAPHORE_BLOCK(&AddRemoveCardSem)) ++ goto exit_sem_err; ++ ++ /* Allocate an Ethernet device */ ++ if (!(dev = alloc_etherdev(sizeof(uap_private)))) { ++ PRINTM(FATAL, "Init ethernet device failed!\n"); ++ goto error; ++ } ++ priv = (uap_private *) netdev_priv(dev); ++ ++ /* Allocate name */ ++ if (dev_alloc_name(dev, "uap%d") < 0) { ++ PRINTM(ERROR, "Could not allocate device name!\n"); ++ goto error; ++ } ++ ++ /* Allocate buffer for uap_adapter */ ++ if (!(priv->adapter = kmalloc(sizeof(uap_adapter), GFP_KERNEL))) { ++ PRINTM(FATAL, "Allocate buffer for uap_adapter failed!\n"); ++ goto error; ++ } ++ memset(priv->adapter, 0, sizeof(uap_adapter)); ++ ++ priv->uap_dev.netdev = dev; ++ priv->uap_dev.card = card; ++ priv->MediaConnected = FALSE; ++ uappriv = priv; ++ ((struct sdio_mmc_card *) card)->priv = priv; ++ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) ++ SET_MODULE_OWNER(dev); ++#endif ++ ++ /* Setup the OS Interface to our functions */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) ++ dev->open = uap_open; ++ dev->stop = uap_close; ++ dev->hard_start_xmit = uap_hard_start_xmit; ++ dev->tx_timeout = uap_tx_timeout; ++ dev->get_stats = uap_get_stats; ++ dev->do_ioctl = uap_do_ioctl; ++ dev->set_mac_address = uap_set_mac_address; ++ dev->set_multicast_list = uap_set_multicast_list; ++#else ++ dev->netdev_ops = &uap_netdev_ops; ++#endif ++ dev->watchdog_timeo = MRVDRV_DEFAULT_WATCHDOG_TIMEOUT; ++ dev->hard_header_len += sizeof(TxPD) + INTF_HEADER_LEN; ++ dev->hard_header_len += HEADER_ALIGNMENT; ++#define NETIF_F_DYNALLOC 16 ++ dev->features |= NETIF_F_DYNALLOC; ++ dev->flags |= IFF_BROADCAST | IFF_MULTICAST; ++ ++ /* Init SW */ ++ if (uap_init_sw(priv)) { ++ PRINTM(FATAL, "Software Init Failed\n"); ++ goto error; ++ } ++ ++ PRINTM(INFO, "Starting kthread...\n"); ++ priv->MainThread.priv = priv; ++ spin_lock_init(&priv->driver_lock); ++ uap_create_thread(uap_service_main_thread, &priv->MainThread, ++ "uap_main_service"); ++ while (priv->MainThread.pid == 0) { ++ os_sched_timeout(2); ++ } ++ ++ /* Register the device */ ++ if (sbi_register_dev(priv) < 0) { ++ PRINTM(FATAL, "Failed to register uap device!\n"); ++ goto err_registerdev; ++ } ++#ifdef FW_DNLD_NEEDED ++ SET_NETDEV_DEV(dev, priv->hotplug_device); ++#endif ++ ++ /* Init FW and HW */ ++ if (uap_init_fw(priv)) { ++ PRINTM(FATAL, "Firmware Init Failed\n"); ++ goto err_init_fw; ++ } ++ ++ priv->uap_dev.cmd_sent = FALSE; ++ priv->uap_dev.data_sent = FALSE; ++ ++ /* Get mac address from firmware */ ++ if (uap_get_mac_address(priv)) { ++ PRINTM(FATAL, "Fail to get mac address\n"); ++ goto err_init_fw; ++ } ++ /* Register network device */ ++ if (register_netdev(dev)) { ++ printk(KERN_ERR "Cannot register network device!\n"); ++ goto err_init_fw; ++ } ++#ifdef CONFIG_PROC_FS ++ uap_proc_entry(priv, dev); ++ uap_debug_entry(priv, dev); ++#endif /* CPNFIG_PROC_FS */ ++ OS_REL_SEMAPHORE(&AddRemoveCardSem); ++ ++ LEAVE(); ++ return priv; ++ err_init_fw: ++ sbi_unregister_dev(priv); ++ err_registerdev: ++ ((struct sdio_mmc_card *) card)->priv = NULL; ++ /* Stop the thread servicing the interrupts */ ++ priv->adapter->SurpriseRemoved = TRUE; ++ wake_up_interruptible(&priv->MainThread.waitQ); ++ while (priv->MainThread.pid) { ++ os_sched_timeout(1); ++ } ++ error: ++ if (dev) { ++ if (dev->reg_state == NETREG_REGISTERED) ++ unregister_netdev(dev); ++ if (priv->adapter) ++ uap_free_adapter(priv); ++ free_netdev(dev); ++ uappriv = NULL; ++ } ++ OS_REL_SEMAPHORE(&AddRemoveCardSem); ++ exit_sem_err: ++ LEAVE(); ++ return NULL; ++} ++ ++/** ++ * @brief This function removes the card. ++ * ++ * @param card A pointer to card ++ * @return UAP_STATUS_SUCCESS ++ */ ++int ++uap_remove_card(void *card) ++{ ++ uap_private *priv = uappriv; ++ uap_adapter *Adapter; ++ struct net_device *dev; ++ ++ ENTER(); ++ ++ if (OS_ACQ_SEMAPHORE_BLOCK(&AddRemoveCardSem)) ++ goto exit_sem_err; ++ ++ if (!priv || !(Adapter = priv->adapter)) { ++ goto exit_remove; ++ } ++ Adapter->SurpriseRemoved = TRUE; ++ if (Adapter->cmd_pending == TRUE) { ++ /* Wake up cmd Q */ ++ Adapter->CmdWaitQWoken = TRUE; ++ wake_up_interruptible(&Adapter->cmdwait_q); ++ } ++ dev = priv->uap_dev.netdev; ++ if (priv->MediaConnected == TRUE) { ++ os_stop_queue(priv); ++ os_carrier_off(priv); ++ priv->MediaConnected = FALSE; ++ } ++ Adapter->CmdSize = 0; ++ Adapter->CmdWaitQWoken = TRUE; ++ wake_up_interruptible(&Adapter->cmdwait_q); ++ skb_queue_purge(&priv->adapter->tx_queue); ++ skb_queue_purge(&priv->adapter->cmd_queue); ++ ++ /* Disable interrupts on the card */ ++ sbi_disable_host_int(priv); ++ PRINTM(INFO, "netdev_finish_unregister: %s%s.\n", dev->name, ++ (dev->features & NETIF_F_DYNALLOC) ? "" : ", old style"); ++ unregister_netdev(dev); ++ PRINTM(INFO, "Unregister finish\n"); ++ wake_up_interruptible(&priv->MainThread.waitQ); ++ while (priv->MainThread.pid) { ++ os_sched_timeout(1); ++ } ++ ++ if ((Adapter->nl_sk) && ((Adapter->nl_sk)->sk_socket)) { ++ sock_release((Adapter->nl_sk)->sk_socket); ++ Adapter->nl_sk = NULL; ++ } ++#ifdef CONFIG_PROC_FS ++ uap_debug_remove(priv); ++ uap_proc_remove(priv); ++#endif ++ sbi_unregister_dev(priv); ++ PRINTM(INFO, "Free Adapter\n"); ++ uap_free_adapter(priv); ++ priv->uap_dev.netdev = NULL; ++ free_netdev(dev); ++ uappriv = NULL; ++ ++ exit_remove: ++ OS_REL_SEMAPHORE(&AddRemoveCardSem); ++ exit_sem_err: ++ LEAVE(); ++ return UAP_STATUS_SUCCESS; ++} ++ ++/** ++ * @brief This function initializes module. ++ * ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int __init ++uap_init_module(void) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ ENTER(); ++ ++ OS_INIT_SEMAPHORE(&AddRemoveCardSem); ++ ret = sbi_register(); ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function cleans module ++ * ++ * @return n/a ++ */ ++static void __exit ++uap_cleanup_module(void) ++{ ++ ENTER(); ++ ++ if (OS_ACQ_SEMAPHORE_BLOCK(&AddRemoveCardSem)) ++ goto exit_sem_err; ++ ++ if ((uappriv) && (uappriv->adapter)) { ++ uap_func_shutdown(uappriv); ++ } ++ OS_REL_SEMAPHORE(&AddRemoveCardSem); ++ exit_sem_err: ++ sbi_unregister(); ++ LEAVE(); ++} ++ ++module_init(uap_init_module); ++module_exit(uap_cleanup_module); ++module_param(helper_name, charp, 0); ++MODULE_PARM_DESC(helper_name, "Helper name"); ++module_param(fw_name, charp, 0); ++MODULE_PARM_DESC(fw_name, "Firmware name"); ++ ++MODULE_DESCRIPTION("M-UAP Driver"); ++MODULE_AUTHOR("Marvell International Ltd."); ++MODULE_VERSION(DRIVER_VERSION); ++MODULE_LICENSE("GPL"); +diff --git a/drivers/net/wireless/libertas_uap/uap_proc.c b/drivers/net/wireless/libertas_uap/uap_proc.c +new file mode 100644 +index 0000000..d673f56 +--- /dev/null ++++ b/drivers/net/wireless/libertas_uap/uap_proc.c +@@ -0,0 +1,258 @@ ++/** @file uap_proc.c ++ * @brief This file contains functions for proc file. ++ * ++ * Copyright (C) 2008-2009, Marvell International Ltd. ++ * ++ * This software file (the "File") is distributed by Marvell International ++ * Ltd. under the terms of the GNU General Public License Version 2, June 1991 ++ * (the "License"). You may use, redistribute and/or modify this File in ++ * accordance with the terms and conditions of the License, a copy of which ++ * is available along with the File in the gpl.txt file or by writing to ++ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt. ++ * ++ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ++ * ARE EXPRESSLY DISCLAIMED. The License provides additional details about ++ * this warranty disclaimer. ++ * ++ */ ++#ifdef CONFIG_PROC_FS ++#include ++#include ++#include "uap_headers.h" ++ ++/** /proc directory root */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) ++#define PROC_DIR NULL ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) ++#define PROC_DIR &proc_root ++#else ++#define PROC_DIR proc_net ++#endif ++ ++/******************************************************** ++ Local Variables ++********************************************************/ ++ ++/******************************************************** ++ Global Variables ++********************************************************/ ++ ++/******************************************************** ++ Local Functions ++********************************************************/ ++ ++static int uap_info_proc_show(struct seq_file *s, void *data) { ++ int i; ++ struct net_device *netdev = (struct net_device*)s->private; ++ struct netdev_hw_addr *ha; ++ uap_private *priv = (uap_private *) netdev_priv(netdev); ++ ++ seq_printf(s, "driver_name = " "\"uap\"\n"); ++ seq_printf(s, "driver_version = %s-(FP%s)", DRIVER_VERSION, FPNUM); ++ seq_printf(s, "\nInterfaceName=\"%s\"\n", netdev->name); ++ ++ seq_printf(s, "State=\"%s\"\n", ++ ((priv->MediaConnected == ++ FALSE) ? "Disconnected" : "Connected")); ++ seq_printf(s, "MACAddress=\"%02x:%02x:%02x:%02x:%02x:%02x\"\n", ++ netdev->dev_addr[0], netdev->dev_addr[1], netdev->dev_addr[2], ++ netdev->dev_addr[3], netdev->dev_addr[4], netdev->dev_addr[5]); ++ i = 0; ++ netdev_for_each_mc_addr(ha, netdev) { ++ ++i; ++ } ++ seq_printf(s, "MCCount=\"%d\"\n", i); ++ ++ /* ++ * Put out the multicast list ++ */ ++ i = 0; ++ netdev_for_each_mc_addr(ha, netdev) { ++ seq_printf(s, ++ "MCAddr[%d]=\"%02x:%02x:%02x:%02x:%02x:%02x\"\n", ++ i++, ++ ha->addr[0], ha->addr[1], ++ ha->addr[2], ha->addr[3], ++ ha->addr[4], ha->addr[5]); ++ } ++ ++ seq_printf(s, "num_tx_bytes = %lu\n", priv->stats.tx_bytes); ++ seq_printf(s, "num_rx_bytes = %lu\n", priv->stats.rx_bytes); ++ seq_printf(s, "num_tx_pkts = %lu\n", priv->stats.tx_packets); ++ seq_printf(s, "num_rx_pkts = %lu\n", priv->stats.rx_packets); ++ seq_printf(s, "num_tx_pkts_dropped = %lu\n", priv->stats.tx_dropped); ++ seq_printf(s, "num_rx_pkts_dropped = %lu\n", priv->stats.rx_dropped); ++ seq_printf(s, "num_tx_pkts_err = %lu\n", priv->stats.tx_errors); ++ seq_printf(s, "num_rx_pkts_err = %lu\n", priv->stats.rx_errors); ++ seq_printf(s, "num_tx_timeout = %u\n", priv->num_tx_timeout); ++ seq_printf(s, "carrier %s\n", ++ ((netif_carrier_ok(priv->uap_dev.netdev)) ? "on" : "off")); ++ seq_printf(s, "tx queue %s\n", ++ ((netif_queue_stopped(priv->uap_dev.netdev)) ? "stopped" : ++ "started")); ++ ++ return 0; ++} ++ ++static int uap_info_proc_open(struct inode *inode, struct file *file) { ++ return single_open(file, uap_info_proc_show, PDE_DATA(inode)); ++} ++ ++static int uap_hwstatus_proc_show(struct seq_file *s, void *data) { ++ struct net_device *netdev = (struct net_device*)s->private; ++ uap_private *priv = (uap_private *) netdev_priv(netdev); ++ ++ MODULE_GET; ++ seq_printf(s, "%d\n", priv->adapter->HardwareStatus); ++ MODULE_PUT; ++ ++ return 0; ++} ++ ++static int uap_hwstatus_proc_open(struct inode *inode, struct file *file) { ++ return single_open(file, uap_hwstatus_proc_show, PDE_DATA(inode)); ++} ++ ++static ssize_t uap_hwstatus_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *data) { ++ struct net_device *netdev = (struct net_device *)PDE_DATA(file_inode(file)); ++ uap_private *priv = (uap_private *) netdev_priv(netdev); ++ ++ int hwstatus; ++ char value[10]; ++ ++ if (count > sizeof(value)) ++ return count; ++ ++ if (copy_from_user(&value, buffer, count)) ++ return -EFAULT; ++ ++ hwstatus = string_to_number(value); ++ switch (hwstatus) { ++ case HWReset: ++ PRINTM(MSG, "reset hw\n"); ++ uap_soft_reset(priv); ++ priv->adapter->HardwareStatus = HWReset; ++ break; ++ default: ++ break; ++ } ++ ++ MODULE_PUT; ++ return count; ++} ++ ++static const struct file_operations uap_info_proc_fops = { ++ .owner = THIS_MODULE, ++ .open = uap_info_proc_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = single_release, ++}; ++ ++static const struct file_operations uap_hwstatus_proc_fops = { ++ .owner = THIS_MODULE, ++ .open = uap_hwstatus_proc_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = single_release, ++ .write = uap_hwstatus_proc_write, ++}; ++ ++/******************************************************** ++ Global Functions ++********************************************************/ ++/** ++ * @brief create uap proc file ++ * ++ * @param priv pointer uap_private ++ * @param dev pointer net_device ++ * @return N/A ++ */ ++void ++uap_proc_entry(uap_private * priv, struct net_device *dev) ++{ ++ PRINTM(INFO, "Creating Proc Interface\n"); ++ /* Check if uap directory already exists */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) ++ struct proc_dir_entry *r = PROC_DIR; ++ ++ for (r = r->subdir; r; r = r->next) { ++ if (r->namelen && !strcmp("uap", r->name)) { ++ /* Directory exists */ ++ PRINTM(WARN, "proc directory already exists!\n"); ++ priv->proc_uap = r; ++ break; ++ } ++ } ++#endif ++ if (!priv->proc_uap) { ++ priv->proc_uap = proc_mkdir("uap", PROC_DIR); ++ if (!priv->proc_uap) ++ return; ++ } ++ priv->proc_entry = proc_mkdir(dev->name, priv->proc_uap); ++ ++ if (priv->proc_entry) { ++ proc_create_data("info", 0644, priv->proc_entry, &uap_info_proc_fops, dev); ++ proc_create_data("hwinfo", 0644, priv->proc_entry, &uap_hwstatus_proc_fops, dev); ++ } ++} ++ ++/** ++ * @brief remove proc file ++ * ++ * @param priv pointer uap_private ++ * @return N/A ++ */ ++void ++uap_proc_remove(uap_private * priv) ++{ ++ if (priv->proc_uap) { ++ if (priv->proc_entry) { ++ remove_proc_entry("info", priv->proc_entry); ++ remove_proc_entry("hwstatus", priv->proc_entry); ++ } ++ remove_proc_entry(priv->uap_dev.netdev->name, priv->proc_uap); ++ } ++} ++ ++/** ++ * @brief convert string to number ++ * ++ * @param s pointer to numbered string ++ * @return converted number from string s ++ */ ++int ++string_to_number(char *s) ++{ ++ int r = 0; ++ int base = 0; ++ int pn = 1; ++ ++ if (strncmp(s, "-", 1) == 0) { ++ pn = -1; ++ s++; ++ } ++ if ((strncmp(s, "0x", 2) == 0) || (strncmp(s, "0X", 2) == 0)) { ++ base = 16; ++ s += 2; ++ } else ++ base = 10; ++ ++ for (s = s; *s != 0; s++) { ++ if ((*s >= '0') && (*s <= '9')) ++ r = (r * base) + (*s - '0'); ++ else if ((*s >= 'A') && (*s <= 'F')) ++ r = (r * base) + (*s - 'A' + 10); ++ else if ((*s >= 'a') && (*s <= 'f')) ++ r = (r * base) + (*s - 'a' + 10); ++ else ++ break; ++ } ++ ++ return (r * pn); ++} ++ ++#endif +diff --git a/drivers/net/wireless/libertas_uap/uap_sdio_mmc.c b/drivers/net/wireless/libertas_uap/uap_sdio_mmc.c +new file mode 100644 +index 0000000..86f55b5 +--- /dev/null ++++ b/drivers/net/wireless/libertas_uap/uap_sdio_mmc.c +@@ -0,0 +1,1428 @@ ++/** @file uap_sdio_mmc.c ++ * @brief This file contains SDIO IF (interface) module ++ * related functions. ++ * ++ * Copyright (C) 2007-2009, Marvell International Ltd. ++ * ++ * This software file (the "File") is distributed by Marvell International ++ * Ltd. under the terms of the GNU General Public License Version 2, June 1991 ++ * (the "License"). You may use, redistribute and/or modify this File in ++ * accordance with the terms and conditions of the License, a copy of which ++ * is available along with the File in the gpl.txt file or by writing to ++ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt. ++ * ++ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ++ * ARE EXPRESSLY DISCLAIMED. The License provides additional details about ++ * this warranty disclaimer. ++ * ++ */ ++/**************************************************** ++Change log: ++****************************************************/ ++ ++#include "uap_sdio_mmc.h" ++ ++#include ++ ++/** define SDIO block size */ ++/* We support up to 480-byte block size due to FW buffer limitation. */ ++#define SD_BLOCK_SIZE 256 ++ ++/** define allocated buffer size */ ++#define ALLOC_BUF_SIZE (((MAX(MRVDRV_ETH_RX_PACKET_BUFFER_SIZE, \ ++ MRVDRV_SIZE_OF_CMD_BUFFER) + INTF_HEADER_LEN \ ++ + SD_BLOCK_SIZE - 1) / SD_BLOCK_SIZE) * SD_BLOCK_SIZE) ++ ++/** Max retry number of CMD53 write */ ++#define MAX_WRITE_IOMEM_RETRY 2 ++ ++/******************************************************** ++ Local Variables ++********************************************************/ ++ ++/** SDIO Rx unit */ ++static u8 sdio_rx_unit = 0; ++ ++/**Interrupt status */ ++static u8 sd_ireg = 0; ++/******************************************************** ++ Global Variables ++********************************************************/ ++extern u8 *helper_name; ++extern u8 *fw_name; ++/** Default helper name */ ++#define DEFAULT_HELPER_NAME "mrvl/helper_sd.bin" ++/** Default firmware name */ ++#define DEFAULT_FW_NAME "mrvl/sd8688_ap.bin" ++ ++/******************************************************** ++ Local Functions ++********************************************************/ ++/** ++ * @brief This function reads the IO register. ++ * ++ * @param priv A pointer to uap_private structure ++ * @param reg register to be read ++ * @param dat A pointer to variable that keeps returned value ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++sbi_read_ioreg(uap_private * priv, u32 reg, u8 * dat) ++{ ++ struct sdio_mmc_card *card; ++ int ret = UAP_STATUS_FAILURE; ++ ++ ENTER(); ++ ++ card = priv->uap_dev.card; ++ if (!card || !card->func) { ++ PRINTM(ERROR, "sbi_read_ioreg(): card or function is NULL!\n"); ++ goto done; ++ } ++ ++ *dat = sdio_readb(card->func, reg, &ret); ++ if (ret) { ++ PRINTM(ERROR, "sbi_read_ioreg(): sdio_readb failed! ret=%d\n", ret); ++ goto done; ++ } ++ ++ PRINTM(INFO, "sbi_read_ioreg() priv=%p func=%d reg=%#x dat=%#x\n", priv, ++ card->func->num, reg, *dat); ++ ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function writes the IO register. ++ * ++ * @param priv A pointer to uap_private structure ++ * @param reg register to be written ++ * @param dat the value to be written ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++sbi_write_ioreg(uap_private * priv, u32 reg, u8 dat) ++{ ++ struct sdio_mmc_card *card; ++ int ret = UAP_STATUS_FAILURE; ++ ++ ENTER(); ++ ++ card = priv->uap_dev.card; ++ if (!card || !card->func) { ++ PRINTM(ERROR, "sbi_write_ioreg(): card or function is NULL!\n"); ++ goto done; ++ } ++ ++ PRINTM(INFO, "sbi_write_ioreg() priv=%p func=%d reg=%#x dat=%#x\n", priv, ++ card->func->num, reg, dat); ++ ++ sdio_writeb(card->func, dat, reg, &ret); ++ if (ret) { ++ PRINTM(ERROR, "sbi_write_ioreg(): sdio_readb failed! ret=%d\n", ret); ++ goto done; ++ } ++ ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function get rx_unit value ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++sd_get_rx_unit(uap_private * priv) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u8 reg; ++ ++ ENTER(); ++ ++ ret = sbi_read_ioreg(priv, CARD_RX_UNIT_REG, ®); ++ if (ret == UAP_STATUS_SUCCESS) ++ sdio_rx_unit = reg; ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function reads rx length ++ * ++ * @param priv A pointer to uap_private structure ++ * @param dat A pointer to keep returned data ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++sd_read_rx_len(uap_private * priv, u16 * dat) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u8 reg; ++ ++ ENTER(); ++ ++ ret = sbi_read_ioreg(priv, CARD_RX_LEN_REG, ®); ++ if (ret == UAP_STATUS_SUCCESS) ++ *dat = (u16) reg << sdio_rx_unit; ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function reads fw status registers ++ * ++ * @param priv A pointer to uap_private structure ++ * @param dat A pointer to keep returned data ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++sd_read_firmware_status(uap_private * priv, u16 * dat) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u8 fws0; ++ u8 fws1; ++ ++ ENTER(); ++ ++ ret = sbi_read_ioreg(priv, CARD_FW_STATUS0_REG, &fws0); ++ if (ret < 0) { ++ LEAVE(); ++ return UAP_STATUS_FAILURE; ++ } ++ ++ ret = sbi_read_ioreg(priv, CARD_FW_STATUS1_REG, &fws1); ++ if (ret < 0) { ++ LEAVE(); ++ return UAP_STATUS_FAILURE; ++ } ++ ++ *dat = (((u16) fws1) << 8) | fws0; ++ ++ LEAVE(); ++ return UAP_STATUS_SUCCESS; ++} ++ ++/** ++ * @brief This function polls the card status register. ++ * ++ * @param priv A pointer to uap_private structure ++ * @param bits the bit mask ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++mv_sdio_poll_card_status(uap_private * priv, u8 bits) ++{ ++ int tries; ++ u8 cs; ++ ++ ENTER(); ++ ++ for (tries = 0; tries < MAX_POLL_TRIES; tries++) { ++ if (sbi_read_ioreg(priv, CARD_STATUS_REG, &cs) < 0) ++ break; ++ else if ((cs & bits) == bits) { ++ LEAVE(); ++ return UAP_STATUS_SUCCESS; ++ } ++ udelay(10); ++ } ++ ++ PRINTM(WARN, "mv_sdio_poll_card_status failed, tries = %d\n", tries); ++ ++ LEAVE(); ++ return UAP_STATUS_FAILURE; ++} ++ ++/** ++ * @brief This function set the sdio bus width. ++ * ++ * @param priv A pointer to uap_private structure ++ * @param mode 1--1 bit mode, 4--4 bit mode ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++#if 0 ++static int ++sdio_set_bus_width(uap_private * priv, u8 mode) ++{ ++ ENTER(); ++ LEAVE(); ++ return UAP_STATUS_SUCCESS; ++} ++#endif ++ ++/** ++ * @brief This function reads data from the card. ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++sd_card_to_host(uap_private * priv) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u16 buf_len = 0; ++ int buf_block_len; ++ int blksz; ++ struct sk_buff *skb = NULL; ++ u16 type; ++ u8 *payload = NULL; ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ ++ ENTER(); ++ ++ if (!card || !card->func) { ++ PRINTM(ERROR, "card or function is NULL!\n"); ++ ret = UAP_STATUS_FAILURE; ++ goto exit; ++ } ++ ++ /* Read the length of data to be transferred */ ++ ret = sd_read_rx_len(priv, &buf_len); ++ if (ret < 0) { ++ PRINTM(ERROR, "card_to_host, read scratch reg failed\n"); ++ ret = UAP_STATUS_FAILURE; ++ goto exit; ++ } ++ ++ /* Allocate buffer */ ++ blksz = SD_BLOCK_SIZE; ++ buf_block_len = (buf_len + blksz - 1) / blksz; ++ if (buf_len <= INTF_HEADER_LEN || (buf_block_len * blksz) > ALLOC_BUF_SIZE) { ++ PRINTM(ERROR, "card_to_host, invalid packet length: %d\n", buf_len); ++ ret = UAP_STATUS_FAILURE; ++ goto exit; ++ } ++#ifdef PXA3XX_DMA_ALIGN ++ skb = dev_alloc_skb(buf_block_len * blksz + PXA3XX_DMA_ALIGNMENT); ++#else ++ skb = dev_alloc_skb(buf_block_len * blksz); ++#endif ++ if (skb == NULL) { ++ PRINTM(WARN, "No free skb\n"); ++ goto exit; ++ } ++#ifdef PXA3XX_DMA_ALIGN ++ if ((u32) skb->data & (PXA3XX_DMA_ALIGNMENT - 1)) { ++ skb_put(skb, (u32) skb->data & (PXA3XX_DMA_ALIGNMENT - 1)); ++ skb_pull(skb, (u32) skb->data & (PXA3XX_DMA_ALIGNMENT - 1)); ++ } ++#endif /* PXA3XX_DMA_ALIGN */ ++ ++ payload = skb->tail; ++ ret = sdio_readsb(card->func, payload, priv->uap_dev.ioport, ++ buf_block_len * blksz); ++ if (ret < 0) { ++ PRINTM(ERROR, "card_to_host, read iomem failed: %d\n", ret); ++ ret = UAP_STATUS_FAILURE; ++ goto exit; ++ } ++ HEXDUMP("SDIO Blk Rd", payload, blksz * buf_block_len); ++ /* ++ * This is SDIO specific header ++ * u16 length, ++ * u16 type (MV_TYPE_DAT = 0, MV_TYPE_CMD = 1, MV_TYPE_EVENT = 3) ++ */ ++ buf_len = uap_le16_to_cpu(*(u16 *) & payload[0]); ++ type = uap_le16_to_cpu(*(u16 *) & payload[2]); ++ switch (type) { ++ case MV_TYPE_EVENT: ++ skb_put(skb, buf_len); ++ skb_pull(skb, INTF_HEADER_LEN); ++ uap_process_event(priv, skb->data, skb->len); ++ kfree_skb(skb); ++ skb = NULL; ++ break; ++ case MV_TYPE_CMD: ++ skb_put(skb, buf_len); ++ skb_pull(skb, INTF_HEADER_LEN); ++ priv->adapter->cmd_pending = FALSE; ++ if (priv->adapter->cmd_wait_option == ++ HostCmd_OPTION_WAITFORRSP_SLEEPCONFIRM) { ++ priv->adapter->cmd_wait_option = FALSE; ++ uap_process_sleep_confirm_resp(priv, skb->data, skb->len); ++ } else if (priv->adapter->cmd_wait_option) { ++ memcpy(priv->adapter->CmdBuf, skb->data, skb->len); ++ priv->adapter->CmdSize = skb->len; ++ priv->adapter->cmd_wait_option = FALSE; ++ priv->adapter->CmdWaitQWoken = TRUE; ++ wake_up_interruptible(&priv->adapter->cmdwait_q); ++ } ++ kfree_skb(skb); ++ skb = NULL; ++ break; ++ case MV_TYPE_DAT: ++ skb_put(skb, buf_len); ++ skb_pull(skb, INTF_HEADER_LEN); ++ uap_process_rx_packet(priv, skb); ++ break; ++ default: ++ priv->stats.rx_errors++; ++ priv->stats.rx_dropped++; ++ /* Driver specified event and command resp should be handle here */ ++ PRINTM(INFO, "Unknown PKT type:%d\n", type); ++ kfree_skb(skb); ++ skb = NULL; ++ break; ++ } ++ exit: ++ if (ret) { ++ if (skb) ++ kfree_skb(skb); ++ } ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function enables the host interrupts mask ++ * ++ * @param priv A pointer to uap_private structure ++ * @param mask the interrupt mask ++ * @return UAP_STATUS_SUCCESS ++ */ ++static int ++enable_host_int_mask(uap_private * priv, u8 mask) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ ++ ENTER(); ++ ++ /* Simply write the mask to the register */ ++ ret = sbi_write_ioreg(priv, HOST_INT_MASK_REG, mask); ++ ++ if (ret) { ++ PRINTM(WARN, "Unable to enable the host interrupt!\n"); ++ ret = UAP_STATUS_FAILURE; ++ } ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** @brief This function disables the host interrupts mask. ++ * ++ * @param priv A pointer to uap_private structure ++ * @param mask the interrupt mask ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++disable_host_int_mask(uap_private * priv, u8 mask) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u8 host_int_mask; ++ ++ ENTER(); ++ ++ /* Read back the host_int_mask register */ ++ ret = sbi_read_ioreg(priv, HOST_INT_MASK_REG, &host_int_mask); ++ if (ret) { ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ ++ /* Update with the mask and write back to the register */ ++ host_int_mask &= ~mask; ++ ret = sbi_write_ioreg(priv, HOST_INT_MASK_REG, host_int_mask); ++ if (ret < 0) { ++ PRINTM(WARN, "Unable to diable the host interrupt!\n"); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/******************************************************** ++ Global Functions ++********************************************************/ ++ ++/** ++ * @brief This function handles the interrupt. ++ * ++ * @param func A pointer to sdio_func structure. ++ * @return n/a ++ */ ++static void ++sbi_interrupt(struct sdio_func *func) ++{ ++ struct sdio_mmc_card *card; ++ uap_private *priv; ++ u8 ireg = 0; ++ int ret = UAP_STATUS_SUCCESS; ++ ++ ENTER(); ++ ++ card = sdio_get_drvdata(func); ++ if (!card || !card->priv) { ++ PRINTM(MSG, "%s: sbi_interrupt(%p) card or priv is NULL, card=%p\n", ++ __FUNCTION__, func, card); ++ LEAVE(); ++ return; ++ } ++ priv = card->priv; ++#ifdef FW_WAKEUP_TIME ++ if ((priv->adapter->wt_pwrup_sending != 0L) && ++ (priv->adapter->wt_int == 0L)) ++ priv->adapter->wt_int = get_utimeofday(); ++#endif ++ ++ ireg = sdio_readb(card->func, HOST_INTSTATUS_REG, &ret); ++ if (ret) { ++ PRINTM(WARN, "sdio_read_ioreg: read int status register failed\n"); ++ goto done; ++ } ++ if (ireg != 0) { ++ /* ++ * DN_LD_HOST_INT_STATUS and/or UP_LD_HOST_INT_STATUS ++ * Clear the interrupt status register and re-enable the interrupt ++ */ ++ PRINTM(INFO, "sdio_ireg = 0x%x\n", ireg); ++ sdio_writeb(card->func, ++ ~(ireg) & (DN_LD_HOST_INT_STATUS | UP_LD_HOST_INT_STATUS), ++ HOST_INTSTATUS_REG, &ret); ++ if (ret) { ++ PRINTM(WARN, ++ "sdio_write_ioreg: clear int status register failed\n"); ++ goto done; ++ } ++ } ++ OS_INT_DISABLE; ++ sd_ireg |= ireg; ++ OS_INT_RESTORE; ++ ++ uap_interrupt(priv); ++ done: ++ LEAVE(); ++} ++ ++/** ++ * @brief This function probe the card ++ * ++ * @param func A pointer to sdio_func structure ++ * @param id A pointer to structure sd_device_id ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++static int ++uap_probe(struct sdio_func *func, const struct sdio_device_id *id) ++{ ++ int ret = UAP_STATUS_FAILURE; ++ struct sdio_mmc_card *card = NULL; ++ ++ ENTER(); ++ ++ PRINTM(MSG, "%s: vendor=0x%4.04X device=0x%4.04X class=%d function=%d\n", ++ __FUNCTION__, func->vendor, func->device, func->class, func->num); ++ ++ card = kzalloc(sizeof(struct sdio_mmc_card), GFP_KERNEL); ++ if (!card) { ++ ret = -ENOMEM; ++ goto done; ++ } ++ ++ card->func = func; ++ ++ if (!uap_add_card(card)) { ++ PRINTM(ERROR, "%s: uap_add_callback failed\n", __FUNCTION__); ++ kfree(card); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ ++ ret = UAP_STATUS_SUCCESS; ++ ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function removes the card ++ * ++ * @param func A pointer to sdio_func structure ++ * @return N/A ++ */ ++static void ++uap_remove(struct sdio_func *func) ++{ ++ struct sdio_mmc_card *card; ++ ++ ENTER(); ++ ++ if (func) { ++ card = sdio_get_drvdata(func); ++ if (card) { ++ uap_remove_card(card); ++ kfree(card); ++ } ++ } ++ ++ LEAVE(); ++} ++ ++#ifdef CONFIG_PM ++/** ++ * @brief This function handles client driver suspend ++ * ++ * @param func A pointer to sdio_func structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++uap_suspend(struct sdio_func *func) ++{ ++ ENTER(); ++ LEAVE(); ++ return 0; ++} ++ ++/** ++ * @brief This function handles client driver resume ++ * ++ * @param func A pointer to sdio_func structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++uap_resume(struct sdio_func *func) ++{ ++ ENTER(); ++ LEAVE(); ++ return 0; ++} ++#endif ++ ++/** Device ID for SD8688 */ ++#define SD_DEVICE_ID_8688_UAP 0x9104 ++/** UAP IDs */ ++static const struct sdio_device_id uap_ids[] = { ++ {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SD_DEVICE_ID_8688_UAP)}, ++ {}, ++}; ++ ++MODULE_DEVICE_TABLE(sdio, uap_ids); ++ ++static struct sdio_driver uap_sdio = { ++ .name = "uap_sdio", ++ .id_table = uap_ids, ++ .probe = uap_probe, ++ .remove = uap_remove, ++#ifdef CONFIG_PM ++/* .suspend = uap_suspend, */ ++/* .resume = uap_resume, */ ++#endif ++ ++}; ++ ++/** ++ * @brief This function registers the IF module in bus driver. ++ * ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int __init ++sbi_register() ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ ++ ENTER(); ++ ++ /* SDIO Driver Registration */ ++ if (sdio_register_driver(&uap_sdio) != 0) { ++ PRINTM(FATAL, "SDIO Driver Registration Failed \n"); ++ ret = UAP_STATUS_FAILURE; ++ } ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function de-registers the IF module in bus driver. ++ * ++ * @return n/a ++ */ ++void __exit ++sbi_unregister(void) ++{ ++ ENTER(); ++ ++ /* SDIO Driver Unregistration */ ++ sdio_unregister_driver(&uap_sdio); ++ ++ LEAVE(); ++} ++ ++/** ++ * @brief This function checks the interrupt status and handle it accordingly. ++ * ++ * @param priv A pointer to uap_private structure ++ * @param ireg A pointer to variable that keeps returned value ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++sbi_get_int_status(uap_private * priv, u8 * ireg) ++{ ++ int ret = UAP_STATUS_SUCCESS; ++ u8 sdio_ireg = 0; ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ ++ ENTER(); ++ ++ *ireg = 0; ++ OS_INT_DISABLE; ++ sdio_ireg = sd_ireg; ++ sd_ireg = 0; ++ OS_INT_RESTORE; ++ ++ sdio_claim_host(card->func); ++ ++ if (sdio_ireg & DN_LD_HOST_INT_STATUS) { /* tx_done INT */ ++ if (!priv->uap_dev.cmd_sent) { /* tx_done already received */ ++ PRINTM(INFO, ++ "warning: tx_done already received: tx_dnld_rdy=0x%x int status=0x%x\n", ++ priv->uap_dev.cmd_sent, sdio_ireg); ++ } else { ++ priv->uap_dev.cmd_sent = FALSE; ++ priv->uap_dev.data_sent = FALSE; ++ if ( (priv->uap_dev.netdev->reg_state == NETREG_REGISTERED) && (skb_queue_len(&priv->adapter->tx_queue) < TX_LOW_WATERMARK)) { ++ os_start_queue(priv); ++ } ++ } ++ } ++ if (sdio_ireg & UP_LD_HOST_INT_STATUS) { ++ sd_card_to_host(priv); ++ } ++ ++ *ireg = sdio_ireg; ++ ret = UAP_STATUS_SUCCESS; ++ sdio_release_host(card->func); ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function disables the host interrupts. ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++sbi_disable_host_int(uap_private * priv) ++{ ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ int ret; ++ ++ ENTER(); ++ ++ sdio_claim_host(card->func); ++ ret = disable_host_int_mask(priv, HIM_DISABLE); ++ sdio_release_host(card->func); ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function enables the host interrupts. ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS ++ */ ++int ++sbi_enable_host_int(uap_private * priv) ++{ ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ int ret; ++ ++ ENTER(); ++ ++ sdio_claim_host(card->func); ++ ret = enable_host_int_mask(priv, HIM_ENABLE); ++ sdio_release_host(card->func); ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function de-registers the device. ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS ++ */ ++int ++sbi_unregister_dev(uap_private * priv) ++{ ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ ++ ENTER(); ++ ++ if (!card || !card->func) { ++ PRINTM(ERROR, "Error: card or function is NULL!\n"); ++ goto done; ++ } ++ ++ sdio_claim_host(card->func); ++ sdio_release_irq(card->func); ++ sdio_disable_func(card->func); ++ sdio_release_host(card->func); ++ ++ sdio_set_drvdata(card->func, NULL); ++ ++ done: ++ LEAVE(); ++ return UAP_STATUS_SUCCESS; ++} ++ ++/** ++ * @brief This function registers the device. ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++sbi_register_dev(uap_private * priv) ++{ ++ int ret = UAP_STATUS_FAILURE; ++ u8 reg; ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ struct sdio_func *func; ++ ++ ENTER(); ++ ++ if (!card || !card->func) { ++ PRINTM(ERROR, "Error: card or function is NULL!\n"); ++ goto done; ++ } ++ ++ func = card->func; ++ ++ /* Initialize the private structure */ ++ priv->uap_dev.ioport = 0; ++ ++ sdio_claim_host(func); ++ ++ ret = sdio_enable_func(func); ++ if (ret) { ++ PRINTM(FATAL, "sdio_enable_func() failed: ret=%d\n", ret); ++ goto release_host; ++ } ++ ++ ret = sdio_claim_irq(func, sbi_interrupt); ++ if (ret) { ++ PRINTM(FATAL, "sdio_claim_irq failed: ret=%d\n", ret); ++ goto disable_func; ++ } ++ ++ /* Read the IO port */ ++ ret = sbi_read_ioreg(priv, IO_PORT_0_REG, ®); ++ if (ret) ++ goto release_irq; ++ else ++ priv->uap_dev.ioport |= reg; ++ ++ ret = sbi_read_ioreg(priv, IO_PORT_1_REG, ®); ++ if (ret) ++ goto release_irq; ++ else ++ priv->uap_dev.ioport |= (reg << 8); ++ ++ ret = sbi_read_ioreg(priv, IO_PORT_2_REG, ®); ++ if (ret) ++ goto release_irq; ++ else ++ priv->uap_dev.ioport |= (reg << 16); ++ ++ PRINTM(INFO, "SDIO FUNC #%d IO port: 0x%x\n", func->num, ++ priv->uap_dev.ioport); ++ ++ ret = sdio_set_block_size(card->func, SD_BLOCK_SIZE); ++ if (ret) { ++ PRINTM(ERROR, "%s: cannot set SDIO block size\n", __FUNCTION__); ++ ret = UAP_STATUS_FAILURE; ++ goto release_irq; ++ } ++ priv->hotplug_device = &func->dev; ++ ++ if (helper_name == NULL) { ++ helper_name = DEFAULT_HELPER_NAME; ++ } ++ if (fw_name == NULL) { ++ fw_name = DEFAULT_FW_NAME; ++ } ++ sdio_release_host(func); ++ ++ sdio_set_drvdata(func, card); ++ ++ ret = UAP_STATUS_SUCCESS; ++ goto done; ++ ++ release_irq: ++ sdio_release_irq(func); ++ disable_func: ++ sdio_disable_func(func); ++ release_host: ++ sdio_release_host(func); ++ ++ done: ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function sends data to the card. ++ * ++ * @param priv A pointer to uap_private structure ++ * @param payload A pointer to the data/cmd buffer ++ * @param nb the length of data/cmd ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++sbi_host_to_card(uap_private * priv, u8 * payload, u16 nb) ++{ ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ int ret = UAP_STATUS_SUCCESS; ++ int buf_block_len; ++ int blksz; ++ int i = 0; ++ u8 *buf = NULL; ++#ifdef PXA3XX_DMA_ALIGN ++ void *tmpbuf = NULL; ++ int tmpbufsz; ++#endif ++ ++ ENTER(); ++ ++ if (!card || !card->func) { ++ PRINTM(ERROR, "card or function is NULL!\n"); ++ LEAVE(); ++ return UAP_STATUS_FAILURE; ++ } ++ buf = payload; ++#ifdef PXA3XX_DMA_ALIGN ++ if ((u32) payload & (PXA3XX_DMA_ALIGNMENT - 1)) { ++ tmpbufsz = ALIGN_SZ(nb, PXA3XX_DMA_ALIGNMENT); ++ tmpbuf = kmalloc(tmpbufsz, GFP_KERNEL); ++ memset(tmpbuf, 0, tmpbufsz); ++ /* Ensure 8-byte aligned CMD buffer */ ++ buf = (u8 *) ALIGN_ADDR(tmpbuf, PXA3XX_DMA_ALIGNMENT); ++ memcpy(buf, payload, nb); ++ } ++#endif ++ /* Allocate buffer and copy payload */ ++ blksz = SD_BLOCK_SIZE; ++ buf_block_len = (nb + blksz - 1) / blksz; ++ sdio_claim_host(card->func); ++#define MAX_WRITE_IOMEM_RETRY 2 ++ priv->uap_dev.cmd_sent = TRUE; ++ priv->uap_dev.data_sent = TRUE; ++ do { ++ /* Transfer data to card */ ++ ret = sdio_writesb(card->func, priv->uap_dev.ioport, buf, ++ buf_block_len * blksz); ++ if (ret < 0) { ++ i++; ++ PRINTM(ERROR, "host_to_card, write iomem (%d) failed: %d\n", i, ++ ret); ++ ret = UAP_STATUS_FAILURE; ++ if (i > MAX_WRITE_IOMEM_RETRY) ++ goto exit; ++ } else { ++ HEXDUMP("SDIO Blk Wr", payload, nb); ++ } ++ } while (ret == UAP_STATUS_FAILURE); ++ exit: ++ sdio_release_host(card->func); ++#ifdef PXA3XX_DMA_ALIGN ++ if (tmpbuf) ++ kfree(tmpbuf); ++#endif ++ if (ret == UAP_STATUS_FAILURE) { ++ priv->uap_dev.cmd_sent = FALSE; ++ priv->uap_dev.data_sent = FALSE; ++ } ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function reads CIS information. ++ * ++ * @param priv A pointer to uap_private structure ++ * @param cisinfo A pointer to CIS information output buffer ++ * @param cislen A pointer to length of CIS info output buffer ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++#if 0 ++static int ++sbi_get_cis_info(uap_private * priv, void *cisinfo, int *cislen) ++{ ++#define CIS_PTR (0x8000) ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ unsigned int i, cis_ptr = CIS_PTR; ++ int ret = UAP_STATUS_FAILURE; ++ ++ ENTER(); ++ ++ if (!card || !card->func) { ++ PRINTM(ERROR, "sbi_get_cis_info(): card or function is NULL!\n"); ++ goto exit; ++ } ++#define MAX_SDIO_CIS_INFO_LEN (256) ++ if (!cisinfo || (*cislen < MAX_SDIO_CIS_INFO_LEN)) { ++ PRINTM(WARN, "ERROR! get_cis_info: insufficient buffer passed\n"); ++ goto exit; ++ } ++ ++ *cislen = MAX_SDIO_CIS_INFO_LEN; ++ ++ sdio_claim_host(card->func); ++ ++ PRINTM(INFO, "cis_ptr=%#x\n", cis_ptr); ++ ++ /* Read the Tuple Data */ ++ for (i = 0; i < *cislen; i++) { ++ ((unsigned char *) cisinfo)[i] = ++ sdio_readb(card->func, cis_ptr + i, &ret); ++ if (ret) { ++ PRINTM(WARN, "get_cis_info error: ret=%d\n", ret); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ PRINTM(INFO, "cisinfo[%d]=%#x\n", i, ((unsigned char *) cisinfo)[i]); ++ } ++ ++ done: ++ sdio_release_host(card->func); ++ exit: ++ LEAVE(); ++ return ret; ++} ++#endif ++/** ++ * @brief This function downloads helper image to the card. ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++sbi_prog_helper(uap_private * priv) ++{ ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ u8 *helper = NULL; ++ int helperlen; ++ int ret = UAP_STATUS_SUCCESS; ++ void *tmphlprbuf = NULL; ++ int tmphlprbufsz; ++ u8 *hlprbuf; ++ int hlprblknow; ++ u32 tx_len; ++#ifdef FW_DOWNLOAD_SPEED ++ u32 tv1, tv2; ++#endif ++ ++ ENTER(); ++ ++ if (!card || !card->func) { ++ PRINTM(ERROR, "sbi_prog_helper(): card or function is NULL!\n"); ++ goto done; ++ } ++ ++ if (priv->fw_helper) { ++ helper = (u8 *) priv->fw_helper->data; ++ helperlen = priv->fw_helper->size; ++ } else { ++ PRINTM(MSG, "No helper image found! Terminating download.\n"); ++ LEAVE(); ++ return UAP_STATUS_FAILURE; ++ } ++ ++ PRINTM(INFO, "Downloading helper image (%d bytes), block size %d bytes\n", ++ helperlen, SD_BLOCK_SIZE); ++ ++#ifdef FW_DOWNLOAD_SPEED ++ tv1 = get_utimeofday(); ++#endif ++ ++#ifdef PXA3XX_DMA_ALIGN ++ tmphlprbufsz = ALIGN_SZ(UAP_UPLD_SIZE, PXA3XX_DMA_ALIGNMENT); ++#else /* !PXA3XX_DMA_ALIGN */ ++ tmphlprbufsz = UAP_UPLD_SIZE; ++#endif /* !PXA3XX_DMA_ALIGN */ ++ tmphlprbuf = kmalloc(tmphlprbufsz, GFP_KERNEL); ++ if (!tmphlprbuf) { ++ PRINTM(ERROR, ++ "Unable to allocate buffer for helper. Terminating download\n"); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ memset(tmphlprbuf, 0, tmphlprbufsz); ++#ifdef PXA3XX_DMA_ALIGN ++ hlprbuf = (u8 *) ALIGN_ADDR(tmphlprbuf, PXA3XX_DMA_ALIGNMENT); ++#else /* !PXA3XX_DMA_ALIGN */ ++ hlprbuf = (u8 *) tmphlprbuf; ++#endif /* !PXA3XX_DMA_ALIGN */ ++ ++ sdio_claim_host(card->func); ++ ++ /* Perform helper data transfer */ ++ tx_len = (FIRMWARE_TRANSFER_NBLOCK * SD_BLOCK_SIZE) - INTF_HEADER_LEN; ++ hlprblknow = 0; ++ do { ++ /* The host polls for the DN_LD_CARD_RDY and CARD_IO_READY bits */ ++ ret = mv_sdio_poll_card_status(priv, CARD_IO_READY | DN_LD_CARD_RDY); ++ if (ret < 0) { ++ PRINTM(FATAL, "Helper download poll status timeout @ %d\n", ++ hlprblknow); ++ goto done; ++ } ++ ++ /* More data? */ ++ if (hlprblknow >= helperlen) ++ break; ++ ++ /* Set blocksize to transfer - checking for last block */ ++ if (helperlen - hlprblknow < tx_len) ++ tx_len = helperlen - hlprblknow; ++ ++ /* Set length to the 4-byte header */ ++ *(u32 *) hlprbuf = uap_cpu_to_le32(tx_len); ++ ++ /* Copy payload to buffer */ ++ memcpy(&hlprbuf[INTF_HEADER_LEN], &helper[hlprblknow], tx_len); ++ ++ PRINTM(INFO, "."); ++ ++ /* Send data */ ++ ret = sdio_writesb(card->func, priv->uap_dev.ioport, ++ hlprbuf, FIRMWARE_TRANSFER_NBLOCK * SD_BLOCK_SIZE); ++ ++ if (ret < 0) { ++ PRINTM(FATAL, "IO error during helper download @ %d\n", hlprblknow); ++ goto done; ++ } ++ ++ hlprblknow += tx_len; ++ } while (TRUE); ++ ++#ifdef FW_DOWNLOAD_SPEED ++ tv2 = get_utimeofday(); ++ PRINTM(INFO, "helper: %ld.%03ld.%03ld ", tv1 / 1000000, ++ (tv1 % 1000000) / 1000, tv1 % 1000); ++ PRINTM(INFO, " -> %ld.%03ld.%03ld ", tv2 / 1000000, (tv2 % 1000000) / 1000, ++ tv2 % 1000); ++ tv2 -= tv1; ++ PRINTM(INFO, " == %ld.%03ld.%03ld\n", tv2 / 1000000, (tv2 % 1000000) / 1000, ++ tv2 % 1000); ++#endif ++ ++ /* Write last EOF data */ ++ PRINTM(INFO, "\nTransferring helper image EOF block\n"); ++ memset(hlprbuf, 0x0, SD_BLOCK_SIZE); ++ ret = sdio_writesb(card->func, priv->uap_dev.ioport, ++ hlprbuf, SD_BLOCK_SIZE); ++ ++ if (ret < 0) { ++ PRINTM(FATAL, "IO error in writing helper image EOF block\n"); ++ goto done; ++ } ++ ++ ret = UAP_STATUS_SUCCESS; ++ ++ done: ++ sdio_release_host(card->func); ++ if (tmphlprbuf) ++ kfree(tmphlprbuf); ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function downloads firmware image to the card. ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++sbi_prog_fw_w_helper(uap_private * priv) ++{ ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ u8 *firmware = NULL; ++ int firmwarelen; ++ u8 base0; ++ u8 base1; ++ int ret = UAP_STATUS_SUCCESS; ++ int offset; ++ void *tmpfwbuf = NULL; ++ int tmpfwbufsz; ++ u8 *fwbuf; ++ u16 len; ++ int txlen = 0; ++ int tx_blocks = 0; ++ int i = 0; ++ int tries = 0; ++#ifdef FW_DOWNLOAD_SPEED ++ u32 tv1, tv2; ++#endif ++ ++ ENTER(); ++ ++ if (!card || !card->func) { ++ PRINTM(ERROR, "sbi_prog_fw_w_helper(): card or function is NULL!\n"); ++ goto done; ++ } ++ ++ if (priv->firmware) { ++ firmware = (u8 *) priv->firmware->data; ++ firmwarelen = priv->firmware->size; ++ } else { ++ PRINTM(MSG, "No firmware image found! Terminating download.\n"); ++ LEAVE(); ++ return UAP_STATUS_FAILURE; ++ } ++ ++ PRINTM(INFO, "Downloading FW image (%d bytes)\n", firmwarelen); ++ ++#ifdef FW_DOWNLOAD_SPEED ++ tv1 = get_utimeofday(); ++#endif ++ ++#ifdef PXA3XX_DMA_ALIGN ++ tmpfwbufsz = ALIGN_SZ(UAP_UPLD_SIZE, PXA3XX_DMA_ALIGNMENT); ++#else /* PXA3XX_DMA_ALIGN */ ++ tmpfwbufsz = UAP_UPLD_SIZE; ++#endif /* PXA3XX_DMA_ALIGN */ ++ tmpfwbuf = kmalloc(tmpfwbufsz, GFP_KERNEL); ++ if (!tmpfwbuf) { ++ PRINTM(ERROR, ++ "Unable to allocate buffer for firmware. Terminating download.\n"); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ memset(tmpfwbuf, 0, tmpfwbufsz); ++#ifdef PXA3XX_DMA_ALIGN ++ /* Ensure 8-byte aligned firmware buffer */ ++ fwbuf = (u8 *) ALIGN_ADDR(tmpfwbuf, PXA3XX_DMA_ALIGNMENT); ++#else /* PXA3XX_DMA_ALIGN */ ++ fwbuf = (u8 *) tmpfwbuf; ++#endif /* PXA3XX_DMA_ALIGN */ ++ ++ sdio_claim_host(card->func); ++ ++ /* Perform firmware data transfer */ ++ offset = 0; ++ do { ++ /* The host polls for the DN_LD_CARD_RDY and CARD_IO_READY bits */ ++ ret = mv_sdio_poll_card_status(priv, CARD_IO_READY | DN_LD_CARD_RDY); ++ if (ret < 0) { ++ PRINTM(FATAL, "FW download with helper poll status timeout @ %d\n", ++ offset); ++ goto done; ++ } ++ ++ /* More data? */ ++ if (offset >= firmwarelen) ++ break; ++ ++ for (tries = 0; tries < MAX_POLL_TRIES; tries++) { ++ if ((ret = sbi_read_ioreg(priv, HOST_F1_RD_BASE_0, &base0)) < 0) { ++ PRINTM(WARN, "Dev BASE0 register read failed:" ++ " base0=0x%04X(%d). Terminating download.\n", base0, ++ base0); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ if ((ret = sbi_read_ioreg(priv, HOST_F1_RD_BASE_1, &base1)) < 0) { ++ PRINTM(WARN, "Dev BASE1 register read failed:" ++ " base1=0x%04X(%d). Terminating download.\n", base1, ++ base1); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ len = (((u16) base1) << 8) | base0; ++ ++ /* For SD8688 wait until the length is not 0, 1 or 2 before ++ downloading the first FW block, since BOOT code writes the ++ register to indicate the helper/FW download winner, the value ++ could be 1 or 2 (Func1 or Func2). */ ++ if ((len && offset) || (len > 2)) ++ break; ++ udelay(10); ++ } ++ ++ if (len == 0) ++ break; ++ else if (len > UAP_UPLD_SIZE) { ++ PRINTM(FATAL, "FW download failure @ %d, invalid length %d\n", ++ offset, len); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ ++ txlen = len; ++ ++ if (len & BIT(0)) { ++ i++; ++ if (i > MAX_WRITE_IOMEM_RETRY) { ++ PRINTM(FATAL, ++ "FW download failure @ %d, over max retry count\n", ++ offset); ++ ret = UAP_STATUS_FAILURE; ++ goto done; ++ } ++ PRINTM(ERROR, "FW CRC error indicated by the helper:" ++ " len = 0x%04X, txlen = %d\n", len, txlen); ++ len &= ~BIT(0); ++ /* Setting this to 0 to resend from same offset */ ++ txlen = 0; ++ } else { ++ i = 0; ++ ++ /* Set blocksize to transfer - checking for last block */ ++ if (firmwarelen - offset < txlen) { ++ txlen = firmwarelen - offset; ++ } ++ PRINTM(INFO, "."); ++ ++ tx_blocks = (txlen + SD_BLOCK_SIZE - 1) / SD_BLOCK_SIZE; ++ ++ /* Copy payload to buffer */ ++ memcpy(fwbuf, &firmware[offset], txlen); ++ } ++ ++ /* Send data */ ++ ret = sdio_writesb(card->func, priv->uap_dev.ioport, ++ fwbuf, tx_blocks * SD_BLOCK_SIZE); ++ ++ if (ret < 0) { ++ PRINTM(ERROR, "FW download, write iomem (%d) failed @ %d\n", i, ++ offset); ++ if (sbi_write_ioreg(priv, CONFIGURATION_REG, 0x04) < 0) { ++ PRINTM(ERROR, "write ioreg failed (CFG)\n"); ++ } ++ } ++ ++ offset += txlen; ++ } while (TRUE); ++ ++ PRINTM(INFO, "\nFW download over, size %d bytes\n", offset); ++ ++ ret = UAP_STATUS_SUCCESS; ++ done: ++#ifdef FW_DOWNLOAD_SPEED ++ tv2 = get_utimeofday(); ++ PRINTM(INFO, "FW: %ld.%03ld.%03ld ", tv1 / 1000000, ++ (tv1 % 1000000) / 1000, tv1 % 1000); ++ PRINTM(INFO, " -> %ld.%03ld.%03ld ", tv2 / 1000000, ++ (tv2 % 1000000) / 1000, tv2 % 1000); ++ tv2 -= tv1; ++ PRINTM(INFO, " == %ld.%03ld.%03ld\n", tv2 / 1000000, ++ (tv2 % 1000000) / 1000, tv2 % 1000); ++#endif ++ sdio_release_host(card->func); ++ if (tmpfwbuf) ++ kfree(tmpfwbuf); ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function checks if the firmware is ready to accept ++ * command or not. ++ * ++ * @param priv A pointer to uap_private structure ++ * @param pollnum Poll number ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++sbi_check_fw_status(uap_private * priv, int pollnum) ++{ ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ int ret = UAP_STATUS_SUCCESS; ++ u16 firmwarestat; ++ int tries; ++ ++ ENTER(); ++ ++ sdio_claim_host(card->func); ++ ++ /* Wait for firmware initialization event */ ++ for (tries = 0; tries < pollnum; tries++) { ++ if ((ret = sd_read_firmware_status(priv, &firmwarestat)) < 0) ++ continue; ++ if (firmwarestat == FIRMWARE_READY) { ++ ret = UAP_STATUS_SUCCESS; ++ break; ++ } else { ++ mdelay(10); ++ ret = UAP_STATUS_FAILURE; ++ } ++ } ++ ++ if (ret < 0) ++ goto done; ++ ++ ret = UAP_STATUS_SUCCESS; ++ sd_get_rx_unit(priv); ++ ++ done: ++ sdio_release_host(card->func); ++ ++ LEAVE(); ++ return ret; ++} ++ ++/** ++ * @brief This function set bus clock on/off ++ * ++ * @param priv A pointer to uap_private structure ++ * @param option TRUE--on , FALSE--off ++ * @return UAP_STATUS_SUCCESS ++ */ ++#if 0 ++static int ++sbi_set_bus_clock(uap_private * priv, u8 option) ++{ ++ ENTER(); ++ LEAVE(); ++ return UAP_STATUS_SUCCESS; ++} ++#endif ++ ++/** ++ * @brief This function wakeup firmware ++ * ++ * @param priv A pointer to uap_private structure ++ * @return UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE ++ */ ++int ++sbi_wakeup_firmware(uap_private * priv) ++{ ++ struct sdio_mmc_card *card = priv->uap_dev.card; ++ int ret = UAP_STATUS_SUCCESS; ++ ++ ENTER(); ++ ++ if (!card || !card->func) { ++ PRINTM(ERROR, "card or function is NULL!\n"); ++ LEAVE(); ++ return UAP_STATUS_FAILURE; ++ } ++ sdio_claim_host(card->func); ++ sdio_writeb(card->func, HOST_POWER_UP, CONFIGURATION_REG, &ret); ++ sdio_release_host(card->func); ++ LEAVE(); ++ return ret; ++} +diff --git a/drivers/net/wireless/libertas_uap/uap_sdio_mmc.h b/drivers/net/wireless/libertas_uap/uap_sdio_mmc.h +new file mode 100644 +index 0000000..191c67f +--- /dev/null ++++ b/drivers/net/wireless/libertas_uap/uap_sdio_mmc.h +@@ -0,0 +1,136 @@ ++/** @file uap_sdio_mmc.h ++ * @brief This file contains SDIO IF (interface) module ++ * related macros, enum, and structure. ++ * ++ * Copyright (C) 2007-2009, Marvell International Ltd. ++ * ++ * This software file (the "File") is distributed by Marvell International ++ * Ltd. under the terms of the GNU General Public License Version 2, June 1991 ++ * (the "License"). You may use, redistribute and/or modify this File in ++ * accordance with the terms and conditions of the License, a copy of which ++ * is available along with the File in the gpl.txt file or by writing to ++ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt. ++ * ++ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ++ * ARE EXPRESSLY DISCLAIMED. The License provides additional details about ++ * this warranty disclaimer. ++ * ++ */ ++/**************************************************** ++Change log: ++ 10/10/07: initial version ++****************************************************/ ++ ++#ifndef _UAP_SDIO_MMC_H ++#define _UAP_SDIO_MMC_H ++ ++#include ++#include ++#include ++#include ++ ++#include "uap_headers.h" ++ ++/** The number of times to try when waiting for downloaded firmware to ++ become active. (polling the scratch register). */ ++#define MAX_FIRMWARE_POLL_TRIES 100 ++ ++/** Firmware ready */ ++#define FIRMWARE_READY 0xfedc ++ ++/** Number of firmware blocks to transfer */ ++#define FIRMWARE_TRANSFER_NBLOCK 2 ++ ++/* Host Control Registers */ ++/** Host Control Registers : I/O port 0 */ ++#define IO_PORT_0_REG 0x00 ++/** Host Control Registers : I/O port 1 */ ++#define IO_PORT_1_REG 0x01 ++/** Host Control Registers : I/O port 2 */ ++#define IO_PORT_2_REG 0x02 ++ ++/** Host Control Registers : Configuration */ ++#define CONFIGURATION_REG 0x03 ++/** Host Control Registers : Host without Command 53 finish host */ ++#define HOST_WO_CMD53_FINISH_HOST (0x1U << 2) ++/** Host Control Registers : Host power up */ ++#define HOST_POWER_UP (0x1U << 1) ++/** Host Control Registers : Host power down */ ++#define HOST_POWER_DOWN (0x1U << 0) ++ ++/** Host Control Registers : Host interrupt mask */ ++#define HOST_INT_MASK_REG 0x04 ++/** Host Control Registers : Upload host interrupt mask */ ++#define UP_LD_HOST_INT_MASK (0x1U) ++/** Host Control Registers : Download host interrupt mask */ ++#define DN_LD_HOST_INT_MASK (0x2U) ++/** Enable Host interrupt mask */ ++#define HIM_ENABLE (UP_LD_HOST_INT_MASK | DN_LD_HOST_INT_MASK) ++/** Disable Host interrupt mask */ ++#define HIM_DISABLE 0xff ++ ++/** Host Control Registers : Host interrupt status */ ++#define HOST_INTSTATUS_REG 0x05 ++/** Host Control Registers : Upload host interrupt status */ ++#define UP_LD_HOST_INT_STATUS (0x1U) ++/** Host Control Registers : Download host interrupt status */ ++#define DN_LD_HOST_INT_STATUS (0x2U) ++ ++/** Host F1 read base 0 */ ++#define HOST_F1_RD_BASE_0 0x10 ++/** Host F1 read base 1 */ ++#define HOST_F1_RD_BASE_1 0x11 ++ ++/** Card Control Registers : Card status register */ ++#define CARD_STATUS_REG 0x20 ++/** Card Control Registers : Card I/O ready */ ++#define CARD_IO_READY (0x1U << 3) ++/** Card Control Registers : CIS card ready */ ++#define CIS_CARD_RDY (0x1U << 2) ++/** Card Control Registers : Upload card ready */ ++#define UP_LD_CARD_RDY (0x1U << 1) ++/** Card Control Registers : Download card ready */ ++#define DN_LD_CARD_RDY (0x1U << 0) ++ ++/** Card Control Registers : Card OCR 0 register */ ++#define CARD_OCR_0_REG 0x34 ++/** Card Control Registers : Card OCR 1 register */ ++#define CARD_OCR_1_REG 0x35 ++ ++/** Firmware status 0 register */ ++#define CARD_FW_STATUS0_REG 0x40 ++/** Firmware status 1 register */ ++#define CARD_FW_STATUS1_REG 0x41 ++/** Rx length register */ ++#define CARD_RX_LEN_REG 0x42 ++/** Rx unit register */ ++#define CARD_RX_UNIT_REG 0x43 ++ ++/** Chip Id Register 0 */ ++#define CARD_CHIP_ID_0_REG 0x801c ++/** Chip Id Register 1 */ ++#define CARD_CHIP_ID_1_REG 0x801d ++ ++#ifdef PXA3XX_DMA_ALIGN ++/** DMA alignment value for PXA3XX platforms */ ++#define PXA3XX_DMA_ALIGNMENT 8 ++/** Macros for Data Alignment : size */ ++#define ALIGN_SZ(p, a) \ ++ (((p) + ((a) - 1)) & ~((a) - 1)) ++ ++/** Macros for Data Alignment : address */ ++#define ALIGN_ADDR(p, a) \ ++ ((((u32)(p)) + (((u32)(a)) - 1)) & ~(((u32)(a)) - 1)) ++#endif /* PXA3XX_DMA_ALIGN */ ++ ++struct sdio_mmc_card ++{ ++ /** sdio_func structure pointer */ ++ struct sdio_func *func; ++ /** uap_private structure pointer */ ++ uap_private *priv; ++}; ++ ++#endif /* _UAP_SDIO_MMC_H */ diff --git a/src/scripts/backupiso b/src/scripts/backupiso index 30616a4a5a..dab1d6dc93 100644 --- a/src/scripts/backupiso +++ b/src/scripts/backupiso @@ -2,8 +2,8 @@ COREVER=$(cat /opt/pakfire/db/core/mine) # FIXME: edit this lines before release -URL="http://download.ipfire.org/releases/ipfire-2.x/2.13-core$COREVER/" -ISO="ipfire-2.13.i586-full-core$COREVER.iso" +URL="http://download.ipfire.org/releases/ipfire-2.x/2.15-core$COREVER/" +ISO="ipfire-2.15.i586-full-core$COREVER.iso" if [ -z $1 ]; then echo usage: $0 backup-file