• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /* SPDX-License-Identifier: GPL-2.0 */
2  #ifndef PERF_STRING_H
3  #define PERF_STRING_H
4  
5  #include <linux/string.h>
6  #include <linux/types.h>
7  #include <sys/types.h> // pid_t
8  #include <stddef.h>
9  #include <string.h>
10  
11  extern const char *graph_dotted_line;
12  extern const char *dots;
13  
14  s64 perf_atoll(const char *str);
15  bool strglobmatch(const char *str, const char *pat);
16  bool strglobmatch_nocase(const char *str, const char *pat);
17  bool strlazymatch(const char *str, const char *pat);
strisglob(const char * str)18  static inline bool strisglob(const char *str)
19  {
20  	return strpbrk(str, "*?[") != NULL;
21  }
22  int strtailcmp(const char *s1, const char *s2);
23  
24  char *asprintf_expr_inout_ints(const char *var, bool in, size_t nints, int *ints);
25  
asprintf_expr_in_ints(const char * var,size_t nints,int * ints)26  static inline char *asprintf_expr_in_ints(const char *var, size_t nints, int *ints)
27  {
28  	return asprintf_expr_inout_ints(var, true, nints, ints);
29  }
30  
asprintf_expr_not_in_ints(const char * var,size_t nints,int * ints)31  static inline char *asprintf_expr_not_in_ints(const char *var, size_t nints, int *ints)
32  {
33  	return asprintf_expr_inout_ints(var, false, nints, ints);
34  }
35  
36  char *asprintf__tp_filter_pids(size_t npids, pid_t *pids);
37  
38  char *strpbrk_esc(char *str, const char *stopset);
39  char *strdup_esc(const char *str);
40  
41  #endif /* PERF_STRING_H */
42