From 2213b67134a69b853f2a022dcfc19e5b4f562467 Mon Sep 17 00:00:00 2001 From: marco Date: Sat, 5 May 2012 15:03:12 +0000 Subject: [PATCH] * fix Mantis #21665 for net/free/openbsd git-svn-id: trunk@21232 - --- rtl/freebsd/termiosproc.inc | 18 ++++++++++++++++-- rtl/netbsd/termiosproc.inc | 18 ++++++++++++++++-- rtl/openbsd/termiosproc.inc | 16 +++++++++++++++- 3 files changed, 47 insertions(+), 5 deletions(-) diff --git a/rtl/freebsd/termiosproc.inc b/rtl/freebsd/termiosproc.inc index 3a834f30bb..8a2e6b79b2 100644 --- a/rtl/freebsd/termiosproc.inc +++ b/rtl/freebsd/termiosproc.inc @@ -109,9 +109,23 @@ begin end; end; -Function TCFlush(fd,qsel:cint):cint; {$ifdef VER2_0}inline;{$endif} +const FREAD = 1; // marked "BSD visible" + FWRITE = 2; + +Function TCFlush(fd,qsel:cint):cint; {$ifdef VER2_0}inline;{$endif} +var comval : cint; begin - TCFlush:=fpIOCtl(fd,TIOCFLUSH,pointer(qsel)); + case qsel of + TCIFlush : comval:=FREAD; + TCOFlush : comval:=FWRITE; + TCIOFlush : comval:=FREAD or FWRITE; + else + begin + errno:=ESysEINVAL; + exit(-1); + end; + end; + TCFlush:=fpIOCtl(fd,TIOCFLUSH,pointer(@comval)); end; Function IsATTY (Handle:cint):cint; diff --git a/rtl/netbsd/termiosproc.inc b/rtl/netbsd/termiosproc.inc index 413a7e8c6a..9e63de1830 100644 --- a/rtl/netbsd/termiosproc.inc +++ b/rtl/netbsd/termiosproc.inc @@ -105,9 +105,23 @@ begin end; end; -Function TCFlush(fd,qsel:cint):cint; +const FREAD = 1; // marked "BSD visible" + FWRITE = 2; + +Function TCFlush(fd,qsel:cint):cint; {$ifdef VER2_0}inline;{$endif} +var comval : cint; begin - TCFlush:=fpIOCtl(fd,TIOCFLUSH,pointer(qsel)); + case qsel of + TCIFlush : comval:=FREAD; + TCOFlush : comval:=FWRITE; + TCIOFlush : comval:=FREAD or FWRITE; + else + begin + errno:=ESysEINVAL; + exit(-1); + end; + end; + TCFlush:=fpIOCtl(fd,TIOCFLUSH,pointer(@comval)); end; Function IsATTY (Handle:cint):cint; diff --git a/rtl/openbsd/termiosproc.inc b/rtl/openbsd/termiosproc.inc index 802daee27a..b1e2b252b1 100644 --- a/rtl/openbsd/termiosproc.inc +++ b/rtl/openbsd/termiosproc.inc @@ -105,9 +105,23 @@ begin end; end; +const FREAD = 1; // marked "BSD visible" + FWRITE = 2; + Function TCFlush(fd,qsel:cint):cint; {$ifdef VER2_0}inline;{$endif} +var comval : cint; begin - TCFlush:=fpIOCtl(fd,TIOCFLUSH,pointer(qsel)); + case qsel of + TCIFlush : comval:=FREAD; + TCOFlush : comval:=FWRITE; + TCIOFlush : comval:=FREAD or FWRITE; + else + begin + errno:=ESysEINVAL; + exit(-1); + end; + end; + TCFlush:=fpIOCtl(fd,TIOCFLUSH,pointer(@comval)); end; Function IsATTY (Handle:cint):cint;