spoolss: set NDR_RELATIVE_REVERSE flag for various unions that have relative pointers.
authorGünther Deschner <gd@samba.org>
Mon, 14 Dec 2009 16:22:39 +0000 (17:22 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 18 Feb 2010 14:47:57 +0000 (15:47 +0100)
Guenther

librpc/idl/spoolss.idl

index 259ffd4d7ec765c15537730032cd331dc67c944a..503c77ebce699da2c8e4a7c736e4138f6b6377e4 100644 (file)
@@ -528,7 +528,7 @@ import "misc.idl", "security.idl", "winreg.idl";
                [relative,subcontext(0)] spoolss_DeviceMode *devmode;
        } spoolss_DeviceModeInfo;
 
-       typedef [nodiscriminant,relative_base,public,gensize] union {
+       typedef [nodiscriminant,relative_base,public,gensize,flag(NDR_RELATIVE_REVERSE)] union {
                [case(0)] spoolss_PrinterInfo0 info0;
                [case(1)] spoolss_PrinterInfo1 info1;
                [case(2)] spoolss_PrinterInfo2 info2;
@@ -667,7 +667,7 @@ import "misc.idl", "security.idl", "winreg.idl";
                uint32 size_high;
        } spoolss_JobInfo4;
 
-       typedef [nodiscriminant,relative_base,public,gensize] union {
+       typedef [nodiscriminant,relative_base,public,gensize,flag(NDR_RELATIVE_REVERSE)] union {
                [case(1)] spoolss_JobInfo1 info1;
                [case(2)] spoolss_JobInfo2 info2;
                [case(3)] spoolss_JobInfo3 info3;
@@ -1266,7 +1266,7 @@ import "misc.idl", "security.idl", "winreg.idl";
                [relative] nstring *provider;
        } spoolss_DriverInfo101;
 
-       typedef [nodiscriminant,relative_base,public,gensize] union {
+       typedef [nodiscriminant,relative_base,public,gensize,flag(NDR_RELATIVE_REVERSE)] union {
                [case(1)] spoolss_DriverInfo1 info1;
                [case(2)] spoolss_DriverInfo2 info2;
                [case(3)] spoolss_DriverInfo3 info3;
@@ -1328,7 +1328,7 @@ import "misc.idl", "security.idl", "winreg.idl";
        /* NOTE: it's seems that w2k3 completly ignores the level
                 in its server code
         */
-       typedef [nodiscriminant,relative_base,gensize,public] union {
+       typedef [nodiscriminant,relative_base,public,gensize,flag(NDR_RELATIVE_REVERSE)] union {
                [case(1)] spoolss_DriverDirectoryInfo1 info1;
                [default] spoolss_DriverDirectoryInfo1 info1;
        } spoolss_DriverDirectoryInfo;
@@ -1366,7 +1366,7 @@ import "misc.idl", "security.idl", "winreg.idl";
                [relative] nstring *print_processor_name;
        } spoolss_PrintProcessorInfo1;
 
-       typedef [nodiscriminant,relative_base,public] union {
+       typedef [nodiscriminant,relative_base,public,flag(NDR_RELATIVE_REVERSE)] union {
                [case(1)] spoolss_PrintProcessorInfo1 info1;
                [default];
        } spoolss_PrintProcessorInfo;
@@ -1403,7 +1403,7 @@ import "misc.idl", "security.idl", "winreg.idl";
                nstring directory_name;
        } spoolss_PrintProcessorDirectoryInfo1;
 
-       typedef [nodiscriminant,relative_base,gensize,public] union {
+       typedef [nodiscriminant,relative_base,public,gensize,flag(NDR_RELATIVE_REVERSE)] union {
                [case(1)] spoolss_PrintProcessorDirectoryInfo1 info1;
                [default] spoolss_PrintProcessorDirectoryInfo1 info1;
        } spoolss_PrintProcessorDirectoryInfo;
@@ -1718,7 +1718,7 @@ import "misc.idl", "security.idl", "winreg.idl";
                uint16 unused;
        } spoolss_FormInfo2;
 
-       typedef [nodiscriminant,relative_base,public,gensize] union {
+       typedef [nodiscriminant,relative_base,public,gensize,flag(NDR_RELATIVE_REVERSE)] union {
                [case(1)] spoolss_FormInfo1 info1;
                [case(2)] spoolss_FormInfo2 info2;
                [default];
@@ -1871,7 +1871,7 @@ import "misc.idl", "security.idl", "winreg.idl";
                DATA_BLOB monitor_data; /* relative ?? */
        } spoolss_PortInfoFF;
 
-       typedef [nodiscriminant,relative_base,public] union {
+       typedef [nodiscriminant,relative_base,public,flag(NDR_RELATIVE_REVERSE)] union {
                [case(1)] spoolss_PortInfo1 info1;
                [case(2)] spoolss_PortInfo2 info2;
                [case(3)] spoolss_PortInfo3 info3;
@@ -1917,7 +1917,7 @@ import "misc.idl", "security.idl", "winreg.idl";
                [relative] nstring *dll_name;
        } spoolss_MonitorInfo2;
 
-       typedef [nodiscriminant,relative_base,public] union {
+       typedef [nodiscriminant,relative_base,public,flag(NDR_RELATIVE_REVERSE)] union {
                [case(1)] spoolss_MonitorInfo1 info1;
                [case(2)] spoolss_MonitorInfo2 info2;
                [default];
@@ -2033,7 +2033,7 @@ import "misc.idl", "security.idl", "winreg.idl";
                [relative] nstring *name_array;
        } spoolss_PrintProcDataTypesInfo1;
 
-       typedef [nodiscriminant,relative_base,public] union {
+       typedef [nodiscriminant,relative_base,public,flag(NDR_RELATIVE_REVERSE)] union {
                [case(1)] spoolss_PrintProcDataTypesInfo1 info1;
                [default];
        } spoolss_PrintProcDataTypesInfo;