/* $Id$ */ /* * Copyright (c) 2004 demon * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include #include #include "main.h" int main(int argc, char **argv) { extern struct ifdata ifdata; struct ifdata last; struct ifdata diff; char *arg; if(argv[1]) arg = argv[1]; else { (void)fprintf(stderr, "usage: %s \n", __progname); exit(2); } initscr(); curs_set(0); if_init(arg); if_stat(); last = ifdata; while(1) { if_stat(); diff.ibytes = ifdata.ibytes - last.ibytes; diff.obytes = ifdata.obytes - last.obytes; diff.ipackets = ifdata.ipackets - last.ipackets; diff.opackets = ifdata.opackets - last.opackets; out(&diff); last = ifdata; usleep(1000000); /* 1s */ }; if_fini(); endwin(); exit(0); } int error(char *message) { (void)fprintf(stderr, "%s: %s\n", __progname, message); if_fini(); endwin(); exit(1); }