| Disk ARchive 2.6.11 Full featured and portable backup and archiving tool

Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
libdar Namespace Reference
API

libdar namespace encapsulate all libdar symbols More...

## Namespaces
| compile_time
| nested namespace inside libdar

## 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_create
| class holding optional parameters used to create an archive More...
class | archive_options_extract
| class holding optional parameters used to extract files from an existing archive More...
class | archive_options_isolate
| class holding optional parameters used to isolate an existing archive More...
class | archive_options_listing
| class holding optional parameters used to list the contents of an existing archive More...
class | archive_options_listing_shell
| class holding optional shell specific parameters used to list the contents of an existing archive More...
class | archive_options_merge
| class holding optional parameters used to proceed to the merge operation More...
class | archive_options_read
| class holding optional parameters used to read 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 | archive_summary
| the archive_summary class provides information about a given archive More...
class | archive_version
| class archive_version manages the version of the archive format More...
class | bool_mask
| boolean mask, either always true or false More...
class | cache
| the cache class implements a fixed length read/write caching mechanism More...
class | cache_global
| the cache_global cache is an adaptation of the cache class to the fichier_global interface More...
class | candidates
| helper class for data_tree More...
class | cat_blockdev
| the block device class More...
class | cat_chardev
| the char device class More...
class | cat_delta_signature
| the cat_delta_signature file class More...
class | cat_detruit
| the deleted file entry More...
class | cat_device
| the special cat_device root class More...
class | cat_directory
| the cat_directory inode class More...
class | cat_door
| the class for Door IPC (mainly for Solaris) More...
class | cat_entree
| the root class from all other inherite for any entry in the catalogue More...
class | cat_eod
| the End of Directory entry class More...
class | cat_etoile
| the hard link implementation More...
class | cat_file
| the plain file class More...
class | cat_ignored
| the present file to ignore (not to be recorded as deleted later) More...
class | cat_ignored_dir
| the ignored cat_directory class, to be promoted later as empty cat_directory if needed More...
class | cat_inode
| the root class for all cat_inode More...
class | cat_lien
| the symbolic link inode class More...
class | cat_mirage
| the hard link implementation, cat_mirage is the named entry owned by a directory it points to a common "cat_etoile class" More...
class | cat_nomme
| the base class for all entry that have a name More...
class | cat_prise
| the Unix socket inode class More...
class | cat_signature
| class cat_signature combines the cat_entree::signature() of the object with its saved_status and read and store this combinason More...
class | cat_tube
| the named pipe class More...
class | catalogue
| the catalogue class which gather all objects contained in a give archive More...
class | compressor
| compression class for gzip and bzip2 algorithms More...
class | contextual
| the contextual class adds the information of phases in the generic_file More...
class | crc
| pure virtual class defining interface of a CRC object More...
class | crc_i
| crc implementation based on infinint More...
class | crc_n
| crc implementation based on U_I 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 signatur 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 | crypto_asym
| asymetric ciphering More...
class | crypto_sym
| symetrical strong encryption, interface to grypt library More...
class | data_dir
| the data_dir class inherits from data_tree and holds the directory tree's parent relationship More...
class | data_tree
| the data_tree class stores presence of a given file in a set of archives More...
class | database
| the database class defines the dar_manager database More...
class | database_add_options
| options to add an archive to base More...
class | database_archives
| datastructure managing a member of the list of archives used by a database More...
class | database_change_basename_options
| options for changing a given archive's basename More...
class | database_change_path_options
| options for changing a given archive's path More...
class | database_dump_options
| options to write a database to file More...
class | database_open_options
| options to open a database More...
class | database_remove_options
| options to remove an archive from the base More...
class | database_restore_options
| options for restoration from database More...
class | database_used_options
| options for file "used" in archive More...
class | datetime
| stores time information More...
class | deci
| decimal class, convert infinint from and to decimal represention More...
class | defile
| the defile class keep trace of the real path of files while the flow in the filter routines More...
struct | delta_sig_block_size
| defines how to calculate delta signature block size based of file size to delta sign More...
class | ea_attributs
| the class ea_attributs manages the set of EA that can be associated to an inode 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 | elastic
| the elastic buffer class 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...
class | Enet_auth
| exception used to report authentication error More...
struct | entree_stats
| holds the statistics contents of a catalogue More...
class | entrepot
| the Entrepot interface More...
class | entrepot_libcurl
| for managing archive into a remote repository 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...
struct | etage
| the etage structure keep trace of directory contents More...
class | Ethread_cancel
| exception used when the thread libdar is running in is asked to stop More...
class | Ethread_cancel_with_attr
| Ethread_cancel with infinint attribute. 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_global
| abstraction of filesystem files for entrepot More...
class | fichier_local
| filesystem local files More...
class | filesystem_backup
| makes a flow sequence of inode to feed the backup filtering routing More...
class | filesystem_diff
| make a flow of inode to feed the difference filter routine More...
class | filesystem_hard_link_read
| keep trace of hard links when reading the filesystem More...
class | filesystem_hard_link_write
| keep trace of already written inodes to restore hard links More...
class | filesystem_restore
| receive the flow of inode from the restoration filtering routing and promotes these to real filesystem objects More...
class | filesystem_specific_attribute
| Filesystem Specific Attributes (FSA) class. More...
class | filesystem_specific_attribute_list
| interface to fileystem for FSA More...
class | fsa_infinint
| fsa based on integer More...
class | fsa_time
| fsa based on time More...
class | generic_file
| this is the interface class from which all other data transfer classes inherit More...
class | generic_file_overlay_for_gpgme
| generic_file interface for for gpgme More...
class | generic_rsync
| generic_file interface to librsync More...
class | generic_thread
| let a generic_file be managed by another thread More...
class | generic_to_global_file
| provides a fichier_global interface for any type of generic_file More...
class | hash_fichier
| manages the generation of a hash More...
class | header
| this class manages the header of each slice More...
class | header_version
| manages the archive header and trailer More...
class | infinint
| the arbitrary large positive integer class More...
class | label
| manage label data structure used in archive slice headers More...
class | libdar_slave
| class implementing the dar_slave feature More...
class | libdar_xform
| class implementing the dar_xform feature More...
class | limitint
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 | mem_ui
| class mem_ui to keep a copy of a user_interaction object More...
class | memory_file
| generic_file stored in memory More...
class | messaging_decode
| decoding received messages More...
class | messaging_encode
| encoding messages to be sent More...
class | not_mask
| negation of another mask More...
class | null_file
| the null_file class implements the /dev/null behavior 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 | pile
| stores a stack of generic_files writing/reading on each others More...
class | proto_generic_file
| ancestor class of generic_file More...
class | range
| stores a range of integers or a set of ranges 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 | sar
| Sar class stands for Segmentation And Reassembly class. More...
class | scrambler
| scrambler is a very weak encryption scheme More...
class | secu_string
| class secu_string More...
class | semaphore
| class semaphore 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 | slave_zapette
| this class answers to order given by a zapette object More...
class | smart_node
| class which holds the address of the allocated memory for many smart_pointers More...
class | smart_pointer
| smart pointer class to be used to automagically manage multiple time pointed to address More...
class | statistics
| class used by libdar::archive class to give a summary of treated file during and after an operation More...
class | storage
| arbitrary large storage structure More...
class | terminateur
| terminateur class indicates the location of the beginning of the catalogue 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 | tlv
class | trivial_sar
class | tronc
| makes a segment of a generic_file appear like a real generic_file More...
class | tronconneuse
| this is a partial implementation of the generic_file interface to cypher/decypher data block by block. More...
class | trontextual
| trontextual class is a contextual class tronc, that's all. 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_blind
| full implementation class for user_interaction, which shows nothing and assumes answer "no" to any question More...
class | user_interaction_callback
| full implemented class for user_interaction based on callback functions. More...
class | wrapperlib
| this class encapsulates calls to libz or libbz2 More...
class | zapette
| zapette emulate a file that is remotely controlled by slave_zapette More...

