summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorRasmus Lerdorf <rasmus@php.net>2001-08-09 04:47:47 +0000
committerRasmus Lerdorf <rasmus@php.net>2001-08-09 04:47:47 +0000
commitc359e40a571e86d85ff3c3cffc687d56dcaf3ab0 (patch)
treec964205d833c4a588e8ac665724218c5b7e3b3f8 /ext
parentd0095ba3c53cba6dc8e751d63142f0701b042825 (diff)
downloadphp-git-c359e40a571e86d85ff3c3cffc687d56dcaf3ab0.tar.gz
More ext_skel cleanup
Diffstat (limited to 'ext')
-rw-r--r--ext/skeleton/php_skeleton.h17
-rw-r--r--ext/skeleton/skeleton.c19
2 files changed, 31 insertions, 5 deletions
diff --git a/ext/skeleton/php_skeleton.h b/ext/skeleton/php_skeleton.h
index 944a684684..6faaa436a9 100644
--- a/ext/skeleton/php_skeleton.h
+++ b/ext/skeleton/php_skeleton.h
@@ -12,6 +12,10 @@ extern zend_module_entry extname_module_entry;
#define PHP_EXTNAME_API
#endif
+#ifdef ZTS
+#include "TSRM.h"
+#endif
+
PHP_MINIT_FUNCTION(extname);
PHP_MSHUTDOWN_FUNCTION(extname);
PHP_RINIT_FUNCTION(extname);
@@ -31,15 +35,18 @@ ZEND_BEGIN_MODULE_GLOBALS(extname)
ZEND_END_MODULE_GLOBALS(extname)
*/
-/* In every function that needs to use variables in php_extname_globals,
- do call EXTNAME_LS_FETCH(); after declaring other variables used by
- that function, and always refer to them as EXTNAME_G(variable).
- You are encouraged to rename these macros something shorter, see
+/* In every utility function you add that needs to use variables
+ in php_extname_globals, call TSRM_FETCH(); after declaring other
+ variables used by that function, or better yet, pass in TSRMG_CC
+ after the last function argument and declare your utility function
+ with TSRMG_DC after the last declared argument. Always refer to
+ the globals in your function as EXTNAME_G(variable). You are
+ encouraged to rename these macros something shorter, see
examples in any other php module directory.
*/
#ifdef ZTS
-#define EXTNAME_G(v) TSRMG(extname_globals_id, zend_##extname_globals *, v)
+#define EXTNAME_G(v) TSRMG(extname_globals_id, zend_extname_globals *, v)
#else
#define EXTNAME_G(v) (extname_globals.v)
#endif
diff --git a/ext/skeleton/skeleton.c b/ext/skeleton/skeleton.c
index a6e99c1614..b53df673de 100644
--- a/ext/skeleton/skeleton.c
+++ b/ext/skeleton/skeleton.c
@@ -55,10 +55,25 @@ PHP_INI_END()
*/
/* }}} */
+/* {{{ php_extname_init_globals
+ */
+/* Uncomment this function if you have INI entries
+static void php_extname_init_globals(zend_extname_globals *extname_globals)
+{
+ extname_globals->value = 0;
+ extname_globals->string = NULL;
+}
+*/
+/* }}} */
+
/* {{{ PHP_MINIT_FUNCTION
*/
PHP_MINIT_FUNCTION(extname)
{
+ /* If you have INI entries, uncomment these lines
+ ZEND_INIT_MODULE_GLOBALS(extname, php_extname_init_globals, NULL);
+ REGISTER_INI_ENTRIES();
+ */
return SUCCESS;
}
/* }}} */
@@ -67,6 +82,9 @@ PHP_MINIT_FUNCTION(extname)
*/
PHP_MSHUTDOWN_FUNCTION(extname)
{
+ /* uncomment this line if you have INI entries
+ UNREGISTER_INI_ENTRIES();
+ */
return SUCCESS;
}
/* }}} */
@@ -103,6 +121,7 @@ PHP_MINFO_FUNCTION(extname)
}
/* }}} */
+
/* Remove the following function when you have succesfully modified config.m4
so that your module can be compiled into PHP, it exists only for testing
purposes. */