summaryrefslogtreecommitdiffstats
path: root/client/ruleset.h
diff options
context:
space:
mode:
Diffstat (limited to 'client/ruleset.h')
-rw-r--r--client/ruleset.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/client/ruleset.h b/client/ruleset.h
new file mode 100644
index 0000000..6ba2b67
--- /dev/null
+++ b/client/ruleset.h
@@ -0,0 +1,49 @@
+#ifndef foorulesethfoo
+#define foorulesethfoo
+
+#include <glib.h>
+#include <gtk/gtk.h>
+
+#include "../daemon/common.h"
+#include "main.h"
+#include "connection.h"
+#include "rule.h"
+
+typedef struct ruleset {
+ gboolean modified;
+ gchar *filename;
+
+ guint icmp_reject_code;
+ gboolean use_tcp_rst;
+ gboolean ignore_rules;
+ verdict_t unmatch_verdict;
+
+ GList *rules;
+} ruleset_t;
+
+extern ruleset_t ruleset;
+
+int ruleset_new(gchar *fn);
+int ruleset_load(gchar *fn);
+int ruleset_save(gchar *fn);
+int ruleset_initial_load();
+int ruleset_commit();
+int ruleset_append_rule(rule_t *rule);
+int ruleset_update_rule(rule_t *rule);
+int ruleset_remove_rule(rule_t *rule);
+int ruleset_move_rule(rule_t *rule, int i);
+void ruleset_clear();
+
+void ruleset_widget_init();
+void ruleset_update_ui();
+void ruleset_show_rule_info();
+rule_t* ruleset_get_current_rule();
+
+int ruleset_install();
+
+int ruleset_init();
+void ruleset_done();
+
+
+
+#endif