Mercurial > dovecot > core-2.2
view src/lib/iostream-temp.h @ 23007:36e01285b5b8
lib: buffer - Improve header comment for buffer_insert() and buffer_delete().
author | Stephan Bosch <stephan.bosch@dovecot.fi> |
---|---|
date | Mon, 18 Mar 2019 00:52:37 +0100 |
parents | 244720af3113 |
children |
line wrap: on
line source
#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