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_ */ |