/* * Unix SMB/CIFS implementation. * * SPOOLSS RPC Pipe server / winreg client routines * * Copyright (c) 2010 Andreas Schneider * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . */ #ifndef _SRV_SPOOLSS_UITL_H #define _SRV_SPOOLSS_UITL_H struct auth_session_info; struct dcerpc_binding_handle; WERROR winreg_printer_binding_handle(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, struct dcerpc_binding_handle **winreg_binding_handle); WERROR winreg_delete_printer_key_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *printer, const char *key); WERROR winreg_printer_update_changeid_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *printer); WERROR winreg_printer_get_changeid_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *printer, uint32_t *pchangeid); WERROR winreg_get_printer_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *printer, struct spoolss_PrinterInfo2 **pinfo2); WERROR winreg_create_printer_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *sharename); WERROR winreg_update_printer_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *sharename, uint32_t info2_mask, struct spoolss_SetPrinterInfo2 *info2, struct spoolss_DeviceMode *devmode, struct security_descriptor *secdesc); WERROR winreg_set_printer_dataex_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *printer, const char *key, const char *value, enum winreg_Type type, uint8_t *data, uint32_t data_size); WERROR winreg_enum_printer_dataex_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *printer, const char *key, uint32_t *pnum_values, struct spoolss_PrinterEnumValues **penum_values); WERROR winreg_get_printer_dataex_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *printer, const char *key, const char *value, enum winreg_Type *type, uint8_t **data, uint32_t *data_size); WERROR winreg_delete_printer_dataex_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *printer, const char *key, const char *value); WERROR winreg_get_driver_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *architecture, const char *driver_name, uint32_t driver_version, struct spoolss_DriverInfo8 **_info8); WERROR winreg_get_driver_list_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *architecture, uint32_t version, uint32_t *num_drivers, const char ***drivers_p); WERROR winreg_del_driver_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, struct spoolss_DriverInfo8 *info8, uint32_t version); WERROR winreg_add_driver_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, struct spoolss_AddDriverInfoCtr *r, const char **driver_name, uint32_t *driver_version); WERROR winreg_get_printer_secdesc_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *sharename, struct spoolss_security_descriptor **psecdesc); WERROR winreg_set_printer_secdesc_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *sharename, const struct spoolss_security_descriptor *secdesc); WERROR winreg_printer_enumforms1_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, uint32_t *pnum_info, union spoolss_FormInfo **pinfo); WERROR winreg_printer_getform1_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *form_name, struct spoolss_FormInfo1 *r); WERROR winreg_printer_addform1_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, struct spoolss_AddFormInfo1 *form); WERROR winreg_printer_setform1_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *form_name, struct spoolss_AddFormInfo1 *form); WERROR winreg_printer_deleteform1_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *form_name); WERROR winreg_enum_printer_key_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *printer, const char *key, uint32_t *pnum_subkeys, const char ***psubkeys); WERROR winreg_get_core_driver_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *architecture, const struct GUID *core_driver_guid, struct spoolss_CorePrinterDriver **core_printer_driver); WERROR winreg_add_core_driver_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *architecture, const struct spoolss_CorePrinterDriver *core_printer_driver); WERROR winreg_add_driver_package_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *package_id, const char *architecture, const char *driver_store_path, const char *cab_path); WERROR winreg_get_driver_package_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *package_id, const char *architecture, const char **driver_store_path, const char **cab_path); WERROR winreg_del_driver_package_internal(TALLOC_CTX *mem_ctx, const struct auth_session_info *session_info, struct messaging_context *msg_ctx, const char *package_id, const char *architecture); #endif /* _SRV_SPOOLSS_UITL_H */