summaryrefslogtreecommitdiff
path: root/source4/librpc/idl
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-11-16 11:36:59 +0000
committerAndrew Tridgell <tridge@samba.org>2003-11-16 11:36:59 +0000
commitea266c0625e04a2dc10d25c2fee7b685965fcd3e (patch)
tree3db57fa36d79ab2df9adf6d7faa37f7d644b83b7 /source4/librpc/idl
parent0c5759a4b2615b9c57ee7de04275ced1fc7d19cb (diff)
downloadsamba-ea266c0625e04a2dc10d25c2fee7b685965fcd3e.tar.gz
samba-ea266c0625e04a2dc10d25c2fee7b685965fcd3e.tar.bz2
samba-ea266c0625e04a2dc10d25c2fee7b685965fcd3e.zip
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)
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r--source4/librpc/idl/spoolss.idl41
1 files changed, 17 insertions, 24 deletions
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,