rayzor

annotate src/dpmi.h @ 9:70e332156d02

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