aboutsummaryrefslogtreecommitdiffstats
path: root/fetchmail.h
diff options
context:
space:
mode:
Diffstat (limited to 'fetchmail.h')
-rw-r--r--fetchmail.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/fetchmail.h b/fetchmail.h
index 6665ab06..ac89f42c 100644
--- a/fetchmail.h
+++ b/fetchmail.h
@@ -147,7 +147,7 @@ struct idlist
{
struct
{
- short num;
+ int num;
flag mark; /* UID-index information */
#define UID_UNSEEN 0 /* hasn't been seen */
#define UID_SEEN 1 /* seen, but not deleted */
@@ -182,6 +182,8 @@ struct method /* describe methods for protocol state machine */
/* get message range to fetch */
int (*getsizes)(int, int, int *);
/* get sizes of messages */
+ int (*getpartialsizes)(int, int, int, int *);
+ /* get sizes of subset of messages */
int (*is_old)(int, struct query *, int);
/* check for old message */
int (*fetch_headers)(int, struct query *, int, int *);
@@ -289,6 +291,9 @@ struct query
int limit; /* limit size of retrieved messages */
int warnings; /* size warning interval */
int fetchlimit; /* max # msgs to get in single poll */
+ int fetchsizelimit; /* max # msg sizes to get in a request */
+ int fastuidl; /* do binary search for new UIDLs? */
+ int fastuidlcount; /* internal count for frequency of binary search */
int batchlimit; /* max # msgs to pass in single SMTP session */
int expunge; /* max # msgs to pass between expunges */
flag use_ssl; /* use SSL encrypted session */
@@ -511,6 +516,8 @@ unsigned char *reply_hack(unsigned char *, const unsigned char *, int *);
unsigned char *nxtaddr(const unsigned char *);
/* uid.c: UID support */
+extern int dofastuidl;
+
void initialize_saved_lists(struct query *, const char *);
struct idlist *save_str(struct idlist **, const char *, flag);
void free_str_list(struct idlist **);
@@ -518,17 +525,20 @@ struct idlist *copy_str_list(struct idlist *idl);
void save_str_pair(struct idlist **, const char *, const char *);
void free_str_pair_list(struct idlist **);
int delete_str(struct idlist **, long);
-int str_in_list(struct idlist **, const char *, const flag);
+struct idlist *str_in_list(struct idlist **, const char *, const flag);
int str_nr_in_list(struct idlist **, const char *);
int str_nr_last_in_list(struct idlist **, const char *);
void str_set_mark( struct idlist **, const char *, const flag);
int count_list( struct idlist **idl );
char *str_from_nr_list( struct idlist **idl, long number );
char *str_find(struct idlist **, long);
+struct idlist *id_find(struct idlist **idl, long);
char *idpair_find(struct idlist **, const char *);
void append_str_list(struct idlist **, struct idlist **);
void expunge_uids(struct query *);
void uid_swap_lists(struct query *);
+void uid_discard_new_list(struct query *ctl);
+void uid_reset_num(struct query *ctl);
void write_saved_lists(struct query *, const char *);
/* rcfile_y.y */