Lines Matching defs:istream
9 struct istream {
41 struct istream *i_stream_create_fd(int fd, size_t max_buffer_size);
43 struct istream *i_stream_create_fd_autoclose(int *fd, size_t max_buffer_size);
46 struct istream *i_stream_create_file(const char *path, size_t max_buffer_size);
47 struct istream *i_stream_create_mmap(int fd, size_t block_size,
52 struct istream *i_stream_create_from_data(const void *data, size_t size);
60 struct istream *
66 struct istream *i_stream_create_limit(struct istream *input, uoff_t v_size);
67 struct istream *i_stream_create_range(struct istream *input,
69 struct istream *i_stream_create_error(int stream_errno);
70 struct istream *
75 void i_stream_set_name(struct istream *stream, const char *name);
79 const char *i_stream_get_name(struct istream *stream);
82 void i_stream_destroy(struct istream **stream);
86 void i_stream_ref(struct istream *stream);
88 void i_stream_unref(struct istream **stream);
90 void i_stream_add_destroy_callback(struct istream *stream,
98 void i_stream_remove_destroy_callback(struct istream *stream,
102 int i_stream_get_fd(struct istream *stream);
105 const char *i_stream_get_error(struct istream *stream);
106 /* Returns human-readable reason for why istream was disconnected. This can be
109 const char *i_stream_get_disconnect_reason(struct istream *stream);
113 void i_stream_close(struct istream *stream);
116 void i_stream_sync(struct istream *stream);
121 void i_stream_set_init_buffer_size(struct istream *stream, size_t size);
125 void i_stream_set_max_buffer_size(struct istream *stream, size_t max_size);
128 buffer size. This is needed because some streams (e.g. istream-chain) change
130 size_t i_stream_get_max_buffer_size(struct istream *stream);
133 void i_stream_set_return_partial_line(struct istream *stream, bool set);
137 void i_stream_set_persistent_buffers(struct istream *stream, bool set);
138 /* Set the istream blocking or nonblocking, including its parent streams.
140 void i_stream_set_blocking(struct istream *stream, bool blocking);
148 ssize_t i_stream_read(struct istream *stream);
151 void i_stream_skip(struct istream *stream, uoff_t count);
155 void i_stream_seek(struct istream *stream, uoff_t v_offset);
160 void i_stream_seek_mark(struct istream *stream, uoff_t v_offset);
168 int i_stream_stat(struct istream *stream, bool exact, const struct stat **st_r);
171 int i_stream_get_size(struct istream *stream, bool exact, uoff_t *size_r);
173 bool i_stream_have_bytes_left(struct istream *stream);
178 bool i_stream_read_eof(struct istream *stream);
181 uoff_t i_stream_get_absolute_offset(struct istream *stream);
186 char *i_stream_next_line(struct istream *stream);
190 char *i_stream_read_next_line(struct istream *stream);
193 bool i_stream_last_line_crlf(struct istream *stream);
196 const unsigned char *i_stream_get_data(struct istream *stream, size_t *size_r);
197 size_t i_stream_get_data_size(struct istream *stream);
200 unsigned char *i_stream_get_modifiable_data(struct istream *stream,
206 int i_stream_read_data(struct istream *stream, const unsigned char **data_r,
213 i_stream_read_bytes(struct istream *stream, const unsigned char **data_r,
221 i_stream_read_more(struct istream *stream, const unsigned char **data_r,
228 /* Return the timestamp when istream last successfully read something.
230 void i_stream_get_last_read_time(struct istream *stream, struct timeval *tv_r);
234 bool i_stream_add_data(struct istream *stream, const unsigned char *data,
237 void i_stream_set_input_pending(struct istream *stream, bool pending);
241 void i_stream_switch_ioloop_to(struct istream *stream, struct ioloop *ioloop);
242 void i_stream_switch_ioloop(struct istream *stream);