From b6e276af309dc57cb244786643cb43d09deacbb0 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 11 Mar 2013 15:47:00 +0100 Subject: idl: Add flags for strings in ntprinting idl. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Günther Deschner --- librpc/idl/ntprinting.idl | 69 ++++++++++++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 27 deletions(-) (limited to 'librpc') diff --git a/librpc/idl/ntprinting.idl b/librpc/idl/ntprinting.idl index 7013566672..8152144fca 100644 --- a/librpc/idl/ntprinting.idl +++ b/librpc/idl/ntprinting.idl @@ -30,20 +30,24 @@ interface ntprinting [in] ntprinting_form form ); - /* Samba 3 tdb storage format: drivers + /* + * First the string flags and then the Samba 3 tdb storage + * format: drivers * "dffffffff" followed by a remaining buffer of "f" array */ typedef [flag(NDR_NOALIGN),public] struct { + [skip] uint32 string_flags; + uint32 version; - utf8string name; - utf8string environment; - utf8string driverpath; - utf8string datafile; - utf8string configfile; - utf8string helpfile; - utf8string monitorname; - utf8string defaultdatatype; - [flag(STR_UTF8|STR_NOTERM|NDR_REMAINING)] string_array dependent_files; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string name; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string environment; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string driverpath; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string datafile; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string configfile; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string helpfile; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string monitorname; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string defaultdatatype; + [flag((ndr_ntprinting_string_flags(r->string_flags)&~STR_NULLTERM)|STR_NOTERM|NDR_REMAINING)] string_array dependent_files; } ntprinting_driver; [public] void decode_ntprinting_driver( @@ -57,9 +61,11 @@ interface ntprinting * "B" private data blob */ typedef [flag(NDR_NOALIGN),public] struct { + [skip] uint32 string_flags; + /* uint32 devicemode_ptr; */ - utf8string devicename; - utf8string formname; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string devicename; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string formname; uint16 specversion; uint16 driverversion; uint16 size; @@ -95,21 +101,30 @@ interface ntprinting DATA_BLOB *nt_dev_private; } ntprinting_devicemode; - /* Samba 3 tdb storage format: printer_data + /* + * First the string flags and then the Samba 3 tdb storage + * format: printer_data * "p" ptr to printer_data * "fdB" */ typedef [flag(NDR_NOALIGN),public] struct { + [skip] uint32 string_flags; + uint32 ptr; - utf8string name; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string name; uint32 type; DATA_BLOB data; } ntprinting_printer_data; - /* Samba 3 tdb storage format: printer_info - * "dddddddddddfffffPfffff" */ + /* + * First the string flags and then the Samba 3 tdb storage + * format: printer_info + * "dddddddddddfffffPfffff" + */ typedef [flag(NDR_NOALIGN),public] struct { + [skip] uint32 string_flags; + uint32 attributes; uint32 priority; uint32 default_priority; @@ -121,17 +136,17 @@ interface ntprinting uint32 changeid; uint32 c_setprinter; uint32 setuptime; - utf8string servername; - utf8string printername; - utf8string sharename; - utf8string portname; - utf8string drivername; - utf8string comment; - utf8string location; - utf8string sepfile; - utf8string printprocessor; - utf8string datatype; - utf8string parameters; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string servername; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string printername; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string sharename; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string portname; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string drivername; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string comment; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string location; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string sepfile; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string printprocessor; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string datatype; + [flag(ndr_ntprinting_string_flags(r->string_flags))] string parameters; } ntprinting_printer_info; /* Abstract Samba 3 printer -- cgit