Giter Club home page Giter Club logo

test-library's Introduction

Test Code for NeoMutt Libraries

Notes

  • They work for me, YMMV
  • They may get deleted without warning
  • They expect NeoMutt to be built in ../neo

Samples

  • test_conn looks up a hostname
  • test_hcache creates an entry in the header cache and retrieves it
  • test_lib calls a function from each of the library source files

Library (477 functions)

There are now four libraries: libaddress, libcore, libemail and libmutt.

account (core)

void                    account_free                      (struct Account **ptr);
bool                    account_mailbox_add               (struct Account *a, struct Mailbox *m);
bool                    account_mailbox_remove            (struct Account *a, struct Mailbox *m);
struct Account *        account_new                       (const char *name, struct ConfigSubset *sub);

address (address)

const char AddressSpecials[];

void                    mutt_addr_cat                     (char *buf, size_t buflen, const char *value, const char *specials);
bool                    mutt_addr_cmp                     (const struct Address *a, const struct Address *b);
struct Address *        mutt_addr_copy                    (const struct Address *addr);
struct Address *        mutt_addr_create                  (const char *personal, const char *mailbox);
const char *            mutt_addr_for_display             (const struct Address *a);
void                    mutt_addr_free                    (struct Address **ptr);
struct Address *        mutt_addr_new                     (void);
bool                    mutt_addr_to_intl                 (struct Address *a);
bool                    mutt_addr_to_local                (struct Address *a);
bool                    mutt_addr_uses_unicode            (const char *str);
bool                    mutt_addr_valid_msgid             (const char *msgid);
size_t                  mutt_addr_write                   (struct Buffer *buf, struct Address *addr, bool display);
void                    mutt_addrlist_append              (struct AddressList *al, struct Address *a);
void                    mutt_addrlist_clear               (struct AddressList *al);
void                    mutt_addrlist_copy                (struct AddressList *dst, const struct AddressList *src, bool prune);
int                     mutt_addrlist_count_recips        (const struct AddressList *al);
void                    mutt_addrlist_dedupe              (struct AddressList *al);
bool                    mutt_addrlist_equal               (const struct AddressList *ala, const struct AddressList *alb);
int                     mutt_addrlist_parse               (struct AddressList *al, const char *s);
int                     mutt_addrlist_parse2              (struct AddressList *al, const char *s);
void                    mutt_addrlist_prepend             (struct AddressList *al, struct Address *a);
void                    mutt_addrlist_qualify             (struct AddressList *al, const char *host);
int                     mutt_addrlist_remove              (struct AddressList *al, const char *mailbox);
void                    mutt_addrlist_remove_xrefs        (const struct AddressList *a, struct AddressList *b);
bool                    mutt_addrlist_search              (const struct AddressList *haystack, const struct Address *needle);
int                     mutt_addrlist_to_intl             (struct AddressList *al, char **err);
int                     mutt_addrlist_to_local            (struct AddressList *al);
bool                    mutt_addrlist_uses_unicode        (const struct AddressList *al);
size_t                  mutt_addrlist_write               (const struct AddressList *al, struct Buffer *buf, bool display);
void                    mutt_addrlist_write_file          (const struct AddressList *al, FILE *fp, const char *header);
size_t                  mutt_addrlist_write_list          (const struct AddressList *al, struct ListHead *list);
size_t                  mutt_addrlist_write_wrap          (const struct AddressList *al, struct Buffer *buf, const char *header);

atoi (mutt)

const char *            mutt_str_atoi                     (const char *str, int *dst);
const char *            mutt_str_atol                     (const char *str, long *dst);
const char *            mutt_str_atos                     (const char *str, short *dst);
const char *            mutt_str_atoui                    (const char *str, unsigned int *dst);
const char *            mutt_str_atoul                    (const char *str, unsigned long *dst);
const char *            mutt_str_atoull                   (const char *str, unsigned long long *dst);
const char *            mutt_str_atous                    (const char *str, unsigned short *dst);

base64 (mutt)

const int Index64[];

int                     mutt_b64_buffer_decode            (struct Buffer *buf, const char *in);
size_t                  mutt_b64_buffer_encode            (struct Buffer *buf, const char *in, size_t len);
int                     mutt_b64_decode                   (const char *in, char *out, size_t olen);
size_t                  mutt_b64_encode                   (const char *in, size_t inlen, char *out, size_t outlen);

body (email)

bool                    mutt_body_cmp_strict              (const struct Body *b1, const struct Body *b2);
void                    mutt_body_free                    (struct Body **ptr);
char *                  mutt_body_get_charset             (struct Body *b, char *buf, size_t buflen);
struct Body *           mutt_body_new                     (void);

buffer (mutt)

