![]() |
Disk ARchive
2.5.1
Full featured and portable backup and archiving tool
|
command-line interface More...
Files | |
file | command_line.hpp |
contains routing in charge of the command-line and included files parsing | |
file | config_file.hpp |
specific routines to manages included files's targets | |
file | crit_action_cmd_line.hpp |
contains routines to convert command-line overwriting criterium to their crit_action counterparts | |
file | dar.hpp |
main module for dar command-line tool | |
file | dar_suite.hpp |
contains routine to manage CLI's common initialization and ultimate exception catching | |
file | getopt_decision.h |
switch routine to define which file to include based on the result of the configure script | |
file | hide_file.hpp |
contains class of base to split files in words | |
file | line_tools.hpp |
a set of general command line targeted routines | |
file | my_getopt_long.h |
may lead to the definition of getopt_long to solve declaration conflicts in <unistd.h> and <getopt.h> | |
file | no_comment.hpp |
contains class that transparently strips out the comments from configuration file | |
file | shell_interaction.hpp |
user_interaction class for command_line tools | |
Enumerations | |
enum | operation { noop, extract, create, diff, test, listing, isolate, merging, version_or_help } |
enum | dirty_behavior { dirtyb_ignore, dirtyb_warn, dirtyb_ok } |
Functions | |
bool | get_args (shell_interaction &dialog, const char *home, const vector< string > &dar_dcf_path, const vector< string > &dar_duc_path, S_I argc, char *const argv[], line_param ¶m) |
main routine to extract parameters from command-line and included files | |
std::string | crit_action_canonize_string (const std::string &argument) |
canonizes a criterium description string More... | |
const libdar::crit_action * | crit_action_create_from_string (libdar::user_interaction &dialog, const std::string &argument, const libdar::infinint &hourshift) |
creates a criterium object as defined by the command line's given string More... | |
const char * | dar_version () |
void | dar_suite_reset_signal_handler () |
int | dar_suite_global (int argc, char *const argv[], const char **env, const char *getopt_string, char stop_scan, int(*call)(shell_interaction &dialog, int, char *const [], const char **env)) |
std::string | dar_suite_command_line_features () |
void | line_tools_slice_ownership (const std::string &cmd, std::string &slice_permission, std::string &slice_user_ownership, std::string &slice_group_ownership) |
void | line_tools_repeat_param (const std::string &cmd, infinint &repeat_count, infinint &repeat_byte) |
void | line_tools_tlv_list2argv (user_interaction &dialog, tlv_list &list, argc_argv &arg) |
S_I | line_tools_reset_getopt () |
returns the old position of parsing (next argument to parse) | |
std::string::const_iterator | line_tools_find_first_char_out_of_parenth (const std::string &argument, unsigned char to_find) |
std::string::const_iterator | line_tools_find_last_char_out_of_parenth (const std::string &argument, unsigned char to_find) |
std::string | line_tools_expand_user_comment (const std::string &user_comment, S_I argc, char *const argv[]) |
std::vector< std::string > | line_tools_explode_PATH (const char *the_path) |
split a PATH environement variable string into its components (/usr/lib:/lib => /usr/lib /lib) | |
std::string | line_tools_get_full_path_from_PATH (const std::vector< std::string > &the_path, const char *filename) |
return the full path of the given filename (eventually unchanged of pointing to the first file of that name present in the_path directories | |
void | line_tools_split_at_first_space (const char *field, std::string &before_space, std::string &after_space) |
return split at the first space met the string given as first argument, and provide the two splitted string as second and third argument | |
void | line_tools_get_min_digits (std::string arg, infinint &num, infinint &ref_num, infinint &aux_num) |
void | line_tools_look_for (const std::vector< char > &arguments, S_I argc, char *const argv[], const char *getopt_string, char stop_scan, std::vector< char > &presence) |
void | line_tools_look_for_Q (S_I argc, char *const argv[], const char *getopt_string, char stop_scan, bool &Q_is_present) |
std::vector< std::string > | line_tools_split (const std::string &val, char sep) |
split a line in words given the separator character (sep) | |
void | line_tools_4_4_build_compatible_overwriting_policy (bool allow_over, bool detruire, bool more_recent, const libdar::infinint &hourshift, bool ea_erase, const libdar::crit_action *&overwrite) |
void | line_tools_crypto_split_algo_pass (const secu_string &all, crypto_algo &algo, secu_string &pass, bool &no_cipher_given, std::vector< std::string > &recipients) |
void | line_tools_display_signatories (user_interaction &ui, const std::list< signator > &gnupg_signed) |
display information about the signatories | |
command-line interface
this module contains all the command-line specific routines, classes and datastructures. The intention of documenting that part is for illustration and example of libdar usage.
std::string crit_action_canonize_string | ( | const std::string & | argument | ) |
canonizes a criterium description string
[in] | argument | is a not canonized criterium description string |
const libdar::crit_action* crit_action_create_from_string | ( | libdar::user_interaction & | dialog, |
const std::string & | argument, | ||
const libdar::infinint & | hourshift | ||
) |
creates a criterium object as defined by the command line's given string
[in] | dialog | for user interaction |
[in] | argument | is a canonized criterium argument |
[in] | hourshift | the hourshift used to compare dates "more recent than" |
int dar_suite_global | ( | int | argc, |
char *const | argv[], | ||
const char ** | env, | ||
const char * | getopt_string, | ||
char | stop_scan, | ||
int(*)(shell_interaction &dialog, int, char *const [], const char **env) | call | ||
) |
common routine for all dar command-line tools to initialize environment and convert uncaught exceptions to exit status code
[in] | argc | is the number of argument on the command line |
[in] | argv | is the list of arguments on the command line |
[in] | env | is the environment variables table obtained from main() |
[in] | getopt_string | is the parsing string to pass to getopt |
[in] | stop_scan | while looking early for -j and -Q option will ignore all that follows stop_scan option if met |
[in] | call | is a callback function to run once user interaction is initialized and to catch from the exceptions |
void line_tools_crypto_split_algo_pass | ( | const secu_string & | all, |
crypto_algo & | algo, | ||
secu_string & | pass, | ||
bool & | no_cipher_given, | ||
std::vector< std::string > & | recipients | ||
) |
split the argument to -K, -J and -$ in their different parts
[in] | all | is what the user provided on command-line |
[out] | algo | is the symmetrical algorithm to use |
[out] | pass | is either the passphrase |
[out] | no_cipher_given | is true if the use did not specified the cipher (which defaults to blowfish) |
[out] | recipients | emails recipients to use (empty list if gnupg has not to be used) |
void line_tools_look_for | ( | const std::vector< char > & | arguments, |
S_I | argc, | ||
char *const | argv[], | ||
const char * | getopt_string, | ||
char | stop_scan, | ||
std::vector< char > & | presence | ||
) |
test the presence of a set of argument on the command line
[in] | arguments | is the list of options to look for |
[in] | argc | is the number of argument on the command line |
[in] | argv | is the list of arguments on the command line |
[in] | getopt_string | is the parsing string to pass to getopt |
[in] | stop_scan | if this (char) option is met, stop scanning for wanted options |
[out] | presence | is a subset of arguments containing the option found on command-line |
void line_tools_look_for_Q | ( | S_I | argc, |
char *const | argv[], | ||
const char * | getopt_string, | ||
char | stop_scan, | ||
bool & | Q_is_present | ||
) |
test the presence of -Q and -j options on the command line
[in] | argc | is the number of argument on the command line |
[in] | argv | is the list of arguments on the command line |
[in] | getopt_string | is the parsing string to pass to getopt |
[in] | stop_scan | if this (char) option is met, stop scanning for -j and -Q options |
[out] | Q_is_present | is set to true if -Q option or its equivalent long option has been found on command-line |