]> git.ipfire.org Git - thirdparty/cups.git/blob - cups/ppd-private.h
Merge changes from CUPS 1.5svn-r9000.
[thirdparty/cups.git] / cups / ppd-private.h
1 /*
2 * "$Id$"
3 *
4 * Private PPD definitions for CUPS.
5 *
6 * Copyright 2007-2010 by Apple Inc.
7 * Copyright 1997-2007 by Easy Software Products, all rights reserved.
8 *
9 * These coded instructions, statements, and computer programs are the
10 * property of Apple Inc. and are protected by Federal copyright
11 * law. Distribution and use rights are outlined in the file "LICENSE.txt"
12 * which should have been included with this file. If this file is
13 * file is missing or damaged, see the license at "http://www.cups.org/".
14 *
15 * PostScript is a trademark of Adobe Systems, Inc.
16 *
17 * This code and any derivative of it may be used and distributed
18 * freely under the terms of the GNU General Public License when
19 * used with GNU Ghostscript or its derivatives. Use of the code
20 * (or any derivative of it) with software other than GNU
21 * GhostScript (or its derivatives) is governed by the CUPS license
22 * agreement.
23 *
24 * This file is subject to the Apple OS-Developed Software exception.
25 */
26
27 #ifndef _CUPS_PPD_PRIVATE_H_
28 # define _CUPS_PPD_PRIVATE_H_
29
30 /*
31 * Include necessary headers...
32 */
33
34 # include "cups.h"
35
36
37 /*
38 * C++ magic...
39 */
40
41 # ifdef __cplusplus
42 extern "C" {
43 # endif /* __cplusplus */
44
45
46 /*
47 * Structures...
48 */
49
50 typedef struct _ppd_cups_uiconst_s /**** Constraint from cupsUIConstraints ****/
51 {
52 ppd_option_t *option; /* Constrained option */
53 ppd_choice_t *choice; /* Constrained choice or @code NULL@ */
54 int installable; /* Installable option? */
55 } _ppd_cups_uiconst_t;
56
57 typedef struct _ppd_cups_uiconsts_s /**** cupsUIConstraints ****/
58 {
59 char resolver[PPD_MAX_NAME]; /* Resolver name */
60 int installable, /* Constrained against any installable options? */
61 num_constraints; /* Number of constraints */
62 _ppd_cups_uiconst_t *constraints; /* Constraints */
63 } _ppd_cups_uiconsts_t;
64
65
66 /*
67 * Prototypes...
68 */
69
70 extern void _ppdFreeLanguages(cups_array_t *languages);
71 extern cups_encoding_t _ppdGetEncoding(const char *name);
72 extern cups_array_t *_ppdGetLanguages(ppd_file_t *ppd);
73 extern unsigned _ppdHashName(const char *name);
74 extern ppd_attr_t *_ppdLocalizedAttr(ppd_file_t *ppd, const char *keyword,
75 const char *spec, const char *ll_CC);
76 extern char *_ppdNormalizeMakeAndModel(const char *make_and_model,
77 char *buffer,
78 size_t bufsize);
79 extern int _ppdParseOptions(const char *s, int num_options,
80 cups_option_t **options);
81
82
83 /*
84 * C++ magic...
85 */
86
87 # ifdef __cplusplus
88 }
89 # endif /* __cplusplus */
90 #endif /* !_CUPS_PPD_PRIVATE_H_ */
91
92 /*
93 * End of "$Id$".
94 */