r7331: fix parsing of spoolss_SetPrinter()
authorStefan Metzmacher <metze@samba.org>
Mon, 6 Jun 2005 12:08:05 +0000 (12:08 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:17:43 +0000 (13:17 -0500)
metze
(This used to be commit b0e7092bc585912882d06c56fd7a536c9b8936d6)

source4/librpc/idl/spoolss.idl

index 201226d5485fed00ed7b9ce6654db8602254933a..2560a10524bab7fbb6d4a61c3d9fa68a73b172e3 100644 (file)
 
        /******************/
        /* Function: 0x01 */
-       typedef struct {
-               uint32 foo;
-       } spoolss_Devmode;
-
        typedef struct {
                uint32 size;
-               spoolss_Devmode *devmode;
+               [subcontext(4),subcontext_size(size)] spoolss_DeviceMode *devmode;
        } spoolss_DevmodeContainer;
 
        WERROR spoolss_OpenPrinter(
 
        /******************/
        /* Function: 0x07 */
+       typedef [switch_type(uint32)] union {
+               [case(0)] spoolss_PrinterInfo0 *info0;
+               [case(1)] spoolss_PrinterInfo1 *info1;
+               [case(2)] spoolss_PrinterInfo2 *info2;
+               [case(3)] spoolss_PrinterInfo3 *info3;
+               [case(4)] spoolss_PrinterInfo4 *info4;
+               [case(5)] spoolss_PrinterInfo5 *info5;
+               [case(6)] spoolss_PrinterInfo6 *info6;
+               [case(7)] spoolss_PrinterInfo7 *info7;
+               [case(8)] spoolss_DeviceModeInfo *info8;
+               [case(9)] spoolss_DeviceModeInfo *info9;
+               [default];
+       } spoolss_SetPrinterInfo;
+
+       typedef struct {
+               uint32 size;
+               [subcontext(4),subcontext_size(size)] security_descriptor *sd;
+       } spoolss_SecDescContainer;
+
        WERROR spoolss_SetPrinter(
                [in,ref] policy_handle *handle,
-               [in]     uint32 level,
-               [in,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info,
-               [in]     spoolss_DevmodeContainer devmode_ctr,
-               [in,relative,subcontext(0)] security_descriptor *secdesc,
-               [in]     spoolss_PrinterControl command
+               [in] uint32 level,
+               [in,switch_is(level)] spoolss_SetPrinterInfo info,
+               [in] spoolss_DevmodeContainer devmode_ctr,
+               [in] spoolss_SecDescContainer secdesc_ctr,
+               [in] spoolss_PrinterControl command
        );
 
        /******************/