idl: Add flags for strings in ntprinting idl.
authorAndreas Schneider <asn@samba.org>
Mon, 11 Mar 2013 14:47:00 +0000 (15:47 +0100)
committerGünther Deschner <gd@samba.org>
Fri, 15 Mar 2013 11:11:02 +0000 (12:11 +0100)
Reviewed-by: Günther Deschner <gd@samba.org>
librpc/idl/ntprinting.idl

index 70135666724d9135e4d9ae547326fde5463e4a09..8152144fca4ea3049c82373fd0d4c7bb5b0207b6 100644 (file)
@@ -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