Date: Sat, 10 Sep 1994 13:06:30 -0700 (PDT) From: "Frederick W. Reimer" Subject: Re: callbacks and wrappers To: Kimberley Burchett Cc: DJGPP Mailing List 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` | +-------------------------------------------------------------+