summaryrefslogtreecommitdiffstats
path: root/WWW/Library/Implementation/HTMIME.h
diff options
context:
space:
mode:
Diffstat (limited to 'WWW/Library/Implementation/HTMIME.h')
-rw-r--r--WWW/Library/Implementation/HTMIME.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/WWW/Library/Implementation/HTMIME.h b/WWW/Library/Implementation/HTMIME.h
new file mode 100644
index 0000000..6410c15
--- /dev/null
+++ b/WWW/Library/Implementation/HTMIME.h
@@ -0,0 +1,84 @@
+/* /Net/dxcern/userd/timbl/hypertext/WWW/Library/Implementation/HTMIME.html
+ MIME PARSER
+
+ The MIME parser stream presents a MIME document. It recursively invokes the
+ format manager to handle embedded formats.
+
+ As well as stripping off and parsing the headers, the MIME parser has to
+ parse any weirld MIME encodings it may meet within the body parts of
+ messages, and must deal with multipart messages.
+
+ This module is implemented to the level necessary for operation with WWW,
+ but is not currently complete for any arbitrary MIME message.
+
+ Check the source for latest additions to functionality.
+
+ The MIME parser is complicated by the fact that WWW allows real binary to be
+ sent, not ASCII encoded. Therefore the netascii decoding is included in
+ this module. One cannot layer it by converting first from Net to local
+ text, then decoding it. Of course, for local files, the net ascii decoding
+ is not needed. There are therefore two creation routines.
+
+ */
+#ifndef HTMIME_H
+#define HTMIME_H
+
+#include <HTStream.h>
+#include <HTAnchor.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * This function is for trimming off any paired
+ * open- and close-double quotes from header values.
+ * It does not parse the string for embedded quotes,
+ * and will not modify the string unless both the
+ * first and last characters are double-quotes. - FM
+ */ extern void HTMIME_TrimDoubleQuotes(char *value);
+
+/*
+
+ INPUT: LOCAL TEXT
+
+ */
+ extern HTStream *HTMIMEConvert(HTPresentation *pres,
+ HTParentAnchor *anchor,
+ HTStream *sink);
+
+/*
+
+ INPUT: NET ASCII
+
+ */
+ extern HTStream *HTNetMIME(HTPresentation *pres,
+ HTParentAnchor *anchor,
+ HTStream *sink);
+
+/*
+
+ INPUT: Redirection message, parse headers only for Location if present
+
+ */
+ extern HTStream *HTMIMERedirect(HTPresentation *pres,
+ HTParentAnchor *anchor,
+ HTStream *sink);
+
+/*
+
+ For handling Japanese headers.
+
+*/
+ extern void HTmmdecode(char **target,
+ char *source);
+
+ extern int HTrjis(char **target,
+ char *source);
+
+ extern int HTmaybekanji(int c1,
+ int c2);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* !HTMIME_H */