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