summaryrefslogtreecommitdiff
path: root/include/mysql/plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/mysql/plugin.h')
-rw-r--r--include/mysql/plugin.h42
1 files changed, 26 insertions, 16 deletions
diff --git a/include/mysql/plugin.h b/include/mysql/plugin.h
index ceb6ac93ff5..61be12057e8 100644
--- a/include/mysql/plugin.h
+++ b/include/mysql/plugin.h
@@ -1,5 +1,5 @@
/* Copyright (c) 2005, 2013, Oracle and/or its affiliates
- Copyright (C) 2009, 2013, Monty Program Ab
+ Copyright (C) 2009, 2017, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,8 +14,8 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-#ifndef _my_plugin_h
-#define _my_plugin_h
+#ifndef MYSQL_PLUGIN_INCLUDED
+#define MYSQL_PLUGIN_INCLUDED
/*
On Windows, exports from DLL need to be declared
@@ -75,21 +75,24 @@ typedef struct st_mysql_xid MYSQL_XID;
#define MYSQL_PLUGIN_INTERFACE_VERSION 0x0104
/* MariaDB plugin interface version */
-#define MARIA_PLUGIN_INTERFACE_VERSION 0x0108
+#define MARIA_PLUGIN_INTERFACE_VERSION 0x010d
/*
The allowable types of plugins
*/
-#define MYSQL_UDF_PLUGIN 0 /* User-defined function */
-#define MYSQL_STORAGE_ENGINE_PLUGIN 1 /* Storage Engine */
+#define MYSQL_UDF_PLUGIN 0 /* not implemented */
+#define MYSQL_STORAGE_ENGINE_PLUGIN 1
#define MYSQL_FTPARSER_PLUGIN 2 /* Full-text parser plugin */
-#define MYSQL_DAEMON_PLUGIN 3 /* The daemon/raw plugin type */
-#define MYSQL_INFORMATION_SCHEMA_PLUGIN 4 /* The I_S plugin type */
-#define MYSQL_AUDIT_PLUGIN 5 /* The Audit plugin type */
-#define MYSQL_REPLICATION_PLUGIN 6 /* The replication plugin type */
-#define MYSQL_AUTHENTICATION_PLUGIN 7 /* The authentication plugin type */
-#define MYSQL_VALIDATE_PASSWORD_PLUGIN 8 /* validate password plugin type */
-#define MYSQL_MAX_PLUGIN_TYPE_NUM 9 /* The number of plugin types */
+#define MYSQL_DAEMON_PLUGIN 3
+#define MYSQL_INFORMATION_SCHEMA_PLUGIN 4
+#define MYSQL_AUDIT_PLUGIN 5
+#define MYSQL_REPLICATION_PLUGIN 6
+#define MYSQL_AUTHENTICATION_PLUGIN 7
+#define MYSQL_MAX_PLUGIN_TYPE_NUM 10 /* The number of plugin types */
+
+/* MariaDB plugin types */
+#define MariaDB_PASSWORD_VALIDATION_PLUGIN 8
+#define MariaDB_ENCRYPTION_PLUGIN 9
/* We use the following strings to define licenses for plugins */
#define PLUGIN_LICENSE_PROPRIETARY 0
@@ -180,14 +183,21 @@ enum enum_mysql_show_type
#define SHOW_LONG SHOW_ULONG
#define SHOW_LONGLONG SHOW_ULONGLONG
+enum enum_var_type
+{
+ SHOW_OPT_DEFAULT= 0, SHOW_OPT_SESSION, SHOW_OPT_GLOBAL
+};
+
struct st_mysql_show_var {
const char *name;
- char *value;
+ void *value;
enum enum_mysql_show_type type;
};
-#define SHOW_VAR_FUNC_BUFF_SIZE 1024
-typedef int (*mysql_show_var_func)(MYSQL_THD, struct st_mysql_show_var*, char *);
+struct system_status_var;
+
+#define SHOW_VAR_FUNC_BUFF_SIZE (256 * sizeof(void*))
+typedef int (*mysql_show_var_func)(MYSQL_THD, struct st_mysql_show_var*, void *, struct system_status_var *status_var, enum enum_var_type);
/*