Disk ARchive 2.7.16
Full featured and portable backup and archiving tool
Loading...
Searching...
No Matches
libdar5 Namespace Reference

libdar5 namespace encapsulate all libdar symbols More...

Classes

class  archive
 the archive class realizes the most general operations on archives More...
class  archive_num
 class archive_num stores the position of an archive inside a dar_manager database More...
class  archive_options_extract
 class holding optional parameters used to extract files from an existing archive More...
class  archive_options_repair
 class holding optional parameters used to create an archive More...
class  archive_options_test
 class holding optional parameters used to test the structure coherence of an existing archive More...
class  bool_mask
 boolean mask, either always true or false More...
class  crit_action
 the global action for overwriting More...
class  crit_and
 realises the AND operator More...
class  crit_chain
 the crit_chain class sequences crit_actions up to full definition of the action More...
class  crit_constant_action
 the basic constant action More...
class  crit_in_place_data_bigger
 returns true if the data of the first entry is bigger or equal to the one of the second entry More...
class  crit_in_place_data_dirty
 return true if the entry is a dirty file (or hard linked dirty file) More...
class  crit_in_place_data_more_recent
 returns true if the data of the first entry is more recent or of the same date of the one of the second entry More...
class  crit_in_place_data_more_recent_or_equal_to
 If the in_place entry is not an inode its date is considered equal to zero. Comparison is done on mtime. More...
class  crit_in_place_data_saved
 if the entry is not an inode the result is also true More...
class  crit_in_place_data_sparse
 return true if the entry is a sparse file (or hard linked sparse file) More...
class  crit_in_place_EA_bigger
 returns true if the space used by EA of the first entry is greater or equal to the space used by the EA of the second entry (no EA means 0 byte for EA storage) More...
class  crit_in_place_EA_more_recent
 returns true if the EA of the first entry is more recent or equal to the one of the second entry More...
class  crit_in_place_EA_more_recent_or_equal_to
 returns true if the EA of the first entry is more recent or equal to the fixed date given in argument to the constructor More...
class  crit_in_place_EA_present
class  crit_in_place_EA_saved
 returns true if the in place entry has its EA saved (not just marked as saved) in the archve of reference More...
class  crit_in_place_has_delta_sig
 return true if the entry has delta signature More...
class  crit_in_place_is_dir
 returns true if the first entry is a cat_directory (whatever is the second) More...
class  crit_in_place_is_file
 returns true if the first entry is a plain file (whatever is the second) More...
class  crit_in_place_is_hardlinked_inode
 returns true if the first entry is a inode with several hard links (whatever is the second entry) More...
class  crit_in_place_is_inode
 returns true if the first entry is an inode (whatever is the second) More...
class  crit_in_place_is_new_hardlinked_inode
class  crit_in_place_more_EA
 returns true if the first entry has more or even EA (in number not in size) than the second entry More...
class  crit_not
 realises the negation of the criterium given in argument to its constructor More...
class  crit_same_type
 returns true if the two entries are of the same type (plain-file/char dev/block dev/named pipe/symlink/directory/unix socket) More...
class  criterium
 the generic criterium class, parent of all criterium More...
class  database
 the database class defines the dar_manager database More...
class  datetime
 stores time information More...
class  deci
 decimal class, convert infinint from and to decimal represention More...
class  Ebug
 exception used to signal a bug. A bug is triggered when reaching some code that should never be reached More...
class  Ecompilation
 exception used when a requested fearture has not beed activated at compilation time More...
class  Edata
 exception used when an error concerning the treated data has been met More...
class  Edeci
 exception used to signal convertion problem between infinint and string (decimal representation) More...
class  Efeature
 exception used when a requested feature is not (yet) implemented More...
class  Egeneric
 this is the parent class of all exception classes. More...
class  Ehardware
 exception used when hardware problem is found More...
class  Einfinint
 exception used when arithmetic error is detected when operating on infinint More...
class  Elibcall
 exception used to signal an error in the argument given to libdar call of the API More...
