[%
    fqdns = {};

    BLOCK hardware_name2group;
	use = name.search('^Cisco (?:1[78]\d|836|87)|DSL-Router\b|\bX1200\b') ? 'dsl-rt' :
              name.search('^Cisco WS-C(?:29|31|3524|3548|BS)') ? 'ac-sw' :
              name.search('^HP ProCurve') ? 'ac-sw' :
              name.search('^Cisco (?:C|WS-C(?:6|4))') ? 'core-sw' :
              name.search('^Cisco WS-C3(?:5|7)(?:5|6)0') ? 'ml-sw' :
              name.search('^Cisco (?:WS-F6|37|28|72|76)') ? 'router' :
              name.search('^(?:BTI BP|ghipsystems G|MRV (?:EM|NC)316|ADVA FSP-1500|RAD RICi)') ? 'bridge' :
              name.search('^(?:Cisco AIR-AP|Cisco Aironet|Zyxel G-5|Linksys WRT|Asus WL)') ? 'wlan' :
              name.search('^(?:Alcatel OmniPCX|AudioCodes MP)') ? 'isdn' :
              name.search('^Nokia IP') ? 'fw' :
              name.search('^Juniper\b') ? 'juni' :
              name.search('^Netscreen\b') ? 'ns' :
              name.search('^Foundry') ? 'foundry' :
              name.search('^Bintec Brick') ? 'ras' :
              name.search('^NetApp') ? 'na' :
              name.search('(?:Ecosys FS|LaserJet)') ? 'laserprint' :
              name.search('^(?:HP DesignJet|HP DeskJet|Epson Stylus|Brother DCP)') ? 'inkprint' :
              name.search('^Xerox WorkCentre') ? 'multiprint' :
              name.search('^WuT\b') ? 'wut' :
              name.search('^Infratec\b') ? 'infratec' :
              name.search('^APC\b') ? 'apc' :
              name.search('^AEG Protect') ? 'aegpss' :
              name.search('^AdPoS\b') ? 'adpos' :
              name.search('^Axis\b') ? 'axis' :
              name.search('^Mobotix\b') ? 'mobotix' :
              name.search('^EonStor\b') ? 'storage' :
              name.search('^Open-E\b') ? 'open-e' :
              name.search('Consoleserver') ? 'term' :
              '';
        IF use;
            SET host.fqdn = host.ip UNLESS host.fqdn.defined;
            SET fqdns.$use = [] UNLESS fqdns.$use.size;
            fqdns.$use.push(host.fqdn);
        END;
    END;

    FOREACH host IN hosts;

        # temporär für Aufwärtskompatibilität, s. RT#10032057:
        hardware_name = host.hardware.name or host.hardware;

        INCLUDE hardware_name2group name = hardware_name;
        FOREACH if_host IN host.hardware_interfaces;

            # temporär für Aufwärtskompatibilität, s. RT#10032057:
            hardware_name = if_host.name or if_host.hardware;

            INCLUDE hardware_name2group name = hardware_name;
        END;
    END;

    FOREACH use IN fqdns;
        UNLESS loop.first;
	    "\n";
	END;
-%]
define hostextinfo {
	use		[% use.key %]
	host_name	[% use.value.unique.sort.join(',') %]
}
[%  END -%]
