2 extern HashList *MsgHeaderHandler;
3 extern HashList *MimeRenderHandler;
5 typedef struct wc_mime_attachment wc_mime_attachment;
6 typedef void (*RenderMimeFunc)(wc_mime_attachment *Mime, StrBuf *RawData, StrBuf *FoundCharset);
7 typedef struct _RenderMimeFuncStruct {
9 } RenderMimeFuncStruct;
11 struct wc_mime_attachment {
20 size_t length; /* length of the mimeattachment */
22 long lvalue; /* if we put a long... */
23 long msgnum; /**< the message number on the citadel server derived from message_summary */
24 const RenderMimeFuncStruct *Renderer;
26 void DestroyMime(void *vMime);
30 * \brief message summary structure. ???
32 typedef struct _message_summary {
33 time_t date; /**< its creation date */
34 long msgnum; /**< the message number on the citadel server */
37 StrBuf *from; /**< the author */
38 StrBuf *to; /**< the recipient */
39 StrBuf *subj; /**< the title / subject */
40 StrBuf *reply_inreplyto;
41 StrBuf *reply_references;
49 const StrBuf *PartNum;
51 HashList *Attachments; /**< list of Attachments */
52 HashList *Submessages;
53 HashList *AttachLinks;
57 int is_new; /**< is it yet read? */
58 int hasattachments; /* does it have attachments? */
61 /** The mime part of the message */
62 wc_mime_attachment *MsgBody;
64 void DestroyMessageSummary(void *vMsg);
65 inline message_summary* GetMessagePtrAt(int n, HashList *Summ);
67 typedef void (*ExamineMsgHeaderFunc)(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset);
69 void evaluate_mime_part(message_summary *Msg, wc_mime_attachment *Mime);
79 typedef void (*readloop_servcmd)(char *buf, long bufsize);
81 typedef struct _readloopstruct {
87 void readloop(long oper);
88 int read_message(StrBuf *Target,
89 const char *tmpl, long tmpllen,
91 const StrBuf *section,
92 const StrBuf **OutMime);
93 int load_message(message_summary *Msg,
98 int load_msg_ptrs(const char *servcmd, int with_headers);