]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/ppd.h
Update ipp documentation to reflect the behavior of configuring WiFi on IPP USB printers.
[thirdparty/cups.git] / cups / ppd.h
index 049340efc1d72df0e6b5c0c0d0bcd0d1f00306eb..f2ba50db836659db829ef2eb5aa4877352f09bb1 100644 (file)
@@ -1,31 +1,16 @@
 /*
- * "$Id: ppd.h 7791 2008-07-24 00:55:30Z mike $"
+ * PostScript Printer Description definitions for CUPS.
  *
- *   PostScript Printer Description definitions for CUPS.
+ * THESE APIS ARE DEPRECATED.  THIS HEADER AND THESE FUNCTIONS WILL BE REMOVED
+ * IN A FUTURE RELEASE OF CUPS.
  *
- *   THESE APIS ARE DEPRECATED. TO COMPILE WITHOUT WARNINGS ADD
- *   -D_PPD_DEPRECATED="" TO YOUR COMPILE OPTIONS.  THIS HEADER AND THESE
- *   FUNCTIONS WILL BE REMOVED IN A FUTURE RELEASE OF CUPS.
+ * Copyright © 2007-2019 by Apple Inc.
+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
  *
- *   Copyright 2007-2012 by Apple Inc.
- *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ * Licensed under Apache License v2.0.  See the file "LICENSE" for more
+ * information.
  *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   PostScript is a trademark of Adobe Systems, Inc.
- *
- *   This code and any derivative of it may be used and distributed
- *   freely under the terms of the GNU General Public License when
- *   used with GNU Ghostscript or its derivatives.  Use of the code
- *   (or any derivative of it) with software other than GNU
- *   GhostScript (or its derivatives) is governed by the CUPS license
- *   agreement.
- *
- *   This file is subject to the Apple OS-Developed Software exception.
+ * PostScript is a trademark of Adobe Systems, Inc.
  */
 
 #ifndef _CUPS_PPD_H_
@@ -39,6 +24,7 @@
 #  include "cups.h"
 #  include "array.h"
 #  include "file.h"
+#  include "raster.h"
 
 
 /*
@@ -50,28 +36,6 @@ extern "C" {
 #  endif /* __cplusplus */
 
 
-/*
- * Define _PPD_DEPRECATED to silence the warnings about PPD functions being
- * deprecated...
- */
-
-#  ifndef _PPD_DEPRECATED
-#    if defined(__APPLE__)
-#      if defined(MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
-         /* Building for 10.7 and earlier */
-#        define _PPD_DEPRECATED
-#      elif !defined(MAC_OS_X_VERSION_10_8)
-        /* Building for 10.7 and earlier */
-#        define _PPD_DEPRECATED
-#      else
-#        define _PPD_DEPRECATED _CUPS_DEPRECATED
-#      endif /* MAC_OS_X_VERSION_10_8 && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8 */
-#    else
-#      define _PPD_DEPRECATED _CUPS_DEPRECATED
-#    endif /* __APPLE__ */
-#  endif /* !_PPD_DEPRECATED */
-
-
 /*
  * PPD version...
  */
