1 /* 2 * firewall3 - 3rd OpenWrt UCI firewall implementation 3 * 4 * Copyright (C) 2013 Jo-Philipp Wich <jo@mein.io> 5 * 6 * Permission to use, copy, modify, and/or distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 #ifndef __FW3_IPSETS_H 20 #define __FW3_IPSETS_H 21 22 #include <linux/netfilter/ipset/ip_set.h> 23 24 #include "options.h" 25 #include "utils.h" 26 27 28 extern const struct fw3_option fw3_ipset_opts[]; 29 30 void fw3_load_ipsets(struct fw3_state *state, struct uci_package *p, struct blob_attr *a); 31 void fw3_create_ipsets(struct fw3_state *state, enum fw3_family family, 32 bool reload_set); 33 void fw3_destroy_ipsets(struct fw3_state *state, enum fw3_family family, 34 bool reload_set); 35 36 struct fw3_ipset * fw3_lookup_ipset(struct fw3_state *state, const char *name); 37 38 bool fw3_check_ipset(struct fw3_ipset *set); 39 40 void 41 fw3_ipsets_update_run_state(enum fw3_family family, struct fw3_state *run_state, 42 struct fw3_state *cfg_state); 43 44 static inline void fw3_free_ipset(struct fw3_ipset *ipset) 45 { 46 list_del(&ipset->list); 47 fw3_free_object(ipset, fw3_ipset_opts); 48 } 49 50 #ifndef SO_IP_SET 51 52 #define SO_IP_SET 83 53 #define IPSET_MAXNAMELEN 32 54 #define IPSET_INVALID_ID 65535 55 56 union ip_set_name_index { 57 char name[IPSET_MAXNAMELEN]; 58 uint16_t index; 59 }; 60 61 #define IP_SET_OP_GET_BYNAME 0x00000006 62 struct ip_set_req_get_set { 63 uint32_t op; 64 uint32_t version; 65 union ip_set_name_index set; 66 }; 67 68 #define IP_SET_OP_VERSION 0x00000100 69 struct ip_set_req_version { 70 uint32_t op; 71 uint32_t version; 72 }; 73 74 #endif /* SO_IP_SET */ 75 76 #endif 77
This page was automatically generated by LXR 0.3.1. • OpenWrt