⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htinit.c

📁 基于rtos开发的浏览器!
💻 C
📖 第 1 页 / 共 3 页
字号:
    /* default suffix interpretation */    HTSetSuffix("*",		"text/plain", "7bit", 1.0);    HTSetSuffix("*.*",		"text/plain", "7bit", 1.0);#ifdef EXEC_SCRIPTS    /*     *  define these extentions for exec scripts.     */#ifndef VMS    /* for csh exec links */    HTSetSuffix(".csh",		"application/x-csh", "8bit", 0.8);    HTSetSuffix(".sh",		"application/x-sh", "8bit", 0.8);    HTSetSuffix(".ksh",		"application/x-ksh", "8bit", 0.8);#else    HTSetSuffix(".com",		"application/x-VMS_script", "8bit", 0.8);#endif /* !VMS */#endif /* EXEC_SCRIPTS */    HTSetSuffix(".saveme",	"application/x-Binary", "binary", 1.0);    HTSetSuffix(".dump",	"application/x-Binary", "binary", 1.0);    HTSetSuffix(".bin",		"application/x-Binary", "binary", 1.0);    HTSetSuffix(".arc",		"application/x-Compressed", "binary", 1.0);    HTSetSuffix(".alpha-exe",	"application/x-Executable", "binary", 1.0);    HTSetSuffix(".alpha_exe",	"application/x-Executable", "binary", 1.0);    HTSetSuffix(".AXP-exe",	"application/x-Executable", "binary", 1.0);    HTSetSuffix(".AXP_exe",	"application/x-Executable", "binary", 1.0);    HTSetSuffix(".VAX-exe",	"application/x-Executable", "binary", 1.0);    HTSetSuffix(".VAX_exe",	"application/x-Executable", "binary", 1.0);    HTSetSuffix(".exe",		"application/x-Executable", "binary", 1.0);    HTSetSuffix(".exe.Z",	"application/x-Comp. Executable",    							     "binary", 1.0);    HTSetSuffix(".Z",	        "application/UNIX Compressed", "binary", 1.0);    HTSetSuffix(".tar_Z",	"application/UNIX Compr. Tar", "binary", 1.0);    HTSetSuffix(".tar.Z",	"application/UNIX Compr. Tar", "binary", 1.0);    HTSetSuffix("-gz",		"application/GNU Compressed", "binary", 1.0);    HTSetSuffix("_gz",		"application/GNU Compressed", "binary", 1.0);    HTSetSuffix(".gz",		"application/GNU Compressed", "binary", 1.0);    HTSetSuffix5(".tar.gz",	"application/x-tar", "binary", "GNU Compr. Tar", 1.0);    HTSetSuffix5(".tgz",	"application/x-tar", "gzip", "GNU Compr. Tar", 1.0);    HTSetSuffix(".src",		"application/x-WAIS-source", "8bit", 1.0);    HTSetSuffix(".wsrc",	"application/x-WAIS-source", "8bit", 1.0);    HTSetSuffix(".zip",		"application/x-Zip File", "binary", 1.0);    HTSetSuffix(".uu",		"application/x-UUencoded", "8bit", 1.0);    HTSetSuffix(".hqx",		"application/x-Binhex", "8bit", 1.0);    HTSetSuffix(".o",		"application/x-Prog. Object", "binary", 1.0);    HTSetSuffix(".a",		"application/x-Prog. Library", "binary", 1.0);    HTSetSuffix5(".oda",	"application/oda", "binary", "ODA", 1.0);    HTSetSuffix5(".pdf",	"application/pdf", "binary", "PDF", 1.0);    HTSetSuffix(".eps",		"application/Postscript", "8bit", 1.0);    HTSetSuffix(".ai",		"application/Postscript", "8bit", 1.0);    HTSetSuffix(".ps",		"application/Postscript", "8bit", 1.0);    HTSetSuffix(".rtf",		"application/RTF", "8bit", 1.0);    HTSetSuffix(".dvi",		"application/x-DVI", "8bit", 1.0);    HTSetSuffix(".hdf",		"application/x-HDF", "8bit", 1.0);    HTSetSuffix(".cdf",		"application/x-netcdf", "8bit", 1.0);    HTSetSuffix(".nc",		"application/x-netcdf", "8bit", 1.0);    HTSetSuffix(".latex",	"application/x-Latex", "8bit", 1.0);    HTSetSuffix(".tex",  	"application/x-Tex", "8bit", 1.0);    HTSetSuffix(".texinfo",	"application/x-Texinfo", "8bit", 1.0);    HTSetSuffix(".texi",	"application/x-Texinfo", "8bit", 1.0);    HTSetSuffix(".t",		"application/x-Troff", "8bit", 1.0);    HTSetSuffix(".tr",		"application/x-Troff", "8bit", 1.0);    HTSetSuffix(".roff",	"application/x-Troff", "8bit", 1.0);    HTSetSuffix(".man",		"application/x-Troff-man", "8bit", 1.0);    HTSetSuffix(".me",		"application/x-Troff-me", "8bit", 1.0);    HTSetSuffix(".ms",		"application/x-Troff-ms", "8bit", 1.0);    HTSetSuffix(".zoo",		"application/x-Zoo File", "binary", 1.0);    HTSetSuffix(".bak",		"application/x-VMS BAK File", "binary", 1.0);    HTSetSuffix(".bkp",		"application/x-VMS BAK File", "binary", 1.0);    HTSetSuffix(".bck",		"application/x-VMS BAK File", "binary", 1.0);    HTSetSuffix(".bkp_gz",	"application/x-GNU BAK File", "binary", 1.0);    HTSetSuffix(".bkp-gz",	"application/x-GNU BAK File", "binary", 1.0);    HTSetSuffix(".bck_gz",	"application/x-GNU BAK File", "binary", 1.0);    HTSetSuffix(".bck-gz",	"application/x-GNU BAK File", "binary", 1.0);    HTSetSuffix(".bkp-Z",	"application/x-Comp. BAK File", "binary", 1.0);    HTSetSuffix(".bkp_Z",	"application/x-Comp. BAK File", "binary", 1.0);    HTSetSuffix(".bck-Z",	"application/x-Comp. BAK File", "binary", 1.0);    HTSetSuffix(".bck_Z",	"application/x-Comp. BAK File", "binary", 1.0);    HTSetSuffix(".hlb",		"application/x-VMS Help Libr.", "binary", 1.0);    HTSetSuffix(".olb",		"application/x-VMS Obj. Libr.", "binary", 1.0);    HTSetSuffix(".tlb",		"application/x-VMS Text Libr.", "binary", 1.0);    HTSetSuffix(".obj",		"application/x-VMS Prog. Obj.", "binary", 1.0);    HTSetSuffix(".decw$book",	"application/x-DEC BookReader", "binary", 1.0);    HTSetSuffix(".mem",		"application/x-RUNOFF-MANUAL", "8bit", 1.0);    HTSetSuffix(".vsd",		"application/visio", "binary", 1.0);    HTSetSuffix(".lha",		"application/x-lha File", "binary", 1.0);    HTSetSuffix(".lzh",		"application/x-lzh File", "binary", 1.0);    HTSetSuffix(".sea",		"application/x-sea File", "binary", 1.0);    HTSetSuffix(".sit",		"application/x-sit File", "binary", 1.0);    HTSetSuffix(".dms",		"application/x-dms File", "binary", 1.0);    HTSetSuffix(".iff",		"application/x-iff File", "binary", 1.0);    HTSetSuffix(".bcpio",	"application/x-bcpio", "binary", 1.0);    HTSetSuffix(".cpio",	"application/x-cpio", "binary", 1.0);    HTSetSuffix(".gtar",	"application/x-gtar", "binary", 1.0);    HTSetSuffix(".shar",	"application/x-shar", "8bit", 1.0);    HTSetSuffix(".share",	"application/x-share", "8bit", 1.0);    HTSetSuffix(".sh",		"application/x-sh", "8bit", 1.0); /* xtra */    HTSetSuffix(".sv4cpio",	"application/x-sv4cpio", "binary", 1.0);    HTSetSuffix(".sv4crc",	"application/x-sv4crc", "binary", 1.0);    HTSetSuffix5(".tar",	"application/x-tar", "binary", "Tar File", 1.0);    HTSetSuffix(".ustar",	"application/x-ustar", "binary", 1.0);    HTSetSuffix(".snd",		"audio/basic", "binary", 1.0);    HTSetSuffix(".au",		"audio/basic", "binary", 1.0);    HTSetSuffix(".aifc",	"audio/x-aiff", "binary", 1.0);    HTSetSuffix(".aif",		"audio/x-aiff", "binary", 1.0);    HTSetSuffix(".aiff",	"audio/x-aiff", "binary", 1.0);    HTSetSuffix(".wav",		"audio/x-wav", "binary", 1.0);    HTSetSuffix(".midi",	"audio/midi", "binary", 1.0);    HTSetSuffix(".mod",		"audio/mod", "binary", 1.0);    HTSetSuffix(".gif",		"image/gif", "binary", 1.0);    HTSetSuffix(".ief",		"image/ief", "binary", 1.0);    HTSetSuffix(".jfif",	"image/jpeg", "binary", 1.0); /* xtra */    HTSetSuffix(".jfif-tbnl",	"image/jpeg", "binary", 1.0); /* xtra */    HTSetSuffix(".jpe",		"image/jpeg", "binary", 1.0);    HTSetSuffix(".jpg",		"image/jpeg", "binary", 1.0);    HTSetSuffix(".jpeg",	"image/jpeg", "binary", 1.0);    HTSetSuffix(".tif",		"image/tiff", "binary", 1.0);    HTSetSuffix(".tiff",	"image/tiff", "binary", 1.0);    HTSetSuffix(".ham",		"image/ham", "binary", 1.0);    HTSetSuffix(".ras",		"image/x-cmu-rast", "binary", 1.0);    HTSetSuffix(".pnm",		"image/x-portable-anymap", "binary", 1.0);    HTSetSuffix(".pbm",		"image/x-portable-bitmap", "binary", 1.0);    HTSetSuffix(".pgm",		"image/x-portable-graymap", "binary", 1.0);    HTSetSuffix(".ppm",		"image/x-portable-pixmap", "binary", 1.0);    HTSetSuffix(".png",		"image/png", "binary", 1.0);    HTSetSuffix(".rgb",		"image/x-rgb", "binary", 1.0);    HTSetSuffix(".xbm",		"image/x-xbitmap", "binary", 1.0);    HTSetSuffix(".xpm",		"image/x-xpixmap", "binary", 1.0);    HTSetSuffix(".xwd",		"image/x-xwindowdump", "binary", 1.0);    HTSetSuffix(".rtx",		"text/richtext", "8bit", 1.0);    HTSetSuffix(".tsv",		"text/tab-separated-values", "8bit", 1.0);    HTSetSuffix(".etx",		"text/x-setext", "8bit", 1.0);    HTSetSuffix(".mpg",		"video/mpeg", "binary", 1.0);    HTSetSuffix(".mpe",		"video/mpeg", "binary", 1.0);    HTSetSuffix(".mpeg",	"video/mpeg", "binary", 1.0);    HTSetSuffix(".mov",		"video/quicktime", "binary", 1.0);    HTSetSuffix(".qt",		"video/quicktime", "binary", 1.0);    HTSetSuffix(".avi",		"video/x-msvideo", "binary", 1.0);    HTSetSuffix(".movie",	"video/x-sgi-movie", "binary", 1.0);    HTSetSuffix(".mv",		"video/x-sgi-movie", "binary", 1.0);    HTSetSuffix(".mime",	"message/rfc822", "8bit", 1.0);    HTSetSuffix(".c",		"text/plain", "8bit", 1.0);    HTSetSuffix(".cc",		"text/plain", "8bit", 1.0);    HTSetSuffix(".c++",		"text/plain", "8bit", 1.0);    HTSetSuffix(".h",		"text/plain", "8bit", 1.0);    HTSetSuffix(".pl",		"text/plain", "8bit", 1.0);    HTSetSuffix(".text",	"text/plain", "8bit", 1.0);    HTSetSuffix(".txt",		"text/plain", "8bit", 1.0);    HTSetSuffix(".html3",	"text/html", "8bit", 1.0);    HTSetSuffix(".ht3",		"text/html", "8bit", 1.0);    HTSetSuffix(".phtml",	"text/html", "8bit", 1.0);    HTSetSuffix(".shtml",	"text/html", "8bit", 1.0);    HTSetSuffix(".htmlx",	"text/html", "8bit", 1.0);    HTSetSuffix(".htm",		"text/html", "8bit", 1.0);    HTSetSuffix(".html",	"text/html", "8bit", 1.0);    /* These should override the default extensions as necessary. */    HTLoadExtensionsConfigFile(global_extension_map);    if ((fp = fopen(personal_extension_map,"r")) != NULL) {	fclose(fp);	/* These should override everything else. */	HTLoadExtensionsConfigFile(personal_extension_map);    } else {	char buffer[256];#ifdef VMS	sprintf(buffer, "sys$login:%s", personal_extension_map);#else	sprintf(buffer, "%s/%s", (Home_Dir() ? Home_Dir() : ""),				  personal_extension_map);#endif /* VMS */	/* These should override everything else. */	HTLoadExtensionsConfigFile(buffer);    }}/* -------------------- Extension config file reading --------------------- *//* *  The following is lifted from NCSA httpd 1.0a1, by Rob McCool; *  NCSA httpd is in the public domain, as is this code. * *  Modified Oct 97 - KW */#define MAX_STRING_LEN 256PRIVATE int HTGetLine ARGS3(	char *,		s,	int,		n,	FILE *,		f){    register int i = 0, r;    if (!f)	return(1);    while (1) {	r = fgetc(f);	s[i] = (char)r;	if (s[i] == CR) {	    r = fgetc(f);	    if (r == LF)		s[i] = r;	    else if (r != EOF)		ungetc(r, f);	}	if ((r == EOF) || (s[i] == LF) || (s[i] == CR) || (i == (n-1))) {	    s[i] = '\0';	    return (feof(f) ? 1 : 0);	}	++i;    }}PRIVATE void HTGetWord ARGS4(	char *,		word,	char *,		line,	char ,		stop,	char ,		stop2){    int x = 0, y;    for (x = 0; line[x] && line[x] != stop && line[x] != stop2; x++) {	word[x] = line[x];    }    word[x] = '\0';    if (line[x])	++x;    y=0;    while ((line[y++] = line[x++]))	;    return;}PRIVATE int HTLoadExtensionsConfigFile ARGS1(	char *,		fn){    char l[MAX_STRING_LEN],w[MAX_STRING_LEN],*ct;    FILE *f;    int x, count = 0;    if (TRACE)	fprintf(stderr,		"HTLoadExtensionsConfigFile: Loading file '%s'.\n", fn);    if ((f = fopen(fn,"r")) == NULL) {	if (TRACE)	    fprintf(stderr,		    "HTLoadExtensionsConfigFile: Could not open '%s'.\n", fn);	    return count;    }    while (!(HTGetLine(l,MAX_STRING_LEN,f))) {	HTGetWord(w, l, ' ', '\t');	if (l[0] == '\0' || w[0] == '#')	    continue;	ct = (char *)malloc(sizeof(char) * (strlen(w) + 1));	if (!ct)	    outofmem(__FILE__, "HTLoadExtensionsConfigFile");	strcpy(ct,w);	for (x = 0; ct[x]; x++)	    ct[x] = TOLOWER(ct[x]);	while(l[0]) {	    HTGetWord(w, l, ' ', '\t');	    if (w[0] && (w[0] != ' ')) {		char *ext = (char *)malloc(sizeof(char) * (strlen(w)+1+1));	        if (!ct)	            outofmem(__FILE__, "HTLoadExtensionsConfigFile");		for (x = 0; w[x]; x++)		    ext[x+1] = TOLOWER(w[x]);		ext[0] = '.';		ext[strlen(w)+1] = '\0';		if (TRACE) {		    fprintf (stderr,			     "SETTING SUFFIX '%s' to '%s'.\n", ext, ct);		}	        if (strstr(ct, "tex") != NULL ||	            strstr(ct, "postscript") != NULL ||		    strstr(ct, "sh") != NULL ||		    strstr(ct, "troff") != NULL ||		    strstr(ct, "rtf") != NULL)		    HTSetSuffix (ext, ct, "8bit", 1.0);	        else		    HTSetSuffix (ext, ct, "binary", 1.0);		count++;		FREE(ext);	    }	}	FREE(ct);    }    fclose(f);    return count;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -