summaryrefslogtreecommitdiff
path: root/sapi/embed/php_embed.h
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2002-09-29 16:22:49 +0000
committerSascha Schumann <sas@php.net>2002-09-29 16:22:49 +0000
commite6e54605b7c4153be53a4ee62429fcc4eb2d8970 (patch)
treed805a9b1167884923e1754fd8e5557cdf4fc77fc /sapi/embed/php_embed.h
parent2af630f87db2e08a0837d062bcad2cd403bed4e7 (diff)
downloadphp-git-e6e54605b7c4153be53a4ee62429fcc4eb2d8970.tar.gz
Follow Yasuo's suggestion and build sapi program's under the sapi-specific
directory. Move sapi-specific makefile fragments to their respective directory. Create an embed sapi module which resides in its own dir now.
Diffstat (limited to 'sapi/embed/php_embed.h')
-rw-r--r--sapi/embed/php_embed.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/sapi/embed/php_embed.h b/sapi/embed/php_embed.h
new file mode 100644
index 0000000000..9cea3dc316
--- /dev/null
+++ b/sapi/embed/php_embed.h
@@ -0,0 +1,60 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 4 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2002 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 2.02 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available at through the world-wide-web at |
+ | http://www.php.net/license/2_02.txt. |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Author: Edin Kadribasic <edink@php.net> |
+ +----------------------------------------------------------------------+
+*/
+/* $Id$ */
+
+#ifndef _PHP_EMBED_H_
+#define _PHP_EMBED_H_
+
+#include <main/php.h>
+#include <main/SAPI.h>
+#include <main/php_main.h>
+#include <main/php_variables.h>
+#include <main/php_ini.h>
+#include <zend_ini.h>
+
+#ifdef ZTS
+#define PTSRMLS_D void ****ptsrm_ls
+#define PTSRMLS_DC , PTSRMLS_D
+#define PTSRMLS_C &tsrm_ls
+#define PTSRMLS_CC , PTSRMLS_C
+#else
+#define PTSRMLS_D
+#define PTSRMLS_DC
+#define PTSRMLS_C
+#define PTSRMLS_CC
+#endif
+
+#define PHP_EMBED_START_BLOCK(x,y) { \
+ void ***tsrm_ls; \
+ php_embed_init(x, y PTSRMLS_CC); \
+ zend_first_try {
+
+#define PHP_EMBED_END_BLOCK() \
+ } zend_catch { \
+ /* int exit_status = EG(exit_status); */ \
+ } zend_end_try(); \
+ php_embed_shutdown(TSRMLS_C); \
+}
+
+BEGIN_EXTERN_C()
+int php_embed_init(int argc, char **argv PTSRMLS_DC);
+void php_embed_shutdown(TSRMLS_D);
+END_EXTERN_C()
+
+
+#endif /* _PHP_EMBED_H_ */