xref: /PHP-7.0/ext/json/php_json_parser.h (revision 478f119a)
1 /*
2   +----------------------------------------------------------------------+
3   | PHP Version 7                                                        |
4   +----------------------------------------------------------------------+
5   | Copyright (c) 1997-2017 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 
40