int                     buf_add_printf                    (struct Buffer *buf, const char *fmt, ...);
size_t                  buf_addch                         (struct Buffer *buf, char c);
size_t                  buf_addstr                        (struct Buffer *buf, const char *s);
size_t                  buf_addstr_n                      (struct Buffer *buf, const char *s, size_t len);
void                    buf_alloc                         (struct Buffer *buf, size_t new_size);
char                    buf_at                            (const struct Buffer *buf, size_t offset);
int                     buf_coll                          (const struct Buffer *a, const struct Buffer *b);
size_t                  buf_concat_path                   (struct Buffer *buf, const char *dir, const char *fname);
size_t                  buf_concatn_path                  (struct Buffer *buf, const char *dir, size_t dirlen, const char *fname, size_t fnamelen);
size_t                  buf_copy                          (struct Buffer *dst, const struct Buffer *src);
void                    buf_dealloc                       (struct Buffer *buf);
void                    buf_dequote_comment               (struct Buffer *buf);
struct Buffer *         buf_dup                           (const struct Buffer *buf);
const char *            buf_find_char                     (const struct Buffer *buf, const char c);
const char *            buf_find_string                   (const struct Buffer *buf, const char *s);
void                    buf_fix_dptr                      (struct Buffer *buf);
void                    buf_free                          (struct Buffer **ptr);
struct Buffer *         buf_init                          (struct Buffer *buf);
size_t                  buf_insert                        (struct Buffer *buf, size_t offset, const char *s);
bool                    buf_is_empty                      (const struct Buffer *buf);
bool                    buf_istr_equal                    (const struct Buffer *a, const struct Buffer *b);
size_t                  buf_len                           (const struct Buffer *buf);
void                    buf_lower                         (struct Buffer *buf);
struct Buffer           buf_make                          (size_t size);
struct Buffer *         buf_new                           (const char *str);
int                     buf_printf                        (struct Buffer *buf, const char *fmt, ...);
void                    buf_reset                         (struct Buffer *buf);
void                    buf_seek                          (struct Buffer *buf, size_t offset);
size_t                  buf_startswith                    (const struct Buffer *buf, const char *prefix);
bool                    buf_str_equal                     (const struct Buffer *a, const struct Buffer *b);
size_t                  buf_strcpy                        (struct Buffer *buf, const char *s);
size_t                  buf_strcpy_n                      (struct Buffer *buf, const char *s, size_t len);
char *                  buf_strdup                        (const struct Buffer *buf);
size_t                  buf_substrcpy                     (struct Buffer *buf, const char *beg, const char *end);
void                    buf_upper                         (struct Buffer *buf);

charset (mutt)

bool CharsetIsUtf8;
wchar_t ReplacementChar;

void                    mutt_ch_cache_cleanup             (void);
void                    mutt_ch_canonical_charset         (char *buf, size_t buflen, const char *name);
const char *            mutt_ch_charset_lookup            (const char *chs);
int                     mutt_ch_check                     (const char *s, size_t slen, const char *from, const char *to);
bool                    mutt_ch_check_charset             (const char *cs, bool strict);
char *                  mutt_ch_choose                    (const char *fromcode, const struct Slist *charsets, const char *u, size_t ulen, char **d, size_t *dlen);
bool                    mutt_ch_chscmp                    (const char *cs1, const char *cs2);
int                     mutt_ch_convert_nonmime_string    (const struct Slist *const assumed_charset, const char *charset, char **ps);
int                     mutt_ch_convert_string            (char **ps, const char *from, const char *to, uint8_t flags);
int                     mutt_ch_fgetconv                  (struct FgetConv *fc);
void                    mutt_ch_fgetconv_close            (struct FgetConv **ptr);
struct FgetConv *       mutt_ch_fgetconv_open             (FILE *fp, const char *from, const char *to, uint8_t flags);
char *                  mutt_ch_fgetconvs                 (char *buf, size_t buflen, struct FgetConv *fc);
const char *            mutt_ch_get_default_charset       (const struct Slist *const assumed_charset);
char *                  mutt_ch_get_langinfo_charset      (void);
size_t                  mutt_ch_iconv                     (iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft, const char **inrepls, const char *outrepl, int *iconverrno);
const char *            mutt_ch_iconv_lookup              (const char *chs);
iconv_t                 mutt_ch_iconv_open                (const char *tocode, const char *fromcode, uint8_t flags);
bool                    mutt_ch_lookup_add                (enum LookupType type, const char *pat, const char *replace, struct Buffer *err);
void                    mutt_ch_lookup_remove             (void);
void                    mutt_ch_set_charset               (const char *charset);

command (core)

struct Command *        command_get                       (const char *s);
size_t                  commands_array                    (struct Command **first);
void                    commands_cleanup                  (void);
void                    commands_register                 (const struct Command *cmds, const size_t num_cmds);

config_cache (core)

const struct Slist *    cc_assumed_charset                (void);
const char *            cc_charset                        (void);
const char *            cc_maildir_field_delimiter        (void);
void                    config_cache_cleanup              (void);

config_type (address)

