[cups.development] [RFE] STR #2869: Add CUPS_SC_CMD_SET_BIDI side-channel command and API

Michael Sweet msweet at apple.com
Mon Jun 23 17:04:51 PDT 2008


DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Currently the USB backend (among others) selects the plain bidirectional
interface over the 1284.4 and unidirectional interfaces. Feedback from
several printer vendors indicates they would like to use 1284.4 mode
whenever possible, and offering a side-channel command to get and set the
current mode (interface) would allow them to do so without providing their
own backends or custom USB class drivers (on Mac OS X).

The interface should (at a minimum) allow a driver to set the protocol
using a new CUPS_SC_CMD_SET_BIDI command with one of three values:

    CUPS_SC_BIDI_NOT_SUPPORTED (Unidirectional)
    CUPS_SC_BIDI_SUPPORTED     (Bidirectional)
    CUPS_SC_BIDI_1284          (1284.4 bidirectional)

Setting the protocol to an unsupported value would return a new
CUPS_SC_STATUS_NOT_SUPPORTED status, while backends that do not support
the new command would simply return CUPS_SC_STATUS_NOT_IMPLEMENTED.

The existing CUPS_SC_CMD_GET_BIDI would return CUPS_SC_BIDI_1284 from
backends that supported that mode. The default bidirectional mode should
still be non-1284.4 to preserve backwards-compatibility.

This mechanism can be extended to support additional bidirectional
protocols in the future (e.g. MLC) as needed.

Link: http://www.cups.org/str.php?L2869
Version: 1.4-feature





More information about the cups-devel mailing list