]> diplodocus.org Git - nmh/blobdiff - h/mhparse.h
md5.h: Remove unused UINT2 typedef for unsigned short.
[nmh] / h / mhparse.h
index d184e530b3b14b6c9fc2cd3ab09dcfe19e99ea96..12137cba29ebab004eacc08c65e2d8c880b0475e 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * mhparse.h -- definitions for parsing/building of MIME content
+/* mhparse.h -- definitions for parsing/building of MIME content
  *           -- (mhparse.c/mhbuildsbr.c)
  */
 
@@ -90,6 +88,26 @@ struct cefile {
  * A struct multipart contains (among other things) a linked list
  * of struct part elements, and THOSE contain a pointer to the sub-part's
  * Content structure.
+ *
+ * An extra note for message/external-body parts.  The enclosing
+ * content structure is marked as a message/external-body; the c_ctparams
+ * contains a pointer to a struct exbody, which contains a pointer to
+ * (among other things) the "real" content (e.g., application/octet-stream).
+ * The "real" content structure has the c_ctexbody pointer back to the
+ * same struct exbody sees in the enclosing content structure (the struct
+ * exbody contains parent pointers if you need to traverse up the content
+ * structure).  Hopefully this makes it clearer:
+ *
+ * Enclosing content:
+ *   Type: message/external-body
+ *   c_ctparams: pointer to "struct exbody"
+ *   c_ctexbody: NULL
+ *
+ * "Real" content:
+ *   Type: application/octet-stream (or whatever)
+ *   c_ctparams: NULL
+ *   c_ctexbody: pointer to "struct exbody"
+ *
  */
 struct Content {
     /* source (read) file */