summaryrefslogtreecommitdiff
path: root/source4/librpc/idl
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-05-30 22:44:17 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:17:19 -0500
commit62480f12529326d174d2c53376765e88ca03754f (patch)
treec6e81592ee390fa7c597f5838a548a12fa392c11 /source4/librpc/idl
parent46e5fda0ad956c1b6524d89b9317b8ad35043c69 (diff)
downloadsamba-62480f12529326d174d2c53376765e88ca03754f.tar.gz
samba-62480f12529326d174d2c53376765e88ca03754f.tar.bz2
samba-62480f12529326d174d2c53376765e88ca03754f.zip
r7120: make use of the new 'noopnum' property and get rid of handwritten
parsing code for the spoolss_Enum* functions, there still same handwritten code needed but just to stack the autogenerated code into the correct way metze (This used to be commit 155d18e8b78afebfb4a84e43e3b4d8fc6c9cc4e2)
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r--source4/librpc/idl/spoolss.idl130
1 files changed, 107 insertions, 23 deletions
diff --git a/source4/librpc/idl/spoolss.idl b/source4/librpc/idl/spoolss.idl
index e496b2b5c6..f3c7e553cc 100644
--- a/source4/librpc/idl/spoolss.idl
+++ b/source4/librpc/idl/spoolss.idl
@@ -249,13 +249,29 @@
/******************/
/* Function: 0x00 */
- [noprint,nopull,nopush] WERROR spoolss_EnumPrinters(
+ /* we are using this as internal parsing code */
+ [public,noopnum,noprint] WERROR _spoolss_EnumPrinters(
+ [in] spoolss_EnumPrinterFlags flags,
+ [in] unistr *server,
+ [in] uint32 level,
+ [in,out] DATA_BLOB *buffer,
+ [in,out,ref] uint32 *buf_size,
+ [out] uint32 count
+ );
+ [public,noopnum,noprint] void __spoolss_EnumPrinters(
+ [in] uint32 level,
+ [in] uint32 count,
+ [out,subcontext(0),switch_is(level)] spoolss_PrinterInfo info[count]
+ );
+ [nopull,nopush] WERROR spoolss_EnumPrinters(
[in] spoolss_EnumPrinterFlags flags,
[in] unistr *server,
[in] uint32 level,
[in] DATA_BLOB *buffer,
- /* [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info[count],*/
- [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo **info,
+ /* what we have here is a subcontext containing an array of no discriminant unions
+ * and the array has no size in front
+ */
+ [out,switch_is(level),size_is(count)] spoolss_PrinterInfo *info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);
@@ -324,14 +340,27 @@
/******************/
/* Function: 0x04 */
- [noprint,nopull,nopush] WERROR spoolss_EnumJobs(
+ [public,noopnum,noprint] WERROR _spoolss_EnumJobs(
+ [in,ref] policy_handle *handle,
+ [in] uint32 firstjob,
+ [in] uint32 numjobs,
+ [in] uint32 level,
+ [in,out] DATA_BLOB *buffer,
+ [in,out,ref] uint32 *buf_size,
+ [out] uint32 count
+ );
+ [public,noopnum,noprint] void __spoolss_EnumJobs(
+ [in] uint32 level,
+ [in] uint32 count,
+ [out,subcontext(0),switch_is(level)] spoolss_JobInfo info[count]
+ );
+ [nopull,nopush] WERROR spoolss_EnumJobs(
[in,ref] policy_handle *handle,
[in] uint32 firstjob,
[in] uint32 numjobs,
[in] uint32 level,
[in] DATA_BLOB *buffer,
- /* [out,subcontext(4),switch_is(level)] spoolss_JobInfo *info[count],*/
- [out,subcontext(4),switch_is(level)] spoolss_JobInfo **info,
+ [out,switch_is(level),size_is(count)] spoolss_JobInfo *info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);
@@ -473,13 +502,25 @@
/******************/
/* Function: 0x0a */
- [noprint,nopull,nopush] WERROR spoolss_EnumPrinterDrivers(
+ [public,noopnum,noprint] WERROR _spoolss_EnumPrinterDrivers(
+ [in] unistr *server,
+ [in] unistr *environment,
+ [in] uint32 level,
+ [in,out] DATA_BLOB *buffer,
+ [in,out,ref] uint32 *buf_size,
+ [out] uint32 count
+ );
+ [public,noopnum,noprint] void __spoolss_EnumPrinterDrivers(
+ [in] uint32 level,
+ [in] uint32 count,
+ [out,subcontext(0),switch_is(level)] spoolss_DriverInfo info[count]
+ );
+ [nopull,nopush] WERROR spoolss_EnumPrinterDrivers(
[in] unistr *server,
[in] unistr *environment,
[in] uint32 level,
[in] DATA_BLOB *buffer,
- /* [out,subcontext(4),switch_is(level)] spoolss_DriverInfo *info[count],*/
- [out,subcontext(4),switch_is(level)] spoolss_DriverInfo **info,
+ [out,switch_is(level),size_is(count)] spoolss_DriverInfo *info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);
@@ -519,14 +560,25 @@
[default];
} spoolss_PrintProcessorInfo;
- [noprint,nopull,nopush] WERROR spoolss_EnumPrintProcessors(
+ [public,noopnum,noprint] WERROR _spoolss_EnumPrintProcessors(
+ [in] unistr *servername,
+ [in] unistr *environment,
+ [in] uint32 level,
+ [in,out] DATA_BLOB *buffer,
+ [in,out,ref] uint32 *buf_size,
+ [out] uint32 count
+ );
+ [public,noopnum,noprint] void __spoolss_EnumPrintProcessors(
+ [in] uint32 level,
+ [in] uint32 count,
+ [out,subcontext(0),switch_is(level)] spoolss_PrintProcessorInfo info[count]
+ );
+ [nopull,nopush] WERROR spoolss_EnumPrintProcessors(
[in] unistr *servername,
[in] unistr *environment,
[in] uint32 level,
[in] DATA_BLOB *buffer,
- /* [out,subcontext(4),switch_is(level)] spoolss_PrintProcessorInfo *info[count],*/
- [out,subcontext(4),switch_is(level)] spoolss_PrintProcessorInfo **info,
- /* [out,subcontext(4),flag(NDR_REMAINING)] DATA_BLOB *info,*/
+ [out,switch_is(level),size_is(count)] spoolss_PrintProcessorInfo *info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);
@@ -718,12 +770,23 @@
/******************/
/* Function: 0x22 */
- [noprint,nopull,nopush] WERROR spoolss_EnumForms(
+ [public,noopnum,noprint] WERROR _spoolss_EnumForms(
+ [in,ref] policy_handle *handle,
+ [in] uint32 level,
+ [in,out] DATA_BLOB *buffer,
+ [in,out,ref] uint32 *buf_size,
+ [out] uint32 count
+ );
+ [public,noopnum,noprint] void __spoolss_EnumForms(
+ [in] uint32 level,
+ [in] uint32 count,
+ [out,subcontext(0),switch_is(level)] spoolss_FormInfo info[count]
+ );
+ [nopull,nopush] WERROR spoolss_EnumForms(
[in,ref] policy_handle *handle,
[in] uint32 level,
[in] DATA_BLOB *buffer,
- /* [out,subcontext(4),switch_is(level)] spoolss_FormInfo *info[count],*/
- [out,subcontext(4),switch_is(level)] spoolss_FormInfo **info,
+ [out,switch_is(level),size_is(count)] spoolss_FormInfo *info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);
@@ -756,12 +819,23 @@
/******************/
/* Function: 0x23 */
- [noprint,nopull,nopush] WERROR spoolss_EnumPorts(
+ [public,noopnum,noprint] WERROR _spoolss_EnumPorts(
+ [in] unistr *servername,
+ [in] uint32 level,
+ [in,out] DATA_BLOB *buffer,
+ [in,out,ref] uint32 *buf_size,
+ [out] uint32 count
+ );
+ [public,noopnum,noprint] void __spoolss_EnumPorts(
+ [in] uint32 level,
+ [in] uint32 count,
+ [out,subcontext(0),switch_is(level)] spoolss_PortInfo info[count]
+ );
+ [nopull,nopush] WERROR spoolss_EnumPorts(
[in] unistr *servername,
[in] uint32 level,
[in] DATA_BLOB *buffer,
- /* [out,subcontext(4),switch_is(level)] spoolss_PortInfo *info[count], */
- [out,subcontext(4),switch_is(level)] spoolss_PortInfo **info,
+ [out,switch_is(level),size_is(count)] spoolss_PortInfo *info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);
@@ -784,13 +858,23 @@
[default];
} spoolss_MonitorInfo;
- [noprint,nopull,nopush] WERROR spoolss_EnumMonitors(
+ [public,noopnum,noprint] WERROR _spoolss_EnumMonitors(
+ [in] unistr *servername,
+ [in] uint32 level,
+ [in,out] DATA_BLOB *buffer,
+ [in,out,ref] uint32 *buf_size,
+ [out] uint32 count
+ );
+ [public,noopnum,noprint] void __spoolss_EnumMonitors(
+ [in] uint32 level,
+ [in] uint32 count,
+ [out,subcontext(0),switch_is(level)] spoolss_MonitorInfo info[count]
+ );
+ [nopull,nopush] WERROR spoolss_EnumMonitors(
[in] unistr *servername,
[in] uint32 level,
[in] DATA_BLOB *buffer,
- /* [out,subcontext(4),switch_is(level)] spoolss_MonitorInfo *info[count], */
- [out,subcontext(4),switch_is(level)] spoolss_MonitorInfo **info,
- /* [out,subcontext(4),flag(NDR_REMAINING)] DATA_BLOB *info,*/
+ [out,switch_is(level),size_is(count)] spoolss_MonitorInfo *info,
[in,out,ref] uint32 *buf_size,
[out] uint32 count
);