Skip to content

Instantly share code, notes, and snippets.

@flatcap
Created July 28, 2021 09:51
Show Gist options
  • Select an option

  • Save flatcap/79bea10d6206f4e04b25acf0dc87175d to your computer and use it in GitHub Desktop.

Select an option

Save flatcap/79bea10d6206f4e04b25acf0dc87175d to your computer and use it in GitHub Desktop.
Schematic of the MX layer
digraph callgraph {
graph [
rankdir="LR"
nodesep="0.2"
ranksep="0.5"
compound="true"
]
node [
shape="box"
fontsize="12"
fillcolor="#ffffff"
style="rounded,filled"
height="0.2"
penwidth="0.5"
color="black"
]
edge [
penwidth="1.0"
arrowsize="0.5"
]
node [ fillcolor="#ffd0d0" ]
neomutt_account_add
neomutt_account_remove
neomutt_free
neomutt_new
node [ fillcolor="#d0ffd0" ]
account_free
account_mailbox_add
account_mailbox_remove
account_new
node [ fillcolor="#d0d0ff" ]
mailbox_free
mailbox_new
node [ fillcolor="#ffffd0" ]
mx_ac_add
mx_ac_remove
mx_fastclose_mailbox
mx_mbox_ac_link
mx_mbox_close
mx_mbox_open
mx_open_mailbox_append
mx_path_resolve
mx_resolve
node [ fillcolor="#ffffff" ]
account_free -> account_mailbox_remove
account_mailbox_remove -> mailbox_free
change_folder_mailbox -> mx_mbox_close
change_folder_mailbox -> mx_mbox_open
change_folder_mailbox -> mx_path_resolve
change_folder_notmuch -> mx_path_resolve
change_folder_string -> mx_path_resolve
do_unmailboxes -> account_mailbox_remove
do_unmailboxes -> mailbox_free
ev_message -> mailbox_free
ev_message -> mx_mbox_close
ev_message -> mx_mbox_open
ev_message -> mx_path_resolve
get_default_mailbox -> mx_mbox_ac_link
get_default_mailbox -> mx_path_resolve
hardclose -> mx_mbox_close
imap_path_status -> mailbox_free
imap_path_status -> mx_ac_remove
imap_path_status -> mx_mbox_ac_link
imap_path_status -> mx_path_resolve
main -> account_mailbox_remove
main -> mailbox_free
main -> mx_mbox_open
main -> mx_resolve
main -> neomutt_free
main -> neomutt_new
mbox_mbox_check_stats -> mx_mbox_close
mbox_mbox_check_stats -> mx_mbox_open
mutt_autocrypt_scan_mailboxes -> mx_mbox_close
mutt_autocrypt_scan_mailboxes -> mx_mbox_open
mutt_autocrypt_scan_mailboxes -> mx_path_resolve
mutt_compose_menu -> mx_mbox_close
mutt_compose_menu -> mx_mbox_open
mutt_compose_menu -> mx_path_resolve
mutt_get_postponed -> hardclose
mutt_get_postponed -> mailbox_free
mutt_get_postponed -> mx_mbox_open
mutt_get_postponed -> mx_path_resolve
mutt_num_postponed -> mailbox_free
mutt_num_postponed -> mx_mbox_open
mutt_num_postponed -> mx_path_resolve
mutt_save_attachment -> mailbox_free
mutt_save_attachment -> mx_mbox_close
mutt_save_attachment -> mx_mbox_open
mutt_save_attachment -> mx_path_resolve
mutt_save_message -> mailbox_free
mutt_save_message -> mx_mbox_close
mutt_save_message -> mx_mbox_open
mutt_save_message -> mx_path_resolve
mutt_write_fcc -> mailbox_free
mutt_write_fcc -> mx_mbox_close
mutt_write_fcc -> mx_mbox_open
mutt_write_fcc -> mx_path_resolve
mx_ac_add -> account_mailbox_add
mx_ac_remove -> account_mailbox_remove
mx_ac_remove -> neomutt_account_remove
mx_fastclose_mailbox -> mx_ac_remove
mx_mbox_ac_link -> account_new
mx_mbox_ac_link -> mx_ac_add
mx_mbox_ac_link -> neomutt_account_add
mx_mbox_close -> mailbox_free
mx_mbox_close -> mx_fastclose_mailbox
mx_mbox_close -> mx_mbox_open
mx_mbox_close -> mx_path_resolve
mx_mbox_close -> trash_append
mx_mbox_open -> account_mailbox_remove
mx_mbox_open -> mx_fastclose_mailbox
mx_mbox_open -> mx_mbox_ac_link
mx_mbox_open -> mx_open_mailbox_append
mx_path_resolve -> mailbox_new
mx_resolve -> mx_path_resolve
neomutt_account_remove -> account_free
neomutt_free -> neomutt_account_remove
op_main_imap_logout_all -> mx_mbox_close
op_quit -> mx_mbox_close
parse_mailboxes -> account_new
parse_mailboxes -> mailbox_free
parse_mailboxes -> mailbox_new
parse_mailboxes -> mx_ac_add
parse_mailboxes -> neomutt_account_add
pop_fetch_mail -> mailbox_free
pop_fetch_mail -> mx_mbox_close
pop_fetch_mail -> mx_mbox_open
pop_fetch_mail -> mx_path_resolve
trash_append -> mailbox_free
trash_append -> mx_mbox_close
trash_append -> mx_mbox_open
trash_append -> mx_path_resolve
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Schematic of the MX layer.
All the code leading to:
- neomutt_new() / neomutt_free()
- account_new() / account_free()
- mailbox_new() / mailbox_free()
2021-07-28 / master / 0b679f999
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment