X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/8a7c40fa29ff18a437fcf4ee3f248a7aeb41c19c..06bd821502f57dcb4ef89295b221fc2b9a4f1ae3:/src/main.sig diff --git a/src/main.sig b/src/main.sig index 62a87ef..01edb0f 100644 --- a/src/main.sig +++ b/src/main.sig @@ -20,15 +20,66 @@ signature MAIN = sig - val tInit : unit -> Ast.typ - val registerDefault : string * Ast.typ * (unit -> Ast.exp) -> unit + val init : unit -> unit + val setupUser : unit -> string - val check : string -> Env.env * Ast.exp option + val check : Env.env -> string -> Env.env * Ast.exp option val check' : Env.env -> string -> Env.env + val checkDir : string -> unit val basis : unit -> Env.env - val reduce : string -> Ast.exp option - val eval : string -> unit + val reduce : Env.env -> string -> Env.env * Ast.exp option + val eval : Env.env -> Env.env_vars -> string -> Env.env * Env.env_vars + val request : string -> unit + val requestDir : string -> unit + + val requestPing : unit -> OS.Process.status + val requestShutdown : unit -> unit + val requestGrant : Acl.acl -> unit + val requestRevoke : Acl.acl -> unit + val requestListPerms : string -> (string * string list) list option + val requestWhoHas : {class : string, value : string} -> string list option + val requestRmdom : string list -> unit + val requestRegen : unit -> unit + val requestRegenTc : unit -> unit + val requestRmuser : string -> unit + val requestDescribe : string -> unit + + val requestSlavePing : unit -> OS.Process.status + val requestSlaveShutdown : unit -> unit + + val service : unit -> unit + val slave : unit -> unit + + val listBasis : unit -> string list + val autodocBasis : string -> unit + + val requestDbUser : {dbtype : string, passwd : string option} -> unit + val requestDbPasswd : {dbtype : string, passwd : string} -> unit + val requestDbTable : {dbtype : string, dbname : string} -> unit + val requestDbDrop : {dbtype : string, dbname : string} -> unit + val requestDbGrant : {dbtype : string, dbname : string} -> unit + + val requestListMailboxes : string -> Vmail.listing + val requestNewMailbox : {domain : string, user : string, + passwd : string, mailbox : string} -> unit + val requestPasswdMailbox : {domain : string, user : string, passwd : string} + -> unit + val requestRmMailbox : {domain : string, user : string} -> unit + + val requestSaQuery : string -> unit + val requestSaSet : string * bool -> unit + + val requestSmtpLog : string -> unit + + val requestMysqlFixperms : unit -> unit + + val requestApt : {node : string, pkg : string} -> OS.Process.status + val requestCron : {node : string, uname : string} -> OS.Process.status + val requestFtp : {node : string, uname : string} -> OS.Process.status + val requestTrustedPath : {node : string, uname : string} -> OS.Process.status + val requestSocketPerm : {node : string, uname : string} -> OS.Process.status + val requestFirewall : {node : string, uname : string} -> OS.Process.status end