diff options
author | June McEnroe <june@causal.agency> | 2020-12-11 00:35:35 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-12-11 00:35:35 -0500 |
commit | fd6a4049039fe5191428dc2d37cee3274d65c94c (patch) | |
tree | 8b5b11825cd908f6edee773f77b46b3acdedbac4 /imap.h | |
parent | Add FILES section to README (diff) | |
download | bubger-fd6a4049039fe5191428dc2d37cee3274d65c94c.tar.gz bubger-fd6a4049039fe5191428dc2d37cee3274d65c94c.zip |
Add imapIdle
Handles re-IDLE-ing every 29 minutes and returns the first response it gets.
Diffstat (limited to 'imap.h')
-rw-r--r-- | imap.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/imap.h b/imap.h index 4cd7691..015c8b8 100644 --- a/imap.h +++ b/imap.h @@ -162,6 +162,13 @@ struct Resp { const char *text; }; +static inline struct Resp respOk(struct Resp resp) { + if (resp.resp == AtomNo || resp.resp == AtomBad || resp.resp == AtomBye) { + errx(EX_CONFIG, "%s: %s", Atoms[resp.tag], resp.text); + } + return resp; +} + static inline void respFree(struct Resp resp) { listFree(resp.code); listFree(resp.data); @@ -180,5 +187,6 @@ struct IMAP { struct IMAP imapOpen(const char *host, const char *port); struct Resp imapResp(struct IMAP *imap); +struct Resp imapIdle(struct IMAP *imap, enum Atom tag); #endif /* IMAP_H */ |