1/*
2 * Private IPP definitions for CUPS.
3 *
4 * Copyright 2007-2014 by Apple Inc.
5 * Copyright 1997-2006 by Easy Software Products.
6 *
7 * These coded instructions, statements, and computer programs are the
8 * property of Apple Inc. and are protected by Federal copyright
9 * law.  Distribution and use rights are outlined in the file "LICENSE.txt"
10 * which should have been included with this file.  If this file is
11 * missing or damaged, see the license at "http://www.cups.org/".
12 *
13 * This file is subject to the Apple OS-Developed Software exception.
14 */
15
16#ifndef _CUPS_IPP_PRIVATE_H_
17#  define _CUPS_IPP_PRIVATE_H_
18
19/*
20 * Include necessary headers...
21 */
22
23#  include <cups/ipp.h>
24
25
26/*
27 * C++ magic...
28 */
29
30#  ifdef __cplusplus
31extern "C" {
32#  endif /* __cplusplus */
33
34
35/*
36 * Constants...
37 */
38
39#  define IPP_BUF_SIZE	(IPP_MAX_LENGTH + 2)
40					/* Size of buffer */
41
42
43/*
44 * Structures...
45 */
46
47typedef struct				/**** Attribute mapping data ****/
48{
49  int		multivalue;		/* Option has multiple values? */
50  const char	*name;			/* Option/attribute name */
51  ipp_tag_t	value_tag;		/* Value tag for this attribute */
52  ipp_tag_t	group_tag;		/* Group tag for this attribute */
53  ipp_tag_t	alt_group_tag;		/* Alternate group tag for this
54					 * attribute */
55  const ipp_op_t *operations;		/* Allowed operations for this attr */
56} _ipp_option_t;
57
58
59/*
60 * Prototypes for private functions...
61 */
62
63#ifdef DEBUG
64extern const char	*_ippCheckOptions(void);
65#endif /* DEBUG */
66extern _ipp_option_t	*_ippFindOption(const char *name);
67
68/*
69 * C++ magic...
70 */
71
72#  ifdef __cplusplus
73}
74#  endif /* __cplusplus */
75#endif /* !_CUPS_IPP_H_ */
76