]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/cups.h
Merge changes from CUPS 1.4svn-r8628.
[thirdparty/cups.git] / cups / cups.h
index 187071682fab3c7e2d4a56044d5b2d12b489470b..6502d95a5f936b815e7c84e1c9b856ef9a1f2159 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cups.h 6870 2007-08-27 21:13:35Z mike $"
+ * "$Id: cups.h 7847 2008-08-19 04:22:14Z mike $"
  *
  *   API definitions for the Common UNIX Printing System (CUPS).
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2009 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -59,28 +59,38 @@ extern "C" {
  * Constants...
  */
 
-#  define CUPS_VERSION         1.0399
+#  define CUPS_VERSION         1.0400
 #  define CUPS_VERSION_MAJOR   1
 #  define CUPS_VERSION_MINOR   4
 #  define CUPS_VERSION_PATCH   -1
 
+#  define CUPS_BC_FD           3       /* Back-channel file descriptor for select/poll */
 #  define CUPS_DATE_ANY                (time_t)-1
+#  define CUPS_EXCLUDE_NONE    (const char *)0
 #  define CUPS_FORMAT_AUTO     "application/octet-stream"
+#  define CUPS_FORMAT_COMMAND  "application/vnd.cups-command"
 #  define CUPS_FORMAT_PDF      "application/pdf"
 #  define CUPS_FORMAT_POSTSCRIPT "application/postscript"
 #  define CUPS_FORMAT_RAW      "application/vnd.cups-raw"
 #  define CUPS_FORMAT_TEXT     "text/plain"
 #  define CUPS_HTTP_DEFAULT    (http_t *)0
+#  define CUPS_INCLUDE_ALL     (const char *)0
+#  define CUPS_JOBID_ALL       -1
+#  define CUPS_JOBID_CURRENT   0
 #  define CUPS_LENGTH_VARIABLE (ssize_t)0
+#  define CUPS_TIMEOUT_DEFAULT 0
+#  define CUPS_WHICHJOBS_ALL   -1
+#  define CUPS_WHICHJOBS_ACTIVE        0
+#  define CUPS_WHICHJOBS_COMPLETED 1
 
 
 /*
  * Types and structures...
  */
 
-typedef unsigned cups_ptype_t;         /**** Printer Type/Capability Bits ****/
-enum cups_ptype_e                      /* Not a typedef'd enum so we can OR */
-{
+typedef unsigned cups_ptype_t;         /**** Printer type/capability bits ****/
+enum cups_ptype_e                      /**** Printer type/capability bit constants ****/
+{                                      /* Not a typedef'd enum so we can OR */
   CUPS_PRINTER_LOCAL = 0x0000,         /* Local printer or class */
   CUPS_PRINTER_CLASS = 0x0001,         /* Printer class */
   CUPS_PRINTER_REMOTE = 0x0002,                /* Remote printer or class */
@@ -102,17 +112,32 @@ enum cups_ptype_e                 /* Not a typedef'd enum so we can OR */
   CUPS_PRINTER_DEFAULT = 0x20000,      /* Default printer on network */
   CUPS_PRINTER_FAX = 0x40000,          /* Fax queue */
   CUPS_PRINTER_REJECTING = 0x80000,    /* Printer is rejecting jobs */
-  CUPS_PRINTER_DELETE = 0x100000,      /* Delete printer @since CUPS 1.2@ */
-  CUPS_PRINTER_NOT_SHARED = 0x200000,  /* Printer is not shared @since CUPS 1.2@ */
-  CUPS_PRINTER_AUTHENTICATED = 0x400000,/* Printer requires authentication @since CUPS 1.2@ */
-  CUPS_PRINTER_COMMANDS = 0x800000,    /* Printer supports maintenance commands @since CUPS 1.2@ */
-  CUPS_PRINTER_DISCOVERED = 0x1000000, /* Printer was automatically discovered and added @since CUPS 1.3@ */
-  CUPS_PRINTER_OPTIONS = 0x6fffc       /* ~(CLASS | REMOTE | IMPLICIT | DEFAULT | FAX | REJECTING | DELETE | NOT_SHARED | AUTHENTICATED | COMMANDS | DISCOVERED) */
+  CUPS_PRINTER_DELETE = 0x100000,      /* Delete printer @since CUPS 1.2/Mac OS X 10.5@ */
+  CUPS_PRINTER_NOT_SHARED = 0x200000,  /* Printer is not shared @since CUPS 1.2/Mac OS X 10.5@ */
+  CUPS_PRINTER_AUTHENTICATED = 0x400000,/* Printer requires authentication @since CUPS 1.2/Mac OS X 10.5@ */
+  CUPS_PRINTER_COMMANDS = 0x800000,    /* Printer supports maintenance commands @since CUPS 1.2/Mac OS X 10.5@ */
+  CUPS_PRINTER_DISCOVERED = 0x1000000, /* Printer was automatically discovered and added @since CUPS 1.3/Mac OS X 10.5@ */
+  CUPS_PRINTER_SCANNER = 0x2000000,    /* Scanner-only device @since CUPS 1.4/Mac OS X 10.6@ */
+  CUPS_PRINTER_MFP = 0x4000000,                /* Printer with scanning capabilities @since CUPS 1.4/Mac OS X 10.6@ */
+  CUPS_PRINTER_OPTIONS = 0x6fffc       /* ~(CLASS | REMOTE | IMPLICIT | DEFAULT | FAX | REJECTING | DELETE | NOT_SHARED | AUTHENTICATED | COMMANDS | DISCOVERED) @private@ */
 };
 
-typedef const char *(*cups_password_cb_t)(const char *);
+typedef const char *(*cups_password_cb_t)(const char *prompt);
                                        /**** Password callback ****/
 
+typedef const char *(*cups_password_cb2_t)(const char *prompt, http_t *http,
+                                          const char *method,
+                                          const char *resource,
+                                          void *user_data);
+                                       /**** New password callback @since CUPS 1.4/Mac OS X 10.6@ ****/
+
+typedef void (*cups_device_cb_t)(const char *device_class,
+                                 const char *device_id, const char *device_info,
+                                 const char *device_make_and_model,
+                                 const char *device_uri,
+                                const char *device_location, void *user_data);
+                                       /**** Device callback @since CUPS 1.4/Mac OS X 10.6@ ****/
+
 typedef struct cups_option_s           /**** Printer Options ****/
 {
   char         *name;                  /* Name of option */
@@ -158,8 +183,8 @@ extern http_encryption_t cupsEncryption(void);
 extern void            cupsFreeJobs(int num_jobs, cups_job_t *jobs);
 extern int             cupsGetClasses(char ***classes) _CUPS_DEPRECATED;
 extern const char      *cupsGetDefault(void);
-extern int             cupsGetJobs(cups_job_t **jobs, const char *dest,
-                                   int myjobs, int completed);
+extern int             cupsGetJobs(cups_job_t **jobs, const char *name,
+                                   int myjobs, int whichjobs);
 extern const char      *cupsGetPPD(const char *name);
 extern int             cupsGetPrinters(char ***printers) _CUPS_DEPRECATED;
 extern ipp_status_t    cupsLastError(void);
@@ -215,7 +240,7 @@ extern const char   *cupsGetDefault2(http_t *http) _CUPS_API_1_1_21;
 extern int             cupsGetDests2(http_t *http, cups_dest_t **dests) _CUPS_API_1_1_21;
 extern int             cupsGetJobs2(http_t *http, cups_job_t **jobs,
                                     const char *name, int myjobs,
-                                    int completed) _CUPS_API_1_1_21;
+                                    int whichjobs) _CUPS_API_1_1_21;
 extern const char      *cupsGetPPD2(http_t *http, const char *name) _CUPS_API_1_1_21;
 extern int             cupsPrintFile2(http_t *http, const char *name,
                                       const char *filename,
@@ -257,14 +282,27 @@ extern void               cupsSetDefaultDest(const char *name,
                                           cups_dest_t *dests) _CUPS_API_1_3;
 
 /**** New in CUPS 1.4 ****/
-extern ipp_status_t    cupsCancelJob2(http_t *http, int job_id, int purge);
+extern ipp_status_t    cupsCancelJob2(http_t *http, const char *name,
+                                      int job_id, int purge) _CUPS_API_1_4;
 extern int             cupsCreateJob(http_t *http, const char *name,
                                      const char *title, int num_options,
                                      cups_option_t *options) _CUPS_API_1_4;
 extern ipp_status_t    cupsFinishDocument(http_t *http,
                                           const char *name) _CUPS_API_1_4;
+extern int             cupsGetConflicts(ppd_file_t *ppd, const char *option,
+                                        const char *choice,
+                                        cups_option_t **options)
+                                            _CUPS_API_1_4;
+extern ipp_status_t    cupsGetDevices(http_t *http, int timeout,
+                                      const char *include_schemes,
+                                      const char *exclude_schemes,
+                                      cups_device_cb_t callback,
+                                      void *user_data) _CUPS_API_1_4;
 extern cups_dest_t     *cupsGetNamedDest(http_t *http, const char *name,
                                          const char *instance) _CUPS_API_1_4;
+extern const char      *cupsGetPassword2(const char *prompt, http_t *http,
+                                         const char *method,
+                                         const char *resource) _CUPS_API_1_4;
 extern http_status_t   cupsGetPPD3(http_t *http, const char *name,
                                    time_t *modtime, char *buffer,
                                    size_t bufsize) _CUPS_API_1_4;
@@ -272,9 +310,16 @@ extern ipp_t               *cupsGetResponse(http_t *http,
                                         const char *resource) _CUPS_API_1_4;
 extern ssize_t         cupsReadResponseData(http_t *http, char *buffer,
                                             size_t length) _CUPS_API_1_4;
+extern int             cupsResolveConflicts(ppd_file_t *ppd, const char *option,
+                                            const char *choice,
+                                            int *num_options,
+                                            cups_option_t **options)
+                                            _CUPS_API_1_4;
 extern http_status_t   cupsSendRequest(http_t *http, ipp_t *request,
                                        const char *resource,
                                        size_t length) _CUPS_API_1_4;
+extern void            cupsSetPasswordCB2(cups_password_cb2_t cb,
+                                          void *user_data) _CUPS_API_1_4;
 extern http_status_t   cupsStartDocument(http_t *http, const char *name,
                                          int job_id, const char *docname,
                                          const char *format,
@@ -289,5 +334,5 @@ extern http_status_t        cupsWriteRequestData(http_t *http, const char *buffer,
 #endif /* !_CUPS_CUPS_H_ */
 
 /*
- * End of "$Id: cups.h 6870 2007-08-27 21:13:35Z mike $".
+ * End of "$Id: cups.h 7847 2008-08-19 04:22:14Z mike $".
  */