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