cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

json.h (1069B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef JSON_H
      3#define JSON_H 1
      4
      5#include "jsmn.h"
      6
      7jsmntok_t *parse_json(const char *fn, char **map, size_t *size, int *len);
      8void free_json(char *map, size_t size, jsmntok_t *tokens);
      9int json_line(char *map, jsmntok_t *t);
     10const char *json_name(jsmntok_t *t);
     11int json_streq(char *map, jsmntok_t *t, const char *s);
     12int json_len(jsmntok_t *t);
     13
     14extern int verbose;
     15
     16#include <stdbool.h>
     17
     18extern 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