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