18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef PERF_STRING_H 38c2ecf20Sopenharmony_ci#define PERF_STRING_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <linux/string.h> 68c2ecf20Sopenharmony_ci#include <linux/types.h> 78c2ecf20Sopenharmony_ci#include <sys/types.h> // pid_t 88c2ecf20Sopenharmony_ci#include <stddef.h> 98c2ecf20Sopenharmony_ci#include <string.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciextern const char *graph_dotted_line; 128c2ecf20Sopenharmony_ciextern const char *dots; 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cis64 perf_atoll(const char *str); 158c2ecf20Sopenharmony_cibool strglobmatch(const char *str, const char *pat); 168c2ecf20Sopenharmony_cibool strglobmatch_nocase(const char *str, const char *pat); 178c2ecf20Sopenharmony_cibool strlazymatch(const char *str, const char *pat); 188c2ecf20Sopenharmony_cistatic inline bool strisglob(const char *str) 198c2ecf20Sopenharmony_ci{ 208c2ecf20Sopenharmony_ci return strpbrk(str, "*?[") != NULL; 218c2ecf20Sopenharmony_ci} 228c2ecf20Sopenharmony_ciint strtailcmp(const char *s1, const char *s2); 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_cichar *asprintf_expr_inout_ints(const char *var, bool in, size_t nints, int *ints); 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_cistatic inline char *asprintf_expr_in_ints(const char *var, size_t nints, int *ints) 278c2ecf20Sopenharmony_ci{ 288c2ecf20Sopenharmony_ci return asprintf_expr_inout_ints(var, true, nints, ints); 298c2ecf20Sopenharmony_ci} 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_cistatic inline char *asprintf_expr_not_in_ints(const char *var, size_t nints, int *ints) 328c2ecf20Sopenharmony_ci{ 338c2ecf20Sopenharmony_ci return asprintf_expr_inout_ints(var, false, nints, ints); 348c2ecf20Sopenharmony_ci} 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_cichar *asprintf__tp_filter_pids(size_t npids, pid_t *pids); 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_cichar *strpbrk_esc(char *str, const char *stopset); 398c2ecf20Sopenharmony_cichar *strdup_esc(const char *str); 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci#endif /* PERF_STRING_H */ 42