1192661Ssam/*- 2192661Ssam * Copyright (c) 2009 Sam Leffler, Errno Consulting 3192661Ssam * All rights reserved. 4192661Ssam * 5192661Ssam * Redistribution and use in source and binary forms, with or without 6192661Ssam * modification, are permitted provided that the following conditions 7192661Ssam * are met: 8192661Ssam * 1. Redistributions of source code must retain the above copyright 9192661Ssam * notice, this list of conditions and the following disclaimer, 10192661Ssam * without modification. 11192661Ssam * 2. Redistributions in binary form must reproduce at minimum a disclaimer 12192661Ssam * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any 13192661Ssam * redistribution must be conditioned upon including a substantially 14192661Ssam * similar Disclaimer requirement for further binary redistribution. 15192661Ssam * 16192661Ssam * NO WARRANTY 17192661Ssam * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18192661Ssam * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19192661Ssam * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY 20192661Ssam * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 21192661Ssam * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, 22192661Ssam * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23192661Ssam * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24192661Ssam * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25192661Ssam * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26192661Ssam * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27192661Ssam * THE POSSIBILITY OF SUCH DAMAGES. 28192661Ssam * 29192661Ssam * $FreeBSD$ 30192661Ssam */ 31192661Ssam 32192661Ssam#ifndef _NPESTATS_H_ 33192661Ssam#define _NPESTATS_H_ 34192661Ssam 35192661Ssam#include "statfoo.h" 36192661Ssam 37192661Ssam/* 38192661Ssam * npe statistics class. 39192661Ssam */ 40192661Ssamstruct npestatfoo { 41192661Ssam struct statfoo base; 42192661Ssam 43192661Ssam STATFOO_DECL_METHODS(struct npestatfoo *); 44192661Ssam 45192661Ssam /* set the network interface name for collection */ 46192661Ssam void (*setifname)(struct npestatfoo *, const char *ifname); 47192661Ssam}; 48192661Ssam 49192661Ssamstruct npestatfoo *npestats_new(const char *ifname, const char *fmtstring); 50192661Ssam#endif /* _NPESTATS_H_ */ 51