NeoMutt  2025-12-11-694-ga89709
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
address.c File Reference
#include "config.h"
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include "mutt/lib.h"
#include "config/lib.h"
#include "email/lib.h"
#include "core/lib.h"
#include "mutt.h"
+ Include dependency graph for address.c:

Go to the source code of this file.

Functions

int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
 

Variables

bool StartupComplete = true
 
const struct Module ModuleMain
 Module for the Main library.
 
const struct Module ModuleAddress
 Module for the Address library.
 
const struct Module ModuleAlias
 Module for the Alias library.
 
const struct Module ModuleAttach
 Module for the Attach library.
 
const struct Module ModuleAutocrypt
 Module for the Autocrypt library.
 
const struct Module ModuleBcache
 Module for the Bcache library.
 
const struct Module ModuleBrowser
 Module for the Browser library.
 
const struct Module ModuleColor
 Module for the Color library.
 
const struct Module ModuleCommands
 Module for the Commands library.
 
const struct Module ModuleComplete
 Module for the Complete library.
 
const struct Module ModuleCompmbox
 Module for the Compmbox library.
 
const struct Module ModuleCompose
 Module for the Compose library.
 
const struct Module ModuleCompress
 Module for the Compress library.
 
const struct Module ModuleConfig
 Module for the Config library.
 
const struct Module ModuleConn
 Module for the Conn library.
 
const struct Module ModuleConvert
 Module for the Convert library.
 
const struct Module ModuleCore
 Module for the Core library.
 
const struct Module ModuleEditor
 Module for the Editor library.
 
const struct Module ModuleEmail
 Module for the Email library.
 
const struct Module ModuleEnvelope
 Module for the Envelope library.
 
const struct Module ModuleExpando
 Module for the Expando library.
 
const struct Module ModuleGui
 Module for the Gui library.
 
const struct Module ModuleHcache
 Module for the Hcache library.
 
const struct Module ModuleHelpbar
 Module for the Helpbar library.
 
const struct Module ModuleHistory
 Module for the History library.
 
const struct Module ModuleHooks
 Module for the Hooks library.
 
const struct Module ModuleImap
 Module for the Imap library.
 
const struct Module ModuleIndex
 Module for the Index library.
 
const struct Module ModuleKey
 Module for the Key library.
 
const struct Module ModuleLua
 Module for the Lua library.
 
const struct Module ModuleMaildir
 Module for the Maildir library.
 
const struct Module ModuleMbox
 Module for the Mbox library.
 
const struct Module ModuleMenu
 Module for the Menu library.
 
const struct Module ModuleMh
 Module for the Mh library.
 
const struct Module ModuleMutt
 Module for the Mutt library.
 
const struct Module ModuleNcrypt
 Module for the Ncrypt library.
 
const struct Module ModuleNntp
 Module for the Nntp library.
 
const struct Module ModuleNotmuch
 Module for the Notmuch library.
 
const struct Module ModulePager
 Module for the Pager library.
 
const struct Module ModuleParse
 Module for the Parse library.
 
const struct Module ModulePattern
 Module for the Pattern library.
 
const struct Module ModulePop
 Module for the Pop library.
 
const struct Module ModulePostpone
 Module for the Postpone library.
 
const struct Module ModuleProgress
 Module for the Progress library.
 
const struct Module ModuleQuestion
 Module for the Question library.
 
const struct Module ModuleSend
 Module for the Send library.
 
const struct Module ModuleSidebar
 Module for the Sidebar library.
 
const struct Module ModuleStore
 Module for the Store library.
 
static const struct ModuleModules []
 All the library Modules.
 

Function Documentation

◆ LLVMFuzzerTestOneInput()

int LLVMFuzzerTestOneInput ( const uint8_t * data,
size_t size )

Definition at line 65 of file address.c.

