conf.h
上传用户:pycemail
上传日期:2007-01-04
资源大小:329k
文件大小:6k
源码类别:

Ftp客户端

开发平台:

Unix_Linux

  1. /*
  2.  * ProFTPD - FTP server daemon
  3.  * Copyright (c) 1997, 1998 Public Flood Software
  4.  *  
  5.  * This program is free software; you can redistribute it and/or modify
  6.  * it under the terms of the GNU General Public License as published by
  7.  * the Free Software Foundation; either version 2 of the License, or
  8.  * (at your option) any later version.
  9.  *
  10.  * This program is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  * GNU General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program; if not, write to the Free Software
  17.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
  18.  */
  19. /* Generic configuration and standard header file includes.
  20.  * $Id: conf.h,v 1.2 1999/09/12 20:28:12 macgyver Exp $
  21.  */
  22. #ifndef __CONF_H
  23. #define __CONF_H
  24. #include "version.h"
  25. #include "config.h"
  26. #include "default_paths.h"
  27. /* This is no longer used, autoconf provides us with a top level
  28.  * config.h
  29.  */
  30. /* #include "platform.h" */
  31. #include "options.h"
  32. #include <stdlib.h>
  33. #include <stdio.h>
  34. #include <stdarg.h>
  35. #include <pwd.h>
  36. #include <grp.h>
  37. #ifdef HAVE_SYS_TYPES_H
  38. # include <sys/types.h>
  39. #endif
  40. #ifdef HAVE_UNISTD_H
  41. # include <unistd.h>
  42. #endif
  43. #ifdef HAVE_SYS_SELECT_H
  44. # include <sys/select.h>
  45. #endif
  46. #ifdef HAVE_SYS_STAT_H
  47. # include <sys/stat.h>
  48. #endif
  49. #ifdef HAVE_SYS_FILE_H
  50. # include <sys/file.h>
  51. #endif
  52. #ifdef HAVE_SYS_WAIT_H
  53. # include <sys/wait.h>
  54. #endif
  55. #ifndef WEXITSTATUS
  56. # define WEXITSTATUS(stat_val) ((unsigned)(stat_val)>>8)
  57. #endif
  58. #ifndef WIFEXITED
  59. # define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
  60. #endif
  61. #ifdef HAVE_MEMORY_H
  62. # include <memory.h>
  63. #endif
  64. #ifdef HAVE_STRINGS_H
  65. # include <strings.h>
  66. #endif
  67. #ifdef STDC_HEADERS
  68. # include <string.h>
  69. #else
  70. # ifndef HAVE_STRCHR
  71. #  define strchr index
  72. #  define strrchr rindex
  73. # endif
  74. char *strchr(),*strrchr();
  75. # ifndef HAVE_MEMCPY
  76. #  define memcpy(d,s,n) bcopy((s),(d),(n))
  77. #  define memmove(d,s,n) bcopy((s),(d),(n))
  78. # endif
  79. #endif
  80. #ifdef HAVE_BSTRING_H
  81. # include <bstring.h>
  82. #endif
  83. #ifdef HAVE_SYS_TIME_H
  84. # include <sys/time.h>
  85. #endif
  86. #ifdef HAVE_SYS_PARAM_H
  87. # include <sys/param.h>
  88. #endif
  89. #ifdef HAVE_SYS_SOCKET_H
  90. # include <sys/socket.h>
  91. #endif
  92. #ifdef HAVE_NETDB_H
  93. # include <netdb.h>
  94. #endif
  95. #ifdef HAVE_NETINET_IN_H
  96. # include <netinet/in.h>
  97. #endif
  98. #ifdef HAVE_NETINET_TCP_H
  99. # include <netinet/tcp.h>
  100. #endif
  101. #ifdef HAVE_ARPA_INET_H
  102. # include <arpa/inet.h>
  103. #endif
  104. #if (defined(HAVE_SHADOW_H) && defined(USESHADOW))
  105. # include <shadow.h>
  106. #endif
  107. #ifndef TM_IN_SYS_TIME
  108. # include <time.h>
  109. #endif
  110. #ifdef HAVE_SYSLOG_H
  111. # include <syslog.h>
  112. #endif
  113. #ifdef HAVE_GLOB
  114. # include <glob.h>
  115. #endif
  116. #if HAVE_DIRENT_H
  117. # include <dirent.h>
  118. # define NAMLEN(dirent) strlen((dirent)->d_name)
  119. #else
  120. # define dirent direct
  121. # define NAMLEN(dirent) ((dirent)->d_namlen)
  122. # if HAVE_SYS_NDIR_H
  123. #  include <sys/ndir.h>
  124. # endif
  125. # if HAVE_SYS_DIR_H
  126. #  include <sys/dir.h>
  127. # endif
  128. # if HAVE_SYS_DIR_H
  129. #  include <sys/dir.h>
  130. # endif
  131. # if HAVE_NDIR_H
  132. #  include <ndir.h>
  133. # endif
  134. #endif
  135. #ifdef HAVE_FCNTL_H
  136. # include <fcntl.h>
  137. #endif
  138. #ifdef HAVE_SYS_IOCTL_H
  139. # include <sys/ioctl.h>
  140. #endif
  141. #ifdef HAVE_ERRNO_H
  142. # include <errno.h>
  143. #endif
  144. #ifdef HAVE_CTYPE_H
  145. # include <ctype.h>
  146. #endif
  147. #ifdef HAVE_FNMATCH
  148. # include <fnmatch.h>
  149. #endif
  150. #ifdef HAVE_UTMP_H
  151. # include <utmp.h>
  152. #endif
  153. #ifdef HAVE_UTMPX_H
  154. # include <utmpx.h>
  155. #endif
  156. /* Solaris 2.5 needs sys/termios.h for TIOCNOTTY.  Due to complications
  157.  * with termio.h/termios.h, prefer to include termios.h.  If not found,
  158.  * then try termio.h
  159.  */
  160. #ifdef HAVE_SYS_TERMIOS_H
  161. # include <sys/termios.h>
  162. #else
  163. # ifdef HAVE_SYS_TERMIO_H
  164. #  include <sys/termio.h>
  165. # endif /* HAVE_SYS_TERMIO_H */
  166. #endif /* HAVE_SYS_TERMIOS_H */
  167. /* Solaris 2.5 seems to already have a typedef for 'timer_t', so
  168.  * #define timer_t to something else as a workaround.
  169.  */
  170. #ifdef HAVE_TIMER_T
  171. # define timer_t p_timer_t
  172. #endif
  173. /* See if we have bcopy, if not define them to use the memcpy functions */
  174. #ifndef HAVE_BCOPY
  175. # define bcopy(s,d,n) memcpy((d),(s),(n))
  176. # define bzero(d,n) memset((d),0,(n))
  177. #endif
  178. /* Solaris has __vsnprintf, but no vsnprintf */
  179. #if ! defined(HAVE_VSNPRINTF) && defined(HAVE___VSNPRINTF)
  180. # undef vsnprintf
  181. # define vsnprintf __vsnprintf
  182. # define HAVE_VSNPRINTF 1
  183. #endif
  184. #if ! defined(HAVE_SNPRINTF) && defined(HAVE___SNPRINTF)
  185. # undef snprintf
  186. # define snprintf __snprintf
  187. # define HAVE_SNPRINTF
  188. #endif
  189. /* If we are BSD, make minor adjustments */
  190. #if defined(BSD) && !defined(O_APPEND)
  191. # define O_APPEND F_APPEND
  192. #endif
  193. #ifndef O_NONBLOCK
  194. #define O_NONBLOCK O_NDELAY
  195. #endif
  196. #ifndef O_NDELAY
  197. #define O_NDELAY O_NONBLOCK
  198. #endif
  199. #if defined(HAVE_GETOPT) && defined(AIX3)
  200. /* AIX 3.2.5 libc exports symbol optopt but is forgotten in includes */
  201. extern int optopt;
  202. #endif
  203. /* Necessary for alloca to work */
  204. #if !defined(__alloca) && !defined(__GNU_LIBRARY__)
  205. # ifdef __GNUC__
  206. #  undef alloca
  207. #  define alloca(n) __builtin_alloca(n)
  208. # else /* Not GCC */
  209. #  ifdef HAVE_ALLOCA_H
  210. #   include <alloca.h>
  211. #  else /* No HAVE_ALLOCA_H */
  212. #   ifndef _AIX
  213. #    ifdef WINDOWS32
  214. #     include <malloc.h>
  215. #    else
  216. extern char *alloca();
  217. #    endif /* WINDOWS32 */
  218. #   endif /* Not _AIX */
  219. #  endif /* sparc or HAVE_ALLOCA_H */
  220. # endif /* GCC */
  221. # define __alloca alloca
  222. #endif
  223. /********************************************************************
  224.  * This is NOT the user configurable section.  Look in options.h
  225.  * for tunable parameters.
  226.  ********************************************************************/
  227. #ifndef __PROFTPD_SUPPORT_LIBRARY
  228. /* This section is only needed for modules and the core source files,
  229.  * not for the support library.
  230.  */
  231. /* Generic typedefs */
  232. typedef struct in_addr p_in_addr_t;
  233. #include "pool.h"
  234. #include "proftpd.h"
  235. #include "support.h"
  236. #include "sets.h"
  237. #include "dirtree.h"
  238. #include "io.h"
  239. #include "modules.h"
  240. #include "timers.h"
  241. #include "inet.h"
  242. #include "ident.h"
  243. #include "ftp.h"
  244. #include "log.h"
  245. #include "data.h"
  246. #include "libsupp.h"
  247. #include "fs.h"
  248. # ifdef HAVE_SETPASSENT
  249. #  define setpwent() setpassent(1)
  250. # endif /* HAVE_SETPASSENT */
  251. #endif /* __PROFTPD_SUPPORT_LIBRARY */
  252. #endif /* __CONF_H */