# libdar.hpp File Reference

the main file of the libdar API definitions More...

`#include "../my_config.h"`
`#include <string>`
`#include "compressor.hpp"`
`#include "path.hpp"`
`#include "mask.hpp"`
`#include "integers.hpp"`
`#include "infinint.hpp"`
`#include "statistics.hpp"`
`#include "user_interaction.hpp"`
`#include "deci.hpp"`
`#include "archive.hpp"`
`#include "crypto.hpp"`
`#include "thread_cancellation.hpp"`

Go to the source code of this file.

## Namespaces
namespace | libdar
| libdar namespace encapsulate all libdar symbols

## Defines
#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
## 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, bool &new_blowfish)
| 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 = 4
| libdar Medium version defined at compilation time
const U_I | libdar::LIBDAR_COMPILE_TIME_MINOR = 4
| libdar Minor version defined at compilation time

## Detailed Description

the main file of the libdar API definitions

Definition in file libdar.hpp.