summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-03-16 16:53:41 +0100
committerGünther Deschner <gd@samba.org>2009-03-17 10:53:43 +0100
commit6df9e1f7aafe6da4b90271dda8d6cf3847a8d39e (patch)
tree3f2892d59a54a774065a028d991ac5f6010117ba
parent9a8f19672de6ec00bbd95a1a72e6ef2a79ed7d81 (diff)
downloadsamba-6df9e1f7aafe6da4b90271dda8d6cf3847a8d39e.tar.gz
samba-6df9e1f7aafe6da4b90271dda8d6cf3847a8d39e.tar.bz2
samba-6df9e1f7aafe6da4b90271dda8d6cf3847a8d39e.zip
s3-spoolss: add push_spoolss_PrinterData().
Guenther
-rw-r--r--source3/include/proto.h3
-rw-r--r--source3/rpc_client/init_spoolss.c15
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c16
3 files changed, 18 insertions, 16 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 615cb16649..f2929e8296 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5558,6 +5558,9 @@ WERROR pull_spoolss_PrinterData(TALLOC_CTX *mem_ctx,
const DATA_BLOB *blob,
union spoolss_PrinterData *data,
enum winreg_Type type);
+WERROR push_spoolss_PrinterData(TALLOC_CTX *mem_ctx, DATA_BLOB *blob,
+ enum winreg_Type type,
+ union spoolss_PrinterData *data);
/* The following definitions come from rpc_client/init_lsa.c */
diff --git a/source3/rpc_client/init_spoolss.c b/source3/rpc_client/init_spoolss.c
index ddf0118429..4c105ea3bc 100644
--- a/source3/rpc_client/init_spoolss.c
+++ b/source3/rpc_client/init_spoolss.c
@@ -58,3 +58,18 @@ WERROR pull_spoolss_PrinterData(TALLOC_CTX *mem_ctx,
return WERR_OK;
}
+/*******************************************************************
+ ********************************************************************/
+
+WERROR push_spoolss_PrinterData(TALLOC_CTX *mem_ctx, DATA_BLOB *blob,
+ enum winreg_Type type,
+ union spoolss_PrinterData *data)
+{
+ enum ndr_err_code ndr_err;
+ ndr_err = ndr_push_union_blob(blob, mem_ctx, NULL, data, type,
+ (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterData);
+ if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+ return WERR_GENERAL_FAILURE;
+ }
+ return WERR_OK;
+}
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index 8ce0b28db0..950dc013b2 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -2461,22 +2461,6 @@ WERROR set_printer_dataex( NT_PRINTER_INFO_LEVEL *printer, const char *key, cons
return add_printer_data( printer->info_2, key, value, type, data, real_len );
}
-/*******************************************************************
- ********************************************************************/
-
-static WERROR push_spoolss_PrinterData(TALLOC_CTX *mem_ctx, DATA_BLOB *blob,
- enum winreg_Type type,
- union spoolss_PrinterData *data)
-{
- enum ndr_err_code ndr_err;
- ndr_err = ndr_push_union_blob(blob, mem_ctx, NULL, data, type,
- (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterData);
- if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
- return WERR_GENERAL_FAILURE;
- }
- return WERR_OK;
-}
-
/********************************************************************
GetPrinterData on a printer server Handle.
********************************************************************/