1: /*
2: * Copyright (c) 1986 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: *
6: * @(#)main.c 1.1 (2.10BSD Berkeley) 12/1/86
7: */
8:
9: /*
10: * sysconfig -- Program to auto configure a kernel to the devices which
11: * are present. Needs the ucall() system call and special kernel to work.
12: */
13:
14: #include <machine/autoconfig.h>
15: #include <stdio.h>
16:
17: char *nlist_name = "/unix", /* kernel */
18: *dtab_name = "/etc/dtab", /* dtab file */
19: *myname; /* program name */
20: int kmem,
21: verbose = NO,
22: debug = NO,
23: complain = NO,
24: pflag = NO;
25:
26: main(argc,argv)
27: int argc;
28: char **argv;
29: {
30: extern char *optarg;
31: static char *kmem_name = "/dev/kmem";
32: int c;
33: char *C,
34: *rindex();
35:
36: setbuf(stdout, NULL);
37: myname = (C = rindex(*argv,'/')) ? ++C : *argv;
38: while((c = getopt(argc,argv,"Pcdi:k:n:v")) != EOF)
39: switch((char)c) {
40: case 'P': /* pflag, ask Mike */
41: pflag = YES;
42: break;
43: case 'c': /* complain about bad vectors */
44: complain = YES;
45: break;
46: case 'd': /* debugging run */
47: debug = YES;
48: break;
49: case 'i': /* not dtab, different file */
50: dtab_name = optarg;
51: break;
52: case 'k': /* not /dev/kmem, different file */
53: kmem_name = optarg;
54: break;
55: case 'n': /* not /unix, different file */
56: nlist_name = optarg;
57: break;
58: case 'v': /* verbose output */
59: verbose = YES;
60: break;
61: default:
62: fputs("usage: ",stderr);
63: fputs(myname,stderr);
64: fputs(" [-c] [-d] [-v] [-i file] [-k file] [-n file]\n",stderr);
65: exit(AC_SETUP);
66: }
67:
68: if ((kmem = open(kmem_name, 2)) < 0) {
69: perror(kmem_name);
70: exit(AC_SETUP);
71: }
72:
73: /* Read the dtab into internal tables so we can play with it */
74: read_dtab();
75:
76: /* Now set up for and call nlist so we can get kernel symbols */
77: read_nlist();
78:
79: /* And at last change the kernel to suit ourselves */
80: auto_config();
81:
82: /* All done go bye bye now */
83: exit(AC_OK);
84: }
Defined functions
main
defined in line
26;
never used
Defined variables
kmem
defined in line
20; used 7 times