/* eurephiafw.h -- Firewall interface loader for the eurephia module * * GPLv2 only - Copyright (C) 2008 * David Sommerseth * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; version 2 * of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ /** * @file eurephiafw.h * @author David Sommerseth * @date 2008-08-10 * * @brief Takes care of loading the configured firewall driver and provides a * generic API for updating the firewall rules. * */ #ifndef EUREPHIAFW_H_ #define EUREPHIAFW_H_ #define FWRULE_ADD 0x101 /**< Add a new firewall rule */ #define FWRULE_DELETE 0x102 /**< Delete an existing firewall rule */ #define FWRULE_BLACKLIST 0x103 /**< Blacklist an IP address in the firewall */ int eFW_load(eurephiaCTX *ctx, const char *intf); int eFW_unload(eurephiaCTX *ctx); void eFW_StartFirewall(eurephiaCTX *ctx); void eFW_StopFirewall(eurephiaCTX *ctx); int eFW_UpdateFirewall(eurephiaCTX *ctx, int mode, const char *macaddr, const char *fwdest, const char *fwprofile); #endif /* !EUREPHIAFW_H_ */