diff options
author | Stefan Metzmacher <metze@samba.org> | 2005-06-06 09:59:43 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:17:42 -0500 |
commit | 9a831a3963d9784a470b7d3971b54bd9bde3d7c3 (patch) | |
tree | 0312550c7dae4e894645e7fc2a4c2b9acf5c29e1 /source4/librpc/idl | |
parent | aa5ff56d89814bc92decc7e9db6e2ed8cf8630b7 (diff) | |
download | samba-9a831a3963d9784a470b7d3971b54bd9bde3d7c3.tar.gz samba-9a831a3963d9784a470b7d3971b54bd9bde3d7c3.tar.bz2 samba-9a831a3963d9784a470b7d3971b54bd9bde3d7c3.zip |
r7328: fix GetPrinterData and SetPrinterData, with zero length subcontexts
metze
(This used to be commit 73d597bacf83492ed3da2307dd6785548b903b39)
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r-- | source4/librpc/idl/spoolss.idl | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/source4/librpc/idl/spoolss.idl b/source4/librpc/idl/spoolss.idl index 9808837422..201226d548 100644 --- a/source4/librpc/idl/spoolss.idl +++ b/source4/librpc/idl/spoolss.idl @@ -652,7 +652,18 @@ [default,flag(NDR_REMAINING)] DATA_BLOB data; } spoolss_PrinterData; - WERROR spoolss_GetPrinterData( + [noopnum,nopush,noprint,public] WERROR _spoolss_GetPrinterData( + [in,ref] policy_handle *handle, + [in] unistr value_name, + [out] spoolss_PrinterDataType type, + [out] DATA_BLOB data, + [in,out,ref] uint32 *buf_size + ); + [noopnum,nopush,noprint,public] void __spoolss_GetPrinterData( + [in] spoolss_PrinterDataType type, + [out,switch_is(type)] spoolss_PrinterData data + ); + [nopull] WERROR spoolss_GetPrinterData( [in,ref] policy_handle *handle, [in] unistr value_name, [out] spoolss_PrinterDataType type, @@ -662,12 +673,23 @@ /******************/ /* Function: 0x1b */ - WERROR spoolss_SetPrinterData( + [noopnum,nopull,noprint,public] WERROR _spoolss_SetPrinterData( [in,ref] policy_handle *handle, [in] unistr value_name, - [in] uint32 type, - [in] DATA_BLOB buffer, - [in] uint32 real_len + [in] spoolss_PrinterDataType type, + [in] DATA_BLOB data, + [in] uint32 _buf_size + ); + [noopnum,nopull,noprint,public] void __spoolss_SetPrinterData( + [in] spoolss_PrinterDataType type, + [out,switch_is(type)] spoolss_PrinterData data + ); + [nopush] WERROR spoolss_SetPrinterData( + [in,ref] policy_handle *handle, + [in] unistr value_name, + [in] spoolss_PrinterDataType type, + [in,subcontext(4),switch_is(type)] spoolss_PrinterData data, + [in,value(ndr_size_spoolss_PrinterData(&r->in.data,r->in.type,flags))] uint32 _buf_size ); /******************/ |