* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-*)
+ *)
(* Main interface *)
signature MAIN = sig
- val tInit : Ast.typ
+ val init : unit -> unit
+ val setupUser : unit -> string
- val check : string -> unit
+ val check : 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 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