summaryrefslogtreecommitdiffstats
path: root/source3/include
diff options
context:
space:
mode:
authorJean-François Micouleau <jfm@samba.org>2000-03-29 12:36:44 +0000
committerJean-François Micouleau <jfm@samba.org>2000-03-29 12:36:44 +0000
commit6ca0ed9baa7d2a4b4d46ca730d4984f80965d849 (patch)
treeb712c93cf4dcbcf59f1c45da0cd8ee56b70c371b /source3/include
parent84b16407bf8bdf2f318eba75a483c5b2a367d6ae (diff)
downloadsamba-6ca0ed9baa7d2a4b4d46ca730d4984f80965d849.tar.gz
samba-6ca0ed9baa7d2a4b4d46ca730d4984f80965d849.tar.xz
samba-6ca0ed9baa7d2a4b4d46ca730d4984f80965d849.zip
rewrote getprinterdriver level 3, now correctly handle the dependent
files. A number of memleak fixed some error return values fixed. J.F. (This used to be commit c212fbe009fe556d5329b5d7106159cf21402d82)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h6
-rwxr-xr-xsource3/include/rpc_spoolss.h16
2 files changed, 12 insertions, 10 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 19ad9b6f33c..7f40ac8fcde 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -2395,6 +2395,10 @@ uint32 spoolss_size_printprocessor_info_1(PRINTPROCESSOR_1 *info);
uint32 spoolss_size_printprocdatatype_info_1(PRINTPROCDATATYPE_1 *info);
uint32 spoolss_size_printmonitor_info_1(PRINTMONITOR_1 *info);
uint32 spoolss_size_printmonitor_info_2(PRINTMONITOR_2 *info);
+BOOL make_spoolss_q_getprinterdriver2(SPOOL_Q_GETPRINTERDRIVER2 *q_u,
+ const POLICY_HND *hnd, fstring architecture,
+ uint32 level, uint32 clientmajor, uint32 clientminor,
+ NEW_BUFFER *buffer, uint32 offered);
BOOL spoolss_io_q_getprinterdriver2(char *desc, SPOOL_Q_GETPRINTERDRIVER2 *q_u, prs_struct *ps, int depth);
BOOL spoolss_io_r_getprinterdriver2(char *desc, SPOOL_R_GETPRINTERDRIVER2 *r_u, prs_struct *ps, int depth);
BOOL make_spoolss_q_enumprinters(SPOOL_Q_ENUMPRINTERS *q_u, uint32 flags,
@@ -2404,6 +2408,8 @@ BOOL spoolss_io_q_enumprinters(char *desc, SPOOL_Q_ENUMPRINTERS *q_u, prs_struct
BOOL new_spoolss_io_r_enumprinters(char *desc, SPOOL_R_ENUMPRINTERS *r_u, prs_struct *ps, int depth);
BOOL spoolss_io_r_getprinter(char *desc, SPOOL_R_GETPRINTER *r_u, prs_struct *ps, int depth);
BOOL spoolss_io_q_getprinter(char *desc, SPOOL_Q_GETPRINTER *q_u, prs_struct *ps, int depth);
+BOOL make_spoolss_q_getprinter(SPOOL_Q_GETPRINTER *q_u, const POLICY_HND *hnd, uint32 level,
+ NEW_BUFFER *buffer, uint32 offered);
BOOL spoolss_io_r_setprinter(char *desc, SPOOL_R_SETPRINTER *r_u, prs_struct *ps, int depth);
BOOL spoolss_io_q_setprinter(char *desc, SPOOL_Q_SETPRINTER *q_u, prs_struct *ps, int depth);
BOOL spoolss_io_r_fcpn(char *desc, SPOOL_R_FCPN *r_u, prs_struct *ps, int depth);
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index 0777a602b12..0100fb007ef 100755
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -804,6 +804,7 @@ SPOOL_Q_ENUMPRINTERS;
typedef struct printer_info_ctr_info
{
+ PRINTER_INFO_0 *printers_0;
PRINTER_INFO_1 *printers_1;
PRINTER_INFO_2 *printers_2;
}
@@ -881,7 +882,7 @@ typedef struct driver_info_3
UNISTR datafile;
UNISTR configfile;
UNISTR helpfile;
- UNISTR **dependentfiles;
+ uint16 *dependentfiles;
UNISTR monitorname;
UNISTR defaultdatatype;
}
@@ -889,16 +890,11 @@ DRIVER_INFO_3;
typedef struct driver_info_info
{
- union
- {
- DRIVER_INFO_1 *info1;
- DRIVER_INFO_2 *info2;
- DRIVER_INFO_3 *info3;
- }
- driver;
-
+ DRIVER_INFO_1 *info1;
+ DRIVER_INFO_2 *info2;
+ DRIVER_INFO_3 *info3;
}
-DRIVER_INFO;
+PRINTER_DRIVER_CTR;
typedef struct spool_q_getprinterdriver2
{