From b2d9ae9c1a74b7ec12cb7fde4a1388189a99d3b4 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Tue, 22 May 2007 19:52:43 +0000 Subject: [PATCH] Linux apparently doesn't implement TIOC?DTR ioctls --- src/comio/comio_nix.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/comio/comio_nix.c b/src/comio/comio_nix.c index 4497612640..e5204898e8 100644 --- a/src/comio/comio_nix.c +++ b/src/comio/comio_nix.c @@ -150,12 +150,26 @@ int comGetModemStatus(COM_HANDLE handle) BOOL comRaiseDTR(COM_HANDLE handle) { - return(ioctl(handle, TIOCSDTR)==0); + int status; + + if(ioctl(handle, TIOCMGET, &status)==-1) + return FALSE; + status |= TIOCM_DTR; + if(ioctl(handle, TIOCMSET, &status)==-1) + return FALSE; + return TRUE; } BOOL comLowerDTR(COM_HANDLE handle) { - return(ioctl(handle, TIOCCDTR)==0); + int status; + + if(ioctl(handle, TIOCMGET, &status)==-1) + return FALSE; + status &= ~TIOCM_DTR; + if(ioctl(handle, TIOCMSET, &status)==-1) + return FALSE; + return TRUE; } BOOL comWriteByte(COM_HANDLE handle, BYTE ch) -- GitLab