/*
- * "$Id: ipp.h 7847 2008-08-19 04:22:14Z mike $"
+ * Internet Printing Protocol definitions for CUPS.
*
- * Internet Printing Protocol definitions for CUPS.
+ * Copyright 2007-2014 by Apple Inc.
+ * Copyright 1997-2006 by Easy Software Products.
*
- * Copyright 2007-2013 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
+ * 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_H_
# define IPP_MAX_URISCHEME 64 /* Maximum length of uriScheme values w/nul */
# define IPP_MAX_VALUES 8 /* Power-of-2 allocation increment */
+/*
+ * Macro to flag a text string attribute as "const" (static storage) vs.
+ * allocated.
+ */
+
+# define IPP_CONST_TAG(x) (ipp_tag_t)(IPP_TAG_CUPS_CONST | (x))
+
/*
* Types and structures...
IPP_FINISHINGS_BALE, /* Bale (any type) */
IPP_FINISHINGS_BOOKLET_MAKER, /* Fold to make booklet */
IPP_FINISHINGS_JOG_OFFSET, /* Offset for binding (any type) */
+ IPP_FINISHINGS_COAT, /* Apply protective liquid or powder coating */
+ IPP_FINISHINGS_LAMINATE, /* Apply protective (solid) material */
IPP_FINISHINGS_STAPLE_TOP_LEFT = 20, /* Staple top left corner */
IPP_FINISHINGS_STAPLE_BOTTOM_LEFT, /* Staple bottom left corner */
IPP_FINISHINGS_STAPLE_TOP_RIGHT, /* Staple top right corner */
IPP_FINISHINGS_STAPLE_DUAL_TOP, /* Two staples on top */
IPP_FINISHINGS_STAPLE_DUAL_RIGHT, /* Two staples on right */
IPP_FINISHINGS_STAPLE_DUAL_BOTTOM, /* Two staples on bottom */
+ IPP_FINISHINGS_STAPLE_TRIPLE_LEFT, /* Three staples on left */
+ IPP_FINISHINGS_STAPLE_TRIPLE_TOP, /* Three staples on top */
+ IPP_FINISHINGS_STAPLE_TRIPLE_RIGHT, /* Three staples on right */
+ IPP_FINISHINGS_STAPLE_TRIPLE_BOTTOM, /* Three staples on bottom */
IPP_FINISHINGS_BIND_LEFT = 50, /* Bind on left */
IPP_FINISHINGS_BIND_TOP, /* Bind on top */
IPP_FINISHINGS_BIND_RIGHT, /* Bind on right */
IPP_OP_CUPS_INVALID = -1, /* Invalid operation name for @link ippOpValue@ */
IPP_OP_CUPS_NONE = 0, /* No operation @private@ */
IPP_OP_PRINT_JOB = 0x0002, /* Print a single file */
- IPP_OP_PRINT_URI, /* Print a single URL @private@ */
+ IPP_OP_PRINT_URI, /* Print a single URL */
IPP_OP_VALIDATE_JOB, /* Validate job options */
IPP_OP_CREATE_JOB, /* Create an empty print job */
IPP_OP_SEND_DOCUMENT, /* Add a file to a job */
- IPP_OP_SEND_URI, /* Add a URL to a job @private@ */
+ IPP_OP_SEND_URI, /* Add a URL to a job */
IPP_OP_CANCEL_JOB, /* Cancel a job */
IPP_OP_GET_JOB_ATTRIBUTES, /* Get job attributes */
IPP_OP_GET_JOBS, /* Get a list of jobs */
IPP_OP_PAUSE_PRINTER = 0x0010, /* Stop a printer */
IPP_OP_RESUME_PRINTER, /* Start a printer */
IPP_OP_PURGE_JOBS, /* Cancel all jobs */
- IPP_OP_SET_PRINTER_ATTRIBUTES, /* Set printer attributes @private@ */
+ IPP_OP_SET_PRINTER_ATTRIBUTES, /* Set printer attributes */
IPP_OP_SET_JOB_ATTRIBUTES, /* Set job attributes */
IPP_OP_GET_PRINTER_SUPPORTED_VALUES, /* Get supported attribute values */
- IPP_OP_CREATE_PRINTER_SUBSCRIPTION, /* Create a printer subscription @since CUPS 1.2/OS X 10.5@ */
- IPP_OP_CREATE_JOB_SUBSCRIPTION, /* Create a job subscription @since CUPS 1.2/OS X 10.5@ */
+ IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS, /* Create one or more printer subscriptions @since CUPS 1.2/OS X 10.5@ */
+ IPP_OP_CREATE_JOB_SUBSCRIPTIONS, /* Create one of more job subscriptions @since CUPS 1.2/OS X 10.5@ */
IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES, /* Get subscription attributes @since CUPS 1.2/OS X 10.5@ */
IPP_OP_GET_SUBSCRIPTIONS, /* Get list of subscriptions @since CUPS 1.2/OS X 10.5@ */
IPP_OP_RENEW_SUBSCRIPTION, /* Renew a printer subscription @since CUPS 1.2/OS X 10.5@ */
IPP_OP_ENABLE_PRINTER, /* Start a printer */
IPP_OP_DISABLE_PRINTER, /* Stop a printer */
IPP_OP_PAUSE_PRINTER_AFTER_CURRENT_JOB,
- /* Stop printer after the current job @private@ */
- IPP_OP_HOLD_NEW_JOBS, /* Hold new jobs @private@ */
- IPP_OP_RELEASE_HELD_NEW_JOBS, /* Release new jobs @private@ */
- IPP_OP_DEACTIVATE_PRINTER, /* Stop a printer @private@ */
- IPP_OP_ACTIVATE_PRINTER, /* Start a printer @private@ */
- IPP_OP_RESTART_PRINTER, /* Restart a printer @private@ */
- IPP_OP_SHUTDOWN_PRINTER, /* Turn a printer off @private@ */
- IPP_OP_STARTUP_PRINTER, /* Turn a printer on @private@ */
- IPP_OP_REPROCESS_JOB, /* Reprint a job @private@ */
- IPP_OP_CANCEL_CURRENT_JOB, /* Cancel the current job @private@ */
- IPP_OP_SUSPEND_CURRENT_JOB, /* Suspend the current job @private@ */
- IPP_OP_RESUME_JOB, /* Resume the current job @private@ */
- IPP_OP_PROMOTE_JOB, /* Promote a job to print sooner @private@ */
- IPP_OP_SCHEDULE_JOB_AFTER, /* Schedule a job to print after another @private@ */
- IPP_OP_CANCEL_DOCUMENT = 0x0033, /* Cancel-Document @private@ */
- IPP_OP_GET_DOCUMENT_ATTRIBUTES, /* Get-Document-Attributes @private@ */
- IPP_OP_GET_DOCUMENTS, /* Get-Documents @private@ */
- IPP_OP_DELETE_DOCUMENT, /* Delete-Document @private@ */
- IPP_OP_SET_DOCUMENT_ATTRIBUTES, /* Set-Document-Attributes @private@ */
+ /* Stop printer after the current job */
+ IPP_OP_HOLD_NEW_JOBS, /* Hold new jobs */
+ IPP_OP_RELEASE_HELD_NEW_JOBS, /* Release new jobs */
+ IPP_OP_DEACTIVATE_PRINTER, /* Stop a printer */
+ IPP_OP_ACTIVATE_PRINTER, /* Start a printer */
+ IPP_OP_RESTART_PRINTER, /* Restart a printer */
+ IPP_OP_SHUTDOWN_PRINTER, /* Turn a printer off */
+ IPP_OP_STARTUP_PRINTER, /* Turn a printer on */
+ IPP_OP_REPROCESS_JOB, /* Reprint a job */
+ IPP_OP_CANCEL_CURRENT_JOB, /* Cancel the current job */
+ IPP_OP_SUSPEND_CURRENT_JOB, /* Suspend the current job */
+ IPP_OP_RESUME_JOB, /* Resume the current job */
+ IPP_OP_PROMOTE_JOB, /* Promote a job to print sooner */
+ IPP_OP_SCHEDULE_JOB_AFTER, /* Schedule a job to print after another */
+ IPP_OP_CANCEL_DOCUMENT = 0x0033, /* Cancel-Document */
+ IPP_OP_GET_DOCUMENT_ATTRIBUTES, /* Get-Document-Attributes */
+ IPP_OP_GET_DOCUMENTS, /* Get-Documents */
+ IPP_OP_DELETE_DOCUMENT, /* Delete-Document */
+ IPP_OP_SET_DOCUMENT_ATTRIBUTES, /* Set-Document-Attributes */
IPP_OP_CANCEL_JOBS, /* Cancel-Jobs */
IPP_OP_CANCEL_MY_JOBS, /* Cancel-My-Jobs */
IPP_OP_RESUBMIT_JOB, /* Resubmit-Job */
IPP_OP_CLOSE_JOB, /* Close-Job */
- IPP_OP_IDENTIFY_PRINTER, /* Identify-Printer @private@ */
- IPP_OP_VALIDATE_DOCUMENT, /* Validate-Document @private@ */
- IPP_OP_SEND_HARDCOPY_DOCUMENT, /* Send-Hardcopy-Document @private@ */
+ IPP_OP_IDENTIFY_PRINTER, /* Identify-Printer */
+ IPP_OP_VALIDATE_DOCUMENT, /* Validate-Document */
+ IPP_OP_SEND_HARDCOPY_DOCUMENT, /* Send-Hardcopy-Document */
+ IPP_OP_ACKNOWLEDGE_DOCUMENT, /* Acknowledge-Document */
+ IPP_OP_ACKNOWLEDGE_IDENTIFY_PRINTER, /* Acknowledge-Identify-Printer */
+ IPP_OP_ACKNOWLEDGE_JOB, /* Acknowledge-Job */
+ IPP_OP_FETCH_DOCUMENT, /* Fetch-Document */
+ IPP_OP_FETCH_JOB, /* Fetch-Job */
+ IPP_OP_GET_OUTPUT_DEVICE_ATTRIBUTES, /* Get-Output-Device-Attributes */
+ IPP_OP_UPDATE_ACTIVE_JOBS, /* Update-Active-Jobs */
+ IPP_OP_DEREGISTER_OUTPUT_DEVICE, /* Deregister-Output-Device */
+ IPP_OP_UPDATE_DOCUMENT_STATUS, /* Update-Document-Status */
+ IPP_OP_UPDATE_JOB_STATUS, /* Update-Job-Status */
+ IPP_OP_UPDATE_OUTPUT_DEVICE_ATTRIBUTES,
+ /* Update-Output-Device-Attributes */
+ IPP_OP_GET_NEXT_DOCUMENT_DATA, /* Get-Next-Document-Data */
IPP_OP_PRIVATE = 0x4000, /* Reserved @private@ */
IPP_OP_CUPS_GET_DEFAULT, /* Get the default printer */
IPP_OP_CUPS_ACCEPT_JOBS, /* Accept new jobs on a printer */
IPP_OP_CUPS_REJECT_JOBS, /* Reject new jobs on a printer */
IPP_OP_CUPS_SET_DEFAULT, /* Set the default printer */
- IPP_OP_CUPS_GET_DEVICES, /* Get a list of supported devices */
- IPP_OP_CUPS_GET_PPDS, /* Get a list of supported drivers */
+ IPP_OP_CUPS_GET_DEVICES, /* Get a list of supported devices @deprecated@ */
+ IPP_OP_CUPS_GET_PPDS, /* Get a list of supported drivers @deprecated@ */
IPP_OP_CUPS_MOVE_JOB, /* Move a job to a different printer */
IPP_OP_CUPS_AUTHENTICATE_JOB, /* Authenticate a job @since CUPS 1.2/OS X 10.5@ */
- IPP_OP_CUPS_GET_PPD, /* Get a PPD file @since CUPS 1.3/OS X 10.5@ */
- IPP_OP_CUPS_GET_DOCUMENT = 0x4027 /* Get a document file @since CUPS 1.4/OS X 10.6@ */
+ IPP_OP_CUPS_GET_PPD, /* Get a PPD file @deprecated@ */
+ IPP_OP_CUPS_GET_DOCUMENT = 0x4027, /* Get a document file @since CUPS 1.4/OS X 10.6@ */
+ IPP_OP_CUPS_CREATE_LOCAL_PRINTER /* Create a local (temporary) printer @since CUPS 2.2 */
# ifndef _CUPS_NO_DEPRECATED
# define IPP_PRINT_JOB IPP_OP_PRINT_JOB
# define IPP_SET_PRINTER_ATTRIBUTES IPP_OP_SET_PRINTER_ATTRIBUTES
# define IPP_SET_JOB_ATTRIBUTES IPP_OP_SET_JOB_ATTRIBUTES
# define IPP_GET_PRINTER_SUPPORTED_VALUES IPP_OP_GET_PRINTER_SUPPORTED_VALUES
-# define IPP_CREATE_PRINTER_SUBSCRIPTION IPP_OP_CREATE_PRINTER_SUBSCRIPTION
-# define IPP_CREATE_JOB_SUBSCRIPTION IPP_OP_CREATE_JOB_SUBSCRIPTION
+# define IPP_CREATE_PRINTER_SUBSCRIPTION IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS
+# define IPP_CREATE_JOB_SUBSCRIPTION IPP_OP_CREATE_JOB_SUBSCRIPTIONS
+# define IPP_OP_CREATE_PRINTER_SUBSCRIPTION IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS
+# define IPP_OP_CREATE_JOB_SUBSCRIPTION IPP_OP_CREATE_JOB_SUBSCRIPTIONS
# define IPP_GET_SUBSCRIPTION_ATTRIBUTES IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES
# define IPP_GET_SUBSCRIPTIONS IPP_OP_GET_SUBSCRIPTIONS
# define IPP_RENEW_SUBSCRIPTION IPP_OP_RENEW_SUBSCRIPTION
IPP_ORIENT_PORTRAIT = 3, /* No rotation */
IPP_ORIENT_LANDSCAPE, /* 90 degrees counter-clockwise */
IPP_ORIENT_REVERSE_LANDSCAPE, /* 90 degrees clockwise */
- IPP_ORIENT_REVERSE_PORTRAIT /* 180 degrees */
+ IPP_ORIENT_REVERSE_PORTRAIT, /* 180 degrees */
+ IPP_ORIENT_NONE /* No rotation */
# ifndef _CUPS_NO_DEPRECATED
# define IPP_PORTRAIT IPP_ORIENT_PORTRAIT
IPP_STATUS_ERROR_DOCUMENT_PERMISSION, /* client-error-document-permission-error */
IPP_STATUS_ERROR_DOCUMENT_SECURITY, /* client-error-document-security-error */
IPP_STATUS_ERROR_DOCUMENT_UNPRINTABLE,/* client-error-document-unprintable-error */
-
- /* Proposed extensions for paid printing */
+ IPP_STATUS_ERROR_ACCOUNT_INFO_NEEDED, /* client-error-account-info-needed */
+ IPP_STATUS_ERROR_ACCOUNT_CLOSED, /* client-error-account-closed */
+ IPP_STATUS_ERROR_ACCOUNT_LIMIT_REACHED,
+ /* client-error-account-limit-reached */
+ IPP_STATUS_ERROR_ACCOUNT_AUTHORIZATION_FAILED,
+ /* client-error-account-authorization-failed */
+ IPP_STATUS_ERROR_NOT_FETCHABLE, /* client-error-not-fetchable */
+
+ /* Legacy status codes for paid printing */
IPP_STATUS_ERROR_CUPS_ACCOUNT_INFO_NEEDED = 0x049C,
- /* cups-error-account-info-needed @since CUPS 1.7@ */
- IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED, /* cups-error-account-closed @since CUPS 1.7@ */
+ /* cups-error-account-info-needed @deprecated@ */
+ IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED, /* cups-error-account-closed @deprecate@ */
IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED,
- /* cups-error-account-limit-reached @since CUPS 1.7@ */
+ /* cups-error-account-limit-reached @deprecated@ */
IPP_STATUS_ERROR_CUPS_ACCOUNT_AUTHORIZATION_FAILED,
- /* cups-error-account-authorization-failed @since CUPS 1.7@ */
+ /* cups-error-account-authorization-failed @deprecated@ */
IPP_STATUS_ERROR_INTERNAL = 0x0500, /* server-error-internal-error */
IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED,
/**** New in CUPS 1.4.4 ****/
int use; /* Use count @since CUPS 1.4.4/OS X 10.6.?@ */
+/**** New in CUPS 2.0 ****/
+ int atend, /* At end of list? */
+ curindex; /* Current attribute index for hierarchical search */
};
# endif /* _IPP_PRIVATE_STRUCTURES */
extern int ippValidateAttributes(ipp_t *ipp) _CUPS_API_1_7;
+/**** New in CUPS 2.0 ****/
+extern const char *ippStateString(ipp_state_t state) _CUPS_API_2_0;
+
+
/*
* C++ magic...
*/
}
# endif /* __cplusplus */
#endif /* !_CUPS_IPP_H_ */
-
-/*
- * End of "$Id: ipp.h 7847 2008-08-19 04:22:14Z mike $".
- */