diff options
author | Sergei Golubchik <sergii@pisem.net> | 2011-07-12 14:34:47 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2011-07-12 14:34:47 +0200 |
commit | c97f938bcf53d7c3b65e7ac8020857cae5813b6f (patch) | |
tree | 1031fe015a9ec5651bfb9f62b3b20339eda6d86d /include/mysql/client_plugin.h | |
parent | 55d13e8dc72eb10d266762f413dabf4b5b887713 (diff) | |
download | mariadb-git-c97f938bcf53d7c3b65e7ac8020857cae5813b6f.tar.gz |
move authentication_windows_client and mysql_clear_password clear client auth plugins
out of libmysql into separate dynamic plugins in the plugin/ directory.
move dialog and auth_socket plugins out of the plugin directory with examples into
dedicated directories in plugin/
Diffstat (limited to 'include/mysql/client_plugin.h')
-rw-r--r-- | include/mysql/client_plugin.h | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/include/mysql/client_plugin.h b/include/mysql/client_plugin.h index 6af0d226ea2..eb1c74d7c0b 100644 --- a/include/mysql/client_plugin.h +++ b/include/mysql/client_plugin.h @@ -23,6 +23,30 @@ */ #define MYSQL_CLIENT_PLUGIN_INCLUDED +/* + On Windows, exports from DLL need to be declared + Also, plugin needs to be declared as extern "C" because MSVC + unlike other compilers, uses C++ mangling for variables not only + for functions. +*/ +#if defined(_MSC_VER) +#if defined(MYSQL_DYNAMIC_PLUGIN) + #ifdef __cplusplus + #define MYSQL_PLUGIN_EXPORT extern "C" __declspec(dllexport) + #else + #define MYSQL_PLUGIN_EXPORT __declspec(dllexport) + #endif +#else /* MYSQL_DYNAMIC_PLUGIN */ + #ifdef __cplusplus + #define MYSQL_PLUGIN_EXPORT extern "C" + #else + #define MYSQL_PLUGIN_EXPORT + #endif +#endif /*MYSQL_DYNAMIC_PLUGIN */ +#else /*_MSC_VER */ +#define MYSQL_PLUGIN_EXPORT +#endif + #ifndef MYSQL_ABI_CHECK #include <stdarg.h> #include <stdlib.h> @@ -74,24 +98,8 @@ struct st_mysql_client_plugin_AUTHENTICATION int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, struct st_mysql *mysql); }; -/** - type of the mysql_authentication_dialog_ask function - - @param mysql mysql - @param type type of the input - 1 - ordinary string input - 2 - password string - @param prompt prompt - @param buf a buffer to store the use input - @param buf_len the length of the buffer - - @retval a pointer to the user input string. - It may be equal to 'buf' or to 'mysql->password'. - In all other cases it is assumed to be an allocated - string, and the "dialog" plugin will free() it. -*/ -typedef char *(*mysql_authentication_dialog_ask_t)(struct st_mysql *mysql, - int type, const char *prompt, char *buf, int buf_len); +#include <mysql/auth_dialog_client.h> + /******** using plugins ************/ /** |