Annotation of 43BSD/games/snake/busy.c, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.