Disk ARchive
2.4.5
|
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$ 00022 // 00023 /*********************************************************************/ 00024 00025 #ifndef COMMAND_LINE_HPP 00026 #define COMMAND_LINE_HPP 00027 00028 #include <string> 00029 #include <vector> 00030 #include "infinint.hpp" 00031 #include "compressor.hpp" 00032 #include "mask.hpp" 00033 #include "path.hpp" 00034 00035 using namespace std; 00036 00037 enum operation { noop, extract, create, diff, test, listing, isolate }; 00038 // noop stands for no-operation. get_args() never returns such value, 00039 // it is just necessary within the command_line module 00040 00041 extern bool get_args(const char *home, 00042 S_I argc, char *argv[], operation &op, path * &fs_root, 00043 path *&sauv_root, path *&ref_root, 00044 infinint &file_size, infinint &first_file_size, 00045 mask *&selection, mask *&subtree, 00046 string &filename, string *&ref_filename, 00047 bool &allow_over, bool &warn_over, bool &info_details, 00048 compression &algo, U_I & compression_level, 00049 bool &detruire, 00050 bool &pause, bool &beep, 00051 bool & make_empty_dir, bool & only_more_recent, 00052 bool & ea_root, bool & ea_user, 00053 string & input_pipe, string &output_pipe, 00054 bool &ignore_owner, 00055 string & execute, string & execute_ref, 00056 string & pass, string & pass_ref, 00057 mask *&compress_mask, 00058 bool & flat, 00059 infinint & min_compr_size, 00060 bool & nodump); 00061 00062 #endif