28 #ifndef __MRMIMEPARSER_H__ 29 #define __MRMIMEPARSER_H__ 38 typedef struct mrmimepart_t
53 typedef struct mrmimeparser_t
59 struct mailmime* m_mimeroot;
60 struct mailimf_fields* m_header;
62 int m_is_send_by_messenger;
63 int m_decrypted_and_validated;
64 int m_decrypted_with_validation_errors;
65 int m_decrypting_failed;
66 const char* m_blobdir;
74 int m_is_system_message;
79 mrmimeparser_t* mrmimeparser_new (
const char* blobdir,
mrmailbox_t*);
80 void mrmimeparser_unref (mrmimeparser_t*);
81 void mrmimeparser_empty (mrmimeparser_t*);
87 void mrmimeparser_parse (mrmimeparser_t*,
const char* body_not_terminated,
size_t body_bytes);
90 mrmimepart_t* mrmimeparser_get_last_nonmeta (mrmimeparser_t*);
91 #define mrmimeparser_has_nonmeta(a) (mrmimeparser_get_last_nonmeta((a))!=NULL) 94 int mrmimeparser_is_mailinglist_message (mrmimeparser_t*);
97 char* mr_find_first_addr (
const struct mailimf_mailbox_list*);
98 char* mr_normalize_addr (
const char*);
99 struct mailimf_fields* mr_find_mailimf_fields(
struct mailmime*);
100 struct mailimf_field* mr_find_mailimf_field (
struct mailimf_fields*,
int wanted_fld_type);
101 struct mailimf_optional_field* mr_find_mailimf_field2(
struct mailimf_fields*,
const char* wanted_fld_name);
102 struct mailmime_parameter* mr_find_ct_parameter (
struct mailmime*,
const char* name);
103 int mr_mime_transfer_decode(
struct mailmime*,
const char** ret_decoded_data,
size_t* ret_decoded_data_bytes,
char** ret_to_mmap_string_unref);
106 #ifdef MR_USE_MIME_DEBUG 107 void mr_print_mime(
struct mailmime * mime);
An object representing a single mailbox.
Definition: mrmailbox.h:178
An object for handling key=value parameter lists.
Definition: mrparam.h:36