class  Elimitint
 exception used when a limitint overflow is detected, the maximum value of the limitint has been exceeded More...
class  Ememory
 exception used when memory has been exhausted More...
struct  entree_stats
 holds the statistics contents of a catalogue More...
class  entrepot
 the Entrepot interface More...
class  entrepot_local
class  Erange
 exception used to signal range error More...
class  Escript
 exception used when error the inter-slice user command returned an error code More...
class  Esecu_memory
 exception used when secure memory has been exhausted More...
class  Esystem
 exception used to carry system error More...
class  et_mask
 makes an AND operator between two or more masks More...
class  Ethread_cancel
 exception used when the thread libdar is running in is asked to stop More...
class  Euser_abort
 exception used to signal that the user has aborted the operation More...
class  exclude_dir_mask
 matches if string is the given constructor string or a sub directory of it More...
class  fichier_local
 filesystem local files More...
class  generic_file
 this is the interface class from which all other data transfer classes inherit More...
class  infinint
 the arbitrary large positive integer class More...
class  list_entry
class  mask
 the generic class, parent of all masks More...
class  mask_list
 the mask_list class, matches string that are present in a given file More...
class  memory_file
 generic_file stored in memory More...
class  not_mask
 negation of another mask More...
class  ou_mask
 makes the OR operator between two or more masks More...
class  path
 the class path is here to manipulate paths in the Unix notation: using'/' More...
class  regular_mask
 matches regular expressions (see "man 7 regex") More...
class  same_path_mask
 matches if string is exactly the given mask (no wilde card expression) More...
class  secu_string
 class secu_string More...
struct  signator
 signator status More...
class  simple_mask
 matches as done on shell command lines (see "man 7 glob") More...
class  simple_path_mask
 string matches if it is subdir of mask or mask is a subdir of expression More...
class  statistics
 class used by libdar::archive class to give a summary of treated file during and after an operation More...
class  testing
 the testing class binds criterium to actions More...
class  thread_cancellation
 class to be used as parent to provide checkpoints to inherited classes More...
class  tuyau
 pipe implementation under the generic_file interface. More...
class  user_interaction
 This is a pure virtual class that is used by libdar when interaction with the user is required. More...
class  user_interaction_callback
 full implemented class for user_interaction based on callback functions. More...

Typedefs

using fsa_scope
 set of fsa families

Enumerations

enum  mycurl_protocol
 implementation for entrepot to access to local filesystem More...
enum class  compression
 the different compression algorithm available More...
enum class  crypto_algo
 the different cypher available for encryption (strong or weak) More...
enum  capa_status
 the EFFECTIVE set the value of the associated capability for the calling thread More...
enum  over_action_data
 the possible actions for overwriting data More...
enum  over_action_ea
 the possible action for overwriting EA More...
enum class  hash_algo
 hashing algorithm available More...
enum  fsa_family
 FSA family. More...
enum  fsa_nature
 FSA nature. More...
enum  gf_mode
 generic_file openning modes More...
enum  mycurl_protocol
 libcurl protocols supported by libdar More...
enum class  modified_data_detection
 how to detect data has changed when some fields More...
enum class  comparison_fields
 how to consider file change during comparison and incremental backup More...

Functions

compression char2compression (char a)
char compression2char (compression c)
std::string compression2string (compression c)
compression string2compression (const std::string &a)
fsa_scope all_fsa_families ()
mycurl_protocol string_to_mycurl_protocol (const std::string &arg)
void get_version (U_I &major, U_I &medium, U_I &minor, bool init_libgcrypt=true)
 return the libdar version, and make libdar initialization (may throw Exceptions)
void get_version_noexcept (U_I &major, U_I &medium, U_I &minor, U_16 &exception, std::string &except_msg, bool init_libgcrypt=true)
 return the libdar version, and make libdar initialization (does not throw exceptions)
void close_and_clean ()
archiveopen_archive_noexcept (user_interaction &dialog, const path &chem, const std::string &basename, const std::string &extension, const archive_options_read &options, U_16 &exception, std::string &except_msg)
 this is a wrapper around the archive constructor known as the "read" constructor
