#ifndef _MUTT_ACCOUNT_H_
#define _MUTT_ACCOUNT_H_ 1
-#include <lib-lib/url.h>
+#include <lib-lib/lib-lib.h>
-/* account types */
enum {
- M_ACCT_TYPE_NONE = 0,
- M_ACCT_TYPE_IMAP,
- M_ACCT_TYPE_NNTP,
- M_ACCT_TYPE_POP
+ M_ACCT_TYPE_NONE = 0,
+ M_ACCT_TYPE_IMAP,
+ M_ACCT_TYPE_NNTP,
+ M_ACCT_TYPE_POP
};
-/* account flags */
-#define M_ACCT_PORT (1<<0)
-#define M_ACCT_USER (1<<1)
-#define M_ACCT_LOGIN (1<<2)
-#define M_ACCT_PASS (1<<3)
-#define M_ACCT_SSL (1<<4)
-
typedef struct {
- char user[64];
- char login[64];
- char pass[64];
- char host[128];
- unsigned short port;
- unsigned char type;
- unsigned char flags;
+ union {
+ struct {
+ unsigned has_port : 1;
+ unsigned has_user : 1;
+ unsigned has_login : 1;
+ unsigned has_pass : 1;
+ unsigned has_ssl : 1;
+ };
+ char flags;
+ };
+
+ char type;
+ int port;
+
+ char user[64];
+ char login[64];
+ char pass[64];
+ char host[128];
} ACCOUNT;
int mutt_account_match (const ACCOUNT * a1, const ACCOUNT * m2);
int mutt_account_getuser (ACCOUNT * account);
int mutt_account_getlogin (ACCOUNT * account);
int mutt_account_getpass (ACCOUNT * account);
-void mutt_account_unsetpass (ACCOUNT * account);
#endif /* _MUTT_ACCOUNT_H_ */