]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/ipp.h
Remove all of the Subversion keywords from various source files.
[thirdparty/cups.git] / cups / ipp.h
index 7ae983d88e526354ebdc1ecebb87d0ac87e054f3..de509bc7dc7112f210cfd4dac304933461a482f5 100644 (file)
@@ -1,18 +1,16 @@
 /*
- * "$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_
@@ -67,6 +65,13 @@ extern "C" {
 #  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...
@@ -103,6 +108,8 @@ typedef enum ipp_finishings_e               /**** Finishings ****/
   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 */
@@ -115,6 +122,10 @@ typedef enum ipp_finishings_e              /**** Finishings ****/
   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 */
@@ -233,11 +244,11 @@ typedef enum ipp_op_e                     /**** IPP operations ****/
   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 */
@@ -248,11 +259,11 @@ typedef enum ipp_op_e                     /**** IPP operations ****/
   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@ */
@@ -266,32 +277,45 @@ typedef enum ipp_op_e                     /**** IPP operations ****/
   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 */
@@ -304,12 +328,13 @@ typedef enum ipp_op_e                     /**** IPP operations ****/
   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
@@ -331,8 +356,10 @@ typedef enum ipp_op_e                      /**** IPP operations ****/
 #    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
@@ -398,7 +425,8 @@ typedef enum ipp_orient_e           /**** Orientation values ****/
   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
@@ -501,15 +529,22 @@ typedef enum ipp_status_e         /**** IPP status codes ****/
   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,
@@ -788,6 +823,9 @@ struct _ipp_s                               /**** IPP Request/Response/Notification ****/
 
 /**** 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 */
 
@@ -982,6 +1020,10 @@ extern int                ippValidateAttribute(ipp_attribute_t *attr)
 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...
  */
@@ -990,7 +1032,3 @@ extern int         ippValidateAttributes(ipp_t *ipp) _CUPS_API_1_7;
 }
 #  endif /* __cplusplus */
 #endif /* !_CUPS_IPP_H_ */
-
-/*
- * End of "$Id: ipp.h 7847 2008-08-19 04:22:14Z mike $".
- */