1 /* 2 * $Id: json_util.h,v 1.4 2006/01/30 23:07:57 mclark Exp $ 3 * 4 * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. 5 * Michael Clark <michael@metaparadigm.com> 6 * 7 * This library is free software; you can redistribute it and/or modify 8 * it under the terms of the MIT license. See COPYING for details. 9 * 10 */ 11 12 #ifndef _json_util_h_ 13 #define _json_util_h_ 14 15 #include "json_object.h" 16 17 #ifndef json_min 18 #define json_min(a,b) ((a) < (b) ? (a) : (b)) 19 #endif 20 21 #ifndef json_max 22 #define json_max(a,b) ((a) > (b) ? (a) : (b)) 23 #endif 24 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif 29 30 #define JSON_FILE_BUF_SIZE 4096 31 32 /* utility functions */ 33 extern struct json_object* json_object_from_file(const char *filename); 34 extern int json_object_to_file(const char *filename, struct json_object *obj); 35 extern int json_object_to_file_ext(const char *filename, struct json_object *obj, int flags); 36 extern int json_parse_int64(const char *buf, int64_t *retval); 37 extern int json_parse_double(const char *buf, double *retval); 38 39 40 /** 41 * Return a string describing the type of the object. 42 * e.g. "int", or "object", etc... 43 */ 44 extern const char *json_type_to_name(enum json_type o_type); 45 46 #ifdef __cplusplus 47 } 48 #endif 49 50 #endif 51