signature DOMAIN = sig
+ val yourPath : string -> bool
val isIdent : char -> bool
val validHost : string -> bool
val validDomain : string -> bool
+ val yourDomain : string -> bool
+ val validUser : string -> bool
+ val validEmailUser : 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
val dnsMaster : unit -> string option
(* Name of the node that is the DNS master for the current domain, if there
* is one *)
+
+ val nodes : string list
+ (* 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
+ (* Name of the UNIX user providing this configuration *)
+
+ 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 list -> unit
end