struct Address *        address_new                       (const char *addr);
const struct Address *  cs_subset_address                 (const struct ConfigSubset *sub, const char *name);

date (mutt)

time_t                  mutt_date_add_timeout             (time_t now, time_t timeout);
int                     mutt_date_check_month             (const char *s);
struct tm               mutt_date_gmtime                  (time_t t);
int                     mutt_date_local_tz                (time_t t);
struct tm               mutt_date_localtime               (time_t t);
size_t                  mutt_date_localtime_format        (char *buf, size_t buflen, const char *format, time_t t);
size_t                  mutt_date_localtime_format_locale (char *buf, size_t buflen, const char *format, time_t t, locale_t loc);
void                    mutt_date_make_date               (struct Buffer *buf, bool local);
int                     mutt_date_make_imap               (char *buf, size_t buflen, time_t timestamp);
time_t                  mutt_date_make_time               (struct tm *t, bool local);
int                     mutt_date_make_tls                (char *buf, size_t buflen, time_t timestamp);
void                    mutt_date_normalize_time          (struct tm *tm);
time_t                  mutt_date_now                     (void);
uint64_t                mutt_date_now_ms                  (void);
time_t                  mutt_date_parse_date              (const char *s, struct Tz *tz_out);
time_t                  mutt_date_parse_imap              (const char *s);
void                    mutt_date_sleep_ms                (size_t ms);

dispatcher (core)

const char *            dispatcher_get_retval_name        (int rv);

email (email)

bool                    email_cmp_strict                  (const struct Email *e1, const struct Email *e2);
void                    email_free                        (struct Email **ptr);
struct Email *          email_new                         (void);
size_t                  email_size                        (const struct Email *e);
struct ListNode *       header_add                        (struct ListHead *hdrlist, const char *header);
struct ListNode *       header_find                       (const struct ListHead *hdrlist, const char *header);
void                    header_free                       (struct ListHead *hdrlist, struct ListNode *target);
struct ListNode *       header_set                        (struct ListHead *hdrlist, const char *header);
struct ListNode *       header_update                     (struct ListNode *hdr, const char *header);

envelope (email)

void                    mutt_autocrypthdr_free            (struct AutocryptHeader **ptr);
struct AutocryptHeader *mutt_autocrypthdr_new             (void);
bool                    mutt_env_cmp_strict               (const struct Envelope *e1, const struct Envelope *e2);
void                    mutt_env_free                     (struct Envelope **ptr);
void                    mutt_env_merge                    (struct Envelope *base, struct Envelope **extra);
struct Envelope *       mutt_env_new                      (void);
bool                    mutt_env_notify_send              (struct Email *e, enum NotifyEnvelope type);
int                     mutt_env_to_intl                  (struct Envelope *env, const char **tag, char **err);
void                    mutt_env_to_local                 (struct Envelope *env);

envlist (mutt)

void                    envlist_free                      (char ***envp);
char **                 envlist_init                      (char **envp);
bool                    envlist_set                       (char ***envp, const char *name, const char *value, bool overwrite);
bool                    envlist_unset                     (char ***envp, const char *name);

exit (mutt)

void                    mutt_exit                         (int code);

file (mutt)

const char FilenameSafeChars[];

