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)
committerKarolin Seeger <kseeger@samba.org>
Fri, 19 Feb 2010 11:30:24 +0000 (12:30 +0100)
Guenther
(cherry picked from commit 6d0a39741dacd81e33b25a91fa28cdf983d10d84)

librpc/idl/spoolss.idl

index 1bea82ed934b9aa9282c95dc4ae37295f6c03509..d4ca3c69e006cf942965ddd869c98b32e33ed338 100644 (file)
@@ -337,7 +337,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;
@@ -476,7 +476,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;
@@ -1056,7 +1056,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;
@@ -1110,7 +1110,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;
@@ -1148,7 +1148,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;
@@ -1185,7 +1185,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;
@@ -1424,7 +1424,7 @@ import "misc.idl", "security.idl", "winreg.idl";
                uint32 lang_id;
        } 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];
@@ -1577,7 +1577,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;
@@ -1623,7 +1623,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];
@@ -1735,7 +1735,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;