command_line.hpp

00001 /*********************************************************************/
00002 // dar - disk archive - a backup/restoration program
00003 // Copyright (C) 2002-2052 Denis Corbin
00004 //
00005 // This program is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU General Public License
00007 // as published by the Free Software Foundation; either version 2
00008 // of the License, or (at your option) any later version.
00009 //
00010 // This program is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with this program; if not, write to the Free Software
00017 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00018 //
00019 // to contact the author : dar.linux@free.fr
00020 /*********************************************************************/
00021 // $Id: command_line.hpp,v 1.24 2005/12/13 20:54:45 edrusb Rel $
00022 //
00023 /*********************************************************************/
00024 
00025 #ifndef COMMAND_LINE_HPP
00026 #define COMMAND_LINE_HPP
00027 
00028 #include "../my_config.h"
00029 #include <string>
00030 #include <vector>
00031 #include "infinint.hpp"
00032 #include "compressor.hpp"
00033 #include "mask.hpp"
00034 #include "path.hpp"
00035 #include "catalogue.hpp"
00036 #include "archive.hpp"
00037 
00038 using namespace std;
00039 using namespace libdar;
00040 
00041 enum operation { noop, extract, create, diff, test, listing, isolate, merging };
00042     // noop stands for no-operation. get_args() never returns such value,
00043     // it is just necessary within the command_line module
00044 
00045 extern bool get_args(user_interaction & dialog,
00046                      const char *home,
00047                      S_I argc, char *argv[], operation & op, path * & fs_root,
00048                      path * & sauv_root, path * & ref_root,
00049                      infinint & file_size, infinint & first_file_size,
00050                      mask * & selection, mask * & subtree,
00051                      string & filename, string * & ref_filename,
00052                      bool & allow_over, bool & warn_over, bool & info_details,
00053                      compression & algo, U_I & compression_level,
00054                      bool & detruire,
00055                      infinint & pause,
00056                      bool & beep,
00057                      bool & make_empty_dir, bool & only_more_recent,
00058                      mask * & ea_mask,
00059                      string & input_pipe, string & output_pipe,
00060                      inode::comparison_fields & what_to_check,
00061                      string & execute, string & execute_ref,
00062                      string & pass, string & pass_ref,
00063                      mask * & compress_mask,
00064                      bool & flat,
00065                      infinint & min_compr_size,
00066                      bool & nodump,
00067                      infinint & hourshift,
00068                      bool & warn_remove_no_match,
00069                      string & alteration,
00070                      bool & empty,
00071                      path * & on_fly_root,
00072                      string * & on_fly_filename,
00073                      bool & alter_atime,
00074                      bool & same_fs,
00075                      bool & snapshot,
00076                      bool & cache_directory_tagging,
00077                      U_32 & crypto_size,
00078                      U_32 & crypto_size_ref,
00079                      bool & ea_erase,
00080                      bool & display_skipped,
00081                      archive::listformat & list_mode,
00082                      path * & aux_root,
00083                      string * & aux_filename,
00084                      string & aux_pass,
00085                      string & aux_execute,
00086                      U_32 & aux_crypto_size,
00087                      bool & keep_compressed,
00088                      infinint & fixed_date);
00089 
00090 
00091 #endif

Generated on Wed Jul 2 12:57:56 2008 for Disk ARchive by  doxygen 1.5.6