1 /* $OpenBSD: json.h,v 1.4 2022/08/31 12:13:59 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 21 void json_do_start(void); 22 void json_do_finish(void); 23 void json_do_array(const char *); 24 void json_do_object(const char *); 25 void json_do_end(void); 26 void json_do_printf(const char *, const char *, ...) 27 __attribute__((__format__ (printf, 2, 3))); 28 void json_do_hexdump(const char *, void *, size_t); 29 void json_do_bool(const char *, int); 30 void json_do_uint(const char *, unsigned long long); 31 void json_do_int(const char *, long long); 32 void json_do_double(const char *, double); 33