added zend_ini_entry to zend_modules_entry as

discussed with zeev
This commit is contained in:
Harald Radi 2003-01-12 13:00:28 +00:00
parent c37ee2a12a
commit 814045bba6
3 changed files with 53 additions and 26 deletions

View File

@ -56,31 +56,7 @@
#endif
typedef struct _zend_ini_entry zend_ini_entry;
#define ZEND_INI_MH(name) int name(zend_ini_entry *entry, char *new_value, uint new_value_length, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage TSRMLS_DC)
#define ZEND_INI_DISP(name) void name(zend_ini_entry *ini_entry, int type)
struct _zend_ini_entry {
int module_number;
int modifyable;
char *name;
uint name_length;
ZEND_INI_MH((*on_modify));
void *mh_arg1;
void *mh_arg2;
void *mh_arg3;
char *value;
uint value_length;
char *orig_value;
uint orig_value_length;
int modified;
void (*displayer)(zend_ini_entry *ini_entry, int type);
};
#include "zend_ini_entry.h"
ZEND_API int zend_ini_startup(TSRMLS_D);
ZEND_API int zend_ini_shutdown(TSRMLS_D);

48
Zend/zend_ini_entry.h Normal file
View File

@ -0,0 +1,48 @@
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2003 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
| available at through the world-wide-web at |
| http://www.zend.com/license/2_00.txt. |
| If you did not receive a copy of the Zend license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@zend.com so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Harald Radi <harald.radi@nme.at> |
+----------------------------------------------------------------------+
*/
#ifndef ZEND_INI_ENTRY_H
#define ZEND_INI_ENTRY_H
#define ZEND_INI_MH(name) int name(zend_ini_entry *entry, char *new_value, uint new_value_length, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage TSRMLS_DC)
#define ZEND_INI_DISP(name) void name(zend_ini_entry *ini_entry, int type)
typedef struct _zend_ini_entry zend_ini_entry;
struct _zend_ini_entry {
int module_number;
int modifyable;
char *name;
uint name_length;
ZEND_INI_MH((*on_modify));
void *mh_arg1;
void *mh_arg2;
void *mh_arg3;
char *value;
uint value_length;
char *orig_value;
uint orig_value_length;
int modified;
void (*displayer)(zend_ini_entry *ini_entry, int type);
};
#endif /* ZEND_INI_ENTRY_H */

View File

@ -22,6 +22,7 @@
#define MODULES_H
#include "zend.h"
#include "zend_ini_entry.h"
#define INIT_FUNC_ARGS int type, int module_number TSRMLS_DC
#define INIT_FUNC_ARGS_PASSTHRU type, module_number TSRMLS_CC
@ -41,7 +42,8 @@ ZEND_API extern unsigned char third_arg_force_ref[];
#define USING_ZTS 0
#endif
#define STANDARD_MODULE_HEADER sizeof(zend_module_entry), ZEND_MODULE_API_NO, ZEND_DEBUG, USING_ZTS
#define STANDARD_MODULE_HEADER sizeof(zend_module_entry), ZEND_MODULE_API_NO, ZEND_DEBUG, USING_ZTS, NULL
#define ZE2_STANDARD_MODULE_HEADER sizeof(zend_module_entry), ZEND_MODULE_API_NO, ZEND_DEBUG, USING_ZTS, &ini_entries
#define STANDARD_MODULE_PROPERTIES_EX 0, 0, 0, NULL, 0
@ -60,6 +62,7 @@ struct _zend_module_entry {
unsigned int zend_api;
unsigned char zend_debug;
unsigned char zts;
zend_ini_entry *ini_entry;
char *name;
zend_function_entry *functions;
int (*module_startup_func)(INIT_FUNC_ARGS);