public SerialPortStream (string portName, int baudRate, int dataBits, Parity parity, StopBits stopBits,
bool dtrEnable, bool rtsEnable, Handshake handshake, int readTimeout, int writeTimeout,
int readBufferSize, int writeBufferSize)
{
fd = open_serial (portName);
if (fd == -1)
ThrowIOException ();
if (!set_attributes (fd, baudRate, parity, dataBits, stopBits, handshake))
ThrowIOException (); // Probably Win32Exc for compatibility
read_timeout = readTimeout;
write_timeout = writeTimeout;
SetSignal (SerialSignal.Dtr, dtrEnable);
if (handshake != Handshake.RequestToSend &&
handshake != Handshake.RequestToSendXOnXOff)
SetSignal (SerialSignal.Rts, rtsEnable);
}