diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:51:24 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:51:24 +0000 |
commit | f7548d6d28c313cf80e6f3ef89aed16a19815df1 (patch) | |
tree | a3f6f2a3f247293bee59ecd28e8cd8ceb6ca064a /src/lib-imap/imap-util.h | |
parent | Initial commit. (diff) | |
download | dovecot-f7548d6d28c313cf80e6f3ef89aed16a19815df1.tar.xz dovecot-f7548d6d28c313cf80e6f3ef89aed16a19815df1.zip |
Adding upstream version 1:2.3.19.1+dfsg1.upstream/1%2.3.19.1+dfsg1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/lib-imap/imap-util.h')
-rw-r--r-- | src/lib-imap/imap-util.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/lib-imap/imap-util.h b/src/lib-imap/imap-util.h new file mode 100644 index 0000000..47b7d2c --- /dev/null +++ b/src/lib-imap/imap-util.h @@ -0,0 +1,29 @@ +#ifndef IMAP_UTIL_H +#define IMAP_UTIL_H + +#include "seq-range-array.h" +#include "mail-types.h" + +struct imap_arg; + +/* Write flags as a space separated string. */ +void imap_write_flags(string_t *dest, enum mail_flags flags, + const char *const *keywords) ATTR_NULL(3); +/* Parse system flag from a string, or return 0 if it's invalid. */ +enum mail_flags imap_parse_system_flag(const char *str); + +/* Write sequence range as IMAP sequence-set */ +void imap_write_seq_range(string_t *dest, const ARRAY_TYPE(seq_range) *array); +/* Write IMAP arg to the given string. Because IMAP_ARG_LITERAL_SIZE* have no + content, they're written as "{size}\r\n<too large>". */ +void imap_write_arg(string_t *dest, const struct imap_arg *arg); +/* Same as imap_write_arg(), but write all the args until EOL. */ +void imap_write_args(string_t *dest, const struct imap_arg *args); +/* Write IMAP args in a human-readable format to given string (e.g. for + logging). The output is a single valid UTF-8 line without control + characters. Multi-line literals are replaced with a generic placeholder. */ +void imap_write_args_for_human(string_t *dest, const struct imap_arg *args); +/* Like imap_write_args(), but return the string allocated from data stack. */ +const char *imap_args_to_str(const struct imap_arg *args); + +#endif |