plong

Unnamed repository; edit this file 'description' to name the repository.
git clone https://git.inz.fi/plong
Log | Files | Refs

json.h (683B)


      1 #ifndef PLONG_JSON_H
      2 #define PLONG_JSON_H
      3 
      4 #include <stdint.h>
      5 #include <stdlib.h>
      6 
      7 #include "buf.h"
      8 
      9 #define JSON_MAX_DEPTH 16
     10 
     11 struct json {
     12 	char *buffer;
     13 	struct buf b;
     14 	int modes[JSON_MAX_DEPTH];
     15 	size_t depth;
     16 };
     17 
     18 int json_init(struct json *j, struct buf *b);
     19 int json_fini(struct json *j, struct buf *b);
     20 
     21 int json_obj_open(struct json *j);
     22 int json_obj_key(struct json *j, const char *key);
     23 int json_obj_close(struct json *j);
     24 
     25 int json_arr_open(struct json *j);
     26 int json_arr_close(struct json *j);
     27 
     28 int json_bool(struct json *j, int v);
     29 int json_null(struct json *j);
     30 
     31 int json_int(struct json *j, intmax_t val);
     32 
     33 int json_string(struct json *j, const char *value);
     34 
     35 #endif