]> andersk Git - moira.git/blame - clients/moira/menus.c
* Fix a logic bug (&& vs ||)
[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",
450849e9 154 5,
0a2c64cb 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 } },
450849e9 164 {SplitUserPOBox, NULLMENU, 2, {
165 {"split", "Split a user's post office box"},
166 {"login name", "login name: "}
167 } },
0a2c64cb 168 {RemoveUserPOBox, NULLMENU, 2, {
169 {"remove", "Remove a user's post office box"},
170 {"login name", "login name: "}
171 } },
172 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
173 }
174};
5eaef520 175
0a2c64cb 176/*
177 * Quota Menu
178 */
5eaef520 179
0a2c64cb 180Menu quota_menu = {
181 NULLFUNC,
182 NULLFUNC,
183 "Quota Menu",
9550857c 184 8,
0a2c64cb 185 {
186 SIMPLEFUNC("shdef", "Show default user quota (in KB)", ShowDefaultQuota),
187 {ChangeDefaultQuota, NULLMENU, 2, {
188 {"chdef", "Change default user quota"},
189 {"quota", "New quota (in KB): "}
190 } },
9550857c 191 SIMPLEFUNC("getquota", "Show a quota on a filesystem",
192 GetQuota),
193 SIMPLEFUNC("getfsquotas", "Show all quotas on a filesystem",
194 GetQuotaByFilesys),
195 SIMPLEFUNC("addquota", "Add a new disk quota on a filesystem",
196 AddQuota),
197 SIMPLEFUNC("upquota", "Change a quota on a filesystem",
198 UpdateQuota),
199 SIMPLEFUNC("delquota", "Delete a quota on a filesystem",
200 DeleteQuota),
0a2c64cb 201 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
5eaef520 202 }
0a2c64cb 203};
204
6ef64e43 205Menu fsgroup_menu = {
5eaef520 206 NULLFUNC,
207 NULLFUNC,
208 "Filesystem Group Menu",
209 6,
210 {
211 { GetFS, NULLMENU, 2, {
212 {"get", "Get individual or group filesystem information"},
213 {"name", "Name of Filesystem: "}
214 } },
215 { AddFSToGroup, NULLMENU, 3, {
216 {"add", "Add a new filesystem to an FS group"},
217 {"group", "FS Group name: "},
218 {"filsys", "Filesystem name: "}
219 } },
220 { RemoveFSFromGroup, NULLMENU, 3, {
221 {"remove", "Remove a filesystem from an FS group"},
222 {"group", "FS Group name: "},
223 {"filsys", "Filesystem name: "}
224 } },
225 { ChangeFSGroupOrder, NULLMENU, 2, {
226 {"order", "Change the order of filesystems in a group"},
227 {"group", "FS Group name: "}
228 } },
229 SIMPLEFUNC("help", "Info on Filesystem Groups", FSGroupHelp),
230 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
231 }
6ef64e43 232};
233
e532b848 234Menu service_menu = {
5eaef520 235 NULLFUNC,
236 NULLFUNC,
237 "DCM Service Menu",
238 6,
239 {
240 { showserv, NULLMENU, 2, {
241 { "showserv", "Show service information" },
242 { "service name", "Name of service: " },
243 } },
244 { addserv, NULLMENU, 2, {
245 { "addserv", "Add a new service" },
246 { "service name", "Name of service: " },
247 } },
248 { updateserv, NULLMENU, 2, {
249 { "updateserv", "Update service information" },
250 { "service name", "Name of service: " },
251 } },
252 { resetsrverr, NULLMENU, 2, {
253 { "resetsrverr", "Reset service error" },
254 { "service name", "Name of service: " },
255 } },
256 { resetsrvc, NULLMENU, 2, {
257 { "resetsrvc", "Reset service state" },
258 { "service name", "Name of service: " },
259 } },
260 { delserv, NULLMENU, 2, {
261 { "delserv", "Delete service info" },
262 { "service name", "Name of service: " },
263 } },
264 }
e532b848 265};
266
267Menu host_menu = {
5eaef520 268 NULLFUNC,
269 NULLFUNC,
270 "DCM Host Menu",
271 7,
272 {
273 { showhost, NULLMENU, 3, {
274 { "showhost", "Show service/host tuple information" },
275 { "service name", "Name of service: " },
276 { "host name", "Name of machine: " },
277 } },
278 { addhost, NULLMENU, 3, {
279 { "addhost", "Add a new service/host tuple" },
280 { "service name", "Name of service: " },
281 { "host name", "Name of machine: " },
282 } },
283 { updatehost, NULLMENU, 3, {
284 { "updatehost", "Update a service/host tuple" },
285 { "service name", "Name of service: " },
286 { "host name", "Name of machine: " },
287 } },
288 { resethosterr, NULLMENU, 3, {
289 { "resethosterr", "Reset service/host error" },
290 { "service name", "Name of service: " },
291 { "host name", "Name of machine: " },
292 } },
293 { resethost, NULLMENU, 3, {
294 { "resethost", "Reset service/host state" },
295 { "service name", "Name of service: " },
296 { "host name", "Name of machine: " },
297 } },
298 { sethostor, NULLMENU, 3, {
299 { "override", "Set service/host override" },
300 { "service name", "Name of service: " },
301 { "host name", "Name of machine: " },
302 } },
303 { delhost, NULLMENU, 3, {
304 { "delhost", "Delete service/host tuple" },
305 { "service name", "Name of service: " },
306 { "host name", "Name of machine: " },
307 } },
308 }
e532b848 309};
310
41c81c11 311/* User Reservations Menu */
312Menu reservations_menu = {
313 NULLFUNC,
314 NULLFUNC,
315 "User Reservations Menu",
316 4,
317 {
318 { GetUserReservations, NULLMENU, 2, {
319 { "get", "Get User Reservations" },
320 { "login name", "User login name: " },
321 } },
322 { AddUserReservation, NULLMENU, 3, {
323 { "add", "Add User Reservation" },
324 { "login name", "User login name: " },
325 { "reservation", "Reservation: " },
326 } },
327 { DelUserReservation, NULLMENU, 3, {
328 { "delete", "Delete User Reservation" },
329 { "login name", "User login name: " },
330 { "reservation", "Reservation: " },
331 } },
332 { GetUserByReservation, NULLMENU, 2, {
333 { "getres", "Get Users by Reservation" },
334 { "reservation", "Reservation: " },
335 } },
336 }
337};
338
0a2c64cb 339/* ------------------------- First Tier Menus ------------------------- */
340
5eaef520 341/*
0a2c64cb 342 * Cluster Menu
343 */
344
345Menu cluster_menu = {
346 NULLFUNC,
347 NULLFUNC,
348 "Cluster Menu",
85ca828a 349 7,
08345b74 350 {
351 { ShowClusterInfo, NULLMENU, 2, {
85ca828a 352 {"show", "Get cluster information"},
08345b74 353 {"name", "Cluster's Name: "}
354 } },
08345b74 355 { AddCluster, NULLMENU, 2, {
85ca828a 356 {"add", "Add a new cluster"},
5eaef520 357 {"name", "Cluster's Name: "},
08345b74 358 } },
359 { UpdateCluster, NULLMENU, 2, {
85ca828a 360 {"update", "Update cluster information"},
5eaef520 361 {"name", "Cluster's Name: "},
08345b74 362 } },
08345b74 363 { DeleteCluster, NULLMENU, 2, {
85ca828a 364 {"delete", "Delete this cluster"},
08345b74 365 {"name", "Cluster's Name: "}
366 } },
5eaef520 367 SUBMENU("mappings", "Machine To Cluster Mappings Menu", &mappings_menu),
368 SUBMENU("c_data", "Cluster Data Menu", &cluster_data_menu),
0a2c64cb 369 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
08345b74 370 }
371};
372
5eaef520 373/*
0a2c64cb 374 * Filesystem Menu
375 */
376
377Menu filesys_menu = {
5eaef520 378 NULLFUNC,
379 NULLFUNC,
0a2c64cb 380 "Filesystem Menu",
48dc73fa 381 10,
08345b74 382 {
0a2c64cb 383 { GetFS, NULLMENU, 2, {
384 {"get", "Get Filesystem Name Information"},
385 {"name", "Name of Filesystem: "}
08345b74 386 } },
48dc73fa 387 { GetFSM, NULLMENU, 2, {
388 {"getmach", "Get Filesystems by Machine"},
389 {"name", "Name of Server: "}
390 } },
0a2c64cb 391 { AddFS, NULLMENU, 2, {
392 {"add", "Add New Filesystem to Database"},
393 {"name", "name: "},
08345b74 394 } },
0a2c64cb 395 { ChangeFS, NULLMENU, 2, {
396 {"change", "Update Filesystem Information"},
397 {"name", "name: "},
398 } },
399 { DeleteFS, NULLMENU, 2, {
400 {"delete", "Delete Filesystem"},
401 {"name", "Filesystem Name: "}
402 } },
6ef64e43 403 SUBMENU("fsgroups", "File System Groups Menu", &fsgroup_menu),
0a2c64cb 404 { GetFSAlias, NULLMENU, 2, {
405 {"check", "Check An Association"},
1d4e1e0f 406 {"name", "Alias name: "}
0a2c64cb 407 } },
408 { CreateFSAlias, NULLMENU, 2, {
409 {"alias", "Associate with a Filesystem"},
1d4e1e0f 410 {"name", "Alias name: "},
0a2c64cb 411 } },
412 { DeleteFSAlias, NULLMENU, 2, {
413 {"unalias", "Disassociate from a Filesystem"},
1d4e1e0f 414 {"name", "Alias name: "},
08345b74 415 } },
5eaef520 416 SUBMENU("quotas", "Quota Menu", &quota_menu),
6ef64e43 417/* SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode), */
418/* SIMPLEFUNC("help", "Help ..", AttachHelp) */
08345b74 419 }
420};
421
ad7e0e04 422Menu subnet_menu = {
423 NULLFUNC,
424 NULLFUNC,
62eb195e 425 "Network Menu",
ad7e0e04 426 5,
427 {
428 { ShowSubnetInfo, NULLMENU, 2, {
5eaef520 429 {"show", "Get network information"},
430 {"name", "Network's Name: "}
ad7e0e04 431 } },
432 { AddSubnet, NULLMENU, 2, {
5eaef520 433 {"add", "Add a new network"},
434 {"name", "Network's Name: "},
ad7e0e04 435 } },
436 { UpdateSubnet, NULLMENU, 2, {
5eaef520 437 {"update", "Update network information"},
438 {"name", "Network's Name: "},
ad7e0e04 439 } },
440 { DeleteSubnet, NULLMENU, 2, {
5eaef520 441 {"delete", "Delete this network"},
442 {"name", "Network's Name: "}
ad7e0e04 443 } },
444 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
445 }
446};
447
448Menu cname_menu = {
449 NULLFUNC,
450 NULLFUNC,
451 "Host Alias Menu",
452 4,
453 {
454 { ShowCname, NULLMENU, 3, {
5eaef520 455 {"show", "Get host alias information"},
456 {"alias", "Alias Name (Cname): "},
457 {"host", "Canonical Host Name: "}
ad7e0e04 458 } },
459 { AddCname, NULLMENU, 3, {
5eaef520 460 {"add", "Add a new host alias"},
461 {"alias", "Alias Name (Cname): "},
462 {"host", "Canonical Host Name: "}
ad7e0e04 463 } },
464 { DeleteCname, NULLMENU, 3, {
5eaef520 465 {"delete", "Delete this alias"},
466 {"alias", "Alias Name (Cname): "},
467 {"host", "Canonical Host Name: "}
ad7e0e04 468 } },
469 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode)
470 }
471};
472
08345b74 473/*
0a2c64cb 474 * Machine Menu
08345b74 475 */
476
0a2c64cb 477Menu machine_menu = {
08345b74 478 NULLFUNC,
479 NULLFUNC,
0a2c64cb 480 "Machine Menu",
7399b4b2 481 8,
08345b74 482 {
0a2c64cb 483 { ShowMachineInfo, NULLMENU, 2, {
5eaef520 484 {"show", "Get machine information"},
485 {"name", "Machine's Name: "}
0a2c64cb 486 } },
e5710f27 487 { ShowMachineQuery, NULLMENU, 5, {
5eaef520 488 {"query", "Lookup machines"},
489 {"name", "Machine Name (or leave empty to match any): "},
490 {"address", "Address in dotted notation (or leave empty to match any): "},
491 {"location", "Location (or leave empty to match any): "},
492 {"network", "Network (or leave empty to match any): "}
ad7e0e04 493 } },
7399b4b2 494 SIMPLEFUNC("owner", "Lookup machines by owner", MachineByOwner),
0a2c64cb 495 { AddMachine, NULLMENU, 2, {
5eaef520 496 {"add", "Add a new machine"},
497 {"network", "Network assignment: "},
0a2c64cb 498 } },
499 { UpdateMachine, NULLMENU, 2, {
5eaef520 500 {"update", "Update machine information"},
501 {"name", "Machine's Name: "},
0a2c64cb 502 } },
503 { DeleteMachine, NULLMENU, 2, {
5eaef520 504 {"delete", "Delete this machine"},
505 {"name", "Machine's Name: "}
0a2c64cb 506 } },
5eaef520 507 SUBMENU("cnames", "Alias names for machines", &cname_menu),
508 SUBMENU("mappings", "Machine To Cluster Mappings Menu", &mappings_menu),
08345b74 509 }
510};
511
08345b74 512/*
0a2c64cb 513 * List Menu
08345b74 514 */
515
0a2c64cb 516Menu list_menu = {
5eaef520 517 NULLFUNC,
518 NULLFUNC,
519 "List Menu",
520 9,
521 {
522 { ShowListInfo, NULLMENU, 2, {
523 {"show", "Display information about a list"},
524 {"list name", "Name of list: "}
525 } },
526 { NULLFUNC, &list_member_menu, 2, {
527 {"add", "Create new List"},
528 {"list name", "Name of list: "}
529 } },
530 { UpdateList, NULLMENU, 2, {
531 {"update", "Update characteristics of a list"},
532 {"list name", "Name of list: "}
533 } },
534 { DeleteList, NULLMENU, 2, {
535 {"delete", "Delete a List"},
536 {"list name", "Name of list: "}
537 } },
538 SIMPLEFUNC("query_remove",
539 "Interactively remove an item from all lists",
540 InterRemoveItemFromLists),
541 { NULLFUNC, &list_member_menu, 2, {
542 {"members", "Member Menu - Change/Show Members of a List."},
543 {"list name", "Name of list: "}
544 } },
545 SUBMENU("list_info", "List Info Menu",
546 &list_info_menu),
547 SUBMENU("quotas", "Quota Menu", &quota_menu),
6ef64e43 548/* SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode), */
5eaef520 549 SIMPLEFUNC("help", "Print Help", ListHelp)
550 }
08345b74 551};
552
553/*
0a2c64cb 554 * NFS Physical Menu
08345b74 555 */
556
0a2c64cb 557Menu nfsphys_menu = {
08345b74 558 NULLFUNC,
559 NULLFUNC,
0a2c64cb 560 "NFS Physical Menu",
561 6,
08345b74 562 {
075fe5bb 563 { ShowNFSService, NULLMENU, 2, {
85ca828a 564 { "show", "Show an NFS server" },
08345b74 565 { "machine", "Machine Name: "},
08345b74 566 } },
075fe5bb 567 { AddNFSService, NULLMENU, 2, {
08345b74 568 { "add", "Add NFS server" },
569 { "machine", "Machine Name: "},
08345b74 570 } },
075fe5bb 571 { UpdateNFSService, NULLMENU, 2, {
08345b74 572 { "update", "Update NFS server"},
573 { "machine", "Machine Name: "},
08345b74 574 } },
075fe5bb 575 { DeleteNFSService, NULLMENU, 2, {
08345b74 576 { "delete", "Delete NFS server"},
577 {"machine", "Machine Name: "},
08345b74 578 } },
5eaef520 579 SUBMENU("quotas", "Quota Menu", &quota_menu),
08345b74 580 SIMPLEFUNC("verbose", "Toggle Verbosity of Delete", ToggleVerboseMode),
461c03b6 581/* SIMPLEFUNC("help", "Help", NFSHelp), */
08345b74 582 }
583};
584
a6c2a13a 585Menu krbmap_menu = {
5eaef520 586 NULLFUNC,
587 NULLFUNC,
588 "User Kerberos Mapping Menu",
589 3,
590 {
591 { GetKrbmap, NULLMENU, 3, {
592 { "show", "Show Kerberos Mappings" },
593 { "user", "User login name: " },
594 { "principal", "Principal: " },
595 } },
596 { AddKrbmap, NULLMENU, 3, {
597 { "add", "Add Kerberos Mapping" },
598 { "user", "User login name: " },
599 { "principal", "Principal (this is case sensitive): " },
600 } },
601 { DeleteKrbmap, NULLMENU, 3, {
602 { "delete", "Delete Kerberos Mapping" },
603 { "user", "User login name: " },
604 { "principal", "Principal: " },
605 } },
606 }
a6c2a13a 607};
608
08345b74 609/*
0a2c64cb 610 * User Menu
08345b74 611 */
612
0a2c64cb 613Menu user_menu = {
075fe5bb 614 NULLFUNC,
615 NULLFUNC,
0a2c64cb 616 "User Menu",
41c81c11 617 12,
08345b74 618 {
619 {ShowUserByLogin, NULLMENU, 2, {
620 {"login", "Show user information by login name"},
621 {"login name", "Desired login name: "}
622 } },
623 {ShowUserByName, NULLMENU, 3, {
075fe5bb 624 {"name", "Show user information by name"},
08345b74 625 {"first", "First name: "},
626 {"last", "Last name: "}
627 } },
628 {ShowUserByClass, NULLMENU, 2, {
5eaef520 629 {"class", "Show names of users in a given class"},
630 {"login name", "Desired class: "}
631 } },
81701699 632 {ShowUserById, NULLMENU, 2, {
5eaef520 633 {"id", "Show user information by ID number"},
634 {"ID number", "ID number: "}
81701699 635 } },
075fe5bb 636 {UpdateUser, NULLMENU, 2, {
08345b74 637 {"modify", "Change all user fields"},
638 {"login", "Login name: "}
639 } },
5eaef520 640 SIMPLEFUNC("adduser", "Add a new user to the database",
075fe5bb 641 AddNewUser),
642 SIMPLEFUNC("register", "Register a user", RegisterUser),
a444fefe 643 {DeactivateUser, NULLMENU, 2, {
644 {"deactivate", "Deactivate user"},
645 {"login", "Login name: "},
646 } },
08345b74 647 {DeleteUser, NULLMENU, 2, {
a444fefe 648 {"expunge", "Expunge user"},
08345b74 649 {"login", "Login name: "}
650 } },
0a2c64cb 651 SUBMENU("pobox", "Post Office Box Menu", &pobox_menu),
a6c2a13a 652 SUBMENU("krbmap", "User Kerberos Mappings", &krbmap_menu),
41c81c11 653 SUBMENU("reservations", "User Reservations Menu", &reservations_menu),
08345b74 654 }
655};
656
e532b848 657Menu dcm_menu = {
5eaef520 658 NULLFUNC,
659 NULLFUNC,
660 "DCM Menu",
661 6,
662 {
663 SIMPLEFUNC("enable", "Enable/disable DCM", EnableDcm),
664 SUBMENU("service", "DCM Service Menu", &service_menu),
665 SUBMENU("host", "DCM Host Menu", &host_menu),
666 SIMPLEFUNC("active", "Display entries currently being updated",
667 InProgress),
668 SIMPLEFUNC("failed", "Display entries with errors to be reset", DcmFailed),
669 SIMPLEFUNC("dcm", "Invoke a DCM update now", Dcm),
e532b848 670 }
671};
672
59c53d7f 673Menu printserver_menu = {
674 NULLFUNC,
675 NULLFUNC,
676 "Print Server Menu",
677 4,
678 {
679 { GetPrintSrv, NULLMENU, 2, {
680 {"get", "Get Print Server Information"},
681 {"name", "Name of server: "}
682 } },
683 { AddPrintSrv, NULLMENU, 2, {
684 {"add", "Add a New Print Server"},
685 {"name", "Name of server: "}
686 } },
687 { ChangePrintSrv, NULLMENU, 2, {
688 {"change", "Modify a Print Server"},
689 {"name", "Name of server: "}
690 } },
691 { DelPrintSrv, NULLMENU, 2, {
692 {"delete", "Delete a Print Server"},
693 {"name", "Name of server: "}
694 } }
695 }
696};
697
5eaef520 698/*
28064364 699 * Printer Menu
e532b848 700 */
701
702Menu printer_menu = {
5eaef520 703 NULLFUNC,
704 NULLFUNC,
e532b848 705 "Printer Menu",
59c53d7f 706 11,
e532b848 707 {
28064364 708 { GetPrn, NULLMENU, 2, {
709 {"get", "Get Printer Information"},
e532b848 710 {"name", "Name of Printer: "}
711 } },
28064364 712 { GetPrnByHostname, NULLMENU, 2, {
713 {"hostname", "Look up Printer Information by Printer Hostname"},
714 {"name", "Hostname of Printer: "}
e532b848 715 } },
28064364 716 { GetPrnByEthernet, NULLMENU, 2, {
717 {"ether", "Look up Printer Information by Ethernet address"},
718 {"hwaddr", "Ethernet address of Printer: "}
a6c2a13a 719 } },
28064364 720 { GetPrnByRM, NULLMENU, 2, {
721 {"rm", "Look up Printer Information by Print Spooler"},
722 {"name", "Hostname of spooler: "}
a6c2a13a 723 } },
28064364 724 { GetPrnByLocation, NULLMENU, 2, {
725 {"loc", "Look up Printer Information by Location"},
726 {"location", "Location: "}
a6c2a13a 727 } },
28064364 728 { GetPrnByContact, NULLMENU, 2, {
729 {"contact", "Look up Printer Information by Contact Info"},
730 {"contact", "Contact: "}
a6c2a13a 731 } },
28064364 732 { AddPrn, NULLMENU, 2, {
733 {"add", "Add New Printer to Database"},
734 {"name", "name: "},
a6c2a13a 735 } },
28064364 736 { ChngPrn, NULLMENU, 2, {
737 {"change", "Update Printer Information"},
738 {"name", "name: "},
a6c2a13a 739 } },
28064364 740 { DeletePrn, NULLMENU, 2, {
741 {"delete", "Delete Printer"},
742 {"name", "Printer Name: "}
a6c2a13a 743 } },
28064364 744 { UpdateHWAddr, NULLMENU, 2, {
745 {"hwaddr", "Update Printer Hardware Address"},
746 {"name", "Printer hostname: "}
59c53d7f 747 } },
748 SUBMENU("server", "Print Servers Menu", &printserver_menu),
a6c2a13a 749 }
750};
751
a137231c 752/*
753 * Zephyr Menu
754 */
755
756Menu zephyr_menu = {
5eaef520 757 NULLFUNC,
758 NULLFUNC,
759 "Zephyr Menu",
760 5,
761 {
762 { GetZephyr, NULLMENU, 2, {
763 {"get", "Get Zephyr Class Information"},
764 {"name", "Name of class: "}
765 } },
766 { AddZephyr, NULLMENU, 2, {
767 {"add", "Add New Zephyr class restrictions"},
768 {"name", "Class name: "},
769 } },
770 { ChngZephyr, NULLMENU, 2, {
771 {"change", "Update Zephyr class restrictions"},
772 {"name", "Class name: "},
773 } },
774 { DeleteZephyr, NULLMENU, 2, {
775 {"delete", "Delete Zephyr class restriction"},
776 {"name", "Class Name: "}
777 } },
778 { NULLFUNC, &list_member_menu, 2, {
779 {"members", "Member Menu - Change/Show Members of a List."},
780 {"list name", "Name of list: "}
781 } },
782 }
a137231c 783};
784
17bbb3bc 785/*
786 * ACL Menu
787 */
788
789Menu acl_menu = {
790 NULLFUNC,
791 NULLFUNC,
792 "Generic ACL Menu",
793 3,
794 {
795 { GetACL, NULLMENU, 3, {
796 {"get", "Get ACL Information"},
797 {"host", "Machine: "},
798 {"target", "Target file: "}
799 } },
800 { AddACL, NULLMENU, 3, {
801 {"add", "Add New ACL"},
802 {"host", "Machine: "},
803 {"target", "Target file: "}
804 } },
805 { DeleteACL, NULLMENU, 3, {
806 {"delete", "Delete ACL"},
807 {"host", "Machine: "},
808 {"target", "Target file: "}
809 } },
810 }
811};
a6c2a13a 812
a5204f48 813/*
814 * Miscellaneous Menu
815 */
816
817Menu misc_menu = {
5eaef520 818 NULLFUNC,
819 NULLFUNC,
820 "Miscellaneous Menu",
821 4,
822 {
823 SIMPLEFUNC("statistics", "Show database statistics", TableStats),
824 SIMPLEFUNC("clients", "Show active Moira clients", ShowClients),
825 { ShowValue, NULLMENU, 2, {
826 {"getval", "Show a database variable value"},
827 {"name", "variable name: "},
828 } },
829 { ShowAlias, NULLMENU, 3, {
830 {"getalias", "Show an alias relation"},
831 {"name", "Alias name: "},
832 {"type", "Alias type: "},
833 } },
834 }
a5204f48 835};
836
837
0a2c64cb 838/* ------------------------- Root Menu ------------------------- */
839
5eaef520 840/*
8defc06b 841 * Moira top menu
08345b74 842 */
843
8defc06b 844Menu moira_top_menu = {
08345b74 845 NULLFUNC,
846 NULLFUNC,
95cd286e 847 "Moira Database Manipulation",
28064364 848 11,
08345b74 849 {
5eaef520 850 SUBMENU("cluster", "Cluster Menu", &cluster_menu),
851 SUBMENU("filesys", "Filesystem Menu", &filesys_menu),
852 SUBMENU("list", "Lists and Group Menu", &list_menu),
853 SUBMENU("machine", "Machine Menu", &machine_menu),
62eb195e 854 SUBMENU("network", "Network Menu", &subnet_menu),
5eaef520 855 SUBMENU("nfs", "NFS Physical Menu", &nfsphys_menu),
28064364 856 SUBMENU("printer", "Printer Menu", &printer_menu),
5eaef520 857 SUBMENU("user", "User Menu", &user_menu),
a137231c 858 SUBMENU("zephyr", "Zephyr ACLS Menu", &zephyr_menu),
a5204f48 859 SUBMENU("dcm", "DCM Menu", &dcm_menu),
17bbb3bc 860 SUBMENU("acl", "Generic ACL Menu", &acl_menu),
a5204f48 861 SUBMENU("misc", "Miscellaneous Menu", &misc_menu)
08345b74 862 }
5eaef520 863};
This page took 0.272301 seconds and 5 git commands to generate.