diff options
author | Stefan Metzmacher <metze@samba.org> | 2005-05-30 22:44:17 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:17:19 -0500 |
commit | 62480f12529326d174d2c53376765e88ca03754f (patch) | |
tree | c6e81592ee390fa7c597f5838a548a12fa392c11 /source4/librpc/idl | |
parent | 46e5fda0ad956c1b6524d89b9317b8ad35043c69 (diff) | |
download | samba-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.idl | 130 |
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 ); |