From ea266c0625e04a2dc10d25c2fee7b685965fcd3e Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 16 Nov 2003 11:36:59 +0000 Subject: added support for level1 of EnumPrinters in spoolss. This uses a number of "magic" add-ons to IDL to make it less painful, hopefully this will make IDL generation useful for horrible systems like spoolss (This used to be commit e18dba7d5a957ef82e8f91733a0bf95d579dcd7a) --- source4/librpc/idl/spoolss.idl | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) (limited to 'source4/librpc/idl/spoolss.idl') diff --git a/source4/librpc/idl/spoolss.idl b/source4/librpc/idl/spoolss.idl index 0bcb53de84..e2965c3586 100644 --- a/source4/librpc/idl/spoolss.idl +++ b/source4/librpc/idl/spoolss.idl @@ -7,32 +7,25 @@ pointer_default(unique) ] interface spoolss { - typedef struct { - uint32 flags; - unistr description; - unistr name; - unistr comment; - } spoolss_PrinterInfo1; - - typedef union { - case(1) spoolss_PrinterInfo1 info1; - } spoolssPrinterInfo; - - typedef struct { - uint32 len; - spoolssPrinterInfo *info; - } spoolss_PrinterInfoBuffer; - /******************/ /* Function: 0x00 */ + + typedef [public] struct { + uint32 flags; + relstr name; + relstr description; + relstr comment; + } spoolss_PrinterEnum1; + NTSTATUS spoolss_EnumPrinters( - [in] uint32 flags, - [in] unistr *server, - [in] uint32 level, - [in,out] uint8_buf *buffer, - [in] uint32 offered, - [out] uint32 needed, - [out] uint32 returned + [in] uint32 flags, + [in] unistr *server, + [in] uint32 level, + [in,size_is(offered)] uint8 *buf, + [in] uint32 offered, + [out,subcontext,switch_is(level)] spoolss_PrinterEnum *info, + [out,ref] uint32 *needed, + [out] uint32 returned ); /******************/ @@ -445,7 +438,7 @@ [in] uint32 value_offered, [in] uint32 data_offered, [out] uint32 value_len, - [out] unistr value_name, + [out] unistr *value_name, [out] uint32 value_needed, [out] uint32 printerdata_type, [out] uint8_buf printerdata, -- cgit