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