#include <sys/movedata.h> void _dosmemgetb(unsigned long offset, size_t xfers, void *buffer);
This function transfers data from MS-DOS's conventional memory space to the program's virtual address space, using only byte transfers. The offset is a physical address, which can be computed from a real-mode segment/offset pair as follows:
offset = segment * 16 + offset;
The xfers is the number of bytes to transfer, and buffer is
a pointer to somewhere in your virtual address space (such as memory
obtained from malloc
) where the data will go.
None.
not ANSI, not POSIX
unsigned short shift_state; _dosmemgetb(0x417, 2, &shift_state); if (shift_state & 0x0004) /* Ctrl key pressed */;
Go to the first, previous, next, last section, table of contents.