safestats.c revision 267654
1285SN/A/*- 2462SN/A * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting 3285SN/A * All rights reserved. 4285SN/A * 5285SN/A * Redistribution and use in source and binary forms, with or without 6285SN/A * modification, are permitted provided that the following conditions 7285SN/A * are met: 8285SN/A * 1. Redistributions of source code must retain the above copyright 9285SN/A * notice, this list of conditions and the following disclaimer. 10285SN/A * 2. Redistributions in binary form must reproduce the above copyright 11285SN/A * notice, this list of conditions and the following disclaimer in the 12285SN/A * documentation and/or other materials provided with the distribution. 13285SN/A * 14285SN/A * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15285SN/A * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16285SN/A * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17285SN/A * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18285SN/A * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19285SN/A * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20285SN/A * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21285SN/A * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22285SN/A * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23285SN/A * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24285SN/A * SUCH DAMAGE. 25285SN/A * 26285SN/A * $FreeBSD: releng/9.3/tools/tools/crypto/safestats.c 117852 2003-07-21 21:58:04Z sam $ 27285SN/A */ 28285SN/A#include <stdio.h> 29285SN/A#include <sys/types.h> 30285SN/A#include "../../../sys/dev/safe/safevar.h" 31285SN/A 32285SN/A/* 33285SN/A * Little program to dump the statistics block for the safe driver. 34285SN/A */ 35285SN/Aint 36285SN/Amain(int argc, char *argv[]) 37285SN/A{ 38285SN/A struct safe_stats stats; 39285SN/A size_t slen; 40285SN/A 41285SN/A slen = sizeof (stats); 42285SN/A if (sysctlbyname("hw.safe.stats", &stats, &slen, NULL, NULL) < 0) 43285SN/A err(1, "hw.safe.stats"); 44285SN/A 45285SN/A printf("input %llu bytes %u packets\n", 46285SN/A stats.st_ibytes, stats.st_ipackets); 47285SN/A printf("output %llu bytes %u packets\n", 48285SN/A stats.st_obytes, stats.st_opackets); 49285SN/A printf("invalid %u badsession %u badflags %u\n", 50285SN/A stats.st_invalid, stats.st_badsession, stats.st_badflags); 51285SN/A printf("nodesc %u badalg %u ringfull %u\n", 52285SN/A stats.st_nodesc, stats.st_badalg, stats.st_ringfull); 53285SN/A printf("peoperr %u dmaerr %u bypasstoobig %u\n", 54 stats.st_peoperr, stats.st_dmaerr, stats.st_bypasstoobig); 55 printf("skipmismatch %u lenmismatch %u coffmisaligned %u cofftoobig %u\n", 56 stats.st_skipmismatch, stats.st_lenmismatch, 57 stats.st_coffmisaligned, stats.st_cofftoobig); 58 printf("iovmisaligned %u iovnotuniform %u noicvcopy %u\n", 59 stats.st_iovmisaligned, stats.st_iovnotuniform, 60 stats.st_noicvcopy); 61 printf("unaligned %u notuniform %u nomap %u noload %u\n", 62 stats.st_unaligned, stats.st_notuniform, stats.st_nomap, 63 stats.st_noload); 64 printf("nomcl %u mbuf %u maxqchip %u\n", 65 stats.st_nomcl, stats.st_nombuf, stats.st_maxqchip); 66 printf("rng %u rngalarm %u\n", 67 stats.st_rng, stats.st_rngalarm); 68 return 0; 69} 70