X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pop.h;h=22806cb378b9ff996956decd070b20311b5da264;hp=6adacc0f61e6b613da821ca8c0b33112f0287865;hb=dc726add2e8fe52be1f6859ea7cbe4651498eeb8;hpb=c3e57678c8be193fc137854020f3a90887be97c9 diff --git a/pop.h b/pop.h index 6adacc0..22806cb 100644 --- a/pop.h +++ b/pop.h @@ -10,90 +10,12 @@ #ifndef _POP_H #define _POP_H 1 -#include "mailbox.h" -#include "mutt_socket.h" +#include +#include -#define POP_PORT 110 -#define POP_SSL_PORT 995 +extern mx_t const pop_mx; -/* number of entries in the hash table */ -#define POP_CACHE_LEN 10 - -/* maximal length of the server response (RFC1939) */ -#define POP_CMD_RESPONSE 512 - -enum { - /* Status */ - POP_NONE = 0, - POP_CONNECTED, - POP_DISCONNECTED, - POP_BYE -}; - -typedef enum { - POP_A_SUCCESS = 0, - POP_A_SOCKET, - POP_A_FAILURE, - POP_A_UNAVAIL -} pop_auth_res_t; - -typedef struct { - unsigned int index; - char *path; -} POP_CACHE; - -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 */ - unsigned int resp_codes:1; /* server supports extended response codes */ - unsigned int expire:1; /* expire is greater than 0 */ - unsigned int clear_cache:1; - size_t size; - time_t check_time; - time_t login_delay; /* minimal login delay capability */ - char *auth_list; /* list of auth mechanisms */ - char *timestamp; - char err_msg[POP_CMD_RESPONSE]; - POP_CACHE cache[POP_CACHE_LEN]; -} POP_DATA; - -typedef struct { - /* do authentication, using named method or any available if method is NULL */ - pop_auth_res_t (*authenticate) (POP_DATA *, const char *); - /* name of authentication method supported, NULL means variable. If this - * is not null, authenticate may ignore the second parameter. */ - const char *method; -} pop_auth_t; - -/* pop_auth.c */ -int pop_authenticate (POP_DATA *); -void pop_apop_timestamp (POP_DATA *, char *); - -/* pop_lib.c */ -#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 *), - void *); -int pop_reconnect (CONTEXT *); -void pop_logout (CONTEXT *); -void pop_error (POP_DATA *, char *); - -/* pop.c */ -int pop_check_mailbox (CONTEXT *, int *); -int pop_open_mailbox (CONTEXT *); -int pop_sync_mailbox (CONTEXT *, int *); -int pop_fetch_message (MESSAGE *, CONTEXT *, int); -void pop_close_mailbox (CONTEXT *); -void pop_fetch_mail (void); +int pop_fetch_message(MESSAGE *, CONTEXT *, int); +void pop_fetch_mail(void); #endif