Mail Archives: djgpp/1994/11/25/08:26:08
> _go32_dpmi_allocate_real_mode_callback_iret(&info, ®);
>
> /* This sets up the mouse driver to call the function at es:dx when the
> right mouse button is pressed.
> */
> reg.x.ax=12;
> reg.x.cx=8;
> reg.x.es=info.rm_segment;
> reg.x.dx=info.rm_offset;
>
> _go32_dpmi_simulate_int(0x33, ®);
That particular mouse driver function needs an *ordinary* function,
not an interrupt one, so you should call
go32_dpmi_allocate_real_mode_callback_retf() instead of ...._iret().
I did this, and it worked for me. ^^^^
Also, the libc info file explains that your callback is called with
a REGS variable which should be defined as global, so your declaration of
handler() should be this:
void handler(_go32_dpmi_registers *regs)
Otherwise, you won't be able to use the info which the mouse driver
passes to you.
- Raw text -