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