void                    buf_file_expand_fmt_quote         (struct Buffer *dest, const char *fmt, const char *src);
void                    buf_quote_filename                (struct Buffer *buf, const char *filename, bool add_outer);
int                     mutt_file_check_empty             (const char *path);
int                     mutt_file_chmod                   (const char *path, mode_t mode);
int                     mutt_file_chmod_add               (const char *path, mode_t mode);
int                     mutt_file_chmod_add_stat          (const char *path, mode_t mode, struct stat *st);
int                     mutt_file_chmod_rm                (const char *path, mode_t mode);
int                     mutt_file_chmod_rm_stat           (const char *path, mode_t mode, struct stat *st);
int                     mutt_file_copy_bytes              (FILE *fp_in, FILE *fp_out, size_t size);
int                     mutt_file_copy_stream             (FILE *fp_in, FILE *fp_out);
time_t                  mutt_file_decrease_mtime          (const char *fp, struct stat *st);
void                    mutt_file_expand_fmt              (struct Buffer *dest, const char *fmt, const char *src);
int                     mutt_file_fclose                  (FILE **fp);
FILE *                  mutt_file_fopen                   (const char *path, const char *mode);
int                     mutt_file_fsync_close             (FILE **fp);
long                    mutt_file_get_size                (const char *path);
long                    mutt_file_get_size_fp             (FILE *fp);
void                    mutt_file_get_stat_timespec       (struct timespec *dest, struct stat *st, enum MuttStatType type);
bool                    mutt_file_iter_line               (struct MuttFileIter *iter, FILE *fp, ReadLineFlags flags);
int                     mutt_file_lock                    (int fd, bool excl, bool timeout);
bool                    mutt_file_map_lines               (mutt_file_map_t func, void *user_data, FILE *fp, ReadLineFlags flags);
int                     mutt_file_mkdir                   (const char *path, mode_t mode);
int                     mutt_file_open                    (const char *path, uint32_t flags);
DIR *                   mutt_file_opendir                 (const char *path, enum MuttOpenDirMode mode);
size_t                  mutt_file_quote_filename          (const char *filename, char *buf, size_t buflen);
char *                  mutt_file_read_keyword            (const char *file, char *buf, size_t buflen);
char *                  mutt_file_read_line               (char *line, size_t *size, FILE *fp, int *line_num, ReadLineFlags flags);
int                     mutt_file_rename                  (const char *oldfile, const char *newfile);
void                    mutt_file_resolve_symlink         (struct Buffer *buf);
int                     mutt_file_rmtree                  (const char *path);
const char *            mutt_file_rotate                  (const char *path, int count);
int                     mutt_file_safe_rename             (const char *src, const char *target);
void                    mutt_file_sanitize_filename       (char *path, bool slash);
int                     mutt_file_sanitize_regex          (struct Buffer *dest, const char *src);
bool                    mutt_file_seek                    (FILE *fp, off_t offset, int whence);
void                    mutt_file_set_mtime               (const char *from, const char *to);
int                     mutt_file_stat_compare            (struct stat *st1, enum MuttStatType st1_type, struct stat *st2, enum MuttStatType st2_type);
int                     mutt_file_stat_timespec_compare   (struct stat *st, enum MuttStatType type, struct timespec *b);
int                     mutt_file_symlink                 (const char *oldpath, const char *newpath);
int                     mutt_file_timespec_compare        (struct timespec *a, struct timespec *b);
void                    mutt_file_touch_atime             (int fd);
void                    mutt_file_unlink                  (const char *s);
void                    mutt_file_unlink_empty            (const char *path);
int                     mutt_file_unlock                  (int fd);

filter (mutt)

pid_t                   filter_create                     (const char *cmd, FILE **fp_in, FILE **fp_out, FILE **fp_err, char **envlist);
pid_t                   filter_create_fd                  (const char *cmd, FILE **fp_in, FILE **fp_out, FILE **fp_err, int fdin, int fdout, int fderr, char **envlist);
int                     filter_wait                       (pid_t pid);

from (email)

bool                    is_from                           (const char *s, char *path, size_t pathlen, time_t *tp);

globals (email)

struct HashTable *AutoSubscribeCache;
struct ListHead Ignore;
struct RegexList MailLists;
struct ListHead MailToAllow;
struct RegexList NoSpamList;
struct ReplaceList SpamList;
struct RegexList SubscribedLists;
struct ListHead UnIgnore;
struct RegexList UnMailLists;
struct RegexList UnSubscribedLists;

group (address)

bool                    mutt_group_match                  (struct Group *g, const char *s);
void                    mutt_grouplist_add                (struct GroupList *gl, struct Group *group);
void                    mutt_grouplist_add_addrlist       (struct GroupList *gl, struct AddressList *al);
int                     mutt_grouplist_add_regex          (struct GroupList *gl, const char *s, uint16_t flags, struct Buffer *err);
void                    mutt_grouplist_cleanup            (void);
void                    mutt_grouplist_clear              (struct GroupList *gl);
void                    mutt_grouplist_destroy            (struct GroupList *gl);
void                    mutt_grouplist_init               (void);
int                     mutt_grouplist_remove_addrlist    (struct GroupList *gl, struct AddressList *al);
int                     mutt_grouplist_remove_regex       (struct GroupList *gl, const char *s);
struct Group *          mutt_pattern_group                (const char *pat);

hash (mutt)

void                    mutt_hash_delete                  (struct HashTable *table, const char *strkey, const void *data);
void *                  mutt_hash_find                    (const struct HashTable *table, const char *strkey);
struct HashElem *       mutt_hash_find_bucket             (const struct HashTable *table, const char *strkey);
struct HashElem *       mutt_hash_find_elem               (const struct HashTable *table, const char *strkey);
void                    mutt_hash_free                    (struct HashTable **ptr);
struct HashElem *       mutt_hash_insert                  (struct HashTable *table, const char *strkey, void *data);
void                    mutt_hash_int_delete              (struct HashTable *table, unsigned int intkey, const void *data);
void *                  mutt_hash_int_find                (const struct HashTable *table, unsigned int intkey);
struct HashElem *       mutt_hash_int_insert              (struct HashTable *table, unsigned int intkey, void *data);
struct HashTable *      mutt_hash_int_new                 (size_t num_elems, HashFlags flags);
struct HashTable *      mutt_hash_new                     (size_t num_elems, HashFlags flags);
void                    mutt_hash_set_destructor          (struct HashTable *table, hash_hdata_free_t fn, intptr_t fn_data);
struct HashElem *       mutt_hash_typed_insert            (struct HashTable *table, const char *strkey, int type, void *data);
struct HashElem *       mutt_hash_walk                    (const struct HashTable *table, struct HashWalkState *state);

