1: #if defined(RCSIDENT) && defined(MAINLINE)
2: static char zzparms[] = "$Header: parms.h,v 1.7.0.12 86/08/28 22:55:49 notes Rel $";
3: #endif defined(RCSIDENT) && defined(MAINLINE)
4:
5: /*
6: * This file contains the constants that must be reset on each system
7: * when notefiles are first installed. Other constants exist in
8: * structs.h, but in general should not be modified unless needed.
9: */
10:
11: #define ARCHTIME 14 /* expire threshold */
12: #define WORKSETSIZE 5 /* working set size */
13:
14: #define DFLTSH "/bin/sh" /* default shell */
15: #define DFLTED "/usr/ucb/vi" /* default editor */
16: #define SEQFILE "Dflt-Seq" /* file in MSTDIR */
17: #define DFLTSEQ "general,news.announce.newusers" /* unspecified NFSEQ */
18:
19: /*
20: * These define defaults for various Unix functions that can
21: * be overidden by environment variables
22: */
23:
24: #define MAILER "/bin/mail" /* mailer to use */
25: #define SUPERMAILER "/usr/ucb/Mail" /* is a smart mailer */
26: #define "/usr/ucb/more" /* pg/more default */
27: #define WRITE "/usr/lonex/bin/etalk" /* user-user communication */
28:
29: /*
30: * Definition of the domain this binary will run in. Examples
31: * are "UUCP", "ARPA", or "Uiuc.ARPA". This string is appended
32: * to the hostname and used to build addresses. Thus with a
33: * hostname of "uiucdcsb" and a FULLDOMAIN of "Uiuc.ARPA",
34: * my articles would show as being from "essick@uiucdcsb.Uiuc.ARPA".
35: *
36: * Undefining this has some effects in the notes/news gateway
37: * with stripping/adding domains. It isn't a good idea to have
38: * this undefined.
39: */
40:
41: #define FULLDOMAIN "imsd.contel.com" /* local domain */
42: #undef IDDOMAIN /* not in unique id */
43:
44: /*
45: * define at most 1 of these (V7, UNIX4.0, etc.)
46: * If none are defined, things probably won't go too well.
47: * For 2.10BSD select the BSD42 define and do not define any of
48: * the BSD2? members, the long vs. int problems have been fixed
49: * and they are the only difference between 4.3 and 2.10BSD.
50: */
51:
52: #undef BSD41 /* Berkeley 4.1 bsd */
53: #undef BSD41A /* Berkeley 4.1a bsd */
54: #define BSD42 /* Berkeley 4.2 Bsd */
55: #undef V7 /* version 7 kernel */
56: #undef SYSIII /* BTL System III kernel */
57: #undef UNIX40 /* Unix 4.0 kernel */
58: #undef SYSV /* BTL System V kernel */
59: #undef BSD28 /* Berkeley 2.8 */
60: #undef BSD29 /* Berkeley 2.9 */
61:
62: /*
63: * Some configurable options. These depend on how you like
64: * to flavor your stew.
65: * Define What it gets you
66: * -------- -------------------------------------
67: * PROMPT if you want a command prompt.
68: * USERHOST if you want addresses in the form
69: * user@host instead of host!user
70: * DYNADIR enables code to determine Mstdir
71: * (the /usr/spool/notes directory) from
72: * the /etc/passwd. When on, Mstdir is
73: * set to the directory above notes' home.
74: * K_KEY Defined if you want k and K to be aliases
75: * for q and Q. It is handy and allows you
76: * to read with one hand. You can also
77: * get very aggravated when you hit "k" instead
78: * of "j".
79: * BIGTEXT change from a u_short to a long counter
80: * to allow longer texts...
81: * SYSLOG define with a syslog(3) facility to write
82: * errors to ``syslogd''. Currently used only
83: * by newsinput/newsoutput.
84: */
85:
86: #define PROMPT "? " /* command prompt */
87: #define PROMPTMSGX (2) /* stren(PROMPT) */
88: #define USERHOST /* user@host */
89: #undef DYNADIR /* dynamic Mstdir */
90: #define K_KEY /* k==q, K==Q */
91: #define BIGTEXT /* 32 bit counters */
92: #define SYSLOG LOG_LOCAL6 /* syslog facility */
93:
94:
95: /*
96: * The remaining options are pretty much stock. You shouldn't
97: * have to play with them unless you want to run a very non-standard
98: * shop.
99: */
100:
101:
102: #define NFMAINT "nfmaint" /* internal logging */
103: #define AUTOCREATE /* automatic mknf */
104: #define STATS /* keep usage stats */
105:
106: #define FASTSEQ /* use stat to check */
107:
108: #define DUMPCORE "coredump" /* subdir of UTILITY */
109:
110: #define FASTFORK /* faster forking */
111: /*
112: * Thanks to Malcolm Slaney of Purdue EE for both BUFIO and FASTFORK
113: * modifications. (BUFIO is now used exclusively and so isn't
114: * surrounded by ifdefs any more.
115: */
116:
117: /*
118: * REMAINDER OF THIS FILE PROBABLY DOESN'T NEED TO BE CHANGED
119: *
120: * Do some specific defines that go along with particluar OS's.
121: * I may have missed some stuff and if you are running hybrid
122: * versions of Unix, you might need to change things.
123: */
124:
125: #if defined(BSD41) /* UCB 4.1 BSD */
126: #define VFORK
127: #define BSD4x
128: #endif defined(BSD41)
129:
130: #if defined(BSD41A) /* UCB 4.1a BSD */
131: #define PORTBINARY /* portable binaries */
132: #define VFORK
133: #define BSD4x
134: #endif defined(BSD41A)
135:
136: #if defined(BSD42) /* UCB 4.2 BSD */
137: #define PORTBINARY
138: #define VFORK
139: #define BSD4x
140: #define FILENAMELEN 14 /* was 255 */
141: /* reduced for compat
142: with pdp-11s */
143: #endif defined(BSD42)
144:
145: #if defined(V7) /* Research V7 */
146: #define WHOAMI
147: #define WHOAMIFILE "/usr/include/whoami.h"
148: /*
149: * has a line in it of the form:
150: * #define sysname "XXXX"
151: * and maybe other lines too.
152: */
153: #endif defined(V7)
154:
155: #if defined(SYSIII) /* BTL System III */
156: #define UNAME /* more port-binary */
157: #define USG /* BTL Unix */
158: #endif defined(SYSIII)
159:
160: #if defined(UNIX40) /* BTL (internal) */
161: #define UNAME /* more port-binary */
162: #define USG /* BTL Unix */
163: #endif defined(UNIX40)
164:
165: #if defined(SYSV) /* BTL System V */
166: #define UNAME /* more port-binary */
167: #define USG /* BTL Unix */
168: #endif defined(SYSV)
169:
170: #ifdef USG /* a BTL Unix */
171: /*
172: * BTL Unix doesn't have index/rindex. Instead have strchr/strrchr.
173: * define as macros here instead of plain substitution so won't
174: * get tripped on a variable called "index" someday.
175: */
176: #define index(s,c) strchr(s,c) /* 1st char */
177: #define rindex(s,c) strrchr(s,c) /* last char */
178:
179: extern char *strchr (); /* for lint */
180: extern char *strrchr ();
181: #else
182: extern char *index (); /* for lint */
183: extern char *rindex ();
184: #endif USG
185:
186: #if defined(BSD28) /* UCB 2.8 BSD */
187: #define BSD2x
188: #endif defined(BSD28)
189:
190: #if defined(BSD29) /* UCB 2.9 BSD */
191: #define BSD2x
192: #endif defined(BSD29)
193:
194: /*
195: * if the kernel hasn't already selected this...
196: */
197:
198: #ifndef FILENAMELEN
199: #define FILENAMELEN 14
200: #endif
201: #define ROTATE 13 /* rotation factor */
202: #ifndef PROMPTMSGX
203: #define PROMPTMSGX (15) /* make sure it's there */
204: #endif PROMPTMSGX
205:
206: #ifndef VFORK
207: #define vfork fork
208: /*
209: * There are legit uses of both fork/vfork.
210: * This lets us use vfork where we should and it defaults
211: * to fork on systems that don't have it.
212: *
213: * This may be a red herring for this implementation, but I
214: * like the idea.
215: */
216: #endif VFORK
217:
218: #define SHAREDATA /* in note.c, resp.c */
219: #undef RUNSUID /* use set-gid */
220:
221: /*
222: * regular expression routines. used in getnet.c
223: */
224: #if defined(BSD4x)
225: #define HAS_REGEXP
226: #endif
227:
228: /*
229: * Version of the database in use. You don't want to change this.
230: * This reflects the format of the notesfile database and when
231: * the database format changes, this changes. It shouldn't
232: * change unless the database format changes.
233: * Format: yyyymmdd
234: */
235:
236: #define DBVERSION 19850101 /* current format */
237:
238: /*
239: * If worrying about mangled id's coming back from older
240: * notesfile sites with shorter fields. This affects code
241: * in "find.c"
242: */
243: #define IDCOMPAT
244: #define OLDSYSSZ 10 /* old SYSSZ */
245: #undef FIXTIMES /* fix gmttimes in future */