--- a/trunk/php-java-bridge/php_java.h +++ b/trunk/php-java-bridge/php_java.h @@ -12,6 +12,7 @@ #include "zend_compile.h" #include "php_ini.h" #include "php_globals.h" +#include "protocol.h" #ifdef ZTS #include "TSRM.h" #endif @@ -39,20 +40,19 @@ #endif #endif -#include "protocol.h" -extern zend_module_entry java_module_entry; -extern zend_class_entry *php_java_class_entry; -extern zend_class_entry *php_java_class_class_entry; -extern zend_class_entry *php_java_exception_class_entry; -extern function_entry php_java_class_functions[]; +extern zend_module_entry EXT_GLOBAL(module_entry); +extern zend_class_entry *EXT_GLOBAL(class_entry); +extern zend_class_entry *EXT_GLOBAL(class_class_entry); +extern zend_class_entry *EXT_GLOBAL(exception_class_entry); +extern function_entry EXT_GLOBAL(class_functions[]); #ifdef ZEND_ENGINE_2 -extern zend_object_handlers php_java_handlers; +extern zend_object_handlers EXT_GLOBAL(handlers); #endif -extern const char * const java_bridge_version; +extern const char * const EXT_GLOBAL(bridge_version); -extern int java_ini_updated; +extern int EXT_GLOBAL(ini_updated), EXT_GLOBAL (ini_last_updated); #define U_LOGFILE (1<<1) #define U_LOGLEVEL (1<<2) #define U_JAVA_HOME (1<<3) @@ -64,17 +64,28 @@ #define U_SERVLET (1<<9) -#define phpext_java_ptr &java_module_entry - +#if EXTENSION == JAVA +#define phpext_java_ptr &EXT_GLOBAL(module_entry) #ifdef PHP_WIN32 #define PHP_JAVA_API __declspec(dllexport) #else #define PHP_JAVA_API #endif +#elif EXTENSION == MONO +#define phpext_mono_ptr &EXT_GLOBAL(module_entry) +#ifdef PHP_WIN32 +#define PHP_MONO_API __declspec(dllexport) +#else +#define PHP_MONO_API +#endif +#else +# error EXT must be mono or java. +#endif -PHP_MINIT_FUNCTION(java); -PHP_MSHUTDOWN_FUNCTION(java); -PHP_MINFO_FUNCTION(java); + +PHP_MINIT_FUNCTION(EXT); +PHP_MSHUTDOWN_FUNCTION(EXT); +PHP_MINFO_FUNCTION(EXT); struct cfg { #ifdef CFG_JAVA_SOCKET_INET @@ -88,42 +99,40 @@ char*hosts; char*classpath; char*ld_library_path; - char*java; - char*java_home; + char*vm; + char*vm_home; char*logLevel; unsigned short logLevel_val; char*logFile; short can_fork; /* 0 if user has hard-coded the socketname */ char* servlet; /* On or servlet context */ }; -extern struct cfg *cfg; +extern struct cfg *EXT_GLOBAL(cfg); -ZEND_BEGIN_MODULE_GLOBALS(java) +EXT_BEGIN_MODULE_GLOBALS(EXT) proxyenv *jenv; short is_closed; /* PR1176522: GC must not re-open the connection */ -ZEND_END_MODULE_GLOBALS(java) +EXT_END_MODULE_GLOBALS(EXT) #ifdef ZTS -# define JG(v) TSRMG(java_globals_id, zend_java_globals *, v) +# define JG(v) EXT_TSRMG(EXT_GLOBAL(globals_id), EXT_GLOBAL_EX(zend_,, _globals) *, v) #else -# define JG(v) (java_globals.v) +# define JG(v) EXT_GLOBAL(globals).v #endif +extern char* EXT_GLOBAL(get_server_string()); -extern char* java_get_server_string(); - -extern proxyenv *java_try_connect_to_server(TSRMLS_D); -extern proxyenv *java_connect_to_server(TSRMLS_D); -extern proxyenv *java_connect_to_mono(TSRMLS_D); -extern void java_start_server(); +extern proxyenv *EXT_GLOBAL(try_connect_to_server)(TSRMLS_D); +extern proxyenv *EXT_GLOBAL(connect_to_server)(TSRMLS_D); +extern void EXT_GLOBAL(start_server)(); /* spec: M ono, J ava or I nit (lower-case m or j: no multicast) */ -extern char* java_test_server(int *socket, unsigned char spec); +extern char* EXT_GLOBAL(test_server)(int *socket, unsigned char spec); /* returns the servlet context or null */ -extern char *get_servlet_context(); +extern char *EXT_GLOBAL(get_servlet_context)(); #endif