You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.0 KiB

24 years ago
  1. /*
  2. +----------------------------------------------------------------------+
  3. | PHP Version 4 |
  4. +----------------------------------------------------------------------+
  5. | Copyright (c) 1997-2002 The PHP Group |
  6. +----------------------------------------------------------------------+
  7. | This source file is subject to version 2.02 of the PHP license, |
  8. | that is bundled with this package in the file LICENSE, and is |
  9. | available at through the world-wide-web at |
  10. | http://www.php.net/license/2_02.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: Edin Kadribasic <edink@php.net> |
  16. +----------------------------------------------------------------------+
  17. */
  18. /* $Id$ */
  19. #ifndef _PHP_EMBED_H_
  20. #define _PHP_EMBED_H_
  21. #include <main/php.h>
  22. #include <main/SAPI.h>
  23. #include <main/php_main.h>
  24. #include <main/php_variables.h>
  25. #include <main/php_ini.h>
  26. #include <zend_ini.h>
  27. #ifdef ZTS
  28. #define PTSRMLS_D void ****ptsrm_ls
  29. #define PTSRMLS_DC , PTSRMLS_D
  30. #define PTSRMLS_C &tsrm_ls
  31. #define PTSRMLS_CC , PTSRMLS_C
  32. #else
  33. #define PTSRMLS_D
  34. #define PTSRMLS_DC
  35. #define PTSRMLS_C
  36. #define PTSRMLS_CC
  37. #endif
  38. #define PHP_EMBED_START_BLOCK(x,y) { \
  39. void ***tsrm_ls; \
  40. php_embed_init(x, y PTSRMLS_CC); \
  41. zend_first_try {
  42. #define PHP_EMBED_END_BLOCK() \
  43. } zend_catch { \
  44. /* int exit_status = EG(exit_status); */ \
  45. } zend_end_try(); \
  46. php_embed_shutdown(TSRMLS_C); \
  47. }
  48. BEGIN_EXTERN_C()
  49. int php_embed_init(int argc, char **argv PTSRMLS_DC);
  50. void php_embed_shutdown(TSRMLS_D);
  51. END_EXTERN_C()
  52. #endif /* _PHP_EMBED_H_ */