1 /*
   2  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
   3  * Use is subject to license terms.
   4  */
   5 
   6 #pragma ident   "%Z%%M% %I%     %E% SMI"
   7 
   8 /* src/config.h.  Generated automatically by configure.  */
   9 /****************************************************************************  
  10  
  11   Copyright (c) 1999,2000 WU-FTPD Development Group.  
  12   All rights reserved.
  13   
  14   Portions Copyright (c) 1980, 1985, 1988, 1989, 1990, 1991, 1993, 1994
  15     The Regents of the University of California.
  16   Portions Copyright (c) 1993, 1994 Washington University in Saint Louis.
  17   Portions Copyright (c) 1996, 1998 Berkeley Software Design, Inc.
  18   Portions Copyright (c) 1989 Massachusetts Institute of Technology.
  19   Portions Copyright (c) 1998 Sendmail, Inc.
  20   Portions Copyright (c) 1983, 1995, 1996, 1997 Eric P.  Allman.
  21   Portions Copyright (c) 1997 by Stan Barber.
  22   Portions Copyright (c) 1997 by Kent Landfield.
  23   Portions Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997
  24     Free Software Foundation, Inc.  
  25  
  26   Use and distribution of this software and its source code are governed 
  27   by the terms and conditions of the WU-FTPD Software License ("LICENSE").
  28  
  29   If you did not receive a copy of the license, it may be obtained online
  30   at http://www.wu-ftpd.org/license.html.
  31  
  32   $Id: config.h.in,v 1.31 2000/07/01 18:04:21 wuftpd Exp $
  33  
  34 ****************************************************************************/
  35 
  36 #define SOLARIS_2
  37 #define SVR4
  38 #define HAVE_STATVFS
  39 #define NO_UTMP
  40 #define HAVE_FGETPWENT
  41 #define HAVE_MKSTEMP
  42 #define HAVE_SYS_SENDFILE_H
  43 
  44 /*
  45  * Configuration file for autoconf - will be modified by configure
  46  */
  47 
  48 #define HAVE_FCNTL_H 1
  49 #define HAVE_DIRENT_H 1
  50 #define HAVE_REGEX_H 1
  51 #define TIME_WITH_SYS_TIME 1
  52 /* #undef HAVE_SYS_TIME_H */
  53 /* #undef HAVE_TIME_H */
  54 /* #undef HAVE_MNTENT_H */
  55 #define HAVE_SYS_MNTENT_H 1
  56 #define HAVE_SYS_MNTTAB_H 1
  57 /* #undef HAVE_NDIR_H */
  58 #define HAVE_STRING_H 1
  59 /* #undef HAVE_SYS_DIR_H */
  60 /* #undef HAVE_SYS_NDIR_H */
  61 /* #undef HAVE_SYS_QUOTA_H */
  62 #define HAVE_SYS_FS_UFS_QUOTA_H 1
  63 /* #undef HAVE_UFS_QUOTA_H */
  64 /* #undef HAVE_JFS_QUOTA_H */
  65 /* #undef HAVE_UFS_UFS_QUOTA_H */
  66 /* #undef HAVE_LINUX_QUOTA_H */
  67 #define HAVE_STDLIB_H 1
  68 #define HAVE_UNISTD_H 1
  69 #define HAVE_SYS_TYPES_H 1
  70 #define HAVE_GLOB_H 1
  71 #define HAVE_GRP_H 1
  72 #define HAVE_SHADOW_H 1
  73 /* #undef HAVE_VMSDIR_H */
  74 
  75 /* #undef QUOTA_INODE */
  76 #define QUOTA_DEVICE
  77 #define QSORT_IS_VOID 1
  78 
  79 #define HAVE_SIGPROCMASK 1
  80 #define HAVE_VSNPRINTF 1
  81 /* #undef HAVE_DIRFD */
  82 /* #undef HAVE_FLOCK */
  83 #define HAVE_FTW 1
  84 #define HAVE_GETCWD 1
  85 #define HAVE_GETDTABLESIZE 1
  86 #define HAVE_GETRLIMIT 1
  87 /* #undef HAVE_PSTAT */
  88 #define HAVE_LSTAT 1
  89 #define HAVE_VPRINTF 1
  90 #define HAVE_SNPRINTF 1
  91 #define HAVE_REGEX 1
  92 #define HAVE_REGEXEC 1
  93 #define HAVE_SETSID 1
  94 #define HAVE_MEMMOVE 1
  95 #define HAVE_STRTOUL 1
  96 /* #undef HAVE_SIGLIST */
  97 #define FACILITY LOG_DAEMON
  98 
  99 #define HAVE_LIMITS_H 1
 100 #define HAVE_VALUES_H 1
 101 /* #undef HAVE_BSD_BSD_H */
 102 #define HAVE_SYS_PARAM_H 1
 103 /* #undef NEED_LIMITS_H */
 104 /* #undef NEED_VALUES_H */
 105 /* #undef NEED_BSD_BSD_H */
 106 #define NEED_SYS_PARAM_H 1
 107 #if defined(HAVE_SYS_PARAM_H) && defined(NEED_SYS_PARAM_H)
 108 #include <sys/param.h>
 109 #endif
 110 #if defined(HAVE_VALUES_H) && defined(NEED_VALUES_H)
 111 #include <values.h>
 112 #endif
 113 #if defined(HAVE_LIMITS_H) && defined(NEED_LIMITS_H)
 114 #include <limits.h>
 115 #endif
 116 #if defined(HAVE_BSD_BSD_H) && defined(NEED_BSD_BSD_H)
 117 #include <bsd/bsd.h>
 118 #endif
 119 /* #undef NBBY */
 120 
 121 #define SIGNAL_TYPE void
 122 #define HAVE_SETUID 1
 123 #define HAVE_SETEUID 1
 124 /* #undef HAVE_SETREUID */
 125 /* #undef HAVE_SETRESUID */
 126 #define HAVE_SETEGID 1
 127 /* #undef HAVE_SETREGID */
 128 /* #undef HAVE_SETRESGID */
 129 #define HAVE_ST_BLKSIZE 1
 130 #define HAVE_SYSCONF 1
 131 #define HAVE_SYS_SYSTEMINFO_H 1
 132 /* #undef HAVE_PATHS_H */
 133 #define HAVE_SYSLOG_H 1
 134 #define HAVE_SYS_SYSLOG_H 1
 135 #define HAVE_FCHDIR 1
 136 /* #undef HAVE_QUOTACTL */
 137 #define HAS_OLDSTYLE_GETMNTENT
 138 /* #undef HAS_PW_EXPIRE */
 139 #define SHADOW_PASSWORD 1
 140 #define AUTOCONF 1
 141 #if _FILE_OFFSET_BITS == 64
 142 #define L_FORMAT "lld"
 143 #else
 144 #define L_FORMAT "ld"
 145 #endif
 146 #define T_FORMAT "ld"
 147 #define PW_UID_FORMAT "ld"
 148 #define GR_GID_FORMAT "ld"
 149 
 150 /* #undef HAVE_UT_UT_HOST */
 151 #define HAVE_UT_UT_EXIT_E_TERMINATION 1
 152 
 153 /* Here instead of everywhere: */
 154 #include <stdio.h>
 155 #include <stdlib.h>
 156 #ifdef HAVE_UNISTD_H
 157 #include <unistd.h>
 158 #endif
 159 
 160 /* Newer systems will have seteuid/setegid */
 161 /* Older systems may have the BSD setreuid/setregid */
 162 /* HP/UX has setresuid/setresgid */
 163 /* Some SCO systems appearently have none of this.
 164    so if HAVE_SETUID is not defined we'll presume it's
 165    all needed since we're compiling support/sco.c */
 166 
 167 #ifdef HAVE_SETUID
 168 
 169 #ifndef HAVE_SETEUID
 170 #ifdef HAVE_SETREUID
 171 #define seteuid(euid) setreuid(-1,(euid))
 172 #else
 173 #ifdef HAVE_SETRESUID
 174 #define seteuid(euid) setresuid(-1,(euid),-1)
 175 #else
 176 #error No seteuid() functions.
 177 #endif
 178 #endif
 179 #endif
 180 
 181 #ifndef HAVE_SETEGID
 182 #ifdef HAVE_SETREGID
 183 #define setegid(egid) setregid(-1,(egid))
 184 #else
 185 #ifdef HAVE_SETRESGID
 186 #define setegid(egid) setresgid(-1,(egid),-1)
 187 #else
 188 #error No setegid() functions.
 189 #endif
 190 #endif
 191 #endif
 192 
 193 #endif /* HAVE_SETUID */
 194 
 195 #ifndef HAVE_FCHDIR
 196 #define HAS_NO_FCHDIR 1
 197 #endif
 198 #ifndef HAVE_QUOTACTL
 199 #define HAS_NO_QUOTACTL
 200 #endif
 201 #ifdef HAVE_SYS_SYSTEMINFO_H
 202 #define HAVE_SYSINFO 1
 203 #endif
 204 #ifndef HAVE_SETSID
 205 #define NO_SETSID 1
 206 #endif
 207 
 208 #ifndef HAVE_MEMMOVE
 209 #define memmove(a,b,c) bcopy(b,a,c)
 210 #endif
 211 #ifndef HAVE_STRTOUL
 212 #define strtoul(a,b,c) (unsigned long)strtol(a,b,c)
 213 #endif
 214 
 215 #ifndef RAND_MAX
 216 #define RAND_MAX 2147483647
 217 #endif
 218 
 219 #define USE_PAM 1
 220 
 221 /*
 222  * Socket macros which help with socket structure manipulation in a mixed
 223  * IPv4 / IPv6 environment.
 224  */
 225 #ifdef INET6
 226 #define HAVE_SIN6_SCOPE_ID
 227 #ifdef HAVE__SS_FAMILY
 228 #define ss_family __ss_family
 229 #endif
 230 #define SOCKSTORAGE sockaddr_storage
 231 #define SOCK_FAMILY(ss) ((ss).ss_family)
 232 #define SOCK_PORT(ss) ((ss).ss_family == AF_INET6 ? \
 233                      ((struct sockaddr_in6 *)&(ss))->sin6_port : \
 234                      ((struct sockaddr_in *)&(ss))->sin_port)
 235 #define SOCK_LEN(ss) ((ss).ss_family == AF_INET6 ? \
 236                     sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in))
 237 #define SOCK_ADDR(ss) ((ss).ss_family == AF_INET6 ? \
 238                      (void *)&((struct sockaddr_in6 *)&(ss))->sin6_addr : \
 239                      (void *)&((struct sockaddr_in *)&(ss))->sin_addr)
 240 #define SET_SOCK_FAMILY(ss, family) (SOCK_FAMILY(ss) = (family))
 241 #define SET_SOCK_PORT(ss, port) \
 242                 ((ss).ss_family == AF_INET6 ? \
 243                  (((struct sockaddr_in6 *)&(ss))->sin6_port = (port)) : \
 244                  (((struct sockaddr_in *)&(ss))->sin_port = (port)))
 245 #define SET_SOCK_ADDR4(ss, addr) ((void)(sock_set_inaddr(&(ss), (addr))))
 246 #define SET_SOCK_ADDR_ANY(ss) \
 247                 ((void)((ss).ss_family == AF_INET6 ? \
 248                  (void)(((struct sockaddr_in6 *)&(ss))->sin6_addr = \
 249                         in6addr_any) : \
 250                  (void)(((struct sockaddr_in *)&(ss))->sin_addr.s_addr = \
 251                         htonl(INADDR_ANY))))
 252 #define SET_SOCK_SCOPE(dst, src) sock_set_scope(&(dst), &(src))
 253 #else
 254 #define SOCKSTORAGE sockaddr_in
 255 #define SOCK_FAMILY(sin) ((sin).sin_family)
 256 #define SOCK_PORT(sin) ((sin).sin_port)
 257 #define SOCK_LEN(sin) (sizeof(sin))
 258 #define SOCK_ADDR(sin) ((void *)&(sin).sin_addr)
 259 #define SET_SOCK_FAMILY(sin, family) (SOCK_FAMILY(sin) = (family))
 260 #define SET_SOCK_PORT(sin, port) ((sin).sin_port = (port))
 261 #define SET_SOCK_ADDR4(sin, addr) ((sin).sin_addr = (addr))
 262 #define SET_SOCK_ADDR_ANY(sin) ((sin).sin_addr.s_addr = htonl(INADDR_ANY))
 263 #endif /* INET6 */
 264 
 265 #define delay_signaling()
 266 #define enable_signaling()
 267 
 268 #include "wu_config.h"