blob: 708805f5573e3c4be48d4d17b70c2d9c999d919e [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef PERF_STRING_H
3#define PERF_STRING_H
4
David Brazdil0f672f62019-12-10 10:32:29 +00005#include <linux/string.h>
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00006#include <linux/types.h>
7#include <stddef.h>
8#include <string.h>
9
David Brazdil0f672f62019-12-10 10:32:29 +000010extern const char *graph_dotted_line;
11extern const char *dots;
12
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000013s64 perf_atoll(const char *str);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000014bool strglobmatch(const char *str, const char *pat);
15bool strglobmatch_nocase(const char *str, const char *pat);
16bool strlazymatch(const char *str, const char *pat);
17static inline bool strisglob(const char *str)
18{
19 return strpbrk(str, "*?[") != NULL;
20}
21int strtailcmp(const char *s1, const char *s2);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000022
23char *asprintf_expr_inout_ints(const char *var, bool in, size_t nints, int *ints);
24
25static inline char *asprintf_expr_in_ints(const char *var, size_t nints, int *ints)
26{
27 return asprintf_expr_inout_ints(var, true, nints, ints);
28}
29
30static inline char *asprintf_expr_not_in_ints(const char *var, size_t nints, int *ints)
31{
32 return asprintf_expr_inout_ints(var, false, nints, ints);
33}
34
35char *strpbrk_esc(char *str, const char *stopset);
36char *strdup_esc(const char *str);
37
38#endif /* PERF_STRING_H */