5 void dpmi_real_int(int inum, struct dpmi_real_regs *regs)
7 unsigned char int_num = (unsigned char)inum;
18 void *dpmi_mmap(uint32_t phys_addr, unsigned int size)
20 union REGS regs = {0};
23 regs.x.ebx = phys_addr >> 16;
24 regs.x.ecx = phys_addr & 0xffff;
25 regs.x.esi = size >> 16;
26 regs.x.edi = size & 0xffff;
28 int386(0x31, ®s, ®s);
33 return (void*)((regs.x.ebx << 16) | (regs.x.ecx & 0xffff));
36 void dpmi_munmap(void *addr)
38 union REGS regs = {0};
40 regs.x.ebx = (uint32_t)addr >> 16;
41 regs.x.ecx = (uint32_t)addr & 0xffff;
42 int386(0x31, ®s, ®s);
45 int stop_gcc_warn_empty_watdpmi_c = 0;
46 #endif /* __WATCOM__ */