mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
s3-spoolss: add pull_spoolss_PrinterData().
Guenther
This commit is contained in:
parent
88ca3e1743
commit
9a8f19672d
@ -5554,6 +5554,10 @@ WERROR rpccli_spoolss_enumprinterkey(struct rpc_pipe_client *cli, TALLOC_CTX *me
|
||||
|
||||
bool init_systemtime(struct spoolss_Time *r,
|
||||
struct tm *unixtime);
|
||||
WERROR pull_spoolss_PrinterData(TALLOC_CTX *mem_ctx,
|
||||
const DATA_BLOB *blob,
|
||||
union spoolss_PrinterData *data,
|
||||
enum winreg_Type type);
|
||||
|
||||
/* The following definitions come from rpc_client/init_lsa.c */
|
||||
|
||||
|
@ -40,3 +40,21 @@ bool init_systemtime(struct spoolss_Time *r,
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
********************************************************************/
|
||||
|
||||
WERROR pull_spoolss_PrinterData(TALLOC_CTX *mem_ctx,
|
||||
const DATA_BLOB *blob,
|
||||
union spoolss_PrinterData *data,
|
||||
enum winreg_Type type)
|
||||
{
|
||||
enum ndr_err_code ndr_err;
|
||||
ndr_err = ndr_pull_union_blob(blob, mem_ctx, NULL, data, type,
|
||||
(ndr_pull_flags_fn_t)ndr_pull_spoolss_PrinterData);
|
||||
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
|
||||
return WERR_GENERAL_FAILURE;
|
||||
}
|
||||
return WERR_OK;
|
||||
}
|
||||
|
||||
|
@ -2461,6 +2461,22 @@ 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.
|
||||
********************************************************************/
|
||||
|
Loading…
Reference in New Issue
Block a user