zend_globals_macros.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /*
  2. +----------------------------------------------------------------------+
  3. | Zend Engine |
  4. +----------------------------------------------------------------------+
  5. | Copyright (c) 1998-2016 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. /* $Id$ */
  20. #ifndef ZEND_GLOBALS_MACROS_H
  21. #define ZEND_GLOBALS_MACROS_H
  22. typedef struct _zend_compiler_globals zend_compiler_globals;
  23. typedef struct _zend_executor_globals zend_executor_globals;
  24. typedef struct _zend_php_scanner_globals zend_php_scanner_globals;
  25. typedef struct _zend_ini_scanner_globals zend_ini_scanner_globals;
  26. BEGIN_EXTERN_C()
  27. /* Compiler */
  28. #ifdef ZTS
  29. # define CG(v) TSRMG(compiler_globals_id, zend_compiler_globals *, v)
  30. int zendparse(void *compiler_globals);
  31. #else
  32. # define CG(v) (compiler_globals.v)
  33. extern ZEND_API struct _zend_compiler_globals compiler_globals;
  34. int zendparse(void);
  35. #endif
  36. /* Executor */
  37. #ifdef ZTS
  38. # define EG(v) TSRMG(executor_globals_id, zend_executor_globals *, v)
  39. #else
  40. # define EG(v) (executor_globals.v)
  41. extern ZEND_API zend_executor_globals executor_globals;
  42. #endif
  43. /* Language Scanner */
  44. #ifdef ZTS
  45. # define LANG_SCNG(v) TSRMG(language_scanner_globals_id, zend_php_scanner_globals *, v)
  46. extern ZEND_API ts_rsrc_id language_scanner_globals_id;
  47. #else
  48. # define LANG_SCNG(v) (language_scanner_globals.v)
  49. extern ZEND_API zend_php_scanner_globals language_scanner_globals;
  50. #endif
  51. /* INI Scanner */
  52. #ifdef ZTS
  53. # define INI_SCNG(v) TSRMG(ini_scanner_globals_id, zend_ini_scanner_globals *, v)
  54. extern ZEND_API ts_rsrc_id ini_scanner_globals_id;
  55. #else
  56. # define INI_SCNG(v) (ini_scanner_globals.v)
  57. extern ZEND_API zend_ini_scanner_globals ini_scanner_globals;
  58. #endif
  59. END_EXTERN_C()
  60. /* For limited downwards source compatibility */
  61. #define CLS_FETCH()
  62. #define ELS_FETCH()
  63. #define ALS_FETCH()
  64. #define PLS_FETCH()
  65. #define SLS_FETCH()
  66. #define CLS_D
  67. #define ELS_D
  68. #define ALS_D
  69. #define PLS_D
  70. #define SLS_D
  71. #define CLS_DC
  72. #define ELS_DC
  73. #define ALS_DC
  74. #define PLS_DC
  75. #define SLS_DC
  76. #define CLS_C
  77. #define ELS_C
  78. #define ALS_C
  79. #define PLS_C
  80. #define SLS_C
  81. #define CLS_CC
  82. #define ELS_CC
  83. #define ALS_CC
  84. #define PLS_CC
  85. #define SLS_CC
  86. #endif /* ZEND_GLOBALS_MACROS_H */
  87. /*
  88. * Local variables:
  89. * tab-width: 4
  90. * c-basic-offset: 4
  91. * indent-tabs-mode: t
  92. * End:
  93. */