dougm 01/10/07 16:02:41
Modified: xs/maps modperl_functions.map
xs/tables/current/ModPerl FunctionTable.pm
Added: xs/ModPerl/Global ModPerl__Global.h
Log:
add ModPerl::Global module with functions to call/clear special lists (END,etc)
Revision Changes Path
1.1 modperl-2.0/xs/ModPerl/Global/ModPerl__Global.h
Index: ModPerl__Global.h
===================================================================
typedef void (*mpxs_special_list_do_t)(pTHX_ modperl_modglobal_key_t *,
const char *, I32);
static int mpxs_special_list_do(pTHX_ const char *name,
SV *package,
mpxs_special_list_do_t func)
{
STRLEN packlen;
modperl_modglobal_key_t *gkey = modperl_modglobal_lookup(aTHX_ name);
if (!gkey) {
return FALSE;
}
SvPV_force(package, packlen);
func(aTHX_ gkey, SvPVX(package), packlen);
return TRUE;
}
static
MP_INLINE int mpxs_ModPerl__Global_special_list_call(const char *name,
SV *package)
{
dTHX; /* XXX */
return mpxs_special_list_do(aTHX_ name, package,
modperl_perl_global_avcv_call);
}
static
MP_INLINE int mpxs_ModPerl__Global_special_list_clear(const char *name,
SV *package)
{
dTHX; /* XXX */
return mpxs_special_list_do(aTHX_ name, package,
modperl_perl_global_avcv_clear);
}
1.21 +4 -0 modperl-2.0/xs/maps/modperl_functions.map
Index: modperl_functions.map
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/maps/modperl_functions.map,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- modperl_functions.map 2001/09/28 20:11:02 1.20
+++ modperl_functions.map 2001/10/07 23:02:41 1.21
@@ -1,5 +1,9 @@
#modperl specfic functions
+MODULE=ModPerl::Global
+ mpxs_ModPerl__Global_special_list_call
+ mpxs_ModPerl__Global_special_list_clear
+
MODULE=Apache::RequestUtil PACKAGE=guess
mpxs_Apache__RequestRec_push_handlers
mpxs_Apache__RequestRec_set_handlers
1.32 +43 -1 modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm
Index: FunctionTable.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- FunctionTable.pm 2001/10/07 22:11:56 1.31
+++ FunctionTable.pm 2001/10/07 23:02:41 1.32
@@ -2,7 +2,7 @@
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# ! WARNING: generated by ModPerl::ParseSource/0.01
-# ! Sun Oct 7 15:18:16 2001
+# ! Sun Oct 7 15:51:20 2001
# ! do NOT edit, any changes will be lost !
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -4168,6 +4168,34 @@
]
},
{
+ 'return_type' => 'int',
+ 'name' => 'mpxs_ModPerl__Global_special_list_call',
+ 'args' => [
+ {
+ 'type' => 'const char *',
+ 'name' => 'name'
+ },
+ {
+ 'type' => 'SV *',
+ 'name' => 'package'
+ }
+ ]
+ },
+ {
+ 'return_type' => 'int',
+ 'name' => 'mpxs_ModPerl__Global_special_list_clear',
+ 'args' => [
+ {
+ 'type' => 'const char *',
+ 'name' => 'name'
+ },
+ {
+ 'type' => 'SV *',
+ 'name' => 'package'
+ }
+ ]
+ },
+ {
'return_type' => 'void',
'name' => 'mpxs_ap_allow_methods',
'args' => [
@@ -4676,6 +4704,20 @@
{
'type' => 'apr_read_type_e',
'name' => 'block'
+ }
+ ]
+ },
+ {
+ 'return_type' => 'int',
+ 'name' => 'mpxs_special_list_do',
+ 'args' => [
+ {
+ 'type' => '',
+ 'name' => 'my_perl'
+ },
+ {
+ 'type' => 'mpxs_special_list_do_t',
+ 'name' => 'func'
}
]
}