Overhaul fwtool
[hcoop/domtool2.git] / src / plugins / firewall.sig
index 3283824..d69f3b7 100644 (file)
@@ -1,6 +1,6 @@
 (* HCoop Domtool (http://hcoop.sourceforge.net/)
  * Copyright (c) 2006-2007, Adam Chlipala
 (* HCoop Domtool (http://hcoop.sourceforge.net/)
  * Copyright (c) 2006-2007, Adam Chlipala
- * Copyright (c) 2011, Clinton Ebadi <clinton@unknownlamer.org>
+ * Copyright (c) 2011,2013 Clinton Ebadi <clinton@unknownlamer.org>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
 
 signature FIREWALL = sig
 
 
 signature FIREWALL = sig
 
-    type firewall_rules = { server_rules : ((string * string) list DataStructures.StringMap.map), 
-                           client_rules : ((string * string) list DataStructures.StringMap.map)}
+    datatype user = User of string
+
+    datatype fwnode = FirewallNode of string
+
+    datatype fwrule = Client of int list * string list
+                   | Server of int list * string list
+                   | ProxiedServer of int list
+                   | LocalServer of int list
+
+    type firewall_rules = (user * fwnode * fwrule) list
 
     val query : string -> string list
     (* List a user's local firewall rules. *)
 
     val query : string -> string list
     (* List a user's local firewall rules. *)