]> code.citadel.org Git - citadel.git/blobdiff - citadel/mime_parser.h
* Removed the built-in memory leak checker. It wasn't threadsafe and
[citadel.git] / citadel / mime_parser.h
index 7199d879079ab12cf1b00ec36e5010a6d21e1492..523eb32a990923fb5903d8bd2eaaed3539bb20f2 100644 (file)
@@ -1,38 +1,54 @@
+/*
+ * $Id$
+ *
+ */
+
+/*
+ * Here's a bunch of stupid magic to make the MIME parser portable between
+ * Citadel and WebCit.
+ */
+#ifndef SIZ
+#define SIZ    4096
+#endif
+
+
+/* 
+ * Declarations for functions in the parser
+ */
+
 void extract_key(char *target, char *source, char *key);
 
-void do_something_with_it(char *content,
-               int length,
-               char *content_type,
-               char *content_disposition,
+void mime_parser(char *content_start, char *content_end,
                void (*CallBack)
                        (char *cbname,
                        char *cbfilename,
-                       char *cbencoding,
+                       char *cbpartnum,
+                       char *cbdisp,
                        void *cbcontent,
                        char *cbtype,
-                       size_t cblength)
-               );
-
-void handle_part(char *content,
-               int part_length,
-               char *supplied_content_type,
-               void (*CallBack)
+                       size_t cblength,
+                       char *cbencoding,
+                       void *cbuserdata),
+               void (*PreMultiPartCallBack)
                        (char *cbname,
                        char *cbfilename,
-                       char *cbencoding,
+                       char *cbpartnum,
+                       char *cbdisp,
                        void *cbcontent,
                        char *cbtype,
-                       size_t cblength)
-               );
-
-void mime_parser(char *content,
-               int ContentLength,
-               char *ContentType,
-               void (*CallBack)
+                       size_t cblength,
+                       char *cbencoding,
+                       void *cbuserdata),
+               void (*PostMultiPartCallBack)
                        (char *cbname,
                        char *cbfilename,
-                       char *cbencoding,
+                       char *cbpartnum,
+                       char *cbdisp,
                        void *cbcontent,
                        char *cbtype,
-                       size_t cblength)
+                       size_t cblength,
+                       char *cbencoding,
+                       void *cbuserdata),
+               void *userdata,
+               int dont_decode
                );