/*
* "$Id: printers.h 7564 2008-05-15 00:57:43Z mike $"
*
- * Printer definitions for the Common UNIX Printing System (CUPS) scheduler.
+ * Printer definitions for the CUPS scheduler.
*
- * Copyright 2007-2008 by Apple Inc.
+ * Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
#ifdef HAVE_DNSSD
# include <dns_sd.h>
#endif /* HAVE_DNSSD */
+#include <cups/pwg-private.h>
+
/*
* Quota data...
typedef struct cupsd_job_s cupsd_job_t;
-typedef struct cupsd_printer_s
+struct cupsd_printer_s
{
char *uri, /* Printer URI */
*hostname, /* Host printer resides on */
page_limit, /* Maximum number of pages */
k_limit; /* Maximum number of kilobytes */
cups_array_t *quotas; /* Quota records */
- int deny_users, /* 1 = deny, 0 = allow */
- num_users; /* Number of allowed/denied users */
- const char **users; /* Allowed/denied users */
+ int deny_users; /* 1 = deny, 0 = allow */
+ cups_array_t *users; /* Allowed/denied users */
int num_history; /* Number of history collections */
ipp_t **history; /* History data */
int sequence_number; /* Increasing sequence number */
*alert_description; /* PSX printer-alert-description value */
time_t marker_time; /* Last time marker attributes were updated */
cups_array_t *filters, /* Filters for queue */
- *pre_filters; /* Pre-filters for queue */
+ *pre_filters, /* Pre-filters for queue */
+ *dest_types; /* Destination types for queue */
+ _pwg_t *pwg; /* PWG<->PPD mapping data */
#ifdef HAVE_DNSSD
char *reg_name, /* Name used for service registration */
DNSServiceRef ipp_ref, /* Reference for _ipp._tcp,_cups */
printer_ref; /* Reference for _printer._tcp */
#endif /* HAVE_DNSSD */
-} cupsd_printer_t;
+};
/*
extern cupsd_printer_t *cupsdAddPrinter(const char *name);
extern void cupsdAddPrinterHistory(cupsd_printer_t *p);
-extern void cupsdAddPrinterUser(cupsd_printer_t *p,
- const char *username);
extern void cupsdCreateCommonData(void);
extern void cupsdDeleteAllPrinters(void);
extern int cupsdDeletePrinter(cupsd_printer_t *p, int update);
extern cupsd_printer_t *cupsdFindPrinter(const char *name);
extern cupsd_quota_t *cupsdFindQuota(cupsd_printer_t *p,
const char *username);
-extern void cupsdFreePrinterUsers(cupsd_printer_t *p);
extern void cupsdFreeQuotas(cupsd_printer_t *p);
extern void cupsdLoadAllPrinters(void);
extern void cupsdRenamePrinter(cupsd_printer_t *p,