Annotation of coherent/b/bin/ipcs/getkrnl.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * get_kernel_vals(). This is code borrowed from Hal's asypatch command.
        !             3:  * This code will get the following values from the kernel:
        !             4:  *     NSHMID:         max number of allowable shared memory segments
        !             5:  *     SEMMNI:         max number of allowable semaphores
        !             6:  *     NMSQID:         max number of allowable message queues
        !             7:  *
        !             8:  * The name of the symbol and kernel file are passed from the calling
        !             9:  * function.
        !            10:  */
        !            11: 
        !            12: #include <stdio.h>
        !            13: #include <coff.h>
        !            14: #include <fcntl.h>
        !            15: 
        !            16: get_krnl_vals(symbl, fname)
        !            17: char *symbl, *fname;
        !            18: {
        !            19: 
        !            20: static SYMENT se;
        !            21: int data;              /* buffer */
        !            22: int ret;               /* return status of coffpatch */
        !            23: 
        !            24:        se._n._n_n._n_zeroes = 0;               /* stuff for coffnlist */
        !            25:        se._n._n_n._n_offset = sizeof(long);
        !            26:        se.n_type = -1;
        !            27: 
        !            28:        ret = coffnlist(fname, &se, symbl, 1); /* fill SYMENT struct */
        !            29: 
        !            30:        /* get values from kernel for requested symbol. Abort on failure */
        !            31: 
        !            32:        if(ret){
        !            33:                ret = coffpatch(fname, &se, symbl, &data, sizeof(data), 1);
        !            34:        }else{
        !            35:                printf("Error obtaining value for {%s} from %s!\n",
        !            36:                        symbl, fname);
        !            37:                exit(1);
        !            38:        }
        !            39: 
        !            40:        return data;    /* return value of symbol found in kernel*/
        !            41: }

unix.superglobalmegacorp.com

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