summaryrefslogtreecommitdiffstats
path: root/src/lib/istream-file-private.h
blob: c4701ed2ff902d5887836175c678b23f1b42ae59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef ISTREAM_FILE_PRIVATE_H
#define ISTREAM_FILE_PRIVATE_H

#include "istream-private.h"

struct file_istream {
	struct istream_private istream;

	uoff_t skip_left;

	bool file:1;
	bool autoclose_fd:1;
	bool seen_eof:1;
};

struct istream *
i_stream_create_file_common(struct file_istream *fstream,
			    int fd, const char *path,
			    size_t max_buffer_size, bool autoclose_fd);
ssize_t i_stream_file_read(struct istream_private *stream);
void i_stream_file_close(struct iostream_private *stream, bool close_parent);

#endif