public WaitForModemEvent serial_waitformodemevent(SafeSerialHandle handle, WaitForModemEvent mevent) { WaitForModemEvent result = UnsafeNativeMethods.serial_waitformodemevent(handle, mevent); errno = Marshal.GetLastWin32Error(); return(result); }
public WaitForModemEvent serial_waitformodemevent(IntPtr handle, WaitForModemEvent mevent) { WaitForModemEvent result = nserial_waitformodemevent(handle, mevent); errno = Marshal.GetLastWin32Error(); return(result); }
private void PinChangeThread() { while (m_MonitorPins) { if (m_StopRunning.WaitOne(0)) { m_MonitorPins = false; continue; } if (Log.SerialTrace(System.Diagnostics.TraceEventType.Verbose)) { Log.Serial.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 0, "{0}: PinChangeThread: Waiting", m_Name); } WaitForModemEvent mevent = m_Dll.serial_waitformodemevent(m_Handle, c_ModemEvents); if (mevent == WaitForModemEvent.Error) { if (Log.SerialTrace(System.Diagnostics.TraceEventType.Error)) { Log.Serial.TraceEvent(System.Diagnostics.TraceEventType.Error, 0, "{0}: PinChangeThread: Error aborting event; errno={1}; description={2}", m_Name, m_Dll.errno, m_Dll.serial_error(m_Handle)); } m_MonitorPins = false; return; } if (mevent != WaitForModemEvent.None) { SerialPinChange pins = SerialPinChange.NoChange; if ((mevent & WaitForModemEvent.ClearToSend) != 0) { pins |= SerialPinChange.CtsChanged; } if ((mevent & WaitForModemEvent.DataCarrierDetect) != 0) { pins |= SerialPinChange.CDChanged; } if ((mevent & WaitForModemEvent.DataSetReady) != 0) { pins |= SerialPinChange.DsrChanged; } if ((mevent & WaitForModemEvent.RingIndicator) != 0) { pins |= SerialPinChange.Ring; } // TODO: Break not implemented if (Log.SerialTrace(System.Diagnostics.TraceEventType.Verbose)) { Log.Serial.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 0, "{0}: PinChangeThread: Event Received: {1}", m_Name, mevent); } OnPinChanged(this, new SerialPinChangedEventArgs(pins)); } } }
internal static extern WaitForModemEvent serial_waitformodemevent(SafeSerialHandle handle, WaitForModemEvent mevent);
private static extern WaitForModemEvent nserial_waitformodemevent(IntPtr handle, WaitForModemEvent mevent);
internal static extern WaitForModemEvent serial_waitformodemevent(IntPtr handle, WaitForModemEvent mevent);