1 /* 2 +----------------------------------------------------------------------+ 3 | Zend Engine | 4 +----------------------------------------------------------------------+ 5 | Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) | 6 +----------------------------------------------------------------------+ 7 | This source file is subject to version 2.00 of the Zend 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.zend.com/license/2_00.txt. | 11 | If you did not receive a copy of the Zend license and are unable to | 12 | obtain it through the world-wide-web, please send a note to | 13 | license@zend.com so we can mail you a copy immediately. | 14 +----------------------------------------------------------------------+ 15 | Authors: Andi Gutmans <andi@zend.com> | 16 | Zeev Suraski <zeev@zend.com> | 17 +----------------------------------------------------------------------+ 18 */ 19 20 /* $Id$ */ 21 22 #ifndef ZEND_GLOBALS_MACROS_H 23 #define ZEND_GLOBALS_MACROS_H 24 25 typedef struct _zend_compiler_globals zend_compiler_globals; 26 typedef struct _zend_executor_globals zend_executor_globals; 27 typedef struct _zend_php_scanner_globals zend_php_scanner_globals; 28 typedef struct _zend_ini_scanner_globals zend_ini_scanner_globals; 29 30 BEGIN_EXTERN_C() 31 32 /* Compiler */ 33 #ifdef ZTS 34 # define CG(v) ZEND_TSRMG(compiler_globals_id, zend_compiler_globals *, v) 35 #else 36 # define CG(v) (compiler_globals.v) 37 extern ZEND_API struct _zend_compiler_globals compiler_globals; 38 #endif 39 ZEND_API int zendparse(void); 40 41 42 /* Executor */ 43 #ifdef ZTS 44 # define EG(v) ZEND_TSRMG(executor_globals_id, zend_executor_globals *, v) 45 #else 46 # define EG(v) (executor_globals.v) 47 extern ZEND_API zend_executor_globals executor_globals; 48 #endif 49 50 /* Language Scanner */ 51 #ifdef ZTS 52 # define LANG_SCNG(v) ZEND_TSRMG(language_scanner_globals_id, zend_php_scanner_globals *, v) 53 extern ZEND_API ts_rsrc_id language_scanner_globals_id; 54 #else 55 # define LANG_SCNG(v) (language_scanner_globals.v) 56 extern ZEND_API zend_php_scanner_globals language_scanner_globals; 57 #endif 58 59 60 /* INI Scanner */ 61 #ifdef ZTS 62 # define INI_SCNG(v) ZEND_TSRMG(ini_scanner_globals_id, zend_ini_scanner_globals *, v) 63 extern ZEND_API ts_rsrc_id ini_scanner_globals_id; 64 #else 65 # define INI_SCNG(v) (ini_scanner_globals.v) 66 extern ZEND_API zend_ini_scanner_globals ini_scanner_globals; 67 #endif 68 69 END_EXTERN_C() 70 71 /* For limited downwards source compatibility */ 72 #define CLS_FETCH() 73 #define ELS_FETCH() 74 #define ALS_FETCH() 75 #define PLS_FETCH() 76 #define SLS_FETCH() 77 #define CLS_D 78 #define ELS_D 79 #define ALS_D 80 #define PLS_D 81 #define SLS_D 82 #define CLS_DC 83 #define ELS_DC 84 #define ALS_DC 85 #define PLS_DC 86 #define SLS_DC 87 #define CLS_C 88 #define ELS_C 89 #define ALS_C 90 #define PLS_C 91 #define SLS_C 92 #define CLS_CC 93 #define ELS_CC 94 #define ALS_CC 95 #define PLS_CC 96 #define SLS_CC 97 98 99 #endif /* ZEND_GLOBALS_MACROS_H */ 100 101 /* 102 * Local variables: 103 * tab-width: 4 104 * c-basic-offset: 4 105 * indent-tabs-mode: t 106 * End: 107 */ 108