/*
* Primary structure for handling Content (Entity)
+ *
+ * Some more explanation of this:
+ *
+ * This structure recursively describes a complete MIME message.
+ * At the top level, the c_first_hf list has a list of all message
+ * headers. If the content-type is multipart (c_type == CT_MULTIPART)
+ * then c_ctparams will contain a pointer to a struct multipart.
+ * A struct multipart contains (among other trhings) a linked list
+ * of struct part elements, and THOSE contain a pointer to the sub-part's
+ * Content structure.
*/
struct Content {
/* source (read) file */
int c_subtype; /* internal flag for content subtype */
/* Content-Transfer-Encoding info (decoded contents) */
- CE c_cefile; /* structure holding decoded content */
+ struct cefile c_cefile; /* structure holding decoded content */
int c_encoding; /* internal flag for encoding type */
/* Content-MD5 info */
char *eb_server;
char *eb_subject;
char *eb_body;
+ char *eb_url;
};
/*
*/
int pidcheck (int);
CT parse_mime (char *);
+
+/*
+ * Translate a composition file into a MIME data structure. Arguments are:
+ *
+ * infile - Name of input filename
+ * directives - A flag to control whether or not build directives are
+ * processed by default.
+ * encoding - The default encoding to use when doing RFC 2047 header
+ * encoding. Must be one of CE_UNKNOWN, CE_BASE64, or
+ * CE_QUOTED;
+ *
+ * Returns a CT structure describing the resulting MIME message.
+ */
+CT build_mime (char *infile, int directives, int encoding);
+
int add_header (CT, char *, char *);
int get_ctinfo (char *, CT, int);
int params_external (CT, int);
const struct str2init *get_ct_init (int);
const char *ce_str (int);
const struct str2init *get_ce_method (const char *);
+int parse_header_attrs (const char *, int, char **, CI, int *);
extern int checksw; /* Add Content-MD5 field */