xref: /openbsd-src/usr.bin/systat/cache.h (revision 0009a002729ba710c33f65863eeddfc957dfa0d6)
1*0009a002Stedu /* $OpenBSD: cache.h,v 1.6 2019/01/17 05:56:29 tedu Exp $ */
273baed14Scanacar /*
373baed14Scanacar  * Copyright (c) 2001, 2007 Can Erkin Acar <canacar@openbsd.org>
473baed14Scanacar  *
573baed14Scanacar  * Permission to use, copy, modify, and distribute this software for any
673baed14Scanacar  * purpose with or without fee is hereby granted, provided that the above
773baed14Scanacar  * copyright notice and this permission notice appear in all copies.
873baed14Scanacar  *
973baed14Scanacar  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1073baed14Scanacar  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1173baed14Scanacar  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1273baed14Scanacar  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1373baed14Scanacar  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1473baed14Scanacar  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1573baed14Scanacar  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1673baed14Scanacar  */
1773baed14Scanacar 
1873baed14Scanacar #ifndef _CACHE_H_
1973baed14Scanacar #define _CACHE_H_
2073baed14Scanacar 
2173baed14Scanacar #include <sys/queue.h>
2273baed14Scanacar #include <sys/tree.h>
23d93808b7Scanacar #include <net/pfvar.h>
2473baed14Scanacar 
2573baed14Scanacar struct sc_ent {
2673baed14Scanacar 	RB_ENTRY(sc_ent)    tlink;
2773baed14Scanacar 	TAILQ_ENTRY(sc_ent) qlink;
283230bc44Sdlg 	u_int64_t	    id;
293230bc44Sdlg 	u_int32_t	    creatorid;
3073baed14Scanacar 	double		    peak;
3173baed14Scanacar 	double		    rate;
3273baed14Scanacar 	time_t		    t;
335ddc7cc1Scanacar 	u_int64_t	    bytes;
3473baed14Scanacar };
3573baed14Scanacar 
3673baed14Scanacar int cache_init(int);
3773baed14Scanacar void cache_endupdate(void);
38d93808b7Scanacar struct sc_ent *cache_state(struct pfsync_state *);
3973baed14Scanacar extern int cache_max, cache_size;
4073baed14Scanacar 
41d93808b7Scanacar #define COUNTER(c) ((((u_int64_t) ntohl(c[0]))<<32) + ntohl(c[1]))
42d93808b7Scanacar 
4373baed14Scanacar #endif
44