1 /*
2 +----------------------------------------------------------------------+
3 | PHP Version 7 |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 1997-2016 The PHP Group |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
15 | Author: Jakub Zelenka <bukka@php.net> |
16 +----------------------------------------------------------------------+
17 */
18
19 #ifndef PHP_JSON_PARSER_H
20 #define PHP_JSON_PARSER_H
21
22 #include "php.h"
23 #include "php_json_scanner.h"
24
25 typedef struct _php_json_parser {
26 php_json_scanner scanner;
27 zval *return_value;
28 int depth;
29 int max_depth;
30 } php_json_parser;
31
32 void php_json_parser_init(php_json_parser *parser, zval *return_value, char *str, size_t str_len, int options, int max_depth);
33
34 php_json_error_code php_json_parser_error_code(php_json_parser *parser);
35
36 int php_json_yyparse(php_json_parser *parser);
37
38 #endif /* PHP_JSON_PARSER_H */
39