On Oct 13, 2010 at 16:14, Juha Heinanen <jh(a)tutpro.com> wrote:
Andrei Pelinescu-Onciul writes:
I you want variable number of parameters, the
module function
declaration should look like:
{"foov", (cmd_function)foo_var, VAR_PARAM_NO, 0, 0,
REQUEST_ROUTE}
andrei,
when i compare the above example with modules_s/print example:
{"printv", (cmd_function)print_f_var, VAR_PARAM_NO, 0,
REQUEST_ROUTE},
the difference is that in foov example there is one field more. i guess
it has something to do with s vs. k module interface.
Yes, k interface has an extra free_fixup function.
when i look
sr_module.h there is ifdefs KAMAILIO_MOD_INTERFACE. is it possible to
match and match module interfaces on per module basis by including
#define SER_MOD_INTERFACE
or
#define KAMAILIO_MOD_INTERFACE
in the main source file of the module?
You should add it to the Makefile, e.g.:
include ../../Makefile.defs
auto_gen=
NAME=foo.so
LIBS=
DEFS+= -DSER_MOD_INTERFACE
include ../../Makefile.modules
If neither ser or k MOD_INTERFACE is defined, I think you'll probably
get some compilation error.
it would really be nice if there were a wiki page about this (including
the fixup stuff).
It should change during 3.2. I'll probably add a SR3.2_MODE_INTERFACE
which will combine ser & k (actually all that is missing is exposing it
to the modules, internally ser & k interfaces are converted to a more
generic sr interface).
Andrei