delorie.com/djgpp/doc/libc/libc_450.html | search |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
#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.
ANSI/ISO C | No |
POSIX | No |
_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)); |
webmaster | delorie software privacy |
Copyright © 2004 | Updated Apr 2004 |