From 672eb22bc1ee6ee7d3372655f0847f676727643a Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Sat, 21 Feb 2009 23:11:49 +0100 Subject: spoolss: fix some PRINTER_CHANGE_ defines (and add a new windows 7 flag). Guenther --- librpc/idl/spoolss.idl | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'librpc/idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index b441f17cf1..ca33cd1192 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -1530,21 +1530,16 @@ import "misc.idl", "security.idl", "winreg.idl"; PRINTER_CHANGE_DELETE_PORT = 0x00400000, PRINTER_CHANGE_ADD_PRINT_PROCESSOR = 0x01000000, PRINTER_CHANGE_DELETE_PRINT_PROCESSOR = 0x04000000, + PRINTER_CHANGE_SERVER = 0x08000000, PRINTER_CHANGE_ADD_PRINTER_DRIVER = 0x10000000, PRINTER_CHANGE_SET_PRINTER_DRIVER = 0x20000000, PRINTER_CHANGE_DELETE_PRINTER_DRIVER = 0x40000000, PRINTER_CHANGE_TIMEOUT = 0x80000000 } spoolss_PrinterChangeFlags; - const int PRINTER_CHANGE_PRINTER = (PRINTER_CHANGE_ADD_PRINTER | - PRINTER_CHANGE_SET_PRINTER | - PRINTER_CHANGE_DELETE_PRINTER | - PRINTER_CHANGE_FAILED_CONNECTION_PRINTER); /* 0x000000FF */ + const int PRINTER_CHANGE_PRINTER = 0x000000FF; - const int PRINTER_CHANGE_JOB = (PRINTER_CHANGE_ADD_JOB | - PRINTER_CHANGE_SET_JOB | - PRINTER_CHANGE_DELETE_JOB | - PRINTER_CHANGE_WRITE_JOB); /* 0x0000FF00 */ + const int PRINTER_CHANGE_JOB = 0x0000FF00; const int PRINTER_CHANGE_FORM = (PRINTER_CHANGE_ADD_FORM | PRINTER_CHANGE_SET_FORM | @@ -1554,14 +1549,14 @@ import "misc.idl", "security.idl", "winreg.idl"; PRINTER_CHANGE_CONFIGURE_PORT | PRINTER_CHANGE_DELETE_PORT); /* 0x00700000 */ - const int PRINTER_CHANGE_PRINT_PROCESSOR = (PRINTER_CHANGE_ADD_PRINT_PROCESSOR | - PRINTER_CHANGE_DELETE_PRINT_PROCESSOR); /* 0x07000000 */ + const int PRINTER_CHANGE_PRINT_PROCESSOR = 0x07000000; const int PRINTER_CHANGE_PRINTER_DRIVER = (PRINTER_CHANGE_ADD_PRINTER_DRIVER | PRINTER_CHANGE_SET_PRINTER_DRIVER | PRINTER_CHANGE_DELETE_PRINTER_DRIVER); /* 0x70000000 */ - const int PRINTER_CHANGE_ALL = (PRINTER_CHANGE_JOB | + const int PRINTER_CHANGE_ALL = (PRINTER_CHANGE_PRINTER | + PRINTER_CHANGE_JOB | PRINTER_CHANGE_FORM | PRINTER_CHANGE_PORT | PRINTER_CHANGE_PRINT_PROCESSOR | -- cgit From db400032abc48baafaef87d72e6498505642bf34 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Mon, 23 Feb 2009 11:50:27 +0100 Subject: spoolss: spoolss_NotifyData contains a devmode container, not devmode pointer. Guenther --- librpc/idl/spoolss.idl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'librpc/idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index ca33cd1192..17d480261a 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -1678,7 +1678,7 @@ import "misc.idl", "security.idl", "winreg.idl"; typedef [switch_type(uint32)] union { [case(1)] uint32 integer[2]; [case(2)] spoolss_NotifyString string; - [case(3)] spoolss_DeviceMode *devmode; + [case(3)] spoolss_DevmodeContainer devmode; [case(4)] spoolss_TimeCtr time; [case(5)] sec_desc_buf sd; } spoolss_NotifyData; -- cgit From 0449d5c285c4f2f64d1aae3654322997e65ceade Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Mon, 23 Feb 2009 22:58:33 +0100 Subject: spoolss: generate size functions for printer driver structs. Guenther --- librpc/idl/spoolss.idl | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'librpc/idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 17d480261a..4809eef2e8 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -700,7 +700,7 @@ import "misc.idl", "security.idl", "winreg.idl"; spoolss_StringArray *dependent_files; [value(((ndr_size_spoolss_StringArray(previous_names, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names; spoolss_StringArray *previous_names; - NTTIME driver_data; + NTTIME driver_date; hyper driver_version; [string,charset(UTF16)] uint16 *manufacturer_name; [string,charset(UTF16)] uint16 *manufacturer_url; @@ -722,7 +722,7 @@ import "misc.idl", "security.idl", "winreg.idl"; spoolss_StringArray *dependent_files; [value(((ndr_size_spoolss_StringArray(previous_names, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names; spoolss_StringArray *previous_names; - NTTIME driver_data; + NTTIME driver_date; hyper driver_version; [string,charset(UTF16)] uint16 *manufacturer_name; [string,charset(UTF16)] uint16 *manufacturer_url; @@ -759,11 +759,11 @@ import "misc.idl", "security.idl", "winreg.idl"; [in,ref] spoolss_AddDriverInfoCtr *info_ctr ); - typedef struct { + typedef [public,gensize] struct { [relative] nstring *driver_name; } spoolss_DriverInfo1; - typedef struct { + typedef [public,gensize] struct { spoolss_DriverOSVersion version; [relative] nstring *driver_name; [relative] nstring *architecture; @@ -772,7 +772,7 @@ import "misc.idl", "security.idl", "winreg.idl"; [relative] nstring *config_file; } spoolss_DriverInfo2; - typedef struct { + typedef [public,gensize] struct { spoolss_DriverOSVersion version; [relative] nstring *driver_name; [relative] nstring *architecture; @@ -785,7 +785,7 @@ import "misc.idl", "security.idl", "winreg.idl"; [relative] nstring *default_datatype; } spoolss_DriverInfo3; - typedef struct { + typedef [public,gensize] struct { spoolss_DriverOSVersion version; [relative] nstring *driver_name; [relative] nstring *architecture; @@ -799,7 +799,7 @@ import "misc.idl", "security.idl", "winreg.idl"; [relative] nstring_array *previous_names; } spoolss_DriverInfo4; - typedef struct { + typedef [public,gensize] struct { spoolss_DriverOSVersion version; [relative] nstring *driver_name; [relative] nstring *architecture; @@ -811,7 +811,7 @@ import "misc.idl", "security.idl", "winreg.idl"; uint32 driver_version; } spoolss_DriverInfo5; - typedef struct { + typedef [public,gensize] struct { spoolss_DriverOSVersion version; [relative] nstring *driver_name; [relative] nstring *architecture; @@ -823,7 +823,7 @@ import "misc.idl", "security.idl", "winreg.idl"; [relative] nstring *monitor_name; [relative] nstring *default_datatype; [relative] nstring_array *previous_names; - NTTIME driver_data; + NTTIME driver_date; hyper driver_version; [relative] nstring *manufacturer_name; [relative] nstring *manufacturer_url; @@ -831,7 +831,7 @@ import "misc.idl", "security.idl", "winreg.idl"; [relative] nstring *provider; } spoolss_DriverInfo6; - typedef struct { + typedef [public,gensize] struct { spoolss_DriverOSVersion version; [relative] nstring *driver_name; [relative] nstring *architecture; @@ -843,7 +843,7 @@ import "misc.idl", "security.idl", "winreg.idl"; [relative] nstring *default_datatype; [relative] nstring_array *dependent_files; [relative] nstring_array *previous_names; - NTTIME driver_data; + NTTIME driver_date; hyper driver_version; [relative] nstring *manufacturer_name; [relative] nstring *manufacturer_url; -- cgit From b8b3a6f1fc3dd10820906118264943860a73c1c4 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 24 Feb 2009 00:45:25 +0100 Subject: spoolss: add spoolss_DriverInfo101 to IDL. Note that the size_is of the spoolss_DriverFileInfo is not reflected on the ndr. It is just used as pidl cannot handle a relative pointer to a static array of structs. Guenther --- librpc/idl/spoolss.idl | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'librpc/idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 4809eef2e8..b8f4c13148 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -628,7 +628,7 @@ import "misc.idl", "security.idl", "winreg.idl"; [string,charset(UTF16)] uint16 *driver_name; } spoolss_AddDriverInfo1; - typedef [v1_enum] enum { + typedef [v1_enum,public] enum { SPOOLSS_DRIVER_VERSION_9X = 0, SPOOLSS_DRIVER_VERSION_NT35 = 1, SPOOLSS_DRIVER_VERSION_NT4 = 2, @@ -859,6 +859,37 @@ import "misc.idl", "security.idl", "winreg.idl"; hyper min_inbox_driver_ver_version; } spoolss_DriverInfo8; + typedef [v1_enum] enum { + SPOOLSS_DRIVER_FILE_TYPE_RENDERING = 0x00000000, + SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION = 0x00000001, + SPOOLSS_DRIVER_FILE_TYPE_DATA = 0x00000002, + SPOOLSS_DRIVER_FILE_TYPE_HELP = 0x00000003, + SPOOLSS_DRIVER_FILE_TYPE_OTHER = 0x00000004 + } spoolss_DriverFileType; + + typedef [public] struct { + [relative] nstring *file_name; + spoolss_DriverFileType file_type; + uint32 file_version; + } spoolss_DriverFileInfo; + + typedef [public,gensize,nopush,nopull] struct { + spoolss_DriverOSVersion version; + [relative] nstring *driver_name; + [relative] nstring *architecture; + [relative] [size_is(file_count)] spoolss_DriverFileInfo *file_info; + uint32 file_count; + [relative] nstring *monitor_name; + [relative] nstring *default_datatype; + [relative] nstring_array *previous_names; + NTTIME driver_date; + hyper driver_version; + [relative] nstring *manufacturer_name; + [relative] nstring *manufacturer_url; + [relative] nstring *hardware_id; + [relative] nstring *provider; + } spoolss_DriverInfo101; + typedef [nodiscriminant,relative_base,public] union { [case(1)] spoolss_DriverInfo1 info1; [case(2)] spoolss_DriverInfo2 info2; @@ -867,6 +898,7 @@ import "misc.idl", "security.idl", "winreg.idl"; [case(5)] spoolss_DriverInfo5 info5; [case(6)] spoolss_DriverInfo6 info6; [case(8)] spoolss_DriverInfo8 info8; + [case(101)] spoolss_DriverInfo101 info101; [default]; } spoolss_DriverInfo; -- cgit