#ifndef _CUPS_CUPS_PRIVATE_H_
# define _CUPS_CUPS_PRIVATE_H_
# include <cups/cups.h>
# include "string-private.h"
# include "debug-private.h"
# include "ppd-private.h"
# include "http-private.h"
# include "ipp-private.h"
# include "language-private.h"
# include "pwg-private.h"
# include "thread-private.h"
# ifdef __APPLE__
# include <sys/cdefs.h>
# include <CoreFoundation/CoreFoundation.h>
# endif
# ifdef __cplusplus
extern "C" {
# endif
typedef struct _cups_globals_s
{
const char *cups_datadir,
*cups_serverbin,
*cups_serverroot,
*cups_statedir,
*localedir;
time_t cupsd_update;
char cupsd_hostname[HTTP_MAX_HOST];
int cupsd_num_settings;
cups_option_t *cupsd_settings;
# ifdef HAVE_GSSAPI
char gss_service_name[32];
# endif
char resolved_uri[1024];
cups_file_t *stdio_files[3];
char http_date[256];
unsigned ip_addr;
char *ip_ptrs[2];
struct hostent hostent;
# ifdef HAVE_GETADDRINFO
char hostname[1024];
# endif
int need_res_init;
ipp_uchar_t ipp_date[11];
_ipp_buffer_t *ipp_buffers;
int ipp_port;
char ipp_unknown[255];
cups_lang_t *lang_default;
# ifdef __APPLE__
char language[32];
# endif
ppd_status_t ppd_status;
int ppd_line;
ppd_conform_t ppd_conform;
cups_array_t *leg_size_lut,
*ppd_size_lut,
*pwg_size_lut;
_pwg_media_t pwg_media;
char pwg_name[65];
http_t *http;
ipp_status_t last_error;
char *last_status_message;
char snmp_community[255];
int snmp_debug;
char tempfile[1024];
http_encryption_t encryption;
char user[65],
server[256],
servername[256];
cups_password_cb2_t password_cb;
void *password_data;
http_tls_credentials_t tls_credentials;
cups_client_cert_cb_t client_cert_cb;
void *client_cert_data;
cups_server_cert_cb_t server_cert_cb;
void *server_cert_data;
int any_root,
expired_certs,
expired_root;
char def_printer[256];
char ppd_filename[HTTP_MAX_URI];
} _cups_globals_t;
# ifdef __APPLE__
extern CFStringRef _cupsAppleCopyDefaultPaperID(void);
extern CFStringRef _cupsAppleCopyDefaultPrinter(void);
extern int _cupsAppleGetUseLastPrinter(void);
extern void _cupsAppleSetDefaultPaperID(CFStringRef name);
extern void _cupsAppleSetDefaultPrinter(CFStringRef name);
extern void _cupsAppleSetUseLastPrinter(int uselast);
# endif
extern http_t *_cupsConnect(void);
extern int _cupsGet1284Values(const char *device_id,
cups_option_t **values);
extern int _cupsGetDests(http_t *http, ipp_op_t op,
const char *name, cups_dest_t **dests);
extern const char *_cupsGetPassword(const char *prompt);
extern void _cupsGlobalLock(void);
extern _cups_globals_t *_cupsGlobals(void);
extern void _cupsGlobalUnlock(void);
# ifdef HAVE_GSSAPI
extern const char *_cupsGSSServiceName(void);
# endif
extern int _cupsNextDelay(int current, int *previous);
extern void _cupsSetDefaults(void);
extern void _cupsSetError(ipp_status_t status, const char *message,
int localize);
extern void _cupsSetHTTPError(http_status_t status);
# ifdef HAVE_GSSAPI
extern int _cupsSetNegotiateAuthString(http_t *http,
const char *method,
const char *resource);
# endif
extern char *_cupsUserDefault(char *name, size_t namesize);
# ifdef __cplusplus
}
# endif
#endif