[lkml]   [2000]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch] DTR/DSR hardware handshake support for 2.0/2.2/2.4
    > DTR/DSR is a very often used handshake for serial printers, at least
    > in the POS field. A lot of supermarket cash registers are in fact PCs
    > with special hardware, which for some unclear reason typically knows
    > only about DTR/DSR handshaking (even if it is from other vendors:
    > SNI or EPSON does not make a difference: only DTR/DSR).
    > Sending people to a thousand stores around the country putting special
    > cables between printers and computers is simply not acceptable (if you
    > know POS service people, you know that about half of the cables would
    > be put on the wrong serial ports).
    > This patch is very small and you should be able to easily see any side
    > effects it might have.
    Yes, I'll second this. I get requests for DTR/DSR (and DTR/CD) hardware
    flow control in Kermit all the time for this kind of reason. The equipment
    involved is not "legacy" (my least favorite word -- in common parlance it
    means "not Microsoft") at all, just weird.

    There are standard APIs in SVR4 for all sorts of hardware flow control,
    specified in <termiox.h> (or <sys/termiox.h>):

    struct termiox * arg;

    The termiox struct contains a member:

    unsigned short x_hflag; /* hardware flow control modes */

    Which can be set to various combinations of:

    #define RTSXOFF 0000001 /* Enable RTS hwfc on input */
    #define CTSXON 0000002 /* Enable CTS hwfc on output */
    #define DTRXOFF 0000004 /* Enable DTR hwfc on input */
    #define CDXON 0000010 /* Enable CD hwfc on output */
    #define ISXOFF 0000020 /* Enable RTS hwfc on input */

    to achieve unidirectional or bidirectional hardware flow control. The last
    one is used only for synchronous operation (via clock pulse signals).

    ioctl() commands are:

    TCGETX - get termiox params into arg.
    TCSETX - set termiox params from arg immediately.
    TCSETXW - ditto, but waits til after output queue is finished.
    TCSETXF - like TCSETXW but also discards all chars queued for input.

    I'll be glad to supply greater detail from the SVID if needed.

    - Frank

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:57    [W:0.019 / U:7.904 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site