signature MAIN = sig
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 * string option -> 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 requestReUsers : unit -> unit
+
+ val requestSlavePing : unit -> OS.Process.status
+ val requestSlaveShutdown : unit -> unit
- val request : string -> 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, encoding : string option} -> 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
+ val requestFirewallRegen : string -> OS.Process.status
end