| Disk ARchive 2.6.12 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:89
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:47