#include <sys/movedata.h> void _dosmemgetl(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 long-word (32-bit) 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 count is the number of long-words 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 long shift_state; _dosmemgetl(0x417, 1, &shift_state); if (shift_state & 0x0004) /* Ctrl key pressed */;
Go to the first, previous, next, last section, table of contents.