diff --git a/src/comio/comio.h b/src/comio/comio.h
index 7a26c67c5dd075b5258be2235c429e453432ca62..e4145a52a9793cc7e0ee6032bfdcc53a34b91fb0 100644
--- a/src/comio/comio.h
+++ b/src/comio/comio.h
@@ -120,6 +120,8 @@ COMIOEXPORT BOOL		COMIOCALL comSetBaudRate(COM_HANDLE, ulong rate);
 COMIOEXPORT int			COMIOCALL comGetModemStatus(COM_HANDLE);
 COMIOEXPORT int			COMIOCALL comRaiseDTR(COM_HANDLE);
 COMIOEXPORT int			COMIOCALL comLowerDTR(COM_HANDLE);
+COMIOEXPORT int			COMIOCALL comRaiseRTS(COM_HANDLE);
+COMIOEXPORT int			COMIOCALL comLowerRTS(COM_HANDLE);
 COMIOEXPORT BOOL		COMIOCALL comWriteByte(COM_HANDLE, BYTE);
 COMIOEXPORT int			COMIOCALL comWriteBuf(COM_HANDLE, const BYTE*, size_t buflen);
 COMIOEXPORT int			COMIOCALL comWriteString(COM_HANDLE, const char*);
diff --git a/src/comio/comio_win32.c b/src/comio/comio_win32.c
index b0196f0f4357928414640c6fbe70ddfaa5624ec0..507d63b78f261638e80be9c9ce697d3ff37d1102 100644
--- a/src/comio/comio_win32.c
+++ b/src/comio/comio_win32.c
@@ -132,6 +132,16 @@ BOOL COMIOCALL comLowerDTR(COM_HANDLE handle)
 	return EscapeCommFunction(handle, CLRDTR);
 }
 
+BOOL COMIOCALL comRaiseRTS(COM_HANDLE handle)
+{
+	return EscapeCommFunction(handle, SETRTS);
+}
+
+BOOL COMIOCALL comLowerRTS(COM_HANDLE handle)
+{
+	return EscapeCommFunction(handle, CLRRTS);
+}
+
 BOOL COMIOCALL comWriteByte(COM_HANDLE handle, BYTE ch)
 {
 	DWORD wr=0;