#include "pmode.h" long __pascal dosfunc (PTR buf, int func) { REGSTRUCT rs; int r; rs.flags = rs.sp = rs.ss = 0; rsAX(rs) = func; if (((DWORD)buf + database) > 0xfffff) { strcpy (_lowbufptr, buf); buf = _lowbufptr; } rsDS(rs) = (DWORD)buf + database >> 4; rsDX(rs) = (DWORD)buf + database & 15; if ((r = xlt_simrmint (0x21, &rs, 0)) < 0) return r; if (rs.flags & fCF) return rs.eax | 0xffff0000; return rsAX (rs); }