NeoMutt
2025-12-11-1039-g550ac6
Teaching an old dog new tricks
DOXYGEN
Toggle main menu visibility
Loading...
Searching...
No Matches
connaccount.h
Go to the documentation of this file.
1
22
23
#ifndef MUTT_CONN_CONNACCOUNT_H
24
#define MUTT_CONN_CONNACCOUNT_H
25
26
#include <stdbool.h>
27
#include <stdint.h>
28
32
enum
ConnAccountField
33
{
34
MUTT_CA_HOST
= 1,
35
MUTT_CA_LOGIN
,
36
MUTT_CA_USER
,
37
MUTT_CA_PASS
,
38
MUTT_CA_OAUTH_CMD
,
39
};
40
44
enum
MuttAccountFlag
45
{
46
MUTT_ACCT_NONE
= 0,
47
MUTT_ACCT_PORT
= 1U << 0,
48
MUTT_ACCT_USER
= 1U << 1,
49
MUTT_ACCT_LOGIN
= 1U << 2,
50
MUTT_ACCT_PASS
= 1U << 3,
51
MUTT_ACCT_SSL
= 1U << 4,
52
};
53
typedef
uint8_t
MuttAccountFlags
;
54
58
struct
ConnAccount
59
{
60
char
host
[128];
61
char
login
[128];
62
char
user
[128];
63
char
pass
[256];
64
unsigned
short
port
;
65
unsigned
char
type
;
66
MuttAccountFlags
flags
;
67
const
char
*
service
;
68
76
const
char
*(*get_field)(
enum
ConnAccountField
field,
void
*
gf_data
);
77
78
void
*
gf_data
;
79
};
80
86
enum
ExpandoDataNntp
87
{
88
ED_NTP_ACCOUNT
= 1,
89
ED_NTP_PORT
,
90
ED_NTP_PORT_IF
,
91
ED_NTP_SCHEMA
,
92
ED_NTP_SERVER
,
93
ED_NTP_USERNAME
,
94
};
95
96
int
mutt_account_getlogin
(
struct
ConnAccount
*account);
97
char
*
mutt_account_getoauthbearer
(
struct
ConnAccount
*account,
bool
xoauth2);
98
int
mutt_account_getpass
(
struct
ConnAccount
*account);
99
int
mutt_account_getuser
(
struct
ConnAccount
*account);
100
void
mutt_account_unsetpass
(
struct
ConnAccount
*account);
101
102
#endif
/* MUTT_CONN_CONNACCOUNT_H */
mutt_account_getuser
int mutt_account_getuser(struct ConnAccount *account)
Retrieve username into ConnAccount, if necessary.
Definition
connaccount.c:51
MuttAccountFlags
uint8_t MuttAccountFlags
Definition
connaccount.h:53
ConnAccountField
ConnAccountField
Login credentials.
Definition
connaccount.h:33
MUTT_CA_OAUTH_CMD
@ MUTT_CA_OAUTH_CMD
OAuth refresh command.
Definition
connaccount.h:38
MUTT_CA_USER
@ MUTT_CA_USER
User name.
Definition
connaccount.h:36
MUTT_CA_LOGIN
@ MUTT_CA_LOGIN
Login name.
Definition
connaccount.h:35
MUTT_CA_HOST
@ MUTT_CA_HOST
Server name.
Definition
connaccount.h:34
MUTT_CA_PASS
@ MUTT_CA_PASS
Password.
Definition
connaccount.h:37
mutt_account_unsetpass
void mutt_account_unsetpass(struct ConnAccount *account)
Unset ConnAccount's password.
Definition
connaccount.c:177
ExpandoDataNntp
ExpandoDataNntp
Expando UIDs for NNTP.
Definition
connaccount.h:87
ED_NTP_SCHEMA
@ ED_NTP_SCHEMA
ConnAccount.account.
Definition
connaccount.h:91
ED_NTP_USERNAME
@ ED_NTP_USERNAME
ConnAccount.user.
Definition
connaccount.h:93
ED_NTP_PORT_IF
@ ED_NTP_PORT_IF
ConnAccount.port.
Definition
connaccount.h:90
ED_NTP_SERVER
@ ED_NTP_SERVER
ConnAccount.account.
Definition
connaccount.h:92
ED_NTP_ACCOUNT
@ ED_NTP_ACCOUNT
ConnAccount.account.
Definition
connaccount.h:88
ED_NTP_PORT
@ ED_NTP_PORT
ConnAccount.port.
Definition
connaccount.h:89
mutt_account_getpass
int mutt_account_getpass(struct ConnAccount *account)
Fetch password into ConnAccount, if necessary.
Definition
connaccount.c:130
mutt_account_getoauthbearer
char * mutt_account_getoauthbearer(struct ConnAccount *account, bool xoauth2)
Get an OAUTHBEARER/XOAUTH2 token.
Definition
connaccount.c:195
MuttAccountFlag
MuttAccountFlag
Flags, Which ConnAccount fields are initialised.
Definition
connaccount.h:45
MUTT_ACCT_PORT
@ MUTT_ACCT_PORT
Port field has been set.
Definition
connaccount.h:47
MUTT_ACCT_SSL
@ MUTT_ACCT_SSL
Account uses SSL/TLS.
Definition
connaccount.h:51
MUTT_ACCT_PASS
@ MUTT_ACCT_PASS
Password field has been set.
Definition
connaccount.h:50
MUTT_ACCT_USER
@ MUTT_ACCT_USER
User field has been set.
Definition
connaccount.h:48
MUTT_ACCT_LOGIN
@ MUTT_ACCT_LOGIN
Login field has been set.
Definition
connaccount.h:49
MUTT_ACCT_NONE
@ MUTT_ACCT_NONE
No flags are set.
Definition
connaccount.h:46
mutt_account_getlogin
int mutt_account_getlogin(struct ConnAccount *account)
Retrieve login info into ConnAccount, if necessary.
Definition
connaccount.c:100
ConnAccount
Login details for a remote server.
Definition
connaccount.h:59
ConnAccount::login
char login[128]
Login name.
Definition
connaccount.h:61
ConnAccount::user
char user[128]
Username.
Definition
connaccount.h:62
ConnAccount::pass
char pass[256]
Password.
Definition
connaccount.h:63
ConnAccount::service
const char * service
Name of the service, e.g. "imap".
Definition
connaccount.h:67
ConnAccount::host
char host[128]
Server to login to.
Definition
connaccount.h:60
ConnAccount::type
unsigned char type
Connection type, e.g. MUTT_ACCT_TYPE_IMAP.
Definition
connaccount.h:65
ConnAccount::flags
MuttAccountFlags flags
Which fields are initialised, e.g. MUTT_ACCT_USER.
Definition
connaccount.h:66
ConnAccount::gf_data
void * gf_data
Private data to pass to get_field().
Definition
connaccount.h:78
ConnAccount::port
unsigned short port
Port to connect to.
Definition
connaccount.h:64