summaryrefslogtreecommitdiff
path: root/json_tokener.h
diff options
context:
space:
mode:
authorMichael Clark <michael@metaparadigm.com>2007-03-13 08:26:18 +0000
committerMichael Clark <michael@metaparadigm.com>2007-03-13 08:26:18 +0000
commitf0d08887b857fce1fe95a68d29eb7a07cd527d7c (patch)
treed4b37e182674cf62fb7671b0f6b033ff858aa1f5 /json_tokener.h
parent6d59966c4ef28fb4462f735c11f43ca93a62049f (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.h70
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