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