summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-02-17 04:28:54 +0100
committerGünther Deschner <gd@samba.org>2009-02-17 10:52:31 +0100
commitce71a7c9a753b8f2ec45ba35a5c46c78cacf6739 (patch)
tree37f71358c5082e9b81b91a58210c823f42539704
parentc1f8ee5cba180d23a3226dec1d69ee248b0fbcd0 (diff)
downloadsamba-ce71a7c9a753b8f2ec45ba35a5c46c78cacf6739.tar.gz
samba-ce71a7c9a753b8f2ec45ba35a5c46c78cacf6739.tar.bz2
samba-ce71a7c9a753b8f2ec45ba35a5c46c78cacf6739.zip
s3-spoolss: use pidl for _spoolss_ResetPrinter.
Guenther
-rw-r--r--source3/rpc_server/srv_spoolss.c22
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c26
2 files changed, 10 insertions, 38 deletions
diff --git a/source3/rpc_server/srv_spoolss.c b/source3/rpc_server/srv_spoolss.c
index 4a29e1963b..c5d20e0d3d 100644
--- a/source3/rpc_server/srv_spoolss.c
+++ b/source3/rpc_server/srv_spoolss.c
@@ -658,27 +658,7 @@ static bool api_spoolss_setprinterdata(pipes_struct *p)
****************************************************************************/
static bool api_spoolss_reset_printer(pipes_struct *p)
{
- SPOOL_Q_RESETPRINTER q_u;
- SPOOL_R_RESETPRINTER 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_resetprinter("", &q_u, data, 0)) {
- DEBUG(0,("spoolss_io_q_setprinterdata: unable to unmarshall SPOOL_Q_SETPRINTERDATA.\n"));
- return False;
- }
-
- r_u.status = _spoolss_resetprinter(p, &q_u, &r_u);
-
- if(!spoolss_io_r_resetprinter("", &r_u, rdata, 0)) {
- DEBUG(0,("spoolss_io_r_setprinterdata: unable to marshall SPOOL_R_RESETPRINTER.\n"));
- return False;
- }
-
- return True;
+ return proxy_spoolss_call(p, NDR_SPOOLSS_RESETPRINTER);
}
/****************************************************************************
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index 249e324c44..8faa1f5355 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -8427,16 +8427,18 @@ done:
return status;
}
-/****************************************************************************
-****************************************************************************/
+/****************************************************************
+ _spoolss_ResetPrinter
+****************************************************************/
-WERROR _spoolss_resetprinter(pipes_struct *p, SPOOL_Q_RESETPRINTER *q_u, SPOOL_R_RESETPRINTER *r_u)
+WERROR _spoolss_ResetPrinter(pipes_struct *p,
+ struct spoolss_ResetPrinter *r)
{
- POLICY_HND *handle = &q_u->handle;
+ POLICY_HND *handle = r->in.handle;
Printer_entry *Printer=find_printer_index_by_hnd(p, handle);
int snum;
- DEBUG(5,("_spoolss_resetprinter\n"));
+ DEBUG(5,("_spoolss_ResetPrinter\n"));
/*
* All we do is to check to see if the handle and queue is valid.
@@ -8445,7 +8447,8 @@ WERROR _spoolss_resetprinter(pipes_struct *p, SPOOL_Q_RESETPRINTER *q_u, SPOOL_R
*/
if (!Printer) {
- DEBUG(2,("_spoolss_resetprinter: Invalid handle (%s:%u:%u).\n", OUR_HANDLE(handle)));
+ DEBUG(2,("_spoolss_ResetPrinter: Invalid handle (%s:%u:%u).\n",
+ OUR_HANDLE(handle)));
return WERR_BADFID;
}
@@ -10396,17 +10399,6 @@ WERROR _spoolss_EnumPrintProcDataTypes(pipes_struct *p,
}
/****************************************************************
- _spoolss_ResetPrinter
-****************************************************************/
-
-WERROR _spoolss_ResetPrinter(pipes_struct *p,
- struct spoolss_ResetPrinter *r)
-{
- p->rng_fault_state = true;
- return WERR_NOT_SUPPORTED;
-}
-
-/****************************************************************
_spoolss_GetPrinterDriver2
****************************************************************/