idna (address)

char *                  mutt_idna_intl_to_local           (const char *user, const char *domain, uint8_t flags);
char *                  mutt_idna_local_to_intl           (const char *user, const char *domain);
const char *            mutt_idna_print_version           (void);
int                     mutt_idna_to_ascii_lz             (const char *input, char **output, uint8_t flags);

list (mutt)

void                    mutt_list_clear                   (struct ListHead *h);
bool                    mutt_list_compare                 (const struct ListHead *ah, const struct ListHead *bh);
struct ListNode *       mutt_list_find                    (const struct ListHead *h, const char *data);
void                    mutt_list_free                    (struct ListHead *h);
void                    mutt_list_free_type               (struct ListHead *h, list_free_t fn);
struct ListNode *       mutt_list_insert_after            (struct ListHead *h, struct ListNode *n, char *s);
struct ListNode *       mutt_list_insert_head             (struct ListHead *h, char *s);
struct ListNode *       mutt_list_insert_tail             (struct ListHead *h, char *s);
bool                    mutt_list_match                   (const char *s, struct ListHead *h);
size_t                  mutt_list_str_split               (struct ListHead *head, const char *src, char sep);

logging (mutt)

log_dispatcher_t MuttLogger;

int                     log_disp_file                     (time_t stamp, const char *file, int line, const char *function, enum LogLevel level, const char *format, ...);
int                     log_disp_null                     (time_t stamp, const char *file, int line, const char *function, enum LogLevel level, const char *format, ...);
int                     log_disp_queue                    (time_t stamp, const char *file, int line, const char *function, enum LogLevel level, const char *format, ...);
int                     log_disp_terminal                 (time_t stamp, const char *file, int line, const char *function, enum LogLevel level, const char *format, ...);
void                    log_file_close                    (bool verbose);
int                     log_file_open                     (bool verbose);
bool                    log_file_running                  (void);
int                     log_file_set_filename             (const char *file, bool verbose);
int                     log_file_set_level                (enum LogLevel level, bool verbose);
void                    log_file_set_version              (const char *version);
int                     log_queue_add                     (struct LogLine *ll);
void                    log_queue_empty                   (void);
void                    log_queue_flush                   (log_dispatcher_t disp);
int                     log_queue_save                    (FILE *fp);
void                    log_queue_set_max_size            (int size);

mailbox (core)

void                    mailbox_changed                   (struct Mailbox *m, enum NotifyMailbox action);
struct Mailbox *        mailbox_find                      (const char *path);
struct Mailbox *        mailbox_find_name                 (const char *name);
void                    mailbox_free                      (struct Mailbox **ptr);
void                    mailbox_gc_add                    (struct Email *e);
void                    mailbox_gc_run                    (void);
int                     mailbox_gen                       (void);
const char *            mailbox_get_type_name             (enum MailboxType type);
struct Mailbox *        mailbox_new                       (void);
bool                    mailbox_set_subset                (struct Mailbox *m, struct ConfigSubset *sub);
void                    mailbox_size_add                  (struct Mailbox *m, const struct Email *e);
void                    mailbox_size_sub                  (struct Mailbox *m, const struct Email *e);
void                    mailbox_update                    (struct Mailbox *m);

mapping (mutt)

const char *            mutt_map_get_name                 (int val, const struct Mapping *map);
int                     mutt_map_get_value                (const char *name, const struct Mapping *map);
int                     mutt_map_get_value_n              (const char *name, size_t len, const struct Mapping *map);

mbyte (mutt)

bool OptLocales;

void                    buf_mb_wcstombs                   (struct Buffer *dest, const wchar_t *wstr, size_t wlen);
int                     mutt_mb_charlen                   (const char *s, int *width);
int                     mutt_mb_filter_unprintable        (char **s);
bool                    mutt_mb_get_initials              (const char *name, char *buf, size_t buflen);
bool                    mutt_mb_is_display_corrupting_utf8(wchar_t wc);
bool                    mutt_mb_is_lower                  (const char *s);
bool                    mutt_mb_is_shell_char             (wchar_t ch);
size_t                  mutt_mb_mbstowcs                  (wchar_t **pwbuf, size_t *pwbuflen, size_t i, const char *buf);
int                     mutt_mb_wcswidth                  (const wchar_t *s, size_t n);
int                     mutt_mb_wcwidth                   (wchar_t wc);
int                     mutt_mb_width                     (const char *str, int col, bool indent);
size_t                  mutt_mb_width_ceiling             (const wchar_t *s, size_t n, int w1);

md5 (mutt)