## Typedefs
using | archive_listing_callback = void(*)(const std::string &the_path, const list_entry &entry, void *context)
| callback function type expected for archive::op_listing and archive::get_children_of()
using | database_archives_list = std::deque< database_archives >
| list of archives found in a database More...
using | database_listing_show_files_callback = void(*)(void *context, const std::string &filename, bool available_data, bool available_ea)
| called by the database::get_files() routine More...
using | database_listing_get_version_callback = void(*)(void *context, archive_num num, db_etat data_presence, bool has_data_date, datetime data, db_etat ea_presence, bool has_ea_date, datetime ea)
| called with the information of presence for an entry in archive number num More...
using | database_listing_statistics_callback = void(*)(void *context, U_I number, const infinint &data_count, const infinint &total_data, const infinint &ea_count, const infinint &total_ea)
| called with teh information of statistics for each archive in turn More...
using | fsa_scope = std::set< fsa_family >
| set of fsa families
using | magic_number = U_32
using | int_tools_bitfield = unsigned char[8]

## Enumerations
enum | modified_data_detection { modified_data_detection::any_inode_change, modified_data_detection::mtime_size }
| how to detect data has changed when some fields More...
enum | comparison_fields { comparison_fields::all, comparison_fields::ignore_owner, comparison_fields::mtime, comparison_fields::inode_type }
| how to consider file change during comparison and incremental backup More...
enum | hash_algo { hash_algo::none, hash_algo::md5, hash_algo::sha1, hash_algo::sha512 }
| hashing algorithm available More...
enum | capa_status { capa_set, capa_clear, capa_unknown }
| the EFFECTIVE set the value of the associated capability for the calling thread More...
enum | saved_status { saved_status::saved, saved_status::inode_only, saved_status::fake, saved_status::not_saved, saved_status::delta }
| data saved status for an entry More...
enum | ea_saved_status { ea_saved_status::none, ea_saved_status::partial, ea_saved_status::fake, ea_saved_status::full, ea_saved_status::removed }
| EA saved status for an entry. More...
enum | fsa_saved_status { fsa_saved_status::none, fsa_saved_status::partial, fsa_saved_status::full }
| FSA saved status for an entry. More...
enum | compression { compression::none = 'n', compression::gzip = 'z', compression::bzip2 = 'y', compression::lzo = 'l', compression::xz = 'x', compression::lzo1x_1_15 = 'j', compression::lzo1x_1 = 'k' }
| the different compression algorithm available More...
enum | over_action_data { data_preserve, data_overwrite, data_preserve_mark_already_saved, data_overwrite_mark_already_saved, data_remove, data_undefined, data_ask }
| the possible actions for overwriting data More...
enum | over_action_ea { EA_preserve, EA_overwrite, EA_clear, EA_preserve_mark_already_saved, EA_overwrite_mark_already_saved, EA_merge_preserve, EA_merge_overwrite, EA_undefined, EA_ask }
| the possible action for overwriting EA More...
enum | crypto_algo { crypto_algo::none, crypto_algo::scrambling, crypto_algo::blowfish, crypto_algo::aes256, crypto_algo::twofish256, crypto_algo::serpent256, crypto_algo::camellia256 }
| the different cypher available for encryption (strong or weak) More...
enum | db_lookup { db_lookup::found_present, db_lookup::found_removed, db_lookup::not_found, db_lookup::not_restorable }
| the available status of a lookup More...
enum | db_etat { db_etat::et_saved, db_etat::et_patch, db_etat::et_patch_unusable, db_etat::et_inode, db_etat::et_present, db_etat::et_removed, db_etat::et_absent }
| the status for a founded entry More...
enum | elastic_direction { elastic_forward, elastic_backward }
| reading direction of an elastic buffer
enum | fsa_family { fsaf_hfs_plus, fsaf_linux_extX }
| FSA family.
enum | fsa_nature { fsan_unset, fsan_creation_date, fsan_append_only, fsan_compressed, fsan_no_dump, fsan_immutable, fsan_data_journaling, fsan_secure_deletion, fsan_no_tail_merging, fsan_undeletable, fsan_noatime_update, fsan_synchronous_directory, fsan_synchronous_update, fsan_top_of_dir_hierarchy }
| FSA nature.
enum | gf_mode { gf_read_only, gf_write_only, gf_read_write }
| generic_file openning modes More...
enum | flag_type { flag_type_terminal = 'T', flag_type_non_terminal = 'N', flag_type_located_at_end_of_slice = 'E' }
enum | msg_type { unset, order_read_ahead, order_read_ahead_begin, order_read, order_sync_write, answr_sync_write_done, order_skip, order_skip_begin, order_skip_to_eof, order_skip_fwd, order_skip_bkd, answr_skip_done, order_skippable_fwd, order_skippable_fwd_begin, order_skippable_bkd, order_skippable_bkd_begin, answr_skippable, order_get_position, answr_position, answr_position_begin, answr_exception, order_end_of_xmit, order_stop_readahead, answr_readahead_stopped, order_wakeup, data_partial, data_completed }
| the different types of messages
enum | mycurl_protocol { proto_ftp, proto_sftp }
| libcurl protocols supported by libdar More...
enum | wrapperlib_mode { zlib_mode, bzlib_mode, xz_mode }

