Annotation of cci/usr/src/etc/nstat/enperrors.c, revision 1.1.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.