1 /*
2    Unix SMB/CIFS implementation.
3    printcap headers
4 
5    Copyright (C) Karl Auer 1993-1998
6 
7    Re-working by Martin Kiff, 1994
8 
9    Re-written again by Andrew Tridgell
10 
11    Modified for SVID support by Norm Jacobs, 1997
12 
13    Modified for CUPS support by Michael Sweet, 1999
14 
15    This program is free software; you can redistribute it and/or modify
16    it under the terms of the GNU General Public License as published by
17    the Free Software Foundation; either version 3 of the License, or
18    (at your option) any later version.
19 
20    This program is distributed in the hope that it will be useful,
21    but WITHOUT ANY WARRANTY; without even the implied warranty of
22    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23    GNU General Public License for more details.
24 
25    You should have received a copy of the GNU General Public License
26    along with this program.  If not, see <http://www.gnu.org/licenses/>.
27 */
28 
29 #ifndef _PRINTING_PCAP_H_
30 #define _PRINTING_PCAP_H_
31 
32 struct pcap_cache;
33 
34 /* The following definitions come from printing/pcap.c  */
35 
36 bool pcap_cache_add_specific(struct pcap_cache **ppcache, const char *name, const char *comment, const char *location);
37 void pcap_cache_destroy_specific(struct pcap_cache **ppcache);
38 bool pcap_cache_loaded(time_t *_last_change);
39 bool pcap_cache_replace(const struct pcap_cache *cache);
40 void pcap_printer_fn_specific(const struct pcap_cache *, void (*fn)(const char *, const char *, const char *, void *), void *);
41 void pcap_printer_read_fn(void (*fn)(const char *, const char *, const char *, void *), void *);
42 
43 void pcap_cache_reload(struct tevent_context *ev,
44 		       struct messaging_context *msg_ctx,
45 		       void (*post_cache_fill_fn)(struct tevent_context *,
46 						  struct messaging_context *));
47 bool pcap_printername_ok(const char *printername);
48 
49 /* The following definitions come from printing/print_aix.c  */
pcap_cache_add_specific(struct pcap_cache ** ppcache,const char * name,const char * comment,const char * location)50 
51 bool aix_cache_reload(struct pcap_cache **_pcache);
52 
53 /* The following definitions come from printing/print_cups.c  */
54 
55 bool cups_cache_reload(struct tevent_context *ev,
56 		       struct messaging_context *msg_ctx,
57 		       void (*post_cache_fill_fn)(struct tevent_context *,
58 						  struct messaging_context *));
59 
60 /* The following definitions come from printing/print_iprint.c  */
61 
62 bool iprint_cache_reload(struct pcap_cache **_pcache);
63 
64 /* The following definitions come from printing/print_svid.c  */
65 
66 bool sysv_cache_reload(struct pcap_cache **_pcache);
67 
68 /* The following definitions come from printing/print_standard.c  */
69 bool std_pcap_cache_reload(const char *pcap_name, struct pcap_cache **_pcache);
70 
pcap_cache_destroy_specific(struct pcap_cache ** pp_cache)71 #endif /* _PRINTING_PCAP_H_ */
72