X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/60695e9923af9e74160575b5de0d5549808294b4..e0b80e65c8132f096ed5c92e42d4da7d33ff369b:/src/domain.sig diff --git a/src/domain.sig b/src/domain.sig index a749265..b3c06ce 100644 --- a/src/domain.sig +++ b/src/domain.sig @@ -24,9 +24,21 @@ signature DOMAIN = sig 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 (* Register handlers to run just before and after entering a domain @@ -38,6 +50,20 @@ signature DOMAIN = sig (* 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 *) @@ -63,5 +89,10 @@ signature DOMAIN = sig val set_context : OpenSSL.context -> unit - val inGroup : string -> bool + val hasPriv : string -> bool + + val rmdom : string list -> unit + + val homedirOf : string -> string + val homedir : unit -> string end