]> andersk Git - moira.git/blame - server/queries2.c
check for a mrcl_message even if status was MRCL_SUCCESS.
[moira.git] / server / queries2.c
CommitLineData
7ac48069 1/* $Id$
d33e787c 2 *
c44ddfa7 3 * This file defines the query dispatch table
d33e787c 4 *
7ac48069 5 * Copyright (C) 1987-1998 by the Massachusetts Institute of Technology.
c801de4c 6 * For copying and distribution information, please see the file
7 * <mit-copyright.h>.
d33e787c 8 */
9
c801de4c 10#include <mit-copyright.h>
03c05291 11#include "mr_server.h"
d33e787c 12#include "query.h"
d33e787c 13
7ac48069 14#include "mr_et.h"
d33e787c 15
d33e787c 16/* VALOBJS
17 * These are commonly used validation objects, defined here so that they
18 * can be shared.
19 */
20
d33e787c 21static struct valobj VOuser0[] = {
e2b8245f 22 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
d33e787c 23};
24
25static struct valobj VOmach0[] = {
e2b8245f 26 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
d33e787c 27};
28
29static struct valobj VOclu0[] = {
e2b8245f 30 {V_ID, 0, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
d33e787c 31};
32
d1b3a4bf 33static struct valobj VOsnet0[] = {
34 {V_ID, 0, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
35};
36
d33e787c 37static struct valobj VOlist0[] = {
e2b8245f 38 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
d33e787c 39};
40
d1b3a4bf 41static struct valobj VOfilesys0[] = {
42 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
43};
44
f802fd0d 45static struct valobj VOnum0[] = {
46 {V_NUM, 0},
d33e787c 47};
48
d33e787c 49/* Validations
50 * Commonly used validation records defined here so that they may
51 * be shared.
52 */
53
54static struct validate VDmach = { VOmach0, 1 };
263a36d4 55
29028043 56static struct validate VDfix_modby = {
57 0,
58 0,
0c345c78 59 0,
60 0,
61 0,
62 0,
63 0,
64 0,
65 followup_fix_modby,
d33e787c 66};
67
d33e787c 68/* Query data */
69
186dd63b 70static char *galo2_fields[] = {
e2b8245f 71 "login", "unix_uid", "shell", "last", "first", "middle",
d33e787c 72};
73
186dd63b 74static char *galo_fields[] = {
75 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
76};
77
78static char *gual2_fields[] = {
e2b8245f 79 "login",
80 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 81 "clearid", "class", "comments", "signature", "secure",
82 "modtime", "modby", "modwith",
4ffa124a 83};
0c345c78 84
186dd63b 85static char *gual_fields[] = {
86 "login",
87 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
88 "status", "clearid", "class", "comments", "signature", "secure",
89 "modtime", "modby", "modwith",
90};
91
92static char *gubl2_fields[] = {
e2b8245f 93 "login",
94 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 95 "clearid", "class", "modtime", "modby", "modwith",
d33e787c 96};
97
186dd63b 98static char *gubl_fields[] = {
99 "login",
100 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
101 "status", "clearid", "class", "modtime", "modby", "modwith",
102};
103
5eaef520 104static struct validate gubl_validate =
d33e787c 105{
263a36d4 106 0,
107 0,
d33e787c 108 0,
109 0,
110 0,
111 0,
112 access_login,
113 0,
d55429b2 114 followup_fix_modby,
d33e787c 115};
116
186dd63b 117static char *guau2_fields[] = {
e2b8245f 118 "unix_uid",
119 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 120 "clearid", "class", "comments", "signature", "secure",
121 "modtime", "modby", "modwith",
4ffa124a 122};
0c345c78 123
186dd63b 124static char *guau_fields[] = {
125 "unix_uid",
126 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
127 "status", "clearid", "class", "comments", "signature", "secure",
128 "modtime", "modby", "modwith",
129};
130
131static char *guan2_fields[] = {
e2b8245f 132 "first", "last",
133 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 134 "clearid", "class", "comments", "signature", "secure",
135 "modtime", "modby", "modwith",
4ffa124a 136};
0c345c78 137
186dd63b 138static char *guan_fields[] = {
139 "first", "last",
140 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
141 "status", "clearid", "class", "comments", "signature", "secure",
142 "modtime", "modby", "modwith",
143};
144
5eaef520 145static struct validate guan_validate =
60452f41 146{
263a36d4 147 0,
148 0,
60452f41 149 0,
150 0,
151 0,
152 0,
153 0,
154 0,
d55429b2 155 followup_fix_modby,
60452f41 156};
157
186dd63b 158static char *guac2_fields[] = {
e2b8245f 159 "class",
160 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 161 "clearid", "class", "comments", "signature", "secure",
162 "modtime", "modby", "modwith",
4ffa124a 163};
0c345c78 164
186dd63b 165static char *guac_fields[] = {
166 "class",
167 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
168 "status", "clearid", "class", "comments", "signature", "secure",
169 "modtime", "modby", "modwith",
170};
171
172static char *guam2_fields[] = {
e2b8245f 173 "clearid",
174 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 175 "clearid", "class", "comments", "signature", "secure",
176 "modtime", "modby", "modwith",
4ffa124a 177};
0c345c78 178
186dd63b 179static char *guam_fields[] = {
180 "clearid",
181 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
182 "status", "clearid", "class", "comments", "signature", "secure",
183 "modtime", "modby", "modwith",
184};
185
186static char *gubu2_fields[] = {
e2b8245f 187 "unix_uid",
188 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 189 "clearid", "class", "modtime", "modby", "modwith",
d33e787c 190};
191
186dd63b 192static char *gubu_fields[] = {
193 "unix_uid",
194 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
195 "status", "clearid", "class", "modtime", "modby", "modwith",
196};
197
5eaef520 198static struct validate gubu_validate =
f9f5c199 199{
f802fd0d 200 VOnum0,
201 1,
f9f5c199 202 0,
203 0,
204 0,
205 0,
206 access_login,
207 0,
208 followup_fix_modby,
209};
210
186dd63b 211static char *gubn2_fields[] = {
e2b8245f 212 "first", "last",
213 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 214 "clearid", "class", "modtime", "modby", "modwith",
d33e787c 215};
216
186dd63b 217static char *gubn_fields[] = {
218 "first", "last",
219 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
220 "status", "clearid", "class", "modtime", "modby", "modwith",
221};
222
99e09b48 223static struct validate gubn_validate =
224{
263a36d4 225 0,
226 0,
0c345c78 227 0,
228 0,
229 0,
230 0,
231 0,
232 0,
233 followup_fix_modby,
99e09b48 234};
235
186dd63b 236static char *gubc2_fields[] = {
e2b8245f 237 "class",
238 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 239 "clearid", "class", "modtime", "modby", "modwith",
d33e787c 240};
241
186dd63b 242static char *gubc_fields[] = {
243 "class",
244 "login", "unix_uid", "shell", "winconsoleshell", "last", "first", "middle",
245 "status", "clearid", "class", "modtime", "modby", "modwith",
246};
247
248static char *gubm2_fields[] = {
e2b8245f 249 "clearid",
250 "login", "unix_uid", "shell", "last", "first", "middle", "status",
8db06f75 251 "clearid", "class", "modtime", "modby", "modwith",
d33e787c 252};
253
186dd63b 254static char *gubm_fields[] = {
255 "clearid",
256 "login", "unix_uid", "shell", "winconsoleshell", "last", "first",
257 "middle", "status", "clearid", "class", "modtime", "modby", "modwith",
258};
259
260static char *auac2_fields[] = {
e2b8245f 261 "login", "unix_uid", "shell", "last", "first", "middle", "status",
262 "clearid", "class", "comments", "signature", "secure",
d33e787c 263};
264
186dd63b 265static char *auac_fields[] = {
266 "login", "unix_uid", "shell", "winconsoleshell", "last", "first",
267 "middle", "status", "clearid", "class", "comments", "signature", "secure",
268};
269
270static struct valobj auac2_valobj[] = {
e2b8245f 271 {V_CHAR, 0, USERS_TABLE, "login"},
f802fd0d 272 {V_NUM, 1},
e2b8245f 273 {V_CHAR, 2, USERS_TABLE, "shell"},
274 {V_CHAR, 3, USERS_TABLE, "last"},
275 {V_CHAR, 4, USERS_TABLE, "first"},
276 {V_CHAR, 5, USERS_TABLE, "middle"},
f802fd0d 277 {V_NUM, 6},
e2b8245f 278 {V_CHAR, 7, USERS_TABLE, "clearid"},
279 {V_TYPE, 8, 0, "class", 0, MR_BAD_CLASS},
03c05291 280 {V_ID, 9, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
9c45837e 281 {V_NUM, 11},
d33e787c 282};
283
186dd63b 284static struct valobj auac_valobj[] = {
285 {V_CHAR, 0, USERS_TABLE, "login"},
286 {V_NUM, 1},
287 {V_CHAR, 2, USERS_TABLE, "shell"},
288 {V_CHAR, 3, USERS_TABLE, "winconsoleshell"},
289 {V_CHAR, 4, USERS_TABLE, "last"},
290 {V_CHAR, 5, USERS_TABLE, "first"},
291 {V_CHAR, 6, USERS_TABLE, "middle"},
292 {V_NUM, 7},
293 {V_CHAR, 8, USERS_TABLE, "clearid"},
294 {V_TYPE, 9, 0, "class", 0, MR_BAD_CLASS},
295 {V_ID, 10, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
296 {V_NUM, 12},
297};
298
299static struct validate auac2_validate = {
300 auac2_valobj,
301 11,
302 "login",
303 "login = '%s'",
304 1,
305 "users_id",
306 0,
307 setup_ausr,
308 followup_ausr,
309};
310
4ffa124a 311static struct validate auac_validate = {
312 auac_valobj,
186dd63b 313 12,
314 "login",
315 "login = '%s'",
316 1,
317 "users_id",
318 0,
319 setup_ausr,
320 followup_ausr,
321};
322
323static struct validate ausr2_validate = {
324 auac2_valobj,
325 9,
e2b8245f 326 "login",
03c05291 327 "login = '%s'",
4ffa124a 328 1,
e2b8245f 329 "users_id",
4ffa124a 330 0,
331 setup_ausr,
332 followup_ausr,
333};
0c345c78 334
d33e787c 335static struct validate ausr_validate = {
4ffa124a 336 auac_valobj,
186dd63b 337 10,
e2b8245f 338 "login",
03c05291 339 "login = '%s'",
d33e787c 340 1,
e2b8245f 341 "users_id",
d33e787c 342 0,
343 setup_ausr,
344 followup_ausr,
345};
346
347static char *rusr_fields[] = {
b4bfb4d1 348 "unix_uid", "login", "pobox_type"
03c05291 349};
d33e787c 350
ba408d23 351static struct valobj rusr_valobj[] = {
f802fd0d 352 {V_NUM, 0},
8bf97744 353 {V_CHAR, 1, USERS_TABLE, "login"},
ba408d23 354};
355
d33e787c 356static struct validate rusr_validate = {
ba408d23 357 rusr_valobj,
b4bfb4d1 358 2,
d33e787c 359 0,
360 0,
361 0,
362 0,
363 0,
364 register_user,
365 0,
366};
367
186dd63b 368static char *uuac2_fields[] = {
e2b8245f 369 "login",
370 "newlogin", "unix_uid", "shell", "last", "first", "middle", "status",
371 "clearid", "class", "comments", "signature", "secure",
d33e787c 372};
373
186dd63b 374static char *uuac_fields[] = {
375 "login",
376 "newlogin", "unix_uid", "shell", "winconsoleshell", "last", "first",
377 "middle", "status", "clearid", "class", "comments", "signature", "secure",
378};
379
380static struct valobj uuac2_valobj[] = {
e2b8245f 381 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
382 {V_RENAME, 1, USERS_TABLE, "login", "users_id", MR_NOT_UNIQUE},
f802fd0d 383 {V_NUM, 2},
e2b8245f 384 {V_CHAR, 3, USERS_TABLE, "shell"},
385 {V_CHAR, 4, USERS_TABLE, "first"},
386 {V_CHAR, 5, USERS_TABLE, "last"},
387 {V_CHAR, 6, USERS_TABLE, "middle"},
f802fd0d 388 {V_NUM, 7},
e2b8245f 389 {V_CHAR, 8, USERS_TABLE, "clearid"},
390 {V_TYPE, 9, 0, "class", 0, MR_BAD_CLASS},
03c05291 391 {V_ID, 10, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
f802fd0d 392 {V_NUM, 12},
d33e787c 393};
186dd63b 394
395static struct valobj uuac_valobj[] = {
396 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
397 {V_RENAME, 1, USERS_TABLE, "login", "users_id", MR_NOT_UNIQUE},
398 {V_NUM, 2},
399 {V_CHAR, 3, USERS_TABLE, "shell"},
400 {V_CHAR, 4, USERS_TABLE, "winconsoleshell"},
401 {V_CHAR, 5, USERS_TABLE, "first"},
402 {V_CHAR, 6, USERS_TABLE, "last"},
403 {V_CHAR, 7, USERS_TABLE, "middle"},
404 {V_NUM, 8},
405 {V_CHAR, 9, USERS_TABLE, "clearid"},
406 {V_TYPE, 10, 0, "class", 0, MR_BAD_CLASS},
407 {V_ID, 11, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
408 {V_NUM, 13},
409};
410
411static struct validate uuac2_validate = {
412 uuac2_valobj,
413 12,
414 0,
415 0,
416 0,
417 "users_id",
418 0,
419 setup_ausr,
420 set_modtime_by_id,
421};
d33e787c 422
4ffa124a 423static struct validate uuac_validate = {
0c345c78 424 uuac_valobj,
186dd63b 425 13,
426 0,
427 0,
428 0,
429 "users_id",
430 0,
431 setup_ausr,
432 set_modtime_by_id,
433};
434
435static struct validate uusr2_validate = {
436 uuac2_valobj,
437 10,
0c345c78 438 0,
439 0,
440 0,
e2b8245f 441 "users_id",
0c345c78 442 0,
443 setup_ausr,
d55429b2 444 set_modtime_by_id,
4ffa124a 445};
0c345c78 446
d33e787c 447static struct validate uusr_validate = {
4ffa124a 448 uuac_valobj,
d1b3a4bf 449 11,
d33e787c 450 0,
451 0,
452 0,
e2b8245f 453 "users_id",
d33e787c 454 0,
4ffa124a 455 setup_ausr,
d33e787c 456 set_modtime_by_id,
457};
458
459static char *uush_fields[] = {
e2b8245f 460 "login",
461 "shell",
d33e787c 462};
463
03c05291 464static struct valobj uush_valobj[] = {
e2b8245f 465 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
466 {V_CHAR, 1, USERS_TABLE, "shell"},
03c05291 467};
468
d33e787c 469static struct validate uush_validate = {
03c05291 470 uush_valobj,
d1b3a4bf 471 2,
d33e787c 472 0,
473 0,
474 0,
e2b8245f 475 "users_id",
d33e787c 476 access_user,
477 0,
a39342a9 478 set_finger_modtime,
d33e787c 479};
480
29dbfca4 481static char *uuws_fields[] = {
482 "login",
483 "winconsoleshell",
484};
485
486static struct valobj uuws_valobj[] = {
487 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
488 {V_CHAR, 1, USERS_TABLE, "winconsoleshell"},
489};
490
491static struct validate uuws_validate = {
492 uuws_valobj,
493 2,
494 0,
495 0,
496 0,
497 "users_id",
498 access_user,
499 0,
500 set_finger_modtime,
501};
502
d33e787c 503static char *uust_fields[] = {
e2b8245f 504 "login",
505 "status",
d33e787c 506};
507
4ffa124a 508static char *uuss_fields[] = {
e2b8245f 509 "login",
510 "secure",
4ffa124a 511};
0c345c78 512
f802fd0d 513static struct valobj uust_valobj[] = {
f802fd0d 514 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
515 {V_NUM, 1},
516 {V_NUM, 2},
517};
518
d33e787c 519static struct validate uust_validate = {
f802fd0d 520 uust_valobj,
d1b3a4bf 521 2,
d33e787c 522 0,
523 0,
524 0,
e2b8245f 525 "users_id",
d33e787c 526 0,
527 0,
528 set_modtime_by_id,
529};
530
531static char *dusr_fields[] = {
e2b8245f 532 "login",
d33e787c 533};
534
535static struct validate dusr_validate = {
d1b3a4bf 536 VOuser0,
537 1,
d33e787c 538 0,
539 0,
540 0,
541 0,
542 0,
543 setup_dusr,
544 0,
545};
546
77eb4bdf 547static char *aurv_fields[] = {
548 "login", "reservation",
549};
550
551static struct validate aurv_validate = {
552 VOuser0,
553 1,
554 0,
555 0,
556 0,
557 "users_id",
558 0,
559 0,
560 do_user_reservation,
561};
562
563static char *gurv_fields[] = {
564 "login",
565 "reservation",
566};
567
568static struct validate gurv_validate = {
569 VOuser0,
570 1,
571 0,
572 0,
573 0,
574 0,
575 0,
576 0,
577 get_user_reservations,
578};
579
580static char *gubr_fields[] = {
581 "reservation",
582 "login",
583};
584
585static struct validate gubr_validate = {
586 0,
587 0,
588 0,
589 0,
590 0,
591 0,
592 0,
593 0,
594 get_user_by_reservation,
595};
596
e2b8245f 597static char *gkum_fields[] = { "login", "kerberos",
598 "login", "kerberos" };
012fc215 599
e2b8245f 600static char *akum_fields[] = { "login", "kerberos" };
012fc215 601
602static struct valobj akum_valobj[] =
603{
e2b8245f 604 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
03c05291 605 {V_ID, 1, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
012fc215 606};
607
608static struct validate akum_validate =
609{
0c345c78 610 akum_valobj,
d1b3a4bf 611 2,
e2b8245f 612 "users_id",
3e8c655c 613 "users_id = %d or string_id = %d",
0c345c78 614 2,
e2b8245f 615 "users_id",
0c345c78 616 access_user,
996ffd1d 617 0,
135dcb80 618 0,
619};
012fc215 620
621static struct validate dkum_validate =
622{
0c345c78 623 akum_valobj,
d1b3a4bf 624 2,
e2b8245f 625 "users_id",
3e8c655c 626 "users_id = %d and string_id = %d",
0c345c78 627 2,
e2b8245f 628 "users_id",
0c345c78 629 access_user,
630 0,
135dcb80 631 0,
632};
012fc215 633
d33e787c 634static char *gfbl_fields[] = {
e2b8245f 635 "login",
636 "login", "fullname", "nickname", "home_addr",
5eaef520 637 "home_phone", "office_addr", "office_phone", "department",
8db06f75 638 "affiliation", "modtime", "modby", "modwith",
d33e787c 639};
640
641static struct validate gfbl_validate = {
642 VOuser0,
643 1,
644 0,
645 0,
646 0,
647 0,
648 access_user,
649 0,
650 followup_fix_modby,
651};
652
653static char *ufbl_fields[] = {
e2b8245f 654 "login",
d33e787c 655 "fullname", "nickname", "home_addr",
5eaef520 656 "home_phone", "office_addr", "office_phone", "department",
4e5ec77f 657 "affiliation",
d33e787c 658};
659
03c05291 660static struct valobj ufbl_valobj[] = {
e2b8245f 661 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
03c05291 662 {V_LEN, 1, USERS_TABLE, "fullname"},
663 {V_LEN, 2, USERS_TABLE, "nickname"},
664 {V_LEN, 3, USERS_TABLE, "home_addr"},
665 {V_LEN, 4, USERS_TABLE, "home_phone"},
666 {V_LEN, 5, USERS_TABLE, "office_addr"},
667 {V_LEN, 6, USERS_TABLE, "office_phone"},
668 {V_LEN, 7, USERS_TABLE, "department"},
669 {V_LEN, 8, USERS_TABLE, "affiliation"},
670};
671
d33e787c 672static struct validate ufbl_validate = {
03c05291 673 ufbl_valobj,
d1b3a4bf 674 9,
d33e787c 675 0,
676 0,
677 0,
678 0,
679 access_user,
680 0,
681 set_finger_modtime,
682};
683
684static char *gpob_fields[] = {
e2b8245f 685 "login",
d6d830a1 686 "login", "type", "box", "address", "modtime", "modby", "modwith",
d33e787c 687};
688
689static struct validate gpob_validate = {
690 VOuser0,
691 1,
692 "potype",
5eaef520 693 "potype != 'NONE' and users_id = %d",
d33e787c 694 1,
695 0,
696 access_user,
697 0,
698 followup_gpob,
699};
700
701static char *gpox_fields[] = {
e2b8245f 702 "login", "type", "box",
d33e787c 703};
704
705static struct validate gpox_validate = {
d1b3a4bf 706 0,
707 0,
d33e787c 708 0,
709 0,
710 0,
711 0,
712 0,
713 0,
714 followup_gpob,
715};
716
717static char *spob_fields[] = {
e2b8245f 718 "login", "type", "box",
d33e787c 719};
720
721static struct valobj spob_valobj[] = {
e2b8245f 722 {V_ID, 0, USERS_TABLE, "login", "users_id", MR_USER},
03c05291 723 {V_TYPE, 1, 0, "pobox", 0, MR_TYPE},
d33e787c 724};
725
726static struct validate spob_validate = /* SET_POBOX */
727{
728 spob_valobj,
d1b3a4bf 729 2,
d33e787c 730 0,
731 0,
732 0,
733 0,
f659afb2 734 access_spob,
d33e787c 735 0,
736 set_pobox,
737};
738
739static struct validate spop_validate = /* SET_POBOX_POP */
740{
d1b3a4bf 741 VOuser0,
742 1,
d33e787c 743 0,
744 0,
745 0,
746 0,
747 access_user,
17cb3de8 748 0,
749 set_pobox_pop,
d33e787c 750};
751
752static struct validate dpob_validate = /* DELETE_POBOX */
753{
d1b3a4bf 754 VOuser0,
755 1,
d33e787c 756 0,
757 0,
758 0,
759 0,
760 access_user,
761 setup_dpob,
762 set_pobox_modtime,
763};
764
765static char *gmac_fields[] = {
e2b8245f 766 "name",
8db06f75 767 "name", "type", "modtime", "modby", "modwith",
d33e787c 768};
769
a66a2204 770static char *ghst_fields[] = {
e2b8245f 771 "name", "address", "location", "network",
8db06f75 772 "name", "vendor", "model", "os", "location", "contact", "use",
773 "status", "status_change", "network", "address", "ace_type",
774 "ace_name", "admin_comment", "ops_comment", "created", "creator",
775 "inuse", "modtime", "modby", "modwith",
d33e787c 776};
777
5eaef520 778static struct validate ghst_validate = {
263a36d4 779 0,
780 0,
a66a2204 781 0,
782 0,
783 0,
784 0,
785 access_host,
786 0,
787 followup_ghst,
788};
789
2884200f 790static char *ghha_fields[] = {
791 "name",
792 "hwaddr",
793};
794
a66a2204 795static char *ahst_fields[] = {
8db06f75 796 "name", "vendor", "model", "os", "location", "contact", "use",
797 "status", "subnet", "address", "ace_type", "ace_name",
798 "admin_comment", "ops_comment",
a66a2204 799};
800
801static struct valobj ahst_valobj[] = {
e2b8245f 802 {V_CHAR, 0, MACHINE_TABLE, "name"},
03c05291 803 {V_CHAR, 1, MACHINE_TABLE, "vendor"},
804 {V_CHAR, 2, MACHINE_TABLE, "model"},
805 {V_CHAR, 3, MACHINE_TABLE, "os"},
806 {V_CHAR, 4, MACHINE_TABLE, "location"},
807 {V_CHAR, 5, MACHINE_TABLE, "contact"},
f802fd0d 808 {V_NUM, 6},
809 {V_NUM, 7},
e2b8245f 810 {V_ID, 8, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
811 {V_TYPE, 10, 0, "ace_type", 0, MR_ACE},
a66a2204 812 {V_TYPEDATA, 11, 0, 0, 0, MR_ACE},
03c05291 813 {V_ID, 12, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
814 {V_ID, 13, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
d33e787c 815};
816
a66a2204 817static struct validate ahst_validate = {
818 ahst_valobj,
d1b3a4bf 819 13,
e2b8245f 820 "name",
03c05291 821 "name = UPPER('%s')",
d33e787c 822 1,
e2b8245f 823 "mach_id",
a66a2204 824 access_host,
825 setup_ahst,
0ec43029 826 set_uppercase_modtime,
d33e787c 827};
828
a66a2204 829static char *uhst_fields[] = {
e2b8245f 830 "name",
8db06f75 831 "newname", "vendor", "model", "os", "location", "contact", "use",
832 "status", "subnet", "address", "ace_type", "ace_name",
833 "admin_comment", "ops_comment",
d33e787c 834};
835
a66a2204 836static struct valobj uhst_valobj[] = {
03c05291 837 {V_CHAR, 0, MACHINE_TABLE, "name"},
e2b8245f 838 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
839 {V_RENAME, 1, MACHINE_TABLE, "name", "mach_id", MR_NOT_UNIQUE},
03c05291 840 {V_CHAR, 2, MACHINE_TABLE, "vendor"},
841 {V_CHAR, 3, MACHINE_TABLE, "model"},
842 {V_CHAR, 4, MACHINE_TABLE, "os"},
843 {V_CHAR, 5, MACHINE_TABLE, "location"},
f802fd0d 844 {V_CHAR, 6, MACHINE_TABLE, "contact"},
845 {V_NUM, 7},
846 {V_NUM, 8},
e2b8245f 847 {V_ID, 9, SUBNET_TABLE, "name", "snet_id", MR_SUBNET},
848 {V_TYPE, 11, 0, "ace_type", 0, MR_ACE},
a66a2204 849 {V_TYPEDATA, 12, 0, 0, 0, MR_ACE},
03c05291 850 {V_ID, 13, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
851 {V_ID, 14, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
d33e787c 852};
853
a66a2204 854static struct validate uhst_validate = {
855 uhst_valobj,
d1b3a4bf 856 15,
d33e787c 857 0,
858 0,
859 0,
e2b8245f 860 "mach_id",
a66a2204 861 access_host,
862 setup_ahst,
d33e787c 863 set_modtime_by_id,
864};
865
2884200f 866static char *uhha_fields[] = {
867 "name",
868 "hwaddr"
869};
870
871static struct valobj uhha_valobj[] = {
872 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
873 {V_CHAR, 1, MACHINE_TABLE, "hwaddr"},
874};
875
876static struct validate uhha_validate = {
877 uhha_valobj,
878 2,
879 0,
880 0,
881 0,
882 "mach_id",
883 0,
884 setup_uhha,
885 set_modtime_by_id,
886};
887
a66a2204 888static char *dhst_fields[] = {
e2b8245f 889 "name",
d33e787c 890};
891
a66a2204 892static struct validate dhst_validate = {
d1b3a4bf 893 VOmach0,
894 1,
d33e787c 895 0,
896 0,
897 0,
898 0,
899 0,
900 setup_dmac,
901 0,
902};
903
a66a2204 904static char *ghal_fields[] = {
e2b8245f 905 "alias", "canonical_hostname",
906 "alias", "canonical_hostname"
a66a2204 907};
908
a66a2204 909static struct validate ghal_validate = {
263a36d4 910 0,
911 0,
a66a2204 912 0,
913 0,
914 0,
915 0,
65adfb53 916 access_ahal,
a66a2204 917 0,
03c05291 918 0,
a66a2204 919};
920
921static struct valobj ahal_valobj[] = {
e2b8245f 922 {V_CHAR, 0, HOSTALIAS_TABLE, "name"},
e2b8245f 923 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
a66a2204 924};
925
926static struct validate ahal_validate = {
927 ahal_valobj,
263a36d4 928 2,
e2b8245f 929 "name",
996ffd1d 930 "name = UPPER('%s')",
a66a2204 931 1,
e2b8245f 932 "mach_id",
a66a2204 933 access_ahal,
934 setup_ahal,
935 0,
936};
937
938static struct valobj dhal_valobj[] = {
e2b8245f 939 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
a66a2204 940};
941
942static struct validate dhal_validate = {
943 dhal_valobj,
263a36d4 944 1,
e2b8245f 945 "name",
996ffd1d 946 "name = UPPER('%s') AND mach_id = %d",
a66a2204 947 2,
e2b8245f 948 "mach_id",
a66a2204 949 access_ahal,
950 0,
951 0,
952};
953
3c1d412c 954static char *gsnt_fields[] = {
e2b8245f 955 "name",
8db06f75 956 "name", "description", "address", "mask", "low", "high", "prefix",
957 "ace_type", "ace_name", "modtime", "modby", "modwith"
3c1d412c 958};
959
3c1d412c 960static struct validate gsnt_validate = {
263a36d4 961 0,
962 0,
3c1d412c 963 0,
964 0,
965 0,
966 0,
a70337e7 967 access_snt,
3c1d412c 968 0,
969 followup_gsnt,
970};
971
972static char *asnt_fields[] = {
8db06f75 973 "name", "description", "address", "mask", "low", "high", "prefix",
974 "ace_type", "ace_name",
3c1d412c 975};
976
977static struct valobj asnt_valobj[] = {
e2b8245f 978 {V_CHAR, 0, SUBNET_TABLE, "name"},
979 {V_LEN, 1, SUBNET_TABLE, "description"},
f802fd0d 980 {V_NUM, 2},
981 {V_NUM, 3},
982 {V_NUM, 4},
983 {V_NUM, 5},
03c05291 984 {V_LEN, 6, SUBNET_TABLE, "prefix"},
e2b8245f 985 {V_TYPE, 7, 0, "ace_type", 0, MR_ACE},
bd8c26ff 986 {V_TYPEDATA, 8, 0, 0, 0, MR_ACE},
3c1d412c 987};
988
5eaef520 989static struct validate asnt_validate =
3c1d412c 990{
5eaef520 991 asnt_valobj,
d1b3a4bf 992 9,
e2b8245f 993 "name",
5eaef520 994 "name = UPPER('%s')",
995 1,
e2b8245f 996 "snet_id",
5eaef520 997 0,
998 prefetch_value,
999 set_uppercase_modtime,
3c1d412c 1000};
1001
1002static char *usnt_fields[] = {
e2b8245f 1003 "name",
8db06f75 1004 "newname", "description", "address", "mask", "low", "high", "prefix",
1005 "ace_type", "ace_name",
3c1d412c 1006};
1007
1008static struct valobj usnt_valobj[] = {
e2b8245f 1009 {V_ID, 0, SUBNET_TABLE, "name", "snet_id", MR_NO_MATCH},
1010 {V_RENAME, 1, SUBNET_TABLE, "name", "snet_id", MR_NOT_UNIQUE},
1011 {V_LEN, 2, SUBNET_TABLE, "description"},
f802fd0d 1012 {V_NUM, 3},
1013 {V_NUM, 4},
1014 {V_NUM, 5},
1015 {V_NUM, 6},
03c05291 1016 {V_LEN, 7, SUBNET_TABLE, "prefix"},
e2b8245f 1017 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
bd8c26ff 1018 {V_TYPEDATA, 9, 0, 0, 0, MR_ACE},
3c1d412c 1019};
1020
5eaef520 1021static struct validate usnt_validate =
3c1d412c 1022{
5eaef520 1023 usnt_valobj,
d1b3a4bf 1024 10,
e2b8245f 1025 "name",
5eaef520 1026 "snet_id = %d",
1027 1,
e2b8245f 1028 "snet_id",
5eaef520 1029 0,
1030 0,
1031 set_modtime_by_id,
3c1d412c 1032};
1033
1034static char *dsnt_fields[] = {
e2b8245f 1035 "name",
3c1d412c 1036};
1037
3c1d412c 1038static struct validate dsnt_validate = {
d1b3a4bf 1039 VOsnet0,
1040 1,
3c1d412c 1041 0,
1042 0,
1043 0,
1044 0,
1045 0,
1046 setup_dsnt,
1047 0,
1048};
1049
d33e787c 1050static char *gclu_fields[] = {
e2b8245f 1051 "name",
8db06f75 1052 "name", "description", "location", "modtime", "modby", "modwith",
d33e787c 1053};
1054
1055static char *aclu_fields[] = {
e2b8245f 1056 "name", "description", "location",
d33e787c 1057};
0c345c78 1058
339a00a3 1059static struct valobj aclu_valobj[] = {
e2b8245f 1060 {V_CHAR, 0, CLUSTERS_TABLE, "name"},
1061 {V_LEN, 1, CLUSTERS_TABLE, "description"},
1062 {V_LEN, 2, CLUSTERS_TABLE, "location"},
339a00a3 1063};
1064
5eaef520 1065static struct validate aclu_validate =
d33e787c 1066{
339a00a3 1067 aclu_valobj,
d1b3a4bf 1068 3,
e2b8245f 1069 "name",
03c05291 1070 "name = '%s'",
d33e787c 1071 1,
e2b8245f 1072 "clu_id",
d33e787c 1073 0,
45bf7573 1074 prefetch_value,
d33e787c 1075 set_modtime,
1076};
1077
1078static char *uclu_fields[] = {
e2b8245f 1079 "name",
1080 "newname", "description", "location",
d33e787c 1081};
1082
1083static struct valobj uclu_valobj[] = {
e2b8245f 1084 {V_ID, 0, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
1085 {V_RENAME, 1, CLUSTERS_TABLE, "name", "clu_id", MR_NOT_UNIQUE},
1086 {V_LEN, 2, CLUSTERS_TABLE, "description"},
1087 {V_LEN, 3, CLUSTERS_TABLE, "location"},
d33e787c 1088};
1089
1090static struct validate uclu_validate = {
1091 uclu_valobj,
d1b3a4bf 1092 4,
d33e787c 1093 0,
1094 0,
1095 0,
e2b8245f 1096 "clu_id",
d33e787c 1097 0,
1098 0,
1099 set_modtime_by_id,
1100};
1101
1102static char *dclu_fields[] = {
e2b8245f 1103 "name",
d33e787c 1104};
1105
1106static struct validate dclu_validate = {
0c345c78 1107 VOclu0,
1108 1,
1109 0,
1110 0,
1111 0,
1112 0,
1113 0,
1114 setup_dclu,
1115 0,
d33e787c 1116};
1117
1118static char *gmcm_fields[] = {
e2b8245f 1119 "machine", "cluster",
1120 "machine", "cluster",
d33e787c 1121};
1122
1123static struct valobj amtc_valobj[] = /* ADD_MACHINE_TO_CLUSTER */
1124{ /* DELETE_MACHINE_FROM_CLUSTER */
e2b8245f 1125 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1126 {V_ID, 1, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
d33e787c 1127};
1128
1129static struct validate amtc_validate = /* for amtc and dmfc */
1130{
1131 amtc_valobj,
1132 2,
e2b8245f 1133 "mach_id",
3e8c655c 1134 "mach_id = %d and clu_id = %d",
d33e787c 1135 2,
1136 0,
1137 0,
1138 0,
1139 set_mach_modtime_by_id,
1140};
1141
1142static char *gcld_fields[] = {
e2b8245f 1143 "cluster", "serv_label",
1144 "cluster", "serv_label", "serv_cluster",
88343c5e 1145};
1146
1147static char *acld_fields[] = {
e2b8245f 1148 "cluster", "serv_label", "serv_cluster",
d33e787c 1149};
1150
1151static struct valobj acld_valobj[] =
1152{
e2b8245f 1153 {V_ID, 0, CLUSTERS_TABLE, "name", "clu_id", MR_CLUSTER},
03c05291 1154 {V_CHAR, 1, SVC_TABLE, "serv_label"},
1155 {V_CHAR, 2, SVC_TABLE, "serv_cluster"}
d33e787c 1156};
1157
5eaef520 1158static struct validate acld_validate =
1159{
d33e787c 1160 acld_valobj,
99e09b48 1161 3,
e2b8245f 1162 "clu_id",
03c05291 1163 "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
99e09b48 1164 3,
1165 0,
1166 0,
1167 0,
1168 set_cluster_modtime_by_id,
1169};
1170
5eaef520 1171static struct validate dcld_validate =
1172{
d1b3a4bf 1173 VOclu0,
03c05291 1174 1,
e2b8245f 1175 "clu_id",
3e8c655c 1176 "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
d33e787c 1177 3,
1178 0,
1179 0,
1180 0,
1181 set_cluster_modtime_by_id,
1182};
1183
44da57b2 1184static char *glin2_fields[] = {
e2b8245f 1185 "name",
1186 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
8db06f75 1187 "ace_type", "ace_name", "description", "modtime", "modby", "modwith",
99e09b48 1188};
1189
59c3208b 1190static char *glin3_fields[] = {
44da57b2 1191 "name",
1192 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1193 "nfsgroup", "ace_type", "ace_name", "description", "modtime", "modby",
1194 "modwith",
1195};
1196
59c3208b 1197static char *glin_fields[] = {
1198 "name",
1199 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1200 "nfsgroup", "ace_type", "ace_name", "memacl_type", "memacl_name",
1201 "description", "modtime", "modby", "modwith",
1202};
1203
03c05291 1204static struct validate glin_validate = {
0c345c78 1205 0,
0c345c78 1206 0,
1207 0,
1208 0,
1209 0,
1210 0,
03c05291 1211 access_vis_list_by_name,
0c345c78 1212 0,
263a36d4 1213 followup_glin,
d33e787c 1214};
1215
44da57b2 1216static char *alis2_fields[] = {
e2b8245f 1217 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1218 "ace_type", "ace_name", "description",
d33e787c 1219};
1220
44da57b2 1221static struct valobj alis2_valobj[] = {
e2b8245f 1222 {V_CHAR, 0, LIST_TABLE, "name"},
f802fd0d 1223 {V_NUM, 1},
1224 {V_NUM, 2},
1225 {V_NUM, 3},
1226 {V_NUM, 4},
1227 {V_NUM, 5},
1228 {V_NUM, 6},
e2b8245f 1229 {V_TYPE, 7, 0, "ace_type", 0, MR_ACE},
1230 {V_TYPEDATA, 8, 0, 0, "list_id", MR_ACE},
1231 {V_LEN, 9, LIST_TABLE, "description"},
d33e787c 1232};
1233
44da57b2 1234static struct validate alis2_validate = {
1235 alis2_valobj,
1236 10,
1237 "name",
1238 "name = '%s'",
1239 1,
1240 "list_id",
1241 0,
1242 setup_alis,
1243 set_modtime,
1244};
1245
59c3208b 1246static char *alis3_fields[] = {
44da57b2 1247 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1248 "nfsgroup", "ace_type", "ace_name", "description",
1249};
1250
59c3208b 1251static struct valobj alis3_valobj[] = {
44da57b2 1252 {V_CHAR, 0, LIST_TABLE, "name"},
1253 {V_NUM, 1},
1254 {V_NUM, 2},
1255 {V_NUM, 3},
1256 {V_NUM, 4},
1257 {V_NUM, 5},
1258 {V_NUM, 6},
1259 {V_NUM, 7},
1260 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
1261 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
1262 {V_LEN, 10, LIST_TABLE, "description"},
1263};
1264
59c3208b 1265static struct validate alis3_validate = {
1266 alis3_valobj,
1267 11,
1268 "name",
1269 "name = '%s'",
1270 1,
1271 "list_id",
1272 0,
1273 setup_alis,
1274 set_modtime,
1275};
1276
1277static char *alis_fields[] = {
1278 "name", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1279 "nfsgroup", "ace_type", "ace_name", "memace_type", "memace_name",
1280 "description",
1281};
1282
1283static struct valobj alis_valobj[] = {
1284 {V_CHAR, 0, LIST_TABLE, "name"},
1285 {V_NUM, 1},
1286 {V_NUM, 2},
1287 {V_NUM, 3},
1288 {V_NUM, 4},
1289 {V_NUM, 5},
1290 {V_NUM, 6},
1291 {V_NUM, 7},
1292 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
1293 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
1294 {V_TYPE, 10, 0, "ace_type", 0, MR_ACE},
1295 {V_TYPEDATA, 11, 0, 0, "list_id", MR_ACE},
1296 {V_LEN, 12, LIST_TABLE, "description"},
1297};
1298
03c05291 1299static struct validate alis_validate = {
1300 alis_valobj,
59c3208b 1301 13,
e2b8245f 1302 "name",
03c05291 1303 "name = '%s'",
d33e787c 1304 1,
e2b8245f 1305 "list_id",
d33e787c 1306 0,
03c05291 1307 setup_alis,
1308 set_modtime,
d33e787c 1309};
1310
44da57b2 1311static char *ulis2_fields[] = {
e2b8245f 1312 "name",
03c05291 1313 "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
e2b8245f 1314 "ace_type", "ace_name", "description",
d33e787c 1315};
1316
44da57b2 1317static struct valobj ulis2_valobj[] = {
e2b8245f 1318 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
1319 {V_RENAME, 1, LIST_TABLE, "name", "list_id", MR_NOT_UNIQUE},
f802fd0d 1320 {V_NUM, 2},
1321 {V_NUM, 3},
1322 {V_NUM, 4},
1323 {V_NUM, 5},
1324 {V_NUM, 6},
1325 {V_NUM, 7},
1326 {V_TYPE, 8, 0, "ace_type", 0, MR_ACE},
e2b8245f 1327 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
e2b8245f 1328 {V_LEN, 10, LIST_TABLE, "description"},
d33e787c 1329};
1330
44da57b2 1331static struct validate ulis2_validate = {
1332 ulis2_valobj,
d1b3a4bf 1333 11,
e2b8245f 1334 "name",
03c05291 1335 "list_id = %d",
d33e787c 1336 1,
e2b8245f 1337 "list_id",
03c05291 1338 access_list,
1339 setup_alis,
1340 set_modtime_by_id,
d33e787c 1341};
1342
59c3208b 1343static char *ulis3_fields[] = {
44da57b2 1344 "name",
1345 "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1346 "nfsgroup", "ace_type", "ace_name", "description",
1347};
1348
59c3208b 1349static struct valobj ulis3_valobj[] = {
44da57b2 1350 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
1351 {V_RENAME, 1, LIST_TABLE, "name", "list_id", MR_NOT_UNIQUE},
1352 {V_NUM, 2},
1353 {V_NUM, 3},
1354 {V_NUM, 4},
1355 {V_NUM, 5},
1356 {V_NUM, 6},
1357 {V_NUM, 7},
1358 {V_NUM, 8},
1359 {V_TYPE, 9, 0, "ace_type", 0, MR_ACE},
1360 {V_TYPEDATA, 10, 0, 0, "list_id", MR_ACE},
1361 {V_LEN, 11, LIST_TABLE, "description"},
1362};
1363
59c3208b 1364static struct validate ulis3_validate = {
1365 ulis3_valobj,
44da57b2 1366 12,
1367 "name",
1368 "list_id = %d",
1369 1,
1370 "list_id",
1371 access_list,
1372 setup_alis,
1373 set_modtime_by_id,
1374};
1375
59c3208b 1376static char *ulis_fields[] = {
1377 "name",
1378 "newname", "active", "publicflg", "hidden", "maillist", "grouplist", "gid",
1379 "nfsgroup", "ace_type", "ace_name", "memace_type", "memace_name",
1380 "description",
1381};
1382
1383static struct valobj ulis_valobj[] = {
1384 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
1385 {V_RENAME, 1, LIST_TABLE, "name", "list_id", MR_NOT_UNIQUE},
1386 {V_NUM, 2},
1387 {V_NUM, 3},
1388 {V_NUM, 4},
1389 {V_NUM, 5},
1390 {V_NUM, 6},
1391 {V_NUM, 7},
1392 {V_NUM, 8},
1393 {V_TYPE, 9, 0, "ace_type", 0, MR_ACE},
1394 {V_TYPEDATA, 10, 0, 0, "list_id", MR_ACE},
1395 {V_TYPE, 11, 0, "ace_type", 0, MR_ACE},
1396 {V_TYPEDATA, 12, 0, 0, "list_id", MR_ACE},
1397 {V_LEN, 13, LIST_TABLE, "description"},
1398};
1399
1400static struct validate ulis_validate = {
1401 ulis_valobj,
1402 14,
1403 "name",
1404 "list_id = %d",
1405 1,
1406 "list_id",
1407 access_list,
1408 setup_alis,
1409 set_modtime_by_id,
1410};
1411
03c05291 1412static char *dlis_fields[] = {
e2b8245f 1413 "name",
d33e787c 1414};
1415
03c05291 1416static struct validate dlis_validate = {
d1b3a4bf 1417 VOlist0,
1418 1,
e2b8245f 1419 "name",
03c05291 1420 "list_id = %d",
d33e787c 1421 1,
1422 0,
03c05291 1423 access_list,
1424 setup_dlis,
d33e787c 1425 0,
1426};
1427
03c05291 1428static char *amtl_fields[] = {
1429 "list_name", "member_type", "member_name",
d33e787c 1430};
1431
46b6f1f6 1432static char *atml_fields[] = {
1433 "list_name", "member_type", "member_name", "tag",
1434};
1435
03c05291 1436static struct valobj amtl_valobj[] = {
e2b8245f 1437 {V_ID, 0, LIST_TABLE, "name", "list_id", MR_LIST},
03c05291 1438 {V_TYPE, 1, 0, "member", 0, MR_TYPE},
1439 {V_TYPEDATA, 2, 0, 0, 0, MR_NO_MATCH},
46b6f1f6 1440 {V_ID, 3, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
99e09b48 1441};
1442
03c05291 1443static struct validate amtl_validate =
1444{
1445 amtl_valobj,
d1b3a4bf 1446 3,
d33e787c 1447 0,
1448 0,
1449 0,
1450 0,
03c05291 1451 access_list,
d33e787c 1452 0,
03c05291 1453 add_member_to_list,
d33e787c 1454};
1455
46b6f1f6 1456static struct validate atml_validate =
1457{
1458 amtl_valobj,
1459 4,
1460 0,
1461 0,
1462 0,
1463 0,
1464 access_list,
1465 0,
1466 add_member_to_list,
1467};
1468
1469static struct validate tmol_validate =
1470{
1471 amtl_valobj,
1472 4,
46b6f1f6 1473 0,
46b6f1f6 1474 0,
1475 0,
20541c25 1476 0,
1477 access_list,
1478 0,
1479 tag_member_of_list,
46b6f1f6 1480};
1481
03c05291 1482static struct validate dmfl_validate =
1483{
1484 amtl_valobj,
d1b3a4bf 1485 3,
0c345c78 1486 0,
1487 0,
1488 0,
1489 0,
03c05291 1490 access_list,
0c345c78 1491 0,
03c05291 1492 delete_member_from_list,
d33e787c 1493};
1494
03c05291 1495static char *gaus_fields[] = {
e2b8245f 1496 "ace_type", "ace_name",
03c05291 1497 "use_type", "use_name",
d33e787c 1498};
1499
03c05291 1500static struct valobj gaus_valobj[] = {
03c05291 1501 {V_TYPE, 0, 0, "gaus", 0, MR_TYPE},
1502 {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
d33e787c 1503};
1504
03c05291 1505static struct validate gaus_validate = {
1506 gaus_valobj,
d1b3a4bf 1507 2,
d33e787c 1508 0,
d33e787c 1509 0,
d33e787c 1510 0,
d33e787c 1511 0,
03c05291 1512 access_member,
d33e787c 1513 0,
03c05291 1514 get_ace_use,
d33e787c 1515};
1516
d3051625 1517static char *ghbo_fields[] = {
1518 "ace_type", "ace_name",
1519 "name",
1520};
1521
1522static struct valobj ghbo_valobj[] = {
1523 {V_TYPE, 0, 0, "gaus", 0, MR_TYPE},
1524 {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
1525};
1526
1527static struct validate ghbo_validate = {
1528 ghbo_valobj,
1529 2,
1530 0,
1531 0,
1532 0,
1533 0,
1534 access_member,
1535 0,
1536 get_host_by_owner,
1537};
1538
03c05291 1539static char *qgli_fields[] = {
1540 "active", "publicflg", "hidden", "maillist", "grouplist",
1541 "list",
3e8c655c 1542};
d33e787c 1543
03c05291 1544static struct valobj qgli_valobj[] = {
1545 {V_TYPE, 0, 0, "boolean", 0, MR_TYPE},
1546 {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
1547 {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
1548 {V_TYPE, 3, 0, "boolean", 0, MR_TYPE},
1549 {V_TYPE, 4, 0, "boolean", 0, MR_TYPE},
d33e787c 1550};
1551
03c05291 1552static struct validate qgli_validate = {
1553 qgli_valobj,
1554 5,
647daf33 1555 0,
d33e787c 1556 0,
1557 0,
87167924 1558 0,
03c05291 1559 access_qgli,
d33e787c 1560 0,
03c05291 1561 qualified_get_lists,
d33e787c 1562};
1563
03c05291 1564static char *gmol_fields[] = {
1565 "list_name",
1566 "member_type", "member_name",
d33e787c 1567};
1568
46b6f1f6 1569static char *gtml_fields[] = {
1570 "list_name",
1571 "member_type", "member_name", "tag",
d33e787c 1572};
1573
46b6f1f6 1574static struct validate gmol_validate = {
d1b3a4bf 1575 VOlist0,
1576 1,
d33e787c 1577 0,
1578 0,
1579 0,
1580 0,
03c05291 1581 access_visible_list,
d33e787c 1582 0,
46b6f1f6 1583 get_members_of_list,
d33e787c 1584};
1585
03c05291 1586static char *glom_fields[] = {
1587 "member_type", "member_name",
1588 "list_name", "active", "publicflg", "hidden", "maillist", "grouplist",
d33e787c 1589};
1590
03c05291 1591static struct valobj glom_valobj[] = {
5eaef520 1592 {V_TYPE, 0, 0, "rmember", 0, MR_TYPE},
1593 {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
d33e787c 1594};
1595
03c05291 1596static struct validate glom_validate = {
1597 glom_valobj,
d1b3a4bf 1598 2,
d33e787c 1599 0,
1600 0,
03c05291 1601 0,
1602 0,
1603 access_member,
1604 0,
1605 get_lists_of_member,
d33e787c 1606};
1607
03c05291 1608static char *cmol_fields[] = {
1609 "list_name",
1610 "count",
d33e787c 1611};
1612
03c05291 1613static struct validate cmol_validate = {
1614 VOlist0,
d33e787c 1615 1,
1616 0,
1617 0,
1618 0,
1619 0,
03c05291 1620 access_visible_list,
d33e787c 1621 0,
03c05291 1622 count_members_of_list,
d33e787c 1623};
1624
03c05291 1625static char *gsin_fields[] = {
e2b8245f 1626 "service",
1627 "service", "update_int", "target_file", "script", "dfgen", "dfcheck",
1628 "type", "enable", "inprogress", "harderror", "errmsg",
8db06f75 1629 "ace_type", "ace_name", "modtime", "modby", "modwith",
88343c5e 1630};
1631
5eaef520 1632static struct validate gsin_validate =
03c05291 1633{
263a36d4 1634 0,
1635 0,
99e09b48 1636 0,
1637 0,
1638 0,
1639 0,
03c05291 1640 access_service,
99e09b48 1641 0,
59c3208b 1642 followup_gsin,
99e09b48 1643};
1644
03c05291 1645static char *qgsv_fields[] = {
1646 "enable", "inprogress", "harderror",
1647 "service",
4ffa124a 1648};
0c345c78 1649
03c05291 1650static struct valobj qgsv_valobj[] = {
1651 {V_TYPE, 0, 0, "boolean", 0, MR_TYPE},
1652 {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
1653 {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
d33e787c 1654};
1655
03c05291 1656static struct validate qgsv_validate = {
1657 qgsv_valobj,
1658 3,
d33e787c 1659 0,
1660 0,
1661 0,
1662 0,
d33e787c 1663 0,
03c05291 1664 0,
1665 qualified_get_server,
d33e787c 1666};
1667
03c05291 1668static char *asin_fields[] = {
e2b8245f 1669 "service", "update_int", "target_file", "script", "type", "enable",
1670 "ace_type", "ace_name",
d33e787c 1671};
1672
03c05291 1673static struct valobj asin_valobj[] = {
e2b8245f 1674 {V_CHAR, 0, SERVERS_TABLE, "name"},
f802fd0d 1675 {V_NUM, 1},
03c05291 1676 {V_LEN, 2, SERVERS_TABLE, "target_file"},
1677 {V_LEN, 3, SERVERS_TABLE, "script"},
1678 {V_TYPE, 4, 0, "service", 0, MR_TYPE},
f802fd0d 1679 {V_NUM, 5},
e2b8245f 1680 {V_TYPE, 6, 0, "ace_type", 0, MR_ACE},
03c05291 1681 {V_TYPEDATA, 7, 0, 0, 0, MR_ACE},
d33e787c 1682};
1683
03c05291 1684static struct validate asin_validate = /* for asin, usin */
1685{
1686 asin_valobj,
d1b3a4bf 1687 8,
e2b8245f 1688 "name",
03c05291 1689 "name = UPPER('%s')",
d33e787c 1690 1,
d33e787c 1691 0,
03c05291 1692 0,
1693 0,
1694 set_uppercase_modtime,
d33e787c 1695};
1696
03c05291 1697static struct validate rsve_validate = {
1698 asin_valobj,
d1b3a4bf 1699 1,
e2b8245f 1700 "name",
03c05291 1701 "name = UPPER('%s')",
d33e787c 1702 1,
d33e787c 1703 0,
03c05291 1704 access_service,
1705 0,
1706 set_uppercase_modtime,
d33e787c 1707};
1708
03c05291 1709static char *ssif_fields[] = {
e2b8245f 1710 "service", "dfgen", "dfcheck", "inprogress", "harderror", "errmsg",
d33e787c 1711};
1712
03c05291 1713static struct valobj ssif_valobj[] = {
d1b3a4bf 1714 {V_NAME, 0, SERVERS_TABLE, "name", 0, MR_SERVICE},
f802fd0d 1715 {V_NUM, 1},
1716 {V_NUM, 2},
1717 {V_NUM, 3},
1718 {V_NUM, 4},
03c05291 1719 {V_LEN, 5, SERVERS_TABLE, "errmsg"},
d33e787c 1720};
1721
03c05291 1722static struct validate ssif_validate = {
1723 ssif_valobj,
d1b3a4bf 1724 6,
e2b8245f 1725 "name",
03c05291 1726 "name = UPPER('%s')",
d33e787c 1727 1,
1728 0,
1729 0,
03c05291 1730 0,
d33e787c 1731 0,
1732};
1733
03c05291 1734static char *dsin_fields[] = {
e2b8245f 1735 "service",
95127ba8 1736};
1737
03c05291 1738static struct validate dsin_validate = {
1739 asin_valobj,
d1b3a4bf 1740 1,
e2b8245f 1741 "name",
03c05291 1742 "name = UPPER('%s')",
1743 1,
0c345c78 1744 0,
1745 0,
03c05291 1746 setup_dsin,
0c345c78 1747 0,
95127ba8 1748};
1749
03c05291 1750static char *gshi_fields[] = {
e2b8245f 1751 "service", "machine",
1752 "service", "machine", "enable", "override", "success", "inprogress",
03c05291 1753 "hosterror", "hosterrormsg", "ltt", "lts", "value1", "value2",
8db06f75 1754 "value3", "modtime", "modby", "modwith",
95127ba8 1755};
1756
03c05291 1757static struct validate gshi_validate = {
263a36d4 1758 0,
1759 0,
0c345c78 1760 0,
1761 0,
1762 0,
1763 0,
03c05291 1764 access_service,
1765 0,
1766 followup_fix_modby,
95127ba8 1767};
1768
03c05291 1769static char *qgsh_fields[] = {
1770 "service", "enable", "override", "success", "inprogress", "hosterror",
e2b8245f 1771 "service", "machine",
d33e787c 1772};
1773
03c05291 1774static struct valobj qgsh_valobj[] = {
1775 {V_TYPE, 1, 0, "boolean", 0, MR_TYPE},
1776 {V_TYPE, 2, 0, "boolean", 0, MR_TYPE},
1777 {V_TYPE, 3, 0, "boolean", 0, MR_TYPE},
1778 {V_TYPE, 4, 0, "boolean", 0, MR_TYPE},
1779 {V_TYPE, 5, 0, "boolean", 0, MR_TYPE},
99e09b48 1780};
1781
03c05291 1782static struct validate qgsh_validate = {
1783 qgsh_valobj,
1784 5,
d33e787c 1785 0,
1786 0,
1787 0,
1788 0,
1789 0,
1790 0,
03c05291 1791 qualified_get_serverhost,
d33e787c 1792};
1793
03c05291 1794static char *ashi_fields[] = {
e2b8245f 1795 "service", "machine", "enable", "value1", "value2", "value3",
d33e787c 1796};
1797
03c05291 1798static struct valobj ashi_valobj[] = {
e2b8245f 1799 {V_NAME, 0, SERVERS_TABLE, "name", 0, MR_SERVICE},
e2b8245f 1800 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
f802fd0d 1801 {V_NUM, 2},
1802 {V_NUM, 3},
1803 {V_NUM, 4},
03c05291 1804 {V_LEN, 5, SERVERHOSTS_TABLE, "value3"},
45bf7573 1805};
1806
03c05291 1807static struct validate ashi_validate = /* ashi & ushi */
1808{
1809 ashi_valobj,
d1b3a4bf 1810 6,
e2b8245f 1811 "service",
03c05291 1812 "service = UPPER('%s') AND mach_id = %d",
d33e787c 1813 2,
d33e787c 1814 0,
03c05291 1815 access_service,
d33e787c 1816 0,
03c05291 1817 set_serverhost_modtime,
99e09b48 1818};
1819
5eaef520 1820static struct validate rshe_validate =
03c05291 1821{
1822 ashi_valobj,
d1b3a4bf 1823 2,
e2b8245f 1824 "service",
03c05291 1825 "service = UPPER('%s') AND mach_id = %d",
1826 2,
1827 0,
1828 access_service,
1829 0,
1830 set_serverhost_modtime,
d33e787c 1831};
1832
5eaef520 1833static struct validate ssho_validate =
03c05291 1834{
1835 ashi_valobj,
d1b3a4bf 1836 2,
e2b8245f 1837 "service",
03c05291 1838 "service = UPPER('%s') AND mach_id = %d",
d33e787c 1839 2,
d33e787c 1840 0,
03c05291 1841 access_service,
1842 0,
1843 trigger_dcm,
d33e787c 1844};
1845
03c05291 1846static char *sshi_fields[] = {
e2b8245f 1847 "service", "machine", "override", "success", "inprogress",
03c05291 1848 "hosterror", "errmsg", "ltt", "lts",
368be132 1849};
1850
03c05291 1851static struct valobj sshi_valobj[] = {
e2b8245f 1852 {V_NAME, 0, SERVERS_TABLE, "name", 0, MR_SERVICE},
f802fd0d 1853 {V_ID, 1, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1854 {V_NUM, 2},
1855 {V_NUM, 3},
1856 {V_NUM, 4},
1857 {V_NUM, 5},
1858 {V_LEN, 6, SERVERHOSTS_TABLE, "hosterrmsg"},
1859 {V_NUM, 7},
1860 {V_NUM, 8},
368be132 1861};
1862
5eaef520 1863static struct validate sshi_validate =
03c05291 1864{
1865 sshi_valobj,
d1b3a4bf 1866 9,
368be132 1867 0,
1868 0,
1869 0,
1870 0,
1871 0,
1872 0,
03c05291 1873 0,
368be132 1874};
1875
03c05291 1876static char *dshi_fields[] = {
e2b8245f 1877 "service", "machine",
368be132 1878};
1879
5eaef520 1880static struct validate dshi_validate =
03c05291 1881{
1882 ashi_valobj,
d1b3a4bf 1883 2,
e2b8245f 1884 "service",
03c05291 1885 "service = UPPER('%s') AND mach_id = %d",
135dcb80 1886 2,
368be132 1887 0,
03c05291 1888 access_service,
1889 setup_dshi,
368be132 1890 0,
03c05291 1891};
1892
1893static char *gslo_fields[] = {
1894 "server",
e2b8245f 1895 "server", "machine",
03c05291 1896};
1897
1898static char *gfsl_fields[] = {
e2b8245f 1899 "label",
8db06f75 1900 "label", "type", "machine", "name", "mount", "access", "comments",
1901 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
03c05291 1902};
1903
5a8887d8 1904static struct validate gfsl_validate = {
1905 0,
1906 0,
1907 0,
1908 0,
1909 0,
1910 0,
1911 access_filesys,
1912 0,
1913 followup_fix_modby,
1914};
1915
03c05291 1916static char *gfsm_fields[] = {
e2b8245f 1917 "machine",
8db06f75 1918 "label", "type", "machine", "name", "mount", "access", "comments",
1919 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
03c05291 1920};
1921
03c05291 1922static struct validate gfsm_validate = {
d1b3a4bf 1923 VOmach0,
1924 1,
368be132 1925 0,
1926 0,
368be132 1927 0,
03c05291 1928 0,
1929 0,
1930 0,
1931 followup_fix_modby,
368be132 1932};
1933
03c05291 1934static char *gfsn_fields[] = {
cc1bca5c 1935 "machine", "partition",
8db06f75 1936 "label", "type", "machine", "name", "mount", "access", "comments",
1937 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
368be132 1938};
1939
03c05291 1940static struct validate gfsn_validate = {
263a36d4 1941 VOmach0,
1942 1,
368be132 1943 0,
1944 0,
368be132 1945 0,
1946 0,
368be132 1947 0,
1948 0,
03c05291 1949 followup_fix_modby,
368be132 1950};
1951
03c05291 1952static char *gfsp_fields[] = {
1953 "path",
8db06f75 1954 "label", "type", "machine", "name", "mount", "access", "comments",
1955 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
d33e787c 1956};
1957
03c05291 1958static char *gfsg_fields[] = {
e2b8245f 1959 "list",
8db06f75 1960 "label", "type", "machine", "name", "mount", "access", "comments",
1961 "owner", "owners", "create", "lockertype", "modtime", "modby", "modwith",
03c05291 1962};
1963
03c05291 1964static struct validate gfsg_validate = {
d1b3a4bf 1965 VOlist0,
1966 1,
d33e787c 1967 0,
1968 0,
1969 0,
1970 0,
03c05291 1971 access_list,
d33e787c 1972 0,
03c05291 1973 followup_fix_modby,
d33e787c 1974};
1975
03c05291 1976static char *afil_fields[] = {
8db06f75 1977 "label", "type", "machine", "name", "mount", "access", "comments",
1978 "owner", "owners", "create", "lockertype",
d33e787c 1979};
1980
03c05291 1981static struct valobj afil_valobj[] = {
e2b8245f 1982 {V_CHAR, 0, FILESYS_TABLE, "label"},
03c05291 1983 {V_TYPE, 1, 0, "filesys", 0, MR_FSTYPE},
e2b8245f 1984 {V_ID, 2, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
1985 {V_CHAR, 3, FILESYS_TABLE, "name"},
03c05291 1986 {V_LEN, 4, FILESYS_TABLE, "mount"},
f802fd0d 1987 {V_LEN, 5, FILESYS_TABLE, "rwaccess"},
e2b8245f 1988 {V_LEN, 6, FILESYS_TABLE, "comments"},
1989 {V_ID, 7, USERS_TABLE, "login", "users_id", MR_USER},
1990 {V_ID, 8, LIST_TABLE, "name", "list_id", MR_LIST},
f802fd0d 1991 {V_NUM, 9},
03c05291 1992 {V_TYPE, 10, 0, "lockertype", 0, MR_TYPE},
99e09b48 1993};
1994
03c05291 1995static struct validate afil_validate = {
1996 afil_valobj,
d1b3a4bf 1997 11,
e2b8245f 1998 "label",
03c05291 1999 "label = '%s'",
2000 1,
e2b8245f 2001 "filsys_id",
03c05291 2002 0,
2003 setup_afil,
2004 set_filesys_modtime,
2005};
99e09b48 2006
03c05291 2007static char *ufil_fields[] = {
8db06f75 2008 "label", "newlabel", "type", "machine", "name", "mount", "access",
2009 "comments", "owner", "owners", "create", "lockertype",
d33e787c 2010};
2011
03c05291 2012static struct valobj ufil_valobj[] = {
e2b8245f 2013 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
2014 {V_RENAME, 1, FILESYS_TABLE, "label", "filsys_id", MR_NOT_UNIQUE},
03c05291 2015 {V_TYPE, 2, 0, "filesys", 0, MR_FSTYPE},
e2b8245f 2016 {V_ID, 3, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2017 {V_CHAR, 4, FILESYS_TABLE, "name"},
03c05291 2018 {V_LEN, 5, FILESYS_TABLE, "mount"},
f802fd0d 2019 {V_LEN, 6, FILESYS_TABLE, "rwaccess"},
e2b8245f 2020 {V_LEN, 7, FILESYS_TABLE, "comments"},
2021 {V_ID, 8, USERS_TABLE, "login", "users_id", MR_USER},
2022 {V_ID, 9, LIST_TABLE, "name", "list_id", MR_LIST},
f802fd0d 2023 {V_NUM, 10},
03c05291 2024 {V_TYPE, 11, 0, "lockertype", 0, MR_TYPE},
d33e787c 2025};
2026
03c05291 2027static struct validate ufil_validate = {
2028 ufil_valobj,
d1b3a4bf 2029 12,
e2b8245f 2030 "label",
03c05291 2031 "filsys_id = %d",
2032 1,
e2b8245f 2033 "filsys_id",
d33e787c 2034 0,
03c05291 2035 setup_ufil,
2036 set_filesys_modtime,
d33e787c 2037};
2038
03c05291 2039static char *dfil_fields[] = {
e2b8245f 2040 "label",
03c05291 2041};
2042
03c05291 2043static struct validate dfil_validate = {
d1b3a4bf 2044 VOfilesys0,
2045 1,
03c05291 2046 "label",
2047 "filsys_id = %d",
2048 1,
d33e787c 2049 0,
2050 0,
03c05291 2051 setup_dfil,
2052 0,
d33e787c 2053};
2054
03c05291 2055static char *gfgm_fields[] = {
e2b8245f 2056 "fsgroup", "filesys", "sortkey"
5eaef520 2057};
03c05291 2058
03c05291 2059static struct validate gfgm_validate = {
d1b3a4bf 2060 VOfilesys0,
29028043 2061 1,
d33e787c 2062 0,
2063 0,
2064 0,
2065 0,
2066 0,
2067 0,
d33e787c 2068 0,
d33e787c 2069};
2070
03c05291 2071static struct valobj aftg_valobj[] = {
e2b8245f 2072 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
2073 {V_ID, 1, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
d33e787c 2074};
2075
03c05291 2076static struct validate aftg_validate = {
2077 aftg_valobj,
d1b3a4bf 2078 2,
03c05291 2079 "group_id",
2080 "group_id = %d and filsys_id = %d",
2081 2,
2082 0,
2083 0,
2084 0,
d33e787c 2085 0,
d33e787c 2086};
2087
03c05291 2088static char *ganf_fields[] = {
8db06f75 2089 "machine", "dir", "device", "status", "allocated", "size",
2090 "modtime", "modby", "modwith",
d33e787c 2091};
2092
03c05291 2093static char *gnfp_fields[] = {
e2b8245f 2094 "machine", "dir",
8db06f75 2095 "machine", "dir", "device", "status", "allocated", "size",
2096 "modtime", "modby", "modwith",
d33e787c 2097};
2098
03c05291 2099static struct validate gnfp_validate = {
263a36d4 2100 VOmach0,
2101 1,
03c05291 2102 0,
2103 0,
2104 0,
2105 0,
2106 0,
2107 0,
2108 followup_fix_modby,
d33e787c 2109};
2110
03c05291 2111static struct valobj anfp_valobj[] = {
e2b8245f 2112 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
03c05291 2113 {V_CHAR, 1, NFSPHYS_TABLE, "dir"},
2114 {V_LEN, 2, NFSPHYS_TABLE, "device"},
f802fd0d 2115 {V_NUM, 3},
2116 {V_NUM, 4},
2117 {V_NUM, 5},
03c05291 2118};
2119
2120static struct validate anfp_validate = {
2121 anfp_valobj,
d1b3a4bf 2122 6,
e2b8245f 2123 "dir",
03c05291 2124 "mach_id = %d and dir = '%s'",
2125 2,
2126 "nfsphys_id",
d33e787c 2127 0,
03c05291 2128 prefetch_value,
2129 set_nfsphys_modtime,
2130};
2131
2132static struct validate unfp_validate = {
2133 anfp_valobj,
d1b3a4bf 2134 6,
e2b8245f 2135 "dir",
03c05291 2136 "mach_id = %d and dir = '%s'",
2137 2,
2138 "nfsphys_id",
d33e787c 2139 0,
03c05291 2140 0,
2141 set_nfsphys_modtime,
d33e787c 2142};
2143
03c05291 2144static char *ajnf_fields[] = {
e2b8245f 2145 "machine", "dir", "adjustment",
d33e787c 2146};
2147
f802fd0d 2148static struct valobj ajnf_valobj[] = {
f802fd0d 2149 {V_ID, 0, MACHINE_TABLE, NAME, "mach_id", MR_MACHINE},
2150 {V_CHAR, 1, NFSPHYS_TABLE, "dir"},
2151 {V_NUM, 2},
2152};
2153
2154static struct validate ajnf_validate = {
2155 ajnf_valobj,
d1b3a4bf 2156 3,
f802fd0d 2157 "dir",
2158 "mach_id = %d and dir = '%s'",
2159 2,
2160 "nfsphys_id",
2161 0,
2162 0,
2163 set_nfsphys_modtime,
2164};
2165
03c05291 2166static char *dnfp_fields[] = {
e2b8245f 2167 "machine", "dir",
d33e787c 2168};
2169
03c05291 2170static struct validate dnfp_validate = {
d1b3a4bf 2171 anfp_valobj,
2172 2,
e2b8245f 2173 "dir",
03c05291 2174 "mach_id = %d and dir = '%s'",
2175 2,
2176 "nfsphys_id",
66f4a35b 2177 0,
03c05291 2178 setup_dnfp,
2179 set_nfsphys_modtime,
2180};
2181
2182static char *gqot_fields[] = {
e2b8245f 2183 "filesys", "type", "name",
8db06f75 2184 "filesys", "type", "name", "quota", "dir", "machine",
2185 "modtime", "modby", "modwith",
66f4a35b 2186};
2187
03c05291 2188static struct valobj gqot_valobj[] = {
e2b8245f 2189 {V_TYPE, 1, 0, "quota_type", 0, MR_TYPE},
03c05291 2190 {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
03c05291 2191};
2192
2193static struct validate gqot_validate = {
2194 gqot_valobj,
263a36d4 2195 2,
66f4a35b 2196 0,
2197 0,
2198 0,
d33e787c 2199 0,
d33e787c 2200 0,
03c05291 2201 0,
2202 followup_gqot,
d33e787c 2203};
2204
03c05291 2205static char *gqbf_fields[] = {
e2b8245f 2206 "filesys",
8db06f75 2207 "filesys", "type", "name", "quota", "dir", "machine",
2208 "modtime", "modby", "modwith",
d33e787c 2209};
2210
03c05291 2211static struct validate gqbf_validate = {
263a36d4 2212 0,
2213 0,
0c345c78 2214 0,
2215 0,
2216 0,
2217 0,
03c05291 2218 access_filesys,
0c345c78 2219 0,
03c05291 2220 followup_gqot,
d33e787c 2221};
2222
03c05291 2223static char *aqot_fields[] = {
e2b8245f 2224 "filesys", "type", "name", "quota",
d33e787c 2225};
2226
03c05291 2227static struct valobj aqot_valobj[] = {
e2b8245f 2228 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
2229 {V_TYPE, 1, 0, "quota_type", 0, MR_TYPE},
03c05291 2230 {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
f802fd0d 2231 {V_NUM, 3},
d33e787c 2232};
2233
03c05291 2234static struct validate aqot_validate = {
2235 aqot_valobj,
d1b3a4bf 2236 4,
e2b8245f 2237 "filsys_id",
03c05291 2238 "filsys_id = %d and type = '%s' and entity_id = %d",
2239 3,
0c345c78 2240 0,
2241 0,
03c05291 2242 prefetch_filesys,
2243 followup_aqot,
2244};
2245
2246static struct validate uqot_validate = {
2247 aqot_valobj,
d1b3a4bf 2248 4,
e2b8245f 2249 "filsys_id",
03c05291 2250 "filsys_id = %d AND type = '%s' AND entity_id = %d",
2251 3,
2252 0,
0c345c78 2253 0,
03c05291 2254 setup_dqot,
2255 followup_aqot,
2256};
2257
2258static struct validate dqot_validate = {
2259 aqot_valobj,
d1b3a4bf 2260 3,
e2b8245f 2261 "filsys_id",
03c05291 2262 "filsys_id = %d AND type = '%s' AND entity_id = %d",
2263 3,
0c345c78 2264 0,
0c345c78 2265 0,
03c05291 2266 setup_dqot,
2267 followup_dqot,
d33e787c 2268};
2269
03c05291 2270static char *gnfq_fields[] = {
e2b8245f 2271 "filesys", "login",
8db06f75 2272 "filesys", "login", "quota", "dir", "machine",
2273 "modtime", "modby", "modwith",
d33e787c 2274};
2275
03c05291 2276static struct validate gnfq_validate = {
263a36d4 2277 0,
2278 0,
d33e787c 2279 0,
2280 0,
2281 0,
2282 0,
03c05291 2283 access_filesys,
d33e787c 2284 0,
03c05291 2285 followup_gqot,
d33e787c 2286};
2287
03c05291 2288static char *gnqp_fields[] = {
e2b8245f 2289 "machine", "dir",
8db06f75 2290 "filesys", "login", "quota", "dir", "machine",
2291 "modtime", "modby", "modwith",
4ffa124a 2292};
0c345c78 2293
03c05291 2294static char *anfq_fields[] = {
e2b8245f 2295 "filesys", "login", "quota",
d33e787c 2296};
2297
f802fd0d 2298static struct valobj anfq_valobj[] = {
f802fd0d 2299 {V_ID, 0, FILESYS_TABLE, "label", "filsys_id", MR_FILESYS},
2300 {V_ID, 1, USERS_TABLE, "login", "users_id", MR_USER},
2301 {V_NUM, 2},
2302};
2303
03c05291 2304static struct validate anfq_validate = {
f802fd0d 2305 anfq_valobj,
d1b3a4bf 2306 3,
e2b8245f 2307 "filsys_id",
03c05291 2308 "filsys_id = %d AND type = 'USER' AND entity_id = %d",
2309 2,
2310 0, /* object ? */
d33e787c 2311 0,
03c05291 2312 prefetch_filesys,
2313 followup_aqot,
d33e787c 2314};
2315
03c05291 2316static struct validate unfq_validate = {
f802fd0d 2317 anfq_valobj,
d1b3a4bf 2318 3,
e2b8245f 2319 "filsys_id",
03c05291 2320 "filsys_id = %d AND type = 'USER' AND entity_id = %d",
2321 2,
d33e787c 2322 0,
2323 0,
03c05291 2324 setup_dqot,
2325 followup_aqot,
2326};
2327
2328static struct validate dnfq_validate = {
f802fd0d 2329 anfq_valobj,
d1b3a4bf 2330 3,
e2b8245f 2331 "filsys_id",
03c05291 2332 "filsys_id = %d AND entity_id = %d",
2333 2,
d33e787c 2334 0,
d33e787c 2335 0,
03c05291 2336 setup_dqot,
2337 followup_dqot,
d33e787c 2338};
2339
d33e787c 2340static char *gzcl_fields[] = {
e2b8245f 2341 "class",
2342 "class", "xmt_type", "xmt_name", "sub_type", "sub_name",
8db06f75 2343 "iws_type", "iws_name", "iui_type", "iui_name",
2344 "modtime", "modby", "modwith",
d33e787c 2345};
2346
2347static struct validate gzcl_validate = {
263a36d4 2348 0,
2349 0,
d33e787c 2350 0,
2351 0,
2352 0,
2353 0,
2354 0,
2355 0,
2356 followup_gzcl,
2357};
2358
2359static char *azcl_fields[] = {
e2b8245f 2360 "class", "xmt_type", "xmt_name", "sub_type", "sub_name",
0c345c78 2361 "iws_type", "iws_name", "iui_type", "iui_name",
d33e787c 2362};
2363
2364static struct valobj azcl_valobj[] = {
e2b8245f 2365 {V_CHAR, 0, ZEPHYR_TABLE, "class"},
46b6f1f6 2366 {V_TYPE, 1, 0, "zace_type", 0, MR_ACE},
e2b8245f 2367 {V_TYPEDATA, 2, 0, 0, "list_id", MR_ACE},
46b6f1f6 2368 {V_TYPE, 3, 0, "zace_type", 0, MR_ACE},
e2b8245f 2369 {V_TYPEDATA, 4, 0, 0, "list_id", MR_ACE},
46b6f1f6 2370 {V_TYPE, 5, 0, "zace_type", 0, MR_ACE},
e2b8245f 2371 {V_TYPEDATA, 6, 0, 0, "list_id", MR_ACE},
46b6f1f6 2372 {V_TYPE, 7, 0, "zace_type", 0, MR_ACE},
e2b8245f 2373 {V_TYPEDATA, 8, 0, 0, "list_id", MR_ACE},
d33e787c 2374};
2375
2376static struct validate azcl_validate = {
2377 azcl_valobj,
d1b3a4bf 2378 9,
e2b8245f 2379 "class",
03c05291 2380 "class = '%s'",
d33e787c 2381 1,
2382 0,
2383 0,
2384 0,
2385 set_zephyr_modtime,
2386};
2387
2388static char *uzcl_fields[] = {
e2b8245f 2389 "class", "newclass", "xmt_type", "xmt_name", "sub_type", "sub_name",
0c345c78 2390 "iws_type", "iws_name", "iui_type", "iui_name",
d33e787c 2391};
2392
2393static struct valobj uzcl_valobj[] = {
d1b3a4bf 2394 {V_NAME, 0, ZEPHYR_TABLE, "class", 0, MR_BAD_CLASS},
e2b8245f 2395 {V_RENAME, 1, ZEPHYR_TABLE, "class", 0, MR_NOT_UNIQUE},
46b6f1f6 2396 {V_TYPE, 2, 0, "zace_type", 0, MR_ACE},
e2b8245f 2397 {V_TYPEDATA, 3, 0, 0, "list_id", MR_ACE},
46b6f1f6 2398 {V_TYPE, 4, 0, "zace_type", 0, MR_ACE},
e2b8245f 2399 {V_TYPEDATA, 5, 0, 0, "list_id", MR_ACE},
46b6f1f6 2400 {V_TYPE, 6, 0, "zace_type", 0, MR_ACE},
e2b8245f 2401 {V_TYPEDATA, 7, 0, 0, "list_id", MR_ACE},
46b6f1f6 2402 {V_TYPE, 8, 0, "zace_type", 0, MR_ACE},
e2b8245f 2403 {V_TYPEDATA, 9, 0, 0, "list_id", MR_ACE},
d33e787c 2404};
2405
2406static struct validate uzcl_validate = {
2407 uzcl_valobj,
d1b3a4bf 2408 10,
e2b8245f 2409 "class",
3e8c655c 2410 "class = '%s'",
d33e787c 2411 1,
2412 0,
2413 0,
2414 0,
2415 set_zephyr_modtime,
2416};
2417
2418static struct validate dzcl_validate = {
2419 0,
2420 0,
e2b8245f 2421 "class",
73043086 2422 "class = '%s'",
d33e787c 2423 1,
2424 0,
2425 0,
2426 0,
2427 0,
2428};
2429
03c05291 2430static char *gsha_fields[] = {
e2b8245f 2431 "machine",
8db06f75 2432 "machine", "ace_type", "ace_name", "modtime", "modby", "modwith",
03c05291 2433};
2434
5eaef520 2435static struct validate gsha_validate =
03c05291 2436{
263a36d4 2437 0,
2438 0,
03c05291 2439 0,
2440 0,
2441 0,
2442 0,
2443 0,
2444 0,
2445 followup_gsha,
2446};
2447
2448static char *asha_fields[] = {
e2b8245f 2449 "machine", "ace_type", "ace_name",
03c05291 2450};
2451
2452static struct valobj asha_valobj[] = {
e2b8245f 2453 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
e2b8245f 2454 {V_TYPE, 1, 0, "ace_type", 0, MR_ACE},
03c05291 2455 {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
2456};
2457
5eaef520 2458static struct validate asha_validate =
03c05291 2459{
2460 asha_valobj,
d1b3a4bf 2461 3,
e2b8245f 2462 "mach_id",
03c05291 2463 "mach_id = %d",
2464 1,
e2b8245f 2465 "mach_id",
03c05291 2466 0,
2467 0,
2468 set_modtime_by_id,
2469};
2470
46b6f1f6 2471static char *gacl_fields[] = {
2472 "machine", "target",
2473 "machine", "target", "kind", "list",
2474};
2475
2476static char *aacl_fields[] = {
2477 "machine", "target", "kind", "list",
2478};
2479
2480static char *dacl_fields[] = {
2481 "machine", "target",
2482};
2483
2484static struct valobj aacl_valobj[] = {
2485 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2486 {V_CHAR, 1, ACL_TABLE, "target"},
2487 {V_TYPE, 2, 0, "acl_kind", 0, MR_TYPE},
2488 {V_ID, 3, LIST_TABLE, "name", "list_id", MR_LIST},
2489};
2490
2491static struct validate gacl_validate =
2492{
2493 aacl_valobj,
2494 1,
2495 NULL,
2496 NULL,
2497 0,
2498 "mach_id",
2499 /* access_acl */ 0,
2500 0,
2501 0,
2502};
2503
2504static struct validate aacl_validate =
2505{
2506 aacl_valobj,
2507 4,
2508 "mach_id",
2509 "mach_id = %d AND target = '%s'",
2510 2,
2511 "mach_id",
2512 /* access_acl */ 0,
2513 0,
2514 0,
2515};
2516
fd5b2340 2517static char *gsvc_fields[] = {
69eb9470 2518 "service", "protocol",
8db06f75 2519 "service", "protocol", "port", "description", "modtime", "modby", "modwith",
d33e787c 2520};
2521
fd5b2340 2522static char *asvc_fields[] = {
e2b8245f 2523 "service", "protocol", "port", "description",
fd5b2340 2524};
2525
69eb9470 2526static char *dsvc_fields[] = {
2527 "service", "protocol",
2528};
2529
03c05291 2530static struct valobj asvc_valobj[] = {
e2b8245f 2531 {V_CHAR, 0, SERVICES_TABLE, "name"},
03c05291 2532 {V_CHAR, 1, SERVICES_TABLE, "protocol"},
f802fd0d 2533 {V_NUM, 2},
e2b8245f 2534 {V_CHAR, 3, SERVICES_TABLE, "description"},
03c05291 2535};
2536
fd5b2340 2537static struct validate asvc_validate = {
03c05291 2538 asvc_valobj,
f802fd0d 2539 4,
e2b8245f 2540 "name",
69eb9470 2541 "name = '%s' AND protocol = '%s'",
2542 2,
2543 0,
2544 0,
2545 0,
2546 set_service_modtime,
2547};
2548
2549static struct validate dsvc_validate = {
2550 asvc_valobj,
2551 2,
2552 "name",
2553 "name = '%s' AND protocol = '%s'",
2554 2,
2555 0,
fd5b2340 2556 0,
2557 0,
2558 0,
fd5b2340 2559};
2560
2884200f 2561static char *gprn_fields[] = {
2562 "name",
2563 "name", "type", "hwtype", "duplexname", "hostname",
2564 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2565 "banner", "location", "contact", "modtime", "modby", "modwith"
d33e787c 2566};
2567
2884200f 2568static char *gpbd_fields[] = {
2569 "duplexname",
2570 "name", "type", "hwtype", "duplexname", "hostname",
2571 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2572 "banner", "location", "contact", "modtime", "modby", "modwith"
d4462d4f 2573};
2574
2884200f 2575static char *gpbe_fields[] = {
2576 "hwaddr",
2577 "name", "type", "hwtype", "duplexname", "hostname",
2578 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2579 "banner", "location", "contact", "modtime", "modby", "modwith"
fad88070 2580};
2581
2884200f 2582static char *gpbh_fields[] = {
2583 "hostname",
2584 "name", "type", "hwtype", "duplexname", "hostname",
2585 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2586 "banner", "location", "contact", "modtime", "modby", "modwith"
d33e787c 2587};
2588
2884200f 2589static char *gpbr_fields[] = {
2590 "rm",
2591 "name", "type", "hwtype", "duplexname", "hostname",
2592 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2593 "banner", "location", "contact", "modtime", "modby", "modwith"
d33e787c 2594};
2595
2884200f 2596static char *gpbl_fields[] = {
2597 "location",
2598 "name", "type", "hwtype", "duplexname", "hostname",
2599 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2600 "banner", "location", "contact", "modtime", "modby", "modwith"
fd5b2340 2601};
2602
2884200f 2603static char *gpbc_fields[] = {
2604 "contact",
2605 "name", "type", "hwtype", "duplexname", "hostname",
2606 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2607 "banner", "location", "contact", "modtime", "modby", "modwith"
012fc215 2608};
2609
2884200f 2610static char *aprn_fields[] = {
2611 "printer", "type", "hwtype", "duplexname", "hostname",
2612 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
e5a63571 2613 "banner", "location", "contact",
03c05291 2614};
012fc215 2615
2884200f 2616static struct valobj aprn_valobj[] = {
2617 {V_CHAR, 0, PRINTERS_TABLE, "name"},
2618 {V_TYPE, 1, 0, "printertype", 0, MR_TYPE},
2619 {V_TYPE, 2, 0, "printerhwtype", 0, MR_TYPE},
2620 {V_CHAR, 3, PRINTERS_TABLE, "duplexname"},
2621 {V_ID, 4, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2622 {V_ID, 5, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2623 {V_ID, 6, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2624 {V_CHAR, 7, PRINTERS_TABLE, "rp"},
2625 {V_ID, 8, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2626 {V_NUM, 9},
2627 {V_NUM, 10},
2628 {V_ID, 11, LIST_TABLE, "name", "list_id", MR_LIST},
2629 {V_ID, 12, LIST_TABLE, "name", "list_id", MR_LIST},
e5a63571 2630 {V_NUM, 13},
2631 {V_CHAR, 14, PRINTERS_TABLE, "location"},
2632 {V_CHAR, 15, PRINTERS_TABLE, "contact"},
012fc215 2633};
2634
2884200f 2635static struct validate aprn_validate = {
2636 aprn_valobj,
e5a63571 2637 16,
e2b8245f 2638 "name",
03c05291 2639 "name = '%s'",
012fc215 2640 1,
2641 0,
1a9a0a59 2642 access_printer,
2643 setup_aprn,
2644 set_modtime,
2645};
2646
2647static char *uprn_fields[] = {
2648 "printer",
2649 "printer", "type", "hwtype", "duplexname", "hostname",
2650 "loghost", "rm", "rp", "rq", "ka", "pc", "ac", "lpc_acl",
2651 "banner", "location", "contact",
2652};
2653
2654static struct valobj uprn_valobj[] = {
2655 {V_CHAR, 0, PRINTERS_TABLE, "name"},
2656 {V_CHAR, 1, PRINTERS_TABLE, "name"},
2657 {V_TYPE, 2, 0, "printertype", 0, MR_TYPE},
2658 {V_TYPE, 3, 0, "printerhwtype", 0, MR_TYPE},
2659 {V_CHAR, 4, PRINTERS_TABLE, "duplexname"},
2660 {V_ID, 5, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2661 {V_ID, 6, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2662 {V_ID, 7, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2663 {V_CHAR, 8, PRINTERS_TABLE, "rp"},
2664 {V_ID, 9, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2665 {V_NUM, 10},
2666 {V_NUM, 11},
2667 {V_ID, 12, LIST_TABLE, "name", "list_id", MR_LIST},
2668 {V_ID, 13, LIST_TABLE, "name", "list_id", MR_LIST},
2669 {V_NUM, 14},
2670 {V_CHAR, 15, PRINTERS_TABLE, "location"},
2671 {V_CHAR, 16, PRINTERS_TABLE, "contact"},
2672};
2673
2674static struct validate uprn_validate = {
2675 uprn_valobj,
2676 16,
2677 "name",
2678 "name = '%s'",
2679 1,
012fc215 2680 0,
1a9a0a59 2681 access_printer,
2884200f 2682 setup_aprn,
1a9a0a59 2683 set_modtime,
012fc215 2684};
2685
2884200f 2686static struct validate dprn_validate = {
012fc215 2687 0,
2688 0,
e2b8245f 2689 "name",
3e8c655c 2690 "name = '%s'",
012fc215 2691 1,
2692 0,
1a9a0a59 2693 access_printer,
2694 0,
2695 0,
2696};
2697
2698static char *gpsv_fields[] = {
2699 "host",
2700 "host", "kind", "printer_types", "owner_type", "owner_name",
2701 "lpc_acl", "modtime", "modby", "modwith"
2702};
2703
2704static struct valobj gpsv_valobj[] = {
2705 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2706};
2707
2708static struct validate gpsv_validate = {
2709 gpsv_valobj,
2710 1,
2711 0,
2712 0,
2713 0,
2714 0,
2715 0,
2716 0,
2717 followup_gpsv,
2718};
2719
2720static char *apsv_fields[] = {
2721 "host", "kind", "printer_types", "owner_type", "owner_name", "lpc_acl"
2722};
2723
2724static struct valobj apsv_valobj[] = {
2725 {V_ID, 0, MACHINE_TABLE, "name", "mach_id", MR_MACHINE},
2726 {V_TYPE, 1, 0, "lpd_kind", 0, MR_TYPE},
2727 {V_ID, 2, STRINGS_TABLE, "string", "string_id", MR_STRING},
2728 {V_TYPE, 3, 0, "ace_type", 0, MR_ACE},
2729 {V_TYPEDATA, 4, 0, 0, 0, MR_ACE},
2730 {V_ID, 5, LIST_TABLE, "name", "list_id", MR_LIST},
2731};
2732
2733static struct validate apsv_validate = {
2734 apsv_valobj,
2735 6,
2736 "mach_id",
2737 "mach_id = %d",
2738 1,
2739 "mach_id",
012fc215 2740 0,
2741 0,
1a9a0a59 2742 set_modtime_by_id,
012fc215 2743};
2744
1a9a0a59 2745static char *dpsv_fields[] = {
2746 "host",
2747};
2748
2749static struct validate dpsv_validate = {
2750 gpsv_valobj,
2751 1,
2752 "mach_id",
2753 "mach_id = %d",
2754 1,
2755 0,
2756 0,
2757 setup_dpsv,
2758 0,
2759};
2760
d33e787c 2761static char *gali_fields[] = {
e2b8245f 2762 "name", "type", "trans",
2763 "name", "type", "trans",
d33e787c 2764};
2765
2766static char *aali_fields[] = {
e2b8245f 2767 "name", "type", "trans",
d33e787c 2768};
2769
2770static struct valobj aali_valobj[] = {
e2b8245f 2771 {V_CHAR, 0, ALIAS_TABLE, "name"},
2772 {V_TYPE, 1, 0, "alias", 0, MR_TYPE},
03c05291 2773 {V_CHAR, 2, ALIAS_TABLE, "trans"},
d33e787c 2774};
2775
2776static struct validate aali_validate = {
2777 aali_valobj,
2778 3,
2779 "trans",
03c05291 2780 "name = '%s' and type = '%s' and trans = '%s'",
d33e787c 2781 3,
2782 0,
2783 0,
2784 0,
2785 0,
2786};
2787
2788static struct validate dali_validate = /* DELETE_ALIAS */
2789{
2790 0,
2791 0,
2792 "trans",
73043086 2793 "name = '%s' and type = '%s' and trans = '%s'",
d33e787c 2794 3,
2795 0,
2796 0,
2797 0,
2798 0,
2799};
2800
2801static char *gval_fields[] = {
e2b8245f 2802 "name", "value",
d33e787c 2803};
2804
2805static struct valobj gval_valobj[] = {
e2b8245f 2806 {V_NAME, 0, NUMVALUES_TABLE, "name", 0, MR_NO_MATCH},
d33e787c 2807};
2808
2809static struct validate gval_validate = {
2810 gval_valobj,
2811 1,
2812 0,
2813 0,
2814 0,
2815 0,
2816 0,
2817 0,
2818 0,
2819};
2820
2821static char *aval_fields[] = {
e2b8245f 2822 "name", "value",
d33e787c 2823};
2824
03c05291 2825static struct valobj aval_valobj[] = {
e2b8245f 2826 {V_CHAR, 0, NUMVALUES_TABLE, "name"},
f802fd0d 2827 {V_NUM, 1},
03c05291 2828};
2829
d33e787c 2830static struct validate aval_validate = /* for aval, uval, and dval */
2831{
03c05291 2832 aval_valobj,
f802fd0d 2833 2,
e2b8245f 2834 "name",
03c05291 2835 "name = '%s'",
d33e787c 2836 1,
2837 0,
2838 0,
2839 0,
2840 0,
2841};
2842
2843static char *dval_fields[] = {
e2b8245f 2844 "name",
d33e787c 2845};
2846
2847static char *gats_fields[] = {
8db06f75 2848 "table_name", "appends", "updates", "deletes",
2849 "modtime", "modby", "modwith",
d33e787c 2850};
2851
2962e9ec 2852static char *_sdl_fields[] = {
5eaef520 2853 "level",
2962e9ec 2854};
2855
5eaef520 2856static struct validate _sdl_validate =
2962e9ec 2857{
f802fd0d 2858 VOnum0,
2859 1,
7ac48069 2860 NULL,
2861 NULL,
5eaef520 2862 0,
2863 0,
2864 0,
2865 0,
2866 _sdl_followup,
2962e9ec 2867};
2868
d33e787c 2869
2870\f
2871/* Generalized Query Definitions */
2872
c44ddfa7 2873/* Multiple versions of the same query MUST be listed in ascending
2874 * order.
2875 */
2876
e41960ac 2877/* Note: For any query which uses prefetch_value, the vcnt should be
2878 * one less than the number of %-format specifiers in the tlist.
2879 */
2880
c44ddfa7 2881struct query Queries[] = {
d33e787c 2882 {
186dd63b 2883 /* Q_GALO - GET_ALL_LOGINS, v2 */
d33e787c 2884 "get_all_logins",
2885 "galo",
c44ddfa7 2886 2,
d33e787c 2887 RETRIEVE,
2888 "u",
03c05291 2889 USERS_TABLE,
2890 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
186dd63b 2891 galo2_fields,
d33e787c 2892 6,
0c345c78 2893 "u.users_id != 0",
d33e787c 2894 0,
29028043 2895 "u.login",
2896 0,
d33e787c 2897 },
5eaef520 2898
d33e787c 2899 {
186dd63b 2900 /* Q_GALO - GET_ALL_LOGINS, v3 */
2901 "get_all_logins",
2902 "galo",
2903 3,
2904 RETRIEVE,
2905 "u",
2906 USERS_TABLE,
2907 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle FROM users u",
2908 galo_fields,
2909 7,
2910 "u.users_id != 0",
2911 0,
2912 "u.login",
2913 0,
2914 },
2915
2916 {
2917 /* Q_GAAL - GET_ALL_ACTIVE_LOGINS, v2 */
d33e787c 2918 "get_all_active_logins",
2919 "gaal",
c44ddfa7 2920 2,
d33e787c 2921 RETRIEVE,
2922 "u",
03c05291 2923 USERS_TABLE,
2924 "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
186dd63b 2925 galo2_fields,
d33e787c 2926 6,
0c345c78 2927 "u.status = 1",
d33e787c 2928 0,
29028043 2929 "u.login",
2930 0,
d33e787c 2931 },
5eaef520 2932
4ffa124a 2933 {
186dd63b 2934 /* Q_GAAL - GET_ALL_ACTIVE_LOGINS, v3 */
2935 "get_all_active_logins",
2936 "gaal",
2937 3,
2938 RETRIEVE,
2939 "u",
2940 USERS_TABLE,
2941 "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle FROM users u",
2942 galo_fields,
2943 7,
2944 "u.status = 1",
2945 0,
2946 "u.login",
2947 0,
2948 },
2949
2950 {
2951 /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v2 */
0c345c78 2952 "get_user_account_by_login",
2953 "gual",
c44ddfa7 2954 2,
0c345c78 2955 RETRIEVE,
2956 "u",
03c05291 2957 USERS_TABLE,
d55429b2 2958 "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",
186dd63b 2959 gual2_fields,
0c345c78 2960 15,
263a36d4 2961 "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 2962 1,
29028043 2963 "u.login",
0c345c78 2964 &gubl_validate,
4ffa124a 2965 },
5eaef520 2966
4ffa124a 2967 {
186dd63b 2968 /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v3 */
2969 "get_user_account_by_login",
2970 "gual",
2971 3,
2972 RETRIEVE,
2973 "u",
2974 USERS_TABLE,
2975 "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 FROM users u, strings str",
2976 gual_fields,
2977 16,
2978 "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
2979 1,
2980 "u.login",
2981 &gubl_validate,
2982 },
2983
2984 {
2985 /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v2 */
0c345c78 2986 "get_user_account_by_uid",
2987 "guau",
c44ddfa7 2988 2,
0c345c78 2989 RETRIEVE,
2990 "u",
03c05291 2991 USERS_TABLE,
d55429b2 2992 "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",
186dd63b 2993 guau2_fields,
0c345c78 2994 15,
03c05291 2995 "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 2996 1,
29028043 2997 "u.login",
0c345c78 2998 &gubu_validate,
4ffa124a 2999 },
5eaef520 3000
4ffa124a 3001 {
186dd63b 3002 /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v3 */
3003 "get_user_account_by_uid",
3004 "guau",
3005 3,
3006 RETRIEVE,
3007 "u",
3008 USERS_TABLE,
3009 "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 FROM users u, strings str",
3010 guau_fields,
3011 16,
3012 "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
3013 1,
3014 "u.login",
3015 &gubu_validate,
3016 },
3017
3018 {
3019 /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v2 */
0c345c78 3020 "get_user_account_by_name",
3021 "guan",
c44ddfa7 3022 2,
0c345c78 3023 RETRIEVE,
3024 "u",
03c05291 3025 USERS_TABLE,
d55429b2 3026 "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",
186dd63b 3027 guan2_fields,
0c345c78 3028 15,
263a36d4 3029 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
0c345c78 3030 2,
29028043 3031 "u.login",
60452f41 3032 &guan_validate,
4ffa124a 3033 },
5eaef520 3034
4ffa124a 3035 {
186dd63b 3036 /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v3 */
3037 "get_user_account_by_name",
3038 "guan",
3039 3,
3040 RETRIEVE,
3041 "u",
3042 USERS_TABLE,
3043 "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 FROM users u, strings str",
3044 guan_fields,
3045 16,
3046 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
3047 2,
3048 "u.login",
3049 &guan_validate,
3050 },
3051
3052 {
3053 /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v2 */
0c345c78 3054 "get_user_account_by_class",
3055 "guac",
c44ddfa7 3056 2,
0c345c78 3057 RETRIEVE,
3058 "u",
03c05291 3059 USERS_TABLE,
d55429b2 3060 "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",
186dd63b 3061 guac2_fields,
0c345c78 3062 15,
03c05291 3063 "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 3064 1,
29028043 3065 "u.login",
3066 &VDfix_modby,
4ffa124a 3067 },
5eaef520 3068
4ffa124a 3069 {
186dd63b 3070 /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v3 */
3071 "get_user_account_by_class",
3072 "guac",
3073 3,
3074 RETRIEVE,
3075 "u",
3076 USERS_TABLE,
3077 "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 FROM users u, strings str",
3078 guac_fields,
3079 16,
3080 "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
3081 1,
3082 "u.login",
3083 &VDfix_modby,
3084 },
3085
3086 {
3087 /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v2 */
0c345c78 3088 "get_user_account_by_id",
3089 "guai",
c44ddfa7 3090 2,
0c345c78 3091 RETRIEVE,
3092 "u",
03c05291 3093 USERS_TABLE,
d55429b2 3094 "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",
186dd63b 3095 guam2_fields,
0c345c78 3096 15,
263a36d4 3097 "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
0c345c78 3098 1,
29028043 3099 "u.login",
263a36d4 3100 &VDfix_modby,
4ffa124a 3101 },
5eaef520 3102
d33e787c 3103 {
186dd63b 3104 /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v3 */
3105 "get_user_account_by_id",
3106 "guai",
3107 3,
3108 RETRIEVE,
3109 "u",
3110 USERS_TABLE,
3111 "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 FROM users u, strings str",
3112 guam_fields,
3113 16,
3114 "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
3115 1,
3116 "u.login",
3117 &VDfix_modby,
3118 },
3119
3120 {
3121 /* Q_GUBL - GET_USER_BY_LOGIN, v2 */
d33e787c 3122 "get_user_by_login",
3123 "gubl",
c44ddfa7 3124 2,
d33e787c 3125 RETRIEVE,
3126 "u",
5eaef520 3127 USERS_TABLE,
03c05291 3128 "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",
186dd63b 3129 gubl2_fields,
d33e787c 3130 12,
263a36d4 3131 "u.login LIKE '%s' AND u.users_id != 0",
d33e787c 3132 1,
29028043 3133 "u.login",
f9f5c199 3134 &gubl_validate,
d33e787c 3135 },
5eaef520 3136
d33e787c 3137 {
186dd63b 3138 /* Q_GUBL - GET_USER_BY_LOGIN, v3 */
3139 "get_user_by_login",
3140 "gubl",
3141 3,
3142 RETRIEVE,
3143 "u",
3144 USERS_TABLE,
3145 "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 FROM users u",
3146 gubl_fields,
3147 13,
3148 "u.login LIKE '%s' AND u.users_id != 0",
3149 1,
3150 "u.login",
3151 &gubl_validate,
3152 },
3153
3154 {
3155 /* Q_GUBU - GET_USER_BY_UID, v2 */
d33e787c 3156 "get_user_by_uid",
3157 "gubu",
c44ddfa7 3158 2,
d33e787c 3159 RETRIEVE,
3160 "u",
03c05291 3161 USERS_TABLE,
3162 "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",
186dd63b 3163 gubu2_fields,
d33e787c 3164 12,
03c05291 3165 "u.unix_uid = %s AND u.users_id != 0",
d33e787c 3166 1,
29028043 3167 "u.login",
f9f5c199 3168 &gubu_validate,
d33e787c 3169 },
5eaef520 3170
d33e787c 3171 {
186dd63b 3172 /* Q_GUBU - GET_USER_BY_UID, v3 */
3173 "get_user_by_uid",
3174 "gubu",
3175 3,
3176 RETRIEVE,
3177 "u",
3178 USERS_TABLE,
3179 "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 FROM users u",
3180 gubu_fields,
3181 13,
3182 "u.unix_uid = %s AND u.users_id != 0",
3183 1,
3184 "u.login",
3185 &gubu_validate,
3186 },
3187
3188 {
3189 /* Q_GUBN - GET_USER_BY_NAME, v2 */
d33e787c 3190 "get_user_by_name",
3191 "gubn",
c44ddfa7 3192 2,
d33e787c 3193 RETRIEVE,
3194 "u",
03c05291 3195 USERS_TABLE,
3196 "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",
186dd63b 3197 gubn2_fields,
d33e787c 3198 12,
263a36d4 3199 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0",
d33e787c 3200 2,
29028043 3201 "u.login",
99e09b48 3202 &gubn_validate,
d33e787c 3203 },
5eaef520 3204
d33e787c 3205 {
186dd63b 3206 /* Q_GUBN - GET_USER_BY_NAME, v3 */
3207 "get_user_by_name",
3208 "gubn",
3209 3,
3210 RETRIEVE,
3211 "u",
3212 USERS_TABLE,
3213 "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 FROM users u",
3214 gubn_fields,
3215 13,
3216 "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0",
3217 2,
3218 "u.login",
3219 &gubn_validate,
3220 },
3221
3222 {
3223 /* Q_GUBC - GET_USER_BY_CLASS, v2 */
d33e787c 3224 "get_user_by_class",
3225 "gubc",
c44ddfa7 3226 2,
d33e787c 3227 RETRIEVE,
3228 "u",
03c05291 3229 USERS_TABLE,
3230 "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",
186dd63b 3231 gubc2_fields,
d33e787c 3232 12,
03c05291 3233 "u.type = UPPER('%s') AND u.users_id != 0",
d33e787c 3234 1,
29028043 3235 "u.login",
3236 &VDfix_modby,
d33e787c 3237 },
5eaef520 3238
d33e787c 3239 {
186dd63b 3240 /* Q_GUBC - GET_USER_BY_CLASS, v3 */
3241 "get_user_by_class",
3242 "gubc",
3243 3,
3244 RETRIEVE,
3245 "u",
3246 USERS_TABLE,
3247 "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 FROM users u",
3248 gubc_fields,
3249 13,
3250 "u.type = UPPER('%s') AND u.users_id != 0",
3251 1,
3252 "u.login",
3253 &VDfix_modby,
3254 },
3255
3256 {
3257 /* Q_GUBM - GET_USER_BY_MITID, v2 */
d33e787c 3258 "get_user_by_mitid",
3259 "gubm",
c44ddfa7 3260 2,
d33e787c 3261 RETRIEVE,
3262 "u",
03c05291 3263 USERS_TABLE,
3264 "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",
186dd63b 3265 gubm2_fields,
d33e787c 3266 12,
263a36d4 3267 "u.clearid LIKE '%s' AND u.users_id != 0",
d33e787c 3268 1,
29028043 3269 "u.login",
263a36d4 3270 &VDfix_modby,
d33e787c 3271 },
5eaef520 3272
4ffa124a 3273 {
186dd63b 3274 /* Q_GUBM - GET_USER_BY_MITID, v3 */
3275 "get_user_by_mitid",
3276 "gubm",
3277 3,
3278 RETRIEVE,
3279 "u",
3280 USERS_TABLE,
3281 "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 FROM users u",
3282 gubm_fields,
3283 13,
3284 "u.clearid LIKE '%s' AND u.users_id != 0",
3285 1,
3286 "u.login",
3287 &VDfix_modby,
3288 },
3289
3290 {
3291 /* Q_AUAC - ADD_USER_ACCOUNT, v2 */ /* uses prefetch_value() for users_id */
4ffa124a 3292 "add_user_account",
3293 "auac",
c44ddfa7 3294 2,
4ffa124a 3295 APPEND,
3296 "u",
03c05291 3297 USERS_TABLE,
d55429b2 3298 /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
3299 * but using up one argv element.
3300 */
3301 "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)",
186dd63b 3302 auac2_fields,
4ffa124a 3303 12,
7ac48069 3304 NULL,
4ffa124a 3305 0,
29028043 3306 NULL,
186dd63b 3307 &auac2_validate,
3308 },
3309
3310 {
3311 /* Q_AUAC - ADD_USER_ACCOUNT, v3 */ /* uses prefetch_value() for users_id */
3312 "add_user_account",
3313 "auac",
3314 3,
3315 APPEND,
3316 "u",
3317 USERS_TABLE,
3318 /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
3319 * but using up one argv element.
3320 */
3321 "INTO users (login, unix_uid, shell, winconsoleshell, 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)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', %d, NVL(CHR(0), '%s'), %s, %s)",
3322 auac_fields,
3323 13,
3324 NULL,
3325 0,
3326 NULL,
4ffa124a 3327 &auac_validate,
3328 },
5eaef520 3329
d33e787c 3330 {
186dd63b 3331 /* Q_AUSR - ADD_USER, v2 */ /* uses prefetch_value() for users_id */
d33e787c 3332 "add_user",
3333 "ausr",
c44ddfa7 3334 2,
d33e787c 3335 APPEND,
3336 "u",
03c05291 3337 USERS_TABLE,
5eaef520 3338 "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)",
186dd63b 3339 auac2_fields,
d33e787c 3340 9,
45bf7573 3341 0,
d33e787c 3342 0,
29028043 3343 NULL,
186dd63b 3344 &ausr2_validate,
3345 },
3346
3347 {
3348 /* Q_AUSR - ADD_USER, v3 */ /* uses prefetch_value() for users_id */
3349 "add_user",
3350 "ausr",
3351 3,
3352 APPEND,
3353 "u",
3354 USERS_TABLE,
3355 "INTO users (login, unix_uid, shell, winconsoleshell, 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)",
3356 auac_fields,
3357 10,
3358 0,
3359 0,
3360 NULL,
d33e787c 3361 &ausr_validate,
3362 },
5eaef520 3363
d33e787c 3364 {
3365 /* Q_RUSR - REGISTER_USER */
3366 "register_user",
3367 "rusr",
c44ddfa7 3368 2,
d33e787c 3369 APPEND,
3370 0,
3371 0,
3372 0,
3373 rusr_fields,
3374 3,
3375 0,
3376 0,
29028043 3377 NULL,
d33e787c 3378 &rusr_validate,
3379 },
5eaef520 3380
4ffa124a 3381 {
186dd63b 3382 /* Q_UUAC - UPDATE_USER_ACCOUNT, v2 */
4ffa124a 3383 "update_user_account",
3384 "uuac",
c44ddfa7 3385 2,
4ffa124a 3386 UPDATE,
3387 "u",
03c05291 3388 USERS_TABLE,
d55429b2 3389 /* See comment in auac about signature. */
3390 "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",
186dd63b 3391 uuac2_fields,
4ffa124a 3392 12,
3393 "users_id = %d",
3394 1,
29028043 3395 NULL,
186dd63b 3396 &uuac2_validate,
3397 },
3398
3399 {
3400 /* Q_UUAC - UPDATE_USER_ACCOUNT, v3 */
3401 "update_user_account",
3402 "uuac",
3403 3,
3404 UPDATE,
3405 "u",
3406 USERS_TABLE,
3407 /* See comment in auac about signature. */
3408 "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",
3409 uuac_fields,
3410 13,
3411 "users_id = %d",
3412 1,
3413 NULL,
4ffa124a 3414 &uuac_validate,
3415 },
5eaef520 3416
d33e787c 3417 {
186dd63b 3418 /* Q_UUSR - UPDATE_USER, v2 */
d33e787c 3419 "update_user",
3420 "uusr",
c44ddfa7 3421 2,
d33e787c 3422 UPDATE,
3423 "u",
03c05291 3424 USERS_TABLE,
5eaef520 3425 "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'",
186dd63b 3426 uuac2_fields,
d33e787c 3427 9,
4e5ec77f 3428 "users_id = %d",
d33e787c 3429 1,
29028043 3430 NULL,
186dd63b 3431 &uusr2_validate,
3432 },
3433
3434 {
3435 /* Q_UUSR - UPDATE_USER, v3 */
3436 "update_user",
3437 "uusr",
3438 3,
3439 UPDATE,
3440 "u",
3441 USERS_TABLE,
3442 "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'",
3443 uuac_fields,
3444 10,
3445 "users_id = %d",
3446 1,
3447 NULL,
d33e787c 3448 &uusr_validate,
3449 },
3450
3451 {
3452 /* Q_UUSH - UPDATE_USER_SHELL */
3453 "update_user_shell",
3454 "uush",
c44ddfa7 3455 2,
d33e787c 3456 UPDATE,
3457 "u",
03c05291 3458 USERS_TABLE,
5eaef520 3459 "users SET shell = '%s'",
d33e787c 3460 uush_fields,
3461 1,
4e5ec77f 3462 "users_id = %d",
d33e787c 3463 1,
29028043 3464 NULL,
d33e787c 3465 &uush_validate,
3466 },
3467
29dbfca4 3468 {
3469 /* Q_UUWS - UPDATE_USER_WINDOWS_SHELL */
3470 "update_user_windows_shell",
3471 "uuws",
3472 2,
3473 UPDATE,
3474 "u",
3475 USERS_TABLE,
3476 "users SET winconsoleshell = '%s'",
3477 uuws_fields,
3478 1,
3479 "users_id = %d",
3480 1,
3481 NULL,
3482 &uuws_validate,
3483 },
3484
d33e787c 3485 {
3486 /* Q_UUST - UPDATE_USER_STATUS */
3487 "update_user_status",
3488 "uust",
c44ddfa7 3489 2,
d33e787c 3490 UPDATE,
3491 "u",
03c05291 3492 USERS_TABLE,
4e5ec77f 3493 "users SET status = %s",
d33e787c 3494 uust_fields,
3495 1,
4e5ec77f 3496 "users_id = %d",
d33e787c 3497 1,
29028043 3498 NULL,
d33e787c 3499 &uust_validate,
3500 },
3501
4ffa124a 3502 {
3503 /* Q_UUSS - UPDATE_USER_SECURITY_STATUS */
3504 "update_user_security_status",
3505 "uuss",
c44ddfa7 3506 2,
4ffa124a 3507 UPDATE,
3508 "u",
03c05291 3509 USERS_TABLE,
135dcb80 3510 "users SET secure = %s",
4ffa124a 3511 uuss_fields,
3512 1,
3513 "users_id = %d",
3514 1,
29028043 3515 NULL,
4ffa124a 3516 &uust_validate,
3517 },
5eaef520 3518
d33e787c 3519 {
5eaef520 3520 /* Q_DUSR - DELETE_USER */
d33e787c 3521 "delete_user",
3522 "dusr",
c44ddfa7 3523 2,
d33e787c 3524 DELETE,
3525 "u",
03c05291 3526 USERS_TABLE,
7ac48069 3527 NULL,
d33e787c 3528 dusr_fields,
3529 0,
4e5ec77f 3530 "users_id = %d",
d33e787c 3531 1,
29028043 3532 NULL,
d33e787c 3533 &dusr_validate,
3534 },
3535
77eb4bdf 3536 {
3537 /* Q_AURV - ADD_USER_RESERVATION */
3538 "add_user_reservation",
3539 "aurv",
3540 2,
3541 UPDATE,
3542 0,
3543 USERS_TABLE,
3544 0,
3545 aurv_fields,
3546 2,
3547 0,
3548 0,
3549 NULL,
3550 &aurv_validate,
3551 },
3552
3553 {
3554 /* Q_GURV - GET_USER_RESERVATIONS */
3555 "get_user_reservations",
3556 "gurv",
3557 2,
3558 RETRIEVE,
3559 0,
3560 USERS_TABLE,
3561 0,
3562 gurv_fields,
3563 2,
3564 0,
3565 1,
3566 NULL,
3567 &gurv_validate,
3568 },
3569
3570 {
3571 /* Q_GUBR - GET_USER_BY_RESERVATION */
3572 "get_user_by_reservation",
3573 "gubr",
3574 2,
3575 RETRIEVE,
3576 0,
3577 USERS_TABLE,
3578 0,
3579 gubr_fields,
3580 1,
3581 0,
3582 1,
3583 NULL,
3584 &gubr_validate,
3585 },
3586
3587 {
3588 /* Q_DURV - DELETE_USER_RESERVATION */
3589 "delete_user_reservation",
3590 "durv",
3591 2,
3592 UPDATE,
3593 0,
3594 USERS_TABLE,
3595 0,
3596 aurv_fields,
3597 2,
3598 0,
3599 0,
3600 NULL,
3601 &aurv_validate,
3602 },
3603
012fc215 3604 {
5eaef520 3605 /* Q_GKUM - GET_KERBEROS_USER_MAP */
012fc215 3606 "get_kerberos_user_map",
3607 "gkum",
c44ddfa7 3608 2,
012fc215 3609 RETRIEVE,
3610 "k",
03c05291 3611 KRBMAP_TABLE,
3612 "u.login, str.string FROM krbmap km, users u, strings str",
012fc215 3613 gkum_fields,
3614 2,
263a36d4 3615 "u.login LIKE '%s' AND str.string LIKE '%s' AND km.users_id = u.users_id AND km.string_id = str.string_id",
012fc215 3616 2,
29028043 3617 "u.login, str.string",
263a36d4 3618 NULL,
012fc215 3619 },
3620
3621 {
3622 /* Q_AKUM - ADD_KERBEROS_USER_MAP */
3623 "add_kerberos_user_map",
3624 "akum",
c44ddfa7 3625 2,
012fc215 3626 APPEND,
3627 "k",
03c05291 3628 KRBMAP_TABLE,
99e09b48 3629 "INTO krbmap (users_id, string_id) VALUES (%d, %d)",
012fc215 3630 akum_fields,
3631 2,
3632 0,
3633 0,
29028043 3634 NULL,
012fc215 3635 &akum_validate,
3636 },
3637
3638 {
3639 /* Q_DKUM - DELETE_KERBEROS_USER_MAP */
3640 "delete_kerberos_user_map",
3641 "dkum",
c44ddfa7 3642 2,
012fc215 3643 DELETE,
3644 "k",
03c05291 3645 KRBMAP_TABLE,
012fc215 3646 0,
3647 akum_fields,
3648 0,
99e09b48 3649 "users_id = %d AND string_id = %d",
012fc215 3650 2,
29028043 3651 NULL,
012fc215 3652 &dkum_validate,
3653 },
3654
d33e787c 3655 {
3656 /* Q_GFBL - GET_FINGER_BY_LOGIN */
3657 "get_finger_by_login",
3658 "gfbl",
c44ddfa7 3659 2,
d33e787c 3660 RETRIEVE,
3661 "u",
03c05291 3662 USERS_TABLE,
3663 "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",
d33e787c 3664 gfbl_fields,
3665 12,
03c05291 3666 "users_id = %d",
d33e787c 3667 1,
29028043 3668 "login",
d33e787c 3669 &gfbl_validate,
3670 },
3671
3672 {
3673 /* Q_UFBL - UPDATE_FINGER_BY_LOGIN */
3674 "update_finger_by_login",
3675 "ufbl",
c44ddfa7 3676 2,
d33e787c 3677 UPDATE,
3678 "u",
03c05291 3679 USERS_TABLE,
5eaef520 3680 "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))",
d33e787c 3681 ufbl_fields,
3682 8,
4e5ec77f 3683 "users_id = %d",
d33e787c 3684 1,
29028043 3685 NULL,
d33e787c 3686 &ufbl_validate,
3687 },
3688
3689 {
3690 /* Q_GPOB - GET_POBOX */
3691 "get_pobox",
3692 "gpob",
c44ddfa7 3693 2,
d33e787c 3694 RETRIEVE,
3695 "u",
03c05291 3696 USERS_TABLE,
d6d830a1 3697 "login, potype, users_id, CHR(0), TO_CHAR(pmodtime, 'DD-mon-YYYY HH24:MI:SS'), pmodby, pmodwith FROM users",
d33e787c 3698 gpob_fields,
d6d830a1 3699 7,
03c05291 3700 "users_id = %d",
d33e787c 3701 1,
29028043 3702 "login",
d33e787c 3703 &gpob_validate,
3704 },
3705
3706 {
3707 /* Q_GAPO - GET_ALL_POBOXES */
3708 "get_all_poboxes",
3709 "gapo",
c44ddfa7 3710 2,
d33e787c 3711 RETRIEVE,
3712 "u",
03c05291 3713 USERS_TABLE,
3714 "login, potype, pop_id || ':' || box_id FROM users",
d33e787c 3715 gpox_fields,
3716 3,
03c05291 3717 "potype != 'NONE'",
d33e787c 3718 0,
29028043 3719 "login",
d33e787c 3720 &gpox_validate,
3721 },
5eaef520 3722
d33e787c 3723 {
3724 /* Q_GPOP - GET_POBOXES_POP */
3725 "get_poboxes_pop",
3726 "gpop",
c44ddfa7 3727 2,
d33e787c 3728 RETRIEVE,
3729 "u",
03c05291 3730 USERS_TABLE,
17cb3de8 3731 "login, potype, users_id FROM users",
d33e787c 3732 gpox_fields,
3733 3,
03c05291 3734 "potype = 'POP'",
d33e787c 3735 0,
29028043 3736 "login",
d33e787c 3737 &gpox_validate
3738 },
3739
3740 {
3741 /* Q_GPOF - GET_POBOXES_SMTP */
3742 "get_poboxes_smtp",
3743 "gpos",
c44ddfa7 3744 2,
d33e787c 3745 RETRIEVE,
3746 "u",
03c05291 3747 USERS_TABLE,
17cb3de8 3748 "login, potype, users_id FROM users",
d33e787c 3749 gpox_fields,
3750 3,
03c05291 3751 "potype = 'SMTP'",
d33e787c 3752 0,
29028043 3753 "login",
d33e787c 3754 &gpox_validate
3755 },
3756
3757 {
3758 /* Q_SPOB - SET_POBOX */
3759 "set_pobox",
3760 "spob",
c44ddfa7 3761 2,
d33e787c 3762 UPDATE,
3763 0,
03c05291 3764 USERS_TABLE,
d33e787c 3765 0,
3766 spob_fields,
3767 3,
7ac48069 3768 NULL,
d33e787c 3769 0,
29028043 3770 NULL,
d33e787c 3771 &spob_validate,
3772 },
3773
3774 {
3775 /* Q_SPOP - SET_POBOX_POP */
3776 "set_pobox_pop",
3777 "spop",
c44ddfa7 3778 2,
d33e787c 3779 UPDATE,
8b0fdf05 3780 0,
03c05291 3781 USERS_TABLE,
17cb3de8 3782 0,
d33e787c 3783 spob_fields,
8b0fdf05 3784 1,
17cb3de8 3785 NULL,
3786 0,
29028043 3787 NULL,
d33e787c 3788 &spop_validate,
3789 },
3790
3791 {
3792 /* Q_DPOB - DELETE_POBOX */
3793 "delete_pobox",
3794 "dpob",
c44ddfa7 3795 2,
d33e787c 3796 UPDATE,
3797 "u",
03c05291 3798 USERS_TABLE,
3799 "users SET potype = 'NONE'",
3800 spob_fields,
3801 0,
3802 "users_id = %d",
d33e787c 3803 1,
29028043 3804 NULL,
03c05291 3805 &dpob_validate,
d33e787c 3806 },
3807
3808 {
a66a2204 3809 /* Q_GHST - GET_HOST */
3810 "get_host",
3811 "ghst",
c44ddfa7 3812 2,
a66a2204 3813 RETRIEVE,
3814 "m",
03c05291 3815 MACHINE_TABLE,
3816 "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",
a66a2204 3817 ghst_fields,
3818 21,
1fa08fc4 3819 "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",
a66a2204 3820 4,
29028043 3821 "m.name",
a66a2204 3822 &ghst_validate,
3823 },
3824
9333756a 3825 {
3826 /* Q_GHBH - GET_HOST_BY_HWADDR */
3827 "get_host_by_hwaddr",
3828 "ghbh",
c44ddfa7 3829 2,
9333756a 3830 RETRIEVE,
3831 "m",
3832 MACHINE_TABLE,
3833 "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",
3834 ghst_fields,
3835 21,
3836 "m.hwaddr LIKE LOWER('%s') AND m.mach_id != 0 AND s.snet_id = m.snet_id",
3837 1,
3838 "m.name",
3839 NULL,
3840 },
3841
2884200f 3842 {
3843 /* Q_GHHA - GET_HOST_HWADDR */
3844 "get_host_hwaddr",
3845 "ghha",
c44ddfa7 3846 2,
2884200f 3847 RETRIEVE,
3848 "m",
3849 MACHINE_TABLE,
3850 "m.hwaddr FROM machine m",
3851 ghha_fields,
3852 1,
3853 "m.name LIKE UPPER('%s')",
3854 1,
3855 NULL,
3856 NULL,
3857 },
3858
a66a2204 3859 {
3860 /* Q_AHST - ADD_HOST */ /* uses prefetch_value() for mach_id */
3861 "add_host",
3862 "ahst",
c44ddfa7 3863 2,
d33e787c 3864 APPEND,
3865 "m",
03c05291 3866 MACHINE_TABLE,
5eaef520 3867 "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)",
a66a2204 3868 ahst_fields,
3869 14,
45bf7573 3870 0,
d33e787c 3871 0,
29028043 3872 NULL,
a66a2204 3873 &ahst_validate,
d33e787c 3874 },
3875
3876 {
a66a2204 3877 /* Q_UHST - UPDATE_HOST */
3878 "update_host",
3879 "uhst",
c44ddfa7 3880 2,
d33e787c 3881 UPDATE,
3882 "m",
03c05291 3883 MACHINE_TABLE,
5eaef520 3884 "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",
a66a2204 3885 uhst_fields,
3886 14,
4e5ec77f 3887 "mach_id = %d",
d33e787c 3888 1,
29028043 3889 NULL,
a66a2204 3890 &uhst_validate,
d33e787c 3891 },
3892
2884200f 3893 {
3894 /* Q_UHHA - UPDATE_HOST_HWADDR */
3895 "update_host_hwaddr",
3896 "uhha",
c44ddfa7 3897 2,
2884200f 3898 UPDATE,
3899 "m",
3900 MACHINE_TABLE,
1fdf882a 3901 "machine SET hwaddr = NVL('%s', CHR(0))",
2884200f 3902 uhha_fields,
3903 1,
3904 "mach_id = %d",
3905 1,
3906 NULL,
3907 &uhha_validate,
3908 },
3909
d33e787c 3910 {
a66a2204 3911 /* Q_DHST - DELETE_HOST */
3912 "delete_host",
3913 "dhst",
c44ddfa7 3914 2,
d33e787c 3915 DELETE,
3916 "m",
03c05291 3917 MACHINE_TABLE,
7ac48069 3918 NULL,
a66a2204 3919 dhst_fields,
d33e787c 3920 0,
4e5ec77f 3921 "mach_id = %d",
d33e787c 3922 1,
29028043 3923 NULL,
a66a2204 3924 &dhst_validate,
3925 },
3926
03c05291 3927 {
3928 /* Q_GMAC - GET_MACHINE */
3929 "get_machine",
3930 "gmac",
c44ddfa7 3931 2,
03c05291 3932 RETRIEVE,
3933 "m",
3934 MACHINE_TABLE,
3935 "name, vendor, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM machine",
3936 gmac_fields,
3937 5,
263a36d4 3938 "name LIKE UPPER('%s') AND mach_id != 0",
03c05291 3939 1,
29028043 3940 "name",
263a36d4 3941 &VDfix_modby,
03c05291 3942 },
3943
a66a2204 3944 {
3945 /* Q_GHAL - GET_HOSTALIAS */
3946 "get_hostalias",
3947 "ghal",
c44ddfa7 3948 2,
a66a2204 3949 RETRIEVE,
03c05291 3950 "a",
3951 HOSTALIAS_TABLE,
3952 "a.name, m.name FROM hostalias a, machine m",
a66a2204 3953 ghal_fields,
3954 2,
263a36d4 3955 "m.mach_id = a.mach_id and a.name LIKE UPPER('%s') AND m.name LIKE UPPER('%s')",
a66a2204 3956 2,
29028043 3957 "a.name",
a66a2204 3958 &ghal_validate,
3959 },
3960
3961 {
3962 /* Q_AHAL - ADD_HOSTALIAS */
3963 "add_hostalias",
3964 "ahal",
c44ddfa7 3965 2,
a66a2204 3966 APPEND,
3967 "a",
03c05291 3968 HOSTALIAS_TABLE,
5eaef520 3969 "INTO hostalias (name, mach_id) VALUES (UPPER('%s'), %d)",
a66a2204 3970 ghal_fields,
3971 2,
3972 0,
3973 0,
29028043 3974 NULL,
a66a2204 3975 &ahal_validate,
3976 },
3977
3978 {
3979 /* Q_DHAL - DELETE_HOSTALIAS */
3980 "delete_hostalias",
3981 "dhal",
c44ddfa7 3982 2,
a66a2204 3983 DELETE,
3984 "a",
03c05291 3985 HOSTALIAS_TABLE,
7ac48069 3986 NULL,
a66a2204 3987 ghal_fields,
3988 0,
03c05291 3989 "name = UPPER('%s') AND mach_id = %d",
a66a2204 3990 2,
29028043 3991 NULL,
a66a2204 3992 &dhal_validate,
d33e787c 3993 },
3994
3c1d412c 3995 {
3996 /* Q_GSNT - GET_SUBNET */
3997 "get_subnet",
3998 "gsnt",
c44ddfa7 3999 2,
3c1d412c 4000 RETRIEVE,
4001 "s",
03c05291 4002 SUBNET_TABLE,
4003 "name, description, saddr, mask, low, high, prefix, owner_type, owner_id, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM subnet",
3c1d412c 4004 gsnt_fields,
bd8c26ff 4005 12,
5e8fdad1 4006 "name LIKE UPPER('%s')",
3c1d412c 4007 1,
29028043 4008 "name",
3c1d412c 4009 &gsnt_validate,
4010 },
4011
4012 {
4013 /* Q_ASNT - ADD_SUBNET */
4014 "add_subnet",
4015 "asnt",
c44ddfa7 4016 2,
3c1d412c 4017 APPEND,
4018 "s",
03c05291 4019 SUBNET_TABLE,
5eaef520 4020 "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)",
3c1d412c 4021 asnt_fields,
bd8c26ff 4022 9,
3c1d412c 4023 0,
4024 0,
29028043 4025 NULL,
3c1d412c 4026 &asnt_validate,
4027 },
4028
4029 {
4030 /* Q_USNT - UPDATE_SUBNET */
4031 "update_subnet",
4032 "usnt",
c44ddfa7 4033 2,
3c1d412c 4034 UPDATE,
4035 "s",
03c05291 4036 SUBNET_TABLE,
5eaef520 4037 "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",
3c1d412c 4038 usnt_fields,
bd8c26ff 4039 9,
3c1d412c 4040 "snet_id = %d",
4041 1,
29028043 4042 NULL,
3c1d412c 4043 &usnt_validate,
4044 },
4045
4046 {
4047 /* Q_DSNT - DELETE_SUBNET */
4048 "delete_subnet",
4049 "dsnt",
c44ddfa7 4050 2,
3c1d412c 4051 DELETE,
4052 "s",
03c05291 4053 SUBNET_TABLE,
7ac48069 4054 NULL,
3c1d412c 4055 dsnt_fields,
4056 0,
4057 "snet_id = %d",
4058 1,
29028043 4059 NULL,
3c1d412c 4060 &dsnt_validate,
4061 },
4062
d33e787c 4063 {
4064 /* Q_GCLU - GET_CLUSTER */
4065 "get_cluster",
4066 "gclu",
c44ddfa7 4067 2,
d33e787c 4068 RETRIEVE,
4069 "c",
e688520a 4070 CLUSTERS_TABLE,
03c05291 4071 "name, description, location, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM clusters",
d33e787c 4072 gclu_fields,
4073 6,
263a36d4 4074 "name LIKE '%s' AND clu_id != 0",
d33e787c 4075 1,
29028043 4076 "name",
263a36d4 4077 &VDfix_modby,
d33e787c 4078 },
4079
4080 {
45bf7573 4081 /* Q_ACLU - ADD_CLUSTER */ /* uses prefetch_value() for clu_id */
d33e787c 4082 "add_cluster",
4083 "aclu",
c44ddfa7 4084 2,
d33e787c 4085 APPEND,
4086 "c",
e688520a 4087 CLUSTERS_TABLE,
5eaef520 4088 "INTO clusters (name, description, location, clu_id) VALUES ('%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s)",
d33e787c 4089 aclu_fields,
4090 3,
45bf7573 4091 0,
d33e787c 4092 0,
29028043 4093 NULL,
d33e787c 4094 &aclu_validate,
4095 },
4096
4097 {
4098 /* Q_UCLU - UPDATE_CLUSTER */
4099 "update_cluster",
4100 "uclu",
c44ddfa7 4101 2,
d33e787c 4102 UPDATE,
4103 "c",
e688520a 4104 CLUSTERS_TABLE,
5eaef520 4105 "clusters SET name = '%s', description = NVL('%s', CHR(0)), location = NVL('%s', CHR(0))",
d33e787c 4106 uclu_fields,
4107 3,
4e5ec77f 4108 "clu_id = %d",
d33e787c 4109 1,
29028043 4110 NULL,
d33e787c 4111 &uclu_validate,
4112 },
4113
4114 {
4115 /* Q_DCLU - DELETE_CLUSTER */
4116 "delete_cluster",
4117 "dclu",
c44ddfa7 4118 2,
d33e787c 4119 DELETE,
4120 "c",
e688520a 4121 CLUSTERS_TABLE,
7ac48069 4122 NULL,
d33e787c 4123 dclu_fields,
4124 0,
4e5ec77f 4125 "clu_id = %d",
d33e787c 4126 1,
29028043 4127 NULL,
d33e787c 4128 &dclu_validate,
4129 },
4130
4131 {
5eaef520 4132 /* Q_GMCM - GET_MACHINE_TO_CLUSTER_MAP */
d33e787c 4133 "get_machine_to_cluster_map",
4134 "gmcm",
c44ddfa7 4135 2,
d33e787c 4136 RETRIEVE,
0c345c78 4137 "mcm",
03c05291 4138 MCMAP_TABLE,
4139 "m.name, c.name FROM machine m, clusters c, mcmap mcm",
d33e787c 4140 gmcm_fields,
4141 2,
263a36d4 4142 "m.name LIKE UPPER('%s') AND c.name LIKE '%s' AND mcm.clu_id = c.clu_id AND mcm.mach_id = m.mach_id",
d33e787c 4143 2,
29028043 4144 "m.name",
263a36d4 4145 NULL,
d33e787c 4146 },
5eaef520 4147
d33e787c 4148 {
4149 /* Q_AMTC - ADD_MACHINE_TO_CLUSTER */
4150 "add_machine_to_cluster",
4151 "amtc",
c44ddfa7 4152 2,
d33e787c 4153 APPEND,
0c345c78 4154 "mcm",
03c05291 4155 MCMAP_TABLE,
4e5ec77f 4156 "INTO mcmap (mach_id, clu_id) VALUES (%d, %d)",
d33e787c 4157 gmcm_fields,
4158 2,
4159 0,
4160 0,
29028043 4161 NULL,
d33e787c 4162 &amtc_validate,
4163 },
4164
4165 {
4166 /* Q_DMFC - DELETE_MACHINE_FROM_CLUSTER */
4167 "delete_machine_from_cluster",
4168 "dmfc",
c44ddfa7 4169 2,
d33e787c 4170 DELETE,
0c345c78 4171 "mcm",
03c05291 4172 MCMAP_TABLE,
d33e787c 4173 0,
4174 gmcm_fields,
4175 0,
4e5ec77f 4176 "mach_id = %d AND clu_id = %d",
d33e787c 4177 2,
29028043 4178 NULL,
d33e787c 4179 &amtc_validate,
4180 },
4181
4182 {
68dd808d 4183 /* Q_GCLD - GET_CLUSTER_DATA */
d33e787c 4184 "get_cluster_data",
4185 "gcld",
c44ddfa7 4186 2,
d33e787c 4187 RETRIEVE,
d33e787c 4188 "svc",
03c05291 4189 SVC_TABLE,
4190 "c.name, svc.serv_label, svc.serv_cluster FROM svc svc, clusters c",
d33e787c 4191 gcld_fields,
4192 3,
263a36d4 4193 "c.clu_id = svc.clu_id AND c.name LIKE '%s' AND svc.serv_label LIKE '%s'",
d33e787c 4194 2,
29028043 4195 "c.name, svc.serv_label",
263a36d4 4196 NULL,
d33e787c 4197 },
4198
4199 {
4200 /* Q_ACLD - ADD_CLUSTER_DATA */
4201 "add_cluster_data",
4202 "acld",
c44ddfa7 4203 2,
d33e787c 4204 APPEND,
0c345c78 4205 "svc",
03c05291 4206 SVC_TABLE,
5eaef520 4207 "INTO svc (clu_id, serv_label, serv_cluster) VALUES (%d, '%s', '%s')",
88343c5e 4208 acld_fields,
d33e787c 4209 3,
7ac48069 4210 NULL,
d33e787c 4211 0,
29028043 4212 NULL,
d33e787c 4213 &acld_validate,
4214 },
4215
4216 {
4217 /* Q_DCLD - DELETE_CLUSTER_DATA */
4218 "delete_cluster_data",
4219 "dcld",
c44ddfa7 4220 2,
d33e787c 4221 DELETE,
0c345c78 4222 "svc",
03c05291 4223 SVC_TABLE,
7ac48069 4224 NULL,
88343c5e 4225 acld_fields,
d33e787c 4226 0,
5eaef520 4227 "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",
d33e787c 4228 3,
29028043 4229 NULL,
99e09b48 4230 &dcld_validate,
d33e787c 4231 },
4232
03c05291 4233 {
44da57b2 4234 /* Q_GLIN - GET_LIST_INFO, v2 */
03c05291 4235 "get_list_info",
4236 "glin",
c44ddfa7 4237 2,
03c05291 4238 RETRIEVE,
263a36d4 4239 "l",
03c05291 4240 LIST_TABLE,
ccdbc974 4241 "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",
44da57b2 4242 glin2_fields,
03c05291 4243 13,
263a36d4 4244 "name LIKE '%s'",
5eaef520 4245 1,
263a36d4 4246 "name",
5eaef520 4247 &glin_validate,
03c05291 4248 },
5eaef520 4249
44da57b2 4250 {
4251 /* Q_GLIN - GET_LIST_INFO, v3 */
4252 "get_list_info",
4253 "glin",
4254 3,
4255 RETRIEVE,
4256 "l",
4257 LIST_TABLE,
4258 "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",
59c3208b 4259 glin3_fields,
44da57b2 4260 14,
4261 "name LIKE '%s'",
4262 1,
4263 "name",
4264 &glin_validate,
4265 },
4266
59c3208b 4267 {
4268 /* Q_GLIN - GET_LIST_INFO, v4 */
4269 "get_list_info",
4270 "glin",
4271 4,
4272 RETRIEVE,
4273 "l",
4274 LIST_TABLE,
4275 "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",
4276 glin_fields,
4277 16,
4278 "name LIKE '%s'",
4279 1,
4280 "name",
4281 &glin_validate,
4282 },
4283
03c05291 4284 {
4285 /* Q_EXLN - EXPAND_LIST_NAMES */
4286 "expand_list_names",
4287 "exln",
c44ddfa7 4288 2,
03c05291 4289 RETRIEVE,
4290 "l",
4291 LIST_TABLE,
4292 "name FROM list",
4293 glin_fields,
4294 1,
263a36d4 4295 "name LIKE '%s' AND list_id != 0",
03c05291 4296 1,
29028043 4297 "name",
263a36d4 4298 NULL,
03c05291 4299 },
5eaef520 4300
03c05291 4301 {
44da57b2 4302 /* Q_ALIS - ADD_LIST, v2 */ /* uses prefetch_value() for list_id */
03c05291 4303 "add_list",
4304 "alis",
c44ddfa7 4305 2,
03c05291 4306 APPEND,
4307 "l",
5eaef520 4308 LIST_TABLE,
4309 "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)",
44da57b2 4310 alis2_fields,
03c05291 4311 10,
4312 0,
4313 0,
29028043 4314 NULL,
44da57b2 4315 &alis2_validate,
4316 },
4317
4318 {
4319 /* Q_ALIS - ADD_LIST, v3 */ /* uses prefetch_value() for list_id */
4320 "add_list",
4321 "alis",
4322 3,
4323 APPEND,
4324 "l",
4325 LIST_TABLE,
4326 "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)",
59c3208b 4327 alis3_fields,
44da57b2 4328 11,
4329 0,
4330 0,
4331 NULL,
59c3208b 4332 &alis3_validate,
4333 },
4334
4335 {
4336 /* Q_ALIS - ADD_LIST, v4 */ /* uses prefetch_value() for list_id */
4337 "add_list",
4338 "alis",
4339 4,
4340 APPEND,
4341 "l",
4342 LIST_TABLE,
4343 "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)",
4344 alis_fields,
4345 13,
4346 0,
4347 0,
4348 NULL,
03c05291 4349 &alis_validate,
4350 },
4351
4352 {
44da57b2 4353 /* Q_ULIS - UPDATE_LIST, v2 */
03c05291 4354 "update_list",
4355 "ulis",
c44ddfa7 4356 2,
03c05291 4357 UPDATE,
4358 "l",
4359 LIST_TABLE,
5eaef520 4360 "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))",
44da57b2 4361 ulis2_fields,
03c05291 4362 10,
4363 "list_id = %d",
4364 1,
29028043 4365 NULL,
44da57b2 4366 &ulis2_validate,
4367 },
4368
4369 {
4370 /* Q_ULIS - UPDATE_LIST, v3 */
4371 "update_list",
4372 "ulis",
4373 3,
4374 UPDATE,
4375 "l",
4376 LIST_TABLE,
4377 "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))",
59c3208b 4378 ulis3_fields,
44da57b2 4379 11,
4380 "list_id = %d",
4381 1,
4382 NULL,
59c3208b 4383 &ulis3_validate,
4384 },
4385
4386 {
4387 /* Q_ULIS, UPDATE_LIST, v4 */
4388 "update_list",
4389 "ulis",
4390 4,
4391 UPDATE,
4392 "l",
4393 LIST_TABLE,
4394 "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))",
4395 ulis_fields,
4396 13,
4397 "list_id = %d",
4398 1,
4399 NULL,
03c05291 4400 &ulis_validate,
4401 },
4402
4403 {
4404 /* Q_DLIS - DELETE_LIST */
4405 "delete_list",
4406 "dlis",
c44ddfa7 4407 2,
03c05291 4408 DELETE,
4409 "l",
4410 LIST_TABLE,
7ac48069 4411 NULL,
03c05291 4412 dlis_fields,
4413 0,
4414 "list_id = %d",
4415 1,
29028043 4416 NULL,
03c05291 4417 &dlis_validate,
4418 },
4419
4420 {
4421 /* Q_AMTL - ADD_MEMBER_TO_LIST */
4422 "add_member_to_list",
4423 "amtl",
c44ddfa7 4424 2,
03c05291 4425 APPEND,
4426 0,
4427 IMEMBERS_TABLE,
4428 0,
4429 amtl_fields,
4430 3,
7ac48069 4431 NULL,
03c05291 4432 0,
29028043 4433 NULL,
03c05291 4434 &amtl_validate,
4435 },
4436
46b6f1f6 4437 {
4438 /* Q_ATML - ADD_TAGGED_MEMBER_TO_LIST */
4439 "add_tagged_member_to_list",
4440 "atml",
c44ddfa7 4441 2,
46b6f1f6 4442 APPEND,
4443 0,
4444 IMEMBERS_TABLE,
4445 0,
4446 atml_fields,
4447 4,
4448 NULL,
4449 0,
4450 NULL,
4451 &atml_validate,
4452 },
4453
4454 {
4455 /* Q_TMOL - TAG_MEMBER_OF_LIST */
4456 "tag_member_of_list",
4457 "tmol",
c44ddfa7 4458 2,
46b6f1f6 4459 UPDATE,
20541c25 4460 0,
46b6f1f6 4461 IMEMBERS_TABLE,
20541c25 4462 0,
46b6f1f6 4463 atml_fields,
4464 1,
20541c25 4465 0,
46b6f1f6 4466 3,
4467 NULL,
4468 &tmol_validate,
4469 },
4470
03c05291 4471 {
4472 /* Q_DMFL - DELETE_MEMBER_FROM_LIST */
4473 "delete_member_from_list",
4474 "dmfl",
c44ddfa7 4475 2,
03c05291 4476 DELETE,
4477 0,
4478 IMEMBERS_TABLE,
7ac48069 4479 NULL,
03c05291 4480 amtl_fields,
4481 0,
4482 0,
4483 3,
29028043 4484 NULL,
03c05291 4485 &dmfl_validate,
4486 },
4487
4488 {
4489 /* Q_GAUS - GET_ACE_USE */
4490 "get_ace_use",
4491 "gaus",
c44ddfa7 4492 2,
03c05291 4493 RETRIEVE,
4494 0,
4495 0,
4496 0,
4497 gaus_fields,
4498 2,
4499 0,
4500 2,
29028043 4501 NULL,
03c05291 4502 &gaus_validate,
4503 },
4504
d3051625 4505 {
4506 /* Q_GHBO - GET_HOST_BY_OWNER */
4507 "get_host_by_owner",
4508 "ghbo",
4509 2,
4510 RETRIEVE,
4511 0,
4512 0,
4513 0,
4514 ghbo_fields,
4515 1,
4516 0,
4517 2,
4518 NULL,
4519 &ghbo_validate,
4520 },
4521
03c05291 4522 {
4523 /* Q_QGLI - QUALIFIED_GET_LISTS */
4524 "qualified_get_lists",
4525 "qgli",
c44ddfa7 4526 2,
03c05291 4527 RETRIEVE,
4528 0,
4529 LIST_TABLE,
4530 0,
4531 qgli_fields,
4532 1,
4533 0,
4534 5,
29028043 4535 NULL,
03c05291 4536 &qgli_validate,
4537 },
4538
4539 {
4540 /* Q_GMOL - GET_MEMBERS_OF_LIST */
4541 "get_members_of_list",
4542 "gmol",
c44ddfa7 4543 2,
03c05291 4544 RETRIEVE,
7ac48069 4545 NULL,
03c05291 4546 IMEMBERS_TABLE,
7ac48069 4547 NULL,
03c05291 4548 gmol_fields,
4549 2,
7ac48069 4550 NULL,
03c05291 4551 1,
29028043 4552 NULL,
03c05291 4553 &gmol_validate,
4554 },
4555
4556 {
4557 /* Q_GEML - GET_END_MEMBERS_OF_LIST */
4558 "get_end_members_of_list",
4559 "geml",
c44ddfa7 4560 2,
03c05291 4561 RETRIEVE,
7ac48069 4562 NULL,
03c05291 4563 IMEMBERS_TABLE,
7ac48069 4564 NULL,
03c05291 4565 gmol_fields,
fd8d2149 4566 2,
7ac48069 4567 NULL,
03c05291 4568 1,
29028043 4569 NULL,
46b6f1f6 4570 &gmol_validate,
4571 },
4572
4573 {
4574 /* Q_GTML - GET_TAGGED_MEMBERS_OF_LIST */
4575 "get_tagged_members_of_list",
4576 "gtml",
c44ddfa7 4577 2,
46b6f1f6 4578 RETRIEVE,
4579 NULL,
4580 IMEMBERS_TABLE,
4581 NULL,
4582 gtml_fields,
4583 3,
4584 NULL,
4585 1,
4586 NULL,
4587 &gmol_validate,
03c05291 4588 },
5eaef520 4589
03c05291 4590 {
4591 /* Q_GLOM - GET_LISTS_OF_MEMBER */
4592 "get_lists_of_member",
4593 "glom",
c44ddfa7 4594 2,
03c05291 4595 RETRIEVE,
4596 0,
4597 IMEMBERS_TABLE,
4598 0,
4599 glom_fields,
4600 6,
4601 0,
4602 2,
29028043 4603 NULL,
03c05291 4604 &glom_validate,
4605 },
4606
4607 {
4608 /* Q_CMOL - COUNT_MEMBERS_OF_LIST */
4609 "count_members_of_list",
4610 "cmol",
c44ddfa7 4611 2,
03c05291 4612 RETRIEVE,
4613 0,
4614 IMEMBERS_TABLE,
4615 0,
4616 cmol_fields,
4617 1,
4618 0,
4619 1,
29028043 4620 NULL,
03c05291 4621 &cmol_validate,
4622 },
4623
d33e787c 4624 {
4625 /* Q_GSIN - GET_SERVER_INFO */
4626 "get_server_info",
4627 "gsin",
c44ddfa7 4628 2,
d33e787c 4629 RETRIEVE,
4630 "s",
03c05291 4631 SERVERS_TABLE,
4632 "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",
d33e787c 4633 gsin_fields,
7ac4c1b1 4634 16,
263a36d4 4635 "name LIKE UPPER('%s')",
d33e787c 4636 1,
29028043 4637 "name",
d33e787c 4638 &gsin_validate,
4639 },
4640
4641 {
4642 /* Q_QGSV - QUALIFIED_GET_SERVER */
4643 "qualified_get_server",
4644 "qgsv",
c44ddfa7 4645 2,
d33e787c 4646 RETRIEVE,
4647 0,
03c05291 4648 SERVERS_TABLE,
d33e787c 4649 0,
4650 qgsv_fields,
4651 1,
4652 0,
4653 3,
29028043 4654 NULL,
d33e787c 4655 &qgsv_validate,
4656 },
4657
4658 {
4659 /* Q_ASIN - ADD_SERVER_INFO */
4660 "add_server_info",
4661 "asin",
c44ddfa7 4662 2,
d33e787c 4663 APPEND,
4664 "s",
03c05291 4665 SERVERS_TABLE,
5eaef520 4666 "INTO servers (name, update_int, target_file, script, type, enable, acl_type, acl_id) VALUES (UPPER('%s'), %s, '%s', '%s', '%s', %s, '%s', %d)",
d33e787c 4667 asin_fields,
4668 8,
7ac48069 4669 NULL,
d33e787c 4670 0,
29028043 4671 NULL,
d33e787c 4672 &asin_validate,
4673 },
4674
4675 {
4676 /* Q_USIN - UPDATE_SERVER_INFO */
4677 "update_server_info",
4678 "usin",
c44ddfa7 4679 2,
d33e787c 4680 UPDATE,
4681 "s",
03c05291 4682 SERVERS_TABLE,
4e5ec77f 4683 "servers SET update_int = %s, target_file = '%s', script = '%s', type = '%s', enable = %s, acl_type = '%s', acl_id = %d",
d33e787c 4684 asin_fields,
4685 7,
03c05291 4686 "name = UPPER('%s')",
d33e787c 4687 1,
29028043 4688 NULL,
d33e787c 4689 &asin_validate,
4690 },
4691
4692 {
4693 /* Q_RSVE - RESET_SERVER_ERROR */
4694 "reset_server_error",
4695 "rsve",
c44ddfa7 4696 2,
d33e787c 4697 UPDATE,
4698 "s",
03c05291 4699 SERVERS_TABLE,
4e5ec77f 4700 "servers SET harderror = 0, dfcheck = dfgen",
d33e787c 4701 dsin_fields,
4702 0,
03c05291 4703 "name = UPPER('%s')",
d33e787c 4704 1,
29028043 4705 NULL,
d33e787c 4706 &rsve_validate,
4707 },
4708
4709 {
4710 /* Q_SSIF - SET_SERVER_INTERNAL_FLAGS */
4711 "set_server_internal_flags",
4712 "ssif",
c44ddfa7 4713 2,
d33e787c 4714 UPDATE,
4715 "s",
03c05291 4716 SERVERS_TABLE,
5eaef520 4717 "servers SET dfgen = %s, dfcheck = %s, inprogress = %s, harderror = %s, errmsg = NVL('%s', CHR(0))",
d33e787c 4718 ssif_fields,
7ac4c1b1 4719 5,
03c05291 4720 "name = UPPER('%s')",
d33e787c 4721 1,
29028043 4722 NULL,
d33e787c 4723 &ssif_validate,
4724 },
4725
4726 {
4727 /* Q_DSIN - DELETE_SERVER_INFO */
4728 "delete_server_info",
4729 "dsin",
c44ddfa7 4730 2,
d33e787c 4731 DELETE,
4732 "s",
03c05291 4733 SERVERS_TABLE,
7ac48069 4734 NULL,
d33e787c 4735 dsin_fields,
4736 0,
03c05291 4737 "name = UPPER('%s')",
d33e787c 4738 1,
29028043 4739 NULL,
d33e787c 4740 &dsin_validate,
4741 },
4742
4743 {
5eaef520 4744 /* Q_GSHI - GET_SERVER_HOST_INFO */
d33e787c 4745 "get_server_host_info",
4746 "gshi",
c44ddfa7 4747 2,
d33e787c 4748 RETRIEVE,
4749 "sh",
03c05291 4750 SERVERHOSTS_TABLE,
4751 "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",
d33e787c 4752 gshi_fields,
4753 16,
263a36d4 4754 "sh.service LIKE UPPER('%s') AND m.name LIKE UPPER('%s') AND m.mach_id = sh.mach_id",
d33e787c 4755 2,
29028043 4756 "sh.service, m.name",
d33e787c 4757 &gshi_validate,
4758 },
4759
4760 {
135dcb80 4761 /* Q_QGSH - QUALIFIED_GET_SERVER_HOST */
d33e787c 4762 "qualified_get_server_host",
4763 "qgsh",
c44ddfa7 4764 2,
d33e787c 4765 RETRIEVE,
135dcb80 4766 0,
03c05291 4767 SERVERHOSTS_TABLE,
d33e787c 4768 0,
4769 qgsh_fields,
4770 2,
4771 0,
4772 6,
29028043 4773 NULL,
d33e787c 4774 &qgsh_validate,
4775 },
4776
4777 {
4778 /* Q_ASHI - ADD_SERVER_HOST_INFO */
4779 "add_server_host_info",
4780 "ashi",
c44ddfa7 4781 2,
d33e787c 4782 APPEND,
4783 "sh",
03c05291 4784 SERVERHOSTS_TABLE,
5eaef520 4785 "INTO serverhosts (service, mach_id, enable, value1, value2, value3) VALUES (UPPER('%s'), %d, %s, %s, %s, NVL('%s', CHR(0)))",
d33e787c 4786 ashi_fields,
4787 6,
7ac48069 4788 NULL,
d33e787c 4789 0,
29028043 4790 NULL,
d33e787c 4791 &ashi_validate,
4792 },
4793
4794 {
4795 /* Q_USHI - UPDATE_SERVER_HOST_INFO */
4796 "update_server_host_info",
4797 "ushi",
c44ddfa7 4798 2,
d33e787c 4799 UPDATE,
4800 "sh",
03c05291 4801 SERVERHOSTS_TABLE,
5eaef520 4802 "serverhosts SET enable = %s, value1 = %s, value2 = %s, value3 = NVL('%s', CHR(0))",
d33e787c 4803 ashi_fields,
4804 4,
03c05291 4805 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4806 2,
29028043 4807 NULL,
d33e787c 4808 &ashi_validate,
4809 },
4810
4811 {
4812 /* Q_RSHE - RESET_SERVER_HOST_ERROR */
4813 "reset_server_host_error",
4814 "rshe",
c44ddfa7 4815 2,
d33e787c 4816 UPDATE,
4817 "sh",
03c05291 4818 SERVERHOSTS_TABLE,
4e5ec77f 4819 "serverhosts SET hosterror = 0",
d33e787c 4820 dshi_fields,
4821 0,
03c05291 4822 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4823 2,
29028043 4824 NULL,
d33e787c 4825 &rshe_validate,
4826 },
4827
4828 {
4829 /* Q_SSHO - SET_SERVER_HOST_OVERRIDE */
4830 "set_server_host_override",
4831 "ssho",
c44ddfa7 4832 2,
d33e787c 4833 UPDATE,
4834 "sh",
03c05291 4835 SERVERHOSTS_TABLE,
4e5ec77f 4836 "serverhosts SET override = 1",
d33e787c 4837 dshi_fields,
4838 0,
03c05291 4839 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4840 2,
29028043 4841 NULL,
d33e787c 4842 &ssho_validate,
4843 },
4844
4845 {
e41960ac 4846 /* Q_SSHI - SET_SERVER_HOST_INTERNAL */
d33e787c 4847 "set_server_host_internal",
4848 "sshi",
c44ddfa7 4849 2,
d33e787c 4850 UPDATE,
7ac4c1b1 4851 "s",
03c05291 4852 SERVERHOSTS_TABLE,
5eaef520 4853 "serverhosts SET override = %s, success = %s, inprogress = %s, hosterror = %s, hosterrmsg = NVL('%s', CHR(0)), ltt = %s, lts = %s",
d33e787c 4854 sshi_fields,
4855 7,
5eaef520 4856 "service = UPPER('%s') AND mach_id = %d",
d33e787c 4857 2,
29028043 4858 NULL,
d33e787c 4859 &sshi_validate,
4860 },
4861
4862 {
03c05291 4863 /* Q_DSHI - DELETE_SERVER_HOST_INFO */
4864 "delete_server_host_info",
4865 "dshi",
c44ddfa7 4866 2,
d33e787c 4867 DELETE,
03c05291 4868 "sh",
4869 SERVERHOSTS_TABLE,
7ac48069 4870 NULL,
03c05291 4871 dshi_fields,
d33e787c 4872 0,
03c05291 4873 "service = UPPER('%s') AND mach_id = %d",
4874 2,
29028043 4875 NULL,
03c05291 4876 &dshi_validate,
d33e787c 4877 },
4878
4879 {
5eaef520 4880 /* Q_GSLO - GET_SERVER_LOCATIONS */
d33e787c 4881 "get_server_locations",
4882 "gslo",
c44ddfa7 4883 2,
d33e787c 4884 RETRIEVE,
4885 "sh",
03c05291 4886 SERVERHOSTS_TABLE,
4887 "sh.service, m.name FROM serverhosts sh, machine m",
d33e787c 4888 gslo_fields,
4889 2,
263a36d4 4890 "sh.service LIKE UPPER('%s') AND sh.mach_id = m.mach_id",
d33e787c 4891 1,
29028043 4892 "sh.service, m.name",
263a36d4 4893 NULL,
d33e787c 4894 },
4895
4896 {
5eaef520 4897 /* Q_GFSL - GET_FILESYS_BY_LABEL */
d33e787c 4898 "get_filesys_by_label",
4899 "gfsl",
c44ddfa7 4900 2,
d33e787c 4901 RETRIEVE,
4902 "fs",
03c05291 4903 FILESYS_TABLE,
4904 "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",
d33e787c 4905 gfsl_fields,
4906 14,
263a36d4 4907 "fs.label LIKE '%s' AND fs.mach_id = m.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
d33e787c 4908 1,
29028043 4909 "fs.label",
5a8887d8 4910 &gfsl_validate,
d33e787c 4911 },
4912
4913 {
5eaef520 4914 /* Q_GFSM - GET_FILESYS_BY_MACHINE */
d33e787c 4915 "get_filesys_by_machine",
4916 "gfsm",
c44ddfa7 4917 2,
d33e787c 4918 RETRIEVE,
4919 "fs",
03c05291 4920 FILESYS_TABLE,
4921 "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",
d33e787c 4922 gfsm_fields,
4923 14,
4e5ec77f 4924 "fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
d33e787c 4925 1,
29028043 4926 "fs.label",
d33e787c 4927 &gfsm_validate,
4928 },
4929
88343c5e 4930 {
5eaef520 4931 /* Q_GFSN - GET_FILESYS_BY_NFSPHYS */
88343c5e 4932 "get_filesys_by_nfsphys",
4933 "gfsn",
c44ddfa7 4934 2,
88343c5e 4935 RETRIEVE,
4936 "fs",
03c05291 4937 FILESYS_TABLE,
4938 "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",
88343c5e 4939 gfsn_fields,
4940 14,
cc1bca5c 4941 "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'",
88343c5e 4942 2,
29028043 4943 "fs.label",
99e09b48 4944 &gfsn_validate,
88343c5e 4945 },
4946
d33e787c 4947 {
5eaef520 4948 /* Q_GFSG - GET_FILESYS_BY_GROUP */
d33e787c 4949 "get_filesys_by_group",
4950 "gfsg",
c44ddfa7 4951 2,
d33e787c 4952 RETRIEVE,
4953 "fs",
03c05291 4954 FILESYS_TABLE,
4955 "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",
d33e787c 4956 gfsg_fields,
4957 14,
4e5ec77f 4958 "fs.owners = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
d33e787c 4959 1,
29028043 4960 "fs.label",
d33e787c 4961 &gfsg_validate,
4962 },
4963
4ffa124a 4964 {
76f86976 4965 /* Q_GFSP - GET_FILESYS_BY_PATH */
4ffa124a 4966 "get_filesys_by_path",
4967 "gfsp",
c44ddfa7 4968 2,
4ffa124a 4969 RETRIEVE,
4970 "fs",
03c05291 4971 FILESYS_TABLE,
4972 "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",
4ffa124a 4973 gfsp_fields,
4974 14,
263a36d4 4975 "fs.name LIKE '%s' AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = list_id",
4ffa124a 4976 1,
29028043 4977 "fs.label",
263a36d4 4978 &VDfix_modby,
4ffa124a 4979 },
5eaef520 4980
d33e787c 4981 {
45bf7573 4982 /* Q_AFIL - ADD_FILESYS */ /* uses prefetch_value() for filsys_id */
d33e787c 4983 "add_filesys",
4984 "afil",
c44ddfa7 4985 2,
d33e787c 4986 APPEND,
4987 "fs",
03c05291 4988 FILESYS_TABLE,
d4296047 4989 "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)",
d33e787c 4990 afil_fields,
4991 11,
45bf7573 4992 0,
d33e787c 4993 0,
29028043 4994 NULL,
d33e787c 4995 &afil_validate,
4996 },
4997
4998 {
4999 /* Q_UFIL - UPDATE_FILESYS */
5000 "update_filesys",
5001 "ufil",
c44ddfa7 5002 2,
d33e787c 5003 UPDATE,
5004 "fs",
03c05291 5005 FILESYS_TABLE,
d4296047 5006 "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'",
d33e787c 5007 ufil_fields,
5008 11,
4e5ec77f 5009 "filsys_id = %d",
d33e787c 5010 1,
29028043 5011 NULL,
5eaef520 5012 &ufil_validate,
d33e787c 5013 },
5014
5015 {
5016 /* Q_DFIL - DELETE_FILESYS */
5017 "delete_filesys",
5018 "dfil",
c44ddfa7 5019 2,
d33e787c 5020 DELETE,
5021 "fs",
03c05291 5022 FILESYS_TABLE,
7ac48069 5023 NULL,
d33e787c 5024 dfil_fields,
5025 0,
4e5ec77f 5026 "filsys_id = %d",
d33e787c 5027 1,
29028043 5028 NULL,
d33e787c 5029 &dfil_validate,
5030 },
5031
95127ba8 5032 {
5eaef520 5033 /* Q_GFGM - GET_FSGROUP_MEMBERS */
95127ba8 5034 "get_fsgroup_members",
5035 "gfgm",
c44ddfa7 5036 2,
95127ba8 5037 RETRIEVE,
5038 "fg",
03c05291 5039 FSGROUP_TABLE,
5040 "fs.label, fg.key FROM fsgroup fg, filesys fs",
95127ba8 5041 gfgm_fields,
5042 2,
4e5ec77f 5043 "fg.group_id = %d AND fs.filsys_id = fg.filsys_id",
95127ba8 5044 1,
29028043 5045 "fs.label, fg.key",
95127ba8 5046 &gfgm_validate,
5047 },
5048
5049 {
76f86976 5050 /* Q_AFTG - ADD_FILESYS_TO_FSGROUP */
95127ba8 5051 "add_filesys_to_fsgroup",
5052 "aftg",
c44ddfa7 5053 2,
95127ba8 5054 APPEND,
5055 "fg",
03c05291 5056 FSGROUP_TABLE,
5eaef520 5057 "INTO fsgroup (group_id, filsys_id, key) VALUES (%d, %d, '%s')",
95127ba8 5058 gfgm_fields,
76f86976 5059 3,
7ac48069 5060 NULL,
76f86976 5061 0,
29028043 5062 NULL,
95127ba8 5063 &aftg_validate,
5064 },
5065
5066 {
5067 /* Q_RFFG - REMOVE_FILESYS_FROM_FSGROUP */
5068 "remove_filesys_from_fsgroup",
5069 "rffg",
c44ddfa7 5070 2,
95127ba8 5071 DELETE,
5072 "fg",
03c05291 5073 FSGROUP_TABLE,
7ac48069 5074 NULL,
95127ba8 5075 gfgm_fields,
5076 0,
4e5ec77f 5077 "group_id = %d AND filsys_id = %d",
95127ba8 5078 2,
29028043 5079 NULL,
95127ba8 5080 &aftg_validate,
5081 },
5082
d33e787c 5083 {
5eaef520 5084 /* Q_GANF - GET_ALL_NFSPHYS */
d33e787c 5085 "get_all_nfsphys",
5086 "ganf",
c44ddfa7 5087 2,
d33e787c 5088 RETRIEVE,
5089 "np",
03c05291 5090 NFSPHYS_TABLE,
5091 "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",
d33e787c 5092 ganf_fields,
5093 9,
4e5ec77f 5094 "m.mach_id = np.mach_id",
d33e787c 5095 0,
29028043 5096 "m.name, np.dir",
5097 &VDfix_modby,
d33e787c 5098 },
5099
5100 {
5eaef520 5101 /* Q_GNFP - GET_NFSPHYS */
d33e787c 5102 "get_nfsphys",
5103 "gnfp",
c44ddfa7 5104 2,
d33e787c 5105 RETRIEVE,
5106 "np",
03c05291 5107 NFSPHYS_TABLE,
5108 "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",
d33e787c 5109 gnfp_fields,
5110 9,
263a36d4 5111 "np.mach_id = %d AND np.dir LIKE '%s' AND m.mach_id = np.mach_id",
d33e787c 5112 2,
29028043 5113 "m.name, np.dir",
d33e787c 5114 &gnfp_validate,
5115 },
5116
5117 {
45bf7573 5118 /* Q_ANFP - ADD_NFSPHYS */ /* uses prefetch_value() for nfsphys_id */
d33e787c 5119 "add_nfsphys",
5120 "anfp",
c44ddfa7 5121 2,
d33e787c 5122 APPEND,
5123 "np",
03c05291 5124 NFSPHYS_TABLE,
5eaef520 5125 "INTO nfsphys (mach_id, dir, device, status, allocated, partsize, nfsphys_id) VALUES (%d, '%s', NVL('%s', CHR(0)), %s, %s, %s, %s)",
d33e787c 5126 ganf_fields,
5127 6,
45bf7573 5128 0,
d33e787c 5129 0,
29028043 5130 NULL,
d33e787c 5131 &anfp_validate,
5132 },
5133
5134 {
5135 /* Q_UNFP - UPDATE_NFSPHYS */
5136 "update_nfsphys",
5137 "unfp",
c44ddfa7 5138 2,
d33e787c 5139 UPDATE,
5140 "np",
03c05291 5141 NFSPHYS_TABLE,
5eaef520 5142 "nfsphys SET device = NVL('%s', CHR(0)), status = %s, allocated = %s, partsize = %s",
135dcb80 5143 ganf_fields,
d33e787c 5144 4,
5eaef520 5145 "mach_id = %d AND dir = '%s'",
d33e787c 5146 2,
29028043 5147 NULL,
45bf7573 5148 &unfp_validate,
d33e787c 5149 },
5150
5151 {
5152 /* Q_AJNF - ADJUST_NFSPHYS_ALLOCATION */
5153 "adjust_nfsphys_allocation",
5154 "ajnf",
c44ddfa7 5155 2,
d33e787c 5156 UPDATE,
5157 "np",
03c05291 5158 NFSPHYS_TABLE,
4e5ec77f 5159 "nfsphys SET allocated = allocated + %s",
99e09b48 5160 ajnf_fields,
d33e787c 5161 1,
4e5ec77f 5162 "mach_id = %d AND dir = '%s'",
d33e787c 5163 2,
29028043 5164 NULL,
f802fd0d 5165 &ajnf_validate,
d33e787c 5166 },
5167
5168 {
5169 /* Q_DNFP - DELETE_NFSPHYS */
5170 "delete_nfsphys",
5171 "dnfp",
c44ddfa7 5172 2,
d33e787c 5173 DELETE,
5174 "np",
03c05291 5175 NFSPHYS_TABLE,
7ac48069 5176 NULL,
d33e787c 5177 dnfp_fields,
5178 0,
4e5ec77f 5179 "mach_id = %d AND dir = '%s'",
d33e787c 5180 2,
29028043 5181 NULL,
d33e787c 5182 &dnfp_validate,
5183 },
5184
368be132 5185 {
5eaef520 5186 /* Q_GQOT - GET_QUOTA */
368be132 5187 "get_quota",
5188 "gqot",
c44ddfa7 5189 2,
368be132 5190 RETRIEVE,
5191 "q",
03c05291 5192 QUOTA_TABLE,
5193 "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",
368be132 5194 gqot_fields,
5195 9,
263a36d4 5196 "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",
368be132 5197 3,
29028043 5198 NULL,
368be132 5199 &gqot_validate,
5200 },
5201
5202 {
5eaef520 5203 /* Q_GQBF - GET_QUOTA_BY_FILESYS */
368be132 5204 "get_quota_by_filesys",
5205 "gqbf",
c44ddfa7 5206 2,
368be132 5207 RETRIEVE,
5208 "q",
03c05291 5209 QUOTA_TABLE,
5210 "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",
368be132 5211 gqbf_fields,
5212 9,
263a36d4 5213 "fs.label LIKE '%s' AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
368be132 5214 1,
29028043 5215 "fs.label, q.type",
368be132 5216 &gqbf_validate,
5217 },
5218
5219 {
135dcb80 5220 /* Q_AQOT - ADD_QUOTA */ /* prefetch_filsys() gets last 1 value */
368be132 5221 "add_quota",
5222 "aqot",
c44ddfa7 5223 2,
368be132 5224 APPEND,
135dcb80 5225 0,
03c05291 5226 QUOTA_TABLE,
135dcb80 5227 "INTO quota (filsys_id, type, entity_id, quota, phys_id) VALUES ('%s', %d, %d, %s, %s)",
368be132 5228 aqot_fields,
135dcb80 5229 4,
7ac48069 5230 NULL,
76f86976 5231 0,
29028043 5232 NULL,
368be132 5233 &aqot_validate,
5234 },
5235
5236 {
5237 /* Q_UQOT - UPDATE_QUOTA */
5238 "update_quota",
5239 "uqot",
c44ddfa7 5240 2,
368be132 5241 UPDATE,
135dcb80 5242 0,
03c05291 5243 QUOTA_TABLE,
4e5ec77f 5244 "quota SET quota = %s",
368be132 5245 aqot_fields,
5246 1,
135dcb80 5247 0,
368be132 5248 3,
29028043 5249 NULL,
368be132 5250 &uqot_validate,
5251 },
5252
5253 {
5254 /* Q_DQOT - DELETE_QUOTA */
5255 "delete_quota",
5256 "dqot",
c44ddfa7 5257 2,
368be132 5258 DELETE,
135dcb80 5259 0,
03c05291 5260 QUOTA_TABLE,
7ac48069 5261 NULL,
368be132 5262 aqot_fields,
5263 0,
135dcb80 5264 0,
368be132 5265 3,
29028043 5266 NULL,
368be132 5267 &dqot_validate,
5268 },
5269
d33e787c 5270 {
5eaef520 5271 /* Q_GNFQ - GET_NFS_QUOTAS */
88343c5e 5272 "get_nfs_quota",
d33e787c 5273 "gnfq",
c44ddfa7 5274 2,
d33e787c 5275 RETRIEVE,
368be132 5276 "q",
03c05291 5277 QUOTA_TABLE,
5278 "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",
d33e787c 5279 gnfq_fields,
5280 8,
263a36d4 5281 "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'",
88343c5e 5282 2,
29028043 5283 "fs.label, u.login",
d33e787c 5284 &gnfq_validate,
5285 },
5286
5287 {
5eaef520 5288 /* Q_GNQP - GET_NFS_QUOTAS_BY_PARTITION */
d33e787c 5289 "get_nfs_quotas_by_partition",
5290 "gnqp",
c44ddfa7 5291 2,
d33e787c 5292 RETRIEVE,
368be132 5293 "q",
03c05291 5294 QUOTA_TABLE,
5295 "fs.label, u.login, q.quota, np.dir, m.name FROM quota q, filesys fs, users u, nfsphys np, machine m",
d33e787c 5296 gnqp_fields,
5297 5,
263a36d4 5298 "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",
d33e787c 5299 2,
29028043 5300 "fs.label",
263a36d4 5301 NULL,
d33e787c 5302 },
5303
d33e787c 5304 {
135dcb80 5305 /* Q_ANFQ - ADD_NFS_QUOTA */ /* prefetch_filsys() gets last 1 value */
d33e787c 5306 "add_nfs_quota",
5307 "anfq",
c44ddfa7 5308 2,
d33e787c 5309 APPEND,
135dcb80 5310 0,
03c05291 5311 QUOTA_TABLE,
135dcb80 5312 "INTO quota (type, filsys_id, entity_id, quota, phys_id ) VALUES ('USER', %d, %d, %s, %s)",
d33e787c 5313 anfq_fields,
135dcb80 5314 3,
7ac48069 5315 NULL,
76f86976 5316 0,
29028043 5317 NULL,
d33e787c 5318 &anfq_validate,
5319 },
5320
5321 {
5eaef520 5322 /* Q_UNFQ - UPDATE_NFS_QUOTA */
d33e787c 5323 "update_nfs_quota",
5324 "unfq",
c44ddfa7 5325 2,
d33e787c 5326 UPDATE,
135dcb80 5327 0,
03c05291 5328 QUOTA_TABLE,
4e5ec77f 5329 "quota SET quota = %s",
d33e787c 5330 anfq_fields,
5331 1,
135dcb80 5332 0,
d33e787c 5333 2,
29028043 5334 NULL,
d33e787c 5335 &unfq_validate,
5336 },
5337
5338 {
5339 /* Q_DNFQ - DELETE_NFS_QUOTA */
5340 "delete_nfs_quota",
5341 "dnfq",
c44ddfa7 5342 2,
d33e787c 5343 DELETE,
135dcb80 5344 0,
03c05291 5345 QUOTA_TABLE,
7ac48069 5346 NULL,
d33e787c 5347 anfq_fields,
5348 0,
135dcb80 5349 0,
d33e787c 5350 2,
29028043 5351 NULL,
d33e787c 5352 &dnfq_validate,
5353 },
5354
d33e787c 5355 {
5356 /* Q_GZCL - GET_ZEPHYR_CLASS */
5357 "get_zephyr_class",
5358 "gzcl",
c44ddfa7 5359 2,
d33e787c 5360 RETRIEVE,
5361 "z",
03c05291 5362 ZEPHYR_TABLE,
5363 "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",
d33e787c 5364 gzcl_fields,
5365 12,
263a36d4 5366 "class LIKE '%s'",
d33e787c 5367 1,
29028043 5368 "class",
d33e787c 5369 &gzcl_validate,
03c05291 5370 },
d33e787c 5371
5372 {
5373 /* Q_AZCL - ADD_ZEPHYR_CLASS */
5374 "add_zephyr_class",
5375 "azcl",
c44ddfa7 5376 2,
d33e787c 5377 APPEND,
5378 "z",
03c05291 5379 ZEPHYR_TABLE,
5eaef520 5380 "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)",
d33e787c 5381 azcl_fields,
5382 9,
5383 0,
5384 0,
29028043 5385 NULL,
d33e787c 5386 &azcl_validate,
5eaef520 5387 },
d33e787c 5388
5389 {
5390 /* Q_UZCL - UPDATE_ZEPHYR_CLASS */
5391 "update_zephyr_class",
5392 "uzcl",
c44ddfa7 5393 2,
d33e787c 5394 UPDATE,
5395 "z",
03c05291 5396 ZEPHYR_TABLE,
135dcb80 5397 "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",
d33e787c 5398 uzcl_fields,
5399 9,
99e09b48 5400 "class = '%s'",
d33e787c 5401 1,
29028043 5402 NULL,
d33e787c 5403 &uzcl_validate,
5eaef520 5404 },
d33e787c 5405
5406 {
5407 /* Q_DZCL - DELETE_ZEPHYR_CLASS */
5408 "delete_zephyr_class",
5409 "dzcl",
c44ddfa7 5410 2,
d33e787c 5411 DELETE,
5412 "z",
03c05291 5413 ZEPHYR_TABLE,
d33e787c 5414 0,
5415 uzcl_fields,
5416 0,
99e09b48 5417 "class = '%s'",
d33e787c 5418 1,
29028043 5419 NULL,
d33e787c 5420 &dzcl_validate,
5eaef520 5421 },
fd5b2340 5422
03c05291 5423 {
5eaef520 5424 /* Q_GSHA - GET_SERVER_HOST_ACCESS */
03c05291 5425 "get_server_host_access",
5426 "gsha",
c44ddfa7 5427 2,
03c05291 5428 RETRIEVE,
5429 "ha",
5430 HOSTACCESS_TABLE,
5431 "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",
5432 gsha_fields,
5433 6,
263a36d4 5434 "m.name LIKE UPPER('%s') AND ha.mach_id = m.mach_id",
03c05291 5435 1,
29028043 5436 "m.name",
03c05291 5437 &gsha_validate,
5438 },
5439
5440 {
5441 /* Q_ASHA - ADD_SERVER_HOST_ACCESS */
5442 "add_server_host_access",
5443 "asha",
c44ddfa7 5444 2,
03c05291 5445 APPEND,
5446 "ha",
5447 HOSTACCESS_TABLE,
5eaef520 5448 "INTO hostaccess (mach_id, acl_type, acl_id) VALUES (%d, '%s', %d)",
03c05291 5449 asha_fields,
5450 3,
5451 0,
5452 0,
29028043 5453 NULL,
03c05291 5454 &asha_validate,
5455 },
5456
5457 {
5458 /* Q_USHA - UPDATE_SERVER_HOST_ACCESS */
5459 "update_server_host_access",
5460 "usha",
c44ddfa7 5461 2,
03c05291 5462 UPDATE,
5463 "ha",
5464 HOSTACCESS_TABLE,
5465 "hostaccess SET acl_type = '%s', acl_id = %d",
5466 asha_fields,
5467 2,
5468 "mach_id = %d",
5469 1,
29028043 5470 NULL,
03c05291 5471 &asha_validate,
5472 },
5473
5474 {
5475 /* Q_DSHA - DELETE_SERVER_HOST_ACCESS */
5476 "delete_server_host_access",
5477 "dsha",
c44ddfa7 5478 2,
03c05291 5479 DELETE,
5480 "ha",
5481 HOSTACCESS_TABLE,
5482 0,
5483 asha_fields,
5484 0,
5485 "mach_id = %d",
5486 1,
29028043 5487 NULL,
03c05291 5488 &VDmach,
5489 },
5490
46b6f1f6 5491 {
5492 /* Q_GACL - GET_ACL */
5493 "get_acl",
5494 "gacl",
c44ddfa7 5495 2,
46b6f1f6 5496 RETRIEVE,
5497 "ac",
5498 ACL_TABLE,
5499 "m.name, ac.target, ac.kind, l.name FROM acl ac, machine m, list l",
5500 gacl_fields,
5501 4,
5502 "m.mach_id = %d AND m.mach_id = ac.mach_id AND ac.target LIKE '%s' AND l.list_id = ac.list_id",
5503 2,
5504 "m.name, ac.target, ac.kind",
5505 &gacl_validate,
5506 },
5507
5508 {
5509 /* Q_AACL - ADD_ACL */
5510 "add_acl",
5511 "aacl",
c44ddfa7 5512 2,
46b6f1f6 5513 APPEND,
5514 "ac",
5515 ACL_TABLE,
5516 "INTO acl (mach_id, target, kind, list_id) VALUES (%d, '%s', '%s', %d)",
5517 aacl_fields,
5518 4,
5519 0,
5520 0,
5521 NULL,
5522 &aacl_validate,
5523 },
5524
5525 {
5526 /* Q_DACL - DELETE_ACL */
5527 "delete_acl",
5528 "dacl",
c44ddfa7 5529 2,
46b6f1f6 5530 DELETE,
5531 "ac",
5532 ACL_TABLE,
5533 0,
5534 dacl_fields,
5535 0,
5536 "mach_id = %d AND target = '%s'",
5537 2,
5538 NULL,
5539 &gacl_validate,
5540 },
5541
d33e787c 5542 {
5543 /* Q_GSVC - GET_SERVICE */
5544 "get_service",
5545 "gsvc",
c44ddfa7 5546 2,
d33e787c 5547 RETRIEVE,
0c345c78 5548 "ss",
03c05291 5549 SERVICES_TABLE,
5550 "name, protocol, port, description, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS'), modby, modwith FROM services",
fd5b2340 5551 gsvc_fields,
d33e787c 5552 7,
69eb9470 5553 "name LIKE '%s' AND protocol LIKE '%s'",
5554 2,
29028043 5555 "name",
263a36d4 5556 &VDfix_modby,
d33e787c 5557 },
5558
5559 {
5560 /* Q_ASVC - ADD_SERVICE */
5561 "add_service",
5562 "asvc",
c44ddfa7 5563 2,
d33e787c 5564 APPEND,
0c345c78 5565 "ss",
03c05291 5566 SERVICES_TABLE,
5eaef520 5567 "INTO services (name, protocol, port, description) VALUES ('%s', '%s', %s, NVL('%s', CHR(0)))",
fd5b2340 5568 asvc_fields,
d33e787c 5569 4,
7ac48069 5570 NULL,
d33e787c 5571 0,
29028043 5572 NULL,
d33e787c 5573 &asvc_validate,
5574 },
5575
5576 {
5577 /* Q_DSVC - DELETE_SERVICE */
5578 "delete_service",
5579 "dsvc",
c44ddfa7 5580 2,
d33e787c 5581 DELETE,
0c345c78 5582 "ss",
03c05291 5583 SERVICES_TABLE,
d33e787c 5584 0,
69eb9470 5585 dsvc_fields,
d33e787c 5586 0,
69eb9470 5587 "name = '%s' AND protocol = '%s'",
5588 2,
29028043 5589 NULL,
69eb9470 5590 &dsvc_validate,
d33e787c 5591 },
fd5b2340 5592
d33e787c 5593 {
2884200f 5594 /* Q_GPRN - GET_PRINTER */
5595 "get_printer",
5596 "gprn",
c44ddfa7 5597 2,
d33e787c 5598 RETRIEVE,
2884200f 5599 "pr",
5600 PRINTERS_TABLE,
e5a63571 5601 "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",
2884200f 5602 gprn_fields,
e5a63571 5603 19,
2884200f 5604 "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",
d33e787c 5605 1,
2884200f 5606 "pr.name",
5607 &VDfix_modby,
d33e787c 5608 },
5609
5610 {
2884200f 5611 /* Q_GPBD - GET_PRINTER_BY_DUPLEXNAME */
5612 "get_printer_by_duplexname",
5613 "gpbd",
c44ddfa7 5614 2,
2884200f 5615 RETRIEVE,
5616 "pr",
5617 PRINTERS_TABLE,
e5a63571 5618 "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",
2884200f 5619 gpbd_fields,
e5a63571 5620 19,
2884200f 5621 "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",
5622 1,
5623 "pr.name",
5624 &VDfix_modby,
fd5b2340 5625 },
5626
5627 {
2884200f 5628 /* Q_GPBE - GET_PRINTER_BY_ETHERNET */
5629 "get_printer_by_ethernet",
5630 "gpbe",
c44ddfa7 5631 2,
2884200f 5632 RETRIEVE,
5633 "pr",
5634 PRINTERS_TABLE,
e5a63571 5635 "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",
2884200f 5636 gpbd_fields,
e5a63571 5637 19,
59841cdb 5638 "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",
fd5b2340 5639 1,
2884200f 5640 "pr.name",
5641 &VDfix_modby,
fd5b2340 5642 },
5643
5644 {
2884200f 5645 /* Q_GPBH - GET_PRINTER_BY_HOSTNAME */
5646 "get_printer_by_hostname",
5647 "gpbh",
c44ddfa7 5648 2,
fd5b2340 5649 RETRIEVE,
2884200f 5650 "pr",
5651 PRINTERS_TABLE,
e5a63571 5652 "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",
2884200f 5653 gpbh_fields,
e5a63571 5654 19,
2884200f 5655 "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",
fd5b2340 5656 1,
2884200f 5657 "pr.name",
263a36d4 5658 &VDfix_modby,
d33e787c 5659 },
5660
5661 {
2884200f 5662 /* Q_GPBR - GET_PRINTER_BY_RM */
5663 "get_printer_by_rm",
5664 "gpbr",
c44ddfa7 5665 2,
2884200f 5666 RETRIEVE,
5667 "pr",
5668 PRINTERS_TABLE,
e5a63571 5669 "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",
2884200f 5670 gpbr_fields,
e5a63571 5671 19,
2884200f 5672 "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",
d33e787c 5673 1,
2884200f 5674 "pr.name",
5675 &VDfix_modby,
d33e787c 5676 },
5677
012fc215 5678 {
2884200f 5679 /* Q_GPBL - GET_PRINTER_BY_LOCATION */
5680 "get_printer_by_location",
5681 "gpbl",
c44ddfa7 5682 2,
012fc215 5683 RETRIEVE,
2884200f 5684 "pr",
5685 PRINTERS_TABLE,
e5a63571 5686 "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",
2884200f 5687 gpbl_fields,
e5a63571 5688 19,
2884200f 5689 "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",
5690 1,
5691 "pr.name",
5692 &VDfix_modby,
5693 },
5694
5695 {
5696 /* Q_GPBC - GET_PRINTER_BY_CONTACT */
5697 "get_printer_by_contact",
5698 "gpbc",
c44ddfa7 5699 2,
2884200f 5700 RETRIEVE,
5701 "pr",
5702 PRINTERS_TABLE,
e5a63571 5703 "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",
2884200f 5704 gpbc_fields,
e5a63571 5705 19,
2884200f 5706 "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",
012fc215 5707 1,
2884200f 5708 "pr.name",
263a36d4 5709 &VDfix_modby,
012fc215 5710 },
5711
5712 {
2884200f 5713 /* Q_APRN - ADD_PRINTER */
5714 "add_printer",
5715 "aprn",
c44ddfa7 5716 2,
012fc215 5717 APPEND,
2884200f 5718 "pr",
5719 PRINTERS_TABLE,
e5a63571 5720 "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)))",
2884200f 5721 aprn_fields,
e5a63571 5722 16,
012fc215 5723 0,
5724 0,
29028043 5725 NULL,
2884200f 5726 &aprn_validate,
012fc215 5727 },
5728
1a9a0a59 5729 {
5730 /* Q_UPRN - UPDATE_PRINTER */
5731 "update_printer",
5732 "uprn",
c44ddfa7 5733 2,
1a9a0a59 5734 UPDATE,
5735 "pr",
5736 PRINTERS_TABLE,
5737 "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 = %d, pc = %d, ac = %d, lpc_acl = %d, banner = %d, location = NVL('%s', CHR(0)), contact = NVL('%s', CHR(0))",
5738 uprn_fields,
5739 16,
5740 0,
5741 0,
5742 NULL,
5743 &uprn_validate,
5744 },
5745
012fc215 5746 {
2884200f 5747 /* Q_DPRN - DELETE_PRINTER */
5748 "delete_printer",
5749 "dprn",
c44ddfa7 5750 2,
012fc215 5751 DELETE,
2884200f 5752 "pr",
5753 PRINTERS_TABLE,
012fc215 5754 0,
2884200f 5755 aprn_fields,
012fc215 5756 0,
99e09b48 5757 "name = '%s'",
012fc215 5758 1,
29028043 5759 NULL,
2884200f 5760 &dprn_validate,
012fc215 5761 },
5762
1a9a0a59 5763 {
5764 /* Q_GPSV - GET_PRINT_SERVER */
5765 "get_print_server",
5766 "gpsv",
c44ddfa7 5767 2,
1a9a0a59 5768 RETRIEVE,
5769 "ps",
5770 PRINTSERVERS_TABLE,
5771 "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",
5772 gpsv_fields,
5773 9,
5774 "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",
5775 1,
5776 NULL,
5777 &gpsv_validate,
5778 },
5779
5780 {
5781 /* Q_APSV - ADD_PRINT_SERVER */
5782 "add_print_server",
5783 "apsv",
c44ddfa7 5784 2,
1a9a0a59 5785 APPEND,
5786 "ps",
5787 PRINTSERVERS_TABLE,
5788 "INTO printservers (mach_id, kind, printer_types, owner_type, owner_id, lpc_acl) VALUES (%d, '%s', %d, '%s', %d, %d)",
5789 apsv_fields,
5790 6,
5791 0,
5792 0,
5793 NULL,
5794 &apsv_validate,
5795 },
5796
5797 {
5798 /* Q_UPSV - UPDATE_PRINT_SERVER */
5799 "update_print_server",
5800 "upsv",
c44ddfa7 5801 2,
1a9a0a59 5802 UPDATE,
5803 "ps",
5804 PRINTSERVERS_TABLE,
5805 "printservers SET kind = '%s', printer_types = %d, owner_type = '%s', owner_id = %d, lpc_acl = %d",
5806 apsv_fields,
5807 5,
5808 "mach_id = %d",
5809 1,
5810 NULL,
5811 &apsv_validate,
5812 },
5813
5814 {
5815 /* Q_DPSV - DELETE_PRINT_SERVER */
5816 "delete_print_server",
5817 "dpsv",
c44ddfa7 5818 2,
1a9a0a59 5819 DELETE,
5820 "ps",
5821 PRINTSERVERS_TABLE,
5822 0,
5823 dpsv_fields,
5824 0,
5825 "mach_id = %d",
5826 1,
5827 NULL,
5828 &dpsv_validate,
5829 },
5830
d33e787c 5831 {
5832 /* Q_GALI - GET_ALIAS */
5833 "get_alias",
5834 "gali",
c44ddfa7 5835 2,
d33e787c 5836 RETRIEVE,
5837 "a",
03c05291 5838 ALIAS_TABLE,
5839 "name, type, trans FROM alias",
d33e787c 5840 gali_fields,
5841 3,
263a36d4 5842 "name LIKE '%s' AND type LIKE '%s' AND trans LIKE '%s'",
d33e787c 5843 3,
29028043 5844 "type, name, trans",
263a36d4 5845 NULL,
d33e787c 5846 },
5847
5848 {
5849 /* Q_AALI - ADD_ALIAS */
5850 "add_alias",
5851 "aali",
c44ddfa7 5852 2,
d33e787c 5853 APPEND,
5854 "a",
03c05291 5855 ALIAS_TABLE,
4e5ec77f 5856 "INTO alias (name, type, trans) VALUES ('%s', '%s', '%s')",
d33e787c 5857 aali_fields,
5858 3,
7ac48069 5859 NULL,
d33e787c 5860 0,
29028043 5861 NULL,
d33e787c 5862 &aali_validate,
5863 },
5864
5865 {
5866 /* Q_DALI - DELETE_ALIAS */
5867 "delete_alias",
5868 "dali",
c44ddfa7 5869 2,
d33e787c 5870 DELETE,
5871 "a",
03c05291 5872 ALIAS_TABLE,
7ac48069 5873 NULL,
d33e787c 5874 aali_fields,
5875 0,
5eaef520 5876 "name = '%s' AND type = '%s' AND trans = '%s'",
d33e787c 5877 3,
29028043 5878 NULL,
d33e787c 5879 &dali_validate,
5880 },
5881
5882 {
5883 /* Q_GVAL - GET_VALUE */
5884 "get_value",
5885 "gval",
c44ddfa7 5886 2,
d33e787c 5887 RETRIEVE,
0c345c78 5888 "val",
03c05291 5889 NUMVALUES_TABLE,
5890 "value FROM numvalues",
d33e787c 5891 gval_fields,
5892 1,
03c05291 5893 "name = '%s'",
d33e787c 5894 1,
29028043 5895 NULL,
d33e787c 5896 &gval_validate,
5897 },
5898
5899 {
5900 /* Q_AVAL - ADD_VALUE */
5901 "add_value",
5902 "aval",
c44ddfa7 5903 2,
d33e787c 5904 APPEND,
0c345c78 5905 "val",
03c05291 5906 NUMVALUES_TABLE,
4e5ec77f 5907 "INTO numvalues (name, value) VALUES ('%s', %s)",
d33e787c 5908 aval_fields,
5909 2,
7ac48069 5910 NULL,
d33e787c 5911 0,
29028043 5912 NULL,
d33e787c 5913 &aval_validate,
5914 },
5915
5916 {
5917 /* Q_UVAL - UPDATE_VALUE */
5918 "update_value",
5919 "uval",
c44ddfa7 5920 2,
d33e787c 5921 UPDATE,
0c345c78 5922 "val",
03c05291 5923 NUMVALUES_TABLE,
4e5ec77f 5924 "numvalues SET value = %s",
d33e787c 5925 aval_fields,
5926 1,
99e09b48 5927 "name = '%s'",
d33e787c 5928 1,
29028043 5929 NULL,
d33e787c 5930 &aval_validate,
5931 },
5932
5933 {
5934 /* Q_DVAL - DELETE_VALUE */
5935 "delete_value",
5936 "dval",
c44ddfa7 5937 2,
d33e787c 5938 DELETE,
0c345c78 5939 "val",
03c05291 5940 NUMVALUES_TABLE,
7ac48069 5941 NULL,
d33e787c 5942 dval_fields,
5943 0,
99e09b48 5944 "name = '%s'",
d33e787c 5945 1,
29028043 5946 NULL,
d33e787c 5947 &aval_validate,
5948 },
5949
5950 {
5951 /* Q_GATS - GET_ALL_TABLE_STATS */
5952 "get_all_table_stats",
5953 "gats",
c44ddfa7 5954 2,
d33e787c 5955 RETRIEVE,
5956 "tbs",
03c05291 5957 TBLSTATS_TABLE,
5958 "table_name, appends, updates, deletes, TO_CHAR(modtime, 'DD-mon-YYYY HH24:MI:SS') FROM tblstats",
d33e787c 5959 gats_fields,
45bf7573 5960 5,
7ac48069 5961 NULL,
d33e787c 5962 0,
29028043 5963 "table_name",
d33e787c 5964 0,
5965 },
5966
2962e9ec 5967 {
5968 /* Q__SDL - _SET_DEBUG_LEVEL */
5969 "_set_debug_level",
5970 "_sdl",
c44ddfa7 5971 2,
2962e9ec 5972 UPDATE,
7ac48069 5973 NULL,
03c05291 5974 0,
7ac48069 5975 NULL,
2962e9ec 5976 _sdl_fields,
5977 1,
7ac48069 5978 NULL,
2962e9ec 5979 0,
29028043 5980 NULL,
2962e9ec 5981 &_sdl_validate,
5982 },
5983
d33e787c 5984};
5985
c44ddfa7 5986int QueryCount = (sizeof(Queries) / sizeof(struct query));
This page took 2.221509 seconds and 5 git commands to generate.