Annotation of cci/usr/src/etc/nstat/enperrors.c, revision 1.1

1.1     ! root        1: /*                                                             */
        !             2: /*     if_enp: ACC VERSAbus Ethernet controler (v/eiu)         */
        !             3: /*                                                             */
        !             4: 
        !             5: 
        !             6: 
        !             7: #include <stdio.h>
        !             8: #include <sys/types.h>
        !             9: #include <sys/socket.h>
        !            10: #include <sys/errno.h>
        !            11: 
        !            12: #include <net/if.h>
        !            13: #include <net/netisr.h>
        !            14: #include <net/route.h>
        !            15: #include <netinet/in.h>
        !            16: #include <netinet/ip_var.h>
        !            17: #include <netinet/if_ether.h>
        !            18: 
        !            19: #include <machine/mtpr.h>
        !            20: #include <tahoeif/if_enp.h> 
        !            21: #include <tahoeif/if_debug.h> 
        !            22: #include <sys/buf.h>
        !            23: #include <vba/vbavar.h>
        !            24: #include <nlist.h>
        !            25: #include "nstat.h"
        !            26: 
        !            27: 
        !            28: struct nlist   enperr_nl[] = {
        !            29: #                      define  N_NUMENP        0       
        !            30:        { "_numenp" },
        !            31: #                      define  N_ENPERR        1       
        !            32:        { "_enperr" },
        !            33:        { "" },
        !            34: };
        !            35: 
        !            36: #define NENP           6
        !            37: #define        dash    "------------------"
        !            38: extern int     kmem;
        !            39: extern char    *system;
        !            40: 
        !            41: 
        !            42: enperrors()
        !            43: {
        !            44:        int     unit;
        !            45: 
        !            46:        struct  inp_err *p, enperr[NENP];
        !            47: 
        !            48:        off_t   numdev_memaddr;
        !            49:        off_t   enperr_memaddr;
        !            50:        int     num, Total;
        !            51: 
        !            52:        static  int     getvm = 0;
        !            53: 
        !            54:        if (!getvm) {
        !            55:                nlist(system, enperr_nl);
        !            56:                getvm = 1;
        !            57:        }
        !            58: 
        !            59:        numdev_memaddr = enperr_nl[N_NUMENP].n_value;
        !            60:        enperr_memaddr = enperr_nl[N_ENPERR].n_value;
        !            61: 
        !            62: 
        !            63:        if ( !numdev_memaddr || !enperr_memaddr ) {
        !            64:                printf("enperr: symbol not in namelist\n");
        !            65:                return;
        !            66:        }
        !            67: 
        !            68:        klseek(kmem, numdev_memaddr, 0);
        !            69:        read(kmem, (char *)&num, sizeof (num));
        !            70: 
        !            71:        if ((num < 0) || (num > NENP)) {  
        !            72:                printf("enperrors: invalid number of devices (num = %d)\n", num);
        !            73:                return;
        !            74:        }
        !            75: 
        !            76:        if (num == 0) {  
        !            77:                printf("enperrors: no enp (driver) installed.\n");
        !            78:                return;
        !            79:        }
        !            80: 
        !            81:        klseek(kmem, enperr_memaddr, 0);
        !            82:        read(kmem, enperr, sizeof(struct inp_err)*num);
        !            83: 
        !            84:        for (unit = 0; unit < num; unit++) {
        !            85:                p = &enperr[unit];
        !            86: 
        !            87:                printf("%s Driver-level input packet errors (%s%d) %s\n",
        !            88:                        dash, "enp", unit, dash);
        !            89:                printf("\t\t\t    ( Number of Packets )\n\n");
        !            90:                printf("\t\t\t\t    No Buffer\n");
        !            91:                printf("%s  %s  %s  %s  %s  %s  %s \n\n", "Device",
        !            92:                        "Bad Offset", "Bad Pkt Length",
        !            93:                        "Host", "Enp", "Bad Packet Type",
        !            94:                        "Input Q Full");
        !            95: 
        !            96:                printf("ENP%d  ", unit);
        !            97:                printf("%8d", p->bad_offset);
        !            98:                printf("%14d", p->bad_length);
        !            99:                printf("%10d", p->h_nobuffer);
        !           100:                printf("%6d", p->c_nobuffer);
        !           101:                printf("%12d", p->bad_packetype);
        !           102:                printf("%14d\n", p->inq_full);
        !           103:        }
        !           104: }

unix.superglobalmegacorp.com

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