diff options
author | Gerald Carter <jerry@samba.org> | 2002-08-16 15:36:37 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2002-08-16 15:36:37 +0000 |
commit | 4ed429481c6aa2517b8b1615f95900d7db372cd6 (patch) | |
tree | 2cf8802fff6846a328065b3b468112101a9207a9 /source3/include | |
parent | b84315e2d583ad4bf06b5e43c3c1046a751326b6 (diff) | |
download | samba-4ed429481c6aa2517b8b1615f95900d7db372cd6.tar.gz samba-4ed429481c6aa2517b8b1615f95900d7db372cd6.tar.bz2 samba-4ed429481c6aa2517b8b1615f95900d7db372cd6.zip |
Fairly large change to printing code.
* removed support for PHANTOM_DEVMODE printer data
* s/NT_PRINTER_PARAM/REGISTRY_VALUE/g - This was a good bit
of work. Everything seems stable, but is not complete.
* support for printer data keys other than PrinterDriverData
in the store and fetch routines. Still needs to be plugged
into the XxxPrinterDataEx() calls.
Tested against NT4.0 & 2k. Like I said, it's not done, but doesn't
crash so it shouldn't upset anyone (unless you're trying to build
a Samba printer server off of HEAD). More work to come. Should
settle by Monday.
jerry
(This used to be commit 7ba7c04c0e961618c82c2112b9627af114c6cc42)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/nt_printing.h | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/source3/include/nt_printing.h b/source3/include/nt_printing.h index 57181c6659..6303136894 100644 --- a/source3/include/nt_printing.h +++ b/source3/include/nt_printing.h @@ -174,14 +174,26 @@ typedef struct nt_printer_driver_info_level NT_PRINTER_DRIVER_INFO_LEVEL_6 *info_6; } NT_PRINTER_DRIVER_INFO_LEVEL; -typedef struct nt_printer_param -{ - fstring value; - uint32 type; - uint8 *data; - int data_len; - struct nt_printer_param *next; -} NT_PRINTER_PARAM; +/* predefined registry key names for printer data */ + +#define SPOOL_PRINTERDATA_KEY "PrinterDriverData" +#define SPOOL_DSSPOOLER_KEY "DsSpooler" +#define SPOOL_DSDRIVER_KEY "DsDriver" +#define SPOOL_DSUSER_KEY "DsUser" + +/* container for a single registry key */ + +typedef struct { + char *name; + REGVAL_CTR values; +} NT_PRINTER_KEY; + +/* container for all printer data */ + +typedef struct { + int num_keys; + NT_PRINTER_KEY *keys; +} NT_PRINTER_DATA; typedef struct ntdevicemode { @@ -246,9 +258,8 @@ typedef struct nt_printer_info_level_2 fstring printprocessor; fstring datatype; fstring parameters; - NT_PRINTER_PARAM *specific; + NT_PRINTER_DATA data; SEC_DESC_BUF *secdesc_buf; - /* not used but ... and how ??? */ uint32 changeid; uint32 c_setprinter; uint32 setuptime; |