Create a GraphViz dot file from the NeoMutt objects. More...
#include "config.h"
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <time.h>
#include "mutt/lib.h"
#include "address/lib.h"
#include "config/lib.h"
#include "email/lib.h"
#include "core/lib.h"
#include "conn/lib.h"
#include "lib.h"
#include "attach/lib.h"
#include "compmbox/lib.h"
#include "expando/lib.h"
#include "imap/lib.h"
#include "maildir/lib.h"
#include "mbox/lib.h"
#include "ncrypt/lib.h"
#include "nntp/lib.h"
#include "pattern/lib.h"
#include "pop/lib.h"
#include "imap/adata.h"
#include "imap/mdata.h"
#include "imap/private.h"
#include "maildir/edata.h"
#include "maildir/mdata.h"
#include "mview.h"
#include "nntp/adata.h"
#include "nntp/mdata.h"
#include "pop/adata.h"
#include "pop/private.h"
#include "notmuch/lib.h"
#include "notmuch/adata.h"
#include "notmuch/mdata.h"
#include "notmuch/private.h"
Go to the source code of this file.
Macros | |
#define | GV_HIDE_MVIEW_CONTENTS |
#define | ADD_BOOL(F) add_flag(buf, cont->F, #F) |
#define | ADD_BOOL(F) add_flag(buf, b->F, #F) |
#define | ADD_FLAG(F) add_flag(buf, (env->changed & F), #F) |
#define | ADDR_LIST(AL) dot_addr_list(fp, #AL, &env->AL, links) |
#define | ADD_BOOL(F) add_flag(buf, e->F, #F) |
#define | ADD_BOOL(F) add_flag(buf, (e->security & F), #F) |
#define | ADD_BOOL(F) add_flag(buf, pat->F, #F) |
Functions | |
void | dot_email (FILE *fp, struct Email *e, struct ListHead *links) |
void | dot_envelope (FILE *fp, struct Envelope *env, struct ListHead *links) |
void | dot_patternlist (FILE *fp, struct PatternList *pl, struct ListHead *links) |
void | dot_expando_node (FILE *fp, struct ExpandoNode *node, struct ListHead *links) |
void | dot_type_bool (FILE *fp, const char *name, bool val) |
void | dot_type_char (FILE *fp, const char *name, char ch) |
void | dot_type_date (char *buf, size_t buflen, time_t timestamp) |
void | dot_type_file (FILE *fp, const char *name, FILE *struct_fp) |
void | dot_type_number (FILE *fp, const char *name, int num) |
void | dot_type_string_escape (struct Buffer *buf) |
void | dot_type_string (FILE *fp, const char *name, const char *str, bool force) |
void | dot_type_umask (char *buf, size_t buflen, int umask) |
void | dot_ptr_name (char *buf, size_t buflen, const void *ptr) |
void | dot_ptr (FILE *fp, const char *name, void *ptr, const char *colour) |
void | dot_add_link (struct ListHead *links, void *src, void *dst, const char *label, const char *short_label, bool back, const char *colour) |
void | dot_graph_header (FILE *fp) |
void | dot_graph_footer (FILE *fp, struct ListHead *links) |
void | dot_object_header (FILE *fp, const void *ptr, const char *name, const char *colour) |
void | dot_object_footer (FILE *fp) |
void | dot_node (FILE *fp, void *ptr, const char *name, const char *colour) |
void | dot_node_link (FILE *fp, void *ptr, const char *name, void *link, const char *colour) |
void | dot_path_fs (char *buf, size_t buflen, const char *path) |
void | dot_path_imap (char *buf, size_t buflen, const char *path) |
void | dot_config (FILE *fp, const char *name, int type, struct ConfigSubset *sub, struct ListHead *links) |
void | dot_comp (FILE *fp, struct CompressInfo *ci, struct ListHead *links) |
void | dot_mailbox_type (FILE *fp, const char *name, enum MailboxType type) |
void | dot_mailbox_imap (FILE *fp, struct ImapMboxData *mdata, struct ListHead *links) |
void | dot_mailbox_maildir (FILE *fp, struct MaildirMboxData *mdata, struct ListHead *links) |
void | dot_mailbox_mbox (FILE *fp, struct MboxAccountData *mdata, struct ListHead *links) |
void | dot_mailbox_nntp (FILE *fp, struct NntpMboxData *mdata, struct ListHead *links) |
void | dot_mailbox_notmuch (FILE *fp, struct NmMboxData *mdata, struct ListHead *links) |
void | dot_mailbox_pop (FILE *fp, struct PopAccountData *adata, struct ListHead *links) |
void | dot_mailbox (FILE *fp, struct Mailbox *m, struct ListHead *links) |
void | dot_mailbox_node (FILE *fp, struct MailboxNode *mn, struct ListHead *links) |
void | dot_mailbox_list (FILE *fp, struct MailboxList *ml, struct ListHead *links, bool abbr) |
void | dot_connection (FILE *fp, struct Connection *c, struct ListHead *links) |
void | dot_account_imap (FILE *fp, struct ImapAccountData *adata, struct ListHead *links) |
void | dot_account_mbox (FILE *fp, struct MboxAccountData *adata, struct ListHead *links) |
void | dot_account_nntp (FILE *fp, struct NntpAccountData *adata, struct ListHead *links) |
void | dot_account_notmuch (FILE *fp, struct NmAccountData *adata, struct ListHead *links) |
void | dot_account_pop (FILE *fp, struct PopAccountData *adata, struct ListHead *links) |
void | dot_account (FILE *fp, struct Account *a, struct ListHead *links) |
void | dot_account_list (FILE *fp, struct AccountList *al, struct ListHead *links) |
void | dot_mview (FILE *fp, struct MailboxView *mv, struct ListHead *links) |
void | dump_graphviz (const char *title, struct MailboxView *mv) |
void | dot_parameter_list (FILE *fp, const char *name, const struct ParameterList *pl) |
void | dot_content (FILE *fp, struct Content *cont, struct ListHead *links) |
void | dot_attach_ptr (FILE *fp, struct AttachPtr *aptr, struct ListHead *links) |
void | dot_body (FILE *fp, struct Body *b, struct ListHead *links, bool link_next) |
void | dot_list_head (FILE *fp, const char *name, const struct ListHead *list) |
void | dot_addr_list (FILE *fp, const char *name, const struct AddressList *al, struct ListHead *links) |
void | dump_graphviz_body (struct Body *b) |
void | dump_graphviz_email (struct Email *e, const char *title) |
void | dot_attach_ptr2 (FILE *fp, struct AttachPtr *aptr, struct ListHead *links) |
void | dot_array_actx_idx (FILE *fp, struct AttachPtr **idx, short idxlen, short idxmax, struct ListHead *links) |
void | dot_array_actx_v2r (FILE *fp, short *v2r, short vcount, struct ListHead *links) |
void | dot_array_actx_fp_idx (FILE *fp, FILE **fp_idx, short fp_len, short fp_max, struct ListHead *links) |
void | dot_array_actx_body_idx (FILE *fp, struct Body **body_idx, short body_len, short body_max, struct ListHead *links) |
void | dot_attach_ctx (FILE *fp, struct AttachCtx *actx, struct ListHead *links) |
void | dump_graphviz_attach_ctx (struct AttachCtx *actx) |
const char * | pattern_type_name (int type) |
void | dot_pattern (FILE *fp, struct Pattern *pat, struct ListHead *links) |
void | dump_graphviz_patternlist (struct PatternList *pl) |
void | dot_format (FILE *fp, struct ExpandoFormat *fmt) |
void | dot_expando_node_empty (FILE *fp, struct ExpandoNode *node, struct ListHead *links) |
void | dot_expando_node_text (FILE *fp, struct ExpandoNode *node, struct ListHead *links) |
void | dot_expando_node_pad (FILE *fp, struct ExpandoNode *node, struct ListHead *links) |
void | dot_expando_node_condition (FILE *fp, struct ExpandoNode *node, struct ListHead *links) |
void | dot_expando_node_conditional_bool (FILE *fp, struct ExpandoNode *node, struct ListHead *links) |
void | dot_expando_node_conditional_date (FILE *fp, struct ExpandoNode *node, struct ListHead *links) |
void | dot_expando_node_container (FILE *fp, struct ExpandoNode *node, struct ListHead *links) |
void | dot_expando_node_expando (FILE *fp, struct ExpandoNode *node, struct ListHead *links) |
void | dot_expando_node_unknown (FILE *fp, struct ExpandoNode *node, struct ListHead *links) |
void | dump_graphviz_expando_node (struct ExpandoNode *node) |
Create a GraphViz dot file from the NeoMutt objects.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Definition in file graphviz.c.
#define GV_HIDE_MVIEW_CONTENTS |
Definition at line 70 of file graphviz.c.
#define ADD_BOOL | ( | F | ) | add_flag(buf, cont->F, #F) |
#define ADD_BOOL | ( | F | ) | add_flag(buf, b->F, #F) |
#define ADD_FLAG | ( | F | ) | add_flag(buf, (env->changed & F), #F) |
#define ADDR_LIST | ( | AL | ) | dot_addr_list(fp, #AL, &env->AL, links) |
#define ADD_BOOL | ( | F | ) | add_flag(buf, e->F, #F) |
#define ADD_BOOL | ( | F | ) | add_flag(buf, (e->security & F), #F) |
#define ADD_BOOL | ( | F | ) | add_flag(buf, pat->F, #F) |
void dot_email | ( | FILE * | fp, |
struct Email * | e, | ||
struct ListHead * | links | ||
) |
Definition at line 1280 of file graphviz.c.
void dot_envelope | ( | FILE * | fp, |
struct Envelope * | env, | ||
struct ListHead * | links | ||
) |
Definition at line 1219 of file graphviz.c.
void dot_patternlist | ( | FILE * | fp, |
struct PatternList * | pl, | ||
struct ListHead * | links | ||
) |
Definition at line 1724 of file graphviz.c.
void dot_expando_node | ( | FILE * | fp, |
struct ExpandoNode * | node, | ||
struct ListHead * | links | ||
) |
Definition at line 1998 of file graphviz.c.
void dot_type_bool | ( | FILE * | fp, |
const char * | name, | ||
bool | val | ||
) |
Definition at line 84 of file graphviz.c.
void dot_type_char | ( | FILE * | fp, |
const char * | name, | ||
char | ch | ||
) |
Definition at line 95 of file graphviz.c.
void dot_type_date | ( | char * | buf, |
size_t | buflen, | ||
time_t | timestamp | ||
) |
Definition at line 108 of file graphviz.c.
void dot_type_file | ( | FILE * | fp, |
const char * | name, | ||
FILE * | struct_fp | ||
) |
Definition at line 113 of file graphviz.c.
void dot_type_number | ( | FILE * | fp, |
const char * | name, | ||
int | num | ||
) |
Definition at line 130 of file graphviz.c.
void dot_type_string_escape | ( | struct Buffer * | buf | ) |
Definition at line 139 of file graphviz.c.
void dot_type_string | ( | FILE * | fp, |
const char * | name, | ||
const char * | str, | ||
bool | force | ||
) |
Definition at line 152 of file graphviz.c.
void dot_type_umask | ( | char * | buf, |
size_t | buflen, | ||
int | umask | ||
) |
Definition at line 177 of file graphviz.c.
void dot_ptr_name | ( | char * | buf, |
size_t | buflen, | ||
const void * | ptr | ||
) |
Definition at line 183 of file graphviz.c.
void dot_ptr | ( | FILE * | fp, |
const char * | name, | ||
void * | ptr, | ||
const char * | colour | ||
) |
Definition at line 188 of file graphviz.c.
void dot_add_link | ( | struct ListHead * | links, |
void * | src, | ||
void * | dst, | ||
const char * | label, | ||
const char * | short_label, | ||
bool | back, | ||
const char * | colour | ||
) |
Definition at line 205 of file graphviz.c.
void dot_graph_header | ( | FILE * | fp | ) |
Definition at line 233 of file graphviz.c.
void dot_graph_footer | ( | FILE * | fp, |
struct ListHead * | links | ||
) |
Definition at line 256 of file graphviz.c.
void dot_object_header | ( | FILE * | fp, |
const void * | ptr, | ||
const char * | name, | ||
const char * | colour | ||
) |
Definition at line 267 of file graphviz.c.
void dot_object_footer | ( | FILE * | fp | ) |
Definition at line 284 of file graphviz.c.
void dot_node | ( | FILE * | fp, |
void * | ptr, | ||
const char * | name, | ||
const char * | colour | ||
) |
Definition at line 291 of file graphviz.c.
void dot_node_link | ( | FILE * | fp, |
void * | ptr, | ||
const char * | name, | ||
void * | link, | ||
const char * | colour | ||
) |
Definition at line 306 of file graphviz.c.
void dot_path_fs | ( | char * | buf, |
size_t | buflen, | ||
const char * | path | ||
) |
Definition at line 326 of file graphviz.c.
void dot_path_imap | ( | char * | buf, |
size_t | buflen, | ||
const char * | path | ||
) |
Definition at line 343 of file graphviz.c.
void dot_config | ( | FILE * | fp, |
const char * | name, | ||
int | type, | ||
struct ConfigSubset * | sub, | ||
struct ListHead * | links | ||
) |
Definition at line 359 of file graphviz.c.
void dot_comp | ( | FILE * | fp, |
struct CompressInfo * | ci, | ||
struct ListHead * | links | ||
) |
Definition at line 417 of file graphviz.c.
void dot_mailbox_type | ( | FILE * | fp, |
const char * | name, | ||
enum MailboxType | type | ||
) |
Definition at line 426 of file graphviz.c.
void dot_mailbox_imap | ( | FILE * | fp, |
struct ImapMboxData * | mdata, | ||
struct ListHead * | links | ||
) |
Definition at line 471 of file graphviz.c.
void dot_mailbox_maildir | ( | FILE * | fp, |
struct MaildirMboxData * | mdata, | ||
struct ListHead * | links | ||
) |
Definition at line 480 of file graphviz.c.
void dot_mailbox_mbox | ( | FILE * | fp, |
struct MboxAccountData * | mdata, | ||
struct ListHead * | links | ||
) |
Definition at line 494 of file graphviz.c.
void dot_mailbox_nntp | ( | FILE * | fp, |
struct NntpMboxData * | mdata, | ||
struct ListHead * | links | ||
) |
Definition at line 507 of file graphviz.c.
void dot_mailbox_notmuch | ( | FILE * | fp, |
struct NmMboxData * | mdata, | ||
struct ListHead * | links | ||
) |
Definition at line 528 of file graphviz.c.
void dot_mailbox_pop | ( | FILE * | fp, |
struct PopAccountData * | adata, | ||
struct ListHead * | links | ||
) |
Definition at line 536 of file graphviz.c.
void dot_mailbox | ( | FILE * | fp, |
struct Mailbox * | m, | ||
struct ListHead * | links | ||
) |
Definition at line 544 of file graphviz.c.
void dot_mailbox_node | ( | FILE * | fp, |
struct MailboxNode * | mn, | ||
struct ListHead * | links | ||
) |
Definition at line 626 of file graphviz.c.
void dot_mailbox_list | ( | FILE * | fp, |
struct MailboxList * | ml, | ||
struct ListHead * | links, | ||
bool | abbr | ||
) |
Definition at line 667 of file graphviz.c.
void dot_connection | ( | FILE * | fp, |
struct Connection * | c, | ||
struct ListHead * | links | ||
) |
Definition at line 684 of file graphviz.c.
void dot_account_imap | ( | FILE * | fp, |
struct ImapAccountData * | adata, | ||
struct ListHead * | links | ||
) |
Definition at line 700 of file graphviz.c.
void dot_account_mbox | ( | FILE * | fp, |
struct MboxAccountData * | adata, | ||
struct ListHead * | links | ||
) |
Definition at line 722 of file graphviz.c.
void dot_account_nntp | ( | FILE * | fp, |
struct NntpAccountData * | adata, | ||
struct ListHead * | links | ||
) |
Definition at line 737 of file graphviz.c.
void dot_account_notmuch | ( | FILE * | fp, |
struct NmAccountData * | adata, | ||
struct ListHead * | links | ||
) |
Definition at line 780 of file graphviz.c.
void dot_account_pop | ( | FILE * | fp, |
struct PopAccountData * | adata, | ||
struct ListHead * | links | ||
) |
Definition at line 788 of file graphviz.c.
void dot_account | ( | FILE * | fp, |
struct Account * | a, | ||
struct ListHead * | links | ||
) |
Definition at line 809 of file graphviz.c.
void dot_account_list | ( | FILE * | fp, |
struct AccountList * | al, | ||
struct ListHead * | links | ||
) |
Definition at line 865 of file graphviz.c.
void dot_mview | ( | FILE * | fp, |
struct MailboxView * | mv, | ||
struct ListHead * | links | ||
) |
Definition at line 884 of file graphviz.c.
void dump_graphviz | ( | const char * | title, |
struct MailboxView * | mv | ||
) |
Definition at line 897 of file graphviz.c.
void dot_parameter_list | ( | FILE * | fp, |
const char * | name, | ||
const struct ParameterList * | pl | ||
) |
Definition at line 978 of file graphviz.c.
void dot_content | ( | FILE * | fp, |
struct Content * | cont, | ||
struct ListHead * | links | ||
) |
Definition at line 996 of file graphviz.c.
void dot_attach_ptr | ( | FILE * | fp, |
struct AttachPtr * | aptr, | ||
struct ListHead * | links | ||
) |
Definition at line 1023 of file graphviz.c.
void dot_body | ( | FILE * | fp, |
struct Body * | b, | ||
struct ListHead * | links, | ||
bool | link_next | ||
) |
Definition at line 1046 of file graphviz.c.
void dot_list_head | ( | FILE * | fp, |
const char * | name, | ||
const struct ListHead * | list | ||
) |
Definition at line 1184 of file graphviz.c.
void dot_addr_list | ( | FILE * | fp, |
const char * | name, | ||
const struct AddressList * | al, | ||
struct ListHead * | links | ||
) |
Definition at line 1205 of file graphviz.c.
void dump_graphviz_body | ( | struct Body * | b | ) |
Definition at line 1401 of file graphviz.c.
void dump_graphviz_email | ( | struct Email * | e, |
const char * | title | ||
) |
Definition at line 1423 of file graphviz.c.
void dot_attach_ptr2 | ( | FILE * | fp, |
struct AttachPtr * | aptr, | ||
struct ListHead * | links | ||
) |
Definition at line 1451 of file graphviz.c.
void dot_array_actx_idx | ( | FILE * | fp, |
struct AttachPtr ** | idx, | ||
short | idxlen, | ||
short | idxmax, | ||
struct ListHead * | links | ||
) |
Definition at line 1473 of file graphviz.c.
void dot_array_actx_v2r | ( | FILE * | fp, |
short * | v2r, | ||
short | vcount, | ||
struct ListHead * | links | ||
) |
Definition at line 1497 of file graphviz.c.
void dot_array_actx_fp_idx | ( | FILE * | fp, |
FILE ** | fp_idx, | ||
short | fp_len, | ||
short | fp_max, | ||
struct ListHead * | links | ||
) |
Definition at line 1513 of file graphviz.c.
void dot_array_actx_body_idx | ( | FILE * | fp, |
struct Body ** | body_idx, | ||
short | body_len, | ||
short | body_max, | ||
struct ListHead * | links | ||
) |
Definition at line 1531 of file graphviz.c.
void dot_attach_ctx | ( | FILE * | fp, |
struct AttachCtx * | actx, | ||
struct ListHead * | links | ||
) |
Definition at line 1557 of file graphviz.c.
void dump_graphviz_attach_ctx | ( | struct AttachCtx * | actx | ) |
Definition at line 1591 of file graphviz.c.
const char * pattern_type_name | ( | int | type | ) |
Definition at line 1613 of file graphviz.c.
void dot_pattern | ( | FILE * | fp, |
struct Pattern * | pat, | ||
struct ListHead * | links | ||
) |
Definition at line 1667 of file graphviz.c.
void dump_graphviz_patternlist | ( | struct PatternList * | pl | ) |
Definition at line 1750 of file graphviz.c.
void dot_format | ( | FILE * | fp, |
struct ExpandoFormat * | fmt | ||
) |
Definition at line 1772 of file graphviz.c.
void dot_expando_node_empty | ( | FILE * | fp, |
struct ExpandoNode * | node, | ||
struct ListHead * | links | ||
) |
Definition at line 1797 of file graphviz.c.
void dot_expando_node_text | ( | FILE * | fp, |
struct ExpandoNode * | node, | ||
struct ListHead * | links | ||
) |
Definition at line 1804 of file graphviz.c.
void dot_expando_node_pad | ( | FILE * | fp, |
struct ExpandoNode * | node, | ||
struct ListHead * | links | ||
) |
Definition at line 1816 of file graphviz.c.
void dot_expando_node_condition | ( | FILE * | fp, |
struct ExpandoNode * | node, | ||
struct ListHead * | links | ||
) |
Definition at line 1858 of file graphviz.c.
void dot_expando_node_conditional_bool | ( | FILE * | fp, |
struct ExpandoNode * | node, | ||
struct ListHead * | links | ||
) |
Definition at line 1888 of file graphviz.c.
void dot_expando_node_conditional_date | ( | FILE * | fp, |
struct ExpandoNode * | node, | ||
struct ListHead * | links | ||
) |
Definition at line 1903 of file graphviz.c.
void dot_expando_node_container | ( | FILE * | fp, |
struct ExpandoNode * | node, | ||
struct ListHead * | links | ||
) |
Definition at line 1925 of file graphviz.c.
void dot_expando_node_expando | ( | FILE * | fp, |
struct ExpandoNode * | node, | ||
struct ListHead * | links | ||
) |
Definition at line 1966 of file graphviz.c.
void dot_expando_node_unknown | ( | FILE * | fp, |
struct ExpandoNode * | node, | ||
struct ListHead * | links | ||
) |
Definition at line 1983 of file graphviz.c.
void dump_graphviz_expando_node | ( | struct ExpandoNode * | node | ) |
Definition at line 2032 of file graphviz.c.