#include #include bdosptr(int func, void *dx, unsigned al) { union REGS r; r.x.dx = dx; r.h.ah = func; r.h.al = al; int86(0x21, &r, &r); if (r.x.cflag) { errno = r.x.ax; return -1; } return r.x.ax; }