3 #include <mit-copyright.h>
5 #include <moira_site.h>
16 EXEC SQL INCLUDE sqlca;
18 char *whoami = "lpcaccess.gen";
19 char *db = "moira/moira";
23 int main(int argc, char **argv)
25 EXEC SQL BEGIN DECLARE SECTION;
26 char name[PRINTERS_RP_SIZE], duplexname[PRINTERS_DUPLEXNAME_SIZE];
28 EXEC SQL END DECLARE SECTION;
31 char filename[MAXPATHLEN];
32 time_t mtime, now = time(NULL);
38 EXEC SQL WHENEVER SQLERROR DO sqlerr();
40 sprintf(filename, "%s/lpcaccess.out", DCM_DIR);
41 tf = tarfile_open(filename);
43 EXEC SQL SELECT list_id INTO :list_id FROM list
44 WHERE name = 'ops-lpcaccess-top';
46 out = tarfile_start(tf, "lpcaccess.top", 0755, 1, 1, "daemon", "daemon",
48 dump_krb_acl(out, "LIST", list_id, 5);
51 EXEC SQL SELECT list_id INTO :list_id FROM LIST
52 WHERE name = 'sap-lpcaccess-top';
54 out = tarfile_start(tf, "sap-lpcaccess.top", 0755, 1, 1, "daemon", "daemon",
56 dump_krb_acl(out, "LIST", list_id, 5);
59 EXEC SQL DECLARE csr_lpc CURSOR FOR SELECT UNIQUE rp, duplexname, lpc_acl
60 FROM printers WHERE lpc_acl != 0;
61 EXEC SQL OPEN csr_lpc;
64 EXEC SQL FETCH csr_lpc INTO :name, :duplexname, :lpc_acl;
70 tarfile_mkdir(tf, name, 0755, 1, 1, "daemon", "daemon", now);
71 sprintf(filename, "%s/lpcaccess", name);
72 out = tarfile_start(tf, filename, 0755, 1, 1, "daemon", "daemon", now);
73 dump_krb_acl(out, "LIST", lpc_acl, 5);
80 tarfile_mkdir(tf, duplexname, 0755, 1, 1, "daemon", "daemon", now);
81 sprintf(filename, "%s/lpcaccess", duplexname);
82 out = tarfile_start(tf, filename, 0755, 1, 1, "daemon", "daemon", now);
83 dump_krb_acl(out, "LIST", lpc_acl, 5);
88 EXEC SQL CLOSE csr_lpc;
97 db_error(sqlca.sqlcode);