Linux Perf
json.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef JSON_H
3 #define JSON_H 1
4 
5 #include "jsmn.h"
6 
7 jsmntok_t *parse_json(const char *fn, char **map, size_t *size, int *len);
8 void free_json(char *map, size_t size, jsmntok_t *tokens);
9 int json_line(char *map, jsmntok_t *t);
10 const char *json_name(jsmntok_t *t);
11 int json_streq(char *map, jsmntok_t *t, const char *s);
12 int json_len(jsmntok_t *t);
13 
14 extern int verbose;
15 
16 #include <stdbool.h>
17 
18 extern int eprintf(int level, int var, const char *fmt, ...);
19 #define pr_fmt(fmt) fmt
20 
21 #define pr_err(fmt, ...) \
22  eprintf(0, verbose, pr_fmt(fmt), ##__VA_ARGS__)
23 
24 #define pr_info(fmt, ...) \
25  eprintf(1, verbose, pr_fmt(fmt), ##__VA_ARGS__)
26 
27 #define pr_debug(fmt, ...) \
28  eprintf(2, verbose, pr_fmt(fmt), ##__VA_ARGS__)
29 
30 #ifndef roundup
31 #define roundup(x, y) ( \
32 { \
33  const typeof(y) __y = y; \
34  (((x) + (__y - 1)) / __y) * __y; \
35 } \
36 )
37 #endif
38 
39 #endif
Definition: jsmn.h:36
size_t size
Definition: evsel.c:60
int json_len(jsmntok_t *t)
Definition: json.c:152
int eprintf(int level, int var, const char *fmt,...)
Definition: jevents.c:56
int json_streq(char *map, jsmntok_t *t, const char *s)
Definition: json.c:158
int json_line(char *map, jsmntok_t *t)
Definition: json.c:132
const char * fmt
Definition: dso.c:193
Definition: jevents.c:228
jsmntok_t * parse_json(const char *fn, char **map, size_t *size, int *len)
Definition: json.c:83
void free_json(char *map, size_t size, jsmntok_t *tokens)
Definition: json.c:115
int verbose
Definition: jevents.c:53
const char * json_name(jsmntok_t *t)
Definition: json.c:147