1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/source3/printing/pcap.h
Volker Lendecke c2b8cf05c3 s3:printing: Move pcap_cache_loaded() to load.c
A future patch will remove the PRINTING dependency from smbd, but in
delete_and_reload_printers() we still reference it.

Maybe at some later stage we can remove reload_printers() overall, we
don't really need to load the full printer list into every smbd. All
we need is to load them on-demand for explicit listing functions, but
there we can throw them away again. And when someone connects to the
printer, we can also load them on demand.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2021-12-10 14:02:30 +00:00

70 lines
2.4 KiB
C

/*
Unix SMB/CIFS implementation.
printcap headers
Copyright (C) Karl Auer 1993-1998
Re-working by Martin Kiff, 1994
Re-written again by Andrew Tridgell
Modified for SVID support by Norm Jacobs, 1997
Modified for CUPS support by Michael Sweet, 1999
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 <http://www.gnu.org/licenses/>.
*/
#ifndef _PRINTING_PCAP_H_
#define _PRINTING_PCAP_H_
struct pcap_cache;
/* The following definitions come from printing/pcap.c */
bool pcap_cache_add_specific(struct pcap_cache **ppcache, const char *name, const char *comment, const char *location);
void pcap_cache_destroy_specific(struct pcap_cache **ppcache);
bool pcap_cache_replace(const struct pcap_cache *cache);
void pcap_printer_fn_specific(const struct pcap_cache *, void (*fn)(const char *, const char *, const char *, void *), void *);
void pcap_cache_reload(struct tevent_context *ev,
struct messaging_context *msg_ctx,
void (*post_cache_fill_fn)(struct tevent_context *,
struct messaging_context *));
bool pcap_printername_ok(const char *printername);
/* The following definitions come from printing/print_aix.c */
bool aix_cache_reload(struct pcap_cache **_pcache);
/* The following definitions come from printing/print_cups.c */
bool cups_cache_reload(struct tevent_context *ev,
struct messaging_context *msg_ctx,
void (*post_cache_fill_fn)(struct tevent_context *,
struct messaging_context *));
/* The following definitions come from printing/print_iprint.c */
bool iprint_cache_reload(struct pcap_cache **_pcache);
/* The following definitions come from printing/print_svid.c */
bool sysv_cache_reload(struct pcap_cache **_pcache);
/* The following definitions come from printing/print_standard.c */
bool std_pcap_cache_reload(const char *pcap_name, struct pcap_cache **_pcache);
#endif /* _PRINTING_PCAP_H_ */