## Functions
std::string | hash_algo_to_string (hash_algo algo)
| convert hash value to human readable string
bool | string_to_hash_algo (const std::string &arg, hash_algo &val)
| convert string to hash algorithm More...
U_I | hash_algo_to_gcrypt_hash (hash_algo algo)
| convert hash value to libgcrypt hash value
unsigned char | hash_algo_to_char (hash_algo algo)
| convert hash value to char value
hash_algo | char_to_hash_algo (unsigned char arg)
| convert char to hash_algo More...
const archive_version | empty_archive_version ()
capa_status | capability_LINUX_IMMUTABLE (user_interaction &ui, bool verbose)
capa_status | capability_SYS_RESOURCE (user_interaction &ui, bool verbose)
capa_status | capability_FOWNER (user_interaction &ui, bool verbose)
capa_status | capability_CHOWN (user_interaction &ui, bool verbose)
const char * | cat_entree_signature2string (unsigned char sign)
| convert a signature char to a human readable string
compression | char2compression (char a)
| convert a char as stored in archive to its compression value
char | compression2char (compression c)
| convert a compression value to a char for storing in archive
std::string | compression2string (compression c)
| convert a compression to its string representation
compression | string2compression (const std::string &a)
| convert a string representing a compression algorithm to its enum compression value
crc * | create_crc_from_file (proto_generic_file &f, bool old=false)
| generate a CRC object reading it from file
crc * | create_crc_from_size (infinint width)
| generate a CRC object with adhoc width based on a file size
std::string | crypto_algo_2_string (crypto_algo algo)
| convert crypto algo to readable std::string
char | crypto_algo_2_char (crypto_algo a)
| convert crypto algo to char
crypto_algo | char_2_crypto_algo (char a)
| convert char to crypto algo
bool | same_signatories (const std::list< signator > &a, const std::list< signator > &b)
| return whether the two signators lists match
bool | crypto_min_ver_libgcrypt_no_bug ()
generic_file * | database_header_create (const std::shared_ptr< user_interaction > &dialog, const std::string &filename, bool overwrite, compression algozip)
| create the header for a dar_manager database More...
generic_file * | database_header_open (const std::shared_ptr< user_interaction > &dialog, const std::string &filename, unsigned char &db_version, compression &algozip)
| read the header of a dar_manager database More...
const unsigned char | database_header_get_supported_version ()
archive_version | db2archive_version (unsigned char db_version)
| converts dar_manager database version to dar archive version in order to properly read time fields
std::ostream & | operator<< (std::ostream &ref, const infinint &arg)
| specific << operator to use infinint in std::ostream More...
ea_attributs * | ea_filesystem_read_ea (const std::string &chemin, const mask &filter)
| read EA associated to a given file More...
bool | ea_filesystem_write_ea (const std::string &chemin, const ea_attributs &val, const mask &filter)
| overwrite some attribute to a given file's attribute list More...
void | ea_filesystem_clear_ea (const std::string &name, const mask &filter)
| remove all EA of a given file that match a given mask More...
bool | ea_filesystem_has_ea (const std::string &name)
| test the presence of EA for a given file More...
bool | ea_filesystem_has_ea (const std::string &name, const mask &filter)
| test the presence of EA for a given file More...
const char * | dar_gettext (const char *)
| a routine to change NLS domaine forth and back for inline routines
template<class T >
T * | cloner (const T *x)
bool | filesystem_tools_has_immutable (const cat_inode &arg)
void | filesystem_tools_set_immutable (const std::string &target, bool val, user_interaction &ui)
void | filesystem_tools_supprime (user_interaction &ui, const std::string &ref)
void | filesystem_tools_widen_perm (user_interaction &dialog, const cat_inode &ref, const std::string &chem, comparison_fields what_to_check)
void | filesystem_tools_make_owner_perm (user_interaction &dialog, const cat_inode &ref, const std::string &chem, comparison_fields what_to_check, const fsa_scope &scope)
void | filesystem_tools_make_date (const cat_inode &ref, const std::string &chem, comparison_fields what_to_check, const fsa_scope &scope)
void | filesystem_tools_attach_ea (const std::string &chemin, cat_inode *ino, const mask &ea_mask)
bool | filesystem_tools_is_nodump_flag_set (user_interaction &dialog, const path &chem, const std::string &filename, bool info)
path * | filesystem_tools_get_root_with_symlink (user_interaction &dialog, const path &root, bool info_details)
mode_t | filesystem_tools_get_file_permission (const std::string &path)
void | filesystem_tools_make_delta_patch (const std::shared_ptr< user_interaction > &dialog, const cat_file &existing, const std::string &existing_pathname, const cat_file &patcher, const path &directory)
fichier_local * | filesystem_tools_create_non_existing_file_based_on (const std::shared_ptr< user_interaction > &dialog, std::string filename, path where, std::string &new_filename)
| create in dirname a brand-new filename which name derives from filename More...
void | filesystem_tools_copy_content_from_to (const std::shared_ptr< user_interaction > &dialog, const std::string &source_path, const std::string &destination_path, const crc *expected_crc)
void | filtre_restore (const std::shared_ptr< user_interaction > &dialog, const mask &filtre, const mask &subtree, const catalogue &cat, const path &fs_racine, bool fs_warn_overwrite, bool info_details, bool display_treated, bool display_treated_only_dir, bool display_skipped, statistics &st, const mask &ea_mask, bool flat, comparison_fields what_to_check, bool warn_remove_no_match, bool empty, bool empty_dir, const crit_action &x_overwrite, archive_options_extract::t_dirty dirty, bool only_deleted, bool not_deleted, const fsa_scope &scope)
void | filtre_sauvegarde (const std::shared_ptr< user_interaction > &dialog, const mask &filtre, const mask &subtree, const pile_descriptor &pdesc, catalogue &cat, const catalogue &ref, const path &fs_racine, bool info_details, bool display_treated, bool display_treated_only_dir, bool display_skipped, bool display_finished, statistics &st, bool make_empty_dir, const mask &ea_mask, const mask &compr_mask, const infinint &min_compr_size, bool nodump, const infinint &hourshift, bool alter_time, bool furtive_read_mode, bool same_fs, comparison_fields what_to_check, bool snapshot, bool cache_directory_tagging, bool security_check, const infinint &repeat_count, const infinint &repeat_byte, const infinint &fixed_date, const infinint &sparse_file_min_size, const std::string &backup_hook_file_execute, const mask &backup_hook_file_mask, bool ignore_unknown, const fsa_scope &scope, const std::string &exclude_by_ea, bool delta_signature, const infinint &delta_sig_min_size, const mask &delta_mask, bool delta_diff, bool auto_zeroing_neg_dates, const std::set< std::string > &ignored_symlinks, modified_data_detection mod_data_detect, const delta_sig_block_size &delta_sig_block_len)
void | filtre_difference (const std::shared_ptr< user_interaction > &dialog, const mask &filtre, const mask &subtree, const catalogue &cat, const path &fs_racine, bool info_details, bool display_treated, bool display_treated_only_dir, bool display_skipped, statistics &st, const mask &ea_mask, bool alter_time, bool furtive_read_mode, comparison_fields what_to_check, const infinint &hourshift, bool compare_symlink_date, const fsa_scope &scope, bool isolated_mode)
void | filtre_test (const std::shared_ptr< user_interaction > &dialog, const mask &filtre, const mask &subtree, const catalogue &cat, bool info_details, bool display_treated, bool display_treated_only_dir, bool display_skipped, bool empty, statistics &st)
void | filtre_merge (const std::shared_ptr< user_interaction > &dialog, const mask &filtre, const mask &subtree, const pile_descriptor &pdesc, catalogue &cat, const catalogue *ref1, const catalogue *ref2, bool info_details, bool display_treated, bool display_treated_only_dir, bool display_skipped, statistics &st, bool make_empty_dir, const mask &ea_mask, const mask &compr_mask, const infinint &min_compr_size, bool keep_compressed, const crit_action &overwrite, bool warn_overwrite, bool decremental_mode, const infinint &sparse_file_min_size, const fsa_scope &scope, bool delta_signature, bool build_delta_sig, const infinint &delta_sig_min_size, const mask &delta_mask, const delta_sig_block_size &signature_block_size)
void | filtre_merge_step0 (const std::shared_ptr< user_interaction > &dialog, const catalogue *ref1, const catalogue *ref2, statistics &st, bool decremental_mode, crit_action *&decr, const crit_action *&overwrite, bool &abort, thread_cancellation &thr_cancel)
| initialize variables used for merging in step1 and step2 More...
void | filtre_merge_step1 (const std::shared_ptr< user_interaction > &dialog, const mask &filtre, const mask &subtree, catalogue &cat, const catalogue *ref1, const catalogue *ref2, bool info_details, bool display_treated, bool display_skipped, statistics &st, bool make_empty_dir, bool warn_overwrite, bool decremental_mode, crit_action *&decr, const crit_action *&overwrite, bool &abort, thread_cancellation &thr_cancel)
| builds a catalogue from two refs with the given policy and filters
void | filtre_merge_step2 (const std::shared_ptr< user_interaction > &dialog, const pile_descriptor &pdesc, catalogue &cat, bool info_details, bool display_treated, bool display_treated_only_dir, const mask &compr_mask, const infinint &min_compr_size, bool keep_compressed, const infinint &sparse_file_min_size, bool delta_signature, bool build_delta_sig, const infinint &delta_sig_min_size, const mask &delta_mask, bool &abort, thread_cancellation &thr_cancel, bool repair_mode, const delta_sig_block_size &signature_block_size)
| copies data of "cat" catalogue to the pdesc of a brand new archive More...
void | filtre_sequentially_read_all_catalogue (catalogue &cat, const std::shared_ptr< user_interaction > &dialog, bool lax_read_mode)
std::string | fsa_family_to_string (fsa_family f)
| convert fsa family to readable std::string
std::string | fsa_nature_to_string (fsa_nature n)
| convert fsa nature to readable std::string
fsa_scope | all_fsa_families ()
| provides a scope containing all FSA families
infinint | fsa_scope_to_infinint (const fsa_scope &val)
| convert an fsa scope to infinint
fsa_scope | infinint_to_fsa_scope (const infinint &ref)
| convert an infinint to fsa_scape
std::string | fsa_scope_to_string (bool saved, const fsa_scope &scope)
| convert an fsa scope to readable string
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) More...
void | get_version (U_I &major, U_I &medium, U_I &minor, bool init_libgcrypt, bool init_gpgme)
| returns the libdar version and make libdar initialization (may throw Exceptions) More...
void | get_version (bool init_libgcrypt=true)
| this method is to be used when you don't want to bother with major, medium and minor
void | close_and_clean ()
const char * | generic_file_get_name (gf_mode mode)
| provides a human readable string defining the gf_mode given in argument
void | int_tools_swap_bytes (unsigned char &a, unsigned char &b)
void | int_tools_swap_bytes (unsigned char *a, U_I size)
void | int_tools_expand_byte (unsigned char a, int_tools_bitfield &bit)
void | int_tools_contract_byte (const int_tools_bitfield &b, unsigned char &a)
template<class T >
T | int_tools_rotate_right_one_bit (T v)
template<class T >
T | int_tools_maxof_agregate (T unused)
void | integer_check ()
| checks sign and width of integer types More...
bool | integers_system_is_big_endian ()
| returns true if the system is big endian, false else More...
template<class B >
limitint< B > | operator+ (const limitint< B > &, const limitint< B > &)
template<class B >
limitint< B > | operator+ (const limitint< B > &a, U_I b)
template<class B >
limitint< B > | operator- (const limitint< B > &, const limitint< B > &)
template<class B >
limitint< B > | operator- (const limitint< B > &a, U_I b)
template<class B >
limitint< B > | operator* (const limitint< B > &, const limitint< B > &)
template<class B >
limitint< B > | operator* (const limitint< B > &a, U_I b)
template<class B >
limitint< B > | operator/ (const limitint< B > &, const limitint< B > &)
template<class B >
limitint< B > | operator/ (const limitint< B > &a, U_I b)
template<class B >
limitint< B > | operator% (const limitint< B > &, const limitint< B > &)
template<class B >
limitint< B > | operator>> (const limitint< B > &a, U_32 bit)
template<class B >
limitint< B > | operator>> (const limitint< B > &a, const limitint< B > &bit)
template<class B >
limitint< B > | operator<< (const limitint< B > &a, U_32 bit)
template<class B >
limitint< B > | operator<< (const limitint< B > &a, const limitint< B > &bit)
template<class B >
limitint< B > | operator& (const limitint< B > &a, U_32 bit)
template<class B >
limitint< B > | operator& (const limitint< B > &a, const limitint< B > &bit)
template<class B >
limitint< B > | operator| (const limitint< B > &a, U_32 bit)
template<class B >
limitint< B > | operator| (const limitint< B > &a, const limitint< B > &bit)
template<class B >
limitint< B > | operator^ (const limitint< B > &a, U_32 bit)
template<class B >
limitint< B > | operator^ (const limitint< B > &a, const limitint< B > &bit)
template<class T >
void | euclide (T a, T b, T &q, T &r)
template<class B >
void | euclide (limitint< B > a, U_I b, limitint< B > &q, limitint< B > &r)
trivial_sar * | macro_tools_open_archive_tuyau (const std::shared_ptr< user_interaction > &dialog, S_I fd, gf_mode mode, const label &internal_name, const label &data_name, bool slice_header_format_07, const std::string &execute)
| create an container to write an archive to a pipe
void | macro_tools_open_archive (const std::shared_ptr< user_interaction > &dialog, const std::shared_ptr< entrepot > &where, const std::string &basename, const infinint &min_digits, const std::string &extension, crypto_algo crypto, const secu_string &pass, U_32 crypto_size, pile &stack, header_version &ver, const std::string &input_pipe, const std::string &output_pipe, const std::string &execute, infinint &second_terminateur_offset, bool lax, bool has_external_cat, bool sequential_read, bool info_details, std::list< signator > &gnupg_signed, slice_layout &sl, bool multi_threaded, bool header_only)
| setup the given pile object to contain a stack of generic_files suitable to read an archive More...
catalogue * | macro_tools_get_derivated_catalogue_from (const std::shared_ptr< user_interaction > &dialog, pile &data_stack, pile &cata_stack, const header_version &ver, bool info_details, infinint &cat_size, const infinint &second_terminateur_offset, std::list< signator > &signatories, bool lax_mode)
| uses terminator to skip to the position where to find the catalogue and read it, taking care of having this catalogue pointing to the real data (context of isolated catalogue — cata_stack — used to rescue an internal archive — data_stack)
catalogue * | macro_tools_get_catalogue_from (const std::shared_ptr< user_interaction > &dialog, pile &stack, const header_version &ver, bool info_details, infinint &cat_size, const infinint &second_terminateur_offset, std::list< signator > &signatories, bool lax_mode)
| uses terminator to skip to the position where to find the catalogue and read it
catalogue * | macro_tools_read_catalogue (const std::shared_ptr< user_interaction > &dialog, const header_version &ver, const pile_descriptor &cata_pdesc, const infinint &cat_size, std::list< signator > &signatories, bool lax_mode, const label &lax_layer1_data_name, bool only_detruits)
| read the catalogue from cata_stack assuming the cata_stack is positionned at the beginning of the area containing archive's dumped data
catalogue * | macro_tools_lax_search_catalogue (const std::shared_ptr< user_interaction > &dialog, pile &stack, const archive_version &edition, compression compr_algo, bool info_details, bool even_partial_catalogues, const label &layer1_data_name)
infinint | macro_tools_get_terminator_start (generic_file &f, const archive_version &reading_ver)
void | macro_tools_create_layers (const std::shared_ptr< user_interaction > &dialog, pile &layers, header_version &ver, slice_layout &slicing, const slice_layout *ref_slicing, const std::shared_ptr< entrepot > &sauv_path_t, 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 secu_string &pass, U_32 crypto_size, const std::vector< std::string > &gnupg_recipients, const std::vector< std::string > &gnupg_signatories, bool empty, const std::string &slice_permission, bool add_marks_for_sequential_reading, const std::string &user_comment, hash_algo hash, const infinint &slice_min_digits, const label &internal_name, const label &data_name, const infinint &iteration_count, hash_algo kdf_hash, bool multi_threaded)
| build layers for a new archive More...
void | macro_tools_close_layers (const std::shared_ptr< user_interaction > &dialog, pile &layers, const header_version &ver, const catalogue &cat, bool info_details, crypto_algo crypto, compression algo, const std::vector< std::string > &gnupg_recipients, const std::vector< std::string > &gnupg_signatories, bool empty)
| dumps the catalogue and close all the archive layers to terminate the archive More...
range | macro_tools_get_slices (const cat_nomme *obj, slice_layout sl)
| gives the location of data EA and FSA (when they are saved) of the object given in argument More...
void | macro_tools_open_pipes (const std::shared_ptr< user_interaction > &dialog, const std::string &input, const std::string &output, tuyau *&in, tuyau *&out)
| open a pair of tuyau objects encapsulating two named pipes. More...
bool | msg_equivalent (msg_type arg1, msg_type arg2)
bool | msg_continues (msg_type msg)
char | msg_type2char (msg_type x)
msg_type | char2msg_type (char x)
msg_type | msg_continuation_of (msg_type x)
mycurl_protocol | string_to_mycurl_protocol (const std::string &arg)
| extract mycurl_protocol from a given URL
over_action_ea | op_tools_crit_ask_user_for_EA_action (user_interaction &dialog, const std::string &full_name, const cat_entree *already_here, const cat_entree *dolly)
| ask user for EA action More...
over_action_ea | op_tools_crit_ask_user_for_FSA_action (user_interaction &dialog, const std::string &full_name, const cat_entree *already_here, const cat_entree *dolly)
| ask user for FSA action More...
over_action_data | op_tools_crit_ask_user_for_data_action (user_interaction &dialog, const std::string &full_name, const cat_entree *already_here, const cat_entree *dolly)
| ask user for Data action More...
void | op_tools_crit_show_entry_info (user_interaction &dialog, const std::string &full_name, const cat_entree *already_here, const cat_entree *dolly)
| show information suited for user comparison and decision for entry in conflict More...
infinint | operator+ (const infinint &, const infinint &)
infinint | operator- (const infinint &, const infinint &)
infinint | operator* (const infinint &, const infinint &)
infinint | operator* (const infinint &, const unsigned char)
infinint | operator* (const unsigned char, const infinint &)
infinint | operator/ (const infinint &, const infinint &)
infinint | operator% (const infinint &, const infinint &)
infinint | operator& (const infinint &a, const infinint &bit)
infinint | operator| (const infinint &a, const infinint &bit)
infinint | operator^ (const infinint &a, const infinint &bit)
infinint | operator>> (const infinint &a, U_32 bit)
infinint | operator>> (const infinint &a, const infinint &bit)
infinint | operator<< (const infinint &a, U_32 bit)
infinint | operator<< (const infinint &a, const infinint &bit)
void | euclide (infinint a, const infinint &b, infinint &q, infinint &r)
std::string | sar_tools_make_filename (const std::string &base_name, const infinint &num, const infinint &min_digits, const std::string &ext)
bool | sar_tools_extract_num (const std::string &filename, const std::string &base_name, const infinint &min_digits, const std::string &ext, infinint &ret)
bool | sar_tools_get_higher_number_in_dir (entrepot &entr, const std::string &base_name, const infinint &min_digits, const std::string &ext, infinint &ret)
std::string | sar_tools_make_padded_number (const std::string &num, const infinint &min_digits)
void | tools_init ()
| libdar internal use only: it is launched from get_version() and initializes tools internal variables
void | tools_end ()
| libdar internal use only: it is launched from close_and_clean() and releases tools internal variables
void | tools_write_string (generic_file &f, const std::string &s)
| write a string to a file with a '\0' at then end More...
void | tools_read_string (generic_file &f, std::string &s)
| read a string from a file expecting it to terminate by '\0' More...
void | tools_write_string_all (generic_file &f, const std::string &s)
| write a string to a file, '\0' has no special meaning nor is added at the end More...
void | tools_read_string_size (generic_file &f, std::string &s, infinint taille)
| read a string if given size from a file '\0' has no special meaning More...
infinint | tools_get_filesize (const path &p)
| retrieve the size in byte of a file More...
std::string | tools_display_integer_in_metric_system (infinint number, const std::string &unit, bool binary)
std::string::iterator | tools_find_last_char_of (std::string &s, unsigned char v)
| give a pointer to the last character of the given value in the given string More...
void | tools_blocking_read (int fd, bool mode)
| set blocking/not blocking mode for reading on a file descriptor More...
std::string | tools_name_of_uid (const infinint &uid)
| convert uid to name in regards to the current system's configuration More...
std::string | tools_name_of_gid (const infinint &gid)
| convert gid to name in regards of the current system's configuration More...
std::string | tools_uword2str (U_16 x)
| convert unsigned word to string More...
std::string | tools_int2str (S_I x)
| convert integer to string More...
std::string | tools_uint2str (U_I x)
std::string | tools_addspacebefore (std::string s, U_I expected_size)
| prepend spaces before the given string More...
std::string | tools_display_date (const datetime &date)
| convert a date in second to its human readable representation More...
char * | tools_str2charptr (const std::string &x)
| convert a string to a char * More...
U_I | tools_str2int (const std::string &x)
| convert an integer written in decimal notation to the corresponding value More...
void | tools_system (user_interaction &dialog, const std::vector< std::string > &argvector)
| wrapper to the "system" system call. More...
void | tools_system_with_pipe (const std::shared_ptr< user_interaction > &dialog, const std::string &dar_cmd, const std::vector< std::string > &argvpipe)
| wrapper to the "system" system call using anonymous pipe to tranmit arguments to the child process More...
void | tools_write_vector (generic_file &f, const std::vector< std::string > &x)
| write a list of string to file More...
void | tools_read_vector (generic_file &f, std::vector< std::string > &x)
| read a list of string from a file More...
std::string | tools_concat_vector (const std::string &separator, const std::vector< std::string > &x)
| concatenate a vectors of strings in a single string More...
std::vector< std::string > | operator+ (std::vector< std::string > a, std::vector< std::string > b)
| concatenate two vectors More...
bool | tools_is_equal_with_hourshift (const infinint &hourshift, const datetime &date1, const datetime &date2)
| test if two dates are equal taking care of a integer hour of difference More...
template<class T >
std::vector< T > | operator+= (std::vector< T > &a, const std::vector< T > &b)
| template function to add two vectors
std::string | tools_readlink (const char *root)
| returns the file pointed to by a symbolic link (or transparent if the file is not a symlink). More...
void | tools_noexcept_make_date (const std::string &chem, bool symlink, const datetime &last_acc, const datetime &last_mod, const datetime &birth)
| set dates of a given file, no exception thrown More...
void | tools_make_date (const std::string &chemin, bool symlink, const datetime &access, const datetime &modif, const datetime &birth)
| set dates of a given file, may throw exception More...
bool | tools_is_case_insensitive_equal (const std::string &a, const std::string &b)
| compare two string in case insensitive manner More...
void | tools_to_upper (const std::string &r, std::string &uppered)
| convert a string to upper case More...
std::string | tools_printf (const char *format,...)
| make printf-like formating to a std::string More...
std::string | tools_vprintf (const char *format, va_list ap)
| make printf-like formating to a std::string More...
bool | tools_do_some_files_match_mask_regex (const entrepot &ent, const std::string &file_mask)
| test the presence of files corresponding to a given mask in a directory (regex mask) More...
void | tools_unlink_file_mask_regex (user_interaction &dialog, const entrepot &ent, const std::string &file_mask, bool info_details)
| remove files from a given directory More...
void | tools_avoid_slice_overwriting_regex (user_interaction &dialog, const entrepot &ent, const std::string &basename, const std::string &extension, bool info_details, bool allow_overwriting, bool warn_overwriting, bool dry_run)
| prevents slice overwriting: check the presence of slice and if necessary ask the user if they can be removed More...
bool | tools_are_on_same_filesystem (const std::string &file1, const std::string &file2)
| tells whether two files are on the same mounted filesystem More...
path | tools_relative2absolute_path (const path &src, const path &cwd)
| transform a relative path to an absolute one given the current directory value More...
void | tools_block_all_signals (sigset_t &old_mask)
| block all signals (based on POSIX sigprocmask) More...
void | tools_set_back_blocked_signals (sigset_t old_mask)
| unblock signals according to given mask More...
U_I | tools_count_in_string (const std::string &s, const char a)
| counts the number of a given char in a given string More...
datetime | tools_get_mtime (user_interaction &dialog, const std::string &s, bool auto_zeroing, bool silent, const std::set< std::string > &ignored_as_symlink=std::set< std::string >())
| returns the last modification date of the given file More...
infinint | tools_get_size (const std::string &s)
| returns the size of the given plain file More...
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. More...
std::string | tools_substitute (const std::string &hook, const std::map< char, std::string > &corres)
| produce the string resulting from the substition of % macro defined in the map More...
std::string | tools_hook_substitute (const std::string &hook, const std::string &path, const std::string &basename, const std::string &num, const std::string &padded_num, const std::string &ext, const std::string &context, const std::string &base_url)
| produces the string resulting from the substitution of %... macro More...
void | tools_hook_execute (user_interaction &ui, const std::string &cmd_line)
| execute and retries at user will a given command line More...
void | tools_hook_substitute_and_execute (user_interaction &ui, const std::string &hook, const std::string &path, const std::string &basename, const std::string &num, const std::string &padded_num, const std::string &ext, const std::string &context, const std::string &base_url)
| subsititue and execute command line More...
std::string | tools_output2xml (const std::string &src)
| convert string for xml output More...
U_I | tools_octal2int (const std::string &perm)
| convert octal string to integer More...
std::string | tools_int2octal (const U_I &perm)
| convert a number to a string corresponding to its octal representation More...
char | tools_cast_type_to_unix_type (char type)
| change the libdar internal type representation to the usual unix char type
std::string | tools_get_permission_string (char type, U_32 perm, bool hard)
| convert a permission number into its string representation (rwxrwxrwx)
void | tools_set_permission (S_I fd, U_I perm)
| change the permission of the file which descriptor is given More...
U_I | tools_get_permission (S_I fd)
| obtain the permission of the file which descriptor is given More...
uid_t | tools_ownership2uid (const std::string &user)
| change ownership of the file which descriptor is given More...
uid_t | tools_ownership2gid (const std::string &group)
| convert string group name or gid to numeric gid value More...
void | tools_set_ownership (S_I filedesc, const std::string &slice_user, const std::string &slice_group)
| change ownership of the file which descriptor is given More...
void | tools_memxor (void *dest, const void *src, U_I n)
| Produces in "dest" the XORed value of "dest" and "src". More...
tlv_list | tools_string2tlv_list (user_interaction &dialog, const U_16 &type, const std::vector< std::string > &data)
| Produces a list of TLV from a constant type and a list of string. More...
U_I | tools_pseudo_random (U_I max)
| Produces a pseudo random number x, where 0 <= x < max. More...
template<class N , class B >
std::deque< B > | tools_number_base_decomposition_in_big_endian (N number, const B &base)
| Template for the decomposition of any number in any base (decimal, octal, hexa, etc.) More...
std::string | tools_unsigned_char_to_hexa (unsigned char x)
| convert a unsigned char into its hexa decima representation More...
std::string | tools_string_to_hexa (const std::string &input)
| convert a string into its hexadecima representation More...
infinint | tools_file_size_to_crc_size (const infinint &size)
| Defines the CRC size to use for a given filesize. More...
std::string | tools_getcwd ()
| get current working directory
std::string | tools_get_compression_ratio (const infinint &storage_size, const infinint &file_size, bool compressed)
| return the string about compression ratio
std::string | tools_strerror_r (int errnum)
| wrapper routine to strerror_r
struct dirent * | tools_allocate_struct_dirent (const std::string &path_name, U_64 &max_name_length)
void | tools_release_struct_dirent (struct dirent *ptr)
void | tools_secu_string_show (user_interaction &dialog, const std::string &msg, const secu_string &key)
| display the content of a secu_string, this function is only for trouble shooting!
template<class T >
T | tools_max (T a, T b)
template<class T >
T | tools_min (T a, T b)
void | tools_unlink (const std::string &filename)
| remove from filesystem the file which path is given
std::string | tools_escape_chars_in_string (const std::string &val, const char *to_escape)
| escape with a anti-slash character a set of chars found in the given string
bool | tools_infinint2U_64 (infinint val, U_64 &res)
| convert an infinint to U_64 (aka "uint64_t" or yet "unsigned long long") More...
bool | tools_my_atoi (const char *a, U_I &val)
| ascii to integer conversion More...
infinint | tools_double2infinint (double arg)
| convert a double (float) to infinint (integer) taking care of rounding it to the closest value
template<class T >
void | tools_check_negative_date (T &val, user_interaction &ui, const char *inode_path, const char *nature, bool ask_before, bool silent)
| check the value is not negative, and if asked set it to zero More...
infinint | tools_upper_rounded_log2 (const infinint &ref)
| compute an approximate log2 of the argument
infinint | tools_lower_rounded_exp2 (const infinint &ref)
| compute an approximate exp2 of the argument
infinint | tools_rounded_square_root (const infinint &ref)
| compute an approximate square root of the argument
infinint | tools_rounded_cube_root (const infinint &ref)
| compute an approximate cube root of the argument
std::string | sar_make_filename (const std::string &base_name, const infinint &num, const infinint &min_digits, const std::string &ext)
| return the name of a slice given the base_name, slice number and extension