void *                  mutt_md5                          (const char *str, void *buf);
void *                  mutt_md5_bytes                    (const void *buffer, size_t len, void *resbuf);
void *                  mutt_md5_finish_ctx               (struct Md5Ctx *md5ctx, void *resbuf);
void                    mutt_md5_init_ctx                 (struct Md5Ctx *md5ctx);
void                    mutt_md5_process                  (const char *str, struct Md5Ctx *md5ctx);
void                    mutt_md5_process_bytes            (const void *buf, size_t buflen, struct Md5Ctx *md5ctx);
void                    mutt_md5_toascii                  (const void *digest, char *resbuf);

memory (mutt)

void *                  mutt_mem_calloc                   (size_t nmemb, size_t size);
void                    mutt_mem_free                     (void *ptr);
void *                  mutt_mem_malloc                   (size_t size);
void                    mutt_mem_realloc                  (void *ptr, size_t size);

message (core)

void                    message_free                      (struct Message **ptr);
struct Message *        message_new                       (void);

mime (email)

const char *const BodyEncodings[];
const char *const BodyTypes[];
const int IndexHex[];
const char MimeSpecials[];

neomutt (core)

struct NeoMutt *NeoMutt;

bool                    neomutt_account_add               (struct NeoMutt *n, struct Account *a);
bool                    neomutt_account_remove            (struct NeoMutt *n, const struct Account *a);
void                    neomutt_free                      (struct NeoMutt **ptr);
void                    neomutt_mailboxlist_clear         (struct MailboxList *ml);
size_t                  neomutt_mailboxlist_get_all       (struct MailboxList *head, struct NeoMutt *n, enum MailboxType type);
struct NeoMutt *        neomutt_new                       (struct ConfigSet *cs);

notify (mutt)

void                    notify_free                       (struct Notify **ptr);
struct Notify *         notify_new                        (void);
bool                    notify_observer_add               (struct Notify *notify, enum NotifyType type, observer_t callback, void *global_data);
bool                    notify_observer_remove            (struct Notify *notify, const observer_t callback, const void *global_data);
void                    notify_observer_remove_all        (struct Notify *notify);
bool                    notify_send                       (struct Notify *notify, enum NotifyType event_type, int event_subtype, void *event_data);
void                    notify_set_parent                 (struct Notify *notify, struct Notify *parent);

parameter (email)

bool                    mutt_param_cmp_strict             (const struct ParameterList *pl1, const struct ParameterList *pl2);
void                    mutt_param_delete                 (struct ParameterList *pl, const char *attribute);
void                    mutt_param_free                   (struct ParameterList *pl);
void                    mutt_param_free_one               (struct Parameter **p);
char *                  mutt_param_get                    (const struct ParameterList *pl, const char *s);
struct Parameter *      mutt_param_new                    (void);
void                    mutt_param_set                    (struct ParameterList *pl, const char *attribute, const char *value);

parse (email)

void                    mutt_auto_subscribe               (const char *mailto);
int                     mutt_check_encoding               (const char *c);
enum ContentType        mutt_check_mime_type              (const char *s);
char *                  mutt_extract_message_id           (const char *s, size_t *len);
bool                    mutt_is_message_type              (int type, const char *subtype);
bool                    mutt_matches_ignore               (const char *s);
void                    mutt_parse_content_type           (const char *s, struct Body *ct);
bool                    mutt_parse_mailto                 (struct Envelope *env, char **body, const char *src);
struct Body *           mutt_parse_multipart              (FILE *fp, const char *boundary, off_t end_off, bool digest);
void                    mutt_parse_part                   (FILE *fp, struct Body *b);
struct Body *           mutt_read_mime_header             (FILE *fp, bool digest);
int                     mutt_rfc822_parse_line            (struct Envelope *env, struct Email *e, const char *name, size_t name_len, const char *body, bool user_hdrs, bool weed, bool do_2047);
struct Body *           mutt_rfc822_parse_message         (FILE *fp, struct Body *parent);
struct Envelope *       mutt_rfc822_read_header           (FILE *fp, struct Email *e, bool user_hdrs, bool weed);
size_t                  mutt_rfc822_read_line             (FILE *fp, struct Buffer *buf);

path (mutt)

bool                    mutt_path_abbr_folder             (struct Buffer *path, const char *folder);
const char *            mutt_path_basename                (const char *path);
bool                    mutt_path_canon                   (struct Buffer *path, const char *homedir, bool is_dir);
char *                  mutt_path_concat                  (char *dest, const char *dir, const char *file, size_t dlen);
char *                  mutt_path_dirname                 (const char *path);
char *                  mutt_path_escape                  (const char *src);
const char *            mutt_path_getcwd                  (struct Buffer *cwd);
bool                    mutt_path_parent                  (struct Buffer *path);
bool                    mutt_path_pretty                  (struct Buffer *path, const char *homedir, bool is_dir);
size_t                  mutt_path_realpath                (struct Buffer *path);
bool                    mutt_path_tidy                    (struct Buffer *path, bool is_dir);
bool                    mutt_path_tidy_dotdot             (char *buf);
bool                    mutt_path_tidy_slash              (char *buf, bool is_dir);
bool                    mutt_path_tilde                   (struct Buffer *path, const char *homedir);
bool                    mutt_path_to_absolute             (char *path, const char *reference);

