From 4bff2675746518af740e475e4e996247ac21d817 Mon Sep 17 00:00:00 2001 From: Jean-François Micouleau Date: Tue, 27 Jul 1999 10:46:44 +0000 Subject: - enumprintprocessors and enumprintmonitors added. - getjob (level 1 and 2) done. - better handling of getprinterdriver (level 2). - added workaround to print PCL files. Now the spoolss code should be compliant with all kind of printers :-) Jean Francois (This used to be commit bf9b639bf9162d61eb152af506dc2c1a7e8a4c85) --- source3/include/rpc_spoolss.h | 50 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 4 deletions(-) (limited to 'source3/include/rpc_spoolss.h') diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h index 8476ad7691..a8f934fc47 100755 --- a/source3/include/rpc_spoolss.h +++ b/source3/include/rpc_spoolss.h @@ -29,7 +29,6 @@ /* spoolss pipe: this are the calls which are not implemented ... #define SPOOLSS_OPENPRINTER 0x01 -#define SPOOLSS_GETJOB 0x03 #define SPOOLSS_DELETEPRINTER 0x06 #define SPOOLSS_GETPRINTERDRIVER 0x0b #define SPOOLSS_DELETEPRINTERDRIVER 0x0d @@ -40,7 +39,6 @@ #define SPOOLSS_WAITFORPRINTERCHANGE 0x1c #define SPOOLSS_DELETEFORM 0x1f #define SPOOLSS_GETFORM 0x20 -#define SPOOLSS_ENUMMONITORS 0x24 #define SPOOLSS_ADDPORT 0x25 #define SPOOLSS_CONFIGUREPORT 0x26 #define SPOOLSS_DELETEPORT 0x27 @@ -73,6 +71,7 @@ #define SPOOLSS_ENUMPRINTERS 0x00 #define SPOOLSS_SETJOB 0x02 +#define SPOOLSS_GETJOB 0x03 #define SPOOLSS_ENUMJOBS 0x04 #define SPOOLSS_ADDPRINTER 0x05 #define SPOOLSS_SETPRINTER 0x07 @@ -95,6 +94,7 @@ #define SPOOLSS_SETFORM 0x21 #define SPOOLSS_ENUMFORMS 0x22 #define SPOOLSS_ENUMPORTS 0x23 +#define SPOOLSS_ENUMMONITORS 0x24 #define SPOOLSS_ENUMPRINTPROCESSORDATATYPES 0x33 #define SPOOLSS_GETPRINTERDRIVER2 0x35 /* find close printer notification */ @@ -891,7 +891,7 @@ typedef struct driver_info_3 UNISTR datafile; UNISTR configfile; UNISTR helpfile; - UNISTR dependentfiles; + UNISTR **dependentfiles; UNISTR monitorname; UNISTR defaultdatatype; } DRIVER_INFO_3; @@ -977,7 +977,7 @@ typedef struct s_job_info_2 UNISTR printprocessor; UNISTR parameters; UNISTR drivername; - DEVICEMODE devmode; + DEVICEMODE *devmode; UNISTR text_status; /* SEC_DESC sec_desc;*/ uint32 status; @@ -1369,6 +1369,28 @@ typedef struct spool_r_enumprintprocessordatatypes uint32 status; } SPOOL_R_ENUMPRINTPROCESSORDATATYPES; +typedef struct spool_q_enumprintmonitors +{ + UNISTR2 name; + uint32 level; + BUFFER buffer; + uint32 buf_size; +} SPOOL_Q_ENUMPRINTMONITORS; + +typedef struct printmonitor_1 +{ + UNISTR name; +} PRINTMONITOR_1; + +typedef struct spool_r_enumprintmonitors +{ + uint32 level; + PRINTMONITOR_1 *info_1; + uint32 offered; + uint32 numofprintmonitors; + uint32 status; +} SPOOL_R_ENUMPRINTMONITORS; + typedef struct spool_q_enumprinterdata { PRINTER_HND handle; @@ -1445,6 +1467,26 @@ typedef struct spool_r_setform uint32 status; } SPOOL_R_SETFORM; +typedef struct spool_q_getjob +{ + PRINTER_HND handle; + uint32 jobid; + uint32 level; + BUFFER buffer; + uint32 buf_size; +} SPOOL_Q_GETJOB; + +typedef struct spool_r_getjob +{ + uint32 level; + union { + JOB_INFO_1 *job_info_1; + JOB_INFO_2 *job_info_2; + } job; + uint32 offered; + uint32 status; +} SPOOL_R_GETJOB; + #define PRINTER_DRIVER_VERSION 2 #define PRINTER_DRIVER_ARCHITECTURE "Windows NT x86" -- cgit