*
* IPP backend for the Common UNIX Printing System (CUPS).
*
- * Copyright 2007-2008 by Apple Inc.
+ * Copyright 2007-2009 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
*/
compression = 0;
- version = 1;
+ version = 11;
waitjob = 1;
waitprinter = 1;
contimeout = 7 * 24 * 60 * 60;
else if (!strcasecmp(name, "version"))
{
if (!strcmp(value, "1.0"))
- version = 0;
+ version = 10;
else if (!strcmp(value, "1.1"))
- version = 1;
+ version = 11;
+ else if (!strcmp(value, "2.0"))
+ version = 20;
+ else if (!strcmp(value, "2.1"))
+ version = 21;
else
{
_cupsLangPrintf(stderr,
*/
request = ippNewRequest(IPP_GET_PRINTER_ATTRIBUTES);
- request->request.op.version[1] = version;
+ request->request.op.version[0] = version / 10;
+ request->request.op.version[1] = version % 10;
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
NULL, uri);
delay += 5;
}
else if ((ipp_status == IPP_BAD_REQUEST ||
- ipp_status == IPP_VERSION_NOT_SUPPORTED) && version == 1)
+ ipp_status == IPP_VERSION_NOT_SUPPORTED) && version > 10)
{
/*
* Switch to IPP/1.0...
*/
- _cupsLangPuts(stderr,
- _("INFO: Printer does not support IPP/1.1, trying "
- "IPP/1.0...\n"));
- version = 0;
+ _cupsLangPrintf(stderr,
+ _("INFO: Printer does not support IPP/%d.%d, trying "
+ "IPP/1.0...\n"), version / 10, version % 10);
+ version = 10;
httpReconnect(http);
}
else if (ipp_status == IPP_NOT_FOUND)
else
request = ippNewRequest(IPP_PRINT_JOB);
- request->request.op.version[1] = version;
+ request->request.op.version[0] = version / 10;
+ request->request.op.version[1] = version % 10;
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
NULL, uri);
"document-format", NULL, final_content_type);
}
- if (copies_sup && version > 0 && send_options)
+ if (copies_sup && version > 10 && send_options)
{
/*
* Only send options if the destination printer supports the copies
sleep(10);
}
else if ((ipp_status == IPP_BAD_REQUEST ||
- ipp_status == IPP_VERSION_NOT_SUPPORTED) && version == 1)
+ ipp_status == IPP_VERSION_NOT_SUPPORTED) && version > 10)
{
/*
* Switch to IPP/1.0...
*/
- _cupsLangPuts(stderr,
- _("INFO: Printer does not support IPP/1.1, trying "
- "IPP/1.0...\n"));
- version = 0;
+ _cupsLangPrintf(stderr,
+ _("INFO: Printer does not support IPP/%d.%d, trying "
+ "IPP/1.0...\n"), version / 10, version % 10);
+ version = 10;
httpReconnect(http);
}
else
*/
request = ippNewRequest(IPP_SEND_DOCUMENT);
-
- request->request.op.version[1] = version;
+ request->request.op.version[0] = version / 10;
+ request->request.op.version[1] = version % 10;
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
NULL, uri);
*/
request = ippNewRequest(IPP_GET_JOB_ATTRIBUTES);
- request->request.op.version[1] = version;
+ request->request.op.version[0] = version / 10;
+ request->request.op.version[1] = version % 10;
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
NULL, uri);
_cupsLangPuts(stderr, _("INFO: Canceling print job...\n"));
request = ippNewRequest(IPP_CANCEL_JOB);
- request->request.op.version[1] = version;
+ request->request.op.version[0] = version / 10;
+ request->request.op.version[1] = version % 10;
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
NULL, uri);
*/
request = ippNewRequest(IPP_GET_PRINTER_ATTRIBUTES);
- request->request.op.version[1] = version;
+ request->request.op.version[0] = version / 10;
+ request->request.op.version[1] = version % 10;
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
NULL, uri);