Mercurial > dovecot > core-2.2
view src/lib-imap-urlauth/imap-urlauth-fetch.h @ 22325:e01bc3015b2f
lib-index: Check .log.2 rotation only when syncing
Instead of also whenever appending transactions to .log file. This
shouldn't change the behavior much, and it's needed for the following
change to work correctly.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Tue, 11 Jul 2017 15:33:56 +0300 |
parents | fc2ba01feb78 |
children |
line wrap: on
line source
#ifndef IMAP_URLAUTH_FETCH_H #define IMAP_URLAUTH_FETCH_H struct imap_url; struct imap_urlauth_context; struct imap_urlauth_fetch; enum imap_urlauth_fetch_flags { /* Indicates that this is an extended request */ IMAP_URLAUTH_FETCH_FLAG_EXTENDED = 0x01, /* Fetch body part unmodified */ IMAP_URLAUTH_FETCH_FLAG_BODY = 0x02, /* Fetch body part as binary, i.e. without content encoding */ IMAP_URLAUTH_FETCH_FLAG_BINARY = 0x04, /* Fetch IMAP bodypartstructure */ IMAP_URLAUTH_FETCH_FLAG_BODYPARTSTRUCTURE = 0x08, }; struct imap_urlauth_fetch_reply { const char *url; enum imap_urlauth_fetch_flags flags; struct istream *input; uoff_t size; const char *bodypartstruct; const char *error; unsigned int succeeded:1; unsigned int binary_has_nuls:1; }; /* Callback to handle fetch reply. Returns 1 if handled completely and ready for next reply, 0 if not all data was processed, and -1 for error. If a callback returns 0, imap_urlauth_fetch_continue() must be called once new replies may be processed. If this is the last request to yield a reply, argument last is TRUE. */ typedef int imap_urlauth_fetch_callback_t(struct imap_urlauth_fetch_reply *reply, bool last, void *context); struct imap_urlauth_fetch * imap_urlauth_fetch_init(struct imap_urlauth_context *uctx, imap_urlauth_fetch_callback_t *callback, void *context); void imap_urlauth_fetch_deinit(struct imap_urlauth_fetch **ufetch); int imap_urlauth_fetch_url(struct imap_urlauth_fetch *ufetch, const char *url, enum imap_urlauth_fetch_flags url_flags); int imap_urlauth_fetch_url_parsed(struct imap_urlauth_fetch *ufetch, const char *url, struct imap_url *imap_url, enum imap_urlauth_fetch_flags url_flags); bool imap_urlauth_fetch_continue(struct imap_urlauth_fetch *ufetch); bool imap_urlauth_fetch_is_pending(struct imap_urlauth_fetch *ufetch); #endif