/*
SSSD
KCM Server - the KCM ccache database interface
This file should only be included from the ccache.c module.
Copyright (C) Red Hat, 2016
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
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, see <http://www.gnu.org/licenses/>.
*/
#ifndef _KCMSRV_CCACHE_BE_
#define _KCMSRV_CCACHE_BE_
#include "config.h"
#include <talloc.h>
#include "responder/kcm/kcmsrv_ccache.h"
typedef errno_t
typedef struct tevent_req *
struct tevent_context *ev,
typedef errno_t
unsigned int *_nextid);
typedef struct tevent_req *
struct tevent_context *ev,
typedef errno_t
typedef struct tevent_req *
struct tevent_context *ev,
typedef errno_t
typedef struct tevent_req *
struct tevent_context *ev,
typedef errno_t
uuid_t **_uuid_list);
typedef struct tevent_req *
struct tevent_context *ev,
const char *name);
typedef errno_t
struct kcm_ccache **_cc);
typedef struct tevent_req *
struct tevent_context *ev,
typedef errno_t
struct kcm_ccache **_cc);
typedef struct tevent_req *
struct tevent_context *ev,
typedef errno_t
const char **_name);
typedef struct tevent_req *
struct tevent_context *ev,
const char *name);
typedef errno_t
typedef struct tevent_req *
struct tevent_context *ev,
struct kcm_ccache *cc);
typedef errno_t
typedef struct tevent_req *
struct tevent_context *ev,
struct kcm_mod_ctx *mod_cc);
typedef errno_t
typedef struct tevent_req *
struct tevent_context *ev,
typedef errno_t
typedef struct tevent_req *
struct tevent_context *ev,
typedef errno_t
/*
* Each ccache back end (for example memory or secrets) must implement
* all these functions. The functions are wrapped by the kcm_ccdb
* interface that performs additional sanity checks or contains shared
* logic such as access checks but in general doesn't assume anything
* about how the operations work.
*/
struct kcm_ccdb_ops {
};
extern const struct kcm_ccdb_ops ccdb_mem_ops;
extern const struct kcm_ccdb_ops ccdb_sec_ops;
#endif /* _KCMSRV_CCACHE_BE_ */