From 63d51b566ea270b45b5b34b1feab37b8faa28232 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 9 May 2004 23:20:43 +0000 Subject: main fieryfilter work git-svn-id: file:///home/lennart/svn/public/fieryfilter/fieryfilter@31 79e6afc9-17da-0310-ae3c-b873bff394f4 --- client/rule.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 client/rule.h (limited to 'client/rule.h') diff --git a/client/rule.h b/client/rule.h new file mode 100644 index 0000000..bb50d12 --- /dev/null +++ b/client/rule.h @@ -0,0 +1,52 @@ +#ifndef foorulehfoo +#define foorulehfoo + +#include +#include +#include +#include + +#include "connection.h" +#include "main.h" + +typedef enum match { + MATCH_INTERFACES = 1, + MATCH_DIRECTION = 4, + MATCH_TYPE = 8, + MATCH_SOURCE = 16, + MATCH_DESTINATION = 32, + MATCH_BROADCAST = 64, + MATCH_UNICAST = 128 +} match_t; + +typedef struct rule { + gboolean realized; + gboolean enabled; + gboolean being_edited; + verdict_t verdict; + char description[64]; + guint32 id; + GtkTreeIter iter; + + match_t match; + char device_in[IFNAMSIZ+1]; + char device_out[IFNAMSIZ+1]; + conn_direction_t direction; + guint protocol; + guint port; + guint icmp_type; + guint32 src_ip_address; + guint src_netmask_bits; + guint32 dst_ip_address; + guint dst_netmask_bits; +} rule_t; + +rule_t* rule_new(); +rule_t* rule_new_from_conn_info(conn_info_t *ci); +rule_t* rule_new_from_xml(xmlDocPtr doc, xmlNodePtr node); +void rule_free(rule_t *rule); +gchar* rule_match_string(rule_t* rule); + +int rule_to_xml(rule_t*rule, xmlDocPtr doc, xmlNodePtr node); + +#endif -- cgit