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);
29 typedef struct _message_summary {
30 time_t date; /* its creation date */
31 long msgnum; /* the message number on the citadel server */
34 StrBuf *from; /* the author */
35 StrBuf *to; /* the recipient */
36 StrBuf *subj; /* the title / subject */
37 StrBuf *reply_inreplyto;
38 StrBuf *reply_references;
46 const StrBuf *PartNum;
48 HashList *Attachments; /* list of attachments */
49 HashList *Submessages;
50 HashList *AttachLinks;
58 /* The mime part of the message */
59 wc_mime_attachment *MsgBody;
61 void DestroyMessageSummary(void *vMsg);
62 inline message_summary* GetMessagePtrAt(int n, HashList *Summ);
64 typedef void (*ExamineMsgHeaderFunc)(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset);
66 void evaluate_mime_part(message_summary *Msg, wc_mime_attachment *Mime);
77 typedef void (*readloop_servcmd)(char *buf, long bufsize);
79 typedef struct _readloopstruct {
85 void readloop(long oper);
86 int read_message(StrBuf *Target,
87 const char *tmpl, long tmpllen,
89 const StrBuf *section,
90 const StrBuf **OutMime);
91 int load_message(message_summary *Msg,
96 int load_msg_ptrs(const char *servcmd, int with_headers, long *lowest_found, long *highest_found);