eobish

annotate src/dos/dpmi.h @ 7:6a350c554e46

started DOS port
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 19 Jan 2015 15:49:14 +0200
parents
children
rev   line source
nuclear@7 1 #ifndef DPMI_H_
nuclear@7 2 #define DPMI_H_
nuclear@7 3
nuclear@7 4 #include "inttypes.h"
nuclear@7 5
nuclear@7 6 struct dpmi_real_regs {
nuclear@7 7 uint32_t edi, esi, ebp;
nuclear@7 8 uint32_t reserved;
nuclear@7 9 uint32_t ebx, edx, ecx, eax;
nuclear@7 10 uint16_t flags;
nuclear@7 11 uint16_t es, ds, fs, gs;
nuclear@7 12 uint16_t ip, cs, sp, ss;
nuclear@7 13 };
nuclear@7 14
nuclear@7 15 unsigned short dpmi_alloc(unsigned int par);
nuclear@7 16 #pragma aux dpmi_alloc = \
nuclear@7 17 "mov eax, 0x100" \
nuclear@7 18 "int 0x31" \
nuclear@7 19 value[ax] parm[ebx];
nuclear@7 20
nuclear@7 21 void dpmi_real_int(int inum, struct dpmi_real_regs *regs);
nuclear@7 22
nuclear@7 23 void *dpmi_mmap(uint32_t phys_addr, unsigned int size);
nuclear@7 24 void dpmi_munmap(void *addr);
nuclear@7 25
nuclear@7 26 #endif /* DPMI_H_ */