/* * $Id: json_tokener.h,v 1.5 2004/07/22 01:20:05 mclark Exp $ * * Copyright Metaparadigm Pte. Ltd. 2004. * Michael Clark * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public (LGPL) * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details: http://www.gnu.org/ * */ #ifndef _json_tokener_h_ #define _json_tokener_h_ #include "json_object.h" enum json_tokener_error { json_tokener_success, json_tokener_error_parse_unexpected, json_tokener_error_parse_null, json_tokener_error_parse_boolean, json_tokener_error_parse_number, json_tokener_error_parse_array, json_tokener_error_parse_object, json_tokener_error_parse_string, json_tokener_error_parse_comment, json_tokener_error_parse_eof, }; enum json_tokener_state { json_tokener_state_eatws, json_tokener_state_start, json_tokener_state_finish, json_tokener_state_null, json_tokener_state_comment_start, json_tokener_state_comment, json_tokener_state_comment_eol, json_tokener_state_comment_end, json_tokener_state_string, json_tokener_state_string_escape, json_tokener_state_escape_unicode, json_tokener_state_boolean, json_tokener_state_number, json_tokener_state_array, json_tokener_state_array_sep, json_tokener_state_object, json_tokener_state_object_field_start, json_tokener_state_object_field, json_tokener_state_object_field_end, json_tokener_state_object_value, json_tokener_state_object_sep, }; struct json_tokener { char *source; int pos; struct printbuf *pb; }; extern struct json_object* json_tokener_parse(char *s); #endif