diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2003-05-23 17:47:43 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2003-05-23 17:47:43 +0000 |
commit | 5b8f7b08ccb2afd0e7bec8a28810cd63ba1241fb (patch) | |
tree | 2b6cf423e1117260c074d5c23df93edff8e0ed54 /ace | |
parent | fb5f5db4a0978da0a036a69e2fb50baf4a07fe46 (diff) | |
download | ATCD-5b8f7b08ccb2afd0e7bec8a28810cd63ba1241fb.tar.gz |
ChangeLogTag:Fri May 23 10:46:50 2003 Ossama Othman <ossama@dre.vanderbilt.edu>
Diffstat (limited to 'ace')
-rw-r--r-- | ace/TTY_IO.cpp | 34 | ||||
-rw-r--r-- | ace/TTY_IO.h | 2 |
2 files changed, 20 insertions, 16 deletions
diff --git a/ace/TTY_IO.cpp b/ace/TTY_IO.cpp index 8fd68145d38..8b7ae2bb74b 100644 --- a/ace/TTY_IO.cpp +++ b/ace/TTY_IO.cpp @@ -2,7 +2,9 @@ #include "ace/TTY_IO.h" -ACE_RCSID(ace, TTY_IO, "$Id$") +ACE_RCSID (ace, + TTY_IO, + "$Id$") ACE_TTY_IO::Serial_Params::Serial_Params (void) { @@ -262,7 +264,7 @@ ACE_TTY_IO::control (Control_Mode cmd, #endif /* IXOFF */ c_lflag = 0; - ivmin_cc4 = (u_char) 0; + ivmin_cc4 = (u_char) arg->readmincharacters; ivtime_cc5= (u_char) (arg->readtimeoutmsec / 100); devpar.c_iflag = c_iflag; devpar.c_oflag = c_oflag; @@ -276,9 +278,9 @@ ACE_TTY_IO::control (Control_Mode cmd, int status; this->ACE_IO_SAP::control (TIOCMGET, &status); - if (arg->dtrdisable) + if (arg->dtrdisable) status &= ~TIOCM_DTR; - else + else status |= TIOCM_DTR; this->ACE_IO_SAP::control (TIOCMSET,&status); @@ -305,10 +307,10 @@ ACE_TTY_IO::control (Control_Mode cmd, case SETPARAMS: DCB dcb; dcb.DCBlength = sizeof dcb; - if (!::GetCommState (this->get_handle (), &dcb)) + if (!::GetCommState (this->get_handle (), &dcb)) { ACE_OS::set_errno_to_last_error (); - return -1; + return -1; } /*SadreevAA switch (arg->baudrate) @@ -328,7 +330,7 @@ ACE_TTY_IO::control (Control_Mode cmd, // case 256000: dcb.BaudRate = CBR_256000; break; default: return -1; } -*/ +*/ dcb.BaudRate = arg->baudrate; switch (arg->databits) { @@ -423,19 +425,19 @@ ACE_TTY_IO::control (Control_Mode cmd, if (arg->xofflim != -1) dcb.XoffLim = arg->xofflim; - if (arg->dtrdisable) + if (arg->dtrdisable) dcb.fDtrControl = DTR_CONTROL_DISABLE; else dcb.fDtrControl = DTR_CONTROL_ENABLE; dcb.fAbortOnError = FALSE; - dcb.fErrorChar = FALSE; - dcb.fNull = FALSE; + dcb.fErrorChar = FALSE; + dcb.fNull = FALSE; dcb.fBinary = TRUE; if (!::SetCommState (this->get_handle (), &dcb)) { ACE_OS::set_errno_to_last_error (); - return -1; + return -1; } // 2/13/97 BWF added drop out timer @@ -445,13 +447,13 @@ ACE_TTY_IO::control (Control_Mode cmd, if (!::GetCommTimeouts (this->get_handle(), &timeouts)) { ACE_OS::set_errno_to_last_error (); - return -1; + return -1; } if (arg->readtimeoutmsec == 0) { // return immediately if no data in the input buffer - timeouts.ReadIntervalTimeout = MAXDWORD; + timeouts.ReadIntervalTimeout = MAXDWORD; timeouts.ReadTotalTimeoutMultiplier = 0; timeouts.ReadTotalTimeoutConstant = 0; } @@ -485,13 +487,13 @@ ACE_TTY_IO::control (Control_Mode cmd, timeouts.ReadTotalTimeoutConstant = 0; } } - + if (!::SetCommTimeouts (this->get_handle (), &timeouts)) { ACE_OS::set_errno_to_last_error (); - return -1; + return -1; } - + return 0; case GETPARAMS: diff --git a/ace/TTY_IO.h b/ace/TTY_IO.h index bf67457c93b..794aecff16f 100644 --- a/ace/TTY_IO.h +++ b/ace/TTY_IO.h @@ -54,6 +54,8 @@ public: const char *paritymode; int databits; int stopbits; + // Minimum number of characters for non-canonical read + int readmincharacters; int readtimeoutmsec; int ctsenb; // CTS & RTS are the same under unix int rtsenb; // enable & set rts mode (win32) |