Only use fcntl, simplify locking.
[apps/madmutt.git] / account.h
1 /*
2  * Copyright notice from original mutt:
3  * Copyright (C) 2000-5 Brendan Cully <brendan@kublai.com>
4  *
5  * This file is part of mutt-ng, see http://www.muttng.org/.
6  * It's licensed under the GNU General Public License,
7  * please see the file GPL in the top level source directory.
8  */
9
10 /* remote host account manipulation (POP/IMAP) */
11
12 #ifndef _MUTT_ACCOUNT_H_
13 #define _MUTT_ACCOUNT_H_ 1
14
15 #include <lib-lib/lib-lib.h>
16
17 enum {
18     M_ACCT_TYPE_NONE = 0,
19     M_ACCT_TYPE_IMAP,
20     M_ACCT_TYPE_POP
21 };
22
23 typedef struct {
24     union {
25         struct {
26             unsigned has_port  : 1;
27             unsigned has_user  : 1;
28             unsigned has_login : 1;
29             unsigned has_pass  : 1;
30             unsigned has_ssl   : 1;
31         };
32         char flags;
33     };
34
35     char type;
36     int  port;
37
38     char user[64];
39     char login[64];
40     char pass[64];
41     char host[128];
42 } ACCOUNT;
43
44 int mutt_account_match (const ACCOUNT * a1, const ACCOUNT * m2);
45 int mutt_account_fromurl (ACCOUNT * account, ciss_url_t * url);
46 void mutt_account_tourl (ACCOUNT * account, ciss_url_t * url);
47 int mutt_account_getuser (ACCOUNT * account);
48 int mutt_account_getlogin (ACCOUNT * account);
49 int mutt_account_getpass (ACCOUNT * account);
50
51 #endif /* _MUTT_ACCOUNT_H_ */