/*
- * "$Id: ipp-private.h 7259 2008-01-28 22:26:04Z mike $"
+ * Private IPP definitions for CUPS.
*
- * Private IPP definitions for CUPS.
+ * Copyright 2007-2014 by Apple Inc.
+ * Copyright 1997-2006 by Easy Software Products.
*
- * Copyright 2007-2011 by Apple Inc.
- * Copyright 1997-2006 by Easy Software Products.
+ * 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/".
- *
- * This file is subject to the Apple OS-Developed Software exception.
+ * This file is subject to the Apple OS-Developed Software exception.
*/
#ifndef _CUPS_IPP_PRIVATE_H_
* Structures...
*/
-typedef union _ipp_request_u /**** Request Header ****/
-{
- struct /* Any Header */
- {
- ipp_uchar_t version[2]; /* Protocol version number */
- int op_status; /* Operation ID or status code*/
- int request_id; /* Request ID */
- } any;
-
- struct /* Operation Header */
- {
- ipp_uchar_t version[2]; /* Protocol version number */
- ipp_op_t operation_id; /* Operation ID */
- int request_id; /* Request ID */
- } op;
-
- struct /* Status Header */
- {
- ipp_uchar_t version[2]; /* Protocol version number */
- ipp_status_t status_code; /* Status code */
- int request_id; /* Request ID */
- } status;
-
- /**** New in CUPS 1.1.19 ****/
- struct /* Event Header @since CUPS 1.1.19/Mac OS X 10.3@ */
- {
- ipp_uchar_t version[2]; /* Protocol version number */
- ipp_status_t status_code; /* Status code */
- int request_id; /* Request ID */
- } event;
-} _ipp_request_t;
-
-/**** New in CUPS 1.1.19 ****/
-
-typedef union _ipp_value_u /**** Attribute Value ****/
-{
- int integer; /* Integer/enumerated value */
-
- char boolean; /* Boolean value */
-
- ipp_uchar_t date[11]; /* Date/time value */
-
- struct
- {
- int xres, /* Horizontal resolution */
- yres; /* Vertical resolution */
- ipp_res_t units; /* Resolution units */
- } resolution; /* Resolution value */
-
- struct
- {
- int lower, /* Lower value */
- upper; /* Upper value */
- } range; /* Range of integers value */
-
- struct
- {
- char *language; /* Language code */
- char *text; /* String */
- } string; /* String with language value */
-
- struct
- {
- int length; /* Length of attribute */
- void *data; /* Data in attribute */
- } unknown; /* Unknown attribute type */
-
-/**** New in CUPS 1.1.19 ****/
- ipp_t *collection; /* Collection value @since CUPS 1.1.19/Mac OS X 10.3@ */
-} _ipp_value_t;
-
-struct _ipp_attribute_s /**** Attribute ****/
-{
- ipp_attribute_t *next; /* Next attribute in list */
- ipp_tag_t group_tag, /* Job/Printer/Operation group tag */
- value_tag; /* What type of value is it? */
- char *name; /* Name of attribute */
- int num_values; /* Number of values */
- _ipp_value_t values[1]; /* Values */
-};
-
-struct _ipp_s /**** IPP Request/Response/Notification ****/
-{
- ipp_state_t state; /* State of request */
- _ipp_request_t request; /* Request header */
- ipp_attribute_t *attrs; /* Attributes */
- ipp_attribute_t *last; /* Last attribute in list */
- ipp_attribute_t *current; /* Current attribute (for read/write) */
- ipp_tag_t curtag; /* Current attribute group tag */
-
-/**** New in CUPS 1.2 ****/
- ipp_attribute_t *prev; /* Previous attribute (for read) @since CUPS 1.2/Mac OS X 10.5@ */
-
-/**** New in CUPS 1.4.4 ****/
- int use; /* Use count @since CUPS 1.4.4/Mac OS X 10.6.?@ */
-};
-
typedef struct /**** Attribute mapping data ****/
{
int multivalue; /* Option has multiple values? */
ipp_tag_t group_tag; /* Group tag for this attribute */
ipp_tag_t alt_group_tag; /* Alternate group tag for this
* attribute */
+ const ipp_op_t *operations; /* Allowed operations for this attr */
} _ipp_option_t;
* Prototypes for private functions...
*/
+#ifdef DEBUG
+extern const char *_ippCheckOptions(void);
+#endif /* DEBUG */
extern _ipp_option_t *_ippFindOption(const char *name);
-
/*
* C++ magic...
*/
}
# endif /* __cplusplus */
#endif /* !_CUPS_IPP_H_ */
-
-/*
- * End of "$Id: ipp-private.h 7259 2008-01-28 22:26:04Z mike $".
- */