X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/cb7874fcb45549b99e4847affe4a2bd20e20e648..3b819525f14d5c7653404b11c68b49981f8ff7af:/h/mhparse.h?ds=inline diff --git a/h/mhparse.h b/h/mhparse.h index d184e530..67c3e8a9 100644 --- a/h/mhparse.h +++ b/h/mhparse.h @@ -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 */ @@ -141,7 +159,7 @@ struct Content { SizeCEFunc c_cesizefnx; /* size of decoded contents */ int c_umask; /* associated umask */ - int c_rfc934; /* rfc934 compatibility flag */ + int c_rfc934; /* RFC 934 compatibility flag */ char *c_showproc; /* default, if not in profile */ char *c_termproc; /* for charset madness... */ @@ -339,7 +357,6 @@ int get_ctinfo (char *, CT, int); int params_external (CT, int); int open7Bit (CT, char **); void close_encoding (CT); -void free_content (CT); char *ct_type_str (int); char *ct_subtype_str (int, int); int ct_str_type (const char *); @@ -397,7 +414,7 @@ int list_content(CT ct, int toplevel, int realsize, int verbose, int debug, int dispo); /* - * Display content-appropriate information on MIME parts, decending recursively + * Display content-appropriate information on MIME parts, descending recursively * into multipart content if appropriate. Uses list_content() for displaying * generic information. *