root/ext/json/php_json_scanner.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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_SCANNER_H
  20 #define PHP_JSON_SCANNER_H
  21 
  22 #include "php.h"
  23 #include "php_json.h"
  24 
  25 typedef unsigned char php_json_ctype;
  26 
  27 typedef struct _php_json_scanner {
  28         php_json_ctype *cursor;         /* cursor position */
  29         php_json_ctype *token;          /* token position */
  30         php_json_ctype *limit;          /* the last read character + 1 position */
  31         php_json_ctype *marker;         /* marker position for backtracking */
  32         php_json_ctype *ctxmarker;      /* marker position for context backtracking */
  33         php_json_ctype *str_start;      /* start position of the string */
  34         php_json_ctype *pstr;           /* string pointer for escapes conversion */
  35         zval value;                     /* value */
  36         int str_esc;                    /* number of extra characters for escaping */
  37         int state;                      /* condition state */             
  38         int options;                   /* options */
  39         php_json_error_code errcode;    /* error type if there is an error */
  40 } php_json_scanner;
  41 
  42 
  43 void php_json_scanner_init(php_json_scanner *scanner, char *str, size_t str_len, int options);
  44 int php_json_scan(php_json_scanner *s);
  45 
  46 #endif  /* PHP_JSON_SCANNER_H */
  47 

/* [<][>][^][v][top][bottom][index][help] */