diff options
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/nt_printing.h | 21 | ||||
-rw-r--r-- | source3/include/proto.h | 6 | ||||
-rw-r--r-- | source3/include/rpc_misc.h | 6 | ||||
-rwxr-xr-x | source3/include/rpc_spoolss.h | 41 |
4 files changed, 74 insertions, 0 deletions
diff --git a/source3/include/nt_printing.h b/source3/include/nt_printing.h index 7d4c4e9dd5..cec0f994eb 100644 --- a/source3/include/nt_printing.h +++ b/source3/include/nt_printing.h @@ -149,9 +149,30 @@ typedef struct nt_printer_driver_info_level_3 } NT_PRINTER_DRIVER_INFO_LEVEL_3; +/* SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 structure */ +typedef struct { + uint32 version; + fstring name; + fstring environment; + fstring driverpath; + fstring datafile; + fstring configfile; + fstring helpfile; + fstring monitorname; + fstring defaultdatatype; + fstring mfgname; + fstring oemurl; + fstring hardwareid; + fstring provider; + char **dependentfiles; + char **previousnames; +} NT_PRINTER_DRIVER_INFO_LEVEL_6; + + typedef struct nt_printer_driver_info_level { NT_PRINTER_DRIVER_INFO_LEVEL_3 *info_3; + NT_PRINTER_DRIVER_INFO_LEVEL_6 *info_6; } NT_PRINTER_DRIVER_INFO_LEVEL; typedef struct nt_printer_param diff --git a/source3/include/proto.h b/source3/include/proto.h index 7a64a046d7..7001c67f98 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1989,6 +1989,7 @@ BOOL smb_io_pol_hnd(char *desc, POLICY_HND *pol, prs_struct *ps, int depth); BOOL smb_io_dom_query_3(char *desc, DOM_QUERY_3 *d_q, prs_struct *ps, int depth); BOOL smb_io_dom_query_5(char *desc, DOM_QUERY_3 *d_q, prs_struct *ps, int depth); BOOL smb_io_unistr3(char *desc, UNISTR3 *name, prs_struct *ps, int depth); +BOOL prs_uint64(char *name, prs_struct *ps, int depth, UINT64_S *data64); /*The following definitions come from rpc_parse/parse_net.c */ @@ -2069,6 +2070,7 @@ BOOL net_io_r_sam_logoff(char *desc, NET_R_SAM_LOGOFF *r_l, prs_struct *ps, int /*The following definitions come from rpc_parse/parse_prs.c */ +void prs_dump(char *name, int level, prs_struct *ps); void prs_debug(prs_struct *ps, int depth, char *desc, char *fn_name); BOOL prs_init(prs_struct *ps, uint32 size, uint8 align, BOOL io); BOOL prs_read(prs_struct *ps, int fd, size_t len, int timeout); @@ -2553,6 +2555,8 @@ BOOL spoolss_io_q_addprinterex(char *desc, SPOOL_Q_ADDPRINTEREX *q_u, prs_struct BOOL spoolss_io_r_addprinterex(char *desc, SPOOL_R_ADDPRINTEREX *r_u, prs_struct *ps, int depth); BOOL spool_io_printer_driver_info_level_3(char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 **q_u, prs_struct *ps, int depth); +BOOL spool_io_printer_driver_info_level_6(char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 **q_u, + prs_struct *ps, int depth); BOOL uniarray_2_ascarray(BUFFER5 *buf5, char ***ar); BOOL smb_io_unibuffer(char *desc, UNISTR2 *buffer, prs_struct *ps, int depth); BOOL spool_io_printer_driver_info_level(char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL *il, prs_struct *ps, int depth); @@ -2560,6 +2564,8 @@ BOOL spoolss_io_q_addprinterdriver(char *desc, SPOOL_Q_ADDPRINTERDRIVER *q_u, pr BOOL spoolss_io_r_addprinterdriver(char *desc, SPOOL_R_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth); BOOL uni_2_asc_printer_driver_3(SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 *uni, NT_PRINTER_DRIVER_INFO_LEVEL_3 **asc); +BOOL uni_2_asc_printer_driver_6(SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 *uni, + NT_PRINTER_DRIVER_INFO_LEVEL_6 **asc); BOOL uni_2_asc_printer_info_2(const SPOOL_PRINTER_INFO_LEVEL_2 *uni, NT_PRINTER_INFO_LEVEL_2 **asc); BOOL spoolss_io_q_getprinterdriverdir(char *desc, SPOOL_Q_GETPRINTERDRIVERDIR *q_u, prs_struct *ps, int depth); diff --git a/source3/include/rpc_misc.h b/source3/include/rpc_misc.h index e96d6d4527..4f37a4b956 100644 --- a/source3/include/rpc_misc.h +++ b/source3/include/rpc_misc.h @@ -293,4 +293,10 @@ typedef struct lsa_policy_info } POLICY_HND; +typedef struct uint64_s +{ + uint32 low; + uint32 high; +} UINT64_S; + #endif /* _RPC_MISC_H */ diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h index 2af099b510..504bc11ff0 100755 --- a/source3/include/rpc_spoolss.h +++ b/source3/include/rpc_spoolss.h @@ -1273,11 +1273,52 @@ typedef struct spool_printer_driver_info_level_3 } SPOOL_PRINTER_DRIVER_INFO_LEVEL_3; +/* SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 structure */ +typedef struct { + uint32 dummy1; + uint32 version; + uint32 name_ptr; + uint32 environment_ptr; + uint32 driverpath_ptr; + uint32 datafile_ptr; + uint32 configfile_ptr; + uint32 helpfile_ptr; + uint32 monitorname_ptr; + uint32 defaultdatatype_ptr; + uint32 dependentfiles_len; + uint32 dependentfiles_ptr; + uint32 previousnames_len; + uint32 previousnames_ptr; + NTTIME driverdate; + UINT64_S driverversion; + uint32 dummy4; + uint32 mfgname_ptr; + uint32 oemurl_ptr; + uint32 hardwareid_ptr; + uint32 provider_ptr; + UNISTR2 name; + UNISTR2 environment; + UNISTR2 driverpath; + UNISTR2 datafile; + UNISTR2 configfile; + UNISTR2 helpfile; + UNISTR2 monitorname; + UNISTR2 defaultdatatype; + BUFFER5 dependentfiles; + BUFFER5 previousnames; + UNISTR2 mfgname; + UNISTR2 oemurl; + UNISTR2 hardwareid; + UNISTR2 provider; +} SPOOL_PRINTER_DRIVER_INFO_LEVEL_6; + + typedef struct spool_printer_driver_info_level { uint32 level; uint32 ptr; SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 *info_3; + SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 *info_6; } SPOOL_PRINTER_DRIVER_INFO_LEVEL; |