1: #if defined(RCSIDENT) && defined(MAINLINE)
2: static char zzparms[] = "$Header: parms.h,v 1.7.0.8 85/09/20 12:56:25 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 0 /* working set size */
13:
14: #define DFLTSH "/bin/sh" /* default shell */
15: #define DFLTED "/bin/ed" /* default editor */
16: #define SEQFILE "Dflt-Seq" /* file in MSTDIR */
17: #define DFLTSEQ "general,net.general" /* 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 "/usr/ucb/mail" /* mailer to use */
25: #define SUPERMAILER /* is a smart mailer */
26: #define "/usr/ucb/more" /* pg/more default */
27: #define WRITE "/bin/write" /* 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 "CS.UIUC.EDU" /* 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: */
48:
49: #undef BSD41 /* Berkeley 4.1 bsd */
50: #undef BSD41A /* Berkeley 4.1a bsd */
51: #define BSD42 /* Berkeley 4.2 Bsd */
52: #undef V7 /* version 7 kernel */
53: #undef SYSIII /* BTL System III kernel */
54: #undef UNIX40 /* Unix 4.0 kernel */
55: #undef SYSV /* BTL System V kernel */
56: #undef BSD28 /* Berkeley 2.8 */
57: #undef BSD29 /* Berkeley 2.9 */
58:
59: /*
60: * Some configurable options. These depend on how you like
61: * to flavor your stew.
62: * Define What it gets you
63: * -------- -------------------------------------
64: * PROMPT if you want a command prompt.
65: * USERHOST if you want addresses in the form
66: * user@host instead of host!user
67: * DYNADIR enables code to determine Mstdir
68: * (the /usr/spool/notes directory) from
69: * the /etc/passwd. When on, Mstdir is
70: * set to the directory above notes' home.
71: * K_KEY Defined if you want k and K to be aliases
72: * for q and Q. It is handy and allows you
73: * to read with one hand. You can also
74: * get very aggravated when you hit "k" instead
75: * of "j".
76: * BIGTEXT change from a u_short to a long counter
77: * to allow longer texts...
78: */
79:
80: #undef PROMPT "? " /* command prompt */
81: #undef PROMPTMSGX (17) /* stren(PROMPT) */
82: #define USERHOST /* user@host */
83: #undef DYNADIR /* dynamic Mstdir */
84: #define K_KEY /* k==q, K==Q */
85: #define BIGTEXT /* 32 bit counters */
86:
87:
88: /*
89: * The remaining options are pretty much stock. You shouldn't
90: * have to play with them unless you want to run a very non-standard
91: * shop.
92: */
93:
94:
95: #define NFMAINT "nfmaint" /* internal logging */
96: #define AUTOCREATE /* automatic mknf */
97: #define STATS /* keep usage stats */
98:
99: #define FASTSEQ /* use stat to check */
100:
101: #define DUMPCORE "coredump" /* subdir of UTILITY */
102:
103: #define FASTFORK /* faster forking */
104: /*
105: * Thanks to Malcolm Slaney of Purdue EE for both BUFIO and FASTFORK
106: * modifications. (BUFIO is now used exclusively and so isn't
107: * surrounded by ifdefs any more.
108: */
109:
110: /*
111: * REMAINDER OF THIS FILE PROBABLY DOESN'T NEED TO BE CHANGED
112: *
113: * Do some specific defines that go along with particluar OS's.
114: * I may have missed some stuff and if you are running hybrid
115: * versions of Unix, you might need to change things.
116: */
117:
118: #if defined(BSD41) /* UCB 4.1 BSD */
119: #define VFORK
120: #define BSD4x
121: #endif defined(BSD41)
122:
123: #if defined(BSD41A) /* UCB 4.1a BSD */
124: #define PORTBINARY /* portable binaries */
125: #define VFORK
126: #define BSD4x
127: #endif defined(BSD41A)
128:
129: #if defined(BSD42) /* UCB 4.2 BSD */
130: #define PORTBINARY
131: #define VFORK
132: #define BSD4x
133: #define FILENAMELEN 255
134: #endif defined(BSD42)
135:
136: #if defined(V7) /* Research V7 */
137: #define WHOAMI
138: #define WHOAMIFILE "/usr/include/whoami.h"
139: /*
140: * has a line in it of the form:
141: * #define sysname "XXXX"
142: * and maybe other lines too.
143: */
144: #endif defined(V7)
145:
146: #if defined(SYSIII) /* BTL System III */
147: #define UNAME /* more port-binary */
148: #define USG /* BTL Unix */
149: #endif defined(SYSIII)
150:
151: #if defined(UNIX40) /* BTL (internal) */
152: #define UNAME /* more port-binary */
153: #define USG /* BTL Unix */
154: #endif defined(UNIX40)
155:
156: #if defined(SYSV) /* BTL System V */
157: #define UNAME /* more port-binary */
158: #define USG /* BTL Unix */
159: #endif defined(SYSV)
160:
161: #ifdef USG /* a BTL Unix */
162: /*
163: * BTL Unix doesn't have index/rindex. Instead have strchr/strrchr.
164: * define as macros here instead of plain substitution so won't
165: * get tripped on a variable called "index" someday.
166: */
167: #define index(s,c) strchr(s,c) /* 1st char */
168: #define rindex(s,c) strrchr(s,c) /* last char */
169:
170: extern char *strchr (); /* for lint */
171: extern char *strrchr ();
172: #else
173: extern char *index (); /* for lint */
174: extern char *rindex ();
175: #endif USG
176:
177: #if defined(BSD28) /* UCB 2.8 BSD */
178: #define BSD2x
179: #endif defined(BSD28)
180:
181: #if defined(BSD29) /* UCB 2.9 BSD */
182: #define BSD2x
183: #endif defined(BSD29)
184:
185: /*
186: * if the kernel hasn't already selected this...
187: */
188:
189: #ifndef FILENAMELEN
190: #define FILENAMELEN 14
191: #endif
192: #define ROTATE 13 /* rotation factor */
193: #ifndef PROMPTMSGX
194: #define PROMPTMSGX (15) /* make sure it's there */
195: #endif PROMPTMSGX
196:
197: #ifndef VFORK
198: #define vfork fork
199: /*
200: * There are legit uses of both fork/vfork.
201: * This lets us use vfork where we should and it defaults
202: * to fork on systems that don't have it.
203: *
204: * This may be a red herring for this implementation, but I
205: * like the idea.
206: */
207: #endif VFORK
208:
209: #define SHAREDATA /* in note.c, resp.c */
210: #undef RUNSUID /* use set-gid */
211:
212: /*
213: * Version of the database in use. You don't want to change this.
214: * This reflects the format of the notesfile database and when
215: * the database format changes, this changes. It shouldn't
216: * change unless the database format changes.
217: * Format: yyyymmdd
218: */
219:
220: #define DBVERSION 19850101 /* current format */
221:
222: /*
223: * If worrying about mangled id's coming back from older
224: * notesfile sites with shorter fields. This affects code
225: * in "find.c"
226: */
227: #define IDCOMPAT
228: #define OLDSYSSZ 10 /* old SYSSZ */
229: #undef FIXTIMES /* fix gmttimes in future */