40 #include "../my_config.h"
67 #define TOOLS_SI_SUFFIX 1000
68 #define TOOLS_BIN_SUFFIX 1024
177 extern void tools_split_path_basename(
const std::string &all, std::string & chemin, std::string & base, memory_pool *pool =
nullptr);
189 const std::string &input,
190 const std::string & output,
193 memory_pool *pool =
nullptr);
224 extern std::string tools_uint2str(U_I x);
271 extern void tools_system(user_interaction & dialog,
const std::vector<std::string> & argvector);
282 const std::string & dar_cmd,
283 const std::vector<std::string> & argvpipe,
284 memory_pool *pool =
nullptr);
304 const std::vector<std::string> & x);
311 std::vector<std::string> operator + (std::vector<std::string> a, std::vector<std::string> b);
332 template <
class T> std::vector<T>
operator +=(std::vector<T> & a,
const std::vector<T> & b)
358 const std::string & extension,
359 memory_pool *pool =
nullptr);
379 extern bool tools_look_for(
const char *argument, S_I argc,
char *
const argv[]);
389 extern void tools_noexcept_make_date(
const std::string & chem,
bool symlink,
const datetime & last_acc,
const datetime & last_mod,
const datetime & birth);
399 extern void tools_make_date(
const std::string & chemin,
bool symlink,
const datetime & access,
const datetime & modif,
const datetime & birth);
414 extern void tools_to_upper(
const std::string & r, std::string & uppered);
417 extern void tools_to_wupper(std::wstring & r);
455 extern std::string
tools_printf(
const char *format, ...);
467 extern std::string
tools_vprintf(
const char *format, va_list ap);
485 extern void tools_unlink_file_mask_regex(user_interaction & dialog,
const std::string & c_chemin,
const std::string & file_mask,
bool info_details);
500 const std::string & x_file_mask,
502 bool allow_overwriting,
503 bool warn_overwriting,
526 extern void tools_add_elastic_buffer(generic_file & f,
621 const std::map<char, std::string> & corres);
636 const std::string & path,
637 const std::string & basename,
638 const std::string & num,
639 const std::string & padded_num,
640 const std::string & ext,
641 const std::string & context);
649 const std::string & cmd_line);
663 const std::string & hook,
664 const std::string & path,
665 const std::string & basename,
666 const std::string & num,
667 const std::string & padded_num,
668 const std::string & ext,
669 const std::string & context);
678 const std::string & relative_part);
736 extern void tools_set_ownership(S_I filedesc,
const std::string & slice_user,
const std::string & slice_group);
744 extern void tools_memxor(
void *dest,
const void *src, U_I n);
752 extern tlv_list
tools_string2tlv_list(user_interaction & dialog,
const U_16 & type,
const std::vector<std::string> & data);
786 throw Erange(
"tools_number_decoupe_in_big_endian",
"base must be strictly positive");
790 ret.push_back(number % base);
835 extern std::string tools_gpgme_strerror_r(gpgme_error_t err);
840 extern std::wstring tools_string_to_wstring(
const std::string & val);
844 extern std::string tools_wstring_to_string(
const std::wstring & val);
851 extern std::vector<std::string>
tools_substract_from_vector(
const std::vector<std::string> & a,
const std::vector<std::string> & b);
871 extern void tools_secu_string_show(user_interaction & dialog,
const std::string & msg,
const secu_string & key);
873 template <
class T> T tools_max(T a, T b) {
return a > b ? a : b; }
874 template <
class T> T tools_min(T a, T b) {
return a > b ? b : a; }
are defined here basic integer types that tend to be portable
class memory_pool allocates and recycles blocks of memory for better performances it is expected to b...
class generic_file is defined here as well as class fichierthe generic_file interface is widely used ...
here is the definition of the path classthe path class handle path and provide several operation on t...
defines the implementation of pipe under the generic_file interface.mainly used between zapette and s...
switch module to limitint (32 ou 64 bits integers) or infinint
exception used to signal range error
this file contains the definition of class datetime that stores unix times in a portable way ...
List of Generic Type Length Value data structures.
libdar namespace encapsulate all libdar symbols