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