Mercurial > dovecot > core-2.2
annotate src/lib/iostream-private.h @ 22664:fea53c2725c0
director: Fix director_max_parallel_moves/kicks type
Should be uint, not time.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Thu, 09 Nov 2017 12:24:16 +0200 |
parents | ca2f5d3575b3 |
children |
rev | line source |
---|---|
13529
cf77e448295c
Renamed lib/*-internal.h files to lib/*-private.h for consistency.
Timo Sirainen <tss@iki.fi>
parents:
10847
diff
changeset
|
1 #ifndef IOSTREAM_PRIVATE_H |
cf77e448295c
Renamed lib/*-internal.h files to lib/*-private.h for consistency.
Timo Sirainen <tss@iki.fi>
parents:
10847
diff
changeset
|
2 #define IOSTREAM_PRIVATE_H |
764
f57c52738f90
Renamed IBuffer and OBuffer to IStream and OStream which describes their
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 |
18989
ca2f5d3575b3
lib: Added io_stream_get_disconnect_reason() to iostream.h
Timo Sirainen <tss@iki.fi>
parents:
18164
diff
changeset
|
4 #include "iostream.h" |
ca2f5d3575b3
lib: Added io_stream_get_disconnect_reason() to iostream.h
Timo Sirainen <tss@iki.fi>
parents:
18164
diff
changeset
|
5 |
2421
d141e1bfdd63
We never do blocking reads/writes to network anymore. Changed imap and pop3
Timo Sirainen <tss@iki.fi>
parents:
1870
diff
changeset
|
6 /* This file is private to input stream and output stream implementations */ |
764
f57c52738f90
Renamed IBuffer and OBuffer to IStream and OStream which describes their
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
7 |
16236
81d87e43e167
istream API change: Added support for multiple destroy callbacks.
Timo Sirainen <tss@iki.fi>
parents:
16020
diff
changeset
|
8 struct iostream_destroy_callback { |
81d87e43e167
istream API change: Added support for multiple destroy callbacks.
Timo Sirainen <tss@iki.fi>
parents:
16020
diff
changeset
|
9 void (*callback)(void *context); |
81d87e43e167
istream API change: Added support for multiple destroy callbacks.
Timo Sirainen <tss@iki.fi>
parents:
16020
diff
changeset
|
10 void *context; |
81d87e43e167
istream API change: Added support for multiple destroy callbacks.
Timo Sirainen <tss@iki.fi>
parents:
16020
diff
changeset
|
11 }; |
81d87e43e167
istream API change: Added support for multiple destroy callbacks.
Timo Sirainen <tss@iki.fi>
parents:
16020
diff
changeset
|
12 |
6415
b0096861c390
Renamed struct _[io]stream to struct [io]stream_private. Also removed _
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
13 struct iostream_private { |
764
f57c52738f90
Renamed IBuffer and OBuffer to IStream and OStream which describes their
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
14 int refcount; |
10847
5f16e488e7f6
i/ostreams can now have a name (e.g. file path).
Timo Sirainen <tss@iki.fi>
parents:
7023
diff
changeset
|
15 char *name; |
16772
e35be66003e2
iostream: Added ability to set/get error strings for streams.
Timo Sirainen <tss@iki.fi>
parents:
16236
diff
changeset
|
16 char *error; |
764
f57c52738f90
Renamed IBuffer and OBuffer to IStream and OStream which describes their
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
17 |
16020
6cabb95d32ec
iostreams: Added close_parent flag to close() handler and clarified close/destroy APIs.
Timo Sirainen <tss@iki.fi>
parents:
13529
diff
changeset
|
18 void (*close)(struct iostream_private *streami, bool close_parent); |
6415
b0096861c390
Renamed struct _[io]stream to struct [io]stream_private. Also removed _
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
19 void (*destroy)(struct iostream_private *stream); |
b0096861c390
Renamed struct _[io]stream to struct [io]stream_private. Also removed _
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
20 void (*set_max_buffer_size)(struct iostream_private *stream, |
b0096861c390
Renamed struct _[io]stream to struct [io]stream_private. Also removed _
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
21 size_t max_size); |
7023
56a5a00e490c
Added i_stream_set_destroy_callback().
Timo Sirainen <tss@iki.fi>
parents:
6415
diff
changeset
|
22 |
16236
81d87e43e167
istream API change: Added support for multiple destroy callbacks.
Timo Sirainen <tss@iki.fi>
parents:
16020
diff
changeset
|
23 ARRAY(struct iostream_destroy_callback) destroy_callbacks; |
764
f57c52738f90
Renamed IBuffer and OBuffer to IStream and OStream which describes their
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
24 }; |
f57c52738f90
Renamed IBuffer and OBuffer to IStream and OStream which describes their
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
25 |
6415
b0096861c390
Renamed struct _[io]stream to struct [io]stream_private. Also removed _
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
26 void io_stream_init(struct iostream_private *stream); |
b0096861c390
Renamed struct _[io]stream to struct [io]stream_private. Also removed _
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
27 void io_stream_ref(struct iostream_private *stream); |
b0096861c390
Renamed struct _[io]stream to struct [io]stream_private. Also removed _
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
28 void io_stream_unref(struct iostream_private *stream); |
16020
6cabb95d32ec
iostreams: Added close_parent flag to close() handler and clarified close/destroy APIs.
Timo Sirainen <tss@iki.fi>
parents:
13529
diff
changeset
|
29 void io_stream_close(struct iostream_private *stream, bool close_parent); |
6415
b0096861c390
Renamed struct _[io]stream to struct [io]stream_private. Also removed _
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
30 void io_stream_set_max_buffer_size(struct iostream_private *stream, |
b0096861c390
Renamed struct _[io]stream to struct [io]stream_private. Also removed _
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
31 size_t max_size); |
18164
4723cecff76c
lib: Added o_stream_add_destroy_callback()
Timo Sirainen <tss@iki.fi>
parents:
16813
diff
changeset
|
32 void io_stream_add_destroy_callback(struct iostream_private *stream, |
4723cecff76c
lib: Added o_stream_add_destroy_callback()
Timo Sirainen <tss@iki.fi>
parents:
16813
diff
changeset
|
33 void (*callback)(void *), void *context); |
4723cecff76c
lib: Added o_stream_add_destroy_callback()
Timo Sirainen <tss@iki.fi>
parents:
16813
diff
changeset
|
34 void io_stream_remove_destroy_callback(struct iostream_private *stream, |
4723cecff76c
lib: Added o_stream_add_destroy_callback()
Timo Sirainen <tss@iki.fi>
parents:
16813
diff
changeset
|
35 void (*callback)(void *)); |
16772
e35be66003e2
iostream: Added ability to set/get error strings for streams.
Timo Sirainen <tss@iki.fi>
parents:
16236
diff
changeset
|
36 /* Set a specific error for the stream. This shouldn't be used for regular |
e35be66003e2
iostream: Added ability to set/get error strings for streams.
Timo Sirainen <tss@iki.fi>
parents:
16236
diff
changeset
|
37 syscall errors where stream's errno is enough, since it's used by default. |
e35be66003e2
iostream: Added ability to set/get error strings for streams.
Timo Sirainen <tss@iki.fi>
parents:
16236
diff
changeset
|
38 The stream errno must always be set even if the error string is also set. |
e35be66003e2
iostream: Added ability to set/get error strings for streams.
Timo Sirainen <tss@iki.fi>
parents:
16236
diff
changeset
|
39 Setting this error replaces the previously set error. */ |
e35be66003e2
iostream: Added ability to set/get error strings for streams.
Timo Sirainen <tss@iki.fi>
parents:
16236
diff
changeset
|
40 void io_stream_set_error(struct iostream_private *stream, |
e35be66003e2
iostream: Added ability to set/get error strings for streams.
Timo Sirainen <tss@iki.fi>
parents:
16236
diff
changeset
|
41 const char *fmt, ...) ATTR_FORMAT(2, 3); |
16813
a919c43ab91b
lib: Added [io]_stream_create_error_str()
Timo Sirainen <tss@iki.fi>
parents:
16772
diff
changeset
|
42 void io_stream_set_verror(struct iostream_private *stream, |
a919c43ab91b
lib: Added [io]_stream_create_error_str()
Timo Sirainen <tss@iki.fi>
parents:
16772
diff
changeset
|
43 const char *fmt, va_list args) ATTR_FORMAT(2, 0); |
764
f57c52738f90
Renamed IBuffer and OBuffer to IStream and OStream which describes their
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
44 |
f57c52738f90
Renamed IBuffer and OBuffer to IStream and OStream which describes their
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
45 #endif |