Merge branch 'master' of ssh://git.samba.org/data/git/samba
[amitay/samba.git] / librpc / gen_ndr / spoolss.h
index 150bf04d6fb49d897014f9f187ec2edad61f771a..4ecb2a71b60e712197698f3ef662b57d54c05c89 100644 (file)
@@ -2,6 +2,8 @@
 
 #include <stdint.h>
 
+#include "libcli/util/ntstatus.h"
+
 #include "librpc/gen_ndr/misc.h"
 #include "librpc/gen_ndr/security.h"
 #include "librpc/gen_ndr/winreg.h"
@@ -10,6 +12,7 @@
 
 #define PRINTER_ENUM_ICONMASK  ( (PRINTER_ENUM_ICON1|PRINTER_ENUM_ICON2|PRINTER_ENUM_ICON3|PRINTER_ENUM_ICON4|PRINTER_ENUM_ICON5|PRINTER_ENUM_ICON6|PRINTER_ENUM_ICON7|PRINTER_ENUM_ICON8) )
 #define SPOOLSS_ARCHITECTURE_NT_X86    ( "Windows NT x86" )
+#define SPOOLSS_DEFAULT_SERVER_PATH    ( "C:\\WINDOWS\\system32\\spool" )
 #define PRINTER_CHANGE_PRINTER ( 0x000000FF )
 #define PRINTER_CHANGE_JOB     ( 0x0000FF00 )
 #define PRINTER_CHANGE_FORM    ( (PRINTER_CHANGE_ADD_FORM|PRINTER_CHANGE_SET_FORM|PRINTER_CHANGE_DELETE_FORM) )
@@ -500,7 +503,7 @@ struct spoolss_SetPrinterInfo2 {
 };
 
 struct spoolss_SetPrinterInfo3 {
-       struct security_descriptor *secdesc;/* [unique] */
+       uint32_t sec_desc_ptr;
 };
 
 struct spoolss_SetPrinterInfo4 {
@@ -635,7 +638,7 @@ struct spoolss_AddDriverInfo6 {
        struct spoolss_StringArray *dependent_files;/* [unique] */
        uint32_t _ndr_size_previous_names;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->iconv_convenience,ndr->flags)-4)/2))] */
        struct spoolss_StringArray *previous_names;/* [unique] */
-       NTTIME driver_data;
+       NTTIME driver_date;
        uint64_t driver_version;
        const char *manufacturer_name;/* [unique,charset(UTF16)] */
        const char *manufacturer_url;/* [unique,charset(UTF16)] */
@@ -657,7 +660,7 @@ struct spoolss_AddDriverInfo8 {
        struct spoolss_StringArray *dependent_files;/* [unique] */
        uint32_t _ndr_size_previous_names;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->iconv_convenience,ndr->flags)-4)/2))] */
        struct spoolss_StringArray *previous_names;/* [unique] */
-       NTTIME driver_data;
+       NTTIME driver_date;
        uint64_t driver_version;
        const char *manufacturer_name;/* [unique,charset(UTF16)] */
        const char *manufacturer_url;/* [unique,charset(UTF16)] */
@@ -691,7 +694,7 @@ struct spoolss_AddDriverInfoCtr {
 
 struct spoolss_DriverInfo1 {
        const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-};
+}/* [gensize,public] */;
 
 struct spoolss_DriverInfo2 {
        enum spoolss_DriverOSVersion version;
@@ -700,7 +703,7 @@ struct spoolss_DriverInfo2 {
        const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-};
+}/* [gensize,public] */;
 
 struct spoolss_DriverInfo3 {
        enum spoolss_DriverOSVersion version;
@@ -713,7 +716,7 @@ struct spoolss_DriverInfo3 {
        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)] */
