Disk ARchive 2.3.12
|
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.2.1 2009/04/06 20:23:19 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 bool & quiet); 00090 00091 00092 #endif