source: rtems/cpukit/libnetworking/rtems/rtems_showmbuf.c @ 39e6e65a

4.104.114.84.95
Last change on this file since 39e6e65a was 39e6e65a, checked in by Joel Sherrill <joel.sherrill@…>, on 08/19/98 at 21:32:28

Base files

  • Property mode set to 100644
File size: 1.7 KB
Line 
1#include <sys/param.h>
2#include <sys/queue.h>
3#include <sys/systm.h>
4#include <sys/kernel.h>
5#include <sys/sysctl.h>
6#include <sys/proc.h>
7#include <sys/mbuf.h>
8
9/*
10 * Display MBUF statistics
11 * Don't lock the rest of the network tasks out while printing.
12 * It's no big deal if the values change while being printed.
13 */
14void
15rtems_bsdnet_show_mbuf_stats (void)
16{
17        int i;
18        int printed = 0;
19        char *cp;
20
21        printf ("************ MBUF STATISTICS ************\n");
22        printf ("mbufs:%4lu    clusters:%4lu    free:%4lu\n",
23                        mbstat.m_mbufs, mbstat.m_clusters, mbstat.m_clfree);
24        printf ("drops:%4lu       waits:%4lu  drains:%4lu\n",
25                        mbstat.m_drops, mbstat.m_wait, mbstat.m_drain);
26        for (i = 0 ; i < 20 ; i++) {
27                switch (i) {
28                case MT_FREE:           cp = "free";            break;
29                case MT_DATA:           cp = "data";            break;
30                case MT_HEADER:         cp = "header";          break;
31                case MT_SOCKET:         cp = "socket";          break;
32                case MT_PCB:            cp = "pcb";             break;
33                case MT_RTABLE:         cp = "rtable";          break;
34                case MT_HTABLE:         cp = "htable";          break;
35                case MT_ATABLE:         cp = "atable";          break;
36                case MT_SONAME:         cp = "soname";          break;
37                case MT_SOOPTS:         cp = "soopts";          break;
38                case MT_FTABLE:         cp = "ftable";          break;
39                case MT_RIGHTS:         cp = "rights";          break;
40                case MT_IFADDR:         cp = "ifaddr";          break;
41                case MT_CONTROL:        cp = "control";         break;
42                case MT_OOBDATA:        cp = "oobdata";         break;
43                default:                cp = NULL;              break;
44                }
45                if ((cp != NULL) || (mbstat.m_mtypes[i] != 0)) {
46                        char cbuf[16];
47                        if (cp == NULL) {
48                                sprintf (cbuf, "Type %d", i);
49                                cp = cbuf;
50                        }
51                        printf ("%10s:%-8u", cp, mbstat.m_mtypes[i]);
52                        if (++printed == 4) {
53                                printf ("\n");
54                                printed = 0;
55                        }
56                }
57        }
58        if (printed)
59                printf ("\n");
60        printf ("\n");
61}
Note: See TracBrowser for help on using the repository browser.