The ServerModule symbol

The ServerModule symbol resolves to a server_module_t type, which is a data structure defined in server_module.h from libserver:

typedef struct _server_module_t {
        char            *name;
        char            *description;
        int             ver_major, ver_minor, ver_micro;
        int             build_ver_major, build_ver_minor, build_ver_micro;
        char            **authors;
        cfg_opt_t       *configuration\_options;
        int             (*construct)(void *);
        int             (*prestart)(cfg_t *);
        void *          (*operator)(void *);
        void            (*report)(FILE *);
} server_module_t;

name
Name of the module
description
Brief description of modules purpose
ver_major
Major version of the module
ver_minor
Minor version of the module
ver_micro
Micro version of the module
build_ver_major
Major version of ServerKit used to compile the module
build_ver_minor
Minor version of ServerKit used to compile the module
build_ver_micro
Micro version of ServerKit used to compile the module
authors
NULL terminated array of module author strings
configuration_options
Libconfuse type which describes the modules configuration options
construct
Function for very early module initialization
prestart
Function for post-configuration pre-userswitch activities, like binding to privileged ports
operator
Function passed to pthread_create, basically the modules main entry point
report
Function for reporting statistics, usually this involves sending some module-specific statistics to the supplied stdio FILE



2007-12-06