use utf8;
use warnings; no warnings "redefine";
use strict;

use Cf qw($VRF_PREFIX);
use Dbase::Globals qw(content get_gruppen timerange
	get_descr name_kunde);
use Dbase::Help qw(DoSelect);
use Loader qw(line_printer);
use Dbase::IP;
use Fehler qw(problem);

sub list_vrfss() {
	my($id) = @_;

	line_printer;

	my $hdr;
	my $vrf = Dbase::IP->new($VRF_PREFIX)->bitmask(32);
	DoSelect {
		my($kid,$id,$name,$ip,$bits) = @_;
		$ip = Dbase::IP->new_db($ip,$bits);
		return problem "Eintrag #$id ($ip) hat die falsche Breite"
			if $ip->masklen != 96;
		my $w = $ip-$vrf;

		print $Db::pr_fh <<END unless $hdr++;
  VRF Kunde           Name
END
		printf $Db::pr_fh "%5d %-15s %s\n", $w, name_kunde($kid), $name
		  or goto out;
	} <<_
	SELECT kunde, id, vrf, ip6, bits FROM ipkunde WHERE vrf IS NOT NULL ORDER BY ip6
_
		or print "(leer)\n";
out:
	undef;
}

1;
