Libinfo-330.10.tar.gz
[apple/libinfo.git] / dns.subproj / options.h
1 /*
2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7 * Reserved. This file contains Original Code and/or Modifications of
8 * Original Code as defined in and that are subject to the Apple Public
9 * Source License Version 1.1 (the "License"). You may not use this file
10 * except in compliance with the License. Please obtain a copy of the
11 * License at http://www.apple.com/publicsource and read it before using
12 * this file.
13 *
14 * The Original Code and all software distributed under the License are
15 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the
19 * License for the specific language governing rights and limitations
20 * under the License.
21 *
22 * @APPLE_LICENSE_HEADER_END@
23 */
24 /* options.h - specify the conditionally-compiled features
25 * vix 28mar92 [moved out of the Makefile because they were getting too big]
26 *
27 * $Id: options.h,v 1.2 1999/10/14 21:56:45 wsanchez Exp $
28 */
29
30 /*
31 * ++Copyright++
32 * -
33 * Copyright (c)
34 * The Regents of the University of California. All rights reserved.
35 *
36 * Redistribution and use in source and binary forms, with or without
37 * modification, are permitted provided that the following conditions
38 * are met:
39 * 1. Redistributions of source code must retain the above copyright
40 * notice, this list of conditions and the following disclaimer.
41 * 2. Redistributions in binary form must reproduce the above copyright
42 * notice, this list of conditions and the following disclaimer in the
43 * documentation and/or other materials provided with the distribution.
44 * 3. All advertising materials mentioning features or use of this software
45 * must display the following acknowledgement:
46 * This product includes software developed by the University of
47 * California, Berkeley and its contributors.
48 * 4. Neither the name of the University nor the names of its contributors
49 * may be used to endorse or promote products derived from this software
50 * without specific prior written permission.
51 *
52 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
53 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
54 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
55 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
56 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
57 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
58 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
59 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
60 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
61 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
62 * SUCH DAMAGE.
63 * -
64 * Portions Copyright (c) 1993 by Digital Equipment Corporation.
65 *
66 * Permission to use, copy, modify, and distribute this software for any
67 * purpose with or without fee is hereby granted, provided that the above
68 * copyright notice and this permission notice appear in all copies, and that
69 * the name of Digital Equipment Corporation not be used in advertising or
70 * publicity pertaining to distribution of the document or software without
71 * specific, written prior permission.
72 *
73 * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
74 * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
75 * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
76 * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
77 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
78 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
79 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
80 * SOFTWARE.
81 * -
82 * --Copyright--
83 */
84
85 /* Key:
86 * ucb = U C Berkeley 4.8.3 release
87 * vix = Paul Vixie of Digital
88 * del = Don Lewis of Harris
89 * mcsun = Piet Beertema of EUNet
90 * asp = Andrew Partan of UUNet
91 * pma = Paul Albitz of Hewlett Packard
92 * bb = Bryan Beecher of UMich
93 * mpa = Mark Andrews of CSIRO - DMS
94 * rossc = Ross Cartlidge of The Univeritsy of Sydney
95 * mtr = Marshall Rose of TPC.INT
96 * bg = Benoit Grange of INRIA
97 * ckd = Christopher Davis of Kapor Enterprises
98 * gns = Greg Shapiro of WPI
99 */
100
101 #ifndef DEBUG
102 #define DEBUG /* enable -d flag and SIGUSR[12] support (ucb) */
103 #endif
104
105 /*#define ALLOW_T_UNSPEC enable the "unspec" RR type for old athena (ucb) */
106 /*#define INVQ enable inverse queries (nslookup) (ucb/vix) */
107 /*#define DSTORAGE debug malloc overruns using storage.o (ucb/vix) */
108 /*#define DMALLOC trace malloc orphans using dmalloc.o (vix) */
109 #define XFRNETS /* enable "xfrnets" command in named.boot (vix) */
110 #define PID_FIX /* be careful about overwriting named.pid file (del) */
111 #define FWD_LOOP /* try to break out of forwarding loops (del) */
112 #define NO_GLUE /* don't accept or send out-of-zone glue (del) */
113 #define BOGUSNS /* detect bogus nameservers (mcsun) */
114 #define QRYLOG /* enable SIGWINCH for query logging (bb) */
115 /*#define YPKLUDGE deal effectively with broken "ypserv -i" (mcsun) */
116 #define TRACEROOT /* trace bogus root servers and ignore them (pma,bb) */
117 /*#define LOCALDOM permit "domain" directive in named.boot (ucb) */
118 #define FORCED_RELOAD /* refresh secondary zones on SIGHUP (pma) */
119 #define SLAVE_FORWARD /* use sensible timeouts on slave forwarders (pma) */
120 #define WANT_PIDFILE /* if you want the named.pid file (ucb/arc) */
121 #define DOTTED_SERIAL /* if you want to be able to specify dotted serial#s */
122 /*#define SENSIBLE_DOTS if you want dotted serial#s to make numeric sense */
123 #define NCACHE /* negative caching (anant@isi.edu) */
124 /*#define VALIDATE validation procedure (anant@isi.edu) (DO NOT USE!)*/
125 /*#define SHORT_FNAMES file names used in named-xfer need to be short */
126 #define RESOLVSORT /* allow sorting of addresses in gethostbyname (mpa) */
127 #define STUBS /* allow transfers of NS only for a zone (mpa) */
128 #ifndef LOGFAC
129 #define LOGFAC LOG_DAEMON /* what syslog facility should named use? */
130 #endif
131 #define SECURE_ZONES /* if you want to inhibit world access to zones (gns)*/
132 #define ROUND_ROBIN /* rotate databuf list after each access (mtr) */
133 #define ADDAUTH /* return NS and glue w/ authorative answers (mpa) */
134 #define RFC1535 /* use RFC 1535 default for "search" list (vix) */
135 #define GEN_AXFR /* distinct zones within each class */
136 #define DATUMREFCNT /* use reference counts on datums (mpa) */
137 #define LAME_DELEGATION /* lame delegations (original-del,reworked-bb&del)*/
138 #define LAME_LOGGING LOG_WARNING /* log lame delegations, set log level */
139 #define GETSER_LOGGING LOG_INFO /* log errors/timeouts getting serial number */
140 /*#define RETURNSOA good code that the world isn't ready for yet */
141 #define CLEANCACHE /* useful and necessary in the face of NCACHE */
142 #define PURGE_ZONE /* remove all traces of a zone when reloading (mpa) */
143 #define STATS /* keep nameserver statistics; uses more memory */
144 #define RENICE /* named-xfer should run at normal priority */
145 #define XSTATS /* extended statistics, syslogged periodically (bg) */
146 /*#define BIND_NOTIFY experimental - do not enable in customer products */
147 /*#define LOC_RR support for (draft) LOC record parsing (ckd) */
148
149 /*--------------------------------------------*
150 * no user-servicable parts beyond this point *
151 *--------------------------------------------*/
152
153 /* if DSTORAGE is defined, we need to disable DMALLOC and remap
154 * malloc and free to storage.o's exported names. storage.o also
155 * includes a calloc and a realloc, but once we drag in its malloc
156 * and free we'll get the others automatically and so will never
157 * pull in those routines from libc.a.
158 */
159 #ifdef DSTORAGE
160 # ifdef DMALLOC
161 # undef DMALLOC
162 # endif /*DMALLOC*/
163 # define malloc rt_malloc
164 # define free rt_free
165 #endif /*DSTORAGE*/
166
167 /* if DMALLOC is defined, grab the header file which will remap
168 * all the malloc-style names to those exported by dmalloc.o. note
169 * that DMALLOC also changes the function signatures of several
170 * functions in private named source modules, and that this file
171 * (options.h) must be included before any other private *.h files
172 * since those *.h files have some conditional remapping to do.
173 */
174 #ifdef DMALLOC
175 # include "dmalloc.h"
176 #endif
177
178 /* systems with killall(1M) don't need this
179 */
180 #ifdef __sgi
181 # ifdef WANT_PIDFILE
182 # undef WANT_PIDFILE
183 # endif
184 #endif
185
186 #ifdef LAME_LOGGING
187 # define LAME_DELEGATION
188 #endif
189
190 #if defined(XSTATS) && !defined(STATS)
191 # define STATS
192 #endif