HEX
Server: Apache/2
System: Linux ctr1224126.novalocal 4.9.241-37.el7.x86_64 #1 SMP Mon Nov 2 13:55:04 UTC 2020 x86_64
User: gokitchen (1017)
PHP: 8.0.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/iostream-temp.h
#ifndef IOSTREAM_TEMP_H
#define IOSTREAM_TEMP_H

enum iostream_temp_flags {
	/* if o_stream_send_istream() is called with a readable fd, don't
	   actually copy the input stream, just have iostream_temp_finish()
	   return a new iostream pointing to the fd dup()ed */
	IOSTREAM_TEMP_FLAG_TRY_FD_DUP	= 0x01
};

/* Start writing to given output stream. The data is initially written to
   memory, and later to a temporary file that is immediately unlinked. */
struct ostream *iostream_temp_create(const char *temp_path_prefix,
				     enum iostream_temp_flags flags);
struct ostream *iostream_temp_create_named(const char *temp_path_prefix,
					   enum iostream_temp_flags flags,
					   const char *name);
struct ostream *iostream_temp_create_sized(const char *temp_path_prefix,
					   enum iostream_temp_flags flags,
					   const char *name,
					   size_t max_mem_size);
/* Finished writing to stream. Return input stream for it and free the
   output stream. (It's also possible to abort iostream-temp by simply
   destroying the ostream.) */
struct istream *iostream_temp_finish(struct ostream **output,
				     size_t max_buffer_size);

/* For internal testing: */
int o_stream_temp_move_to_memory(struct ostream *output);

#endif