root/sapi/embed/php_embed.h

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

INCLUDED FROM


   1 /*
   2    +----------------------------------------------------------------------+
   3    | PHP Version 5                                                        |
   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: Edin Kadribasic <edink@php.net>                              |
  16    +----------------------------------------------------------------------+
  17 */
  18 /* $Id$ */
  19 
  20 #ifndef _PHP_EMBED_H_
  21 #define _PHP_EMBED_H_
  22 
  23 #include <main/php.h>
  24 #include <main/SAPI.h>
  25 #include <main/php_main.h>
  26 #include <main/php_variables.h>
  27 #include <main/php_ini.h>
  28 #include <zend_ini.h>
  29 
  30 #ifdef ZTS
  31 #define PTSRMLS_D        void ****ptsrm_ls
  32 #define PTSRMLS_DC       , PTSRMLS_D
  33 #define PTSRMLS_C        &tsrm_ls
  34 #define PTSRMLS_CC       , PTSRMLS_C
  35 
  36 #define PHP_EMBED_START_BLOCK(x,y) { \
  37     void ***tsrm_ls; \
  38     php_embed_init(x, y PTSRMLS_CC); \
  39     zend_first_try {
  40 
  41 #else
  42 #define PTSRMLS_D
  43 #define PTSRMLS_DC
  44 #define PTSRMLS_C
  45 #define PTSRMLS_CC
  46 
  47 #define PHP_EMBED_START_BLOCK(x,y) { \
  48     php_embed_init(x, y); \
  49     zend_first_try {
  50 
  51 #endif
  52 
  53 #define PHP_EMBED_END_BLOCK() \
  54   } zend_catch { \
  55     /* int exit_status = EG(exit_status); */ \
  56   } zend_end_try(); \
  57   php_embed_shutdown(TSRMLS_C); \
  58 }
  59 
  60 #ifndef PHP_WIN32
  61     #define EMBED_SAPI_API SAPI_API
  62 #else
  63     #define EMBED_SAPI_API 
  64 #endif 
  65 
  66 BEGIN_EXTERN_C() 
  67 EMBED_SAPI_API int php_embed_init(int argc, char **argv PTSRMLS_DC);
  68 EMBED_SAPI_API void php_embed_shutdown(TSRMLS_D);
  69 extern EMBED_SAPI_API sapi_module_struct php_embed_module;
  70 END_EXTERN_C()
  71 
  72 
  73 #endif /* _PHP_EMBED_H_ */

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