#include <dpmi.h> int _go32_dpmi_simulate_int(int vector, _go32_dpmi_registers *regs);
See section DPMI Overview
This function simulates a real-mode interrup. The registers are set up from
regs, including CS
and IP
, which indicate the
address of the call. Any registers the function modifies are reflected
in regs on return.
If SS
and SP
are both zero, a small temporary stack is
used when in real mode. If not, they are used as is. It's a good
idea to use memset
to initialize the register structure before
using it.
Zero on success, nonzero on failure.
not ANSI, not POSIX
_go32_dpmi_registers r; r.h.ah = 0x08; r.h.dl = 0x80; /* drive C: */ r.x.ss = r.x.sp = 0; _go32_dpmi_simulate_int(0x13, &r); printf("disk is %d cyl, %d head, %d sect\n", r.h.ch | ((r.x.cl<<2)&0x300), r.h.dh, r.h.cl & 0x3f));
Go to the first, previous, next, last section, table of contents.