1 /* $OpenBSD: json.h,v 1.8 2023/06/05 16:24:05 claudio Exp $ */ 2 3 /* 4 * Copyright (c) 2020 Claudio Jeker <claudio@openbsd.org> 5 * 6 * Permission to use, copy, modify, and distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 #include <stdarg.h> 20 #include <stdio.h> 21 22 void json_do_start(FILE *); 23 int json_do_finish(void); 24 void json_do_array(const char *); 25 void json_do_object(const char *, int); 26 void json_do_end(void); 27 void json_do_printf(const char *, const char *, ...) 28 __attribute__((__format__ (printf, 2, 3))); 29 void json_do_string(const char *, const char *); 30 void json_do_hexdump(const char *, void *, size_t); 31 void json_do_bool(const char *, int); 32 void json_do_uint(const char *, unsigned long long); 33 void json_do_int(const char *, long long); 34 void json_do_double(const char *, double); 35