diff options
author | Gerald Carter <jerry@samba.org> | 2002-03-26 03:15:30 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2002-03-26 03:15:30 +0000 |
commit | 737423f06ea08c38592b408faa12a55a95b9d696 (patch) | |
tree | b4d9d1ffba0516040a46766f83dfa7ef17d8cc3c /source3/rpc_server/srv_spoolss.c | |
parent | 8f9d7ebb35f40ab6bda8f1d6d940df8b6aec4126 (diff) | |
download | samba-737423f06ea08c38592b408faa12a55a95b9d696.tar.gz samba-737423f06ea08c38592b408faa12a55a95b9d696.tar.bz2 samba-737423f06ea08c38592b408faa12a55a95b9d696.zip |
OpenPrinter() merge from 2.2
(This used to be commit 619397cc90549d4602ecddc25ee50eb247c913ee)
Diffstat (limited to 'source3/rpc_server/srv_spoolss.c')
-rwxr-xr-x | source3/rpc_server/srv_spoolss.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/source3/rpc_server/srv_spoolss.c b/source3/rpc_server/srv_spoolss.c index 3838632021..e6c152c668 100755 --- a/source3/rpc_server/srv_spoolss.c +++ b/source3/rpc_server/srv_spoolss.c @@ -24,6 +24,36 @@ #include "includes.h" /******************************************************************** + * api_spoolss_open_printer_ex (rarely seen - older call) + ********************************************************************/ + +static BOOL api_spoolss_open_printer(pipes_struct *p) +{ + SPOOL_Q_OPEN_PRINTER q_u; + SPOOL_R_OPEN_PRINTER r_u; + prs_struct *data = &p->in_data.data; + prs_struct *rdata = &p->out_data.rdata; + + ZERO_STRUCT(q_u); + ZERO_STRUCT(r_u); + + if (!spoolss_io_q_open_printer("", &q_u, data, 0)) { + DEBUG(0,("spoolss_io_q_open_printer: unable to unmarshall SPOOL_Q_OPEN_PRINTER.\n")); + return False; + } + + r_u.status = _spoolss_open_printer( p, &q_u, &r_u); + + if (!spoolss_io_r_open_printer("",&r_u,rdata,0)){ + DEBUG(0,("spoolss_io_r_open_printer: unable to marshall SPOOL_R_OPEN_PRINTER.\n")); + return False; + } + + return True; +} + + +/******************************************************************** * api_spoolss_open_printer_ex ********************************************************************/ @@ -1375,6 +1405,7 @@ static BOOL api_spoolss_getprintprocessordirectory(pipes_struct *p) struct api_struct api_spoolss_cmds[] = { + {"SPOOLSS_OPENPRINTER", SPOOLSS_OPENPRINTER, api_spoolss_open_printer }, {"SPOOLSS_OPENPRINTEREX", SPOOLSS_OPENPRINTEREX, api_spoolss_open_printer_ex }, {"SPOOLSS_GETPRINTERDATA", SPOOLSS_GETPRINTERDATA, api_spoolss_getprinterdata }, {"SPOOLSS_CLOSEPRINTER", SPOOLSS_CLOSEPRINTER, api_spoolss_closeprinter }, |