archivecreate_archive_noexcept (user_interaction &dialog, const path &fs_root, const path &sauv_path, const std::string &filename, const std::string &extension, const archive_options_create &options, statistics *progressive_report, U_16 &exception, std::string &except_msg)
 this is a wrapper around the archive constructor known as the "create" constructor
archiveisolate_archive_noexcept (user_interaction &dialog, archive *ptr, const path &sauv_path, const std::string &filename, const std::string &extension, const archive_options_isolate &options, U_16 &exception, std::string &except_msg)
 this is a wrapper around the archive constructor known as the "isolate" constructor
archivemerge_archive_noexcept (user_interaction &dialog, const path &sauv_path, archive *ref_arch1, const std::string &filename, const std::string &extension, const archive_options_merge &options, statistics *progressive_report, U_16 &exception, std::string &except_msg)
 this is a wrapper around the archive constructor known as the "merging" constructor
void close_archive_noexcept (archive *ptr, U_16 &exception, std::string &except_msg)
 this is wrapper around the archive destructor
statistics op_extract_noexcept (user_interaction &dialog, archive *ptr, const path &fs_root, const archive_options_extract &options, statistics *progressive_report, U_16 &exception, std::string &except_msg)
 this is wrapper around the op_extract method
void op_listing_noexcept (user_interaction &dialog, archive *ptr, const archive_options_listing &options, U_16 &exception, std::string &except_msg)
 this is wrapper around the op_listing method
statistics op_diff_noexcept (user_interaction &dialog, archive *ptr, const path &fs_root, const archive_options_diff &options, statistics *progressive_report, U_16 &exception, std::string &except_msg)
 this is wrapper around the op_diff method
statistics op_test_noexcept (user_interaction &dialog, archive *ptr, const archive_options_test &options, statistics *progressive_report, U_16 &exception, std::string &except_msg)
 this is wrapper around the op_test method
bool 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_str2charptr_noexcept (const std::string &x, U_16 &exception, std::string &except_msg)
 routine provided to convert std::string to char *
std::shared_ptr< user_interactionuser_interaction5_clone_to_shared_ptr (user_interaction &dialog)
 convert a user_interaction to a shared_pointer on a clone of that user_interaction
std::string tools_printf (const char *format,...)
 make printf-like formating to a std::string
std::string tools_getcwd ()
 get current working directory
infinint tools_get_extended_size (std::string s, U_I base)
 convert the given string to infinint taking care of multiplication suffixes like k, M, T, etc.
bool tools_my_atoi (const char *a, U_I &val)
 ascii to integer conversion
U_I tools_octal2int (const std::string &perm)
 convert octal string to integer

Variables

