about summary refs log tree commit diff stats
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 00000000..6410c158
--- /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 */