X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pop%2Fpop.h;h=bbafe1f025389a9c709dfa1df8b3fb4324d09835;hp=6adacc0f61e6b613da821ca8c0b33112f0287865;hb=4711a1a970ba7dda6eaf71f16fdfd74f90d02bb8;hpb=36d6553c2d1a80b38e961b95ebbfe0290dd5b002 diff --git a/pop/pop.h b/pop/pop.h index 6adacc0..bbafe1f 100644 --- a/pop/pop.h +++ b/pop/pop.h @@ -10,8 +10,9 @@ #ifndef _POP_H #define _POP_H 1 -#include "mailbox.h" +#include "mx.h" #include "mutt_socket.h" +#include "mutt_curses.h" #define POP_PORT 110 #define POP_SSL_PORT 995 @@ -42,16 +43,29 @@ typedef struct { char *path; } POP_CACHE; +typedef enum pop_query_status_e { + PFD_FUNCT_ERROR = -3, /* pop_fetch_data uses pop_query_status and this return value */ + PQ_ERR = -2, + PQ_NOT_CONNECTED = -1, + PQ_OK = 0 +} pop_query_status; + +typedef enum cmd_status_e { + CMD_NOT_AVAILABLE = 0, + CMD_AVAILABLE, + CMD_UNKNOWN /* unknown whether it is available or not */ +} cmd_status; + typedef struct { CONNECTION *conn; unsigned int status:2; unsigned int capabilities:1; unsigned int use_stls:2; - unsigned int cmd_capa:1; /* optional command CAPA */ - unsigned int cmd_stls:1; /* optional command STLS */ - unsigned int cmd_user:2; /* optional command USER */ - unsigned int cmd_uidl:2; /* optional command UIDL */ - unsigned int cmd_top:2; /* optional command TOP */ + cmd_status cmd_capa; /* optional command CAPA */ + cmd_status cmd_stls; /* optional command STLS */ + cmd_status cmd_user; /* optional command USER */ + cmd_status cmd_uidl; /* optional command UIDL */ + cmd_status cmd_top; /* optional command TOP */ unsigned int resp_codes:1; /* server supports extended response codes */ unsigned int expire:1; /* expire is greater than 0 */ unsigned int clear_cache:1; @@ -80,18 +94,18 @@ void pop_apop_timestamp (POP_DATA *, char *); #define pop_query(A,B,C) pop_query_d(A,B,C,NULL) int pop_parse_path (const char *, ACCOUNT *); int pop_connect (POP_DATA *); -int pop_open_connection (POP_DATA *); -int pop_query_d (POP_DATA *, char *, size_t, char *); -int pop_fetch_data (POP_DATA *, char *, char *, int (*funct) (char *, void *), +pop_query_status pop_open_connection (POP_DATA *); +pop_query_status pop_query_d (POP_DATA *, char *, size_t, char *); +pop_query_status pop_fetch_data (POP_DATA *, char *, progress_t*, int (*funct) (char *, void *), void *); -int pop_reconnect (CONTEXT *); +pop_query_status pop_reconnect (CONTEXT *); void pop_logout (CONTEXT *); void pop_error (POP_DATA *, char *); /* pop.c */ -int pop_check_mailbox (CONTEXT *, int *); +int pop_check_mailbox (CONTEXT *, int *, int); int pop_open_mailbox (CONTEXT *); -int pop_sync_mailbox (CONTEXT *, int *); +pop_query_status pop_sync_mailbox (CONTEXT *, int, int *); int pop_fetch_message (MESSAGE *, CONTEXT *, int); void pop_close_mailbox (CONTEXT *); void pop_fetch_mail (void);