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 ()
archive * | open_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
archive * | create_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
archive * | isolate_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
archive * | merge_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_interaction > | user_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 = 3
| libdar Minor version defined at compilation time

## Detailed Description

libdar5 namespace encapsulate all libdar symbols

## Typedef Documentation

## fsa_scope

using libdar::fsa_scope

set of fsa families

Definition at line 70 of file fsa_family.hpp.

## Enumeration Type Documentation

## capa_status

enum libdar::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

enum libdar::fsa_family

FSA family.

Definition at line 42 of file fsa_family.hpp.

## fsa_nature

enum libdar::fsa_nature

FSA nature.

Definition at line 48 of file fsa_family.hpp.

## gf_mode

enum libdar::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

enum class libdar::modified_data_detection

strong

how to detect data has changed when some fields

Definition at line 43 of file archive_aux.hpp.

## mycurl_protocol [1/2]

enum libdar::mycurl_protocol

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]

enum libdar::mycurl_protocol

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

enum libdar::over_action_data

the possible actions for overwriting data

Definition at line 46 of file crit_action.hpp.

## over_action_ea

enum libdar::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] | s | is the string to read
  [in] | base | is 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] | a | is the ascii string to convert
  [out] | val | is 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

  perm | is 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] | format | the 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 *)