s3: re-run make samba3-idl.
[abartlet/samba.git/.git] / librpc / gen_ndr / spoolss.h
index 8b9a1ee8eb023ceb8637cb1f67d08ed2a9b4a88d..5f5c5373ceb0d1e81034b4a596584c302560ba4e 100644 (file)
 #define SPL_ARCH_W32PPC        ( "W32PPC" )
 #define SPL_ARCH_IA64  ( "IA64" )
 #define SPL_ARCH_X64   ( "x64" )
-#define SPOOLSS_ARCHITECTURE_ALL       ( "all" )
+#define SPOOLSS_ARCHITECTURE_ALL       ( "All" )
+#define SPOOLSS_ARCHITECTURE_ALL_CLUSTER       ( "AllCluster" )
 #define SPOOLSS_ARCHITECTURE_NT_X86    ( "Windows NT x86" )
+#define SPOOLSS_ARCHITECTURE_IA_64     ( "Windows IA64" )
+#define SPOOLSS_ARCHITECTURE_x64       ( "Windows x64" )
+#define SPOOLSS_ARCHITECTURE_4_0       ( "Windows 4.0" )
 #define SPOOLSS_DEFAULT_SERVER_PATH    ( "C:\\WINDOWS\\system32\\spool" )
 #define SPOOL_PRINTERDATA_KEY  ( "PrinterDriverData" )
 #define SPOOL_DSSPOOLER_KEY    ( "DsSpooler" )
@@ -812,12 +816,12 @@ struct spoolss_PrinterInfo2 {
        const char * drivername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * comment;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * location;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0)] */
+       struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
        const char * sepfile;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * printprocessor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * parameters;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       struct security_descriptor *secdesc;/* [relative,subcontext(0)] */
+       struct security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
        uint32_t attributes;
        uint32_t priority;/* [range(0,99)] */
        uint32_t defaultpriority;
