![]() |
Disk ARchive
2.5.15
Full featured and portable backup and archiving tool
|
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_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_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_test |
| class holding optional parameters used to test the structure coherence of an existing archive More... | |
| class | archive_version |
| class | bool_mask |
| boolean mask, either always true or false More... | |
| class | cache |
| class | cat_blockdev |
| the block device class More... | |
| class | cat_chardev |
| the char device 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 (etoile means star in French, seen a star as a point from which are thrown many ray of light) 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_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 | 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 |
| returns true if the data of the first entry is more recent or of the same date as the fixed date given in argument to the constructor More... | |
| class | crit_in_place_data_saved |
| returns true if the data of the first entry is saved int the archive (not marked as unchanged since the archive of reference) 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_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 |
| returns true if the first entry is a inode with several hard links (whatever is the second entry) and also if this first entry is the first we meet that points to this hard linked inode More... | |
| 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_sym |
| 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_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 |
| 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 | deci |
| class | defile |
| class | ea_attributs |
| 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... | |
| 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... | |
| 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 |
| make 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 |
| class | generic_file |
| this is the interface class from which all other data transfer classes inherit 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 | limitint |
| class | list_entry |
| class | mask |
| the generic class, parent of all masks More... | |
| class | mask_list |
| class | mem_allocator |
| generic interface of objects that need to be informed that a memory block they manage has been released More... | |
| class | mem_manager |
| generic interface of memory managers that create and delete mem_allocator objects depending on requests More... | |
| class | mem_ui |
| class mem_ui to keep a copy of a user_interaction object More... | |
| class | not_mask |
| negation of another mask More... | |
| class | null_file |
| the null_file class implements the /dev/null behavior More... | |
| class | on_pool |
| 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 | 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 | smart_pointer |
| class | statistics |
| structure returned by libdar call to give a summary of the operation done in term of file treated 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 | |
| typedef U_16 | archive_num |
| typedef std::set< fsa_family > | fsa_scope |
| typedef U_32 | magic_number |
| typedef unsigned char | int_tools_bitfield[8] |
Enumerations | |
| enum | capa_status { capa_set, capa_clear, capa_unknown } |
| enum | saved_status { s_saved, s_fake, s_not_saved } |
| enum | compression { none = 'n', gzip = 'z', bzip2 = 'y', lzo = 'l', xz = 'x', lzo1x_1_15 = 'j', 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 | |
| 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 | |
| enum | crypto_algo { crypto_none, crypto_scrambling, crypto_blowfish, crypto_aes256, crypto_twofish256, crypto_serpent256, crypto_camellia256 } |
| enum | elastic_direction { elastic_forward, elastic_backward } |
| 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 | hash_algo { hash_none, hash_md5, hash_sha1, hash_sha512 } |
| 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 } |
| enum | wrapperlib_mode { zlib_mode, bzlib_mode, xz_mode } |
Functions | |
| 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) |
| std::string | local_perm (const cat_inode &ref, bool hard) |
| std::string | local_uid (const cat_inode &ref) |
| std::string | local_gid (const cat_inode &ref) |
| std::string | local_size (const cat_inode &ref, bool sizes_in_bytes) |
| std::string | local_storage_size (const cat_inode &ref) |
| std::string | local_date (const cat_inode &ref) |
| std::string | local_flag (const cat_inode &ref, bool isolated, bool dirty_seq) |
| void | xml_listing_attributes (user_interaction &dialog, const std::string &beginning, const std::string &data, const std::string &metadata, const cat_entree *obj=nullptr, bool list_ea=false) |
| bool | extract_base_and_status (unsigned char signature, unsigned char &base, saved_status &saved) |
| void | local_display_ea (user_interaction &dialog, const cat_inode *ino, const std::string &prefix, const std::string &suffix, bool xml_output=false) |
| unsigned char | mk_signature (unsigned char base, saved_status state) |
| void | unmk_signature (unsigned char sig, unsigned char &base, saved_status &state, bool isolated) |
| bool | compatible_signature (unsigned char a, unsigned char b) |
| unsigned char | get_base_signature (unsigned char a) |
| std::string | entree_to_string (const cat_entree *obj) |
| compression | char2compression (char a) |
| char | compression2char (compression c) |
| std::string | compression2string (compression c) |
| compression | string2compression (const std::string &a) |
| crc * | create_crc_from_file (generic_file &f, memory_pool *pool, bool old=false) |
| crc * | create_crc_from_size (infinint width, memory_pool *pool) |
| over_action_ea | 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 | 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 | 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 | 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... | |
| std::string | crypto_algo_2_string (crypto_algo algo) |
| char | crypto_algo_2_char (crypto_algo a) |
| crypto_algo | char_2_crypto_algo (char a) |
| bool | same_signatories (const std::list< signator > &a, const std::list< signator > &b) |
| bool | crypto_min_ver_libgcrypt_no_bug () |
| data_dir * | data_tree_read (generic_file &f, unsigned char db_version, memory_pool *pool) |
| bool | data_tree_find (path chemin, const data_dir &racine, const data_tree *&ptr) |
| lookup routine to find a pointer to the dat_dir object corresponding to the given path More... | |
| void | data_tree_update_with (const cat_directory *dir, archive_num archive, data_dir *racine) |
| archive_num | data_tree_permutation (archive_num src, archive_num dst, archive_num x) |
| generic_file * | database_header_create (user_interaction &dialog, memory_pool *pool, const std::string &filename, bool overwrite) |
| generic_file * | database_header_open (user_interaction &dialog, memory_pool *pool, const std::string &filename, unsigned char &db_version) |
| 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, memory_pool *p) |
| 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, memory_pool *p) |
| remove all EA of a given file that match a given mask More... | |
| bool | ea_filesystem_has_ea (const std::string &name, memory_pool *p) |
| test the presence of EA for a given file More... | |
| bool | ea_filesystem_has_ea (const std::string &name, const mask &filter, memory_pool *p) |
| 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, memory_pool *p) |
| void | filtre_restore (user_interaction &dialog, memory_pool *pool, 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, cat_inode::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 (user_interaction &dialog, memory_pool *pool, 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, cat_inode::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 auto_zeroing_neg_dates) |
| void | filtre_difference (user_interaction &dialog, memory_pool *pool, 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, cat_inode::comparison_fields what_to_check, const infinint &hourshift, bool compare_symlink_date, const fsa_scope &scope, bool isolated_mode) |
| void | filtre_test (user_interaction &dialog, memory_pool *pool, 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 (user_interaction &dialog, memory_pool *pool, 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) |
| void | filtre_sequentially_read_all_catalogue (catalogue &cat, user_interaction &dialog, bool lax_read_mode) |
| std::string | fsa_family_to_string (fsa_family f) |
| std::string | fsa_nature_to_string (fsa_nature n) |
| fsa_scope | all_fsa_families () |
| provides a scope containing all FSA families | |
| infinint | fsa_scope_to_infinint (const fsa_scope &val) |
| fsa_scope | infinint_to_fsa_scope (const infinint &ref) |
| std::string | fsa_scope_to_string (bool saved, const fsa_scope &scope) |
| const char * | generic_file_get_name (gf_mode mode) |
| provides a human readable string defining the gf_mode given in argument | |
| std::string | hash_algo_to_string (hash_algo algo) |
| 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... | |
| 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_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) More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| void | close_archive_noexcept (archive *ptr, U_16 &exception, std::string &except_msg) |
| this is wrapper around the archive destructor More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| char * | libdar_str2charptr_noexcept (const std::string &x, U_16 &exception, std::string &except_msg) |
| routine provided to convert std::string to char * 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) |
| 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) |
| trivial_sar * | macro_tools_open_archive_tuyau (user_interaction &dialog, memory_pool *pool, 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 (user_interaction &dialog, memory_pool *pool, const 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) |
| catalogue * | macro_tools_get_derivated_catalogue_from (user_interaction &dialog, memory_pool *pool, 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 (user_interaction &dialog, memory_pool *pool, 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 (user_interaction &dialog, memory_pool *pool, 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 (user_interaction &dialog, memory_pool *pool, 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 (user_interaction &dialog, pile &layers, header_version &ver, slice_layout &slicing, const slice_layout *ref_slicing, memory_pool *pool, const 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, bool multi_threaded) |
| void | macro_tools_close_layers (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) |
| range | macro_tools_get_slices (const cat_nomme *obj, slice_layout sl) |
| 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) |
| 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 | |
| char * | tools_str2charptr (const std::string &x) |
| convert a string to a char * More... | |
| 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... | |
| 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_display_integer_in_metric_system (infinint number, const std::string &unit, bool binary) |
| void | tools_extract_basename (const char *command_name, std::string &basename) |
| extracts the basename of a file (removing path part) More... | |
| 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... | |
| std::string::iterator | tools_find_first_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_split_path_basename (const char *all, path *&chemin, std::string &base, memory_pool *pool=nullptr) |
| split a given full path in path part and basename part More... | |
| void | tools_split_path_basename (const std::string &all, std::string &chemin, std::string &base, memory_pool *pool=nullptr) |
| split a given full path in path part and basename part More... | |
| void | tools_open_pipes (user_interaction &dialog, const std::string &input, const std::string &output, tuyau *&in, tuyau *&out, memory_pool *pool=nullptr) |
| open a pair of tuyau objects encapsulating two named pipes. 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) |
| U_I | tools_str2int (const std::string &x) |
| convert an integer written in decimal notation to the corresponding value More... | |
| S_I | tools_str2signed_int (const std::string &x) |
| convert a signed integer written in decimal notation to the corresponding value More... | |
| bool | tools_my_atoi (const char *a, U_I &val) |
| ascii to integer conversion More... | |
| 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... | |
| infinint | tools_convert_date (const std::string &repres) |
| convert a human readable date representation in number of second since the system reference date 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 (user_interaction &dialog, const std::string &dar_cmd, const std::vector< std::string > &argvpipe, memory_pool *pool=nullptr) |
| 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... | |
| void | tools_display_features (user_interaction &dialog) |
| display the compilation time features of libdar 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 | |
| const char * | tools_get_from_env (const char **env, const char *clef) |
| isolate the value of a given variable from the environment vector More... | |
| void | tools_check_basename (user_interaction &dialog, const path &loc, std::string &base, const std::string &extension, memory_pool *pool=nullptr) |
| does sanity checks on a slice name, check presence and detect whether the given basename is not rather a filename More... | |
| std::string | tools_getcwd () |
| get current working directory | |
| 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... | |
| bool | tools_look_for (const char *argument, S_I argc, char *const argv[]) |
| test the presence of an argument 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... | |
| void | tools_remove_last_char_if_equal_to (char c, std::string &s) |
| remove last character of a string is it equal to a given value More... | |
| void | tools_read_range (const std::string &s, S_I &min, U_I &max) |
| from a string with a range notation (min-max) extract the range values 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 (user_interaction &ui, const std::string &c_chemin, 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 std::string &c_chemin, 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 path &chemin, 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... | |
| void | tools_add_elastic_buffer (generic_file &f, U_32 max_size, U_32 modulo, U_32 offset) |
| append an elastic buffer of given size to the file More... | |
| bool | tools_are_on_same_filesystem (const std::string &file1, const std::string &file2) |
| 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) |
| 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... | |
| datetime | tools_get_ctime (const std::string &s) |
| returns the last change date of the given file More... | |
| std::vector< std::string > | tools_split_in_words (generic_file &f) |
| read a file and split its contents into words More... | |
| std::vector< std::string > | tools_split_in_words (const std::string &arg) |
| read a std::string and split its contents into words More... | |
| bool | tools_find_next_char_out_of_parenthesis (const std::string &data, const char what, U_32 start, U_32 &found) |
| look next char in string out of parenthesis 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) |
| 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) |
| subsititue and execute command line More... | |
| std::string | tools_build_regex_for_exclude_mask (const std::string &prefix, const std::string &relative_part) |
| builds a regex from root directory and user provided regex to be applied to the relative path 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... | |
| 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... | |
| void | tools_read_from_pipe (user_interaction &dialog, S_I fd, tlv_list &result) |
| Extract from anonymous pipe a tlv_list. 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::vector< 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_get_euid () |
| return a string containing the Effective UID | |
| std::string | tools_get_egid () |
| return a string containing the Effective UID | |
| std::string | tools_get_hostname () |
| return a string containing the hostname of the current host | |
| std::string | tools_get_date_utc () |
| return a string containing the current time (UTC) | |
| 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 | |
| void | tools_merge_to_vector (std::vector< std::string > &a, const std::vector< std::string > &b) |
| add in 'a', element of 'b' not already found in 'a' | |
| std::vector< std::string > | tools_substract_from_vector (const std::vector< std::string > &a, const std::vector< std::string > &b) |
| remove from 'a' elements found in 'b' and return the resulting vector | |
| struct dirent * | tools_allocate_struct_dirent (const std::string &path_name, U_64 &max_name_length, memory_pool *pool=nullptr) |
| 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) |
| 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... | |
| 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... | |
| 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 | |
| const U_32 | SAUV_MAGIC_NUMBER = 123 |
| const label | label_zero |
| const U_I | LIBDAR_COMPILE_TIME_MAJOR = 5 |
| libdar Major version defined at compilation time | |
| const U_I | LIBDAR_COMPILE_TIME_MEDIUM = 12 |
| libdar Medium version defined at compilation time | |
| const U_I | LIBDAR_COMPILE_TIME_MINOR = 2 |
| libdar Minor version defined at compilation time | |
| 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 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 |
libdar namespace encapsulate all libdar symbols
lookup routine to find a pointer to the dat_dir object corresponding to the given path
| [in] | chemin | is the path to look for |
| [in] | racine | is the database to look into |
| [out] | ptr | is a pointer to the looked node if found |
| generic_file* libdar::database_header_open | ( | user_interaction & | dialog, |
| memory_pool * | pool, | ||
| const std::string & | filename, | ||
| unsigned char & | db_version | ||
| ) |
read the header of a dar_manager database
| [in] | dialog | for user interaction |
| [in] | pool | memory pool to use or nullptr for default memory allocation |
| [in] | filename | is the filename to read from |
| [out] | db_version | version of the database |
| void libdar::ea_filesystem_clear_ea | ( | const std::string & | name, |
| const mask & | filter, | ||
| memory_pool * | p | ||
| ) |
remove all EA of a given file that match a given mask
| [in] | name | is the filename which EA must be altered |
| [in] | filter | is a mask that defines which EA names have to be removed |
| [in] | p | points to the memory pool to use or is to be set to nullptr for no pool utilisation |
| bool libdar::ea_filesystem_has_ea | ( | const std::string & | name, |
| memory_pool * | p | ||
| ) |
test the presence of EA for a given file
| [in] | name | is the filename which EA presence must be check against |
| [in] | p | points to the memory pool to use or is to be set to nullptr for no pool utilisation |
| bool libdar::ea_filesystem_has_ea | ( | const std::string & | name, |
| const mask & | filter, | ||
| memory_pool * | p | ||
| ) |
test the presence of EA for a given file
| [in] | name | is the filename which EA presence must be check against |
| [in] | filter | is a mask that defines which attributes names to only consider |
| [in] | p | points to the memory pool to use or is to be set to nullptr for no pool utilisation |
| bool libdar::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
| [in] | chemin | is the path of the file to write attribute to |
| [in] | val | is a list of attribute amoung which a subset will be added to file's attribute list |
| [in] | filter | a mask that define which attribute's names will be written and which will be ignored from the given list |
| void libdar::integer_check | ( | ) |
checks sign and width of integer types
| bool libdar::integers_system_is_big_endian | ( | ) |
returns true if the system is big endian, false else
| void libdar::macro_tools_close_layers | ( | 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
| [in] | dialog | for user interaction |
| [in] | layers | the archive layers to close |
| [in] | ver | the archive "header" to be dropped at end of archive |
| [in] | cat | the catalogue to dump in the layer before closing the archive |
| [in] | info_details | whether to display detailed information |
| [in] | crypto | cipher algorithm used in "layers" |
| [in] | gnupg_recipients | used sign the catalog, use an empty vector if there is no signatories (no nedd to sign the hash of the catalogue) |
| [in] | gnupg_signatories | used to sign the catalog, use an empty vector to disable signning |
| [in] | algo | compression algorithm used |
| [in] | empty | dry-run execution (null_file at bottom of the stack) |
| void libdar::macro_tools_create_layers | ( | user_interaction & | dialog, |
| pile & | layers, | ||
| header_version & | ver, | ||
| slice_layout & | slicing, | ||
| const slice_layout * | ref_slicing, | ||
| memory_pool * | pool, | ||
| const 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, | ||
| bool | multi_threaded | ||
| ) |
build layers for a new archive
| [in] | dialog | for user interaction |
| [out] | layers | the resulting stack of generic_file layers ready for use |
| [out] | ver | the archive "header" to be dropped at end of archive |
| [out] | slicing | slicing layout of the archive |
| [in] | ref_slicing | if not nullptr the pointed to slicing_layout will be stored in the header/trailer version of the archive |
| [in] | pool | memory pool to use for memory allocation (nullptr for no pool usage) |
| [in] | sauv_path_t | where to create the archive |
| [in] | filename | archive base name |
| [in] | extension | archive extension |
| [in] | allow_over | whether to allow slice overwriting |
| [in] | warn_over | whether to warn before overwriting |
| [in] | info_details | whether to display detailed information |
| [in] | pause | how many slices to wait before pausing (0 to never wait) |
| [in] | algo | compression algorithm |
| [in] | compression_level | compression level |
| [in] | file_size | size of the slices |
| [in] | first_file_size | size of the first slice |
| [in] | execute | command to execute after each slice creation |
| [in] | crypto | cipher algorithm to use |
| [in] | pass | password/passphrase to use for encryption |
| [in] | crypto_size | size of crypto blocks |
| [in] | gnupg_recipients | list of email recipients'public keys to encrypt a randomly chosen key with |
| [in] | gnupg_signatories | list of email which associated signature has to be used to sign the archive |
| [in] | empty | dry-run execution (null_file at bottom of the stack) |
| [in] | slice_permission | permission to set the slices to |
| [in] | add_marks_for_sequential_reading | whether to add an escape layer in the stack |
| [in] | user_comment | user comment to add into the slice header/trailer |
| [in] | hash | algorithm to use for slices hashing |
| [in] | slice_min_digits | minimum number of digits slice number must have |
| [in] | internal_name | common label to all slices |
| [in] | data_name | to use in slice header |
| [in] | multi_threaded | true if libdar can spawn several thread to work |
+-top LIBDAR_STACK_LABEL_ +-------------------------------------------—+------------------—+ | [ generic_thread ] | | | compressor | | +-------------------------------------------—+------------------—+ | [ generic_thread ] | | | [ escape ] | | +– - - - - - - - - - - - - - - - - - - - - - -+------------------—+ | [ generic_thread (if crypt or scam is used) ]| | | cache | crypto_sym | scrambler | | | [ cache ] |_CACHE_PIPE | | trivial_sar | null_file | sar | | +-------------------------------------------—+------------------—+ +-bottom
| range libdar::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
| [in] | obj | a pointer to the object which data & EFSA is to be located |
| [in] | sl | slice layout of the archive |
| void libdar::macro_tools_open_archive | ( | user_interaction & | dialog, |
| memory_pool * | pool, | ||
| const 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
+-top LIBDAR_STACK_LABEL_ +-------------------------------------------—+------------------—+ | [ generic_thread ] |_UNCOMPRESSED | | compressor |v v v | +-------------------------------------------—+------------------—+ | [ generic_thread ] |_CLEAR | | [ escape ] |v v v | +-------------------------------------------—+v—v—v---------—+ | [ generic_thread ] |_UNCYPHERED | | [ cache ] | crypto_sym | scrambler |v v v | | [ tronc ] |LEVEL 1 | | trivial_sar | zapette | sar |v v v | +-------------------------------------------—+------------------—+ +-bottom
1.8.14