]>
Commit | Line | Data |
---|---|---|
7ac48069 | 1 | /* $Id $ |
2 | * | |
3 | * This is the file menus.c for the Moira Client, which allows users | |
59ec8dae | 4 | * to quickly and easily maintain most parts of the Moira database. |
0a2c64cb | 5 | * It Contains: All menu definitions. |
5eaef520 | 6 | * |
08345b74 | 7 | * Created: 4/11/88 |
8 | * By: Chris D. Peterson | |
9 | * | |
7ac48069 | 10 | * Copyright (C) 1988-1998 by the Massachusetts Institute of Technology. |
11 | * For copying and distribution information, please see the file | |
12 | * <mit-copyright.h>. | |
08345b74 | 13 | */ |
14 | ||
7ac48069 | 15 | #include <mit-copyright.h> |
16 | #include <moira.h> | |
0a2c64cb | 17 | #include "defs.h" |
18 | #include "f_defs.h" | |
461c03b6 | 19 | #include "globals.h" |
08345b74 | 20 | |
7ac48069 | 21 | #include <stdio.h> |
22 | ||
23 | RCSID("$Header$"); | |
e532b848 | 24 | |
0a2c64cb | 25 | /* ------------------------- Second Tier Menus ------------------------- */ |
26 | ||
5eaef520 | 27 | /* |
0a2c64cb | 28 | * Cluster Data Menu |
08345b74 | 29 | */ |
30 | ||
0a2c64cb | 31 | Menu cluster_data_menu = { |
32 | NULLFUNC, | |
33 | NULLFUNC, | |
34 | "Cluster Data Menu", | |
461c03b6 | 35 | 4, |
08345b74 | 36 | { |
0a2c64cb | 37 | { ShowClusterData, NULLMENU, 3, { |
38 | {"show", "Show Data on a given Cluster"}, | |
39 | {"clus", "Cluster's Name: "}, | |
40 | {"label", "Label Identifing the data: "}, | |
08345b74 | 41 | } }, |
0a2c64cb | 42 | { AddClusterData, NULLMENU, 4, { |
43 | {"add", "Add Data to a given Cluster"}, | |
44 | {"clus", "Cluster Name: "}, | |
45 | {"label", "Label Identifing the data: "}, | |
46 | {"data", "The data to be added: "}, | |
08345b74 | 47 | } }, |
b356ed19 | 48 | { RemoveClusterData, NULLMENU, 3, { |
9580b30a | 49 | {"delete", "Remove Data from a given Cluster"}, |
0a2c64cb | 50 | {"clus", "Cluster's Name: "}, |
51 | {"label", "Label Identifing the data: "}, | |
5eaef520 | 52 | } }, |
0a2c64cb | 53 | SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode) |
08345b74 | 54 | } |
55 | }; | |
56 | ||
0a2c64cb | 57 | /* |
58 | * List Information Menu | |
59 | */ | |
60 | ||
61 | Menu list_info_menu = { | |
5eaef520 | 62 | NULLFUNC, |
63 | NULLFUNC, | |
64 | "List Information Menu", | |
65 | 3, | |
66 | { | |
67 | SIMPLEFUNC("member", | |
68 | "Show all lists to which a given member belongs", | |
69 | ListByMember), | |
70 | SIMPLEFUNC("admin", | |
71 | "Show all items which a given member can administer", | |
72 | ListByAdministrator), | |
73 | SIMPLEFUNC("public", "Show all public mailing lists", | |
74 | ListAllPublicMailLists), | |
75 | } | |
0a2c64cb | 76 | }; |
77 | ||
78 | /* | |
79 | * List Member Menu | |
80 | */ | |
81 | ||
82 | Menu list_member_menu = { | |
5eaef520 | 83 | ListmaintMemberMenuEntry, |
84 | ListmaintMemberMenuExit, | |
85 | NULL, | |
86 | 7, | |
87 | { | |
88 | SIMPLEFUNC("add", "Add a member to this list", AddMember), | |
89 | SIMPLEFUNC("remove", "Remove a member from this list", DeleteMember), | |
90 | SIMPLEFUNC("all", "Show the members of this list", ListAllMembers), | |
91 | SIMPLEFUNC("user", "Show the members of type USER", ListUserMembers), | |
92 | SIMPLEFUNC("list", "Show the members of type LIST", ListListMembers), | |
93 | SIMPLEFUNC("string", "Show the members of type STRING", | |
94 | ListStringMembers), | |
95 | SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode) | |
96 | } | |
08345b74 | 97 | }; |
98 | ||
99 | /* | |
0a2c64cb | 100 | * Machine To Cluster Mappings Menu |
08345b74 | 101 | */ |
102 | ||
0a2c64cb | 103 | Menu mappings_menu = { |
08345b74 | 104 | NULLFUNC, |
105 | NULLFUNC, | |
0a2c64cb | 106 | "Machine To Cluster Mappings Menu", |
107 | 4, | |
08345b74 | 108 | { |
461c03b6 | 109 | { MachineToClusterMap, NULLMENU, 3, { |
85ca828a | 110 | {"map", "Show Machine to cluster mapping"}, |
111 | {"name", "Machine's Name: "}, | |
112 | {"cluster", "Cluster's Name: "}, | |
461c03b6 | 113 | } }, |
08345b74 | 114 | { AddMachineToCluster, NULLMENU, 3, { |
5eaef520 | 115 | {"addcluster", "Add machine to a cluster"}, |
116 | {"name", "Machine's Name: "}, | |
85ca828a | 117 | {"cluster", "Cluster's Name: "}, |
08345b74 | 118 | } }, |
85ca828a | 119 | { RemoveMachineFromCluster, NULLMENU, 3, { |
120 | {"remcluster", "Remove machines from clusters"}, | |
5eaef520 | 121 | {"name", "Machine's Name: "}, |
85ca828a | 122 | {"cluster", "Cluster's Name: "}, |
08345b74 | 123 | } }, |
0a2c64cb | 124 | SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode), |
08345b74 | 125 | } |
126 | }; | |
127 | ||
5eaef520 | 128 | /* |
0a2c64cb | 129 | * Post Office Box Menu |
130 | */ | |
131 | ||
132 | Menu pobox_menu = { | |
08345b74 | 133 | NULLFUNC, |
134 | NULLFUNC, | |
0a2c64cb | 135 | "Post Office Box Menu", |
136 | 4, | |
137 | { | |
138 | {GetUserPOBox, NULLMENU, 2, { | |
139 | {"show", "Show a user's post office box"}, | |
140 | {"login name", "login name: "} | |
141 | } }, | |
142 | {SetUserPOBox, NULLMENU, 2, { | |
143 | {"set", "Set (Add or Change) a user's post office box"}, | |
144 | {"login name", "login name: "} | |
145 | } }, | |
146 | {RemoveUserPOBox, NULLMENU, 2, { | |
147 | {"remove", "Remove a user's post office box"}, | |
148 | {"login name", "login name: "} | |
149 | } }, | |
150 | SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode) | |
151 | } | |
152 | }; | |
5eaef520 | 153 | |
0a2c64cb | 154 | /* |
155 | * Quota Menu | |
156 | */ | |
5eaef520 | 157 | |
0a2c64cb | 158 | Menu quota_menu = { |
159 | NULLFUNC, | |
160 | NULLFUNC, | |
161 | "Quota Menu", | |
9550857c | 162 | 8, |
0a2c64cb | 163 | { |
164 | SIMPLEFUNC("shdef", "Show default user quota (in KB)", ShowDefaultQuota), | |
165 | {ChangeDefaultQuota, NULLMENU, 2, { | |
166 | {"chdef", "Change default user quota"}, | |
167 | {"quota", "New quota (in KB): "} | |
168 | } }, | |
9550857c | 169 | SIMPLEFUNC("getquota", "Show a quota on a filesystem", |
170 | GetQuota), | |
171 | SIMPLEFUNC("getfsquotas", "Show all quotas on a filesystem", | |
172 | GetQuotaByFilesys), | |
173 | SIMPLEFUNC("addquota", "Add a new disk quota on a filesystem", | |
174 | AddQuota), | |
175 | SIMPLEFUNC("upquota", "Change a quota on a filesystem", | |
176 | UpdateQuota), | |
177 | SIMPLEFUNC("delquota", "Delete a quota on a filesystem", | |
178 | DeleteQuota), | |
0a2c64cb | 179 | SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode) |
5eaef520 | 180 | } |
0a2c64cb | 181 | }; |
182 | ||
6ef64e43 | 183 | Menu fsgroup_menu = { |
5eaef520 | 184 | NULLFUNC, |
185 | NULLFUNC, | |
186 | "Filesystem Group Menu", | |
187 | 6, | |
188 | { | |
189 | { GetFS, NULLMENU, 2, { | |
190 | {"get", "Get individual or group filesystem information"}, | |
191 | {"name", "Name of Filesystem: "} | |
192 | } }, | |
193 | { AddFSToGroup, NULLMENU, 3, { | |
194 | {"add", "Add a new filesystem to an FS group"}, | |
195 | {"group", "FS Group name: "}, | |
196 | {"filsys", "Filesystem name: "} | |
197 | } }, | |
198 | { RemoveFSFromGroup, NULLMENU, 3, { | |
199 | {"remove", "Remove a filesystem from an FS group"}, | |
200 | {"group", "FS Group name: "}, | |
201 | {"filsys", "Filesystem name: "} | |
202 | } }, | |
203 | { ChangeFSGroupOrder, NULLMENU, 2, { | |
204 | {"order", "Change the order of filesystems in a group"}, | |
205 | {"group", "FS Group name: "} | |
206 | } }, | |
207 | SIMPLEFUNC("help", "Info on Filesystem Groups", FSGroupHelp), | |
208 | SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode) | |
209 | } | |
6ef64e43 | 210 | }; |
211 | ||
e532b848 | 212 | Menu service_menu = { |
5eaef520 | 213 | NULLFUNC, |
214 | NULLFUNC, | |
215 | "DCM Service Menu", | |
216 | 6, | |
217 | { | |
218 | { showserv, NULLMENU, 2, { | |
219 | { "showserv", "Show service information" }, | |
220 | { "service name", "Name of service: " }, | |
221 | } }, | |
222 | { addserv, NULLMENU, 2, { | |
223 | { "addserv", "Add a new service" }, | |
224 | { "service name", "Name of service: " }, | |
225 | } }, | |
226 | { updateserv, NULLMENU, 2, { | |
227 | { "updateserv", "Update service information" }, | |
228 | { "service name", "Name of service: " }, | |
229 | } }, | |
230 | { resetsrverr, NULLMENU, 2, { | |
231 | { "resetsrverr", "Reset service error" }, | |
232 | { "service name", "Name of service: " }, | |
233 | } }, | |
234 | { resetsrvc, NULLMENU, 2, { | |
235 | { "resetsrvc", "Reset service state" }, | |
236 | { "service name", "Name of service: " }, | |
237 | } }, | |
238 | { delserv, NULLMENU, 2, { | |
239 | { "delserv", "Delete service info" }, | |
240 | { "service name", "Name of service: " }, | |
241 | } }, | |
242 | } | |
e532b848 | 243 | }; |
244 | ||
245 | Menu host_menu = { | |
5eaef520 | 246 | NULLFUNC, |
247 | NULLFUNC, | |
248 | "DCM Host Menu", | |
249 | 7, | |
250 | { | |
251 | { showhost, NULLMENU, 3, { | |
252 | { "showhost", "Show service/host tuple information" }, | |
253 | { "service name", "Name of service: " }, | |
254 | { "host name", "Name of machine: " }, | |
255 | } }, | |
256 | { addhost, NULLMENU, 3, { | |
257 | { "addhost", "Add a new service/host tuple" }, | |
258 | { "service name", "Name of service: " }, | |
259 | { "host name", "Name of machine: " }, | |
260 | } }, | |
261 | { updatehost, NULLMENU, 3, { | |
262 | { "updatehost", "Update a service/host tuple" }, | |
263 | { "service name", "Name of service: " }, | |
264 | { "host name", "Name of machine: " }, | |
265 | } }, | |
266 | { resethosterr, NULLMENU, 3, { | |
267 | { "resethosterr", "Reset service/host error" }, | |
268 | { "service name", "Name of service: " }, | |
269 | { "host name", "Name of machine: " }, | |
270 | } }, | |
271 | { resethost, NULLMENU, 3, { | |
272 | { "resethost", "Reset service/host state" }, | |
273 | { "service name", "Name of service: " }, | |
274 | { "host name", "Name of machine: " }, | |
275 | } }, | |
276 | { sethostor, NULLMENU, 3, { | |
277 | { "override", "Set service/host override" }, | |
278 | { "service name", "Name of service: " }, | |
279 | { "host name", "Name of machine: " }, | |
280 | } }, | |
281 | { delhost, NULLMENU, 3, { | |
282 | { "delhost", "Delete service/host tuple" }, | |
283 | { "service name", "Name of service: " }, | |
284 | { "host name", "Name of machine: " }, | |
285 | } }, | |
286 | } | |
e532b848 | 287 | }; |
288 | ||
0a2c64cb | 289 | /* ------------------------- First Tier Menus ------------------------- */ |
290 | ||
5eaef520 | 291 | /* |
0a2c64cb | 292 | * Cluster Menu |
293 | */ | |
294 | ||
295 | Menu cluster_menu = { | |
296 | NULLFUNC, | |
297 | NULLFUNC, | |
298 | "Cluster Menu", | |
85ca828a | 299 | 7, |
08345b74 | 300 | { |
301 | { ShowClusterInfo, NULLMENU, 2, { | |
85ca828a | 302 | {"show", "Get cluster information"}, |
08345b74 | 303 | {"name", "Cluster's Name: "} |
304 | } }, | |
08345b74 | 305 | { AddCluster, NULLMENU, 2, { |
85ca828a | 306 | {"add", "Add a new cluster"}, |
5eaef520 | 307 | {"name", "Cluster's Name: "}, |
08345b74 | 308 | } }, |
309 | { UpdateCluster, NULLMENU, 2, { | |
85ca828a | 310 | {"update", "Update cluster information"}, |
5eaef520 | 311 | {"name", "Cluster's Name: "}, |
08345b74 | 312 | } }, |
08345b74 | 313 | { DeleteCluster, NULLMENU, 2, { |
85ca828a | 314 | {"delete", "Delete this cluster"}, |
08345b74 | 315 | {"name", "Cluster's Name: "} |
316 | } }, | |
5eaef520 | 317 | SUBMENU("mappings", "Machine To Cluster Mappings Menu", &mappings_menu), |
318 | SUBMENU("c_data", "Cluster Data Menu", &cluster_data_menu), | |
0a2c64cb | 319 | SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode) |
08345b74 | 320 | } |
321 | }; | |
322 | ||
5eaef520 | 323 | /* |
0a2c64cb | 324 | * Filesystem Menu |
325 | */ | |
326 | ||
327 | Menu filesys_menu = { | |
5eaef520 | 328 | NULLFUNC, |
329 | NULLFUNC, | |
0a2c64cb | 330 | "Filesystem Menu", |
48dc73fa | 331 | 10, |
08345b74 | 332 | { |
0a2c64cb | 333 | { GetFS, NULLMENU, 2, { |
334 | {"get", "Get Filesystem Name Information"}, | |
335 | {"name", "Name of Filesystem: "} | |
08345b74 | 336 | } }, |
48dc73fa | 337 | { GetFSM, NULLMENU, 2, { |
338 | {"getmach", "Get Filesystems by Machine"}, | |
339 | {"name", "Name of Server: "} | |
340 | } }, | |
0a2c64cb | 341 | { AddFS, NULLMENU, 2, { |
342 | {"add", "Add New Filesystem to Database"}, | |
343 | {"name", "name: "}, | |
08345b74 | 344 | } }, |
0a2c64cb | 345 | { ChangeFS, NULLMENU, 2, { |
346 | {"change", "Update Filesystem Information"}, | |
347 | {"name", "name: "}, | |
348 | } }, | |
349 | { DeleteFS, NULLMENU, 2, { | |
350 | {"delete", "Delete Filesystem"}, | |
351 | {"name", "Filesystem Name: "} | |
352 | } }, | |
6ef64e43 | 353 | SUBMENU("fsgroups", "File System Groups Menu", &fsgroup_menu), |
0a2c64cb | 354 | { GetFSAlias, NULLMENU, 2, { |
355 | {"check", "Check An Association"}, | |
356 | {"name", "alias name : "} | |
357 | } }, | |
358 | { CreateFSAlias, NULLMENU, 2, { | |
359 | {"alias", "Associate with a Filesystem"}, | |
360 | {"name", "alias name : "}, | |
361 | } }, | |
362 | { DeleteFSAlias, NULLMENU, 2, { | |
363 | {"unalias", "Disassociate from a Filesystem"}, | |
364 | {"name", "alias name : "}, | |
08345b74 | 365 | } }, |
5eaef520 | 366 | SUBMENU("quotas", "Quota Menu", "a_menu), |
6ef64e43 | 367 | /* SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode), */ |
368 | /* SIMPLEFUNC("help", "Help ..", AttachHelp) */ | |
08345b74 | 369 | } |
370 | }; | |
371 | ||
ad7e0e04 | 372 | Menu subnet_menu = { |
373 | NULLFUNC, | |
374 | NULLFUNC, | |
62eb195e | 375 | "Network Menu", |
ad7e0e04 | 376 | 5, |
377 | { | |
378 | { ShowSubnetInfo, NULLMENU, 2, { | |
5eaef520 | 379 | {"show", "Get network information"}, |
380 | {"name", "Network's Name: "} | |
ad7e0e04 | 381 | } }, |
382 | { AddSubnet, NULLMENU, 2, { | |
5eaef520 | 383 | {"add", "Add a new network"}, |
384 | {"name", "Network's Name: "}, | |
ad7e0e04 | 385 | } }, |
386 | { UpdateSubnet, NULLMENU, 2, { | |
5eaef520 | 387 | {"update", "Update network information"}, |
388 | {"name", "Network's Name: "}, | |
ad7e0e04 | 389 | } }, |
390 | { DeleteSubnet, NULLMENU, 2, { | |
5eaef520 | 391 | {"delete", "Delete this network"}, |
392 | {"name", "Network's Name: "} | |
ad7e0e04 | 393 | } }, |
394 | SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode) | |
395 | } | |
396 | }; | |
397 | ||
398 | Menu cname_menu = { | |
399 | NULLFUNC, | |
400 | NULLFUNC, | |
401 | "Host Alias Menu", | |
402 | 4, | |
403 | { | |
404 | { ShowCname, NULLMENU, 3, { | |
5eaef520 | 405 | {"show", "Get host alias information"}, |
406 | {"alias", "Alias Name (Cname): "}, | |
407 | {"host", "Canonical Host Name: "} | |
ad7e0e04 | 408 | } }, |
409 | { AddCname, NULLMENU, 3, { | |
5eaef520 | 410 | {"add", "Add a new host alias"}, |
411 | {"alias", "Alias Name (Cname): "}, | |
412 | {"host", "Canonical Host Name: "} | |
ad7e0e04 | 413 | } }, |
414 | { DeleteCname, NULLMENU, 3, { | |
5eaef520 | 415 | {"delete", "Delete this alias"}, |
416 | {"alias", "Alias Name (Cname): "}, | |
417 | {"host", "Canonical Host Name: "} | |
ad7e0e04 | 418 | } }, |
419 | SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode) | |
420 | } | |
421 | }; | |
422 | ||
08345b74 | 423 | /* |
0a2c64cb | 424 | * Machine Menu |
08345b74 | 425 | */ |
426 | ||
0a2c64cb | 427 | Menu machine_menu = { |
08345b74 | 428 | NULLFUNC, |
429 | NULLFUNC, | |
0a2c64cb | 430 | "Machine Menu", |
ad7e0e04 | 431 | 7, |
08345b74 | 432 | { |
0a2c64cb | 433 | { ShowMachineInfo, NULLMENU, 2, { |
5eaef520 | 434 | {"show", "Get machine information"}, |
435 | {"name", "Machine's Name: "} | |
0a2c64cb | 436 | } }, |
e5710f27 | 437 | { ShowMachineQuery, NULLMENU, 5, { |
5eaef520 | 438 | {"query", "Lookup machines"}, |
439 | {"name", "Machine Name (or leave empty to match any): "}, | |
440 | {"address", "Address in dotted notation (or leave empty to match any): "}, | |
441 | {"location", "Location (or leave empty to match any): "}, | |
442 | {"network", "Network (or leave empty to match any): "} | |
ad7e0e04 | 443 | } }, |
0a2c64cb | 444 | { AddMachine, NULLMENU, 2, { |
5eaef520 | 445 | {"add", "Add a new machine"}, |
446 | {"network", "Network assignment: "}, | |
0a2c64cb | 447 | } }, |
448 | { UpdateMachine, NULLMENU, 2, { | |
5eaef520 | 449 | {"update", "Update machine information"}, |
450 | {"name", "Machine's Name: "}, | |
0a2c64cb | 451 | } }, |
452 | { DeleteMachine, NULLMENU, 2, { | |
5eaef520 | 453 | {"delete", "Delete this machine"}, |
454 | {"name", "Machine's Name: "} | |
0a2c64cb | 455 | } }, |
5eaef520 | 456 | SUBMENU("cnames", "Alias names for machines", &cname_menu), |
457 | SUBMENU("mappings", "Machine To Cluster Mappings Menu", &mappings_menu), | |
08345b74 | 458 | } |
459 | }; | |
460 | ||
08345b74 | 461 | /* |
0a2c64cb | 462 | * List Menu |
08345b74 | 463 | */ |
464 | ||
0a2c64cb | 465 | Menu list_menu = { |
5eaef520 | 466 | NULLFUNC, |
467 | NULLFUNC, | |
468 | "List Menu", | |
469 | 9, | |
470 | { | |
471 | { ShowListInfo, NULLMENU, 2, { | |
472 | {"show", "Display information about a list"}, | |
473 | {"list name", "Name of list: "} | |
474 | } }, | |
475 | { NULLFUNC, &list_member_menu, 2, { | |
476 | {"add", "Create new List"}, | |
477 | {"list name", "Name of list: "} | |
478 | } }, | |
479 | { UpdateList, NULLMENU, 2, { | |
480 | {"update", "Update characteristics of a list"}, | |
481 | {"list name", "Name of list: "} | |
482 | } }, | |
483 | { DeleteList, NULLMENU, 2, { | |
484 | {"delete", "Delete a List"}, | |
485 | {"list name", "Name of list: "} | |
486 | } }, | |
487 | SIMPLEFUNC("query_remove", | |
488 | "Interactively remove an item from all lists", | |
489 | InterRemoveItemFromLists), | |
490 | { NULLFUNC, &list_member_menu, 2, { | |
491 | {"members", "Member Menu - Change/Show Members of a List."}, | |
492 | {"list name", "Name of list: "} | |
493 | } }, | |
494 | SUBMENU("list_info", "List Info Menu", | |
495 | &list_info_menu), | |
496 | SUBMENU("quotas", "Quota Menu", "a_menu), | |
6ef64e43 | 497 | /* SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode), */ |
5eaef520 | 498 | SIMPLEFUNC("help", "Print Help", ListHelp) |
499 | } | |
08345b74 | 500 | }; |
501 | ||
502 | /* | |
0a2c64cb | 503 | * NFS Physical Menu |
08345b74 | 504 | */ |
505 | ||
0a2c64cb | 506 | Menu nfsphys_menu = { |
08345b74 | 507 | NULLFUNC, |
508 | NULLFUNC, | |
0a2c64cb | 509 | "NFS Physical Menu", |
510 | 6, | |
08345b74 | 511 | { |
075fe5bb | 512 | { ShowNFSService, NULLMENU, 2, { |
85ca828a | 513 | { "show", "Show an NFS server" }, |
08345b74 | 514 | { "machine", "Machine Name: "}, |
08345b74 | 515 | } }, |
075fe5bb | 516 | { AddNFSService, NULLMENU, 2, { |
08345b74 | 517 | { "add", "Add NFS server" }, |
518 | { "machine", "Machine Name: "}, | |
08345b74 | 519 | } }, |
075fe5bb | 520 | { UpdateNFSService, NULLMENU, 2, { |
08345b74 | 521 | { "update", "Update NFS server"}, |
522 | { "machine", "Machine Name: "}, | |
08345b74 | 523 | } }, |
075fe5bb | 524 | { DeleteNFSService, NULLMENU, 2, { |
08345b74 | 525 | { "delete", "Delete NFS server"}, |
526 | {"machine", "Machine Name: "}, | |
08345b74 | 527 | } }, |
5eaef520 | 528 | SUBMENU("quotas", "Quota Menu", "a_menu), |
08345b74 | 529 | SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode), |
461c03b6 | 530 | /* SIMPLEFUNC("help", "Help", NFSHelp), */ |
08345b74 | 531 | } |
532 | }; | |
533 | ||
a6c2a13a | 534 | Menu krbmap_menu = { |
5eaef520 | 535 | NULLFUNC, |
536 | NULLFUNC, | |
537 | "User Kerberos Mapping Menu", | |
538 | 3, | |
539 | { | |
540 | { GetKrbmap, NULLMENU, 3, { | |
541 | { "show", "Show Kerberos Mappings" }, | |
542 | { "user", "User login name: " }, | |
543 | { "principal", "Principal: " }, | |
544 | } }, | |
545 | { AddKrbmap, NULLMENU, 3, { | |
546 | { "add", "Add Kerberos Mapping" }, | |
547 | { "user", "User login name: " }, | |
548 | { "principal", "Principal (this is case sensitive): " }, | |
549 | } }, | |
550 | { DeleteKrbmap, NULLMENU, 3, { | |
551 | { "delete", "Delete Kerberos Mapping" }, | |
552 | { "user", "User login name: " }, | |
553 | { "principal", "Principal: " }, | |
554 | } }, | |
555 | } | |
a6c2a13a | 556 | }; |
557 | ||
10207d4d | 558 | Menu mitdir_menu = { |
5eaef520 | 559 | NULLFUNC, |
560 | NULLFUNC, | |
561 | "MIT On-line Directory Preferences Menu", | |
562 | 2, | |
563 | { | |
564 | { GetDirFlags, NULLMENU, 2, { | |
565 | { "show", "Show Directory Preferences" }, | |
566 | { "login", "Login name: " }, | |
567 | } }, | |
568 | { SetDirFlags, NULLMENU, 2, { | |
569 | { "change", "Change Directory Preference" }, | |
570 | { "login", "Login name: " }, | |
571 | } }, | |
572 | } | |
10207d4d | 573 | }; |
574 | ||
08345b74 | 575 | /* |
0a2c64cb | 576 | * User Menu |
08345b74 | 577 | */ |
578 | ||
0a2c64cb | 579 | Menu user_menu = { |
075fe5bb | 580 | NULLFUNC, |
581 | NULLFUNC, | |
0a2c64cb | 582 | "User Menu", |
10207d4d | 583 | 12, |
08345b74 | 584 | { |
585 | {ShowUserByLogin, NULLMENU, 2, { | |
586 | {"login", "Show user information by login name"}, | |
587 | {"login name", "Desired login name: "} | |
588 | } }, | |
589 | {ShowUserByName, NULLMENU, 3, { | |
075fe5bb | 590 | {"name", "Show user information by name"}, |
08345b74 | 591 | {"first", "First name: "}, |
592 | {"last", "Last name: "} | |
593 | } }, | |
594 | {ShowUserByClass, NULLMENU, 2, { | |
5eaef520 | 595 | {"class", "Show names of users in a given class"}, |
596 | {"login name", "Desired class: "} | |
597 | } }, | |
81701699 | 598 | {ShowUserById, NULLMENU, 2, { |
5eaef520 | 599 | {"id", "Show user information by ID number"}, |
600 | {"ID number", "ID number: "} | |
81701699 | 601 | } }, |
075fe5bb | 602 | {UpdateUser, NULLMENU, 2, { |
08345b74 | 603 | {"modify", "Change all user fields"}, |
604 | {"login", "Login name: "} | |
605 | } }, | |
5eaef520 | 606 | SIMPLEFUNC("adduser", "Add a new user to the database", |
075fe5bb | 607 | AddNewUser), |
608 | SIMPLEFUNC("register", "Register a user", RegisterUser), | |
a444fefe | 609 | {DeactivateUser, NULLMENU, 2, { |
610 | {"deactivate", "Deactivate user"}, | |
611 | {"login", "Login name: "}, | |
612 | } }, | |
08345b74 | 613 | {DeleteUser, NULLMENU, 2, { |
a444fefe | 614 | {"expunge", "Expunge user"}, |
08345b74 | 615 | {"login", "Login name: "} |
616 | } }, | |
0a2c64cb | 617 | SUBMENU("pobox", "Post Office Box Menu", &pobox_menu), |
a6c2a13a | 618 | SUBMENU("krbmap", "User Kerberos Mappings", &krbmap_menu), |
10207d4d | 619 | SUBMENU("mitdir", "MIT On-line Directory Preferences", &mitdir_menu), |
08345b74 | 620 | } |
621 | }; | |
622 | ||
e532b848 | 623 | Menu dcm_menu = { |
5eaef520 | 624 | NULLFUNC, |
625 | NULLFUNC, | |
626 | "DCM Menu", | |
627 | 6, | |
628 | { | |
629 | SIMPLEFUNC("enable", "Enable/disable DCM", EnableDcm), | |
630 | SUBMENU("service", "DCM Service Menu", &service_menu), | |
631 | SUBMENU("host", "DCM Host Menu", &host_menu), | |
632 | SIMPLEFUNC("active", "Display entries currently being updated", | |
633 | InProgress), | |
634 | SIMPLEFUNC("failed", "Display entries with errors to be reset", DcmFailed), | |
635 | SIMPLEFUNC("dcm", "Invoke a DCM update now", Dcm), | |
e532b848 | 636 | } |
637 | }; | |
638 | ||
5eaef520 | 639 | /* |
a6c2a13a | 640 | * Printcap Printer Menu |
e532b848 | 641 | */ |
642 | ||
643 | Menu printer_menu = { | |
5eaef520 | 644 | NULLFUNC, |
645 | NULLFUNC, | |
e532b848 | 646 | "Printer Menu", |
647 | 4, | |
648 | { | |
649 | { GetPcap, NULLMENU, 2, { | |
650 | {"get", "Get Printcap Entry Information"}, | |
651 | {"name", "Name of Printer: "} | |
652 | } }, | |
653 | { AddPcap, NULLMENU, 2, { | |
654 | {"add", "Add New Printcap Entry to Database"}, | |
655 | {"name", "name: "}, | |
656 | } }, | |
657 | { ChngPcap, NULLMENU, 2, { | |
658 | {"change", "Update Printer Information"}, | |
659 | {"name", "name: "}, | |
660 | } }, | |
661 | { DeletePcap, NULLMENU, 2, { | |
662 | {"delete", "Delete Printcap Entry"}, | |
663 | {"name", "Printer Name: "} | |
664 | } } | |
665 | } | |
666 | }; | |
667 | ||
a5204f48 | 668 | |
5eaef520 | 669 | /* |
a6c2a13a | 670 | * Palladium Printer Menu |
671 | */ | |
672 | ||
673 | Menu palladium_menu = { | |
5eaef520 | 674 | NULLFUNC, |
675 | NULLFUNC, | |
a6c2a13a | 676 | "Printer Menu", |
677 | 7, | |
678 | { | |
679 | { GetPalladium, NULLMENU, 2, { | |
24decb93 | 680 | {"get", "Get Palladium Server/Supervisor Information"}, |
a6c2a13a | 681 | {"name", "Name of Printer: "} |
682 | } }, | |
683 | { AddPalladium, NULLMENU, 2, { | |
24decb93 | 684 | {"add", "Add New Palladium Server/Supervisor to Database"}, |
a6c2a13a | 685 | {"name", "Supervisor/server name: "}, |
686 | } }, | |
687 | { ChngPalladium, NULLMENU, 2, { | |
24decb93 | 688 | {"change", "Update Palladium Server/Supervisor Information"}, |
a6c2a13a | 689 | {"name", "name: "}, |
690 | } }, | |
691 | { DeletePalladium, NULLMENU, 2, { | |
24decb93 | 692 | {"delete", "Delete Palladium Server/Supervisor Entry"}, |
a6c2a13a | 693 | {"name", "Printer Name: "} |
694 | } }, | |
695 | { ShowPalladiumAlias, NULLMENU, 3, { | |
24decb93 | 696 | {"getprinter", "Show Logical Printers"}, |
697 | {"newname", "Printer name: "}, | |
698 | {"server", "Supervisor or Server name: "}, | |
a6c2a13a | 699 | } }, |
700 | { AddPalladiumAlias, NULLMENU, 3, { | |
24decb93 | 701 | {"addprinter", "Add Logical Printer"}, |
702 | {"newname", "New printer: "}, | |
703 | {"server", "Supervisor or Server name: "}, | |
a6c2a13a | 704 | } }, |
705 | { DeletePalladiumAlias, NULLMENU, 3, { | |
24decb93 | 706 | {"delprinter", "Remove Logical Printer"}, |
707 | {"newname", "Printer name: "}, | |
708 | {"server", "Supervisor or Server name: "}, | |
a6c2a13a | 709 | } }, |
710 | } | |
711 | }; | |
712 | ||
713 | ||
714 | ||
a137231c | 715 | /* |
716 | * Zephyr Menu | |
717 | */ | |
718 | ||
719 | Menu zephyr_menu = { | |
5eaef520 | 720 | NULLFUNC, |
721 | NULLFUNC, | |
722 | "Zephyr Menu", | |
723 | 5, | |
724 | { | |
725 | { GetZephyr, NULLMENU, 2, { | |
726 | {"get", "Get Zephyr Class Information"}, | |
727 | {"name", "Name of class: "} | |
728 | } }, | |
729 | { AddZephyr, NULLMENU, 2, { | |
730 | {"add", "Add New Zephyr class restrictions"}, | |
731 | {"name", "Class name: "}, | |
732 | } }, | |
733 | { ChngZephyr, NULLMENU, 2, { | |
734 | {"change", "Update Zephyr class restrictions"}, | |
735 | {"name", "Class name: "}, | |
736 | } }, | |
737 | { DeleteZephyr, NULLMENU, 2, { | |
738 | {"delete", "Delete Zephyr class restriction"}, | |
739 | {"name", "Class Name: "} | |
740 | } }, | |
741 | { NULLFUNC, &list_member_menu, 2, { | |
742 | {"members", "Member Menu - Change/Show Members of a List."}, | |
743 | {"list name", "Name of list: "} | |
744 | } }, | |
745 | } | |
a137231c | 746 | }; |
747 | ||
a6c2a13a | 748 | |
a5204f48 | 749 | /* |
750 | * Miscellaneous Menu | |
751 | */ | |
752 | ||
753 | Menu misc_menu = { | |
5eaef520 | 754 | NULLFUNC, |
755 | NULLFUNC, | |
756 | "Miscellaneous Menu", | |
757 | 4, | |
758 | { | |
759 | SIMPLEFUNC("statistics", "Show database statistics", TableStats), | |
760 | SIMPLEFUNC("clients", "Show active Moira clients", ShowClients), | |
761 | { ShowValue, NULLMENU, 2, { | |
762 | {"getval", "Show a database variable value"}, | |
763 | {"name", "variable name: "}, | |
764 | } }, | |
765 | { ShowAlias, NULLMENU, 3, { | |
766 | {"getalias", "Show an alias relation"}, | |
767 | {"name", "Alias name: "}, | |
768 | {"type", "Alias type: "}, | |
769 | } }, | |
770 | } | |
a5204f48 | 771 | }; |
772 | ||
773 | ||
0a2c64cb | 774 | /* ------------------------- Root Menu ------------------------- */ |
775 | ||
5eaef520 | 776 | /* |
8defc06b | 777 | * Moira top menu |
08345b74 | 778 | */ |
779 | ||
8defc06b | 780 | Menu moira_top_menu = { |
08345b74 | 781 | NULLFUNC, |
782 | NULLFUNC, | |
95cd286e | 783 | "Moira Database Manipulation", |
ad7e0e04 | 784 | 12, |
08345b74 | 785 | { |
5eaef520 | 786 | SUBMENU("cluster", "Cluster Menu", &cluster_menu), |
787 | SUBMENU("filesys", "Filesystem Menu", &filesys_menu), | |
788 | SUBMENU("list", "Lists and Group Menu", &list_menu), | |
789 | SUBMENU("machine", "Machine Menu", &machine_menu), | |
62eb195e | 790 | SUBMENU("network", "Network Menu", &subnet_menu), |
5eaef520 | 791 | SUBMENU("nfs", "NFS Physical Menu", &nfsphys_menu), |
a6c2a13a | 792 | SUBMENU("palladium", "Palladium Printer Menu", &palladium_menu), |
62eb195e | 793 | SUBMENU("printcap", "Printcap Printer Menu", &printer_menu), |
5eaef520 | 794 | SUBMENU("user", "User Menu", &user_menu), |
a137231c | 795 | SUBMENU("zephyr", "Zephyr ACLS Menu", &zephyr_menu), |
a5204f48 | 796 | SUBMENU("dcm", "DCM Menu", &dcm_menu), |
797 | SUBMENU("misc", "Miscellaneous Menu", &misc_menu) | |
08345b74 | 798 | } |
5eaef520 | 799 | }; |