| Server IP : 176.32.38.42 / Your IP : 216.73.216.231 Web Server : LiteSpeed System : Linux ha006.mymail.zone 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64 User : s1225329 ( 1835) PHP Version : 7.4.33 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/2206090/root/usr/include/dovecot/ |
Upload File : |
#ifndef SDBOX_STORAGE_H
#define SDBOX_STORAGE_H
#include "index-storage.h"
#include "dbox-storage.h"
#define SDBOX_STORAGE_NAME "sdbox"
#define SDBOX_MAIL_FILE_PREFIX "u."
#define SDBOX_MAIL_FILE_FORMAT SDBOX_MAIL_FILE_PREFIX"%u"
#define SDBOX_INDEX_HEADER_MIN_SIZE (sizeof(uint32_t))
struct sdbox_index_header {
/* increased every time a full mailbox rebuild is done */
uint32_t rebuild_count;
guid_128_t mailbox_guid;
uint8_t flags; /* enum dbox_index_header_flags */
uint8_t unused[3];
};
struct sdbox_storage {
struct dbox_storage storage;
};
struct sdbox_mailbox {
struct mailbox box;
struct sdbox_storage *storage;
uint32_t hdr_ext_id;
/* if non-zero, storage should be rebuilt (except if rebuild_count
has changed from this value) */
uint32_t corrupted_rebuild_count;
guid_128_t mailbox_guid;
};
#define SDBOX_STORAGE(s) container_of(DBOX_STORAGE(s), struct sdbox_storage, storage)
#define SDBOX_MAILBOX(s) container_of(s, struct sdbox_mailbox, box)
extern struct mail_vfuncs sdbox_mail_vfuncs;
int sdbox_mail_open(struct dbox_mail *mail, uoff_t *offset_r,
struct dbox_file **file_r);
int sdbox_read_header(struct sdbox_mailbox *mbox,
struct sdbox_index_header *hdr, bool log_error,
bool *need_resize_r);
int sdbox_mailbox_create_indexes(struct mailbox *box,
const struct mailbox_update *update,
struct mail_index_transaction *trans);
void sdbox_set_mailbox_corrupted(struct mailbox *box);
struct mail_save_context *
sdbox_save_alloc(struct mailbox_transaction_context *_t);
int sdbox_save_begin(struct mail_save_context *ctx, struct istream *input);
int sdbox_save_finish(struct mail_save_context *ctx);
void sdbox_save_cancel(struct mail_save_context *ctx);
struct dbox_file *
sdbox_save_file_get_file(struct mailbox_transaction_context *t, uint32_t seq);
void sdbox_save_add_file(struct mail_save_context *ctx, struct dbox_file *file);
int sdbox_transaction_save_commit_pre(struct mail_save_context *ctx);
void sdbox_transaction_save_commit_post(struct mail_save_context *ctx,
struct mail_index_transaction_commit_result *result);
void sdbox_transaction_save_rollback(struct mail_save_context *ctx);
int sdbox_copy(struct mail_save_context *ctx, struct mail *mail);
#endif