Classes | |
class | libdar::archive |
the archive class realizes the most general operations on archives More... | |
class | libdar::database |
the database class defines the dar_manager database More... | |
class | libdar::Egeneric |
this is the parent class of all exception classes. More... | |
class | libdar::Ememory |
exception used when memory has been exhausted More... | |
class | libdar::Ebug |
exception used to signal a bug. A bug is triggered when reaching some code that should never be reached More... | |
class | libdar::Einfinint |
exception used when arithmetic error is detected when operating on infinint More... | |
class | libdar::Elimitint |
exception used when a limitint overflow is detected, the maximum value of the limitint has been exceeded More... | |
class | libdar::Erange |
exception used to signal range error More... | |
class | libdar::Edeci |
exception used to signal convertion problem between infinint and string (decimal representation) More... | |
class | libdar::Efeature |
exception used when a requested feature is not (yet) implemented More... | |
class | libdar::Ehardware |
exception used when hardware problem is found More... | |
class | libdar::Euser_abort |
exception used to signal that the user has aborted the operation More... | |
class | libdar::Edata |
exception used when an error concerning the treated data has been met More... | |
class | libdar::Escript |
exception used when error the inter-slice user command returned an error code More... | |
class | libdar::Elibcall |
exception used to signal an error in the argument given to libdar call of the API More... | |
class | libdar::Ecompilation |
exception used when a requested fearture has not beed activated at compilation time More... | |
class | libdar::Ethread_cancel |
exception used when the thread libdar is running in is asked to stop More... | |
class | libdar::mask |
the generic class, parent of all masks More... | |
class | libdar::bool_mask |
it matches all files or no files at all More... | |
class | libdar::simple_mask |
matches as done on shell command lines (see "man 7 glob") More... | |
class | libdar::regular_mask |
matches regular expressions (see "man 7 regex") More... | |
class | libdar::not_mask |
negation of another mask More... | |
class | libdar::et_mask |
makes an *AND* operator between two or more masks More... | |
class | libdar::ou_mask |
makes the *OR* operator between two or more masks More... | |
class | libdar::simple_path_mask |
string matches if it is subdir of mask or mask is a subdir of expression More... | |
class | libdar::same_path_mask |
matches if string is exactly the given mask (no wilde card expression) More... | |
class | libdar::exclude_dir_mask |
matches if string is the given string or a sub directory of it More... | |
class | libdar::mask_list |
the mask_list class, matches string that are present in a given file More... | |
class | libdar::path |
the class path is here to manipulate paths in the Unix notation: using'/' More... | |
class | libdar::statistics |
class | libdar::user_interaction |
This is a pure virtual class that is used by libdar when interaction with the user is required. More... | |
class | libdar::user_interaction_callback |
full implemented class for user_interaction based on callback functions. More... | |
Defines | |
#define | SRC_BUG Ebug(__FILE__, __LINE__) |
#define | XMT_BUG(exception, call) exception.stack(call, __FILE__, __LINE__) |
#define | LIBDAR_XXXXXXXX |
The following macro are used in the "exception" argument of the *_noexcept() functions. | |
#define | LIBDAR_NOEXCEPT 0 |
normal return no exception has been thrown | |
#define | LIBDAR_EMEMORY 1 |
memory has been exhausted | |
#define | LIBDAR_EBUG 2 |
internal bug error. | |
#define | LIBDAR_EINFININT 3 |
division by zero or other arithmetic error | |
#define | LIBDAR_ELIMITINT 4 |
limitint overflow | |
#define | LIBDAR_ERANGE 5 |
range error | |
#define | LIBDAR_EDECI 6 |
decimal representation error | |
#define | LIBDAR_EFEATURE 7 |
feature not (yet) implemented | |
#define | LIBDAR_EHARDWARE 8 |
hardware failure | |
#define | LIBDAR_EUSER_ABORT 9 |
user has aborted the operation | |
#define | LIBDAR_EDATA 10 |
data inconsistency, error concerning the treated data | |
#define | LIBDAR_ESCRIPT 11 |
inter slice script failure | |
#define | LIBDAR_ELIBCALL 12 |
libdar invalid call (wrong argument given to call, etc.) | |
#define | LIBDAR_UNKNOWN 13 |
unknown error | |
#define | LIBDAR_ECOMPILATION 14 |
feature not activated at compilation time | |
#define | LIBDAR_THREAD_CANCEL 15 |
thread cancellation has been requested | |
Enumerations | |
enum | libdar::compression { libdar::none = 'n', libdar::zip = 'p', libdar::gzip = 'z', libdar::bzip2 = 'y' } |
the different compression algorithm available More... | |
enum | libdar::crypto_algo { libdar::crypto_none, libdar::crypto_scrambling, libdar::crypto_blowfish } |
the different cypher available for encryption (strong or weak) More... | |
Functions | |
void | libdar::get_version (U_I &major, U_I &medium, U_I &minor) |
return the libdar version, and make libdar initialization (may throw Exceptions) | |
void | libdar::get_version_noexcept (U_I &major, U_I &medium, U_I &minor, U_16 &exception, std::string &except_msg) |
return the libdar version, and make libdar initialization (does not throw exceptions) | |
void | libdar::get_compile_time_features (bool &ea, bool &largefile, bool &nodump, bool &special_alloc, U_I &bits, bool &thread_safe, bool &libz, bool &libbz2, bool &libcrypto) |
return the options activated that have been activated at compilation time | |
archive * | libdar::open_archive_noexcept (user_interaction &dialog, const path &chem, const std::string &basename, const std::string &extension, crypto_algo crypto, const std::string &pass, U_32 crypto_size, const std::string &input_pipe, const std::string &output_pipe, const std::string &execute, bool info_details, U_16 &exception, std::string &except_msg) |
this is a wrapper around the archive constructor known as the "read" constructor | |
archive * | libdar::create_archive_noexcept (user_interaction &dialog, const path &fs_root, const path &sauv_path, archive *ref_arch, const mask &selection, const mask &subtree, const std::string &filename, const std::string &extension, bool allow_over, bool warn_over, bool info_details, const infinint &pause, bool empty_dir, compression algo, U_I compression_level, const infinint &file_size, const infinint &first_file_size, const mask &ea_mask, const std::string &execute, crypto_algo crypto, const std::string &pass, U_32 crypto_size, const mask &compr_mask, const infinint &min_compr_size, bool nodump, inode::comparison_fields what_to_check, const infinint &hourshift, bool empty, bool alter_atime, bool same_fs, bool snapshot, bool cache_directory_tagging, bool display_skipped, const infinint &fixed_date, statistics *progressive_report, U_16 &exception, std::string &except_msg) |
this is a wrapper around the archive constructor known as the "create" constructor | |
archive * | libdar::isolate_archive_noexcept (user_interaction &dialog, const path &sauv_path, archive *ref_arch, const std::string &filename, const std::string &extension, bool allow_over, bool warn_over, bool info_details, const infinint &pause, compression algo, U_I compression_level, const infinint &file_size, const infinint &first_file_size, const std::string &execute, crypto_algo crypto, const std::string &pass, U_32 crypto_size, bool empty, U_16 &exception, std::string &except_msg) |
this is a wrapper around the archive constructor known as the "isolate" constructor | |
archive * | libdar::merge_archive_noexcept (user_interaction &dialog, const path &sauv_path, archive *ref_arch1, archive *ref_arch2, const mask &selection, const mask &subtree, const std::string &filename, const std::string &extension, bool allow_over, bool warn_over, bool info_details, const infinint &pause, bool empty_dir, compression algo, U_I compression_level, const infinint &file_size, const infinint &first_file_size, const mask &ea_mask, const std::string &execute, crypto_algo crypto, const std::string &pass, U_32 crypto_size, const mask &compr_mask, const infinint &min_compr_size, bool empty, bool display_skipped, bool keep_compressed, statistics *progressive_report, U_16 &exception, std::string &except_msg) |
this is a wrapper around the archive constructor known as the "merging" constructor | |
void | libdar::close_archive_noexcept (archive *ptr, U_16 &exception, std::string &except_msg) |
this is wrapper around the archive destructor | |
statistics | libdar::op_extract_noexcept (user_interaction &dialog, archive *ptr, const path &fs_root, const mask &selection, const mask &subtree, bool allow_over, bool warn_over, bool info_details, bool detruire, bool only_more_recent, const mask &ea_mask, bool flat, inode::comparison_fields what_to_check, bool warn_remove_no_match, const infinint &hourshift, bool empty, bool ea_erase, bool display_skipped, statistics *progressive_report, U_16 &exception, std::string &except_msg) |
this is wrapper around the op_extract method | |
void | libdar::op_listing_noexcept (user_interaction &dialog, archive *ptr, bool info_details, archive::listformat list_mode, const mask &selection, bool filter_unsaved, U_16 &exception, std::string &except_msg) |
this is wrapper around the op_listing method | |
statistics | libdar::op_diff_noexcept (user_interaction &dialog, archive *ptr, const path &fs_root, const mask &selection, const mask &subtree, bool info_details, const mask &ea_mask, inode::comparison_fields what_to_check, bool alter_atime, bool display_skipped, statistics *progressive_report, U_16 &exception, std::string &except_msg) |
this is wrapper around the op_diff method | |
statistics | libdar::op_test_noexcept (user_interaction &dialog, archive *ptr, const mask &selection, const mask &subtree, bool info_details, bool display_skipped, statistics *progressive_report, U_16 &exception, std::string &except_msg) |
this is wrapper around the op_test method | |
bool | libdar::get_children_of_noexcept (user_interaction &dialog, archive *ptr, const std::string &dir, U_16 &exception, std::string &except_msg) |
this is wrapper around the get_children_of method | |
char * | libdar::libdar_str2charptr_noexcept (const std::string &x, U_16 &exception, std::string &except_msg) |
routine provided to convert std::string to char * | |
Variables | |
const U_I | libdar::LIBDAR_COMPILE_TIME_MAJOR = 4 |
libdar Major version defined at compilation time | |
const U_I | libdar::LIBDAR_COMPILE_TIME_MEDIUM = 0 |
libdar Medium version defined at compilation time | |
const U_I | libdar::LIBDAR_COMPILE_TIME_MINOR = 1 |
libdar Minor version defined at compilation time |
This gather all symbols that may be accessed from an external program. Other symbols are not as much documented, and may change or be removed without any warning or backward compatibility. So only use the function, macro, types defined as member of the API in you external programs.
enum libdar::compression |
the different compression algorithm available
values to be used as argument of libdar API calls
none | no compression |
zip | zip compression (not implemented) |
gzip | gzip compression |
bzip2 | bzip2 compression |
Definition at line 44 of file compressor.hpp.
enum libdar::crypto_algo |
the different cypher available for encryption (strong or weak)
values to be used as argument of libdar API calls
crypto_none | no encryption |
crypto_scrambling | scrambling weak encryption |
crypto_blowfish | blowfish strong encryption |
Definition at line 51 of file crypto.hpp.
void libdar::close_archive_noexcept | ( | archive * | ptr, | |
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
this is wrapper around the archive destructor
check the archive class for details for an explaination of the two extra arguments exception and except_msg check the get_version_noexcept function
archive* libdar::create_archive_noexcept | ( | user_interaction & | dialog, | |
const path & | fs_root, | |||
const path & | sauv_path, | |||
archive * | ref_arch, | |||
const mask & | selection, | |||
const mask & | subtree, | |||
const std::string & | filename, | |||
const std::string & | extension, | |||
bool | allow_over, | |||
bool | warn_over, | |||
bool | info_details, | |||
const infinint & | pause, | |||
bool | empty_dir, | |||
compression | algo, | |||
U_I | compression_level, | |||
const infinint & | file_size, | |||
const infinint & | first_file_size, | |||
const mask & | ea_mask, | |||
const std::string & | execute, | |||
crypto_algo | crypto, | |||
const std::string & | pass, | |||
U_32 | crypto_size, | |||
const mask & | compr_mask, | |||
const infinint & | min_compr_size, | |||
bool | nodump, | |||
inode::comparison_fields | what_to_check, | |||
const infinint & | hourshift, | |||
bool | empty, | |||
bool | alter_atime, | |||
bool | same_fs, | |||
bool | snapshot, | |||
bool | cache_directory_tagging, | |||
bool | display_skipped, | |||
const infinint & | fixed_date, | |||
statistics * | progressive_report, | |||
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
this is a wrapper around the archive constructor known as the "create" constructor
check the archive class for details for an explaination of the two extra arguments exception and except_msg check the get_version_noexcept function
bool libdar::get_children_of_noexcept | ( | user_interaction & | dialog, | |
archive * | ptr, | |||
const std::string & | dir, | |||
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
this is wrapper around the get_children_of method
check the archive class for details for an explaination of the two extra arguments exception and except_msg check the get_version_noexcept function
void libdar::get_compile_time_features | ( | bool & | ea, | |
bool & | largefile, | |||
bool & | nodump, | |||
bool & | special_alloc, | |||
U_I & | bits, | |||
bool & | thread_safe, | |||
bool & | libz, | |||
bool & | libbz2, | |||
bool & | libcrypto | |||
) |
return the options activated that have been activated at compilation time
[out] | ea | whether Extended Attribute support is available |
[out] | largefile | whether large file support is available |
[out] | nodump | whether the nodump feature is available |
[out] | special_alloc | whether special allocation is activated |
[out] | bits | the internal integer type used |
[out] | thread_safe | whether thread safe support is available |
[out] | libz | whether gzip compression is available |
[out] | libbz2 | whether bz2 compression is available |
[out] | libcrypto | whether strong encryption is available |
void libdar::get_version | ( | U_I & | major, | |
U_I & | medium, | |||
U_I & | minor | |||
) |
return the libdar version, and make libdar initialization (may throw Exceptions)
It is mandatory to call this function (or another one of the get_version* family)
[out] | major | the major number of the version |
[out] | medium | the medium number of the version |
[out] | minor | the minor number of the version |
void libdar::get_version_noexcept | ( | U_I & | major, | |
U_I & | medium, | |||
U_I & | minor, | |||
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
return the libdar version, and make libdar initialization (does not throw exceptions)
It is mandatory to call this function (or another one of the get_version* family)
[out] | major | the major number of the version |
[out] | medium | the medium number of the version |
[out] | minor | the minor number of the version |
[out] | exception | is to be compared with the LIBDAR_* macro to know whether the call succeeded |
[out] | except_msg | in case exception is not equal to LIBDAR_NOEXCEPT this argument contains a human readable explaination of the error met. |
archive* libdar::isolate_archive_noexcept | ( | user_interaction & | dialog, | |
const path & | sauv_path, | |||
archive * | ref_arch, | |||
const std::string & | filename, | |||
const std::string & | extension, | |||
bool | allow_over, | |||
bool | warn_over, | |||
bool | info_details, | |||
const infinint & | pause, | |||
compression | algo, | |||
U_I | compression_level, | |||
const infinint & | file_size, | |||
const infinint & | first_file_size, | |||
const std::string & | execute, | |||
crypto_algo | crypto, | |||
const std::string & | pass, | |||
U_32 | crypto_size, | |||
bool | empty, | |||
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
this is a wrapper around the archive constructor known as the "isolate" constructor
check the archive class for details for an explaination of the two extra arguments exception and except_msg check the get_version_noexcept function
char* libdar::libdar_str2charptr_noexcept | ( | const std::string & | x, | |
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
routine provided to convert std::string to char *
[in] | x | the string to convert |
[out] | exception | the return status of the call |
[out] | except_msg | the message taken from the caught exception in case of error for an explaination of the two last arguments exception and except_msg check the get_version_noexcept function |
NULL in case of error
archive* libdar::merge_archive_noexcept | ( | user_interaction & | dialog, | |
const path & | sauv_path, | |||
archive * | ref_arch1, | |||
archive * | ref_arch2, | |||
const mask & | selection, | |||
const mask & | subtree, | |||
const std::string & | filename, | |||
const std::string & | extension, | |||
bool | allow_over, | |||
bool | warn_over, | |||
bool | info_details, | |||
const infinint & | pause, | |||
bool | empty_dir, | |||
compression | algo, | |||
U_I | compression_level, | |||
const infinint & | file_size, | |||
const infinint & | first_file_size, | |||
const mask & | ea_mask, | |||
const std::string & | execute, | |||
crypto_algo | crypto, | |||
const std::string & | pass, | |||
U_32 | crypto_size, | |||
const mask & | compr_mask, | |||
const infinint & | min_compr_size, | |||
bool | empty, | |||
bool | display_skipped, | |||
bool | keep_compressed, | |||
statistics * | progressive_report, | |||
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
this is a wrapper around the archive constructor known as the "merging" constructor
check the archive class for details for an explaination of the two extra arguments exception and except_msg check the get_version_noexcept function
statistics libdar::op_diff_noexcept | ( | user_interaction & | dialog, | |
archive * | ptr, | |||
const path & | fs_root, | |||
const mask & | selection, | |||
const mask & | subtree, | |||
bool | info_details, | |||
const mask & | ea_mask, | |||
inode::comparison_fields | what_to_check, | |||
bool | alter_atime, | |||
bool | display_skipped, | |||
statistics * | progressive_report, | |||
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
this is wrapper around the op_diff method
check the archive class for details for an explaination of the two extra arguments exception and except_msg check the get_version_noexcept function
statistics libdar::op_extract_noexcept | ( | user_interaction & | dialog, | |
archive * | ptr, | |||
const path & | fs_root, | |||
const mask & | selection, | |||
const mask & | subtree, | |||
bool | allow_over, | |||
bool | warn_over, | |||
bool | info_details, | |||
bool | detruire, | |||
bool | only_more_recent, | |||
const mask & | ea_mask, | |||
bool | flat, | |||
inode::comparison_fields | what_to_check, | |||
bool | warn_remove_no_match, | |||
const infinint & | hourshift, | |||
bool | empty, | |||
bool | ea_erase, | |||
bool | display_skipped, | |||
statistics * | progressive_report, | |||
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
this is wrapper around the op_extract method
check the archive class for details for an explaination of the two extra arguments exception and except_msg check the get_version_noexcept function
void libdar::op_listing_noexcept | ( | user_interaction & | dialog, | |
archive * | ptr, | |||
bool | info_details, | |||
archive::listformat | list_mode, | |||
const mask & | selection, | |||
bool | filter_unsaved, | |||
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
this is wrapper around the op_listing method
check the archive class for details for an explaination of the two extra arguments exception and except_msg check the get_version_noexcept function
statistics libdar::op_test_noexcept | ( | user_interaction & | dialog, | |
archive * | ptr, | |||
const mask & | selection, | |||
const mask & | subtree, | |||
bool | info_details, | |||
bool | display_skipped, | |||
statistics * | progressive_report, | |||
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
this is wrapper around the op_test method
check the archive class for details for an explaination of the two extra arguments exception and except_msg check the get_version_noexcept function
archive* libdar::open_archive_noexcept | ( | user_interaction & | dialog, | |
const path & | chem, | |||
const std::string & | basename, | |||
const std::string & | extension, | |||
crypto_algo | crypto, | |||
const std::string & | pass, | |||
U_32 | crypto_size, | |||
const std::string & | input_pipe, | |||
const std::string & | output_pipe, | |||
const std::string & | execute, | |||
bool | info_details, | |||
U_16 & | exception, | |||
std::string & | except_msg | |||
) |
this is a wrapper around the archive constructor known as the "read" constructor
check the archive class for details for an explaination of the two extra arguments exception and except_msg check the get_version_noexcept function