xref: /aosp_15_r20/external/libcups/cups/cups-private.h (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker /*
2*5e7646d2SAndroid Build Coastguard Worker  * Private definitions for CUPS.
3*5e7646d2SAndroid Build Coastguard Worker  *
4*5e7646d2SAndroid Build Coastguard Worker  * Copyright © 2007-2019 by Apple Inc.
5*5e7646d2SAndroid Build Coastguard Worker  * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
6*5e7646d2SAndroid Build Coastguard Worker  *
7*5e7646d2SAndroid Build Coastguard Worker  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
8*5e7646d2SAndroid Build Coastguard Worker  * information.
9*5e7646d2SAndroid Build Coastguard Worker  */
10*5e7646d2SAndroid Build Coastguard Worker 
11*5e7646d2SAndroid Build Coastguard Worker #ifndef _CUPS_CUPS_PRIVATE_H_
12*5e7646d2SAndroid Build Coastguard Worker #  define _CUPS_CUPS_PRIVATE_H_
13*5e7646d2SAndroid Build Coastguard Worker 
14*5e7646d2SAndroid Build Coastguard Worker /*
15*5e7646d2SAndroid Build Coastguard Worker  * Include necessary headers...
16*5e7646d2SAndroid Build Coastguard Worker  */
17*5e7646d2SAndroid Build Coastguard Worker 
18*5e7646d2SAndroid Build Coastguard Worker #  include "string-private.h"
19*5e7646d2SAndroid Build Coastguard Worker #  include "array-private.h"
20*5e7646d2SAndroid Build Coastguard Worker #  include "ipp-private.h"
21*5e7646d2SAndroid Build Coastguard Worker #  include "http-private.h"
22*5e7646d2SAndroid Build Coastguard Worker #  include "language-private.h"
23*5e7646d2SAndroid Build Coastguard Worker #  include "pwg-private.h"
24*5e7646d2SAndroid Build Coastguard Worker #  include "thread-private.h"
25*5e7646d2SAndroid Build Coastguard Worker #  include <cups/cups.h>
26*5e7646d2SAndroid Build Coastguard Worker #  ifdef __APPLE__
27*5e7646d2SAndroid Build Coastguard Worker #    include <sys/cdefs.h>
28*5e7646d2SAndroid Build Coastguard Worker #    include <CoreFoundation/CoreFoundation.h>
29*5e7646d2SAndroid Build Coastguard Worker #  endif /* __APPLE__ */
30*5e7646d2SAndroid Build Coastguard Worker 
31*5e7646d2SAndroid Build Coastguard Worker 
32*5e7646d2SAndroid Build Coastguard Worker /*
33*5e7646d2SAndroid Build Coastguard Worker  * C++ magic...
34*5e7646d2SAndroid Build Coastguard Worker  */
35*5e7646d2SAndroid Build Coastguard Worker 
36*5e7646d2SAndroid Build Coastguard Worker #  ifdef __cplusplus
37*5e7646d2SAndroid Build Coastguard Worker extern "C" {
38*5e7646d2SAndroid Build Coastguard Worker #  endif /* __cplusplus */
39*5e7646d2SAndroid Build Coastguard Worker 
40*5e7646d2SAndroid Build Coastguard Worker 
41*5e7646d2SAndroid Build Coastguard Worker /*
42*5e7646d2SAndroid Build Coastguard Worker  * Types...
43*5e7646d2SAndroid Build Coastguard Worker  */
44*5e7646d2SAndroid Build Coastguard Worker 
45*5e7646d2SAndroid Build Coastguard Worker typedef struct _cups_buffer_s		/**** Read/write buffer ****/
46*5e7646d2SAndroid Build Coastguard Worker {
47*5e7646d2SAndroid Build Coastguard Worker   struct _cups_buffer_s	*next;		/* Next buffer in list */
48*5e7646d2SAndroid Build Coastguard Worker   size_t		size;		/* Size of buffer */
49*5e7646d2SAndroid Build Coastguard Worker   char			used,		/* Is this buffer used? */
50*5e7646d2SAndroid Build Coastguard Worker 			d[1];		/* Data buffer */
51*5e7646d2SAndroid Build Coastguard Worker } _cups_buffer_t;
52*5e7646d2SAndroid Build Coastguard Worker 
53*5e7646d2SAndroid Build Coastguard Worker typedef struct _cups_raster_error_s	/**** Error buffer structure ****/
54*5e7646d2SAndroid Build Coastguard Worker {
55*5e7646d2SAndroid Build Coastguard Worker   char	*start,				/* Start of buffer */
56*5e7646d2SAndroid Build Coastguard Worker 	*current,			/* Current position in buffer */
57*5e7646d2SAndroid Build Coastguard Worker 	*end;				/* End of buffer */
58*5e7646d2SAndroid Build Coastguard Worker } _cups_raster_error_t;
59*5e7646d2SAndroid Build Coastguard Worker 
60*5e7646d2SAndroid Build Coastguard Worker typedef enum _cups_digestoptions_e	/**** Digest Options values */
61*5e7646d2SAndroid Build Coastguard Worker {
62*5e7646d2SAndroid Build Coastguard Worker   _CUPS_DIGESTOPTIONS_NONE,		/* No Digest authentication options */
63*5e7646d2SAndroid Build Coastguard Worker   _CUPS_DIGESTOPTIONS_DENYMD5		/* Do not use MD5 hashes for digest */
64*5e7646d2SAndroid Build Coastguard Worker } _cups_digestoptions_t;
65*5e7646d2SAndroid Build Coastguard Worker 
66*5e7646d2SAndroid Build Coastguard Worker typedef enum _cups_uatokens_e		/**** UserAgentTokens values */
67*5e7646d2SAndroid Build Coastguard Worker {
68*5e7646d2SAndroid Build Coastguard Worker   _CUPS_UATOKENS_NONE,			/* Do not send User-Agent */
69*5e7646d2SAndroid Build Coastguard Worker   _CUPS_UATOKENS_PRODUCT_ONLY,		/* CUPS IPP */
70*5e7646d2SAndroid Build Coastguard Worker   _CUPS_UATOKENS_MAJOR,			/* CUPS/major IPP/2 */
71*5e7646d2SAndroid Build Coastguard Worker   _CUPS_UATOKENS_MINOR,			/* CUPS/major.minor IPP/2.1 */
72*5e7646d2SAndroid Build Coastguard Worker   _CUPS_UATOKENS_MINIMAL,		/* CUPS/major.minor.patch IPP/2.1 */
73*5e7646d2SAndroid Build Coastguard Worker   _CUPS_UATOKENS_OS,			/* CUPS/major.minor.patch (osname osversion) IPP/2.1 */
74*5e7646d2SAndroid Build Coastguard Worker   _CUPS_UATOKENS_FULL			/* CUPS/major.minor.patch (osname osversion; architecture) IPP/2.1 */
75*5e7646d2SAndroid Build Coastguard Worker } _cups_uatokens_t;
76*5e7646d2SAndroid Build Coastguard Worker 
77*5e7646d2SAndroid Build Coastguard Worker typedef struct _cups_globals_s		/**** CUPS global state data ****/
78*5e7646d2SAndroid Build Coastguard Worker {
79*5e7646d2SAndroid Build Coastguard Worker   /* Multiple places... */
80*5e7646d2SAndroid Build Coastguard Worker   const char		*cups_datadir,	/* CUPS_DATADIR environment var */
81*5e7646d2SAndroid Build Coastguard Worker 			*cups_serverbin,/* CUPS_SERVERBIN environment var */
82*5e7646d2SAndroid Build Coastguard Worker 			*cups_serverroot,
83*5e7646d2SAndroid Build Coastguard Worker 					/* CUPS_SERVERROOT environment var */
84*5e7646d2SAndroid Build Coastguard Worker 			*cups_statedir,	/* CUPS_STATEDIR environment var */
85*5e7646d2SAndroid Build Coastguard Worker 			*home,		/* HOME environment var */
86*5e7646d2SAndroid Build Coastguard Worker 			*localedir;	/* LOCALDIR environment var */
87*5e7646d2SAndroid Build Coastguard Worker 
88*5e7646d2SAndroid Build Coastguard Worker   /* adminutil.c */
89*5e7646d2SAndroid Build Coastguard Worker   time_t		cupsd_update;	/* Last time we got or set cupsd.conf */
90*5e7646d2SAndroid Build Coastguard Worker   char			cupsd_hostname[HTTP_MAX_HOST];
91*5e7646d2SAndroid Build Coastguard Worker 					/* Hostname for connection */
92*5e7646d2SAndroid Build Coastguard Worker   int			cupsd_num_settings;
93*5e7646d2SAndroid Build Coastguard Worker 					/* Number of server settings */
94*5e7646d2SAndroid Build Coastguard Worker   cups_option_t		*cupsd_settings;/* Server settings */
95*5e7646d2SAndroid Build Coastguard Worker 
96*5e7646d2SAndroid Build Coastguard Worker   /* auth.c */
97*5e7646d2SAndroid Build Coastguard Worker #  ifdef HAVE_GSSAPI
98*5e7646d2SAndroid Build Coastguard Worker   char			gss_service_name[32];
99*5e7646d2SAndroid Build Coastguard Worker   					/* Kerberos service name */
100*5e7646d2SAndroid Build Coastguard Worker #  endif /* HAVE_GSSAPI */
101*5e7646d2SAndroid Build Coastguard Worker 
102*5e7646d2SAndroid Build Coastguard Worker   /* backend.c */
103*5e7646d2SAndroid Build Coastguard Worker   char			resolved_uri[1024];
104*5e7646d2SAndroid Build Coastguard Worker 					/* Buffer for cupsBackendDeviceURI */
105*5e7646d2SAndroid Build Coastguard Worker 
106*5e7646d2SAndroid Build Coastguard Worker   /* debug.c */
107*5e7646d2SAndroid Build Coastguard Worker #  ifdef DEBUG
108*5e7646d2SAndroid Build Coastguard Worker   int			thread_id;	/* Friendly thread ID */
109*5e7646d2SAndroid Build Coastguard Worker #  endif /* DEBUG */
110*5e7646d2SAndroid Build Coastguard Worker 
111*5e7646d2SAndroid Build Coastguard Worker   /* file.c */
112*5e7646d2SAndroid Build Coastguard Worker   cups_file_t		*stdio_files[3];/* stdin, stdout, stderr */
113*5e7646d2SAndroid Build Coastguard Worker 
114*5e7646d2SAndroid Build Coastguard Worker   /* http.c */
115*5e7646d2SAndroid Build Coastguard Worker   char			http_date[256];	/* Date+time buffer */
116*5e7646d2SAndroid Build Coastguard Worker 
117*5e7646d2SAndroid Build Coastguard Worker   /* http-addr.c */
118*5e7646d2SAndroid Build Coastguard Worker   unsigned		ip_addr;	/* Packed IPv4 address */
119*5e7646d2SAndroid Build Coastguard Worker   char			*ip_ptrs[2];	/* Pointer to packed address */
120*5e7646d2SAndroid Build Coastguard Worker   struct hostent	hostent;	/* Host entry for IP address */
121*5e7646d2SAndroid Build Coastguard Worker #  ifdef HAVE_GETADDRINFO
122*5e7646d2SAndroid Build Coastguard Worker   char			hostname[1024];	/* Hostname */
123*5e7646d2SAndroid Build Coastguard Worker #  endif /* HAVE_GETADDRINFO */
124*5e7646d2SAndroid Build Coastguard Worker   int			need_res_init;	/* Need to reinitialize resolver? */
125*5e7646d2SAndroid Build Coastguard Worker 
126*5e7646d2SAndroid Build Coastguard Worker   /* ipp.c */
127*5e7646d2SAndroid Build Coastguard Worker   ipp_uchar_t		ipp_date[11];	/* RFC-2579 date/time data */
128*5e7646d2SAndroid Build Coastguard Worker   _cups_buffer_t	*cups_buffers;	/* Buffer list */
129*5e7646d2SAndroid Build Coastguard Worker 
130*5e7646d2SAndroid Build Coastguard Worker   /* ipp-support.c */
131*5e7646d2SAndroid Build Coastguard Worker   int			ipp_port;	/* IPP port number */
132*5e7646d2SAndroid Build Coastguard Worker   char			ipp_unknown[255];
133*5e7646d2SAndroid Build Coastguard Worker 					/* Unknown error statuses */
134*5e7646d2SAndroid Build Coastguard Worker 
135*5e7646d2SAndroid Build Coastguard Worker   /* language.c */
136*5e7646d2SAndroid Build Coastguard Worker   cups_lang_t		*lang_default;	/* Default language */
137*5e7646d2SAndroid Build Coastguard Worker #  ifdef __APPLE__
138*5e7646d2SAndroid Build Coastguard Worker   char			language[32];	/* Cached language */
139*5e7646d2SAndroid Build Coastguard Worker #  endif /* __APPLE__ */
140*5e7646d2SAndroid Build Coastguard Worker 
141*5e7646d2SAndroid Build Coastguard Worker   /* pwg-media.c */
142*5e7646d2SAndroid Build Coastguard Worker   cups_array_t		*leg_size_lut,	/* Lookup table for legacy names */
143*5e7646d2SAndroid Build Coastguard Worker 			*ppd_size_lut,	/* Lookup table for PPD names */
144*5e7646d2SAndroid Build Coastguard Worker 			*pwg_size_lut;	/* Lookup table for PWG names */
145*5e7646d2SAndroid Build Coastguard Worker   pwg_media_t		pwg_media;	/* PWG media data for custom size */
146*5e7646d2SAndroid Build Coastguard Worker   char			pwg_name[65],	/* PWG media name for custom size */
147*5e7646d2SAndroid Build Coastguard Worker 			ppd_name[41];	/* PPD media name for custom size */
148*5e7646d2SAndroid Build Coastguard Worker 
149*5e7646d2SAndroid Build Coastguard Worker   /* raster-error.c */
150*5e7646d2SAndroid Build Coastguard Worker   _cups_raster_error_t	raster_error;	/* Raster error information */
151*5e7646d2SAndroid Build Coastguard Worker 
152*5e7646d2SAndroid Build Coastguard Worker   /* request.c */
153*5e7646d2SAndroid Build Coastguard Worker   http_t		*http;		/* Current server connection */
154*5e7646d2SAndroid Build Coastguard Worker   ipp_status_t		last_error;	/* Last IPP error */
155*5e7646d2SAndroid Build Coastguard Worker   char			*last_status_message;
156*5e7646d2SAndroid Build Coastguard Worker 					/* Last IPP status-message */
157*5e7646d2SAndroid Build Coastguard Worker 
158*5e7646d2SAndroid Build Coastguard Worker   /* snmp.c */
159*5e7646d2SAndroid Build Coastguard Worker   char			snmp_community[255];
160*5e7646d2SAndroid Build Coastguard Worker 					/* Default SNMP community name */
161*5e7646d2SAndroid Build Coastguard Worker   int			snmp_debug;	/* Log SNMP IO to stderr? */
162*5e7646d2SAndroid Build Coastguard Worker 
163*5e7646d2SAndroid Build Coastguard Worker   /* tempfile.c */
164*5e7646d2SAndroid Build Coastguard Worker   char			tempfile[1024];	/* cupsTempFd/File buffer */
165*5e7646d2SAndroid Build Coastguard Worker 
166*5e7646d2SAndroid Build Coastguard Worker   /* usersys.c */
167*5e7646d2SAndroid Build Coastguard Worker   _cups_digestoptions_t	digestoptions;	/* DigestOptions setting */
168*5e7646d2SAndroid Build Coastguard Worker   _cups_uatokens_t	uatokens;	/* UserAgentTokens setting */
169*5e7646d2SAndroid Build Coastguard Worker   http_encryption_t	encryption;	/* Encryption setting */
170*5e7646d2SAndroid Build Coastguard Worker   char			user[65],	/* User name */
171*5e7646d2SAndroid Build Coastguard Worker 			user_agent[256],/* User-Agent string */
172*5e7646d2SAndroid Build Coastguard Worker 			server[256],	/* Server address */
173*5e7646d2SAndroid Build Coastguard Worker 			servername[256],/* Server hostname */
174*5e7646d2SAndroid Build Coastguard Worker 			password[128];	/* Password for default callback */
175*5e7646d2SAndroid Build Coastguard Worker   cups_password_cb2_t	password_cb;	/* Password callback */
176*5e7646d2SAndroid Build Coastguard Worker   void			*password_data;	/* Password user data */
177*5e7646d2SAndroid Build Coastguard Worker   http_tls_credentials_t tls_credentials;
178*5e7646d2SAndroid Build Coastguard Worker 					/* Default client credentials */
179*5e7646d2SAndroid Build Coastguard Worker   cups_client_cert_cb_t	client_cert_cb;	/* Client certificate callback */
180*5e7646d2SAndroid Build Coastguard Worker   void			*client_cert_data;
181*5e7646d2SAndroid Build Coastguard Worker 					/* Client certificate user data */
182*5e7646d2SAndroid Build Coastguard Worker   cups_server_cert_cb_t	server_cert_cb;	/* Server certificate callback */
183*5e7646d2SAndroid Build Coastguard Worker   void			*server_cert_data;
184*5e7646d2SAndroid Build Coastguard Worker 					/* Server certificate user data */
185*5e7646d2SAndroid Build Coastguard Worker   int			server_version,	/* Server IPP version */
186*5e7646d2SAndroid Build Coastguard Worker 			trust_first,	/* Trust on first use? */
187*5e7646d2SAndroid Build Coastguard Worker 			any_root,	/* Allow any (e.g., self-signed) root */
188*5e7646d2SAndroid Build Coastguard Worker 			expired_certs,	/* Allow expired certs */
189*5e7646d2SAndroid Build Coastguard Worker 			validate_certs;	/* Validate certificates */
190*5e7646d2SAndroid Build Coastguard Worker 
191*5e7646d2SAndroid Build Coastguard Worker   /* util.c */
192*5e7646d2SAndroid Build Coastguard Worker   char			def_printer[256];
193*5e7646d2SAndroid Build Coastguard Worker 					/* Default printer */
194*5e7646d2SAndroid Build Coastguard Worker } _cups_globals_t;
195*5e7646d2SAndroid Build Coastguard Worker 
196*5e7646d2SAndroid Build Coastguard Worker typedef struct _cups_media_db_s		/* Media database */
197*5e7646d2SAndroid Build Coastguard Worker {
198*5e7646d2SAndroid Build Coastguard Worker   char		*color,			/* Media color, if any */
199*5e7646d2SAndroid Build Coastguard Worker 		*key,			/* Media key, if any */
200*5e7646d2SAndroid Build Coastguard Worker 		*info,			/* Media human-readable name, if any */
201*5e7646d2SAndroid Build Coastguard Worker 		*size_name,		/* Media PWG size name, if provided */
202*5e7646d2SAndroid Build Coastguard Worker 		*source,		/* Media source, if any */
203*5e7646d2SAndroid Build Coastguard Worker 		*type;			/* Media type, if any */
204*5e7646d2SAndroid Build Coastguard Worker   int		width,			/* Width in hundredths of millimeters */
205*5e7646d2SAndroid Build Coastguard Worker 		length,			/* Length in hundredths of
206*5e7646d2SAndroid Build Coastguard Worker 					 * millimeters */
207*5e7646d2SAndroid Build Coastguard Worker 		bottom,			/* Bottom margin in hundredths of
208*5e7646d2SAndroid Build Coastguard Worker 					 * millimeters */
209*5e7646d2SAndroid Build Coastguard Worker 		left,			/* Left margin in hundredths of
210*5e7646d2SAndroid Build Coastguard Worker 					 * millimeters */
211*5e7646d2SAndroid Build Coastguard Worker 		right,			/* Right margin in hundredths of
212*5e7646d2SAndroid Build Coastguard Worker 					 * millimeters */
213*5e7646d2SAndroid Build Coastguard Worker 		top;			/* Top margin in hundredths of
214*5e7646d2SAndroid Build Coastguard Worker 					 * millimeters */
215*5e7646d2SAndroid Build Coastguard Worker } _cups_media_db_t;
216*5e7646d2SAndroid Build Coastguard Worker 
217*5e7646d2SAndroid Build Coastguard Worker typedef struct _cups_dconstres_s	/* Constraint/resolver */
218*5e7646d2SAndroid Build Coastguard Worker {
219*5e7646d2SAndroid Build Coastguard Worker   char	*name;				/* Name of resolver */
220*5e7646d2SAndroid Build Coastguard Worker   ipp_t	*collection;			/* Collection containing attrs */
221*5e7646d2SAndroid Build Coastguard Worker } _cups_dconstres_t;
222*5e7646d2SAndroid Build Coastguard Worker 
223*5e7646d2SAndroid Build Coastguard Worker struct _cups_dinfo_s			/* Destination capability and status
224*5e7646d2SAndroid Build Coastguard Worker 					 * information */
225*5e7646d2SAndroid Build Coastguard Worker {
226*5e7646d2SAndroid Build Coastguard Worker   int			version;	/* IPP version */
227*5e7646d2SAndroid Build Coastguard Worker   const char		*uri;		/* Printer URI */
228*5e7646d2SAndroid Build Coastguard Worker   char			*resource;	/* Resource path */
229*5e7646d2SAndroid Build Coastguard Worker   ipp_t			*attrs;		/* Printer attributes */
230*5e7646d2SAndroid Build Coastguard Worker   int			num_defaults;	/* Number of default options */
231*5e7646d2SAndroid Build Coastguard Worker   cups_option_t		*defaults;	/* Default options */
232*5e7646d2SAndroid Build Coastguard Worker   cups_array_t		*constraints;	/* Job constraints */
233*5e7646d2SAndroid Build Coastguard Worker   cups_array_t		*resolvers;	/* Job resolvers */
234*5e7646d2SAndroid Build Coastguard Worker   cups_array_t		*localizations;	/* Localization information */
235*5e7646d2SAndroid Build Coastguard Worker   cups_array_t		*media_db;	/* Media database */
236*5e7646d2SAndroid Build Coastguard Worker   _cups_media_db_t	min_size,	/* Minimum size */
237*5e7646d2SAndroid Build Coastguard Worker 			max_size;	/* Maximum size */
238*5e7646d2SAndroid Build Coastguard Worker   unsigned		cached_flags;	/* Flags used for cached media */
239*5e7646d2SAndroid Build Coastguard Worker   cups_array_t		*cached_db;	/* Cache of media from last index/default */
240*5e7646d2SAndroid Build Coastguard Worker   time_t		ready_time;	/* When xxx-ready attributes were last queried */
241*5e7646d2SAndroid Build Coastguard Worker   ipp_t			*ready_attrs;	/* xxx-ready attributes */
242*5e7646d2SAndroid Build Coastguard Worker   cups_array_t		*ready_db;	/* media[-col]-ready media database */
243*5e7646d2SAndroid Build Coastguard Worker };
244*5e7646d2SAndroid Build Coastguard Worker 
245*5e7646d2SAndroid Build Coastguard Worker 
246*5e7646d2SAndroid Build Coastguard Worker /*
247*5e7646d2SAndroid Build Coastguard Worker  * Prototypes...
248*5e7646d2SAndroid Build Coastguard Worker  */
249*5e7646d2SAndroid Build Coastguard Worker 
250*5e7646d2SAndroid Build Coastguard Worker #  ifdef __APPLE__
251*5e7646d2SAndroid Build Coastguard Worker extern CFStringRef	_cupsAppleCopyDefaultPaperID(void) _CUPS_PRIVATE;
252*5e7646d2SAndroid Build Coastguard Worker extern CFStringRef	_cupsAppleCopyDefaultPrinter(void) _CUPS_PRIVATE;
253*5e7646d2SAndroid Build Coastguard Worker extern int		_cupsAppleGetUseLastPrinter(void) _CUPS_PRIVATE;
254*5e7646d2SAndroid Build Coastguard Worker extern void		_cupsAppleSetDefaultPaperID(CFStringRef name) _CUPS_PRIVATE;
255*5e7646d2SAndroid Build Coastguard Worker extern void		_cupsAppleSetDefaultPrinter(CFStringRef name) _CUPS_PRIVATE;
256*5e7646d2SAndroid Build Coastguard Worker extern void		_cupsAppleSetUseLastPrinter(int uselast) _CUPS_PRIVATE;
257*5e7646d2SAndroid Build Coastguard Worker #  endif /* __APPLE__ */
258*5e7646d2SAndroid Build Coastguard Worker 
259*5e7646d2SAndroid Build Coastguard Worker extern char		*_cupsBufferGet(size_t size) _CUPS_PRIVATE;
260*5e7646d2SAndroid Build Coastguard Worker extern void		_cupsBufferRelease(char *b) _CUPS_PRIVATE;
261*5e7646d2SAndroid Build Coastguard Worker 
262*5e7646d2SAndroid Build Coastguard Worker extern http_t		*_cupsConnect(void) _CUPS_PRIVATE;
263*5e7646d2SAndroid Build Coastguard Worker extern char		*_cupsCreateDest(const char *name, const char *info, const char *device_id, const char *device_uri, char *uri, size_t urisize) _CUPS_PRIVATE;
264*5e7646d2SAndroid Build Coastguard Worker extern ipp_attribute_t	*_cupsEncodeOption(ipp_t *ipp, ipp_tag_t group_tag, _ipp_option_t *map, const char *name, const char *value) _CUPS_PRIVATE;
265*5e7646d2SAndroid Build Coastguard Worker extern int		_cupsGet1284Values(const char *device_id, cups_option_t **values) _CUPS_PRIVATE;
266*5e7646d2SAndroid Build Coastguard Worker extern const char	*_cupsGetDestResource(cups_dest_t *dest, unsigned flags, char *resource, size_t resourcesize) _CUPS_PRIVATE;
267*5e7646d2SAndroid Build Coastguard Worker extern int		_cupsGetDests(http_t *http, ipp_op_t op, const char *name, cups_dest_t **dests, cups_ptype_t type, cups_ptype_t mask) _CUPS_PRIVATE;
268*5e7646d2SAndroid Build Coastguard Worker extern const char	*_cupsGetPassword(const char *prompt) _CUPS_PRIVATE;
269*5e7646d2SAndroid Build Coastguard Worker extern void		_cupsGlobalLock(void) _CUPS_PRIVATE;
270*5e7646d2SAndroid Build Coastguard Worker extern _cups_globals_t	*_cupsGlobals(void) _CUPS_PRIVATE;
271*5e7646d2SAndroid Build Coastguard Worker extern void		_cupsGlobalUnlock(void) _CUPS_PRIVATE;
272*5e7646d2SAndroid Build Coastguard Worker #  ifdef HAVE_GSSAPI
273*5e7646d2SAndroid Build Coastguard Worker extern const char	*_cupsGSSServiceName(void) _CUPS_PRIVATE;
274*5e7646d2SAndroid Build Coastguard Worker #  endif /* HAVE_GSSAPI */
275*5e7646d2SAndroid Build Coastguard Worker extern int		_cupsNextDelay(int current, int *previous) _CUPS_PRIVATE;
276*5e7646d2SAndroid Build Coastguard Worker extern void		_cupsSetDefaults(void) _CUPS_INTERNAL;
277*5e7646d2SAndroid Build Coastguard Worker extern void		_cupsSetError(ipp_status_t status, const char *message, int localize) _CUPS_PRIVATE;
278*5e7646d2SAndroid Build Coastguard Worker extern void		_cupsSetHTTPError(http_status_t status) _CUPS_INTERNAL;
279*5e7646d2SAndroid Build Coastguard Worker #  ifdef HAVE_GSSAPI
280*5e7646d2SAndroid Build Coastguard Worker extern int		_cupsSetNegotiateAuthString(http_t *http, const char *method, const char *resource) _CUPS_PRIVATE;
281*5e7646d2SAndroid Build Coastguard Worker #  endif /* HAVE_GSSAPI */
282*5e7646d2SAndroid Build Coastguard Worker extern char		*_cupsUserDefault(char *name, size_t namesize) _CUPS_INTERNAL;
283*5e7646d2SAndroid Build Coastguard Worker 
284*5e7646d2SAndroid Build Coastguard Worker 
285*5e7646d2SAndroid Build Coastguard Worker /*
286*5e7646d2SAndroid Build Coastguard Worker  * C++ magic...
287*5e7646d2SAndroid Build Coastguard Worker  */
288*5e7646d2SAndroid Build Coastguard Worker 
289*5e7646d2SAndroid Build Coastguard Worker #  ifdef __cplusplus
290*5e7646d2SAndroid Build Coastguard Worker }
291*5e7646d2SAndroid Build Coastguard Worker #  endif /* __cplusplus */
292*5e7646d2SAndroid Build Coastguard Worker #endif /* !_CUPS_CUPS_PRIVATE_H_ */
293