delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/03/30/06:11:37

Date: Tue, 30 Mar 1999 13:09:42 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Mark Usher <marku AT magnet DOT at>
cc: djgpp AT delorie DOT com
Subject: RE: Tricky interrupt problem
In-Reply-To: <E5E743A4F743D211BE7800104B9D6426266F@BURNTS40BDC>
Message-ID: <Pine.SUN.3.91.990330130537.21402A-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 Tue, 30 Mar 1999, Mark Usher wrote:

> The problem is that the Control Block contains 3 long pointers to 3 more
> blocks which the driver needs access to and read / fill in on return, which
> means as far as I understand it, that I must create at least three more
> transfer buffers in conventional memory.

No, you don't need additional buffers in most cases.  Depending on the 
exact interface you need to use, either pull the data directly from the 
address whose pointer is returned in the Control Block, or use the rest 
of the transfer buffer, after the Control Block, to pass the additional 
data (the DJGPP transfer buffer is 16KB long, and the Control Block 
probably uses just a small fraction of that).

> Sorry if I am overlooking something that is obvious to you, I am trying, and
> reading the FAQ and docs as I go.

I think section 18.5 is also relevant to your program.

- Raw text -


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