config.h.generic
上传用户:lampled
上传日期:2007-01-07
资源大小:94k
文件大小:15k
源码类别:

Web服务器

开发平台:

Unix_Linux

  1. /* Copyright (C) 1995, 1996 by Sven Berkvens (sven@stack.nl) */
  2. /* You can edit this file by hand, but that is usually not necessary.
  3.    Supplied with this package is a program called `autodetect', which,
  4.    when run, will determine most of the values that are needed here.
  5.    The autodetect program can be started by typing `sh autodetect' on
  6.    a shell prompt. */
  7. /* Do you want to enable server side includes? Server side includes
  8.    allow users to include files from within a file, have access to a
  9.    visitor counter, and display all kinds of nice things. See README.html
  10.    for more information about these SSI's. */
  11. #define WANT_SSI
  12. /* Define these if you have the respective include file. For example,
  13.    define HAVE_SYS_SYSLIMITS_H if your system has the sys/syslimits.h
  14.    include file. Include files can usually be found in the /usr/include
  15.    directory on your system. You can leave them all defined and then
  16.    try to make the programs: your compiler will list the ones it CAN'T
  17.    find, which you can then then undefine here. If you don't have
  18.    "strings.h", the httpd will use "string.h" instead. */
  19. #define HAVE_STRING_H
  20. #define HAVE_STRINGS_H
  21. #define HAVE_SYS_WAIT_H
  22. #define HAVE_SYS_SELECT_H
  23. #define HAVE_SYS_PARAM_H
  24. #define HAVE_SYS_SYSLIMITS_H
  25. #define HAVE_SYS_EXEC_H
  26. #define HAVE_SYS_PSTAT_H
  27. #define HAVE_SYS_SYSMIPS_H
  28. #define HAVE_SYS_SYSNEWS_H
  29. #define HAVE_VM_VM_H
  30. #define HAVE_MACHINE_VMPARAM_H
  31. #define HAVE_ERR_H
  32. #define HAVE_GETOPT_H
  33. #define HAVE_TIME_H
  34. #define HAVE_SYS_TIME_H
  35. #define HAVE_VFORK_H
  36. #define HAVE_MEMORY_H
  37. #define HAVE_CRYPT_H
  38. #define HAVE_SYS_MMAN_H
  39. #define HAVE_SYS_RESOURCE_H
  40. /* Define SYS_TIME_WITH_TIME if your system allows including both
  41.    /sys/time.h and time.h. If your system does not allow it, undefine
  42.    SYS_TIME_WITH_TIME. */
  43. #define SYS_TIME_WITH_TIME
  44. /* The path in which `ppmtogif' (part of the NetPBM package) can be found.
  45.    If you do not have this, the graphical counter will not work (I'm
  46.    working on this...). In that case, #undef this line. */
  47. #define PATH_PPMTOGIF "/usr/local/bin/ppmtogif"
  48. /* The default root directory for the server. This is where the subdirs
  49.    'logs', 'htdocs' and 'cgi-bin' go. This is used as a base directory
  50.    for other directories (see below). It can be overridden from the
  51.    command line. */
  52. #define HTTPD_ROOT "/usr/local/lib/httpd"
  53. /* The default number of servers. This is the maximum number of requests
  54.    that the server will be able to handle concurrently. Watch out though:
  55.    it also forks this number of processes (once only). You can change this
  56.    number from the command line if you wish. */
  57. #define HTTPD_NUMBER 20
  58. /* The default group and user ID of the WWW server. It assumes this group
  59.    and user ID when a page or cgi-binary is requested that is not in a
  60.    user's home directory. Typically this would be 'nobody' and 'nogroup',
  61.    but you can also make a seperate user and group id, for example 'http'
  62.    and 'www'. You can change these defaults from the command line if you
  63.    wish. */
  64. #define HTTPD_USERID "nobody"
  65. #define HTTPD_GROUPID "nogroup"
  66. /* You can change this define if you do not want the starting place of
  67.    the WWW server's virtual / to be in the htdocs directory. The path
  68.    can begin with a slash, in which case it is assumed to be an
  69.    absolute path. If it does not start with a slash, it is assumed
  70.    to be relative to HTTPD_ROOT. */
  71. #define HTTPD_DOCUMENT_ROOT "htdocs"
  72. /* You can change the name of the directory that contains CGI binaries.
  73.    When the server encounters requests for either /cgi-bin/something or
  74.    /~USER/cgi-bin/something, it is assumed that that program has to be run
  75.    to get the requested output. You can change the name of cgi-bin. */
  76. #define HTTPD_SCRIPT_ROOT "cgi-bin"
  77. /* You can change this define if you do not want the starting place of
  78.    the WWW server's real cgi-bin directory to be in the server root.
  79.    This is the "physical" name of the cgi-bin directory in the virtual /.
  80.    Again, the path can be relative to HTTPD_ROOT or it can be an
  81.    absolute path. See above (HTTPD_DOCUMENT_ROOT). */
  82. #define HTTPD_SCRIPT_ROOT_P "cgi-bin"
  83. /* This path defines where the HTTP deamon will store its log files.
  84.    You can either specify a relative path or an absolute path
  85.    (see above, at HTTPD_DOCUMENT_ROOT). Overridable on the command
  86.    line. */
  87. #define HTTPD_LOG_ROOT "logs"
  88. /* This path defines where the counter file is located. */
  89. #define CNT_DATA "logs/xs-counter.data"
  90. #define CNT_LOCK "logs/xs-counter.lock"
  91. /* This path defines where the PID file is located. Again, you can specify
  92.    a relative or an absolute path. */
  93. #define PID_PATH "/var/run/httpd.pid"
  94. /* Fill in the name of your domain here, including the leading dot.
  95.    This is used to strip out refers that come from your own site
  96.    (which are usually not interesting). If you want all refers,
  97.    undefine THISDOMAIN. This can be overridden on the command line. */
  98. #undef THISDOMAIN
  99. /* The name of the default WWW page if a directory is specified.
  100.    Both these names are checked. */
  101. #define INDEX_HTML "index.html"
  102. #define INDEX_HTML_2 "index.htm"
  103. /* The name of the mime.types file which the server uses to determine
  104.    the content-type of the file that it is going to send. Again,
  105.    this path can be relative to HTTPD_ROOT or it can be an absolute
  106.    path (see above at HTTPD_DOCUMENT_ROOT). BEWARE! The contents of the
  107.    mime.types file are NOT standard. Read the comments in the default
  108.    mime.types for details. */
  109. #define MIMETYPESFILE "mime.types"
  110. /* The server can automatically uncompress compressed files on the server
  111.    side if the other side is not able to handle the compression method.
  112.    If you want to turn on this feature, define HANDLE_COMPRESSED. See the
  113.    default compress.methods for more details. */
  114. #define HANDLE_COMPRESSED
  115. #define COMPRESS_METHODS "compress.methods"
  116. /* What is the bit bucket on your system? */
  117. #define BITBUCKETNAME "/dev/null"
  118. /* Where can the WWW server place some temporary files? The only
  119.    temporary files at this moment at generated by the automatic
  120.    uncompressor. Temporary files are removed as soon as they are
  121.    opened, so there is no chance of any of them staying behind.
  122.    Note that this directory must be writable for everybody. */
  123. #define TEMPORARYPATH "/tmp"
  124. /* Does your system support the setpriority() library/system call? If not,
  125.    the WWW server will not be able te set its priority to a lower setting. */
  126. #define HAVE_SETPRIORITY
  127. /* Does your system support the vfork() system call? If not, fork()
  128.    will be used instead. vfork() should be more efficient than fork(). */
  129. #define HAVE_VFORK
  130. /* Does your system support the mmap() system call? If not, the httpd
  131.    will run slower when sending non-HTML files, because it will have to
  132.    use a read()/write() loop instead of one mmap()/write(). */
  133. #define HAVE_MMAP
  134. /* Does your system support the tempnam() library call? If not, the
  135.    httpd will generate a random file name itself, but it is not
  136.    guaranteed to be unique, with all the consequences. */
  137. #define HAVE_TEMPNAM
  138. /* Does your system have the bcopy() library call? If not, then the
  139.    programs will use memcopy() instead. */
  140. #define HAVE_BCOPY
  141. /* Does your system have the bzero() library call? If not, then the
  142.    programs will use memset() instead. */
  143. #define HAVE_BZERO
  144. /* Does your system have the setsid() library call? If not, then the
  145.    programs will use setpgrp() instead. */
  146. #define HAVE_SETSID
  147. /* Does your system have the setenv(), unsetenv() and getenv() library calls?
  148.    If not, then the programs will use their own version. */
  149. #define HAVE_SETENV
  150. /* Does your system have the seteuid() and setegid() system/library calls?
  151.    If not, then the programs will use setreuid() and setregid() instead. */
  152. #define HAVE_SETEUID
  153. #define HAVE_SETEGID
  154. /* Does your system have the setresuid() en setresgid() system/library calls?
  155.    These are only needed if you do not have seteuid()/setegid() and
  156.    setreuid()/setreuid(). */
  157. #undef HAVE_SETRESUID
  158. #undef HAVE_SETRESGID
  159. /* Does your system have the strerror() library call? If not, then the
  160.    programs will use their own version. If you need to declare sys_errlist
  161.    and sys_nerr in the program itself, define NEED_SYS_ERRLIST_DECL also. */
  162. #define HAVE_STRERROR
  163. #undef NEED_SYS_ERRLIST_DECL
  164. /* Does your system declare optarg and optind by itself? If not, the
  165.    programs will declare it themselves. If you need the programs to
  166.    declare the symbols by themselves, #define NEED_OPTARG_AND_OPTIND. */
  167. #undef NEED_OPTARG_AND_OPTIND
  168. /* Does your system declare environ by itself? If not, the prorgams will
  169.    declare it themselves. If you need the programs to declare the symbols,
  170.    then #define NEED_DECL_ENVIRON. */
  171. #undef NEED_DECL_ENVIRON
  172. /* Does your system have the killpg() call? If so, then define HAVE_KILLPG.
  173.    A version of killpg() will be created in extra.c otherwise. */
  174. #define HAVE_KILLPG
  175. /* Does your system have the sigemptyset() library call? If so, it will
  176.    be used, otherwise sa_mask will just be assigned 0. */
  177. #define HAVE_SIGEMPTYSET
  178. /* If your system has a VERY old setvbuf(), the second and third arguments
  179.    will have to be reversed (SysV versions earlier than version 3). If you
  180.    have this very old style setvbuf(), define SETVBUF_REVERSED. */
  181. #undef SETVBUF_REVERSED
  182. /* Does your system know about the type "pid_t"? If not, then define
  183.    NOPID_T instead of undefining it. */
  184. #undef NOPID_T
  185. /* Does your system know about the type "size_t"? If not, then define
  186.    NOSIZE_T instead of undefining it. */
  187. #undef NOSIZE_T
  188. /* Does your system know about the type "uid_t"? If not, then define
  189.    NOUID_T instead of undefining it. */
  190. #undef NOUID_T
  191. /* Does your system know about the type "gid_t"? If not, then define
  192.    NOGID_T instead of undefining it. */
  193. #undef NOGID_T
  194. /* The default PATH environment variable that CGI binaries are started
  195.    with. This is so users' binaries can find the programs that they
  196.    depend on. The path must be given in the normal /bin/sh format. */
  197. #define SCRIPT_PATH "/usr/bin:/bin:/usr/local/bin"
  198. /* The name of the access authority file */
  199. #define AUTHFILE ".xsauth"
  200. /* Argument to listen(). Leave it as it is, it should be fine. */
  201. #define MAXLISTEN 50
  202. /* If your C compiler does not understand prototypes, #define NOPROTOS
  203.    instead of undefining it. You have a really old C compiler if this
  204.    is the case. Consider upgrading to GCC, a fantastic C compiler
  205.    (free!) which runs on nearly every platform. */
  206. #undef NOPROTOS
  207. /* If your C compiler does not even understand forwards, then #define
  208.    NOFORWARDS instead of undefining it. Your compiler is REALLY stupid
  209.    if it does not understand forwards. Read above about GCC! */
  210. #undef NOFORWARDS
  211. /* If your compiler does not understand "new-style" declarations, then
  212.    #define NONEWSTYLE instead of undefining it. Read above about GCC! */
  213. #undef NONEWSTYLE
  214. /* If your compiler does not understand the 'const' keyword, then
  215.    #define NOCONST instead of undefining it. Read above about GCC! */
  216. #undef NOCONST
  217. /* If your compiler does not understand the 'static' keyword, then
  218.    #define NOSTATIC instead of undefining it. Read above about GCC! */
  219. #undef NOSTATIC
  220. /* If your compiler does not understand the 'extern' keyword, then
  221.    #define NOEXTERN instead of undefining it. Read above about GCC! */
  222. #undef NOEXTERN
  223. /* If your compiler does not understand the 'void' keyword, then
  224.    #define NOVOID instead of undefining it. Read above about GCC! */
  225. #undef NOVOID
  226. /* No user serviceable text after this line */
  227. #ifndef HAVE_VFORK
  228. #define vfork fork
  229. #endif /* HAVE_VFORK */
  230. #ifndef NOPROTOS
  231. #define PROTO(a) a
  232. #else
  233. #define PROTO(a) ()
  234. #endif
  235. #ifndef NONEWSTYLE
  236. #define DECL0 (void)
  237. #define DECL1(t1,v1) (t1 v1)
  238. #define DECL2(t1,v1,t2,v2) (t1 v1, t2 v2)
  239. #define DECL3(t1,v1,t2,v2,t3,v3) (t1 v1, t2 v2, t3 v3)
  240. #define DECL4(t1,v1,t2,v2,t3,v3,t4,v4) (t1 v1, t2 v2, t3 v3, t4 v4)
  241. #ifdef NOCONST
  242. #define DECL1C(t1,v1) (t1 v1)
  243. #define DECL2C_(t1,v1,t2,v2) (t1 v1, t2 v2)
  244. #define DECL2_C(t1,v1,t2,v2) (t1 v1, t2 v2)
  245. #define DECL2CC(t1,v1,t2,v2) (t1 v1, t2 v2)
  246. #define DECL3_C_(t1,v1,t2,v2,t3,v3) (t1 v1, t2 v2, t3 v3)
  247. #define DECL3CC_(t1,v1,t2,v2,t3,v3) (t1 v1, t2 v2, t3 v3)
  248. #else /* Not NOCONST */
  249. #define DECL1C(t1,v1) (const t1 v1)
  250. #define DECL2C_(t1,v1,t2,v2) (const t1 v1, t2 v2)
  251. #define DECL2_C(t1,v1,t2,v2) (t1 v1, const t2 v2)
  252. #define DECL2CC(t1,v1,t2,v2) (const t1 v1, const t2 v2)
  253. #define DECL3_C_(t1,v1,t2,v2,t3,v3) (t1 v1, const t2 v2, t3 v3)
  254. #define DECL3CC_(t1,v1,t2,v2,t3,v3) (const t1 v1, const t2 v2, t3 v3)
  255. #endif /* NOCONST */
  256. #else /* Not not NONEWSTYLE */
  257. #define DECL0 ()
  258. #define DECL1(t1,v1) (v1) t1 v1;
  259. #define DECL2(t1,v1,t2,v2) (v1, v2) t1 v1; t2 v2;
  260. #define DECL3(t1,v1,t2,v2,t3,v3) (v1, v2, v3) t1 v1; t2 v2; t3 v3;
  261. #define DECL4(t1,v1,t2,v2,t3,v3,t4,v4) 
  262. (v1, v2, v3, v4) t1 v1; t2 v2; t3 v3; t4 v4;
  263. #ifdef NOCONST
  264. #define DECL1C(t1,v1) (v1) t1 v1;
  265. #define DECL2C_(t1,v1,t2,v2) (v1, v2) t1 v1; t2 v2;
  266. #define DECL2CC(t1,v1,t2,v2) (v1, v2) t1 v1; t2 v2;
  267. #define DECL2_C(t1,v1,t2,v2) (v1, v2) t1 v1; t2 v2;
  268. #define DECL3_C_(t1,v1,t2,v2,t3,v3) (v1, v2, v3) t1 v1; t2 v2; t3 v3;
  269. #define DECL3CC_(t1,v1,t2,v2,t3,v3) (v1, v2, v3) t1 v1; t2 v2; t3 v3;
  270. #else /* Not NOCONST */
  271. #define DECL1C(t1,v1) (v1) const t1 v1;
  272. #define DECL2C_(t1,v1,t2,v2) (v1, v2) const t1 v1; t2 v2;
  273. #define DECL2CC(t1,v1,t2,v2) (v1, v2) const t1 v1; const t2 v2;
  274. #define DECL2_C(t1,v1,t2,v2) (v1, v2) t1 v1; const t2 v2;
  275. #define DECL3_C_(t1,v1,t2,v2,t3,v3) (v1, v2, v3) t1 v1; const t2 v2; t3 v3;
  276. #define DECL3CC_(t1,v1,t2,v2,t3,v3) (v1, v2, v3) const t1 v1; const t2 v2; t3 v3;
  277. #endif /* NOCONST */
  278. #endif /* NONEWSTYLE */
  279. #ifdef NOCONST
  280. #define const
  281. #endif /* NOCONST */
  282. #ifdef NOSTATIC
  283. #define static
  284. #endif /* NOSTATIC */
  285. #ifdef NOEXTERN
  286. #define extern
  287. #endif /* NOEXTERN */
  288. #ifdef NOVOID
  289. #define VOID
  290. #else /* Not NOVOID */
  291. #define VOID void
  292. #endif /* NOVOID */
  293. #ifdef NOPID_T
  294. #define pid_t long
  295. #endif /* NOPID_T */
  296. #ifdef NOSIZE_T
  297. #define size_t long
  298. #endif /* NOSIZE_T */
  299. #ifdef NOUID_T
  300. #define pid_t int
  301. #endif /* NOUID_T */
  302. #ifdef NOGID_T
  303. #define gid_t int
  304. #endif /* NOGID_T */
  305. #define XS_PATH_MAX 1024
  306. #ifndef HAVE_BCOPY
  307. #define bcopy(a,b,c) memmove((b), (a), (c))
  308. #endif /* HAVE_MEMMOVE */
  309. #ifndef HAVE_BZERO
  310. #define bzero(a,b) memset((a), 0, (b))
  311. #endif /* HAVE_BZERO */
  312. #ifndef HAVE_SETEUID
  313. #ifdef HAVE_SETRESUID
  314. #define seteuid(a) setresuid(-1, (a), -1)
  315. #else /* Not HAVE_SETRESUID */
  316. #define seteuid(a) setreuid(-1, (a))
  317. #endif /* HAVE_SETRESUID */
  318. #endif /* HAVE_SETEUID */
  319. #ifndef HAVE_SETEGID
  320. #ifdef HAVE_SETRESGID
  321. #define setegid(a) setresgid(-1, (a), -1)
  322. #else /* Not HAVE_SETRESGID */
  323. #define setegid(a) setregid(-1, (a))
  324. #endif /* HAVE_SETRESGID */
  325. #endif /* HAVE_SETEGID */