Mail Archives: djgpp/1994/09/10/17:03:38
On Sun, 4 Sep 1994, Kimberley Burchett wrote:
> I was looking over some code someone wrote for DJGPP that installed an
> interrupt handler and it allocated a real mode callback and an iret
> wrapper... what are those?
> Kim
Since I don't think anyone else responded yet, I'll take a shot at an
answer (although I don't profess to be an expert!).
There are several interrupt and callback allocation routines in go32, and
I'm only familiar with a few so I'll go over those. The
_go32_dpmi_allocate_real_mode_callback_retf() function allocates a
real mode address that when called (from a real mode program such as a
TSR or driver) will transfer control to a protected mode function that
you write. This is useful if you call a real mode driver and whatever it
does requires a real mode address for a callback function. The stuff I'm
messing around with involves a packet driver, which will call a real mode
function whenever a packet is received by the network card in my
computer. Since DJGPP programs are protected mode, the
..allocate_real_mode_callback.. functions are required, since passing the
TSR a protected mode address would be useless. The ...iret function is
similar, except that it uses an IRET return instead of a normal return.
I'm not sure about the interrupt installer because I have no use for this
(yet) and have not gotten into it. Hope this helps! (and I'm not wrong!).
Fred Reimer
+-------------------------------------------------------------+
| The views expressed in the above are solely my own, and are |
| not necessarily the views of my employer. Have a nice day! |
| PGP2.6 public key available via `finger fwreimer AT crl DOT com` |
+-------------------------------------------------------------+
- Raw text -