]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/ppd-private.h
Fix source file header text duplication text duplication.
[thirdparty/cups.git] / cups / ppd-private.h
index 28016d632437d9f6bb049295b156265291805733..6020190915badccbd54e0adee6390e282beebc24 100644 (file)
@@ -1,27 +1,25 @@
 /*
- * "$Id$"
+ * Private PPD definitions for CUPS.
  *
- *   Private PPD definitions for CUPS.
+ * Copyright 2007-2015 by Apple Inc.
+ * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ * These coded instructions, statements, and computer programs are the
+ * 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
+ * missing or damaged, see the license at "http://www.cups.org/".
  *
- *   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.
  *
- *   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 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.
+ * This file is subject to the Apple OS-Developed Software exception.
  */
 
 #ifndef _CUPS_PPD_PRIVATE_H_
@@ -49,13 +47,25 @@ extern "C" {
  * Constants...
  */
 
-#  define _PPD_CACHE_VERSION   6       /* Version number in cache file */
+#  define _PPD_CACHE_VERSION   7       /* Version number in cache file */
 
 
 /*
  * Types and structures...
  */
 
+typedef struct _ppd_globals_s          /**** CUPS PPD global state data ****/
+{
+  /* ppd.c */
+  ppd_status_t         ppd_status;     /* Status of last ppdOpen*() */
+  int                  ppd_line;       /* Current line number */
+  ppd_conform_t                ppd_conform;    /* Level of conformance required */
+
+  /* ppd-util.c */
+  char                 ppd_filename[HTTP_MAX_URI];
+                                       /* PPD filename */
+} _ppd_globals_t;
+
 typedef enum _ppd_localization_e       /**** Selector for _ppdOpen ****/
 {
   _PPD_LOCALIZATION_DEFAULT,           /* Load only the default localization */
@@ -109,12 +119,20 @@ typedef struct _pwg_finishings_s  /**** PWG finishings mapping data ****/
   cups_option_t                *options;       /* Options to apply */
 } _pwg_finishings_t;
 
+typedef struct _pwg_material_s         /**** PWG material mapping data ****/
+{
+  char         *key,                   /* material-key value */
+               *name;                  /* material-name value */
+  int          num_props;              /* Number of properties */
+  cups_option_t        *props;                 /* Material properties */
+} _pwg_material_t;
+
 struct _ppd_cache_s                    /**** PPD cache and PWG conversion data ****/
 {
   int          num_bins;               /* Number of output bins */
-  _pwg_map_t   *bins;                  /* Output bins */
+  pwg_map_t    *bins;                  /* Output bins */
   int          num_sizes;              /* Number of media sizes */
-  _pwg_size_t  *sizes;                 /* Media sizes */
+  pwg_size_t   *sizes;                 /* Media sizes */
   int          custom_max_width,       /* Maximum custom width in 2540ths */
                custom_max_length,      /* Maximum custom length in 2540ths */
                custom_min_width,       /* Minimum custom width in 2540ths */
@@ -122,12 +140,12 @@ struct _ppd_cache_s                       /**** PPD cache and PWG conversion data ****/
   char         *custom_max_keyword,    /* Maximum custom size PWG keyword */
                *custom_min_keyword,    /* Minimum custom size PWG keyword */
                custom_ppd_size[41];    /* Custom PPD size name */
-  _pwg_size_t  custom_size;            /* Custom size record */
+  pwg_size_t   custom_size;            /* Custom size record */
   char         *source_option;         /* PPD option for media source */
   int          num_sources;            /* Number of media sources */
-  _pwg_map_t   *sources;               /* Media sources */
+  pwg_map_t    *sources;               /* Media sources */
   int          num_types;              /* Number of media types */
-  _pwg_map_t   *types;                 /* Media types */
+  pwg_map_t    *types;                 /* Media types */
   int          num_presets[_PWG_PRINT_COLOR_MODE_MAX][_PWG_PRINT_QUALITY_MAX];
                                        /* Number of print-color-mode/print-quality options */
   cups_option_t        *presets[_PWG_PRINT_COLOR_MODE_MAX][_PWG_PRINT_QUALITY_MAX];
@@ -148,6 +166,11 @@ struct _ppd_cache_s                        /**** PPD cache and PWG conversion data ****/
   cups_array_t *mandatory;             /* cupsMandatory value */
   char         *charge_info_uri;       /* cupsChargeInfoURI value */
   cups_array_t *support_files;         /* Support files - ICC profiles, etc. */
+  char         *cups_3d,               /* cups3D value */
+               *cups_layer_order;      /* cupsLayerOrder value */
+  int          cups_accuracy[3];       /* cupsAccuracy value - x, y, and z in nanometers */
+  int          cups_volume[3];         /* cupsVolume value - x, y, and z in millimeters */
+  cups_array_t *materials;             /* cupsMaterial values */
 };
 
 
@@ -155,6 +178,7 @@ struct _ppd_cache_s                 /**** PPD cache and PWG conversion data ****/
  * Prototypes...
  */
 
+extern int             _cupsConvertOptions(ipp_t *request, ppd_file_t *ppd, _ppd_cache_t *pc, ipp_attribute_t *media_col_sup, ipp_attribute_t *doc_handling_sup, ipp_attribute_t *print_color_mode_sup, const char *user, const char *format, int copies, int num_options, cups_option_t *options);
 extern _ppd_cache_t    *_ppdCacheCreateWithFile(const char *filename,
                                                 ipp_t **attrs);
 extern _ppd_cache_t    *_ppdCacheCreateWithPPD(ppd_file_t *ppd);
@@ -179,7 +203,7 @@ extern const char   *_ppdCacheGetOutputBin(_ppd_cache_t *pc,
                                               const char *keyword);
 extern const char      *_ppdCacheGetPageSize(_ppd_cache_t *pc, ipp_t *job,
                                              const char *keyword, int *exact);
-extern _pwg_size_t     *_ppdCacheGetSize(_ppd_cache_t *pc,
+extern pwg_size_t      *_ppdCacheGetSize(_ppd_cache_t *pc,
                                          const char *page_size);
 extern const char      *_ppdCacheGetSource(_ppd_cache_t *pc,
                                            const char *input_slot);
@@ -187,9 +211,11 @@ extern const char  *_ppdCacheGetType(_ppd_cache_t *pc,
                                          const char *media_type);
 extern int             _ppdCacheWriteFile(_ppd_cache_t *pc,
                                           const char *filename, ipp_t *attrs);
+extern char            *_ppdCreateFromIPP(char *buffer, size_t bufsize, ipp_t *response);
 extern void            _ppdFreeLanguages(cups_array_t *languages);
 extern cups_encoding_t _ppdGetEncoding(const char *name);
 extern cups_array_t    *_ppdGetLanguages(ppd_file_t *ppd);
+extern _ppd_globals_t  *_ppdGlobals(void);
 extern unsigned                _ppdHashName(const char *name);
 extern ppd_attr_t      *_ppdLocalizedAttr(ppd_file_t *ppd, const char *keyword,
                                           const char *spec, const char *ll_CC);
@@ -207,7 +233,7 @@ extern const char   *_pwgInputSlotForSource(const char *media_source,
                                                char *name, size_t namesize);
 extern const char      *_pwgMediaTypeForType(const char *media_type,
                                              char *name, size_t namesize);
-extern const char      *_pwgPageSizeForMedia(_pwg_media_t *media,
+extern const char      *_pwgPageSizeForMedia(pwg_media_t *media,
                                              char *name, size_t namesize);
 
 
@@ -219,7 +245,3 @@ extern const char   *_pwgPageSizeForMedia(_pwg_media_t *media,
 }
 #  endif /* __cplusplus */
 #endif /* !_CUPS_PPD_PRIVATE_H_ */
-
-/*
- * End of "$Id$".
- */