/* Copyright 2000 (c) by David Schweikert, Swiss Federal Institute of Technology, Computer Engineering and Networks Laboratory. TOPSY -- A Teachable Operating System. Implementation of a tiny and simple micro kernel for teaching purposes. For further information, please visit http://www.tik.ee.ethz.ch/~topsy This software is provided under the terms of the GNU General Public Licence. A full copy of the GNU GPL is provided in the file COPYING found in the development root of Topsy. */ /* File: $Source: /usr/drwho/vault/cvs/topsy/Topsy/Net/NetStat.c,v $ Author(s): Affiliation: ETH Zuerich, TIK Version: $Revision: 1.1 $ Creation Date: Last Date of Change: $Date: 2000/03/31 17:50:35 $ by: $Author: gfa $ $Log: NetStat.c,v $ Revision 1.1 2000/03/31 17:50:35 gfa Merged with /Net from several term projects */ #include "../Topsy/Topsy.h" #include "../Topsy/Syscall.h" #include "../User/UserSupport.h" #include "NetBuf.h" #include "NetStat.h" /* shell user program to display network statistics */ void NetStat(ThreadArg arg) { ThreadId tty; char *arg1; int i; ioOpen(IO_CONSOLE, &tty); ioInit(tty); arg1 = ((char **)arg)[1]; if(!arg1) { display(tty, "m: NetBuf statistics\n"); ioClose(tty); return; } switch(arg1[0]) { case 'm': ioPrintf(tty,"%s","size\tpools\tnetbufs\tmemory\tfull\n"); for(i=0; isizes[i], netbufStats->pools[i], netbufStats->usage[i], NETBUF_POOLSIZE*netbufStats->pools[i]/1024, (netbufStats->pools[i] ? (netbufStats->usage[i]*100 / (netbufStats->pools[i]*NETBUF_MAXBUFS(i))) : 0) ); } break; } ioClose(tty); }