about summary refs log tree commit diff stats
path: root/WWW/Library/Implementation/HTInit.c
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>1996-09-02 19:39:24 -0400
committerThomas E. Dickey <dickey@invisible-island.net>1996-09-02 19:39:24 -0400
commite087f6d44e87f489fcb3056e86319ebba4218156 (patch)
treed045b58011bfbbf5186d34c4fed9e0dedb363275 /WWW/Library/Implementation/HTInit.c
downloadlynx-snapshots-e087f6d44e87f489fcb3056e86319ebba4218156.tar.gz
snapshot of project "lynx", label v2_6
Diffstat (limited to 'WWW/Library/Implementation/HTInit.c')
-rw-r--r--WWW/Library/Implementation/HTInit.c176
1 files changed, 176 insertions, 0 deletions
diff --git a/WWW/Library/Implementation/HTInit.c b/WWW/Library/Implementation/HTInit.c
new file mode 100644
index 00000000..764da7b5
--- /dev/null
+++ b/WWW/Library/Implementation/HTInit.c
@@ -0,0 +1,176 @@
+/*		Configuration-specific Initialialization	HTInit.c
+**		----------------------------------------
+*/
+
+/*	Define a basic set of suffixes and presentations
+**	------------------------------------------------
+**
+*/
+
+#include "HTUtils.h"
+
+/* Implements:
+*/
+#include "HTInit.h"
+
+#include "HTML.h"
+#include "HTPlain.h"
+#include "HTMLGen.h"
+#include "HTFile.h"
+#include "HTFormat.h"
+#include "HTMIME.h"
+#include "HTWSRC.h"
+#include "HTFWriter.h"
+
+#include "LYLeaks.h"
+
+PUBLIC void HTFormatInit NOARGS
+{
+#ifdef NeXT
+    HTSetPresentation("application/postscript", "open %s", 1.0, 2.0, 0.0, 0);
+    /* The following needs the GIF previewer -- you might not have it. */
+    HTSetPresentation("image/gif", 		"open %s", 0.3, 2.0, 0.0, 0);
+    HTSetPresentation("image/x-tiff", 		"open %s", 1.0, 2.0, 0.0, 0);
+    HTSetPresentation("audio/basic", 		"open %s", 1.0, 2.0, 0.0, 0);
+    HTSetPresentation("*", 			"open %s", 1.0, 0.0, 0.0, 0);
+#else
+    if (getenv("DISPLAY")) {	/* Must have X11 */
+	HTSetPresentation("application/postscript", "ghostview %s",
+							 1.0, 3.0, 0.0, 0);
+	HTSetPresentation("image/gif", 		"xv %s", 1.0, 3.0, 0.0, 0);
+	HTSetPresentation("image/x-tiff", 	"xv %s", 1.0, 3.0, 0.0, 0);
+	HTSetPresentation("image/jpeg", 	"xv %s", 1.0, 3.0, 0.0, 0);
+    }
+#endif
+    HTSetConversion("www/mime",			"*",		HTMIMEConvert,
+    							1.0, 0.0, 0.0, 0);
+    HTSetConversion("application/x-wais-source","*",		HTWSRCConvert,
+    							1.0, 0.0, 0.0, 0);
+    HTSetConversion("text/html",		"text/x-c",	HTMLToC,
+    							0.5, 0.0, 0.0, 0);
+    HTSetConversion("text/html",		"text/plain",	HTMLToPlain,
+    							0.5, 0.0, 0.0, 0);
+    HTSetConversion("text/html",		"www/present",	HTMLPresent,
+    							1.0, 0.0, 0.0, 0);
+    HTSetConversion("text/plain",		"text/html",	HTPlainToHTML,
+    							1.0, 0.0, 0.0, 0);
+    HTSetConversion("text/plain",		"www/present",	HTPlainPresent,
+    							1.0, 0.0, 0.0, 0);
+    HTSetConversion("application/octet-stream",	"www/present",	HTSaveLocally,
+    							0.1, 0.0, 0.0, 0);
+    HTSetConversion("www/unknown",		"www/present",	HTSaveLocally,
+    							0.3, 0.0, 0.0, 0);
+    HTSetConversion("www/source",		"www/present",	HTSaveLocally,
+    							0.3, 0.0, 0.0, 0);
+}
+
+
+
+/*	Define a basic set of suffixes
+**	------------------------------
+**
+**	The LAST suffix for a type is that used for temporary files
+**	of that type.
+**	The quality is an apriori bias as to whether the file should be
+**	used.  Not that different suffixes can be used to represent files
+**	which are of the same format but are originals or regenerated,
+**	with different values.
+*/
+
+#ifndef NO_INIT
+PUBLIC void HTFileInit NOARGS
+{
+    /*		Suffix     Contenet-Type	Content-Encoding  Quality			*/
+
+    HTSetSuffix(".mime",   "www/mime",			"8bit",   1.0);	/* Internal -- MIME is	*/
+                                                                        /* not recursive	*/
+    HTSetSuffix(".bin",    "application/octet-stream",	"binary", 1.0); /* Uninterpreted binary	*/
+    HTSetSuffix(".oda",    "application/oda",		"binary", 1.0);
+    HTSetSuffix(".pdf",    "application/pdf",		"binary", 1.0);
+    HTSetSuffix(".ai",     "application/postscript",	"8bit",   0.5);	/* Adobe Illustrator	*/
+    HTSetSuffix(".PS",     "application/postscript",	"8bit",	  0.8);	/* PostScript		*/
+    HTSetSuffix(".eps",    "application/postscript",	"8bit",   0.8);
+    HTSetSuffix(".ps",     "application/postscript",	"8bit",   0.8);
+    HTSetSuffix(".rtf",    "application/x-rtf",		"7bit",   1.0);	/* RTF			*/
+    HTSetSuffix(".Z",      "application/x-compressed",	"binary", 1.0);	/* Compressed data	*/
+    HTSetSuffix(".csh",    "application/x-csh",		"7bit",   0.5);	/* C-shell script	*/
+    HTSetSuffix(".dvi",    "application/x-dvi",		"binary", 1.0);	/* TeX DVI		*/
+    HTSetSuffix(".hdf",    "application/x-hdf",		"binary", 1.0);	/* NCSA HDF data file	*/
+    HTSetSuffix(".latex",  "application/x-latex",	"8bit",   1.0);	/* LaTeX source		*/
+    HTSetSuffix(".nc",     "application/x-netcdf",	"binary", 1.0);	/* Unidata netCDF data	*/
+    HTSetSuffix(".cdf",    "application/x-netcdf",	"binary", 1.0);
+    HTSetSuffix(".sh",     "application/x-sh",		"7bit",   0.5);	/* Shell-script		*/
+    HTSetSuffix(".tcl",    "application/x-tcl",		"7bit",   0.5);	/* TCL-script		*/
+    HTSetSuffix(".tex",    "application/x-tex",		"8bit",   1.0);	/* TeX source		*/
+    HTSetSuffix(".texi",   "application/x-texinfo",	"7bit",   1.0);	/* Texinfo		*/
+    HTSetSuffix(".texinfo","application/x-texinfo",	"7bit",   1.0);
+    HTSetSuffix(".t",      "application/x-troff",	"7bit",   0.5);	/* Troff		*/
+    HTSetSuffix(".roff",   "application/x-troff",	"7bit",   0.5);
+    HTSetSuffix(".tr",     "application/x-troff",	"7bit",   0.5);
+    HTSetSuffix(".man",    "application/x-troff-man",	"7bit",   0.5);	/* Troff with man macros*/
+    HTSetSuffix(".me",     "application/x-troff-me",	"7bit",   0.5);	/* Troff with me macros	*/
+    HTSetSuffix(".ms",     "application/x-troff-ms",	"7bit",   0.5);	/* Troff with ms macros	*/
+    HTSetSuffix(".src",    "application/x-wais-source",	"7bit",   1.0);	/* WAIS source		*/
+    HTSetSuffix(".zip",    "application/zip",		"binary", 1.0);	/* PKZIP		*/
+    HTSetSuffix(".bcpio",  "application/x-bcpio",	"binary", 1.0);	/* Old binary CPIO	*/
+    HTSetSuffix(".cpio",   "application/x-cpio",	"binary", 1.0);	/* POSIX CPIO		*/
+    HTSetSuffix(".gtar",   "application/x-gtar",	"binary", 1.0);	/* Gnu tar		*/
+    HTSetSuffix(".shar",   "application/x-shar",	"8bit",   1.0);	/* Shell archive	*/
+    HTSetSuffix(".sv4cpio","application/x-sv4cpio",	"binary", 1.0);	/* SVR4 CPIO		*/
+    HTSetSuffix(".sv4crc", "application/x-sv4crc",	"binary", 1.0);	/* SVR4 CPIO with CRC	*/
+    HTSetSuffix(".tar",    "application/x-tar",		"binary", 1.0);	/* 4.3BSD tar		*/
+    HTSetSuffix(".ustar",  "application/x-ustar",	"binary", 1.0);	/* POSIX tar		*/
+    HTSetSuffix(".snd",    "audio/basic",		"binary", 1.0);	/* Audio		*/
+    HTSetSuffix(".au",     "audio/basic",		"binary", 1.0);
+    HTSetSuffix(".aiff",   "audio/x-aiff",		"binary", 1.0);
+    HTSetSuffix(".aifc",   "audio/x-aiff",		"binary", 1.0);
+    HTSetSuffix(".aif",    "audio/x-aiff",		"binary", 1.0);
+    HTSetSuffix(".wav",    "audio/x-wav",		"binary", 1.0);	/* Windows+ WAVE format	*/
+    HTSetSuffix(".gif",    "image/gif",			"binary", 1.0);	/* GIF			*/
+    HTSetSuffix(".ief",    "image/ief",			"binary", 1.0);	/* Image Exchange fmt	*/
+    HTSetSuffix(".jpg",    "image/jpeg",		"binary", 1.0);	/* JPEG			*/
+    HTSetSuffix(".JPG",    "image/jpeg",		"binary", 1.0);
+    HTSetSuffix(".JPE",    "image/jpeg",		"binary", 1.0);
+    HTSetSuffix(".jpe",    "image/jpeg",		"binary", 1.0);
+    HTSetSuffix(".JPEG",   "image/jpeg",		"binary", 1.0);
+    HTSetSuffix(".jpeg",   "image/jpeg",		"binary", 1.0);
+    HTSetSuffix(".tif",    "image/tiff",		"binary", 1.0);	/* TIFF			*/
+    HTSetSuffix(".tiff",   "image/tiff",		"binary", 1.0);
+    HTSetSuffix(".ras",    "image/cmu-raster",		"binary", 1.0);
+    HTSetSuffix(".pnm",    "image/x-portable-anymap",	"binary", 1.0);	/* PBM Anymap format	*/
+    HTSetSuffix(".pbm",    "image/x-portable-bitmap",	"binary", 1.0);	/* PBM Bitmap format	*/
+    HTSetSuffix(".pgm",    "image/x-portable-graymap",	"binary", 1.0);	/* PBM Graymap format	*/
+    HTSetSuffix(".ppm",    "image/x-portable-pixmap",	"binary", 1.0);	/* PBM Pixmap format	*/
+    HTSetSuffix(".rgb",    "image/x-rgb",		"binary", 1.0);
+    HTSetSuffix(".xbm",    "image/x-xbitmap",		"binary", 1.0);	/* X bitmap		*/
+    HTSetSuffix(".xpm",    "image/x-xpixmap",		"binary", 1.0);	/* X pixmap format	*/
+    HTSetSuffix(".xwd",    "image/x-xwindowdump",	"binary", 1.0);	/* X window dump (xwd)	*/
+    HTSetSuffix(".html",   "text/html",			"8bit",   1.0);	/* HTML			*/
+    HTSetSuffix(".c",      "text/plain",		"7bit",   0.5);	/* C source		*/
+    HTSetSuffix(".h",      "text/plain",		"7bit",   0.5);	/* C headers		*/
+    HTSetSuffix(".C",      "text/plain",		"7bit",   0.5);	/* C++ source		*/
+    HTSetSuffix(".cc",     "text/plain",		"7bit",   0.5);	/* C++ source		*/
+    HTSetSuffix(".hh",     "text/plain",		"7bit",   0.5);	/* C++ headers		*/
+    HTSetSuffix(".m",      "text/plain",		"7bit",   0.5);	/* Objective-C source	*/
+    HTSetSuffix(".f90",    "text/plain",		"7bit",   0.5);	/* Fortran 90 source	*/
+    HTSetSuffix(".txt",    "text/plain",		"7bit",   0.5);	/* Plain text		*/
+    HTSetSuffix(".rtx",    "text/richtext",		"7bit",   1.0);	/* MIME Richtext format	*/
+    HTSetSuffix(".tsv",    "text/tab-separated-values",	"7bit",   1.0);	/* Tab-separated values	*/
+    HTSetSuffix(".etx",    "text/x-setext",		"7bit",   0.9);	/* Struct Enchanced Txt	*/
+    HTSetSuffix(".MPG",    "video/mpeg",		"binary", 1.0);	/* MPEG			*/
+    HTSetSuffix(".mpg",    "video/mpeg",		"binary", 1.0);
+    HTSetSuffix(".MPE",    "video/mpeg",		"binary", 1.0);
+    HTSetSuffix(".mpe",    "video/mpeg",		"binary", 1.0);
+    HTSetSuffix(".MPEG",   "video/mpeg",		"binary", 1.0);
+    HTSetSuffix(".mpeg",   "video/mpeg",		"binary", 1.0);
+    HTSetSuffix(".qt",     "video/quicktime",		"binary", 1.0);	/* QuickTime		*/
+    HTSetSuffix(".mov",    "video/quicktime",		"binary", 1.0);
+    HTSetSuffix(".avi",    "video/x-msvideo",		"binary", 1.0);	/* MS Video for Windows	*/
+    HTSetSuffix(".movie",  "video/x-sgi-movie",		"binary", 1.0);	/* SGI "moviepalyer"	*/
+    
+    HTSetSuffix("*.*",     "application/octet-stream",	"binary", 0.1);
+    HTSetSuffix("*",       "text/plain",		"7bit",   0.5);
+
+}
+#endif /* NO_INIT */
+