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