@@ -92,14 +56,28 @@ extern "C" {
  * Types and structures...
  */
 
-typedef enum ppd_ui_e                  /**** UI Types ****/
+typedef int (*cups_interpret_cb_t)(cups_page_header2_t *header, int preferred_bits);
+                                       /**** cupsRasterInterpretPPD callback function
+                                        *
+                                        * This function is called by
+                                        * @link cupsRasterInterpretPPD@ to
+                                        * validate (and update, as needed)
+                                        * the page header attributes. The
+                                        * "preferred_bits" argument provides
+                                        * the value of the
+                                        * @code cupsPreferredBitsPerColor@
+                                        * key from the PostScript page device
+                                        * dictionary and is 0 if undefined.
+                                        ****/
+
+typedef enum ppd_ui_e                  /**** UI Types @deprecated@ ****/
 {
   PPD_UI_BOOLEAN,                      /* True or False option */
   PPD_UI_PICKONE,                      /* Pick one from a list */
   PPD_UI_PICKMANY                      /* Pick zero or more from a list */
 } ppd_ui_t;
 
-typedef enum ppd_section_e             /**** Order dependency sections ****/
+typedef enum ppd_section_e             /**** Order dependency sections @deprecated@ ****/
 {
   PPD_ORDER_ANY,                       /* Option code can be anywhere in the file */
   PPD_ORDER_DOCUMENT,                  /* ... must be in the DocumentSetup section */
@@ -109,7 +87,7 @@ typedef enum ppd_section_e           /**** Order dependency sections ****/
   PPD_ORDER_PROLOG                     /* ... must be in the Prolog section */
 } ppd_section_t;
 
-typedef enum ppd_cs_e                  /**** Colorspaces ****/
+typedef enum ppd_cs_e                  /**** Colorspaces @deprecated@ ****/
 {
   PPD_CS_CMYK = -4,                    /* CMYK colorspace */
   PPD_CS_CMY,                          /* CMY colorspace */
@@ -119,7 +97,7 @@ typedef enum ppd_cs_e                        /**** Colorspaces ****/
   PPD_CS_N                             /* DeviceN colorspace */
 } ppd_cs_t;
 
-typedef enum ppd_status_e              /**** Status Codes @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+typedef enum ppd_status_e              /**** Status Codes @deprecated@ ****/
 {
   PPD_OK = 0,                          /* OK */
   PPD_FILE_OPEN_ERROR,                 /* Unable to open PPD file */
@@ -145,19 +123,21 @@ typedef enum ppd_status_e         /**** Status Codes @since CUPS 1.1.19/Mac OS X 10.3@
   PPD_MISSING_OPTION_KEYWORD,          /* Missing option keyword */
   PPD_BAD_VALUE,                       /* Bad value string */
   PPD_MISSING_CLOSE_GROUP,             /* Missing CloseGroup */
+  PPD_BAD_CLOSE_UI,                    /* Bad CloseUI/JCLCloseUI */
+  PPD_MISSING_CLOSE_UI,                        /* Missing CloseUI/JCLCloseUI */
   PPD_MAX_STATUS                       /* @private@ */
 } ppd_status_t;
 
-enum ppd_conform_e                     /**** Conformance Levels @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+enum ppd_conform_e                     /**** Conformance Levels @deprecated@ ****/
 {
   PPD_CONFORM_RELAXED,                 /* Relax whitespace and control char */
   PPD_CONFORM_STRICT                   /* Require strict conformance */
 };
 
 typedef enum ppd_conform_e ppd_conform_t;
-                                       /**** Conformance Levels @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+                                       /**** Conformance Levels @deprecated@ ****/
 
-typedef struct ppd_attr_s              /**** PPD Attribute Structure @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+typedef struct ppd_attr_s              /**** PPD Attribute Structure @deprecated@ ****/
 {
   char         name[PPD_MAX_NAME];     /* Name of attribute (cupsXYZ) */
   char         spec[PPD_MAX_NAME];     /* Specifier string, if any */
@@ -166,9 +146,9 @@ typedef struct ppd_attr_s           /**** PPD Attribute Structure @since CUPS 1.1.19/Mac
 } ppd_attr_t;
 
 typedef struct ppd_option_s ppd_option_t;
-                                       /**** Options ****/
+                                       /**** Options @deprecated@ ****/
 
-typedef struct ppd_choice_s            /**** Option choices ****/
+typedef struct ppd_choice_s            /**** Option choices @deprecated@ ****/
 {
   char         marked;                 /* 0 if not selected, 1 otherwise */
   char         choice[PPD_MAX_NAME];   /* Computer-readable option name */
@@ -177,7 +157,7 @@ typedef struct ppd_choice_s         /**** Option choices ****/
   ppd_option_t *option;                /* Pointer to parent option structure */
 } ppd_choice_t;
 
-struct ppd_option_s                    /**** Options ****/
+struct ppd_option_s                    /**** Options @deprecated@ ****/
 {
   char         conflicted;             /* 0 if no conflicts exist, 1 otherwise */
   char         keyword[PPD_MAX_NAME];  /* Option keyword name ("PageSize", etc.) */
@@ -190,7 +170,7 @@ struct ppd_option_s                 /**** Options ****/
   ppd_choice_t *choices;               /* Option choices */
 };
 
-typedef struct ppd_group_s             /**** Groups ****/
+typedef struct ppd_group_s             /**** Groups @deprecated@ ****/
 {
   /**** Group text strings are limited to 39 chars + nul in order to
    **** preserve binary compatibility and allow applications to get
@@ -198,14 +178,14 @@ typedef struct ppd_group_s                /**** Groups ****/
    ****/
   char         text[PPD_MAX_TEXT - PPD_MAX_NAME];
                                        /* Human-readable group name */
-  char         name[PPD_MAX_NAME];     /* Group name @since CUPS 1.1.18/Mac OS X 10.3@ */
+  char         name[PPD_MAX_NAME];     /* Group name @since CUPS 1.1.18/macOS 10.3@ */
   int          num_options;            /* Number of options */
   ppd_option_t *options;               /* Options */
   int          num_subgroups;          /* Number of sub-groups */
   struct ppd_group_s *subgroups;       /* Sub-groups (max depth = 1) */
 } ppd_group_t;
 
-typedef struct ppd_const_s             /**** Constraints ****/
+typedef struct ppd_const_s             /**** Constraints @deprecated@ ****/
 {
   char         option1[PPD_MAX_NAME];  /* First keyword */
   char         choice1[PPD_MAX_NAME];  /* First option/choice (blank for all) */
@@ -213,7 +193,7 @@ typedef struct ppd_const_s          /**** Constraints ****/
   char         choice2[PPD_MAX_NAME];  /* Second option/choice (blank for all) */
 } ppd_const_t;
 
-typedef struct ppd_size_s              /**** Page Sizes ****/
+typedef struct ppd_size_s              /**** Page Sizes @deprecated@ ****/
 {
   int          marked;                 /* Page size selected? */
   char         name[PPD_MAX_NAME];     /* Media size option */
@@ -225,14 +205,14 @@ typedef struct ppd_size_s         /**** Page Sizes ****/
   float                top;                    /* Top printable margin in points */
 } ppd_size_t;
 
-typedef struct ppd_emul_s              /**** Emulators ****/
+typedef struct ppd_emul_s              /**** Emulators @deprecated@ ****/
 {
   char         name[PPD_MAX_NAME];     /* Emulator name */
   char         *start;                 /* Code to switch to this emulation */
   char         *stop;                  /* Code to stop this emulation */
 } ppd_emul_t;
 
-typedef struct ppd_profile_s           /**** sRGB Color Profiles ****/
+typedef struct ppd_profile_s           /**** sRGB Color Profiles @deprecated@ ****/
 {
   char         resolution[PPD_MAX_NAME];
                                        /* Resolution or "-" */
@@ -243,9 +223,10 @@ typedef struct ppd_profile_s               /**** sRGB Color Profiles ****/
   float                matrix[3][3];           /* Transform matrix */
 } ppd_profile_t;
 
-/**** New in CUPS 1.2/Mac OS X 10.5 ****/
-typedef enum ppd_cptype_e              /**** Custom Parameter Type @since CUPS 1.2/Mac OS X 10.5@ ****/
+/**** New in CUPS 1.2/macOS 10.5 ****/
+typedef enum ppd_cptype_e              /**** Custom Parameter Type @deprecated@ ****/
 {
+  PPD_CUSTOM_UNKNOWN = -1,             /* Unknown type (error) */
   PPD_CUSTOM_CURVE,                    /* Curve value for f(x) = x^value */
   PPD_CUSTOM_INT,                      /* Integer number value */
   PPD_CUSTOM_INVCURVE,                 /* Curve value for f(x) = x^(1/value) */
@@ -256,7 +237,7 @@ typedef enum ppd_cptype_e           /**** Custom Parameter Type @since CUPS 1.2/Mac OS X
   PPD_CUSTOM_STRING                    /* String of characters */
 } ppd_cptype_t;
 
-typedef union ppd_cplimit_u            /**** Custom Parameter Limit @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef union ppd_cplimit_u            /**** Custom Parameter Limit @deprecated@ ****/
 {
   float                custom_curve;           /* Gamma value */
   int          custom_int;             /* Integer value */
@@ -268,7 +249,7 @@ typedef union ppd_cplimit_u         /**** Custom Parameter Limit @since CUPS 1.2/Mac OS
   int          custom_string;          /* String length */
 } ppd_cplimit_t;
 
-typedef union ppd_cpvalue_u            /**** Custom Parameter Value @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef union ppd_cpvalue_u            /**** Custom Parameter Value @deprecated@ ****/
 {
   float                custom_curve;           /* Gamma value */
   int          custom_int;             /* Integer value */
@@ -280,7 +261,7 @@ typedef union ppd_cpvalue_u         /**** Custom Parameter Value @since CUPS 1.2/Mac OS
   char         *custom_string;         /* String value */
 } ppd_cpvalue_t;
 
-typedef struct ppd_cparam_s            /**** Custom Parameter @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef struct ppd_cparam_s            /**** Custom Parameter @deprecated@ ****/
 {
   char         name[PPD_MAX_NAME];     /* Parameter name */
   char         text[PPD_MAX_TEXT];     /* Human-readable text */
@@ -291,7 +272,7 @@ typedef struct ppd_cparam_s         /**** Custom Parameter @since CUPS 1.2/Mac OS X 10.
   ppd_cpvalue_t        current;                /* Current value */
 } ppd_cparam_t;
 
-typedef struct ppd_coption_s           /**** Custom Option @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef struct ppd_coption_s           /**** Custom Option @deprecated@ ****/
 {
   char         keyword[PPD_MAX_NAME];  /* Name of option that is being extended... */
   ppd_option_t *option;                /* Option that is being extended... */
@@ -300,9 +281,9 @@ typedef struct ppd_coption_s                /**** Custom Option @since CUPS 1.2/Mac OS X 10.5@
 } ppd_coption_t;
 
 typedef struct _ppd_cache_s _ppd_cache_t;
-                                       /**** PPD cache and mapping data @since CUPS 1.5/Mac OS X 10.7@ @private@ ****/
+                                       /**** PPD cache and mapping data @deprecated@ ****/
 
-typedef struct ppd_file_s              /**** PPD File ****/
+typedef struct ppd_file_s              /**** PPD File @deprecated@ ****/
 {
   int          language_level;         /* Language level of device */
   int          color_device;           /* 1 = color device, 0 = grayscale */
@@ -315,8 +296,8 @@ typedef struct ppd_file_s           /**** PPD File ****/
   int          throughput;             /* Pages per minute */
   ppd_cs_t     colorspace;             /* Default colorspace */
   char         *patches;               /* Patch commands to be sent to printer */
-  int          num_emulations;         /* Number of emulations supported */
-  ppd_emul_t   *emulations;            /* Emulations and the code to invoke them */
+  int          num_emulations;         /* Number of emulations supported (no longer supported) @private@ */
+  ppd_emul_t   *emulations;            /* Emulations and the code to invoke them (no longer supported) @private@ */
   char         *jcl_begin;             /* Start JCL commands */
   char         *jcl_ps;                /* Enter PostScript interpreter */
   char         *jcl_end;               /* End JCL commands */
@@ -348,25 +329,25 @@ typedef struct ppd_file_s         /**** PPD File ****/
   int          flip_duplex;            /* 1 = Flip page for back sides @deprecated@ */
 
   /**** New in CUPS 1.1.19 ****/
-  char         *protocols;             /* Protocols (BCP, TBCP) string @since CUPS 1.1.19/Mac OS X 10.3@ */
-  char         *pcfilename;            /* PCFileName string @since CUPS 1.1.19/Mac OS X 10.3@ */
-  int          num_attrs;              /* Number of attributes @since CUPS 1.1.19/Mac OS X 10.3@ @private@ */
-  int          cur_attr;               /* Current attribute @since CUPS 1.1.19/Mac OS X 10.3@ @private@ */
-  ppd_attr_t   **attrs;                /* Attributes @since CUPS 1.1.19/Mac OS X 10.3@ @private@ */
+  char         *protocols;             /* Protocols (BCP, TBCP) string @since CUPS 1.1.19/macOS 10.3@ */
+  char         *pcfilename;            /* PCFileName string @since CUPS 1.1.19/macOS 10.3@ */
+  int          num_attrs;              /* Number of attributes @since CUPS 1.1.19/macOS 10.3@ @private@ */
+  int          cur_attr;               /* Current attribute @since CUPS 1.1.19/macOS 10.3@ @private@ */
+  ppd_attr_t   **attrs;                /* Attributes @since CUPS 1.1.19/macOS 10.3@ @private@ */
 
-  /**** New in CUPS 1.2/Mac OS X 10.5 ****/
-  cups_array_t *sorted_attrs;          /* Attribute lookup array @since CUPS 1.2/Mac OS X 10.5@ @private@ */
-  cups_array_t *options;               /* Option lookup array @since CUPS 1.2/Mac OS X 10.5@ @private@ */
-  cups_array_t *coptions;              /* Custom options array @since CUPS 1.2/Mac OS X 10.5@ @private@ */
+  /**** New in CUPS 1.2/macOS 10.5 ****/
+  cups_array_t *sorted_attrs;          /* Attribute lookup array @since CUPS 1.2/macOS 10.5@ @private@ */
+  cups_array_t *options;               /* Option lookup array @since CUPS 1.2/macOS 10.5@ @private@ */
+  cups_array_t *coptions;              /* Custom options array @since CUPS 1.2/macOS 10.5@ @private@ */
 
-  /**** New in CUPS 1.3/Mac OS X 10.5 ****/
-  cups_array_t *marked;                /* Marked choices @since CUPS 1.3/Mac OS X 10.5@ @private@ */
+  /**** New in CUPS 1.3/macOS 10.5 ****/
+  cups_array_t *marked;                /* Marked choices @since CUPS 1.3/macOS 10.5@ @private@ */
 
-  /**** New in CUPS 1.4/Mac OS X 10.6 ****/
-  cups_array_t *cups_uiconstraints;    /* cupsUIConstraints @since CUPS 1.4/Mac OS X 10.6@ @private@ */
+  /**** New in CUPS 1.4/macOS 10.6 ****/
+  cups_array_t *cups_uiconstraints;    /* cupsUIConstraints @since CUPS 1.4/macOS 10.6@ @private@ */
 
   /**** New in CUPS 1.5 ****/
-  _ppd_cache_t *cache;                 /* PPD cache and mapping data @since CUPS 1.5/Mac OS X 10.7@ @private@ */
+  _ppd_cache_t *cache;                 /* PPD cache and mapping data @since CUPS 1.5/macOS 10.7@ @private@ */
 } ppd_file_t;
 
 
@@ -374,96 +355,115 @@ typedef struct ppd_file_s                /**** PPD File ****/
  * Prototypes...
  */
 
-extern int             cupsMarkOptions(ppd_file_t *ppd, int num_options,
-                                       cups_option_t *options);
-extern void            ppdClose(ppd_file_t *ppd);
+extern const char      *cupsGetPPD(const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern const char      *cupsGetPPD2(http_t *http, const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern http_status_t   cupsGetPPD3(http_t *http, const char *name, time_t *modtime, char *buffer, size_t bufsize) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern char            *cupsGetServerPPD(http_t *http, const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern int             cupsMarkOptions(ppd_file_t *ppd, int num_options, cups_option_t *options) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+
+extern void            ppdClose(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             ppdCollect(ppd_file_t *ppd, ppd_section_t section,
-                                  ppd_choice_t  ***choices);
-extern int             ppdConflicts(ppd_file_t *ppd);
+                                  ppd_choice_t  ***choices) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern int             ppdConflicts(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             ppdEmit(ppd_file_t *ppd, FILE *fp,
-                               ppd_section_t section);
+                               ppd_section_t section) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             ppdEmitFd(ppd_file_t *ppd, int fd,
-                                 ppd_section_t section);
+                                 ppd_section_t section) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             ppdEmitJCL(ppd_file_t *ppd, FILE *fp, int job_id,
-                                  const char *user, const char *title);
-extern ppd_choice_t    *ppdFindChoice(ppd_option_t *o, const char *option);
+                                  const char *user, const char *title)
+                                  _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_choice_t    *ppdFindChoice(ppd_option_t *o, const char *option)
+                                      _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern ppd_choice_t    *ppdFindMarkedChoice(ppd_file_t *ppd,
-                                            const char *keyword);
-extern ppd_option_t    *ppdFindOption(ppd_file_t *ppd, const char *keyword);
+                                            const char *keyword)
+                                            _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_option_t    *ppdFindOption(ppd_file_t *ppd, const char *keyword)
+                                      _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             ppdIsMarked(ppd_file_t *ppd, const char *keyword,
-                                   const char *option);
-extern void            ppdMarkDefaults(ppd_file_t *ppd);
+                                   const char *option) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern void            ppdMarkDefaults(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             ppdMarkOption(ppd_file_t *ppd, const char *keyword,
-                                     const char *option);
-extern ppd_file_t      *ppdOpen(FILE *fp);
-extern ppd_file_t      *ppdOpenFd(int fd);
-extern ppd_file_t      *ppdOpenFile(const char *filename);
-extern float           ppdPageLength(ppd_file_t *ppd, const char *name);
-extern ppd_size_t      *ppdPageSize(ppd_file_t *ppd, const char *name);
-extern float           ppdPageWidth(ppd_file_t *ppd, const char *name);
+                                     const char *option) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_file_t      *ppdOpen(FILE *fp) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_file_t      *ppdOpenFd(int fd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_file_t      *ppdOpenFile(const char *filename) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern float           ppdPageLength(ppd_file_t *ppd, const char *name)
+                                     _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_size_t      *ppdPageSize(ppd_file_t *ppd, const char *name)
+                                    _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern float           ppdPageWidth(ppd_file_t *ppd, const char *name)
+                                    _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 
 /**** New in CUPS 1.1.19 ****/
-extern const char      *ppdErrorString(ppd_status_t status) _PPD_DEPRECATED;
+extern const char      *ppdErrorString(ppd_status_t status) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern ppd_attr_t      *ppdFindAttr(ppd_file_t *ppd, const char *name,
-                                    const char *spec) _PPD_DEPRECATED;
+                                    const char *spec) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern ppd_attr_t      *ppdFindNextAttr(ppd_file_t *ppd, const char *name,
-                                        const char *spec) _PPD_DEPRECATED;
-extern ppd_status_t    ppdLastError(int *line) _PPD_DEPRECATED;
+                                        const char *spec) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_status_t    ppdLastError(int *line) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 
 /**** New in CUPS 1.1.20 ****/
-extern void            ppdSetConformance(ppd_conform_t c) _PPD_DEPRECATED;
+extern void            ppdSetConformance(ppd_conform_t c) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 
 /**** New in CUPS 1.2 ****/
+extern int             cupsRasterInterpretPPD(cups_page_header2_t *h,
+                                              ppd_file_t *ppd,
+                                              int num_options,
+                                              cups_option_t *options,
+                                              cups_interpret_cb_t func) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             ppdCollect2(ppd_file_t *ppd, ppd_section_t section,
                                    float min_order, ppd_choice_t  ***choices)
-                                   _PPD_DEPRECATED;
+                                   _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             ppdEmitAfterOrder(ppd_file_t *ppd, FILE *fp,
                                          ppd_section_t section, int limit,
-                                         float min_order) _PPD_DEPRECATED;
-extern int             ppdEmitJCLEnd(ppd_file_t *ppd, FILE *fp) _PPD_DEPRECATED;
+                                         float min_order) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern int             ppdEmitJCLEnd(ppd_file_t *ppd, FILE *fp)
+                                     _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern char            *ppdEmitString(ppd_file_t *ppd, ppd_section_t section,
-                                      float min_order) _PPD_DEPRECATED;
+                                      float min_order) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern ppd_coption_t   *ppdFindCustomOption(ppd_file_t *ppd,
-                                            const char *keyword) _PPD_DEPRECATED;
+                                            const char *keyword)
+                                            _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern ppd_cparam_t    *ppdFindCustomParam(ppd_coption_t *opt,
-                                           const char *name) _PPD_DEPRECATED;
-extern ppd_cparam_t    *ppdFirstCustomParam(ppd_coption_t *opt) _PPD_DEPRECATED;
-extern ppd_option_t    *ppdFirstOption(ppd_file_t *ppd) _PPD_DEPRECATED;
-extern ppd_cparam_t    *ppdNextCustomParam(ppd_coption_t *opt) _PPD_DEPRECATED;
-extern ppd_option_t    *ppdNextOption(ppd_file_t *ppd) _PPD_DEPRECATED;
-extern int             ppdLocalize(ppd_file_t *ppd) _PPD_DEPRECATED;
-extern ppd_file_t      *ppdOpen2(cups_file_t *fp) _PPD_DEPRECATED;
-
-/**** New in CUPS 1.3/Mac OS X 10.5 ****/
+                                           const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_cparam_t    *ppdFirstCustomParam(ppd_coption_t *opt)
+                                            _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_option_t    *ppdFirstOption(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_cparam_t    *ppdNextCustomParam(ppd_coption_t *opt) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_option_t    *ppdNextOption(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern int             ppdLocalize(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+extern ppd_file_t      *ppdOpen2(cups_file_t *fp) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
+
+/**** New in CUPS 1.3/macOS 10.5 ****/
 extern const char      *ppdLocalizeIPPReason(ppd_file_t *ppd,
                                              const char *reason,
                                              const char *scheme,
                                              char *buffer,
-                                             size_t bufsize) _PPD_DEPRECATED;
+                                             size_t bufsize) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 
-/**** New in CUPS 1.4/Mac OS X 10.6 ****/
+/**** New in CUPS 1.4/macOS 10.6 ****/
 extern int             cupsGetConflicts(ppd_file_t *ppd, const char *option,
                                         const char *choice,
                                         cups_option_t **options)
-                                            _PPD_DEPRECATED;
+                                        _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             cupsResolveConflicts(ppd_file_t *ppd,
                                             const char *option,
                                             const char *choice,
                                             int *num_options,
                                             cups_option_t **options)
-                                            _PPD_DEPRECATED;
+                                            _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             ppdInstallableConflict(ppd_file_t *ppd,
                                               const char *option,
                                               const char *choice)
-                                                  _PPD_DEPRECATED;
+                                              _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern ppd_attr_t      *ppdLocalizeAttr(ppd_file_t *ppd, const char *keyword,
-                                        const char *spec) _PPD_DEPRECATED;
+                                        const char *spec) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern const char      *ppdLocalizeMarkerName(ppd_file_t *ppd,
                                               const char *name)
-                                              _PPD_DEPRECATED;
+                                              _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 extern int             ppdPageSizeLimits(ppd_file_t *ppd,
                                          ppd_size_t *minimum,
-                                         ppd_size_t *maximum) _PPD_DEPRECATED;
+                                         ppd_size_t *maximum) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
 
 
 /*
@@ -474,7 +474,3 @@ extern int          ppdPageSizeLimits(ppd_file_t *ppd,
 }
 #  endif /* __cplusplus */
 #endif /* !_CUPS_PPD_H_ */
-
-/*
- * End of "$Id: ppd.h 7791 2008-07-24 00:55:30Z mike $".
- */