10 #include <sys/capability.h> 28 #define FMTSTR CALDFormatCall(__FILE__, __FUNCTION__, __LINE__) 33 #define T_CMD(list) "\x1b[" list "m" 35 #define T_DFLT "\x1b[0;m" 48 #define T_FYELLOW "33" 50 #define T_FMAGENTA "35" 58 #define T_BYELLOW "33" 60 #define T_BMAGENTA "35" 72 string t_cmd(
const char * cmd);
77 #define BRED t_cmd(T_BOLD ";" T_FRED) 79 #define BGREEN t_cmd(T_BOLD ";" T_FGREEN) 80 #define BYELLOW t_cmd(T_BOLD ";" T_FYELLOW) 81 #define BBLUE t_cmd(T_BOLD ";" T_FBLUE) 82 #define BMAGENTA t_cmd(T_BOLD ";" T_FMAGENTA) 83 #define BCYAN t_cmd(T_BOLD ";" T_FCYAN) 84 #define BWHITE t_cmd(T_BOLD ";" T_FWHITE) 86 #define RED t_cmd(T_FRED) 87 #define GREEN t_cmd(T_FGREEN) 88 #define YELLOW t_cmd(T_FYELLOW) 89 #define BLUE t_cmd(T_FBLUE) 90 #define MAGENTA t_cmd(T_FMAGENTA) 91 #define CYAN t_cmd(T_FCYAN) 92 #define WHITE t_cmd(T_FWHITE) 94 #define NORMAL t_dflt() 96 #define OUT_COLOR(out, msg, color) do{out << color; out << msg; out << NORMAL; out << endl;}while(0) 97 #define COUT_COLOR(msg, color) OUT_COLOR(cout, msg, color) 98 #define COUT_ERR(msg) COUT_COLOR(msg, BRED) 99 #define COUT_WARN(msg) COUT_COLOR(msg, YELLOW) 100 #define COUT_CHECK(msg) COUT_COLOR(msg, GREEN) 101 #define COUT_INFO(msg) COUT_COLOR(msg, CYAN) 102 #define COUT_TEST(msg) COUT_COLOR(msg, MAGENTA) 121 const char* operator()(
size_t nparams,
const char *format, ...);
127 CALDFormatCall(
const char* file,
const char* func,
unsigned long line);
172 bool str2i(
const string &str,
int &val);
174 string i2str(
int val);
175 bool str2u(
const string &str,
unsigned int &val);
176 string u2str(
unsigned int val);
177 bool hex2u(
const string &str,
unsigned int &val);
178 string u2hex(
unsigned int val);
179 bool oct2u(
const string &str,
unsigned int &val);
180 string u2oct(
unsigned int val);
181 bool strTou64(
const string &str, uint64_t &val);
182 string u64Tostr(uint64_t val);
186 string TimeToStr(time_t t,
bool rfc2822);
188 time_t StrToTime(
const string &strdt,
bool rfc2822);
191 time_t GeneralizedTimeToTime(
const string >);
192 string GeneralizedTimeToStr(
const string >,
bool rfc2822);
193 string TimeToGeneralizedTime(time_t t);
198 string TrimLeft(
const string &str);
200 string TrimRight(
const string &str);
201 string Trim(
const string &str);
202 string Unquote(
const string &str);
203 string Quote(
const string &str,
bool force =
false);
204 string Capitallize(
const string &str);
205 string string2upper(
const string &str);
206 string string2lower(
const string &str);
207 string &StrAppend(
string &str1,
const string &str2);
209 char* strdup(
const char* str);
210 char* strdup(
const string &str);
216 string DomainToDn(
const string &domain);
218 string DomainToRealm(
const string &domain);
219 string RemoveRealm(
const string &str);
220 string DnToDomain(
const string &dn);
221 string RealmToDomain(
const string &realm);
222 string RemoveDomain(
const string &str,
const string &domain);
226 bool ParsePair(
const string &line,
string &name,
string &value);
230 string AskPassword(
const string &prompt,
size_t size,
char star);
232 string AskText(
const string &prompt,
size_t size);
233 string AskTextDef(
const string &prompt,
const string &defText,
size_t size);
234 bool AskYesNo(
const string &prompt,
bool defYes);
235 unsigned int AskNumber(
const string &prompt,
unsigned int defVal);
240 void list_merge(ald_string_list &al1,
const ald_string_list &al2);
242 void list_subtract(ald_string_list &al1,
const ald_string_list &al2);
243 void list_intersect(ald_string_list &al1,
const ald_string_list &al2);
244 bool IsMemberOfList(
const ald_string_list &list,
const string &str);
245 string listToStr(
const ald_string_list &list);
246 void StrTolist(
const string &str, ald_string_list &list,
char delim =
',');
251 bool IsFileExist(
const string &path);
253 bool IsDirExist(
const string &path);
254 bool IsPathExist(
const string &path);
255 void RemoveDir(
const string &path,
bool force);
256 void RemoveFile(
const string &path);
257 void RemovePath(
const string &path,
bool force);
258 void RemoveFiles(
const string &path,
const string &pattern);
259 void CreateDir(
const string &path, mode_t mode);
260 void EnsureDir(
const string &path, mode_t mode);
261 void Chown(
const string &path, uid_t uid, gid_t gid,
bool rec =
false);
262 void Chown(
const string &path,
const string &ouser,
const string &ogroup,
bool rec =
false);
263 void Chmod(
const string &path, mode_t mode,
bool rec =
false);
264 bool IsDirectory(
const string &path);
265 bool IsFile(
const string &path);
266 void RenameFile(
const string &file,
const string &targetFile);
267 void CopyFile(
const string &file,
const string &targetFile);
268 void CopyPath(
const string &path,
const string &targetPath, mode_t mode);
269 void CreateFile(
const string &file);
270 string GetFileName(
const string &file);
271 string GetFilePath(
const string &file);
272 string GetFileExt(
const string &file);
277 void GZipFile(
const string &file,
const string &targetFile);
279 void GunZipFile(
const string &file,
const string &targetFile);
281 void TarCreate(
const ald_string_list &files,
const string &targetFile,
int mode);
282 void TarExtract(
const string &file,
const string &targetPath,
int mode);
284 void Pack(
const ald_string_list &files,
const string &targetFile,
int mode);
285 void Unpack(
const string &file,
const string &targetPath,
int mode);
293 string HostName(
const string &host);
301 #define ALD_HOST_MAX_SIZE 255 308 typedef uint32_t ald_linux_caps;
310 void EnumerateLinuxCaps(ald_string_list &caps);
311 ald_linux_caps LinuxCapByName(
const string &capname);
312 enum aldCapFlag {acfEffective = 1, acfPermitted = 2, acfInheritable = 4};
313 typedef unsigned ald_cap_flags;
314 void LinuxCapMod(cap_value_t cap, ald_cap_flags flags, cap_flag_value_t val);
315 void LinuxCapsClear(ald_cap_flags flags);
322 #define TI_ITEM_INFO(info) {if(bVerbose){TestIntegrityItem(info);}} 323 #define TI_SECTION_INFO(info) TestIntegritySection(info, bVerbose) 324 #define TI_OK {if(bVerbose){TestIntegrityOK();}} 325 #define TI_ERROR {if(bVerbose){TestIntegrityERROR();}} 326 #define TI_WARNING {if(bVerbose){TestIntegrityWARNING();}} 327 #define TI_FIXED {if(bVerbose){TestIntegrityFIXED();}} 328 #define TI_ITEM_RES(res) {if(res) TI_OK else TI_ERROR;} 329 #define TI_SECTION_RES(res) {if(!bVerbose) { cout << t_cmd(T_BOLD); res? TestIntegrityOK(): TestIntegrityERROR();}} 331 #define TI_ADD_ERRINFO(info, errlist) errlist.push_back(YELLOW+std::string(info)+NORMAL); 335 void TestIntegrityItem(
const string& info);
337 void TestIntegritySection(
const string& info,
bool verb);
338 void TestIntegrityOK();
339 void TestIntegrityERROR();
340 void TestIntegrityWARNING();
341 void TestIntegrityFIXED();
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
vector< string > ald_string_vector
Вектор строк
Definition: ALDUtils.h:157
string HostDomain(const string &host)
Возвращает домен по имени компьютера
string t_cmd(const char *cmd)
Условный вывод команды форматирования терминала
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:9
pair< string, string > ald_string_pair
Пара строк
Definition: ALDUtils.h:162
bool ParsePair(const string &line, string &name, string &value)
Разбор строки (имя=значение)
string t_dflt()
Условный вывод команды сброса форматирования терминала
string DefaultCodeset()
Возвращает кодовую страницу по умолчанию
const char * ExtractFileName(const char *pszFileName)
Возвращает имя файла по полному пути
map< string, string > ald_string_map
MAP строка => строка
Definition: ALDUtils.h:164
void UseTermColors(bool colored)
Устанавливает признак использования цветового офрмления в терминале
map< string, int > ald_int_map
MAP строка => число
Definition: ALDUtils.h:168
multimap< string, string > ald_string_multimap
MultiMAP строка => строка
Definition: ALDUtils.h:166
const char * ExtractFuncName(const char *pszFuncName)
Возвращает короткое имя функции по полному имени
string TildeSubst(const string &file)
Разворачивает домашний каталог (~)
Статический класс помошник
Definition: ALDUtils.h:141
string PFM2Name(const string &PFM)
Возвращает короткое имя функции по полному
string CurrentUser()
Возвращает текущего пользователя
string HostName(const string &host)
Разыменовывает компьютер по имени
bool IsTermColored()
Возвращает признак использования цветового офрмления в терминале
list< int > ald_int_list
Список целых
Definition: ALDUtils.h:154
vector< int > ald_int_vector
Вектор целых
Definition: ALDUtils.h:159