X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=protos.h;h=560a1b28fcbc254a92046ff1054a8da9eb3cdbac;hp=6a476720d1d87636a1d18e41370f8e43d8fc9613;hb=50e7679dd16170d715accdb645258f87777167dd;hpb=529d980f183269a45ba925b4f9ee688b01ad3b22 diff --git a/protos.h b/protos.h index 6a47672..560a1b2 100644 --- a/protos.h +++ b/protos.h @@ -7,45 +7,24 @@ * please see the file GPL in the top level source directory. */ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif +extern const char *madmutt_version; -#include - -#if HAVE_STDINT_H -#include -#elif HAVE_INTTYPES_H -#include -#endif - -#include -#include +/* use the m_temp{fd,file} functions instead */ +void mutt_adv_mktemp (const char*, char*, ssize_t) __attribute__((deprecated)); +void mutt_mktemp (char *) __attribute__((deprecated)); +void mutt_exit (int); #define MoreArgs(p) (*p->dptr && *p->dptr != ';' && *p->dptr != '#') -#define mutt_make_string(A,B,C,D,E) _mutt_make_string(A,B,C,D,E,0) -void _mutt_make_string (char *, ssize_t, const char *, CONTEXT *, - HEADER *, format_flag); - -#define mutt_new_enter_state() p_new(ENTER_STATE, 1) - -typedef const char *format_t (char *, ssize_t, char, const char *, - const char *, const char *, const char *, - unsigned long, format_flag); - -void mutt_FormatString (char *, ssize_t, const char *, format_t *, - unsigned long, format_flag); -FILE *mutt_open_read (const char *, pid_t *); - void set_quadoption (int, int); int query_quadoption (int, const char *); +int query_quadoption2(int, const char *); int quadoption (int); int mutt_option_value (const char* val, char* dst, ssize_t dstlen); +int url_parse_mailto(ENVELOPE *e, char **body, const char *src); address_t *mutt_default_from (void); -address_t *mutt_remove_duplicates (address_t *); BODY *mutt_make_file_attach (const char *); BODY *mutt_make_message_attach (CONTEXT *, HEADER *, int); @@ -54,217 +33,118 @@ BODY *mutt_make_multipart (BODY *); CONTENT *mutt_get_content_info (const char *fname, BODY * b); -string_list_t *mutt_make_references (ENVELOPE * e); - int mutt_cmp_header (const HEADER*, const HEADER*); -int mutt_cmp_addr (const address_t * a, const address_t * b); -int mutt_cmp_list (const string_list_t * a, const string_list_t * b); -int mutt_cmp_env (const ENVELOPE * e1, const ENVELOPE * e2); -int mutt_cmp_body (const BODY * b1, const BODY * b2); -time_t mutt_decrease_mtime (const char *, struct stat *); -void mutt_set_mtime (const char*, const char*); -time_t mutt_parse_date (const char *, HEADER *); -int is_from (const char *, char *, ssize_t, time_t *); +ssize_t _mutt_expand_path(char *, ssize_t, const char *, int); +#define mutt_expand_path(s, n) _mutt_expand_path((s), (n), (s), 0) -const char *mutt_charset_hook (const char *); -const char *mutt_iconv_hook (const char *); -char *mutt_expand_path (char *, ssize_t); -char *_mutt_expand_path (char *, ssize_t, int); char *mutt_find_hook (int, const char *); -char *mutt_gen_msgid (void); char *mutt_get_body_charset (char *, ssize_t, BODY *); const char *mutt_get_name (address_t *); const char *mutt_crypt_hook (address_t *); char *mutt_make_date (char *, ssize_t); -const char *mutt_make_version (int full); - const char *mutt_fqdn (short); -void mutt_account_hook (const char *url); void mutt_add_to_reference_headers (ENVELOPE * env, ENVELOPE * curenv, string_list_t *** pp, string_list_t *** qq); -void mutt_adv_mktemp (const char*, char*, ssize_t); int mutt_bounce_message (FILE * fp, HEADER *, address_t *); -void mutt_check_rescore (CONTEXT *); -void mutt_clear_error (void); void mutt_default_save (char *, ssize_t, HEADER *); void mutt_display_address (ENVELOPE *); void mutt_edit_content_type (HEADER *, BODY *, FILE *); -void mutt_edit_file (const char *, const char *); -void mutt_edit_headers (const char *, const char *, HEADER *, char *, ssize_t); -void mutt_curses_error (const char *, ...); -void mutt_curses_message (const char *, ...); +void mutt_edit_headers(const char *, HEADER *, char *, ssize_t); void mutt_enter_command (void); -void mutt_expand_file_fmt (char *, ssize_t, const char *, const char *); -void mutt_expand_fmt (char *, ssize_t, const char *, const char *); -void mutt_expand_link (char *, const char *, const char *); void mutt_fix_reply_recipients (ENVELOPE * env); void mutt_folder_hook (char *); -void mutt_format_string (char *, ssize_t, int, int, int, char, const char *, - ssize_t, int); -void mutt_format_s (char *, ssize_t, const char *, const char *); -void mutt_format_s_tree (char *, ssize_t, const char *, const char *); void mutt_forward_intro (FILE * fp, HEADER * cur); void mutt_forward_trailer (FILE * fp); -void mutt_free_color (int fg, int bg); -void mutt_generate_header (char *, ssize_t, HEADER *, int); void mutt_help (int); void mutt_draw_tree (CONTEXT *); void mutt_make_attribution (CONTEXT * ctx, HEADER * cur, FILE * out); void mutt_make_forward_subject (ENVELOPE * env, CONTEXT * ctx, HEADER * cur); -void mutt_make_help (char *, ssize_t, char *, int, int); -char *mutt_compile_help(char *, ssize_t, int, struct mapping_t *); void mutt_make_misc_reply_headers (ENVELOPE * env, CONTEXT * ctx, HEADER * cur, ENVELOPE * curenv); -void mutt_make_post_indent (CONTEXT * ctx, HEADER * cur, FILE * out); -void mutt_merge_envelopes (ENVELOPE* base, ENVELOPE** extra); void mutt_message_to_7bit (BODY *, FILE *); -#define mutt_mktemp(a) _mutt_mktemp (a, __FILE__, __LINE__) -void _mutt_mktemp (char *, const char *, int); -void mutt_paddstr (int, const char *); -void mutt_parse_mime_message (CONTEXT * ctx, HEADER *); -#define mutt_perror(a) _mutt_perror (a, __FILE__, __LINE__) -void _mutt_perror (const char*, const char*,int); void mutt_prepare_envelope (ENVELOPE *, int); void mutt_unprepare_envelope (ENVELOPE *); void mutt_pretty_mailbox (char *); -void mutt_pretty_size (char *, ssize_t, long); void mutt_pipe_message (HEADER *); void mutt_print_message (HEADER *); -void mutt_query_exit (void); -void mutt_query_menu (char *, ssize_t); void mutt_safe_path (char *s, ssize_t l, address_t * a); void mutt_save_path (char *s, ssize_t l, address_t * a); -void mutt_score_message (CONTEXT *, HEADER *, int); void mutt_select_fcc (char *, ssize_t, HEADER *); -#define mutt_select_file(A,B,C) _mutt_select_file(A,B,C,NULL,NULL) -void _mutt_select_file (char *, ssize_t, int, char ***, int *); void mutt_message_hook (CONTEXT *, HEADER *, int); void _mutt_set_flag (CONTEXT *, HEADER *, int, int, int); #define mutt_set_flag(a,b,c,d) _mutt_set_flag(a,b,c,d,1) void mutt_set_followup_to (ENVELOPE *); void mutt_shell_escape (void); -void mutt_show_error (void); void mutt_stamp_attachment (BODY * a); -void mutt_tabs_to_spaces (char *); void mutt_tag_set_flag (int, int); void mutt_update_encoding (BODY * a); -void mutt_version (void); void mutt_write_references (string_list_t *, FILE *); void mutt_write_address_list (address_t * adr, FILE * fp, int linelen, int display); -int mutt_addwch (wchar_t); -int mutt_alloc_color (int fg, int bg); -int mutt_any_key_to_continue (const char *); int mutt_can_decode (BODY *); int mutt_change_flag (HEADER *, int); -int mutt_check_key (const char *); -int mutt_check_menu (const char *); int mutt_check_month (const char *); int mutt_check_overwrite (const char *, const char *, char *, ssize_t, int *, char **); -int mutt_check_traditional_pgp (HEADER *, int *); int mutt_command_complete (char *, ssize_t, int, int); int mutt_var_value_complete (char *, ssize_t, int); -int mutt_complete (char *, ssize_t); -int mutt_copy_body (FILE *, BODY **, BODY *); int mutt_display_message (HEADER * h); -int mutt_dump_variables (int full); int mutt_edit_message (CONTEXT *, HEADER *); int mutt_fetch_recips (ENVELOPE * out, ENVELOPE * in, int flags); int mutt_prepare_template (FILE *, CONTEXT *, HEADER *, HEADER *, short); int mutt_resend_message (FILE *, CONTEXT *, HEADER *); -#define mutt_enter_fname(A,B,C,D,E) _mutt_enter_fname(A,B,C,D,E,0,NULL,NULL) -int _mutt_enter_fname (const char *, char *, ssize_t, int *, int, int, - char ***, int *); -#define mutt_get_field(A,B,C,D) _mutt_get_field(A,B,C,D,0,NULL,NULL) -int _mutt_get_field (const char *, char *, ssize_t, int, int, char ***, int *); -int mutt_get_field_unbuffered (char *, char *, ssize_t, int); int mutt_get_hook_type (const char *); int mutt_get_postponed (CONTEXT *, HEADER *, HEADER **, char *, ssize_t); -int mutt_index_menu (void); int mutt_invoke_mta (address_t *, address_t *, address_t *, address_t *, const char *, int); -int mutt_is_mail_list (address_t *); int mutt_is_list_cc (int, address_t *, address_t *); int mutt_is_list_recipient (int, address_t *, address_t *); -int mutt_is_subscribed_list (address_t *); -int mutt_is_valid_mailbox (const char *); int mutt_lookup_mime_type (BODY *, const char *); -int mutt_match_spam_list (const char *, SPAM_LIST *, char *, int); -int mutt_multi_choice (char *prompt, char *letters); int mutt_num_postponed (int); int mutt_parse_bind (BUFFER *, BUFFER *, unsigned long, BUFFER *); int mutt_parse_exec (BUFFER *, BUFFER *, unsigned long, BUFFER *); -int mutt_parse_color (BUFFER *, BUFFER *, unsigned long, BUFFER *); -int mutt_parse_uncolor (BUFFER *, BUFFER *, unsigned long, BUFFER *); int mutt_parse_hook (BUFFER *, BUFFER *, unsigned long, BUFFER *); int mutt_parse_macro (BUFFER *, BUFFER *, unsigned long, BUFFER *); -int mutt_parse_mono (BUFFER *, BUFFER *, unsigned long, BUFFER *); -int mutt_parse_unmono (BUFFER *, BUFFER *, unsigned long, BUFFER *); int mutt_parse_push (BUFFER *, BUFFER *, unsigned long, BUFFER *); -int mutt_parse_rc_line ( /* const */ char *, BUFFER *, BUFFER *); -int mutt_parse_score (BUFFER *, BUFFER *, unsigned long, BUFFER *); -int mutt_parse_unscore (BUFFER *, BUFFER *, unsigned long, BUFFER *); +int mutt_parse_rc_line (const char *, BUFFER *, BUFFER *); int mutt_parse_unhook (BUFFER *, BUFFER *, unsigned long, BUFFER *); -int mutt_pattern_func (int, char *); -int mutt_query_complete (char *, ssize_t); -int mutt_query_variables (string_list_t * queries); int _mutt_save_message (HEADER *, CONTEXT *, int, int, int); int mutt_save_message (HEADER *, int, int, int, int *); int mutt_search_command (int, int); -int mutt_strwidth (const char *); int mutt_compose_menu (HEADER *, char *, ssize_t, HEADER *); int mutt_thread_set_flag (HEADER *, int, int, int); -int mutt_user_is_recipient (HEADER *); void mutt_update_num_postponed (void); -int mutt_wait_filter (pid_t); int mutt_which_case (const char *); int mutt_write_fcc (const char *path, HEADER * hdr, const char *msgid, int, char *); int mutt_write_mime_body (BODY *, FILE *); int mutt_write_mime_header (BODY *, FILE *); -int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, int, int); -int mutt_yesorno (const char *, int); -void mutt_set_header_color (CONTEXT *, HEADER *); +int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, int); void mutt_sleep (short); int mutt_save_confirm (const char *, struct stat *); -int mh_valid_message (const char *); - -pid_t mutt_create_filter (const char *, FILE **, FILE **, FILE **); -pid_t mutt_create_filter_fd (const char *, FILE **, FILE **, FILE **, int, - int, int); - -/* base64.c */ -void mutt_to_base64 (unsigned char *, const unsigned char *, ssize_t, ssize_t); -int mutt_from_base64 (char *, const char *); - -/* utf8.c */ -int mutt_wctoutf8 (char *s, unsigned int c); +void ci_bounce_message (HEADER *, int *); +int ci_send_message (int, HEADER *, char *, CONTEXT *, HEADER *); -#define IsPrint(c) (isprint((unsigned char)(c)) || \ - (option (OPTLOCALES) ? 0 : \ - ((unsigned char)(c) >= 0xa0))) -#define IsWPrint(wc) (iswprint(wc) || \ - (option (OPTLOCALES) ? 0 : (wc >= 0xa0))) +/* flags for mutt_extract_token() */ +#define M_TOKEN_EQUAL (1 << 0) /* treat '=' as a special */ +#define M_TOKEN_CONDENSE (1 << 1) /* ^(char) to control chars (macros) */ +#define M_TOKEN_SPACE (1 << 2) /* don't treat whitespace as a term */ +#define M_TOKEN_PATTERN (1 << 3) /* !)|~ are terms (for patterns) */ -#define new_pattern() p_new(pattern_t, 1) +/* equivalent to M_TOKEN_PATTERN */ +#define M_TOKEN_COMMENT (1 << 4) /* don't reap comments */ -int mutt_pattern_exec (struct pattern_t *pat, pattern_exec_flag flags, - CONTEXT * ctx, HEADER * h); -pattern_t *mutt_pattern_comp ( /* const */ char *s, int flags, BUFFER * err); -void mutt_check_simple (char *s, ssize_t len, const char *simple); -void mutt_pattern_free (pattern_t ** pat); +/* implies M_TOKEN_SPACE */ +#define M_TOKEN_QUOTE (1 << 5) /* don't interpret quotes */ +int mutt_extract_token(BUFFER *, BUFFER *, int); -/* unsorted */ -void ci_bounce_message (HEADER *, int *); -int ci_send_message (int, HEADER *, char *, CONTEXT *, HEADER *);