## Variables
constexpr U_I | LIBDAR_COMPILE_TIME_MAJOR = 6
| libdar Major version defined at compilation time
constexpr U_I | LIBDAR_COMPILE_TIME_MEDIUM = 2
| libdar Medium version defined at compilation time
constexpr U_I | LIBDAR_COMPILE_TIME_MINOR = 5
| libdar Minor version defined at compilation time
const U_32 | SAUV_MAGIC_NUMBER = 123
const label | label_zero
constexpr U_I | GLOBAL_ELASTIC_BUFFER_SIZE = 51200
const archive_version | macro_tools_supported_version
const std::string | LIBDAR_STACK_LABEL_UNCOMPRESSED
const std::string | LIBDAR_STACK_LABEL_CLEAR
const std::string | LIBDAR_STACK_LABEL_UNCYPHERED
const std::string | LIBDAR_STACK_LABEL_LEVEL1
const std::string | PSEUDO_ROOT
| root name to use when archive operation does not use filesystem (archive testing for example)
const path | FAKE_ROOT
| root path object based on PSEUDO_ROOT
const int | WR_OK = 0
const int | WR_MEM_ERROR = 1
const int | WR_VERSION_ERROR = 2
const int | WR_STREAM_ERROR = 3
const int | WR_DATA_ERROR = 4
const int | WR_NO_FLUSH = 5
const int | WR_BUF_ERROR = 6
const int | WR_STREAM_END = 7
const int | WR_FINISH = 8
constexpr unsigned char | ANSWER_TYPE_DATA = 'D'
constexpr unsigned char | ANSWER_TYPE_INFININT = 'I'
constexpr U_I | REQUEST_SIZE_SPECIAL_ORDER = 0
constexpr U_I | REQUEST_OFFSET_END_TRANSMIT = 0
constexpr U_I | REQUEST_OFFSET_GET_FILESIZE = 1
constexpr U_I | REQUEST_OFFSET_CHANGE_CONTEXT_STATUS = 2
constexpr U_I | REQUEST_IS_OLD_START_END_ARCHIVE = 3
constexpr U_I | REQUEST_GET_DATA_NAME = 4
constexpr U_I | REQUEST_FIRST_SLICE_HEADER_SIZE = 5
constexpr U_I | REQUEST_OTHER_SLICE_HEADER_SIZE = 6

## Detailed Description

libdar namespace encapsulate all libdar symbols

the class thread_cancellation implemented in this module permits to define checkpoints where is looked whether the current thread has been marked as to be canceled by the user The advantage of this class is that it then throws a Euser_abort exception which properly terminates the libdar operation in the thread freeing allocated memory and release mutex properly. Note that the thread is not canceled but libdar call in this thread returns as soon as a checkpoint is met during the execution.

## Function Documentation

## ◆ integer_check()

void libdar::integer_check | ( |  | ) |

checks sign and width of integer types

Note
  this call may throws an Ehardware exception

## ◆ integers_system_is_big_endian()

bool libdar::integers_system_is_big_endian | ( |  | ) |

returns true if the system is big endian, false else

Note
  this call may throw an Ehardware() exception if the system is not coherent for all integer types