]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/cups.h
Merge changes from CUPS 1.6svn-r9939.
[thirdparty/cups.git] / cups / cups.h
index 03ca440546198adb98a7adb417f2f433afb18e1a..857f17fbe02ba3930415db78c5e4e26ab0630813 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cups.h 7847 2008-08-19 04:22:14Z mike $"
+ * "$Id: cups.h 8781 2009-08-28 17:34:54Z mike $"
  *
- *   API definitions for the Common UNIX Printing System (CUPS).
+ *   API definitions for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
 #  include <sys/types.h>
 #  if defined(WIN32) && !defined(__CUPS_SSIZE_T_DEFINED)
 #    define __CUPS_SSIZE_T_DEFINED
+#    include <stddef.h>
 /* Windows does not support the ssize_t type, so map it to off_t... */
 typedef off_t ssize_t;                 /* @private@ */
 #  endif /* WIN32 && !__CUPS_SSIZE_T_DEFINED */
 
+#  include "file.h"
 #  include "ipp.h"
-#  include "ppd.h"
 #  include "language.h"
 
 
@@ -59,9 +60,9 @@ extern "C" {
  * Constants...
  */
 
-#  define CUPS_VERSION         1.0399
+#  define CUPS_VERSION         1.0599
 #  define CUPS_VERSION_MAJOR   1
-#  define CUPS_VERSION_MINOR   4
+#  define CUPS_VERSION_MINOR   6
 #  define CUPS_VERSION_PATCH   -1
 
 #  define CUPS_BC_FD           3       /* Back-channel file descriptor for select/poll */
@@ -112,23 +113,31 @@ enum cups_ptype_e                 /**** Printer type/capability bit constants ****/
   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_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 *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@ ****/
+                                       /**** Device callback @since CUPS 1.4/Mac OS X 10.6@ ****/
 
 typedef struct cups_option_s           /**** Printer Options ****/
 {
@@ -160,6 +169,15 @@ typedef struct cups_job_s          /**** Job ****/
   time_t       processing_time;        /* Time the job was processed */
 } cups_job_t;
 
+typedef int (*cups_client_cert_cb_t)(http_t *http, void *tls,
+                                    cups_array_t *distinguished_names,
+                                    void *user_data);
+                                       /**** Client credentials callback @since CUPS 1.5/Mac OS X 10.7@ ****/
+
+typedef int (*cups_server_cert_cb_t)(http_t *http, void *tls,
+                                    cups_array_t *certs, void *user_data);
+                                       /**** Server credentials callback @since CUPS 1.5/Mac OS X 10.7@ ****/
+
 
 /*
  * Functions...
@@ -204,8 +222,6 @@ extern void         cupsEncodeOptions(ipp_t *ipp, int num_options,
 extern void            cupsFreeOptions(int num_options, cups_option_t *options);
 extern const char      *cupsGetOption(const char *name, int num_options,
                                       cups_option_t *options);
-extern int             cupsMarkOptions(ppd_file_t *ppd, int num_options,
-                                       cups_option_t *options);
 extern int             cupsParseOptions(const char *arg, int num_options,
                                         cups_option_t **options);
 
@@ -245,7 +261,7 @@ extern int          cupsPrintFiles2(http_t *http, const char *name,
 extern int             cupsSetDests2(http_t *http, int num_dests,
                                      cups_dest_t *dests) _CUPS_API_1_1_21;
 
-/**** New in CUPS 1.2 ****/
+/**** New in CUPS 1.2/Mac OS X 10.5 ****/
 extern ssize_t         cupsBackChannelRead(char *buffer, size_t bytes,
                                            double timeout) _CUPS_API_1_2;
 extern ssize_t         cupsBackChannelWrite(const char *buffer, size_t bytes,
@@ -260,7 +276,7 @@ extern int          cupsRemoveOption(const char *name, int num_options,
                                         cups_option_t **options) _CUPS_API_1_2;
 extern cups_file_t     *cupsTempFile2(char *filename, int len) _CUPS_API_1_2;
 
-/**** New in CUPS 1.3 ****/
+/**** New in CUPS 1.3/Mac OS X 10.5 ****/
 extern ipp_t           *cupsDoIORequest(http_t *http, ipp_t *request,
                                         const char *resource, int infile,
                                         int outfile) _CUPS_API_1_3;
@@ -273,7 +289,7 @@ extern void         cupsSetDefaultDest(const char *name,
                                           int num_dests,
                                           cups_dest_t *dests) _CUPS_API_1_3;
 
-/**** New in CUPS 1.4 ****/
+/**** New in CUPS 1.4/Mac OS X 10.6 ****/
 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,
@@ -282,12 +298,15 @@ extern int                cupsCreateJob(http_t *http, const char *name,
 extern ipp_status_t    cupsFinishDocument(http_t *http,
                                           const char *name) _CUPS_API_1_4;
 extern ipp_status_t    cupsGetDevices(http_t *http, int timeout,
-                                      const char *exclude_schemes,
                                       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;
@@ -295,14 +314,11 @@ 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,
@@ -310,6 +326,14 @@ extern http_status_t       cupsStartDocument(http_t *http, const char *name,
 extern http_status_t   cupsWriteRequestData(http_t *http, const char *buffer,
                                             size_t length) _CUPS_API_1_4;
 
+/**** New in CUPS 1.5 ****/
+extern void            cupsSetClientCertCB(cups_client_cert_cb_t cb,
+                                           void *user_data) _CUPS_API_1_5;
+extern int             cupsSetCredentials(cups_array_t *certs) _CUPS_API_1_5;
+extern void            cupsSetServerCertCB(cups_server_cert_cb_t cb,
+                                           void *user_data) _CUPS_API_1_5;
+
+
 #  ifdef __cplusplus
 }
 #  endif /* __cplusplus */
@@ -317,5 +341,5 @@ extern http_status_t        cupsWriteRequestData(http_t *http, const char *buffer,
 #endif /* !_CUPS_CUPS_H_ */
 
 /*
- * End of "$Id: cups.h 7847 2008-08-19 04:22:14Z mike $".
+ * End of "$Id: cups.h 8781 2009-08-28 17:34:54Z mike $".
  */