pool (mutt)

void                    buf_pool_cleanup                  (void);
struct Buffer *         buf_pool_get                      (void);
void                    buf_pool_release                  (struct Buffer **ptr);

prex (mutt)

regmatch_t *            mutt_prex_capture                 (enum Prex which, const char *str);
void                    mutt_prex_cleanup                 (void);

qsort_r (mutt)

void                    mutt_qsort_r                      (void *base, size_t nmemb, size_t size, sort_t compar, void *sdata);

random (mutt)

uint32_t                mutt_rand32                       (void);
uint64_t                mutt_rand64                       (void);
void                    mutt_rand_base32                  (char *buf, size_t buflen);

regex (mutt)

bool                    mutt_regex_capture                (const struct Regex *regex, const char *str, size_t nmatch, regmatch_t matches());
struct Regex *          mutt_regex_compile                (const char *str, uint16_t flags);
void                    mutt_regex_free                   (struct Regex **ptr);
bool                    mutt_regex_match                  (const struct Regex *regex, const char *str);
struct Regex *          mutt_regex_new                    (const char *str, uint32_t flags, struct Buffer *err);
int                     mutt_regexlist_add                (struct RegexList *rl, const char *str, uint16_t flags, struct Buffer *err);
void                    mutt_regexlist_free               (struct RegexList *rl);
bool                    mutt_regexlist_match              (struct RegexList *rl, const char *str);
struct RegexNode *      mutt_regexlist_new                (void);
int                     mutt_regexlist_remove             (struct RegexList *rl, const char *str);
int                     mutt_replacelist_add              (struct ReplaceList *rl, const char *pat, const char *templ, struct Buffer *err);
char *                  mutt_replacelist_apply            (struct ReplaceList *rl, char *buf, size_t buflen, const char *str);
void                    mutt_replacelist_free             (struct ReplaceList *rl);
bool                    mutt_replacelist_match            (struct ReplaceList *rl, char *buf, size_t buflen, const char *str);
struct Replace *        mutt_replacelist_new              (void);
int                     mutt_replacelist_remove           (struct ReplaceList *rl, const char *pat);

rfc2047 (email)

void                    rfc2047_decode                    (char **pd);
void                    rfc2047_decode_addrlist           (struct AddressList *al);
void                    rfc2047_decode_envelope           (struct Envelope *env);
void                    rfc2047_encode                    (char **pd, const char *specials, int col, const struct Slist *charsets);
void                    rfc2047_encode_addrlist           (struct AddressList *al, const char *tag);
void                    rfc2047_encode_envelope           (struct Envelope *env);

rfc2231 (email)

void                    rfc2231_decode_parameters         (struct ParameterList *pl);
size_t                  rfc2231_encode_string             (struct ParameterList *head, const char *attribute, char *value);

signal (mutt)

void                    mutt_sig_allow_interrupt          (bool allow);
void                    mutt_sig_block                    (void);
void                    mutt_sig_block_system             (void);
void                    mutt_sig_empty_handler            (int sig);
void                    mutt_sig_exit_handler             (int sig);
void                    mutt_sig_init                     (sig_handler_t sig_fn, sig_handler_t exit_fn, sig_handler_t segv_fn);
void                    mutt_sig_unblock                  (void);
void                    mutt_sig_unblock_system           (bool restore);

slist (mutt)

struct Slist *          slist_add_list                    (struct Slist *list, const struct Slist *add);
struct Slist *          slist_add_string                  (struct Slist *list, const char *str);
bool                    slist_compare                     (const struct Slist *a, const struct Slist *b);
struct Slist *          slist_dup                         (const struct Slist *list);
struct Slist *          slist_empty                       (struct Slist **list);
void                    slist_free                        (struct Slist **ptr);
bool                    slist_is_empty                    (const struct Slist *list);
bool                    slist_is_member                   (const struct Slist *list, const char *str);
struct Slist *          slist_new                         (uint32_t flags);
struct Slist *          slist_parse                       (const char *str, uint32_t flags);
struct Slist *          slist_remove_string               (struct Slist *list, const char *str);
int                     slist_to_buffer                   (const struct Slist *list, struct Buffer *buf);

state (mutt)

void                    state_attach_puts                 (struct State *state, const char *t);
const char *            state_attachment_marker           (void);
void                    state_mark_attach                 (struct State *state);
void                    state_mark_protected_header       (struct State *state);
void                    state_prefix_put                  (struct State *state, const char *buf, size_t buflen);
void                    state_prefix_putc                 (struct State *state, char c);
int                     state_printf                      (struct State *state, const char *fmt, ...);
const char *            state_protected_header_marker     (void);
int                     state_putws                       (struct State *state, const wchar_t *ws);

