28 #ifndef __MRMIMEPARSER_H__ 29 #define __MRMIMEPARSER_H__ 39 typedef struct mrmimepart_t
52 typedef struct mrmimeparser_t
58 struct mailmime* m_mimeroot;
61 struct mailimf_fields* m_header_root;
62 struct mailimf_fields* m_header_protected;
65 int m_is_send_by_messenger;
66 int m_decrypted_and_validated;
67 int m_decrypted_with_validation_errors;
68 int m_decrypting_failed;
69 const char* m_blobdir;
77 int m_is_system_message;
82 mrmimeparser_t* mrmimeparser_new (
const char* blobdir,
mrmailbox_t*);
83 void mrmimeparser_unref (mrmimeparser_t*);
84 void mrmimeparser_empty (mrmimeparser_t*);
86 void mrmimeparser_parse (mrmimeparser_t*,
const char* body_not_terminated,
size_t body_bytes);
90 struct mailimf_field* mrmimeparser_lookup_field (mrmimeparser_t*,
const char* field_name);
91 struct mailimf_optional_field* mrmimeparser_lookup_optional_field (mrmimeparser_t*,
const char* field_name);
92 struct mailimf_optional_field* mrmimeparser_lookup_optional_field2 (mrmimeparser_t*,
const char* field_name,
const char* or_field_name);
93 mrmimepart_t* mrmimeparser_get_last_nonmeta (mrmimeparser_t*);
94 #define mrmimeparser_has_nonmeta(a) (mrmimeparser_get_last_nonmeta((a))!=NULL) 95 int mrmimeparser_is_mailinglist_message (mrmimeparser_t*);
96 int mrmimeparser_sender_equals_recipient(mrmimeparser_t*);
101 #ifdef MR_USE_MIME_DEBUG 102 void mailmime_print (
struct mailmime*);
104 struct mailmime_parameter* mailmime_find_ct_parameter (
struct mailmime*,
const char* name);
105 int mailmime_transfer_decode (
struct mailmime*,
const char** ret_decoded_data,
size_t* ret_decoded_data_bytes,
char** ret_to_mmap_string_unref);
106 struct mailimf_fields* mailmime_find_mailimf_fields (
struct mailmime*);
107 char* mailimf_find_first_addr (
const struct mailimf_mailbox_list*);
108 struct mailimf_field* mailimf_find_field (
struct mailimf_fields*,
int wanted_fld_type);
109 struct mailimf_optional_field* mailimf_find_optional_field (
struct mailimf_fields*,
const char* wanted_fld_name);
110 mrhash_t* mailimf_get_recipients (
struct mailimf_fields*);
An object representing a single mailbox.