xref: /dflybsd-src/tools/tools/ath/common/diag.h (revision df052c2a9588fe12c7a2df4e61e2bfa3f3e16ce0)
1cde9b937SSascha Wildner #ifndef _DIAG_
2cde9b937SSascha Wildner #define	_DIAG_
3cde9b937SSascha Wildner /*-
4cde9b937SSascha Wildner  * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
5cde9b937SSascha Wildner  * All rights reserved.
6cde9b937SSascha Wildner  *
7cde9b937SSascha Wildner  * Redistribution and use in source and binary forms, with or without
8cde9b937SSascha Wildner  * modification, are permitted provided that the following conditions
9cde9b937SSascha Wildner  * are met:
10cde9b937SSascha Wildner  * 1. Redistributions of source code must retain the above copyright
11cde9b937SSascha Wildner  *    notice, this list of conditions and the following disclaimer,
12cde9b937SSascha Wildner  *    without modification.
13cde9b937SSascha Wildner  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
14cde9b937SSascha Wildner  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
15cde9b937SSascha Wildner  *    redistribution must be conditioned upon including a substantially
16cde9b937SSascha Wildner  *    similar Disclaimer requirement for further binary redistribution.
17cde9b937SSascha Wildner  *
18cde9b937SSascha Wildner  * NO WARRANTY
19cde9b937SSascha Wildner  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20cde9b937SSascha Wildner  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21*df052c2aSSascha Wildner  * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY
22cde9b937SSascha Wildner  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
23cde9b937SSascha Wildner  * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
24cde9b937SSascha Wildner  * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25cde9b937SSascha Wildner  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26cde9b937SSascha Wildner  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
27cde9b937SSascha Wildner  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28cde9b937SSascha Wildner  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
29cde9b937SSascha Wildner  * THE POSSIBILITY OF SUCH DAMAGES.
30cde9b937SSascha Wildner  *
31cde9b937SSascha Wildner  * $FreeBSD: src/tools/tools/ath/common/diag.h,v 1.1 2008/12/07 19:17:33 sam Exp $
32cde9b937SSascha Wildner  */
33cde9b937SSascha Wildner #include <sys/types.h>
34cde9b937SSascha Wildner #include <sys/file.h>
35cde9b937SSascha Wildner #include <sys/ioctl.h>
36cde9b937SSascha Wildner #include <sys/socket.h>
37cde9b937SSascha Wildner #include <net/if.h>
38cde9b937SSascha Wildner #include <stdio.h>
39cde9b937SSascha Wildner 
40cde9b937SSascha Wildner #include <netproto/802_11/ieee80211_radiotap.h>
41cde9b937SSascha Wildner #include "if_athioctl.h"
42cde9b937SSascha Wildner 
43cde9b937SSascha Wildner struct statshandler {
44cde9b937SSascha Wildner 	u_long	interval;
45cde9b937SSascha Wildner 	void	*total;
46cde9b937SSascha Wildner 	void	*cur;
47cde9b937SSascha Wildner 
48cde9b937SSascha Wildner 	void (*getstats)(struct statshandler *, void *);
49cde9b937SSascha Wildner 	void (*update)(struct statshandler *);
50cde9b937SSascha Wildner 
51cde9b937SSascha Wildner 	void (*printbanner)(struct statshandler *, FILE *);
52cde9b937SSascha Wildner 	void (*reportdelta)(struct statshandler *, FILE *);
53cde9b937SSascha Wildner 	void (*reporttotal)(struct statshandler *, FILE *);
54cde9b937SSascha Wildner 	void (*reportverbose)(struct statshandler *, FILE *);
55cde9b937SSascha Wildner };
56cde9b937SSascha Wildner 
57cde9b937SSascha Wildner extern	void reportstats(FILE *fd, struct statshandler *sh);
58cde9b937SSascha Wildner extern	void runstats(FILE *fd, struct statshandler *sh);
59cde9b937SSascha Wildner extern	void reportcol(FILE *fd, u_int32_t v, const char *def_fmt,
60cde9b937SSascha Wildner 		u_int32_t max, const char *alt_fmt);
61cde9b937SSascha Wildner #endif /* _DIAG_ */
62