string (mutt)

int                     mutt_istr_cmp                     (const char *a, const char *b);
bool                    mutt_istr_equal                   (const char *a, const char *b);
const char *            mutt_istr_find                    (const char *haystack, const char *needle);
int                     mutt_istr_remall                  (char *str, const char *target);
size_t                  mutt_istr_startswith              (const char *str, const char *prefix);
int                     mutt_istrn_cmp                    (const char *a, const char *b, size_t num);
bool                    mutt_istrn_equal                  (const char *a, const char *b, size_t num);
const char *            mutt_istrn_rfind                  (const char *haystack, size_t haystack_length, const char *needle);
void                    mutt_str_adjust                   (char **ptr);
void                    mutt_str_append_item              (char **str, const char *item, char sep);
int                     mutt_str_asprintf                 (char **strp, const char *fmt, ...);
char *                  mutt_str_cat                      (char *buf, size_t buflen, const char *s);
int                     mutt_str_cmp                      (const char *a, const char *b);
int                     mutt_str_coll                     (const char *a, const char *b);
size_t                  mutt_str_copy                     (char *dest, const char *src, size_t dsize);
void                    mutt_str_dequote_comment          (char *str);
char *                  mutt_str_dup                      (const char *str);
bool                    mutt_str_equal                    (const char *a, const char *b);
const char *            mutt_str_find_word                (const char *src);
const char *            mutt_str_getenv                   (const char *name);
bool                    mutt_str_inline_replace           (char *buf, size_t buflen, size_t xlen, const char *rstr);
bool                    mutt_str_is_ascii                 (const char *str, size_t len);
size_t                  mutt_str_len                      (const char *a);
char *                  mutt_str_lower                    (char *str);
size_t                  mutt_str_lws_len                  (const char *s, size_t n);
size_t                  mutt_str_lws_rlen                 (const char *s, size_t n);
const char *            mutt_str_next_word                (const char *s);
void                    mutt_str_remove_trailing_ws       (char *s);
char *                  mutt_str_replace                  (char **p, const char *s);
char *                  mutt_str_sep                      (char **stringp, const char *delim);
char *                  mutt_str_skip_email_wsp           (const char *s);
char *                  mutt_str_skip_whitespace          (const char *p);
size_t                  mutt_str_startswith               (const char *str, const char *prefix);
const char *            mutt_str_sysexit                  (int err_num);
char *                  mutt_str_upper                    (char *str);
char *                  mutt_strn_cat                     (char *d, size_t l, const char *s, size_t sl);
char *                  mutt_strn_copy                    (char *dest, const char *src, size_t len, size_t dsize);
char *                  mutt_strn_dup                     (const char *begin, size_t len);
bool                    mutt_strn_equal                   (const char *a, const char *b, size_t num);
const char *            mutt_strn_rfind                   (const char *haystack, size_t haystack_length, const char *needle);

tags (email)

struct HashTable *TagFormats;
struct HashTable *TagTransforms;

void                    driver_tags_add                   (struct TagList *list, char *new_tag);
void                    driver_tags_cleanup               (void);
void                    driver_tags_free                  (struct TagList *list);
char *                  driver_tags_get                   (struct TagList *list);
char *                  driver_tags_get_transformed       (struct TagList *list);
char *                  driver_tags_get_transformed_for   (struct TagList *head, const char *name);
char *                  driver_tags_get_with_hidden       (struct TagList *list);
void                    driver_tags_init                  (void);
bool                    driver_tags_replace               (struct TagList *head, const char *tags);

thread (email)

void                    clean_references                  (struct MuttThread *brk, struct MuttThread *cur);
struct Email *          find_virtual                      (struct MuttThread *cur, bool reverse);
void                    insert_message                    (struct MuttThread **add, struct MuttThread *parent, struct MuttThread *cur);
bool                    is_descendant                     (const struct MuttThread *a, const struct MuttThread *b);
void                    mutt_break_thread                 (struct Email *e);
void                    unlink_message                    (struct MuttThread **old, struct MuttThread *cur);

tmp (core)

void                    buf_mktemp_full                   (struct Buffer *buf, const char *prefix, const char *suffix, const char *src, int line);
FILE *                  mutt_file_mkstemp_full            (const char *file, int line, const char *func);

url (email)

enum UrlScheme          url_check_scheme                  (const char *str);
void                    url_free                          (struct Url **ptr);
struct Url *            url_parse                         (const char *src);
int                     url_pct_decode                    (char *s);
void                    url_pct_encode                    (char *buf, size_t buflen, const char *src);
int                     url_tobuffer                      (struct Url *url, struct Buffer *buf, uint8_t flags);
int                     url_tostring                      (struct Url *url, char *dest, size_t len, uint8_t flags);

test-library's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.