Annotation of coherent/b/bin/ipcs/getkrnl.c, revision 1.1.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.