Index: cygwin/fhandler_serial.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_serial.cc,v retrieving revision 1.38 diff -u -p -r1.38 fhandler_serial.cc --- cygwin/fhandler_serial.cc 14 Dec 2002 04:01:32 -0000 1.38 +++ cygwin/fhandler_serial.cc 7 Jan 2003 05:28:38 -0000 @@ -591,6 +591,9 @@ fhandler_serial::tcsetattr (int action, case B115200: state.BaudRate = CBR_115200; break; + case B230400: + state.BaudRate = CBR_230400; + break; default: /* Unsupported baud rate! */ termios_printf ("Invalid t->c_ospeed %d", t->c_ospeed); @@ -723,8 +726,12 @@ fhandler_serial::tcsetattr (int action, state.fAbortOnError = TRUE; /* -------------- Set state and exit ------------------ */ - if (memcmp (&ostate, &state, sizeof (state)) != 0) - SetCommState (get_handle (), &state); + if ((memcmp (&ostate, &state, sizeof (state)) != 0) && + !SetCommState (get_handle (), &state)) + { + /* Return now if any of the parameters in the DCB didn't take */ + return -1; + } set_r_binary ((t->c_iflag & IGNCR) ? 0 : 1); set_w_binary ((t->c_oflag & ONLCR) ? 0 : 1); @@ -890,6 +897,9 @@ fhandler_serial::tcgetattr (struct termi break; case CBR_115200: t->c_cflag = t->c_ospeed = t->c_ispeed = B115200; + break; + case CBR_230400: + t->c_cflag = t->c_ospeed = t->c_ispeed = B230400; break; default: /* Unsupported baud rate! */ Index: cygwin/include/sys/termios.h =================================================================== RCS file: /cvs/src/src/winsup/cygwin/include/sys/termios.h,v retrieving revision 1.5 diff -u -p -r1.5 termios.h --- cygwin/include/sys/termios.h 22 Jul 2002 09:11:45 -0000 1.5 +++ cygwin/include/sys/termios.h 7 Jan 2003 05:28:48 -0000 @@ -177,7 +177,8 @@ POSIX commands */ #define B57600 0x01001 #define B115200 0x01002 #define B128000 0x01003 -#define B256000 0x01003 +#define B230400 0x01004 +#define B256000 0x01005 #define CRTSXOFF 0x04000 #define CRTSCTS 0x08000 Index: w32api/include/winbase.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/winbase.h,v retrieving revision 1.32 diff -u -p -r1.32 winbase.h --- w32api/include/winbase.h 30 Dec 2002 08:48:23 -0000 1.32 +++ w32api/include/winbase.h 7 Jan 2003 05:29:23 -0000 @@ -435,6 +435,7 @@ extern "C" { #define CBR_57600 57600 #define CBR_115200 115200 #define CBR_128000 128000 +#define CBR_230400 230400 #define CBR_256000 256000 #define BACKUP_INVALID 0 #define BACKUP_DATA 1