/* SPDX-License-Identifier: GPL-2.0 */ 
 | 
#ifndef JSON_H 
 | 
#define JSON_H 1 
 | 
  
 | 
#include "jsmn.h" 
 | 
  
 | 
jsmntok_t *parse_json(const char *fn, char **map, size_t *size, int *len); 
 | 
void free_json(char *map, size_t size, jsmntok_t *tokens); 
 | 
int json_line(char *map, jsmntok_t *t); 
 | 
const char *json_name(jsmntok_t *t); 
 | 
int json_streq(char *map, jsmntok_t *t, const char *s); 
 | 
int json_len(jsmntok_t *t); 
 | 
  
 | 
extern int verbose; 
 | 
  
 | 
#include <stdbool.h> 
 | 
  
 | 
extern int eprintf(int level, int var, const char *fmt, ...); 
 | 
#define pr_fmt(fmt)    fmt 
 | 
  
 | 
#define pr_err(fmt, ...) \ 
 | 
    eprintf(0, verbose, pr_fmt(fmt), ##__VA_ARGS__) 
 | 
  
 | 
#define pr_info(fmt, ...) \ 
 | 
    eprintf(1, verbose, pr_fmt(fmt), ##__VA_ARGS__) 
 | 
  
 | 
#define pr_debug(fmt, ...) \ 
 | 
    eprintf(2, verbose, pr_fmt(fmt), ##__VA_ARGS__) 
 | 
  
 | 
#ifndef roundup 
 | 
#define roundup(x, y) (                                \ 
 | 
{                                                      \ 
 | 
        const typeof(y) __y = y;                       \ 
 | 
        (((x) + (__y - 1)) / __y) * __y;               \ 
 | 
}                                                      \ 
 | 
) 
 | 
#endif 
 | 
  
 | 
#endif 
 |