fs-dict.c revision 4110f968c96680d61ca47bd7a903a254b911adda
/* Copyright (c) 2015-2017 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "buffer.h"
#include "str.h"
#include "guid.h"
#include "hex-binary.h"
#include "base64.h"
#include "istream.h"
#include "ostream.h"
#include "dict.h"
#include "fs-api-private.h"
enum fs_dict_value_encoding {
};
struct dict_fs {
char *path_prefix;
};
struct dict_fs_file {
};
struct dict_fs_iter {
struct dict_iterate_context *dict_iter;
};
static struct fs *fs_dict_alloc(void)
{
}
static int
{
struct dict_settings dict_set;
const char *p, *encoding_str, *error;
if (p == NULL) {
return -1;
}
else {
return -1;
}
return -1;
}
return 0;
}
{
}
{
return FS_PROPERTY_ITER | FS_PROPERTY_RELIABLEITER;
}
static struct fs_file *fs_dict_file_alloc(void)
{
struct dict_fs_file *file;
}
static void
{
if (mode != FS_OPEN_MODE_CREATE_UNIQUE_128)
else {
}
}
{
}
{
/* once async dict_lookup() is implemented, we want to start it here */
return TRUE;
}
{
const char *error;
int ret;
return 0;
if (ret > 0)
return 0;
else if (ret < 0) {
return -1;
} else {
return -1;
}
}
static struct istream *
{
if (fs_dict_lookup(file) < 0)
else
return input;
}
{
}
{
const char *new_fname;
return;
}
{
struct dict_transaction_context *trans;
const char *error;
if (!success)
return -1;
break;
case FS_DICT_VALUE_ENCODING_HEX: {
break;
}
case FS_DICT_VALUE_ENCODING_BASE64: {
const size_t base64_size =
}
}
return -1;
}
return 1;
}
{
if (fs_dict_lookup(file) < 0)
return -1;
return 0;
}
{
struct dict_transaction_context *trans;
const char *error;
return -1;
}
return 0;
}
static struct fs_iter *fs_dict_iter_alloc(void)
{
}
static void
{
}
{
return NULL;
return key;
}
{
const char *error;
int ret;
if (ret < 0)
return ret;
}
const struct fs fs_class_dict = {
.name = "dict",
.v = {
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
}
};