Rename MODULE_INFO to MXS_MODULE
The MODULE_INFO is now the main object which is used by modules to convey information to the MaxScale core. The MXS_MODULE name is more apt as it now contains the actual module definition. The old MODULES structure was moved into load_utils.c as an internal implementation and was renamed so that it is not confused with the new MODULE structure.
This commit is contained in:
parent
d42c6b455d
commit
c96bd64aa8
@ -193,7 +193,7 @@ protected:
|
||||
* The plugin function @c GetModuleObject is then implemented as follows:
|
||||
*
|
||||
* @code
|
||||
* extern "C" MODULE_INFO* MXS_CREATE_MODULE()
|
||||
* extern "C" MODULE* MXS_CREATE_MODULE()
|
||||
* {
|
||||
* return &MyFilter::s_object;
|
||||
* };
|
||||
|
@ -34,25 +34,25 @@ MXS_BEGIN_DECLS
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
MODULE_IN_DEVELOPMENT = 0,
|
||||
MODULE_ALPHA_RELEASE,
|
||||
MODULE_BETA_RELEASE,
|
||||
MODULE_GA,
|
||||
MODULE_EXPERIMENTAL
|
||||
} MODULE_STATUS;
|
||||
MXS_MODULE_IN_DEVELOPMENT = 0,
|
||||
MXS_MODULE_ALPHA_RELEASE,
|
||||
MXS_MODULE_BETA_RELEASE,
|
||||
MXS_MODULE_GA,
|
||||
MXS_MODULE_EXPERIMENTAL
|
||||
} MXS_MODULE_STATUS;
|
||||
|
||||
/**
|
||||
* The API implemented by the module
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
MODULE_API_PROTOCOL = 0,
|
||||
MODULE_API_ROUTER,
|
||||
MODULE_API_MONITOR,
|
||||
MODULE_API_FILTER,
|
||||
MODULE_API_AUTHENTICATOR,
|
||||
MODULE_API_QUERY_CLASSIFIER,
|
||||
} MODULE_API;
|
||||
MXS_MODULE_API_PROTOCOL = 0,
|
||||
MXS_MODULE_API_ROUTER,
|
||||
MXS_MODULE_API_MONITOR,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_API_AUTHENTICATOR,
|
||||
MXS_MODULE_API_QUERY_CLASSIFIER,
|
||||
} MXS_MODULE_API;
|
||||
|
||||
/**
|
||||
* The module version structure.
|
||||
@ -74,20 +74,20 @@ typedef struct
|
||||
int major;
|
||||
int minor;
|
||||
int patch;
|
||||
} MODULE_VERSION;
|
||||
} MXS_MODULE_VERSION;
|
||||
|
||||
/**
|
||||
* The module information structure
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
MODULE_API modapi; /**< Module API type */
|
||||
MODULE_STATUS status; /**< Module development status */
|
||||
MODULE_VERSION api_version; /**< Module API version */
|
||||
MXS_MODULE_API modapi; /**< Module API type */
|
||||
MXS_MODULE_STATUS status; /**< Module development status */
|
||||
MXS_MODULE_VERSION api_version; /**< Module API version */
|
||||
const char *description; /**< Module description */
|
||||
const char *version; /**< Module version */
|
||||
void *module_object; /**< Module type specific API implementation */
|
||||
} MODULE_INFO;
|
||||
} MXS_MODULE;
|
||||
|
||||
/**
|
||||
* Name of the module entry point
|
||||
@ -96,13 +96,13 @@ typedef struct
|
||||
*
|
||||
* @code{.cpp}
|
||||
*
|
||||
* MODULE_INFO* MXS_CREATE_MODULE()
|
||||
* MODULE* MXS_CREATE_MODULE()
|
||||
* {
|
||||
* // Module specific API implementation
|
||||
* static FILTER_OBJECT my_object = { ... };
|
||||
*
|
||||
* // An implementation of the MODULE_INFO structure
|
||||
* static MODULE_INFO info = { ... };
|
||||
* // An implementation of the MODULE structure
|
||||
* static MODULE info = { ... };
|
||||
*
|
||||
* // Any global initialization should be done here
|
||||
*
|
||||
@ -111,7 +111,7 @@ typedef struct
|
||||
*
|
||||
* @endcode
|
||||
*
|
||||
* The @c module_object field of the MODULE_INFO structure should point to
|
||||
* The @c module_object field of the MODULE structure should point to
|
||||
* the module type specific API implementation. In the above example, the @c info
|
||||
* would declare a pointer to @c my_object as the last member of the struct.
|
||||
*/
|
||||
|
@ -39,17 +39,6 @@
|
||||
|
||||
MXS_BEGIN_DECLS
|
||||
|
||||
typedef struct modules
|
||||
{
|
||||
char *module; /**< The name of the module */
|
||||
char *type; /**< The module type */
|
||||
char *version; /**< Module version */
|
||||
void *handle; /**< The handle returned by dlopen */
|
||||
void *modobj; /**< The module "object" this is the set of entry points */
|
||||
MODULE_INFO *info; /**< The module information */
|
||||
struct modules *next; /**< Next module in the linked list */
|
||||
} MODULES;
|
||||
|
||||
/**
|
||||
* Module types
|
||||
*/
|
||||
|
@ -97,7 +97,7 @@ void qc_thread_end(void)
|
||||
|
||||
extern "C"
|
||||
{
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static QUERY_CLASSIFIER qc =
|
||||
{
|
||||
@ -120,10 +120,10 @@ extern "C"
|
||||
qc_get_field_info,
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_QUERY_CLASSIFIER,
|
||||
MODULE_IN_DEVELOPMENT,
|
||||
MXS_MODULE_API_QUERY_CLASSIFIER,
|
||||
MXS_MODULE_IN_DEVELOPMENT,
|
||||
QUERY_CLASSIFIER_VERSION,
|
||||
"Dummy Query Classifier",
|
||||
"V1.0.0",
|
||||
|
@ -2557,7 +2557,7 @@ void qc_thread_end(void)
|
||||
extern "C"
|
||||
{
|
||||
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static QUERY_CLASSIFIER qc =
|
||||
{
|
||||
@ -2580,10 +2580,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
qc_get_field_info,
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_QUERY_CLASSIFIER,
|
||||
MODULE_IN_DEVELOPMENT,
|
||||
MXS_MODULE_API_QUERY_CLASSIFIER,
|
||||
MXS_MODULE_IN_DEVELOPMENT,
|
||||
QUERY_CLASSIFIER_VERSION,
|
||||
"Query classifier based upon MySQL Embedded",
|
||||
"V1.0.0",
|
||||
|
@ -3172,7 +3172,7 @@ void qc_sqlite_get_field_info(GWBUF* query, const QC_FIELD_INFO** infos, size_t*
|
||||
* EXPORTS
|
||||
*/
|
||||
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static QUERY_CLASSIFIER qc =
|
||||
{
|
||||
@ -3195,10 +3195,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
qc_sqlite_get_field_info,
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_QUERY_CLASSIFIER,
|
||||
MODULE_BETA_RELEASE,
|
||||
MXS_MODULE_API_QUERY_CLASSIFIER,
|
||||
MXS_MODULE_BETA_RELEASE,
|
||||
QUERY_CLASSIFIER_VERSION,
|
||||
"Query classifier using sqlite.",
|
||||
"V1.0.0",
|
||||
|
@ -45,15 +45,26 @@
|
||||
#include <maxscale/gwdirs.h>
|
||||
#include <maxscale/alloc.h>
|
||||
|
||||
static MODULES *registered = NULL;
|
||||
typedef struct loaded_module
|
||||
{
|
||||
char *module; /**< The name of the module */
|
||||
char *type; /**< The module type */
|
||||
char *version; /**< Module version */
|
||||
void *handle; /**< The handle returned by dlopen */
|
||||
void *modobj; /**< The module "object" this is the set of entry points */
|
||||
MXS_MODULE *info; /**< The module information */
|
||||
struct loaded_module *next; /**< Next module in the linked list */
|
||||
} LOADED_MODULE;
|
||||
|
||||
static MODULES *find_module(const char *module);
|
||||
static MODULES* register_module(const char *module,
|
||||
static LOADED_MODULE *registered = NULL;
|
||||
|
||||
static LOADED_MODULE *find_module(const char *module);
|
||||
static LOADED_MODULE* register_module(const char *module,
|
||||
const char *type,
|
||||
void *dlhandle,
|
||||
MODULE_INFO *mod_info);
|
||||
MXS_MODULE *mod_info);
|
||||
static void unregister_module(const char *module);
|
||||
int module_create_feedback_report(GWBUF **buffer, MODULES *modules, FEEDBACK_CONF *cfg);
|
||||
int module_create_feedback_report(GWBUF **buffer, LOADED_MODULE *modules, FEEDBACK_CONF *cfg);
|
||||
int do_http_post(GWBUF *buffer, void *cfg);
|
||||
|
||||
struct MemoryStruct
|
||||
@ -93,42 +104,42 @@ WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp)
|
||||
return realsize;
|
||||
}
|
||||
|
||||
static bool check_module(MODULE_INFO *mod_info, const char *type, const char *module)
|
||||
static bool check_module(const MXS_MODULE *mod_info, const char *type, const char *module)
|
||||
{
|
||||
bool success = true;
|
||||
|
||||
if (strcmp(type, MODULE_PROTOCOL) == 0
|
||||
&& mod_info->modapi != MODULE_API_PROTOCOL)
|
||||
&& mod_info->modapi != MXS_MODULE_API_PROTOCOL)
|
||||
{
|
||||
MXS_ERROR("Module '%s' does not implement the protocol API.", module);
|
||||
success = false;
|
||||
}
|
||||
if (strcmp(type, MODULE_AUTHENTICATOR) == 0
|
||||
&& mod_info->modapi != MODULE_API_AUTHENTICATOR)
|
||||
&& mod_info->modapi != MXS_MODULE_API_AUTHENTICATOR)
|
||||
{
|
||||
MXS_ERROR("Module '%s' does not implement the authenticator API.", module);
|
||||
success = false;
|
||||
}
|
||||
if (strcmp(type, MODULE_ROUTER) == 0
|
||||
&& mod_info->modapi != MODULE_API_ROUTER)
|
||||
&& mod_info->modapi != MXS_MODULE_API_ROUTER)
|
||||
{
|
||||
MXS_ERROR("Module '%s' does not implement the router API.", module);
|
||||
success = false;
|
||||
}
|
||||
if (strcmp(type, MODULE_MONITOR) == 0
|
||||
&& mod_info->modapi != MODULE_API_MONITOR)
|
||||
&& mod_info->modapi != MXS_MODULE_API_MONITOR)
|
||||
{
|
||||
MXS_ERROR("Module '%s' does not implement the monitor API.", module);
|
||||
success = false;
|
||||
}
|
||||
if (strcmp(type, MODULE_FILTER) == 0
|
||||
&& mod_info->modapi != MODULE_API_FILTER)
|
||||
&& mod_info->modapi != MXS_MODULE_API_FILTER)
|
||||
{
|
||||
MXS_ERROR("Module '%s' does not implement the filter API.", module);
|
||||
success = false;
|
||||
}
|
||||
if (strcmp(type, MODULE_QUERY_CLASSIFIER) == 0
|
||||
&& mod_info->modapi != MODULE_API_QUERY_CLASSIFIER)
|
||||
&& mod_info->modapi != MXS_MODULE_API_QUERY_CLASSIFIER)
|
||||
{
|
||||
MXS_ERROR("Module '%s' does not implement the query classifier API.", module);
|
||||
success = false;
|
||||
@ -167,7 +178,7 @@ static bool check_module(MODULE_INFO *mod_info, const char *type, const char *mo
|
||||
void *load_module(const char *module, const char *type)
|
||||
{
|
||||
ss_dassert(module && type);
|
||||
MODULES *mod;
|
||||
LOADED_MODULE *mod;
|
||||
|
||||
if ((mod = find_module(module)) == NULL)
|
||||
{
|
||||
@ -206,7 +217,7 @@ void *load_module(const char *module, const char *type)
|
||||
}
|
||||
|
||||
void *(*entry_point)() = sym;
|
||||
MODULE_INFO *mod_info = entry_point();
|
||||
MXS_MODULE *mod_info = entry_point();
|
||||
|
||||
if (!check_module(mod_info, type, module) ||
|
||||
(mod = register_module(module, type, dlhandle, mod_info)) == NULL)
|
||||
@ -232,7 +243,7 @@ void *load_module(const char *module, const char *type)
|
||||
void
|
||||
unload_module(const char *module)
|
||||
{
|
||||
MODULES *mod = find_module(module);
|
||||
LOADED_MODULE *mod = find_module(module);
|
||||
|
||||
if (mod)
|
||||
{
|
||||
@ -249,10 +260,10 @@ unload_module(const char *module)
|
||||
* @param module The name of the module
|
||||
* @return The module handle or NULL if it was not found
|
||||
*/
|
||||
static MODULES *
|
||||
static LOADED_MODULE *
|
||||
find_module(const char *module)
|
||||
{
|
||||
MODULES *mod = registered;
|
||||
LOADED_MODULE *mod = registered;
|
||||
|
||||
if (module)
|
||||
{
|
||||
@ -283,16 +294,16 @@ find_module(const char *module)
|
||||
* @param mod_info The module information
|
||||
* @return The new registered module or NULL on memory allocation failure
|
||||
*/
|
||||
static MODULES* register_module(const char *module,
|
||||
static LOADED_MODULE* register_module(const char *module,
|
||||
const char *type,
|
||||
void *dlhandle,
|
||||
MODULE_INFO *mod_info)
|
||||
MXS_MODULE *mod_info)
|
||||
{
|
||||
module = MXS_STRDUP(module);
|
||||
type = MXS_STRDUP(type);
|
||||
char *version = MXS_STRDUP(mod_info->version);
|
||||
|
||||
MODULES *mod = (MODULES *)MXS_MALLOC(sizeof(MODULES));
|
||||
LOADED_MODULE *mod = (LOADED_MODULE *)MXS_MALLOC(sizeof(LOADED_MODULE));
|
||||
|
||||
if (!module || !type || !version || !mod)
|
||||
{
|
||||
@ -322,8 +333,8 @@ static MODULES* register_module(const char *module,
|
||||
static void
|
||||
unregister_module(const char *module)
|
||||
{
|
||||
MODULES *mod = find_module(module);
|
||||
MODULES *ptr;
|
||||
LOADED_MODULE *mod = find_module(module);
|
||||
LOADED_MODULE *ptr;
|
||||
|
||||
if (!mod)
|
||||
{
|
||||
@ -384,7 +395,7 @@ unload_all_modules()
|
||||
void
|
||||
printModules()
|
||||
{
|
||||
MODULES *ptr = registered;
|
||||
LOADED_MODULE *ptr = registered;
|
||||
|
||||
printf("%-15s | %-11s | Version\n", "Module Name", "Module Type");
|
||||
printf("-----------------------------------------------------\n");
|
||||
@ -403,7 +414,7 @@ printModules()
|
||||
void
|
||||
dprintAllModules(DCB *dcb)
|
||||
{
|
||||
MODULES *ptr = registered;
|
||||
LOADED_MODULE *ptr = registered;
|
||||
|
||||
dcb_printf(dcb, "Modules.\n");
|
||||
dcb_printf(dcb, "----------------+-----------------+---------+-------+-------------------------\n");
|
||||
@ -417,15 +428,15 @@ dprintAllModules(DCB *dcb)
|
||||
ptr->info->api_version.major,
|
||||
ptr->info->api_version.minor,
|
||||
ptr->info->api_version.patch,
|
||||
ptr->info->status == MODULE_IN_DEVELOPMENT
|
||||
ptr->info->status == MXS_MODULE_IN_DEVELOPMENT
|
||||
? "In Development"
|
||||
: (ptr->info->status == MODULE_ALPHA_RELEASE
|
||||
: (ptr->info->status == MXS_MODULE_ALPHA_RELEASE
|
||||
? "Alpha"
|
||||
: (ptr->info->status == MODULE_BETA_RELEASE
|
||||
: (ptr->info->status == MXS_MODULE_BETA_RELEASE
|
||||
? "Beta"
|
||||
: (ptr->info->status == MODULE_GA
|
||||
: (ptr->info->status == MXS_MODULE_GA
|
||||
? "GA"
|
||||
: (ptr->info->status == MODULE_EXPERIMENTAL
|
||||
: (ptr->info->status == MXS_MODULE_EXPERIMENTAL
|
||||
? "Experimental" : "Unknown")))));
|
||||
dcb_printf(dcb, "\n");
|
||||
ptr = ptr->next;
|
||||
@ -442,7 +453,7 @@ void
|
||||
moduleShowFeedbackReport(DCB *dcb)
|
||||
{
|
||||
GWBUF *buffer;
|
||||
MODULES *modules_list = registered;
|
||||
LOADED_MODULE *modules_list = registered;
|
||||
FEEDBACK_CONF *feedback_config = config_get_feedback_data();
|
||||
|
||||
if (!module_create_feedback_report(&buffer, modules_list, feedback_config))
|
||||
@ -469,7 +480,7 @@ moduleRowCallback(RESULTSET *set, void *data)
|
||||
int i = 0;;
|
||||
char *stat, buf[20];
|
||||
RESULT_ROW *row;
|
||||
MODULES *ptr;
|
||||
LOADED_MODULE *ptr;
|
||||
|
||||
ptr = registered;
|
||||
while (i < *rowno && ptr)
|
||||
@ -492,15 +503,15 @@ moduleRowCallback(RESULTSET *set, void *data)
|
||||
ptr->info->api_version.patch);
|
||||
buf[19] = '\0';
|
||||
resultset_row_set(row, 3, buf);
|
||||
resultset_row_set(row, 4, ptr->info->status == MODULE_IN_DEVELOPMENT
|
||||
resultset_row_set(row, 4, ptr->info->status == MXS_MODULE_IN_DEVELOPMENT
|
||||
? "In Development"
|
||||
: (ptr->info->status == MODULE_ALPHA_RELEASE
|
||||
: (ptr->info->status == MXS_MODULE_ALPHA_RELEASE
|
||||
? "Alpha"
|
||||
: (ptr->info->status == MODULE_BETA_RELEASE
|
||||
: (ptr->info->status == MXS_MODULE_BETA_RELEASE
|
||||
? "Beta"
|
||||
: (ptr->info->status == MODULE_GA
|
||||
: (ptr->info->status == MXS_MODULE_GA
|
||||
? "GA"
|
||||
: (ptr->info->status == MODULE_EXPERIMENTAL
|
||||
: (ptr->info->status == MXS_MODULE_EXPERIMENTAL
|
||||
? "Experimental" : "Unknown")))));
|
||||
return row;
|
||||
}
|
||||
@ -543,7 +554,7 @@ moduleGetList()
|
||||
void
|
||||
module_feedback_send(void* data)
|
||||
{
|
||||
MODULES *modules_list = registered;
|
||||
LOADED_MODULE *modules_list = registered;
|
||||
CURL *curl = NULL;
|
||||
CURLcode res;
|
||||
struct curl_httppost *formpost = NULL;
|
||||
@ -661,9 +672,9 @@ module_feedback_send(void* data)
|
||||
*/
|
||||
|
||||
int
|
||||
module_create_feedback_report(GWBUF **buffer, MODULES *modules, FEEDBACK_CONF *cfg)
|
||||
module_create_feedback_report(GWBUF **buffer, LOADED_MODULE *modules, FEEDBACK_CONF *cfg)
|
||||
{
|
||||
MODULES *ptr = modules;
|
||||
LOADED_MODULE *ptr = modules;
|
||||
int n_mod = 0;
|
||||
char *data_ptr = NULL;
|
||||
char hex_setup_info[2 * SHA_DIGEST_LENGTH + 1] = "";
|
||||
@ -741,15 +752,15 @@ module_create_feedback_report(GWBUF **buffer, MODULES *modules, FEEDBACK_CONF *c
|
||||
data_ptr += strlen(data_ptr);
|
||||
snprintf(data_ptr, _NOTIFICATION_REPORT_ROW_LEN, "module_%s_releasestatus\t%s\n",
|
||||
ptr->module,
|
||||
ptr->info->status == MODULE_IN_DEVELOPMENT
|
||||
ptr->info->status == MXS_MODULE_IN_DEVELOPMENT
|
||||
? "In Development"
|
||||
: (ptr->info->status == MODULE_ALPHA_RELEASE
|
||||
: (ptr->info->status == MXS_MODULE_ALPHA_RELEASE
|
||||
? "Alpha"
|
||||
: (ptr->info->status == MODULE_BETA_RELEASE
|
||||
: (ptr->info->status == MXS_MODULE_BETA_RELEASE
|
||||
? "Beta"
|
||||
: (ptr->info->status == MODULE_GA
|
||||
: (ptr->info->status == MXS_MODULE_GA
|
||||
? "GA"
|
||||
: (ptr->info->status == MODULE_EXPERIMENTAL
|
||||
: (ptr->info->status == MXS_MODULE_EXPERIMENTAL
|
||||
? "Experimental" : "Unknown")))));
|
||||
data_ptr += strlen(data_ptr);
|
||||
}
|
||||
|
@ -45,6 +45,7 @@
|
||||
#include <regex.h>
|
||||
#include <maxscale/modules.h>
|
||||
#include <maxscale/maxscale_test.h>
|
||||
#include "../load_utils.c"
|
||||
|
||||
static char* server_options[] =
|
||||
{
|
||||
@ -72,7 +73,6 @@ static char* server_groups[] =
|
||||
|
||||
int config_load(char *);
|
||||
void config_enable_feedback_task(void);
|
||||
int module_create_feedback_report(GWBUF **buffer, MODULES *modules, FEEDBACK_CONF *cfg);
|
||||
int do_http_post(GWBUF *buffer, void *cfg);
|
||||
|
||||
int main(int argc, char** argv)
|
||||
|
@ -143,7 +143,7 @@ static bool cdc_add_new_user(const MODULECMD_ARG *args)
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static modulecmd_arg_type_t args[] =
|
||||
{
|
||||
@ -166,10 +166,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
cdc_replace_users /* Load CDC users */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_AUTHENTICATOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_AUTHENTICATOR,
|
||||
MXS_MODULE_GA,
|
||||
GWAUTHENTICATOR_VERSION,
|
||||
"The CDC client to MaxScale authenticator implementation",
|
||||
"V1.1.0",
|
||||
|
@ -599,7 +599,7 @@ int gssapi_auth_load_users(SERV_LISTENER *listener)
|
||||
/**
|
||||
* Module handle entry point
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWAUTHENTICATOR MyObject =
|
||||
{
|
||||
@ -613,10 +613,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
gssapi_auth_load_users /* Load database users */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_AUTHENTICATOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_AUTHENTICATOR,
|
||||
MXS_MODULE_GA,
|
||||
GWAUTHENTICATOR_VERSION,
|
||||
"GSSAPI authenticator",
|
||||
"V1.0.0",
|
||||
|
@ -263,7 +263,7 @@ static int gssapi_backend_auth_authenticate(DCB *dcb)
|
||||
/**
|
||||
* Module handle entry point
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWAUTHENTICATOR MyObject =
|
||||
{
|
||||
@ -277,10 +277,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL /* Load users from backend databases */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_AUTHENTICATOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_AUTHENTICATOR,
|
||||
MXS_MODULE_GA,
|
||||
GWAUTHENTICATOR_VERSION,
|
||||
"GSSAPI backend authenticator",
|
||||
"V1.0.0",
|
||||
|
@ -53,7 +53,7 @@ typedef struct http_auth
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWAUTHENTICATOR MyObject =
|
||||
{
|
||||
@ -67,10 +67,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
users_default_loadusers /* Load generic users */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_AUTHENTICATOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_AUTHENTICATOR,
|
||||
MXS_MODULE_GA,
|
||||
GWAUTHENTICATOR_VERSION,
|
||||
"The MaxScale HTTP BA authenticator",
|
||||
"V1.1.0",
|
||||
|
@ -47,7 +47,7 @@ static void max_admin_auth_free_client_data(DCB *dcb);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWAUTHENTICATOR MyObject =
|
||||
{
|
||||
@ -61,10 +61,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
users_default_loadusers /* Load generic users */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_AUTHENTICATOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_AUTHENTICATOR,
|
||||
MXS_MODULE_GA,
|
||||
GWAUTHENTICATOR_VERSION,
|
||||
"The MaxScale Admin client authenticator implementation",
|
||||
"V2.1.0",
|
||||
|
@ -71,7 +71,7 @@ static int mysql_auth_set_client_data(
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWAUTHENTICATOR MyObject =
|
||||
{
|
||||
@ -85,10 +85,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
mysql_auth_load_users /* Load users from backend databases */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_AUTHENTICATOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_AUTHENTICATOR,
|
||||
MXS_MODULE_GA,
|
||||
GWAUTHENTICATOR_VERSION,
|
||||
"The MySQL client to MaxScale authenticator implementation",
|
||||
"V1.1.0",
|
||||
|
@ -156,7 +156,7 @@ static bool auth_backend_ssl(DCB *dcb)
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWAUTHENTICATOR MyObject =
|
||||
{
|
||||
@ -170,10 +170,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL /* We don't need to load users */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_AUTHENTICATOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_AUTHENTICATOR,
|
||||
MXS_MODULE_GA,
|
||||
GWAUTHENTICATOR_VERSION,
|
||||
"The MySQL MaxScale to backend server authenticator",
|
||||
"V1.0.0",
|
||||
|
@ -49,7 +49,7 @@ static void null_auth_free_client_data(DCB *dcb);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWAUTHENTICATOR MyObject =
|
||||
{
|
||||
@ -63,10 +63,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
users_default_loadusers /* Load generic users */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_AUTHENTICATOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_AUTHENTICATOR,
|
||||
MXS_MODULE_GA,
|
||||
GWAUTHENTICATOR_VERSION,
|
||||
"The Null client authenticator implementation",
|
||||
"V1.1.0",
|
||||
|
@ -46,7 +46,7 @@ static void null_auth_free_client_data(DCB *dcb);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWAUTHENTICATOR MyObject =
|
||||
{
|
||||
@ -60,10 +60,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
users_default_loadusers /* Load generic users */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_AUTHENTICATOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_AUTHENTICATOR,
|
||||
MXS_MODULE_GA,
|
||||
GWAUTHENTICATOR_VERSION,
|
||||
"The Null client authenticator implementation",
|
||||
"V1.1.0",
|
||||
|
8
server/modules/filter/cache/cachefilter.cc
vendored
8
server/modules/filter/cache/cachefilter.cc
vendored
@ -193,7 +193,7 @@ bool config_get_uint64(const FILTER_PARAMETER& param, uint64_t* pValue)
|
||||
// Global symbols of the Module
|
||||
//
|
||||
|
||||
extern "C" MODULE_INFO* MXS_CREATE_MODULE()
|
||||
extern "C" MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static modulecmd_arg_type_t show_argv[] =
|
||||
{
|
||||
@ -206,10 +206,10 @@ extern "C" MODULE_INFO* MXS_CREATE_MODULE()
|
||||
|
||||
MXS_NOTICE("Initialized cache module %s.\n", VERSION_STRING);
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_IN_DEVELOPMENT,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_IN_DEVELOPMENT,
|
||||
FILTER_VERSION,
|
||||
"A caching filter that is capable of caching and returning cached data.",
|
||||
VERSION_STRING,
|
||||
|
@ -99,7 +99,7 @@ typedef struct
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT MyObject =
|
||||
{
|
||||
@ -116,10 +116,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_GA,
|
||||
FILTER_VERSION,
|
||||
"A routing hint filter that send queries to the master after data modification",
|
||||
"V1.1.0",
|
||||
|
@ -777,7 +777,7 @@ bool dbfw_show_rules(const MODULECMD_ARG *argv)
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
modulecmd_arg_type_t args_rules_reload[] =
|
||||
{
|
||||
@ -810,10 +810,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_GA,
|
||||
FILTER_VERSION,
|
||||
"Firewall Filter",
|
||||
"V1.2.0",
|
||||
|
@ -40,7 +40,7 @@ static uint64_t getCapabilities(void);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT MyObject =
|
||||
{
|
||||
@ -57,10 +57,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_ALPHA_RELEASE,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_ALPHA_RELEASE,
|
||||
FILTER_VERSION,
|
||||
"A hint parsing filter",
|
||||
"V1.0.0",
|
||||
|
@ -72,7 +72,7 @@ static uint64_t getCapabilities(void);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT MyObject =
|
||||
{
|
||||
@ -89,10 +89,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_EXPERIMENTAL,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_EXPERIMENTAL,
|
||||
FILTER_VERSION,
|
||||
"Lua Filter",
|
||||
"V1.0.0",
|
||||
|
@ -18,14 +18,14 @@
|
||||
// Global symbols of the Module
|
||||
//
|
||||
|
||||
extern "C" MODULE_INFO* MXS_CREATE_MODULE()
|
||||
extern "C" MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initialized masking module.");
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_IN_DEVELOPMENT,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_IN_DEVELOPMENT,
|
||||
FILTER_VERSION,
|
||||
"A masking filter that is capable of masking/obfuscating returned column values.",
|
||||
"V1.0.0",
|
||||
|
@ -64,7 +64,7 @@ static uint64_t getCapabilities(void);
|
||||
*
|
||||
* @return The module object.
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT object =
|
||||
{
|
||||
@ -81,10 +81,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_IN_DEVELOPMENT,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_IN_DEVELOPMENT,
|
||||
FILTER_VERSION,
|
||||
"A filter that is capable of limiting the resultset number of rows.",
|
||||
"V1.0.0",
|
||||
|
@ -245,7 +245,7 @@ void sendMessage(void* data);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT MyObject =
|
||||
{
|
||||
@ -262,10 +262,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_ALPHA_RELEASE,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_ALPHA_RELEASE,
|
||||
FILTER_VERSION,
|
||||
"A RabbitMQ query logging filter",
|
||||
"V1.0.2",
|
||||
|
@ -80,7 +80,7 @@ typedef struct
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT MyObject =
|
||||
{
|
||||
@ -97,10 +97,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_GA,
|
||||
FILTER_VERSION,
|
||||
"A routing hint filter that uses regular expressions to direct queries",
|
||||
"V1.1.0",
|
||||
|
@ -139,7 +139,7 @@ static int write_log_entry(uint32_t, FILE*, QLA_INSTANCE*, QLA_SESSION*, const c
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT MyObject =
|
||||
{
|
||||
@ -156,10 +156,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_GA,
|
||||
FILTER_VERSION,
|
||||
"A simple query logging filter",
|
||||
"V1.1.1",
|
||||
|
@ -90,7 +90,7 @@ void log_nomatch(REGEX_INSTANCE* inst, char* re, char* old);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT MyObject =
|
||||
{
|
||||
@ -107,10 +107,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_GA,
|
||||
FILTER_VERSION,
|
||||
"A query rewrite filter that uses regular expressions to rewrite queries",
|
||||
"V1.1.0",
|
||||
|
@ -289,7 +289,7 @@ orphan_free(void* data)
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
spinlock_init(&orphanLock);
|
||||
#ifdef SS_DEBUG
|
||||
@ -311,10 +311,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_GA,
|
||||
FILTER_VERSION,
|
||||
"A tee piece in the filter plumbing",
|
||||
"V1.0.0",
|
||||
|
@ -69,7 +69,7 @@ typedef struct
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT MyObject =
|
||||
{
|
||||
@ -86,10 +86,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
destroyInstance,
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_BETA_RELEASE,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_BETA_RELEASE,
|
||||
FILTER_VERSION,
|
||||
"A simple query counting filter",
|
||||
"V2.0.0",
|
||||
|
@ -123,7 +123,7 @@ typedef struct
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT MyObject =
|
||||
{
|
||||
@ -140,10 +140,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_GA,
|
||||
FILTER_VERSION,
|
||||
"A top N query logging filter",
|
||||
"V1.0.1",
|
||||
|
@ -142,7 +142,7 @@ typedef struct
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static FILTER_OBJECT MyObject =
|
||||
{
|
||||
@ -159,10 +159,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL, // No destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_FILTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_FILTER,
|
||||
MXS_MODULE_GA,
|
||||
FILTER_VERSION,
|
||||
"Transaction Performance Monitoring filter",
|
||||
"V1.0.1",
|
||||
|
@ -344,7 +344,7 @@ diagnostics(DCB *dcb, const MONITOR *mon)
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static MONITOR_OBJECT MyObject =
|
||||
{
|
||||
@ -353,10 +353,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
diagnostics
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_MONITOR,
|
||||
MODULE_BETA_RELEASE,
|
||||
MXS_MODULE_API_MONITOR,
|
||||
MXS_MODULE_BETA_RELEASE,
|
||||
MONITOR_VERSION,
|
||||
"Aurora monitor",
|
||||
"V1.0.0",
|
||||
|
@ -59,7 +59,7 @@ bool isGaleraEvent(monitor_event_t event);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initialise the MySQL Galera Monitor module.");
|
||||
|
||||
@ -70,10 +70,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
diagnostics
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_MONITOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_MONITOR,
|
||||
MXS_MODULE_GA,
|
||||
MONITOR_VERSION,
|
||||
"A Galera cluster monitor",
|
||||
"V2.0.0",
|
||||
|
@ -35,10 +35,10 @@ static void monitorMain(void *);
|
||||
* lint directives.
|
||||
*/
|
||||
/*lint -e14 */
|
||||
MODULE_INFO info =
|
||||
MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_MONITOR,
|
||||
MODULE_BETA_RELEASE,
|
||||
MXS_MODULE_API_MONITOR,
|
||||
MXS_MODULE_BETA_RELEASE,
|
||||
MONITOR_VERSION,
|
||||
"A Multi-Master Multi Master monitor",
|
||||
"V1.1.1"
|
||||
@ -60,7 +60,7 @@ static bool isMySQLEvent(monitor_event_t event);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initialise the Multi-Master Monitor module.");
|
||||
|
||||
@ -71,10 +71,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
diagnostics
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_MONITOR,
|
||||
MODULE_BETA_RELEASE,
|
||||
MXS_MODULE_API_MONITOR,
|
||||
MXS_MODULE_BETA_RELEASE,
|
||||
MONITOR_VERSION,
|
||||
"A Multi-Master Multi Master monitor",
|
||||
"V1.1.1",
|
||||
|
@ -94,7 +94,7 @@ static const char* hb_table_name = "maxscale_schema.replication_heartbeat";
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initialise the MySQL Monitor module.");
|
||||
|
||||
@ -105,10 +105,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
diagnostics
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_MONITOR,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_MONITOR,
|
||||
MXS_MODULE_GA,
|
||||
MONITOR_VERSION,
|
||||
"A MySQL Master/Slave replication monitor",
|
||||
"V1.5.0",
|
||||
|
@ -53,7 +53,7 @@ bool isNdbEvent(monitor_event_t event);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initialise the MySQL Cluster Monitor module.");
|
||||
|
||||
@ -64,10 +64,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
diagnostics
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_MONITOR,
|
||||
MODULE_BETA_RELEASE,
|
||||
MXS_MODULE_API_MONITOR,
|
||||
MXS_MODULE_BETA_RELEASE,
|
||||
MONITOR_VERSION,
|
||||
"A MySQL cluster SQL node monitor",
|
||||
"V2.1.0",
|
||||
|
@ -68,7 +68,7 @@ static char* cdc_default_auth()
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWPROTOCOL MyObject =
|
||||
{
|
||||
@ -86,10 +86,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
cdc_default_auth /* default authentication */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_PROTOCOL,
|
||||
MODULE_IN_DEVELOPMENT,
|
||||
MXS_MODULE_API_PROTOCOL,
|
||||
MXS_MODULE_IN_DEVELOPMENT,
|
||||
GWPROTOCOL_VERSION,
|
||||
"A Change Data Capture Listener implementation for use in binlog events retrieval",
|
||||
"V1.0.0"
|
||||
|
@ -63,7 +63,7 @@ static char *httpd_default_auth();
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWPROTOCOL MyObject =
|
||||
{
|
||||
@ -82,10 +82,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL /**< Connection limit reached */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_PROTOCOL,
|
||||
MODULE_IN_DEVELOPMENT,
|
||||
MXS_MODULE_API_PROTOCOL,
|
||||
MXS_MODULE_IN_DEVELOPMENT,
|
||||
GWPROTOCOL_VERSION,
|
||||
"An experimental HTTPD implementation for use in administration",
|
||||
"V1.2.0",
|
||||
|
@ -85,7 +85,7 @@ static int gw_send_change_user_to_backend(char *dbname,
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWPROTOCOL MyObject =
|
||||
{
|
||||
@ -104,10 +104,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL /* Connection limit reached */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_PROTOCOL,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_PROTOCOL,
|
||||
MXS_MODULE_GA,
|
||||
GWPROTOCOL_VERSION,
|
||||
"The MySQL to backend server protocol",
|
||||
"V2.0.0",
|
||||
|
@ -93,7 +93,7 @@ static void gw_process_one_new_client(DCB *client_dcb);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWPROTOCOL MyObject =
|
||||
{
|
||||
@ -112,10 +112,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
gw_connection_limit /* Send error connection limit */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_PROTOCOL,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_PROTOCOL,
|
||||
MXS_MODULE_GA,
|
||||
GWPROTOCOL_VERSION,
|
||||
"The client to MaxScale MySQL protocol implementation",
|
||||
"V1.1.0",
|
||||
|
@ -164,7 +164,7 @@ static bool authenticate_socket(MAXSCALED *protocol, DCB *dcb)
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_INFO("Initialise MaxScaled Protocol module.");
|
||||
|
||||
@ -185,10 +185,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL /**< Connection limit reached */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_PROTOCOL,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_PROTOCOL,
|
||||
MXS_MODULE_GA,
|
||||
GWPROTOCOL_VERSION,
|
||||
"A maxscale protocol for the administration interface",
|
||||
"V2.0.0",
|
||||
|
@ -81,7 +81,7 @@ static void telnetd_echo(DCB *dcb, int enable);
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_INFO("Initialise Telnetd Protocol module.");
|
||||
|
||||
@ -102,10 +102,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL /**< Connection limit reached */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_PROTOCOL,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_PROTOCOL,
|
||||
MXS_MODULE_GA,
|
||||
GWPROTOCOL_VERSION,
|
||||
"A telnet deamon protocol for simple administration interface",
|
||||
"V1.1.1",
|
||||
|
@ -52,7 +52,7 @@ static int test_connection_limit(DCB *dcb, int limit){return 0;}
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static GWPROTOCOL MyObject =
|
||||
{
|
||||
@ -71,10 +71,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
test_connection_limit /**< Connection limit */
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_PROTOCOL,
|
||||
MODULE_IN_DEVELOPMENT,
|
||||
MXS_MODULE_API_PROTOCOL,
|
||||
MXS_MODULE_IN_DEVELOPMENT,
|
||||
GWPROTOCOL_VERSION,
|
||||
"Test protocol",
|
||||
"V1.1.0",
|
||||
|
@ -126,7 +126,7 @@ bool avro_handle_convert(const MODULECMD_ARG *args)
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
spinlock_init(&instlock);
|
||||
instances = NULL;
|
||||
@ -152,10 +152,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_ROUTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_ROUTER,
|
||||
MXS_MODULE_GA,
|
||||
ROUTER_VERSION,
|
||||
"Binlogrouter",
|
||||
"V1.0.0",
|
||||
|
@ -134,7 +134,7 @@ static ROUTER_INSTANCE *instances;
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initialise binlog router module.");
|
||||
spinlock_init(&instlock);
|
||||
@ -154,10 +154,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
destroyInstance
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_ROUTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_ROUTER,
|
||||
MXS_MODULE_GA,
|
||||
ROUTER_VERSION,
|
||||
"Binlogrouter",
|
||||
"V2.1.0",
|
||||
|
@ -62,7 +62,7 @@ static CLI_INSTANCE *instances;
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initialise CLI router module");
|
||||
spinlock_init(&instlock);
|
||||
@ -82,10 +82,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_ROUTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_ROUTER,
|
||||
MXS_MODULE_GA,
|
||||
ROUTER_VERSION,
|
||||
"The admin user interface",
|
||||
"V1.0.0",
|
||||
|
@ -61,7 +61,7 @@ static CLI_INSTANCE *instances;
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initialise debug CLI router module.");
|
||||
spinlock_init(&instlock);
|
||||
@ -81,10 +81,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_ROUTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_ROUTER,
|
||||
MXS_MODULE_GA,
|
||||
ROUTER_VERSION,
|
||||
"The debug user interface",
|
||||
"V1.1.1",
|
||||
|
@ -85,7 +85,7 @@ static INFO_INSTANCE *instances;
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initialise MaxInfo router module.");
|
||||
spinlock_init(&instlock);
|
||||
@ -105,10 +105,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_ROUTER,
|
||||
MODULE_ALPHA_RELEASE,
|
||||
MXS_MODULE_API_ROUTER,
|
||||
MXS_MODULE_ALPHA_RELEASE,
|
||||
ROUTER_VERSION,
|
||||
"The MaxScale Information Schema",
|
||||
"V1.0.0",
|
||||
|
@ -118,7 +118,7 @@ static ROUTER_INSTANCE *instances;
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initialise readconnroute router module.");
|
||||
spinlock_init(&instlock);
|
||||
@ -138,10 +138,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_ROUTER,
|
||||
MODULE_GA,
|
||||
MXS_MODULE_API_ROUTER,
|
||||
MXS_MODULE_GA,
|
||||
ROUTER_VERSION,
|
||||
"A connection based router to load balance based on connections",
|
||||
"V1.1.0",
|
||||
|
@ -113,7 +113,7 @@ static bool create_backends(ROUTER_CLIENT_SES *rses, backend_ref_t** dest, int*
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO *MXS_CREATE_MODULE()
|
||||
MXS_MODULE *MXS_CREATE_MODULE()
|
||||
{
|
||||
static ROUTER_OBJECT MyObject =
|
||||
{
|
||||
@ -129,9 +129,9 @@ MODULE_INFO *MXS_CREATE_MODULE()
|
||||
NULL
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_ROUTER, MODULE_GA, ROUTER_VERSION,
|
||||
MXS_MODULE_API_ROUTER, MXS_MODULE_GA, ROUTER_VERSION,
|
||||
"A Read/Write splitting router for enhancement read scalability",
|
||||
"V1.1.0",
|
||||
&MyObject
|
||||
|
@ -591,7 +591,7 @@ bool check_shard_status(ROUTER_INSTANCE* router, char* shard)
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
MXS_NOTICE("Initializing Schema Sharding Router.");
|
||||
spinlock_init(&instlock);
|
||||
@ -611,10 +611,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_ROUTER,
|
||||
MODULE_BETA_RELEASE,
|
||||
MXS_MODULE_API_ROUTER,
|
||||
MXS_MODULE_BETA_RELEASE,
|
||||
ROUTER_VERSION,
|
||||
"A database sharding router for simple sharding",
|
||||
"V1.0.0",
|
||||
|
@ -46,7 +46,7 @@ typedef struct
|
||||
*
|
||||
* @return The module object
|
||||
*/
|
||||
MODULE_INFO* MXS_CREATE_MODULE()
|
||||
MXS_MODULE* MXS_CREATE_MODULE()
|
||||
{
|
||||
static ROUTER_OBJECT MyObject =
|
||||
{
|
||||
@ -62,10 +62,10 @@ MODULE_INFO* MXS_CREATE_MODULE()
|
||||
NULL
|
||||
};
|
||||
|
||||
static MODULE_INFO info =
|
||||
static MXS_MODULE info =
|
||||
{
|
||||
MODULE_API_ROUTER,
|
||||
MODULE_IN_DEVELOPMENT,
|
||||
MXS_MODULE_API_ROUTER,
|
||||
MXS_MODULE_IN_DEVELOPMENT,
|
||||
ROUTER_VERSION,
|
||||
"A test router - not for use in real systems",
|
||||
"V1.0.0",
|
||||
|
Loading…
x
Reference in New Issue
Block a user