diff options
Diffstat (limited to 'librpc/gen_ndr/spoolss.h')
-rw-r--r-- | librpc/gen_ndr/spoolss.h | 347 |
1 files changed, 326 insertions, 21 deletions
diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h index 2faeea2e40..b66e4ab2a8 100644 --- a/librpc/gen_ndr/spoolss.h +++ b/librpc/gen_ndr/spoolss.h @@ -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" @@ -9,14 +11,16 @@ #define _HEADER_spoolss #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 JOB_STATUS_QUEUED ( 0x0000 ) #define SPOOLSS_ARCHITECTURE_NT_X86 ( "Windows NT x86" ) -#define PRINTER_CHANGE_PRINTER ( (PRINTER_CHANGE_ADD_PRINTER|PRINTER_CHANGE_SET_PRINTER|PRINTER_CHANGE_DELETE_PRINTER|PRINTER_CHANGE_FAILED_CONNECTION_PRINTER) ) -#define PRINTER_CHANGE_JOB ( (PRINTER_CHANGE_ADD_JOB|PRINTER_CHANGE_SET_JOB|PRINTER_CHANGE_DELETE_JOB|PRINTER_CHANGE_WRITE_JOB) ) +#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) ) #define PRINTER_CHANGE_PORT ( (PRINTER_CHANGE_ADD_PORT|PRINTER_CHANGE_CONFIGURE_PORT|PRINTER_CHANGE_DELETE_PORT) ) -#define PRINTER_CHANGE_PRINT_PROCESSOR ( (PRINTER_CHANGE_ADD_PRINT_PROCESSOR|PRINTER_CHANGE_DELETE_PRINT_PROCESSOR) ) +#define PRINTER_CHANGE_PRINT_PROCESSOR ( 0x07000000 ) #define PRINTER_CHANGE_PRINTER_DRIVER ( (PRINTER_CHANGE_ADD_PRINTER_DRIVER|PRINTER_CHANGE_SET_PRINTER_DRIVER|PRINTER_CHANGE_DELETE_PRINTER_DRIVER) ) -#define PRINTER_CHANGE_ALL ( (PRINTER_CHANGE_JOB|PRINTER_CHANGE_FORM|PRINTER_CHANGE_PORT|PRINTER_CHANGE_PRINT_PROCESSOR|PRINTER_CHANGE_PRINTER_DRIVER) ) +#define PRINTER_CHANGE_ALL ( (PRINTER_CHANGE_PRINTER|PRINTER_CHANGE_JOB|PRINTER_CHANGE_FORM|PRINTER_CHANGE_PORT|PRINTER_CHANGE_PRINT_PROCESSOR|PRINTER_CHANGE_PRINTER_DRIVER) ) #define SERVER_ALL_ACCESS ( SEC_STD_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE ) #define SERVER_READ ( SEC_STD_READ_CONTROL|SERVER_ACCESS_ENUMERATE ) #define SERVER_WRITE ( STANDARD_RIGHTS_WRITE_ACCESS|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE ) @@ -369,6 +373,21 @@ struct spoolss_DevmodeContainer { struct spoolss_DeviceMode *devmode;/* [unique,subcontext_size(_ndr_size),subcontext(4)] */ }; +/* bitmap spoolss_JobStatus */ +#define JOB_STATUS_PAUSED ( 0x00000001 ) +#define JOB_STATUS_ERROR ( 0x00000002 ) +#define JOB_STATUS_DELETING ( 0x00000004 ) +#define JOB_STATUS_SPOOLING ( 0x00000008 ) +#define JOB_STATUS_PRINTING ( 0x00000010 ) +#define JOB_STATUS_OFFLINE ( 0x00000020 ) +#define JOB_STATUS_PAPEROUT ( 0x00000040 ) +#define JOB_STATUS_PRINTED ( 0x00000080 ) +#define JOB_STATUS_DELETED ( 0x00000100 ) +#define JOB_STATUS_BLOCKED_DEVQ ( 0x00000200 ) +#define JOB_STATUS_USER_INTERVENTION ( 0x00000400 ) +#define JOB_STATUS_RESTART ( 0x00000800 ) +#define JOB_STATUS_COMPLETE ( 0x00001000 ) + struct spoolss_JobInfo1 { uint32_t job_id; const char * printer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ @@ -382,16 +401,154 @@ struct spoolss_JobInfo1 { uint32_t position; uint32_t total_pages; uint32_t pages_printed; - struct spoolss_Time time; + struct spoolss_Time submitted; +}; + +struct spoolss_JobInfo2 { + uint32_t job_id; + const char * printer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char * server_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char * user_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char * document_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char * notify_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char * data_type;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + 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] */ + const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + struct security_descriptor *secdesc;/* [relative] */ + uint32_t status; + uint32_t priority; + uint32_t position; + uint32_t start_time; + uint32_t until_time; + uint32_t total_pages; + uint32_t size; + struct spoolss_Time submitted; + uint32_t time; + uint32_t pages_printed; +}; + +struct spoolss_JobInfo3 { + uint32_t job_id; + uint32_t next_job_id; + uint32_t reserved; +}; + +struct spoolss_JobInfo4 { + uint32_t job_id; + const char * printer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char * server_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char * user_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char * document_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char * notify_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char * data_type;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + 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] */ + const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + struct security_descriptor *secdesc;/* [relative] */ + uint32_t status; + uint32_t priority; + uint32_t position; + uint32_t start_time; + uint32_t until_time; + uint32_t total_pages; + uint32_t size; + struct spoolss_Time submitted; + uint32_t time; + uint32_t pages_printed; + uint32_t size_high; }; union spoolss_JobInfo { struct spoolss_JobInfo1 info1;/* [case] */ + struct spoolss_JobInfo2 info2;/* [case(2)] */ + struct spoolss_JobInfo3 info3;/* [case(3)] */ + struct spoolss_JobInfo4 info4;/* [case(4)] */ }/* [relative_base,nodiscriminant,public] */; +struct spoolss_SetJobInfo1 { + uint32_t job_id; + const char *printer_name;/* [unique,charset(UTF16)] */ + const char *server_name;/* [unique,charset(UTF16)] */ + const char *user_name;/* [unique,charset(UTF16)] */ + const char *document_name;/* [unique,charset(UTF16)] */ + const char *data_type;/* [unique,charset(UTF16)] */ + const char *text_status;/* [unique,charset(UTF16)] */ + uint32_t status; + uint32_t priority; + uint32_t position; + uint32_t total_pages; + uint32_t pages_printed; + struct spoolss_Time submitted; +}; + +struct spoolss_SetJobInfo2 { + uint32_t job_id; + const char *printer_name;/* [unique,charset(UTF16)] */ + const char *server_name;/* [unique,charset(UTF16)] */ + const char *user_name;/* [unique,charset(UTF16)] */ + const char *document_name;/* [unique,charset(UTF16)] */ + const char *notify_name;/* [unique,charset(UTF16)] */ + const char *data_type;/* [unique,charset(UTF16)] */ + const char *print_processor;/* [unique,charset(UTF16)] */ + const char *parameters;/* [unique,charset(UTF16)] */ + const char *driver_name;/* [unique,charset(UTF16)] */ + struct spoolss_DeviceMode *devmode;/* [unique] */ + const char *text_status;/* [unique,charset(UTF16)] */ + struct security_descriptor *secdesc;/* [unique] */ + uint32_t status; + uint32_t priority; + uint32_t position; + uint32_t start_time; + uint32_t until_time; + uint32_t total_pages; + uint32_t size; + struct spoolss_Time submitted; + uint32_t time; + uint32_t pages_printed; +}; + +struct spoolss_SetJobInfo4 { + uint32_t job_id; + const char *printer_name;/* [unique,charset(UTF16)] */ + const char *server_name;/* [unique,charset(UTF16)] */ + const char *user_name;/* [unique,charset(UTF16)] */ + const char *document_name;/* [unique,charset(UTF16)] */ + const char *notify_name;/* [unique,charset(UTF16)] */ + const char *data_type;/* [unique,charset(UTF16)] */ + const char *print_processor;/* [unique,charset(UTF16)] */ + const char *parameters;/* [unique,charset(UTF16)] */ + const char *driver_name;/* [unique,charset(UTF16)] */ + struct spoolss_DeviceMode *devmode;/* [unique] */ + const char *text_status;/* [unique,charset(UTF16)] */ + struct security_descriptor *secdesc;/* [unique] */ + uint32_t status; + uint32_t priority; + uint32_t position; + uint32_t start_time; + uint32_t until_time; + uint32_t total_pages; + uint32_t size; + struct spoolss_Time submitted; + uint32_t time; + uint32_t pages_printed; + uint32_t size_high; +}; + +union spoolss_SetJobInfo { + struct spoolss_SetJobInfo1 *info1;/* [unique,case] */ + struct spoolss_SetJobInfo2 *info2;/* [unique,case(2)] */ + struct spoolss_JobInfo3 *info3;/* [unique,case(3)] */ + struct spoolss_SetJobInfo4 *info4;/* [unique,case(4)] */ +}/* [public] */; + struct spoolss_JobInfoContainer { uint32_t level; - union spoolss_JobInfo info;/* [switch_is(level)] */ + union spoolss_SetJobInfo info;/* [switch_is(level)] */ }; enum spoolss_JobControl @@ -403,7 +560,9 @@ enum spoolss_JobControl SPOOLSS_JOB_CONTROL_RESTART=4, SPOOLSS_JOB_CONTROL_DELETE=5, SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER=6, - SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED=7 + SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED=7, + SPOOLSS_JOB_CONTROL_RETAIN=8, + SPOOLSS_JOB_CONTROL_RELEASE=9 } #else { __donnot_use_enum_spoolss_JobControl=0x7FFFFFFF} @@ -414,6 +573,8 @@ enum spoolss_JobControl #define SPOOLSS_JOB_CONTROL_DELETE ( 5 ) #define SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER ( 6 ) #define SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED ( 7 ) +#define SPOOLSS_JOB_CONTROL_RETAIN ( 8 ) +#define SPOOLSS_JOB_CONTROL_RELEASE ( 9 ) #endif ; @@ -500,7 +661,7 @@ struct spoolss_SetPrinterInfo2 { }; struct spoolss_SetPrinterInfo3 { - struct security_descriptor *secdesc;/* [unique] */ + uint32_t sec_desc_ptr; }; struct spoolss_SetPrinterInfo4 { @@ -635,7 +796,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 +818,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 +852,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 +861,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 +874,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 +888,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 +900,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 +914,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 +934,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 +948,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 +1000,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 +1118,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_ASCII|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 { @@ -925,8 +1148,22 @@ struct spoolss_AddFormInfo1 { struct spoolss_FormArea area; }; +struct spoolss_AddFormInfo2 { + enum spoolss_FormFlags flags; + const char *form_name;/* [unique,charset(UTF16)] */ + struct spoolss_FormSize size; + struct spoolss_FormArea area; + const char *keyword;/* [unique,charset(DOS)] */ + uint32_t string_type; + const char *mui_dll;/* [unique,charset(UTF16)] */ + uint32_t ressource_id; + const char *display_name;/* [unique,charset(UTF16)] */ + uint32_t lang_id; +}; + union spoolss_AddFormInfo { struct spoolss_AddFormInfo1 *info1;/* [unique,case] */ + struct spoolss_AddFormInfo2 *info2;/* [unique,case(2)] */ }/* [switch_type(uint32)] */; struct spoolss_PortInfo1 { @@ -947,9 +1184,72 @@ struct spoolss_PortInfo2 { uint32_t reserved; }; +enum spoolss_PortStatus +#ifndef USE_UINT_ENUMS + { + PORT_STATUS_CLEAR=0x00000000, + PORT_STATUS_OFFLINE=0x00000001, + PORT_STATUS_PAPER_JAM=0x00000002, + PORT_STATUS_PAPER_OUT=0x00000003, + PORT_STATUS_OUTPUT_BIN_FULL=0x00000004, + PORT_STATUS_PAPER_PROBLEM=0x00000005, + PORT_STATUS_NO_TONER=0x00000006, + PORT_STATUS_DOOR_OPEN=0x00000007, + PORT_STATUS_USER_INTERVENTION=0x00000008, + PORT_STATUS_OUT_OF_MEMORY=0x00000009, + PORT_STATUS_TONER_LOW=0x0000000A, + PORT_STATUS_WARMING_UP=0x0000000B, + PORT_STATUS_POWER_SAVE=0x0000000C +} +#else + { __donnot_use_enum_spoolss_PortStatus=0x7FFFFFFF} +#define PORT_STATUS_CLEAR ( 0x00000000 ) +#define PORT_STATUS_OFFLINE ( 0x00000001 ) +#define PORT_STATUS_PAPER_JAM ( 0x00000002 ) +#define PORT_STATUS_PAPER_OUT ( 0x00000003 ) +#define PORT_STATUS_OUTPUT_BIN_FULL ( 0x00000004 ) +#define PORT_STATUS_PAPER_PROBLEM ( 0x00000005 ) +#define PORT_STATUS_NO_TONER ( 0x00000006 ) +#define PORT_STATUS_DOOR_OPEN ( 0x00000007 ) +#define PORT_STATUS_USER_INTERVENTION ( 0x00000008 ) +#define PORT_STATUS_OUT_OF_MEMORY ( 0x00000009 ) +#define PORT_STATUS_TONER_LOW ( 0x0000000A ) +#define PORT_STATUS_WARMING_UP ( 0x0000000B ) +#define PORT_STATUS_POWER_SAVE ( 0x0000000C ) +#endif +; + +enum spoolss_PortSeverity +#ifndef USE_UINT_ENUMS + { + PORT_STATUS_TYPE_ERROR=0x00000001, + PORT_STATUS_TYPE_WARNING=0x00000002, + PORT_STATUS_TYPE_INFO=0x00000003 +} +#else + { __donnot_use_enum_spoolss_PortSeverity=0x7FFFFFFF} +#define PORT_STATUS_TYPE_ERROR ( 0x00000001 ) +#define PORT_STATUS_TYPE_WARNING ( 0x00000002 ) +#define PORT_STATUS_TYPE_INFO ( 0x00000003 ) +#endif +; + +struct spoolss_PortInfo3 { + enum spoolss_PortStatus status; + const char * status_string;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + enum spoolss_PortSeverity severity; +}; + +struct spoolss_PortInfoFF { + const char * port_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + DATA_BLOB monitor_data; +}; + union spoolss_PortInfo { struct spoolss_PortInfo1 info1;/* [case] */ struct spoolss_PortInfo2 info2;/* [case(2)] */ + struct spoolss_PortInfo3 info3;/* [case(3)] */ + struct spoolss_PortInfoFF infoFF;/* [case(0xff)] */ }/* [relative_base,nodiscriminant,public] */; struct spoolss_MonitorInfo1 { @@ -984,6 +1284,7 @@ union spoolss_MonitorInfo { #define PRINTER_CHANGE_DELETE_PORT ( 0x00400000 ) #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR ( 0x01000000 ) #define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR ( 0x04000000 ) +#define PRINTER_CHANGE_SERVER ( 0x08000000 ) #define PRINTER_CHANGE_ADD_PRINTER_DRIVER ( 0x10000000 ) #define PRINTER_CHANGE_SET_PRINTER_DRIVER ( 0x20000000 ) #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER ( 0x40000000 ) @@ -1072,6 +1373,9 @@ struct spoolss_NotifyOptionType { enum spoolss_Field *fields;/* [unique,size_is(count)] */ }; +/* bitmap spoolssNotifyOptionFlags */ +#define PRINTER_NOTIFY_OPTIONS_REFRESH ( 0x00000001 ) + struct spoolss_NotifyOption { uint32_t version;/* [value(2)] */ uint32_t flags; @@ -1106,7 +1410,7 @@ enum spoolss_NotifyTable union spoolss_NotifyData { uint32_t integer[2];/* [case] */ struct spoolss_NotifyString string;/* [case(2)] */ - struct spoolss_DeviceMode *devmode;/* [unique,case(3)] */ + struct spoolss_DevmodeContainer devmode;/* [case(3)] */ struct spoolss_TimeCtr time;/* [case(4)] */ struct sec_desc_buf sd;/* [case(5)] */ }/* [switch_type(uint32)] */; @@ -1179,6 +1483,7 @@ struct spoolss_UserLevelCtr { #define PRINTER_ACCESS_ADMINISTER ( 0x00000004 ) #define PRINTER_ACCESS_USE ( 0x00000008 ) #define JOB_ACCESS_ADMINISTER ( 0x00000010 ) +#define JOB_ACCESS_READ ( 0x00000020 ) /* bitmap spoolss_DeleteDriverFlags */ #define DPD_DELETE_UNUSED_FILES ( 0x00000001 ) @@ -2235,7 +2540,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] */ |