]> andersk Git - moira.git/blame_incremental - server/queries2.c
Make update_printer work.
[moira.git] / server / queries2.c
... / ...
CommitLineData
1/* $Id$
2 *
3 * This file defines the query dispatch table
4 *
5 * Copyright (C) 1987-1998 by the Massachusetts Institute of Technology.
6 * For copying and distribution information, please see the file
7 * <mit-copyright.h>.
8 */
9
10#include <mit-copyright.h>
11#include "mr_server.h"
12#include "query.h"
13
14#include "mr_et.h"
15
16/* VALOBJS
17 * These are commonly used validation objects, defined here so that they
18 * can be shared.
19 */
20
21static struct valobj VOuser0[] = {
22 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
23};
24
25static struct valobj VOmach0[] = {
26 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
27};
28
29static struct valobj VOclu0[] = {
30 {V_ID, 0, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
31};
32
33static struct valobj VOsnet0[] = {
34 {V_ID, 0, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
35};
36
37static struct valobj VOlist0[] = {
38 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
39};
40
41static struct valobj VOfilesys0[] = {
42 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
43};
44
45static struct valobj VOcon0[] = {
46 {V_ID, 0, CONTAINERS_TABLE, "name", "cnt_id", MR_CONTAINER},
47};
48
49static struct valobj VOnum0[] = {
50 {V_NUM, 0},
51};
52
53/* Validations
54 * Commonly used validation records defined here so that they may
55 * be shared.
56 */
57
58static struct validate VDmach = { VOmach0, 1 };
59
60static struct validate VDfix_modby = {
61 0,
62 0,
63 0,
64 0,
65 0,
66 0,
67 0,
68 0,
69 followup_fix_modby,
70};
71
72/* Query data */
73
74static char *galo2_fields[] = {
75 "login", "unix_uid", "shell", "last", "first", "middle",
76};
77
78static char *galo_fields[] = {
79 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
80};
81
82static char *gual2_fields[] = {
83 "login",
84 "login", "unix_uid", "shell", "last", "first", "middle", "status",
85 "clearid", "class", "comments", "signature", "secure",
86 "modtime", "modby", "modwith",
87};
88
89static char *gual3_fields[] = {
90 "login",
91 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
92 "status", "clearid", "class", "comments", "signature", "secure", "modtime",
93 "modby", "modwith", "created", "creator",
94};
95
96static char *gual11_fields[] = {
97 "login",
98 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
99 "status", "clearid", "class", "comments", "signature", "secure",
100 "winhomedir", "winprofiledir", "modtime", "modby", "modwith", "created",
101 "creator",
102};
103
104static char *gual_fields[] = {
105 "login",
106 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
107 "status", "clearid", "class", "comments", "signature", "secure",
108 "winhomedir", "winprofiledir", "sponsor_type", "sponsor_name", "expiration",
109 "modtime", "modby", "modwith", "created", "creator",
110};
111
112static char *gubl2_fields[] = {
113 "login",
114 "login", "unix_uid", "shell", "last", "first", "middle", "status",
115 "clearid", "class", "modtime", "modby", "modwith",
116};
117
118static char *gubl_fields[] = {
119 "login",
120 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
121 "status", "clearid", "class", "modtime", "modby", "modwith", "created",
122 "creator",
123};
124
125static struct validate gubl2_validate =
126{
127 0,
128 0,
129 0,
130 0,
131 0,
132 0,
133 access_login,
134 0,
135 followup_fix_modby,
136};
137
138static struct validate gubl_validate =
139{
140 0,
141 0,
142 0,
143 0,
144 0,
145 0,
146 access_login,
147 0,
148 followup_get_user,
149};
150
151static char *guau2_fields[] = {
152 "unix_uid",
153 "login", "unix_uid", "shell", "last", "first", "middle", "status",
154 "clearid", "class", "comments", "signature", "secure",
155 "modtime", "modby", "modwith",
156};
157
158static char *guau3_fields[] = {
159 "unix_uid",
160 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
161 "status", "clearid", "class", "comments", "signature", "secure",
162 "modtime", "modby", "modwith", "created", "creator",
163};
164
165static char *guau11_fields[] = {
166 "unix_uid",
167 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
168 "status", "clearid", "class", "comments", "signature", "secure",
169 "winhomedir", "winprofiledir", "modtime", "modby", "modwith", "created",
170 "creator",
171};
172
173static char *guau_fields[] = {
174 "unix_uid",
175 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
176 "status", "clearid", "class", "comments", "signature", "secure",
177 "winhomedir", "winprofiledir", "sponsor_type", "sponsor_name", "expiration",
178 "modtime", "modby", "modwith", "created", "creator",
179};
180
181static char *guan2_fields[] = {
182 "first", "last",
183 "login", "unix_uid", "shell", "last", "first", "middle", "status",
184 "clearid", "class", "comments", "signature", "secure",
185 "modtime", "modby", "modwith",
186};
187
188static char *guan3_fields[] = {
189 "first", "last",
190 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
191 "status", "clearid", "class", "comments", "signature", "secure",
192 "modtime", "modby", "modwith", "created", "creator",
193};
194
195static char *guan11_fields[] = {
196 "first", "last",
197 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
198 "status", "clearid", "class", "comments", "signature", "secure",
199 "winhomedir", "winprofiledir", "modtime", "modby", "modwith", "created",
200 "creator",
201};
202
203static char *guan_fields[] = {
204 "first", "last",
205 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
206 "status", "clearid", "class", "comments", "signature", "secure",
207 "winhomedir", "winprofiledir", "sponsor_type", "sponsor_name", "expiration",
208 "modtime", "modby", "modwith", "created", "creator",
209};
210
211static struct validate guan2_validate =
212{
213 0,
214 0,
215 0,
216 0,
217 0,
218 0,
219 0,
220 0,
221 followup_fix_modby,
222};
223
224static struct validate guan_validate =
225{
226 0,
227 0,
228 0,
229 0,
230 0,
231 0,
232 0,
233 0,
234 followup_get_user,
235};
236
237static char *guac2_fields[] = {
238 "class",
239 "login", "unix_uid", "shell", "last", "first", "middle", "status",
240 "clearid", "class", "comments", "signature", "secure",
241 "modtime", "modby", "modwith",
242};
243
244static char *guac3_fields[] = {
245 "class",
246 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
247 "status", "clearid", "class", "comments", "signature", "secure",
248 "modtime", "modby", "modwith", "created", "creator",
249};
250
251static char *guac11_fields[] = {
252 "class",
253 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
254 "status", "clearid", "class", "comments", "signature", "secure",
255 "winhomedir", "winprofiledir", "modtime", "modby", "modwith", "created",
256 "creator",
257};
258
259static char *guac_fields[] = {
260 "class",
261 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
262 "status", "clearid", "class", "comments", "signature", "secure",
263 "winhomedir", "winprofiledir", "sponsor_type", "sponsor_name", "expiration",
264 "modtime", "modby", "modwith", "created", "creator",
265};
266
267static char *guam2_fields[] = {
268 "clearid",
269 "login", "unix_uid", "shell", "last", "first", "middle", "status",
270 "clearid", "class", "comments", "signature", "secure",
271 "modtime", "modby", "modwith",
272};
273
274static char *guam3_fields[] = {
275 "clearid",
276 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
277 "status", "clearid", "class", "comments", "signature", "secure",
278 "modtime", "modby", "modwith", "created", "creator",
279};
280
281static char *guam11_fields[] = {
282 "clearid",
283 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
284 "status", "clearid", "class", "comments", "signature", "secure",
285 "winhomedir", "winprofiledir", "modtime", "modby", "modwith", "created",
286 "creator",
287};
288
289static char *guam_fields[] = {
290 "clearid",
291 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
292 "status", "clearid", "class", "comments", "signature", "secure",
293 "winhomedir", "winprofiledir", "sponsor_type", "sponsor_name", "expiration",
294 "modtime", "modby", "modwith", "created", "creator",
295};
296
297static char *guas_fields[] = {
298 "sponsor_type", "sponsor_name",
299 "login",
300};
301
302static struct valobj guas_valobj[] = {
303 {V_TYPE, 0, 0, "gaus", 0, MR_TYPE},
304 {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
305};
306
307static struct validate guas_validate = {
308 guas_valobj,
309 2,
310 0,
311 0,
312 0,
313 0,
314 access_member,
315 0,
316 get_user_account_by_sponsor,
317};
318
319static char *gubu2_fields[] = {
320 "unix_uid",
321 "login", "unix_uid", "shell", "last", "first", "middle", "status",
322 "clearid", "class", "modtime", "modby", "modwith",
323};
324
325static char *gubu_fields[] = {
326 "unix_uid",
327 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
328 "status", "clearid", "class", "modtime", "modby", "modwith", "created",
329 "creator",
330};
331
332static struct validate gubu2_validate =
333{
334 VOnum0,
335 1,
336 0,
337 0,
338 0,
339 0,
340 access_login,
341 0,
342 followup_fix_modby,
343};
344
345static struct validate gubu_validate =
346{
347 VOnum0,
348 1,
349 0,
350 0,
351 0,
352 0,
353 access_login,
354 0,
355 followup_get_user,
356};
357
358static char *gubn2_fields[] = {
359 "first", "last",
360 "login", "unix_uid", "shell", "last", "first", "middle", "status",
361 "clearid", "class", "modtime", "modby", "modwith",
362};
363
364static char *gubn_fields[] = {
365 "first", "last",
366 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
367 "status", "clearid", "class", "modtime", "modby", "modwith", "created",
368 "creator",
369};
370
371static struct validate gubn2_validate =
372{
373 0,
374 0,
375 0,
376 0,
377 0,
378 0,
379 0,
380 0,
381 followup_fix_modby,
382};
383
384static struct validate gubn_validate =
385{
386 0,
387 0,
388 0,
389 0,
390 0,
391 0,
392 0,
393 0,
394 followup_get_user,
395};
396
397static char *gubc2_fields[] = {
398 "class",
399 "login", "unix_uid", "shell", "last", "first", "middle", "status",
400 "clearid", "class", "modtime", "modby", "modwith",
401};
402
403static char *gubc_fields[] = {
404 "class",
405 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
406 "status", "clearid", "class", "modtime", "modby", "modwith",
407 "created", "creator",
408};
409
410static char *gubm2_fields[] = {
411 "clearid",
412 "login", "unix_uid", "shell", "last", "first", "middle", "status",
413 "clearid", "class", "modtime", "modby", "modwith",
414};
415
416static char *gubm_fields[] = {
417 "clearid",
418 "login", "unix_uid", "shell", "winconsoleshell", "last", "first",
419 "middle", "status", "clearid", "class", "modtime", "modby", "modwith",
420 "created", "creator",
421};
422
423static char *auac2_fields[] = {
424 "login", "unix_uid", "shell", "last", "first", "middle", "status",
425 "clearid", "class", "comments", "signature", "secure",
426};
427
428static char *auac3_fields[] = {
429 "login", "unix_uid", "shell", "winconsoleshell", "last", "first",
430 "middle", "status", "clearid", "class", "comments", "signature", "secure",
431};
432
433static char *auac11_fields[] = {
434 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
435 "status", "clearid", "class", "comments", "signature", "secure",
436 "winhomedir", "winprofiledir",
437};
438
439static char *auac_fields[] = {
440 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
441 "status", "clearid", "class", "comments", "signature", "secure",
442 "winhomedir", "winprofiledir", "sponsor_type", "sponsor_name", "expiration",
443};
444
445static struct valobj auac2_valobj[] = {
446 {V_CHAR, 0, USERS_TABLE, "login"},
447 {V_NUM, 1},
448 {V_CHAR, 2, USERS_TABLE, "shell"},
449 {V_CHAR, 3, USERS_TABLE, "last"},
450 {V_CHAR, 4, USERS_TABLE, "first"},
451 {V_CHAR, 5, USERS_TABLE, "middle"},
452 {V_NUM, 6},
453 {V_CHAR, 7, USERS_TABLE, "clearid"},
454 {V_TYPE, 8, 0, "class", 0, MR_BAD_CLASS},
455 {V_ID, 9, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
456 {V_NUM, 11},
457};
458
459static struct valobj auac3_valobj[] = {
460 {V_CHAR, 0, USERS_TABLE, "login"},
461 {V_NUM, 1},
462 {V_CHAR, 2, USERS_TABLE, "shell"},
463 {V_CHAR, 3, USERS_TABLE, "winconsoleshell"},
464 {V_CHAR, 4, USERS_TABLE, "last"},
465 {V_CHAR, 5, USERS_TABLE, "first"},
466 {V_CHAR, 6, USERS_TABLE, "middle"},
467 {V_NUM, 7},
468 {V_CHAR, 8, USERS_TABLE, "clearid"},
469 {V_TYPE, 9, 0, "class", 0, MR_BAD_CLASS},
470 {V_ID, 10, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
471 {V_NUM, 12},
472};
473
474static struct valobj auac11_valobj[] = {
475 {V_CHAR, 0, USERS_TABLE, "login"},
476 {V_NUM, 1},
477 {V_CHAR, 2, USERS_TABLE, "shell"},
478 {V_CHAR, 3, USERS_TABLE, "winconsoleshell"},
479 {V_CHAR, 4, USERS_TABLE, "last"},
480 {V_CHAR, 5, USERS_TABLE, "first"},
481 {V_CHAR, 6, USERS_TABLE, "middle"},
482 {V_NUM, 7},
483 {V_CHAR, 8, USERS_TABLE, "clearid"},
484 {V_TYPE, 9, 0, "class", 0, MR_BAD_CLASS},
485 {V_ID, 10, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
486 {V_NUM, 12},
487 {V_LEN, 13, USERS_TABLE, "winhomedir"},
488 {V_LEN, 14, USERS_TABLE, "winprofiledir"},
489};
490
491static struct valobj auac_valobj[] = {
492 {V_CHAR, 0, USERS_TABLE, "login"},
493 {V_NUM, 1},
494 {V_CHAR, 2, USERS_TABLE, "shell"},
495 {V_CHAR, 3, USERS_TABLE, "winconsoleshell"},
496 {V_CHAR, 4, USERS_TABLE, "last"},
497 {V_CHAR, 5, USERS_TABLE, "first"},
498 {V_CHAR, 6, USERS_TABLE, "middle"},
499 {V_NUM, 7},
500 {V_CHAR, 8, USERS_TABLE, "clearid"},
501 {V_TYPE, 9, 0, "class", 0, MR_BAD_CLASS},
502 {V_ID, 10, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
503 {V_NUM, 12},
504 {V_LEN, 13, USERS_TABLE, "winhomedir"},
505 {V_LEN, 14, USERS_TABLE, "winprofiledir"},
506 {V_TYPE, 15, 0, "ace_type", 0, MR_ACE},
507 {V_TYPEDATA, 16, 0, 0, "list_id", MR_ACE},
508 {V_CHAR, 17, USERS_TABLE, "expiration"},
509};
510
511static struct validate auac2_validate = {
512 auac2_valobj,
513 11,
514 "login",
515 "login = '%s'",
516 1,
517 "users_id",
518 0,
519 setup_ausr,
520 followup_ausr,
521};
522
523static struct validate auac3_validate = {
524 auac3_valobj,
525 12,
526 "login",
527 "login = '%s'",
528 1,
529 "users_id",
530 0,
531 setup_ausr,
532 followup_ausr,
533};
534
535static struct validate auac11_validate = {
536 auac11_valobj,
537 14,
538 "login",
539 "login = '%s'",
540 1,
541 "users_id",
542 0,
543 setup_ausr,
544 followup_ausr,
545};
546
547static struct validate auac_validate = {
548 auac_valobj,
549 17,
550 "login",
551 "login = '%s'",
552 1,
553 "users_id",
554 0,
555 setup_ausr,
556 followup_ausr,
557};
558
559static struct validate ausr2_validate = {
560 auac2_valobj,
561 9,
562 "login",
563 "login = '%s'",
564 1,
565 "users_id",
566 0,
567 setup_ausr,
568 followup_ausr,
569};
570
571static struct validate ausr3_validate = {
572 auac3_valobj,
573 10,
574 "login",
575 "login = '%s'",
576 1,
577 "users_id",
578 0,
579 setup_ausr,
580 followup_ausr,
581};
582
583static struct validate ausr11_validate = {
584 auac11_valobj,
585 12,
586 "login",
587 "login = '%s'",
588 1,
589 "users_id",
590 0,
591 setup_ausr,
592 followup_ausr,
593};
594
595static struct validate ausr_validate = {
596 auac_valobj,
597 15,
598 "login",
599 "login = '%s'",
600 1,
601 "users_id",
602 0,
603 setup_ausr,
604 followup_ausr,
605};
606
607static char *rusr_fields[] = {
608 "unix_uid", "login", "pobox_type"
609};
610
611static struct valobj rusr_valobj[] = {
612 {V_NUM, 0},
613 {V_CHAR, 1, USERS_TABLE, "login"},
614};
615
616static struct validate rusr_validate = {
617 rusr_valobj,
618 2,
619 0,
620 0,
621 0,
622 0,
623 0,
624 register_user,
625 0,
626};
627
628static char *uuac2_fields[] = {
629 "login",
630 "newlogin", "unix_uid", "shell", "last", "first", "middle", "status",
631 "clearid", "class", "comments", "signature", "secure",
632};
633
634static char *uuac3_fields[] = {
635 "login",
636 "newlogin", "unix_uid", "shell", "winconsoleshell", "last", "first",
637 "middle", "status", "clearid", "class", "comments", "signature", "secure",
638};
639
640static char *uuac11_fields[] = {
641 "login",
642 "newlogin", "unix_uid", "shell", "winconsoleshell", "last", "first",
643 "middle", "status", "clearid", "class", "comments", "signature", "secure",
644 "winhomedir", "winprofiledir",
645};
646
647static char *uuac_fields[] = {
648 "login",
649 "newlogin", "unix_uid", "shell", "winconsoleshell", "last", "first",
650 "middle", "status", "clearid", "class", "comments", "signature", "secure",
651 "winhomedir", "winprofiledir", "sponsor_type", "sponsor_name", "expiration",
652};
653
654static struct valobj uuac2_valobj[] = {
655 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
656 {V_RENAME, 1, USERS_TABLE, "login", "users_id", MR_NOT_UNIQUE},
657 {V_NUM, 2},
658 {V_CHAR, 3, USERS_TABLE, "shell"},
659 {V_CHAR, 4, USERS_TABLE, "first"},
660 {V_CHAR, 5, USERS_TABLE, "last"},
661 {V_CHAR, 6, USERS_TABLE, "middle"},
662 {V_NUM, 7},
663 {V_CHAR, 8, USERS_TABLE, "clearid"},
664 {V_TYPE, 9, 0, "class", 0, MR_BAD_CLASS},
665 {V_ID, 10, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
666 {V_NUM, 12},
667};
668
669static struct valobj uuac3_valobj[] = {
670 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
671 {V_RENAME, 1, USERS_TABLE, "login", "users_id", MR_NOT_UNIQUE},
672 {V_NUM, 2},
673 {V_CHAR, 3, USERS_TABLE, "shell"},
674 {V_CHAR, 4, USERS_TABLE, "winconsoleshell"},
675 {V_CHAR, 5, USERS_TABLE, "first"},
676 {V_CHAR, 6, USERS_TABLE, "last"},
677 {V_CHAR, 7, USERS_TABLE, "middle"},
678 {V_NUM, 8},
679 {V_CHAR, 9, USERS_TABLE, "clearid"},
680 {V_TYPE, 10, 0, "class", 0, MR_BAD_CLASS},
681 {V_ID, 11, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
682 {V_NUM, 13},
683};
684
685static struct valobj uuac11_valobj[] = {
686 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
687 {V_RENAME, 1, USERS_TABLE, "login", "users_id", MR_NOT_UNIQUE},
688 {V_NUM, 2},
689 {V_CHAR, 3, USERS_TABLE, "shell"},
690 {V_CHAR, 4, USERS_TABLE, "winconsoleshell"},
691 {V_CHAR, 5, USERS_TABLE, "first"},
692 {V_CHAR, 6, USERS_TABLE, "last"},
693 {V_CHAR, 7, USERS_TABLE, "middle"},
694 {V_NUM, 8},
695 {V_CHAR, 9, USERS_TABLE, "clearid"},
696 {V_TYPE, 10, 0, "class", 0, MR_BAD_CLASS},
697 {V_ID, 11, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
698 {V_NUM, 13},
699 {V_LEN, 14, USERS_TABLE, "winhomedir"},
700 {V_LEN, 15, USERS_TABLE, "winprofiledir"},
701};
702
703static struct valobj uuac_valobj[] = {
704 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
705 {V_RENAME, 1, USERS_TABLE, "login", "users_id", MR_NOT_UNIQUE},
706 {V_NUM, 2},
707 {V_CHAR, 3, USERS_TABLE, "shell"},
708 {V_CHAR, 4, USERS_TABLE, "winconsoleshell"},
709 {V_CHAR, 5, USERS_TABLE, "first"},
710 {V_CHAR, 6, USERS_TABLE, "last"},
711 {V_CHAR, 7, USERS_TABLE, "middle"},
712 {V_NUM, 8},
713 {V_CHAR, 9, USERS_TABLE, "clearid"},
714 {V_TYPE, 10, 0, "class", 0, MR_BAD_CLASS},
715 {V_ID, 11, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
716 {V_NUM, 13},
717 {V_LEN, 14, USERS_TABLE, "winhomedir"},
718 {V_LEN, 15, USERS_TABLE, "winprofiledir"},
719 {V_TYPE, 16, 0, "ace_type", 0, MR_ACE},
720 {V_TYPEDATA, 17, 0, 0, "list_id", MR_ACE},
721 {V_CHAR, 18, USERS_TABLE, "expiration"},
722};
723
724static struct validate uuac2_validate = {
725 uuac2_valobj,
726 12,
727 0,
728 0,
729 0,
730 "users_id",
731 0,
732 setup_ausr,
733 set_modtime_by_id,
734};
735
736static struct validate uuac3_validate = {
737 uuac3_valobj,
738 13,
739 0,
740 0,
741 0,
742 "users_id",
743 0,
744 setup_ausr,
745 set_modtime_by_id,
746};
747
748static struct validate uuac11_validate = {
749 uuac11_valobj,
750 15,
751 0,
752 0,
753 0,
754 "users_id",
755 access_update_user,
756 setup_ausr,
757 set_modtime_by_id,
758};
759
760static struct validate uuac_validate = {
761 uuac_valobj,
762 18,
763 0,
764 0,
765 0,
766 "users_id",
767 access_update_user,
768 setup_ausr,
769 set_modtime_by_id,
770};
771
772static struct validate uusr2_validate = {
773 uuac2_valobj,
774 10,
775 0,
776 0,
777 0,
778 "users_id",
779 0,
780 setup_ausr,
781 set_modtime_by_id,
782};
783
784static struct validate uusr3_validate = {
785 uuac3_valobj,
786 11,
787 0,
788 0,
789 0,
790 "users_id",
791 0,
792 setup_ausr,
793 set_modtime_by_id,
794};
795
796static struct validate uusr11_validate = {
797 uuac11_valobj,
798 13,
799 0,
800 0,
801 0,
802 "users_id",
803 0,
804 setup_ausr,
805 set_modtime_by_id,
806};
807
808static struct validate uusr_validate = {
809 uuac_valobj,
810 16,
811 0,
812 0,
813 0,
814 "users_id",
815 0,
816 setup_ausr,
817 set_modtime_by_id,
818};
819
820static char *uush_fields[] = {
821 "login",
822 "shell",
823};
824
825static struct valobj uush_valobj[] = {
826 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
827 {V_CHAR, 1, USERS_TABLE, "shell"},
828};
829
830static struct validate uush_validate = {
831 uush_valobj,
832 2,
833 0,
834 0,
835 0,
836 "users_id",
837 access_user,
838 0,
839 set_finger_modtime,
840};
841
842static char *uuws_fields[] = {
843 "login",
844 "winconsoleshell",
845};
846
847static struct valobj uuws_valobj[] = {
848 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
849 {V_CHAR, 1, USERS_TABLE, "winconsoleshell"},
850};
851
852static struct validate uuws_validate = {
853 uuws_valobj,
854 2,
855 0,
856 0,
857 0,
858 "users_id",
859 access_user,
860 0,
861 set_finger_modtime,
862};
863
864static char *uust_fields[] = {
865 "login",
866 "status",
867};
868
869static char *uuss_fields[] = {
870 "login",
871 "secure",
872};
873
874static struct valobj uust_valobj[] = {
875 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
876 {V_NUM, 1},
877 {V_NUM, 2},
878};
879
880static struct validate uust_validate = {
881 uust_valobj,
882 2,
883 0,
884 0,
885 0,
886 "users_id",
887 0,
888 0,
889 set_modtime_by_id,
890};
891
892static char *dusr_fields[] = {
893 "login",
894};
895
896static struct validate dusr_validate = {
897 VOuser0,
898 1,
899 0,
900 0,
901 0,
902 0,
903 0,
904 setup_dusr,
905 0,
906};
907
908static char *aurv_fields[] = {
909 "login", "reservation",
910};
911
912static struct validate aurv_validate = {
913 VOuser0,
914 1,
915 0,
916 0,
917 0,
918 "users_id",
919 0,
920 0,
921 do_user_reservation,
922};
923
924static char *gurv_fields[] = {
925 "login",
926 "reservation",
927};
928
929static struct validate gurv_validate = {
930 VOuser0,
931 1,
932 0,
933 0,
934 0,
935 0,
936 0,
937 0,
938 get_user_reservations,
939};
940
941static char *gubr_fields[] = {
942 "reservation",
943 "login",
944};
945
946static struct validate gubr_validate = {
947 0,
948 0,
949 0,
950 0,
951 0,
952 0,
953 0,
954 0,
955 get_user_by_reservation,
956};
957
958static char *gkum_fields[] = { "login", "kerberos",
959 "login", "kerberos" };
960
961static char *akum_fields[] = { "login", "kerberos" };
962
963static struct valobj akum_valobj[] =
964{
965 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
966 {V_ID, 1, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
967};
968
969static struct validate akum_validate =
970{
971 akum_valobj,
972 2,
973 "users_id",
974 "users_id = %d or string_id = %d",
975 2,
976 "users_id",
977 access_user,
978 0,
979 0,
980};
981
982static struct validate dkum_validate =
983{
984 akum_valobj,
985 2,
986 "users_id",
987 "users_id = %d and string_id = %d",
988 2,
989 "users_id",
990 access_user,
991 0,
992 0,
993};
994
995static char *gfbl_fields[] = {
996 "login",
997 "login", "fullname", "nickname", "home_addr",
998 "home_phone", "office_addr", "office_phone", "department",
999 "affiliation", "modtime", "modby", "modwith",
1000};
1001
1002static struct validate gfbl_validate = {
1003 VOuser0,
1004 1,
1005 0,
1006 0,
1007 0,
1008 0,
1009 access_user,
1010 0,
1011 followup_fix_modby,
1012};
1013
1014static char *ufbl_fields[] = {
1015 "login",
1016 "fullname", "nickname", "home_addr",
1017 "home_phone", "office_addr", "office_phone", "department",
1018 "affiliation",
1019};
1020
1021static struct valobj ufbl_valobj[] = {
1022 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
1023 {V_LEN, 1, USERS_TABLE, "fullname"},
1024 {V_LEN, 2, USERS_TABLE, "nickname"},
1025 {V_LEN, 3, USERS_TABLE, "home_addr"},
1026 {V_LEN, 4, USERS_TABLE, "home_phone"},
1027 {V_LEN, 5, USERS_TABLE, "office_addr"},
1028 {V_LEN, 6, USERS_TABLE, "office_phone"},
1029 {V_LEN, 7, USERS_TABLE, "department"},
1030 {V_LEN, 8, USERS_TABLE, "affiliation"},
1031};
1032
1033static struct validate ufbl_validate = {
1034 ufbl_valobj,
1035 9,
1036 0,
1037 0,
1038 0,
1039 0,
1040 access_user,
1041 0,
1042 set_finger_modtime,
1043};
1044
1045static char *gpob_fields[] = {
1046 "login",
1047 "login", "type", "box", "address", "modtime", "modby", "modwith",
1048};
1049
1050static struct validate gpob_validate = {
1051 VOuser0,
1052 1,
1053 "potype",
1054 "potype != 'NONE' and users_id = %d",
1055 1,
1056 0,
1057 access_user,
1058 0,
1059 followup_gpob,
1060};
1061
1062static char *gpox_fields[] = {
1063 "login", "type", "box",
1064};
1065
1066static struct validate gpox_validate = {
1067 0,
1068 0,
1069 0,
1070 0,
1071 0,
1072 0,
1073 0,
1074 0,
1075 followup_gpob,
1076};
1077
1078static char *spob_fields[] = {
1079 "login", "type", "box",
1080};
1081
1082static struct valobj spob_valobj[] = {
1083 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
1084 {V_TYPE, 1, 0, "pobox", 0, MR_TYPE},
1085};
1086
1087static struct validate spob_validate = /* SET_POBOX */
1088{
1089 spob_valobj,
1090 2,
1091 0,
1092 0,
1093 0,
1094 0,
1095 access_spob,
1096 0,
1097 set_pobox,
1098};
1099
1100static struct validate spop_validate = /* SET_POBOX_POP */
1101{
1102 VOuser0,
1103 1,
1104 0,
1105 0,
1106 0,
1107 0,
1108 access_user,
1109 0,
1110 set_pobox_pop,
1111};
1112
1113static struct validate dpob_validate = /* DELETE_POBOX */
1114{
1115 VOuser0,
1116 1,
1117 0,
1118 0,
1119 0,
1120 0,
1121 access_user,
1122 setup_dpob,
1123 set_pobox_modtime,
1124};
1125
1126static char *gmac_fields[] = {
1127 "name",
1128 "name", "type", "modtime", "modby", "modwith",
1129};
1130
1131static char *ghst2_fields[] = {
1132 "name", "address", "location", "network",
1133 "name", "vendor", "model", "os", "location", "contact", "use",
1134 "status", "status_change", "network", "address", "ace_type",
1135 "ace_name", "admin_comment", "ops_comment", "created", "creator",
1136 "inuse", "modtime", "modby", "modwith",
1137};
1138
1139static char *ghbh2_fields[] = {
1140 "hwaddr",
1141 "name", "vendor", "model", "os", "location", "contact", "use",
1142 "status", "status_change", "network", "address", "ace_type",
1143 "ace_name", "admin_comment", "ops_comment", "created", "creator",
1144 "inuse", "modtime", "modby", "modwith",
1145};
1146
1147static char *ghst6_fields[] = {
1148 "name", "address", "location", "network",
1149 "name", "vendor", "model", "os", "location", "contact", "billing_contact",
1150 "use", "status", "status_change", "network", "address", "ace_type",
1151 "ace_name", "admin_comment", "ops_comment", "created", "creator",
1152 "inuse", "modtime", "modby", "modwith",
1153};
1154
1155static char *ghbh6_fields[] = {
1156 "hwaddr",
1157 "name", "vendor", "model", "os", "location", "contact", "billing_contact",
1158 "use", "status", "status_change", "network", "address", "ace_type",
1159 "ace_name", "admin_comment", "ops_comment", "created", "creator",
1160 "inuse", "modtime", "modby", "modwith",
1161};
1162
1163static char *ghst_fields[] = {
1164 "name", "address", "location", "network",
1165 "name", "vendor", "model", "os", "location", "contact", "billing_contact",
1166 "account_number", "use", "status", "status_change", "network", "address",
1167 "ace_type", "ace_name", "admin_comment", "ops_comment", "created", "creator",
1168 "inuse", "modtime", "modby", "modwith",
1169};
1170
1171static char *ghbh_fields[] = {
1172 "hwaddr",
1173 "name", "vendor", "model", "os", "location", "contact", "billing_contact",
1174 "account_number", "use", "status", "status_change", "network", "address",
1175 "ace_type", "ace_name", "admin_comment", "ops_comment", "created", "creator",
1176 "inuse", "modtime", "modby", "modwith",
1177};
1178
1179static char *ghba_fields[] = {
1180 "account_number",
1181 "name", "vendor", "model", "os", "location", "contact", "billing_contact",
1182 "account_number", "use", "status", "status_change", "network", "address",
1183 "ace_type", "ace_name", "admin_comment", "ops_comment", "created", "creator",
1184 "inuse", "modtime", "modby", "modwith",
1185};
1186
1187static struct validate ghst_validate = {
1188 0,
1189 0,
1190 0,
1191 0,
1192 0,
1193 0,
1194 0,
1195 setup_ghst,
1196 followup_ghst,
1197};
1198
1199static char *ghha_fields[] = {
1200 "name",
1201 "hwaddr",
1202};
1203
1204static char *ahst2_fields[] = {
1205 "name", "vendor", "model", "os", "location", "contact", "use",
1206 "status", "subnet", "address", "ace_type", "ace_name",
1207 "admin_comment", "ops_comment",
1208};
1209
1210static struct valobj ahst2_valobj[] = {
1211 {V_CHAR, 0, MACHINE_TABLE, "name"},
1212 {V_CHAR, 1, MACHINE_TABLE, "vendor"},
1213 {V_CHAR, 2, MACHINE_TABLE, "model"},
1214 {V_CHAR, 3, MACHINE_TABLE, "os"},
1215 {V_CHAR, 4, MACHINE_TABLE, "location"},
1216 {V_CHAR, 5, MACHINE_TABLE, "contact"},
1217 {V_NUM, 6},
1218 {V_NUM, 7},
1219 {V_ID, 8, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
1220 {V_TYPE, 10, 0, "ace_type", 0, MR_ACE},
1221 {V_TYPEDATA, 11, 0, 0, 0, MR_ACE},
1222 {V_ID, 12, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1223 {V_ID, 13, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1224};
1225
1226static struct validate ahst2_validate = {
1227 ahst2_valobj,
1228 13,
1229 "name",
1230 "name = UPPER('%s')",
1231 1,
1232 "mach_id",
1233 access_host,
1234 setup_ahst,
1235 set_uppercase_modtime,
1236};
1237
1238static char *ahst6_fields[] = {
1239 "name", "vendor", "model", "os", "location", "contact", "billing_contact",
1240 "use", "status", "subnet", "address", "ace_type", "ace_name",
1241 "admin_comment", "ops_comment",
1242};
1243
1244static struct valobj ahst6_valobj[] = {
1245 {V_CHAR, 0, MACHINE_TABLE, "name"},
1246 {V_CHAR, 1, MACHINE_TABLE, "vendor"},
1247 {V_CHAR, 2, MACHINE_TABLE, "model"},
1248 {V_CHAR, 3, MACHINE_TABLE, "os"},
1249 {V_CHAR, 4, MACHINE_TABLE, "location"},
1250 {V_CHAR, 5, MACHINE_TABLE, "contact"},
1251 {V_CHAR, 6, MACHINE_TABLE, "billing_contact"},
1252 {V_NUM, 7},
1253 {V_NUM, 8},
1254 {V_ID, 9, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
1255 {V_TYPE, 11, 0, "ace_type", 0, MR_ACE},
1256 {V_TYPEDATA, 12, 0, 0, 0, MR_ACE},
1257 {V_ID, 13, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1258 {V_ID, 14, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1259};
1260
1261static struct validate ahst6_validate = {
1262 ahst6_valobj,
1263 14,
1264 "name",
1265 "name = UPPER('%s')",
1266 1,
1267 "mach_id",
1268 access_host,
1269 setup_ahst,
1270 set_uppercase_modtime,
1271};
1272
1273static char *ahst_fields[] = {
1274 "name", "vendor", "model", "os", "location", "contact", "billing_contact",
1275 "account_number", "use", "status", "subnet", "address", "ace_type",
1276 "ace_name", "admin_comment", "ops_comment",
1277};
1278
1279static struct valobj ahst_valobj[] = {
1280 {V_CHAR, 0, MACHINE_TABLE, "name"},
1281 {V_CHAR, 1, MACHINE_TABLE, "vendor"},
1282 {V_CHAR, 2, MACHINE_TABLE, "model"},
1283 {V_CHAR, 3, MACHINE_TABLE, "os"},
1284 {V_CHAR, 4, MACHINE_TABLE, "location"},
1285 {V_CHAR, 5, MACHINE_TABLE, "contact"},
1286 {V_CHAR, 6, MACHINE_TABLE, "billing_contact"},
1287 {V_CHAR, 7, MACHINE_TABLE, "account_number"},
1288 {V_NUM, 8},
1289 {V_NUM, 9},
1290 {V_ID, 10, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
1291 {V_TYPE, 12, 0, "ace_type", 0, MR_ACE},
1292 {V_TYPEDATA, 13, 0, 0, 0, MR_ACE},
1293 {V_ID, 14, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1294 {V_ID, 15, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1295};
1296
1297static struct validate ahst_validate = {
1298 ahst_valobj,
1299 15,
1300 "name",
1301 "name = UPPER('%s')",
1302 1,
1303 "mach_id",
1304 access_host,
1305 setup_ahst,
1306 set_uppercase_modtime,
1307};
1308
1309static char *uhst2_fields[] = {
1310 "name",
1311 "newname", "vendor", "model", "os", "location", "contact", "use",
1312 "status", "subnet", "address", "ace_type", "ace_name",
1313 "admin_comment", "ops_comment",
1314};
1315
1316static struct valobj uhst2_valobj[] = {
1317 {V_CHAR, 0, MACHINE_TABLE, "name"},
1318 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1319 {V_RENAME, 1, MACHINE_TABLE, "name", "mach_id", MR_NOT_UNIQUE},
1320 {V_CHAR, 2, MACHINE_TABLE, "vendor"},
1321 {V_CHAR, 3, MACHINE_TABLE, "model"},
1322 {V_CHAR, 4, MACHINE_TABLE, "os"},
1323 {V_CHAR, 5, MACHINE_TABLE, "location"},
1324 {V_CHAR, 6, MACHINE_TABLE, "contact"},
1325 {V_NUM, 7},
1326 {V_NUM, 8},
1327 {V_ID, 9, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
1328 {V_TYPE, 11, 0, "ace_type", 0, MR_ACE},
1329 {V_TYPEDATA, 12, 0, 0, 0, MR_ACE},
1330 {V_ID, 13, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1331 {V_ID, 14, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1332};
1333
1334static struct validate uhst2_validate = {
1335 uhst2_valobj,
1336 15,
1337 0,
1338 0,
1339 0,
1340 "mach_id",
1341 access_host,
1342 setup_ahst,
1343 set_modtime_by_id,
1344};
1345
1346static char *uhst6_fields[] = {
1347 "name",
1348 "newname", "vendor", "model", "os", "location", "contact", "billing_contact",
1349 "use", "status", "subnet", "address", "ace_type", "ace_name",
1350 "admin_comment", "ops_comment",
1351};
1352
1353static struct valobj uhst6_valobj[] = {
1354 {V_CHAR, 0, MACHINE_TABLE, "name"},
1355 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1356 {V_RENAME, 1, MACHINE_TABLE, "name", "mach_id", MR_NOT_UNIQUE},
1357 {V_CHAR, 2, MACHINE_TABLE, "vendor"},
1358 {V_CHAR, 3, MACHINE_TABLE, "model"},
1359 {V_CHAR, 4, MACHINE_TABLE, "os"},
1360 {V_CHAR, 5, MACHINE_TABLE, "location"},
1361 {V_CHAR, 6, MACHINE_TABLE, "contact"},
1362 {V_CHAR, 7, MACHINE_TABLE, "billing_contact"},
1363 {V_NUM, 8},
1364 {V_NUM, 9},
1365 {V_ID, 10, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
1366 {V_TYPE, 12, 0, "ace_type", 0, MR_ACE},
1367 {V_TYPEDATA, 13, 0, 0, 0, MR_ACE},
1368 {V_ID, 14, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1369 {V_ID, 15, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1370};
1371
1372static struct validate uhst6_validate = {
1373 uhst6_valobj,
1374 16,
1375 0,
1376 0,
1377 0,
1378 "mach_id",
1379 access_host,
1380 setup_ahst,
1381 set_modtime_by_id,
1382};
1383
1384static char *uhst_fields[] = {
1385 "name",
1386 "newname", "vendor", "model", "os", "location", "contact", "billing_contact",
1387 "account_number", "use", "status", "subnet", "address", "ace_type",
1388 "ace_name", "admin_comment", "ops_comment",
1389};
1390
1391static struct valobj uhst_valobj[] = {
1392 {V_CHAR, 0, MACHINE_TABLE, "name"},
1393 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1394 {V_RENAME, 1, MACHINE_TABLE, "name", "mach_id", MR_NOT_UNIQUE},
1395 {V_CHAR, 2, MACHINE_TABLE, "vendor"},
1396 {V_CHAR, 3, MACHINE_TABLE, "model"},
1397 {V_CHAR, 4, MACHINE_TABLE, "os"},
1398 {V_CHAR, 5, MACHINE_TABLE, "location"},
1399 {V_CHAR, 6, MACHINE_TABLE, "contact"},
1400 {V_CHAR, 7, MACHINE_TABLE, "billing_contact"},
1401 {V_CHAR, 8, MACHINE_TABLE, "account_number"},
1402 {V_NUM, 9},
1403 {V_NUM, 10},
1404 {V_ID, 11, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
1405 {V_TYPE, 13, 0, "ace_type", 0, MR_ACE},
1406 {V_TYPEDATA, 14, 0, 0, 0, MR_ACE},
1407 {V_ID, 15, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1408 {V_ID, 16, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
1409};
1410
1411static struct validate uhst_validate = {
1412 uhst_valobj,
1413 17,
1414 0,
1415 0,
1416 0,
1417 "mach_id",
1418 access_host,
1419 setup_ahst,
1420 set_modtime_by_id,
1421};
1422
1423static char *uhha_fields[] = {
1424 "name",
1425 "hwaddr"
1426};
1427
1428static struct valobj uhha_valobj[] = {
1429 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1430 {V_CHAR, 1, MACHINE_TABLE, "hwaddr"},
1431};
1432
1433static struct validate uhha_validate = {
1434 uhha_valobj,
1435 2,
1436 0,
1437 0,
1438 0,
1439 "mach_id",
1440 0,
1441 setup_uhha,
1442 set_modtime_by_id,
1443};
1444
1445static char *dhst_fields[] = {
1446 "name",
1447};
1448
1449static struct validate dhst_validate = {
1450 VOmach0,
1451 1,
1452 0,
1453 0,
1454 0,
1455 0,
1456 0,
1457 setup_dmac,
1458 0,
1459};
1460
1461static char *ghal_fields[] = {
1462 "alias", "canonical_hostname",
1463 "alias", "canonical_hostname"
1464};
1465
1466static struct validate ghal_validate = {
1467 0,
1468 0,
1469 0,
1470 0,
1471 0,
1472 0,
1473 access_ahal,
1474 0,
1475 0,
1476};
1477
1478static struct valobj ahal_valobj[] = {
1479 {V_CHAR, 0, HOSTALIAS_TABLE, "name"},
1480 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1481};
1482
1483static struct validate ahal_validate = {
1484 ahal_valobj,
1485 2,
1486 "name",
1487 "name = UPPER('%s')",
1488 1,
1489 "mach_id",
1490 access_ahal,
1491 setup_ahal,
1492 0,
1493};
1494
1495static struct valobj dhal_valobj[] = {
1496 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1497};
1498
1499static struct validate dhal_validate = {
1500 dhal_valobj,
1501 1,
1502 "name",
1503 "name = UPPER('%s') AND mach_id = %d",
1504 2,
1505 "mach_id",
1506 access_ahal,
1507 0,
1508 0,
1509};
1510
1511static char *gsnt2_fields[] = {
1512 "name",
1513 "name", "description", "address", "mask", "low", "high", "prefix",
1514 "ace_type", "ace_name", "modtime", "modby", "modwith"
1515};
1516
1517static char *gsnt_fields[] = {
1518 "name",
1519 "name", "description", "status", "contact", "account_number", "address",
1520 "mask", "low", "high", "prefix", "ace_type", "ace_name", "modtime",
1521 "modby", "modwith"
1522};
1523
1524static struct validate gsnt_validate = {
1525 0,
1526 0,
1527 0,
1528 0,
1529 0,
1530 0,
1531 access_snt,
1532 0,
1533 followup_gsnt,
1534};
1535
1536static char *asnt2_fields[] = {
1537 "name", "description", "address", "mask", "low", "high", "prefix",
1538 "ace_type", "ace_name",
1539};
1540
1541static struct valobj asnt2_valobj[] = {
1542 {V_CHAR, 0, SUBNET_TABLE, "name"},
1543 {V_LEN, 1, SUBNET_TABLE, "description"},
1544 {V_NUM, 2},
1545 {V_NUM, 3},
1546 {V_NUM, 4},
1547 {V_NUM, 5},
1548 {V_LEN, 6, SUBNET_TABLE, "prefix"},
1549 {V_TYPE, 7, 0, "ace_type", 0, MR_ACE},
1550 {V_TYPEDATA, 8, 0, 0, 0, MR_ACE},
1551};
1552
1553static struct validate asnt2_validate =
1554{
1555 asnt2_valobj,
1556 9,
1557 "name",
1558 "name = UPPER('%s')",
1559 1,
1560 "snet_id",
1561 0,
1562 prefetch_value,
1563 set_uppercase_modtime,
1564};
1565
1566static char *asnt_fields[] = {
1567 "name", "description", "status", "contact", "account_number", "address",
1568 "mask", "low", "high", "prefix", "ace_type", "ace_name",
1569};
1570
1571static struct valobj asnt_valobj[] = {
1572 {V_CHAR, 0, SUBNET_TABLE, "name"},
1573 {V_LEN, 1, SUBNET_TABLE, "description"},
1574 {V_NUM, 2},
1575 {V_CHAR, 3, SUBNET_TABLE, "contact"},
1576 {V_CHAR, 4, SUBNET_TABLE, "account_number"},
1577 {V_NUM, 5},
1578 {V_NUM, 6},
1579 {V_NUM, 7},
1580 {V_NUM, 8},
1581 {V_LEN, 9, SUBNET_TABLE, "prefix"},
1582 {V_TYPE, 10, 0, "ace_type", 0, MR_ACE},
1583 {V_TYPEDATA, 11, 0, 0, 0, MR_ACE},
1584};
1585
1586static struct validate asnt_validate =
1587{
1588 asnt_valobj,
1589 12,
1590 "name",
1591 "name = UPPER('%s')",
1592 1,
1593 "snet_id",
1594 0,
1595 setup_asnt,
1596 set_uppercase_modtime,
1597};
1598
1599static char *usnt2_fields[] = {
1600 "name",
1601 "newname", "description", "address", "mask", "low", "high", "prefix",
1602 "ace_type", "ace_name",
1603};
1604
1605static struct valobj usnt2_valobj[] = {
1606 {V_ID, 0, SUBNET_TABLE, "name", "snet_id", MR_NO_MATCH},
1607 {V_RENAME, 1, SUBNET_TABLE, "name", "snet_id", MR_NOT_UNIQUE},
1608 {V_LEN, 2, SUBNET_TABLE, "description"},
1609 {V_NUM, 3},
1610 {V_NUM, 4},
1611 {V_NUM, 5},
1612 {V_NUM, 6},
1613 {V_LEN, 7, SUBNET_TABLE, "prefix"},
1614 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
1615 {V_TYPEDATA, 9, 0, 0, 0, MR_ACE},
1616};
1617
1618static struct validate usnt2_validate =
1619{
1620 usnt2_valobj,
1621 10,
1622 "name",
1623 "snet_id = %d",
1624 1,
1625 "snet_id",
1626 0,
1627 0,
1628 set_modtime_by_id,
1629};
1630
1631static char *usnt_fields[] = {
1632 "name",
1633 "newname", "description", "status", "contact", "account_number", "address",
1634 "mask", "low", "high", "prefix", "ace_type", "ace_name",
1635};
1636
1637static struct valobj usnt_valobj[] = {
1638 {V_ID, 0, SUBNET_TABLE, "name", "snet_id", MR_NO_MATCH},
1639 {V_RENAME, 1, SUBNET_TABLE, "name", "snet_id", MR_NOT_UNIQUE},
1640 {V_LEN, 2, SUBNET_TABLE, "description"},
1641 {V_NUM, 3},
1642 {V_CHAR, 4, SUBNET_TABLE, "contact"},
1643 {V_CHAR, 5, SUBNET_TABLE, "account_number"},
1644 {V_NUM, 6},
1645 {V_NUM, 7},
1646 {V_NUM, 8},
1647 {V_NUM, 9},
1648 {V_LEN, 10, SUBNET_TABLE, "prefix"},
1649 {V_TYPE, 11, 0, "ace_type", 0, MR_ACE},
1650 {V_TYPEDATA, 12, 0, 0, 0, MR_ACE},
1651};
1652
1653static struct validate usnt_validate =
1654{
1655 usnt_valobj,
1656 13,
1657 "name",
1658 "snet_id = %d",
1659 1,
1660 "snet_id",
1661 0,
1662 setup_asnt,
1663 set_modtime_by_id,
1664};
1665
1666static char *dsnt_fields[] = {
1667 "name",
1668};
1669
1670static struct validate dsnt_validate = {
1671 VOsnet0,
1672 1,
1673 0,
1674 0,
1675 0,
1676 0,
1677 0,
1678 setup_dsnt,
1679 0,
1680};
1681
1682static char *gclu_fields[] = {
1683 "name",
1684 "name", "description", "location", "modtime", "modby", "modwith",
1685};
1686
1687static char *aclu_fields[] = {
1688 "name", "description", "location",
1689};
1690
1691static struct valobj aclu_valobj[] = {
1692 {V_CHAR, 0, CLUSTERS_TABLE, "name"},
1693 {V_LEN, 1, CLUSTERS_TABLE, "description"},
1694 {V_LEN, 2, CLUSTERS_TABLE, "location"},
1695};
1696
1697static struct validate aclu_validate =
1698{
1699 aclu_valobj,
1700 3,
1701 "name",
1702 "name = '%s'",
1703 1,
1704 "clu_id",
1705 0,
1706 prefetch_value,
1707 set_modtime,
1708};
1709
1710static char *uclu_fields[] = {
1711 "name",
1712 "newname", "description", "location",
1713};
1714
1715static struct valobj uclu_valobj[] = {
1716 {V_ID, 0, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
1717 {V_RENAME, 1, CLUSTERS_TABLE, "name", "clu_id", MR_NOT_UNIQUE},
1718 {V_LEN, 2, CLUSTERS_TABLE, "description"},
1719 {V_LEN, 3, CLUSTERS_TABLE, "location"},
1720};
1721
1722static struct validate uclu_validate = {
1723 uclu_valobj,
1724 4,
1725 0,
1726 0,
1727 0,
1728 "clu_id",
1729 0,
1730 0,
1731 set_modtime_by_id,
1732};
1733
1734static char *dclu_fields[] = {
1735 "name",
1736};
1737
1738static struct validate dclu_validate = {
1739 VOclu0,
1740 1,
1741 0,
1742 0,
1743 0,
1744 0,
1745 0,
1746 setup_dclu,
1747 0,
1748};
1749
1750static char *gmcm_fields[] = {
1751 "machine", "cluster",
1752 "machine", "cluster",
1753};
1754
1755static struct valobj amtc_valobj[] = /* ADD_MACHINE_TO_CLUSTER */
1756{ /* DELETE_MACHINE_FROM_CLUSTER */
1757 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1758 {V_ID, 1, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
1759};
1760
1761static struct validate amtc_validate = /* for amtc and dmfc */
1762{
1763 amtc_valobj,
1764 2,
1765 "mach_id",
1766 "mach_id = %d and clu_id = %d",
1767 2,
1768 0,
1769 0,
1770 0,
1771 set_mach_modtime_by_id,
1772};
1773
1774static char *gcld_fields[] = {
1775 "cluster", "serv_label",
1776 "cluster", "serv_label", "serv_cluster",
1777};
1778
1779static char *acld_fields[] = {
1780 "cluster", "serv_label", "serv_cluster",
1781};
1782
1783static struct valobj acld_valobj[] =
1784{
1785 {V_ID, 0, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
1786 {V_CHAR, 1, SVC_TABLE, "serv_label"},
1787 {V_CHAR, 2, SVC_TABLE, "serv_cluster"}
1788};
1789
1790static struct validate acld_validate =
1791{
1792 acld_valobj,
1793 3,
1794 "clu_id",
1795 "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
1796 3,
1797 0,
1798 0,
1799 0,
1800 set_cluster_modtime_by_id,
1801};
1802
1803static struct validate dcld_validate =
1804{
1805 VOclu0,
1806 1,
1807 "clu_id",
1808 "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
1809 3,
1810 0,
1811 0,
1812 0,
1813 set_cluster_modtime_by_id,
1814};
1815
1816static char *glin2_fields[] = {
1817 "name",
1818 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1819 "ace_type", "ace_name", "description", "modtime", "modby", "modwith",
1820};
1821
1822static char *glin3_fields[] = {
1823 "name",
1824 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1825 "nfsgroup", "ace_type", "ace_name", "description", "modtime", "modby",
1826 "modwith",
1827};
1828
1829static char *glin4_fields[] = {
1830 "name",
1831 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1832 "nfsgroup", "ace_type", "ace_name", "memace_type", "memace_name",
1833 "description", "modtime", "modby", "modwith",
1834};
1835
1836static char *glin_fields[] = {
1837 "name",
1838 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1839 "nfsgroup", "mailman", "mailman_server", "ace_type", "ace_name",
1840 "memace_type", "memace_name", "description", "modtime", "modby", "modwith",
1841};
1842
1843static struct validate glin_validate = {
1844 0,
1845 0,
1846 0,
1847 0,
1848 0,
1849 0,
1850 access_vis_list_by_name,
1851 0,
1852 followup_glin,
1853};
1854
1855static char *alis2_fields[] = {
1856 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1857 "ace_type", "ace_name", "description",
1858};
1859
1860static struct valobj alis2_valobj[] = {
1861 {V_CHAR, 0, LIST_TABLE, "name"},
1862 {V_NUM, 1},
1863 {V_NUM, 2},
1864 {V_NUM, 3},
1865 {V_NUM, 4},
1866 {V_NUM, 5},
1867 {V_NUM, 6},
1868 {V_TYPE, 7, 0, "ace_type", 0, MR_ACE},
1869 {V_TYPEDATA, 8, 0, 0, "list_id", MR_ACE},
1870 {V_LEN, 9, LIST_TABLE, "description"},
1871};
1872
1873static struct validate alis2_validate = {
1874 alis2_valobj,
1875 10,
1876 "name",
1877 "name = '%s'",
1878 1,
1879 "list_id",
1880 0,
1881 setup_alis,
1882 set_modtime,
1883};
1884
1885static char *alis3_fields[] = {
1886 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1887 "nfsgroup", "ace_type", "ace_name", "description",
1888};
1889
1890static struct valobj alis3_valobj[] = {
1891 {V_CHAR, 0, LIST_TABLE, "name"},
1892 {V_NUM, 1},
1893 {V_NUM, 2},
1894 {V_NUM, 3},
1895 {V_NUM, 4},
1896 {V_NUM, 5},
1897 {V_NUM, 6},
1898 {V_NUM, 7},
1899 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
1900 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
1901 {V_LEN, 10, LIST_TABLE, "description"},
1902};
1903
1904static struct validate alis3_validate = {
1905 alis3_valobj,
1906 11,
1907 "name",
1908 "name = '%s'",
1909 1,
1910 "list_id",
1911 0,
1912 setup_alis,
1913 set_modtime,
1914};
1915
1916static char *alis4_fields[] = {
1917 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1918 "nfsgroup", "ace_type", "ace_name", "memace_type", "memace_name",
1919 "description",
1920};
1921
1922static struct valobj alis4_valobj[] = {
1923 {V_CHAR, 0, LIST_TABLE, "name"},
1924 {V_NUM, 1},
1925 {V_NUM, 2},
1926 {V_NUM, 3},
1927 {V_NUM, 4},
1928 {V_NUM, 5},
1929 {V_NUM, 6},
1930 {V_NUM, 7},
1931 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
1932 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
1933 {V_TYPE, 10, 0, "ace_type", 0, MR_ACE},
1934 {V_TYPEDATA, 11, 0, 0, "list_id", MR_ACE},
1935 {V_LEN, 12, LIST_TABLE, "description"},
1936};
1937
1938static struct validate alis4_validate = {
1939 alis4_valobj,
1940 13,
1941 "name",
1942 "name = '%s'",
1943 1,
1944 "list_id",
1945 0,
1946 setup_alis,
1947 set_modtime,
1948};
1949
1950static char *alis_fields[] = {
1951 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1952 "nfsgroup", "mailman", "mailman_server", "ace_type", "ace_name",
1953 "memace_type", "memace_name", "description",
1954};
1955
1956static struct valobj alis_valobj[] = {
1957 {V_CHAR, 0, LIST_TABLE, "name"},
1958 {V_NUM, 1},
1959 {V_NUM, 2},
1960 {V_NUM, 3},
1961 {V_NUM, 4},
1962 {V_NUM, 5},
1963 {V_NUM, 6},
1964 {V_NUM, 7},
1965 {V_NUM, 8},
1966 {V_ID, 9, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1967 {V_TYPE, 10, 0, "ace_type", 0, MR_ACE},
1968 {V_TYPEDATA, 11, 0, 0, "list_id", MR_ACE},
1969 {V_TYPE, 12, 0, "ace_type", 0, MR_ACE},
1970 {V_TYPEDATA, 13, 0, 0, "list_id", MR_ACE},
1971 {V_LEN, 14, LIST_TABLE, "description"},
1972};
1973
1974static struct validate alis_validate = {
1975 alis_valobj,
1976 15,
1977 "name",
1978 "name = '%s'",
1979 1,
1980 "list_id",
1981 0,
1982 setup_alis,
1983 set_modtime,
1984};
1985
1986static char *ulis2_fields[] = {
1987 "name",
1988 "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1989 "ace_type", "ace_name", "description",
1990};
1991
1992static struct valobj ulis2_valobj[] = {
1993 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
1994 {V_RENAME, 1, LIST_TABLE, "name", "list_id", MR_NOT_UNIQUE},
1995 {V_NUM, 2},
1996 {V_NUM, 3},
1997 {V_NUM, 4},
1998 {V_NUM, 5},
1999 {V_NUM, 6},
2000 {V_NUM, 7},
2001 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
2002 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
2003 {V_LEN, 10, LIST_TABLE, "description"},
2004};
2005
2006static struct validate ulis2_validate = {
2007 ulis2_valobj,
2008 11,
2009 "name",
2010 "list_id = %d",
2011 1,
2012 "list_id",
2013 access_list,
2014 setup_alis,
2015 set_modtime_by_id,
2016};
2017
2018static char *ulis3_fields[] = {
2019 "name",
2020 "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
2021 "nfsgroup", "ace_type", "ace_name", "description",
2022};
2023
2024static struct valobj ulis3_valobj[] = {
2025 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
2026 {V_RENAME, 1, LIST_TABLE, "name", "list_id", MR_NOT_UNIQUE},
2027 {V_NUM, 2},
2028 {V_NUM, 3},
2029 {V_NUM, 4},
2030 {V_NUM, 5},
2031 {V_NUM, 6},
2032 {V_NUM, 7},
2033 {V_NUM, 8},
2034 {V_TYPE, 9, 0, "ace_type", 0, MR_ACE},
2035 {V_TYPEDATA, 10, 0, 0, "list_id", MR_ACE},
2036 {V_LEN, 11, LIST_TABLE, "description"},
2037};
2038
2039static struct validate ulis3_validate = {
2040 ulis3_valobj,
2041 12,
2042 "name",
2043 "list_id = %d",
2044 1,
2045 "list_id",
2046 access_list,
2047 setup_alis,
2048 set_modtime_by_id,
2049};
2050
2051static char *ulis4_fields[] = {
2052 "name",
2053 "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
2054 "nfsgroup", "ace_type", "ace_name", "memace_type", "memace_name",
2055 "description",
2056};
2057
2058static struct valobj ulis4_valobj[] = {
2059 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
2060 {V_RENAME, 1, LIST_TABLE, "name", "list_id", MR_NOT_UNIQUE},
2061 {V_NUM, 2},
2062 {V_NUM, 3},
2063 {V_NUM, 4},
2064 {V_NUM, 5},
2065 {V_NUM, 6},
2066 {V_NUM, 7},
2067 {V_NUM, 8},
2068 {V_TYPE, 9, 0, "ace_type", 0, MR_ACE},
2069 {V_TYPEDATA, 10, 0, 0, "list_id", MR_ACE},
2070 {V_TYPE, 11, 0, "ace_type", 0, MR_ACE},
2071 {V_TYPEDATA, 12, 0, 0, "list_id", MR_ACE},
2072 {V_LEN, 13, LIST_TABLE, "description"},
2073};
2074
2075static struct validate ulis4_validate = {
2076 ulis4_valobj,
2077 14,
2078 "name",
2079 "list_id = %d",
2080 1,
2081 "list_id",
2082 access_list,
2083 setup_alis,
2084 set_modtime_by_id,
2085};
2086
2087static char *ulis_fields[] = {
2088 "name",
2089 "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
2090 "nfsgroup", "mailman", "mailman_server", "ace_type", "ace_name",
2091 "memace_type", "memace_name", "description",
2092};
2093
2094static struct valobj ulis_valobj[] = {
2095 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
2096 {V_RENAME, 1, LIST_TABLE, "name", "list_id", MR_NOT_UNIQUE},
2097 {V_NUM, 2},
2098 {V_NUM, 3},
2099 {V_NUM, 4},
2100 {V_NUM, 5},
2101 {V_NUM, 6},
2102 {V_NUM, 7},
2103 {V_NUM, 8},
2104 {V_NUM, 9},
2105 {V_ID, 10, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2106 {V_TYPE, 11, 0, "ace_type", 0, MR_ACE},
2107 {V_TYPEDATA, 12, 0, 0, "list_id", MR_ACE},
2108 {V_TYPE, 13, 0, "ace_type", 0, MR_ACE},
2109 {V_TYPEDATA, 14, 0, 0, "list_id", MR_ACE},
2110 {V_LEN, 15, LIST_TABLE, "description"},
2111};
2112
2113static struct validate ulis_validate = {
2114 ulis_valobj,
2115 16,
2116 "name",
2117 "list_id = %d",
2118 1,
2119 "list_id",
2120 access_list,
2121 setup_alis,
2122 set_modtime_by_id,
2123};
2124
2125static char *dlis_fields[] = {
2126 "name",
2127};
2128
2129static struct validate dlis_validate = {
2130 VOlist0,
2131 1,
2132 "name",
2133 "list_id = %d",
2134 1,
2135 0,
2136 access_list,
2137 setup_dlis,
2138 0,
2139};
2140
2141static char *amtl_fields[] = {
2142 "list_name", "member_type", "member_name",
2143};
2144
2145static char *atml_fields[] = {
2146 "list_name", "member_type", "member_name", "tag",
2147};
2148
2149static struct valobj amtl_valobj[] = {
2150 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
2151 {V_TYPE, 1, 0, "member", 0, MR_TYPE},
2152 {V_TYPEDATA, 2, 0, 0, 0, MR_NO_MATCH},
2153 {V_ID, 3, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
2154};
2155
2156static struct validate amtl_validate =
2157{
2158 amtl_valobj,
2159 3,
2160 0,
2161 0,
2162 0,
2163 0,
2164 access_list,
2165 0,
2166 add_member_to_list,
2167};
2168
2169static struct validate atml_validate =
2170{
2171 amtl_valobj,
2172 4,
2173 0,
2174 0,
2175 0,
2176 0,
2177 access_list,
2178 0,
2179 add_member_to_list,
2180};
2181
2182static struct validate tmol_validate =
2183{
2184 amtl_valobj,
2185 4,
2186 0,
2187 0,
2188 0,
2189 0,
2190 access_list,
2191 0,
2192 tag_member_of_list,
2193};
2194
2195static struct validate dmfl_validate =
2196{
2197 amtl_valobj,
2198 3,
2199 0,
2200 0,
2201 0,
2202 0,
2203 access_list,
2204 0,
2205 delete_member_from_list,
2206};
2207
2208static char *gaus_fields[] = {
2209 "ace_type", "ace_name",
2210 "use_type", "use_name",
2211};
2212
2213static struct valobj gaus_valobj[] = {
2214 {V_TYPE, 0, 0, "gaus", 0, MR_TYPE},
2215 {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
2216};
2217
2218static struct validate gaus_validate = {
2219 gaus_valobj,
2220 2,
2221 0,
2222 0,
2223 0,
2224 0,
2225 access_member,
2226 0,
2227 get_ace_use,
2228};
2229
2230static char *ghbo_fields[] = {
2231 "ace_type", "ace_name",
2232 "name",
2233};
2234
2235static struct valobj ghbo_valobj[] = {
2236 {V_TYPE, 0, 0, "gaus", 0, MR_TYPE},
2237 {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
2238};
2239
2240static struct validate ghbo_validate = {
2241 ghbo_valobj,
2242 2,
2243 0,
2244 0,
2245 0,
2246 0,
2247 access_member,
2248 0,
2249 get_host_by_owner,
2250};
2251
2252static char *qgli_fields[] = {
2253 "active", "publicflg", "hidden", "maillist", "grouplist",
2254 "list",
2255};
2256
2257static struct valobj qgli_valobj[] = {
2258 {V_TYPE, 0, 0, "boolean", 0, MR_TYPE},
2259 {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
2260 {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
2261 {V_TYPE, 3, 0, "boolean", 0, MR_TYPE},
2262 {V_TYPE, 4, 0, "boolean", 0, MR_TYPE},
2263};
2264
2265static struct validate qgli_validate = {
2266 qgli_valobj,
2267 5,
2268 0,
2269 0,
2270 0,
2271 0,
2272 access_qgli,
2273 0,
2274 qualified_get_lists,
2275};
2276
2277static char *gmol_fields[] = {
2278 "list_name",
2279 "member_type", "member_name",
2280};
2281
2282static char *gtml_fields[] = {
2283 "list_name",
2284 "member_type", "member_name", "tag",
2285};
2286
2287static struct validate gmol_validate = {
2288 VOlist0,
2289 1,
2290 0,
2291 0,
2292 0,
2293 0,
2294 access_visible_list,
2295 0,
2296 get_members_of_list,
2297};
2298
2299static char *glom_fields[] = {
2300 "member_type", "member_name",
2301 "list_name", "active", "publicflg", "hidden", "maillist", "grouplist",
2302};
2303
2304static struct valobj glom_valobj[] = {
2305 {V_TYPE, 0, 0, "rmember", 0, MR_TYPE},
2306 {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
2307};
2308
2309static struct validate glom_validate = {
2310 glom_valobj,
2311 2,
2312 0,
2313 0,
2314 0,
2315 0,
2316 access_member,
2317 0,
2318 get_lists_of_member,
2319};
2320
2321static char *cmol_fields[] = {
2322 "list_name",
2323 "count",
2324};
2325
2326static struct validate cmol_validate = {
2327 VOlist0,
2328 1,
2329 0,
2330 0,
2331 0,
2332 0,
2333 access_visible_list,
2334 0,
2335 count_members_of_list,
2336};
2337
2338static char *gsin_fields[] = {
2339 "service",
2340 "service", "update_int", "target_file", "script", "dfgen", "dfcheck",
2341 "type", "enable", "inprogress", "harderror", "errmsg",
2342 "ace_type", "ace_name", "modtime", "modby", "modwith",
2343};
2344
2345static struct validate gsin_validate =
2346{
2347 0,
2348 0,
2349 0,
2350 0,
2351 0,
2352 0,
2353 access_service,
2354 0,
2355 followup_gsin,
2356};
2357
2358static char *qgsv_fields[] = {
2359 "enable", "inprogress", "harderror",
2360 "service",
2361};
2362
2363static struct valobj qgsv_valobj[] = {
2364 {V_TYPE, 0, 0, "boolean", 0, MR_TYPE},
2365 {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
2366 {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
2367};
2368
2369static struct validate qgsv_validate = {
2370 qgsv_valobj,
2371 3,
2372 0,
2373 0,
2374 0,
2375 0,
2376 0,
2377 0,
2378 qualified_get_server,
2379};
2380
2381static char *asin_fields[] = {
2382 "service", "update_int", "target_file", "script", "type", "enable",
2383 "ace_type", "ace_name",
2384};
2385
2386static struct valobj asin_valobj[] = {
2387 {V_CHAR, 0, SERVERS_TABLE, "name"},
2388 {V_NUM, 1},
2389 {V_LEN, 2, SERVERS_TABLE, "target_file"},
2390 {V_LEN, 3, SERVERS_TABLE, "script"},
2391 {V_TYPE, 4, 0, "service", 0, MR_TYPE},
2392 {V_NUM, 5},
2393 {V_TYPE, 6, 0, "ace_type", 0, MR_ACE},
2394 {V_TYPEDATA, 7, 0, 0, 0, MR_ACE},
2395};
2396
2397static struct validate asin_validate = /* for asin, usin */
2398{
2399 asin_valobj,
2400 8,
2401 "name",
2402 "name = UPPER('%s')",
2403 1,
2404 0,
2405 0,
2406 0,
2407 set_uppercase_modtime,
2408};
2409
2410static struct validate rsve_validate = {
2411 asin_valobj,
2412 1,
2413 "name",
2414 "name = UPPER('%s')",
2415 1,
2416 0,
2417 access_service,
2418 0,
2419 set_uppercase_modtime,
2420};
2421
2422static char *ssif_fields[] = {
2423 "service", "dfgen", "dfcheck", "inprogress", "harderror", "errmsg",
2424};
2425
2426static struct valobj ssif_valobj[] = {
2427 {V_NAME, 0, SERVERS_TABLE, "name", 0, MR_SERVICE},
2428 {V_NUM, 1},
2429 {V_NUM, 2},
2430 {V_NUM, 3},
2431 {V_NUM, 4},
2432 {V_LEN, 5, SERVERS_TABLE, "errmsg"},
2433};
2434
2435static struct validate ssif_validate = {
2436 ssif_valobj,
2437 6,
2438 "name",
2439 "name = UPPER('%s')",
2440 1,
2441 0,
2442 0,
2443 0,
2444 0,
2445};
2446
2447static char *dsin_fields[] = {
2448 "service",
2449};
2450
2451static struct validate dsin_validate = {
2452 asin_valobj,
2453 1,
2454 "name",
2455 "name = UPPER('%s')",
2456 1,
2457 0,
2458 0,
2459 setup_dsin,
2460 0,
2461};
2462
2463static char *gshi_fields[] = {
2464 "service", "machine",
2465 "service", "machine", "enable", "override", "success", "inprogress",
2466 "hosterror", "hosterrormsg", "ltt", "lts", "value1", "value2",
2467 "value3", "modtime", "modby", "modwith",
2468};
2469
2470static struct validate gshi_validate = {
2471 0,
2472 0,
2473 0,
2474 0,
2475 0,
2476 0,
2477 access_service,
2478 0,
2479 followup_fix_modby,
2480};
2481
2482static char *qgsh_fields[] = {
2483 "service", "enable", "override", "success", "inprogress", "hosterror",
2484 "service", "machine",
2485};
2486
2487static struct valobj qgsh_valobj[] = {
2488 {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
2489 {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
2490 {V_TYPE, 3, 0, "boolean", 0, MR_TYPE},
2491 {V_TYPE, 4, 0, "boolean", 0, MR_TYPE},
2492 {V_TYPE, 5, 0, "boolean", 0, MR_TYPE},
2493};
2494
2495static struct validate qgsh_validate = {
2496 qgsh_valobj,
2497 5,
2498 0,
2499 0,
2500 0,
2501 0,
2502 0,
2503 0,
2504 qualified_get_serverhost,
2505};
2506
2507static char *ashi_fields[] = {
2508 "service", "machine", "enable", "value1", "value2", "value3",
2509};
2510
2511static struct valobj ashi_valobj[] = {
2512 {V_NAME, 0, SERVERS_TABLE, "name", 0, MR_SERVICE},
2513 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2514 {V_NUM, 2},
2515 {V_NUM, 3},
2516 {V_NUM, 4},
2517 {V_LEN, 5, SERVERHOSTS_TABLE, "value3"},
2518};
2519
2520static struct validate ashi_validate = /* ashi & ushi */
2521{
2522 ashi_valobj,
2523 6,
2524 "service",
2525 "service = UPPER('%s') AND mach_id = %d",
2526 2,
2527 0,
2528 access_service,
2529 0,
2530 set_serverhost_modtime,
2531};
2532
2533static struct validate rshe_validate =
2534{
2535 ashi_valobj,
2536 2,
2537 "service",
2538 "service = UPPER('%s') AND mach_id = %d",
2539 2,
2540 0,
2541 access_service,
2542 0,
2543 set_serverhost_modtime,
2544};
2545
2546static struct validate ssho_validate =
2547{
2548 ashi_valobj,
2549 2,
2550 "service",
2551 "service = UPPER('%s') AND mach_id = %d",
2552 2,
2553 0,
2554 access_service,
2555 0,
2556 trigger_dcm,
2557};
2558
2559static char *sshi_fields[] = {
2560 "service", "machine", "override", "success", "inprogress",
2561 "hosterror", "errmsg", "ltt", "lts",
2562};
2563
2564static struct valobj sshi_valobj[] = {
2565 {V_NAME, 0, SERVERS_TABLE, "name", 0, MR_SERVICE},
2566 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2567 {V_NUM, 2},
2568 {V_NUM, 3},
2569 {V_NUM, 4},
2570 {V_NUM, 5},
2571 {V_LEN, 6, SERVERHOSTS_TABLE, "hosterrmsg"},
2572 {V_NUM, 7},
2573 {V_NUM, 8},
2574};
2575
2576static struct validate sshi_validate =
2577{
2578 sshi_valobj,
2579 9,
2580 0,
2581 0,
2582 0,
2583 0,
2584 0,
2585 0,
2586 0,
2587};
2588
2589static char *dshi_fields[] = {
2590 "service", "machine",
2591};
2592
2593static struct validate dshi_validate =
2594{
2595 ashi_valobj,
2596 2,
2597 "service",
2598 "service = UPPER('%s') AND mach_id = %d",
2599 2,
2600 0,
2601 access_service,
2602 setup_dshi,
2603 0,
2604};
2605
2606static char *gslo_fields[] = {
2607 "server",
2608 "server", "machine",
2609};
2610
2611static char *gfsl_fields[] = {
2612 "label",
2613 "label", "type", "machine", "name", "mount", "access", "comments",
2614 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
2615};
2616
2617static struct validate gfsl_validate = {
2618 0,
2619 0,
2620 0,
2621 0,
2622 0,
2623 0,
2624 0,
2625 0,
2626 followup_fix_modby,
2627};
2628
2629static char *gfsm_fields[] = {
2630 "machine",
2631 "label", "type", "machine", "name", "mount", "access", "comments",
2632 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
2633};
2634
2635static struct validate gfsm_validate = {
2636 VOmach0,
2637 1,
2638 0,
2639 0,
2640 0,
2641 0,
2642 0,
2643 0,
2644 followup_fix_modby,
2645};
2646
2647static char *gfsn_fields[] = {
2648 "machine", "partition",
2649 "label", "type", "machine", "name", "mount", "access", "comments",
2650 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
2651};
2652
2653static struct validate gfsn_validate = {
2654 VOmach0,
2655 1,
2656 0,
2657 0,
2658 0,
2659 0,
2660 0,
2661 0,
2662 followup_fix_modby,
2663};
2664
2665static char *gfsp_fields[] = {
2666 "path",
2667 "label", "type", "machine", "name", "mount", "access", "comments",
2668 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
2669};
2670
2671static char *gfsg_fields[] = {
2672 "list",
2673 "label", "type", "machine", "name", "mount", "access", "comments",
2674 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
2675};
2676
2677static struct validate gfsg_validate = {
2678 VOlist0,
2679 1,
2680 0,
2681 0,
2682 0,
2683 0,
2684 access_list,
2685 0,
2686 followup_fix_modby,
2687};
2688
2689static char *afil_fields[] = {
2690 "label", "type", "machine", "name", "mount", "access", "comments",
2691 "owner", "owners", "create", "lockertype",
2692};
2693
2694static struct valobj afil_valobj[] = {
2695 {V_CHAR, 0, FILESYS_TABLE, "label"},
2696 {V_TYPE, 1, 0, "filesys", 0, MR_FSTYPE},
2697 {V_ID, 2, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2698 {V_CHAR, 3, FILESYS_TABLE, "name"},
2699 {V_LEN, 4, FILESYS_TABLE, "mount"},
2700 {V_LEN, 5, FILESYS_TABLE, "rwaccess"},
2701 {V_LEN, 6, FILESYS_TABLE, "comments"},
2702 {V_ID, 7, USERS_TABLE, "login", "users_id", MR_USER},
2703 {V_ID, 8, LIST_TABLE, "name", "list_id", MR_LIST},
2704 {V_NUM, 9},
2705 {V_TYPE, 10, 0, "lockertype", 0, MR_TYPE},
2706};
2707
2708static struct validate afil_validate = {
2709 afil_valobj,
2710 11,
2711 "label",
2712 "label = '%s'",
2713 1,
2714 "filsys_id",
2715 0,
2716 setup_afil,
2717 set_filesys_modtime,
2718};
2719
2720static char *ufil_fields[] = {
2721 "label", "newlabel", "type", "machine", "name", "mount", "access",
2722 "comments", "owner", "owners", "create", "lockertype",
2723};
2724
2725static struct valobj ufil_valobj[] = {
2726 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
2727 {V_RENAME, 1, FILESYS_TABLE, "label", "filsys_id", MR_NOT_UNIQUE},
2728 {V_TYPE, 2, 0, "filesys", 0, MR_FSTYPE},
2729 {V_ID, 3, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2730 {V_CHAR, 4, FILESYS_TABLE, "name"},
2731 {V_LEN, 5, FILESYS_TABLE, "mount"},
2732 {V_LEN, 6, FILESYS_TABLE, "rwaccess"},
2733 {V_LEN, 7, FILESYS_TABLE, "comments"},
2734 {V_ID, 8, USERS_TABLE, "login", "users_id", MR_USER},
2735 {V_ID, 9, LIST_TABLE, "name", "list_id", MR_LIST},
2736 {V_NUM, 10},
2737 {V_TYPE, 11, 0, "lockertype", 0, MR_TYPE},
2738};
2739
2740static struct validate ufil_validate = {
2741 ufil_valobj,
2742 12,
2743 "label",
2744 "filsys_id = %d",
2745 1,
2746 "filsys_id",
2747 0,
2748 setup_ufil,
2749 set_filesys_modtime,
2750};
2751
2752static char *dfil_fields[] = {
2753 "label",
2754};
2755
2756static struct validate dfil_validate = {
2757 VOfilesys0,
2758 1,
2759 "label",
2760 "filsys_id = %d",
2761 1,
2762 0,
2763 0,
2764 setup_dfil,
2765 0,
2766};
2767
2768static char *gfgm_fields[] = {
2769 "fsgroup", "filesys", "sortkey"
2770};
2771
2772static struct validate gfgm_validate = {
2773 VOfilesys0,
2774 1,
2775 0,
2776 0,
2777 0,
2778 0,
2779 0,
2780 0,
2781 0,
2782};
2783
2784static struct valobj aftg_valobj[] = {
2785 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
2786 {V_ID, 1, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
2787};
2788
2789static struct validate aftg_validate = {
2790 aftg_valobj,
2791 2,
2792 "group_id",
2793 "group_id = %d and filsys_id = %d",
2794 2,
2795 0,
2796 0,
2797 0,
2798 0,
2799};
2800
2801static char *ganf_fields[] = {
2802 "machine", "dir", "device", "status", "allocated", "size",
2803 "modtime", "modby", "modwith",
2804};
2805
2806static char *gnfp_fields[] = {
2807 "machine", "dir",
2808 "machine", "dir", "device", "status", "allocated", "size",
2809 "modtime", "modby", "modwith",
2810};
2811
2812static struct validate gnfp_validate = {
2813 VOmach0,
2814 1,
2815 0,
2816 0,
2817 0,
2818 0,
2819 0,
2820 0,
2821 followup_fix_modby,
2822};
2823
2824static struct valobj anfp_valobj[] = {
2825 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2826 {V_CHAR, 1, NFSPHYS_TABLE, "dir"},
2827 {V_LEN, 2, NFSPHYS_TABLE, "device"},
2828 {V_NUM, 3},
2829 {V_NUM, 4},
2830 {V_NUM, 5},
2831};
2832
2833static struct validate anfp_validate = {
2834 anfp_valobj,
2835 6,
2836 "dir",
2837 "mach_id = %d and dir = '%s'",
2838 2,
2839 "nfsphys_id",
2840 0,
2841 prefetch_value,
2842 set_nfsphys_modtime,
2843};
2844
2845static struct validate unfp_validate = {
2846 anfp_valobj,
2847 6,
2848 "dir",
2849 "mach_id = %d and dir = '%s'",
2850 2,
2851 "nfsphys_id",
2852 0,
2853 0,
2854 set_nfsphys_modtime,
2855};
2856
2857static char *ajnf_fields[] = {
2858 "machine", "dir", "adjustment",
2859};
2860
2861static struct valobj ajnf_valobj[] = {
2862 {V_ID, 0, MACHINE_TABLE, NAME, "mach_id", MR_MACHINE},
2863 {V_CHAR, 1, NFSPHYS_TABLE, "dir"},
2864 {V_NUM, 2},
2865};
2866
2867static struct validate ajnf_validate = {
2868 ajnf_valobj,
2869 3,
2870 "dir",
2871 "mach_id = %d and dir = '%s'",
2872 2,
2873 "nfsphys_id",
2874 0,
2875 0,
2876 set_nfsphys_modtime,
2877};
2878
2879static char *dnfp_fields[] = {
2880 "machine", "dir",
2881};
2882
2883static struct validate dnfp_validate = {
2884 anfp_valobj,
2885 2,
2886 "dir",
2887 "mach_id = %d and dir = '%s'",
2888 2,
2889 "nfsphys_id",
2890 0,
2891 setup_dnfp,
2892 set_nfsphys_modtime,
2893};
2894
2895static char *gqot_fields[] = {
2896 "filesys", "type", "name",
2897 "filesys", "type", "name", "quota", "dir", "machine",
2898 "modtime", "modby", "modwith",
2899};
2900
2901static struct valobj gqot_valobj[] = {
2902 {V_TYPE, 1, 0, "quota_type", 0, MR_TYPE},
2903 {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
2904};
2905
2906static struct validate gqot_validate = {
2907 gqot_valobj,
2908 2,
2909 0,
2910 0,
2911 0,
2912 0,
2913 0,
2914 0,
2915 followup_gqot,
2916};
2917
2918static char *gqbf_fields[] = {
2919 "filesys",
2920 "filesys", "type", "name", "quota", "dir", "machine",
2921 "modtime", "modby", "modwith",
2922};
2923
2924static struct validate gqbf_validate = {
2925 0,
2926 0,
2927 0,
2928 0,
2929 0,
2930 0,
2931 0,
2932 0,
2933 followup_gqot,
2934};
2935
2936static char *aqot_fields[] = {
2937 "filesys", "type", "name", "quota",
2938};
2939
2940static struct valobj aqot_valobj[] = {
2941 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
2942 {V_TYPE, 1, 0, "quota_type", 0, MR_TYPE},
2943 {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
2944 {V_NUM, 3},
2945};
2946
2947static struct validate aqot_validate = {
2948 aqot_valobj,
2949 4,
2950 "filsys_id",
2951 "filsys_id = %d and type = '%s' and entity_id = %d",
2952 3,
2953 0,
2954 0,
2955 prefetch_filesys,
2956 followup_aqot,
2957};
2958
2959static struct validate uqot_validate = {
2960 aqot_valobj,
2961 4,
2962 "filsys_id",
2963 "filsys_id = %d AND type = '%s' AND entity_id = %d",
2964 3,
2965 0,
2966 0,
2967 setup_dqot,
2968 followup_aqot,
2969};
2970
2971static struct validate dqot_validate = {
2972 aqot_valobj,
2973 3,
2974 "filsys_id",
2975 "filsys_id = %d AND type = '%s' AND entity_id = %d",
2976 3,
2977 0,
2978 0,
2979 setup_dqot,
2980 followup_dqot,
2981};
2982
2983static char *gnfq_fields[] = {
2984 "filesys", "login",
2985 "filesys", "login", "quota", "dir", "machine",
2986 "modtime", "modby", "modwith",
2987};
2988
2989static struct validate gnfq_validate = {
2990 0,
2991 0,
2992 0,
2993 0,
2994 0,
2995 0,
2996 0,
2997 0,
2998 followup_gqot,
2999};
3000
3001static char *gnqp_fields[] = {
3002 "machine", "dir",
3003 "filesys", "login", "quota", "dir", "machine",
3004 "modtime", "modby", "modwith",
3005};
3006
3007static char *anfq_fields[] = {
3008 "filesys", "login", "quota",
3009};
3010
3011static struct valobj anfq_valobj[] = {
3012 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
3013 {V_ID, 1, USERS_TABLE, "login", "users_id", MR_USER},
3014 {V_NUM, 2},
3015};
3016
3017static struct validate anfq_validate = {
3018 anfq_valobj,
3019 3,
3020 "filsys_id",
3021 "filsys_id = %d AND type = 'USER' AND entity_id = %d",
3022 2,
3023 0, /* object ? */
3024 0,
3025 prefetch_filesys,
3026 followup_aqot,
3027};
3028
3029static struct validate unfq_validate = {
3030 anfq_valobj,
3031 3,
3032 "filsys_id",
3033 "filsys_id = %d AND type = 'USER' AND entity_id = %d",
3034 2,
3035 0,
3036 0,
3037 setup_dqot,
3038 followup_aqot,
3039};
3040
3041static struct validate dnfq_validate = {
3042 anfq_valobj,
3043 3,
3044 "filsys_id",
3045 "filsys_id = %d AND entity_id = %d",
3046 2,
3047 0,
3048 0,
3049 setup_dqot,
3050 followup_dqot,
3051};
3052
3053static char *gzcl2_fields[] = {
3054 "class",
3055 "class", "xmt_type", "xmt_name", "sub_type", "sub_name",
3056 "iws_type", "iws_name", "iui_type", "iui_name",
3057 "modtime", "modby", "modwith",
3058};
3059
3060static char *gzcl_fields[] = {
3061 "class",
3062 "class", "xmt_type", "xmt_name", "sub_type", "sub_name",
3063 "iws_type", "iws_name", "iui_type", "iui_name", "owner_type",
3064 "owner_id", "modtime", "modby", "modwith",
3065};
3066
3067static struct validate gzcl_validate = {
3068 0,
3069 0,
3070 0,
3071 0,
3072 0,
3073 0,
3074 access_zephyr,
3075 0,
3076 followup_gzcl,
3077};
3078
3079static char *azcl2_fields[] = {
3080 "class", "xmt_type", "xmt_name", "sub_type", "sub_name",
3081 "iws_type", "iws_name", "iui_type", "iui_name",
3082};
3083
3084static struct valobj azcl2_valobj[] = {
3085 {V_CHAR, 0, ZEPHYR_TABLE, "class"},
3086 {V_TYPE, 1, 0, "zace_type", 0, MR_ACE},
3087 {V_TYPEDATA, 2, 0, 0, "list_id", MR_ACE},
3088 {V_TYPE, 3, 0, "zace_type", 0, MR_ACE},
3089 {V_TYPEDATA, 4, 0, 0, "list_id", MR_ACE},
3090 {V_TYPE, 5, 0, "zace_type", 0, MR_ACE},
3091 {V_TYPEDATA, 6, 0, 0, "list_id", MR_ACE},
3092 {V_TYPE, 7, 0, "zace_type", 0, MR_ACE},
3093 {V_TYPEDATA, 8, 0, 0, "list_id", MR_ACE},
3094};
3095
3096static struct validate azcl2_validate = {
3097 azcl2_valobj,
3098 9,
3099 "class",
3100 "class = '%s'",
3101 1,
3102 0,
3103 0,
3104 0,
3105 set_zephyr_modtime,
3106};
3107
3108static char *azcl_fields[] = {
3109 "class", "xmt_type", "xmt_name", "sub_type", "sub_name",
3110 "iws_type", "iws_name", "iui_type", "iui_name", "owner_type",
3111 "owner_id",
3112};
3113
3114static struct valobj azcl_valobj[] = {
3115 {V_CHAR, 0, ZEPHYR_TABLE, "class"},
3116 {V_TYPE, 1, 0, "zace_type", 0, MR_ACE},
3117 {V_TYPEDATA, 2, 0, 0, "list_id", MR_ACE},
3118 {V_TYPE, 3, 0, "zace_type", 0, MR_ACE},
3119 {V_TYPEDATA, 4, 0, 0, "list_id", MR_ACE},
3120 {V_TYPE, 5, 0, "zace_type", 0, MR_ACE},
3121 {V_TYPEDATA, 6, 0, 0, "list_id", MR_ACE},
3122 {V_TYPE, 7, 0, "zace_type", 0, MR_ACE},
3123 {V_TYPEDATA, 8, 0, 0, "list_id", MR_ACE},
3124 {V_TYPE, 9, 0, "ace_type", 0, MR_ACE},
3125 {V_TYPEDATA, 10, 0, 0, "list_id", MR_ACE},
3126};
3127
3128static struct validate azcl_validate = {
3129 azcl_valobj,
3130 11,
3131 "class",
3132 "class = '%s'",
3133 1,
3134 0,
3135 0,
3136 0,
3137 set_zephyr_modtime,
3138};
3139
3140static char *uzcl2_fields[] = {
3141 "class", "newclass", "xmt_type", "xmt_name", "sub_type", "sub_name",
3142 "iws_type", "iws_name", "iui_type", "iui_name",
3143};
3144
3145static struct valobj uzcl2_valobj[] = {
3146 {V_NAME, 0, ZEPHYR_TABLE, "class", 0, MR_BAD_CLASS},
3147 {V_RENAME, 1, ZEPHYR_TABLE, "class", 0, MR_NOT_UNIQUE},
3148 {V_TYPE, 2, 0, "zace_type", 0, MR_ACE},
3149 {V_TYPEDATA, 3, 0, 0, "list_id", MR_ACE},
3150 {V_TYPE, 4, 0, "zace_type", 0, MR_ACE},
3151 {V_TYPEDATA, 5, 0, 0, "list_id", MR_ACE},
3152 {V_TYPE, 6, 0, "zace_type", 0, MR_ACE},
3153 {V_TYPEDATA, 7, 0, 0, "list_id", MR_ACE},
3154 {V_TYPE, 8, 0, "zace_type", 0, MR_ACE},
3155 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
3156};
3157
3158static struct validate uzcl2_validate = {
3159 uzcl2_valobj,
3160 10,
3161 "class",
3162 "class = '%s'",
3163 1,
3164 0,
3165 access_zephyr,
3166 0,
3167 set_zephyr_modtime,
3168};
3169
3170static char *uzcl_fields[] = {
3171 "class", "newclass", "xmt_type", "xmt_name", "sub_type", "sub_name",
3172 "iws_type", "iws_name", "iui_type", "iui_name", "owner_type", "owner_id",
3173};
3174
3175static struct valobj uzcl_valobj[] = {
3176 {V_NAME, 0, ZEPHYR_TABLE, "class", 0, MR_BAD_CLASS},
3177 {V_RENAME, 1, ZEPHYR_TABLE, "class", 0, MR_NOT_UNIQUE},
3178 {V_TYPE, 2, 0, "zace_type", 0, MR_ACE},
3179 {V_TYPEDATA, 3, 0, 0, "list_id", MR_ACE},
3180 {V_TYPE, 4, 0, "zace_type", 0, MR_ACE},
3181 {V_TYPEDATA, 5, 0, 0, "list_id", MR_ACE},
3182 {V_TYPE, 6, 0, "zace_type", 0, MR_ACE},
3183 {V_TYPEDATA, 7, 0, 0, "list_id", MR_ACE},
3184 {V_TYPE, 8, 0, "zace_type", 0, MR_ACE},
3185 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
3186 {V_TYPE, 10, 0, "ace_type", 0, MR_ACE},
3187 {V_TYPEDATA, 11, 0, 0, "list_id", MR_ACE},
3188};
3189
3190static struct validate uzcl_validate = {
3191 uzcl_valobj,
3192 12,
3193 "class",
3194 "class = '%s'",
3195 1,
3196 0,
3197 access_zephyr,
3198 0,
3199 set_zephyr_modtime,
3200};
3201
3202static struct validate dzcl_validate = {
3203 0,
3204 0,
3205 "class",
3206 "class = '%s'",
3207 1,
3208 0,
3209 0,
3210 0,
3211 0,
3212};
3213
3214static char *gsha_fields[] = {
3215 "machine",
3216 "machine", "ace_type", "ace_name", "modtime", "modby", "modwith",
3217};
3218
3219static struct validate gsha_validate =
3220{
3221 0,
3222 0,
3223 0,
3224 0,
3225 0,
3226 0,
3227 0,
3228 0,
3229 followup_gsha,
3230};
3231
3232static char *asha_fields[] = {
3233 "machine", "ace_type", "ace_name",
3234};
3235
3236static struct valobj asha_valobj[] = {
3237 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3238 {V_TYPE, 1, 0, "ace_type", 0, MR_ACE},
3239 {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
3240};
3241
3242static struct validate asha_validate =
3243{
3244 asha_valobj,
3245 3,
3246 "mach_id",
3247 "mach_id = %d",
3248 1,
3249 "mach_id",
3250 0,
3251 0,
3252 set_modtime_by_id,
3253};
3254
3255static char *gacl_fields[] = {
3256 "machine", "target",
3257 "machine", "target", "kind", "list",
3258};
3259
3260static char *aacl_fields[] = {
3261 "machine", "target", "kind", "list",
3262};
3263
3264static char *dacl_fields[] = {
3265 "machine", "target",
3266};
3267
3268static struct valobj aacl_valobj[] = {
3269 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3270 {V_CHAR, 1, ACL_TABLE, "target"},
3271 {V_TYPE, 2, 0, "acl_kind", 0, MR_TYPE},
3272 {V_ID, 3, LIST_TABLE, "name", "list_id", MR_LIST},
3273};
3274
3275static struct validate gacl_validate =
3276{
3277 aacl_valobj,
3278 1,
3279 NULL,
3280 NULL,
3281 0,
3282 "mach_id",
3283 /* access_acl */ 0,
3284 0,
3285 0,
3286};
3287
3288static struct validate aacl_validate =
3289{
3290 aacl_valobj,
3291 4,
3292 "mach_id",
3293 "mach_id = %d AND target = '%s'",
3294 2,
3295 "mach_id",
3296 /* access_acl */ 0,
3297 0,
3298 0,
3299};
3300
3301static char *gsvc_fields[] = {
3302 "service", "protocol",
3303 "service", "protocol", "port", "description", "modtime", "modby", "modwith",
3304};
3305
3306static char *asvc_fields[] = {
3307 "service", "protocol", "port", "description",
3308};
3309
3310static char *dsvc_fields[] = {
3311 "service", "protocol",
3312};
3313
3314static struct valobj asvc_valobj[] = {
3315 {V_CHAR, 0, SERVICES_TABLE, "name"},
3316 {V_CHAR, 1, SERVICES_TABLE, "protocol"},
3317 {V_NUM, 2},
3318 {V_CHAR, 3, SERVICES_TABLE, "description"},
3319};
3320
3321static struct validate asvc_validate = {
3322 asvc_valobj,
3323 4,
3324 "name",
3325 "name = '%s' AND protocol = '%s'",
3326 2,
3327 0,
3328 0,
3329 0,
3330 set_service_modtime,
3331};
3332
3333static struct validate dsvc_validate = {
3334 asvc_valobj,
3335 2,
3336 "name",
3337 "name = '%s' AND protocol = '%s'",
3338 2,
3339 0,
3340 0,
3341 0,
3342 0,
3343};
3344
3345static char *gprn_fields[] = {
3346 "name",
3347 "name", "type", "hwtype", "duplexname", "hostname",
3348 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
3349 "banner", "location", "contact", "modtime", "modby", "modwith"
3350};
3351
3352static char *gpbd_fields[] = {
3353 "duplexname",
3354 "name", "type", "hwtype", "duplexname", "hostname",
3355 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
3356 "banner", "location", "contact", "modtime", "modby", "modwith"
3357};
3358
3359static char *gpbe_fields[] = {
3360 "hwaddr",
3361 "name", "type", "hwtype", "duplexname", "hostname",
3362 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
3363 "banner", "location", "contact", "modtime", "modby", "modwith"
3364};
3365
3366static char *gpbh_fields[] = {
3367 "hostname",
3368 "name", "type", "hwtype", "duplexname", "hostname",
3369 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
3370 "banner", "location", "contact", "modtime", "modby", "modwith"
3371};
3372
3373static char *gpbr_fields[] = {
3374 "rm",
3375 "name", "type", "hwtype", "duplexname", "hostname",
3376 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
3377 "banner", "location", "contact", "modtime", "modby", "modwith"
3378};
3379
3380static char *gpbl_fields[] = {
3381 "location",
3382 "name", "type", "hwtype", "duplexname", "hostname",
3383 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
3384 "banner", "location", "contact", "modtime", "modby", "modwith"
3385};
3386
3387static char *gpbc_fields[] = {
3388 "contact",
3389 "name", "type", "hwtype", "duplexname", "hostname",
3390 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
3391 "banner", "location", "contact", "modtime", "modby", "modwith"
3392};
3393
3394static char *aprn_fields[] = {
3395 "printer", "type", "hwtype", "duplexname", "hostname",
3396 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
3397 "banner", "location", "contact",
3398};
3399
3400static struct valobj aprn_valobj[] = {
3401 {V_CHAR, 0, PRINTERS_TABLE, "name"},
3402 {V_TYPE, 1, 0, "printertype", 0, MR_TYPE},
3403 {V_TYPE, 2, 0, "printerhwtype", 0, MR_TYPE},
3404 {V_CHAR, 3, PRINTERS_TABLE, "duplexname"},
3405 {V_ID, 4, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3406 {V_ID, 5, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3407 {V_ID, 6, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3408 {V_CHAR, 7, PRINTERS_TABLE, "rp"},
3409 {V_ID, 8, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3410 {V_NUM, 9},
3411 {V_NUM, 10},
3412 {V_ID, 11, LIST_TABLE, "name", "list_id", MR_LIST},
3413 {V_ID, 12, LIST_TABLE, "name", "list_id", MR_LIST},
3414 {V_NUM, 13},
3415 {V_CHAR, 14, PRINTERS_TABLE, "location"},
3416 {V_CHAR, 15, PRINTERS_TABLE, "contact"},
3417};
3418
3419static struct validate aprn_validate = {
3420 aprn_valobj,
3421 16,
3422 "name",
3423 "name = '%s'",
3424 1,
3425 0,
3426 access_printer,
3427 setup_aprn,
3428 set_modtime,
3429};
3430
3431static char *uprn_fields[] = {
3432 "printer",
3433 "printer", "type", "hwtype", "duplexname", "hostname",
3434 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
3435 "banner", "location", "contact",
3436};
3437
3438static struct valobj uprn_valobj[] = {
3439 {V_CHAR, 0, PRINTERS_TABLE, "name"},
3440 {V_CHAR, 1, PRINTERS_TABLE, "name"},
3441 {V_TYPE, 2, 0, "printertype", 0, MR_TYPE},
3442 {V_TYPE, 3, 0, "printerhwtype", 0, MR_TYPE},
3443 {V_CHAR, 4, PRINTERS_TABLE, "duplexname"},
3444 {V_ID, 5, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3445 {V_ID, 6, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3446 {V_ID, 7, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3447 {V_CHAR, 8, PRINTERS_TABLE, "rp"},
3448 {V_ID, 9, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3449 {V_NUM, 10},
3450 {V_NUM, 11},
3451 {V_ID, 12, LIST_TABLE, "name", "list_id", MR_LIST},
3452 {V_ID, 13, LIST_TABLE, "name", "list_id", MR_LIST},
3453 {V_NUM, 14},
3454 {V_CHAR, 15, PRINTERS_TABLE, "location"},
3455 {V_CHAR, 16, PRINTERS_TABLE, "contact"},
3456};
3457
3458static struct validate uprn_validate = {
3459 uprn_valobj,
3460 16,
3461 "name",
3462 "name = '%s'",
3463 1,
3464 0,
3465 access_printer,
3466 setup_aprn,
3467 set_modtime,
3468};
3469
3470static struct validate dprn_validate = {
3471 0,
3472 0,
3473 "name",
3474 "name = '%s'",
3475 1,
3476 0,
3477 access_printer,
3478 0,
3479 0,
3480};
3481
3482static char *gpsv_fields[] = {
3483 "host",
3484 "host", "kind", "printer_types", "owner_type", "owner_name",
3485 "lpc_acl", "modtime", "modby", "modwith"
3486};
3487
3488static struct valobj gpsv_valobj[] = {
3489 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3490};
3491
3492static struct validate gpsv_validate = {
3493 gpsv_valobj,
3494 1,
3495 0,
3496 0,
3497 0,
3498 0,
3499 0,
3500 0,
3501 followup_gpsv,
3502};
3503
3504static char *apsv_fields[] = {
3505 "host", "kind", "printer_types", "owner_type", "owner_name", "lpc_acl"
3506};
3507
3508static struct valobj apsv_valobj[] = {
3509 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3510 {V_TYPE, 1, 0, "lpd_kind", 0, MR_TYPE},
3511 {V_ID, 2, STRINGS_TABLE, "string", "string_id", MR_STRING},
3512 {V_TYPE, 3, 0, "ace_type", 0, MR_ACE},
3513 {V_TYPEDATA, 4, 0, 0, 0, MR_ACE},
3514 {V_ID, 5, LIST_TABLE, "name", "list_id", MR_LIST},
3515};
3516
3517static struct validate apsv_validate = {
3518 apsv_valobj,
3519 6,
3520 "mach_id",
3521 "mach_id = %d",
3522 1,
3523 "mach_id",
3524 0,
3525 0,
3526 set_modtime_by_id,
3527};
3528
3529static char *dpsv_fields[] = {
3530 "host",
3531};
3532
3533static struct validate dpsv_validate = {
3534 gpsv_valobj,
3535 1,
3536 "mach_id",
3537 "mach_id = %d",
3538 1,
3539 0,
3540 0,
3541 setup_dpsv,
3542 0,
3543};
3544
3545static char *gali_fields[] = {
3546 "name", "type", "trans",
3547 "name", "type", "trans",
3548};
3549
3550static char *aali_fields[] = {
3551 "name", "type", "trans",
3552};
3553
3554static struct valobj aali_valobj[] = {
3555 {V_CHAR, 0, ALIAS_TABLE, "name"},
3556 {V_TYPE, 1, 0, "alias", 0, MR_TYPE},
3557 {V_CHAR, 2, ALIAS_TABLE, "trans"},
3558};
3559
3560static struct validate aali_validate = {
3561 aali_valobj,
3562 3,
3563 "trans",
3564 "name = '%s' and type = '%s' and trans = '%s'",
3565 3,
3566 0,
3567 0,
3568 setup_aali,
3569 0,
3570};
3571
3572static struct validate dali_validate = /* DELETE_ALIAS */
3573{
3574 0,
3575 0,
3576 "trans",
3577 "name = '%s' and type = '%s' and trans = '%s'",
3578 3,
3579 0,
3580 0,
3581 0,
3582 0,
3583};
3584
3585static char *gval_fields[] = {
3586 "name", "value",
3587};
3588
3589static struct valobj gval_valobj[] = {
3590 {V_NAME, 0, NUMVALUES_TABLE, "name", 0, MR_NO_MATCH},
3591};
3592
3593static struct validate gval_validate = {
3594 gval_valobj,
3595 1,
3596 0,
3597 0,
3598 0,
3599 0,
3600 0,
3601 0,
3602 0,
3603};
3604
3605static char *aval_fields[] = {
3606 "name", "value",
3607};
3608
3609static struct valobj aval_valobj[] = {
3610 {V_CHAR, 0, NUMVALUES_TABLE, "name"},
3611 {V_NUM, 1},
3612};
3613
3614static struct validate aval_validate = /* for aval, uval, and dval */
3615{
3616 aval_valobj,
3617 2,
3618 "name",
3619 "name = '%s'",
3620 1,
3621 0,
3622 0,
3623 0,
3624 0,
3625};
3626
3627static char *dval_fields[] = {
3628 "name",
3629};
3630
3631static char *gats_fields[] = {
3632 "table_name", "appends", "updates", "deletes",
3633 "modtime", "modby", "modwith",
3634};
3635
3636static char *_sdl_fields[] = {
3637 "level",
3638};
3639
3640static struct validate _sdl_validate =
3641{
3642 VOnum0,
3643 1,
3644 NULL,
3645 NULL,
3646 0,
3647 0,
3648 0,
3649 0,
3650 _sdl_followup,
3651};
3652
3653static char *gcon7_fields[] = {
3654 "name",
3655 "name", "description", "location", "contact",
3656 "ace_type", "ace_name", "memace_type", "memace_name", "modtime", "modby", "modwith",
3657};
3658
3659static struct validate gcon_validate = {
3660 0,
3661 0,
3662 0,
3663 0,
3664 0,
3665 0,
3666 0,
3667 0,
3668 followup_gcon,
3669};
3670
3671static char *gcon_fields[] = {
3672 "name",
3673 "name", "publicflg", "description", "location", "contact",
3674 "ace_type", "ace_name", "memace_type", "memace_name", "modtime", "modby", "modwith",
3675};
3676
3677static char *acon7_fields[] = {
3678 "name", "description", "location", "contact",
3679 "ace_type", "ace_name", "memace_type", "memace_name",
3680};
3681
3682static struct valobj acon7_valobj[] = {
3683 {V_CHAR, 0, CONTAINERS_TABLE, "name"},
3684 {V_LEN, 1, CONTAINERS_TABLE, "description"},
3685 {V_CHAR, 2, CONTAINERS_TABLE, "location"},
3686 {V_CHAR, 3, CONTAINERS_TABLE, "contact"},
3687 {V_TYPE, 4, 0, "ace_type", 0, MR_ACE},
3688 {V_TYPEDATA, 5, 0, 0, 0, MR_ACE},
3689 {V_TYPE, 6, 0, "ace_type", 0, MR_ACE},
3690 {V_TYPEDATA, 7, 0, 0, 0, MR_ACE},
3691};
3692
3693static struct validate acon7_validate =
3694{
3695 acon7_valobj,
3696 8,
3697 "name",
3698 "name = '%s'",
3699 1,
3700 "cnt_id",
3701 0,
3702 setup_acon,
3703 set_modtime,
3704};
3705
3706static char *acon_fields[] = {
3707 "name", "publicflg", "description", "location", "contact",
3708 "ace_type", "ace_name", "memace_type", "memace_name",
3709};
3710
3711static struct valobj acon_valobj[] = {
3712 {V_CHAR, 0, CONTAINERS_TABLE, "name"},
3713 {V_NUM, 1},
3714 {V_LEN, 2, CONTAINERS_TABLE, "description"},
3715 {V_CHAR, 3, CONTAINERS_TABLE, "location"},
3716 {V_CHAR, 4, CONTAINERS_TABLE, "contact"},
3717 {V_TYPE, 5, 0, "ace_type", 0, MR_ACE},
3718 {V_TYPEDATA, 6, 0, 0, 0, MR_ACE},
3719 {V_TYPE, 7, 0, "ace_type", 0, MR_ACE},
3720 {V_TYPEDATA, 8, 0, 0, 0, MR_ACE},
3721};
3722
3723static struct validate acon_validate =
3724{
3725 acon_valobj,
3726 9,
3727 "name",
3728 "name = '%s'",
3729 1,
3730 "cnt_id",
3731 0,
3732 setup_acon,
3733 set_modtime,
3734};
3735
3736static char *ucon7_fields[] = {
3737 "name",
3738 "newname", "description", "location", "contact",
3739 "ace_type", "ace_name", "memace_type", "memace_name",
3740};
3741
3742static struct valobj ucon7_valobj[] = {
3743 {V_ID, 0, CONTAINERS_TABLE, "name", "cnt_id", MR_CONTAINER},
3744 {V_RENAME, 1, CONTAINERS_TABLE, "name", "cnt_id", MR_NOT_UNIQUE},
3745 {V_LEN, 2, CONTAINERS_TABLE, "description"},
3746 {V_CHAR, 3, CONTAINERS_TABLE, "location"},
3747 {V_CHAR, 4, CONTAINERS_TABLE, "contact"},
3748 {V_TYPE, 5, 0, "ace_type", 0, MR_ACE},
3749 {V_TYPEDATA, 6, 0, 0, 0, MR_ACE},
3750 {V_TYPE, 7, 0, "ace_type", 0, MR_ACE},
3751 {V_TYPEDATA, 8, 0, 0, 0, MR_ACE},
3752};
3753
3754static struct validate ucon7_validate =
3755{
3756 ucon7_valobj,
3757 9,
3758 0,
3759 0,
3760 0,
3761 0,
3762 access_container,
3763 0,
3764 update_container,
3765};
3766
3767static char *ucon_fields[] = {
3768 "name",
3769 "newname", "publicflg", "description", "location", "contact",
3770 "ace_type", "ace_name", "memace_type", "memace_name",
3771};
3772
3773static struct valobj ucon_valobj[] = {
3774 {V_ID, 0, CONTAINERS_TABLE, "name", "cnt_id", MR_CONTAINER},
3775 {V_RENAME, 1, CONTAINERS_TABLE, "name", "cnt_id", MR_NOT_UNIQUE},
3776 {V_NUM, 2},
3777 {V_LEN, 3, CONTAINERS_TABLE, "description"},
3778 {V_CHAR, 4, CONTAINERS_TABLE, "location"},
3779 {V_CHAR, 5, CONTAINERS_TABLE, "contact"},
3780 {V_TYPE, 6, 0, "ace_type", 0, MR_ACE},
3781 {V_TYPEDATA, 7, 0, 0, 0, MR_ACE},
3782 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
3783 {V_TYPEDATA, 9, 0, 0, 0, MR_ACE},
3784};
3785
3786static struct validate ucon_validate =
3787{
3788 ucon_valobj,
3789 10,
3790 0,
3791 0,
3792 0,
3793 0,
3794 access_container,
3795 0,
3796 update_container,
3797};
3798
3799static char *dcon_fields[] = {
3800 "name",
3801};
3802
3803static struct validate dcon_validate =
3804{
3805 VOcon0,
3806 1,
3807 0,
3808 0,
3809 0,
3810 0,
3811 0,
3812 setup_dcon,
3813 0,
3814};
3815
3816static char *amcn_fields[] = {
3817 "machine", "container",
3818};
3819
3820static struct valobj amcn_valobj[] = /* ADD_MACHINE_TO_CONTAINER */
3821{ /* DELETE_MACHINE_FROM_CONTAINER */
3822 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
3823 {V_ID, 1, CONTAINERS_TABLE, "name", "cnt_id", MR_CONTAINER},
3824};
3825
3826static struct validate amcn_validate = /* for amtn and dmfn */
3827{
3828 amcn_valobj,
3829 2,
3830 "mach_id",
3831 "mach_id = %d",
3832 1,
3833 0,
3834 access_container,
3835 0,
3836 set_mach_modtime_by_id,
3837};
3838
3839static struct validate dmcn_validate = /* for amtn and dmfn */
3840{
3841 amcn_valobj,
3842 2,
3843 "mach_id",
3844 "mach_id = %d and cnt_id = %d",
3845 2,
3846 0,
3847 access_container,
3848 0,
3849 set_mach_modtime_by_id,
3850};
3851
3852static char *gmnm_fields[] = {
3853 "machine",
3854 "machine", "container",
3855};
3856
3857static char *gmoc_fields[] = {
3858 "container",
3859 "isrecursive",
3860 "machine",
3861 "container",
3862};
3863
3864static struct validate gmoc_validate =
3865{
3866 VOcon0,
3867 1,
3868 0,
3869 0,
3870 0,
3871 0,
3872 0,
3873 0,
3874 get_machines_of_container,
3875};
3876
3877static char *gsoc_fields[] = {
3878 "container",
3879 "isrecursive",
3880 "subcontainer",
3881};
3882
3883static struct validate gsoc_validate =
3884{
3885 VOcon0,
3886 1,
3887 0,
3888 0,
3889 0,
3890 0,
3891 0,
3892 0,
3893 get_subcontainers_of_container,
3894};
3895
3896static char *gtlc_fields[] = {
3897 "name",
3898};
3899
3900static char *scli_fields[] = {
3901 "containername",
3902 "listname",
3903};
3904
3905static struct valobj scli_valobj[] = {
3906 {V_ID, 0, CONTAINERS_TABLE, "name", "cnt_id", MR_CONTAINER},
3907 {V_ID, 1, LIST_TABLE, "name", "list_id", MR_LIST},
3908};
3909
3910static struct validate scli_validate = {
3911 scli_valobj,
3912 2,
3913 0,
3914 0,
3915 0,
3916 0,
3917 0,
3918 setup_scli,
3919 set_container_list,
3920};
3921
3922static char *gcli_fields[] = {
3923 "containername",
3924 "containername", "listname",
3925};
3926
3927static struct validate glic_validate =
3928{
3929 VOlist0,
3930 1,
3931 NULL,
3932 NULL,
3933 0,
3934 0,
3935 0,
3936 0,
3937 0,
3938};
3939
3940static char *glic_fields[] = {
3941 "listname",
3942 "containername", "listname",
3943};
3944
3945/* Generalized Query Definitions */
3946
3947/* Multiple versions of the same query MUST be listed in ascending
3948 * order.
3949 */
3950
3951/* Note: For any query which uses prefetch_value, the vcnt should be
3952 * one less than the number of %-format specifiers in the tlist.
3953 */
3954
3955struct query Queries[] = {
3956 {
3957 /* Q_GALO - GET_ALL_LOGINS, v2 */
3958 "get_all_logins",
3959 "galo",
3960 2,
3961 MR_Q_RETRIEVE,
3962 "u",
3963 USERS_TABLE,
3964 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
3965 galo2_fields,
3966 6,
3967 "u.users_id != 0",
3968 0,
3969 "u.login",
3970 0,
3971 },
3972
3973 {
3974 /* Q_GALO - GET_ALL_LOGINS, v3 */
3975 "get_all_logins",
3976 "galo",
3977 3,
3978 MR_Q_RETRIEVE,
3979 "u",
3980 USERS_TABLE,
3981 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle FROM users u",
3982 galo_fields,
3983 7,
3984 "u.users_id != 0",
3985 0,
3986 "u.login",
3987 0,
3988 },
3989
3990 {
3991 /* Q_GAAL - GET_ALL_ACTIVE_LOGINS, v2 */
3992 "get_all_active_logins",
3993 "gaal",
3994 2,
3995 MR_Q_RETRIEVE,
3996 "u",
3997 USERS_TABLE,
3998 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
3999 galo2_fields,
4000 6,
4001 "u.status = 1",
4002 0,
4003 "u.login",
4004 0,
4005 },
4006
4007 {
4008 /* Q_GAAL - GET_ALL_ACTIVE_LOGINS, v3 */
4009 "get_all_active_logins",
4010 "gaal",
4011 3,
4012 MR_Q_RETRIEVE,
4013 "u",
4014 USERS_TABLE,
4015 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle FROM users u",
4016 galo_fields,
4017 7,
4018 "u.status = 1",
4019 0,
4020 "u.login",
4021 0,
4022 },
4023
4024 {
4025 /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v2 */
4026 "get_user_account_by_login",
4027 "gual",
4028 2,
4029 MR_Q_RETRIEVE,
4030 "u",
4031 USERS_TABLE,
4032 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
4033 gual2_fields,
4034 15,
4035 "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
4036 1,
4037 "u.login",
4038 &gubl2_validate,
4039 },
4040
4041 {
4042 /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v3 */
4043 "get_user_account_by_login",
4044 "gual",
4045 3,
4046 MR_Q_RETRIEVE,
4047 "u",
4048 USERS_TABLE,
4049 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4050 gual3_fields,
4051 18,
4052 "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
4053 1,
4054 "u.login",
4055 &gubl_validate,
4056 },
4057
4058 {
4059 /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v11 */
4060 "get_user_account_by_login",
4061 "gual",
4062 11,
4063 MR_Q_RETRIEVE,
4064 "u",
4065 USERS_TABLE,
4066 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, u.winhomedir, u.winprofiledir, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4067 gual11_fields,
4068 20,
4069 "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
4070 1,
4071 "u.login",
4072 &gubl_validate,
4073 },
4074
4075 {
4076 /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v12 */
4077 "get_user_account_by_login",
4078 "gual",
4079 12,
4080 MR_Q_RETRIEVE,
4081 "u",
4082 USERS_TABLE,
4083 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, u.winhomedir, u.winprofiledir, u.sponsor_type, u.sponsor_id, u.expiration, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4084 gual_fields,
4085 23,
4086 "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
4087 1,
4088 "u.login",
4089 &gubl_validate,
4090 },
4091
4092 {
4093 /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v2 */
4094 "get_user_account_by_uid",
4095 "guau",
4096 2,
4097 MR_Q_RETRIEVE,
4098 "u",
4099 USERS_TABLE,
4100 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
4101 guau2_fields,
4102 15,
4103 "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
4104 1,
4105 "u.login",
4106 &gubu2_validate,
4107 },
4108
4109 {
4110 /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v3 */
4111 "get_user_account_by_uid",
4112 "guau",
4113 3,
4114 MR_Q_RETRIEVE,
4115 "u",
4116 USERS_TABLE,
4117 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4118 guau3_fields,
4119 18,
4120 "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
4121 1,
4122 "u.login",
4123 &gubu_validate,
4124 },
4125
4126 {
4127 /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v11 */
4128 "get_user_account_by_uid",
4129 "guau",
4130 11,
4131 MR_Q_RETRIEVE,
4132 "u",
4133 USERS_TABLE,
4134 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, u.winhomedir, u.winprofiledir, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4135 guau3_fields,
4136 20,
4137 "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
4138 1,
4139 "u.login",
4140 &gubu_validate,
4141 },
4142
4143 {
4144 /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v12 */
4145 "get_user_account_by_uid",
4146 "guau",
4147 12,
4148 MR_Q_RETRIEVE,
4149 "u",
4150 USERS_TABLE,
4151 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, u.winhomedir, u.winprofiledir, u.sponsor_type, u.sponsor_id, u.expiration, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4152 guau_fields,
4153 23,
4154 "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
4155 1,
4156 "u.login",
4157 &gubu_validate,
4158 },
4159
4160 {
4161 /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v2 */
4162 "get_user_account_by_name",
4163 "guan",
4164 2,
4165 MR_Q_RETRIEVE,
4166 "u",
4167 USERS_TABLE,
4168 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
4169 guan2_fields,
4170 15,
4171 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
4172 2,
4173 "u.login",
4174 &guan2_validate,
4175 },
4176
4177 {
4178 /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v3 */
4179 "get_user_account_by_name",
4180 "guan",
4181 3,
4182 MR_Q_RETRIEVE,
4183 "u",
4184 USERS_TABLE,
4185 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4186 guan3_fields,
4187 18,
4188 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
4189 2,
4190 "u.login",
4191 &guan_validate,
4192 },
4193
4194 {
4195 /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v11 */
4196 "get_user_account_by_name",
4197 "guan",
4198 11,
4199 MR_Q_RETRIEVE,
4200 "u",
4201 USERS_TABLE,
4202 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, u.winhomedir, u.winprofiledir, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4203 guan11_fields,
4204 20,
4205 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
4206 2,
4207 "u.login",
4208 &guan_validate,
4209 },
4210
4211 {
4212 /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v12 */
4213 "get_user_account_by_name",
4214 "guan",
4215 12,
4216 MR_Q_RETRIEVE,
4217 "u",
4218 USERS_TABLE,
4219 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, u.winhomedir, u.winprofiledir, u.sponsor_type, u.sponsor_id, u.expiration, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4220 guan_fields,
4221 23,
4222 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
4223 2,
4224 "u.login",
4225 &guan_validate,
4226 },
4227
4228 {
4229 /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v2 */
4230 "get_user_account_by_class",
4231 "guac",
4232 2,
4233 MR_Q_RETRIEVE,
4234 "u",
4235 USERS_TABLE,
4236 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
4237 guac2_fields,
4238 15,
4239 "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
4240 1,
4241 "u.login",
4242 &VDfix_modby,
4243 },
4244
4245 {
4246 /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v3 */
4247 "get_user_account_by_class",
4248 "guac",
4249 3,
4250 MR_Q_RETRIEVE,
4251 "u",
4252 USERS_TABLE,
4253 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4254 guac3_fields,
4255 18,
4256 "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
4257 1,
4258 "u.login",
4259 &guan_validate,
4260 },
4261
4262 {
4263 /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v11 */
4264 "get_user_account_by_class",
4265 "guac",
4266 11,
4267 MR_Q_RETRIEVE,
4268 "u",
4269 USERS_TABLE,
4270 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, u.winhomedir, u.winprofiledir, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4271 guac11_fields,
4272 20,
4273 "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
4274 1,
4275 "u.login",
4276 &guan_validate,
4277 },
4278
4279 {
4280 /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v12 */
4281 "get_user_account_by_class",
4282 "guac",
4283 12,
4284 MR_Q_RETRIEVE,
4285 "u",
4286 USERS_TABLE,
4287 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, u.winhomedir, u.winprofiledir, u.sponsor_type, u.sponsor_id, u.expiration, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4288 guac_fields,
4289 23,
4290 "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
4291 1,
4292 "u.login",
4293 &guan_validate,
4294 },
4295
4296 {
4297 /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v2 */
4298 "get_user_account_by_id",
4299 "guai",
4300 2,
4301 MR_Q_RETRIEVE,
4302 "u",
4303 USERS_TABLE,
4304 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
4305 guam2_fields,
4306 15,
4307 "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
4308 1,
4309 "u.login",
4310 &VDfix_modby,
4311 },
4312
4313 {
4314 /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v3 */
4315 "get_user_account_by_id",
4316 "guai",
4317 3,
4318 MR_Q_RETRIEVE,
4319 "u",
4320 USERS_TABLE,
4321 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4322 guam_fields,
4323 18,
4324 "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
4325 1,
4326 "u.login",
4327 &guan_validate,
4328 },
4329
4330 {
4331 /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v11 */
4332 "get_user_account_by_id",
4333 "guai",
4334 11,
4335 MR_Q_RETRIEVE,
4336 "u",
4337 USERS_TABLE,
4338 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, u.winhomedir, u.winprofiledir, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4339 guam11_fields,
4340 20,
4341 "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
4342 1,
4343 "u.login",
4344 &guan_validate,
4345 },
4346
4347 {
4348 /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v12 */
4349 "get_user_account_by_id",
4350 "guai",
4351 12,
4352 MR_Q_RETRIEVE,
4353 "u",
4354 USERS_TABLE,
4355 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, u.winhomedir, u.winprofiledir, u.sponsor_type, u.sponsor_id, u.expiration, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u, strings str",
4356 guam_fields,
4357 23,
4358 "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
4359 1,
4360 "u.login",
4361 &guan_validate,
4362 },
4363
4364 {
4365 /* Q_GUAS - GET_USER_ACCOUNT_BY_SPONSOR, v12 */
4366 "get_user_account_by_sponsor",
4367 "guas",
4368 12,
4369 MR_Q_RETRIEVE,
4370 0,
4371 0,
4372 0,
4373 guas_fields,
4374 1,
4375 0,
4376 2,
4377 NULL,
4378 &guas_validate,
4379 },
4380
4381 {
4382 /* Q_GUBL - GET_USER_BY_LOGIN, v2 */
4383 "get_user_by_login",
4384 "gubl",
4385 2,
4386 MR_Q_RETRIEVE,
4387 "u",
4388 USERS_TABLE,
4389 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
4390 gubl2_fields,
4391 12,
4392 "u.login LIKE '%s' AND u.users_id != 0",
4393 1,
4394 "u.login",
4395 &gubl2_validate,
4396 },
4397
4398 {
4399 /* Q_GUBL - GET_USER_BY_LOGIN, v3 */
4400 "get_user_by_login",
4401 "gubl",
4402 3,
4403 MR_Q_RETRIEVE,
4404 "u",
4405 USERS_TABLE,
4406 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u",
4407 gubl_fields,
4408 15,
4409 "u.login LIKE '%s' AND u.users_id != 0",
4410 1,
4411 "u.login",
4412 &gubl_validate,
4413 },
4414
4415 {
4416 /* Q_GUBU - GET_USER_BY_UID, v2 */
4417 "get_user_by_uid",
4418 "gubu",
4419 2,
4420 MR_Q_RETRIEVE,
4421 "u",
4422 USERS_TABLE,
4423 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
4424 gubu2_fields,
4425 12,
4426 "u.unix_uid = %s AND u.users_id != 0",
4427 1,
4428 "u.login",
4429 &gubu2_validate,
4430 },
4431
4432 {
4433 /* Q_GUBU - GET_USER_BY_UID, v3 */
4434 "get_user_by_uid",
4435 "gubu",
4436 3,
4437 MR_Q_RETRIEVE,
4438 "u",
4439 USERS_TABLE,
4440 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u",
4441 gubu_fields,
4442 15,
4443 "u.unix_uid = %s AND u.users_id != 0",
4444 1,
4445 "u.login",
4446 &gubu_validate,
4447 },
4448
4449 {
4450 /* Q_GUBN - GET_USER_BY_NAME, v2 */
4451 "get_user_by_name",
4452 "gubn",
4453 2,
4454 MR_Q_RETRIEVE,
4455 "u",
4456 USERS_TABLE,
4457 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
4458 gubn2_fields,
4459 12,
4460 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0",
4461 2,
4462 "u.login",
4463 &gubn2_validate,
4464 },
4465
4466 {
4467 /* Q_GUBN - GET_USER_BY_NAME, v3 */
4468 "get_user_by_name",
4469 "gubn",
4470 3,
4471 MR_Q_RETRIEVE,
4472 "u",
4473 USERS_TABLE,
4474 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u",
4475 gubn_fields,
4476 15,
4477 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0",
4478 2,
4479 "u.login",
4480 &gubn_validate,
4481 },
4482
4483 {
4484 /* Q_GUBC - GET_USER_BY_CLASS, v2 */
4485 "get_user_by_class",
4486 "gubc",
4487 2,
4488 MR_Q_RETRIEVE,
4489 "u",
4490 USERS_TABLE,
4491 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
4492 gubc2_fields,
4493 12,
4494 "u.type = UPPER('%s') AND u.users_id != 0",
4495 1,
4496 "u.login",
4497 &VDfix_modby,
4498 },
4499
4500 {
4501 /* Q_GUBC - GET_USER_BY_CLASS, v3 */
4502 "get_user_by_class",
4503 "gubc",
4504 3,
4505 MR_Q_RETRIEVE,
4506 "u",
4507 USERS_TABLE,
4508 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS') FROM users u",
4509 gubc_fields,
4510 15,
4511 "u.type = UPPER('%s') AND u.users_id != 0",
4512 1,
4513 "u.login",
4514 &guan_validate,
4515 },
4516
4517 {
4518 /* Q_GUBM - GET_USER_BY_MITID, v2 */
4519 "get_user_by_mitid",
4520 "gubm",
4521 2,
4522 MR_Q_RETRIEVE,
4523 "u",
4524 USERS_TABLE,
4525 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
4526 gubm2_fields,
4527 12,
4528 "u.clearid LIKE '%s' AND u.users_id != 0",
4529 1,
4530 "u.login",
4531 &VDfix_modby,
4532 },
4533
4534 {
4535 /* Q_GUBM - GET_USER_BY_MITID, v3 */
4536 "get_user_by_mitid",
4537 "gubm",
4538 3,
4539 MR_Q_RETRIEVE,
4540 "u",
4541 USERS_TABLE,
4542 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith, TO_CHAR(u.created, 'DD-mon-YYYY HH24:MI:SS'), u.creator FROM users u",
4543 gubm_fields,
4544 15,
4545 "u.clearid LIKE '%s' AND u.users_id != 0",
4546 1,
4547 "u.login",
4548 &guan_validate,
4549 },
4550
4551 {
4552 /* Q_AUAC - ADD_USER_ACCOUNT, v2 */ /* uses prefetch_value() for users_id */
4553 "add_user_account",
4554 "auac",
4555 2,
4556 MR_Q_APPEND,
4557 "u",
4558 USERS_TABLE,
4559 /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
4560 * but using up one argv element.
4561 */
4562 "INTO users (login, unix_uid, shell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', %d, NVL(CHR(0), '%s'), %s, %s)",
4563 auac2_fields,
4564 12,
4565 NULL,
4566 0,
4567 NULL,
4568 &auac2_validate,
4569 },
4570
4571 {
4572 /* Q_AUAC - ADD_USER_ACCOUNT, v3 */ /* uses prefetch_value() for users_id */
4573 "add_user_account",
4574 "auac",
4575 3,
4576 MR_Q_APPEND,
4577 "u",
4578 USERS_TABLE,
4579 /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
4580 * but using up one argv element.
4581 */
4582 "INTO users (login, unix_uid, shell, winconsoleshell, last, first, middle, status, clearid, type, comments, signature, secure, users_id, created, creator) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', %d, NVL(CHR(0), '%s'), %s, %s, SYSDATE, %s)",
4583 auac3_fields,
4584 13,
4585 NULL,
4586 0,
4587 NULL,
4588 &auac3_validate,
4589 },
4590
4591 {
4592 /* Q_AUAC - ADD_USER_ACCOUNT, v11 */ /* uses prefetch_value() for users_id */
4593 "add_user_account",
4594 "auac",
4595 11,
4596 MR_Q_APPEND,
4597 "u",
4598 USERS_TABLE,
4599 /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
4600 * but using up one argv element.
4601 */
4602 "INTO users (login, unix_uid, shell, winconsoleshell, last, first, middle, status, clearid, type, comments, signature, secure, winhomedir, winprofiledir, users_id, created, creator) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', %d, NVL(CHR(0), '%s'), %s, NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, SYSDATE, %s)",
4603 auac11_fields,
4604 15,
4605 NULL,
4606 0,
4607 NULL,
4608 &auac11_validate,
4609 },
4610
4611 {
4612 /* Q_AUAC - ADD_USER_ACCOUNT, v12 */ /* uses prefetch_value() for users_id */
4613 "add_user_account",
4614 "auac",
4615 12,
4616 MR_Q_APPEND,
4617 "u",
4618 USERS_TABLE,
4619 /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
4620 * but using up one argv element.
4621 */
4622 "INTO users (login, unix_uid, shell, winconsoleshell, last, first, middle, status, clearid, type, comments, signature, secure, winhomedir, winprofiledir, sponsor_type, sponsor_id, expiration, users_id, created, creator) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', %d, NVL(CHR(0), '%s'), %s, NVL('%s', CHR(0)), NVL('%s', CHR(0)), '%s', %d, NVL('%s', CHR(0)), %s, SYSDATE, %s)",
4623 auac_fields,
4624 18,
4625 NULL,
4626 0,
4627 NULL,
4628 &auac_validate,
4629 },
4630
4631 {
4632 /* Q_AUSR - ADD_USER, v2 */ /* uses prefetch_value() for users_id */
4633 "add_user",
4634 "ausr",
4635 2,
4636 MR_Q_APPEND,
4637 "u",
4638 USERS_TABLE,
4639 "INTO users (login, unix_uid, shell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', 0, CHR(0), 0, %s)",
4640 auac2_fields,
4641 9,
4642 0,
4643 0,
4644 NULL,
4645 &ausr2_validate,
4646 },
4647
4648 {
4649 /* Q_AUSR - ADD_USER, v3 */ /* uses prefetch_value() for users_id */
4650 "add_user",
4651 "ausr",
4652 3,
4653 MR_Q_APPEND,
4654 "u",
4655 USERS_TABLE,
4656 "INTO users (login, unix_uid, shell, winconsoleshell, last, first, middle, status, clearid, type, comments, signature, secure, users_id, created, creator) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', 0, CHR(0), 0, %s, SYSDATE, %s)",
4657 auac3_fields,
4658 10,
4659 0,
4660 0,
4661 NULL,
4662 &ausr3_validate,
4663 },
4664
4665 {
4666 /* Q_AUSR - ADD_USER, v11 */ /* uses prefetch_value() for users_id */
4667 "add_user",
4668 "ausr",
4669 11,
4670 MR_Q_APPEND,
4671 "u",
4672 USERS_TABLE,
4673 "INTO users (login, unix_uid, shell, winconsoleshell, last, first, middle, status, clearid, type, comments, signature, secure, winhomedir, winprofiledir, users_id, created, creator) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', 0, CHR(0), 0, NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, SYSDATE, %s)",
4674 auac11_fields,
4675 12,
4676 0,
4677 0,
4678 NULL,
4679 &ausr11_validate,
4680 },
4681
4682 {
4683 /* Q_AUSR - ADD_USER, v12 */ /* uses prefetch_value() for users_id */
4684 "add_user",
4685 "ausr",
4686 12,
4687 MR_Q_APPEND,
4688 "u",
4689 USERS_TABLE,
4690 "INTO users (login, unix_uid, shell, winconsoleshell, last, first, middle, status, clearid, type, comments, signature, secure, winhomedir, winprofiledir, sponsor_type, sponsor_id, expiration, users_id, created, creator) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', 0, CHR(0), 0, NVL('%s', CHR(0)), NVL('%s', CHR(0)), '%s', %d, NVL('%s', CHR(0)), %s, SYSDATE, %s)",
4691 auac_fields,
4692 15,
4693 0,
4694 0,
4695 NULL,
4696 &ausr_validate,
4697 },
4698
4699 {
4700 /* Q_RUSR - REGISTER_USER */
4701 "register_user",
4702 "rusr",
4703 2,
4704 MR_Q_APPEND,
4705 0,
4706 0,
4707 0,
4708 rusr_fields,
4709 3,
4710 0,
4711 0,
4712 NULL,
4713 &rusr_validate,
4714 },
4715
4716 {
4717 /* Q_UUAC - UPDATE_USER_ACCOUNT, v2 */
4718 "update_user_account",
4719 "uuac",
4720 2,
4721 MR_Q_UPDATE,
4722 "u",
4723 USERS_TABLE,
4724 /* See comment in auac about signature. */
4725 "users SET login = '%s', unix_uid = %s, shell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s', comments = %d, signature = NVL(CHR(0), '%s'), secure = %s",
4726 uuac2_fields,
4727 12,
4728 "users_id = %d",
4729 1,
4730 NULL,
4731 &uuac2_validate,
4732 },
4733
4734 {
4735 /* Q_UUAC - UPDATE_USER_ACCOUNT, v3 */
4736 "update_user_account",
4737 "uuac",
4738 3,
4739 MR_Q_UPDATE,
4740 "u",
4741 USERS_TABLE,
4742 /* See comment in auac about signature. */
4743 "users SET login = '%s', unix_uid = %s, shell = '%s', winconsoleshell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s', comments = %d, signature = NVL(CHR(0), '%s'), secure = %s",
4744 uuac3_fields,
4745 13,
4746 "users_id = %d",
4747 1,
4748 NULL,
4749 &uuac3_validate,
4750 },
4751
4752 {
4753 /* Q_UUAC - UPDATE_USER_ACCOUNT, v11 */
4754 "update_user_account",
4755 "uuac",
4756 11,
4757 MR_Q_UPDATE,
4758 "u",
4759 USERS_TABLE,
4760 /* See comment in auac about signature. */
4761 "users SET login = '%s', unix_uid = %s, shell = '%s', winconsoleshell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s', comments = %d, signature = NVL(CHR(0), '%s'), secure = %s, winhomedir = NVL('%s', CHR(0)), winprofiledir = NVL('%s', CHR(0))",
4762 uuac11_fields,
4763 15,
4764 "users_id = %d",
4765 1,
4766 NULL,
4767 &uuac11_validate,
4768 },
4769
4770 {
4771 /* Q_UUAC - UPDATE_USER_ACCOUNT, v12 */
4772 "update_user_account",
4773 "uuac",
4774 12,
4775 MR_Q_UPDATE,
4776 "u",
4777 USERS_TABLE,
4778 /* See comment in auac about signature. */
4779 "users SET login = '%s', unix_uid = %s, shell = '%s', winconsoleshell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s', comments = %d, signature = NVL(CHR(0), '%s'), secure = %s, winhomedir = NVL('%s', CHR(0)), winprofiledir = NVL('%s', CHR(0)), sponsor_type = '%s', sponsor_id = %d, expiration = NVL('%s', CHR(0))",
4780 uuac_fields,
4781 18,
4782 "users_id = %d",
4783 1,
4784 NULL,
4785 &uuac_validate,
4786 },
4787
4788 {
4789 /* Q_UUSR - UPDATE_USER, v2 */
4790 "update_user",
4791 "uusr",
4792 2,
4793 MR_Q_UPDATE,
4794 "u",
4795 USERS_TABLE,
4796 "users SET login = '%s', unix_uid = %s, shell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s'",
4797 uuac2_fields,
4798 9,
4799 "users_id = %d",
4800 1,
4801 NULL,
4802 &uusr2_validate,
4803 },
4804
4805 {
4806 /* Q_UUSR - UPDATE_USER, v3 */
4807 "update_user",
4808 "uusr",
4809 3,
4810 MR_Q_UPDATE,
4811 "u",
4812 USERS_TABLE,
4813 "users SET login = '%s', unix_uid = %s, shell = '%s', winconsoleshell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s'",
4814 uuac3_fields,
4815 10,
4816 "users_id = %d",
4817 1,
4818 NULL,
4819 &uusr3_validate,
4820 },
4821
4822 {
4823 /* Q_UUSR - UPDATE_USER, v11 */
4824 "update_user",
4825 "uusr",
4826 11,
4827 MR_Q_UPDATE,
4828 "u",
4829 USERS_TABLE,
4830 "users SET login = '%s', unix_uid = %s, shell = '%s', winconsoleshell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s', winhomedir = NVL('%s', CHR(0)), winprofiledir = NVL('%s', CHR(0)) ",
4831 uuac11_fields,
4832 12,
4833 "users_id = %d",
4834 1,
4835 NULL,
4836 &uusr11_validate,
4837 },
4838
4839 {
4840 /* Q_UUSR - UPDATE_USER, v12 */
4841 "update_user",
4842 "uusr",
4843 12,
4844 MR_Q_UPDATE,
4845 "u",
4846 USERS_TABLE,
4847 "users SET login = '%s', unix_uid = %s, shell = '%s', winconsoleshell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s', winhomedir = NVL('%s', CHR(0)), winprofiledir = NVL('%s', CHR(0)), sponsor_type = '%s', sponsor_id = %d, expiration = NVL('%s', CHR(0)) ",
4848 uuac_fields,
4849 15,
4850 "users_id = %d",
4851 1,
4852 NULL,
4853 &uusr_validate,
4854 },
4855
4856 {
4857 /* Q_UUSH - UPDATE_USER_SHELL */
4858 "update_user_shell",
4859 "uush",
4860 2,
4861 MR_Q_UPDATE,
4862 "u",
4863 USERS_TABLE,
4864 "users SET shell = '%s'",
4865 uush_fields,
4866 1,
4867 "users_id = %d",
4868 1,
4869 NULL,
4870 &uush_validate,
4871 },
4872
4873 {
4874 /* Q_UUWS - UPDATE_USER_WINDOWS_SHELL */
4875 "update_user_windows_shell",
4876 "uuws",
4877 2,
4878 MR_Q_UPDATE,
4879 "u",
4880 USERS_TABLE,
4881 "users SET winconsoleshell = '%s'",
4882 uuws_fields,
4883 1,
4884 "users_id = %d",
4885 1,
4886 NULL,
4887 &uuws_validate,
4888 },
4889
4890 {
4891 /* Q_UUST - UPDATE_USER_STATUS */
4892 "update_user_status",
4893 "uust",
4894 2,
4895 MR_Q_UPDATE,
4896 "u",
4897 USERS_TABLE,
4898 "users SET status = %s",
4899 uust_fields,
4900 1,
4901 "users_id = %d",
4902 1,
4903 NULL,
4904 &uust_validate,
4905 },
4906
4907 {
4908 /* Q_UUSS - UPDATE_USER_SECURITY_STATUS */
4909 "update_user_security_status",
4910 "uuss",
4911 2,
4912 MR_Q_UPDATE,
4913 "u",
4914 USERS_TABLE,
4915 "users SET secure = %s",
4916 uuss_fields,
4917 1,
4918 "users_id = %d",
4919 1,
4920 NULL,
4921 &uust_validate,
4922 },
4923
4924 {
4925 /* Q_DUSR - DELETE_USER */
4926 "delete_user",
4927 "dusr",
4928 2,
4929 MR_Q_DELETE,
4930 "u",
4931 USERS_TABLE,
4932 NULL,
4933 dusr_fields,
4934 0,
4935 "users_id = %d",
4936 1,
4937 NULL,
4938 &dusr_validate,
4939 },
4940
4941 {
4942 /* Q_AURV - ADD_USER_RESERVATION */
4943 "add_user_reservation",
4944 "aurv",
4945 2,
4946 MR_Q_UPDATE,
4947 0,
4948 USERS_TABLE,
4949 0,
4950 aurv_fields,
4951 2,
4952 0,
4953 0,
4954 NULL,
4955 &aurv_validate,
4956 },
4957
4958 {
4959 /* Q_GURV - GET_USER_RESERVATIONS */
4960 "get_user_reservations",
4961 "gurv",
4962 2,
4963 MR_Q_RETRIEVE,
4964 0,
4965 USERS_TABLE,
4966 0,
4967 gurv_fields,
4968 2,
4969 0,
4970 1,
4971 NULL,
4972 &gurv_validate,
4973 },
4974
4975 {
4976 /* Q_GUBR - GET_USER_BY_RESERVATION */
4977 "get_user_by_reservation",
4978 "gubr",
4979 2,
4980 MR_Q_RETRIEVE,
4981 0,
4982 USERS_TABLE,
4983 0,
4984 gubr_fields,
4985 1,
4986 0,
4987 1,
4988 NULL,
4989 &gubr_validate,
4990 },
4991
4992 {
4993 /* Q_DURV - DELETE_USER_RESERVATION */
4994 "delete_user_reservation",
4995 "durv",
4996 2,
4997 MR_Q_UPDATE,
4998 0,
4999 USERS_TABLE,
5000 0,
5001 aurv_fields,
5002 2,
5003 0,
5004 0,
5005 NULL,
5006 &aurv_validate,
5007 },
5008
5009 {
5010 /* Q_GKUM - GET_KERBEROS_USER_MAP */
5011 "get_kerberos_user_map",
5012 "gkum",
5013 2,
5014 MR_Q_RETRIEVE,
5015 "k",
5016 KRBMAP_TABLE,
5017 "u.login, str.string FROM krbmap km, users u, strings str",
5018 gkum_fields,
5019 2,
5020 "u.login LIKE '%s' AND str.string LIKE '%s' AND km.users_id = u.users_id AND km.string_id = str.string_id",
5021 2,
5022 "u.login, str.string",
5023 NULL,
5024 },
5025
5026 {
5027 /* Q_AKUM - ADD_KERBEROS_USER_MAP */
5028 "add_kerberos_user_map",
5029 "akum",
5030 2,
5031 MR_Q_APPEND,
5032 "k",
5033 KRBMAP_TABLE,
5034 "INTO krbmap (users_id, string_id) VALUES (%d, %d)",
5035 akum_fields,
5036 2,
5037 0,
5038 0,
5039 NULL,
5040 &akum_validate,
5041 },
5042
5043 {
5044 /* Q_DKUM - DELETE_KERBEROS_USER_MAP */
5045 "delete_kerberos_user_map",
5046 "dkum",
5047 2,
5048 MR_Q_DELETE,
5049 "k",
5050 KRBMAP_TABLE,
5051 0,
5052 akum_fields,
5053 0,
5054 "users_id = %d AND string_id = %d",
5055 2,
5056 NULL,
5057 &dkum_validate,
5058 },
5059
5060 {
5061 /* Q_GFBL - GET_FINGER_BY_LOGIN */
5062 "get_finger_by_login",
5063 "gfbl",
5064 2,
5065 MR_Q_RETRIEVE,
5066 "u",
5067 USERS_TABLE,
5068 "login, fullname, nickname, home_addr, home_phone, office_addr, office_phone, department, affiliation, TO_CHAR(fmodtime, 'DD-mon-YYYY HH24:MI:SS'), fmodby, fmodwith FROM users",
5069 gfbl_fields,
5070 12,
5071 "users_id = %d",
5072 1,
5073 "login",
5074 &gfbl_validate,
5075 },
5076
5077 {
5078 /* Q_UFBL - UPDATE_FINGER_BY_LOGIN */
5079 "update_finger_by_login",
5080 "ufbl",
5081 2,
5082 MR_Q_UPDATE,
5083 "u",
5084 USERS_TABLE,
5085 "users SET fullname= NVL('%s', CHR(0)), nickname= NVL('%s', CHR(0)), home_addr= NVL('%s', CHR(0)), home_phone= NVL('%s', CHR(0)), office_addr= NVL('%s', CHR(0)), office_phone= NVL('%s', CHR(0)), department= NVL('%s', CHR(0)), affiliation= NVL('%s', CHR(0))",
5086 ufbl_fields,
5087 8,
5088 "users_id = %d",
5089 1,
5090 NULL,
5091 &ufbl_validate,
5092 },
5093
5094 {
5095 /* Q_GPOB - GET_POBOX */
5096 "get_pobox",
5097 "gpob",
5098 2,
5099 MR_Q_RETRIEVE,
5100 "u",
5101 USERS_TABLE,
5102 "login, potype, users_id, CHR(0), TO_CHAR(pmodtime, 'DD-mon-YYYY HH24:MI:SS'), pmodby, pmodwith FROM users",
5103 gpob_fields,
5104 7,
5105 "users_id = %d",
5106 1,
5107 "login",
5108 &gpob_validate,
5109 },
5110
5111 {
5112 /* Q_GAPO - GET_ALL_POBOXES */
5113 "get_all_poboxes",
5114 "gapo",
5115 2,
5116 MR_Q_RETRIEVE,
5117 "u",
5118 USERS_TABLE,
5119 "login, potype, pop_id || ':' || box_id FROM users",
5120 gpox_fields,
5121 3,
5122 "potype != 'NONE'",
5123 0,
5124 "login",
5125 &gpox_validate,
5126 },
5127
5128 {
5129 /* Q_GPOP - GET_POBOXES_POP */
5130 "get_poboxes_pop",
5131 "gpop",
5132 2,
5133 MR_Q_RETRIEVE,
5134 "u",
5135 USERS_TABLE,
5136 "login, potype, users_id FROM users",
5137 gpox_fields,
5138 3,
5139 "potype = 'POP'",
5140 0,
5141 "login",
5142 &gpox_validate
5143 },
5144
5145 {
5146 /* Q_GPOF - GET_POBOXES_SMTP */
5147 "get_poboxes_smtp",
5148 "gpos",
5149 2,
5150 MR_Q_RETRIEVE,
5151 "u",
5152 USERS_TABLE,
5153 "login, potype, users_id FROM users",
5154 gpox_fields,
5155 3,
5156 "potype = 'SMTP'",
5157 0,
5158 "login",
5159 &gpox_validate
5160 },
5161
5162 {
5163 /* Q_SPOB - SET_POBOX */
5164 "set_pobox",
5165 "spob",
5166 2,
5167 MR_Q_UPDATE,
5168 0,
5169 USERS_TABLE,
5170 0,
5171 spob_fields,
5172 3,
5173 NULL,
5174 0,
5175 NULL,
5176 &spob_validate,
5177 },
5178
5179 {
5180 /* Q_SPOP - SET_POBOX_POP */
5181 "set_pobox_pop",
5182 "spop",
5183 2,
5184 MR_Q_UPDATE,
5185 0,
5186 USERS_TABLE,
5187 0,
5188 spob_fields,
5189 1,
5190 NULL,
5191 0,
5192 NULL,
5193 &spop_validate,
5194 },
5195
5196 {
5197 /* Q_DPOB - DELETE_POBOX */
5198 "delete_pobox",
5199 "dpob",
5200 2,
5201 MR_Q_UPDATE,
5202 "u",
5203 USERS_TABLE,
5204 "users SET potype = 'NONE'",
5205 spob_fields,
5206 0,
5207 "users_id = %d",
5208 1,
5209 NULL,
5210 &dpob_validate,
5211 },
5212
5213 {
5214 /* Q_GHST - GET_HOST, v2 */
5215 "get_host",
5216 "ghst",
5217 2,
5218 MR_Q_RETRIEVE,
5219 "m",
5220 MACHINE_TABLE,
5221 "m.name, m.vendor, m.model, m.os, m.location, m.contact, m.use, m.status, TO_CHAR(m.statuschange, 'DD-mon-YYYY HH24:MI:SS'), s.name, m.address, m.owner_type, m.owner_id, m.acomment, m.ocomment, TO_CHAR(m.created, 'DD-mon-YYYY HH24:MI:SS'), m.creator, TO_CHAR(m.inuse, 'DD-mon-YYYY HH24:MI:SS'), TO_CHAR(m.modtime, 'DD-mon-YYYY HH24:MI:SS'), m.modby, m.modwith FROM machine m, subnet s",
5222 ghst2_fields,
5223 21,
5224 "m.name LIKE UPPER('%s') AND m.address LIKE '%s' AND m.location LIKE UPPER('%s') AND s.name LIKE UPPER('%s') AND m.mach_id != 0 AND s.snet_id = m.snet_id",
5225 4,
5226 "m.name",
5227 &ghst_validate,
5228 },
5229
5230 {
5231 /* Q_GHST - GET_HOST, v6 */
5232 "get_host",
5233 "ghst",
5234 6,
5235 MR_Q_RETRIEVE,
5236 "m",
5237 MACHINE_TABLE,
5238 "m.name, m.vendor, m.model, m.os, m.location, m.contact, m.billing_contact, m.use, m.status, TO_CHAR(m.statuschange, 'DD-mon-YYYY HH24:MI:SS'), s.name, m.address, m.owner_type, m.owner_id, m.acomment, m.ocomment, TO_CHAR(m.created, 'DD-mon-YYYY HH24:MI:SS'), m.creator, TO_CHAR(m.inuse, 'DD-mon-YYYY HH24:MI:SS'), TO_CHAR(m.modtime, 'DD-mon-YYYY HH24:MI:SS'), m.modby, m.modwith FROM machine m, subnet s",
5239 ghst6_fields,
5240 22,
5241 "m.name LIKE UPPER('%s') AND m.address LIKE '%s' AND m.location LIKE UPPER('%s') AND s.name LIKE UPPER('%s') AND m.mach_id != 0 AND s.snet_id = m.snet_id",
5242 4,
5243 "m.name",
5244 &ghst_validate,
5245 },
5246
5247 {
5248 /* Q_GHST - GET_HOST, v8 */
5249 "get_host",
5250 "ghst",
5251 8,
5252 MR_Q_RETRIEVE,
5253 "m",
5254 MACHINE_TABLE,
5255 "m.name, m.vendor, m.model, m.os, m.location, m.contact, m.billing_contact, m.account_number, m.use, m.status, TO_CHAR(m.statuschange, 'DD-mon-YYYY HH24:MI:SS'), s.name, m.address, m.owner_type, m.owner_id, m.acomment, m.ocomment, TO_CHAR(m.created, 'DD-mon-YYYY HH24:MI:SS'), m.creator, TO_CHAR(m.inuse, 'DD-mon-YYYY HH24:MI:SS'), TO_CHAR(m.modtime, 'DD-mon-YYYY HH24:MI:SS'), m.modby, m.modwith FROM machine m, subnet s",
5256 ghst_fields,
5257 23,
5258 "m.name LIKE UPPER('%s') AND m.address LIKE '%s' AND m.location LIKE UPPER('%s') AND s.name LIKE UPPER('%s') AND m.mach_id != 0 AND s.snet_id = m.snet_id",
5259 4,
5260 "m.name",
5261 &ghst_validate,
5262 },
5263
5264 {
5265 /* Q_GHBH - GET_HOST_BY_HWADDR, v2 */
5266 "get_host_by_hwaddr",
5267 "ghbh",
5268 2,
5269 MR_Q_RETRIEVE,
5270 "m",
5271 MACHINE_TABLE,
5272 "m.name, m.vendor, m.model, m.os, m.location, m.contact, m.use, m.status, TO_CHAR(m.statuschange, 'DD-mon-YYYY HH24:MI:SS'), s.name, m.address, m.owner_type, m.owner_id, m.acomment, m.ocomment, TO_CHAR(m.created, 'DD-mon-YYYY HH24:MI:SS'), m.creator, TO_CHAR(m.inuse, 'DD-mon-YYYY HH24:MI:SS'), TO_CHAR(m.modtime, 'DD-mon-YYYY HH24:MI:SS'), m.modby, m.modwith FROM machine m, subnet s",
5273 ghbh2_fields,
5274 21,
5275 "m.hwaddr LIKE LOWER('%s') AND m.mach_id != 0 AND s.snet_id = m.snet_id",
5276 1,
5277 "m.name",
5278 &ghst_validate,
5279 },
5280
5281 {
5282 /* Q_GHBH - GET_HOST_BY_HWADDR, v6 */
5283 "get_host_by_hwaddr",
5284 "ghbh",
5285 6,
5286 MR_Q_RETRIEVE,
5287 "m",
5288 MACHINE_TABLE,
5289 "m.name, m.vendor, m.model, m.os, m.location, m.contact, m.billing_contact, m.use, m.status, TO_CHAR(m.statuschange, 'DD-mon-YYYY HH24:MI:SS'), s.name, m.address, m.owner_type, m.owner_id, m.acomment, m.ocomment, TO_CHAR(m.created, 'DD-mon-YYYY HH24:MI:SS'), m.creator, TO_CHAR(m.inuse, 'DD-mon-YYYY HH24:MI:SS'), TO_CHAR(m.modtime, 'DD-mon-YYYY HH24:MI:SS'), m.modby, m.modwith FROM machine m, subnet s",
5290 ghbh6_fields,
5291 22,
5292 "m.hwaddr LIKE LOWER('%s') AND m.mach_id != 0 AND s.snet_id = m.snet_id",
5293 1,
5294 "m.name",
5295 &ghst_validate,
5296 },
5297
5298 {
5299 /* Q_GHBH - GET_HOST_BY_HWADDR, v8 */
5300 "get_host_by_hwaddr",
5301 "ghbh",
5302 8,
5303 MR_Q_RETRIEVE,
5304 "m",
5305 MACHINE_TABLE,
5306 "m.name, m.vendor, m.model, m.os, m.location, m.contact, m.billing_contact, m.account_number, m.use, m.status, TO_CHAR(m.statuschange, 'DD-mon-YYYY HH24:MI:SS'), s.name, m.address, m.owner_type, m.owner_id, m.acomment, m.ocomment, TO_CHAR(m.created, 'DD-mon-YYYY HH24:MI:SS'), m.creator, TO_CHAR(m.inuse, 'DD-mon-YYYY HH24:MI:SS'), TO_CHAR(m.modtime, 'DD-mon-YYYY HH24:MI:SS'), m.modby, m.modwith FROM machine m, subnet s",
5307 ghbh_fields,
5308 23,
5309 "m.hwaddr LIKE LOWER('%s') AND m.mach_id != 0 AND s.snet_id = m.snet_id",
5310 1,
5311 "m.name",
5312 &ghst_validate,
5313 },
5314
5315 {
5316 /* Q_GHBA - GET_HOST_BY_ACCOUNT_NUMBER, v8 */
5317 "get_host_by_account_number",
5318 "ghba",
5319 8,
5320 MR_Q_RETRIEVE,
5321 "m",
5322 MACHINE_TABLE,
5323 "m.name, m.vendor, m.model, m.os, m.location, m.contact, m.billing_contact, m.account_number, m.use, m.status, TO_CHAR(m.statuschange, 'DD-mon-YYYY HH24:MI:SS'), s.name, m.address, m.owner_type, m.owner_id, m.acomment, m.ocomment, TO_CHAR(m.created, 'DD-mon-YYYY HH24:MI:SS'), m.creator, TO_CHAR(m.inuse, 'DD-mon-YYYY HH24:MI:SS'), TO_CHAR(m.modtime, 'DD-mon-YYYY HH24:MI:SS'), m.modby, m.modwith FROM machine m, subnet s",
5324 ghba_fields,
5325 23,
5326 "m.account_number LIKE '%s' AND m.mach_id != 0 and s.snet_id = m.snet_id",
5327 1,
5328 "m.name",
5329 &ghst_validate,
5330 },
5331
5332 {
5333 /* Q_GHHA - GET_HOST_HWADDR */
5334 "get_host_hwaddr",
5335 "ghha",
5336 2,
5337 MR_Q_RETRIEVE,
5338 "m",
5339 MACHINE_TABLE,
5340 "m.hwaddr FROM machine m",
5341 ghha_fields,
5342 1,
5343 "m.name LIKE UPPER('%s')",
5344 1,
5345 NULL,
5346 NULL,
5347 },
5348
5349 {
5350 /* Q_AHST - ADD_HOST, v2 */ /* uses prefetch_value() for mach_id */
5351 "add_host",
5352 "ahst",
5353 2,
5354 MR_Q_APPEND,
5355 "m",
5356 MACHINE_TABLE,
5357 "INTO machine (name, vendor, model, os, location, contact, use, status, statuschange, snet_id, address, owner_type, owner_id, acomment, ocomment, created, inuse, mach_id, creator) VALUES (UPPER('%s'), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL('%s', CHR(0)), %s, %s, SYSDATE, %d, '%s', '%s', %d, %d, %d, SYSDATE, SYSDATE, %s, %s)",
5358 ahst2_fields,
5359 14,
5360 0,
5361 0,
5362 NULL,
5363 &ahst2_validate,
5364 },
5365
5366 {
5367 /* Q_AHST - ADD_HOST, v6 */ /* uses prefetch_value() for mach_id */
5368 "add_host",
5369 "ahst",
5370 6,
5371 MR_Q_APPEND,
5372 "m",
5373 MACHINE_TABLE,
5374 "INTO machine (name, vendor, model, os, location, contact, billing_contact, use, status, statuschange, snet_id, address, owner_type, owner_id, acomment, ocomment, created, inuse, mach_id, creator) VALUES (UPPER('%s'), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, %s, SYSDATE, %d, '%s', '%s', %d, %d, %d, SYSDATE, SYSDATE, %s, %s)",
5375 ahst6_fields,
5376 15,
5377 0,
5378 0,
5379 NULL,
5380 &ahst6_validate,
5381 },
5382
5383 {
5384 /* Q_AHST - ADD_HOST, v8 */ /* Uses prefetch_value() for mach_id */
5385 "add_host",
5386 "ahst",
5387 8,
5388 MR_Q_APPEND,
5389 "m",
5390 MACHINE_TABLE,
5391 "INTO machine (name, vendor, model, os, location, contact, billing_contact, account_number, use, status, statuschange, snet_id, address, owner_type, owner_id, acomment, ocomment, created, inuse, mach_id, creator) VALUES (UPPER('%s'), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL(UPPER('%s'), CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, %s, SYSDATE, %d, '%s', '%s', %d, %d, %d, SYSDATE, SYSDATE, %s, %s)",
5392 ahst_fields,
5393 16,
5394 0,
5395 0,
5396 NULL,
5397 &ahst_validate,
5398 },
5399
5400 {
5401 /* Q_UHST - UPDATE_HOST, v2 */
5402 "update_host",
5403 "uhst",
5404 2,
5405 MR_Q_UPDATE,
5406 "m",
5407 MACHINE_TABLE,
5408 "machine SET name = NVL(UPPER('%s'), CHR(0)), vendor = NVL(UPPER('%s'), CHR(0)), model = NVL(UPPER('%s'), CHR(0)), os = NVL(UPPER('%s'), CHR(0)), location = NVL(UPPER('%s'), CHR(0)), contact = NVL('%s', CHR(0)), use = %s, status = %s, snet_id = %d, address = '%s', owner_type = '%s', owner_id = %d, acomment = %d, ocomment = %d",
5409 uhst2_fields,
5410 14,
5411 "mach_id = %d",
5412 1,
5413 NULL,
5414 &uhst2_validate,
5415 },
5416
5417 {
5418 /* Q_UHST - UPDATE_HOST, v6 */
5419 "update_host",
5420 "uhst",
5421 6,
5422 MR_Q_UPDATE,
5423 "m",
5424 MACHINE_TABLE,
5425 "machine SET name = NVL(UPPER('%s'), CHR(0)), vendor = NVL(UPPER('%s'), CHR(0)), model = NVL(UPPER('%s'), CHR(0)), os = NVL(UPPER('%s'), CHR(0)), location = NVL(UPPER('%s'), CHR(0)), contact = NVL('%s', CHR(0)), billing_contact = NVL('%s', CHR(0)), use = %s, status = %s, snet_id = %d, address = '%s', owner_type = '%s', owner_id = %d, acomment = %d, ocomment = %d",
5426 uhst6_fields,
5427 15,
5428 "mach_id = %d",
5429 1,
5430 NULL,
5431 &uhst6_validate,
5432 },
5433
5434 {
5435 /* Q_UHST - UPDATE_HOST, v8 */
5436 "update_host",
5437 "uhst",
5438 8,
5439 MR_Q_UPDATE,
5440 "m",
5441 MACHINE_TABLE,
5442 "machine SET name = NVL(UPPER('%s'), CHR(0)), vendor = NVL(UPPER('%s'), CHR(0)), model = NVL(UPPER('%s'), CHR(0)), os = NVL(UPPER('%s'), CHR(0)), location = NVL(UPPER('%s'), CHR(0)), contact = NVL('%s', CHR(0)), billing_contact = NVL('%s', CHR(0)), account_number = NVL('%s', CHR(0)), use = %s, status = %s, snet_id = %d, address = '%s', owner_type = '%s', owner_id = %d, acomment = %d, ocomment = %d",
5443 uhst_fields,
5444 16,
5445 "mach_id = %d",
5446 1,
5447 NULL,
5448 &uhst_validate,
5449 },
5450
5451 {
5452 /* Q_UHHA - UPDATE_HOST_HWADDR */
5453 "update_host_hwaddr",
5454 "uhha",
5455 2,
5456 MR_Q_UPDATE,
5457 "m",
5458 MACHINE_TABLE,
5459 "machine SET hwaddr = NVL('%s', CHR(0))",
5460 uhha_fields,
5461 1,
5462 "mach_id = %d",
5463 1,
5464 NULL,
5465 &uhha_validate,
5466 },
5467
5468 {
5469 /* Q_DHST - DELETE_HOST */
5470 "delete_host",
5471 "dhst",
5472 2,
5473 MR_Q_DELETE,
5474 "m",
5475 MACHINE_TABLE,
5476 NULL,
5477 dhst_fields,
5478 0,
5479 "mach_id = %d",
5480 1,
5481 NULL,
5482 &dhst_validate,
5483 },
5484
5485 {
5486 /* Q_GMAC - GET_MACHINE */
5487 "get_machine",
5488 "gmac",
5489 2,
5490 MR_Q_RETRIEVE,
5491 "m",
5492 MACHINE_TABLE,
5493 "name, vendor, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM machine",
5494 gmac_fields,
5495 5,
5496 "name LIKE UPPER('%s') AND mach_id != 0",
5497 1,
5498 "name",
5499 &VDfix_modby,
5500 },
5501
5502 {
5503 /* Q_GHAL - GET_HOSTALIAS */
5504 "get_hostalias",
5505 "ghal",
5506 2,
5507 MR_Q_RETRIEVE,
5508 "a",
5509 HOSTALIAS_TABLE,
5510 "a.name, m.name FROM hostalias a, machine m",
5511 ghal_fields,
5512 2,
5513 "m.mach_id = a.mach_id and a.name LIKE UPPER('%s') AND m.name LIKE UPPER('%s')",
5514 2,
5515 "a.name",
5516 &ghal_validate,
5517 },
5518
5519 {
5520 /* Q_AHAL - ADD_HOSTALIAS */
5521 "add_hostalias",
5522 "ahal",
5523 2,
5524 MR_Q_APPEND,
5525 "a",
5526 HOSTALIAS_TABLE,
5527 "INTO hostalias (name, mach_id) VALUES (UPPER('%s'), %d)",
5528 ghal_fields,
5529 2,
5530 0,
5531 0,
5532 NULL,
5533 &ahal_validate,
5534 },
5535
5536 {
5537 /* Q_DHAL - DELETE_HOSTALIAS */
5538 "delete_hostalias",
5539 "dhal",
5540 2,
5541 MR_Q_DELETE,
5542 "a",
5543 HOSTALIAS_TABLE,
5544 NULL,
5545 ghal_fields,
5546 0,
5547 "name = UPPER('%s') AND mach_id = %d",
5548 2,
5549 NULL,
5550 &dhal_validate,
5551 },
5552
5553 {
5554 /* Q_GSNT - GET_SUBNET, v2 */
5555 "get_subnet",
5556 "gsnt",
5557 2,
5558 MR_Q_RETRIEVE,
5559 "s",
5560 SUBNET_TABLE,
5561 "name, description, saddr, mask, low, high, prefix, owner_type, owner_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM subnet",
5562 gsnt2_fields,
5563 12,
5564 "name LIKE UPPER('%s')",
5565 1,
5566 "name",
5567 &gsnt_validate,
5568 },
5569
5570 {
5571 /* Q_GSNT - GET_SUBNET, v8 */
5572 "get_subnet",
5573 "gsnt",
5574 8,
5575 MR_Q_RETRIEVE,
5576 "s",
5577 SUBNET_TABLE,
5578 "name, description, status, contact, account_number, saddr, mask, low, high, prefix, owner_type, owner_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM subnet",
5579 gsnt_fields,
5580 15,
5581 "name LIKE UPPER('%s')",
5582 1,
5583 "name",
5584 &gsnt_validate,
5585 },
5586
5587 {
5588 /* Q_ASNT - ADD_SUBNET, v2 */
5589 "add_subnet",
5590 "asnt",
5591 2,
5592 MR_Q_APPEND,
5593 "s",
5594 SUBNET_TABLE,
5595 "INTO subnet (name, description, saddr, mask, low, high, prefix, owner_type, owner_id, snet_id) VALUES (UPPER('%s'), NVL('%s', CHR(0)), %s, %s, %s, %s, NVL('%s', CHR(0)), '%s', %d, %s)",
5596 asnt2_fields,
5597 9,
5598 0,
5599 0,
5600 NULL,
5601 &asnt2_validate,
5602 },
5603
5604 {
5605 /* Q_ASNT - ADD_SUBNET, v8 */
5606 "add_subnet",
5607 "asnt",
5608 8,
5609 MR_Q_APPEND,
5610 "s",
5611 SUBNET_TABLE,
5612 "INTO subnet (name, description, status, contact, account_number, saddr, mask, low, high, prefix, owner_type, owner_id, snet_id) VALUES (UPPER('%s'), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, %s, %s, %s, NVL('%s', CHR(0)), '%s', %d, %s)",
5613 asnt_fields,
5614 12,
5615 0,
5616 0,
5617 NULL,
5618 &asnt_validate,
5619 },
5620
5621 {
5622 /* Q_USNT - UPDATE_SUBNET, v2 */
5623 "update_subnet",
5624 "usnt",
5625 2,
5626 MR_Q_UPDATE,
5627 "s",
5628 SUBNET_TABLE,
5629 "subnet SET name = UPPER('%s'), description = NVL('%s', CHR(0)), saddr = %s, mask = %s, low = %s, high = %s, prefix = NVL('%s', CHR(0)), owner_type = '%s', owner_id = %d",
5630 usnt2_fields,
5631 9,
5632 "snet_id = %d",
5633 1,
5634 NULL,
5635 &usnt2_validate,
5636 },
5637
5638 {
5639 /* Q_USNT - UPDATE_SUBNET, v8 */
5640 "update_subnet",
5641 "usnt",
5642 8,
5643 MR_Q_UPDATE,
5644 "s",
5645 SUBNET_TABLE,
5646 "subnet SET name = UPPER('%s'), description = NVL('%s', CHR(0)), status = %s, contact = NVL('%s', CHR(0)), account_number = NVL('%s', CHR(0)), saddr = %s, mask = %s, low = %s, high = %s, prefix = NVL('%s', CHR(0)), owner_type = '%s', owner_id = %d",
5647 usnt_fields,
5648 12,
5649 "snet_id = %d",
5650 1,
5651 NULL,
5652 &usnt_validate,
5653 },
5654
5655 {
5656 /* Q_DSNT - DELETE_SUBNET */
5657 "delete_subnet",
5658 "dsnt",
5659 2,
5660 MR_Q_DELETE,
5661 "s",
5662 SUBNET_TABLE,
5663 NULL,
5664 dsnt_fields,
5665 0,
5666 "snet_id = %d",
5667 1,
5668 NULL,
5669 &dsnt_validate,
5670 },
5671
5672 {
5673 /* Q_GCLU - GET_CLUSTER */
5674 "get_cluster",
5675 "gclu",
5676 2,
5677 MR_Q_RETRIEVE,
5678 "c",
5679 CLUSTERS_TABLE,
5680 "name, description, location, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM clusters",
5681 gclu_fields,
5682 6,
5683 "name LIKE '%s' AND clu_id != 0",
5684 1,
5685 "name",
5686 &VDfix_modby,
5687 },
5688
5689 {
5690 /* Q_ACLU - ADD_CLUSTER */ /* uses prefetch_value() for clu_id */
5691 "add_cluster",
5692 "aclu",
5693 2,
5694 MR_Q_APPEND,
5695 "c",
5696 CLUSTERS_TABLE,
5697 "INTO clusters (name, description, location, clu_id) VALUES ('%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s)",
5698 aclu_fields,
5699 3,
5700 0,
5701 0,
5702 NULL,
5703 &aclu_validate,
5704 },
5705
5706 {
5707 /* Q_UCLU - UPDATE_CLUSTER */
5708 "update_cluster",
5709 "uclu",
5710 2,
5711 MR_Q_UPDATE,
5712 "c",
5713 CLUSTERS_TABLE,
5714 "clusters SET name = '%s', description = NVL('%s', CHR(0)), location = NVL('%s', CHR(0))",
5715 uclu_fields,
5716 3,
5717 "clu_id = %d",
5718 1,
5719 NULL,
5720 &uclu_validate,
5721 },
5722
5723 {
5724 /* Q_DCLU - DELETE_CLUSTER */
5725 "delete_cluster",
5726 "dclu",
5727 2,
5728 MR_Q_DELETE,
5729 "c",
5730 CLUSTERS_TABLE,
5731 NULL,
5732 dclu_fields,
5733 0,
5734 "clu_id = %d",
5735 1,
5736 NULL,
5737 &dclu_validate,
5738 },
5739
5740 {
5741 /* Q_GMCM - GET_MACHINE_TO_CLUSTER_MAP */
5742 "get_machine_to_cluster_map",
5743 "gmcm",
5744 2,
5745 MR_Q_RETRIEVE,
5746 "mcm",
5747 MCMAP_TABLE,
5748 "m.name, c.name FROM machine m, clusters c, mcmap mcm",
5749 gmcm_fields,
5750 2,
5751 "m.name LIKE UPPER('%s') AND c.name LIKE '%s' AND mcm.clu_id = c.clu_id AND mcm.mach_id = m.mach_id",
5752 2,
5753 "m.name",
5754 NULL,
5755 },
5756
5757 {
5758 /* Q_AMTC - ADD_MACHINE_TO_CLUSTER */
5759 "add_machine_to_cluster",
5760 "amtc",
5761 2,
5762 MR_Q_APPEND,
5763 "mcm",
5764 MCMAP_TABLE,
5765 "INTO mcmap (mach_id, clu_id) VALUES (%d, %d)",
5766 gmcm_fields,
5767 2,
5768 0,
5769 0,
5770 NULL,
5771 &amtc_validate,
5772 },
5773
5774 {
5775 /* Q_DMFC - DELETE_MACHINE_FROM_CLUSTER */
5776 "delete_machine_from_cluster",
5777 "dmfc",
5778 2,
5779 MR_Q_DELETE,
5780 "mcm",
5781 MCMAP_TABLE,
5782 0,
5783 gmcm_fields,
5784 0,
5785 "mach_id = %d AND clu_id = %d",
5786 2,
5787 NULL,
5788 &amtc_validate,
5789 },
5790
5791 {
5792 /* Q_GCLD - GET_CLUSTER_DATA */
5793 "get_cluster_data",
5794 "gcld",
5795 2,
5796 MR_Q_RETRIEVE,
5797 "svc",
5798 SVC_TABLE,
5799 "c.name, svc.serv_label, svc.serv_cluster FROM svc svc, clusters c",
5800 gcld_fields,
5801 3,
5802 "c.clu_id = svc.clu_id AND c.name LIKE '%s' AND svc.serv_label LIKE '%s'",
5803 2,
5804 "c.name, svc.serv_label",
5805 NULL,
5806 },
5807
5808 {
5809 /* Q_ACLD - ADD_CLUSTER_DATA */
5810 "add_cluster_data",
5811 "acld",
5812 2,
5813 MR_Q_APPEND,
5814 "svc",
5815 SVC_TABLE,
5816 "INTO svc (clu_id, serv_label, serv_cluster) VALUES (%d, '%s', '%s')",
5817 acld_fields,
5818 3,
5819 NULL,
5820 0,
5821 NULL,
5822 &acld_validate,
5823 },
5824
5825 {
5826 /* Q_DCLD - DELETE_CLUSTER_DATA */
5827 "delete_cluster_data",
5828 "dcld",
5829 2,
5830 MR_Q_DELETE,
5831 "svc",
5832 SVC_TABLE,
5833 NULL,
5834 acld_fields,
5835 0,
5836 "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
5837 3,
5838 NULL,
5839 &dcld_validate,
5840 },
5841
5842 {
5843 /* Q_GLIN - GET_LIST_INFO, v2 */
5844 "get_list_info",
5845 "glin",
5846 2,
5847 MR_Q_RETRIEVE,
5848 "l",
5849 LIST_TABLE,
5850 "name, active, publicflg, hidden, maillist, grouplist, gid, acl_type, acl_id, description, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM list",
5851 glin2_fields,
5852 13,
5853 "name LIKE '%s'",
5854 1,
5855 "name",
5856 &glin_validate,
5857 },
5858
5859 {
5860 /* Q_GLIN - GET_LIST_INFO, v3 */
5861 "get_list_info",
5862 "glin",
5863 3,
5864 MR_Q_RETRIEVE,
5865 "l",
5866 LIST_TABLE,
5867 "name, active, publicflg, hidden, maillist, grouplist, gid, nfsgroup, acl_type, acl_id, description, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM list",
5868 glin3_fields,
5869 14,
5870 "name LIKE '%s'",
5871 1,
5872 "name",
5873 &glin_validate,
5874 },
5875
5876 {
5877 /* Q_GLIN - GET_LIST_INFO, v4 */
5878 "get_list_info",
5879 "glin",
5880 4,
5881 MR_Q_RETRIEVE,
5882 "l",
5883 LIST_TABLE,
5884 "name, active, publicflg, hidden, maillist, grouplist, gid, nfsgroup, acl_type, acl_id, memacl_type, memacl_id, description, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM list",
5885 glin4_fields,
5886 16,
5887 "name LIKE '%s'",
5888 1,
5889 "name",
5890 &glin_validate,
5891 },
5892
5893 {
5894 /* Q_GLIN - GET_LIST_INFO, v10 */
5895 "get_list_info",
5896 "glin",
5897 10,
5898 MR_Q_RETRIEVE,
5899 "l",
5900 LIST_TABLE,
5901 "l.name, l.active, l.publicflg, l.hidden, l.maillist, l.grouplist, l.gid, l.nfsgroup, l.mailman, m.name, l.acl_type, l.acl_id, l.memacl_type, l.memacl_id, l.description, TO_CHAR(l.modtime, 'DD-mon-YYYY HH24:MI:SS'), l.modby, l.modwith FROM list l, machine m",
5902 glin_fields,
5903 18,
5904 "l.name LIKE '%s' AND m.mach_id = l.mailman_id",
5905 1,
5906 "l.name",
5907 &glin_validate,
5908 },
5909
5910 {
5911 /* Q_EXLN - EXPAND_LIST_NAMES */
5912 "expand_list_names",
5913 "exln",
5914 2,
5915 MR_Q_RETRIEVE,
5916 "l",
5917 LIST_TABLE,
5918 "name FROM list",
5919 glin_fields,
5920 1,
5921 "name LIKE '%s' AND list_id != 0",
5922 1,
5923 "name",
5924 NULL,
5925 },
5926
5927 {
5928 /* Q_ALIS - ADD_LIST, v2 */ /* uses prefetch_value() for list_id */
5929 "add_list",
5930 "alis",
5931 2,
5932 MR_Q_APPEND,
5933 "l",
5934 LIST_TABLE,
5935 "INTO list (name, active, publicflg, hidden, maillist, grouplist, gid, acl_type, acl_id, description, list_id) VALUES ('%s', %s, %s, %s, %s, %s, %s, '%s', %d, NVL('%s', CHR(0)), %s)",
5936 alis2_fields,
5937 10,
5938 0,
5939 0,
5940 NULL,
5941 &alis2_validate,
5942 },
5943
5944 {
5945 /* Q_ALIS - ADD_LIST, v3 */ /* uses prefetch_value() for list_id */
5946 "add_list",
5947 "alis",
5948 3,
5949 MR_Q_APPEND,
5950 "l",
5951 LIST_TABLE,
5952 "INTO list (name, active, publicflg, hidden, maillist, grouplist, gid, nfsgroup, acl_type, acl_id, description, list_id) VALUES ('%s', %s, %s, %s, %s, %s, %s, %s, '%s', %d, NVL('%s', CHR(0)), %s)",
5953 alis3_fields,
5954 11,
5955 0,
5956 0,
5957 NULL,
5958 &alis3_validate,
5959 },
5960
5961 {
5962 /* Q_ALIS - ADD_LIST, v4 */ /* uses prefetch_value() for list_id */
5963 "add_list",
5964 "alis",
5965 4,
5966 MR_Q_APPEND,
5967 "l",
5968 LIST_TABLE,
5969 "INTO list (name, active, publicflg, hidden, maillist, grouplist, gid, nfsgroup, acl_type, acl_id, memacl_type, memacl_id, description, list_id) VALUES ('%s', %s, %s, %s, %s, %s, %s, %s, '%s', %d, '%s', %d, NVL('%s', CHR(0)), %s)",
5970 alis4_fields,
5971 13,
5972 0,
5973 0,
5974 NULL,
5975 &alis4_validate,
5976 },
5977
5978 {
5979 /* Q_ALIS - ADD_LIST, v10 */ /* uses prefetch_value() for list_id */
5980 "add_list",
5981 "alis",
5982 10,
5983 MR_Q_APPEND,
5984 "l",
5985 LIST_TABLE,
5986 "INTO list (name, active, publicflg, hidden, maillist, grouplist, gid, nfsgroup, mailman, mailman_id, acl_type, acl_id, memacl_type, memacl_id, description, list_id) VALUES ('%s', %s, %s, %s, %s, %s, %s, %s, %s, %d, '%s', %d, '%s', %d, NVL('%s', CHR(0)), %s)",
5987 alis_fields,
5988 15,
5989 0,
5990 0,
5991 NULL,
5992 &alis_validate,
5993 },
5994
5995 {
5996 /* Q_ULIS - UPDATE_LIST, v2 */
5997 "update_list",
5998 "ulis",
5999 2,
6000 MR_Q_UPDATE,
6001 "l",
6002 LIST_TABLE,
6003 "list SET name = '%s', active = %s, publicflg = %s, hidden = %s, maillist = %s, grouplist = %s, gid = %s, acl_type = '%s', acl_id = %d, description = NVL('%s', CHR(0))",
6004 ulis2_fields,
6005 10,
6006 "list_id = %d",
6007 1,
6008 NULL,
6009 &ulis2_validate,
6010 },
6011
6012 {
6013 /* Q_ULIS - UPDATE_LIST, v3 */
6014 "update_list",
6015 "ulis",
6016 3,
6017 MR_Q_UPDATE,
6018 "l",
6019 LIST_TABLE,
6020 "list SET name = '%s', active = %s, publicflg = %s, hidden = %s, maillist = %s, grouplist = %s, gid = %s, nfsgroup = %s, acl_type = '%s', acl_id = %d, description = NVL('%s', CHR(0))",
6021 ulis3_fields,
6022 11,
6023 "list_id = %d",
6024 1,
6025 NULL,
6026 &ulis3_validate,
6027 },
6028
6029 {
6030 /* Q_ULIS, UPDATE_LIST, v4 */
6031 "update_list",
6032 "ulis",
6033 4,
6034 MR_Q_UPDATE,
6035 "l",
6036 LIST_TABLE,
6037 "list SET name = '%s', active = %s, publicflg = %s, hidden = %s, maillist = %s, grouplist = %s, gid = %s, nfsgroup = %s, acl_type = '%s', acl_id = %d, memacl_type = '%s', memacl_id = %d, description = NVL('%s', CHR(0))",
6038 ulis4_fields,
6039 13,
6040 "list_id = %d",
6041 1,
6042 NULL,
6043 &ulis4_validate,
6044 },
6045
6046 {
6047 /* Q_ULIS, UPDATE_LIST, v10 */
6048 "update_list",
6049 "ulis",
6050 10,
6051 MR_Q_UPDATE,
6052 "l",
6053 LIST_TABLE,
6054 "list SET name = '%s', active = %s, publicflg = %s, hidden = %s, maillist = %s, grouplist = %s, gid = %s, nfsgroup = %s, mailman = %s, mailman_id = %d, acl_type = '%s', acl_id = %d, memacl_type = '%s', memacl_id = %d, description = NVL('%s', CHR(0))",
6055 ulis_fields,
6056 15,
6057 "list_id = %d",
6058 1,
6059 NULL,
6060 &ulis_validate,
6061 },
6062
6063 {
6064 /* Q_DLIS - DELETE_LIST */
6065 "delete_list",
6066 "dlis",
6067 2,
6068 MR_Q_DELETE,
6069 "l",
6070 LIST_TABLE,
6071 NULL,
6072 dlis_fields,
6073 0,
6074 "list_id = %d",
6075 1,
6076 NULL,
6077 &dlis_validate,
6078 },
6079
6080 {
6081 /* Q_AMTL - ADD_MEMBER_TO_LIST */
6082 "add_member_to_list",
6083 "amtl",
6084 2,
6085 MR_Q_APPEND,
6086 0,
6087 IMEMBERS_TABLE,
6088 0,
6089 amtl_fields,
6090 3,
6091 NULL,
6092 0,
6093 NULL,
6094 &amtl_validate,
6095 },
6096
6097 {
6098 /* Q_ATML - ADD_TAGGED_MEMBER_TO_LIST */
6099 "add_tagged_member_to_list",
6100 "atml",
6101 2,
6102 MR_Q_APPEND,
6103 0,
6104 IMEMBERS_TABLE,
6105 0,
6106 atml_fields,
6107 4,
6108 NULL,
6109 0,
6110 NULL,
6111 &atml_validate,
6112 },
6113
6114 {
6115 /* Q_TMOL - TAG_MEMBER_OF_LIST */
6116 "tag_member_of_list",
6117 "tmol",
6118 2,
6119 MR_Q_UPDATE,
6120 0,
6121 IMEMBERS_TABLE,
6122 0,
6123 atml_fields,
6124 1,
6125 0,
6126 3,
6127 NULL,
6128 &tmol_validate,
6129 },
6130
6131 {
6132 /* Q_DMFL - DELETE_MEMBER_FROM_LIST */
6133 "delete_member_from_list",
6134 "dmfl",
6135 2,
6136 MR_Q_DELETE,
6137 0,
6138 IMEMBERS_TABLE,
6139 NULL,
6140 amtl_fields,
6141 0,
6142 0,
6143 3,
6144 NULL,
6145 &dmfl_validate,
6146 },
6147
6148 {
6149 /* Q_GAUS - GET_ACE_USE */
6150 "get_ace_use",
6151 "gaus",
6152 2,
6153 MR_Q_RETRIEVE,
6154 0,
6155 0,
6156 0,
6157 gaus_fields,
6158 2,
6159 0,
6160 2,
6161 NULL,
6162 &gaus_validate,
6163 },
6164
6165 {
6166 /* Q_GHBO - GET_HOST_BY_OWNER */
6167 "get_host_by_owner",
6168 "ghbo",
6169 2,
6170 MR_Q_RETRIEVE,
6171 0,
6172 0,
6173 0,
6174 ghbo_fields,
6175 1,
6176 0,
6177 2,
6178 NULL,
6179 &ghbo_validate,
6180 },
6181
6182 {
6183 /* Q_QGLI - QUALIFIED_GET_LISTS */
6184 "qualified_get_lists",
6185 "qgli",
6186 2,
6187 MR_Q_RETRIEVE,
6188 0,
6189 LIST_TABLE,
6190 0,
6191 qgli_fields,
6192 1,
6193 0,
6194 5,
6195 NULL,
6196 &qgli_validate,
6197 },
6198
6199 {
6200 /* Q_GMOL - GET_MEMBERS_OF_LIST */
6201 "get_members_of_list",
6202 "gmol",
6203 2,
6204 MR_Q_RETRIEVE,
6205 NULL,
6206 IMEMBERS_TABLE,
6207 NULL,
6208 gmol_fields,
6209 2,
6210 NULL,
6211 1,
6212 NULL,
6213 &gmol_validate,
6214 },
6215
6216 {
6217 /* Q_GEML - GET_END_MEMBERS_OF_LIST */
6218 "get_end_members_of_list",
6219 "geml",
6220 2,
6221 MR_Q_RETRIEVE,
6222 NULL,
6223 IMEMBERS_TABLE,
6224 NULL,
6225 gmol_fields,
6226 2,
6227 NULL,
6228 1,
6229 NULL,
6230 &gmol_validate,
6231 },
6232
6233 {
6234 /* Q_GTML - GET_TAGGED_MEMBERS_OF_LIST */
6235 "get_tagged_members_of_list",
6236 "gtml",
6237 2,
6238 MR_Q_RETRIEVE,
6239 NULL,
6240 IMEMBERS_TABLE,
6241 NULL,
6242 gtml_fields,
6243 3,
6244 NULL,
6245 1,
6246 NULL,
6247 &gmol_validate,
6248 },
6249
6250 {
6251 /* Q_GLOM - GET_LISTS_OF_MEMBER */
6252 "get_lists_of_member",
6253 "glom",
6254 2,
6255 MR_Q_RETRIEVE,
6256 0,
6257 IMEMBERS_TABLE,
6258 0,
6259 glom_fields,
6260 6,
6261 0,
6262 2,
6263 NULL,
6264 &glom_validate,
6265 },
6266
6267 {
6268 /* Q_CMOL - COUNT_MEMBERS_OF_LIST */
6269 "count_members_of_list",
6270 "cmol",
6271 2,
6272 MR_Q_RETRIEVE,
6273 0,
6274 IMEMBERS_TABLE,
6275 0,
6276 cmol_fields,
6277 1,
6278 0,
6279 1,
6280 NULL,
6281 &cmol_validate,
6282 },
6283
6284 {
6285 /* Q_GSIN - GET_SERVER_INFO */
6286 "get_server_info",
6287 "gsin",
6288 2,
6289 MR_Q_RETRIEVE,
6290 "s",
6291 SERVERS_TABLE,
6292 "name, update_int, target_file, script, dfgen, dfcheck, type, enable, inprogress, harderror, errmsg, acl_type, acl_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM servers",
6293 gsin_fields,
6294 16,
6295 "name LIKE UPPER('%s')",
6296 1,
6297 "name",
6298 &gsin_validate,
6299 },
6300
6301 {
6302 /* Q_QGSV - QUALIFIED_GET_SERVER */
6303 "qualified_get_server",
6304 "qgsv",
6305 2,
6306 MR_Q_RETRIEVE,
6307 0,
6308 SERVERS_TABLE,
6309 0,
6310 qgsv_fields,
6311 1,
6312 0,
6313 3,
6314 NULL,
6315 &qgsv_validate,
6316 },
6317
6318 {
6319 /* Q_ASIN - ADD_SERVER_INFO */
6320 "add_server_info",
6321 "asin",
6322 2,
6323 MR_Q_APPEND,
6324 "s",
6325 SERVERS_TABLE,
6326 "INTO servers (name, update_int, target_file, script, type, enable, acl_type, acl_id) VALUES (UPPER('%s'), %s, '%s', '%s', '%s', %s, '%s', %d)",
6327 asin_fields,
6328 8,
6329 NULL,
6330 0,
6331 NULL,
6332 &asin_validate,
6333 },
6334
6335 {
6336 /* Q_USIN - UPDATE_SERVER_INFO */
6337 "update_server_info",
6338 "usin",
6339 2,
6340 MR_Q_UPDATE,
6341 "s",
6342 SERVERS_TABLE,
6343 "servers SET update_int = %s, target_file = '%s', script = '%s', type = '%s', enable = %s, acl_type = '%s', acl_id = %d",
6344 asin_fields,
6345 7,
6346 "name = UPPER('%s')",
6347 1,
6348 NULL,
6349 &asin_validate,
6350 },
6351
6352 {
6353 /* Q_RSVE - RESET_SERVER_ERROR */
6354 "reset_server_error",
6355 "rsve",
6356 2,
6357 MR_Q_UPDATE,
6358 "s",
6359 SERVERS_TABLE,
6360 "servers SET harderror = 0, dfcheck = dfgen",
6361 dsin_fields,
6362 0,
6363 "name = UPPER('%s')",
6364 1,
6365 NULL,
6366 &rsve_validate,
6367 },
6368
6369 {
6370 /* Q_SSIF - SET_SERVER_INTERNAL_FLAGS */
6371 "set_server_internal_flags",
6372 "ssif",
6373 2,
6374 MR_Q_UPDATE,
6375 "s",
6376 SERVERS_TABLE,
6377 "servers SET dfgen = %s, dfcheck = %s, inprogress = %s, harderror = %s, errmsg = NVL('%s', CHR(0))",
6378 ssif_fields,
6379 5,
6380 "name = UPPER('%s')",
6381 1,
6382 NULL,
6383 &ssif_validate,
6384 },
6385
6386 {
6387 /* Q_DSIN - DELETE_SERVER_INFO */
6388 "delete_server_info",
6389 "dsin",
6390 2,
6391 MR_Q_DELETE,
6392 "s",
6393 SERVERS_TABLE,
6394 NULL,
6395 dsin_fields,
6396 0,
6397 "name = UPPER('%s')",
6398 1,
6399 NULL,
6400 &dsin_validate,
6401 },
6402
6403 {
6404 /* Q_GSHI - GET_SERVER_HOST_INFO */
6405 "get_server_host_info",
6406 "gshi",
6407 2,
6408 MR_Q_RETRIEVE,
6409 "sh",
6410 SERVERHOSTS_TABLE,
6411 "sh.service, m.name, sh.enable, sh.override, sh.success, sh.inprogress, sh.hosterror, sh.hosterrmsg, sh.ltt, sh.lts, sh.value1, sh.value2, sh.value3, TO_CHAR(sh.modtime, 'DD-mon-YYYY HH24:MI:SS'), sh.modby, sh.modwith FROM serverhosts sh, machine m",
6412 gshi_fields,
6413 16,
6414 "sh.service LIKE UPPER('%s') AND m.name LIKE UPPER('%s') AND m.mach_id = sh.mach_id",
6415 2,
6416 "sh.service, m.name",
6417 &gshi_validate,
6418 },
6419
6420 {
6421 /* Q_QGSH - QUALIFIED_GET_SERVER_HOST */
6422 "qualified_get_server_host",
6423 "qgsh",
6424 2,
6425 MR_Q_RETRIEVE,
6426 0,
6427 SERVERHOSTS_TABLE,
6428 0,
6429 qgsh_fields,
6430 2,
6431 0,
6432 6,
6433 NULL,
6434 &qgsh_validate,
6435 },
6436
6437 {
6438 /* Q_ASHI - ADD_SERVER_HOST_INFO */
6439 "add_server_host_info",
6440 "ashi",
6441 2,
6442 MR_Q_APPEND,
6443 "sh",
6444 SERVERHOSTS_TABLE,
6445 "INTO serverhosts (service, mach_id, enable, value1, value2, value3) VALUES (UPPER('%s'), %d, %s, %s, %s, NVL('%s', CHR(0)))",
6446 ashi_fields,
6447 6,
6448 NULL,
6449 0,
6450 NULL,
6451 &ashi_validate,
6452 },
6453
6454 {
6455 /* Q_USHI - UPDATE_SERVER_HOST_INFO */
6456 "update_server_host_info",
6457 "ushi",
6458 2,
6459 MR_Q_UPDATE,
6460 "sh",
6461 SERVERHOSTS_TABLE,
6462 "serverhosts SET enable = %s, value1 = %s, value2 = %s, value3 = NVL('%s', CHR(0))",
6463 ashi_fields,
6464 4,
6465 "service = UPPER('%s') AND mach_id = %d",
6466 2,
6467 NULL,
6468 &ashi_validate,
6469 },
6470
6471 {
6472 /* Q_RSHE - RESET_SERVER_HOST_ERROR */
6473 "reset_server_host_error",
6474 "rshe",
6475 2,
6476 MR_Q_UPDATE,
6477 "sh",
6478 SERVERHOSTS_TABLE,
6479 "serverhosts SET hosterror = 0",
6480 dshi_fields,
6481 0,
6482 "service = UPPER('%s') AND mach_id = %d",
6483 2,
6484 NULL,
6485 &rshe_validate,
6486 },
6487
6488 {
6489 /* Q_SSHO - SET_SERVER_HOST_OVERRIDE */
6490 "set_server_host_override",
6491 "ssho",
6492 2,
6493 MR_Q_UPDATE,
6494 "sh",
6495 SERVERHOSTS_TABLE,
6496 "serverhosts SET override = 1",
6497 dshi_fields,
6498 0,
6499 "service = UPPER('%s') AND mach_id = %d",
6500 2,
6501 NULL,
6502 &ssho_validate,
6503 },
6504
6505 {
6506 /* Q_SSHI - SET_SERVER_HOST_INTERNAL */
6507 "set_server_host_internal",
6508 "sshi",
6509 2,
6510 MR_Q_UPDATE,
6511 "s",
6512 SERVERHOSTS_TABLE,
6513 "serverhosts SET override = %s, success = %s, inprogress = %s, hosterror = %s, hosterrmsg = NVL('%s', CHR(0)), ltt = %s, lts = %s",
6514 sshi_fields,
6515 7,
6516 "service = UPPER('%s') AND mach_id = %d",
6517 2,
6518 NULL,
6519 &sshi_validate,
6520 },
6521
6522 {
6523 /* Q_DSHI - DELETE_SERVER_HOST_INFO */
6524 "delete_server_host_info",
6525 "dshi",
6526 2,
6527 MR_Q_DELETE,
6528 "sh",
6529 SERVERHOSTS_TABLE,
6530 NULL,
6531 dshi_fields,
6532 0,
6533 "service = UPPER('%s') AND mach_id = %d",
6534 2,
6535 NULL,
6536 &dshi_validate,
6537 },
6538
6539 {
6540 /* Q_GSLO - GET_SERVER_LOCATIONS */
6541 "get_server_locations",
6542 "gslo",
6543 2,
6544 MR_Q_RETRIEVE,
6545 "sh",
6546 SERVERHOSTS_TABLE,
6547 "sh.service, m.name FROM serverhosts sh, machine m",
6548 gslo_fields,
6549 2,
6550 "sh.service LIKE UPPER('%s') AND sh.mach_id = m.mach_id",
6551 1,
6552 "sh.service, m.name",
6553 NULL,
6554 },
6555
6556 {
6557 /* Q_GFSL - GET_FILESYS_BY_LABEL */
6558 "get_filesys_by_label",
6559 "gfsl",
6560 2,
6561 MR_Q_RETRIEVE,
6562 "fs",
6563 FILESYS_TABLE,
6564 "fs.label, fs.type, m.name, fs.name, fs.mount, fs.rwaccess, fs.comments, u.login, l.name, fs.createflg, fs.lockertype, TO_CHAR(fs.modtime, 'DD-mon-YYYY HH24:MI:SS'), fs.modby, fs.modwith FROM filesys fs, machine m, users u, list l",
6565 gfsl_fields,
6566 14,
6567 "fs.label LIKE '%s' AND fs.mach_id = m.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
6568 1,
6569 "fs.label",
6570 &gfsl_validate,
6571 },
6572
6573 {
6574 /* Q_GFSM - GET_FILESYS_BY_MACHINE */
6575 "get_filesys_by_machine",
6576 "gfsm",
6577 2,
6578 MR_Q_RETRIEVE,
6579 "fs",
6580 FILESYS_TABLE,
6581 "fs.label, fs.type, m.name, fs.name, fs.mount, fs.rwaccess, fs.comments, u.login, l.name, fs.createflg, fs.lockertype, TO_CHAR(fs.modtime, 'DD-mon-YYYY HH24:MI:SS'), fs.modby, fs.modwith FROM filesys fs, machine m, users u, list l",
6582 gfsm_fields,
6583 14,
6584 "fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
6585 1,
6586 "fs.label",
6587 &gfsm_validate,
6588 },
6589
6590 {
6591 /* Q_GFSN - GET_FILESYS_BY_NFSPHYS */
6592 "get_filesys_by_nfsphys",
6593 "gfsn",
6594 2,
6595 MR_Q_RETRIEVE,
6596 "fs",
6597 FILESYS_TABLE,
6598 "fs.label, fs.type, m.name, fs.name, fs.mount, fs.rwaccess, fs.comments, u.login, l.name, fs.createflg, fs.lockertype, TO_CHAR(fs.modtime, 'DD-mon-YYYY HH24:MI:SS'), fs.modby, fs.modwith FROM filesys fs, machine m, users u, list l, nfsphys np",
6599 gfsn_fields,
6600 14,
6601 "fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id AND np.nfsphys_id = fs.phys_id AND np.dir LIKE '%s'",
6602 2,
6603 "fs.label",
6604 &gfsn_validate,
6605 },
6606
6607 {
6608 /* Q_GFSG - GET_FILESYS_BY_GROUP */
6609 "get_filesys_by_group",
6610 "gfsg",
6611 2,
6612 MR_Q_RETRIEVE,
6613 "fs",
6614 FILESYS_TABLE,
6615 "fs.label, fs.type, m.name, fs.name, fs.mount, fs.rwaccess, fs.comments, u.login, l.name, fs.createflg, fs.lockertype, TO_CHAR(fs.modtime, 'DD-mon-YYYY HH24:MI:SS'), fs.modby, fs.modwith FROM filesys fs, machine m, users u, list l",
6616 gfsg_fields,
6617 14,
6618 "fs.owners = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
6619 1,
6620 "fs.label",
6621 &gfsg_validate,
6622 },
6623
6624 {
6625 /* Q_GFSP - GET_FILESYS_BY_PATH */
6626 "get_filesys_by_path",
6627 "gfsp",
6628 2,
6629 MR_Q_RETRIEVE,
6630 "fs",
6631 FILESYS_TABLE,
6632 "fs.label, fs.type, m.name, fs.name, fs.mount, fs.rwaccess, fs.comments, u.login, l.name, fs.createflg, fs.lockertype, TO_CHAR(fs.modtime, 'DD-mon-YYYY HH24:MI:SS'), fs.modby, fs.modwith FROM filesys fs, machine m, users u, list l",
6633 gfsp_fields,
6634 14,
6635 "fs.name LIKE '%s' AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = list_id",
6636 1,
6637 "fs.label",
6638 &VDfix_modby,
6639 },
6640
6641 {
6642 /* Q_AFIL - ADD_FILESYS */ /* uses prefetch_value() for filsys_id */
6643 "add_filesys",
6644 "afil",
6645 2,
6646 MR_Q_APPEND,
6647 "fs",
6648 FILESYS_TABLE,
6649 "INTO filesys (label, type, mach_id, name, mount, rwaccess, comments, owner, owners, createflg, lockertype, filsys_id) VALUES ('%s', '%s', %d, NVL('%s', CHR(0)), NVL('%s', CHR(0)), '%s', NVL('%s', CHR(0)), %d, %d, %s, '%s', %s)",
6650 afil_fields,
6651 11,
6652 0,
6653 0,
6654 NULL,
6655 &afil_validate,
6656 },
6657
6658 {
6659 /* Q_UFIL - UPDATE_FILESYS */
6660 "update_filesys",
6661 "ufil",
6662 2,
6663 MR_Q_UPDATE,
6664 "fs",
6665 FILESYS_TABLE,
6666 "filesys SET label = '%s', type = '%s', mach_id = %d, name = NVL('%s', CHR(0)), mount = NVL('%s', CHR(0)), rwaccess = '%s', comments = NVL('%s', CHR(0)), owner = %d, owners = %d, createflg = %s, lockertype = '%s'",
6667 ufil_fields,
6668 11,
6669 "filsys_id = %d",
6670 1,
6671 NULL,
6672 &ufil_validate,
6673 },
6674
6675 {
6676 /* Q_DFIL - DELETE_FILESYS */
6677 "delete_filesys",
6678 "dfil",
6679 2,
6680 MR_Q_DELETE,
6681 "fs",
6682 FILESYS_TABLE,
6683 NULL,
6684 dfil_fields,
6685 0,
6686 "filsys_id = %d",
6687 1,
6688 NULL,
6689 &dfil_validate,
6690 },
6691
6692 {
6693 /* Q_GFGM - GET_FSGROUP_MEMBERS */
6694 "get_fsgroup_members",
6695 "gfgm",
6696 2,
6697 MR_Q_RETRIEVE,
6698 "fg",
6699 FSGROUP_TABLE,
6700 "fs.label, fg.key FROM fsgroup fg, filesys fs",
6701 gfgm_fields,
6702 2,
6703 "fg.group_id = %d AND fs.filsys_id = fg.filsys_id",
6704 1,
6705 "fs.label, fg.key",
6706 &gfgm_validate,
6707 },
6708
6709 {
6710 /* Q_AFTG - ADD_FILESYS_TO_FSGROUP */
6711 "add_filesys_to_fsgroup",
6712 "aftg",
6713 2,
6714 MR_Q_APPEND,
6715 "fg",
6716 FSGROUP_TABLE,
6717 "INTO fsgroup (group_id, filsys_id, key) VALUES (%d, %d, '%s')",
6718 gfgm_fields,
6719 3,
6720 NULL,
6721 0,
6722 NULL,
6723 &aftg_validate,
6724 },
6725
6726 {
6727 /* Q_RFFG - REMOVE_FILESYS_FROM_FSGROUP */
6728 "remove_filesys_from_fsgroup",
6729 "rffg",
6730 2,
6731 MR_Q_DELETE,
6732 "fg",
6733 FSGROUP_TABLE,
6734 NULL,
6735 gfgm_fields,
6736 0,
6737 "group_id = %d AND filsys_id = %d",
6738 2,
6739 NULL,
6740 &aftg_validate,
6741 },
6742
6743 {
6744 /* Q_GANF - GET_ALL_NFSPHYS */
6745 "get_all_nfsphys",
6746 "ganf",
6747 2,
6748 MR_Q_RETRIEVE,
6749 "np",
6750 NFSPHYS_TABLE,
6751 "m.name, np.dir, np.device, np.status, np.allocated, np.partsize, TO_CHAR(np.modtime, 'DD-mon-YYYY HH24:MI:SS'), np.modby, np.modwith FROM nfsphys np, machine m",
6752 ganf_fields,
6753 9,
6754 "m.mach_id = np.mach_id",
6755 0,
6756 "m.name, np.dir",
6757 &VDfix_modby,
6758 },
6759
6760 {
6761 /* Q_GNFP - GET_NFSPHYS */
6762 "get_nfsphys",
6763 "gnfp",
6764 2,
6765 MR_Q_RETRIEVE,
6766 "np",
6767 NFSPHYS_TABLE,
6768 "m.name, np.dir, np.device, np.status, np.allocated, np.partsize, TO_CHAR(np.modtime, 'DD-mon-YYYY HH24:MI:SS'), np.modby, np.modwith FROM nfsphys np, machine m",
6769 gnfp_fields,
6770 9,
6771 "np.mach_id = %d AND np.dir LIKE '%s' AND m.mach_id = np.mach_id",
6772 2,
6773 "m.name, np.dir",
6774 &gnfp_validate,
6775 },
6776
6777 {
6778 /* Q_ANFP - ADD_NFSPHYS */ /* uses prefetch_value() for nfsphys_id */
6779 "add_nfsphys",
6780 "anfp",
6781 2,
6782 MR_Q_APPEND,
6783 "np",
6784 NFSPHYS_TABLE,
6785 "INTO nfsphys (mach_id, dir, device, status, allocated, partsize, nfsphys_id) VALUES (%d, '%s', NVL('%s', CHR(0)), %s, %s, %s, %s)",
6786 ganf_fields,
6787 6,
6788 0,
6789 0,
6790 NULL,
6791 &anfp_validate,
6792 },
6793
6794 {
6795 /* Q_UNFP - UPDATE_NFSPHYS */
6796 "update_nfsphys",
6797 "unfp",
6798 2,
6799 MR_Q_UPDATE,
6800 "np",
6801 NFSPHYS_TABLE,
6802 "nfsphys SET device = NVL('%s', CHR(0)), status = %s, allocated = %s, partsize = %s",
6803 ganf_fields,
6804 4,
6805 "mach_id = %d AND dir = '%s'",
6806 2,
6807 NULL,
6808 &unfp_validate,
6809 },
6810
6811 {
6812 /* Q_AJNF - ADJUST_NFSPHYS_ALLOCATION */
6813 "adjust_nfsphys_allocation",
6814 "ajnf",
6815 2,
6816 MR_Q_UPDATE,
6817 "np",
6818 NFSPHYS_TABLE,
6819 "nfsphys SET allocated = allocated + %s",
6820 ajnf_fields,
6821 1,
6822 "mach_id = %d AND dir = '%s'",
6823 2,
6824 NULL,
6825 &ajnf_validate,
6826 },
6827
6828 {
6829 /* Q_DNFP - DELETE_NFSPHYS */
6830 "delete_nfsphys",
6831 "dnfp",
6832 2,
6833 MR_Q_DELETE,
6834 "np",
6835 NFSPHYS_TABLE,
6836 NULL,
6837 dnfp_fields,
6838 0,
6839 "mach_id = %d AND dir = '%s'",
6840 2,
6841 NULL,
6842 &dnfp_validate,
6843 },
6844
6845 {
6846 /* Q_GQOT - GET_QUOTA */
6847 "get_quota",
6848 "gqot",
6849 2,
6850 MR_Q_RETRIEVE,
6851 "q",
6852 QUOTA_TABLE,
6853 "fs.label, q.type, q.entity_id, q.quota, q.phys_id, m.name, TO_CHAR(q.modtime, 'DD-mon-YYYY HH24:MI:SS'), q.modby, q.modwith FROM quota q, filesys fs, machine m",
6854 gqot_fields,
6855 9,
6856 "fs.label LIKE '%s' AND q.type = '%s' AND q.entity_id = %d AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
6857 3,
6858 NULL,
6859 &gqot_validate,
6860 },
6861
6862 {
6863 /* Q_GQBF - GET_QUOTA_BY_FILESYS */
6864 "get_quota_by_filesys",
6865 "gqbf",
6866 2,
6867 MR_Q_RETRIEVE,
6868 "q",
6869 QUOTA_TABLE,
6870 "fs.label, q.type, q.entity_id, q.quota, q.phys_id, m.name, TO_CHAR(q.modtime, 'DD-mon-YYYY HH24:MI:SS'), q.modby, q.modwith FROM quota q, filesys fs, machine m",
6871 gqbf_fields,
6872 9,
6873 "fs.label LIKE '%s' AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
6874 1,
6875 "fs.label, q.type",
6876 &gqbf_validate,
6877 },
6878
6879 {
6880 /* Q_AQOT - ADD_QUOTA */ /* prefetch_filsys() gets last 1 value */
6881 "add_quota",
6882 "aqot",
6883 2,
6884 MR_Q_APPEND,
6885 0,
6886 QUOTA_TABLE,
6887 "INTO quota (filsys_id, type, entity_id, quota, phys_id) VALUES ('%s', %d, %d, %s, %s)",
6888 aqot_fields,
6889 4,
6890 NULL,
6891 0,
6892 NULL,
6893 &aqot_validate,
6894 },
6895
6896 {
6897 /* Q_UQOT - UPDATE_QUOTA */
6898 "update_quota",
6899 "uqot",
6900 2,
6901 MR_Q_UPDATE,
6902 0,
6903 QUOTA_TABLE,
6904 "quota SET quota = %s",
6905 aqot_fields,
6906 1,
6907 0,
6908 3,
6909 NULL,
6910 &uqot_validate,
6911 },
6912
6913 {
6914 /* Q_DQOT - DELETE_QUOTA */
6915 "delete_quota",
6916 "dqot",
6917 2,
6918 MR_Q_DELETE,
6919 0,
6920 QUOTA_TABLE,
6921 NULL,
6922 aqot_fields,
6923 0,
6924 0,
6925 3,
6926 NULL,
6927 &dqot_validate,
6928 },
6929
6930 {
6931 /* Q_GNFQ - GET_NFS_QUOTAS */
6932 "get_nfs_quota",
6933 "gnfq",
6934 2,
6935 MR_Q_RETRIEVE,
6936 "q",
6937 QUOTA_TABLE,
6938 "fs.label, u.login, q.quota, q.phys_id, m.name, TO_CHAR(q.modtime, 'DD-mon-YYYY HH24:MI:SS'), q.modby, q.modwith FROM quota q, filesys fs, users u, machine m",
6939 gnfq_fields,
6940 8,
6941 "fs.label LIKE '%s' AND q.type = 'USER' AND q.entity_id = u.users_id AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id AND u.login = '%s'",
6942 2,
6943 "fs.label, u.login",
6944 &gnfq_validate,
6945 },
6946
6947 {
6948 /* Q_GNQP - GET_NFS_QUOTAS_BY_PARTITION */
6949 "get_nfs_quotas_by_partition",
6950 "gnqp",
6951 2,
6952 MR_Q_RETRIEVE,
6953 "q",
6954 QUOTA_TABLE,
6955 "fs.label, u.login, q.quota, np.dir, m.name FROM quota q, filesys fs, users u, nfsphys np, machine m",
6956 gnqp_fields,
6957 5,
6958 "np.mach_id = %d AND np.dir LIKE '%s' AND q.phys_id = np.nfsphys_id AND fs.filsys_id = q.filsys_id AND q.type = 'USER' AND u.users_id = q.entity_id AND m.mach_id = np.mach_id",
6959 2,
6960 "fs.label",
6961 NULL,
6962 },
6963
6964 {
6965 /* Q_ANFQ - ADD_NFS_QUOTA */ /* prefetch_filsys() gets last 1 value */
6966 "add_nfs_quota",
6967 "anfq",
6968 2,
6969 MR_Q_APPEND,
6970 0,
6971 QUOTA_TABLE,
6972 "INTO quota (type, filsys_id, entity_id, quota, phys_id ) VALUES ('USER', %d, %d, %s, %s)",
6973 anfq_fields,
6974 3,
6975 NULL,
6976 0,
6977 NULL,
6978 &anfq_validate,
6979 },
6980
6981 {
6982 /* Q_UNFQ - UPDATE_NFS_QUOTA */
6983 "update_nfs_quota",
6984 "unfq",
6985 2,
6986 MR_Q_UPDATE,
6987 0,
6988 QUOTA_TABLE,
6989 "quota SET quota = %s",
6990 anfq_fields,
6991 1,
6992 0,
6993 2,
6994 NULL,
6995 &unfq_validate,
6996 },
6997
6998 {
6999 /* Q_DNFQ - DELETE_NFS_QUOTA */
7000 "delete_nfs_quota",
7001 "dnfq",
7002 2,
7003 MR_Q_DELETE,
7004 0,
7005 QUOTA_TABLE,
7006 NULL,
7007 anfq_fields,
7008 0,
7009 0,
7010 2,
7011 NULL,
7012 &dnfq_validate,
7013 },
7014
7015 {
7016 /* Q_GZCL - GET_ZEPHYR_CLASS, v2 */
7017 "get_zephyr_class",
7018 "gzcl",
7019 2,
7020 MR_Q_RETRIEVE,
7021 "z",
7022 ZEPHYR_TABLE,
7023 "class, xmt_type, xmt_id, sub_type, sub_id, iws_type, iws_id, iui_type, iui_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM zephyr",
7024 gzcl2_fields,
7025 12,
7026 "class LIKE '%s'",
7027 1,
7028 "class",
7029 &gzcl_validate,
7030 },
7031
7032 {
7033 /* Q_GZCL - GET_ZEPHYR_CLASS, v5 */
7034 "get_zephyr_class",
7035 "gzcl",
7036 5,
7037 MR_Q_RETRIEVE,
7038 "z",
7039 ZEPHYR_TABLE,
7040 "class, xmt_type, xmt_id, sub_type, sub_id, iws_type, iws_id, iui_type, iui_id, owner_type, owner_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM zephyr",
7041 gzcl_fields,
7042 14,
7043 "class LIKE '%s'",
7044 1,
7045 "class",
7046 &gzcl_validate,
7047 },
7048
7049 {
7050 /* Q_AZCL - ADD_ZEPHYR_CLASS, v2 */
7051 "add_zephyr_class",
7052 "azcl",
7053 2,
7054 MR_Q_APPEND,
7055 "z",
7056 ZEPHYR_TABLE,
7057 "INTO zephyr (class, xmt_type, xmt_id, sub_type, sub_id, iws_type, iws_id, iui_type, iui_id) VALUES ('%s', '%s', %d, '%s', %d, '%s', %d, '%s', %d)",
7058 azcl2_fields,
7059 9,
7060 0,
7061 0,
7062 NULL,
7063 &azcl2_validate,
7064 },
7065
7066 {
7067 /* Q_AZCL - ADD_ZEPHYR_CLASS, v5 */
7068 "add_zephyr_class",
7069 "azcl",
7070 5,
7071 MR_Q_APPEND,
7072 "z",
7073 ZEPHYR_TABLE,
7074 "INTO zephyr (class, xmt_type, xmt_id, sub_type, sub_id, iws_type, iws_id, iui_type, iui_id, owner_type, owner_id) VALUES ('%s', '%s', %d, '%s', %d, '%s', %d, '%s', %d, '%s', %d)",
7075 azcl_fields,
7076 11,
7077 0,
7078 0,
7079 NULL,
7080 &azcl_validate,
7081 },
7082
7083 {
7084 /* Q_UZCL - UPDATE_ZEPHYR_CLASS, v2 */
7085 "update_zephyr_class",
7086 "uzcl",
7087 2,
7088 MR_Q_UPDATE,
7089 "z",
7090 ZEPHYR_TABLE,
7091 "zephyr SET class = '%s', xmt_type = '%s', xmt_id = %d, sub_type = '%s', sub_id = %d, iws_type = '%s', iws_id = %d, iui_type = '%s', iui_id = %d",
7092 uzcl2_fields,
7093 9,
7094 "class = '%s'",
7095 1,
7096 NULL,
7097 &uzcl2_validate,
7098 },
7099
7100 {
7101 /* Q_UZCL - UPDATE_ZEPHYR_CLASS, v5 */
7102 "update_zephyr_class",
7103 "uzcl",
7104 5,
7105 MR_Q_UPDATE,
7106 "z",
7107 ZEPHYR_TABLE,
7108 "zephyr SET class = '%s', xmt_type = '%s', xmt_id = %d, sub_type = '%s', sub_id = %d, iws_type = '%s', iws_id = %d, iui_type = '%s', iui_id = %d, owner_type = '%s', owner_id = %d",
7109 uzcl_fields,
7110 11,
7111 "class = '%s'",
7112 1,
7113 NULL,
7114 &uzcl_validate,
7115 },
7116
7117 {
7118 /* Q_DZCL - DELETE_ZEPHYR_CLASS */
7119 "delete_zephyr_class",
7120 "dzcl",
7121 2,
7122 MR_Q_DELETE,
7123 "z",
7124 ZEPHYR_TABLE,
7125 0,
7126 uzcl_fields,
7127 0,
7128 "class = '%s'",
7129 1,
7130 NULL,
7131 &dzcl_validate,
7132 },
7133
7134 {
7135 /* Q_GSHA - GET_SERVER_HOST_ACCESS */
7136 "get_server_host_access",
7137 "gsha",
7138 2,
7139 MR_Q_RETRIEVE,
7140 "ha",
7141 HOSTACCESS_TABLE,
7142 "m.name, ha.acl_type, ha.acl_id, TO_CHAR(ha.modtime, 'DD-mon-YYYY HH24:MI:SS'), ha.modby, ha.modwith FROM hostaccess ha, machine m",
7143 gsha_fields,
7144 6,
7145 "m.name LIKE UPPER('%s') AND ha.mach_id = m.mach_id",
7146 1,
7147 "m.name",
7148 &gsha_validate,
7149 },
7150
7151 {
7152 /* Q_ASHA - ADD_SERVER_HOST_ACCESS */
7153 "add_server_host_access",
7154 "asha",
7155 2,
7156 MR_Q_APPEND,
7157 "ha",
7158 HOSTACCESS_TABLE,
7159 "INTO hostaccess (mach_id, acl_type, acl_id) VALUES (%d, '%s', %d)",
7160 asha_fields,
7161 3,
7162 0,
7163 0,
7164 NULL,
7165 &asha_validate,
7166 },
7167
7168 {
7169 /* Q_USHA - UPDATE_SERVER_HOST_ACCESS */
7170 "update_server_host_access",
7171 "usha",
7172 2,
7173 MR_Q_UPDATE,
7174 "ha",
7175 HOSTACCESS_TABLE,
7176 "hostaccess SET acl_type = '%s', acl_id = %d",
7177 asha_fields,
7178 2,
7179 "mach_id = %d",
7180 1,
7181 NULL,
7182 &asha_validate,
7183 },
7184
7185 {
7186 /* Q_DSHA - DELETE_SERVER_HOST_ACCESS */
7187 "delete_server_host_access",
7188 "dsha",
7189 2,
7190 MR_Q_DELETE,
7191 "ha",
7192 HOSTACCESS_TABLE,
7193 0,
7194 asha_fields,
7195 0,
7196 "mach_id = %d",
7197 1,
7198 NULL,
7199 &VDmach,
7200 },
7201
7202 {
7203 /* Q_GACL - GET_ACL */
7204 "get_acl",
7205 "gacl",
7206 2,
7207 MR_Q_RETRIEVE,
7208 "ac",
7209 ACL_TABLE,
7210 "m.name, ac.target, ac.kind, l.name FROM acl ac, machine m, list l",
7211 gacl_fields,
7212 4,
7213 "m.mach_id = %d AND m.mach_id = ac.mach_id AND ac.target LIKE '%s' AND l.list_id = ac.list_id",
7214 2,
7215 "m.name, ac.target, ac.kind",
7216 &gacl_validate,
7217 },
7218
7219 {
7220 /* Q_AACL - ADD_ACL */
7221 "add_acl",
7222 "aacl",
7223 2,
7224 MR_Q_APPEND,
7225 "ac",
7226 ACL_TABLE,
7227 "INTO acl (mach_id, target, kind, list_id) VALUES (%d, '%s', '%s', %d)",
7228 aacl_fields,
7229 4,
7230 0,
7231 0,
7232 NULL,
7233 &aacl_validate,
7234 },
7235
7236 {
7237 /* Q_DACL - DELETE_ACL */
7238 "delete_acl",
7239 "dacl",
7240 2,
7241 MR_Q_DELETE,
7242 "ac",
7243 ACL_TABLE,
7244 0,
7245 dacl_fields,
7246 0,
7247 "mach_id = %d AND target = '%s'",
7248 2,
7249 NULL,
7250 &gacl_validate,
7251 },
7252
7253 {
7254 /* Q_GSVC - GET_SERVICE */
7255 "get_service",
7256 "gsvc",
7257 2,
7258 MR_Q_RETRIEVE,
7259 "ss",
7260 SERVICES_TABLE,
7261 "name, protocol, port, description, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM services",
7262 gsvc_fields,
7263 7,
7264 "name LIKE '%s' AND protocol LIKE '%s'",
7265 2,
7266 "name",
7267 &VDfix_modby,
7268 },
7269
7270 {
7271 /* Q_ASVC - ADD_SERVICE */
7272 "add_service",
7273 "asvc",
7274 2,
7275 MR_Q_APPEND,
7276 "ss",
7277 SERVICES_TABLE,
7278 "INTO services (name, protocol, port, description) VALUES ('%s', '%s', %s, NVL('%s', CHR(0)))",
7279 asvc_fields,
7280 4,
7281 NULL,
7282 0,
7283 NULL,
7284 &asvc_validate,
7285 },
7286
7287 {
7288 /* Q_DSVC - DELETE_SERVICE */
7289 "delete_service",
7290 "dsvc",
7291 2,
7292 MR_Q_DELETE,
7293 "ss",
7294 SERVICES_TABLE,
7295 0,
7296 dsvc_fields,
7297 0,
7298 "name = '%s' AND protocol = '%s'",
7299 2,
7300 NULL,
7301 &dsvc_validate,
7302 },
7303
7304 {
7305 /* Q_GPRN - GET_PRINTER */
7306 "get_printer",
7307 "gprn",
7308 2,
7309 MR_Q_RETRIEVE,
7310 "pr",
7311 PRINTERS_TABLE,
7312 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
7313 gprn_fields,
7314 19,
7315 "pr.name LIKE '%s' AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
7316 1,
7317 "pr.name",
7318 &VDfix_modby,
7319 },
7320
7321 {
7322 /* Q_GPBD - GET_PRINTER_BY_DUPLEXNAME */
7323 "get_printer_by_duplexname",
7324 "gpbd",
7325 2,
7326 MR_Q_RETRIEVE,
7327 "pr",
7328 PRINTERS_TABLE,
7329 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
7330 gpbd_fields,
7331 19,
7332 "pr.duplexname LIKE '%s' AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
7333 1,
7334 "pr.name",
7335 &VDfix_modby,
7336 },
7337
7338 {
7339 /* Q_GPBE - GET_PRINTER_BY_ETHERNET */
7340 "get_printer_by_ethernet",
7341 "gpbe",
7342 2,
7343 MR_Q_RETRIEVE,
7344 "pr",
7345 PRINTERS_TABLE,
7346 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
7347 gpbd_fields,
7348 19,
7349 "m1.hwaddr LIKE LOWER('%s') AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
7350 1,
7351 "pr.name",
7352 &VDfix_modby,
7353 },
7354
7355 {
7356 /* Q_GPBH - GET_PRINTER_BY_HOSTNAME */
7357 "get_printer_by_hostname",
7358 "gpbh",
7359 2,
7360 MR_Q_RETRIEVE,
7361 "pr",
7362 PRINTERS_TABLE,
7363 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
7364 gpbh_fields,
7365 19,
7366 "m1.name LIKE UPPER('%s') AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
7367 1,
7368 "pr.name",
7369 &VDfix_modby,
7370 },
7371
7372 {
7373 /* Q_GPBR - GET_PRINTER_BY_RM */
7374 "get_printer_by_rm",
7375 "gpbr",
7376 2,
7377 MR_Q_RETRIEVE,
7378 "pr",
7379 PRINTERS_TABLE,
7380 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
7381 gpbr_fields,
7382 19,
7383 "m3.name LIKE UPPER('%s') AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
7384 1,
7385 "pr.name",
7386 &VDfix_modby,
7387 },
7388
7389 {
7390 /* Q_GPBL - GET_PRINTER_BY_LOCATION */
7391 "get_printer_by_location",
7392 "gpbl",
7393 2,
7394 MR_Q_RETRIEVE,
7395 "pr",
7396 PRINTERS_TABLE,
7397 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
7398 gpbl_fields,
7399 19,
7400 "UPPER(pr.location) LIKE UPPER('%s') AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
7401 1,
7402 "pr.name",
7403 &VDfix_modby,
7404 },
7405
7406 {
7407 /* Q_GPBC - GET_PRINTER_BY_CONTACT */
7408 "get_printer_by_contact",
7409 "gpbc",
7410 2,
7411 MR_Q_RETRIEVE,
7412 "pr",
7413 PRINTERS_TABLE,
7414 "pr.name, pr.type, pr.hwtype, pr.duplexname, m1.name, m2.name, m3.name, pr.rp, m4.name, pr.ka, pr.pc, l1.name, l2.name, pr.banner, pr.location, pr.contact, TO_CHAR(pr.modtime, 'DD-mon-YYYY HH24:MI:SS'), pr.modby, pr.modwith FROM printers pr, machine m1, machine m2, machine m3, machine m4, list l1, list l2",
7415 gpbc_fields,
7416 19,
7417 "UPPER(pr.contact) LIKE UPPER('%s') AND m1.mach_id = pr.mach_id AND m2.mach_id = pr.loghost AND m3.mach_id = pr.rm AND m4.mach_id = pr.rq AND l1.list_id = pr.ac AND l2.list_id = pr.lpc_acl",
7418 1,
7419 "pr.name",
7420 &VDfix_modby,
7421 },
7422
7423 {
7424 /* Q_APRN - ADD_PRINTER */
7425 "add_printer",
7426 "aprn",
7427 2,
7428 MR_Q_APPEND,
7429 "pr",
7430 PRINTERS_TABLE,
7431 "INTO printers (name, type, hwtype, duplexname, mach_id, loghost, rm, rp, rq, ka, pc, ac, lpc_acl, banner, location, contact) VALUES ('%s', '%s', '%s', NVL('%s', CHR(0)), %d, %d, %d, NVL('%s', CHR(0)), %d, %s, %s, %d, %d, %s, NVL('%s', CHR(0)), NVL('%s', CHR(0)))",
7432 aprn_fields,
7433 16,
7434 0,
7435 0,
7436 NULL,
7437 &aprn_validate,
7438 },
7439
7440 {
7441 /* Q_UPRN - UPDATE_PRINTER */
7442 "update_printer",
7443 "uprn",
7444 2,
7445 MR_Q_UPDATE,
7446 "pr",
7447 PRINTERS_TABLE,
7448 "printers SET name = '%s', type = '%s', hwtype = '%s', duplexname = NVL('%s', CHR(0)), mach_id = %d, loghost = %d, rm = %d, rp = NVL('%s', CHR(0)), rq = %d, ka = %s, pc = %s, ac = %d, lpc_acl = %d, banner = %s, location = NVL('%s', CHR(0)), contact = NVL('%s', CHR(0))",
7449 uprn_fields,
7450 16,
7451 "name = '%s'",
7452 1,
7453 NULL,
7454 &uprn_validate,
7455 },
7456
7457 {
7458 /* Q_DPRN - DELETE_PRINTER */
7459 "delete_printer",
7460 "dprn",
7461 2,
7462 MR_Q_DELETE,
7463 "pr",
7464 PRINTERS_TABLE,
7465 0,
7466 aprn_fields,
7467 0,
7468 "name = '%s'",
7469 1,
7470 NULL,
7471 &dprn_validate,
7472 },
7473
7474 {
7475 /* Q_GPSV - GET_PRINT_SERVER */
7476 "get_print_server",
7477 "gpsv",
7478 2,
7479 MR_Q_RETRIEVE,
7480 "ps",
7481 PRINTSERVERS_TABLE,
7482 "m.name, ps.kind, s.string, ps.owner_type, ps.owner_id, l.name, TO_CHAR(ps.modtime, 'DD-mon-YYYY HH24:MI:SS'), ps.modby, ps.modwith FROM printservers ps, machine m, strings s, list l",
7483 gpsv_fields,
7484 9,
7485 "ps.mach_id = %d AND m.mach_id = ps.mach_id AND s.string_id = ps.printer_types AND l.list_id = ps.lpc_acl",
7486 1,
7487 NULL,
7488 &gpsv_validate,
7489 },
7490
7491 {
7492 /* Q_APSV - ADD_PRINT_SERVER */
7493 "add_print_server",
7494 "apsv",
7495 2,
7496 MR_Q_APPEND,
7497 "ps",
7498 PRINTSERVERS_TABLE,
7499 "INTO printservers (mach_id, kind, printer_types, owner_type, owner_id, lpc_acl) VALUES (%d, '%s', %d, '%s', %d, %d)",
7500 apsv_fields,
7501 6,
7502 0,
7503 0,
7504 NULL,
7505 &apsv_validate,
7506 },
7507
7508 {
7509 /* Q_UPSV - UPDATE_PRINT_SERVER */
7510 "update_print_server",
7511 "upsv",
7512 2,
7513 MR_Q_UPDATE,
7514 "ps",
7515 PRINTSERVERS_TABLE,
7516 "printservers SET kind = '%s', printer_types = %d, owner_type = '%s', owner_id = %d, lpc_acl = %d",
7517 apsv_fields,
7518 5,
7519 "mach_id = %d",
7520 1,
7521 NULL,
7522 &apsv_validate,
7523 },
7524
7525 {
7526 /* Q_DPSV - DELETE_PRINT_SERVER */
7527 "delete_print_server",
7528 "dpsv",
7529 2,
7530 MR_Q_DELETE,
7531 "ps",
7532 PRINTSERVERS_TABLE,
7533 0,
7534 dpsv_fields,
7535 0,
7536 "mach_id = %d",
7537 1,
7538 NULL,
7539 &dpsv_validate,
7540 },
7541
7542 {
7543 /* Q_GALI - GET_ALIAS */
7544 "get_alias",
7545 "gali",
7546 2,
7547 MR_Q_RETRIEVE,
7548 "a",
7549 ALIAS_TABLE,
7550 "name, type, trans FROM alias",
7551 gali_fields,
7552 3,
7553 "name LIKE '%s' AND type LIKE '%s' AND trans LIKE '%s'",
7554 3,
7555 "type, name, trans",
7556 NULL,
7557 },
7558
7559 {
7560 /* Q_AALI - ADD_ALIAS */
7561 "add_alias",
7562 "aali",
7563 2,
7564 MR_Q_APPEND,
7565 "a",
7566 ALIAS_TABLE,
7567 "INTO alias (name, type, trans) VALUES ('%s', '%s', '%s')",
7568 aali_fields,
7569 3,
7570 NULL,
7571 0,
7572 NULL,
7573 &aali_validate,
7574 },
7575
7576 {
7577 /* Q_DALI - DELETE_ALIAS */
7578 "delete_alias",
7579 "dali",
7580 2,
7581 MR_Q_DELETE,
7582 "a",
7583 ALIAS_TABLE,
7584 NULL,
7585 aali_fields,
7586 0,
7587 "name = '%s' AND type = '%s' AND trans = '%s'",
7588 3,
7589 NULL,
7590 &dali_validate,
7591 },
7592
7593 {
7594 /* Q_GVAL - GET_VALUE */
7595 "get_value",
7596 "gval",
7597 2,
7598 MR_Q_RETRIEVE,
7599 "val",
7600 NUMVALUES_TABLE,
7601 "value FROM numvalues",
7602 gval_fields,
7603 1,
7604 "name = '%s'",
7605 1,
7606 NULL,
7607 &gval_validate,
7608 },
7609
7610 {
7611 /* Q_AVAL - ADD_VALUE */
7612 "add_value",
7613 "aval",
7614 2,
7615 MR_Q_APPEND,
7616 "val",
7617 NUMVALUES_TABLE,
7618 "INTO numvalues (name, value) VALUES ('%s', %s)",
7619 aval_fields,
7620 2,
7621 NULL,
7622 0,
7623 NULL,
7624 &aval_validate,
7625 },
7626
7627 {
7628 /* Q_UVAL - UPDATE_VALUE */
7629 "update_value",
7630 "uval",
7631 2,
7632 MR_Q_UPDATE,
7633 "val",
7634 NUMVALUES_TABLE,
7635 "numvalues SET value = %s",
7636 aval_fields,
7637 1,
7638 "name = '%s'",
7639 1,
7640 NULL,
7641 &aval_validate,
7642 },
7643
7644 {
7645 /* Q_DVAL - DELETE_VALUE */
7646 "delete_value",
7647 "dval",
7648 2,
7649 MR_Q_DELETE,
7650 "val",
7651 NUMVALUES_TABLE,
7652 NULL,
7653 dval_fields,
7654 0,
7655 "name = '%s'",
7656 1,
7657 NULL,
7658 &aval_validate,
7659 },
7660
7661 {
7662 /* Q_GATS - GET_ALL_TABLE_STATS */
7663 "get_all_table_stats",
7664 "gats",
7665 2,
7666 MR_Q_RETRIEVE,
7667 "tbs",
7668 TBLSTATS_TABLE,
7669 "table_name, appends, updates, deletes, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS') FROM tblstats",
7670 gats_fields,
7671 5,
7672 NULL,
7673 0,
7674 "table_name",
7675 0,
7676 },
7677
7678 {
7679 /* Q__SDL - _SET_DEBUG_LEVEL */
7680 "_set_debug_level",
7681 "_sdl",
7682 2,
7683 MR_Q_UPDATE,
7684 NULL,
7685 0,
7686 NULL,
7687 _sdl_fields,
7688 1,
7689 NULL,
7690 0,
7691 NULL,
7692 &_sdl_validate,
7693 },
7694
7695 {
7696 /* Q_GCON - GET_CONTAINER, v7 */
7697 "get_container",
7698 "gcon",
7699 7,
7700 MR_Q_RETRIEVE,
7701 "c",
7702 CONTAINERS_TABLE,
7703 "name, description, location, contact, acl_type, acl_id, memacl_type, memacl_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM containers",
7704 gcon7_fields,
7705 11,
7706 "LOWER(name) LIKE LOWER('%s') AND cnt_id != 0",
7707 1,
7708 NULL,
7709 &gcon_validate,
7710 },
7711
7712 {
7713 /* Q_GCON - GET_CONTAINER, v9 */
7714 "get_container",
7715 "gcon",
7716 9,
7717 MR_Q_RETRIEVE,
7718 "c",
7719 CONTAINERS_TABLE,
7720 "name, publicflg, description, location, contact, acl_type, acl_id, memacl_type, memacl_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM containers",
7721 gcon_fields,
7722 12,
7723 "LOWER(name) LIKE LOWER('%s') AND cnt_id != 0",
7724 1,
7725 NULL,
7726 &gcon_validate,
7727 },
7728
7729 {
7730 /* Q_ACON - ADD_CONTAINER, v7 */ /* uses prefetch_value() for cnt_id */
7731 "add_container",
7732 "acon",
7733 7,
7734 MR_Q_APPEND,
7735 "c",
7736 CONTAINERS_TABLE,
7737 "INTO containers (name, description, location, contact, acl_type, acl_id, memacl_type, memacl_id, cnt_id) VALUES ('%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), '%s', %d, '%s', %d, %s)",
7738 acon7_fields,
7739 8,
7740 0,
7741 0,
7742 NULL,
7743 &acon7_validate,
7744 },
7745
7746 {
7747 /* Q_ACON - ADD_CONTAINER, v9 */ /* uses prefetch_value() for cnt_id */
7748 "add_container",
7749 "acon",
7750 9,
7751 MR_Q_APPEND,
7752 "c",
7753 CONTAINERS_TABLE,
7754 "INTO containers (name, publicflg, description, location, contact, acl_type, acl_id, memacl_type, memacl_id, cnt_id) VALUES ('%s', %s, NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), '%s', %d, '%s', %d, %s)",
7755 acon_fields,
7756 9,
7757 0,
7758 0,
7759 NULL,
7760 &acon_validate,
7761 },
7762
7763 {
7764 /* Q_UCON - UPDATE_CONTAINER, v7 */
7765 "update_container",
7766 "ucon",
7767 7,
7768 MR_Q_UPDATE,
7769 0,
7770 CONTAINERS_TABLE,
7771 0,
7772 ucon7_fields,
7773 8,
7774 0,
7775 1,
7776 NULL,
7777 &ucon7_validate,
7778 },
7779
7780 {
7781 /* Q_UCON - UPDATE_CONTAINER, v9 */
7782 "update_container",
7783 "ucon",
7784 9,
7785 MR_Q_UPDATE,
7786 0,
7787 CONTAINERS_TABLE,
7788 0,
7789 ucon_fields,
7790 9,
7791 0,
7792 1,
7793 NULL,
7794 &ucon_validate,
7795 },
7796
7797 {
7798 /* Q_DCON - DELETE_CONTAINER, v7 */
7799 "delete_container",
7800 "dcon",
7801 7,
7802 MR_Q_DELETE,
7803 "c",
7804 CONTAINERS_TABLE,
7805 NULL,
7806 dcon_fields,
7807 0,
7808 "cnt_id = %d",
7809 1,
7810 NULL,
7811 &dcon_validate,
7812 },
7813
7814 {
7815 /* Q_AMCN - ADD_MACHINE_TO_CONTAINER, v7 */
7816 "add_machine_to_container",
7817 "amcn",
7818 7,
7819 MR_Q_APPEND,
7820 "mcn",
7821 MCNTMAP_TABLE,
7822 "INTO mcntmap (mach_id, cnt_id) VALUES (%d, %d)",
7823 amcn_fields,
7824 2,
7825 0,
7826 0,
7827 NULL,
7828 &amcn_validate,
7829 },
7830
7831 {
7832 /* Q_DMCN - DELETE_MACHINE_FROM_CONTAINER, v7 */
7833 "delete_machine_from_container",
7834 "dmcn",
7835 7,
7836 MR_Q_DELETE,
7837 "mcn",
7838 MCNTMAP_TABLE,
7839 0,
7840 amcn_fields,
7841 0,
7842 "mach_id = %d AND cnt_id = %d",
7843 2,
7844 NULL,
7845 &dmcn_validate,
7846 },
7847
7848 {
7849 /* Q_GMNM - GET_MACHINE_TO_CONTAINER_MAP, v7 */
7850 "get_machine_to_container_map",
7851 "gmnm",
7852 7,
7853 MR_Q_RETRIEVE,
7854 "mcn",
7855 MCNTMAP_TABLE,
7856 "m.name, c.name FROM machine m, containers c, mcntmap mcn",
7857 gmnm_fields,
7858 2,
7859 "m.name LIKE UPPER('%s') AND mcn.cnt_id = c.cnt_id AND mcn.mach_id = m.mach_id",
7860 1,
7861 NULL,
7862 NULL,
7863 },
7864
7865 {
7866 /* Q_GMOC - GET_MACHINES_OF_CONTAINER, v7 */
7867 "get_machines_of_container",
7868 "gmoc",
7869 7,
7870 MR_Q_RETRIEVE,
7871 NULL,
7872 MCNTMAP_TABLE,
7873 NULL,
7874 gmoc_fields,
7875 2,
7876 NULL,
7877 2,
7878 NULL,
7879 &gmoc_validate,
7880 },
7881
7882 {
7883 /* Q_GSOC - GET_SUBCONTAINERS_OF_CONTAINER, v7 */
7884 "get_subcontainers_of_container",
7885 "gsoc",
7886 7,
7887 MR_Q_RETRIEVE,
7888 NULL,
7889 CONTAINERS_TABLE,
7890 NULL,
7891 gsoc_fields,
7892 1,
7893 NULL,
7894 2,
7895 NULL,
7896 &gsoc_validate,
7897 },
7898
7899 {
7900 /* Q_GTLC - GET_TOPLEVEL_CONTAINERS, v7 */
7901 "get_toplevel_containers",
7902 "gtlc",
7903 7,
7904 MR_Q_RETRIEVE,
7905 "c",
7906 CONTAINERS_TABLE,
7907 "name FROM containers",
7908 gtlc_fields,
7909 1,
7910 "name NOT LIKE '%%/%%'",
7911 0,
7912 "name",
7913 NULL,
7914 },
7915
7916 {
7917 /* Q_SCLI - SET_CONTAINER_LIST, v9 */
7918 "set_container_list",
7919 "scli",
7920 9,
7921 MR_Q_UPDATE,
7922 0,
7923 CONTAINERS_TABLE,
7924 0,
7925 scli_fields,
7926 1,
7927 0,
7928 1,
7929 NULL,
7930 &scli_validate,
7931 },
7932
7933 {
7934 /* Q_GCLI - GET_CONTAINER_LIST, v9 */
7935 "get_container_list",
7936 "gcli",
7937 9,
7938 MR_Q_RETRIEVE,
7939 "c",
7940 CONTAINERS_TABLE,
7941 "c.name, l.name FROM containers c, list l",
7942 gcli_fields,
7943 2,
7944 "LOWER(c.name) = LOWER('%s') AND c.list_id = l.list_id AND c.list_id != 0",
7945 1,
7946 NULL,
7947 NULL,
7948 },
7949
7950 {
7951 /* G_GLIC - GET_LIST_CONTAINER, v9 */
7952 "get_list_container",
7953 "glic",
7954 9,
7955 MR_Q_RETRIEVE,
7956 "c",
7957 CONTAINERS_TABLE,
7958 "c.name, l.name FROM containers c, list l",
7959 glic_fields,
7960 2,
7961 "l.list_id = %d AND l.list_id = c.list_id and c.list_id != 0",
7962 1,
7963 NULL,
7964 &glic_validate,
7965 },
7966
7967};
7968
7969int QueryCount = (sizeof(Queries) / sizeof(struct query));
This page took 0.135739 seconds and 5 git commands to generate.