summaryrefslogtreecommitdiff
path: root/main/php_ini.h
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>1999-05-09 08:48:05 +0000
committerZeev Suraski <zeev@php.net>1999-05-09 08:48:05 +0000
commitbc415d5a8883bbe5b15c12e9a30f916c8010204a (patch)
tree216499649825b9005a59c0e3c5b5be67c2092871 /main/php_ini.h
parent91cf2e59c47a30f075fe1c69d17550b956df9865 (diff)
downloadphp-git-bc415d5a8883bbe5b15c12e9a30f916c8010204a.tar.gz
* Finalizing the PHP version of SAPI. Support POST and cookies among other things.
* Fully implement ISAPI support - POST and cookies among other things. * Almost completely rewrote phpinfo(). Allow modules to easily display their information in phpinfo() without modifying phpinfo() itself (prototype for the module info function was changed, thus the large amount of updated module files). * Initial extended SAPI support for Apache, completely untested. * CGI now uses SAPI fully as well.
Diffstat (limited to 'main/php_ini.h')
-rw-r--r--main/php_ini.h56
1 files changed, 44 insertions, 12 deletions
diff --git a/main/php_ini.h b/main/php_ini.h
index f76dd83cbb..de9a994858 100644
--- a/main/php_ini.h
+++ b/main/php_ini.h
@@ -10,6 +10,7 @@
typedef struct _php_ini_entry php_ini_entry;
#define PHP_INI_MH(name) int name(php_ini_entry *entry, char *new_value, uint new_value_length, void *mh_arg1, void *mh_arg2, void *mh_arg3)
+#define PHP_INI_DISP(name) void name(php_ini_entry *ini_entry, int type)
struct _php_ini_entry {
int module_number;
@@ -27,6 +28,8 @@ struct _php_ini_entry {
char *orig_value;
uint orig_value_length;
int modified;
+
+ void (*displayer)(php_ini_entry *ini_entry, int type);
};
@@ -34,36 +37,57 @@ int php_ini_mstartup();
int php_ini_mshutdown();
int php_ini_rshutdown();
-int php_register_ini_entries(php_ini_entry *ini_entry, int module_number);
-void php_unregister_ini_entries(int module_number);
-int php_alter_ini_entry(char *name, uint name_length, char *new_value, uint new_value_length, int modify_type);
-int php_restore_ini_entry(char *name, uint name_length);
+PHPAPI int php_register_ini_entries(php_ini_entry *ini_entry, int module_number);
+PHPAPI void php_unregister_ini_entries(int module_number);
+PHPAPI int php_alter_ini_entry(char *name, uint name_length, char *new_value, uint new_value_length, int modify_type);
+PHPAPI int php_restore_ini_entry(char *name, uint name_length);
+PHPAPI void display_ini_entries(zend_module_entry *module);
+
+PHPAPI long php_ini_long(char *name, uint name_length, int orig);
+PHPAPI double php_ini_double(char *name, uint name_length, int orig);
+PHPAPI char *php_ini_string(char *name, uint name_length, int orig);
-long php_ini_long(char *name, uint name_length, int orig);
-double php_ini_double(char *name, uint name_length, int orig);
-char *php_ini_string(char *name, uint name_length, int orig);
+PHPAPI int php_ini_register_displayer(char *name, uint name_length, void (*displayer)(php_ini_entry *ini_entry, int type));
+PHPAPI PHP_INI_DISP(php_ini_boolean_displayer_cb);
+PHPAPI PHP_INI_DISP(php_ini_color_displayer_cb);
#define PHP_INI_BEGIN() static php_ini_entry ini_entries[] = {
-#define PHP_INI_END() { 0, 0, NULL, 0, NULL, NULL, NULL, 0, NULL, 0, 0 } };
+#define PHP_INI_END() { 0, 0, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, NULL } };
+
+#define PHP_INI_ENTRY3_EX(name, default_value, modifyable, on_modify, arg1, arg2, arg3, displayer) \
+ { 0, modifyable, name, sizeof(name), on_modify, arg1, arg2, arg3, default_value, sizeof(default_value)-1, NULL, 0, 0, displayer },
#define PHP_INI_ENTRY3(name, default_value, modifyable, on_modify, arg1, arg2, arg3) \
- { 0, modifyable, name, sizeof(name), on_modify, arg1, arg2, arg3, default_value, sizeof(default_value)-1, NULL, 0, 0 },
+ PHP_INI_ENTRY3_EX(name, default_value, modifyable, on_modify, arg1, arg2, arg3, NULL)
+
+#define PHP_INI_ENTRY2_EX(name, default_value, modifyable, on_modify, arg1, arg2, displayer) \
+ PHP_INI_ENTRY3_EX(name, default_value, modifyable, on_modify, arg1, arg2, NULL, displayer)
#define PHP_INI_ENTRY2(name, default_value, modifyable, on_modify, arg1, arg2) \
- PHP_INI_ENTRY3(name, default_value, modifyable, on_modify, arg1, arg2, NULL)
+ PHP_INI_ENTRY2_EX(name, default_value, modifyable, on_modify, arg1, arg2, NULL)
+
+#define PHP_INI_ENTRY1_EX(name, default_value, modifyable, on_modify, arg1, displayer) \
+ PHP_INI_ENTRY3_EX(name, default_value, modifyable, on_modify, arg1, NULL, NULL, displayer)
#define PHP_INI_ENTRY1(name, default_value, modifyable, on_modify, arg1) \
- PHP_INI_ENTRY3(name, default_value, modifyable, on_modify, arg1, NULL, NULL)
+ PHP_INI_ENTRY1_EX(name, default_value, modifyable, on_modify, arg1, NULL)
+#define PHP_INI_ENTRY_EX(name, default_value, modifyable, on_modify, displayer) \
+ PHP_INI_ENTRY3_EX(name, default_value, modifyable, on_modify, NULL, NULL, NULL, displayer)
+
#define PHP_INI_ENTRY(name, default_value, modifyable, on_modify) \
- PHP_INI_ENTRY3(name, default_value, modifyable, on_modify, NULL, NULL, NULL)
+ PHP_INI_ENTRY_EX(name, default_value, modifyable, on_modify, NULL)
#ifdef ZTS
#define STD_PHP_INI_ENTRY(name, default_value, modifyable, on_modify, property_name, struct_type, struct_ptr) \
PHP_INI_ENTRY2(name, default_value, modifyable, on_modify, (void *) XtOffsetOf(struct_type, property_name), (void *) &struct_ptr##_id)
+#define STD_PHP_INI_BOOLEAN(name, default_value, modifyable, on_modify, property_name, struct_type, struct_ptr) \
+ PHP_INI_ENTRY3_EX(name, default_value, modifyable, on_modify, (void *) XtOffsetOf(struct_type, property_name), (void *) &struct_ptr##_id, NULL, php_ini_boolean_displayer_cb)
#else
#define STD_PHP_INI_ENTRY(name, default_value, modifyable, on_modify, property_name, struct_type, struct_ptr) \
PHP_INI_ENTRY2(name, default_value, modifyable, on_modify, (void *) XtOffsetOf(struct_type, property_name), (void *) &struct_ptr)
+#define STD_PHP_INI_BOOLEAN(name, default_value, modifyable, on_modify, property_name, struct_type, struct_ptr) \
+ PHP_INI_ENTRY3_EX(name, default_value, modifyable, on_modify, (void *) XtOffsetOf(struct_type, property_name), (void *) &struct_ptr, NULL, php_ini_boolean_displayer_cb)
#endif
#define INI_INT(name) php_ini_long((name), sizeof(name), 0)
@@ -78,6 +102,10 @@ char *php_ini_string(char *name, uint name_length, int orig);
#define REGISTER_INI_ENTRIES() php_register_ini_entries(ini_entries, module_number)
#define UNREGISTER_INI_ENTRIES() php_unregister_ini_entries(module_number)
+#define DISPLAY_INI_ENTRIES() display_ini_entries(module)
+
+#define REGISTER_INI_DISPLAYER(name, displayer) php_ini_register_displayer((name), sizeof(name), displayer)
+#define REGISTER_INI_BOOLEAN(name) REGISTER_INI_DISPLAYER(name, php_ini_boolean_displayer_cb)
pval *cfg_get_entry(char *name, uint name_length);
@@ -88,4 +116,8 @@ PHP_INI_MH(OnUpdateReal);
PHP_INI_MH(OnUpdateString);
PHP_INI_MH(OnUpdateStringUnempty);
+
+#define PHP_INI_DISPLAY_ORIG 1
+#define PHP_INI_DISPLAY_ACTIVE 2
+
#endif /* _PHP_INI_H */