docs.roxen.comBack to normal mode
DocsRoxen2.2Programmer ManualThe Roxen Module API
Copyright © 2004, Roxen Internet Software
Suggestions, comments & compliments
manuals@roxen.com

Constants Common to All Modules

This page covers all constants that all module types may or are expected to provide with information about the module. (Be sure to see the sections on common callback methods and API methods too.)
string cvs_version;

This string (filtered to remove some ugly cvs id markup) shows up in the roxen administration interface when handling module parameters in developer mode (configured under "User Settings" below the Admin tab). It will also serve as the basis for extracting version information of the file in the inherit tree. Optional, but convenient, especially if you use cvs for version control of your code.

string module_name;

The name that will show up in the module listings when adding modules or viewing the modules of a virtual server. Keep it fairly informative and unique, since this is the only means for identification of your module in the most brief add module view mode.

int module_type;

Module type (see server/etc/include/module.h). May be bitwise ored (|) for hybrid modules. Hybrid modules must implement the required API functions for all of the module types they are hybrids of.

string module_doc;

The documentation string that will end up in the administration interface view of the module just below the module name. Also shows up in the more verbose add module views.

int module_unique;

0 to allow multiple instances of the module per virtual server, 1 to allow at most one.

int thread_safe;

Tell Roxen that this module is thread safe. That is, there is no request specific data in module global variables (such state is better put in the API methods object, preferably in the id->misc mapping under some key unique to your module).

If your module is not thread safe, setting this flag to zero (0) or leaving it unset altogether will make roxen serialize accesses to your module. This will hurt performance on a busy server. A value of one (1) means your module is thread safe.