constexpr compression none = compression::none
constexpr compression gzip = compression::gzip
constexpr compression bzip2 = compression::bzip2
constexpr compression lzo = compression::lzo
constexpr compression xz = compression::xz
constexpr compression lzo1x_1_15 = compression::lzo1x_1_15
constexpr compression lzo1x_1 = compression::lzo1x_1
constexpr crypto_algo crypto_none = crypto_algo::none
constexpr crypto_algo crypto_scrambling = crypto_algo::scrambling
constexpr crypto_algo crypto_blowfish = crypto_algo::blowfish
constexpr crypto_algo crypto_aes256 = crypto_algo::aes256
constexpr crypto_algo crypto_twofish256 = crypto_algo::twofish256
constexpr crypto_algo crypto_serpent256 = crypto_algo::serpent256
constexpr crypto_algo crypto_camellia256 = crypto_algo::camellia256
constexpr capa_status capa_set = libdar::capa_status::capa_set
constexpr capa_status capa_clear = libdar::capa_status::capa_clear
constexpr capa_status capa_unknown = libdar::capa_status::capa_unknown
constexpr over_action_data data_preserve = libdar::over_action_data::data_preserve
constexpr over_action_data data_overwrite = libdar::over_action_data::data_overwrite
constexpr over_action_data data_preserve_mark_already_saved = libdar::over_action_data::data_preserve_mark_already_saved
constexpr over_action_data data_overwrite_mark_already_saved = libdar::over_action_data::data_overwrite_mark_already_saved
constexpr over_action_data data_remove = libdar::over_action_data::data_remove
constexpr over_action_data data_undefined = libdar::over_action_data::data_undefined
constexpr over_action_data data_ask = libdar::over_action_data::data_ask
constexpr over_action_ea EA_preserve = libdar::over_action_ea::EA_preserve
constexpr over_action_ea EA_overwrite = libdar::over_action_ea::EA_overwrite
constexpr over_action_ea EA_clear = libdar::over_action_ea::EA_clear
constexpr over_action_ea EA_preserve_mark_already_saved = libdar::over_action_ea::EA_preserve_mark_already_saved
constexpr over_action_ea EA_overwrite_mark_already_saved = libdar::over_action_ea::EA_overwrite_mark_already_saved
constexpr over_action_ea EA_merge_preserve = libdar::over_action_ea::EA_merge_preserve
constexpr over_action_ea EA_merge_overwrite = libdar::over_action_ea::EA_merge_overwrite
constexpr over_action_ea EA_undefined = libdar::over_action_ea::EA_undefined
constexpr over_action_ea EA_ask = libdar::over_action_ea::EA_ask
constexpr hash_algo hash_none = hash_algo::none
constexpr hash_algo hash_md5 = hash_algo::md5
constexpr hash_algo hash_sha1 = hash_algo::sha1
constexpr hash_algo hash_sha512 = hash_algo::sha512
constexpr fsa_family fsaf_hfs_plus = fsa_family::fsaf_hfs_plus
constexpr fsa_family fsaf_linux_extX = fsa_family::fsaf_linux_extX
constexpr fsa_nature fsan_unset = fsa_nature::fsan_unset
constexpr fsa_nature fsan_creation_date = fsa_nature::fsan_creation_date
constexpr fsa_nature fsan_append_only = fsa_nature::fsan_append_only
constexpr fsa_nature fsan_compressed = fsa_nature::fsan_compressed
constexpr fsa_nature fsan_no_dump = fsa_nature::fsan_no_dump
constexpr fsa_nature fsan_immutable = fsa_nature::fsan_immutable
constexpr fsa_nature fsan_data_journaling = fsa_nature::fsan_data_journaling
constexpr fsa_nature fsan_secure_deletion = fsa_nature::fsan_secure_deletion
constexpr fsa_nature fsan_no_tail_merging = fsa_nature::fsan_no_tail_merging
constexpr fsa_nature fsan_undeletable = fsa_nature::fsan_undeletable
constexpr fsa_nature fsan_noatime_update = fsa_nature::fsan_noatime_update
constexpr fsa_nature fsan_synchronous_directory = fsa_nature::fsan_synchronous_directory
constexpr fsa_nature fsan_synchronous_udpdate = fsa_nature::fsan_synchronous_update
constexpr fsa_nature fsan_top_of_dir_hierarchy = fsa_nature::fsan_top_of_dir_hierarchy
constexpr gf_mode gf_read_only = gf_mode::gf_read_only
constexpr gf_mode gf_write_only = gf_mode::gf_write_only
constexpr gf_mode gf_read_write = gf_mode::gf_read_write
constexpr mycurl_protocol proto_ftp = mycurl_protocol::proto_ftp
constexpr mycurl_protocol proto_sftp = mycurl_protocol::proto_sftp
constexpr comparison_fields cf_all = comparison_fields::all
constexpr comparison_fields cf_ignore_owner = comparison_fields::ignore_owner
constexpr comparison_fields cf_mtime = comparison_fields::mtime
constexpr comparison_fields cf_inode_type = comparison_fields::inode_type
const U_I LIBDAR_COMPILE_TIME_MAJOR = 5
 libdar Major version defined at compilation time