@@ -829,7 +833,7 @@ struct spoolss_PrinterInfo2 {
 }/* [gensize,public] */;
 
 struct spoolss_PrinterInfo3 {
-       struct security_descriptor *secdesc;/* [relative,subcontext(0)] */
+       struct security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
 }/* [gensize,public] */;
 
 struct spoolss_PrinterInfo4 {
@@ -863,7 +867,7 @@ struct spoolss_PrinterInfo7 {
 }/* [gensize,public] */;
 
 struct spoolss_DeviceModeInfo {
-       struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0)] */
+       struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
 };
 
 union spoolss_PrinterInfo {
@@ -877,7 +881,7 @@ union spoolss_PrinterInfo {
        struct spoolss_PrinterInfo7 info7;/* [case(7)] */
        struct spoolss_DeviceModeInfo info8;/* [case(8)] */
        struct spoolss_DeviceModeInfo info9;/* [case(9)] */
-}/* [relative_base,gensize,public,nodiscriminant] */;
+}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
 struct spoolss_DevmodeContainer {
        uint32_t _ndr_size;/* [value(_ndr_size_spoolss_DeviceMode(devmode,ndr->iconv_convenience,ndr->flags))] */
@@ -911,9 +915,9 @@ struct spoolss_JobInfo2 {
        const char * print_processor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * parameters;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       struct spoolss_DeviceMode *devmode;/* [relative] */
+       struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
        const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       struct security_descriptor *secdesc;/* [relative] */
+       struct security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
        uint32_t status;
        uint32_t priority;/* [range(0,99)] */
        uint32_t position;
@@ -943,9 +947,9 @@ struct spoolss_JobInfo4 {
        const char * print_processor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * parameters;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       struct spoolss_DeviceMode *devmode;/* [relative] */
+       struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
        const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       struct security_descriptor *secdesc;/* [relative] */
+       struct security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */
        uint32_t status;
        uint32_t priority;/* [range(0,99)] */
        uint32_t position;
@@ -964,7 +968,7 @@ union spoolss_JobInfo {
        struct spoolss_JobInfo2 info2;/* [case(2)] */
        struct spoolss_JobInfo3 info3;/* [case(3)] */
        struct spoolss_JobInfo4 info4;/* [case(4)] */
-}/* [relative_base,gensize,public,nodiscriminant] */;
+}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
 struct spoolss_SetJobInfo1 {
        uint32_t job_id;
@@ -1140,12 +1144,12 @@ struct spoolss_SetPrinterInfo2 {
        const char *drivername;/* [unique,charset(UTF16)] */
        const char *comment;/* [unique,charset(UTF16)] */
        const char *location;/* [unique,charset(UTF16)] */
-       struct spoolss_DeviceMode *devmode;/* [unique,subcontext(0)] */
+       uint32_t devmode_ptr;
        const char *sepfile;/* [unique,charset(UTF16)] */
        const char *printprocessor;/* [unique,charset(UTF16)] */
        const char *datatype;/* [unique,charset(UTF16)] */
        const char *parameters;/* [unique,charset(UTF16)] */
-       struct security_descriptor *secdesc;/* [unique,subcontext(0)] */
+       uint32_t secdesc_ptr;
        uint32_t attributes;
        uint32_t priority;/* [range(0,99)] */
        uint32_t defaultpriority;
@@ -1183,6 +1187,14 @@ struct spoolss_SetPrinterInfo7 {
        uint32_t action;
 };
 
+struct spoolss_SetPrinterInfo8 {
+       uint32_t devmode_ptr;
+};
+
+struct spoolss_SetPrinterInfo9 {
+       uint32_t devmode_ptr;
+};
+
 union spoolss_SetPrinterInfo {
        struct spoolss_SetPrinterInfo0 *info0;/* [unique,case(0)] */
        struct spoolss_SetPrinterInfo1 *info1;/* [unique,case] */
@@ -1192,8 +1204,8 @@ union spoolss_SetPrinterInfo {
        struct spoolss_SetPrinterInfo5 *info5;/* [unique,case(5)] */
        struct spoolss_SetPrinterInfo6 *info6;/* [unique,case(6)] */
        struct spoolss_SetPrinterInfo7 *info7;/* [unique,case(7)] */
-       struct spoolss_DeviceModeInfo *info8;/* [unique,case(8)] */
-       struct spoolss_DeviceModeInfo *info9;/* [unique,case(9)] */
+       struct spoolss_SetPrinterInfo8 *info8;/* [unique,case(8)] */
+       struct spoolss_SetPrinterInfo9 *info9;/* [unique,case(9)] */
 }/* [switch_type(uint32)] */;
 
 struct spoolss_SetPrinterInfoCtr {
@@ -1206,11 +1218,6 @@ struct spoolss_StringArray {
        const char ** string;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
 }/* [public] */;
 
-struct spoolss_StringArray2 {
-       uint32_t _ndr_size;/* [value((ndr_size_spoolss_StringArray2(r,ndr->iconv_convenience,ndr->flags)-4)/2)] */
-       const char ** string;/* [subcontext_size(_ndr_size*2),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */
-}/* [public] */;
-
 struct spoolss_AddDriverInfo1 {
        const char *driver_name;/* [unique,charset(UTF16)] */
 };
@@ -1426,6 +1433,14 @@ struct spoolss_DriverInfo6 {
        const char * provider;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
 }/* [gensize,public] */;
 
+struct spoolss_DriverInfo7 {
+       uint32_t size;
+       enum spoolss_DriverOSVersion version;
+       const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * inf_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * install_source_root;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+}/* [gensize,public] */;
+
 struct spoolss_DriverInfo8 {
        enum spoolss_DriverOSVersion version;
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
@@ -1434,9 +1449,9 @@ struct spoolss_DriverInfo8 {
        const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        NTTIME driver_date;
        uint64_t driver_version;
@@ -1503,9 +1518,10 @@ union spoolss_DriverInfo {
        struct spoolss_DriverInfo4 info4;/* [case(4)] */
        struct spoolss_DriverInfo5 info5;/* [case(5)] */
        struct spoolss_DriverInfo6 info6;/* [case(6)] */
+       struct spoolss_DriverInfo7 info7;/* [case(7)] */
        struct spoolss_DriverInfo8 info8;/* [case(8)] */
        struct spoolss_DriverInfo101 info101;/* [case(101)] */
-}/* [relative_base,gensize,public,nodiscriminant] */;
+}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
 struct spoolss_DriverDirectoryInfo1 {
        const char * directory_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
@@ -1513,7 +1529,7 @@ struct spoolss_DriverDirectoryInfo1 {
 
 union spoolss_DriverDirectoryInfo {
        struct spoolss_DriverDirectoryInfo1 info1;/* [case] */
-}/* [gensize,relative_base,nodiscriminant,public] */;
+}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
 struct spoolss_PrintProcessorInfo1 {
        const char * print_processor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
@@ -1521,7 +1537,7 @@ struct spoolss_PrintProcessorInfo1 {
 
 union spoolss_PrintProcessorInfo {
        struct spoolss_PrintProcessorInfo1 info1;/* [case] */
-}/* [relative_base,nodiscriminant,public] */;
+}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
 struct spoolss_PrintProcessorDirectoryInfo1 {
        const char * directory_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
@@ -1529,7 +1545,7 @@ struct spoolss_PrintProcessorDirectoryInfo1 {
 
 union spoolss_PrintProcessorDirectoryInfo {
        struct spoolss_PrintProcessorDirectoryInfo1 info1;/* [case] */
-}/* [gensize,relative_base,nodiscriminant,public] */;
+}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
 struct spoolss_DocumentInfo1 {
        const char *document_name;/* [unique,charset(UTF16)] */
@@ -1570,7 +1586,7 @@ union spoolss_PrinterData {
        uint32_t value;/* [case(REG_DWORD)] */
        const char ** string_array;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_MULTI_SZ)] */
        DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING),default] */
-}/* [gensize,public,nodiscriminant] */;
+}/* [nodiscriminant,public] */;
 
 enum spoolss_FormFlags
 #ifndef USE_UINT_ENUMS
@@ -1621,13 +1637,14 @@ struct spoolss_FormInfo2 {
        const char * mui_dll;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        uint32_t ressource_id;
        const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       uint32_t lang_id;
+       uint16_t lang_id;
+       uint16_t unused;
 }/* [gensize,public] */;
 
 union spoolss_FormInfo {
        struct spoolss_FormInfo1 info1;/* [case] */
        struct spoolss_FormInfo2 info2;/* [case(2)] */
-}/* [relative_base,gensize,public,nodiscriminant] */;
+}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
 struct spoolss_AddFormInfo1 {
        enum spoolss_FormFlags flags;
@@ -1738,7 +1755,7 @@ union spoolss_PortInfo {
        struct spoolss_PortInfo2 info2;/* [case(2)] */
        struct spoolss_PortInfo3 info3;/* [case(3)] */
        struct spoolss_PortInfoFF infoFF;/* [case(0xff)] */
-}/* [relative_base,nodiscriminant,public] */;
+}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
 struct spoolss_MonitorInfo1 {
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
@@ -1753,7 +1770,7 @@ struct spoolss_MonitorInfo2 {
 union spoolss_MonitorInfo {
        struct spoolss_MonitorInfo1 info1;/* [case] */
        struct spoolss_MonitorInfo2 info2;/* [case(2)] */
-}/* [relative_base,nodiscriminant,public] */;
+}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
 struct spoolss_PrintProcDataTypesInfo1 {
        const char * name_array;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
@@ -1761,7 +1778,7 @@ struct spoolss_PrintProcDataTypesInfo1 {
 
 union spoolss_PrintProcDataTypesInfo {
        struct spoolss_PrintProcDataTypesInfo1 info1;/* [case] */
-}/* [relative_base,nodiscriminant,public] */;
+}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */;
 
 /* bitmap spoolss_PrinterChangeFlags */
 #define PRINTER_CHANGE_ADD_PRINTER ( 0x00000001 )
@@ -2054,6 +2071,10 @@ struct spoolss_PrinterEnumValues {
        uint32_t data_length;/* [value(ndr_size_spoolss_PrinterData(data,type,ndr->iconv_convenience,ndr->flags))] */
 }/* [relative_base,gensize,public] */;
 
+union spoolss_KeyNames {
+       const char ** string_array;/* [default,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+}/* [nodiscriminant] */;
+
 /* bitmap spoolss_DeleteDriverFlags */
 #define DPD_DELETE_UNUSED_FILES ( 0x00000001 )
 #define DPD_DELETE_SPECIFIC_VERSION ( 0x00000002 )
@@ -3468,23 +3489,82 @@ struct spoolss_4c {
 };
 
 
+struct _spoolss_SetPrinterDataEx {
+       struct {
+               struct policy_handle *handle;/* [ref] */
+               const char *key_name;/* [charset(UTF16)] */
+               const char *value_name;/* [charset(UTF16)] */
+               enum winreg_Type type;
+               DATA_BLOB data;
+               uint32_t _offered;
+       } in;
+
+       struct {
+               WERROR result;
+       } out;
+
+};
+
+
+struct __spoolss_SetPrinterDataEx {
+       struct {
+               enum winreg_Type type;
+       } in;
+
+       struct {
+               union spoolss_PrinterData *data;/* [ref,switch_is(type)] */
+       } out;
+
+};
+
+
 struct spoolss_SetPrinterDataEx {
        struct {
                struct policy_handle *handle;/* [ref] */
                const char *key_name;/* [charset(UTF16)] */
                const char *value_name;/* [charset(UTF16)] */
                enum winreg_Type type;
-               uint8_t *buffer;/* [ref,size_is(offered)] */
+               union spoolss_PrinterData data;/* [subcontext(4),switch_is(type)] */
+               uint32_t _offered;/* [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */
+       } in;
+
+       struct {
+               WERROR result;
+       } out;
+
+};
+
+
+struct _spoolss_GetPrinterDataEx {
+       struct {
+               struct policy_handle *handle;/* [ref] */
+               const char *key_name;/* [charset(UTF16)] */
+               const char *value_name;/* [charset(UTF16)] */
                uint32_t offered;
        } in;
 
        struct {
+               enum winreg_Type *type;/* [ref] */
+               DATA_BLOB *data;/* [ref] */
+               uint32_t *needed;/* [ref] */
                WERROR result;
        } out;
 
 };
 
 
+struct __spoolss_GetPrinterDataEx {
+       struct {
+               enum winreg_Type type;
+       } in;
+
+       struct {
+               union spoolss_PrinterData *data;/* [ref,switch_is(type)] */
+       } out;
+
+};
+
+
 struct spoolss_GetPrinterDataEx {
        struct {
                struct policy_handle *handle;/* [ref] */
@@ -3495,7 +3575,7 @@ struct spoolss_GetPrinterDataEx {
 
        struct {
                enum winreg_Type *type;/* [ref] */
-               uint8_t *buffer;/* [ref,size_is(offered)] */
+               union spoolss_PrinterData *data;/* [subcontext_size(offered),ref,subcontext(4),switch_is(*type)] */
                uint32_t *needed;/* [ref] */
                WERROR result;
        } out;
@@ -3557,7 +3637,8 @@ struct spoolss_EnumPrinterKey {
        } in;
 
        struct {
-               struct spoolss_StringArray2 *key_buffer;/* [ref] */
+               uint32_t *_ndr_size;/* [ref] */
+               union spoolss_KeyNames *key_buffer;/* [subcontext_size(*_ndr_size*2),ref,subcontext(0),switch_is(*_ndr_size)] */
                uint32_t *needed;/* [ref] */
                WERROR result;
        } out;