66{
68
70 char **tmp_env = MUTT_MEM_CALLOC(2, char *);
71 neomutt_init(NeoMutt, tmp_env, Modules);
72 FREE(&tmp_env);
73
74 char file[] = "/tmp/mutt-fuzz";
75 FILE *fp = fopen(file, "wb");
76 if (!fp)
77 return -1;
78
79 fwrite(data, 1, size, fp);
80 fclose(fp);
81 fp = fopen(file, "rb");
82 if (!fp)
83 return -1;
84
85 struct Email *e = email_new();
86 struct Envelope *env = mutt_rfc822_read_header(fp, e, 0, 0);
87 mutt_parse_part(fp, e->body);
88 email_free(&e);
89 mutt_env_free(&env);
90 fclose(fp);
93 return 0;
94}
struct Email * email_new(void)
Create a new Email.
Definition email.c:77
void email_free(struct Email **ptr)
Free an Email.
Definition email.c:46
void mutt_parse_part(FILE *fp, struct Body *b)
Parse a MIME part.
Definition parse.c:1833
struct Envelope * mutt_rfc822_read_header(FILE *fp, struct Email *e, bool user_hdrs, bool weed)
Parses an RFC822 header.
Definition parse.c:1210
void mutt_env_free(struct Envelope **ptr)
Free an Envelope.
Definition envelope.c:125
static const struct Module * Modules[]
All the library Modules.
Definition address.c:32
int log_disp_null(time_t stamp, const char *file, int line, const char *function, enum LogLevel level, const char *format,...)
Discard log lines - Implements log_dispatcher_t -.
Definition logging.c:515
int log_dispatcher_t MuttLogger
#define FREE(x)
Free memory and set the pointer to NULL.
Definition memory.h:68
#define MUTT_MEM_CALLOC(n, type)
Definition memory.h:52
void neomutt_cleanup(struct NeoMutt *n)
Clean up NeoMutt and Modules.
Definition neomutt.c:405
bool neomutt_init(struct NeoMutt *n, char **envp, const struct Module **modules)
Initialise NeoMutt.
Definition neomutt.c:319
struct NeoMutt * neomutt_new(void)
Create the main NeoMutt object.
Definition neomutt.c:307
void neomutt_free(struct NeoMutt **ptr)
Free a NeoMutt.
Definition neomutt.c:418
The envelope/body of an email.
Definition email.h:39
struct Body * body
List of MIME parts.
Definition email.h:69
The header of an Email.
Definition envelope.h:57
Container for Accounts, Notifications.
Definition neomutt.h:41
+ Here is the call graph for this function:

Variable Documentation

◆ StartupComplete

bool StartupComplete = true

Definition at line 11 of file address.c.

◆ ModuleMain

const struct Module ModuleMain
extern

Module for the Main library.

Definition at line 48 of file module.c.

48 {
50 "main",
51 NULL, // init
52 NULL, // config_define_types
54 NULL, // commands_register
55 NULL, // gui_init
56 NULL, // gui_cleanup
57 NULL, // cleanup
58};
static bool main_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:40
@ MODULE_ID_MAIN
ModuleMain, NeoMutt Email Client
Definition module_api.h:44

◆ ModuleAddress

const struct Module ModuleAddress
extern

Module for the Address library.

Definition at line 90 of file module.c.

90 {
92 "address",
96 NULL, // commands_register
97 NULL, // gui_init
98 NULL, // gui_cleanup
100};
static bool address_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:64
static bool address_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:78
static bool address_config_define_types(struct NeoMutt *n, struct ConfigSet *cs)
Set up Config Types - Implements Module::config_define_types()
Definition module.c:56
static bool address_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:45
@ MODULE_ID_ADDRESS
ModuleAddress, Address
Definition module_api.h:47

◆ ModuleAlias

const struct Module ModuleAlias
extern

Module for the Alias library.

Definition at line 108 of file module.c.

108 {
110 "alias",
112 NULL, // config_define_types
115 NULL, // gui_init
116 NULL, // gui_cleanup
118};
void alias_cleanup(void)
void alias_init(void)
static bool alias_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:74
static bool alias_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:66
@ MODULE_ID_ALIAS
ModuleAlias, Alias
Definition module_api.h:48

◆ ModuleAttach

const struct Module ModuleAttach
extern

Module for the Attach library.

Definition at line 108 of file module.c.

108 {
110 "attach",
112 NULL, // config_define_types
115 NULL, // gui_init
116 NULL, // gui_cleanup
118};
static bool attach_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:46
static bool attach_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:84
static bool attach_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:76
static bool attach_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:68
@ MODULE_ID_ATTACH
ModuleAttach, Attachments
Definition module_api.h:49