const U_I LIBDAR_COMPILE_TIME_MEDIUM = 202
 libdar Medium version defined at compilation time
const U_I LIBDAR_COMPILE_TIME_MINOR = 0
 libdar Minor version defined at compilation time

Detailed Description

libdar5 namespace encapsulate all libdar symbols

Typedef Documentation

◆ fsa_scope

set of fsa families

Definition at line 70 of file fsa_family.hpp.

Enumeration Type Documentation

◆ capa_status

the EFFECTIVE set the value of the associated capability for the calling thread

returned by the capability_* routines

Definition at line 41 of file capabilities.hpp.

◆ comparison_fields

enum class libdar::comparison_fields
strong

how to consider file change during comparison and incremental backup

Definition at line 52 of file archive_aux.hpp.

◆ compression

enum class libdar::compression
strong

the different compression algorithm available

values to be used as argument of libdar API calls

Note
lzo1x_1_15 and lzo1x_1 should never be found in archive but instead lzo should be put in place. In consequence, the two letters 'j' and 'k' reserved here, shall well be modified to other value if necessary in the future, thus would not break any backward compatibility.

Definition at line 45 of file compression.hpp.

◆ crypto_algo

enum class libdar::crypto_algo
strong

the different cypher available for encryption (strong or weak)

Definition at line 49 of file crypto.hpp.

◆ fsa_family

FSA family.

Definition at line 42 of file fsa_family.hpp.

◆ fsa_nature

FSA nature.

Definition at line 48 of file fsa_family.hpp.

◆ gf_mode

generic_file openning modes

Definition at line 43 of file gf_mode.hpp.

◆ hash_algo

enum class libdar::hash_algo
strong

hashing algorithm available

Definition at line 62 of file archive_aux.hpp.

◆ modified_data_detection

how to detect data has changed when some fields

Definition at line 43 of file archive_aux.hpp.

◆ mycurl_protocol [1/2]

implementation for entrepot to access to local filesystem

entrepot_local generates objects of class "fichier_local" inherited class of fichier_global

Definition at line 48 of file mycurl_protocol.hpp.

◆ mycurl_protocol [2/2]

libcurl protocols supported by libdar

Note
dar needs to list a directory content to find the last slice available in a directory, which feature is not always available with http and https protocols and never available with scp protocol Thus dar only supports ftp and sftp

Definition at line 48 of file mycurl_protocol.hpp.

◆ over_action_data

the possible actions for overwriting data

Definition at line 46 of file crit_action.hpp.

◆ over_action_ea

the possible action for overwriting EA

define the action to apply to each EA entry (not to the EA set of a particular inode)

Definition at line 61 of file crit_action.hpp.

Function Documentation

◆ tools_get_extended_size()

infinint libdar::tools_get_extended_size ( std::string s,
U_I base )

convert the given string to infinint taking care of multiplication suffixes like k, M, T, etc.

Parameters
[in]sis the string to read
[in]baseis the multiplication factor (base = 1000 for SI, base = 1024 for computer science use)
Returns
the value encoded in the given string

◆ tools_my_atoi()

bool libdar::tools_my_atoi ( const char * a,
U_I & val )

ascii to integer conversion

Parameters
[in]ais the ascii string to convert
[out]valis the resulting value
Returns
true if the conversion could be done false if the given string does not correspond to the decimal representation of an unsigned integer
Note
this call is now a warapper around line_tools_str2int

◆ tools_octal2int()

U_I libdar::tools_octal2int ( const std::string & perm)

convert octal string to integer

Parameters
permis a string representing a number in octal (string must have a leading zero)
Returns
the corresponding value as an integer

◆ tools_printf()

std::string libdar::tools_printf ( const char * format,
... )

make printf-like formating to a std::string

Parameters
[in]formatthe format string
[in]...list of argument to use against the format string
Returns
the resulting string
Note
the supported masks for the format are:
  • %s %c %d %o %% (usual behavior)
  • %x display an integer under hexadecimal notation
  • %i (matches infinint *)
  • %S (matches std::string *)