From c46fad3d1bdf1082a695d3df90e55e739e494a5c Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 25 Feb 2009 13:45:15 +0100 Subject: spoolss: add spoolss_FormInfo2 used by Vista. Guenther --- librpc/idl/spoolss.idl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 3e35399f8d..5359fdf4a2 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -1237,8 +1237,28 @@ import "misc.idl", "security.idl", "winreg.idl"; spoolss_FormArea area; } spoolss_FormInfo1; + typedef [bitmap32bit] bitmap { + SPOOLSS_FORM_STRING_TYPE_NONE = 0x00000001, + SPOOLSS_FORM_STRING_TYPE_MUI_DLL = 0x00000002, + SPOOLSS_FORM_STRING_TYPE_LANG_PAIR = 0x00000004 + } spoolss_FormStringType; + + typedef struct { + spoolss_FormFlags flags; + [relative] nstring *form_name; + spoolss_FormSize size; + spoolss_FormArea area; + [relative] nstring *keyword; + spoolss_FormStringType string_type; + [relative] nstring *mui_dll; + uint32 ressource_id; + [relative] nstring *display_name; + uint32 lang_id; + } spoolss_FormInfo2; + typedef [nodiscriminant,relative_base,public,gensize] union { [case(1)] spoolss_FormInfo1 info1; + [case(2)] spoolss_FormInfo2 info2; [default]; } spoolss_FormInfo; -- cgit From 74232e323762abc8fbdc2a6a28c6e77b0020c304 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 25 Feb 2009 16:17:08 +0100 Subject: spoolss: windows ignores level in a spoolss_GetPrintProcessorDirectory query. Guenther --- librpc/idl/spoolss.idl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 5359fdf4a2..23dc519654 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -1021,7 +1021,7 @@ import "misc.idl", "security.idl", "winreg.idl"; typedef [nodiscriminant,relative_base,gensize,public] union { [case(1)] spoolss_PrintProcessorDirectoryInfo1 info1; - [default]; + [default] spoolss_PrintProcessorDirectoryInfo1 info1; } spoolss_PrintProcessorDirectoryInfo; WERROR spoolss_GetPrintProcessorDirectory( -- cgit From 92f05e3c96a412d50cf8733d393464acb1d702fd Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 25 Feb 2009 20:46:35 +0100 Subject: spoolss: fix spoolss_FormInfo2 (new in vista). keyword is an astring, not an nstring. Guenther --- librpc/idl/spoolss.idl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 23dc519654..b1ece7360f 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -1248,7 +1248,7 @@ import "misc.idl", "security.idl", "winreg.idl"; [relative] nstring *form_name; spoolss_FormSize size; spoolss_FormArea area; - [relative] nstring *keyword; + [relative] astring *keyword; spoolss_FormStringType string_type; [relative] nstring *mui_dll; uint32 ressource_id; -- cgit From b239a4ee76ec424f09a74ae65bbddeba71026141 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 25 Feb 2009 20:48:16 +0100 Subject: spoolss: add spoolss_AddFormInfo2. Guenther --- librpc/idl/spoolss.idl | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index b1ece7360f..1271ca407b 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -1269,8 +1269,22 @@ import "misc.idl", "security.idl", "winreg.idl"; spoolss_FormArea area; } spoolss_AddFormInfo1; + typedef struct { + spoolss_FormFlags flags; + [string,charset(UTF16)] uint16 *form_name; + spoolss_FormSize size; + spoolss_FormArea area; + [string,charset(DOS)] uint8 *keyword; + spoolss_FormStringType string_type; + [string,charset(UTF16)] uint16 *mui_dll; + uint32 ressource_id; + [string,charset(UTF16)] uint16 *display_name; + uint32 lang_id; + } spoolss_AddFormInfo2; + typedef [switch_type(uint32)] union { [case(1)] spoolss_AddFormInfo1 *info1; + [case(2)] spoolss_AddFormInfo2 *info2; } spoolss_AddFormInfo; WERROR spoolss_AddForm( -- cgit From 06d2604d9d1f77dddc1408233da48f0958bb24d0 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 25 Feb 2009 20:48:43 +0100 Subject: spoolss: add JOB_ACCESS_READ. Guenther --- librpc/idl/spoolss.idl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 1271ca407b..2aebed5016 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -1841,7 +1841,8 @@ import "misc.idl", "security.idl", "winreg.idl"; SERVER_ACCESS_ENUMERATE = 0x00000002, PRINTER_ACCESS_ADMINISTER = 0x00000004, PRINTER_ACCESS_USE = 0x00000008, - JOB_ACCESS_ADMINISTER = 0x00000010 + JOB_ACCESS_ADMINISTER = 0x00000010, + JOB_ACCESS_READ = 0x00000020 } spoolss_AccessRights; /* Access rights for print servers */ -- cgit From 76ae2022ad239394c9122f65bd35c1523874e6f9 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Thu, 26 Feb 2009 01:10:37 +0100 Subject: spoolss: add spoolss_JobStatus. Guenther --- librpc/idl/spoolss.idl | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 2aebed5016..f356294d72 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -378,6 +378,27 @@ import "misc.idl", "security.idl", "winreg.idl"; /******************/ /* Function: 0x02 */ + + /* JOB status codes. */ + + const int JOB_STATUS_QUEUED = 0x0000; + + typedef [bitmap32bit] bitmap { + JOB_STATUS_PAUSED = 0x00000001, + JOB_STATUS_ERROR = 0x00000002, + JOB_STATUS_DELETING = 0x00000004, + JOB_STATUS_SPOOLING = 0x00000008, + JOB_STATUS_PRINTING = 0x00000010, + JOB_STATUS_OFFLINE = 0x00000020, + JOB_STATUS_PAPEROUT = 0x00000040, + JOB_STATUS_PRINTED = 0x00000080, + JOB_STATUS_DELETED = 0x00000100, + JOB_STATUS_BLOCKED_DEVQ = 0x00000200, + JOB_STATUS_USER_INTERVENTION = 0x00000400, + JOB_STATUS_RESTART = 0x00000800, + JOB_STATUS_COMPLETE = 0x00001000 + } spoolss_JobStatus; + typedef struct { uint32 job_id; [relative] nstring *printer_name; @@ -386,7 +407,7 @@ import "misc.idl", "security.idl", "winreg.idl"; [relative] nstring *document_name; [relative] nstring *data_type; [relative] nstring *text_status; - uint32 status; + spoolss_JobStatus status; uint32 priority; uint32 position; uint32 total_pages; -- cgit From dec1410b10106242ed3dcba522cb4d9914ea92a8 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Thu, 26 Feb 2009 15:29:23 +0100 Subject: spoolss: add spoolss_JobInfo2, JobInfo3 and JobInfo4 (new in vista). Guenther --- librpc/idl/spoolss.idl | 66 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 63 insertions(+), 3 deletions(-) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index f356294d72..75b3bc00f0 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -412,13 +412,73 @@ import "misc.idl", "security.idl", "winreg.idl"; uint32 position; uint32 total_pages; uint32 pages_printed; - spoolss_Time time; + spoolss_Time submitted; } spoolss_JobInfo1; + typedef struct { + uint32 job_id; + [relative] nstring *printer_name; + [relative] nstring *server_name; + [relative] nstring *user_name; + [relative] nstring *document_name; + [relative] nstring *notify_name; + [relative] nstring *data_type; + [relative] nstring *print_processor; + [relative] nstring *parameters; + [relative] nstring *driver_name; + [relative] spoolss_DeviceMode *devmode; + [relative] nstring *text_status; + [relative] security_descriptor *secdesc; + spoolss_JobStatus status; + uint32 priority; + uint32 position; + uint32 start_time; + uint32 until_time; + uint32 total_pages; + uint32 size; + spoolss_Time submitted; + uint32 time; + uint32 pages_printed; + } spoolss_JobInfo2; + + typedef struct { + uint32 job_id; + uint32 next_job_id; + uint32 reserved; + } spoolss_JobInfo3; + + typedef struct { + uint32 job_id; + [relative] nstring *printer_name; + [relative] nstring *server_name; + [relative] nstring *user_name; + [relative] nstring *document_name; + [relative] nstring *notify_name; + [relative] nstring *data_type; + [relative] nstring *print_processor; + [relative] nstring *parameters; + [relative] nstring *driver_name; + [relative] spoolss_DeviceMode *devmode; + [relative] nstring *text_status; + [relative] security_descriptor *secdesc; + spoolss_JobStatus status; + uint32 priority; + uint32 position; + uint32 start_time; + uint32 until_time; + uint32 total_pages; + uint32 size; + spoolss_Time submitted; + uint32 time; + uint32 pages_printed; + uint32 size_high; + } spoolss_JobInfo4; + typedef [nodiscriminant,relative_base,public] union { [case(1)] spoolss_JobInfo1 info1; - [case(2)]; /* TODO */ - [case(3)]; /* TODO */ + [case(2)] spoolss_JobInfo2 info2; + [case(3)] spoolss_JobInfo3 info3; + [case(4)] spoolss_JobInfo4 info4; [default]; } spoolss_JobInfo; -- cgit From d42f833acee7c3c5a124631a5a6e9e2ad69d8059 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Thu, 26 Feb 2009 15:52:51 +0100 Subject: spoolss: add 2 new SPOOLSS_JOB_CONTROL values. Guenther --- librpc/idl/spoolss.idl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 75b3bc00f0..855c23711e 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -494,7 +494,9 @@ import "misc.idl", "security.idl", "winreg.idl"; SPOOLSS_JOB_CONTROL_RESTART = 4, SPOOLSS_JOB_CONTROL_DELETE = 5, SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER = 6, - SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED = 7 + SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED = 7, + SPOOLSS_JOB_CONTROL_RETAIN = 8, + SPOOLSS_JOB_CONTROL_RELEASE = 9 } spoolss_JobControl; WERROR spoolss_SetJob( -- cgit From d0e31f8cfa20238ab96709797ed903aa425f11de Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Fri, 27 Feb 2009 11:27:44 +0100 Subject: spoolss: add spoolss_PortInfo3 and spoolss_PortInfoFF. Guenther --- librpc/idl/spoolss.idl | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 855c23711e..946db7a7bf 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -1449,10 +1449,44 @@ import "misc.idl", "security.idl", "winreg.idl"; uint32 reserved; } spoolss_PortInfo2; + typedef [v1_enum] enum { + PORT_STATUS_CLEAR = 0x00000000, + PORT_STATUS_OFFLINE = 0x00000001, + PORT_STATUS_PAPER_JAM = 0x00000002, + PORT_STATUS_PAPER_OUT = 0x00000003, + PORT_STATUS_OUTPUT_BIN_FULL = 0x00000004, + PORT_STATUS_PAPER_PROBLEM = 0x00000005, + PORT_STATUS_NO_TONER = 0x00000006, + PORT_STATUS_DOOR_OPEN = 0x00000007, + PORT_STATUS_USER_INTERVENTION = 0x00000008, + PORT_STATUS_OUT_OF_MEMORY = 0x00000009, + PORT_STATUS_TONER_LOW = 0x0000000A, + PORT_STATUS_WARMING_UP = 0x0000000B, + PORT_STATUS_POWER_SAVE = 0x0000000C + } spoolss_PortStatus; + + typedef [v1_enum] enum { + PORT_STATUS_TYPE_ERROR = 0x00000001, + PORT_STATUS_TYPE_WARNING = 0x00000002, + PORT_STATUS_TYPE_INFO = 0x00000003 + } spoolss_PortSeverity; + + typedef struct { + spoolss_PortStatus status; + [relative] nstring *status_string; + spoolss_PortSeverity severity; + } spoolss_PortInfo3; + + typedef struct { + [relative] nstring *port_name; + DATA_BLOB monitor_data; /* relative ?? */ + } spoolss_PortInfoFF; + typedef [nodiscriminant,relative_base,public] union { [case(1)] spoolss_PortInfo1 info1; [case(2)] spoolss_PortInfo2 info2; - [case(3)]; /* TODO */ + [case(3)] spoolss_PortInfo3 info3; + [case(0xff)] spoolss_PortInfoFF infoFF; [default]; } spoolss_PortInfo; -- cgit From 5da7fde31e238d49f0811327e4edff19ea2bf1cc Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Fri, 27 Feb 2009 13:31:02 +0100 Subject: spoolss: fill in spoolss_SetJobInfo1,2,3,4. Guenther --- librpc/idl/spoolss.idl | 79 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 946db7a7bf..f2944b0f39 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -482,9 +482,86 @@ import "misc.idl", "security.idl", "winreg.idl"; [default]; } spoolss_JobInfo; + typedef struct { + uint32 job_id; + [string,charset(UTF16)] uint16 *printer_name; + [string,charset(UTF16)] uint16 *server_name; + [string,charset(UTF16)] uint16 *user_name; + [string,charset(UTF16)] uint16 *document_name; + [string,charset(UTF16)] uint16 *data_type; + [string,charset(UTF16)] uint16 *text_status; + spoolss_JobStatus status; + uint32 priority; + uint32 position; + uint32 total_pages; + uint32 pages_printed; + spoolss_Time submitted; + } spoolss_SetJobInfo1; + + typedef struct { + uint32 job_id; + [string,charset(UTF16)] uint16 *printer_name; + [string,charset(UTF16)] uint16 *server_name; + [string,charset(UTF16)] uint16 *user_name; + [string,charset(UTF16)] uint16 *document_name; + [string,charset(UTF16)] uint16 *notify_name; + [string,charset(UTF16)] uint16 *data_type; + [string,charset(UTF16)] uint16 *print_processor; + [string,charset(UTF16)] uint16 *parameters; + [string,charset(UTF16)] uint16 *driver_name; + spoolss_DeviceMode *devmode; + [string,charset(UTF16)] uint16 *text_status; + security_descriptor *secdesc; + spoolss_JobStatus status; + uint32 priority; + uint32 position; + uint32 start_time; + uint32 until_time; + uint32 total_pages; + uint32 size; + spoolss_Time submitted; + uint32 time; + uint32 pages_printed; + } spoolss_SetJobInfo2; + + typedef struct { + uint32 job_id; + [string,charset(UTF16)] uint16 *printer_name; + [string,charset(UTF16)] uint16 *server_name; + [string,charset(UTF16)] uint16 *user_name; + [string,charset(UTF16)] uint16 *document_name; + [string,charset(UTF16)] uint16 *notify_name; + [string,charset(UTF16)] uint16 *data_type; + [string,charset(UTF16)] uint16 *print_processor; + [string,charset(UTF16)] uint16 *parameters; + [string,charset(UTF16)] uint16 *driver_name; + spoolss_DeviceMode *devmode; + [string,charset(UTF16)] uint16 *text_status; + security_descriptor *secdesc; + spoolss_JobStatus status; + uint32 priority; + uint32 position; + uint32 start_time; + uint32 until_time; + uint32 total_pages; + uint32 size; + spoolss_Time submitted; + uint32 time; + uint32 pages_printed; + uint32 size_high; + } spoolss_SetJobInfo4; + + typedef [public] union { + [case(1)] spoolss_SetJobInfo1 *info1; + [case(2)] spoolss_SetJobInfo2 *info2; + [case(3)] spoolss_JobInfo3 *info3; + [case(4)] spoolss_SetJobInfo4 *info4; + [default]; + } spoolss_SetJobInfo; + typedef struct { uint32 level; - [switch_is(level)] spoolss_JobInfo info; + [switch_is(level)] spoolss_SetJobInfo info; } spoolss_JobInfoContainer; typedef [v1_enum] enum { -- cgit From c9061d048f36ab9efee9a99f2234a304154d7624 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Mon, 2 Mar 2009 11:19:57 +0100 Subject: spoolss: use dummy pointers for truncated devmode and secdesc in SetJobInfo2/4. Guenther --- librpc/idl/spoolss.idl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index f2944b0f39..1326278936 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -509,9 +509,9 @@ import "misc.idl", "security.idl", "winreg.idl"; [string,charset(UTF16)] uint16 *print_processor; [string,charset(UTF16)] uint16 *parameters; [string,charset(UTF16)] uint16 *driver_name; - spoolss_DeviceMode *devmode; + uint32 _devmode_ptr; /* pointer to truncated devicemode */ [string,charset(UTF16)] uint16 *text_status; - security_descriptor *secdesc; + uint32 _secdesc_ptr; spoolss_JobStatus status; uint32 priority; uint32 position; @@ -535,9 +535,9 @@ import "misc.idl", "security.idl", "winreg.idl"; [string,charset(UTF16)] uint16 *print_processor; [string,charset(UTF16)] uint16 *parameters; [string,charset(UTF16)] uint16 *driver_name; - spoolss_DeviceMode *devmode; + uint32 _devmode_ptr; /* pointer to truncated devicemode */ [string,charset(UTF16)] uint16 *text_status; - security_descriptor *secdesc; + uint32 _secdesc_ptr; spoolss_JobStatus status; uint32 priority; uint32 position; -- cgit From bd77ab59864840d5d759dbbbe6e4fd20aac9bdac Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Mon, 2 Mar 2009 13:08:55 +0100 Subject: spoolss: move up printer and job status codes. Guenther --- librpc/idl/spoolss.idl | 102 +++++++++++++++++++++++++------------------------ 1 file changed, 52 insertions(+), 50 deletions(-) (limited to 'librpc/idl/spoolss.idl') diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 1326278936..f9ca4c1476 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -66,6 +66,56 @@ import "misc.idl", "security.idl", "winreg.idl"; SPOOLSS_MINOR_VERSION_ME = 0x0000005a } spoolss_MinorVersion; + const int PRINTER_STATUS_OK = 0x00000000; + + typedef bitmap { + PRINTER_STATUS_PAUSED = 0x00000001, + PRINTER_STATUS_ERROR = 0x00000002, + PRINTER_STATUS_PENDING_DELETION = 0x00000004, + PRINTER_STATUS_PAPER_JAM = 0x00000008, + PRINTER_STATUS_PAPER_OUT = 0x00000010, + PRINTER_STATUS_MANUAL_FEED = 0x00000020, + PRINTER_STATUS_PAPER_PROBLEM = 0x00000040, + PRINTER_STATUS_OFFLINE = 0x00000080, + PRINTER_STATUS_IO_ACTIVE = 0x00000100, + PRINTER_STATUS_BUSY = 0x00000200, + PRINTER_STATUS_PRINTING = 0x00000400, + PRINTER_STATUS_OUTPUT_BIN_FULL = 0x00000800, + PRINTER_STATUS_NOT_AVAILABLE = 0x00001000, + PRINTER_STATUS_WAITING = 0x00002000, + PRINTER_STATUS_PROCESSING = 0x00004000, + PRINTER_STATUS_INITIALIZING = 0x00008000, + PRINTER_STATUS_WARMING_UP = 0x00010000, + PRINTER_STATUS_TONER_LOW = 0x00020000, + PRINTER_STATUS_NO_TONER = 0x00040000, + PRINTER_STATUS_PAGE_PUNT = 0x00080000, + PRINTER_STATUS_USER_INTERVENTION= 0x00100000, + PRINTER_STATUS_OUT_OF_MEMORY = 0x00200000, + PRINTER_STATUS_DOOR_OPEN = 0x00400000, + PRINTER_STATUS_SERVER_UNKNOWN = 0x00800000, + PRINTER_STATUS_POWER_SAVE = 0x01000000 + } spoolss_PrinterStatus; + + /* JOB status codes. */ + + const int JOB_STATUS_QUEUED = 0x0000; + + typedef [bitmap32bit] bitmap { + JOB_STATUS_PAUSED = 0x00000001, + JOB_STATUS_ERROR = 0x00000002, + JOB_STATUS_DELETING = 0x00000004, + JOB_STATUS_SPOOLING = 0x00000008, + JOB_STATUS_PRINTING = 0x00000010, + JOB_STATUS_OFFLINE = 0x00000020, + JOB_STATUS_PAPEROUT = 0x00000040, + JOB_STATUS_PRINTED = 0x00000080, + JOB_STATUS_DELETED = 0x00000100, + JOB_STATUS_BLOCKED_DEVQ = 0x00000200, + JOB_STATUS_USER_INTERVENTION = 0x00000400, + JOB_STATUS_RESTART = 0x00000800, + JOB_STATUS_COMPLETE = 0x00001000 + } spoolss_JobStatus; + typedef struct { [relative] nstring *printername; [relative] nstring *servername; @@ -82,13 +132,13 @@ import "misc.idl", "security.idl", "winreg.idl"; uint32 session_counter; uint32 num_error_out_of_paper; uint32 num_error_not_ready; - uint32 job_error; + spoolss_JobStatus job_error; uint32 number_of_processors; spoolss_ProcessorType processor_type; uint32 high_part_total_bytes; uint32 change_id; WERROR last_error; - uint32 status; + spoolss_PrinterStatus status; uint32 enumerate_network_printers; uint32 c_setprinter; spoolss_ProcessorArchitecture processor_architecture; @@ -224,34 +274,6 @@ import "misc.idl", "security.idl", "winreg.idl"; PRINTER_ATTRIBUTE_TS = 0x00008000 } spoolss_PrinterAttributes; - typedef bitmap { - PRINTER_STATUS_PAUSED = 0x00000001, - PRINTER_STATUS_ERROR = 0x00000002, - PRINTER_STATUS_PENDING_DELETION = 0x00000004, - PRINTER_STATUS_PAPER_JAM = 0x00000008, - PRINTER_STATUS_PAPER_OUT = 0x00000010, - PRINTER_STATUS_MANUAL_FEED = 0x00000020, - PRINTER_STATUS_PAPER_PROBLEM = 0x00000040, - PRINTER_STATUS_OFFLINE = 0x00000080, - PRINTER_STATUS_IO_ACTIVE = 0x00000100, - PRINTER_STATUS_BUSY = 0x00000200, - PRINTER_STATUS_PRINTING = 0x00000400, - PRINTER_STATUS_OUTPUT_BIN_FULL = 0x00000800, - PRINTER_STATUS_NOT_AVAILABLE = 0x00001000, - PRINTER_STATUS_WAITING = 0x00002000, - PRINTER_STATUS_PROCESSING = 0x00004000, - PRINTER_STATUS_INITIALIZING = 0x00008000, - PRINTER_STATUS_WARMING_UP = 0x00010000, - PRINTER_STATUS_TONER_LOW = 0x00020000, - PRINTER_STATUS_NO_TONER = 0x00040000, - PRINTER_STATUS_PAGE_PUNT = 0x00080000, - PRINTER_STATUS_USER_INTERVENTION= 0x00100000, - PRINTER_STATUS_OUT_OF_MEMORY = 0x00200000, - PRINTER_STATUS_DOOR_OPEN = 0x00400000, - PRINTER_STATUS_SERVER_UNKNOWN = 0x00800000, - PRINTER_STATUS_POWER_SAVE = 0x01000000 - } spoolss_PrinterStatus; - typedef struct { [relative] nstring *servername; [relative] nstring *printername; @@ -379,26 +401,6 @@ import "misc.idl", "security.idl", "winreg.idl"; /******************/ /* Function: 0x02 */ - /* JOB status codes. */ - - const int JOB_STATUS_QUEUED = 0x0000; - - typedef [bitmap32bit] bitmap { - JOB_STATUS_PAUSED = 0x00000001, - JOB_STATUS_ERROR = 0x00000002, - JOB_STATUS_DELETING = 0x00000004, - JOB_STATUS_SPOOLING = 0x00000008, - JOB_STATUS_PRINTING = 0x00000010, - JOB_STATUS_OFFLINE = 0x00000020, - JOB_STATUS_PAPEROUT = 0x00000040, - JOB_STATUS_PRINTED = 0x00000080, - JOB_STATUS_DELETED = 0x00000100, - JOB_STATUS_BLOCKED_DEVQ = 0x00000200, - JOB_STATUS_USER_INTERVENTION = 0x00000400, - JOB_STATUS_RESTART = 0x00000800, - JOB_STATUS_COMPLETE = 0x00001000 - } spoolss_JobStatus; - typedef struct { uint32 job_id; [relative] nstring *printer_name; -- cgit