File List
Here is a list of all documented files with brief descriptions:

src |
dar_suite |
command_line.hpp | Routing in charge of the command-line and included files parsing
config_file.hpp | Specific routines to manages included files's targets
crit_action_cmd_line.hpp | Routines to convert command-line overwriting criterium to their crit_action counterparts
dar.hpp | Main module for dar command-line tool
dar_suite.hpp | Routine to manage CLI's common initialization and ultimate exception catching
getopt_decision.h | Switch routine to define which file to include based on the result of the configure script
hide_file.hpp | Class of base to split files in words
line_tools.hpp | Set of general command line targeted routines
my_getopt_long.h | May lead to the definition of getopt_long to solve declaration conflicts in <unistd.h> and <getopt.h>
no_comment.hpp | Class that transparently strips out the comments from configuration file
libdar |
archive.hpp | Archive class is defined in this module
archive5.hpp | API v5 backward compatible class archive
archive_aux.hpp | Set of datastructures used to interact with a catalogue object
archive_listing_callback.hpp | Definition of the user defined callback function used for archive listing
archive_num.hpp | Class storing the position of an archive inside a database
archive_options.hpp | This file contains a set of classes used to transmit options to archive operation
archive_options5.hpp | API v5 compatible archive_options_* classes
archive_options_listing_shell.hpp | This file contains shell_interaction options class for listing
archive_summary.hpp | Datastructure returned by archive::summary_data
archive_version.hpp | Class archive_version that rules which archive format to follow
block_compressor.hpp | Provide per block compression/decompression independant from libthreadar but single threaded
bzip2_module.hpp | Per block encryption using bzip2 algorithm/library
cache.hpp | Cache class
cache_global.hpp | Adaptation of the cache class to the fichier_global interface
candidates.hpp | Helper class for class data_tree to find the list of archive to restore for a given file
capabilities.hpp | Provide information about current thread (underlying using the widthdrawn POSIX.1e API)
cat_all_entrees.hpp | Include file gathering all entree found in a catalogue
cat_blockdev.hpp | Class used to record block special devices in a catalogue
cat_chardev.hpp | Class used to record character special devices in a catalogue
cat_delta_signature.hpp | Class used to manage binary delta signature in catalogue and archive
cat_detruit.hpp | Used to record information in a catalogue about a deleted file (differential backup context)
cat_device.hpp | Parent class for all special devices inodes
cat_directory.hpp | Class used to organize objects in tree in catalogue as like directories in a filesystem
cat_door.hpp | Class used in a catalogue to store solaris door filesystem entries
cat_entree.hpp | Base class for all object contained in a catalogue
cat_eod.hpp | Object exchanged with a catalogue (never stored in it) to signal the end of a directory
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
cat_file.hpp | Class used to record plain files in a catalogue
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
cat_ignored_dir.hpp | Class used to remember in a catalogue that a cat_directory has been ignored
cat_inode.hpp | Base object for all inode types, managed EA and FSA, dates, permissions, ownership, ..
cat_lien.hpp | Class used to store symbolic links in a catalogue
cat_mirage.hpp | Smart pointer to an etoile object. Used to store hard link information inside a catalogue
cat_nomme.hpp | Base class of all objects contained in a catalogue and that can be named
cat_prise.hpp | Class to record filesystem (UNIX) sockets in a catalogue
cat_signature.hpp | Class used to write and read from archive the type and status of each entry in a catalogue
cat_status.hpp | Different status of data and EA
cat_tube.hpp | Class to record named pipes in a catalogue
catalogue.hpp | Here is defined the classe used to manage catalogue of archives
compile_time_features.hpp | Nested namespace containing routines that give features activated at compile time
compress_block_header.hpp | Block header used for compression per block
compress_module.hpp | Abstracted interface of per-block compression/decompression
compression.hpp | Compression parameters for API
compressor.hpp | Compression engine implementation
compressor_zstd.hpp | Streaming compression implementation for zstd algorithm
contextual.hpp | Class contextual adds the information of phases in the generic_file
crc.hpp | Class crc definition, used to handle Cyclic Redundancy Checks
crit_action.hpp | Classes that let the user define the policy for overwriting files
criterium.hpp | Classes that let the user define the policy for overwriting files
crypto.hpp | Crypto algoritm definition
crypto_asym.hpp | Asymetric cryptographical algoritms relying on gpgme
crypto_module.hpp | Per block cryptography implementation
crypto_segment.hpp | Defines unit block of information ciphered as once
crypto_sym.hpp | Class crypto_sym for symetrical cipherings
cygwin_adapt.h | Thin C adaptation layer to Cygwin specifities
cygwin_adapt.hpp | Thin C++ adaptation layer to Cygwin specifities
data_dir.hpp | Classes used to store directory tree information in dar_manager databases
data_tree.hpp | Base classes used to store entree information in dar_manager databases
database.hpp | This file holds the database class definition
database5.hpp | This file holds the database class definition as defined in API version 5
database_archives.hpp | This file stores the list of archives a database has been built from. it is part of the database header
database_aux.hpp | Set of datastructures used to interact with a database object
database_header.hpp | Defines the database structure in file
database_listing_callback.hpp | Definition of the user defined callback function used for database listing
database_options.hpp | This file holds the options for database operations
datetime.hpp | This file contains the definition of class datetime that stores unix times in a portable way
deci.hpp | Manages the decimal representation of infinint
defile.hpp | Here is defined the defile class
delta_sig_block_size.hpp | Structure used to define how to select block size for delta signature
ea.hpp | Set of routines to manage EA values associated to a file
ea_filesystem.hpp | Filesystem dependent Extended Attributes operations
elastic.hpp | Here is defined the elastic class
entree_stats.hpp | Datastructure holding the nature of file present in a given archive
entrepot.hpp | Defines the entrepot interface
entrepot_libcurl.hpp | Defines the implementation for remote filesystem entrepot using libcurl
entrepot_libcurl5.hpp | Defines the implementation for remote filesystem entrepot using libcurl

