blob: 2d610e8255f9dbe8de78c8dfab9ffb7a9d8241c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#ifndef DOVEADM_PRINT_H
#define DOVEADM_PRINT_H
#define DOVEADM_PRINT_TYPE_TAB "tab"
#define DOVEADM_PRINT_TYPE_FLOW "flow"
#define DOVEADM_PRINT_TYPE_PAGER "pager"
#define DOVEADM_PRINT_TYPE_TABLE "table"
#define DOVEADM_PRINT_TYPE_SERVER "server"
#define DOVEADM_PRINT_TYPE_JSON "json"
#define DOVEADM_PRINT_TYPE_FORMATTED "formatted"
enum doveadm_print_header_flags {
DOVEADM_PRINT_HEADER_FLAG_RIGHT_JUSTIFY = 0x01,
DOVEADM_PRINT_HEADER_FLAG_STICKY = 0x02,
DOVEADM_PRINT_HEADER_FLAG_HIDE_TITLE = 0x04,
DOVEADM_PRINT_HEADER_FLAG_EXPAND = 0x08,
DOVEADM_PRINT_HEADER_FLAG_NUMBER = 0x10
};
extern const struct doveadm_print_vfuncs *doveadm_print_vfuncs_all[];
extern bool doveadm_print_hide_titles;
/* points to either stdout or to doveadm-server's TCP connection */
extern struct ostream *doveadm_print_ostream;
bool doveadm_print_is_initialized(void);
void doveadm_print_header(const char *key, const char *title,
enum doveadm_print_header_flags flags);
void doveadm_print_header_simple(const char *key_title);
unsigned int doveadm_print_get_headers_count(void);
void doveadm_print(const char *value);
void doveadm_print_num(uintmax_t value);
/* Stream for same field continues until len=0 */
void doveadm_print_stream(const void *value, size_t size);
/* Print the whole input stream. Returns 0 if ok, -1 if stream read() failed.
The caller must log the error. */
int doveadm_print_istream(struct istream *input);
void doveadm_print_sticky(const char *key, const char *value);
void doveadm_print_flush(void);
void doveadm_print_unstick_headers(void);
void doveadm_print_init(const char *name);
void doveadm_print_deinit(void);
void doveadm_print_formatted_set_format(const char *format);
#endif
|