From 354bb40e75d94466e91fe6960523612c9d17ccfb Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Thu, 2 Nov 2017 23:11:29 +0300 Subject: Add implementation --- mysql/mysql/service_mysql_keyring.h | 62 +++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 mysql/mysql/service_mysql_keyring.h (limited to 'mysql/mysql/service_mysql_keyring.h') diff --git a/mysql/mysql/service_mysql_keyring.h b/mysql/mysql/service_mysql_keyring.h new file mode 100644 index 0000000..991d5fd --- /dev/null +++ b/mysql/mysql/service_mysql_keyring.h @@ -0,0 +1,62 @@ +/* Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved. + + 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 + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef MYSQL_SERVICE_MYSQL_PLUGIN_KEYRING_INCLUDED +#define MYSQL_SERVICE_MYSQL_PLUGIN_KEYRING_INCLUDED + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct mysql_keyring_service_st +{ + int (*my_key_store_func)(const char *, const char *, const char *, + const void *, size_t); + int (*my_key_fetch_func)(const char *, char **, const char *, void **, + size_t *); + int (*my_key_remove_func)(const char *, const char *); + int (*my_key_generate_func)(const char *, const char *, const char *, + size_t); +} *mysql_keyring_service; + +#ifdef MYSQL_DYNAMIC_PLUGIN + +#define my_key_store(key_id, key_type, user_id, key, key_len) \ + mysql_keyring_service->my_key_store_func(key_id, key_type, user_id, key, \ + key_len) +#define my_key_fetch(key_id, key_type, user_id, key, key_len) \ + mysql_keyring_service->my_key_fetch_func(key_id, key_type, user_id, key, \ + key_len) +#define my_key_remove(key_id, user_id) \ + mysql_keyring_service->my_key_remove_func(key_id, user_id) +#define my_key_generate(key_id, key_type, user_id, key_len) \ + mysql_keyring_service->my_key_generate_func(key_id, key_type, user_id, \ + key_len) +#else + +int my_key_store(const char *, const char *, const char *, const void *, size_t); +int my_key_fetch(const char *, char **, const char *, void **, + size_t *); +int my_key_remove(const char *, const char *); +int my_key_generate(const char *, const char *, const char *, size_t); + +#endif + +#ifdef __cplusplus +} +#endif + +#endif //MYSQL_SERVICE_MYSQL_PLUGIN_KEYRING_INCLUDED + -- cgit v1.1