Full regeneration
[hcoop/domtool2.git] / src / domain.sig
index 570fa5e..a937624 100644 (file)
 
 signature DOMAIN = sig
 
+    val yourPath : string -> bool
     val isIdent : char -> bool
     val validHost : string -> bool
     val validDomain : string -> bool
 
+    val ip : string Env.arg
+
+    val registerResetGlobal : (unit -> unit) -> unit
+    val registerResetLocal : (unit -> unit) -> unit
+    (* Register functions for clearing out all Domtool configuration at the global
+     * (AFS) and local levels, respectively. *)
+
+    val resetGlobal : unit -> unit
+    val resetLocal : unit -> unit
+    (* Call all registered functions *)
+
     val registerBefore : (string -> unit) -> unit
     val registerAfter : (string -> unit) -> unit
     (* Register handlers to run just before and after entering a domain
@@ -43,6 +55,8 @@ signature DOMAIN = sig
     (* Names of all system nodes *)
     val nodeMap : string Ast.StringMap.map
     (* Map node names to IP addresses *)
+    val nodeIp : string -> string
+    (* Look up a node in nodeMap *)
 
     val setUser : string -> unit
     val getUser : unit -> string
@@ -50,4 +64,15 @@ signature DOMAIN = sig
 
     val your_domains : unit -> DataStructures.StringSet.set
     (* The domains the current user may configure *)
+
+    val your_users : unit -> DataStructures.StringSet.set
+    val your_groups : unit -> DataStructures.StringSet.set
+    val your_paths : unit -> DataStructures.StringSet.set
+    (* UNIX users, groups, and paths the user may act with *)
+
+    val set_context : OpenSSL.context -> unit
+
+    val hasPriv : string -> bool
+
+    val rmdom : string -> unit
 end