HEX
Server: LiteSpeed
System: Linux server.searchcove.com 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64
User: lurax (1083)
PHP: 8.3.30
Disabled: 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
Upload Files
File: //usr/include/dovecot/sdbox-file.h
#ifndef SDBOX_FILE_H
#define SDBOX_FILE_H

#include "dbox-file.h"

struct sdbox_file {
	struct dbox_file file;
	struct sdbox_mailbox *mbox;

	/* 0 while file is being created */
	uint32_t uid;

	/* list of attachment paths while saving/copying message */
	pool_t attachment_pool;
	ARRAY_TYPE(const_string) attachment_paths;
	bool written_to_disk;
};

struct dbox_file *sdbox_file_init(struct sdbox_mailbox *mbox, uint32_t uid);
struct dbox_file *sdbox_file_create(struct sdbox_mailbox *mbox);
void sdbox_file_free(struct dbox_file *file);

/* Get file's extrefs metadata. */
int sdbox_file_get_attachments(struct dbox_file *file, const char **extrefs_r);
/* Returns attachment path for this file, given the source path. The result is
   always <hash>-<guid>-<mailbox_guid>-<uid>. The source path is expected to
   contain <hash>-<guid>[-*]. */
const char *
sdbox_file_attachment_relpath(struct sdbox_file *file, const char *srcpath);

/* Assign UID for a newly created file (by renaming it) */
int sdbox_file_assign_uid(struct sdbox_file *file, uint32_t uid);

int sdbox_file_create_fd(struct dbox_file *file, const char *path,
			 bool parents);
/* Move the file to alt path or back. */
int sdbox_file_move(struct dbox_file *file, bool alt_path);
/* Unlink file and all of its referenced attachments. */
int sdbox_file_unlink_with_attachments(struct sdbox_file *sfile);
/* Unlink file and its attachments when rolling back a saved message. */
int sdbox_file_unlink_aborted_save(struct sdbox_file *file);

#endif