diff options
author | Günther Deschner <gd@samba.org> | 2011-07-05 02:12:24 +0200 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2011-07-07 18:06:01 +0200 |
commit | 74e416031b2fc5d9c6af30f692d5b73cb1942cf4 (patch) | |
tree | 67d9d86a1cf4599bac90199210a75353d3177de4 | |
parent | dd5375b4a1798c856fa9c104baa36c137d664b9d (diff) | |
download | samba-74e416031b2fc5d9c6af30f692d5b73cb1942cf4.tar.gz |
s3-printing: move driver_info_ctr_to_info8 to init_spoolss.h
Guenther
Pair-Programmed-With: David Disseldorp <ddiss@suse.de>
-rw-r--r-- | source3/include/nt_printing.h | 3 | ||||
-rw-r--r-- | source3/printing/nt_printing.c | 90 | ||||
-rw-r--r-- | source3/rpc_client/init_spoolss.c | 89 | ||||
-rw-r--r-- | source3/rpc_client/init_spoolss.h | 2 | ||||
-rw-r--r-- | source3/rpc_server/spoolss/srv_spoolss_util.c | 1 |
5 files changed, 92 insertions, 93 deletions
diff --git a/source3/include/nt_printing.h b/source3/include/nt_printing.h index 319e895bc0d..a8430aad3a0 100644 --- a/source3/include/nt_printing.h +++ b/source3/include/nt_printing.h @@ -153,9 +153,6 @@ bool is_printer_published(TALLOC_CTX *mem_ctx, WERROR check_published_printers(struct messaging_context *msg_ctx); -bool driver_info_ctr_to_info8(struct spoolss_AddDriverInfoCtr *r, - struct spoolss_DriverInfo8 *_info8); - bool printer_driver_in_use(TALLOC_CTX *mem_ctx, const struct auth_serversupplied_info *server_info, struct messaging_context *msg_ctx, diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index 7a9643058dd..33599a97896 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -1340,96 +1340,6 @@ WERROR spoolss_create_default_secdesc(TALLOC_CTX *mem_ctx, } /**************************************************************************** -****************************************************************************/ - -bool driver_info_ctr_to_info8(struct spoolss_AddDriverInfoCtr *r, - struct spoolss_DriverInfo8 *_info8) -{ - struct spoolss_DriverInfo8 info8; - - ZERO_STRUCT(info8); - - switch (r->level) { - case 3: - info8.version = r->info.info3->version; - info8.driver_name = r->info.info3->driver_name; - info8.architecture = r->info.info3->architecture; - info8.driver_path = r->info.info3->driver_path; - info8.data_file = r->info.info3->data_file; - info8.config_file = r->info.info3->config_file; - info8.help_file = r->info.info3->help_file; - info8.monitor_name = r->info.info3->monitor_name; - info8.default_datatype = r->info.info3->default_datatype; - if (r->info.info3->dependent_files && r->info.info3->dependent_files->string) { - info8.dependent_files = r->info.info3->dependent_files->string; - } - break; - case 6: - info8.version = r->info.info6->version; - info8.driver_name = r->info.info6->driver_name; - info8.architecture = r->info.info6->architecture; - info8.driver_path = r->info.info6->driver_path; - info8.data_file = r->info.info6->data_file; - info8.config_file = r->info.info6->config_file; - info8.help_file = r->info.info6->help_file; - info8.monitor_name = r->info.info6->monitor_name; - info8.default_datatype = r->info.info6->default_datatype; - if (r->info.info6->dependent_files && r->info.info6->dependent_files->string) { - info8.dependent_files = r->info.info6->dependent_files->string; - } - info8.driver_date = r->info.info6->driver_date; - info8.driver_version = r->info.info6->driver_version; - info8.manufacturer_name = r->info.info6->manufacturer_name; - info8.manufacturer_url = r->info.info6->manufacturer_url; - info8.hardware_id = r->info.info6->hardware_id; - info8.provider = r->info.info6->provider; - break; - case 8: - info8.version = r->info.info8->version; - info8.driver_name = r->info.info8->driver_name; - info8.architecture = r->info.info8->architecture; - info8.driver_path = r->info.info8->driver_path; - info8.data_file = r->info.info8->data_file; - info8.config_file = r->info.info8->config_file; - info8.help_file = r->info.info8->help_file; - info8.monitor_name = r->info.info8->monitor_name; - info8.default_datatype = r->info.info8->default_datatype; - if (r->info.info8->dependent_files && r->info.info8->dependent_files->string) { - info8.dependent_files = r->info.info8->dependent_files->string; - } - if (r->info.info8->previous_names && r->info.info8->previous_names->string) { - info8.previous_names = r->info.info8->previous_names->string; - } - info8.driver_date = r->info.info8->driver_date; - info8.driver_version = r->info.info8->driver_version; - info8.manufacturer_name = r->info.info8->manufacturer_name; - info8.manufacturer_url = r->info.info8->manufacturer_url; - info8.hardware_id = r->info.info8->hardware_id; - info8.provider = r->info.info8->provider; - info8.print_processor = r->info.info8->print_processor; - info8.vendor_setup = r->info.info8->vendor_setup; - if (r->info.info8->color_profiles && r->info.info8->color_profiles->string) { - info8.color_profiles = r->info.info8->color_profiles->string; - } - info8.inf_path = r->info.info8->inf_path; - info8.printer_driver_attributes = r->info.info8->printer_driver_attributes; - if (r->info.info8->core_driver_dependencies && r->info.info8->core_driver_dependencies->string) { - info8.core_driver_dependencies = r->info.info8->core_driver_dependencies->string; - } - info8.min_inbox_driver_ver_date = r->info.info8->min_inbox_driver_ver_date; - info8.min_inbox_driver_ver_version = r->info.info8->min_inbox_driver_ver_version; - break; - default: - return false; - } - - *_info8 = info8; - - return true; -} - - -/**************************************************************************** Determine whether or not a particular driver is currently assigned to a printer ****************************************************************************/ diff --git a/source3/rpc_client/init_spoolss.c b/source3/rpc_client/init_spoolss.c index d1dc7e6dce8..ac1d4a50352 100644 --- a/source3/rpc_client/init_spoolss.c +++ b/source3/rpc_client/init_spoolss.c @@ -119,3 +119,92 @@ void spoolss_printerinfo2_to_setprinterinfo2(const struct spoolss_PrinterInfo2 * s->cjobs = i->cjobs; s->averageppm = i->averageppm; } + +/**************************************************************************** +****************************************************************************/ + +bool driver_info_ctr_to_info8(struct spoolss_AddDriverInfoCtr *r, + struct spoolss_DriverInfo8 *_info8) +{ + struct spoolss_DriverInfo8 info8; + + ZERO_STRUCT(info8); + + switch (r->level) { + case 3: + info8.version = r->info.info3->version; + info8.driver_name = r->info.info3->driver_name; + info8.architecture = r->info.info3->architecture; + info8.driver_path = r->info.info3->driver_path; + info8.data_file = r->info.info3->data_file; + info8.config_file = r->info.info3->config_file; + info8.help_file = r->info.info3->help_file; + info8.monitor_name = r->info.info3->monitor_name; + info8.default_datatype = r->info.info3->default_datatype; + if (r->info.info3->dependent_files && r->info.info3->dependent_files->string) { + info8.dependent_files = r->info.info3->dependent_files->string; + } + break; + case 6: + info8.version = r->info.info6->version; + info8.driver_name = r->info.info6->driver_name; + info8.architecture = r->info.info6->architecture; + info8.driver_path = r->info.info6->driver_path; + info8.data_file = r->info.info6->data_file; + info8.config_file = r->info.info6->config_file; + info8.help_file = r->info.info6->help_file; + info8.monitor_name = r->info.info6->monitor_name; + info8.default_datatype = r->info.info6->default_datatype; + if (r->info.info6->dependent_files && r->info.info6->dependent_files->string) { + info8.dependent_files = r->info.info6->dependent_files->string; + } + info8.driver_date = r->info.info6->driver_date; + info8.driver_version = r->info.info6->driver_version; + info8.manufacturer_name = r->info.info6->manufacturer_name; + info8.manufacturer_url = r->info.info6->manufacturer_url; + info8.hardware_id = r->info.info6->hardware_id; + info8.provider = r->info.info6->provider; + break; + case 8: + info8.version = r->info.info8->version; + info8.driver_name = r->info.info8->driver_name; + info8.architecture = r->info.info8->architecture; + info8.driver_path = r->info.info8->driver_path; + info8.data_file = r->info.info8->data_file; + info8.config_file = r->info.info8->config_file; + info8.help_file = r->info.info8->help_file; + info8.monitor_name = r->info.info8->monitor_name; + info8.default_datatype = r->info.info8->default_datatype; + if (r->info.info8->dependent_files && r->info.info8->dependent_files->string) { + info8.dependent_files = r->info.info8->dependent_files->string; + } + if (r->info.info8->previous_names && r->info.info8->previous_names->string) { + info8.previous_names = r->info.info8->previous_names->string; + } + info8.driver_date = r->info.info8->driver_date; + info8.driver_version = r->info.info8->driver_version; + info8.manufacturer_name = r->info.info8->manufacturer_name; + info8.manufacturer_url = r->info.info8->manufacturer_url; + info8.hardware_id = r->info.info8->hardware_id; + info8.provider = r->info.info8->provider; + info8.print_processor = r->info.info8->print_processor; + info8.vendor_setup = r->info.info8->vendor_setup; + if (r->info.info8->color_profiles && r->info.info8->color_profiles->string) { + info8.color_profiles = r->info.info8->color_profiles->string; + } + info8.inf_path = r->info.info8->inf_path; + info8.printer_driver_attributes = r->info.info8->printer_driver_attributes; + if (r->info.info8->core_driver_dependencies && r->info.info8->core_driver_dependencies->string) { + info8.core_driver_dependencies = r->info.info8->core_driver_dependencies->string; + } + info8.min_inbox_driver_ver_date = r->info.info8->min_inbox_driver_ver_date; + info8.min_inbox_driver_ver_version = r->info.info8->min_inbox_driver_ver_version; + break; + default: + return false; + } + + *_info8 = info8; + + return true; +} diff --git a/source3/rpc_client/init_spoolss.h b/source3/rpc_client/init_spoolss.h index a9374453e11..f2844aa37c5 100644 --- a/source3/rpc_client/init_spoolss.h +++ b/source3/rpc_client/init_spoolss.h @@ -34,5 +34,7 @@ WERROR push_spoolss_PrinterData(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, union spoolss_PrinterData *data); void spoolss_printerinfo2_to_setprinterinfo2(const struct spoolss_PrinterInfo2 *i, struct spoolss_SetPrinterInfo2 *s); +bool driver_info_ctr_to_info8(struct spoolss_AddDriverInfoCtr *r, + struct spoolss_DriverInfo8 *_info8); #endif /* _RPC_CLIENT_INIT_SPOOLSS_H_ */ diff --git a/source3/rpc_server/spoolss/srv_spoolss_util.c b/source3/rpc_server/spoolss/srv_spoolss_util.c index b2971420652..6cd1b6b4e81 100644 --- a/source3/rpc_server/spoolss/srv_spoolss_util.c +++ b/source3/rpc_server/spoolss/srv_spoolss_util.c @@ -32,6 +32,7 @@ #include "../libcli/registry/util_reg.h" #include "../lib/tsocket/tsocket.h" #include "printing/nt_printing_os2.h" +#include "rpc_client/init_spoolss.h" #define TOP_LEVEL_PRINT_KEY "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Print" #define TOP_LEVEL_PRINT_PRINTERS_KEY TOP_LEVEL_PRINT_KEY "\\Printers" |