NeoMutt  2024-04-25-97-g7d2481
Teaching an old dog new tricks
No Matches
Go to the documentation of this file.
41#ifndef MUTT_DEBUG_LIB_H
42#define MUTT_DEBUG_LIB_H
44#include <stdbool.h>
45#include <stddef.h>
46#include <time.h>
47#include "mutt/lib.h"
48#include "email/lib.h"
49#include "core/lib.h"
50#include "gui/lib.h"
51#include "expando/lib.h"
52#include "menu/lib.h"
54struct AddressList;
55struct AttachCtx;
56struct AttachPtr;
57struct MailboxView;
58struct PagerPrivateData;
60// Common
61void add_flag (struct Buffer *buf, bool is_set, const char *name);
63// Backtrace
64void show_backtrace(void);
66// Email
67char body_name (const struct Body *b);
68void dump_addr_list (char *buf, size_t buflen, const struct AddressList *al, const char *name);
69void dump_attach (const struct AttachPtr *att);
70void dump_body (const struct Body *body);
71void dump_body_next (struct Buffer *buf, const struct Body *b);
72void dump_body_one_line (const struct Body *b);
73void dump_email (const struct Email *e);
74void dump_envelope (const struct Envelope *env);
75void dump_list_head (const struct ListHead *list, const char *name);
76void dump_param_list (const struct ParameterList *pl);
78// Expando
79const char *name_expando_domain (enum ExpandoDomain did);
80const char *name_expando_node_type (enum ExpandoNodeType type);
81const char *name_expando_pad_type (enum ExpandoPadType type);
82const char *name_expando_uid (enum ExpandoDomain did, int uid);
83const char *name_expando_uid_alias (int uid);
84const char *name_expando_uid_all (int uid);
85const char *name_expando_uid_attach (int uid);
86const char *name_expando_uid_autocrypt (int uid);
87const char *name_expando_uid_body (int uid);
88const char *name_expando_uid_compose (int uid);
89const char *name_expando_uid_compress (int uid);
90const char *name_expando_uid_email (int uid);
91const char *name_expando_uid_envelope (int uid);
92const char *name_expando_uid_folder (int uid);
93const char *name_expando_uid_global (int uid);
94const char *name_expando_uid_history (int uid);
95const char *name_expando_uid_index (int uid);
96const char *name_expando_uid_mailbox (int uid);
97const char *name_expando_uid_menu (int uid);
98const char *name_expando_uid_nntp (int uid);
99const char *name_expando_uid_pattern (int uid);
100const char *name_expando_uid_pgp (int uid);
101const char *name_expando_uid_pgp_cmd (int uid);
102const char *name_expando_uid_pgp_key (int uid);
104const char *name_expando_uid_sidebar (int uid);
105const char *name_expando_uid_smime_cmd (int uid);
106const char *name_format_justify (enum FormatJustify just);
108// Graphviz
109void dump_graphviz (const char *title, struct MailboxView *mv);
110void dump_graphviz_attach_ctx (struct AttachCtx *actx);
111void dump_graphviz_body (struct Body *b);
112void dump_graphviz_email (struct Email *e, const char *title);
113void dump_graphviz_expando_node(struct ExpandoNode *node);
115// Keymap
116void dump_keybindings (void);
118// Logging
119extern bool DebugLogColor;
120extern bool DebugLogLevel;
121extern bool DebugLogTimestamp;
123extern int log_disp_debug (time_t stamp, const char *file, int line, const char *function, enum LogLevel level, const char *format, ...);
125// Names
126const char *name_content_disposition(enum ContentDisposition disp);
127const char *name_content_encoding (enum ContentEncoding enc);
128const char *name_content_type (enum ContentType type);
129const char *name_mailbox_type (enum MailboxType type);
130const char *name_menu_type (enum MenuType mt);
131const char *name_notify_config (int id);
132const char *name_notify_global (int id);
133const char *name_notify_mailbox (int id);
134const char *name_notify_mview (int id);
135const char *name_notify_type (enum NotifyType type);
136const char *name_window_size (const struct MuttWindow *win);
137const char *name_window_type (const struct MuttWindow *win);
139// Notify
140int debug_all_observer(struct NotifyCallback *nc);
142// Pager
143void dump_pager(struct PagerPrivateData *priv);
145// Window
146void debug_win_dump(void);
148#endif /* MUTT_DEBUG_LIB_H */
Convenience wrapper for the core headers.
Supported mailbox formats.
Definition: mailbox.h:41
const char * name_expando_pad_type(enum ExpandoPadType type)
Definition: names_expando.c:74
void dump_list_head(const struct ListHead *list, const char *name)
Definition: email.c:56
const char * name_expando_uid_history(int uid)
const char * name_expando_uid_pgp(int uid)
void dump_graphviz_body(struct Body *b)
Definition: graphviz.c:1400
void dump_email(const struct Email *e)
Definition: email.c:147
const char * name_content_encoding(enum ContentEncoding enc)
Definition: names.c:65
const char * name_window_size(const struct MuttWindow *win)
Definition: names.c:257
const char * name_expando_uid_compress(int uid)
const char * name_expando_uid_compose(int uid)
void debug_win_dump(void)
Definition: window.c:96
const char * name_notify_global(int id)
Definition: names.c:171
const char * name_mailbox_type(enum MailboxType type)
Definition: names.c:123
const char * name_expando_uid_pgp_key(int uid)
const char * name_menu_type(enum MenuType mt)
Definition: names.c:143
void dump_graphviz(const char *title, struct MailboxView *mv)
Definition: graphviz.c:896
const char * name_expando_uid_mailbox(int uid)
const char * name_notify_type(enum NotifyType type)
Definition: names.c:92
bool DebugLogLevel
Prefix log level, e.g. [E].
Definition: logging.c:40
const char * name_expando_uid_autocrypt(int uid)
void dump_body_next(struct Buffer *buf, const struct Body *b)
Definition: email.c:395
const char * name_expando_uid_folder(int uid)
const char * name_expando_node_type(enum ExpandoNodeType type)
Definition: names_expando.c:59
const char * name_expando_uid_sidebar(int uid)
void dump_pager(struct PagerPrivateData *priv)
Definition: pager.c:101
void dump_attach(const struct AttachPtr *att)
Definition: email.c:344
const char * name_window_type(const struct MuttWindow *win)
Definition: names.c:220
const char * name_expando_uid_pgp_cmd(int uid)
bool DebugLogColor
Output ANSI colours.
Definition: logging.c:39
void dump_graphviz_expando_node(struct ExpandoNode *node)
Definition: graphviz.c:2086
const char * name_notify_mview(int id)
Definition: names.c:209
void dump_param_list(const struct ParameterList *pl)
Definition: email.c:238
const char * name_notify_config(int id)
Definition: names.c:182
bool DebugLogTimestamp
Show the timestamp.
Definition: logging.c:41
const char * name_expando_uid_attach(int uid)
const char * name_content_type(enum ContentType type)
Definition: names.c:47
const char * name_expando_uid_alias(int uid)
const char * name_expando_uid_body(int uid)
void dump_envelope(const struct Envelope *env)
Definition: email.c:77
const char * name_expando_uid_pattern(int uid)
const char * name_content_disposition(enum ContentDisposition disp)
Definition: names.c:80
int debug_all_observer(struct NotifyCallback *nc)
Definition: notify.c:205
const char * name_expando_uid(enum ExpandoDomain did, int uid)
const char * name_expando_uid_envelope(int uid)
void add_flag(struct Buffer *buf, bool is_set, const char *name)
Definition: common.c:34
void dump_keybindings(void)
Dump all the keybindings to the log.
Definition: keymap.c:145
const char * name_expando_uid_pgp_key_gpgme(int uid)
void dump_body_one_line(const struct Body *b)
Definition: email.c:411
const char * name_notify_mailbox(int id)
Definition: names.c:193
const char * name_expando_uid_menu(int uid)
const char * name_expando_domain(enum ExpandoDomain did)
Definition: names_expando.c:85
void show_backtrace(void)
Log the program's call stack.
Definition: backtrace.c:39
const char * name_expando_uid_email(int uid)
void dump_graphviz_attach_ctx(struct AttachCtx *actx)
Definition: graphviz.c:1590
char body_name(const struct Body *b)
Definition: email.c:372
const char * name_expando_uid_all(int uid)
const char * name_expando_uid_index(int uid)
void dump_graphviz_email(struct Email *e, const char *title)
Definition: graphviz.c:1422
void dump_body(const struct Body *body)
Definition: email.c:261
const char * name_format_justify(enum FormatJustify just)
const char * name_expando_uid_global(int uid)
const char * name_expando_uid_nntp(int uid)
void dump_addr_list(char *buf, size_t buflen, const struct AddressList *al, const char *name)
Definition: email.c:40
const char * name_expando_uid_smime_cmd(int uid)
Expando Data Domains.
Definition: domain.h:34
Structs that make up an email.
Parse Expando string.
Alignment for format_string()
Definition: format.h:33
int log_disp_debug(time_t stamp, const char *file, int line, const char *function, enum LogLevel level, const char *format,...)
Display a log line on screen - Implements log_dispatcher_t -.
Definition: logging.c:74
Convenience wrapper for the gui headers.
Names for the Logging Levels.
Definition: logging2.h:38
GUI present the user with a selectable list.
Definition: mime.h:47
Definition: mime.h:30
Content-Disposition values.
Definition: mime.h:61
Convenience wrapper for the library headers.
Type of Expando Node.
Definition: node.h:36
Padding type.
Definition: node_padding.h:43
Notification Types.
Definition: notify_type.h:34
A set of attachments.
Definition: attach.h:65
An email to which things will be attached.
Definition: attach.h:37
The body of an email.
Definition: body.h:36
String manipulation buffer.
Definition: buffer.h:36
The envelope/body of an email.
Definition: email.h:39
The header of an Email.
Definition: envelope.h:57
Basic Expando Node.
Definition: node.h:69
View of a Mailbox.
Definition: mview.h:40
Data passed to a notification function.
Definition: observer.h:34
Private state data for the Pager.
Definition: private_data.h:41
Types of GUI selections.
Definition: type.h:36