91
89
#ifndef MYSQL_DYNAMIC_PLUGIN
92
#define __MYSQL_DECLARE_PLUGIN(NAME, VERSION, PSIZE, DECLS) \
93
int VERSION= MYSQL_PLUGIN_INTERFACE_VERSION; \
94
int PSIZE= sizeof(struct st_mysql_plugin); \
90
#define __MYSQL_DECLARE_PLUGIN(NAME, DECLS) \
95
91
struct st_mysql_plugin DECLS[]= {
97
#define __MYSQL_DECLARE_PLUGIN(NAME, VERSION, PSIZE, DECLS) \
98
int _mysql_plugin_interface_version_= MYSQL_PLUGIN_INTERFACE_VERSION; \
99
int _mysql_sizeof_struct_st_plugin_= sizeof(struct st_mysql_plugin); \
93
#define __MYSQL_DECLARE_PLUGIN(NAME, DECLS) \
100
94
struct st_mysql_plugin _mysql_plugin_declarations_[]= {
103
97
#define mysql_declare_plugin(NAME) \
104
98
__MYSQL_DECLARE_PLUGIN(NAME, \
105
builtin_ ## NAME ## _plugin_interface_version, \
106
builtin_ ## NAME ## _sizeof_struct_st_plugin, \
107
99
builtin_ ## NAME ## _plugin)
109
#define mysql_declare_plugin_end ,{0,0,0,0,0,0,0,0,0,0,0,0}}
101
#define mysql_declare_plugin_end ,{0,0,0,0,0,0,0,0,0,0,0}}
112
104
declarations for SHOW STATUS support in plugins
392
384
struct st_mysql_plugin
394
386
int type; /* the plugin type (a MYSQL_XXX_PLUGIN value) */
395
void *info; /* pointer to type-specific plugin descriptor */
396
const char *name; /* plugin name */
387
const char *name; /* plugin name (for SHOW PLUGINS) */
388
const char *version; /* plugin version (for SHOW PLUGINS) */
397
389
const char *author; /* plugin author (for SHOW PLUGINS) */
398
390
const char *descr; /* general descriptive text (for SHOW PLUGINS ) */
399
391
int license; /* the plugin license (PLUGIN_LICENSE_XXX) */
400
392
int (*init)(void *); /* the function to invoke when plugin is loaded */
401
393
int (*deinit)(void *);/* the function to invoke when plugin is unloaded */
402
unsigned int version; /* plugin version (for SHOW PLUGINS) */
403
394
struct st_mysql_show_var *status_vars;
404
395
struct st_mysql_sys_var **system_vars;
405
396
void * __reserved1; /* reserved for dependency checking */
408
/*************************************************************************
409
API for Daemon plugin. (MYSQL_DAEMON_PLUGIN)
412
/* handlertons of different MySQL releases are incompatible */
413
#define MYSQL_DAEMON_INTERFACE_VERSION (MYSQL_VERSION_ID << 8)
416
Here we define only the descriptor structure, that is referred from
420
struct st_mysql_daemon
422
int interface_version;
426
/*************************************************************************
427
API for UDF plugin. (MYSQL_UDF_PLUGIN)
430
/* handlertons of different MySQL releases are incompatible */
431
#define MYSQL_UDF_INTERFACE_VERSION (MYSQL_VERSION_ID << 8)
434
Here we define only the descriptor structure, that is referred from
440
int interface_version;
444
/*************************************************************************
445
API for UDA plugin. (MYSQL_UDA_PLUGIN)
448
/* handlertons of different MySQL releases are incompatible */
449
#define MYSQL_UDA_INTERFACE_VERSION (MYSQL_VERSION_ID << 8)
452
Here we define only the descriptor structure, that is referred from
458
int interface_version;
462
/*************************************************************************
463
API for I_S plugin. (MYSQL_INFORMATION_SCHEMA_PLUGIN)
466
/* handlertons of different MySQL releases are incompatible */
467
#define MYSQL_INFORMATION_SCHEMA_INTERFACE_VERSION (MYSQL_VERSION_ID << 8)
470
Here we define only the descriptor structure, that is referred from
474
struct st_mysql_information_schema
476
int interface_version;
480
/*************************************************************************
481
API for Log plugin. (MYSQL_LOG_PLUGIN)
484
/* handlertons of different MySQL releases are incompatible */
485
#define MYSQL_LOG_INTERFACE_VERSION (MYSQL_VERSION_ID << 8)
488
Here we define only the descriptor structure, that is referred from
494
int interface_version;
498
/*************************************************************************
499
API for Auth plugin. (MYSQL_AUTH_PLUGIN)
502
/* handlertons of different MySQL releases are incompatible */
503
#define MYSQL_AUTH_INTERFACE_VERSION (MYSQL_VERSION_ID << 8)
506
Here we define only the descriptor structure, that is referred from
510
struct st_auth_schema
512
int interface_version;
516
/*************************************************************************
517
API for Storage Engine plugin. (MYSQL_STORAGE_ENGINE_PLUGIN)
520
/* handlertons of different MySQL releases are incompatible */
521
#define MYSQL_HANDLERTON_INTERFACE_VERSION (MYSQL_VERSION_ID << 8)
524
The real API is in the sql/handler.h
525
Here we define only the descriptor structure, that is referred from
529
struct st_mysql_storage_engine
531
int interface_version;
534
399
struct handlerton;