From f7548d6d28c313cf80e6f3ef89aed16a19815df1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 11:51:24 +0200 Subject: Adding upstream version 1:2.3.19.1+dfsg1. Signed-off-by: Daniel Baumann --- src/lib-imap/imap-util.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/lib-imap/imap-util.h (limited to 'src/lib-imap/imap-util.h') 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". */ +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 -- cgit v1.2.3