/* Copyright (C) 2013-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: dk3print.ctr */ /** @file dk3print.h Header file for the dk3print module. */ #ifndef DK3PRINT_H_INCLUDED /** Avoid multiple inclusions. */ #define DK3PRINT_H_INCLUDED 1 #line 9 "dk3print.ctr" #ifdef __cplusplus extern "C" { #endif /** Clean up details for Windows printer. @param ptr Details to clean up. */ void dk3print_win_det_cleanup(dk3_printer_windows_details_t *ptr); /** Clean up details for LPRng/LPD printer. @param ptr Details to clean up. */ void dk3print_lprng_det_cleanup(dk3_printer_lprng_details_t *ptr); /** Clean up details for socket printer. @param ptr Details to clean up. */ void dk3print_socket_det_cleanup(dk3_printer_socket_t *ptr); /** Clean up type-specific details for a printer. @param tp Printer type. @param ptr Pointer to details data. */ void dk3print_det_cleanup(int tp, dk3_printer_details_t *ptr); /** Create new printer entry if necessary. @param pc Print configuration to set up. @param name Printer name. @return Pointer to new or existing printer entry on success, NULL on error. */ dk3_printer_t * dk3print_printer_new(dk3_print_conf_t *pc, dkChar const *name); /** Destroy printer entry in print configuration, release memory. @param ptr Printer entry to destroy. */ void dk3print_printer_delete(dk3_printer_t *ptr); /** Destroy printer alias entry in print configuration, release memory. @param ptr Alias to destroy. */ void dk3print_alias_delete(dk3_printer_alias_t *ptr); /** Create new print host entry if necessary. @param pc Print configuration to set up. @param name Print host name. @return Pointer to new or existing printer entry on success, NULL on error. */ dk3_print_host_t * dk3print_host_new(dk3_print_conf_t *pc, dkChar const *name); /** Destroy print host entry in print configuration, release memory. @param ptr Print host entry to destroy. */ void dk3print_host_delete(dk3_print_host_t *ptr); /** Destroy print host alias entry in print configuration, release memory. @param ptr Alias to destroy. */ void dk3print_host_alias_delete(dk3_print_host_alias_t *ptr); /** Destroy print configuration, release resources. @param pc Print configuration to destroy. */ void dk3print_conf_delete(dk3_print_conf_t *pc); /** Create new print configuration, allocate resources for storages. @param app Application structur, must not be NULL. @return Pointer to new configuration on success, NULL on error. */ dk3_print_conf_t * dk3print_config_new(dk3_app_t *app); /** Create new print configuration, initialize it from configuration files. @param app Application structure, must not be NULL. @param useConfigFiles Flag: Use dk3print configuration files. @return Pointer to new configuration on success, NULL on error. */ dk3_print_conf_t * dk3print_conf_open(dk3_app_t *app, int useConfigFiles); /** Close print configuration. @param pc Print configuration to close. */ void dk3print_conf_close(dk3_print_conf_t *pc); /** Initialize details based on print queue type. @param det Details to initialize. @param tp Print queue type. */ void dk3print_set_det(dk3_printer_details_t *det, int tp); /** Find named printer (either directly or via alias). @param pc Print configuration. @param pn Printer name. @return Pointer to printer on success, NULL on error (not found). */ dk3_printer_t * dk3print_get_printer(dk3_print_conf_t *pc, dkChar const *pn); /** Find named print host (either directly or via alias). @param pc Print configuration. @param hn Host name. @return Pointer to print host on success, NULL on error (not found). */ dk3_print_host_t * dk3print_get_host(dk3_print_conf_t *pc, dkChar const *hn); #ifdef __cplusplus } #endif #endif