00001 /***************************************************************************** 00002 * Copyright (C) 2000 Jim Kent. This source code may be freely used * 00003 * for personal, academic, and non-profit purposes. Commercial use * 00004 * permitted only by explicit agreement with Jim Kent (jim_kent@pacbell.net) * 00005 *****************************************************************************/ 00006 /* Implement portable stuff.... */ 00007 00008 /* There is one of the following structures for each web server 00009 * we support. During run time looking at the environment variable 00010 * SERVER_SOFTWARE we decide which of these to use. */ 00011 struct webServerSpecific 00012 { 00013 char *name; 00014 00015 /* Make a good name for a temp file. */ 00016 void (*makeTempName)(struct tempName *tn, char *base, char *suffix); 00017 00018 /* Return directory to look for cgi in. */ 00019 char * (*cgiDir)(); 00020 00021 #ifdef NEVER 00022 /* Return cgi suffix. */ 00023 char * (*cgiSuffix)(); 00024 #endif /* NEVER */ 00025 00026 /* Return relative speed of CPU. (UCSC CSE 1999 FTP machine is 1.0) */ 00027 double (*speed)(); 00028 00029 /* The relative path to trash directory for CGI binaries */ 00030 char * (*trashDir)(); 00031 00032 }; 00033 00034 00035 extern struct webServerSpecific wssMicrosoftII, wssMicrosoftPWS, wssDefault, 00036 wssLinux, wssCommandLine, wssBrcMcw; 00037 00038 char *rTempName(char *dir, char *base, char *suffix); 00039 /* Make a temp name that's almost certainly unique. */
1.5.2