delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/08/12/16:46:09

Date: Thu, 12 Aug 1999 13:20:50 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Simon Redwood <spredwood AT sri-net DOT demon DOT co DOT uk>
cc: djgpp AT delorie DOT com
Subject: Re: DOS ioctl ?
In-Reply-To: <934408912.3665.0.nnrp-01.c2de6b60@news.demon.co.uk>
Message-ID: <Pine.SUN.3.91.990812131413.19459B-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Wed, 11 Aug 1999, Simon Redwood wrote:

> as I am writing a peice of code to basically put some binary data down the
> serial port.  My problem comes when
> the bios times out because of flowcontrol.

What flow control?  Could you please explain what problems do you see,
what kind of flow control do you think is at work here, and why?

> Under unix this is easily
> resolved, as I can just set the line to CLOCAL with an ioctl setting.

Unlike on Unix, the BIOS doesn't implement any dialup capabilities and 
doesn't assume it is talking to a modem.  So I don't think CLOCAL would 
help you here, since there's no Unix-style device driver to talk to.

> This
> does seem to work under DOS to well, unless its the way I am doing it.

The docs for the ioctl function clearly states that only the DOS IOCTL 
function are implemented.  So CLOCAL is not going to work with DJGPP, 
don't try that.

> _bios_serialcom(_COM_INIT, 0, _COM_9600|_COM_NOPARITY|_COM_STOP1|_COM_CHR8);
> 
> ...
> for(i=0;i<...;i++)
>     _bios_serialcom(_COM_SEND, 0, data[i]);

This seems like a good plan.  What exactly doesn't work, and why?

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019