diff options
author | Michael Clark <michael@metaparadigm.com> | 2007-03-13 08:26:18 +0000 |
---|---|---|
committer | Michael Clark <michael@metaparadigm.com> | 2007-03-13 08:26:18 +0000 |
commit | f0d08887b857fce1fe95a68d29eb7a07cd527d7c (patch) | |
tree | d4b37e182674cf62fb7671b0f6b033ff858aa1f5 /json_tokener.h | |
parent | 6d59966c4ef28fb4462f735c11f43ca93a62049f (diff) |
import of version 0.1
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@2 327403b1-1117-474d-bef2-5cb71233fd97
Diffstat (limited to 'json_tokener.h')
-rw-r--r-- | json_tokener.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/json_tokener.h b/json_tokener.h new file mode 100644 index 0000000..c39577d --- /dev/null +++ b/json_tokener.h @@ -0,0 +1,70 @@ +/* + * $Id: json_tokener.h,v 1.5 2004/07/22 01:20:05 mclark Exp $ + * + * Copyright Metaparadigm Pte. Ltd. 2004. + * Michael Clark <michael@metaparadigm.com> + * + * 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 |