xref: /original-bsd/games/snake/snake/busy.c (revision 18f6d767)
1 #ifndef lint
2 static char sccsid[] = "@(#)busy.c	4.1 (Berkeley) 07/04/83";
3 #endif
4 
5 /*
6  * busy: print an indication of how busy the system is for games.
7  */
8 #ifndef MAX
9 # define MAX 30
10 #endif
11 
12 #include <stdio.h>
13 main(argc, argv)
14 char **argv;
15 {
16 	double la[3];
17 	double max;
18 
19 	loadav(la);
20 	max = la[0];
21 	if (la[1] > max) max = la[1];
22 	if (la[2] > max) max = la[2];
23 	if (argc > 1)
24 		printf("1=%g, 5=%g, 15=%g, max=%g\n", la[0], la[1], la[2], max);
25 	if (max > MAX)
26 		printf("100\n");	/* incredibly high, no games allowed */
27 	else
28 		printf("0\n");
29 	exit(0);
30 }
31 
32 #include <sys/types.h>
33 #include <a.out.h>
34 
35 struct	nlist nl[] = {
36 	{ "_avenrun" },
37 	{ 0 },
38 };
39 
40 loadav(avenrun)
41 double	*avenrun;
42 {
43 	register int i;
44 	int	kmem;
45 
46 	if ((kmem = open("/dev/kmem", 0)) < 0) {
47 		fprintf(stderr, "No kmem\n");
48 		exit(1);
49 	}
50 	nlist("/vmunix", nl);
51 	if (nl[0].n_type==0) {
52 		fprintf(stderr, "No namelist\n");
53 		exit(1);
54 	}
55 
56 	lseek(kmem, (long)nl[0].n_value, 0);
57 	read(kmem, avenrun, 3*sizeof(*avenrun));
58 }
59