-char *cpu_type, *ident, *ns(), *malloc(), *tc(), *qu();
-bool do_trace, seen_mba, seen_uba;
-struct device *connect();
-struct device *dtab;
-char errbuf[80];
-int yyline;
-struct file_list *ftab, *conf_list, *confp;
-char *PREFIX;
+/*
+ * Config has a global notion of which machine type is
+ * being used. It uses the name of the machine in choosing
+ * files and directories. Thus if the name of the machine is ``vax'',
+ * it will build from ``makefile.vax'' and use ``../vax/asm.sed''
+ * in the makerules, etc.
+ */
+int machine;
+char *machinename;
+#define MACHINE_VAX 1
+#define MACHINE_SUN 2
+
+/*
+ * For each machine, a set of CPU's may be specified as supported.
+ * These and the options (below) are put in the C flags in the makefile.
+ */
+struct cputype {
+ char *cpu_name;
+ struct cputype *cpu_next;
+} *cputype;
+
+/*
+ * A set of options may also be specified which are like CPU types,
+ * but which may also specify values for the options.
+ */
+struct opt {
+ char *op_name;
+ char *op_value;
+ struct opt *op_next;
+} *opt;
+
+char *ident;
+char *ns();
+char *tc();
+char *qu();
+char *get_word();
+char *path();
+char *raise();
+
+int do_trace;
+
+char *index();
+char *rindex();
+char *malloc();
+char *strcpy();
+char *strcat();
+char *sprintf();
+
+#if MACHINE_VAX
+int seen_mba, seen_uba;
+#endif
+
+struct device *connect();
+struct device *dtab;
+
+char errbuf[80];
+int yyline;
+
+struct file_list *ftab, *conf_list, *confp;
+char *PREFIX;
+
+int timezone, hadtz;
+int dst;
+int profiling;
+
+int maxusers;
+
+#define eq(a,b) (!strcmp(a,b))