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,
602 const std::map<char, std::string> & corres);
617 const std::string & path,
618 const std::string & basename,
619 const std::string & num,
620 const std::string & padded_num,
621 const std::string & ext,
622 const std::string & context);
630 const std::string & cmd_line);
644 const std::string & hook,
645 const std::string & path,
646 const std::string & basename,
647 const std::string & num,
648 const std::string & padded_num,
649 const std::string & ext,
650 const std::string & context);
659 const std::string & relative_part);
717 extern void tools_set_ownership(S_I filedesc,
const std::string & slice_user,
const std::string & slice_group);
725 extern void tools_memxor(
void *dest,
const void *src, U_I n);
733 extern tlv_list
tools_string2tlv_list(user_interaction & dialog,
const U_16 & type,
const std::vector<std::string> & data);
768 throw Erange(
"tools_number_decoupe_in_big_endian",
"base must be strictly positive");
772 ret.push_back(number % base);
817 extern std::string tools_gpgme_strerror_r(gpgme_error_t err);
822 extern std::wstring tools_string_to_wstring(
const std::string & val);
826 extern std::string tools_wstring_to_string(
const std::wstring & val);
833 extern std::vector<std::string>
tools_substract_from_vector(
const std::vector<std::string> & a,
const std::vector<std::string> & b);
853 extern void tools_secu_string_show(user_interaction & dialog,
const std::string & msg,
const secu_string & key);
855 template <
class T> T tools_max(T a, T b) {
return a > b ? a : b; }
856 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