From 0d8a8b913f6a15088523bc69cbcf6240de945cda Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 15 Oct 2003 19:26:58 +0000 Subject: Sunil's transaction patches. svn path=/trunk/; revision=3858 --- fetchmail.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'fetchmail.h') 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 */ -- cgit v1.2.3