1*5e7646d2SAndroid Build Coastguard Worker /* 2*5e7646d2SAndroid Build Coastguard Worker * PostScript Printer Description definitions for CUPS. 3*5e7646d2SAndroid Build Coastguard Worker * 4*5e7646d2SAndroid Build Coastguard Worker * THESE APIS ARE DEPRECATED. THIS HEADER AND THESE FUNCTIONS WILL BE REMOVED 5*5e7646d2SAndroid Build Coastguard Worker * IN A FUTURE RELEASE OF CUPS. 6*5e7646d2SAndroid Build Coastguard Worker * 7*5e7646d2SAndroid Build Coastguard Worker * Copyright © 2007-2019 by Apple Inc. 8*5e7646d2SAndroid Build Coastguard Worker * Copyright © 1997-2007 by Easy Software Products, all rights reserved. 9*5e7646d2SAndroid Build Coastguard Worker * 10*5e7646d2SAndroid Build Coastguard Worker * Licensed under Apache License v2.0. See the file "LICENSE" for more 11*5e7646d2SAndroid Build Coastguard Worker * information. 12*5e7646d2SAndroid Build Coastguard Worker * 13*5e7646d2SAndroid Build Coastguard Worker * PostScript is a trademark of Adobe Systems, Inc. 14*5e7646d2SAndroid Build Coastguard Worker */ 15*5e7646d2SAndroid Build Coastguard Worker 16*5e7646d2SAndroid Build Coastguard Worker #ifndef _CUPS_PPD_H_ 17*5e7646d2SAndroid Build Coastguard Worker # define _CUPS_PPD_H_ 18*5e7646d2SAndroid Build Coastguard Worker 19*5e7646d2SAndroid Build Coastguard Worker /* 20*5e7646d2SAndroid Build Coastguard Worker * Include necessary headers... 21*5e7646d2SAndroid Build Coastguard Worker */ 22*5e7646d2SAndroid Build Coastguard Worker 23*5e7646d2SAndroid Build Coastguard Worker # include <stdio.h> 24*5e7646d2SAndroid Build Coastguard Worker # include "cups.h" 25*5e7646d2SAndroid Build Coastguard Worker # include "array.h" 26*5e7646d2SAndroid Build Coastguard Worker # include "file.h" 27*5e7646d2SAndroid Build Coastguard Worker # include "raster.h" 28*5e7646d2SAndroid Build Coastguard Worker 29*5e7646d2SAndroid Build Coastguard Worker 30*5e7646d2SAndroid Build Coastguard Worker /* 31*5e7646d2SAndroid Build Coastguard Worker * C++ magic... 32*5e7646d2SAndroid Build Coastguard Worker */ 33*5e7646d2SAndroid Build Coastguard Worker 34*5e7646d2SAndroid Build Coastguard Worker # ifdef __cplusplus 35*5e7646d2SAndroid Build Coastguard Worker extern "C" { 36*5e7646d2SAndroid Build Coastguard Worker # endif /* __cplusplus */ 37*5e7646d2SAndroid Build Coastguard Worker 38*5e7646d2SAndroid Build Coastguard Worker 39*5e7646d2SAndroid Build Coastguard Worker /* 40*5e7646d2SAndroid Build Coastguard Worker * PPD version... 41*5e7646d2SAndroid Build Coastguard Worker */ 42*5e7646d2SAndroid Build Coastguard Worker 43*5e7646d2SAndroid Build Coastguard Worker # define PPD_VERSION 4.3 /* Kept in sync with Adobe version number */ 44*5e7646d2SAndroid Build Coastguard Worker 45*5e7646d2SAndroid Build Coastguard Worker 46*5e7646d2SAndroid Build Coastguard Worker /* 47*5e7646d2SAndroid Build Coastguard Worker * PPD size limits (defined in Adobe spec) 48*5e7646d2SAndroid Build Coastguard Worker */ 49*5e7646d2SAndroid Build Coastguard Worker 50*5e7646d2SAndroid Build Coastguard Worker # define PPD_MAX_NAME 41 /* Maximum size of name + 1 for nul */ 51*5e7646d2SAndroid Build Coastguard Worker # define PPD_MAX_TEXT 81 /* Maximum size of text + 1 for nul */ 52*5e7646d2SAndroid Build Coastguard Worker # define PPD_MAX_LINE 256 /* Maximum size of line + 1 for nul */ 53*5e7646d2SAndroid Build Coastguard Worker 54*5e7646d2SAndroid Build Coastguard Worker 55*5e7646d2SAndroid Build Coastguard Worker /* 56*5e7646d2SAndroid Build Coastguard Worker * Types and structures... 57*5e7646d2SAndroid Build Coastguard Worker */ 58*5e7646d2SAndroid Build Coastguard Worker 59*5e7646d2SAndroid Build Coastguard Worker typedef int (*cups_interpret_cb_t)(cups_page_header2_t *header, int preferred_bits); 60*5e7646d2SAndroid Build Coastguard Worker /**** cupsRasterInterpretPPD callback function 61*5e7646d2SAndroid Build Coastguard Worker * 62*5e7646d2SAndroid Build Coastguard Worker * This function is called by 63*5e7646d2SAndroid Build Coastguard Worker * @link cupsRasterInterpretPPD@ to 64*5e7646d2SAndroid Build Coastguard Worker * validate (and update, as needed) 65*5e7646d2SAndroid Build Coastguard Worker * the page header attributes. The 66*5e7646d2SAndroid Build Coastguard Worker * "preferred_bits" argument provides 67*5e7646d2SAndroid Build Coastguard Worker * the value of the 68*5e7646d2SAndroid Build Coastguard Worker * @code cupsPreferredBitsPerColor@ 69*5e7646d2SAndroid Build Coastguard Worker * key from the PostScript page device 70*5e7646d2SAndroid Build Coastguard Worker * dictionary and is 0 if undefined. 71*5e7646d2SAndroid Build Coastguard Worker ****/ 72*5e7646d2SAndroid Build Coastguard Worker 73*5e7646d2SAndroid Build Coastguard Worker typedef enum ppd_ui_e /**** UI Types @deprecated@ ****/ 74*5e7646d2SAndroid Build Coastguard Worker { 75*5e7646d2SAndroid Build Coastguard Worker PPD_UI_BOOLEAN, /* True or False option */ 76*5e7646d2SAndroid Build Coastguard Worker PPD_UI_PICKONE, /* Pick one from a list */ 77*5e7646d2SAndroid Build Coastguard Worker PPD_UI_PICKMANY /* Pick zero or more from a list */ 78*5e7646d2SAndroid Build Coastguard Worker } ppd_ui_t; 79*5e7646d2SAndroid Build Coastguard Worker 80*5e7646d2SAndroid Build Coastguard Worker typedef enum ppd_section_e /**** Order dependency sections @deprecated@ ****/ 81*5e7646d2SAndroid Build Coastguard Worker { 82*5e7646d2SAndroid Build Coastguard Worker PPD_ORDER_ANY, /* Option code can be anywhere in the file */ 83*5e7646d2SAndroid Build Coastguard Worker PPD_ORDER_DOCUMENT, /* ... must be in the DocumentSetup section */ 84*5e7646d2SAndroid Build Coastguard Worker PPD_ORDER_EXIT, /* ... must be sent prior to the document */ 85*5e7646d2SAndroid Build Coastguard Worker PPD_ORDER_JCL, /* ... must be sent as a JCL command */ 86*5e7646d2SAndroid Build Coastguard Worker PPD_ORDER_PAGE, /* ... must be in the PageSetup section */ 87*5e7646d2SAndroid Build Coastguard Worker PPD_ORDER_PROLOG /* ... must be in the Prolog section */ 88*5e7646d2SAndroid Build Coastguard Worker } ppd_section_t; 89*5e7646d2SAndroid Build Coastguard Worker 90*5e7646d2SAndroid Build Coastguard Worker typedef enum ppd_cs_e /**** Colorspaces @deprecated@ ****/ 91*5e7646d2SAndroid Build Coastguard Worker { 92*5e7646d2SAndroid Build Coastguard Worker PPD_CS_CMYK = -4, /* CMYK colorspace */ 93*5e7646d2SAndroid Build Coastguard Worker PPD_CS_CMY, /* CMY colorspace */ 94*5e7646d2SAndroid Build Coastguard Worker PPD_CS_GRAY = 1, /* Grayscale colorspace */ 95*5e7646d2SAndroid Build Coastguard Worker PPD_CS_RGB = 3, /* RGB colorspace */ 96*5e7646d2SAndroid Build Coastguard Worker PPD_CS_RGBK, /* RGBK (K = gray) colorspace */ 97*5e7646d2SAndroid Build Coastguard Worker PPD_CS_N /* DeviceN colorspace */ 98*5e7646d2SAndroid Build Coastguard Worker } ppd_cs_t; 99*5e7646d2SAndroid Build Coastguard Worker 100*5e7646d2SAndroid Build Coastguard Worker typedef enum ppd_status_e /**** Status Codes @deprecated@ ****/ 101*5e7646d2SAndroid Build Coastguard Worker { 102*5e7646d2SAndroid Build Coastguard Worker PPD_OK = 0, /* OK */ 103*5e7646d2SAndroid Build Coastguard Worker PPD_FILE_OPEN_ERROR, /* Unable to open PPD file */ 104*5e7646d2SAndroid Build Coastguard Worker PPD_NULL_FILE, /* NULL PPD file pointer */ 105*5e7646d2SAndroid Build Coastguard Worker PPD_ALLOC_ERROR, /* Memory allocation error */ 106*5e7646d2SAndroid Build Coastguard Worker PPD_MISSING_PPDADOBE4, /* Missing PPD-Adobe-4.x header */ 107*5e7646d2SAndroid Build Coastguard Worker PPD_MISSING_VALUE, /* Missing value string */ 108*5e7646d2SAndroid Build Coastguard Worker PPD_INTERNAL_ERROR, /* Internal error */ 109*5e7646d2SAndroid Build Coastguard Worker PPD_BAD_OPEN_GROUP, /* Bad OpenGroup */ 110*5e7646d2SAndroid Build Coastguard Worker PPD_NESTED_OPEN_GROUP, /* OpenGroup without a CloseGroup first */ 111*5e7646d2SAndroid Build Coastguard Worker PPD_BAD_OPEN_UI, /* Bad OpenUI/JCLOpenUI */ 112*5e7646d2SAndroid Build Coastguard Worker PPD_NESTED_OPEN_UI, /* OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first */ 113*5e7646d2SAndroid Build Coastguard Worker PPD_BAD_ORDER_DEPENDENCY, /* Bad OrderDependency */ 114*5e7646d2SAndroid Build Coastguard Worker PPD_BAD_UI_CONSTRAINTS, /* Bad UIConstraints */ 115*5e7646d2SAndroid Build Coastguard Worker PPD_MISSING_ASTERISK, /* Missing asterisk in column 0 */ 116*5e7646d2SAndroid Build Coastguard Worker PPD_LINE_TOO_LONG, /* Line longer than 255 chars */ 117*5e7646d2SAndroid Build Coastguard Worker PPD_ILLEGAL_CHARACTER, /* Illegal control character */ 118*5e7646d2SAndroid Build Coastguard Worker PPD_ILLEGAL_MAIN_KEYWORD, /* Illegal main keyword string */ 119*5e7646d2SAndroid Build Coastguard Worker PPD_ILLEGAL_OPTION_KEYWORD, /* Illegal option keyword string */ 120*5e7646d2SAndroid Build Coastguard Worker PPD_ILLEGAL_TRANSLATION, /* Illegal translation string */ 121*5e7646d2SAndroid Build Coastguard Worker PPD_ILLEGAL_WHITESPACE, /* Illegal whitespace character */ 122*5e7646d2SAndroid Build Coastguard Worker PPD_BAD_CUSTOM_PARAM, /* Bad custom parameter */ 123*5e7646d2SAndroid Build Coastguard Worker PPD_MISSING_OPTION_KEYWORD, /* Missing option keyword */ 124*5e7646d2SAndroid Build Coastguard Worker PPD_BAD_VALUE, /* Bad value string */ 125*5e7646d2SAndroid Build Coastguard Worker PPD_MISSING_CLOSE_GROUP, /* Missing CloseGroup */ 126*5e7646d2SAndroid Build Coastguard Worker PPD_BAD_CLOSE_UI, /* Bad CloseUI/JCLCloseUI */ 127*5e7646d2SAndroid Build Coastguard Worker PPD_MISSING_CLOSE_UI, /* Missing CloseUI/JCLCloseUI */ 128*5e7646d2SAndroid Build Coastguard Worker PPD_MAX_STATUS /* @private@ */ 129*5e7646d2SAndroid Build Coastguard Worker } ppd_status_t; 130*5e7646d2SAndroid Build Coastguard Worker 131*5e7646d2SAndroid Build Coastguard Worker enum ppd_conform_e /**** Conformance Levels @deprecated@ ****/ 132*5e7646d2SAndroid Build Coastguard Worker { 133*5e7646d2SAndroid Build Coastguard Worker PPD_CONFORM_RELAXED, /* Relax whitespace and control char */ 134*5e7646d2SAndroid Build Coastguard Worker PPD_CONFORM_STRICT /* Require strict conformance */ 135*5e7646d2SAndroid Build Coastguard Worker }; 136*5e7646d2SAndroid Build Coastguard Worker 137*5e7646d2SAndroid Build Coastguard Worker typedef enum ppd_conform_e ppd_conform_t; 138*5e7646d2SAndroid Build Coastguard Worker /**** Conformance Levels @deprecated@ ****/ 139*5e7646d2SAndroid Build Coastguard Worker 140*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_attr_s /**** PPD Attribute Structure @deprecated@ ****/ 141*5e7646d2SAndroid Build Coastguard Worker { 142*5e7646d2SAndroid Build Coastguard Worker char name[PPD_MAX_NAME]; /* Name of attribute (cupsXYZ) */ 143*5e7646d2SAndroid Build Coastguard Worker char spec[PPD_MAX_NAME]; /* Specifier string, if any */ 144*5e7646d2SAndroid Build Coastguard Worker char text[PPD_MAX_TEXT]; /* Human-readable text, if any */ 145*5e7646d2SAndroid Build Coastguard Worker char *value; /* Value string */ 146*5e7646d2SAndroid Build Coastguard Worker } ppd_attr_t; 147*5e7646d2SAndroid Build Coastguard Worker 148*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_option_s ppd_option_t; 149*5e7646d2SAndroid Build Coastguard Worker /**** Options @deprecated@ ****/ 150*5e7646d2SAndroid Build Coastguard Worker 151*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_choice_s /**** Option choices @deprecated@ ****/ 152*5e7646d2SAndroid Build Coastguard Worker { 153*5e7646d2SAndroid Build Coastguard Worker char marked; /* 0 if not selected, 1 otherwise */ 154*5e7646d2SAndroid Build Coastguard Worker char choice[PPD_MAX_NAME]; /* Computer-readable option name */ 155*5e7646d2SAndroid Build Coastguard Worker char text[PPD_MAX_TEXT]; /* Human-readable option name */ 156*5e7646d2SAndroid Build Coastguard Worker char *code; /* Code to send for this option */ 157*5e7646d2SAndroid Build Coastguard Worker ppd_option_t *option; /* Pointer to parent option structure */ 158*5e7646d2SAndroid Build Coastguard Worker } ppd_choice_t; 159*5e7646d2SAndroid Build Coastguard Worker 160*5e7646d2SAndroid Build Coastguard Worker struct ppd_option_s /**** Options @deprecated@ ****/ 161*5e7646d2SAndroid Build Coastguard Worker { 162*5e7646d2SAndroid Build Coastguard Worker char conflicted; /* 0 if no conflicts exist, 1 otherwise */ 163*5e7646d2SAndroid Build Coastguard Worker char keyword[PPD_MAX_NAME]; /* Option keyword name ("PageSize", etc.) */ 164*5e7646d2SAndroid Build Coastguard Worker char defchoice[PPD_MAX_NAME];/* Default option choice */ 165*5e7646d2SAndroid Build Coastguard Worker char text[PPD_MAX_TEXT]; /* Human-readable text */ 166*5e7646d2SAndroid Build Coastguard Worker ppd_ui_t ui; /* Type of UI option */ 167*5e7646d2SAndroid Build Coastguard Worker ppd_section_t section; /* Section for command */ 168*5e7646d2SAndroid Build Coastguard Worker float order; /* Order number */ 169*5e7646d2SAndroid Build Coastguard Worker int num_choices; /* Number of option choices */ 170*5e7646d2SAndroid Build Coastguard Worker ppd_choice_t *choices; /* Option choices */ 171*5e7646d2SAndroid Build Coastguard Worker }; 172*5e7646d2SAndroid Build Coastguard Worker 173*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_group_s /**** Groups @deprecated@ ****/ 174*5e7646d2SAndroid Build Coastguard Worker { 175*5e7646d2SAndroid Build Coastguard Worker /**** Group text strings are limited to 39 chars + nul in order to 176*5e7646d2SAndroid Build Coastguard Worker **** preserve binary compatibility and allow applications to get 177*5e7646d2SAndroid Build Coastguard Worker **** the group's keyword name. 178*5e7646d2SAndroid Build Coastguard Worker ****/ 179*5e7646d2SAndroid Build Coastguard Worker char text[PPD_MAX_TEXT - PPD_MAX_NAME]; 180*5e7646d2SAndroid Build Coastguard Worker /* Human-readable group name */ 181*5e7646d2SAndroid Build Coastguard Worker char name[PPD_MAX_NAME]; /* Group name @since CUPS 1.1.18/macOS 10.3@ */ 182*5e7646d2SAndroid Build Coastguard Worker int num_options; /* Number of options */ 183*5e7646d2SAndroid Build Coastguard Worker ppd_option_t *options; /* Options */ 184*5e7646d2SAndroid Build Coastguard Worker int num_subgroups; /* Number of sub-groups */ 185*5e7646d2SAndroid Build Coastguard Worker struct ppd_group_s *subgroups; /* Sub-groups (max depth = 1) */ 186*5e7646d2SAndroid Build Coastguard Worker } ppd_group_t; 187*5e7646d2SAndroid Build Coastguard Worker 188*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_const_s /**** Constraints @deprecated@ ****/ 189*5e7646d2SAndroid Build Coastguard Worker { 190*5e7646d2SAndroid Build Coastguard Worker char option1[PPD_MAX_NAME]; /* First keyword */ 191*5e7646d2SAndroid Build Coastguard Worker char choice1[PPD_MAX_NAME]; /* First option/choice (blank for all) */ 192*5e7646d2SAndroid Build Coastguard Worker char option2[PPD_MAX_NAME]; /* Second keyword */ 193*5e7646d2SAndroid Build Coastguard Worker char choice2[PPD_MAX_NAME]; /* Second option/choice (blank for all) */ 194*5e7646d2SAndroid Build Coastguard Worker } ppd_const_t; 195*5e7646d2SAndroid Build Coastguard Worker 196*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_size_s /**** Page Sizes @deprecated@ ****/ 197*5e7646d2SAndroid Build Coastguard Worker { 198*5e7646d2SAndroid Build Coastguard Worker int marked; /* Page size selected? */ 199*5e7646d2SAndroid Build Coastguard Worker char name[PPD_MAX_NAME]; /* Media size option */ 200*5e7646d2SAndroid Build Coastguard Worker float width; /* Width of media in points */ 201*5e7646d2SAndroid Build Coastguard Worker float length; /* Length of media in points */ 202*5e7646d2SAndroid Build Coastguard Worker float left; /* Left printable margin in points */ 203*5e7646d2SAndroid Build Coastguard Worker float bottom; /* Bottom printable margin in points */ 204*5e7646d2SAndroid Build Coastguard Worker float right; /* Right printable margin in points */ 205*5e7646d2SAndroid Build Coastguard Worker float top; /* Top printable margin in points */ 206*5e7646d2SAndroid Build Coastguard Worker } ppd_size_t; 207*5e7646d2SAndroid Build Coastguard Worker 208*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_emul_s /**** Emulators @deprecated@ ****/ 209*5e7646d2SAndroid Build Coastguard Worker { 210*5e7646d2SAndroid Build Coastguard Worker char name[PPD_MAX_NAME]; /* Emulator name */ 211*5e7646d2SAndroid Build Coastguard Worker char *start; /* Code to switch to this emulation */ 212*5e7646d2SAndroid Build Coastguard Worker char *stop; /* Code to stop this emulation */ 213*5e7646d2SAndroid Build Coastguard Worker } ppd_emul_t; 214*5e7646d2SAndroid Build Coastguard Worker 215*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_profile_s /**** sRGB Color Profiles @deprecated@ ****/ 216*5e7646d2SAndroid Build Coastguard Worker { 217*5e7646d2SAndroid Build Coastguard Worker char resolution[PPD_MAX_NAME]; 218*5e7646d2SAndroid Build Coastguard Worker /* Resolution or "-" */ 219*5e7646d2SAndroid Build Coastguard Worker char media_type[PPD_MAX_NAME]; 220*5e7646d2SAndroid Build Coastguard Worker /* Media type or "-" */ 221*5e7646d2SAndroid Build Coastguard Worker float density; /* Ink density to use */ 222*5e7646d2SAndroid Build Coastguard Worker float gamma; /* Gamma correction to use */ 223*5e7646d2SAndroid Build Coastguard Worker float matrix[3][3]; /* Transform matrix */ 224*5e7646d2SAndroid Build Coastguard Worker } ppd_profile_t; 225*5e7646d2SAndroid Build Coastguard Worker 226*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.2/macOS 10.5 ****/ 227*5e7646d2SAndroid Build Coastguard Worker typedef enum ppd_cptype_e /**** Custom Parameter Type @deprecated@ ****/ 228*5e7646d2SAndroid Build Coastguard Worker { 229*5e7646d2SAndroid Build Coastguard Worker PPD_CUSTOM_UNKNOWN = -1, /* Unknown type (error) */ 230*5e7646d2SAndroid Build Coastguard Worker PPD_CUSTOM_CURVE, /* Curve value for f(x) = x^value */ 231*5e7646d2SAndroid Build Coastguard Worker PPD_CUSTOM_INT, /* Integer number value */ 232*5e7646d2SAndroid Build Coastguard Worker PPD_CUSTOM_INVCURVE, /* Curve value for f(x) = x^(1/value) */ 233*5e7646d2SAndroid Build Coastguard Worker PPD_CUSTOM_PASSCODE, /* String of (hidden) numbers */ 234*5e7646d2SAndroid Build Coastguard Worker PPD_CUSTOM_PASSWORD, /* String of (hidden) characters */ 235*5e7646d2SAndroid Build Coastguard Worker PPD_CUSTOM_POINTS, /* Measurement value in points */ 236*5e7646d2SAndroid Build Coastguard Worker PPD_CUSTOM_REAL, /* Real number value */ 237*5e7646d2SAndroid Build Coastguard Worker PPD_CUSTOM_STRING /* String of characters */ 238*5e7646d2SAndroid Build Coastguard Worker } ppd_cptype_t; 239*5e7646d2SAndroid Build Coastguard Worker 240*5e7646d2SAndroid Build Coastguard Worker typedef union ppd_cplimit_u /**** Custom Parameter Limit @deprecated@ ****/ 241*5e7646d2SAndroid Build Coastguard Worker { 242*5e7646d2SAndroid Build Coastguard Worker float custom_curve; /* Gamma value */ 243*5e7646d2SAndroid Build Coastguard Worker int custom_int; /* Integer value */ 244*5e7646d2SAndroid Build Coastguard Worker float custom_invcurve; /* Gamma value */ 245*5e7646d2SAndroid Build Coastguard Worker int custom_passcode; /* Passcode length */ 246*5e7646d2SAndroid Build Coastguard Worker int custom_password; /* Password length */ 247*5e7646d2SAndroid Build Coastguard Worker float custom_points; /* Measurement value */ 248*5e7646d2SAndroid Build Coastguard Worker float custom_real; /* Real value */ 249*5e7646d2SAndroid Build Coastguard Worker int custom_string; /* String length */ 250*5e7646d2SAndroid Build Coastguard Worker } ppd_cplimit_t; 251*5e7646d2SAndroid Build Coastguard Worker 252*5e7646d2SAndroid Build Coastguard Worker typedef union ppd_cpvalue_u /**** Custom Parameter Value @deprecated@ ****/ 253*5e7646d2SAndroid Build Coastguard Worker { 254*5e7646d2SAndroid Build Coastguard Worker float custom_curve; /* Gamma value */ 255*5e7646d2SAndroid Build Coastguard Worker int custom_int; /* Integer value */ 256*5e7646d2SAndroid Build Coastguard Worker float custom_invcurve; /* Gamma value */ 257*5e7646d2SAndroid Build Coastguard Worker char *custom_passcode; /* Passcode value */ 258*5e7646d2SAndroid Build Coastguard Worker char *custom_password; /* Password value */ 259*5e7646d2SAndroid Build Coastguard Worker float custom_points; /* Measurement value */ 260*5e7646d2SAndroid Build Coastguard Worker float custom_real; /* Real value */ 261*5e7646d2SAndroid Build Coastguard Worker char *custom_string; /* String value */ 262*5e7646d2SAndroid Build Coastguard Worker } ppd_cpvalue_t; 263*5e7646d2SAndroid Build Coastguard Worker 264*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_cparam_s /**** Custom Parameter @deprecated@ ****/ 265*5e7646d2SAndroid Build Coastguard Worker { 266*5e7646d2SAndroid Build Coastguard Worker char name[PPD_MAX_NAME]; /* Parameter name */ 267*5e7646d2SAndroid Build Coastguard Worker char text[PPD_MAX_TEXT]; /* Human-readable text */ 268*5e7646d2SAndroid Build Coastguard Worker int order; /* Order (0 to N) */ 269*5e7646d2SAndroid Build Coastguard Worker ppd_cptype_t type; /* Parameter type */ 270*5e7646d2SAndroid Build Coastguard Worker ppd_cplimit_t minimum, /* Minimum value */ 271*5e7646d2SAndroid Build Coastguard Worker maximum; /* Maximum value */ 272*5e7646d2SAndroid Build Coastguard Worker ppd_cpvalue_t current; /* Current value */ 273*5e7646d2SAndroid Build Coastguard Worker } ppd_cparam_t; 274*5e7646d2SAndroid Build Coastguard Worker 275*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_coption_s /**** Custom Option @deprecated@ ****/ 276*5e7646d2SAndroid Build Coastguard Worker { 277*5e7646d2SAndroid Build Coastguard Worker char keyword[PPD_MAX_NAME]; /* Name of option that is being extended... */ 278*5e7646d2SAndroid Build Coastguard Worker ppd_option_t *option; /* Option that is being extended... */ 279*5e7646d2SAndroid Build Coastguard Worker int marked; /* Extended option is marked */ 280*5e7646d2SAndroid Build Coastguard Worker cups_array_t *params; /* Parameters */ 281*5e7646d2SAndroid Build Coastguard Worker } ppd_coption_t; 282*5e7646d2SAndroid Build Coastguard Worker 283*5e7646d2SAndroid Build Coastguard Worker typedef struct _ppd_cache_s _ppd_cache_t; 284*5e7646d2SAndroid Build Coastguard Worker /**** PPD cache and mapping data @deprecated@ ****/ 285*5e7646d2SAndroid Build Coastguard Worker 286*5e7646d2SAndroid Build Coastguard Worker typedef struct ppd_file_s /**** PPD File @deprecated@ ****/ 287*5e7646d2SAndroid Build Coastguard Worker { 288*5e7646d2SAndroid Build Coastguard Worker int language_level; /* Language level of device */ 289*5e7646d2SAndroid Build Coastguard Worker int color_device; /* 1 = color device, 0 = grayscale */ 290*5e7646d2SAndroid Build Coastguard Worker int variable_sizes; /* 1 = supports variable sizes, 0 = doesn't */ 291*5e7646d2SAndroid Build Coastguard Worker int accurate_screens; /* 1 = supports accurate screens, 0 = not */ 292*5e7646d2SAndroid Build Coastguard Worker int contone_only; /* 1 = continuous tone only, 0 = not */ 293*5e7646d2SAndroid Build Coastguard Worker int landscape; /* -90 or 90 */ 294*5e7646d2SAndroid Build Coastguard Worker int model_number; /* Device-specific model number */ 295*5e7646d2SAndroid Build Coastguard Worker int manual_copies; /* 1 = Copies done manually, 0 = hardware */ 296*5e7646d2SAndroid Build Coastguard Worker int throughput; /* Pages per minute */ 297*5e7646d2SAndroid Build Coastguard Worker ppd_cs_t colorspace; /* Default colorspace */ 298*5e7646d2SAndroid Build Coastguard Worker char *patches; /* Patch commands to be sent to printer */ 299*5e7646d2SAndroid Build Coastguard Worker int num_emulations; /* Number of emulations supported (no longer supported) @private@ */ 300*5e7646d2SAndroid Build Coastguard Worker ppd_emul_t *emulations; /* Emulations and the code to invoke them (no longer supported) @private@ */ 301*5e7646d2SAndroid Build Coastguard Worker char *jcl_begin; /* Start JCL commands */ 302*5e7646d2SAndroid Build Coastguard Worker char *jcl_ps; /* Enter PostScript interpreter */ 303*5e7646d2SAndroid Build Coastguard Worker char *jcl_end; /* End JCL commands */ 304*5e7646d2SAndroid Build Coastguard Worker char *lang_encoding; /* Language encoding */ 305*5e7646d2SAndroid Build Coastguard Worker char *lang_version; /* Language version (English, Spanish, etc.) */ 306*5e7646d2SAndroid Build Coastguard Worker char *modelname; /* Model name (general) */ 307*5e7646d2SAndroid Build Coastguard Worker char *ttrasterizer; /* Truetype rasterizer */ 308*5e7646d2SAndroid Build Coastguard Worker char *manufacturer; /* Manufacturer name */ 309*5e7646d2SAndroid Build Coastguard Worker char *product; /* Product name (from PS RIP/interpreter) */ 310*5e7646d2SAndroid Build Coastguard Worker char *nickname; /* Nickname (specific) */ 311*5e7646d2SAndroid Build Coastguard Worker char *shortnickname; /* Short version of nickname */ 312*5e7646d2SAndroid Build Coastguard Worker int num_groups; /* Number of UI groups */ 313*5e7646d2SAndroid Build Coastguard Worker ppd_group_t *groups; /* UI groups */ 314*5e7646d2SAndroid Build Coastguard Worker int num_sizes; /* Number of page sizes */ 315*5e7646d2SAndroid Build Coastguard Worker ppd_size_t *sizes; /* Page sizes */ 316*5e7646d2SAndroid Build Coastguard Worker float custom_min[2]; /* Minimum variable page size */ 317*5e7646d2SAndroid Build Coastguard Worker float custom_max[2]; /* Maximum variable page size */ 318*5e7646d2SAndroid Build Coastguard Worker float custom_margins[4]; /* Margins around page */ 319*5e7646d2SAndroid Build Coastguard Worker int num_consts; /* Number of UI/Non-UI constraints */ 320*5e7646d2SAndroid Build Coastguard Worker ppd_const_t *consts; /* UI/Non-UI constraints */ 321*5e7646d2SAndroid Build Coastguard Worker int num_fonts; /* Number of pre-loaded fonts */ 322*5e7646d2SAndroid Build Coastguard Worker char **fonts; /* Pre-loaded fonts */ 323*5e7646d2SAndroid Build Coastguard Worker int num_profiles; /* Number of sRGB color profiles @deprecated@ */ 324*5e7646d2SAndroid Build Coastguard Worker ppd_profile_t *profiles; /* sRGB color profiles @deprecated@ */ 325*5e7646d2SAndroid Build Coastguard Worker int num_filters; /* Number of filters */ 326*5e7646d2SAndroid Build Coastguard Worker char **filters; /* Filter strings... */ 327*5e7646d2SAndroid Build Coastguard Worker 328*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.1 ****/ 329*5e7646d2SAndroid Build Coastguard Worker int flip_duplex; /* 1 = Flip page for back sides @deprecated@ */ 330*5e7646d2SAndroid Build Coastguard Worker 331*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.1.19 ****/ 332*5e7646d2SAndroid Build Coastguard Worker char *protocols; /* Protocols (BCP, TBCP) string @since CUPS 1.1.19/macOS 10.3@ */ 333*5e7646d2SAndroid Build Coastguard Worker char *pcfilename; /* PCFileName string @since CUPS 1.1.19/macOS 10.3@ */ 334*5e7646d2SAndroid Build Coastguard Worker int num_attrs; /* Number of attributes @since CUPS 1.1.19/macOS 10.3@ @private@ */ 335*5e7646d2SAndroid Build Coastguard Worker int cur_attr; /* Current attribute @since CUPS 1.1.19/macOS 10.3@ @private@ */ 336*5e7646d2SAndroid Build Coastguard Worker ppd_attr_t **attrs; /* Attributes @since CUPS 1.1.19/macOS 10.3@ @private@ */ 337*5e7646d2SAndroid Build Coastguard Worker 338*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.2/macOS 10.5 ****/ 339*5e7646d2SAndroid Build Coastguard Worker cups_array_t *sorted_attrs; /* Attribute lookup array @since CUPS 1.2/macOS 10.5@ @private@ */ 340*5e7646d2SAndroid Build Coastguard Worker cups_array_t *options; /* Option lookup array @since CUPS 1.2/macOS 10.5@ @private@ */ 341*5e7646d2SAndroid Build Coastguard Worker cups_array_t *coptions; /* Custom options array @since CUPS 1.2/macOS 10.5@ @private@ */ 342*5e7646d2SAndroid Build Coastguard Worker 343*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.3/macOS 10.5 ****/ 344*5e7646d2SAndroid Build Coastguard Worker cups_array_t *marked; /* Marked choices @since CUPS 1.3/macOS 10.5@ @private@ */ 345*5e7646d2SAndroid Build Coastguard Worker 346*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.4/macOS 10.6 ****/ 347*5e7646d2SAndroid Build Coastguard Worker cups_array_t *cups_uiconstraints; /* cupsUIConstraints @since CUPS 1.4/macOS 10.6@ @private@ */ 348*5e7646d2SAndroid Build Coastguard Worker 349*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.5 ****/ 350*5e7646d2SAndroid Build Coastguard Worker _ppd_cache_t *cache; /* PPD cache and mapping data @since CUPS 1.5/macOS 10.7@ @private@ */ 351*5e7646d2SAndroid Build Coastguard Worker } ppd_file_t; 352*5e7646d2SAndroid Build Coastguard Worker 353*5e7646d2SAndroid Build Coastguard Worker 354*5e7646d2SAndroid Build Coastguard Worker /* 355*5e7646d2SAndroid Build Coastguard Worker * Prototypes... 356*5e7646d2SAndroid Build Coastguard Worker */ 357*5e7646d2SAndroid Build Coastguard Worker 358*5e7646d2SAndroid Build Coastguard Worker extern const char *cupsGetPPD(const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 359*5e7646d2SAndroid Build Coastguard Worker extern const char *cupsGetPPD2(http_t *http, const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 360*5e7646d2SAndroid Build Coastguard Worker 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."); 361*5e7646d2SAndroid Build Coastguard Worker extern char *cupsGetServerPPD(http_t *http, const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 362*5e7646d2SAndroid Build Coastguard Worker extern int cupsMarkOptions(ppd_file_t *ppd, int num_options, cups_option_t *options) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 363*5e7646d2SAndroid Build Coastguard Worker 364*5e7646d2SAndroid Build Coastguard Worker extern void ppdClose(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 365*5e7646d2SAndroid Build Coastguard Worker extern int ppdCollect(ppd_file_t *ppd, ppd_section_t section, 366*5e7646d2SAndroid Build Coastguard Worker ppd_choice_t ***choices) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 367*5e7646d2SAndroid Build Coastguard Worker extern int ppdConflicts(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 368*5e7646d2SAndroid Build Coastguard Worker extern int ppdEmit(ppd_file_t *ppd, FILE *fp, 369*5e7646d2SAndroid Build Coastguard Worker ppd_section_t section) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 370*5e7646d2SAndroid Build Coastguard Worker extern int ppdEmitFd(ppd_file_t *ppd, int fd, 371*5e7646d2SAndroid Build Coastguard Worker ppd_section_t section) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 372*5e7646d2SAndroid Build Coastguard Worker extern int ppdEmitJCL(ppd_file_t *ppd, FILE *fp, int job_id, 373*5e7646d2SAndroid Build Coastguard Worker const char *user, const char *title) 374*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 375*5e7646d2SAndroid Build Coastguard Worker extern ppd_choice_t *ppdFindChoice(ppd_option_t *o, const char *option) 376*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 377*5e7646d2SAndroid Build Coastguard Worker extern ppd_choice_t *ppdFindMarkedChoice(ppd_file_t *ppd, 378*5e7646d2SAndroid Build Coastguard Worker const char *keyword) 379*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 380*5e7646d2SAndroid Build Coastguard Worker extern ppd_option_t *ppdFindOption(ppd_file_t *ppd, const char *keyword) 381*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 382*5e7646d2SAndroid Build Coastguard Worker extern int ppdIsMarked(ppd_file_t *ppd, const char *keyword, 383*5e7646d2SAndroid Build Coastguard Worker const char *option) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 384*5e7646d2SAndroid Build Coastguard Worker extern void ppdMarkDefaults(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 385*5e7646d2SAndroid Build Coastguard Worker extern int ppdMarkOption(ppd_file_t *ppd, const char *keyword, 386*5e7646d2SAndroid Build Coastguard Worker const char *option) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 387*5e7646d2SAndroid Build Coastguard Worker extern ppd_file_t *ppdOpen(FILE *fp) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 388*5e7646d2SAndroid Build Coastguard Worker extern ppd_file_t *ppdOpenFd(int fd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 389*5e7646d2SAndroid Build Coastguard Worker extern ppd_file_t *ppdOpenFile(const char *filename) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 390*5e7646d2SAndroid Build Coastguard Worker extern float ppdPageLength(ppd_file_t *ppd, const char *name) 391*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 392*5e7646d2SAndroid Build Coastguard Worker extern ppd_size_t *ppdPageSize(ppd_file_t *ppd, const char *name) 393*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 394*5e7646d2SAndroid Build Coastguard Worker extern float ppdPageWidth(ppd_file_t *ppd, const char *name) 395*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 396*5e7646d2SAndroid Build Coastguard Worker 397*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.1.19 ****/ 398*5e7646d2SAndroid Build Coastguard Worker extern const char *ppdErrorString(ppd_status_t status) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 399*5e7646d2SAndroid Build Coastguard Worker extern ppd_attr_t *ppdFindAttr(ppd_file_t *ppd, const char *name, 400*5e7646d2SAndroid Build Coastguard Worker const char *spec) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 401*5e7646d2SAndroid Build Coastguard Worker extern ppd_attr_t *ppdFindNextAttr(ppd_file_t *ppd, const char *name, 402*5e7646d2SAndroid Build Coastguard Worker const char *spec) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 403*5e7646d2SAndroid Build Coastguard Worker extern ppd_status_t ppdLastError(int *line) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 404*5e7646d2SAndroid Build Coastguard Worker 405*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.1.20 ****/ 406*5e7646d2SAndroid Build Coastguard Worker extern void ppdSetConformance(ppd_conform_t c) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 407*5e7646d2SAndroid Build Coastguard Worker 408*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.2 ****/ 409*5e7646d2SAndroid Build Coastguard Worker extern int cupsRasterInterpretPPD(cups_page_header2_t *h, 410*5e7646d2SAndroid Build Coastguard Worker ppd_file_t *ppd, 411*5e7646d2SAndroid Build Coastguard Worker int num_options, 412*5e7646d2SAndroid Build Coastguard Worker cups_option_t *options, 413*5e7646d2SAndroid Build Coastguard Worker cups_interpret_cb_t func) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 414*5e7646d2SAndroid Build Coastguard Worker extern int ppdCollect2(ppd_file_t *ppd, ppd_section_t section, 415*5e7646d2SAndroid Build Coastguard Worker float min_order, ppd_choice_t ***choices) 416*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 417*5e7646d2SAndroid Build Coastguard Worker extern int ppdEmitAfterOrder(ppd_file_t *ppd, FILE *fp, 418*5e7646d2SAndroid Build Coastguard Worker ppd_section_t section, int limit, 419*5e7646d2SAndroid Build Coastguard Worker float min_order) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 420*5e7646d2SAndroid Build Coastguard Worker extern int ppdEmitJCLEnd(ppd_file_t *ppd, FILE *fp) 421*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 422*5e7646d2SAndroid Build Coastguard Worker extern char *ppdEmitString(ppd_file_t *ppd, ppd_section_t section, 423*5e7646d2SAndroid Build Coastguard Worker float min_order) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 424*5e7646d2SAndroid Build Coastguard Worker extern ppd_coption_t *ppdFindCustomOption(ppd_file_t *ppd, 425*5e7646d2SAndroid Build Coastguard Worker const char *keyword) 426*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 427*5e7646d2SAndroid Build Coastguard Worker extern ppd_cparam_t *ppdFindCustomParam(ppd_coption_t *opt, 428*5e7646d2SAndroid Build Coastguard Worker const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 429*5e7646d2SAndroid Build Coastguard Worker extern ppd_cparam_t *ppdFirstCustomParam(ppd_coption_t *opt) 430*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 431*5e7646d2SAndroid Build Coastguard Worker extern ppd_option_t *ppdFirstOption(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 432*5e7646d2SAndroid Build Coastguard Worker extern ppd_cparam_t *ppdNextCustomParam(ppd_coption_t *opt) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 433*5e7646d2SAndroid Build Coastguard Worker extern ppd_option_t *ppdNextOption(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 434*5e7646d2SAndroid Build Coastguard Worker extern int ppdLocalize(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 435*5e7646d2SAndroid Build Coastguard Worker extern ppd_file_t *ppdOpen2(cups_file_t *fp) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 436*5e7646d2SAndroid Build Coastguard Worker 437*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.3/macOS 10.5 ****/ 438*5e7646d2SAndroid Build Coastguard Worker extern const char *ppdLocalizeIPPReason(ppd_file_t *ppd, 439*5e7646d2SAndroid Build Coastguard Worker const char *reason, 440*5e7646d2SAndroid Build Coastguard Worker const char *scheme, 441*5e7646d2SAndroid Build Coastguard Worker char *buffer, 442*5e7646d2SAndroid Build Coastguard Worker size_t bufsize) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 443*5e7646d2SAndroid Build Coastguard Worker 444*5e7646d2SAndroid Build Coastguard Worker /**** New in CUPS 1.4/macOS 10.6 ****/ 445*5e7646d2SAndroid Build Coastguard Worker extern int cupsGetConflicts(ppd_file_t *ppd, const char *option, 446*5e7646d2SAndroid Build Coastguard Worker const char *choice, 447*5e7646d2SAndroid Build Coastguard Worker cups_option_t **options) 448*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 449*5e7646d2SAndroid Build Coastguard Worker extern int cupsResolveConflicts(ppd_file_t *ppd, 450*5e7646d2SAndroid Build Coastguard Worker const char *option, 451*5e7646d2SAndroid Build Coastguard Worker const char *choice, 452*5e7646d2SAndroid Build Coastguard Worker int *num_options, 453*5e7646d2SAndroid Build Coastguard Worker cups_option_t **options) 454*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 455*5e7646d2SAndroid Build Coastguard Worker extern int ppdInstallableConflict(ppd_file_t *ppd, 456*5e7646d2SAndroid Build Coastguard Worker const char *option, 457*5e7646d2SAndroid Build Coastguard Worker const char *choice) 458*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 459*5e7646d2SAndroid Build Coastguard Worker extern ppd_attr_t *ppdLocalizeAttr(ppd_file_t *ppd, const char *keyword, 460*5e7646d2SAndroid Build Coastguard Worker const char *spec) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 461*5e7646d2SAndroid Build Coastguard Worker extern const char *ppdLocalizeMarkerName(ppd_file_t *ppd, 462*5e7646d2SAndroid Build Coastguard Worker const char *name) 463*5e7646d2SAndroid Build Coastguard Worker _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 464*5e7646d2SAndroid Build Coastguard Worker extern int ppdPageSizeLimits(ppd_file_t *ppd, 465*5e7646d2SAndroid Build Coastguard Worker ppd_size_t *minimum, 466*5e7646d2SAndroid Build Coastguard Worker ppd_size_t *maximum) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead."); 467*5e7646d2SAndroid Build Coastguard Worker 468*5e7646d2SAndroid Build Coastguard Worker 469*5e7646d2SAndroid Build Coastguard Worker /* 470*5e7646d2SAndroid Build Coastguard Worker * C++ magic... 471*5e7646d2SAndroid Build Coastguard Worker */ 472*5e7646d2SAndroid Build Coastguard Worker 473*5e7646d2SAndroid Build Coastguard Worker # ifdef __cplusplus 474*5e7646d2SAndroid Build Coastguard Worker } 475*5e7646d2SAndroid Build Coastguard Worker # endif /* __cplusplus */ 476*5e7646d2SAndroid Build Coastguard Worker #endif /* !_CUPS_PPD_H_ */ 477