val validDomain : string -> bool
val yourDomain : string -> bool
val validUser : string -> bool
+ val validEmailUser : string -> bool
val ip : string Env.arg
(* Open one of the current domain's configuration files for a particular
* node. *)
+ val currentAliasDomains : unit -> string list
+ val currentDomains : unit -> string list
+ (* Return the auxiliary domains being configured (not including
+ * currentDomain) or the list of all domains being configured,
+ * respectively. *)
+
+ (* The type of a set of files open for different domains. *)
+ type files = {write : string -> unit, (* Write a string to each. *)
+ writeDom : unit -> unit, (* Write each's domain name to it. *)
+ close : unit -> unit} (* Close all files. *)
+
+ val domainsFile : {node : string, name : string} -> files
+ (* Open a configuration file for every domain being configured. *)
+
val dnsMaster : unit -> string option
(* Name of the node that is the DNS master for the current domain, if there
* is one *)
val hasPriv : string -> bool
val rmdom : string list -> unit
+
+ val homedirOf : string -> string
+ val homedir : unit -> string
end