structure MsgTypes = struct
+datatype socket_permission =
+ Any
+ | Client
+ | Server
+ | Nada
+
datatype query =
QApt of string
(* Is this apt package installed? *)
+ | QCron of string
+ (* Is this user allowed to use cron? *)
+ | QFtp of string
+ (* Is this user allowed to use FTP? *)
+ | QTrustedPath of string
+ (* Is this user restricted to trusted-path executables? *)
+ | QSocket of string
+ (* What socket permissions does this user have? *)
+ | QFirewall of string
+ (* What firewall rules does this user have? *)
datatype msg =
MsgOk
(* Answers to boolean queries *)
| MsgQuery of query
(* Ask for host-specific information *)
+ | MsgSocket of socket_permission
+ (* Answer to a QSocket query *)
+ | MsgFirewall of string list
+ (* Answer to a QFirewall query *)
end