delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/04/07/10:02:43

Date: Tue, 4 Apr 2000 14:00:30 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Jonathan Meunier <jonathanm AT corel DOT com>
cc: djgpp AT delorie DOT com
Subject: Re: keyboard interrupt
In-Reply-To: <38E8B9C6.B2B48772@corel.com>
Message-ID: <Pine.SUN.3.91.1000404135954.9459I-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Mon, 3 Apr 2000, Jonathan Meunier wrote:

> I know the original handler's address has been saved in
> _go32_dpmi_seginfo var, but how can I actually call the original
> handler?

Use the library function _go32_dpmi_simulate_fcall_iret.  Its library
docs includes an example.

> I looked at the sources, and it is very similar to what Alexei A.
> Frounze posted, except for a few things (eg: call count variable, 32k
> stack as you mentionned before, etc).

The principles are the same, but the library functions also take care
to lock the stack and the code, and are generally a good starting
place for your own wrapper (should you need one).  It's like with any
library function: you can roll your own, but it's better to reuse
someone else's work than to reinvent the wheel...

- Raw text -


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