license statements.
[apps/madmutt.git] / protos.h
index 9dd0480..c650c62 100644 (file)
--- a/protos.h
+++ b/protos.h
@@ -28,10 +28,10 @@ void _mutt_make_string (char *, size_t, const char *, CONTEXT *,
 #define mutt_system(x) _mutt_system(x,0)
 int _mutt_system (const char *, int);
 
-#define mutt_new_parameter() mem_calloc (1, sizeof (PARAMETER))
-#define mutt_new_header() mem_calloc (1, sizeof (HEADER))
-#define mutt_new_envelope() mem_calloc (1, sizeof (ENVELOPE))
-#define mutt_new_enter_state() mem_calloc (1, sizeof (ENTER_STATE))
+#define mutt_new_parameter() p_new(PARAMETER, 1)
+#define mutt_new_header() p_new(HEADER, 1)
+#define mutt_new_envelope() p_new(ENVELOPE, 1)
+#define mutt_new_enter_state() p_new(ENTER_STATE, 1)
 
 typedef const char *format_t (char *, size_t, char, const char *,
                               const char *, const char *, const char *,
@@ -44,13 +44,14 @@ void mutt_generate_boundary (PARAMETER **);
 void mutt_delete_parameter (const char *attribute, PARAMETER ** p);
 void mutt_set_parameter (const char *, const char *, PARAMETER **);
 
-
 FILE *mutt_open_read (const char *, pid_t *);
 
 void set_quadoption (int, int);
 int query_quadoption (int, const char *);
 int quadoption (int);
 
+int mutt_option_value (const char* val, char* dst, size_t dstlen);
+
 ADDRESS *mutt_default_from (void);
 ADDRESS *mutt_remove_duplicates (ADDRESS *);
 ADDRESS *mutt_parse_adrlist (ADDRESS *, const char *);
@@ -60,13 +61,14 @@ BODY *mutt_make_message_attach (CONTEXT *, HEADER *, int);
 BODY *mutt_remove_multipart (BODY *);
 BODY *mutt_make_multipart (BODY *);
 BODY *mutt_new_body (void);
-BODY *mutt_parse_multipart (FILE *, const char *, long, int);
+BODY *mutt_parse_multipart (FILE *, const char *, off_t, int);
 BODY *mutt_parse_messageRFC822 (FILE *, BODY *);
 BODY *mutt_read_mime_header (FILE *, int);
 
 CONTENT *mutt_get_content_info (const char *fname, BODY * b);
 
 LIST *mutt_make_references (ENVELOPE * e);
+char* mutt_read_rfc822_line (FILE*, char*, size_t*);
 LIST *mutt_parse_references (char *, int);
 
 ENVELOPE *mutt_read_rfc822_header (FILE *, HEADER *, short, short);
@@ -80,6 +82,7 @@ int mutt_cmp_param (const PARAMETER * p1, const PARAMETER * p2);
 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_local_tz (time_t);
 time_t mutt_mktime (struct tm *, int);
 time_t mutt_parse_date (const char *, HEADER *);
@@ -98,19 +101,20 @@ char *mutt_get_parameter (const char *, PARAMETER *);
 char *mutt_crypt_hook (ADDRESS *);
 char *mutt_make_date (char *, size_t);
 
-const char *mutt_make_version (void);
+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,
                                     LIST *** pp, LIST *** qq);
-void mutt_adv_mktemp (char *, size_t);
+void mutt_adv_mktemp (const char*, char*, size_t);
 void mutt_allow_interrupt (int);
 void mutt_block_signals (void);
 void mutt_block_signals_system (void);
 int mutt_bounce_message (FILE * fp, HEADER *, ADDRESS *);
 void mutt_canonical_charset (char *, size_t, const char *);
+int mutt_count_body_parts (HEADER *hdr, int flags);
 void mutt_check_rescore (CONTEXT *);
 void mutt_clear_error (void);
 void mutt_default_save (char *, size_t, HEADER *);
@@ -164,7 +168,6 @@ void mutt_pretty_mailbox (char *);
 void mutt_pretty_size (char *, size_t, long);
 void mutt_pipe_message (HEADER *);
 void mutt_print_message (HEADER *);
-void mutt_print_patchlist (void);
 void mutt_query_exit (void);
 void mutt_query_menu (char *, size_t);
 void mutt_safe_path (char *s, size_t l, ADDRESS * a);
@@ -213,7 +216,7 @@ int mutt_complete (char *, size_t);
 int mutt_copy_body (FILE *, BODY **, BODY *);
 
 int mutt_display_message (HEADER * h);
-int mutt_dump_variables (void);
+int mutt_dump_variables (int full);
 int mutt_edit_message (CONTEXT *, HEADER *);
 int mutt_fetch_recips (ENVELOPE * out, ENVELOPE * in, int flags);
 int mutt_chscmp (const char *s, const char *chs);
@@ -227,7 +230,7 @@ int mutt_resend_message (FILE *, CONTEXT *, HEADER *);
 int _mutt_enter_fname (const char *, char *, size_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 (char *, char *, size_t, int, int, char ***, int *);
+int _mutt_get_field (const char *, char *, size_t, int, int, char ***, int *);
 int mutt_get_field_unbuffered (char *, char *, size_t, int);
 int mutt_get_hook_type (const char *);
 int mutt_get_postponed (CONTEXT *, HEADER *, HEADER **, char *, size_t);
@@ -310,7 +313,7 @@ int mutt_wctoutf8 (char *s, unsigned int c);
        (option (OPTLOCALES) ? 0 : (wc >= 0xa0)))
 #endif
 
-#define new_pattern() mem_calloc(1, sizeof (pattern_t))
+#define new_pattern() p_new(pattern_t, 1)
 
 int mutt_pattern_exec (struct pattern_t *pat, pattern_exec_flag flags,
                        CONTEXT * ctx, HEADER * h);
@@ -370,11 +373,11 @@ extern char *sys_errlist[];
 #define memmove(d,s,n) bcopy((s),(d),(n))
 #endif
 
+#ifdef _AIX
 /* AIX doesn't define these in any headers (sigh) */
 int strcasecmp (const char *, const char *);
 int strncasecmp (const char *, const char *, size_t);
 
-#ifdef _AIX
 int setegid (gid_t);
 #endif /* _AIX */
 
@@ -384,7 +387,7 @@ extern int system ();
 extern int puts ();
 extern int fputs ();
 extern int fputc ();
-extern int fseek ();
+extern int fseeko ();
 extern char *strchr ();
 extern int getopt ();
 extern int fputs ();