1 /* 2 +----------------------------------------------------------------------+ 3 | Zend Engine | 4 +----------------------------------------------------------------------+ 5 | Copyright (c) 1998-2014 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) TSRMG(compiler_globals_id, zend_compiler_globals *, v) 35 int zendparse(void *compiler_globals); 36 #else 37 # define CG(v) (compiler_globals.v) 38 extern ZEND_API struct _zend_compiler_globals compiler_globals; 39 int zendparse(void); 40 #endif 41 42 43 /* Executor */ 44 #ifdef ZTS 45 # define EG(v) TSRMG(executor_globals_id, zend_executor_globals *, v) 46 #else 47 # define EG(v) (executor_globals.v) 48 extern ZEND_API zend_executor_globals executor_globals; 49 #endif 50 51 /* Language Scanner */ 52 #ifdef ZTS 53 # define LANG_SCNG(v) TSRMG(language_scanner_globals_id, zend_php_scanner_globals *, v) 54 extern ZEND_API ts_rsrc_id language_scanner_globals_id; 55 #else 56 # define LANG_SCNG(v) (language_scanner_globals.v) 57 extern ZEND_API zend_php_scanner_globals language_scanner_globals; 58 #endif 59 60 61 /* INI Scanner */ 62 #ifdef ZTS 63 # define INI_SCNG(v) TSRMG(ini_scanner_globals_id, zend_ini_scanner_globals *, v) 64 extern ZEND_API ts_rsrc_id ini_scanner_globals_id; 65 #else 66 # define INI_SCNG(v) (ini_scanner_globals.v) 67 extern ZEND_API zend_ini_scanner_globals ini_scanner_globals; 68 #endif 69 70 END_EXTERN_C() 71 72 /* For limited downwards source compatibility */ 73 #define CLS_FETCH() 74 #define ELS_FETCH() 75 #define ALS_FETCH() 76 #define PLS_FETCH() 77 #define SLS_FETCH() 78 #define CLS_D 79 #define ELS_D 80 #define ALS_D 81 #define PLS_D 82 #define SLS_D 83 #define CLS_DC 84 #define ELS_DC 85 #define ALS_DC 86 #define PLS_DC 87 #define SLS_DC 88 #define CLS_C 89 #define ELS_C 90 #define ALS_C 91 #define PLS_C 92 #define SLS_C 93 #define CLS_CC 94 #define ELS_CC 95 #define ALS_CC 96 #define PLS_CC 97 #define SLS_CC 98 99 100 #endif /* ZEND_GLOBALS_MACROS_H */ 101 102 /* 103 * Local variables: 104 * tab-width: 4 105 * c-basic-offset: 4 106 * indent-tabs-mode: t 107 * End: 108 */ 109