/* * Specify serial port data line format. * $Id$ * Copyright (c) 1997 by Tycho Softworks. * For conditions of distribution and reuse see product license. */ #include #ifndef TERMIOS_H_MISSING #include #endif int setformat(stty_t stty, char *format) { #ifndef TERMIOS_H_MISSING struct termios *tios = stty; tios->c_cflag &= ~CSIZE; if(format[2] == '1') tios->c_cflag &= ~CSTOPB; else tios->c_cflag |= CSTOPB; switch(format[0]) { case '5': tios->c_cflag |= CS5; break; case '6': tios->c_cflag |= CS6; break; case '7': tios->c_cflag |= CS7; break; case '8': tios->c_cflag |= CS8; break; } switch(format[1]) { case 'n': case 'N': tios->c_cflag &= ~(PARODD | PARENB); break; case 'e': case 'E': tios->c_cflag |= PARENB; tios->c_cflag &= ~PARODD; break; case 'o': case 'O': tios->c_cflag |= (PARENB | PARODD); break; } #endif return 0; }