entrepot_local.hpp

Defines the implementation for local filesystem entrepot The entrepot_local is the only implementation of an entrepot class present in libdar. It correspond to local filesystems. The reason of existence of the entrepot stuff is to allow external application like webdar to drop/read slices over the network using FTP protocol for example. External applications only have to define Their own implementation of the entrepot interface and file-like objects they generates (inherited from class fichier_global), libdar uses them throught the generic interface. This avoids having network related stuff inside libdar, which for security reason and functions/roles separation would not be a good idea

erreurs.hpp | All the excetion class thrown by libdar
erreurs_ext.hpp | Some additional exception class thrown by libdar
escape.hpp | Class escape definition, used for sequential reading of archives
escape_catalogue.hpp | Class escape_catalogue definition. Used for sequential writing to archives, as well as several other inherited classes from catalogue.hpp
etage.hpp | Definition of the etage structure is done here
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
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
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
filesystem_backup.hpp | Filesystem_backup class realizes the interface with the filesystem for backing up
filesystem_diff.hpp | Class filesystem_diff makes a flow of inode to feed the difference filter routine
filesystem_hard_link_read.hpp | Filesystem_hard_link_read classes manages hardlinked inode read from filesystem
filesystem_hard_link_write.hpp | Class filesystem_hard_link_write keeps trace of already written inode to restore hard links
filesystem_ids.hpp | Gather the ids of different filesystem to provide a filter based on filesystem
filesystem_restore.hpp | Class filesystem_restores create inodes from a flow of libdar objects
filesystem_specific_attribute.hpp | Filesystem specific attributes
filesystem_tools.hpp | Set of tools used by filesystem_* classes
filtre.hpp | Here is all the core routines for the operations
fsa_family.hpp | Filesystem specific attributes available families and fsa_scope definition
generic_file.hpp | Class generic_file is defined here as well as class fichier
generic_file_overlay_for_gpgme.hpp | Adaptation class from gpgme data buffer to libdar generic_file interface
generic_rsync.hpp | Class generic_rsync provides a generic_file interface to librsync
generic_to_global_file.hpp | This class provides an fichier_global interface for any type of generic_file object
get_version.hpp | Routine to initialize libdar and manage its running threads
gf_mode.hpp | Generic modes to open file
gzip_module.hpp | Per block encryption using gzip algorithm/library
hash_fichier.hpp | Class hash_fichier definition
header.hpp | Slice header structure is defined here
header_flags.hpp | Archive header flag field management
header_version.hpp | Archive global header/trailer structure is defined here
heap.hpp | Heap data structure (relying on FIFO)
i_archive.hpp | Archive class implementation is defined in this module
i_database.hpp | This file holds the definition of class database implementation (pimpl idiom)
i_entrepot_libcurl.hpp | Defines the implementation for remote filesystem entrepot using libcurl
i_libdar_xform.hpp | API for dar_xform functionnality
infinint.hpp | Switch module to limitint (32 ou 64 bits integers) or infinint
int_tools.hpp | Elementary operation for infinint integers
integers.hpp | Are defined here basic integer types that tend to be portable
label.hpp | Define the datastructure "label" used to identify slice membership to an archive
libdar.hpp | Main file of the libdar API definitions
libdar5.hpp | Backward compatibility to libdar API 5
libdar_slave.hpp | API for dar_slave functionnality
libdar_xform.hpp | API for dar_xform functionnality
limitint.hpp | Reviewed implementation of infinint based on system limited integers
list_entry.hpp | Class of objects describing an entry in the archive, used by archive::get_children_in_table
lz4_module.hpp | Per block encryption using LZ4 algorithm/library
lzo_module.hpp | Per block encryption using LZO algorithm/library
macro_tools.hpp | Macroscopic tools for libdar internals
mask.hpp | Here lies a collection of mask classes
mask_list.hpp | Here lies a mask that selects files present in a given list
mem_block.hpp | Structure to hold block of memory and manipulate in coherence with idexes and sizes
mem_ui.hpp | Class mem_ui definition. This class is to be used as parent class to handle user_interaction object management
memory_file.hpp | Memory_file is a generic_file class that only uses virtual memory
mycurl_easyhandle_node.hpp | Used to optimize session creation done by libcurl
mycurl_easyhandle_sharing.hpp | Used to optimize network session establised by libcurl
mycurl_param_list.hpp | Wrapper for element a CURL* object can receive as parameter in order to be put in etherogeneous list
mycurl_protocol.hpp | Datastructure defining the network protocols available for entrepot_libcurl class
mycurl_slist.hpp | Wrapper of the curl_slist struct to allow usual copy/move on C++ object
nls_swap.hpp | Set of macro to change the NLS from user application domaine to libdar domain and viceversa
null_file.hpp | /dev/null type file implementation under the generic_file interface
op_tools.hpp | Tools helper for overwriting policy management
parallel_block_compressor.hpp | Provide per block and parallel compression/decompression
parallel_tronconneuse.hpp | Defines a block structured file
path.hpp | Here is the definition of the path class
pile.hpp | Class pile definition. Used to manage a stack of generic_file objects
pile_descriptor.hpp | Optimization structure to quickly access some commonly used layers of a stack of generic_file
proto_compressor.hpp | Abstracted ancestor class for compressor and parallel_compressor classes
proto_generic_file.hpp | Precursor class of generic_file used to avoid cyclic dependencies with storage and infinint
proto_tronco.hpp | Defines common interface for tronconneuse and parallel_tronconneuse
range.hpp | Class than provide a way to manipulate and represent range of integer numbers (infinint)
real_infinint.hpp | Original infinint class implementation
sar.hpp | Sar and trivial_sar classes, they manage the slicing layer
sar_tools.hpp | Set of tools aims to help Segmentation And Reassemblement (sar) class
scrambler.hpp | Definition of the scrambler class, a very weak encryption scheme
secu_memory_file.hpp | Secu_memory_file is a generic_file class that only uses secured memory (not swappable and zeroed after use)
secu_string.hpp | This file contains the definition of secu_string class, a std::string like class but allocated in secure memory
semaphore.hpp | Definition of class semaphore, used to manage invocation of backup hook for files
shell_interaction.hpp | User_interaction class used by default
shell_interaction_emulator.hpp | Wrapper class that given a user_interaction send it the shell_interaction formatted output
slave_zapette.hpp | Remote control for dar_slave
slice_layout.hpp | Object describing the slicing of an archive
smart_pointer.hpp | Template class implementing memory efficient smart pointer
sparse_file.hpp | Class sparse_file definition, used to handle holes in files
statistics.hpp | Class handling access to the data summary of treated files after and during each operation
storage.hpp | Class that permits arbitrary large data storage
terminateur.hpp | Terminateur class which defines the position of the catalogue
thread_cancellation.hpp | To be able to cancel libdar operation while running in a given thread
tlv.hpp | Generic Type Length Value data structures
tlv_list.hpp | List of Generic Type Length Value data structures
tools.hpp | Set of general purpose routines
trivial_sar.hpp | Trivial_sar classes manages the slicing layer when single slice is used
tronc.hpp | Defines a limited segment over another generic_file
tronconneuse.hpp | Defines a block structured file
trontextual.hpp | Class trontextual is a contextual variant of class tronc
tuyau.hpp | Defines the implementation of pipe under the generic_file interface
tuyau_global.hpp | Seekable pipe on top of another fichier_global
user_group_bases.hpp | Defines class that speed up the uid to username and gid to group name lookup
user_interaction.hpp | Defines the interaction interface between libdar and users
user_interaction5.hpp | API v5 backward compatible class user_interaction
user_interaction_blind.hpp | Defines the interaction between libdar and a non communcant "blind" user
user_interaction_callback.hpp | Defines the interaction between libdar and the user based on callback functions
user_interaction_callback5.hpp | API v5 backward compatible user_interaction_callback class
wrapperlib.hpp | Libz and libbz2 wrapper to have identical interface to these libraries
xz_module.hpp | Per block encryption using xz algorithm/library
zapette.hpp | Remote control between dar and dar_slave
zapette_protocol.hpp | Protocol management between archive and libdar_slave classes
zstd_module.hpp | Per block encryption using zstd algorithm/library
gettext.h |
my_config.h | Include macro defined by the configure script and some specific additional ones
config.h |