-};
+}/* [gensize,public] */;
 
 struct spoolss_DriverInfo4 {
        enum spoolss_DriverOSVersion version;
@@ -727,7 +730,7 @@ struct spoolss_DriverInfo4 {
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-};
+}/* [gensize,public] */;
 
 struct spoolss_DriverInfo5 {
        enum spoolss_DriverOSVersion version;
@@ -739,7 +742,7 @@ struct spoolss_DriverInfo5 {
        uint32_t driver_attributes;
        uint32_t config_version;
        uint32_t driver_version;
-};
+}/* [gensize,public] */;
 
 struct spoolss_DriverInfo6 {
        enum spoolss_DriverOSVersion version;
@@ -753,13 +756,13 @@ struct spoolss_DriverInfo6 {
        const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       NTTIME driver_data;
+       NTTIME driver_date;
        uint64_t driver_version;
        const char * manufacturer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * manufacturer_url;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * hardware_id;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * provider;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-};
+}/* [gensize,public] */;
 
 struct spoolss_DriverInfo8 {
        enum spoolss_DriverOSVersion version;
@@ -773,7 +776,7 @@ struct spoolss_DriverInfo8 {
        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_data;
+       NTTIME driver_date;
        uint64_t driver_version;
        const char * manufacturer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        const char * manufacturer_url;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
@@ -787,7 +790,49 @@ struct spoolss_DriverInfo8 {
        const char ** core_driver_dependencies;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
        NTTIME min_inbox_driver_ver_date;
        uint64_t min_inbox_driver_ver_version;
-};
+}/* [gensize,public] */;
+
+enum spoolss_DriverFileType
+#ifndef USE_UINT_ENUMS
+ {
+       SPOOLSS_DRIVER_FILE_TYPE_RENDERING=0x00000000,
+       SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION=0x00000001,
+       SPOOLSS_DRIVER_FILE_TYPE_DATA=0x00000002,
+       SPOOLSS_DRIVER_FILE_TYPE_HELP=0x00000003,
+       SPOOLSS_DRIVER_FILE_TYPE_OTHER=0x00000004
+}
+#else
+ { __donnot_use_enum_spoolss_DriverFileType=0x7FFFFFFF}
+#define SPOOLSS_DRIVER_FILE_TYPE_RENDERING ( 0x00000000 )
+#define SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION ( 0x00000001 )
+#define SPOOLSS_DRIVER_FILE_TYPE_DATA ( 0x00000002 )
+#define SPOOLSS_DRIVER_FILE_TYPE_HELP ( 0x00000003 )
+#define SPOOLSS_DRIVER_FILE_TYPE_OTHER ( 0x00000004 )
+#endif
+;
+
+struct spoolss_DriverFileInfo {
+       const char * file_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       enum spoolss_DriverFileType file_type;
+       uint32_t file_version;
+}/* [public] */;
+
+struct spoolss_DriverInfo101 {
+       enum spoolss_DriverOSVersion version;
+       const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       struct spoolss_DriverFileInfo *file_info;/* [relative,size_is(file_count)] */
+       uint32_t file_count;
+       const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       NTTIME driver_date;
+       uint64_t driver_version;
+       const char * manufacturer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * manufacturer_url;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * hardware_id;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * provider;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+}/* [gensize,nopush,public,nopull] */;
 
 union spoolss_DriverInfo {
        struct spoolss_DriverInfo1 info1;/* [case] */
@@ -797,6 +842,7 @@ union spoolss_DriverInfo {
        struct spoolss_DriverInfo5 info5;/* [case(5)] */
        struct spoolss_DriverInfo6 info6;/* [case(6)] */
        struct spoolss_DriverInfo8 info8;/* [case(8)] */
+       struct spoolss_DriverInfo101 info101;/* [case(101)] */
 }/* [relative_base,nodiscriminant,public] */;
 
 struct spoolss_DriverDirectoryInfo1 {
@@ -914,8 +960,27 @@ struct spoolss_FormInfo1 {
        struct spoolss_FormArea area;
 };
 
+/* bitmap spoolss_FormStringType */
+#define SPOOLSS_FORM_STRING_TYPE_NONE ( 0x00000001 )
+#define SPOOLSS_FORM_STRING_TYPE_MUI_DLL ( 0x00000002 )
+#define SPOOLSS_FORM_STRING_TYPE_LANG_PAIR ( 0x00000004 )
+
+struct spoolss_FormInfo2 {
+       enum spoolss_FormFlags flags;
+       const char * form_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       struct spoolss_FormSize size;
+       struct spoolss_FormArea area;
+       const char * keyword;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       uint32_t string_type;
+       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;
+};
+
 union spoolss_FormInfo {
        struct spoolss_FormInfo1 info1;/* [case] */
+       struct spoolss_FormInfo2 info2;/* [case(2)] */
 }/* [relative_base,gensize,public,nodiscriminant] */;
 
 struct spoolss_AddFormInfo1 {
@@ -2239,7 +2304,7 @@ struct spoolss_GetPrinterDriver2 {
        } in;
 
        struct {
-               DATA_BLOB *info;/* [unique] */
+               union spoolss_DriverInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */
                uint32_t *needed;/* [ref] */
                uint32_t *server_major_version;/* [ref] */
                uint32_t *server_minor_version;/* [ref] */