1236834Sadrian/*-
2236834Sadrian * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
3236834Sadrian * All rights reserved.
4236834Sadrian *
5236834Sadrian * Redistribution and use in source and binary forms, with or without
6236834Sadrian * modification, are permitted provided that the following conditions
7236834Sadrian * are met:
8236834Sadrian * 1. Redistributions of source code must retain the above copyright
9236834Sadrian *    notice, this list of conditions and the following disclaimer,
10236834Sadrian *    without modification.
11236834Sadrian * 2. Redistributions in binary form must reproduce at minimum a disclaimer
12236834Sadrian *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
13236834Sadrian *    redistribution must be conditioned upon including a substantially
14236834Sadrian *    similar Disclaimer requirement for further binary redistribution.
15236834Sadrian *
16236834Sadrian * NO WARRANTY
17236834Sadrian * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18236834Sadrian * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19236834Sadrian * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
20236834Sadrian * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
21236834Sadrian * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
22236834Sadrian * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23236834Sadrian * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24236834Sadrian * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25236834Sadrian * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26236834Sadrian * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27236834Sadrian * THE POSSIBILITY OF SUCH DAMAGES.
28236834Sadrian *
29236834Sadrian * $FreeBSD$
30236834Sadrian */
31236834Sadrian
32236834Sadrian#ifndef _ATHAGGRSTATS_H_
33236834Sadrian#define	_ATHAGGRSTATS_H_
34236834Sadrian
35236834Sadrian#include "statfoo.h"
36236834Sadrian
37236834Sadrian/*
38236834Sadrian * ath statistics class.
39236834Sadrian */
40236834Sadrianstruct athaggrstatfoo {
41236834Sadrian	struct statfoo base;
42236834Sadrian
43236834Sadrian	STATFOO_DECL_METHODS(struct athaggrstatfoo *);
44236834Sadrian
45236834Sadrian	/* set the network interface name for collection */
46236834Sadrian	void (*setifname)(struct athaggrstatfoo *, const char *ifname);
47236834Sadrian	/* set the mac address of the associated station/ap */
48236834Sadrian	void (*setstamac)(struct athaggrstatfoo *, const uint8_t mac[]);
49236834Sadrian	/* zero in-kernel statistics */
50236834Sadrian	void (*zerostats)(struct athaggrstatfoo *);
51236834Sadrian};
52236834Sadrian
53236834Sadrianstruct athaggrstatfoo *athaggrstats_new(const char *ifname,
54236834Sadrian    const char *fmtstring);
55236834Sadrian
56236834Sadrian#endif /* _ATHAGGRSTATS_H_ */
57