diff options
author | Jean-François Micouleau <jfm@samba.org> | 1999-07-27 10:46:44 +0000 |
---|---|---|
committer | Jean-François Micouleau <jfm@samba.org> | 1999-07-27 10:46:44 +0000 |
commit | 4bff2675746518af740e475e4e996247ac21d817 (patch) | |
tree | 86cf0e3697c4091909be7dd9466bf213acc2964b /source3/include | |
parent | f2e0bbffb5e40df4850b6bd0eae73a8fb0edc6d7 (diff) | |
download | samba-4bff2675746518af740e475e4e996247ac21d817.tar.gz samba-4bff2675746518af740e475e4e996247ac21d817.tar.bz2 samba-4bff2675746518af740e475e4e996247ac21d817.zip |
- 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)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 4 | ||||
-rwxr-xr-x | source3/include/rpc_spoolss.h | 50 |
2 files changed, 50 insertions, 4 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 04b002ae57..2c7b386ac2 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -2868,6 +2868,8 @@ void spoolss_io_r_getprinterdriverdir(char *desc, SPOOL_R_GETPRINTERDRIVERDIR *r void spoolss_io_q_getprinterdriverdir(char *desc, SPOOL_Q_GETPRINTERDRIVERDIR *q_u, prs_struct *ps, int depth); void spoolss_io_r_enumprintprocessors(char *desc, SPOOL_R_ENUMPRINTPROCESSORS *r_u, prs_struct *ps, int depth); void spoolss_io_q_enumprintprocessors(char *desc, SPOOL_Q_ENUMPRINTPROCESSORS *q_u, prs_struct *ps, int depth); +void spoolss_io_r_enumprintmonitors(char *desc, SPOOL_R_ENUMPRINTMONITORS *r_u, prs_struct *ps, int depth); +void spoolss_io_q_enumprintmonitors(char *desc, SPOOL_Q_ENUMPRINTMONITORS *q_u, prs_struct *ps, int depth); void spoolss_io_r_enumprinterdata(char *desc, SPOOL_R_ENUMPRINTERDATA *r_u, prs_struct *ps, int depth); void spoolss_io_q_enumprinterdata(char *desc, SPOOL_Q_ENUMPRINTERDATA *q_u, prs_struct *ps, int depth); void spoolss_io_q_setprinterdata(char *desc, SPOOL_Q_SETPRINTERDATA *q_u, prs_struct *ps, int depth); @@ -2877,6 +2879,8 @@ void spoolss_io_q_addform(char *desc, SPOOL_Q_ADDFORM *q_u, prs_struct *ps, int void spoolss_io_r_addform(char *desc, SPOOL_R_ADDFORM *r_u, prs_struct *ps, int depth); void spoolss_io_q_setform(char *desc, SPOOL_Q_SETFORM *q_u, prs_struct *ps, int depth); void spoolss_io_r_setform(char *desc, SPOOL_R_SETFORM *r_u, prs_struct *ps, int depth); +void spoolss_io_r_getjob(char *desc, SPOOL_R_GETJOB *r_u, prs_struct *ps, int depth); +void spoolss_io_q_getjob(char *desc, SPOOL_Q_GETJOB *q_u, prs_struct *ps, int depth); /*The following definitions come from rpc_parse/parse_srv.c */ 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" |