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

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

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

	line_printer;

	my $hdr;
	my $vrf = Dbase::IP->new($VRF_PREFIX)->bitmask(32);
	DoSelect {
		my($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    ID Name
END
		printf $Db::pr_fh "%5d %5d %s\n", $w, $id, $name
		  or goto out;
	} <<_1 . ($id?"    kunde = $id AND    ":'') . <<_2
	SELECT   id, vrf, ip6, bits FROM     ipkunde WHERE
_1
vrf IS NOT NULL ORDER BY ip6
_2
		or print "(leer)\n";
out:
	undef;
}

1;
