-#ifndef lint
+#if (!defined(lint) && !defined(SABER))
static char rcsid_module_c[] = "$Header$";
#endif lint
-/* This is the file menu.c for allmaint, the SMS client that allows
- * a user to maintaint most important parts of the SMS database.
- * It Contains: all menu definitions for allmaint.
+/* This is the file menus.c for the MOIRA Client, which allows a nieve
+ * user to quickly and easily maintain most parts of the MOIRA database.
+ * It Contains: All menu definitions.
*
* Created: 4/11/88
* By: Chris D. Peterson
* $Author$
* $Header$
*
- * Copyright 1987, 1988 by the Massachusetts Institute of Technology.
+ * Copyright 1988 by the Massachusetts Institute of Technology.
*
* For further information on copyright and distribution
* see the file mit-copyright.h
#include <stdio.h>
#include <menu.h>
+
#include "mit-copyright.h"
-#include "allmaint.h"
+#include "defs.h"
+#include "f_defs.h"
+#include "globals.h"
-/*
- * Attachmaint Menus
+
+/* ------------------------- Second Tier Menus ------------------------- */
+
+/*
+ * Cluster Data Menu
*/
-Menu attachmaint_filemenu = {
- NULLFUNC,
- NULLFUNC,
- "Filesystem Maintenance",
- 5,
+Menu cluster_data_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "Cluster Data Menu",
+ 4,
{
- { GetFS, NULLMENU, 2, {
- {"get", "Get Filesystem Name Information"},
- {"name", "Name of Filesystem: "}
- } },
- { AddFS, NULLMENU, 2, {
- {"add", "Add New Filesystem to Database"},
- {"name", "name: "},
- } },
- { ChangeFS, NULLMENU, 2, {
- {"change", "Update Filesystem Information"},
- {"name", "name: "},
+ { ShowClusterData, NULLMENU, 3, {
+ {"show", "Show Data on a given Cluster"},
+ {"clus", "Cluster's Name: "},
+ {"label", "Label Identifing the data: "},
} },
- { RenameFS, NULLMENU, 2, {
- {"rename", "Rename Filesystem"},
- {"name", "Current (Old) Name: "},
+ { AddClusterData, NULLMENU, 4, {
+ {"add", "Add Data to a given Cluster"},
+ {"clus", "Cluster Name: "},
+ {"label", "Label Identifing the data: "},
+ {"data", "The data to be added: "},
} },
- { DeleteFS, NULLMENU, 2, {
- {"delete", "Delete Filesystem"},
- {"name", "Filesystem Name: "}
- } }
+ { RemoveClusterData, NULLMENU, 3, {
+ {"delete", "Remove Data from a given Cluster"},
+ {"clus", "Cluster's Name: "},
+ {"label", "Label Identifing the data: "},
+ } },
+ SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
}
};
-Menu attachmaint_top_menu = {
- NULLFUNC,
- NULLFUNC,
- "Attach/Filesystem Maintenance",
- 7,
- {
- SUBMENU("filesystem", "Filesystem Work", &filemenu),
- { GetFSAlias, NULLMENU, 2, {
- {"check", "Check An Association."},
- {"name", "name (user/group/course): "}
- } },
- { CreateFSAlias, NULLMENU, 2, {
- {"alais", "Associate with a Filesystem."},
- {"name", "name (user/course/project): "},
- } },
- { DeleteFSAlias, NULLMENU, 2, {
- {"unalias", "Disassociate from a Filesystem."},
- {"name", "name (user/course/project): "},
- } },
- SIMPLEFUNC("verbose", "Toggle Verbosity of Delete.", ToggleVerboseMode),
- SIMPLEFUNC("help", "Help ...", AttachHelp)
- }
+/*
+ * List Information Menu
+ */
+
+Menu list_info_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "List Information Menu",
+ 3,
+ {
+ SIMPLEFUNC("member",
+ "Show all lists to which a given member belongs",
+ ListByMember),
+ SIMPLEFUNC("admin",
+ "Show all items which a given member can administer",
+ ListByAdministrator),
+ SIMPLEFUNC("public", "Show all public mailing lists",
+ ListAllPublicMailLists),
+ }
};
/*
- * Clustermaint Menus
+ * List Member Menu
*/
-Menu clustermaint_machine_menu = {
+Menu list_member_menu = {
+ ListmaintMemberMenuEntry,
+ ListmaintMemberMenuExit,
+ NULL,
+ 7,
+ {
+ SIMPLEFUNC("add", "Add a member to this list", AddMember),
+ SIMPLEFUNC("remove", "Remove a member from this list", DeleteMember),
+ SIMPLEFUNC("all", "Show the members of this list", ListAllMembers),
+ SIMPLEFUNC("user", "Show the members of type USER", ListUserMembers),
+ SIMPLEFUNC("list", "Show the members of type LIST", ListListMembers),
+ SIMPLEFUNC("string", "Show the members of type STRING",
+ ListStringMembers),
+ SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
+ }
+};
+
+/*
+ * Machine To Cluster Mappings Menu
+ */
+
+Menu mappings_menu = {
NULLFUNC,
NULLFUNC,
- "Machine Maintenence",
- 7,
+ "Machine To Cluster Mappings Menu",
+ 4,
{
- { ShowMachineInfo, NULLMENU, 2, {
- {"ShowMachineInfo","Get machine information."},
- {"name","Machine's Name: "}
+ { MachineToClusterMap, NULLMENU, 3, {
+ {"map", "Show Machine to cluster mapping"},
+ {"name", "Machine's Name: "},
+ {"cluster", "Cluster's Name: "},
} },
- { AddMachine, NULLMENU, 2, {
- {"AddMachine","Add a new machine."},
+ { AddMachineToCluster, NULLMENU, 3, {
+ {"addcluster","Add machines to a clusters"},
{"name","Machine's Name: "},
+ {"cluster", "Cluster's Name: "},
} },
- { UpdateMachine, NULLMENU, 2, {
- {"UpdateMachine","Update machine information."},
+ { RemoveMachineFromCluster, NULLMENU, 3, {
+ {"remcluster", "Remove machines from clusters"},
{"name","Machine's Name: "},
+ {"cluster", "Cluster's Name: "},
} },
- { ChangeMachineName, NULLMENU, 2, {
- {"ChangeMachineName", "Change the name of machine"},
- {"old", "Current (old) Machine's Name: "},
- } },
- { DeleteMachine, NULLMENU, 2, {
- {"DeleteMachine","Delete this machine."},
- {"name","Machine's Name: "}
+ SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode),
+ }
+};
+
+/*
+ * Post Office Box Menu
+ */
+
+Menu pobox_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "Post Office Box Menu",
+ 4,
+ {
+ {GetUserPOBox, NULLMENU, 2, {
+ {"show", "Show a user's post office box"},
+ {"login name", "login name: "}
} },
- { AddMachineToCluster, NULLMENU, 3, {
- {"AddMachineToCluster","Add this machine to a cluster."},
- {"name","Machine's Name: "},
- {"cluster","Name of the Cluster: "}
+ {SetUserPOBox, NULLMENU, 2, {
+ {"set", "Set (Add or Change) a user's post office box"},
+ {"login name", "login name: "}
} },
- { DeleteMachineFromAllClusters, NULLMENU, 2, {
- {"DeleteMachineFromAllClusters",
- "Delete this machine from all clusters."},
- {"name","Machine's Name: "},
+ {RemoveUserPOBox, NULLMENU, 2, {
+ {"remove", "Remove a user's post office box"},
+ {"login name", "login name: "}
} },
+ SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
}
};
+
+/*
+ * Quota Menu
+ */
+
+Menu quota_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "Quota Menu",
+ 8,
+ {
+ SIMPLEFUNC("shdef", "Show default user quota (in KB)", ShowDefaultQuota),
+ {ChangeDefaultQuota, NULLMENU, 2, {
+ {"chdef", "Change default user quota"},
+ {"quota", "New quota (in KB): "}
+ } },
+ SIMPLEFUNC("getquota", "Show a quota on a filesystem",
+ GetQuota),
+ SIMPLEFUNC("getfsquotas", "Show all quotas on a filesystem",
+ GetQuotaByFilesys),
+ SIMPLEFUNC("addquota", "Add a new disk quota on a filesystem",
+ AddQuota),
+ SIMPLEFUNC("upquota", "Change a quota on a filesystem",
+ UpdateQuota),
+ SIMPLEFUNC("delquota", "Delete a quota on a filesystem",
+ DeleteQuota),
+ SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
+ }
+};
+
+Menu fsgroup_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "Filesystem Group Menu",
+ 6,
+ {
+ { GetFS, NULLMENU, 2, {
+ {"get", "Get individual or group filesystem information"},
+ {"name", "Name of Filesystem: "}
+ } },
+ { AddFSToGroup, NULLMENU, 3, {
+ {"add", "Add a new filesystem to an FS group"},
+ {"group", "FS Group name: "},
+ {"filsys", "Filesystem name: "}
+ } },
+ { RemoveFSFromGroup, NULLMENU, 3, {
+ {"remove", "Remove a filesystem from an FS group"},
+ {"group", "FS Group name: "},
+ {"filsys", "Filesystem name: "}
+ } },
+ { ChangeFSGroupOrder, NULLMENU, 2, {
+ {"order", "Change the order of filesystems in a group"},
+ {"group", "FS Group name: "}
+ } },
+ SIMPLEFUNC("help", "Info on Filesystem Groups", FSGroupHelp),
+ SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
+ }
+};
-Menu clustermaint_cluster_menu = {
+Menu service_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "DCM Service Menu",
+ 6,
+ {
+ { showserv, NULLMENU, 2, {
+ { "showserv", "Show service information" },
+ { "service name", "Name of service: " },
+ } },
+ { addserv, NULLMENU, 2, {
+ { "addserv", "Add a new service" },
+ { "service name", "Name of service: " },
+ } },
+ { updateserv, NULLMENU, 2, {
+ { "updateserv", "Update service information" },
+ { "service name", "Name of service: " },
+ } },
+ { resetsrverr, NULLMENU, 2, {
+ { "resetsrverr", "Reset service error" },
+ { "service name", "Name of service: " },
+ } },
+ { resetsrvc, NULLMENU, 2, {
+ { "resetsrvc", "Reset service state" },
+ { "service name", "Name of service: " },
+ } },
+ { delserv, NULLMENU, 2, {
+ { "delserv", "Delete service info" },
+ { "service name", "Name of service: " },
+ } },
+ }
+};
+
+Menu host_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "DCM Host Menu",
+ 7,
+ {
+ { showhost, NULLMENU, 3, {
+ { "showhost", "Show service/host tuple information" },
+ { "service name", "Name of service: " },
+ { "host name", "Name of machine: " },
+ } },
+ { addhost, NULLMENU, 3, {
+ { "addhost", "Add a new service/host tuple" },
+ { "service name", "Name of service: " },
+ { "host name", "Name of machine: " },
+ } },
+ { updatehost, NULLMENU, 3, {
+ { "updatehost", "Update a service/host tuple" },
+ { "service name", "Name of service: " },
+ { "host name", "Name of machine: " },
+ } },
+ { resethosterr, NULLMENU, 3, {
+ { "resethosterr", "Reset service/host error" },
+ { "service name", "Name of service: " },
+ { "host name", "Name of machine: " },
+ } },
+ { resethost, NULLMENU, 3, {
+ { "resethost", "Reset service/host state" },
+ { "service name", "Name of service: " },
+ { "host name", "Name of machine: " },
+ } },
+ { sethostor, NULLMENU, 3, {
+ { "override", "Set service/host override" },
+ { "service name", "Name of service: " },
+ { "host name", "Name of machine: " },
+ } },
+ { delhost, NULLMENU, 3, {
+ { "delhost", "Delete service/host tuple" },
+ { "service name", "Name of service: " },
+ { "host name", "Name of machine: " },
+ } },
+ }
+};
+
+/* ------------------------- First Tier Menus ------------------------- */
+
+/*
+ * Cluster Menu
+ */
+
+Menu cluster_menu = {
NULLFUNC,
NULLFUNC,
- "Cluster Information",
- 6,
+ "Cluster Menu",
+ 7,
{
{ ShowClusterInfo, NULLMENU, 2, {
- {"info", "Get cluster information."},
+ {"show", "Get cluster information"},
{"name", "Cluster's Name: "}
} },
- { MachinesInCluster, NULLMENU, 2, {
- {"machines", "List all machines in this cluster."},
- {"clus", "Cluster's Name: "}
- } }
{ AddCluster, NULLMENU, 2, {
- {"add", "Add a new cluster."},
+ {"add", "Add a new cluster"},
{"name","Cluster's Name: "},
} },
{ UpdateCluster, NULLMENU, 2, {
- {"update", "Update cluster information."},
+ {"update", "Update cluster information"},
{"name","Cluster's Name: "},
} },
- { ChangeClusterName, NULLMENU, 2, {
- {"cname", "Change the name of this cluster."},
- {"old", "Current (old) Cluster's Name: "},
- } },
{ DeleteCluster, NULLMENU, 2, {
- {"delete", "Delete this cluster."},
+ {"delete", "Delete this cluster"},
{"name", "Cluster's Name: "}
} },
+ SUBMENU("mappings","Machine To Cluster Mappings Menu", &mappings_menu),
+ SUBMENU("c_data","Cluster Data Menu", &cluster_data_menu),
+ SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
}
};
-Menu clustermaint_service_menu= {
- NULLFUNC,
- NULLFUNC,
- "Service Cluster Maintenence",
- 3,
+/*
+ * Filesystem Menu
+ */
+
+Menu filesys_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "Filesystem Menu",
+ 10,
{
- { ShowServicesForCluster, NULLMENU, 2, {
- {"show_one", "Show a Service Cluster"},
- {"clus", "Cluster's Name: "}
+ { GetFS, NULLMENU, 2, {
+ {"get", "Get Filesystem Name Information"},
+ {"name", "Name of Filesystem: "}
} },
- { AddService, NULLMENU, 2, {
- {"add", "Add a Service to a Cluster"},
- {"clus", "Cluster Name: "},
+ { GetFSM, NULLMENU, 2, {
+ {"getmach", "Get Filesystems by Machine"},
+ {"name", "Name of Server: "}
} },
- { DeleteService, NULLMENU, 2, {
- {"delete", "Delete a Service from a Cluster"},
- {"clus", "Cluster's Name: "},
- } }
- }
-};
-
-Menu clusetermaint_top_menu = {
- NULLFUNC,
- NULLFUNC,
- "Cluster Maintenence",
- 5,
- {
- SUBMENU("machine", "Work on Machines", &clustermaint_machine_menu),
- SUBMENU("cluster", "Work on Clusters", &clustermaint_cluster_menu),
- SUBMENU("service", "Service Clusters", &clustermaint_service_menu),
- {MachineToClusterMap, NULLMENU, 3, {
- {"map", "Machine to Cluster Mapping"},
- {"machine", "Machine Name: "},
- {"clus", "Cluster Name: "}
+ { AddFS, NULLMENU, 2, {
+ {"add", "Add New Filesystem to Database"},
+ {"name", "name: "},
+ } },
+ { ChangeFS, NULLMENU, 2, {
+ {"change", "Update Filesystem Information"},
+ {"name", "name: "},
} },
- SIMPLEFUNC("verbose", "Toggle Delete Confirmation", ToggleVerboseMode),
+ { DeleteFS, NULLMENU, 2, {
+ {"delete", "Delete Filesystem"},
+ {"name", "Filesystem Name: "}
+ } },
+ SUBMENU("fsgroups", "File System Groups Menu", &fsgroup_menu),
+ { GetFSAlias, NULLMENU, 2, {
+ {"check", "Check An Association"},
+ {"name", "alias name : "}
+ } },
+ { CreateFSAlias, NULLMENU, 2, {
+ {"alias", "Associate with a Filesystem"},
+ {"name", "alias name : "},
+ } },
+ { DeleteFSAlias, NULLMENU, 2, {
+ {"unalias", "Disassociate from a Filesystem"},
+ {"name", "alias name : "},
+ } },
+ SUBMENU("quotas","Quota Menu", "a_menu),
+/* SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode), */
+/* SIMPLEFUNC("help", "Help ..", AttachHelp) */
}
};
/*
- * Dcmmaint menus
+ * Machine Menu
*/
-/* Commenting out all DCM maint stuff.
-
-Menu dcmmaint_service_menu = {
- dcmmaint_service_menu_entry,
- dcmmaint_service_menu_exit,
- NULL,
- 5,
- {
- SIMPLEFUNC("show", "Show fields of service", show_service),
- SIMPLEFUNC("interval", "Change the interval field", change_interval),
- SIMPLEFUNC("target_path", "Change the target_path field",
- change_target_path),
- SIMPLEFUNC("script", "Change the script field", change_script),
- SIMPLEFUNC("dfgen",
- "Change the date of the latest generation of the db file",
- change_dfgen)
- }
-};
-
-Menu dcmmaint_host_info_menu = {
- dcmmaint_host_info_menu_entry,
- dcmmaint_host_info_menu_exit,
- NULL,
- 8,
- {
- SIMPLEFUNC("show", "Show values of entry", show_host_info),
- SIMPLEFUNC("last_time", "Change the last_time field", change_last_time),
- SIMPLEFUNC("success", "Change the success field", change_success),
- SIMPLEFUNC("override", "Change the override field", change_override),
- SIMPLEFUNC("enable", "Change the enable field", change_enable),
- SIMPLEFUNC("value1", "Change the value1 field", change_value1),
- SIMPLEFUNC("value2", "Change the value2 field", change_value2),
- SIMPLEFUNC("rvdacls", "Change the RVD ACLs (for RVD servers only)",
- update_rvd_server)
- }
-};
-
-Menu dcmmaint_top_menu = {
+Menu machine_menu = {
NULLFUNC,
NULLFUNC,
- "Data Control Manager Maintenance",
- 9,
+ "Machine Menu",
+ 6,
{
- SUBMENU("hi_change", "Modify a service-host entry",
- &dcmmaint_host_info_menu),
- SIMPLEFUNC("hi_add", "Create new service-host entry", do_host_info),
- SIMPLEFUNC("hi_delete", "Remove a service-host entry", do_host_info),
- SIMPLEFUNC("hi_list", "List service-host entries", do_host_info),
- SUBMENU("s_change", "Modify info for an existing service",
- &dcmmaint_service_menu),
- SIMPLEFUNC("s_add", "Create new service", do_service),
- SIMPLEFUNC("s_delete", "Remove a service", do_service),
- SIMPLEFUNC("s_list", "List services", do_service),
- SIMPLEFUNC("help", "How to use this program", instructions)
+ { ShowMachineInfo, NULLMENU, 2, {
+ {"show","Get machine information"},
+ {"name","Machine's Name: "}
+ } },
+ { AddMachine, NULLMENU, 2, {
+ {"add","Add a new machine"},
+ {"name","Machine's Name: "},
+ } },
+ { UpdateMachine, NULLMENU, 2, {
+ {"update","Update machine information"},
+ {"name","Machine's Name: "},
+ } },
+ { DeleteMachine, NULLMENU, 2, {
+ {"delete","Delete this machine"},
+ {"name","Machine's Name: "}
+ } },
+ SUBMENU("mappings","Machine To Cluster Mappings Menu", &mappings_menu),
+ SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
}
};
-Commenting out all DCM maint stuff. */
-
/*
- * Listmaint Menus
+ * List Menu
*/
-Menu listmaint_list_menu = {
+Menu list_menu = {
NULLFUNC,
NULLFUNC,
- "Lists",
- 5,
+ "List Menu",
+ 9,
{
- SIMPLEFUNC("member",
- "List all lists to which a given member belongs",
- ListByMember),
- SIMPLEFUNC("administrator",
- "List all lists which a given user can administer",
- ListByAdministrator),
- SIMPLEFUNC("groups", "List all lists which are groups",
- ListAllGroups),
- SIMPLEFUNC("public", "List all public mailing lists",
- ListAllPublicMailLists),
- SIMPLEFUNC("maillists", "List all mailing lists",
- ListAllMailLists)
- }
-};
-
-Menu listmaint_member_menu = {
- MemberMenuEntry,
- MemberMenuExit,
- NULL,
- 6,
- {
- SIMPLEFUNC("add", "Add a member to the list",
- AddMember),
- SIMPLEFUNC("delete", "Delete a member from the list",
- DeleteMember),
- SIMPLEFUNC("all", "Show the members of the list",
- ListMembers),
- SIMPLEFUNC("user", "Show the members of type USER",
- ListUserMembers),
- SIMPLEFUNC("list", "Show the members of type LIST",
- ListListMembers),
- SIMPLEFUNC("string", "Show the members of type STRING",
- ListStringMembers)
- }
-};
-
-Menu listmaint_top_menu = {
- NULLFUNC,
- NULLFUNC,
- "List Maintenance Menu",
- 8,
- {
- { NULLFUNC, &listmaint_member_menu, 2, {
- {"add", "Create new List"},
- {"list name", "Name of list: "}
- } },
- { DeleteList, NULLMENU, 2, {
- {"delete", "Delete a List"},
- {"list name", "Name of list: "}
- } },
{ ShowListInfo, NULLMENU, 2, {
{"show", "Display information about a list"},
{"list name", "Name of list: "}
} },
- { UpdateListInfo, NULLMENU, 2, {
+ { NULLFUNC, &list_member_menu, 2, {
+ {"add", "Create new List"},
+ {"list name", "Name of list: "}
+ } },
+ { UpdateList, NULLMENU, 2, {
{"update", "Update characteristics of a list"},
{"list name", "Name of list: "}
} },
- { NULLFUNC, &listmaint_member_menu, 2, {
- {"members", "Change/Display the membership of a list"},
+ { DeleteList, NULLMENU, 2, {
+ {"delete", "Delete a List"},
{"list name", "Name of list: "}
} },
- { DeleteUserFromLists, NULLMENU, 2, {
- { "deluser", "Interactively query/delete user from all lists"},
- { "user name", "Login name of user: "}
+ SIMPLEFUNC("query_remove",
+ "Interactively remove an item from all lists",
+ InterRemoveItemFromLists),
+ { NULLFUNC, &list_member_menu, 2, {
+ {"members", "Member Menu - Change/Show Members of a List."},
+ {"list name", "Name of list: "}
} },
- SUBMENU("list_lists", "Display inventory of lists",
- &listmaint_list_menu),
- SIMPLEFUNC("help", "How to use this program", Instructions)
+ SUBMENU("list_info", "List Info Menu",
+ &list_info_menu),
+ SUBMENU("quotas","Quota Menu", "a_menu),
+/* SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode), */
+ SIMPLEFUNC("help", "Print Help", ListHelp)
}
};
/*
- * NFSmaint menus.
+ * NFS Physical Menu
*/
-Menu nfsmaint_top_menu = {
+Menu nfsphys_menu = {
NULLFUNC,
NULLFUNC,
- "NFS Maintenence",
+ "NFS Physical Menu",
6,
{
- { ShowNFSService, NULLMENU, 3, {
- { "show", "Show an NFS server " },
+ { ShowNFSService, NULLMENU, 2, {
+ { "show", "Show an NFS server" },
{ "machine", "Machine Name: "},
- { "device", "Device: "}
} },
- { AddNFSService, NULLMENU, 3, {
+ { AddNFSService, NULLMENU, 2, {
{ "add", "Add NFS server" },
{ "machine", "Machine Name: "},
- { "device", "Device: "}
} },
- { UpdateNFSService, NULLMENU, 3, {
+ { UpdateNFSService, NULLMENU, 2, {
{ "update", "Update NFS server"},
{ "machine", "Machine Name: "},
- { "device", "Device: "}
} },
- { DeleteNFSService, NULLMENU, 3, {
+ { DeleteNFSService, NULLMENU, 2, {
{ "delete", "Delete NFS server"},
{"machine", "Machine Name: "},
- {"device", "Device: "}
} },
+ SUBMENU("quotas","Quota Menu", "a_menu),
SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode),
- SIMPLEFUNC("help", "Help", NFSHelp),
+/* SIMPLEFUNC("help", "Help", NFSHelp), */
}
};
-/*
- * Portmaint menus.
- */
-
-/* Queries have not been implemented yet :-(
-
-Menu servmenu = {
- NULLFUNC,
- NULLFUNC,
- "Server Maintenence",
- 8,
- {
- { getserv, NULLMENU, 2, {
- {"get", "Services Info"},
- {"serv", "Service Name: "}
- } },
- { addserv, NULLMENU, 4, {
- {"add", "Add Service"},
- {"srv", "Name: "},
- {"proto", "Protocol: "},
- {"port", "Port: "}
- } },
- { updserv, NULLMENU, 4, {
- {"update", "Update Service"},
- {"srv", "Name: "},
- {"proto", "Protocol: "},
- {"port", "Port: "}
- } },
- {delserv, NULLMENU, 3, {
- {"delete", "Delete Service"},
- {"serv", "Service Name: "},
- {"proto", "Protocol: "}
- } },
- { getassc, NULLMENU, 2, {
- {"get_alias", "Get All Aliases for Service"},
- {"srv", "Service Name: "}
- } },
- { alas, NULLMENU, 3, {
- {"+", "Add Alias"},
- {"srv", "Service Name: "},
- {"als", "Alias: "}
- } },
- { alas, NULLMENU, 3, {
- {"-", "Delete Alias"},
- {"srv", "Service Name: "},
- {"als", "Alias: "}
- } },
- SIMPLEFUNC("toggle", "Toggle Verbosity of Delete", toggle_verb)
- }
+Menu krbmap_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "User Kerberos Mapping Menu",
+ 3,
+ {
+ { GetKrbmap, NULLMENU, 3, {
+ { "show", "Show Kerberos Mappings" },
+ { "user", "User login name: " },
+ { "principal", "Principal: " },
+ } },
+ { AddKrbmap, NULLMENU, 3, {
+ { "add", "Add Kerberos Mapping" },
+ { "user", "User login name: " },
+ { "principal", "Principal (this is case sensitive): " },
+ } },
+ { DeleteKrbmap, NULLMENU, 3, {
+ { "delete", "Delete Kerberos Mapping" },
+ { "user", "User login name: " },
+ { "principal", "Principal: " },
+ } },
+ }
};
-*/
/*
- * smsmaint - TBS
+ * User Menu
*/
-/*
- * Usermaint menu.
- */
-
-Menu usermaint_quota_menu = {
+Menu user_menu = {
NULLFUNC,
NULLFUNC,
- "Edit User Quotas and Server Machines",
- 6,
- {
- SIMPLEFUNC("shdef", "Show default user quota (in KB)", ShowDefaultQuota),
- {ShowUserQuota, NULLMENU, 2, {
- {"shquota", "Show a user's quota (in KB)"},
- {"login", "Login name: "}
- } },
- {ChangeDefaultQuota, NULLMENU, 2, {
- {"chdef", "Change default user quota"},
- {"quota", "New quota (in KB): "}
- } },
- {ChangeUserQuota, NULLMENU, 2, {
- {"chquota", "Change a user's disk quota"},
- {"user", "Login name: "}
- } },
- {AddUserLocker, NULLMENU, 5, {
- {"create", "Create a quota & locker for a user"},
- {"login", "User's login name: "},
- {"machine", "Server host name: "},
- {"device", "Physical device on host: "},
- {"quota", "Quota in KB: "}
- } },
- {DeleteUserLocker, NULLMENU, 2, {
- {"del", "Delete a user's quota & locker"},
- {"login", "User's login: "}
- } }
- }
-};
-
-Menu usermaint_top_menu = {
- NULLFUNC,
- NULLFUNC,
- "SMS User Maintenance",
- 8,
+ "User Menu",
+ 11,
{
{ShowUserByLogin, NULLMENU, 2, {
{"login", "Show user information by login name"},
{"login name", "Desired login name: "}
} },
{ShowUserByName, NULLMENU, 3, {
- {"full", "Show user information by name (use * for wildcard)."},
+ {"name", "Show user information by name"},
{"first", "First name: "},
{"last", "Last name: "}
} },
{ShowUserByClass, NULLMENU, 2, {
- {"login", "Show names of users in a give class."},
+ {"class", "Show names of users in a given class"},
{"login name", "Desired class: "}
} },
- {ModifyUser, NULLMENU, 2, {
+ {UpdateUser, NULLMENU, 2, {
{"modify", "Change all user fields"},
{"login", "Login name: "}
} },
-/* SIMPLEFUNC("chpw", "Change a user's password", change_user_password), */
- {ChangeUserPOBox, NULLMENU, 2, {
- {"chpobox", "Change a user's post office box"},
- {"login name", "login name: "}
- } },
-/* {enter_user, NULLMENU, 6, {
- {"enter", "Enter unregistered user"},
- {"first", "User's first name: "},
- {"middle", "User's middle initial: "},
- {"last", "User's last name: "},
- {"mit_id", "User's MIT ID: "},
- {"mit_year", "User's MIT year: "}
- } },
- {reg_user, NULLMENU, 5, {
- {"register", "Register unregistered user"},
- {"first", "User's first name: "},
- {"last", "User's last name: "},
- {"mit_id", "User's MIT ID: "},
- {"login", "Login name to assign: "}
+ SIMPLEFUNC("adduser", "Add a new user to the database",
+ AddNewUser),
+ SIMPLEFUNC("register", "Register a user", RegisterUser),
+ {DeactivateUser, NULLMENU, 2, {
+ {"deactivate", "Deactivate user"},
+ {"login", "Login name: "},
} },
- */
{DeleteUser, NULLMENU, 2, {
- {"delete", "Delete user"},
+ {"expunge", "Expunge user"},
{"login", "Login name: "}
} },
- {DeleteUserByUid, NULLMENU, 2, {
- {"udelete", "Delete user by uid"},
- {"uid", "User ID (not MIT ID!): "}
+ SUBMENU("pobox", "Post Office Box Menu", &pobox_menu),
+ SUBMENU("quota", "Quota Menu", "a_menu),
+ SUBMENU("krbmap", "User Kerberos Mappings", &krbmap_menu),
+ }
+};
+
+Menu dcm_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "DCM Menu",
+ 6,
+ {
+ SIMPLEFUNC("enable", "Enable/disable DCM", EnableDcm),
+ SUBMENU("service", "DCM Service Menu", &service_menu),
+ SUBMENU("host", "DCM Host Menu", &host_menu),
+ SIMPLEFUNC("active", "Display entries currently being updated",
+ InProgress),
+ SIMPLEFUNC("failed", "Display entries with errors to be reset",
+ DcmFailed),
+ SIMPLEFUNC("dcm", "Invoke a DCM update now", Dcm),
+ }
+};
+
+/*
+ * Printcap Printer Menu
+ */
+
+Menu printer_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "Printer Menu",
+ 4,
+ {
+ { GetPcap, NULLMENU, 2, {
+ {"get", "Get Printcap Entry Information"},
+ {"name", "Name of Printer: "}
+ } },
+ { AddPcap, NULLMENU, 2, {
+ {"add", "Add New Printcap Entry to Database"},
+ {"name", "name: "},
+ } },
+ { ChngPcap, NULLMENU, 2, {
+ {"change", "Update Printer Information"},
+ {"name", "name: "},
+ } },
+ { DeletePcap, NULLMENU, 2, {
+ {"delete", "Delete Printcap Entry"},
+ {"name", "Printer Name: "}
+ } }
+ }
+};
+
+
+/*
+ * Palladium Printer Menu
+ */
+
+Menu palladium_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "Printer Menu",
+ 7,
+ {
+ { GetPalladium, NULLMENU, 2, {
+ {"get", "Get Palladium Server/Supervisor Information"},
+ {"name", "Name of Printer: "}
+ } },
+ { AddPalladium, NULLMENU, 2, {
+ {"add", "Add New Palladium Server/Supervisor to Database"},
+ {"name", "Supervisor/server name: "},
+ } },
+ { ChngPalladium, NULLMENU, 2, {
+ {"change", "Update Palladium Server/Supervisor Information"},
+ {"name", "name: "},
+ } },
+ { DeletePalladium, NULLMENU, 2, {
+ {"delete", "Delete Palladium Server/Supervisor Entry"},
+ {"name", "Printer Name: "}
+ } },
+ { ShowPalladiumAlias, NULLMENU, 3, {
+ {"getprinter", "Show Logical Printers"},
+ {"newname", "Printer name: "},
+ {"server", "Supervisor or Server name: "},
+ } },
+ { AddPalladiumAlias, NULLMENU, 3, {
+ {"addprinter", "Add Logical Printer"},
+ {"newname", "New printer: "},
+ {"server", "Supervisor or Server name: "},
+ } },
+ { DeletePalladiumAlias, NULLMENU, 3, {
+ {"delprinter", "Remove Logical Printer"},
+ {"newname", "Printer name: "},
+ {"server", "Supervisor or Server name: "},
} },
- SUBMENU("quota", "User Quotas", &usermaint_quota_menu),
}
};
+
+
+/*
+ * Zephyr Menu
+ */
+
+Menu zephyr_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "Zephyr Menu",
+ 5,
+ {
+ { GetZephyr, NULLMENU, 2, {
+ {"get", "Get Zephyr Class Information"},
+ {"name", "Name of class: "}
+ } },
+ { AddZephyr, NULLMENU, 2, {
+ {"add", "Add New Zephyr class restrictions"},
+ {"name", "Class name: "},
+ } },
+ { ChngZephyr, NULLMENU, 2, {
+ {"change", "Update Zephyr class restrictions"},
+ {"name", "Class name: "},
+ } },
+ { DeleteZephyr, NULLMENU, 2, {
+ {"delete", "Delete Zephyr class restriction"},
+ {"name", "Class Name: "}
+ } },
+ { NULLFUNC, &list_member_menu, 2, {
+ {"members", "Member Menu - Change/Show Members of a List."},
+ {"list name", "Name of list: "}
+ } },
+ }
+};
+
+
+/*
+ * Miscellaneous Menu
+ */
+
+Menu misc_menu = {
+ NULLFUNC,
+ NULLFUNC,
+ "Miscellaneous Menu",
+ 4,
+ {
+ SIMPLEFUNC("statistics", "Show database statistics", TableStats),
+ SIMPLEFUNC("clients", "Show active Moira clients", ShowClients),
+ { ShowValue, NULLMENU, 2, {
+ {"getval", "Show a database variable value"},
+ {"name", "variable name: "},
+ } },
+ { ShowAlias, NULLMENU, 3, {
+ {"getalias", "Show an alias relation"},
+ {"name", "Alias name: "},
+ {"type", "Alias type: "},
+ } },
+ }
+};
+
+
+/* ------------------------- Root Menu ------------------------- */
+
/*
- * Allmaint top menu
+ * Moira top menu
*/
-Menu allmaint_top_menu = {
+Menu moira_top_menu = {
NULLFUNC,
NULLFUNC,
- "All Maint Top Level Menu",
- 5,
+ "Moira Database Manipulation",
+ 11,
{
- SUBMENU("attachmaint","open the attachmaint menu",&attachmaint_top_menu),
- SUBMENU("clustermaint","open the clustermaint menu",
- &clustermaint_top_menu),
-/* SUBMENU("dcmmaint","open the dcmmaint menu",&dcmmaint_top_menu), */
- SUBMENU("listmaint","open the listmaint menu",&listmaint_top_menu),
- SUBMENU("nfsmaint","open the nfsmaint menu",&nfsmaint_top_menu),
-/* SUBMENU("portmaint","open the portmaint menu",&portmaint_top_menu), */
-/* SUBMENU("smsmaint","open the smsmaint menu",&smsmaint_top_menu), */
- SUBMENU("usermaint","open the usermaint menu",&usermaint_top_menu)
+ SUBMENU("cluster","Cluster Menu",&cluster_menu),
+ SUBMENU("filesys","Filesystem Menu", &filesys_menu),
+ SUBMENU("list","Lists and Group Menu", &list_menu),
+ SUBMENU("machine","Machine Menu",&machine_menu),
+ SUBMENU("nfs","NFS Physical Menu", &nfsphys_menu),
+ SUBMENU("user","User Menu", &user_menu),
+ SUBMENU("printcap", "Printcap Printer Menu", &printer_menu),
+ SUBMENU("palladium", "Palladium Printer Menu", &palladium_menu),
+ SUBMENU("zephyr", "Zephyr ACLS Menu", &zephyr_menu),
+ SUBMENU("dcm", "DCM Menu", &dcm_menu),
+ SUBMENU("misc", "Miscellaneous Menu", &misc_menu)
}
};
-