summaryrefslogtreecommitdiff
path: root/source3/printing/printspoolss.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-01-15 12:06:09 +0100
committerAndreas Schneider <asn@samba.org>2011-01-21 13:14:49 +0100
commit7a2fa9fc1cf5b26419c9cd915e85030c7f14e764 (patch)
treed9f621bbf601fa380ca7a38d41ecc37f392ce8a4 /source3/printing/printspoolss.c
parent1f8332526102e879c8a8f847d6b43efaf69d03ba (diff)
downloadsamba-7a2fa9fc1cf5b26419c9cd915e85030c7f14e764.tar.gz
samba-7a2fa9fc1cf5b26419c9cd915e85030c7f14e764.tar.bz2
samba-7a2fa9fc1cf5b26419c9cd915e85030c7f14e764.zip
s3:printing: use dcerpc_spoolss_X() functions
metze Signed-off-by: Andreas Schneider <asn@samba.org> Autobuild-User: Andreas Schneider <asn@samba.org> Autobuild-Date: Fri Jan 21 13:14:49 CET 2011 on sn-devel-104
Diffstat (limited to 'source3/printing/printspoolss.c')
-rw-r--r--source3/printing/printspoolss.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/source3/printing/printspoolss.c b/source3/printing/printspoolss.c
index 8effb6ec48..9b06ece307 100644
--- a/source3/printing/printspoolss.c
+++ b/source3/printing/printspoolss.c
@@ -19,7 +19,7 @@
#include "includes.h"
#include "printing.h"
-#include "../librpc/gen_ndr/cli_spoolss.h"
+#include "../librpc/gen_ndr/ndr_spoolss_c.h"
#include "rpc_server/rpc_ncacn_np.h"
#include "smbd/globals.h"
#include "../libcli/security/security.h"
@@ -43,7 +43,7 @@ NTSTATUS print_spool_open(files_struct *fsp,
NTSTATUS status;
TALLOC_CTX *tmp_ctx;
struct print_file_data *pf;
- struct rpc_pipe_client *cli;
+ struct dcerpc_binding_handle *b = NULL;
struct spoolss_DevmodeContainer devmode_ctr;
union spoolss_DocumentInfo info;
int fd = -1;
@@ -132,11 +132,11 @@ NTSTATUS print_spool_open(files_struct *fsp,
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
- cli = fsp->conn->spoolss_pipe;
+ b = fsp->conn->spoolss_pipe->binding_handle;
ZERO_STRUCT(devmode_ctr);
- status = rpccli_spoolss_OpenPrinter(cli, pf, pf->svcname,
+ status = dcerpc_spoolss_OpenPrinter(b, pf, pf->svcname,
"RAW", devmode_ctr,
SEC_FLAG_MAXIMUM_ALLOWED,
&pf->handle, &werr);
@@ -157,7 +157,7 @@ NTSTATUS print_spool_open(files_struct *fsp,
info.info1->output_file = pf->filename;
info.info1->datatype = "RAW";
- status = rpccli_spoolss_StartDocPrinter(cli, tmp_ctx, &pf->handle,
+ status = dcerpc_spoolss_StartDocPrinter(b, tmp_ctx, &pf->handle,
1, info, &pf->jobid, &werr);
if (!NT_STATUS_IS_OK(status)) {
goto done;
@@ -272,9 +272,9 @@ int print_spool_write(files_struct *fsp,
void print_spool_end(files_struct *fsp, enum file_close_type close_type)
{
- struct rpc_pipe_client *cli;
NTSTATUS status;
WERROR werr;
+ struct dcerpc_binding_handle *b = NULL;
status = rpc_pipe_open_interface(fsp->conn,
&ndr_table_spoolss.syntax_id,
@@ -288,13 +288,13 @@ void print_spool_end(files_struct *fsp, enum file_close_type close_type)
nt_errstr(status)));
return;
}
- cli = fsp->conn->spoolss_pipe;
+ b = fsp->conn->spoolss_pipe->binding_handle;
switch (close_type) {
case NORMAL_CLOSE:
case SHUTDOWN_CLOSE:
/* this also automatically calls spoolss_EndDocPrinter */
- status = rpccli_spoolss_ClosePrinter(cli, fsp->print_file,
+ status = dcerpc_spoolss_ClosePrinter(b, fsp->print_file,
&fsp->print_file->handle,
&werr);
if (!NT_STATUS_IS_OK(status) ||
@@ -313,9 +313,9 @@ void print_spool_end(files_struct *fsp, enum file_close_type close_type)
void print_spool_terminate(struct connection_struct *conn,
struct print_file_data *print_file)
{
- struct rpc_pipe_client *cli;
NTSTATUS status;
WERROR werr;
+ struct dcerpc_binding_handle *b = NULL;
rap_jobid_delete(print_file->svcname, print_file->jobid);
@@ -331,9 +331,9 @@ void print_spool_terminate(struct connection_struct *conn,
nt_errstr(status)));
return;
}
- cli = conn->spoolss_pipe;
+ b = conn->spoolss_pipe->binding_handle;
- status = rpccli_spoolss_SetJob(cli, print_file,
+ status = dcerpc_spoolss_SetJob(b, print_file,
&print_file->handle,
print_file->jobid,
NULL, SPOOLSS_JOB_CONTROL_DELETE,
@@ -344,7 +344,7 @@ void print_spool_terminate(struct connection_struct *conn,
print_file->jobid, nt_errstr(status)));
return;
}
- status = rpccli_spoolss_ClosePrinter(cli, print_file,
+ status = dcerpc_spoolss_ClosePrinter(b, print_file,
&print_file->handle,
&werr);
if (!NT_STATUS_IS_OK(status) ||