From 7c7917ba9cdc17c6b5d1e1e51cde714c0be6e036 Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Mon, 14 Dec 2009 17:22:39 +0100 Subject: [PATCH] spoolss: set NDR_RELATIVE_REVERSE flag for various unions that have relative pointers. Guenther (cherry picked from commit 6d0a39741dacd81e33b25a91fa28cdf983d10d84) --- librpc/idl/spoolss.idl | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 259ffd4d7ec..503c77ebce6 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -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; -- 2.11.4.GIT