From 080b139a54df16890855e963a77e848ba1ad29bf Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Fri, 23 Mar 2007 01:55:59 +0000 Subject: [PATCH] Added get/set baud rate functions. --- src/comio/comio.h | 2 ++ src/comio/comio_win32.c | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/comio/comio.h b/src/comio/comio.h index a68eb354e0..e42a365b98 100644 --- a/src/comio/comio.h +++ b/src/comio/comio.h @@ -69,6 +69,8 @@ extern "C" { COM_HANDLE comOpen(const char* device); BOOL comClose(COM_HANDLE); +long comGetBaudRate(COM_HANDLE); +BOOL comSetBaudRate(COM_HANDLE, ulong rate); int comGetModemStatus(COM_HANDLE); int comRaiseDTR(COM_HANDLE); int comLowerDTR(COM_HANDLE); diff --git a/src/comio/comio_win32.c b/src/comio/comio_win32.c index bbc5de3f8e..3d129ca83e 100644 --- a/src/comio/comio_win32.c +++ b/src/comio/comio_win32.c @@ -69,6 +69,28 @@ BOOL comClose(COM_HANDLE handle) return CloseHandle(handle); } +long comGetBaudRate(COM_HANDLE handle) +{ + DCB dcb; + + if(GetCommState(handle, &dcb)!=TRUE) + return COM_ERROR; + + return dcb.BaudRate; +} + +BOOL comSetBaudRate(COM_HANDLE handle, unsigned long rate) +{ + DCB dcb; + + if(GetCommState(handle, &dcb)!=TRUE) + return FALSE; + + dcb.BaudRate=rate; + + return SetCommState(handle, &dcb); +} + int comGetModemStatus(COM_HANDLE handle) { DWORD status=0; -- GitLab