paulo@0: /* paulo@0: * $Id: gt_node_cache.h,v 1.4 2004/01/04 06:01:20 hipnod Exp $ paulo@0: * paulo@0: * Copyright (C) 2001-2003 giFT project (gift.sourceforge.net) paulo@0: * paulo@0: * This program is free software; you can redistribute it and/or modify it paulo@0: * under the terms of the GNU General Public License as published by the paulo@0: * Free Software Foundation; either version 2, or (at your option) any paulo@0: * later version. paulo@0: * paulo@0: * This program is distributed in the hope that it will be useful, but paulo@0: * WITHOUT ANY WARRANTY; without even the implied warranty of paulo@0: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU paulo@0: * General Public License for more details. paulo@0: */ paulo@0: paulo@0: #ifndef GIFT__GT_NODE_CACHE_H__ paulo@0: #define GIFT__GT_NODE_CACHE_H__ paulo@0: paulo@0: /*****************************************************************************/ paulo@0: paulo@0: struct ipv4_addr paulo@0: { paulo@0: in_addr_t ip; paulo@0: in_port_t port; paulo@0: }; paulo@0: paulo@0: struct cached_node paulo@0: { paulo@0: struct ipv4_addr addr; paulo@0: gt_node_class_t klass; paulo@0: time_t timestamp; paulo@0: time_t uptime; paulo@0: in_addr_t src_ip; paulo@0: }; paulo@0: paulo@0: /*****************************************************************************/ paulo@0: paulo@0: void gt_node_cache_add_ipv4 (in_addr_t ipv4, in_port_t port, paulo@0: gt_node_class_t klass, paulo@0: time_t timestamp, time_t uptime, paulo@0: in_addr_t src_ip); paulo@0: void gt_node_cache_del_ipv4 (in_addr_t ipv4, in_port_t port); paulo@0: paulo@0: List *gt_node_cache_get_remove (size_t max_len); paulo@0: List *gt_node_cache_get (size_t max_len); paulo@0: paulo@0: void gt_node_cache_trace (void); paulo@0: paulo@0: /*****************************************************************************/ paulo@0: paulo@0: void gt_node_cache_load (void); paulo@0: void gt_node_cache_save (void); paulo@0: paulo@0: /*****************************************************************************/ paulo@0: paulo@0: void gt_node_cache_init (void); paulo@0: void gt_node_cache_cleanup (void); paulo@0: paulo@0: /*****************************************************************************/ paulo@0: paulo@0: #endif /* GIFT__GT_NODE_CACHE_H__ */