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"
269