Disk ARchive  2.6.8
Full featured and portable backup and archiving tool
compile_time_features.hpp
Go to the documentation of this file.
1 /*********************************************************************/
2 // dar - disk archive - a backup/restoration program
3 // Copyright (C) 2002-2020 Denis Corbin
4 //
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 //
19 // to contact the author : http://dar.linux.free.fr/email.html
20 /*********************************************************************/
21 
25 
26 
27 #ifndef COMPILE_TIME_FEATURES_HPP
28 #define COMPILE_TIME_FEATURES_HPP
29 
30 #include "../my_config.h"
31 
32 namespace libdar
33 {
34 
37 
39 
43 
44  namespace compile_time
45  {
47  bool ea() noexcept;
48 
50  bool largefile() noexcept;
51 
53  bool nodump() noexcept;
54 
56 
59  bool special_alloc() noexcept;
60 
62 
64  U_I bits() noexcept;
65 
67  bool thread_safe() noexcept;
68 
70  bool libz() noexcept;
71 
73  bool libbz2() noexcept;
74 
76  bool liblzo() noexcept;
77 
79  bool libxz() noexcept;
80 
82  bool libgcrypt() noexcept;
83 
85  bool furtive_read() noexcept;
86 
88  enum endian
89  {
90  big = 'B', //< big endian
91  little = 'L', //< little endian
92  error = 'E' //< neither big nor little endian! (libdar cannot run on such system)
93  };
94 
96  endian system_endian() noexcept;
97 
99  bool posix_fadvise() noexcept;
100 
102  bool fast_dir() noexcept;
103 
105  bool FSA_linux_extX() noexcept;
106 
108  bool FSA_birthtime() noexcept;
109 
111  bool microsecond_read() noexcept;
112 
114  bool microsecond_write() noexcept;
115 
117  bool symlink_restore_dates() noexcept;
118 
120  bool public_key_cipher() noexcept;
121 
123  bool libthreadar() noexcept;
124 
126  std::string libthreadar_version() noexcept;
127 
129  bool librsync() noexcept;
130 
132  bool remote_repository() noexcept;
133 
134  } // end of compile_time namespace
135 
137 
138 } // end of libdar namespace
139 
140 #endif
libdar::compile_time::bits
U_I bits() noexcept
returns the internal integer type used
libdar::compile_time::system_endian
endian system_endian() noexcept
returns the detected integer endian of the system
libdar::compile_time::FSA_birthtime
bool FSA_birthtime() noexcept
returns whether libdar has been built with support for HFS+ FSA
libdar::compile_time::FSA_linux_extX
bool FSA_linux_extX() noexcept
returns whether libdar has been built with support for linux ext2/3/4 FSA
libdar::compile_time::microsecond_read
bool microsecond_read() noexcept
returns whether libdar is able to read timestamps at a microsecond accuracy
libdar::compile_time::nodump
bool nodump() noexcept
returns whether nodump flag support has been activated at compilation time
libdar::compile_time::symlink_restore_dates
bool symlink_restore_dates() noexcept
returns whether libdar is able to restore dates of symlinks
libdar::compile_time::libz
bool libz() noexcept
returns whether libdar is dependent on libz and if so has gzip compression/decompression available
libdar::compile_time::libbz2
bool libbz2() noexcept
returns whether libdar is dependent on libbz2 and if so has bzip2 compression/decompression available
libdar::compile_time::special_alloc
bool special_alloc() noexcept
returns whether special allocation support has been activated at compilation time
libdar::compile_time::fast_dir
bool fast_dir() noexcept
returns whether libdar has been built with speed optimization for last directory
libdar::compile_time::thread_safe
bool thread_safe() noexcept
returns whether the current libdar is thread safe
libdar::compile_time::remote_repository
bool remote_repository() noexcept
returns whether remote repository feature is available
libdar::compile_time::endian
endian
type used to return the endian nature of the current system
Definition: compile_time_features.hpp:88
libdar::compile_time::public_key_cipher
bool public_key_cipher() noexcept
returns whether public key cipher (relying on gpgme) are available
libdar::compile_time::libxz
bool libxz() noexcept
returns whether libdar is dependent on liblxz/liblzma and if so has xz compression/decompression avai...
libdar::compile_time::libthreadar_version
std::string libthreadar_version() noexcept
return libthreadar version or empty string libthreadar is not available
libdar::compile_time::microsecond_write
bool microsecond_write() noexcept
returns whether libdar is able to write timestamps at a microsecond accuracy
libdar::compile_time::libthreadar
bool libthreadar() noexcept
returns whether libthreadar linking will be done, allowing libdar to span several threads
libdar::compile_time::posix_fadvise
bool posix_fadvise() noexcept
returns true if libdar has support for posix_fadvise activated available
libdar::compile_time::libgcrypt
bool libgcrypt() noexcept
returns whether libdar is dependent on libgcrypt and if so has strong encryption and hashing features...
libdar::compile_time::librsync
bool librsync() noexcept
returns whether delta compression is available and delta diff stuff with it
libdar::compile_time::furtive_read
bool furtive_read() noexcept
returns whether libdar can support furtive read mode when run by privileged user
libdar::compile_time::liblzo
bool liblzo() noexcept
returns whether libdar is dependent on liblzo and if so has lzo compression/decompression available
libdar::compile_time::largefile
bool largefile() noexcept
returns whether largefile (>2GiB) support has been activated at compilation time
libdar::compile_time::ea
bool ea() noexcept
returns whether EA support has been activated at compilation time
libdar
libdar namespace encapsulate all libdar symbols
Definition: archive.hpp:46