/* * Serial line flow control option settings. * $Id$ * Copyright (c) 1997 by Tycho Softworks. * For conditions of distribution and reuse see product license. */ #include #ifndef TERMIOS_H_MISSING #include #endif #ifndef CRTSCTS #ifdef CTSFLOW #define CRTSCTS CTSFLOW | CRTSFL #endif #endif int setflowctrl(stty_t stty, FLOWCONTROL flow) { #ifndef TERMIOS_H_MISSING struct termios *tios = stty; tios->c_cflag &= ~CRTSCTS; tios->c_iflag &= ~(IXON | IXOFF | IXANY); switch(flow) { case FC_HARD: tios->c_cflag |= CRTSCTS; break; case FC_SOFT: tios->c_iflag |= (IXON | IXOFF | IXANY); break; case FC_FULL: tios->c_cflag |= CRTSCTS; tios->c_iflag |= (IXON | IXOFF | IXANY); break; } #endif return 0; }