#! /usr/bin/perl
# Copyright (c) 2007, 2008, 2009, 2010 Zmanda, Inc.  All Rights Reserved.
# 
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 as published 
# by the Free Software Foundation.
# 
# 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, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
# 
# Contact information: Zmanda Inc., 465 S. Mathilda Ave., Suite 300
# Sunnyvale, CA 94086, USA, or: http://www.zmanda.com

use lib '/usr/lib/amanda/perl';
use strict;
use warnings;

use File::Basename;
use Getopt::Long;
use IPC::Open3;
use Symbol;

use Amanda::Device qw( :constants );
use Amanda::Debug qw( :logging );
use Amanda::Config qw( :init :getconf config_dir_relative );
use Amanda::Tapelist;
use Amanda::Logfile;
use Amanda::Util qw( :constants );
use Amanda::Changer;
use Amanda::Recovery::Clerk;
use Amanda::Recovery::Scan;
use Amanda::Recovery::Planner;
use Amanda::Constants;
use Amanda::DB::Catalog;
use Amanda::Cmdline;
use Amanda::MainLoop;
use Amanda::Xfer qw( :constants );

sub usage {
    print <<EOF;
USAGE:	amcheckdump [ --timestamp|-t timestamp ] [-o configoption]* <conf>
    amcheckdump validates Amanda dump images by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by read'@  ages by re