|
file | block_compressor.hpp |
| provide per block compression/decompression independant from libthreadar but single threaded
|
|
file | capabilities.hpp |
| provide information about current thread (underlying using the widthdrawn POSIX.1e API)
|
|
file | cat_status.hpp |
| the different status of data and EA
|
|
file | compressor.hpp |
| compression engine implementation
|
|
file | compressor_zstd.hpp |
| streaming compression implementation for zstd algorithm
|
|
file | crc.hpp |
| class crc definition, used to handle Cyclic Redundancy Checks
|
|
file | data_tree.hpp |
| base classes used to store entree information in dar_manager databases
|
|
file | ea.hpp |
| contains a set of routines to manage EA values associated to a file
|
|
file | entrepot_local.hpp |
| defines the implementation for local filesystem entrepot The entrepot_local correspond to the local filesystems.
|
|
file | etage.hpp |
| definition of the etage structure is done here
|
|
file | fichier_global.hpp |
| class fichier_global definition. This class is a pure virtual class class fichier_global is an abstraction of files objects whatever is their localisation like local filesystem, remote ftp server, etc. inherited classes (like fichier_local) provide full implementation
|
|
file | fichier_local.hpp |
| class fichier_local definition. This is a full implementation/inherited class of class fichier_global this type of object are generated by entrepot_local.
|
|
file | filesystem_ids.hpp |
| gather the ids of different filesystem to provide a filter based on filesystem
|
|
file | generic_file.hpp |
| class generic_file is defined here as well as class fichier
|
|
file | gf_mode.hpp |
| generic modes to open file
|
|
file | int_tools.hpp |
| elementary operation for infinint integers
|
|
file | mem_ui.hpp |
| class mem_ui definition. This class is to be used as parent class to handle user_interaction object management
|
|
file | memory_file.hpp |
| Memory_file is a generic_file class that only uses virtual memory.
|
|
file | parallel_block_compressor.hpp |
| provide per block and parallel compression/decompression
|
|
file | proto_compressor.hpp |
| abstracted ancestor class for compressor and parallel_compressor classes
|
|
file | proto_generic_file.hpp |
| precursor class of generic_file used to avoid cyclic dependencies with storage and infinint
|
|
file | storage.hpp |
| contains a class that permits arbitrary large data storage
|
|
file | tlv.hpp |
| Generic Type Length Value data structures.
|
|
file | tlv_list.hpp |
| List of Generic Type Length Value data structures.
|
|
file | tools.hpp |
| a set of general purpose routines
|
|
file | tuyau.hpp |
| defines the implementation of pipe under the generic_file interface.
|
|
file | wrapperlib.hpp |
| libz and libbz2 wrapper to have identical interface to these libraries.
|
|
file | block_compressor.hpp |
| provide per block compression/decompression independant from libthreadar but single threaded
|
|
file | bzip2_module.hpp |
| per block encryption using bzip2 algorithm/library
|
|
file | cache.hpp |
| contains the cache class
|
|
file | cache_global.hpp |
| adaptation of the cache class to the fichier_global interface
|
|
file | candidates.hpp |
| helper class for class data_tree to find the list of archive to restore for a given file
|
|
file | capabilities.hpp |
| provide information about current thread (underlying using the widthdrawn POSIX.1e API)
|
|
file | cat_all_entrees.hpp |
| include file gathering all entree found in a catalogue
|
|
file | cat_blockdev.hpp |
| class used to record block special devices in a catalogue
|
|
file | cat_chardev.hpp |
| class used to record character special devices in a catalogue
|
|
file | cat_delta_signature.hpp |
| class used to manage binary delta signature in catalogue and archive
|
|
file | cat_detruit.hpp |
| used to record information in a catalogue about a deleted file (differential backup context)
|
|
file | cat_device.hpp |
| parent class for all special devices inodes
|
|
file | cat_directory.hpp |
| class used to organize objects in tree in catalogue as like directories in a filesystem
|
|
file | cat_door.hpp |
| class used in a catalogue to store solaris door filesystem entries
|
|
file | cat_entree.hpp |
| base class for all object contained in a catalogue
|
|
file | cat_eod.hpp |
| object exchanged with a catalogue (never stored in it) to signal the end of a directory
|
|
file | cat_etoile.hpp |
| class holding an cat_inode object that get pointed by multiple mirage objects (smart pointers) to record hard links in a catalogue
|
|
file | cat_file.hpp |
| class used to record plain files in a catalogue
|
|
file | cat_ignored.hpp |
| class used to remember that an entry has been ignored and shall not be recorded as deleted using a detruit object in a catalogue
|
|
file | cat_ignored_dir.hpp |
| class used to remember in a catalogue that a cat_directory has been ignored
|
|
file | cat_inode.hpp |
| base object for all inode types, managed EA and FSA, dates, permissions, ownership, ...
|
|
file | cat_lien.hpp |
| class used to store symbolic links in a catalogue
|
|
file | cat_mirage.hpp |
| smart pointer to an etoile object. Used to store hard link information inside a catalogue
|
|
file | cat_nomme.hpp |
| base class of all objects contained in a catalogue and that can be named
|
|
file | cat_prise.hpp |
| class to record filesystem (UNIX) sockets in a catalogue
|
|
file | cat_signature.hpp |
| class used to write and read from archive the type and status of each entry in a catalogue
|
|
file | cat_status.hpp |
| the different status of data and EA
|
|
file | cat_tube.hpp |
| class to record named pipes in a catalogue
|
|
file | catalogue.hpp |
| here is defined the classe used to manage catalogue of archives
|
|
|
file | compress_module.hpp |
| provides abstracted interface of per-block compression/decompression
|
|
file | compressor.hpp |
| compression engine implementation
|
|
file | compressor_zstd.hpp |
| streaming compression implementation for zstd algorithm
|
|
file | contextual.hpp |
| class contextual adds the information of phases in the generic_file
|
|
file | crc.hpp |
| class crc definition, used to handle Cyclic Redundancy Checks
|
|
file | crypto_asym.hpp |
| the asymetric cryptographical algoritms relying on gpgme
|
|
file | crypto_module.hpp |
| per block cryptography implementation
|
|
file | crypto_segment.hpp |
| defines unit block of information ciphered as once
|
|
file | crypto_sym.hpp |
| class crypto_sym for symetrical cipherings
|
|
file | cygwin_adapt.h |
| thin C adaptation layer to Cygwin specifities
|
|
file | cygwin_adapt.hpp |
| thin C++ adaptation layer to Cygwin specifities
|
|
file | data_dir.hpp |
| classes used to store directory tree information in dar_manager databases
|
|
file | data_tree.hpp |
| base classes used to store entree information in dar_manager databases
|
|
|
file | defile.hpp |
| here is defined the defile class
|
|
file | ea.hpp |
| contains a set of routines to manage EA values associated to a file
|
|
file | ea_filesystem.hpp |
| filesystem dependent Extended Attributes operations
|
|
file | elastic.hpp |
| here is defined the elastic class
|
|
file | entrepot_local.hpp |
| defines the implementation for local filesystem entrepot The entrepot_local correspond to the local filesystems.
|
|
file | erreurs_ext.hpp |
| contains some additional exception class thrown by libdar
|
|
file | escape.hpp |
| class escape definition, used for sequential reading of archives
|
|
file | escape_catalogue.hpp |
| class escape_catalogue definition. Used for sequential writing to archives, as well as several other inherited classes from catalogue.hpp
|
|
file | etage.hpp |
| definition of the etage structure is done here
|
|
file | fichier_global.hpp |
| class fichier_global definition. This class is a pure virtual class class fichier_global is an abstraction of files objects whatever is their localisation like local filesystem, remote ftp server, etc. inherited classes (like fichier_local) provide full implementation
|
|
file | fichier_libcurl.hpp |
| class fichier_libcurl definition. This is a full implementation/inherited class of class fichier_global this type of object are generated by entrepot_libcurl.
|
|
file | fichier_local.hpp |
| class fichier_local definition. This is a full implementation/inherited class of class fichier_global this type of object are generated by entrepot_local.
|
|
file | filesystem_backup.hpp |
| filesystem_backup class realizes the interface with the filesystem for backing up
|
|
file | filesystem_diff.hpp |
| class filesystem_diff makes a flow of inode to feed the difference filter routine
|
|
file | filesystem_hard_link_read.hpp |
| filesystem_hard_link_read classes manages hardlinked inode read from filesystem
|
|
file | filesystem_hard_link_write.hpp |
| class filesystem_hard_link_write keeps trace of already written inode to restore hard links
|
|
file | filesystem_ids.hpp |
| gather the ids of different filesystem to provide a filter based on filesystem
|
|
file | filesystem_restore.hpp |
| class filesystem_restores create inodes from a flow of libdar objects
|
|
file | filesystem_specific_attribute.hpp |
| filesystem specific attributes
|
|
file | filesystem_tools.hpp |
| a set of tools used by filesystem_* classes
|
|
file | filtre.hpp |
| here is all the core routines for the operations
|
|
file | generic_file.hpp |
| class generic_file is defined here as well as class fichier
|
|
file | generic_file_overlay_for_gpgme.hpp |
| adaptation class from gpgme data buffer to libdar generic_file interface
|
|
file | generic_rsync.hpp |
| class generic_rsync provides a generic_file interface to librsync
|
|
file | generic_to_global_file.hpp |
| this class provides an fichier_global interface for any type of generic_file object
|
|
file | gf_mode.hpp |
| generic modes to open file
|
|
file | gzip_module.hpp |
| per block encryption using gzip algorithm/library
|
|
file | hash_fichier.hpp |
| class hash_fichier definition.
|
|
|
|
|
file | heap.hpp |
| heap data structure (relying on FIFO)
|
|
file | i_archive.hpp |
| the archive class implementation is defined in this module
|
|
file | i_database.hpp |
| this file holds the definition of class database implementation (pimpl idiom)
|
|
file | i_entrepot_libcurl.hpp |
| defines the implementation for remote filesystem entrepot using libcurl
|
|
file | i_libdar_xform.hpp |
| API for dar_xform functionnality.
|
|
file | int_tools.hpp |
| elementary operation for infinint integers
|
|
file | label.hpp |
| define the datastructure "label" used to identify slice membership to an archive
|
|
file | lz4_module.hpp |
| per block encryption using LZ4 algorithm/library
|
|
file | lzo_module.hpp |
| per block encryption using LZO algorithm/library
|
|
file | macro_tools.hpp |
| macroscopic tools for libdar internals
|
|
file | mem_block.hpp |
| structure to hold block of memory and manipulate in coherence with idexes and sizes
|
|
file | mem_ui.hpp |
| class mem_ui definition. This class is to be used as parent class to handle user_interaction object management
|
|
file | memory_file.hpp |
| Memory_file is a generic_file class that only uses virtual memory.
|
|
file | mycurl_easyhandle_node.hpp |
| used to optimize session creation done by libcurl
|
|
file | mycurl_easyhandle_sharing.hpp |
| used to optimize network session establised by libcurl
|
|
file | mycurl_param_list.hpp |
| wrapper for element a CURL* object can receive as parameter in order to be put in etherogeneous list
|
|
file | mycurl_slist.hpp |
| wrapper of the curl_slist struct to allow usual copy/move on C++ object
|
|
file | nls_swap.hpp |
| provides a set of macro to change the NLS from user application domaine to libdar domain and viceversa
|
|
file | null_file.hpp |
| /dev/null type file implementation under the generic_file interface
|
|
file | op_tools.hpp |
| contains tools helper for overwriting policy management
|
|
file | parallel_block_compressor.hpp |
| provide per block and parallel compression/decompression
|
|
file | parallel_tronconneuse.hpp |
| defines a block structured file.
|
|
file | pile.hpp |
| class pile definition. Used to manage a stack of generic_file objects
|
|
file | pile_descriptor.hpp |
| optimization structure to quickly access some commonly used layers of a stack of generic_file
|
|
file | proto_compressor.hpp |
| abstracted ancestor class for compressor and parallel_compressor classes
|
|
file | proto_generic_file.hpp |
| precursor class of generic_file used to avoid cyclic dependencies with storage and infinint
|
|
file | proto_tronco.hpp |
| defines common interface for tronconneuse and parallel_tronconneuse
|
|
file | sar.hpp |
| the sar and trivial_sar classes, they manage the slicing layer
|
|
file | sar_tools.hpp |
| a set of tools aims to help Segmentation And Reassemblement (sar) class
|
|
file | scrambler.hpp |
| contains the definition of the scrambler class, a very weak encryption scheme
|
|
file | secu_memory_file.hpp |
| secu_memory_file is a generic_file class that only uses secured memory (not swappable and zeroed after use)
|
|
file | semaphore.hpp |
| definition of class semaphore, used to manage invocation of backup hook for files
|
|
file | slave_zapette.hpp |
| remote control for dar_slave.
|
|
file | slice_layout.hpp |
| object describing the slicing of an archive
|
|
file | smart_pointer.hpp |
| template class implementing memory efficient smart pointer
|
|
file | sparse_file.hpp |
| class sparse_file definition, used to handle holes in files
|
|
file | storage.hpp |
| contains a class that permits arbitrary large data storage
|
|
file | terminateur.hpp |
| the terminateur class which defines the position of the catalogue
|
|
file | tlv.hpp |
| Generic Type Length Value data structures.
|
|
file | tlv_list.hpp |
| List of Generic Type Length Value data structures.
|
|
file | tools.hpp |
| a set of general purpose routines
|
|
file | trivial_sar.hpp |
| the trivial_sar classes manages the slicing layer when single slice is used
|
|
file | tronc.hpp |
| defines a limited segment over another generic_file.
|
|
file | tronconneuse.hpp |
| defines a block structured file.
|
|
file | trontextual.hpp |
| class trontextual is a contextual variant of class tronc
|
|
file | tuyau.hpp |
| defines the implementation of pipe under the generic_file interface.
|
|
file | tuyau_global.hpp |
| seekable pipe on top of another fichier_global
|
|
file | user_group_bases.hpp |
| defines class that speed up the uid to username and gid to group name lookup
|
|
file | wrapperlib.hpp |
| libz and libbz2 wrapper to have identical interface to these libraries.
|
|
file | xz_module.hpp |
| per block encryption using xz algorithm/library
|
|
file | zapette.hpp |
| remote control between dar and dar_slave.
|
|
file | zapette_protocol.hpp |
| protocol management between archive and libdar_slave classes
|
|
file | zstd_module.hpp |
| per block encryption using zstd algorithm/library
|
|
file | my_config.h |
| include macro defined by the configure script and some specific additional ones
|
|
|
capa_status | libdar::capability_LINUX_IMMUTABLE (user_interaction &ui, bool verbose) |
|
capa_status | libdar::capability_SYS_RESOURCE (user_interaction &ui, bool verbose) |
|
capa_status | libdar::capability_FOWNER (user_interaction &ui, bool verbose) |
|
capa_status | libdar::capability_CHOWN (user_interaction &ui, bool verbose) |
|
crc * | libdar::create_crc_from_file (proto_generic_file &f, bool old=false) |
| generate a CRC object reading it from file
|
|
crc * | libdar::create_crc_from_size (infinint width) |
| generate a CRC object with adhoc width based on a file size
|
|
const char * | libdar::generic_file_get_name (gf_mode mode) |
| provides a human readable string defining the gf_mode given in argument
|
|
void | libdar::int_tools_swap_bytes (unsigned char &a, unsigned char &b) |
|
void | libdar::int_tools_swap_bytes (unsigned char *a, U_I size) |
|
void | libdar::int_tools_expand_byte (unsigned char a, int_tools_bitfield &bit) |
|
void | libdar::int_tools_contract_byte (const int_tools_bitfield &b, unsigned char &a) |
|
template<class T > |
T | libdar::int_tools_rotate_right_one_bit (T v) |
|
template<class T > |
T | libdar::int_tools_maxof_aggregate (T unused) |
|
void | libdar::tools_init () |
| libdar internal use only: it is launched from get_version() and initializes tools internal variables
|
|
void | libdar::tools_end () |
| libdar internal use only: it is launched from close_and_clean() and releases tools internal variables
|
|
void | libdar::tools_write_string (generic_file &f, const std::string &s) |
| write a string to a file with a '\0' at then end
|
|
void | libdar::tools_read_string (generic_file &f, std::string &s) |
| read a string from a file expecting it to terminate by '\0'
|
|
void | libdar::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
|
|
void | libdar::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
|
|
infinint | libdar::tools_get_filesize (const path &p) |
| retrieve the size in byte of a file
|
|
std::string | libdar::tools_display_integer_in_metric_system (infinint number, const std::string &unit, bool binary) |
|
std::string::iterator | libdar::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
|
|
void | libdar::tools_blocking_read (int fd, bool mode) |
| set blocking/not blocking mode for reading on a file descriptor
|
|
std::string | libdar::tools_name_of_uid (const infinint &uid) |
| convert uid to name in regards to the current system's configuration
|
|
std::string | libdar::tools_name_of_gid (const infinint &gid) |
| convert gid to name in regards of the current system's configuration
|
|
std::string | libdar::tools_uword2str (U_16 x) |
| convert unsigned word to string
|
|
std::string | libdar::tools_int2str (S_I x) |
| convert integer to string
|
|
std::string | libdar::tools_uint2str (U_I x) |
|
std::string | libdar::tools_addspacebefore (std::string s, U_I expected_size) |
| prepend spaces before the given string
|
|
std::string | libdar::tools_display_date (const datetime &date) |
| convert a date in second to its human readable representation
|
|
char * | libdar::tools_str2charptr (const std::string &x) |
| convert a string to a char *
|
|
U_I | libdar::tools_str2int (const std::string &x) |
| convert an integer written in decimal notation to the corresponding value
|
|
void | libdar::tools_system (user_interaction &dialog, const std::vector< std::string > &argvector) |
| wrapper to the "system" system call.
|
|
void | libdar::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
|
|
void | libdar::tools_write_vector (generic_file &f, const std::vector< std::string > &x) |
| write a list of string to file
|
|
void | libdar::tools_read_vector (generic_file &f, std::vector< std::string > &x) |
| read a list of string from a file
|
|
std::string | libdar::tools_concat_vector (const std::string &separator, const std::vector< std::string > &x) |
| concatenate a vectors of strings in a single string
|
|
std::vector< std::string > | libdar::operator+ (std::vector< std::string > a, std::vector< std::string > b) |
| concatenate two vectors
|
|
bool | libdar::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
|
|
template<class T > |
std::vector< T > | libdar::operator+= (std::vector< T > &a, const std::vector< T > &b) |
| template function to add two vectors
|
|
std::string | libdar::tools_readlink (const char *root) |
| returns the file pointed to by a symbolic link (or transparent if the file is not a symlink).
|
|
void | libdar::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
|
|
void | libdar::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
|
|
bool | libdar::tools_is_case_insensitive_equal (const std::string &a, const std::string &b) |
| compare two string in case insensitive manner
|
|
void | libdar::tools_to_upper (const std::string &r, std::string &uppered) |
| convert a string to upper case
|
|
std::string | libdar::tools_printf (const char *format,...) |
| make printf-like formating to a std::string
|
|
std::string | libdar::tools_vprintf (const char *format, va_list ap) |
| make printf-like formating to a std::string
|
|
bool | libdar::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)
|
|
void | libdar::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
|
|
void | libdar::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
|
|
bool | libdar::tools_are_on_same_filesystem (const std::string &file1, const std::string &file2) |
| tells whether two files are on the same mounted filesystem
|
|
path | libdar::tools_relative2absolute_path (const path &src, const path &cwd) |
| transform a relative path to an absolute one given the current directory value
|
|
void | libdar::tools_block_all_signals (sigset_t &old_mask) |
| block all signals (based on POSIX sigprocmask)
|
|
void | libdar::tools_set_back_blocked_signals (sigset_t old_mask) |
| unblock signals according to given mask
|
|
U_I | libdar::tools_count_in_string (const std::string &s, const char a) |
| counts the number of a given char in a given string
|
|
datetime | libdar::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
|
|
infinint | libdar::tools_get_size (const std::string &s) |
| returns the size of the given plain file
|
|
infinint | libdar::tools_get_extended_size (std::string s, U_I base) |
| convert the given string to infinint taking care of multiplication suffixes like k, M, T, etc.
|
|
std::string | libdar::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
|
|
std::string | libdar::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
|
|
void | libdar::tools_hook_execute (user_interaction &ui, const std::string &cmd_line) |
| execute and retries at user will a given command line
|
|
void | libdar::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
|
|
std::string | libdar::tools_output2xml (const std::string &src) |
| convert string for xml output
|
|
U_I | libdar::tools_octal2int (const std::string &perm) |
| convert octal string to integer
|
|
std::string | libdar::tools_int2octal (const U_I &perm) |
| convert a number to a string corresponding to its octal representation
|
|
char | libdar::tools_cast_type_to_unix_type (char type) |
| change the libdar internal type representation to the usual unix char type
|
|
std::string | libdar::tools_get_permission_string (char type, U_32 perm, bool hard) |
| convert a permission number into its string representation (rwxrwxrwx)
|
|
void | libdar::tools_set_permission (S_I fd, U_I perm) |
| change the permission of the file which descriptor is given
|
|
U_I | libdar::tools_get_permission (S_I fd) |
| obtain the permission of the file which descriptor is given
|
|
uid_t | libdar::tools_ownership2uid (const std::string &user) |
| change ownership of the file which descriptor is given
|
|
uid_t | libdar::tools_ownership2gid (const std::string &group) |
| convert string group name or gid to numeric gid value
|
|
void | libdar::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
|
|
void | libdar::tools_memxor (void *dest, const void *src, U_I n) |
| Produces in "dest" the XORed value of "dest" and "src".
|
|
tlv_list | libdar::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.
|
|
U_I | libdar::tools_pseudo_random (U_I max) |
| Produces a pseudo random number x, where 0 <= x < max.
|
|
template<class N , class B > |
std::deque< B > | libdar::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.)
|
|
std::string | libdar::tools_unsigned_char_to_hexa (unsigned char x) |
| convert a unsigned char into its hexa decima representation
|
|
std::string | libdar::tools_string_to_hexa (const std::string &input) |
| convert a string into its hexadecima representation
|
|
infinint | libdar::tools_file_size_to_crc_size (const infinint &size) |
| Defines the CRC size to use for a given filesize.
|
|
std::string | libdar::tools_getcwd () |
| get current working directory
|
|
std::string | libdar::tools_get_compression_ratio (const infinint &storage_size, const infinint &file_size, bool compressed) |
| return the string about compression ratio
|
|
std::string | libdar::tools_strerror_r (int errnum) |
| wrapper routine to strerror_r
|
|
void | libdar::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 | libdar::tools_max (T a, T b) |
|
template<class T > |
T | libdar::tools_min (T a, T b) |
|
void | libdar::tools_unlink (const std::string &filename) |
| remove from filesystem the file which path is given
|
|
std::string | libdar::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 | libdar::tools_infinint2U_64 (infinint val, U_64 &res) |
| convert an infinint to U_64 (aka "uint64_t" or yet "unsigned long long")
|
|
bool | libdar::tools_my_atoi (const char *a, U_I &val) |
| ascii to integer conversion
|
|
infinint | libdar::tools_double2infinint (double arg) |
| convert a double (float) to infinint (integer) taking care of rounding it to the closest value
|
|
template<class T > |
void | libdar::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
|
|
infinint | libdar::tools_upper_rounded_log2 (const infinint &ref) |
| compute an approximate log2 of the argument
|
|
infinint | libdar::tools_lower_rounded_exp2 (const infinint &ref) |
| compute an approximate exp2 of the argument
|
|
infinint | libdar::tools_rounded_square_root (const infinint &ref) |
| compute an approximate square root of the argument
|
|
infinint | libdar::tools_rounded_cube_root (const infinint &ref) |
| compute an approximate cube root of the argument
|
|
const char * | libdar::cat_entree_signature2string (unsigned char sign) |
| convert a signature char to a human readable string
|
|
bool | libdar::crypto_min_ver_libgcrypt_no_bug () |
|
generic_file * | libdar::database_header_create (const std::shared_ptr< user_interaction > &dialog, const std::string &filename, bool overwrite, compression algozip, U_I compr_level) |
| create the header for a dar_manager database
|
|
generic_file * | libdar::database_header_open (const std::shared_ptr< user_interaction > &dialog, const std::string &filename, unsigned char &db_version, compression &algozip, U_I &compr_level) |
| read the header of a dar_manager database
|
|
const unsigned char | libdar::database_header_get_supported_version () |
|
ea_attributs * | libdar::ea_filesystem_read_ea (const std::string &chemin, const mask &filter) |
| read EA associated to a given file
|
|
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
|
|
void | libdar::ea_filesystem_clear_ea (const std::string &name, const mask &filter) |
| remove all EA of a given file that match a given mask
|
|
bool | libdar::ea_filesystem_has_ea (const std::string &name) |
| test the presence of EA for a given file
|
|
bool | libdar::ea_filesystem_has_ea (const std::string &name, const mask &filter) |
| test the presence of EA for a given file
|
|
template<class T > |
T * | libdar::cloner (const T *x) |
|
bool | libdar::filesystem_tools_has_immutable (const cat_inode &arg) |
|
void | libdar::filesystem_tools_set_immutable (const std::string &target, bool val, user_interaction &ui) |
|
void | libdar::filesystem_tools_supprime (user_interaction &ui, const std::string &ref) |
|
void | libdar::filesystem_tools_widen_perm (user_interaction &dialog, const cat_inode &ref, const std::string &chem, comparison_fields what_to_check) |
|
void | libdar::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 | libdar::filesystem_tools_make_date (const cat_inode &ref, const std::string &chem, comparison_fields what_to_check, const fsa_scope &scope) |
|
void | libdar::filesystem_tools_attach_ea (const std::string &chemin, cat_inode *ino, const mask &ea_mask) |
|
bool | libdar::filesystem_tools_is_nodump_flag_set (user_interaction &dialog, const path &chem, const std::string &filename, bool info) |
|
path * | libdar::filesystem_tools_get_root_with_symlink (user_interaction &dialog, const path &root, bool info_details) |
|
mode_t | libdar::filesystem_tools_get_file_permission (const std::string &path) |
|
void | libdar::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 * | libdar::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
|
|
void | libdar::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) |
|
bool | libdar::filesystem_tools_read_linux_birthtime (const std::string &target, datetime &val) |
| read the birthtime of target inode
|
|
void | libdar::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, bool ignore_unix_sockets) |
|
void | libdar::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, const filesystem_ids &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 | libdar::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 | libdar::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 | libdar::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 | libdar::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
|
|
void | libdar::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 | libdar::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
|
|
void | libdar::filtre_sequentially_read_all_catalogue (catalogue &cat, const std::shared_ptr< user_interaction > &dialog, bool lax_read_mode) |
|
| libdar::header_flags::header_flags (generic_file &f) |
|
| libdar::header_flags::header_flags (const header_flags &ref)=default |
|
| libdar::header_flags::header_flags (header_flags &&ref) noexcept=default |
|
header_flags & | libdar::header_flags::operator= (const header_flags &ref)=default |
|
header_flags & | libdar::header_flags::operator= (header_flags &&ref) noexcept=default |
|
void | libdar::header_flags::set_bits (U_I bitfield) |
| add all the bits set to 1 in the argument
|
|
void | libdar::header_flags::unset_bits (U_I bitfield) |
| remove all the bits set to in in the argument
|
|
bool | libdar::header_flags::is_set (U_I bitfield) const |
| return true if all bits of the argument set to 1, are set in this header_flags
|
|
void | libdar::header_flags::read (generic_file &f) |
| set the header_flags from a generic_file
|
|
void | libdar::header_flags::dump (generic_file &f) const |
| dump the header_flags to generic_file
|
|
void | libdar::header_flags::clear () |
| clear all flags
|
|
bool | libdar::header_flags::is_all_cleared () |
| whether all bits are cleared
|
|
static bool | libdar::header_flags::has_an_lsb_set (U_I bitfield) |
|
| libdar::header_version::header_version (const header_version &ref) |
|
| libdar::header_version::header_version (header_version &&ref) noexcept |
|
header_version & | libdar::header_version::operator= (const header_version &ref) |
|
header_version & | libdar::header_version::operator= (header_version &&ref) noexcept |
|
void | libdar::header_version::read (generic_file &f, user_interaction &dialog, bool lax_mode) |
| read the header or trailer from the archive
|
|
void | libdar::header_version::write (generic_file &f) const |
| write down the object to the archive (as header if wrote at the beginning of the archive, as trailer is at the end)
|
|
void | libdar::header_version::set_edition (const archive_version &ed) |
|
void | libdar::header_version::set_compression_algo (const compression &zip) |
|
void | libdar::header_version::set_command_line (const std::string &line) |
|
void | libdar::header_version::set_initial_offset (const infinint &offset) |
|
void | libdar::header_version::set_sym_crypto_algo (const crypto_algo &algo) |
|
void | libdar::header_version::set_crypted_key (memory_file *key) |
| the object pointed to by key passes to the responsibility of this header_version object
|
|
void | libdar::header_version::clear_crypted_key () |
|
void | libdar::header_version::set_slice_layout (slice_layout *layout) |
| the object pointed to by layout is passed under the responsibility of this header_version object
|
|
void | libdar::header_version::clear_slice_layout () |
|
void | libdar::header_version::set_tape_marks (bool presence) |
|
void | libdar::header_version::set_signed (bool is_signed) |
|
void | libdar::header_version::set_salt (const std::string &arg) |
|
void | libdar::header_version::set_iteration_count (const infinint &arg) |
|
void | libdar::header_version::set_kdf_hash (hash_algo algo) |
|
void | libdar::header_version::set_compression_block_size (const infinint &bs) |
|
const archive_version & | libdar::header_version::get_edition () const |
|
compression | libdar::header_version::get_compression_algo () const |
|
const std::string & | libdar::header_version::get_command_line () const |
|
const infinint & | libdar::header_version::get_initial_offset () const |
|
bool | libdar::header_version::is_ciphered () const |
|
bool | libdar::header_version::is_signed () const |
|
crypto_algo | libdar::header_version::get_sym_crypto_algo () const |
|
std::string | libdar::header_version::get_sym_crypto_name () const |
|
std::string | libdar::header_version::get_asym_crypto_name () const |
|
memory_file * | libdar::header_version::get_crypted_key () const |
|
const slice_layout * | libdar::header_version::get_slice_layout () const |
|
bool | libdar::header_version::get_tape_marks () const |
|
const std::string & | libdar::header_version::get_salt () const |
|
const infinint & | libdar::header_version::get_iteration_count () const |
|
hash_algo | libdar::header_version::get_kdf_hash () const |
|
const infinint & | libdar::header_version::get_compression_block_size () const |
|
void | libdar::header_version::display (user_interaction &dialg) const |
|
void | libdar::header_version::clear () |
|
void | libdar::header_version::nullifyptr () noexcept |
|
void | libdar::header_version::copy_from (const header_version &ref) |
|
void | libdar::header_version::move_from (header_version &&ref) noexcept |
|
void | libdar::header_version::detruit () |
|
trivial_sar * | libdar::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 | libdar::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, U_I multi_threaded_crypto, U_I multi_threaded_compress, bool header_only) |
| setup the given pile object to contain a stack of generic_files suitable to read an archive
|
|
catalogue * | libdar::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 * | libdar::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 * | libdar::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 * | libdar::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 | libdar::macro_tools_get_terminator_start (generic_file &f, const archive_version &reading_ver) |
|
void | libdar::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, U_I compression_block_size, 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, U_I multi_threaded_crypto, U_I multi_threaded_compress) |
| build layers for a new archive
|
|
void | libdar::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
|
|
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
|
|
void | libdar::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.
|
|
proto_compressor * | libdar::macro_tools_build_streaming_compressor (compression algo, generic_file &base, U_I compression_level, U_I num_workers) |
| return a proto_compressor object realizing the desired (de)compression level/aglo on top of "base" in streaming mode
|
|
proto_compressor * | libdar::macro_tools_build_block_compressor (compression algo, generic_file &base, U_I compression_level, U_I num_workers, U_I block_size) |
| return a proto_compressor object realizing the desired (de)compression level/algo on to of "base" in block mode
|
|
over_action_ea | libdar::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
|
|
over_action_ea | libdar::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
|
|
over_action_data | libdar::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
|
|
void | libdar::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
|
|
std::string | libdar::sar_tools_make_filename (const std::string &base_name, const infinint &num, const infinint &min_digits, const std::string &ext) |
|
bool | libdar::sar_tools_extract_num (const std::string &filename, const std::string &base_name, const infinint &min_digits, const std::string &ext, infinint &ret) |
|
bool | libdar::sar_tools_get_higher_number_in_dir (user_interaction &ui, entrepot &entr, const std::string &base_name, const infinint &min_digits, const std::string &ext, infinint &ret) |
|
void | libdar::sar_tools_remove_higher_slices_than (entrepot &entr, const std::string &base_name, const infinint &min_digits, const std::string &ext, const infinint &higher_slice_num_to_keep, user_interaction &ui) |
|
std::string | libdar::sar_tools_make_padded_number (const std::string &num, const infinint &min_digits) |
|
std::string | libdar::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
|
|
void | libdar::storage::iterator::skip_plus_one () |
|
void | libdar::storage::iterator::skip_less_one () |
|
std::unique_ptr< T > | libdar::heap< T >::get () |
|
void | libdar::heap< T >::put (std::unique_ptr< T > &&obj) |
|
void | libdar::heap< T >::put (std::deque< std::unique_ptr< T > > &list) |
|
template<class T > |
bool | libdar::pile::pop_and_close_if_type_is (T *ptr) |
| remove the top generic_file and destroy it
|
|
template<class T > |
void | libdar::pile::find_first_from_top (T *&ref) const |
| this template let the class user find out the higher object on the stack of the given type
|
|
template<class T > |
void | libdar::pile::find_first_from_bottom (T *&ref) const |
| this template is similar to the template "find_first_from_top" except that the search is started from the bottom of the stack
|
|
Libdar internal symbols.
Understanding this is not necessary to use libdar through the API. This is libdar internal code documentation
Understanding this is not necessary to use libdar through the API. This is libdar internal code documentation