diff options
Diffstat (limited to 'fetchmail.h')
| -rw-r--r-- | fetchmail.h | 74 | 
1 files changed, 46 insertions, 28 deletions
| diff --git a/fetchmail.h b/fetchmail.h index 8bb1c970..12aaf11e 100644 --- a/fetchmail.h +++ b/fetchmail.h @@ -56,34 +56,43 @@  #define		SIZETICKER	1024	/* print 1 dot per this many bytes */ +struct idlist +{ +    int num; +    char *id; +    struct idlist *next; +}; +  struct hostrec  { -  char servername [HOSTLEN+1]; -  char localname [USERNAMELEN+1]; -  char remotename [USERNAMELEN+1]; -  char password [PASSWORDLEN+1]; -  char userfolder [FOLDERLEN+1]; -  char remotefolder [FOLDERLEN]; -  char smtphost[HOSTLEN+1]; -  char mda [MDALEN+1]; -  int keep; -  int protocol; -  int fetchall; -  int flush; -  int norewrite; -  int skip; -  int port; - -  /* state used for tracking UIDL ids */ -  char lastid [IDLEN+1]; - -  /* dependent on the above members */ -  int output; -  struct hostrec *next; - -  /* internal use only */  +    /* per-host data */ +    char servername [HOSTLEN+1]; +    char localname [USERNAMELEN+1]; +    char remotename [USERNAMELEN+1]; +    char password [PASSWORDLEN+1]; +    char userfolder [FOLDERLEN+1]; +    char remotefolder [FOLDERLEN]; +    char smtphost[HOSTLEN+1]; +    char mda [MDALEN+1]; +    int protocol; +    int port; + +    /* control flags */ +    int output; +    int keep; +    int fetchall; +    int flush; +    int norewrite; +    int skip; + +    /* previous state of mailbox (initially from .fetchids) */ +    struct idlist *saved; + +    /* internal use */ +    struct hostrec *next;	/* next host in chain */ +    struct idlist *mailbox;	/* current state of mailbox */  #if defined(HAVE_APOP_SUPPORT) -  char digest [DIGESTLEN]; +    char digest [DIGESTLEN];  #endif  }; @@ -96,9 +105,10 @@ struct method      int (*parse_response)();	/* response_parsing function */      int (*getauth)();		/* authorization fetcher */      int (*getrange)();		/* get message range to fetch */ +    int (*is_old)();		/* check for old message */      int (*fetch)();		/* fetch a given message */      int (*trail)();		/* eat trailer of a message */ -    char *delete_cmd;		/* delete command */ +    int (*delete)();		/* delete method */      char *expunge_cmd;		/* expunge command */      char *exit_cmd;		/* exit command */  }; @@ -123,14 +133,22 @@ extern int versioninfo;		/* emit only version info */  #ifdef HAVE_PROTOTYPES -int gen_ok (char *buf, int socket); +/* prototypes for globally callable functions */  void gen_send ();  int gen_transact (); -/* prototypes for globally callable functions */  int doPOP2 (struct hostrec *);   int doPOP3 (struct hostrec *);  int doIMAP (struct hostrec *); + +void initialize_saved_lists(struct hostrec *, char *); +void save_uid(struct idlist **, int, char *); +void free_uid_list(struct idlist **); +int delete_uid(struct idlist **, char *); +int uid_in_list(struct idlist **, char *); +void update_uid_lists(struct hostrec *); +void write_saved_lists(struct hostrec *, char *); +  int parsecmdline (int, char **, struct hostrec *);  int setdefaults (struct hostrec *);  char *getnextserver (int argc, char **, int *); | 