◆ ModuleAutocrypt

const struct Module ModuleAutocrypt
extern

Module for the Autocrypt library.

Definition at line 79 of file module.c.

79 {
81 "autocrypt",
83 NULL, // config_define_types
85 NULL, // commands_register
86 NULL, // gui_init
87 NULL, // gui_cleanup
89};
static bool autocrypt_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
static bool autocrypt_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
static bool autocrypt_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:67
@ MODULE_ID_AUTOCRYPT
ModuleAutocrypt, Autocrypt
Definition module_api.h:50

◆ ModuleBcache

const struct Module ModuleBcache
extern

Module for the Bcache library.

Definition at line 62 of file module.c.

62 {
64 "bcache",
66 NULL, // config_define_types
67 NULL, // config_define_variables
68 NULL, // commands_register
69 NULL, // gui_init
70 NULL, // gui_cleanup
72};
static bool bcache_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:39
static bool bcache_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:50
@ MODULE_ID_BCACHE
ModuleBcache, Body (Message) Cache
Definition module_api.h:51

◆ ModuleBrowser

const struct Module ModuleBrowser
extern

Module for the Browser library.

Definition at line 73 of file module.c.

73 {
75 "browser",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
static bool browser_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
static bool browser_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
static bool browser_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
@ MODULE_ID_BROWSER
ModuleBrowser, Mailbox Browser
Definition module_api.h:52

◆ ModuleColor

const struct Module ModuleColor
extern

Module for the Color library.

Definition at line 62 of file module.c.

62 {
64 "color",
66 NULL, // config_define_types
67 NULL, // config_define_variables
68 NULL, // commands_register
69 NULL, // gui_init
70 NULL, // gui_cleanup
72};
static bool color_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:39
static bool color_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:50
@ MODULE_ID_COLOR
ModuleColor, Color
Definition module_api.h:53

◆ ModuleCommands

const struct Module ModuleCommands
extern

Module for the Commands library.

Definition at line 72 of file module.c.

72 {
74 "commands",
76 NULL, // config_define_types
77 NULL, // config_define_variables
79 NULL, // gui_init
80 NULL, // gui_cleanup
82};
static bool commands_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:52
static bool commands_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:41
static bool commands_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:60
@ MODULE_ID_COMMANDS
ModuleCommands, NeoMutt Commands
Definition module_api.h:54

◆ ModuleComplete

const struct Module ModuleComplete
extern

Module for the Complete library.

Definition at line 62 of file module.c.

62 {
64 "complete",
66 NULL, // config_define_types
67 NULL, // config_define_variables
68 NULL, // commands_register
69 NULL, // gui_init
70 NULL, // gui_cleanup
72};
static bool complete_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:50
static bool complete_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:39
@ MODULE_ID_COMPLETE
ModuleComplete, Auto-completion
Definition module_api.h:55

◆ ModuleCompmbox

const struct Module ModuleCompmbox
extern

Module for the Compmbox library.

Definition at line 72 of file module.c.

72 {
74 "compmbox",
76 NULL, // config_define_types
77 NULL, // config_define_variables
79 NULL, // gui_init
80 NULL, // gui_cleanup
82};
static bool compmbox_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:52
static bool compmbox_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:60
static bool compmbox_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:41
@ MODULE_ID_COMPMBOX
ModuleCompmbox, Compressed Mailbox
Definition module_api.h:56

◆ ModuleCompose

const struct Module ModuleCompose
extern

Module for the Compose library.

Definition at line 73 of file module.c.

73 {
75 "compose",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
static bool compose_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
static bool compose_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
static bool compose_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
@ MODULE_ID_COMPOSE
ModuleCompose, Compose an Email
Definition module_api.h:57

◆ ModuleCompress

const struct Module ModuleCompress
extern

Module for the Compress library.

Definition at line 62 of file module.c.

62 {
64 "compress",
66 NULL, // config_define_types
67 NULL, // config_define_variables
68 NULL, // commands_register
69 NULL, // gui_init
70 NULL, // gui_cleanup
72};
static bool compress_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:39
static bool compress_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:50
@ MODULE_ID_COMPRESS
ModuleCompress, Compression functions
Definition module_api.h:58

◆ ModuleConfig

const struct Module ModuleConfig
extern

Module for the Config library.

Definition at line 99 of file module.c.

99 {
101 "config",
104 NULL, // config_define_variables
105 NULL, // commands_register
106 NULL, // gui_init
107 NULL, // gui_cleanup
109};
static bool config_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:53
static bool config_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:87
static bool config_config_define_types(struct NeoMutt *n, struct ConfigSet *cs)
Set up Config Types - Implements Module::config_define_types()
Definition module.c:64
@ MODULE_ID_CONFIG
ModuleConfig, Config
Definition module_api.h:59

◆ ModuleConn

const struct Module ModuleConn
extern

Module for the Conn library.

Definition at line 102 of file module.c.

102 {
104 "conn",
105 conn_init,
106 NULL, // config_define_types
108 NULL, // commands_register
109 NULL, // gui_init
110 NULL, // gui_cleanup
112};
static bool conn_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:90
static bool conn_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:58
static bool conn_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:47
@ MODULE_ID_CONN
ModuleConn, Network connections
Definition module_api.h:60

◆ ModuleConvert

const struct Module ModuleConvert
extern

Module for the Convert library.

Definition at line 62 of file module.c.

62 {
64 "convert",
66 NULL, // config_define_types
67 NULL, // config_define_variables
68 NULL, // commands_register
69 NULL, // gui_init
70 NULL, // gui_cleanup
72};
static bool convert_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:50
static bool convert_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:39
@ MODULE_ID_CONVERT
ModuleConvert, File Charset Conversion
Definition module_api.h:61

◆ ModuleCore

const struct Module ModuleCore
extern

Module for the Core library.

Definition at line 63 of file module.c.

63 {
65 NULL, // config_define_types
66 NULL, // config_define_variables
67 NULL, // commands_register
68 NULL, // gui_init
69 NULL, // gui_cleanup
71};
static bool core_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:40
static bool core_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:51
@ MODULE_ID_CORE
ModuleCore, Core NeoMutt objects
Definition module_api.h:62

◆ ModuleEditor

const struct Module ModuleEditor
extern

Module for the Editor library.

Definition at line 62 of file module.c.

62 {
64 "editor",
66 NULL, // config_define_types
67 NULL, // config_define_variables
68 NULL, // commands_register
69 NULL, // gui_init
70 NULL, // gui_cleanup
72};
static bool editor_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:39
static bool editor_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:50
@ MODULE_ID_EDITOR
ModuleEditor, Edit a string
Definition module_api.h:63

◆ ModuleEmail

const struct Module ModuleEmail
extern

Module for the Email library.

Definition at line 132 of file module.c.

132 {
134 "email",
136 NULL, // config_define_types
139 NULL, // gui_init
140 NULL, // gui_cleanup
142};
static bool email_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:93
static bool email_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:45
static bool email_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:85
static bool email_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:101
@ MODULE_ID_EMAIL
ModuleEmail, Email code
Definition module_api.h:64

◆ ModuleEnvelope

const struct Module ModuleEnvelope
extern

Module for the Envelope library.

Definition at line 62 of file module.c.

62 {
64 "envelope",
66 NULL, // config_define_types
67 NULL, // config_define_variables
68 NULL, // commands_register
69 NULL, // gui_init
70 NULL, // gui_cleanup
72};
static bool envelope_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:50
static bool envelope_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:39
@ MODULE_ID_ENVELOPE
ModuleEnvelope, Envelope-editing Window
Definition module_api.h:65

◆ ModuleExpando

const struct Module ModuleExpando
extern

Module for the Expando library.

Definition at line 73 of file module.c.

73 {
75 "expando",
78 NULL, // config_define_variables
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
static bool expando_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
static bool expando_config_define_types(struct NeoMutt *n, struct ConfigSet *cs)
Set up Config Types - Implements Module::config_define_types()
Definition module.c:53
static bool expando_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
@ MODULE_ID_EXPANDO
ModuleExpando, Parse Expando string
Definition module_api.h:66

◆ ModuleGui

const struct Module ModuleGui
extern

Module for the Gui library.

Definition at line 73 of file module.c.

73 {
75 "gui",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
static bool gui_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
static bool gui_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
static bool gui_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
@ MODULE_ID_GUI
ModuleGui, Graphical code
Definition module_api.h:45

◆ ModuleHcache

const struct Module ModuleHcache
extern

Module for the Hcache library.

Definition at line 82 of file module.c.

82 {
84 "hcache",
86 NULL, // config_define_types
88 NULL, // commands_register
89 NULL, // gui_init
90 NULL, // gui_cleanup
92};
static bool hcache_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:54
static bool hcache_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:43
static bool hcache_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:70
@ MODULE_ID_HCACHE
ModuleHcache, Email Header Cache
Definition module_api.h:67

◆ ModuleHelpbar

const struct Module ModuleHelpbar
extern

Module for the Helpbar library.

Definition at line 73 of file module.c.

73 {
75 "helpbar",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
static bool helpbar_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
static bool helpbar_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
static bool helpbar_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
@ MODULE_ID_HELPBAR
ModuleHelpbar, Help bar
Definition module_api.h:68

◆ ModuleHistory

const struct Module ModuleHistory
extern

Module for the History library.

Definition at line 73 of file module.c.

73 {
75 "history",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
static bool history_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
static bool history_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
static bool history_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
@ MODULE_ID_HISTORY
ModuleHistory, History
Definition module_api.h:69

◆ ModuleHooks

const struct Module ModuleHooks
extern

Module for the Hooks library.

Definition at line 82 of file module.c.

82 {
84 "hooks",
86 NULL, // config_define_types
89 NULL, // gui_init
90 NULL, // gui_cleanup
92};
static bool hooks_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:62
static bool hooks_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:43
static bool hooks_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:70
static bool hooks_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:54
@ MODULE_ID_HOOKS
ModuleHooks, Hook Commands
Definition module_api.h:70

◆ ModuleImap

const struct Module ModuleImap
extern

Module for the Imap library.

Definition at line 90 of file module.c.

90 {
92 "imap",
94 NULL, // config_define_types
97 NULL, // gui_init
98 NULL, // gui_cleanup
100};
static bool imap_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:70
static bool imap_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:56
static bool imap_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:78
static bool imap_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:45
@ MODULE_ID_IMAP
ModuleImap, Imap Mailbox
Definition module_api.h:71

◆ ModuleIndex

const struct Module ModuleIndex
extern

Module for the Index library.

Definition at line 87 of file module.c.

87 {
89 "index",
91 NULL, // config_define_types
94 NULL, // gui_init
95 NULL, // gui_cleanup
97};
static bool index_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:57
static bool index_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:45
static bool index_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:65
static bool index_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:73
@ MODULE_ID_INDEX
ModuleIndex, Index
Definition module_api.h:72

◆ ModuleKey

const struct Module ModuleKey
extern

Module for the Key library.

Definition at line 72 of file module.c.

72 {
74 "key",
76 NULL, // config_define_types
77 NULL, // config_define_variables
79 NULL, // gui_init
80 NULL, // gui_cleanup
82};
static bool key_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:52
static bool key_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:41
static bool key_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:60
@ MODULE_ID_KEY
ModuleKey, Key mappings
Definition module_api.h:73

◆ ModuleLua

const struct Module ModuleLua
extern

Module for the Lua library.

Definition at line 72 of file module.c.

72 {
74 "lua",
76 NULL, // config_define_types
77 NULL, // config_define_variables
79 NULL, // gui_init
80 NULL, // gui_cleanup
82};
void lua_cleanup(void)
Clean up Lua.
Definition commands.c:164
static bool lua_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:41
static bool lua_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:52
@ MODULE_ID_LUA
ModuleLua, Integrated Lua scripting
Definition module_api.h:74

◆ ModuleMaildir

const struct Module ModuleMaildir
extern

Module for the Maildir library.

Definition at line 80 of file module.c.

80 {
82 "maildir",
84 NULL, // config_define_types
86 NULL, // commands_register
87 NULL, // gui_init
88 NULL, // gui_cleanup
90};
static bool maildir_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:68
static bool maildir_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:43
static bool maildir_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:54
@ MODULE_ID_MAILDIR
ModuleMaildir, Maildir Mailbox
Definition module_api.h:75

◆ ModuleMbox

const struct Module ModuleMbox
extern

Module for the Mbox library.

Definition at line 73 of file module.c.

73 {
75 "mbox",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
static bool mbox_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
static bool mbox_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
static bool mbox_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
@ MODULE_ID_MBOX
ModuleMbox, Mbox
Definition module_api.h:76

◆ ModuleMenu

const struct Module ModuleMenu
extern

Module for the Menu library.

Definition at line 73 of file module.c.

73 {
75 "menu",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
void menu_init(void)
Initialise all the Menus.
Definition menu.c:81
void menu_cleanup(void)
Free the saved Menu searches.
Definition menu.c:72
static bool menu_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
@ MODULE_ID_MENU
ModuleMenu, Menu
Definition module_api.h:77

◆ ModuleMh

const struct Module ModuleMh
extern

Module for the Mh library.

Definition at line 73 of file module.c.

73 {
75 "mh",
76 mh_init,
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
static bool mh_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
static bool mh_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
static bool mh_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
@ MODULE_ID_MH
ModuleMh, Mh Mailbox
Definition module_api.h:78

◆ ModuleMutt

const struct Module ModuleMutt
extern

Module for the Mutt library.

Definition at line 63 of file module.c.

63 {
65 NULL, // config_define_types
66 NULL, // config_define_variables
67 NULL, // commands_register
68 NULL, // gui_init
69 NULL, // gui_cleanup
71};
static int mutt_init(struct ConfigSet *cs, struct Buffer *dlevel, struct Buffer *dfile, bool skip_sys_rc, struct StringArray *user_files, struct StringArray *commands)
Initialise NeoMutt.
Definition main.c:430
@ MODULE_ID_MUTT
ModuleMutt, Mutt
Definition module_api.h:79
static bool mutt_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:51

◆ ModuleNcrypt

const struct Module ModuleNcrypt
extern

Module for the Ncrypt library.

Definition at line 92 of file module.c.

92 {
94 "ncrypt",
96 NULL, // config_define_types
98 NULL, // commands_register
99 NULL, // gui_init
100 NULL, // gui_cleanup
102};
@ MODULE_ID_NCRYPT
ModuleNcrypt, Ncrypt
Definition module_api.h:80
static bool ncrypt_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:45
static bool ncrypt_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:56
static bool ncrypt_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:80

◆ ModuleNntp

const struct Module ModuleNntp
extern

Module for the Nntp library.

Definition at line 73 of file module.c.

73 {
75 "nntp",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
@ MODULE_ID_NNTP
ModuleNntp, Nntp
Definition module_api.h:81
static bool nntp_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
static bool nntp_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
static bool nntp_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42

◆ ModuleNotmuch

const struct Module ModuleNotmuch
extern

Module for the Notmuch library.

Definition at line 89 of file module.c.

89 {
91 "notmuch",
93 NULL, // config_define_types
96 NULL, // gui_init
97 NULL, // gui_cleanup
99};
@ MODULE_ID_NOTMUCH
ModuleNotmuch, Notmuch
Definition module_api.h:82
static bool notmuch_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:55
static bool notmuch_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:44
static bool notmuch_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:77
static bool notmuch_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:69

◆ ModulePager

const struct Module ModulePager
extern

Module for the Pager library.

Definition at line 73 of file module.c.

73 {
75 "pager",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
@ MODULE_ID_PAGER
ModulePager, Pager
Definition module_api.h:83
static bool pager_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
static bool pager_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
static bool pager_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61

◆ ModuleParse

const struct Module ModuleParse
extern

Module for the Parse library.

Definition at line 62 of file module.c.

62 {
64 "parse",
66 NULL, // config_define_types
67 NULL, // config_define_variables
68 NULL, // commands_register
69 NULL, // gui_init
70 NULL, // gui_cleanup
72};
@ MODULE_ID_PARSE
ModuleParse, Text parsing functions
Definition module_api.h:84
static bool parse_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:39
static bool parse_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:50

◆ ModulePattern

const struct Module ModulePattern
extern

Module for the Pattern library.

Definition at line 73 of file module.c.

73 {
75 "pattern",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
@ MODULE_ID_PATTERN
ModulePattern, Pattern
Definition module_api.h:85
static bool pattern_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
static bool pattern_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
static bool pattern_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42

◆ ModulePop

const struct Module ModulePop
extern

Module for the Pop library.

Definition at line 73 of file module.c.

73 {
75 "pop",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
@ MODULE_ID_POP
ModulePop, Pop
Definition module_api.h:86
static bool pop_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
static bool pop_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61
static bool pop_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53

◆ ModulePostpone

const struct Module ModulePostpone
extern

Module for the Postpone library.

Definition at line 62 of file module.c.

62 {
64 "postpone",
66 NULL, // config_define_types
67 NULL, // config_define_variables
68 NULL, // commands_register
69 NULL, // gui_init
70 NULL, // gui_cleanup
72};
@ MODULE_ID_POSTPONE
ModulePostpone, Postponed Emails
Definition module_api.h:87
static bool postpone_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:39
static bool postpone_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:50

◆ ModuleProgress

const struct Module ModuleProgress
extern

Module for the Progress library.

Definition at line 73 of file module.c.

73 {
75 "progress",
77 NULL, // config_define_types
79 NULL, // commands_register
80 NULL, // gui_init
81 NULL, // gui_cleanup
83};
@ MODULE_ID_PROGRESS
ModuleProgress, Progress Bar
Definition module_api.h:88
static bool progress_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:42
static bool progress_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:53
static bool progress_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:61

◆ ModuleQuestion

const struct Module ModuleQuestion
extern

Module for the Question library.

Definition at line 62 of file module.c.

62 {
64 "question",
66 NULL, // config_define_types
67 NULL, // config_define_variables
68 NULL, // commands_register
69 NULL, // gui_init
70 NULL, // gui_cleanup
72};
@ MODULE_ID_QUESTION
ModuleQuestion, Question
Definition module_api.h:89
static bool question_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:50
static bool question_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:39

◆ ModuleSend

const struct Module ModuleSend
extern

Module for the Send library.

Definition at line 87 of file module.c.

87 {
89 "send",
91 NULL, // config_define_types
94 NULL, // gui_init
95 NULL, // gui_cleanup
97};
@ MODULE_ID_SEND
ModuleSend, Send
Definition module_api.h:90
static bool send_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:57
static bool send_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:65
static bool send_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:44
static bool send_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:73

◆ ModuleSidebar

const struct Module ModuleSidebar
extern

Module for the Sidebar library.

Definition at line 83 of file module.c.

83 {
85 "sidebar",
87 NULL, // config_define_types
90 NULL, // gui_init
91 NULL, // gui_cleanup
93};
@ MODULE_ID_SIDEBAR
ModuleSidebar, Sidebar
Definition module_api.h:91
static bool sidebar_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables()
Definition module.c:55
static bool sidebar_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:71
static bool sidebar_commands_register(struct NeoMutt *n, struct CommandArray *ca)
Register NeoMutt Commands - Implements Module::commands_register()
Definition module.c:63
static bool sidebar_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:44

◆ ModuleStore

const struct Module ModuleStore
extern

Module for the Store library.

Definition at line 63 of file module.c.

63 {
65 "store",
67 NULL, // config_define_types
68 NULL, // config_define_variables
69 NULL, // commands_register
70 NULL, // gui_init
71 NULL, // gui_cleanup
73};
@ MODULE_ID_STORE
ModuleStore, Store
Definition module_api.h:92
static bool store_cleanup(struct NeoMutt *n)
Clean up a Module - Implements Module::cleanup()
Definition module.c:51
static bool store_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init()
Definition module.c:40

◆ Modules

const struct Module* Modules[]
static

All the library Modules.

Definition at line 32 of file address.c.

32 {
33 // clang-format off
34 &ModuleMain, &ModuleGui, // These two have priority
43// clang-format on
44#ifdef USE_AUTOCRYPT
46#endif
47#ifdef USE_HCACHE_COMPRESSION
49#endif
50#ifdef USE_HCACHE
52#endif
53#ifdef USE_LUA
54 &ModuleLua,
55#endif
56#ifdef USE_NOTMUCH
58#endif
59#ifdef USE_HCACHE
61#endif
62 NULL,
63};
const struct Module ModuleAddress
Module for the Address library.
Definition module.c:90
const struct Module ModuleAlias
Module for the Alias library.
Definition module.c:108
const struct Module ModuleAttach
Module for the Attach library.
Definition module.c:108
const struct Module ModuleAutocrypt
Module for the Autocrypt library.
Definition module.c:79
const struct Module ModuleBcache
Module for the Bcache library.
Definition module.c:62
const struct Module ModuleBrowser
Module for the Browser library.
Definition module.c:73
const struct Module ModuleColor
Module for the Color library.
Definition module.c:62
const struct Module ModuleCommands
Module for the Commands library.
Definition module.c:72
const struct Module ModuleComplete
Module for the Complete library.
Definition module.c:62
const struct Module ModuleCompmbox
Module for the Compmbox library.
Definition module.c:72
const struct Module ModuleCompose
Module for the Compose library.
Definition module.c:73
const struct Module ModuleCompress
Module for the Compress library.
Definition module.c:62
const struct Module ModuleConfig
Module for the Config library.
Definition module.c:99
const struct Module ModuleConn
Module for the Conn library.
Definition module.c:102
const struct Module ModuleConvert
Module for the Convert library.
Definition module.c:62
const struct Module ModuleCore
Module for the Core library.
Definition module.c:63
const struct Module ModuleEditor
Module for the Editor library.
Definition module.c:62
const struct Module ModuleEmail
Module for the Email library.
Definition module.c:132
const struct Module ModuleEnvelope
Module for the Envelope library.
Definition module.c:62
const struct Module ModuleExpando
Module for the Expando library.
Definition module.c:73
const struct Module ModulePop
Module for the Pop library.
Definition module.c:73
const struct Module ModuleParse
Module for the Parse library.
Definition module.c:62
const struct Module ModuleMaildir
Module for the Maildir library.
Definition module.c:80
const struct Module ModulePostpone
Module for the Postpone library.
Definition module.c:62
const struct Module ModuleSidebar
Module for the Sidebar library.
Definition module.c:83
const struct Module ModuleMh
Module for the Mh library.
Definition module.c:73
const struct Module ModuleLua
Module for the Lua library.
Definition module.c:72
const struct Module ModulePager
Module for the Pager library.
Definition module.c:73
const struct Module ModuleGui
Module for the Gui library.
Definition module.c:73
const struct Module ModuleProgress
Module for the Progress library.
Definition module.c:73
const struct Module ModuleMenu
Module for the Menu library.
Definition module.c:73
const struct Module ModuleNcrypt
Module for the Ncrypt library.
Definition module.c:92
const struct Module ModuleMutt
Module for the Mutt library.
Definition module.c:63
const struct Module ModuleHcache
Module for the Hcache library.
Definition module.c:82
const struct Module ModuleSend
Module for the Send library.
Definition module.c:87
const struct Module ModuleQuestion
Module for the Question library.
Definition module.c:62
const struct Module ModuleImap
Module for the Imap library.
Definition module.c:90
const struct Module ModuleMain
Module for the Main library.
Definition module.c:48
const struct Module ModuleStore
Module for the Store library.
Definition module.c:63
const struct Module ModuleMbox
Module for the Mbox library.
Definition module.c:73
const struct Module ModulePattern
Module for the Pattern library.
Definition module.c:73
const struct Module ModuleNntp
Module for the Nntp library.
Definition module.c:73
const struct Module ModuleHelpbar
Module for the Helpbar library.
Definition module.c:73
const struct Module ModuleHistory
Module for the History library.
Definition module.c:73
const struct Module ModuleNotmuch
Module for the Notmuch library.
Definition module.c:89
const struct Module ModuleKey
Module for the Key library.
Definition module.c:72
const struct Module ModuleIndex
Module for the Index library.
Definition module.c:87
const struct Module ModuleHooks
Module for the Hooks library.
Definition module.c:82