|
|
1.1 root 1: /*
2: * make configuration files for unix v9
3: */
4:
5: #include <libc.h>
6: #include "mkconf.h"
7:
8: Mdev *mlist; /* master list of devices; no particular order */
9: Dev *dlist; /* configured devices; clustered by type, sorted within by id */
10: Scb *llist; /* scb offsets; sorted by offset */
11:
12: char *tfile = "tab";
13: char *dfile = "devs";
14: char *lfile = "low";
15: char *oconf = "conf.c";
16: char *olow = "low.s";
17:
18: #define NCF 10
19: char *cfile[NCF] = {"conf"};
20:
21: int errs;
22:
23: main(argc, argv)
24: int argc;
25: char **argv;
26: {
27: register char **p;
28:
29: p = cfile;
30: while (--argc > 0) {
31: if (**++argv != '-') {
32: if (p >= &cfile[NCF-1]) {
33: fprint(STDERR, "too many files\n");
34: exit(1);
35: }
36: *p++ = *argv;
37: continue;
38: }
39: if (argc == 1)
40: usage();
41: if (strcmp(*argv, "-d") == 0) {
42: dfile = *++argv;
43: argc--;
44: } else if (strcmp(*argv, "-t") == 0) {
45: tfile = *++argv;
46: argc--;
47: } else if (strcmp(*argv, "-l") == 0) {
48: lfile = *++argv;
49: argc--;
50: } else if (strcmp(*argv, "-c") == 0) {
51: oconf = *++argv;
52: argc--;
53: } else if (strcmp(*argv, "-s") == 0) {
54: olow = *++argv;
55: argc--;
56: } else
57: usage();
58: }
59: readdevs(dfile);
60: readtab(tfile);
61: readlow(lfile);
62: for (p = cfile; *p; p++)
63: readconf(*p);
64: fixup();
65: if (errs)
66: exit(1);
67: writconf(oconf);
68: writlow(olow);
69: exit(0);
70: }
71:
72: usage()
73: {
74: fprint(STDERR, "usage: mkconf [-d devices] [-l veclist] [-c conf.c] [-s low.s] conf\n");
75: exit(1);
76: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.